:root{--font-sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--bg:#f4f6fa;--panel:#fff;--panel2:#f8f9fc;--text:#182033;--muted:#7f8799;--line:#e9ebf1;--primary:#5365ed;--primary2:#6d5ee8;--green:#18a875;--red:#ec5d68;--orange:#ed9b3a;--blue:#397be8;--sidebar:#fff;--shadow:0 14px 40px rgba(35,45,80,.07)}
.modal-panel:has(button[onclick="transferModal()"]) {width:min(1120px,calc(100vw - 40px))}.modal-panel:has(button[onclick="transferModal()"]) .table-card{max-width:100%;overflow-x:auto}.modal-panel:has(button[onclick="transferModal()"]) .data-table{min-width:920px}.modal-panel:has(button[onclick="transferModal()"]) .data-table td{vertical-align:middle}.modal-panel:has(button[onclick="transferModal()"]) .data-table th:last-child,.modal-panel:has(button[onclick="transferModal()"]) .data-table td:last-child{min-width:210px}.modal-panel:has(button[onclick="transferModal()"]) .data-table td:last-child>div{justify-content:flex-end}.modal-panel:has(button[onclick="transferModal()"]) .card-head{gap:22px;padding-right:42px}@media(max-width:700px){.modal-panel:has(button[onclick="transferModal()"]) {width:calc(100vw - 20px);padding:18px}.modal-panel:has(button[onclick="transferModal()"]) .card-head{align-items:stretch;flex-direction:column;padding:14px 32px 14px 0}.modal-panel:has(button[onclick="transferModal()"]) .card-head>.btn{justify-content:center}.modal-panel:has(button[onclick="transferModal()"]) .data-table{min-width:860px}}
.provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 20px 20px}.provider-card{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:11px;padding:13px;background:var(--panel2)}.provider-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--panel);color:var(--primary);font-size:18px;border:1px solid var(--line)}.provider-card b{display:block;font-size:11px}.provider-card small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.connection-state{font-size:9px;color:var(--muted);white-space:nowrap}.connection-state.connected{color:var(--green)}.connection-state.pending{color:var(--orange)}.provider-card .btn{height:32px;font-size:9px}.bill-link{height:29px;font-size:9px;text-decoration:none}.bill-confirm{height:29px;font-size:9px;margin-left:10px}.utility-security{display:flex;gap:13px;align-items:flex-start;padding:16px 20px;margin-top:18px}.utility-security>span{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:rgba(24,168,117,.1);color:var(--green)}.utility-security b{font-size:11px}.utility-security p{font-size:9px;color:var(--muted);margin:4px 0 0;line-height:1.5}label small{font-size:8px;font-weight:400;color:var(--muted)}
.credit-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.credit-card-panel{padding:18px}.credit-card-visual{min-height:145px;border-radius:15px;padding:19px;color:#fff;background:linear-gradient(135deg,#1b2340,#5365ed 65%,#8069e8);display:grid;grid-template-columns:1fr auto;box-shadow:0 16px 30px rgba(45,57,130,.2)}.credit-card-visual small{font-size:8px;letter-spacing:1.2px;opacity:.72}.credit-card-visual h2{font:700 17px Manrope;margin:4px 0}.credit-card-visual>span{font-size:22px}.credit-card-visual>div:last-child{align-self:end}.credit-card-visual>div:last-child b{display:block;font:700 20px Manrope;margin-top:3px}.credit-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:9px;overflow:hidden;margin:14px 0}.credit-stats>div{padding:10px;background:var(--panel2)}.credit-stats span{display:block;color:var(--muted);font-size:8px;margin-bottom:4px}.credit-stats b{font-size:10px}.credit-card-panel .loan-actions{margin-top:15px}
@media(max-width:900px){.provider-grid,.credit-card-grid{grid-template-columns:1fr}}@media(max-width:600px){.provider-card{grid-template-columns:40px 1fr}.provider-card .connection-state,.provider-card .btn{grid-column:2}.credit-stats{grid-template-columns:1fr 1fr}}
.loan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.loan-card{padding:20px}.loan-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.loan-card-head h2{font:700 18px Manrope;margin:9px 0 3px}.loan-card-head p{font-size:10px;color:var(--muted);margin:0}.loan-card-head>strong{font:700 20px Manrope;white-space:nowrap}.loan-metrics{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin:18px 0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.loan-metrics>div{background:var(--panel2);padding:12px}.loan-metrics span,.simulation-result span{display:block;color:var(--muted);font-size:9px;margin-bottom:4px}.loan-metrics b{font-size:11px}.loan-actions{display:flex;gap:8px;flex-wrap:wrap}.loan-actions .btn{height:34px;font-size:10px}.loan-guide{margin-top:18px}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 20px 20px}.guide-grid>div{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:14px}.guide-grid p,.simulation-result p{font-size:10px;line-height:1.5;color:var(--muted);margin:5px 0 0}.schedule-summary{display:flex;gap:16px;align-items:center;background:var(--panel2);padding:12px;border-radius:9px;margin-bottom:12px;font-size:10px;color:var(--muted)}.schedule-summary b{color:var(--text)}.schedule-scroll{max-height:55vh;overflow:auto;border:1px solid var(--line);border-radius:9px}.schedule-scroll .data-table{min-width:650px}.simulation-result{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.simulation-result h3{font:700 13px Manrope;margin:15px 0 9px}.simulation-result .guide-grid{padding:0}.modal-panel:has(.schedule-scroll){width:min(900px,100%)}
@media(max-width:1100px){.loan-grid{grid-template-columns:1fr}}@media(max-width:760px){.loan-metrics,.guide-grid{grid-template-columns:1fr}.loan-card-head{display:block}.loan-card-head>strong{display:block;margin-top:12px}}
[data-theme=dark]{--bg:#111522;--panel:#191e2d;--panel2:#222838;--text:#eef1fb;--muted:#8e98ad;--line:#2a3143;--sidebar:#151a27;--shadow:0 16px 44px rgba(0,0,0,.24)}
.expense-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 190px 220px auto;gap:14px;align-items:end;padding:16px 18px;margin-bottom:16px}.expense-toolbar label>span,.expense-sort>span{font-size:9px;color:var(--muted);font-weight:600}.expense-search{position:relative}.expense-search>span{position:absolute;left:12px;bottom:10px;font-size:16px;color:var(--muted)}.expense-search input{padding-left:34px;background:var(--panel)}.expense-toolbar select{background:var(--panel)}.expense-sort{height:39px;display:flex;flex-direction:column;justify-content:center;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel2)}.expense-sort b{font-size:10px;margin-top:2px}.expense-toolbar>small{height:39px;display:flex;align-items:center;justify-content:flex-end;color:var(--muted);white-space:nowrap}.expense-group{margin-bottom:18px}.expense-group-head{display:flex;align-items:center;justify-content:space-between;padding:0 4px 8px}.expense-group-head>div{display:flex;align-items:center;gap:8px}.expense-group-head span{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:rgba(83,101,237,.09);color:var(--primary)}.expense-group-head b{font:700 13px Manrope}.expense-group-head small{color:var(--muted);font-size:9px}.expense-group-head strong{font-size:11px;color:var(--muted)}
@media(max-width:900px){.expense-toolbar{grid-template-columns:1fr 1fr}.expense-search{grid-column:1/-1}.expense-toolbar>small{justify-content:flex-start}}@media(max-width:600px){.expense-toolbar{grid-template-columns:1fr}.expense-search{grid-column:auto}.expense-toolbar>small{height:auto}.expense-group-head{align-items:flex-start}.expense-group-head>div{flex-wrap:wrap}.expense-group-head strong{text-align:right}}
.period-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.period-options button,.search-results button{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:10px;padding:13px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:10px}.period-options button:hover,.period-options button.active,.search-results button:hover{border-color:var(--primary);background:rgba(83,101,237,.08)}.period-options button>span{width:34px;height:34px;border-radius:9px;background:var(--panel);display:grid;place-items:center;color:var(--primary);font-size:10px;font-weight:700}.period-options button>b{font-size:10px;flex:1}.period-options button>i,.search-results button>i{font-style:normal;color:var(--primary)}.global-search input{height:44px;background:var(--panel)}.search-results{margin-top:12px;max-height:48vh;overflow:auto;display:grid;gap:6px}.search-results button{width:100%;padding:10px 12px}.search-results button>span{display:flex;flex-direction:column;gap:3px;flex:1}.search-results button b{font-size:11px}.search-results button small{font-size:9px;color:var(--muted)}
@media(max-width:600px){.period-options{grid-template-columns:1fr}}
.loan-card.loan-lent{border-color:rgba(24,168,117,.28)}.modal-panel:has(#loanForm){width:min(760px,100%)}
.chart-wrap canvas{cursor:crosshair;touch-action:pan-y}.chart-tooltip{position:absolute;z-index:4;pointer-events:none;min-width:190px;padding:11px 12px;border-radius:10px;background:rgba(24,32,51,.96);color:#fff;box-shadow:0 12px 30px rgba(13,18,33,.24);opacity:0;transform:translate(-50%,-100%) translateY(-12px);transition:opacity .08s;font-size:10px}.chart-tooltip.show{opacity:1}.chart-tooltip b{display:block;font:700 11px Manrope;margin-bottom:8px}.chart-tooltip>div{display:grid;grid-template-columns:1fr auto;gap:5px 14px}.chart-tooltip span{color:#bfc6d7}.chart-tooltip strong{font-size:10px}.chart-tooltip .projected{color:#8e9aff}.chart-tooltip .positive{color:#63d5a9}.chart-tooltip .negative{color:#ff8991}@media(max-width:600px){.chart-tooltip{min-width:170px}}
.chart-controls{display:flex;align-items:center;gap:8px}.chart-controls>select{width:auto;min-width:145px;height:32px;padding:5px 28px 5px 9px;background:var(--panel2);font-size:9px}.alert>div{min-width:0;flex:1}.alert-recommendation{margin-top:7px!important;padding-top:7px;border-top:1px solid var(--line);color:var(--text)!important}.alert-recommendation strong{display:inline;color:var(--green)}.alert-action{border:0;background:none;color:var(--primary);font-size:9px;font-weight:700;padding:7px 0 0;cursor:pointer}.alert.info .alert-icon{background:rgba(83,101,237,.1);color:var(--primary)}
@media(max-width:700px){.chart-card-head{align-items:flex-start;gap:10px}.chart-controls{align-items:flex-end;flex-direction:column}.chart-controls>select{max-width:145px}.alert-list{padding-left:12px;padding-right:12px}}
.buffer-edit{display:block;border:0;background:none;color:var(--primary);font-size:9px;font-weight:700;padding:8px 0 0;cursor:pointer;text-align:left}
.reflected-check{flex-direction:row;align-items:center;gap:9px;padding:10px 11px;border:1px solid var(--line);border-radius:8px;background:rgba(24,168,117,.06);color:var(--text)}.reflected-check input{width:auto;margin:0;accent-color:var(--green)}
.cashflow-opening{display:grid;grid-template-columns:minmax(210px,.65fr) minmax(610px,1.55fr);align-items:center;gap:26px;padding:18px 20px;margin:-8px 0 20px;border-left:4px solid var(--primary)}.cashflow-opening-copy>span{font-size:8px;letter-spacing:1.3px;font-weight:700;color:var(--primary)}.cashflow-opening-copy h2{font:700 14px Manrope;margin:4px 0}.cashflow-opening-copy p{font-size:9px;line-height:1.45;color:var(--muted);margin:0}.cashflow-opening-formula{display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(105px,1fr) auto minmax(115px,1fr) auto minmax(120px,1fr);align-items:center;gap:10px;overflow-x:auto;padding:2px}.cashflow-opening-formula div{min-width:105px;padding:10px 11px;border-radius:9px;background:var(--panel2)}.cashflow-opening-formula span{display:block;font-size:8px;color:var(--muted);margin-bottom:4px}.cashflow-opening-formula b{font:700 11px Manrope;white-space:nowrap}.cashflow-opening-formula b.positive{color:var(--green)}.cashflow-opening-formula b.negative{color:var(--red)}.cashflow-opening-formula i{font-style:normal;font-size:15px;font-weight:700;color:var(--muted)}
.cashflow-period .cashflow-closing{font-size:12px}.cashflow-period .cashflow-closing.positive{color:var(--green)}.cashflow-period .cashflow-closing.warning{color:var(--orange)}.cashflow-period .cashflow-closing.negative{color:var(--red)}.cashflow-period .expense-group-head b{font-size:14px}.cashflow-period .expense-group-head small{font-size:10px}.cashflow-period .data-table th{font-size:10px}.cashflow-period .data-table td{font-size:12px}
.transaction-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;min-width:max-content}.transaction-action{position:relative;width:42px;height:42px;min-width:42px;padding:0;justify-content:center;border-radius:10px;transition:transform .15s,border-color .15s,background .15s}.transaction-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}.transaction-action .action-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.transaction-action:hover{transform:translateY(-1px)}.transaction-action:focus-visible{outline:3px solid rgba(83,101,237,.3);outline-offset:2px}.transaction-action.danger:hover{border-color:var(--red);color:var(--red);background:rgba(236,93,104,.08)}.data-table td:has(.transaction-actions),.data-table:has(.transaction-actions) th:last-child{min-width:250px}.table-card:has(.transaction-actions){overflow-x:auto}
.cashflow-period .expense-group-head{gap:18px}.cashflow-period-title{min-width:250px}.cashflow-balances{display:flex!important;align-items:center;justify-content:flex-end;gap:12px;flex:1}.cashflow-balances>div{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:105px}.cashflow-balances small{font-size:9px!important;color:var(--muted)}.cashflow-balances strong{font:700 12px Manrope;white-space:nowrap}.cashflow-balances strong.negative{color:var(--red)}.cashflow-balances>i{font-style:normal;color:var(--muted);font-weight:700}.cashflow-balances em{font-style:normal;white-space:nowrap}.cashflow-balances em+em{margin-left:7px}.cashflow-balances .positive{color:var(--green)}.cashflow-balances .negative{color:var(--red)}
.cashflow-generated-period{border:1px dashed var(--line);border-radius:12px;padding:10px 12px;background:var(--panel2)}.cashflow-generated-period .expense-group-head{padding-bottom:4px}.cashflow-generated-note{font-size:10px;color:var(--muted);padding:5px 4px 2px}
.forecast-source-table{margin-top:8px;background:var(--panel)}.forecast-source-table .data-table{min-width:720px}.forecast-source-table .data-table th,.forecast-source-table .data-table td{font-size:11px}.forecast-source-table .data-table th{font-size:9px}
@media(max-width:900px){.cashflow-period .expense-group-head{align-items:flex-start;flex-direction:column}.cashflow-balances{width:100%;justify-content:flex-start!important;overflow-x:auto;padding-bottom:4px}.cashflow-balances>div{align-items:flex-start}}@media(max-width:600px){.cashflow-period-title{min-width:0}.cashflow-balances{gap:8px}.cashflow-balances>div{min-width:96px}}
@media(max-width:1050px){.cashflow-opening{grid-template-columns:1fr}.cashflow-opening-formula{grid-template-columns:minmax(120px,1fr) auto minmax(105px,1fr) auto minmax(115px,1fr) auto minmax(120px,1fr)}}@media(max-width:600px){.cashflow-opening{padding:15px;margin-top:-5px}.cashflow-opening-formula{padding-bottom:7px}}
.mobile-nav,.sidebar-scrim,.install-prompt{display:none}
@media(max-width:760px){
 body{overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}
 .sidebar{width:min(86vw,320px);padding-top:calc(22px + env(safe-area-inset-top));overflow-y:auto}
 .sidebar nav{overflow-y:auto;min-height:240px}
 .topbar{height:calc(62px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}
 .content{padding-bottom:calc(94px + env(safe-area-inset-bottom))}
 .sidebar-scrim{display:block;position:fixed;inset:0;border:0;background:rgba(18,24,40,.42);opacity:0;visibility:hidden;pointer-events:none;z-index:19;transition:opacity .2s,visibility .2s}
 .app.sidebar-open .sidebar-scrim{opacity:1;visibility:visible;pointer-events:auto}
 .mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:18;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;height:calc(68px + env(safe-area-inset-bottom));padding:7px 7px env(safe-area-inset-bottom);border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:0 -10px 30px rgba(28,36,68,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
 .mobile-nav button{position:relative;min-width:0;height:53px;border:0;background:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:12px;cursor:pointer}
 .mobile-nav button span{font-size:20px;line-height:1}.mobile-nav button b{font-size:9px}.mobile-nav button.active{color:var(--primary)}
 .mobile-nav .mobile-add{align-self:start;width:58px;height:58px;margin:-21px auto 0;border:5px solid var(--bg);border-radius:50%;background:linear-gradient(145deg,#7180ff,#4655dd);color:#fff;box-shadow:0 8px 20px rgba(83,101,237,.35)}
 .mobile-nav .mobile-add span{font-size:28px}.mobile-nav .mobile-add b{position:absolute;top:60px;color:var(--muted)}
 .install-prompt{display:grid;position:fixed;left:12px;right:12px;bottom:calc(80px + env(safe-area-inset-bottom));z-index:19;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--panel);box-shadow:0 16px 44px rgba(28,36,68,.2)}
 .install-prompt .logo{padding:0}.install-prompt b,.install-prompt small{display:block}.install-prompt b{font-size:11px}.install-prompt small{margin-top:2px;color:var(--muted);font-size:9px}.install-prompt .btn{height:34px;padding:0 11px;font-size:10px}
 .install-dismiss{width:28px;height:28px;padding:0;border:0;background:none;color:var(--muted);font-size:20px;cursor:pointer}
 .modal-panel{max-height:calc(100dvh - env(safe-area-inset-top) - 12px);overflow-y:auto}
}

/* Destructive tenant reset is isolated visually from ordinary preferences. */
.settings-danger{grid-column:1/-1;border-color:color-mix(in srgb,var(--red) 32%,var(--line));background:color-mix(in srgb,var(--red) 2%,var(--panel));padding-bottom:18px}.settings-danger .card-head h2{color:var(--red)}.settings-danger-body{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 20px}.settings-danger-body>div{max-width:760px}.settings-danger-body b,.settings-danger-body span{display:block}.settings-danger-body b{font-size:12px;margin-bottom:5px}.settings-danger-body span{color:var(--muted);font-size:11px;line-height:1.55}.settings-danger-body .btn{flex:none}.btn.danger.solid{background:var(--red);border-color:var(--red);color:#fff}.btn.danger.solid:hover{background:color-mix(in srgb,var(--red) 88%,#000);color:#fff}.application-reset-form{display:grid;gap:16px}.reset-warning-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--red) 12%,var(--panel));color:var(--red);font:800 24px Manrope}.application-reset-form .subtitle{margin-bottom:0}.reset-retained{padding:12px 14px;border:1px solid color-mix(in srgb,var(--green) 28%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--green) 6%,var(--panel))}.reset-retained b,.reset-retained span{display:block}.reset-retained b{font-size:10px;color:var(--green);margin-bottom:4px}.reset-retained span{font-size:10px;line-height:1.5;color:var(--muted)}.reset-preview{border:1px solid var(--line);border-radius:11px;overflow:hidden}.reset-preview>div{display:flex;align-items:baseline;gap:8px;padding:14px;background:var(--panel2)}.reset-preview>div b{font:800 22px Manrope;color:var(--red)}.reset-preview>div span{font-size:10px;color:var(--muted)}.reset-preview ul{list-style:none;padding:7px 14px;margin:0}.reset-preview li{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:7px 0;border-bottom:1px solid var(--line);font-size:10px}.reset-preview li:last-child{border:0}.reset-preview li span{color:var(--muted)}.reset-preview>p{padding:14px;margin:0;color:var(--muted);font-size:10px}.reset-acknowledgement{display:grid;grid-template-columns:20px 1fr;align-items:start;gap:9px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.reset-acknowledgement input{width:18px;height:18px;margin:0}.reset-acknowledgement span{font-size:10px;line-height:1.45;color:var(--text)}
@media(max-width:700px){.settings-danger-body{align-items:stretch;flex-direction:column}.settings-danger-body .btn{width:100%;justify-content:center}.application-reset-form .modal-actions{display:grid;grid-template-columns:1fr}.application-reset-form .modal-actions .btn{justify-content:center}}
@media(display-mode:standalone) and (max-width:760px){.topbar{padding-top:max(env(safe-area-inset-top),6px)}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px}button,input,select,textarea{font:inherit}.hidden{display:none!important}.app{min-height:100vh;display:grid;grid-template-columns:226px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:226px;background:var(--sidebar);border-right:1px solid var(--line);padding:28px 18px 20px;display:flex;flex-direction:column;z-index:20}.brand{height:42px;display:flex;align-items:center;gap:11px;padding:0 10px;font:800 20px Manrope}.logo{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:#fff;background:linear-gradient(145deg,#7180ff,#4b59dd);box-shadow:0 7px 15px rgba(83,101,237,.28);font-size:16px}nav{margin-top:25px;flex:1}nav p{font-size:9px;letter-spacing:1.5px;color:#a3a9b7;margin:18px 12px 8px}nav button,.utility{border:0;background:none;color:var(--muted);width:100%;padding:9px 12px;margin:2px 0;border-radius:9px;display:flex;align-items:center;gap:12px;text-align:left;font-weight:600;font-size:13px;cursor:pointer}nav button span{font-size:18px;width:18px;color:#9aa2b4}nav button:hover,nav button.active{background:rgba(83,101,237,.09);color:var(--primary)}nav button.active span{color:var(--primary)}.sidebar-foot{border-top:1px solid var(--line);padding-top:15px}.health-mini{padding:8px 10px 13px}.health-mini>div{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.health-mini b{color:var(--green)}.progress{height:4px;background:var(--line);border-radius:5px;margin-top:8px;overflow:hidden}.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--green),#62d4a8);transition:.6s}.main{grid-column:2;min-width:0}.topbar{height:78px;background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:10}.entity-pill{border:0;background:none;display:flex;align-items:center;gap:10px;color:var(--text);cursor:pointer}.entity-icon,.avatar{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:#e9edff;color:var(--primary);font-weight:700}.entity-pill span:nth-child(2){display:flex;flex-direction:column;align-items:flex-start}.entity-pill small{font-size:8px;letter-spacing:1.2px;color:var(--muted)}.entity-pill b{font-size:12px}.entity-pill i{font-style:normal;color:var(--muted)}.top-actions{display:flex;gap:8px;align-items:center}.period,.currency,.icon-btn{border:1px solid var(--line);background:var(--panel);color:var(--text);height:36px;border-radius:9px;padding:0 12px;display:flex;align-items:center;gap:8px;cursor:pointer}.period i{font-style:normal;color:var(--muted)}.currency{font-size:11px;font-weight:700}.icon-btn{width:36px;justify-content:center;font-size:17px;padding:0}.notice{position:relative}.notice i{position:absolute;right:7px;top:6px;width:6px;height:6px;border-radius:50%;background:var(--red);border:1px solid var(--panel)}.avatar{margin-left:5px;background:linear-gradient(145deg,#5263ea,#8a6be6);color:#fff}.menu{display:none}.content{padding:30px 34px 60px;max-width:1600px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:26px}.page-head h1{font:700 25px Manrope;margin:0 0 5px;letter-spacing:-.6px}.page-head p{margin:0;color:var(--muted);font-size:12px}.head-actions{display:flex;gap:8px}.btn{height:38px;padding:0 15px;border-radius:9px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.btn.primary{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 7px 14px rgba(83,101,237,.2)}.btn.wide{width:100%;justify-content:space-between;height:46px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;min-width:0}.kpi-top{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:600}.kpi-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:rgba(83,101,237,.08);color:var(--primary);font-size:15px}.kpi strong{font:700 23px Manrope;display:block;margin:13px 0 7px;letter-spacing:-.6px}.kpi strong small{font:600 10px 'DM Sans';color:var(--muted)}.trend{font-size:10px;color:var(--muted)}.trend b{color:var(--green)}.trend.bad b{color:var(--red)}.grid-main{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(290px,.8fr);gap:18px}.card{background:var(--panel);border:1px solid var(--line);border-radius:13px;box-shadow:0 1px 1px rgba(0,0,0,.01)}.card-head{padding:18px 20px 12px;display:flex;justify-content:space-between;align-items:center}.card-head h2{font:700 14px Manrope;margin:0}.card-head p{font-size:10px;color:var(--muted);margin:3px 0 0}.tabs{display:flex;background:var(--panel2);padding:3px;border-radius:7px}.tabs button{border:0;background:none;color:var(--muted);font-size:9px;padding:5px 9px;border-radius:5px;cursor:pointer}.tabs button.active{background:var(--panel);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.06)}.chart-wrap{height:250px;padding:6px 16px 14px;position:relative}.chart-wrap canvas{width:100%;height:100%}.chart-legend{display:flex;gap:18px;padding:0 20px 17px;color:var(--muted);font-size:9px}.chart-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.summary-list{padding:5px 20px 20px}.summary-row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:11px}.summary-row span{color:var(--muted)}.summary-row b.positive{color:var(--green)}.summary-row b.negative{color:var(--red)}.summary-row.total{border:0;padding-top:15px;font-size:12px}.bottom-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:18px;margin-top:18px}.account-list,.upcoming-list,.alert-list{padding:0 20px 15px}.account-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);gap:25px}.account-name{display:flex;align-items:center;gap:11px}.account-dot{width:8px;height:31px;border-radius:5px}.account-name b{font-size:11px;display:block}.account-name small,.account-meta{font-size:9px;color:var(--muted)}.account-balance{text-align:right}.account-balance b{display:block;font-size:12px}.account-balance small{font-size:9px;color:var(--muted)}.upcoming-row{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.date-box{text-align:center;color:var(--muted);font-size:8px;line-height:1.1}.date-box b{font:700 15px Manrope;color:var(--text);display:block}.event-info b{font-size:11px;display:block}.event-info small{font-size:9px;color:var(--muted)}.amount{font-weight:700;font-size:11px}.amount.income{color:var(--green)}.amount.expense{color:var(--red)}.alert{padding:13px;border:1px solid var(--line);border-radius:9px;margin:8px 0;display:flex;gap:11px;background:var(--panel2)}.alert-icon{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;background:#fff2dc;color:var(--orange);flex:none}.alert.danger .alert-icon{background:#feecef;color:var(--red)}.alert b{font-size:10px;display:block}.alert p{font-size:9px;line-height:1.45;color:var(--muted);margin:3px 0 0}.health-card{padding:20px;display:flex;align-items:center;gap:18px}.score-ring{--score:0;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) calc(var(--score)*1%),var(--line) 0);position:relative}.score-ring:after{content:'';position:absolute;inset:7px;border-radius:50%;background:var(--panel)}.score-ring b{z-index:1;font:800 22px Manrope}.score-copy h3{font:700 14px Manrope;margin:0}.score-copy p{color:var(--muted);font-size:10px;line-height:1.5;margin:5px 0}.score-copy b{color:var(--green);font-size:10px}.table-card{overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;color:var(--muted);font-size:9px;letter-spacing:.5px;padding:12px 16px;background:var(--panel2)}.data-table td{padding:13px 16px;border-top:1px solid var(--line);font-size:11px}.data-table td:last-child,.data-table th:last-child{text-align:right}.pill{display:inline-block;padding:4px 7px;border-radius:20px;background:var(--panel2);color:var(--muted);font-size:9px}.pill.income{background:rgba(24,168,117,.09);color:var(--green)}.pill.expense,.pill.investment{background:rgba(236,93,104,.09);color:var(--red)}.empty{text-align:center;padding:40px;color:var(--muted)}.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:rgba(13,18,33,.5);backdrop-filter:blur(4px)}.modal-panel{position:relative;background:var(--panel);border-radius:16px;width:min(520px,100%);padding:26px;box-shadow:0 30px 80px rgba(0,0,0,.22);max-height:90vh;overflow:auto}.modal-close{position:absolute;right:18px;top:15px;border:0;background:none;color:var(--muted);font-size:24px;cursor:pointer}.modal h2{font:700 20px Manrope;margin:0 0 4px}.modal .subtitle{color:var(--muted);font-size:11px;margin:0 0 22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}label{font-size:10px;font-weight:600;color:var(--muted);display:flex;flex-direction:column;gap:6px}input,select,textarea{width:100%;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:8px;padding:10px 11px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary)}textarea{resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.toast{position:fixed;right:25px;bottom:25px;background:#182033;color:#fff;border-radius:9px;padding:12px 16px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);transition:.2s;z-index:70;font-size:11px}.toast.show{opacity:1;transform:none}.login-shell{min-height:100vh;display:grid;grid-template-columns:460px 1fr;background:#fff}.login-card{padding:44px 65px;display:flex;flex-direction:column}.brand-login{padding:0}.login-copy{margin:auto 0 34px}.eyebrow{font-size:9px;color:var(--primary);font-weight:700;letter-spacing:1.6px}.login-copy h1{font:800 39px/1.15 Manrope;letter-spacing:-1.7px;margin:15px 0}.login-copy p{color:#858c9d;line-height:1.6;font-size:12px;max-width:310px}.login-card form{margin-bottom:auto}.login-card label{margin:12px 0}.demo-hint{text-align:center;color:#a1a7b3;font-size:9px}.form-error{color:var(--red);font-size:10px;text-align:center}.login-visual{position:relative;overflow:hidden;background:linear-gradient(145deg,#eef0ff,#f2edff);display:grid;place-items:center}.orb{position:absolute;border-radius:50%;filter:blur(5px)}.orb.one{width:460px;height:460px;right:-70px;top:-80px;background:rgba(99,113,235,.16)}.orb.two{width:330px;height:330px;left:8%;bottom:-80px;background:rgba(154,106,226,.15)}.preview-card{position:relative;width:420px;background:rgba(255,255,255,.82);backdrop-filter:blur(20px);padding:28px;border-radius:20px;box-shadow:0 35px 80px rgba(74,67,145,.16);transform:rotate(-2deg)}.preview-card>span{color:#858c9d;font-size:11px}.preview-card strong{display:block;font:800 32px Manrope;margin:12px 0}.preview-card small{font:600 10px DM Sans;color:#9298a9}.mini-chart{height:110px;display:flex;align-items:flex-end;gap:11px;border-bottom:1px solid #e7e9ef}.mini-chart i{flex:1;background:linear-gradient(#7987f4,#5968ec);border-radius:5px 5px 0 0}.mini-chart i:nth-child(1){height:30%}.mini-chart i:nth-child(2){height:46%}.mini-chart i:nth-child(3){height:38%}.mini-chart i:nth-child(4){height:65%}.mini-chart i:nth-child(5){height:58%}.mini-chart i:nth-child(6){height:79%}.mini-chart i:nth-child(7){height:92%}.preview-card p{font-size:10px;color:#858c9d;margin:16px 0 0}.preview-card p b{color:var(--green)}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-main,.bottom-grid{grid-template-columns:1fr}.login-shell{grid-template-columns:420px 1fr}.preview-card{width:340px}}
@media(max-width:760px){.app{display:block}.sidebar{transform:translateX(-100%);transition:.25s;box-shadow:var(--shadow)}.app.sidebar-open .sidebar{transform:none}.main{display:block}.topbar{height:64px;padding:0 16px}.menu{display:flex}.entity-pill{display:none}.period b{font-size:10px}.currency,.top-actions>.icon-btn{display:none}.content{padding:20px 15px 50px}.page-head{gap:15px}.page-head h1{font-size:21px}.page-head p{display:none}.kpi-grid{grid-template-columns:1fr 1fr;gap:9px}.kpi{padding:14px}.kpi strong{font-size:17px}.grid-main,.bottom-grid{gap:12px;margin-top:12px}.chart-wrap{height:220px}.head-actions .btn:not(.primary){display:none}.login-shell{display:block;background:#fff}.login-card{min-height:100vh;padding:30px 28px}.login-copy{margin:70px 0 25px}.login-copy h1{font-size:34px}.login-visual{display:none}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.data-table{min-width:650px}.table-card{overflow:auto}}
.bank-import-list{display:flex;flex-direction:column;gap:9px;max-height:58vh;overflow:auto;padding-right:3px}.bank-import-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:13px;border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--panel2)}.bank-import-row.done{opacity:.65}.bank-import-row b,.bank-import-row small,.bank-match{display:block}.bank-import-row small{color:var(--muted);margin-top:3px}.bank-match{color:var(--green);font-size:9px;margin-top:6px}.bank-row-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.bank-row-actions .btn{height:32px;padding:0 10px;font-size:10px}@media(max-width:700px){.bank-import-row{grid-template-columns:1fr auto}.bank-row-actions{grid-column:1/-1;justify-content:flex-start}}
.positive{color:var(--green)!important}.negative{color:var(--red)!important}.structure-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}.structure-category{padding:13px 0;border-bottom:1px solid var(--line)}.structure-category>div,.structure-child{display:flex;justify-content:space-between;gap:16px}.structure-category>div span,.structure-child span:last-child{font-weight:700}.structure-child{margin:9px 0 0 25px;color:var(--muted);font-size:11px}.tag-cloud{padding:8px 20px 22px;display:flex;gap:8px;flex-wrap:wrap}.tag-cloud .pill{border:1px solid var(--line);font-size:10px}.project-section{margin-top:22px}.project-section>.card-head{padding-left:0;padding-right:0}.project-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.project-portfolio-card{padding:18px;border-top:4px solid var(--project-color)}.project-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.project-card-head h3{font:700 15px Manrope;margin:9px 0 3px}.project-card-head p{font-size:9px;color:var(--muted);margin:0}.project-period{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:9px;margin:15px 0}.project-period i{font-style:normal}.project-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:9px;overflow:hidden}.project-metrics>div{background:var(--panel2);padding:10px}.project-metrics span,.project-report-kpis span{display:block;color:var(--muted);font-size:8px;margin-bottom:5px}.project-metrics b{font-size:10px}.project-progress-copy{display:flex;justify-content:space-between;color:var(--muted);font-size:8px;margin:14px 0 6px}.dual-progress{height:7px;background:var(--line);border-radius:10px;position:relative;overflow:hidden}.dual-progress i,.dual-progress b{position:absolute;left:0;display:block;border-radius:10px}.dual-progress i{top:0;height:3px;background:var(--primary)}.dual-progress b{bottom:0;height:3px;background:var(--green)}.project-card-actions{display:flex;gap:8px;margin-top:15px}.project-card-actions .btn{height:34px;font-size:9px;flex:1;justify-content:center}
.report-filter{padding:13px 18px;margin-bottom:15px}.report-filter form{display:flex;align-items:flex-end;gap:12px}.report-filter label{min-width:150px}.report-filter input{height:36px;padding:7px 9px}.report-filter form>span{color:var(--muted);font-size:9px;margin-left:auto;align-self:center}.report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.report-kpis .kpi strong{font-size:20px}.report-main-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.6fr);gap:18px}.report-chart,.project-curve{padding:2px 16px 16px;overflow-x:auto}.report-chart svg,.project-curve svg{width:100%;min-width:630px;display:block}.report-grid line{stroke:var(--line);stroke-width:1}.report-grid text,.report-axis-labels text{fill:var(--muted);font:9px 'DM Sans'}.report-income-line,.report-expense-line,.curve-plan,.curve-physical,.curve-paid{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.report-income-line{stroke:var(--green)}.report-expense-line{stroke:var(--red)}.report-income-dot{fill:var(--panel);stroke:var(--green);stroke-width:3}.report-expense-dot{fill:var(--panel);stroke:var(--red);stroke-width:3}.report-legend{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:9px;padding:0 12px}.report-legend i{display:inline-block;width:18px;height:3px;border-radius:5px;margin-right:6px;vertical-align:middle}.report-legend i.income{background:var(--green)}.report-legend i.expense{background:var(--red)}.report-legend i.plan{background:#aab1c4}.report-legend i.physical{background:var(--green)}.report-legend i.paid{background:var(--primary)}.report-legend small{margin-left:auto}.report-insights{padding:0 14px 15px}.report-breakdown{margin-top:18px;padding-bottom:12px}.report-breakdown-head{display:flex;justify-content:space-between;padding:0 20px 10px}.report-note{font-size:9px;color:var(--muted);padding:0 20px}.breakdown-list{padding:0 20px}.breakdown-row{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(220px,1.5fr) minmax(230px,.7fr);align-items:center;gap:18px;padding:10px 0;border-top:1px solid var(--line)}.breakdown-row.depth-1{padding-left:25px}.breakdown-name{display:flex;align-items:center;gap:8px;font-weight:600;font-size:10px}.breakdown-name button{border:0;background:none;color:var(--primary);cursor:pointer}.breakdown-bars{display:flex;flex-direction:column;gap:4px}.breakdown-bars>div{height:5px;border-radius:6px;min-width:2px}.breakdown-bars .expense{background:var(--red)}.breakdown-bars .income{background:var(--green)}.breakdown-values{display:flex;justify-content:flex-end;gap:14px}.breakdown-values b{font-size:10px;white-space:nowrap}
.reconciliation-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.reconciliation-kpis .kpi strong{font-size:21px}.reconciliation-kpis strong.warning{color:var(--orange)}.reconciliation-accounts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.reconciliation-account{padding:18px;border-top:3px solid var(--line)}.reconciliation-account.good{border-top-color:var(--green)}.reconciliation-account.warning{border-top-color:var(--orange)}.reconciliation-account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.reconciliation-account-head h3{font:700 15px Manrope;margin:7px 0 2px}.reconciliation-account-head p{font-size:9px;color:var(--muted);margin:0}.reconciliation-account-head>strong{font:700 17px Manrope;white-space:nowrap}.reconciliation-status{display:inline-flex;padding:4px 8px;border-radius:20px;font-size:8px;font-weight:700;background:var(--panel2);color:var(--muted)}.reconciliation-status.good{background:rgba(24,168,117,.1);color:var(--green)}.reconciliation-status.warning{background:rgba(239,158,68,.12);color:var(--orange)}.reconciliation-formula{display:grid;grid-template-columns:minmax(90px,1fr) auto minmax(75px,1fr) auto minmax(75px,1fr) auto minmax(85px,1fr) auto minmax(75px,1fr) auto minmax(90px,1fr);gap:7px;align-items:center;overflow-x:auto;margin:16px 0 10px;padding:12px;border-radius:10px;background:var(--panel2)}.reconciliation-formula>div{min-width:75px}.reconciliation-formula span{display:block;font-size:7px;color:var(--muted);margin-bottom:3px}.reconciliation-formula b{font-size:9px;white-space:nowrap}.reconciliation-formula>i{font-style:normal;color:var(--muted);font-size:11px;font-weight:700}.reconciliation-result{display:flex;gap:14px;flex-wrap:wrap;padding:0 2px 13px;border-bottom:1px solid var(--line)}.reconciliation-result span{font-size:8px;color:var(--muted)}.reconciliation-result b{margin-left:4px;color:var(--text)}.reconciliation-empty{margin:16px 0;padding:13px;border-radius:10px;background:var(--panel2)}.reconciliation-empty b{font-size:10px}.reconciliation-empty p{font-size:9px;color:var(--muted);line-height:1.45;margin:4px 0 0}.reconciliation-account-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:13px}.reconciliation-account-foot>span{font-size:9px;color:var(--muted)}.reconciliation-account-foot>div{display:flex;gap:6px}.reconciliation-account-foot .btn{height:32px;padding:0 10px;font-size:9px}.reconciliation-section{margin-bottom:18px;overflow:hidden}.reconciliation-list{padding:0 18px 15px}.reconciliation-row{display:grid;grid-template-columns:minmax(210px,1fr) auto minmax(210px,auto);align-items:center;gap:18px;padding:12px 0;border-top:1px solid var(--line)}.reconciliation-row b,.reconciliation-row small,.reconciliation-row span{display:block}.reconciliation-row b{font-size:10px}.reconciliation-row small{font-size:8px;color:var(--muted);margin-top:3px}.reconciliation-row span{font-size:8px;color:var(--muted);margin-top:5px}.reconciliation-row-actions{display:flex;justify-content:flex-end;gap:6px}.reconciliation-row-actions .btn{height:32px;padding:0 10px;font-size:9px}.reconciliation-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.reconciliation-control-grid>article:last-child{grid-column:1/-1}.control-signal-list{padding:0 14px 12px}.control-compact-list{padding:0 18px 14px}.control-compact-list>div,.reconciliation-import{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 0;border:0;border-top:1px solid var(--line);background:none;color:var(--text);text-align:left}.control-compact-list b,.control-compact-list small,.reconciliation-import b,.reconciliation-import small{display:block}.control-compact-list b,.reconciliation-import b{font-size:9px}.control-compact-list small,.reconciliation-import small{font-size:8px;color:var(--muted);margin-top:3px}.control-compact-list>div>strong{font-size:9px;text-align:right}.reconciliation-import{cursor:pointer}.reconciliation-import:hover{color:var(--primary)}.reconciliation-import>span:nth-child(2){margin-left:auto;text-align:right}.reconciliation-import i{font-style:normal;color:var(--muted)}
@media(max-width:1100px){.reconciliation-kpis{grid-template-columns:repeat(2,1fr)}.reconciliation-accounts{grid-template-columns:1fr}.reconciliation-control-grid{grid-template-columns:1fr}.reconciliation-control-grid>article:last-child{grid-column:auto}}@media(max-width:700px){.reconciliation-kpis{grid-template-columns:1fr}.reconciliation-account-head,.reconciliation-account-foot{align-items:flex-start;flex-direction:column}.reconciliation-account-foot>div{width:100%;overflow-x:auto}.reconciliation-row{grid-template-columns:1fr auto}.reconciliation-row-actions{grid-column:1/-1;justify-content:flex-start;overflow-x:auto}}
.modal-panel:has(.project-report){width:min(1180px,calc(100vw - 30px));padding:24px}.project-report-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding-right:35px}.project-report-head h2{margin:8px 0 4px}.project-report-head p{margin:0;color:var(--muted);font-size:10px}.project-report-head>div:last-child{display:flex;gap:8px}.project-report-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:11px;overflow:hidden;margin:20px 0}.project-report-kpis>div{background:var(--panel2);padding:13px}.project-report-kpis b{font:700 12px Manrope;display:block}.project-report-kpis small{display:block;color:var(--muted);font-size:8px;margin-top:4px}.project-curve-card{margin-bottom:16px}.curve-plan{stroke:#aab1c4;stroke-dasharray:7 6}.curve-physical{stroke:var(--green)}.curve-paid{stroke:var(--primary)}.curve-point{fill:var(--panel);stroke:var(--green);stroke-width:3}.project-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.project-category-list,.project-progress-log{padding:0 20px 16px;max-height:260px;overflow:auto}.project-category-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:10px}.project-progress-log>div{display:grid;grid-template-columns:55px 90px 1fr;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:10px}.project-progress-log p{margin:0;color:var(--muted)}.final-project-report{margin-top:16px;border-left:4px solid var(--orange)}.final-project-report.complete{border-left-color:var(--green)}.final-project-report>div:last-child{padding:0 20px 15px}.final-project-report>div:last-child p{font-size:10px;line-height:1.5;margin:6px 0}.cashflow-transfer-recommendations{margin-bottom:20px;border-left:4px solid var(--primary)}.recommended-transfer-list{padding:0 20px 15px}.recommended-transfer-alert{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.recommended-transfer-alert>div:first-child{display:flex;gap:11px;align-items:flex-start}.recommended-transfer-alert b{font-size:11px}.recommended-transfer-alert p{font-size:9px;color:var(--muted);margin:4px 0 0;line-height:1.5}.recommended-transfer-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.recommended-transfer-actions .btn{height:34px;font-size:9px}
.recommended-transfer-alert{display:block;padding:0;border:0}.recommended-transfer-plan{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 0;border-top:1px solid var(--line)}.recommended-transfer-main{display:flex;gap:12px;align-items:flex-start;min-width:0}.recommended-transfer-route{display:block;font-size:12px}.recommended-transfer-amount{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:7px}.recommended-transfer-amount>b{font:750 17px Manrope;color:var(--text)}.recommended-transfer-base{font-size:12px;color:var(--muted)}.recommended-transfer-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:7px;color:var(--muted);font-size:12px}.recommended-transfer-plan .recommended-transfer-coverage,.recommended-transfer-plan .recommended-transfer-rate,.recommended-transfer-plan .recommendation-blocked{font-size:12px;line-height:1.45;margin-top:7px}.recommended-transfer-plan .recommendation-blocked{color:var(--red);font-weight:650}.recommended-transfer-plan.is-blocked{opacity:.84}.recommended-transfer-button{min-width:180px;min-height:44px;white-space:normal}.recommended-transfer-button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}
@media(max-width:1200px){.project-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-main-grid{grid-template-columns:1fr}.project-report-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.project-portfolio-grid,.report-kpis,.project-report-grid{grid-template-columns:1fr}.report-filter form{align-items:stretch;flex-direction:column}.report-filter label{width:100%}.report-filter form>span{margin:0;align-self:flex-start}.report-breakdown-head,.project-report-head{flex-direction:column}.breakdown-row{grid-template-columns:1fr;gap:7px}.breakdown-values{justify-content:flex-start}.project-report-kpis{grid-template-columns:1fr 1fr}.recommended-transfer-plan{grid-template-columns:1fr}.recommended-transfer-button{width:100%}.project-card-actions{flex-direction:column}}
@media(max-width:760px){.sidebar{width:min(86vw,320px);padding-top:calc(22px + env(safe-area-inset-top));overflow-y:auto}.topbar{height:calc(62px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0}.content{padding:20px 15px calc(94px + env(safe-area-inset-bottom))}.mobile-nav{background:var(--panel);background:color-mix(in srgb,var(--panel) 94%,transparent)}.modal-panel{max-height:calc(100dvh - env(safe-area-inset-top) - 12px);overflow-y:auto}}@media(display-mode:standalone) and (max-width:760px){.topbar{padding-top:max(env(safe-area-inset-top),6px)}}
.modal-panel:has(.notification-settings){width:min(660px,100%)}.notification-status{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);margin-bottom:18px}.notification-status>span{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:rgba(239,158,68,.12);color:var(--orange);font-size:19px}.notification-status.enabled>span{background:rgba(24,168,117,.12);color:var(--green)}.notification-status b,.notification-status small{display:block}.notification-status b{font-size:11px}.notification-status small{color:var(--muted);font-size:9px;line-height:1.45;margin-top:3px}.notification-status .btn{height:34px;font-size:10px}.notification-settings{padding:2px}.notification-toggle{display:flex;flex-direction:row;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);margin-bottom:14px;color:var(--text)}.notification-toggle input{width:18px;height:18px;flex:none;accent-color:var(--primary)}.notification-toggle b,.notification-toggle small{display:block}.notification-toggle b{font-size:10px}.notification-toggle small{font-size:8px;color:var(--muted);margin-top:2px}.notification-toggle.compact{margin:0;align-self:end;min-height:61px}.notification-alerts{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.notification-alerts h3{font:700 12px Manrope;margin:0 0 10px}.notification-alerts .alert-list{padding:0}.btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:600px){.notification-status{grid-template-columns:38px 1fr}.notification-status .btn{grid-column:1/-1;justify-content:center}.notification-settings .form-grid{grid-template-columns:1fr}.notification-toggle.compact{min-height:auto}}
.icon-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media(max-width:760px){.top-actions>#notificationsBtn{display:flex}.top-actions{gap:6px}.period{padding:0 9px}.avatar{margin-left:0}}
.mobile-quick-actions{display:grid;gap:10px;margin-top:18px}.mobile-quick-actions>button{width:100%;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);text-align:left;cursor:pointer}.mobile-quick-actions>button:hover,.mobile-quick-actions>button:focus-visible{border-color:var(--primary);background:rgba(83,101,237,.08)}.mobile-quick-actions>button>span{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:rgba(83,101,237,.1);color:var(--primary);font-size:22px}.mobile-quick-actions b,.mobile-quick-actions small{display:block}.mobile-quick-actions b{font-size:12px}.mobile-quick-actions small{margin-top:3px;color:var(--muted);font-size:9px}.mobile-quick-actions i{font-style:normal;color:var(--primary);font-size:18px}
.account-row-button{width:100%;border:0;background:none;color:var(--text);text-align:left;cursor:pointer}.account-row-button:hover,.account-row-button:focus-visible{background:rgba(83,101,237,.05);outline:none}.modal-panel:has(.account-operations){width:min(780px,calc(100vw - 30px));padding:24px}.account-operations-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-right:34px}.account-operations-head>div>span{font-size:8px;font-weight:700;letter-spacing:1.3px;color:var(--primary)}.account-operations-head h2{margin:5px 0 3px}.account-operations-head p{margin:0;color:var(--muted);font-size:10px}.account-operations-head p b{color:var(--text)}.account-operation-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin:18px 0;background:var(--line);border:1px solid var(--line);border-radius:11px;overflow:hidden}.account-operation-summary>div{background:var(--panel2);padding:13px}.account-operation-summary span,.account-operation-summary b{display:block}.account-operation-summary span{font-size:8px;color:var(--muted);margin-bottom:5px}.account-operation-summary b{font:700 12px Manrope}.account-operation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}.account-operation-count{font-size:9px;color:var(--muted)}.account-operation-list{max-height:52vh;overflow:auto}.account-operation-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 3px;border-top:1px solid var(--line)}.account-operation-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(83,101,237,.08);font-size:16px}.account-operation-icon.income{color:var(--green);background:rgba(24,168,117,.09)}.account-operation-icon.expense{color:var(--red);background:rgba(236,93,104,.08)}.account-operation-copy b,.account-operation-copy small,.account-operation-copy span{display:block}.account-operation-copy b{font-size:11px}.account-operation-copy small{font-size:8px;color:var(--muted);margin-top:3px}.account-operation-copy span{font-size:8px;color:var(--muted);margin-top:4px}.account-operation-row>strong{font-size:11px;white-space:nowrap;text-align:right}@media(max-width:650px){.modal-panel:has(.account-operations){width:calc(100vw - 16px);padding:18px}.account-operations-head{padding-right:28px;flex-direction:column}.account-operations-head>.btn{width:100%;justify-content:center}.account-operation-summary{grid-template-columns:1fr 1fr}.account-operation-row{grid-template-columns:34px minmax(0,1fr)}.account-operation-icon{width:32px;height:32px}.account-operation-row>strong{grid-column:2;text-align:left}.account-operation-toolbar{align-items:flex-start;flex-direction:column}.account-operation-list{max-height:48vh}.kpi-grid .kpi>div:last-child{flex-wrap:wrap}.kpi-grid .kpi>div:last-child .btn{min-width:calc(50% - 4px)}}
.account-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:15px;padding-top:12px;border-top:1px solid var(--line)}.account-card-actions .btn{height:34px;justify-content:center;padding:0 10px;font-size:10px}.account-card-actions .account-card-operations{grid-column:1/-1;height:38px;font-size:11px}.account-card-actions .btn span{font-size:14px}@media(max-width:420px){.account-card-actions{grid-template-columns:1fr}.account-card-actions .account-card-operations{grid-column:auto}}
.account-color-card{position:relative;overflow:hidden;border-top:4px solid var(--account-color);background:linear-gradient(145deg,color-mix(in srgb,var(--account-color) 9%,var(--panel)) 0,var(--panel) 48%)}.account-color-card:before{content:"";position:absolute;right:-38px;top:-48px;width:130px;height:130px;border-radius:50%;background:color-mix(in srgb,var(--account-color) 10%,transparent);pointer-events:none}.account-color-card .kpi-icon{background:color-mix(in srgb,var(--account-color) 12%,var(--panel2))}.account-row-colored{position:relative;border-left:4px solid var(--account-color)!important;background:linear-gradient(90deg,color-mix(in srgb,var(--account-color) 7%,var(--panel)) 0,var(--panel) 30%)}.account-row-button.account-row-colored:hover,.account-row-button.account-row-colored:focus-visible{background:linear-gradient(90deg,color-mix(in srgb,var(--account-color) 14%,var(--panel)) 0,var(--panel2) 38%)}
.account-color-picker{display:flex;align-items:center;gap:12px;min-height:54px;margin-top:6px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.account-color-native{width:44px!important;height:38px!important;min-width:44px;padding:3px!important;border-radius:8px;cursor:pointer;background:var(--panel)}.account-color-native::-webkit-color-swatch-wrapper{padding:0}.account-color-native::-webkit-color-swatch{border:0;border-radius:5px}.account-color-swatches{display:flex;align-items:center;gap:7px;flex:1;flex-wrap:wrap}.account-color-swatch{position:relative;width:25px;height:25px;border:2px solid var(--panel);border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px var(--line);cursor:pointer;transition:transform .15s,box-shadow .15s}.account-color-swatch:hover{transform:scale(1.12)}.account-color-swatch.active{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--swatch)}.account-color-value{font-size:9px;color:var(--muted);font-weight:700;white-space:nowrap}.account-badge{display:inline-flex;align-items:center;gap:7px;max-width:190px;padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--account-color) 10%,var(--panel2));color:var(--text);font-size:10px;font-weight:600;white-space:nowrap}.account-badge i{width:8px;height:8px;flex:none;border-radius:50%;background:var(--account-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--account-color) 14%,transparent)}.account-operations{border-top:4px solid var(--account-color,var(--primary));padding-top:14px}@media(max-width:600px){.account-color-picker{align-items:flex-start;flex-wrap:wrap}.account-color-swatches{order:3;flex-basis:100%}.account-color-value{margin-left:auto}}
.correction-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:16px 0;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}.correction-summary span{display:block;padding:11px;background:var(--panel2);color:var(--muted);font-size:9px}.correction-summary b{display:block;margin-top:4px;color:var(--text);font:700 11px Manrope}.btn.danger{color:var(--red);border-color:color-mix(in srgb,var(--red) 35%,var(--line))}.btn.danger:hover{background:color-mix(in srgb,var(--red) 9%,var(--panel));border-color:var(--red)}@media(max-width:520px){.correction-summary{grid-template-columns:1fr}}
.account-activity-row{grid-template-columns:38px minmax(0,1fr) auto!important}.account-activity-actions{grid-column:2/-1;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.account-activity-actions .btn{min-height:38px}@media(max-width:650px){.account-activity-row{grid-template-columns:34px minmax(0,1fr)!important}.account-activity-row>.amount{grid-column:2}.account-activity-actions{grid-column:1/-1;justify-content:stretch}.account-activity-actions .btn{flex:1 1 180px}}
.financial-toolbar{display:grid;grid-template-columns:minmax(250px,1fr) 165px 165px minmax(170px,auto);gap:12px;align-items:end;padding:16px 18px;margin-bottom:18px}.financial-toolbar label>span,.financial-sort>span{display:block;margin-bottom:5px;font-size:9px;color:var(--muted);font-weight:600}.financial-toolbar input,.financial-toolbar select{height:39px;background:var(--panel)}.financial-search{position:relative}.financial-search>span{position:absolute;left:12px;bottom:10px;margin:0;font-size:16px}.financial-search input{padding-left:34px}.financial-range{display:grid;grid-template-columns:1fr 1fr;gap:8px}.financial-quick-periods{grid-column:1/3;display:flex;align-items:center;gap:7px}.financial-quick-periods .btn{height:34px;font-size:9px}.financial-sort{grid-column:3/4;height:39px;display:flex;flex-direction:column;justify-content:center;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel2)}.financial-sort>span{margin:0}.financial-sort b{font-size:10px;margin-top:2px}.financial-toolbar>small{grid-column:4/5;height:39px;display:flex;align-items:center;justify-content:flex-end;color:var(--muted);white-space:nowrap}.financial-day-group>.expense-group-head{padding:5px 8px 9px;border-left:3px solid var(--primary)}.financial-day-group>.expense-group-head b{text-transform:none}.financial-day-group>.expense-group-head strong{font-size:11px}@media(max-width:1100px){.financial-toolbar{grid-template-columns:minmax(230px,1fr) 1fr 1fr}.financial-toolbar>:nth-child(4),.financial-range{grid-column:auto}.financial-quick-periods{grid-column:1/3}.financial-sort{grid-column:3/4}.financial-toolbar>small{grid-column:3/4}}@media(max-width:760px){.financial-toolbar{grid-template-columns:1fr 1fr}.financial-search{grid-column:1/-1}.financial-range{grid-column:1/-1}.financial-quick-periods{grid-column:1/-1;overflow-x:auto}.financial-sort{grid-column:1/2}.financial-toolbar>small{grid-column:2/3}}@media(max-width:520px){.financial-toolbar{grid-template-columns:1fr}.financial-search,.financial-range,.financial-quick-periods,.financial-sort,.financial-toolbar>small{grid-column:1}.financial-toolbar>small{justify-content:flex-start;height:auto}.financial-day-group>.expense-group-head{align-items:flex-start}.financial-day-group>.expense-group-head>div{flex-wrap:wrap}}
.account-row .account-name b{font:700 14px Manrope;line-height:1.25;letter-spacing:-.15px}.account-row .account-name small{display:block;margin-top:3px}.account-color-card .trend b{display:block;margin-bottom:4px;color:var(--text);font:700 15px Manrope;line-height:1.25;letter-spacing:-.2px}
.financial-hide-completed{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:7px;margin-left:5px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--text);white-space:nowrap;cursor:pointer}.financial-hide-completed input{width:15px;height:15px;margin:0;padding:0;accent-color:var(--primary)}.financial-hide-completed span{font-size:9px;font-weight:600}@media(max-width:760px){.financial-hide-completed{margin-left:0}}
.category-pie-card{margin-top:18px;overflow:hidden}.category-pie-card .card-head{align-items:flex-start}.category-pie-body{display:grid;grid-template-columns:250px minmax(0,1fr);gap:30px;align-items:center;padding:8px 24px 22px}.category-pie-chart{width:220px;aspect-ratio:1;margin:auto;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--pie));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 55%,transparent)}.category-pie-chart:before{content:"";position:absolute;inset:43px;border-radius:50%;background:var(--panel);box-shadow:0 0 0 1px var(--line)}.category-pie-chart>div{position:relative;z-index:1;width:128px;text-align:center}.category-pie-chart b,.category-pie-chart span{display:block}.category-pie-chart b{font:700 16px Manrope;letter-spacing:-.4px}.category-pie-chart>div>span{margin-top:5px;color:var(--muted);font-size:9px}.category-pie-slice-label{position:absolute;z-index:3;transform:translate(-50%,-50%);margin:0!important;padding:3px 5px;border-radius:999px;background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--text)!important;font-size:8px!important;font-weight:800;line-height:1;white-space:nowrap;box-shadow:0 1px 4px rgba(16,24,40,.22)}.category-pie-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}.category-pie-legend-row{display:grid;grid-template-columns:11px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.category-pie-legend-row>i{width:10px;height:10px;border-radius:3px;background:var(--slice)}.category-pie-legend-row b,.category-pie-legend-row small{display:block}.category-pie-legend-row b{font-size:10px}.category-pie-legend-row small{margin-top:2px;color:var(--muted);font-size:8px}.category-pie-legend-row small em{color:var(--text);font-style:normal;font-weight:800}.category-pie-legend-row strong{font-size:10px;white-space:nowrap}.category-pie-note{margin:0;padding:0 24px 18px;color:var(--muted);font-size:9px;line-height:1.5}.category-pie-empty{display:grid;justify-items:center;padding:28px 24px 34px;text-align:center}.category-pie-empty>span{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:rgba(83,101,237,.1);color:var(--primary);font-size:26px}.category-pie-empty b{margin-top:12px;font-size:11px}.category-pie-empty p{margin:5px 0 0;color:var(--muted);font-size:9px}.structure-category>div>span,.structure-child>span:last-child{text-align:right;max-width:58%;font-size:9px;line-height:1.35}
@media(max-width:760px){.category-pie-card .card-head{gap:12px;flex-direction:column}.category-pie-body{grid-template-columns:1fr;padding:4px 16px 18px}.category-pie-chart{width:190px}.category-pie-chart:before{inset:38px}.category-pie-legend{grid-template-columns:1fr}.category-pie-note{padding:0 16px 16px}.structure-category>div>span,.structure-child>span:last-child{max-width:52%}}
.category-native-select{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.category-picker-trigger{width:100%;min-height:42px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--text);text-align:left;cursor:pointer}.category-picker-trigger:hover,.category-picker-trigger:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px rgba(83,101,237,.09);outline:0}.category-picker-trigger>span{width:26px;height:26px;display:grid;place-items:center;border-radius:7px;background:rgba(83,101,237,.1);color:var(--primary);font-size:14px}.category-picker-trigger>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.category-picker-trigger.empty>b{color:var(--muted);font-weight:500}.category-picker-trigger>i{font-style:normal;color:var(--muted);font-size:13px}.category-picker-layer{position:absolute;inset:0;z-index:8;display:grid;place-items:center;padding:16px}.category-picker-backdrop{position:absolute;inset:0;border:0;background:rgba(13,18,33,.58);backdrop-filter:blur(3px);cursor:default}.category-picker-panel{position:relative;width:min(560px,calc(100vw - 28px));max-height:min(760px,calc(100dvh - 32px));display:flex;flex-direction:column;border:1px solid var(--line);border-radius:15px;background:var(--panel);box-shadow:0 28px 80px rgba(0,0,0,.3);overflow:hidden}.category-picker-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:19px 20px 13px;border-bottom:1px solid var(--line)}.category-picker-head h2{font:700 16px Manrope;margin:0}.category-picker-head p{margin:3px 0 0;color:var(--muted);font-size:9px}.category-picker-close{width:34px;height:34px;border:0;border-radius:9px;background:var(--panel2);color:var(--muted);font-size:20px;cursor:pointer}.category-picker-search{position:relative;display:block;padding:13px 16px 10px}.category-picker-search>span{position:absolute;left:29px;top:50%;transform:translateY(-42%);font-size:19px;color:var(--muted);pointer-events:none}.category-picker-search>input{height:44px;padding-left:39px;background:var(--panel2);font-size:11px}.category-picker-list{min-height:0;overflow:auto;padding:0 16px 18px}.category-picker-groups{display:grid;gap:10px;margin-top:10px}.category-picker-group{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}.category-picker-group h3{margin:0;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--muted);font:700 9px Manrope;letter-spacing:.5px;text-transform:uppercase}.category-picker-choice{width:100%;min-height:48px;display:grid;grid-template-columns:26px minmax(0,1fr) 20px;align-items:center;gap:9px;padding:9px 12px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--text);text-align:left;cursor:pointer}.category-picker-group .category-picker-choice:first-of-type{border-top:0}.category-picker-choice:hover,.category-picker-choice:focus-visible{background:rgba(83,101,237,.08);outline:0}.category-picker-choice.selected{background:rgba(83,101,237,.12)}.category-picker-choice>span{color:var(--primary);font-size:12px}.category-picker-choice>div{min-width:0}.category-picker-choice b,.category-picker-choice small{display:block}.category-picker-choice b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-picker-choice small{margin-top:2px;color:var(--muted);font-size:8px}.category-picker-choice>i{font-style:normal;color:var(--primary);font-weight:700;text-align:right}.category-picker-choice.child{padding-left:22px}.category-picker-choice.none{margin-top:2px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.category-picker-no-results{display:grid;justify-items:center;gap:4px;padding:34px;color:var(--muted)}.category-picker-no-results b{font-size:11px;color:var(--text)}.category-picker-no-results span{font-size:9px}
@media(max-width:760px){.category-picker-trigger{min-height:48px}.category-picker-trigger>b{font-size:13px}.category-picker-layer{align-items:end;padding:0}.category-picker-panel{width:100%;max-height:88dvh;border-radius:18px 18px 0 0;border-bottom:0}.category-picker-head{padding:18px 18px 12px}.category-picker-head h2{font-size:18px}.category-picker-head p{font-size:10px}.category-picker-search{padding:12px 14px 9px}.category-picker-search>input{height:48px;font-size:16px}.category-picker-search>span{left:28px}.category-picker-list{padding:0 14px calc(18px + env(safe-area-inset-bottom))}.category-picker-choice{min-height:56px;padding:10px 13px}.category-picker-choice b{font-size:14px}.category-picker-choice small{font-size:10px}.category-picker-group h3{font-size:10px;padding:10px 13px}}
.category-icon{width:28px;height:28px;display:inline-grid;place-items:center;flex:none;border-radius:8px;background:color-mix(in srgb,var(--primary) 10%,var(--panel2));font-size:16px;line-height:1;vertical-align:middle}.category-trigger-icon .category-icon{width:26px;height:26px;background:transparent}.category-picker-choice>.category-icon{font-size:16px}.structure-category>div>b,.structure-child>span:first-child{display:flex;align-items:center;gap:8px}.structure-category .category-icon{width:26px;height:26px}
.category-icon-section{padding-top:4px}.category-icon-section>div:first-child b,.category-icon-section>div:first-child small{display:block}.category-icon-section>div:first-child small{margin-top:3px;color:var(--muted);font-size:9px}.category-icon-library{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;max-height:276px;margin-top:10px;padding:9px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);overflow:auto}.category-icon-option{position:relative;min-width:0;display:grid;place-items:center;gap:3px;padding:8px 3px;border:1px solid transparent;border-radius:9px;background:var(--panel);cursor:pointer;transition:border-color .15s,transform .15s,background .15s}.category-icon-option:hover{transform:translateY(-1px);border-color:var(--primary)}.category-icon-option.selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--panel))}.category-icon-option input{position:absolute;opacity:0;pointer-events:none}.category-icon-option span{font-size:21px;line-height:1}.category-icon-option small{width:100%;overflow:hidden;color:var(--muted);font-size:7px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.inherited-category-icon{display:flex;align-items:center;gap:10px;padding:10px;border:1px dashed var(--line);border-radius:10px;background:var(--panel2)}.inherited-category-icon span b,.inherited-category-icon span small{display:block}.inherited-category-icon span small{margin-top:2px;color:var(--muted);font-size:8px}
.settings-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:18px}.settings-preferences form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(200px,1fr) auto;gap:14px;align-items:end;padding:0 20px 22px}.settings-preferences form>label{display:flex;flex-direction:column;gap:6px;font-size:9px;color:var(--muted)}.settings-profile{min-height:42px;display:flex;flex-direction:column;justify-content:center;padding:7px 11px;border:1px solid var(--line);border-radius:8px;background:var(--panel2)}.settings-profile span,.settings-profile small{display:block}.settings-profile span{font-size:10px;font-weight:700}.settings-profile small{margin-top:2px;color:var(--muted);font-size:8px}.settings-language-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:9px;line-height:1.5}.settings-preferences form>.btn{justify-self:start}.settings-help{padding-bottom:18px}.settings-rule{display:flex;align-items:center;gap:11px;margin:0 20px 9px;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.settings-rule>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--primary) 12%,var(--panel));color:var(--primary);font-weight:800}.settings-rule b,.settings-rule small{display:block}.settings-rule b{font-size:10px}.settings-rule small{margin-top:3px;color:var(--muted);font-size:8px}.category-management{margin-top:18px}.category-management-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:0 20px 22px}.category-kind-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.category-kind-head h3{margin:0;font:700 12px Manrope}.category-kind-head .btn{height:34px}.settings-category-list{display:grid;gap:9px}.settings-category-card{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}.settings-category-root{display:grid;grid-template-columns:34px minmax(0,1fr) 34px 34px;align-items:center;gap:8px;padding:10px}.settings-category-root b,.settings-category-root small{display:block}.settings-category-root b{font-size:10px}.settings-category-root small{margin-top:2px;color:var(--muted);font-size:8px}.settings-category-root .icon-btn,.settings-subcategory .icon-btn{width:32px;height:32px}.settings-category-root .icon-btn.add{color:var(--primary)}.settings-subcategory{display:grid;grid-template-columns:30px minmax(0,1fr) 32px;align-items:center;gap:8px;padding:8px 10px 8px 20px;border-top:1px solid var(--line);background:var(--panel)}.settings-subcategory .category-icon{width:24px;height:24px;font-size:14px;opacity:.78}.settings-subcategory>span{font-size:9px}.settings-category-card .icon-btn{border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);cursor:pointer}.settings-category-card .icon-btn:hover{border-color:var(--primary);color:var(--primary)}
.billing-summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:24px;padding:20px 24px;margin-bottom:18px}.billing-summary>div>span{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:1px}.billing-summary h2{margin:4px 0 2px;font:700 20px Manrope}.billing-summary p{margin:0;color:var(--muted);font-size:9px}.billing-summary>div:nth-child(2){text-align:right}.billing-summary strong{font:700 22px Manrope}.billing-summary small{color:var(--muted);font-size:9px}.billing-plans{display:grid;grid-template-columns:1fr 1fr;gap:18px}.billing-plan{position:relative;padding:24px;overflow:hidden}.billing-plan.featured{border-color:color-mix(in srgb,var(--primary) 58%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 8%,var(--panel)),var(--panel) 60%)}.billing-plan.active{box-shadow:inset 0 0 0 1px var(--primary)}.plan-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--primary) 12%,var(--panel2));color:var(--primary);font-size:7px;font-weight:800;letter-spacing:.7px}.billing-plan h2{margin:16px 0 5px;font:700 19px Manrope}.plan-price b{font:700 27px Manrope}.plan-price span{color:var(--muted);font-size:9px}.billing-plan ul{display:grid;gap:10px;margin:20px 0;padding:0;list-style:none}.billing-plan li{position:relative;padding-left:20px;font-size:10px}.billing-plan li:before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:900}.billing-plan>.btn{width:100%;justify-content:center}.billing-config-note{display:block;margin-top:9px;color:var(--muted);font-size:8px;text-align:center}.billing-invoices{margin-top:18px}.billing-invoices .empty{padding-bottom:26px}.billing-invoices a.btn{text-decoration:none}
@media(max-width:900px){.settings-grid,.category-management-columns,.billing-plans{grid-template-columns:1fr}.settings-preferences form{grid-template-columns:1fr 1fr}.settings-preferences form>.btn{grid-column:1/-1}.category-icon-library{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:600px){.category-icon-library{grid-template-columns:repeat(5,minmax(0,1fr));max-height:43dvh}.category-icon-option{min-height:56px}.category-icon-option small{font-size:8px}.settings-preferences form{grid-template-columns:1fr;padding:0 16px 18px}.settings-language-note,.settings-preferences form>.btn{grid-column:1}.category-management-columns{padding:0 14px 16px}.billing-summary{grid-template-columns:1fr auto;padding:17px}.billing-summary>.btn{grid-column:1/-1}.billing-plan{padding:19px}}
.billing-profile{margin-top:18px}.billing-profile-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 20px 22px}.billing-profile-form label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:9px}.billing-profile-form label.wide{grid-column:span 2}.billing-profile-form>.btn{align-self:end;justify-content:center}@media(max-width:760px){.billing-profile-form{grid-template-columns:1fr 1fr}.billing-profile-form label.wide{grid-column:span 2}}@media(max-width:600px){.billing-profile-form{grid-template-columns:1fr;padding:0 16px 18px}.billing-profile-form label.wide{grid-column:1}.billing-profile-form>.btn{width:100%}}
nav button>b{min-width:0;overflow:hidden;font:inherit;text-overflow:ellipsis;white-space:nowrap}
.transaction-account-state{display:grid;justify-items:start;gap:4px;min-width:150px}.transaction-account-state>small{color:var(--muted);font-size:8px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.transaction-account-state.effective>small{color:var(--green)}.transaction-account-state>div{display:flex;gap:5px;flex-wrap:wrap}.transaction-account-state>span{max-width:210px;color:var(--muted);font-size:8px;line-height:1.35}.transaction-account-state .account-badge{max-width:210px}.correction-planned-account{display:inline-flex;align-items:center;gap:6px;margin-top:7px;color:var(--muted)}.correction-planned-account .account-badge{vertical-align:middle}
@media(min-width:761px){
 .sidebar{height:100vh;height:100dvh;max-height:100dvh;overflow:hidden}
 .sidebar>.brand,.sidebar>.sidebar-foot{flex:0 0 auto}
 .sidebar nav{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 4px 16px 0}
 .sidebar nav::-webkit-scrollbar{width:6px}
 .sidebar nav::-webkit-scrollbar-track{background:transparent}
 .sidebar nav::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--muted) 32%,transparent)}
 .sidebar nav:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 52%,transparent)}
 .sidebar-foot{position:relative;z-index:1;background:var(--sidebar)}
}
button.request-pending,[type="submit"].request-pending{cursor:wait;opacity:.72;pointer-events:none}button.request-pending::after,[type="submit"].request-pending::after{content:"";display:inline-block;width:.8em;height:.8em;margin-left:.55em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-.08em;animation:request-pending-spin .7s linear infinite}@keyframes request-pending-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){button.request-pending::after,[type="submit"].request-pending::after{animation:none}}

