:root{--ink:#1b304e;--muted:#637894;--blue:#365ca3;--line:#bccae647;--bg:#eaf0f9;--orange:#b8efd8}body.app-body{background:radial-gradient(ellipse at 15% 0,#c4d8ff90,transparent 50%),radial-gradient(ellipse at 95% 20%,#d8e8fca0,transparent 45%),#edf2fa}.topbar{background:#ffffff87;backdrop-filter:blur(20px);border-color:#b8cae74d}.brandmark{background:linear-gradient(140deg,#729ee5,#315c9d);color:#dceaff}.branddot{color:#4e78b2}.badge{background:#d5e3f375;border:1px solid #a9c0e648;border-radius:20px;color:#526b8c}.button{border-radius:10px;transition:transform .15s,box-shadow .15s}.button:hover{transform:translateY(-1px)}.primary{background:#24497e;box-shadow:0 5px 13px #24497e17}.secondary{background:#ffffff6e;backdrop-filter:blur(10px);border-color:#a7badd70}.orange{background:#b8efd8;color:#214c45}.notice{background:#ffffff66;backdrop-filter:blur(14px);border:1px solid #b6cbed8a;border-radius:12px}.reserve-card{position:relative;background:radial-gradient(ellipse at 100% 0,#517bc477,transparent 65%),linear-gradient(125deg,#1d355a,#152840);border:1px solid #aec5ef4d;border-radius:22px;box-shadow:inset 0 1px 0 #fff2,0 12px 35px #345b9130;overflow:hidden}.reserve-card:before{content:"";position:absolute;width:250px;height:250px;right:-110px;bottom:-130px;border:1px solid #e7efff18;border-radius:50%;pointer-events:none}.pill{border-radius:20px;border-color:#bdd4ff42;background:#e6efff0c}.potprogress{background:#cee1ff24}.potprogress div{background:linear-gradient(90deg,#81aadf,#b8efd8)}.spend-card,.metrics,.ledger-panel,.explanation,.coverage{background:linear-gradient(135deg,#ffffffc7,#ffffff6e);backdrop-filter:blur(18px);border:1px solid #ffffffb3;box-shadow:inset 0 1px 0 #fff,0 10px 30px #31568109;border-radius:18px}.safeamount{color:#2c625d}.metrics strong{color:#294976}th{background:#edf3fc7a}th,td{border-bottom-color:#b4c9e52d}.ledger-tabs{border-color:#adc2e54d}.ledger-tabs button.active{color:#24497e;border-color:#5b83b8}.deduction-chips span{border:1px solid #c5d7ef;background:#dce8f566;border-radius:20px;padding:5px 10px}.status{border:1px solid #a6d8c75c;background:#dbf1e682}.status.unpaid{background:#fff0d482;border-color:#e5c69a68}.error{background:#fff3edc9}dialog{border:1px solid #ffffffbd;background:#f9fbffed;backdrop-filter:blur(25px);border-radius:20px;box-shadow:0 30px 100px #0b20485c}dialog::backdrop{background:#10244480;backdrop-filter:blur(6px)}.field input,.field select,.field textarea{background:#fff9;border-color:#b5c8e4}.toast{background:#1c3658;border:1px solid #b5cbf136}.coverage .smallprint,footer{color:#6b7e9c}@media(prefers-reduced-motion:reduce){.button{transition:none}.button:hover{transform:none}.potprogress div{transition:none}}

/* Demo context stays readable next to the action on desktop and phone. */
.demo-notice{align-items:center;padding:18px 20px;gap:22px}
.demo-notice-copy{flex:1;min-width:0}
.demo-notice strong{display:block;white-space:normal;margin-bottom:5px}
.demo-notice-copy>span{display:block;line-height:1.6;color:var(--muted)}
.demo-notice>.button{flex-shrink:0}
.demo-assumptions{padding:14px 16px;background:#e6effa;border-radius:10px}
@media(max-width:900px){.demo-notice{gap:14px}.demo-notice-copy{flex-basis:100%}.demo-notice>.button{white-space:normal}}
@media(max-width:620px){.pageheading{flex-direction:column;gap:16px}.pageheading>div{width:100%}}
.account-link{font-size:13px;color:#365b91;text-decoration:none;white-space:nowrap}.notice>.button{flex-shrink:0}.notice span{min-width:0;flex:1}.notice strong{white-space:normal}@media(max-width:620px){.topright{gap:9px}.account-link{font-size:11px}.notice>.button{font-size:12px}.notice span{flex-basis:100%;order:0}.notice{gap:12px}}

/* Keep the personal questions short; reveal deduction details only when needed. */
.profile-form>.field,.profile-section>.field{margin-bottom:0}.profile-section{margin-top:16px}.profile-intro{margin-bottom:18px}.profile-help{margin-top:12px;border:1px solid #b5c8e45e;border-radius:10px;background:#e8f0fa80;padding:12px 14px;color:var(--muted);font-size:12px;line-height:1.65}.profile-help summary{cursor:pointer;color:#365b91;font-weight:600}.profile-help summary:focus-visible{outline:2px solid #517dbc;outline-offset:4px;border-radius:3px}.profile-help p{margin:12px 0 0}.profile-help a{display:inline-block;margin-top:10px;color:#365b91;text-underline-offset:3px}.profile-help ul{padding-left:20px;margin:12px 0 0}.profile-help li+li{margin-top:7px}.profile-scope{margin-top:22px}.profile-form .field small{line-height:1.6}.profile-form .field small a{color:#365b91;text-underline-offset:3px}.profile-form .checkrow{font-size:13px;line-height:1.65}.profile-form .formactions{margin-top:20px}

/* Put the file first and keep bookkeeping/export details behind help links. */
.import-file{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:18px;border:1px solid #b5c8e45e;border-radius:12px;background:linear-gradient(135deg,#ffffffbf,#e8f0fa80)}.import-file>span{min-width:0;overflow-wrap:anywhere;font-size:13px;color:var(--muted)}.import-file-types{font-size:12px;color:var(--muted);margin:9px 0 22px}.import-help-list{margin-top:22px;border-top:1px solid #b5c8e45e;padding-top:8px}.import-help{font-size:13px;line-height:1.65;color:var(--muted);padding:10px 0}.import-help summary{width:fit-content;max-width:100%;cursor:pointer;font-weight:600;color:#365b91;text-decoration:underline;text-underline-offset:4px}.import-help summary:focus-visible{outline:2px solid #517dbc;outline-offset:4px;border-radius:3px}.import-help[open]{padding-bottom:16px}.import-help p{margin:12px 0 0}.import-help ol{padding-left:22px;margin:14px 0 0}.import-help li+li{margin-top:9px}.import-help a{color:#365b91;text-underline-offset:3px}.import-help code{overflow-wrap:anywhere}.import-help .field{margin-top:14px}.import-help .button{margin-top:12px}.import-help .textbutton{margin-top:6px;text-decoration:underline;text-underline-offset:4px}.import-columns{margin-top:8px;font-size:12px}.import-columns th,.import-columns td{padding:9px 10px;text-align:left;white-space:normal}.import-columns tbody th{width:110px;color:var(--ink);background:transparent}.import-columns code{font-size:12px}

/* Original bookkeeping files: choose, check, confirm. */
.import-drop{display:flex;flex-direction:column;align-items:center;gap:10px;padding:26px 16px;text-align:center;border:1.5px dashed #81a7d6;border-radius:16px;background:linear-gradient(125deg,#e1edfc99,#dcf5ec66);color:var(--ink)}.import-drop>span:not(.import-drop-icon){font-size:13px;color:var(--muted)}.import-drop-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#93b7ed4d;font-size:25px;color:#365b91}.import-drop .button{margin-top:6px}.import-drop.is-dragging{border-style:solid;background:#b8efd866}.import-source{padding:16px;margin:14px 0;border:1px solid var(--line);border-radius:14px;background:#ffffff60}.import-source-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px;overflow-wrap:anywhere}.import-source-head>span{white-space:nowrap;color:var(--muted);font-size:12px}.import-source-choices,.import-mapping-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.import-source .field{margin:0}.import-source .field select{font-size:13px;padding:10px}.import-mapping{margin-top:12px;font-size:12px}.import-mapping summary{cursor:pointer;color:var(--blue);font-weight:600;text-underline-offset:4px;text-decoration:underline}.import-mapping .helper{font-size:12px;margin:12px 0 0}.import-summary{padding:20px;margin-top:20px;border:1px solid #88bca24d;border-radius:16px;background:linear-gradient(125deg,#e2f5ed99,#dfecfa99)}.import-summary h3{margin:0 0 14px;font-size:19px}.import-summary p{font-size:13px;line-height:1.6;margin:14px 0 0}.import-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.import-summary-grid span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.import-summary-grid strong{font-size:23px;color:var(--ink)}.import-issues{margin-top:16px;padding:16px;border:1px solid #bf884d66;border-radius:12px;background:#fff0d433;font-size:13px;line-height:1.6}.import-issues h3{font-size:17px;margin:0 0 10px}.import-issues ul{padding:0;list-style:none;max-height:240px;overflow:auto}.import-issues li{padding:10px 0;border-top:1px solid var(--line)}.import-issues li strong,.import-issues li span{display:block}.import-issues li span{color:var(--muted)}#import-preview>.button{margin-top:18px}.import-summary .smallprint{font-size:12px}.import-mapping summary:focus-visible{outline:2px solid #81a7d6;outline-offset:4px}.import-source-head strong{min-width:0}.import-source-choices select,.import-mapping-grid select{min-width:0;width:100%}
html[data-theme=dark] .import-drop{background:linear-gradient(125deg,#243e6377,#1f494333);border-color:#759bcc99}html[data-theme=dark] .import-drop-icon{color:#b7d3ff}html[data-theme=dark] .import-source{background:#11213b66}html[data-theme=dark] .import-mapping summary{color:#a4c5f4}html[data-theme=dark] .import-summary{background:linear-gradient(125deg,#24544b55,#27466f66)}html[data-theme=dark] .import-issues{background:#65462126}
@media(max-width:620px){.import-source-choices,.import-mapping-grid{grid-template-columns:1fr}.import-source-head{align-items:flex-start}.import-summary-grid strong{font-size:20px}.import-source{padding:13px}.import-drop{padding:22px 12px}}