/* Release accessibility floor: interactive targets remain usable by touch and keyboard. */
.btn,.icon-btn,.period,.currency,.modal-close,.utility,nav button,.tabs button,.alert-action,.bill-link,.bill-confirm,.provider-card .btn,.loan-actions .btn,.settings-category-card .icon-btn,.category-picker-close{min-width:44px;min-height:44px;height:auto}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 42%,transparent);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Impakt runtime compatibility: the visual language remains the original Clarity shell. */
.brand{text-decoration:none;color:var(--text)}
.sidebar>.brand{height:48px;padding:0 4px}
.sidebar>.brand img{display:block;width:174px;height:40px;object-fit:contain;object-position:left center}
.mobile-brand{display:none}
.sidebar form{margin:0}
.sidebar form .utility{font-family:inherit}
.loading-state{min-height:420px;display:grid;place-content:center;justify-items:center;text-align:center;padding:40px}
.loading-state h1{font:700 22px Manrope;margin:18px 0 6px}
.loading-state p{color:var(--muted);margin:0}
.loading-mark{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#7180ff,#4b59dd);color:#fff;font:800 24px Manrope;box-shadow:0 12px 28px rgba(83,101,237,.25)}
.page-notice{margin-bottom:18px}
.view-actions{display:flex;gap:8px;flex-wrap:wrap}
.organization-grid,.simple-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.organization-card,.simple-card{padding:18px}
.organization-card.active{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}
.organization-card h3,.simple-card h3{font:700 14px Manrope;margin:0 0 6px}
.organization-card p,.simple-card p{font-size:10px;color:var(--muted);margin:0 0 14px}
.organization-card .btn{width:100%;justify-content:center}
.section-spacer{margin-top:18px}
.data-table .amount.income{color:var(--green)}
.data-table .amount.expense{color:var(--red)}
.data-table .muted{color:var(--muted)}
.empty-feature{min-height:330px;display:grid;place-content:center;justify-items:center;text-align:center;padding:40px}
.empty-feature>span{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:rgba(83,101,237,.09);color:var(--primary);font-size:28px}
.empty-feature h2{font:700 18px Manrope;margin:16px 0 6px}
.empty-feature p{max-width:520px;color:var(--muted);font-size:11px;line-height:1.6;margin:0}
.cashflow-days{display:grid;gap:10px}
.cashflow-day{overflow:hidden}
.cashflow-day>header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:13px 16px;background:var(--panel2);border-bottom:1px solid var(--line)}
.cashflow-day>header b{font:700 12px Manrope}.cashflow-day>header span{font-size:10px;color:var(--muted)}
.cashflow-day .upcoming-list{padding-top:5px}
.modal-panel form>p.status{min-height:18px;color:var(--muted);font-size:10px}
.modal-panel form>p.status.error{color:var(--red)}
.modal-panel form>p.status.success{color:var(--green)}
.auth-loss{border-color:rgba(236,93,104,.35)}
.topbar .avatar{cursor:default}
.account-row-colored{--account-color:#5365ed}.account-row-colored .account-dot{background:#5365ed}
.account-card-grid .account-color-card{border-top:3px solid var(--account-color)}.account-color-card .trend b,.account-color-card .trend span{display:block}.account-color-card .trend span{margin-top:4px}.account-empty{grid-column:1/-1}.accounts-summary .card-head>strong{font:700 18px Manrope}
.chart-legend .legend-projected{background:#596aed}.chart-legend .legend-risk{background:#b5bbcd}.chart-legend .legend-buffer{background:#ef9e44}
.calendar-period{align-self:center;min-width:130px;color:var(--text);font:700 11px Manrope;text-align:center;text-transform:capitalize}.calendar-card{padding:18px;overflow:auto}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));min-width:720px}.calendar-weekdays{gap:1px;padding-bottom:7px}.calendar-weekdays b{padding:7px 9px;color:var(--muted);font-size:8px;letter-spacing:.7px;text-transform:uppercase}.calendar-grid{gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}.calendar-day{min-height:112px;padding:9px;background:var(--panel)}.calendar-day.outside{background:var(--panel2);color:var(--muted)}.calendar-day.today>b{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:#fff}.calendar-day>div{display:grid;gap:5px;margin-top:7px}.calendar-day>div>small{color:var(--muted);font-size:7px}.calendar-event{overflow:hidden;padding:5px 6px;border-radius:5px;font-size:8px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.calendar-event.income{background:rgba(24,168,117,.1);color:var(--green)}.calendar-event.expense{background:rgba(236,93,104,.1);color:var(--red)}
.structure-summary{padding:0 20px 18px}.structure-summary-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.structure-summary-row>span{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:rgba(83,101,237,.1);color:var(--primary)}.structure-summary-row b,.structure-summary-row small{display:block}.structure-summary-row b{font-size:10px}.structure-summary-row small{margin-top:3px;color:var(--muted);font-size:8px}.structure-summary-row strong{font-size:10px}.scenario-builder{padding-bottom:20px}.scenario-builder form{padding:0 20px}.scenario-result{min-height:300px}.scenario-result .summary-list{padding-top:6px}
@media(max-width:760px){.organization-grid,.simple-grid{grid-template-columns:1fr}.view-actions{width:100%}.view-actions .btn{flex:1;justify-content:center}.cashflow-day>header{align-items:flex-start;flex-direction:column}}

/* Product-owned authentication shell. Keep this independent from the application
   sidebar so login, recovery and signed-out routes remain polished in isolation. */
.auth-page{--text:#182033;--muted:#667085;--line:#d7dae4;--primary:#4f46e5;--red:#c93443;--green:#087a55;min-height:100vh;min-height:100dvh;background:radial-gradient(circle at 14% 12%,rgba(83,101,237,.16),transparent 34%),radial-gradient(circle at 88% 88%,rgba(154,106,226,.13),transparent 32%),linear-gradient(145deg,#f8f9ff 0,#f3f5fb 52%,#eef1fa 100%);color:var(--text);color-scheme:light}
.auth-page:before,.auth-page:after{content:"";position:fixed;z-index:0;border-radius:50%;pointer-events:none;filter:blur(2px)}
.auth-page:before{width:320px;height:320px;right:-110px;top:-130px;background:rgba(83,101,237,.1)}
.auth-page:after{width:260px;height:260px;left:-110px;bottom:-130px;background:rgba(154,106,226,.09)}
.auth-shell{position:relative;z-index:1;width:min(100% - 32px,520px);min-height:100vh;min-height:100dvh;margin:auto;padding:48px 0;display:flex;flex-direction:column;justify-content:center}
.auth-shell>.brand{align-self:center;height:auto;margin:0 0 24px;padding:0}
.auth-shell>.brand img{display:block;width:244px;height:56px}
.auth-card{position:relative;padding:36px 38px;border:1px solid rgba(210,215,230,.92);border-radius:20px;background:rgba(255,255,255,.9);box-shadow:0 28px 75px rgba(43,52,91,.13),0 2px 8px rgba(43,52,91,.05);backdrop-filter:blur(18px)}
.auth-card .eyebrow{margin:0 0 12px;color:var(--primary);font-size:10px;font-weight:800;letter-spacing:1.7px;text-transform:uppercase}
.auth-card h1{margin:0 0 12px;color:var(--text);font:800 clamp(30px,6vw,42px)/1.08 Manrope;letter-spacing:-1.3px}
.auth-card>.muted{margin:0 0 25px;line-height:1.65}
.auth-card .muted{color:var(--muted);font-size:13px}
.auth-card form{display:grid;gap:16px}
.auth-card form label{gap:8px;margin:0;color:var(--text);font-size:12px;font-weight:700}
.auth-card form input{min-height:50px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#f8f9fc;color:var(--text);font-size:16px;transition:border-color .15s,box-shadow .15s,background .15s}
.auth-card form input:hover{border-color:#c8cde0;background:#fff}
.auth-card form input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px rgba(83,101,237,.11);outline:0}
.auth-card form input::placeholder{color:#667085;opacity:1}
.auth-card form input:autofill,.auth-card form input:-webkit-autofill{-webkit-text-fill-color:#182033!important;caret-color:#182033;box-shadow:0 0 0 1000px #f8f9fc inset!important}
.auth-card form input:autofill:focus,.auth-card form input:-webkit-autofill:focus{box-shadow:0 0 0 1000px #fff inset,0 0 0 4px rgba(83,101,237,.11)!important}
.auth-card .button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:0 20px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--text);font-size:14px;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}
.auth-card .button:hover{transform:translateY(-1px)}
.auth-card .button.primary{border-color:var(--primary);background:linear-gradient(135deg,#6474f1,#4f5fde);color:#fff;box-shadow:0 11px 22px rgba(83,101,237,.24)}
.auth-card form>.button{width:100%;margin-top:2px}
.auth-card .status{min-height:20px;margin:0;color:var(--muted);font-size:12px;text-align:center}
.auth-card .status.error{color:var(--red)}
.auth-card .status.success{color:var(--green)}
.auth-card .center{text-align:center}
.auth-card>p.center{margin:18px 0 0}
.auth-card a:not(.button){color:var(--primary);font-weight:700;text-underline-offset:3px}
.auth-card.center{display:grid;justify-items:center;gap:8px;padding-block:48px}
.auth-card.center h1{margin-bottom:18px;text-align:center}
.auth-card.center>.button{min-width:210px}
@media(max-width:760px){.mobile-brand{width:36px;height:36px;display:flex;align-items:center;justify-content:center;margin:0 auto 0 8px;border-radius:11px}.mobile-brand img{display:block;width:36px;height:36px}.sidebar>.brand img{width:184px;height:42px}}
@media(max-width:560px){.auth-shell{width:min(100% - 24px,520px);padding:24px 0}.auth-shell>.brand{margin-bottom:18px}.auth-shell>.brand img{width:218px;height:50px}.auth-card{padding:28px 22px;border-radius:17px}.auth-card h1{font-size:31px}.auth-card>.muted{margin-bottom:22px}.auth-card .button{min-height:52px}}

/* One self-contained sans-serif stack across marketing, authentication and the
   financial workspace. The important longhand intentionally overrides legacy
   `font` shorthands that referenced fonts no longer bundled by the runtime. */
html,body,button,input,select,textarea,body *{font-family:var(--font-sans)!important;font-variant-numeric:tabular-nums}

/* Financial filtering and accessible interaction states. */
.transaction-filter-toolbar{grid-template-columns:repeat(4,minmax(150px,1fr))}
.transaction-filter-toolbar label>span{display:block;margin-bottom:5px;font-size:12px;color:var(--muted);font-weight:600}
.transaction-filter-toolbar .financial-search{grid-column:span 2}
.transaction-filter-toolbar input,.transaction-filter-toolbar select{min-height:44px}
.filter-toggle{min-height:44px;flex-direction:row;align-items:center;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--text);font-size:12px}
.filter-toggle input{width:17px;height:17px;flex:none;accent-color:var(--primary)}
.transaction-filter-toolbar>small{grid-column:span 2;justify-content:flex-start}
.calendar-day{min-height:174px}.calendar-event{width:100%;min-height:44px;border:0;text-align:left;cursor:pointer;font-size:12px}
.calendar-event:hover,.calendar-event:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.btn[aria-busy="true"]:after,.button[aria-busy="true"]:after{content:"";width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:clarity-spin .7s linear infinite}
@keyframes clarity-spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.transaction-filter-toolbar{grid-template-columns:repeat(2,minmax(140px,1fr))}.transaction-filter-toolbar .financial-search{grid-column:1/-1}}
@media(max-width:520px){.transaction-filter-toolbar{grid-template-columns:1fr}.transaction-filter-toolbar .financial-search,.transaction-filter-toolbar>small{grid-column:1}}

/* Server-backed parity surfaces: transfers, recurrences and financial structure. */
.cashflow-operations{display:grid;gap:18px;margin-top:18px}.recommendation-list{padding:4px 20px 18px}.recommendation-list>h3{font-size:12px;margin:0 0 9px}.recommendation{width:100%;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 12px;border:1px solid rgba(83,101,237,.25);border-radius:10px;background:rgba(83,101,237,.06);color:var(--text);text-align:left;cursor:pointer}.recommendation+ .recommendation{margin-top:7px}.recommendation span{display:grid;gap:3px}.recommendation b,.recommendation strong{font-size:12px}.recommendation small{font-size:12px;color:var(--muted)}
.recurring-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:4px 20px 20px}.recurring-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:15px;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}.recurring-card.inactive{opacity:.68}.recurring-card h3{margin:8px 0 3px;font-size:13px}.recurring-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.recurring-card>strong{align-self:center;font-size:13px}.recurring-card .row-actions{grid-column:1/-1}.tag-picker{margin:0;padding:12px;border:1px solid var(--line);border-radius:9px}.tag-picker legend{padding:0 5px;color:var(--muted);font-size:12px;font-weight:700}.tag-picker label{min-height:36px;display:inline-flex;flex-direction:row;align-items:center;margin-right:12px;color:var(--text);font-size:12px}.tag-picker input{width:17px;height:17px;accent-color:var(--primary)}
.structure-management{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;margin-bottom:18px}.structure-resource-list{padding:0 20px 18px}.structure-resource{min-height:58px;display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:11px;padding:9px 0;border-top:1px solid var(--line)}.structure-resource:first-child{border-top:0}.structure-resource b,.structure-resource small{display:block}.structure-resource b{font-size:12px}.structure-resource small{margin-top:3px;color:var(--muted);font-size:12px}.structure-color{width:12px;height:30px;border-radius:7px;background:var(--resource-color,#64748b)}.tag-management{display:flex;flex-wrap:wrap;gap:8px;padding:4px 20px 20px}.tag-chip{min-height:44px;display:flex;align-items:center;gap:7px;padding:5px 8px;border:1px solid var(--line);border-radius:9px;background:var(--panel2)}.tag-chip .structure-color{width:8px;height:24px}.tag-chip b{font-size:12px}.tag-chip button{width:32px;height:32px;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer}.tag-chip button:hover{background:var(--panel);color:var(--primary)}.project-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:4px 20px 20px}.project-resource{padding:16px;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}.project-resource header{display:flex;align-items:center;gap:8px}.project-resource header>b{font-size:13px}.project-resource>strong{display:block;margin:16px 0 9px;font-size:18px}.project-resource>small{display:block;margin:7px 0 14px;color:var(--muted);font-size:12px}.project-report-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:16px 0}.project-report-kpis>div{padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--panel2)}.project-report-kpis span,.project-report-kpis b{display:block}.project-report-kpis span{color:var(--muted);font-size:12px}.project-report-kpis b{margin-top:5px;font-size:13px}.project-s-chart{height:270px;border:1px solid var(--line);border-radius:10px;padding:8px}.project-s-chart canvas{width:100%;height:100%}.reconciliation-unavailable{margin-bottom:18px}
@media(max-width:980px){.structure-management{grid-template-columns:1fr}.project-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.recurring-grid,.project-resource-grid{grid-template-columns:1fr}.recurring-card{grid-template-columns:1fr}.structure-resource{grid-template-columns:12px minmax(0,1fr)}.structure-resource .row-actions{grid-column:2}.project-report-kpis{grid-template-columns:1fr}.cashflow-operations .data-table{min-width:760px}}

.card-lifecycle-actions,.card-detail-actions{display:flex;flex-wrap:wrap;gap:8px;padding:14px 18px 18px}.card-detail-actions{padding:0 0 16px}.lifecycle-section{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.lifecycle-section>h3{margin:0 0 9px;font-size:13px}.lifecycle-row{min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--line)}.lifecycle-row:first-of-type{border-top:0}.lifecycle-row b,.lifecycle-row small{display:block}.lifecycle-row b{font-size:12px}.lifecycle-row small{margin-top:3px;color:var(--muted);font-size:12px}.lifecycle-row>strong{font-size:12px}.loan-actions{display:flex!important;flex-wrap:wrap}.loan-actions .btn{min-height:44px}.modal-panel:has(.lifecycle-section),.modal-panel:has(.schedule-scroll){width:min(900px,100%)}
@media(max-width:620px){.lifecycle-row{grid-template-columns:1fr auto}.lifecycle-row .row-actions,.lifecycle-row>button{grid-column:1/-1}.card-lifecycle-actions .btn,.card-detail-actions .btn{flex:1 1 160px}.loan-actions .btn{flex:1 1 160px}}

/* Tenant members, billing workflows, PWA preferences and the bounded utilities shell. */
.team-error{margin-top:18px}.team-directory,.team-invitations,.billing-invoices{margin-top:18px;overflow:hidden}.team-directory .data-table small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.team-directory .table-card,.team-invitations .table-card,.billing-invoices .table-card{border:0;border-radius:0}.provider-unavailable{margin-bottom:18px}.provider-redirect{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}.provider-redirect>span{grid-row:span 2;width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:rgba(83,101,237,.1);color:var(--primary);font-size:20px}.provider-redirect p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.provider-redirect code{font-size:12px;word-break:break-all}.quote-result{display:grid;gap:10px;margin-top:18px;padding:15px;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}.quote-result h3{margin:0;font-size:15px}.quote-result>div{display:flex;justify-content:space-between;gap:15px;font-size:12px}.quote-result>.btn{justify-content:center}.billing-plan.overdue{border-color:rgba(236,93,104,.5)}
.plan-choice{display:grid;gap:9px;margin:18px 0;padding:0;border:0}.plan-choice legend{margin-bottom:8px;font-size:12px;font-weight:800}.plan-choice label{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:62px;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);cursor:pointer}.plan-choice label:has(input:checked){border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.plan-choice input{width:18px;height:18px;accent-color:var(--primary)}.plan-choice b,.plan-choice small{display:block}.plan-choice b{font-size:13px}.plan-choice small{margin-top:3px;color:var(--muted);font-size:11px}.plan-choice strong{font-size:12px}.empty-feature.compact{min-height:230px;padding:24px}
.utility-contract-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.utility-bills-contract{grid-column:1/-1}.utility-contract-grid .empty{min-height:120px;display:grid;place-items:center;padding:24px;color:var(--muted);text-align:center}.utility-contract-grid button[disabled]{cursor:not-allowed;opacity:.55}.settings-device{padding-bottom:18px}.device-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:0 20px}.device-actions>span{color:var(--muted);font-size:12px}.settings-preferences form{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(200px,1fr) auto}.settings-language-note{grid-column:1/-1}
@media(max-width:1050px){.settings-preferences form{grid-template-columns:1fr 1fr}.settings-profile{grid-column:1/-1}.settings-language-note{grid-column:1/-1}}
@media(max-width:760px){.utility-contract-grid{grid-template-columns:1fr}.utility-bills-contract{grid-column:1}.team-directory .table-card,.team-invitations .table-card,.billing-invoices .table-card{overflow-x:auto}.team-directory .data-table,.team-invitations .data-table,.billing-invoices .data-table{min-width:720px}.settings-preferences form{grid-template-columns:1fr}.settings-profile,.settings-language-note{grid-column:1}.device-actions .btn{flex:1 1 160px}}

/* Server-owned utilities lifecycle. */
.utility-connections,.utility-bills{margin-top:18px}.utility-connections .provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.utility-connections .provider-card{grid-template-columns:40px minmax(0,1fr) auto;align-items:start}.utility-connections .provider-card .row-actions{grid-column:2/-1}.utility-bills>.card-head>label{display:grid;gap:4px;color:var(--muted);font-size:11px}.utility-bill-list{display:grid;gap:0}.utility-bill-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px 20px;border-top:1px solid var(--line)}.utility-bill-row:first-child{border-top:0}.utility-bill-row h3{margin:8px 0 4px;font-size:14px}.utility-bill-row p{margin:0;color:var(--muted);font-size:12px}.utility-bill-row>strong{align-self:center;font-size:14px}.utility-bill-row>.row-actions{grid-column:1/-1}.utility-documents{grid-column:1/-1;display:grid;gap:6px;padding-top:10px}.utility-documents>small{color:var(--muted);font-size:11px}.utility-documents>div{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;border:1px solid var(--line);border-radius:9px;background:var(--panel2)}.utility-documents p,.utility-documents b,.utility-documents small{display:block;margin:0}.utility-documents small{margin-top:3px;font-size:10px}.utility-documents .btn{min-height:36px}

/* Statement reconciliation workspace and server proposals. */
.reconciliation-workspace{display:grid;grid-template-columns:minmax(240px,.34fr) minmax(0,1fr);gap:18px}.reconciliation-side,.reconciliation-main{overflow:hidden}.reconciliation-source-list,.reconciliation-import-list{display:grid;padding:0 18px 18px}.reconciliation-source-list>div{padding:10px 0;border-top:1px solid var(--line)}.reconciliation-source-list>div:first-child{border-top:0}.reconciliation-source-list b,.reconciliation-source-list small{display:block}.reconciliation-source-list b{margin-top:5px;font-size:12px}.reconciliation-source-list small{margin-top:3px;color:var(--muted);font-size:10px}.reconciliation-import-list{gap:6px}.reconciliation-import-list>button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--text);text-align:left;cursor:pointer}.reconciliation-import-list>button.active{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.reconciliation-import-list b,.reconciliation-import-list small{display:block}.reconciliation-import-list b{font-size:11px}.reconciliation-import-list small{margin-top:3px;color:var(--muted);font-size:9px}.reconciliation-import-list i{color:var(--muted);font-size:9px;font-style:normal}.reconciliation-counters{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 14px}.reconciliation-counters>span{padding:7px 9px;border-radius:8px;background:var(--panel2);color:var(--muted);font-size:10px}.reconciliation-counters b{color:var(--text)}.reconciliation-filters{margin:0 20px 10px}.reconciliation-row-list{display:grid}.reconciliation-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px 20px;border-top:1px solid var(--line)}.reconciliation-row h3{margin:7px 0 3px;font-size:13px}.reconciliation-row p,.reconciliation-row small{display:block;margin:0;color:var(--muted);font-size:10px}.reconciliation-row>strong{align-self:center}.reconciliation-row>.row-actions,.match-suggestions{grid-column:1/-1}.match-suggestions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.match-suggestions>span{color:var(--muted);font-size:10px}.match-suggestions>button{min-height:36px;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--text);font-size:10px;cursor:pointer}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:15px;border-top:1px solid var(--line)}.pagination>span{color:var(--muted);font-size:11px}.match-candidates{display:grid;gap:7px;margin-top:16px}.match-candidates>button{min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--text);text-align:left;cursor:pointer}.match-candidates b,.match-candidates small{display:block}.match-candidates small{margin-top:3px;color:var(--muted);font-size:10px}
@media(max-width:980px){.reconciliation-workspace{grid-template-columns:1fr}.utility-connections .provider-grid{grid-template-columns:1fr}}
@media(max-width:620px){.utility-bill-row,.reconciliation-row{grid-template-columns:1fr}.utility-bill-row>strong,.reconciliation-row>strong{justify-self:start}.utility-documents>div{grid-template-columns:28px 1fr}.utility-documents .btn{grid-column:2}.reconciliation-main>.card-head{align-items:flex-start;flex-direction:column}.reconciliation-main>.card-head .row-actions{width:100%}.reconciliation-main>.card-head .btn{flex:1}.pagination{justify-content:space-between}.pagination>span{font-size:9px}}

/* Explainable account-scoped cashflow. */
.chart-controls{display:flex;align-items:end;flex-wrap:wrap;justify-content:flex-end;gap:9px}.forecast-account-picker{min-width:210px;gap:3px}.forecast-account-picker select{min-height:34px;padding:6px 9px;font-size:10px}.forecast-flow{padding:4px 20px 18px}.flow-equation{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);font-size:11px}.flow-equation span{color:var(--muted)}.flow-verification{margin:8px 0 12px;font-size:10px;line-height:1.45}.movement-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.movement-breakdown>div{display:flex;justify-content:space-between;gap:10px;padding:7px 9px;border:1px solid var(--line);border-radius:7px;font-size:10px}.movement-breakdown span{color:var(--muted)}.score-copy>small{display:block;margin-top:6px;color:var(--muted);font-size:9px}.health-card-list{align-items:flex-start}.account-health-list{display:grid;gap:5px;margin-top:8px}.account-health-list button{display:flex;justify-content:space-between;gap:10px;width:100%;padding:7px 8px;border:1px solid var(--line);border-radius:7px;background:var(--panel2);color:var(--text);font-size:10px;cursor:pointer}.forecast-explanations{margin-top:18px}.forecast-jumps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding:0 20px 16px}.forecast-jumps article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.forecast-jumps b,.forecast-jumps small{display:block}.forecast-jumps small{margin-top:3px;color:var(--muted);font-size:9px}.forecast-jumps strong{font-size:11px}.empty.compact{min-height:0;padding:18px}.forecast-breakdown{padding:12px 16px}.forecast-breakdown h3{margin:0 0 7px;color:var(--muted);font-size:10px}.forecast-breakdown>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line)}.forecast-breakdown b,.forecast-breakdown small{display:block}.forecast-breakdown b{font-size:11px}.forecast-breakdown small{margin-top:3px;color:var(--muted);font-size:9px}.cashflow-equation{margin:10px 0}.cashflow-equation .forecast-flow{padding:16px}.financial-toolbar .forecast-account-picker{flex:1}.recurring-allocations{display:grid;gap:9px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--panel2)}.recurring-allocation-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.recurring-allocation-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(100px,.6fr) minmax(90px,.5fr) auto;align-items:end;gap:8px;padding:9px 0;border-top:1px solid var(--line)}.recurring-allocation-row .btn{margin-bottom:1px}.recurring-allocations>small{color:var(--muted);font-size:9px;line-height:1.45}
@media(max-width:760px){.chart-card-head{align-items:flex-start;flex-direction:column}.chart-controls,.forecast-account-picker{width:100%}.forecast-jumps{grid-template-columns:1fr}.flow-equation{align-items:flex-start;flex-wrap:wrap}.recurring-allocation-row{grid-template-columns:1fr 1fr}.recurring-allocation-row .allocation-value-label{grid-column:1/-1}.recurring-allocation-row .btn{justify-self:start}.movement-breakdown{grid-template-columns:1fr}}

/* Tenant account identity. Values reach --account-color only after strict #RRGGBB normalization in app.js. */
.account-row.account-accent-row{padding-left:17px}
.forecast-breakdown>div.account-accent-row{padding-left:12px}
.account-row-colored .account-dot,.account-mini-dot,.account-identity>i{background:var(--account-color,#5365ED)!important}.account-accent-card{border-top:3px solid var(--account-color,#5365ED)!important}.account-accent-row{border-left:3px solid var(--account-color,#5365ED)!important}.account-identity{--account-color:#5365ED;display:inline-flex;align-items:center;gap:7px;min-width:0;color:var(--text);vertical-align:middle}.account-identity>i,.account-mini-dot{width:9px;height:9px;display:inline-block;flex:none;border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,var(--account-color) 14%,transparent)}.account-identity>span{min-width:0}.account-identity b,.account-identity small{display:block}.account-identity b{font-size:10px;font-weight:700}.account-identity small{margin-top:2px;color:var(--muted);font-size:8px}.account-identity-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.account-identity-list .account-identity{padding:4px 7px;border:1px solid var(--line);border-radius:999px;background:var(--panel)}.account-health-list .account-mini-dot{margin-right:6px}select[data-account-select]{border-left:6px solid var(--account-color,#5365ED);padding-left:8px}.account-color-field{margin:0;padding:12px;border:1px solid var(--line);border-radius:10px}.account-color-field legend{padding:0 6px;color:var(--muted);font-size:10px;font-weight:700}.account-color-palette{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:12px}.account-color-palette label{display:block;cursor:pointer}.account-color-palette input{position:absolute;width:1px;height:1px;opacity:0}.account-color-palette i{display:block;width:28px;height:28px;border:3px solid var(--panel);border-radius:50%;background:var(--account-color);box-shadow:0 0 0 1px var(--line)}.account-color-palette input:checked+i{box-shadow:0 0 0 3px var(--text)}.account-color-palette input:focus-visible+i{outline:3px solid rgba(83,101,237,.35);outline-offset:3px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.credit-card-visual .account-identity{margin-top:8px;color:#fff}.credit-card-visual .account-identity small{color:rgba(255,255,255,.75)}.credit-card-visual .account-identity>i{box-shadow:0 0 0 3px rgba(255,255,255,.18)}.loan-card-head .account-identity{margin-top:8px}.utility-bill-row.account-accent-card{border-top-width:3px}.reconciliation-source-list>.account-accent-row,.reconciliation-import-list>.account-accent-row{padding-left:10px}

.section-tabs{display:flex;gap:6px;width:max-content;margin:0 0 18px;padding:5px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.section-tabs button{display:flex;align-items:center;gap:7px;min-height:38px;padding:0 15px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:700 11px Manrope;cursor:pointer}.section-tabs button.active{background:var(--panel);color:var(--text);box-shadow:0 2px 8px rgba(15,23,42,.08)}.section-tabs button span{display:inline-grid;min-width:20px;height:20px;padding:0 5px;place-items:center;border-radius:999px;background:var(--line);font-size:9px}.recurring-tab-panel{padding:20px}.cashflow-period .cashflow-closing.neutral{color:var(--muted)}

.loan-direction-section{margin-bottom:26px}.loan-direction-section>header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 12px;padding:0 2px}.loan-direction-section>header>div{display:flex;align-items:center;gap:10px}.loan-direction-section>header span{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;font-size:17px}.loan-direction-section>header h2{margin:0;font:700 16px Manrope}.loan-direction-section>header p{margin:0;color:var(--muted);font-size:10px}.loan-direction-section.borrowed>header span{background:rgba(226,77,77,.12);color:var(--red)}.loan-direction-section.lent>header span{background:rgba(24,168,117,.12);color:var(--green)}.loan-card{position:relative;overflow:hidden}.loan-card.loan-borrowed{box-shadow:inset 4px 0 0 rgba(226,77,77,.75)}.loan-card.loan-lent{box-shadow:inset 4px 0 0 rgba(24,168,117,.75)}.loan-direction-strip{display:flex;align-items:center;gap:8px;margin:-20px -20px 18px;padding:9px 16px;font-size:9px;letter-spacing:.06em}.loan-direction-strip small{margin-left:auto;letter-spacing:0;color:inherit}.loan-borrowed .loan-direction-strip{background:rgba(226,77,77,.08);color:var(--red)}.loan-lent .loan-direction-strip{background:rgba(24,168,117,.08);color:var(--green)}.loan-direction-banner{display:flex;align-items:center;gap:12px;margin:0 0 20px;padding:14px 16px;border-radius:11px}.loan-direction-banner>span{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;background:rgba(255,255,255,.55);font-size:19px}.loan-direction-banner b{display:block;font:700 11px Manrope;letter-spacing:.04em}.loan-direction-banner p{margin:3px 0 0;font-size:10px}.loan-direction-banner>strong{margin-left:auto;font:700 16px Manrope;white-space:nowrap}.loan-direction-banner.borrowed{background:rgba(226,77,77,.1);color:var(--red)}.loan-direction-banner.lent{background:rgba(24,168,117,.1);color:var(--green)}.loan-closed-section{padding-top:20px;border-top:1px solid var(--line)}.loan-closed-section>header span{background:rgba(100,116,139,.12);color:var(--muted)}.loan-card.loan-closed{opacity:.78;filter:saturate(.55);box-shadow:inset 4px 0 0 var(--muted)}.loan-card.loan-closed .loan-direction-strip{background:rgba(100,116,139,.09);color:var(--muted)}.loan-closed-detail :is([data-installment-confirm],[data-installment-correct],[data-installment-defer]){display:none}

@media(max-width:760px){.section-tabs{width:100%}.section-tabs button{justify-content:center;flex:1}.loan-direction-section>header{align-items:flex-start;flex-direction:column;gap:5px}.loan-direction-banner{align-items:flex-start;flex-wrap:wrap}.loan-direction-banner>strong{width:100%;margin:4px 0 0 46px}.loan-direction-strip small{display:none}}

.salary-splits{margin:0 0 20px;padding:20px;border:1px solid rgba(24,168,117,.2);border-radius:14px;background:linear-gradient(135deg,rgba(24,168,117,.07),transparent 55%),var(--panel)}.salary-splits-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.salary-splits-head span{display:block;margin-bottom:5px;color:var(--green);font-size:9px;font-weight:800;letter-spacing:.1em}.salary-splits-head h2{margin:0;font:700 17px Manrope}.salary-splits-head p{margin:4px 0 0;color:var(--muted);font-size:10px}.salary-split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.salary-split-card{padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.salary-split-card.inactive{opacity:.68}.salary-split-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.salary-split-card h3{margin:7px 0 2px;font:700 14px Manrope}.salary-split-card header p{margin:0;color:var(--muted);font-size:9px}.salary-split-card header>strong{font:700 15px Manrope}.salary-split-parts{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin:14px 0}.salary-split-parts>i{font-style:normal;color:var(--muted)}.salary-split-parts>button{min-width:0;padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--text);text-align:left;cursor:pointer}.salary-split-parts>button:hover{border-color:var(--accent)}.salary-split-parts span,.salary-split-parts b,.salary-split-parts strong,.salary-split-parts small{display:block}.salary-split-parts span{color:var(--muted);font-size:8px}.salary-split-parts b{margin:5px 0 3px;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.salary-split-parts strong{color:var(--green);font:700 12px Manrope}.salary-split-parts small{margin-top:7px;color:var(--accent);font-size:8px}.salary-existing-fields,.salary-create-fields{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.salary-existing-fields>small,.salary-create-fields>small{display:block;margin-top:8px;color:var(--muted);font-size:9px}.salary-existing-fields[hidden],.salary-create-fields[hidden]{display:none}

@media(max-width:900px){.salary-split-grid{grid-template-columns:1fr}}@media(max-width:600px){.salary-splits-head{flex-direction:column}.salary-split-parts{grid-template-columns:1fr}.salary-split-parts>i{display:none}.salary-split-card>header{flex-direction:column}}

.category-breadcrumb{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px;max-width:100%;color:var(--text);vertical-align:middle}.category-breadcrumb>b{color:var(--muted);font-size:10px}.category-segment{display:inline-flex;align-items:center;gap:4px;min-width:0}.category-segment>i{display:inline-grid;width:20px;height:20px;flex:none;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--panel2);color:var(--accent);font-style:normal;font-size:10px}.category-segment>span{overflow:hidden;font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.category-breadcrumb.empty{color:var(--muted)}.category-breadcrumb.empty .category-segment>i{color:var(--muted)}.structure-resource .category-breadcrumb{margin-bottom:3px}.recurring-card .category-breadcrumb{margin-top:8px}.data-table .category-breadcrumb{max-width:260px}.data-table .category-segment>span{font-size:9px}

.category-combobox{position:relative;min-width:0}.category-combobox>label{display:block;margin-bottom:6px;color:var(--muted);font-size:10px;font-weight:700}.category-combobox-control{display:flex;align-items:center;gap:8px;min-height:42px;padding:4px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.category-combobox-control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(83,101,237,.12)}.category-combobox-control>.category-breadcrumb{max-width:42%}.category-combobox-control>.category-breadcrumb .category-segment:not(:last-of-type),.category-combobox-control>.category-breadcrumb>b{display:none}.category-combobox-control>input{min-width:80px;flex:1;padding:7px 0!important;border:0!important;background:transparent!important;box-shadow:none!important}.category-combobox-list{position:absolute;z-index:80;top:100%;right:0;left:0;max-height:280px;margin-top:5px;padding:5px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 16px 35px rgba(15,23,42,.18)}.category-combobox-list[hidden]{display:none}.category-combobox-list>button{display:flex;width:100%;min-height:38px;align-items:center;padding:7px 9px;border:0;border-radius:7px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.category-combobox-list>button:hover,.category-combobox-list>button.active{background:var(--panel2);outline:2px solid rgba(83,101,237,.15)}.category-combobox-list>button[aria-selected="true"]{background:rgba(83,101,237,.1)}.category-combobox-list>button[hidden]{display:none}.transaction-filter-toolbar .category-combobox{min-width:230px}.summary-row>.category-breadcrumb{justify-content:flex-end}.search-results .category-breadcrumb{margin-bottom:3px}

@media(max-width:600px){.category-combobox-list{position:fixed;top:auto;right:12px;bottom:74px;left:12px;max-height:48vh}.category-combobox-control>.category-breadcrumb{max-width:35%}.data-table .category-breadcrumb{max-width:190px}.category-breadcrumb{gap:3px}.category-segment>i{width:18px;height:18px}}
.category-segment.archived{color:var(--muted);text-decoration:line-through}.category-segment.archived>i{color:var(--muted)}.category-combobox-control>.category-breadcrumb .category-segment>span{display:none}.category-combobox-list>button:disabled{cursor:not-allowed;opacity:.62}

/* Unified content type and icon contract. The sidebar typography is deliberately
   outside this scope so the established navigation proportions do not change. */
:root{
 --type-content:15px;
 --type-table:13px;
 --type-form:14px;
 --type-label:12px;
 --type-secondary:12px;
 --type-title-sm:16px;
 --type-title-md:20px;
 --type-title-lg:26px;
 --type-content-floor:12px;
 --touch-target:44px;
 --icon-inline:20px;
 --icon-action:22px;
 --icon-category:22px;
 --icon-category-box:36px;
 --icon-category-feature:28px;
}
:is(.content,.modal-panel,.auth-card){font-size:var(--type-content);line-height:1.5}
:is(.content,.modal-panel,.auth-card) :where(span,b,strong){font-size:max(var(--type-content-floor),1em)!important}
:is(.content,.modal-panel,.auth-card) :where(p,li,dt,dd){font-size:var(--type-content)!important;line-height:1.5}
:is(.content,.modal-panel,.auth-card) :where(small,.muted,.subtitle,[class$="-note"],[class$="-meta"]){font-size:var(--type-secondary)!important;line-height:1.45}
:is(.content,.modal-panel,.auth-card) :where(label,legend,label>span){font-size:var(--type-label)!important;line-height:1.35}
:is(.content,.modal-panel,.auth-card) :where(input,select,textarea){min-height:var(--touch-target);font-size:var(--type-form)!important}
:is(.content,.modal-panel,.auth-card) :where(button,.btn,.button){min-height:var(--touch-target);font-size:var(--type-label)!important;line-height:1.25}
:is(.content,.modal-panel,.auth-card) :where(.data-table th){font-size:var(--type-label)!important;line-height:1.35}
:is(.content,.modal-panel,.auth-card) :where(.data-table td){font-size:var(--type-table)!important;line-height:1.45}
:is(.content,.modal-panel,.auth-card) :where(.pill,.badge,.eyebrow,.trend,.status,.currency,.amount,.date-box,.summary-row,.tabs button,.section-tabs button){font-size:var(--type-label)!important}
:is(.content,.modal-panel,.auth-card) :where(.account-badge,.bank-match,.breakdown-name,.chart-legend,.chart-tooltip,.connection-state,.correction-summary,.demo-hint,.expense-sort,.flow-equation,.flow-verification,.form-error,.health-mini>div,.kpi-top,.movement-breakdown>div,.period-options button>span,.project-period,.project-progress-copy,.project-progress-log>div,.reconciliation-formula,.reconciliation-status,.report-filter form>span,.report-legend,.report-note,.schedule-summary,.toast){font-size:var(--type-secondary)!important;line-height:1.45}
:is(.content,.modal-panel,.auth-card) :where(h1,.page-head h1){font-size:var(--type-title-lg)!important;line-height:1.2}
:is(.content,.modal-panel,.auth-card) h2{font-size:var(--type-title-md)!important;line-height:1.25}
:is(.content,.modal-panel,.auth-card) h3{font-size:var(--type-title-sm)!important;line-height:1.3}
:is(.content,.modal-panel) :where(.kpi strong,.account-balance b,.loan-card-head>strong,.loan-direction-banner>strong,.credit-card-visual>div:last-child b,.project-resource>strong){font-size:var(--type-title-md)!important}

/* Icon size scale: inline glyphs, action controls and hierarchical categories. */
.button-icon{display:inline-grid;width:var(--icon-action);height:var(--icon-action);flex:none;place-items:center;font-size:var(--icon-action)!important;line-height:1}
.icon-btn,.transaction-action,.modal-close,.category-picker-close{width:var(--touch-target);height:var(--touch-target);min-width:var(--touch-target);min-height:var(--touch-target);padding:0;display:inline-grid;place-items:center;font-size:var(--icon-action)!important;line-height:1}
.standard-icon-button{touch-action:manipulation}
.icon-btn svg,.transaction-action svg,.btn>svg,.button>svg{width:var(--icon-action);height:var(--icon-action);flex:none}
.transaction-action>span[aria-hidden="true"]{display:inline-grid;width:var(--icon-action);height:var(--icon-action);place-items:center;font-size:var(--icon-action)!important;line-height:1}
.content button,.modal-panel button{min-height:var(--touch-target)}
.kpi-icon,.alert-icon,.utility-security>span,.settings-rule>span{font-size:var(--icon-inline)!important}
.provider-icon,.loan-direction-section>header span,.loan-direction-banner>span{font-size:var(--icon-action)!important}
nav button span{font-size:var(--icon-inline);line-height:1}
.mobile-nav button span{font-size:var(--icon-action);line-height:1}
.mobile-nav .mobile-add span{font-size:var(--icon-category-feature)}

.category-icon,.category-picker-trigger>span,.category-segment>i{
 width:var(--icon-category-box);
 height:var(--icon-category-box);
 min-width:var(--icon-category-box);
 display:inline-grid;
 place-items:center;
 flex:none;
 font-size:var(--icon-category)!important;
 line-height:1;
}
.category-trigger-icon .category-icon,.structure-category .category-icon,.settings-subcategory .category-icon{width:var(--icon-category-box);height:var(--icon-category-box);font-size:var(--icon-category)!important}
.category-picker-trigger{grid-template-columns:var(--icon-category-box) minmax(0,1fr) auto;min-height:var(--touch-target)}
.category-picker-choice{grid-template-columns:var(--icon-category-box) minmax(0,1fr) 24px;min-height:52px}
.category-picker-choice>.category-icon,.category-picker-choice>span{font-size:var(--icon-category)!important}
.category-combobox-list>button{min-height:var(--touch-target)}
.category-icon-option{min-height:64px}
.category-icon-option span{font-size:var(--icon-category-feature)!important}
.settings-category-root{grid-template-columns:var(--touch-target) minmax(0,1fr) var(--touch-target) var(--touch-target)}
.settings-subcategory{grid-template-columns:var(--icon-category-box) minmax(0,1fr) var(--touch-target)}
.settings-category-root .icon-btn,.settings-subcategory .icon-btn,.tag-chip button{width:var(--touch-target);height:var(--touch-target);min-width:var(--touch-target);min-height:var(--touch-target)}

@media(max-width:760px){
 :root{--type-content:15px;--type-table:14px;--type-form:16px;--type-label:13px;--type-secondary:13px;--type-title-sm:17px;--type-title-md:20px;--type-title-lg:24px;--icon-inline:22px;--icon-action:24px;--icon-category:24px;--icon-category-box:40px;--icon-category-feature:30px}
 :is(.content,.modal-panel,.auth-card){line-height:1.55}
 .category-picker-choice{min-height:58px}
 .category-icon-option{min-height:68px}
 .mobile-nav button span{font-size:var(--icon-action)}
}

/* Ledger search: one compact primary row and a bounded advanced filter panel. */
.transaction-filter-toolbar{display:flex!important;flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px 11px;margin-bottom:16px;overflow:visible}
.transaction-filter-simple{display:grid;width:100%;grid-template-columns:minmax(360px,1fr) max-content max-content;align-items:center;gap:9px}
.transaction-filter-simple .financial-search{position:relative;display:block;grid-column:auto;min-width:0;margin:0}
.transaction-filter-simple .financial-search>.search-field-icon{position:absolute;z-index:1;top:50%;left:15px;display:grid;width:20px;height:20px;place-items:center;transform:translateY(-50%);color:var(--muted);font-size:20px;font-style:normal;line-height:1;pointer-events:none}
.transaction-filter-simple .financial-search>input{width:100%;height:44px;min-height:44px;padding:0 15px 0 46px;border-radius:10px;background:var(--panel2);font-size:14px}
.transaction-visibility{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.transaction-visibility .filter-toggle{display:inline-flex;height:44px;min-height:44px;align-items:center;gap:8px;padding:0 13px;border-radius:10px;white-space:nowrap;cursor:pointer}
.transaction-visibility .filter-toggle>span{display:inline;margin:0;color:var(--text);font-size:14px;font-weight:700}
.transaction-visibility .filter-toggle:has(input:checked){border-color:color-mix(in srgb,var(--primary) 42%,var(--line));background:color-mix(in srgb,var(--primary) 9%,var(--panel2))}
.transaction-advanced-toggle{height:44px;min-height:44px;justify-content:center;padding-inline:14px;border-radius:10px;white-space:nowrap}
.transaction-advanced-chevron{transition:transform .18s ease}.transaction-advanced-toggle[aria-expanded="true"] .transaction-advanced-chevron{transform:rotate(180deg)}
.filter-count{display:grid;min-width:22px;height:22px;padding:0 6px;place-items:center;border-radius:999px;background:var(--primary);color:#fff;font-size:11px}
.transaction-filter-advanced{position:relative;z-index:1;display:grid;width:100%;box-sizing:border-box;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:14px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);box-shadow:inset 3px 0 0 color-mix(in srgb,var(--primary) 72%,transparent)}
.transaction-filter-advanced.hidden{display:none}
.transaction-filter-advanced-head{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;gap:16px;padding-bottom:2px}
.transaction-filter-advanced-head strong,.transaction-filter-advanced-head small{display:block}.transaction-filter-advanced-head strong{font-size:14px}.transaction-filter-advanced-head small{margin-top:3px;color:var(--muted);font-size:12px}.transaction-filter-advanced-head .btn{min-height:38px;padding:7px 12px}
.transaction-filter-advanced>label,.transaction-filter-advanced>.category-combobox{display:grid;min-width:0;gap:6px;margin:0}
.transaction-filter-advanced>label>span,.transaction-filter-advanced>.category-combobox>label{margin:0;color:var(--muted);font-size:12px;font-weight:700}
.transaction-filter-advanced input,.transaction-filter-advanced select{width:100%;height:46px;min-height:46px;border-radius:9px;background:var(--panel)}
.transaction-filter-advanced .category-combobox-control{height:46px;min-height:46px;flex-wrap:nowrap;padding:3px 9px;overflow:hidden;border-radius:9px}
.transaction-category-filter .category-combobox-control>.category-breadcrumb{width:36px;max-width:36px;flex:0 0 36px;overflow:hidden}
.transaction-category-filter .category-combobox-control>input{width:0;min-width:0;height:38px;min-height:0;padding:0 2px!important;font-size:14px}
.transaction-category-filter .category-combobox-list{min-width:300px;overflow:auto}
.transaction-filter-summary{display:block;width:100%;padding:0 2px;color:var(--muted);font-size:12px;line-height:1.4}

/* Tag color is supplied by finance.structure and normalized before reaching the variable. */
.tag-label-list{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:5px}
.tag-label{--tag-color:#64748B;display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:4px 8px;border:1px solid color-mix(in srgb,var(--tag-color) 34%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--tag-color) 11%,var(--panel));color:var(--text);vertical-align:middle}
.tag-label>i{width:10px;height:10px;flex:none;border-radius:50%;background:var(--tag-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--tag-color) 14%,transparent)}
.tag-label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tag-picker label{gap:7px;margin-bottom:7px}.tag-picker .tag-label{margin-left:2px}
.tag-chip>.tag-label{flex:1}
select[data-tag-select]{border-left:6px solid var(--tag-color,#64748B);padding-left:8px}
.summary-row>.tag-label-list{justify-content:flex-end;margin-top:0}
.recurring-card>.tag-label-list,.recurring-card .category-breadcrumb+.tag-label-list{margin-top:8px}

@media(max-width:1180px){
 .transaction-filter-simple{grid-template-columns:1fr auto}
 .transaction-filter-simple .financial-search{grid-column:1/-1}
}
@media(max-width:980px){
 .transaction-filter-advanced{grid-template-columns:repeat(2,minmax(140px,1fr))}
}
@media(max-width:600px){
 .transaction-filter-simple,.transaction-filter-advanced{grid-template-columns:1fr}
 .transaction-filter-simple .financial-search{grid-column:1}
 .transaction-visibility{display:grid;grid-template-columns:1fr 1fr}
 .transaction-visibility .filter-toggle{justify-content:center;padding-inline:10px}
 .transaction-advanced-toggle{width:100%;justify-content:center}
 .transaction-filter-advanced-head{align-items:flex-start;flex-direction:column}.transaction-filter-advanced-head .btn{width:100%;justify-content:center}
 .transaction-category-filter .category-combobox-list{min-width:0}
 .tag-label-list{gap:5px}
}

/* Cashflow forecast: preserve readable equations and circular health scores. */
.score-ring{min-width:84px;aspect-ratio:1;flex:none}
.score-copy{min-width:0}
.health-card-list{display:block}
.health-card-list-head{display:flex;align-items:center;gap:18px}
.account-health-list{margin-top:12px}
.account-health-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;text-align:left}
.account-health-list button>span{display:flex;align-items:center;min-width:0}
.account-health-list button>span>span{min-width:0;overflow-wrap:anywhere}
.account-health-list button>b{white-space:nowrap}
.flow-equation{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center}
.flow-equation-term{min-width:0}
.flow-equation-term>span{display:block;margin-bottom:2px;font-size:8px}
.flow-equation-term>b{display:block;white-space:nowrap}
.flow-equation>i{font-style:normal;color:var(--muted)}

@media(max-width:760px){
 .health-card-list-head{align-items:flex-start}
 .health-card-list .score-ring{width:68px;height:68px;min-width:68px}
 .flow-equation{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .flow-equation>i{display:none}
 .flow-equation-term{padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--panel)}
 .flow-equation-term.income>span:before{content:'+ '}
 .flow-equation-term.payments>span:before{content:'− '}
 .flow-equation-term.closing>span:before{content:'= '}
}

/* Financial structure: keep headings, hierarchy and actions inside narrow viewports. */
.structure-management,.structure-management>.card,.structure-resource-list,.structure-resource,.structure-resource>div{min-width:0}
.structure-management .card-head>div{min-width:0}
.structure-management .card-head p{max-width:100%;overflow-wrap:anywhere}
.structure-resource .category-breadcrumb{display:flex;min-width:0}

@media(max-width:900px){
 .content:has(.structure-management)>.page-head{display:block;min-width:0}
 .content:has(.structure-management)>.page-head h1{max-width:100%;font-size:clamp(24px,5vw,32px)!important;overflow-wrap:anywhere}
 .content:has(.structure-management)>.page-head p{display:block!important;max-width:100%;margin-top:8px;overflow-wrap:anywhere}
 .structure-management .card-head{align-items:flex-start;flex-wrap:wrap;gap:12px}
 .structure-management .card-head>div{flex:1 1 260px}
 .structure-resource{grid-template-columns:12px minmax(0,1fr)}
 .structure-resource .row-actions{grid-column:2;display:flex;flex-wrap:wrap}
}

@media(max-width:520px){
 .structure-management .card-head{padding:16px}
 .structure-resource-list{padding:0 16px 16px}
 .structure-resource .category-breadcrumb{align-items:flex-start}
 .structure-resource .category-segment{max-width:100%}
 .structure-resource .category-segment>span{white-space:normal;overflow-wrap:anywhere}
 .structure-resource .row-actions .btn{flex:1 1 120px;justify-content:center}
}

/* Accent convention: rows use a left bar, cards a top bar, compact labels a dot. */
.resource-accent-row{border-left:3px solid var(--resource-color,#64748b)}
.structure-resource.resource-accent-row{grid-template-columns:minmax(0,1fr) auto;padding-left:12px}

@media(max-width:900px){
 .structure-resource.resource-accent-row{grid-template-columns:minmax(0,1fr)}
 .structure-resource.resource-accent-row .row-actions{grid-column:1}
}

/* The forecast card may be narrow inside a wide dashboard; react to the card, not the viewport. */
.cashflow-equation{container-type:inline-size;container-name:cashflow-equation}
@container cashflow-equation (max-width:720px){
 .flow-equation{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .flow-equation>i{display:none}
 .flow-equation-term{padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--panel)}
 .flow-equation-term.income>span:before{content:'+ '}
 .flow-equation-term.payments>span:before{content:'− '}
 .flow-equation-term.closing>span:before{content:'= '}
}
