:root{--ground:#f2f4f7;--surface:#fff;--raised:#f7f8fa;--border:#e4e7eb;--rule:#edf0f3;--control:#ced3d9;--text:#141414;--muted:#626770;--faint:#6c727b;--primary:#17191c;--accent:#1d5fbf;--positive:#23734e;--negative:#b42318;--warning:#87580e;--radius-card:8px;--radius-control:6px;--gap:16px;--font:Geist,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--fs-title:24px;--fs-section:16px;--fs-body:14px;--fs-small:12px;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--text);font:400 var(--fs-body)/1.5 var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none;text-underline-offset:3px}a:hover{text-decoration:underline}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:#d8e5f9;color:#102c54}input,textarea{caret-color:var(--accent)}h1,h2,h3,p{margin:0}h1{font-size:24px;font-weight:500;line-height:1.25;letter-spacing:-.025em}h2{font-size:16px;font-weight:500;line-height:1.4;letter-spacing:-.012em}h3{font-size:14px;font-weight:500}small,.small{font-size:12px}.muted{color:var(--muted)}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.num.positive{color:var(--positive)}.risk{color:var(--negative)}.strong{font-weight:600}.right{text-align:right}.nowrap{white-space:nowrap}.mono{font-family:ui-monospace,SFMono-Regular,monospace}.skip-link{position:fixed;left:16px;top:-60px;z-index:100;background:var(--primary);color:#fff;padding:12px}.skip-link:focus{top:12px}.boot{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.loading-mark{width:12px;height:12px;border-radius:50%;border:2px solid var(--control);border-top-color:var(--text);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.topbar{height:68px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--ground);z-index:20}.topbar-inner{max-width:1256px;padding:0 24px;margin:auto;height:100%;display:flex;gap:32px;align-items:center}.brand{display:flex;align-items:center;gap:10px;flex:none}.brand img{width:30px;height:30px}.brand strong{font-size:16px;font-weight:600;letter-spacing:-.035em}.brand span{font-size:12px;color:var(--muted);display:block;line-height:1.2}.nav{display:flex;height:100%;align-items:center;gap:6px;flex:1}.nav-button{height:34px;border:0;background:transparent;color:var(--muted);padding:0 12px;border-radius:6px;white-space:nowrap;font-weight:500}.nav-button:hover{color:var(--text);background:#e8ebef}.nav-button.active{background:#e5e8ed;color:var(--text)}.top-actions{display:flex;align-items:center;gap:12px}.avatar{width:32px;height:32px;display:grid;place-items:center;background:#e1e5eb;border-radius:50%;font-size:12px;font-weight:500}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:7px;border:1px solid transparent;background:transparent;border-radius:6px;color:var(--muted);position:relative}.icon-button:hover{background:#e5e8ed;color:var(--text)}svg.icon{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.notification-dot{position:absolute;top:5px;right:7px;width:6px;height:6px;background:var(--negative);border-radius:50%;border:1px solid var(--ground)}.user-button{display:flex;gap:8px;align-items:center;background:none;border:0;padding:0}.user-label{font-size:12px;line-height:1.25;text-align:left}.menu-wrap{position:relative}.menu{position:absolute;top:42px;right:0;width:230px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px;box-shadow:0 8px 24px #14141414;z-index:30}.menu button{display:flex;align-items:center;gap:10px;padding:10px;width:100%;background:none;border:0;text-align:left;border-radius:4px;color:var(--text)}.menu button:hover{background:var(--raised)}.menu-rule{height:1px;background:var(--border);margin:6px}.mobile-menu{display:none}.workspace{max-width:1256px;padding:28px 24px 40px;margin:0 auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.page-head p{color:var(--muted);font-size:12px;margin-top:7px}.head-actions{display:flex;gap:8px;align-items:center}.environment{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px}.environment i{width:5px;height:5px;border-radius:50%;background:#8b919a}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border:1px solid var(--control);border-radius:6px;padding:7px 13px;background:var(--surface);color:var(--text);font-weight:500;line-height:1.3;white-space:nowrap}.btn:hover{background:var(--raised);border-color:#b6bdc6;text-decoration:none}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:#34383e}.btn.ghost{background:transparent;border-color:transparent;padding:6px 8px}.btn.ghost:hover{background:#e7eaf0}.btn.danger{color:var(--negative);background:#fff}.btn.small{font-size:12px;min-height:30px;padding:5px 10px}.text-button{border:0;background:none;padding:0;color:var(--text);font-size:12px;font-weight:500;display:inline-flex;align-items:center;gap:5px}.text-button:hover{text-decoration:underline;text-underline-offset:3px}.pill{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;flex:none;border-radius:4px;padding:3px 7px;background:#eef0f3;color:#464c55;font-size:11px;line-height:1.35;font-weight:500}.pill.warn{background:#fff4df;color:#80520c}.pill.good{background:#e6f3ea;color:#205c3b}.pill.bad{background:#ffedea;color:#9a2119}.pill.outline{border:1px dashed var(--control);background:transparent}.panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:0}.panel-head{padding:18px 20px;display:flex;justify-content:space-between;gap:12px;align-items:center}.panel-head p{font-size:12px;color:var(--muted);margin-top:3px}.panel-body{padding:0 20px 20px}.divider{height:1px;background:var(--rule)}.empty{padding:30px 20px;color:var(--muted);font-size:13px;text-align:center}.empty p{margin-bottom:12px}.notice{padding:11px 14px;border:1px solid var(--border);border-radius:6px;background:var(--raised);color:var(--muted);font-size:12px;margin-bottom:18px}.notice.warn{background:#fff8eb;color:#815513;border-color:#eed8aa}.notice.error{color:var(--negative);background:#fff4f1;border-color:#f0c8c1}.notice:empty{display:none}.notice p+p{margin-top:5px}.section-gap{margin-top:20px}.stack{display:grid;gap:16px}.inline{display:flex;align-items:center;gap:10px}.space-between{justify-content:space-between}.wrap{flex-wrap:wrap}
/* Canvas: 1208px = 284px accounts + 16px gutter + 908px work area. */
[hidden]{display:none!important}.directory-form{max-width:800px}.form-grid>.full{grid-column:1/-1}.detail-list{display:grid;grid-template-columns:minmax(120px,.4fr) minmax(0,1fr);gap:14px 20px;margin:0;font-size:13px}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;overflow-wrap:anywhere}.attachment{display:block;font-size:13px;padding:8px 0}.reference-fields{min-width:0}.reference-fields select{width:100%;min-width:0;text-overflow:ellipsis}.directory-columns{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.5fr);gap:20px}.directory-section-head{margin-bottom:14px;gap:12px}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.settlement-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:24px 0}.settlement-totals>div{min-width:0}.settlement-totals strong{display:block;font-size:22px;font-weight:500;letter-spacing:-.025em;margin-top:6px}.directory-filters{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:16px;align-items:end;padding:18px 20px}.directory-filters .reference-fields.full{grid-column:auto}.directory-tabs{margin-bottom:18px}.allocation-line{padding:14px 0;border-bottom:1px solid var(--rule)}.allocation-line .remove-allocation{justify-self:end;align-self:end}.menu{max-height:calc(100vh - 95px);overflow-y:auto}
@media(max-width:1100px){.settlement-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-columns{grid-template-columns:minmax(0,1fr)}.directory-filters{grid-template-columns:minmax(0,1fr)}.directory-filters .reference-fields.full{grid-column:1/-1}.directory-filters>.btn{justify-self:start}}
@media(max-width:760px){.settlement-totals{gap:20px 12px}.settlement-totals strong{font-size:19px}.directory-section-head{align-items:flex-start;flex-wrap:wrap}.directory-filters{padding:16px}.directory-tabs{overflow-x:auto}.directory-tabs .tab{white-space:nowrap}.head-actions{flex-wrap:wrap}.directory-columns .table-wrap{max-width:100%}}
.overview-grid{display:grid;grid-template-columns:284px minmax(0,1fr);gap:16px;align-items:start}.accounts-panel{padding:20px}.balance-label{font-size:12px;color:var(--muted)}.balance-number{font-size:27px;font-weight:600;letter-spacing:-.04em;margin-top:6px;line-height:1.25}.balance-number .currency{font-size:19px;font-weight:400;color:var(--muted);margin-left:3px}.accounts-heading{display:flex;justify-content:space-between;align-items:center;margin-top:25px;margin-bottom:12px;font-size:12px;color:var(--muted)}.account-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;font-size:12px}.account-row .account-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-row .num{font-size:12px}.account-row.zero{color:var(--muted)}.account-kind{margin-top:17px;padding-top:14px;border-top:1px solid var(--rule);font-size:11px;color:var(--muted)}.account-foot{margin-top:18px;padding-top:14px;border-top:1px solid var(--rule);font-size:11px;color:var(--muted);line-height:1.6}.account-foot a{font-weight:500;color:var(--text)}.overview-main{display:grid;gap:16px}.forecast-panel .panel-head{align-items:flex-start}.forecast-number{font-size:26px;font-weight:600;letter-spacing:-.035em;line-height:1.2;margin-top:7px}.forecast-key{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:0 20px}.forecast-secondary{font-size:12px;text-align:right;color:var(--muted)}.forecast-secondary .num{display:block;color:var(--text);font-weight:500;font-size:15px;margin-top:3px}.chart-wrap{padding:8px 12px 0 8px;min-width:0}.chart{display:block;width:100%;height:180px;overflow:visible}.chart text{fill:var(--muted);font:11px var(--font);font-variant-numeric:tabular-nums}.chart-grid{stroke:var(--border);stroke-width:1;stroke-dasharray:3 4}.chart-line{stroke:var(--accent);stroke-width:2;fill:none;stroke-linejoin:round}.chart-baseline{stroke:#b9c0c9;stroke-width:1}.chart-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px 15px;font-size:11px;color:var(--muted)}.dot-key{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;margin-right:5px}.overview-bottom{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.work-list{padding:0 20px 8px}.work-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--rule)}.work-row:first-child{border-top:0;padding-top:0}.work-title{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.work-meta{color:var(--muted);font-size:11px;margin-top:5px}.work-value{text-align:right;display:grid;gap:5px;justify-items:end}.work-value .num{font-size:13px}.panel-bottom{padding:12px 20px;border-top:1px solid var(--rule);font-size:12px;display:flex;align-items:center;justify-content:space-between}.profit-note{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.profit-note p{font-size:12px;color:var(--muted);margin-top:3px}.profit-note .num{font-size:19px;font-weight:500}.back-link{margin-bottom:16px;display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.tabs{display:flex;gap:3px;align-items:center;overflow:auto;max-width:100%;scrollbar-width:thin}.tab{padding:7px 11px;border:0;border-radius:5px;background:transparent;color:var(--muted);white-space:nowrap;font-size:12px;font-weight:500}.tab.active{background:#e3e7ec;color:var(--text)}.tab:hover{color:var(--text)}.search{display:flex;gap:8px;align-items:center}.search input{width:220px}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filters input,.filters select{width:auto;min-height:34px;padding:5px 9px;font-size:12px}.table-wrap{overflow:auto;border-radius:8px;max-width:100%}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:var(--muted);font-weight:400;font-size:11px;padding:12px 16px;white-space:nowrap;border-bottom:1px solid var(--border)}td{padding:13px 16px;border-bottom:1px solid var(--rule);vertical-align:middle}tbody tr:last-child td{border-bottom:0}td.num,th.num{text-align:right}td .subline{display:block;color:var(--muted);font-size:11px;margin-top:3px}.row-click{cursor:pointer}.row-click:hover td{background:#fafbfc}.table-title{font-weight:500;max-width:340px}.table-footer{padding:12px 16px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:18px 0;margin-bottom:20px}.metric{padding:0 20px;border-right:1px solid var(--border)}.metric:last-child{border-right:0}.metric-label{font-size:12px;color:var(--muted)}.metric-value{font-size:23px;font-weight:500;letter-spacing:-.03em;margin-top:7px}.metric-value .currency{font-size:16px;color:var(--muted)}
.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.detail-summary{padding:22px}.detail-sum{font-size:30px;font-weight:600;letter-spacing:-.035em;margin:14px 0}.kv{display:grid;grid-template-columns:180px 1fr;gap:13px;font-size:13px;padding:10px 0}.kv dt{color:var(--muted)}.kv dd{margin:0}.detail-form{padding:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field>label,.field-label{font-size:12px;font-weight:500}.field small{color:var(--muted);font-size:11px}input,select,textarea{width:100%;border:1px solid var(--control);background:var(--surface);padding:10px 11px;border-radius:6px;min-height:40px;color:var(--text)}input::placeholder,textarea::placeholder{color:var(--faint);opacity:1}textarea{min-height:88px;resize:vertical}input[type=checkbox]{width:16px;min-height:16px;margin:0}input[type=file]{font-size:12px;padding:8px}.checkbox-field{display:flex;align-items:center;gap:9px;font-size:12px}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:22px;padding-top:18px;border-top:1px solid var(--rule)}.form-error{margin-top:12px;font-size:12px;color:var(--negative)}.form-error:empty{display:none}.form-width{max-width:760px;margin:0 auto}.installment{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px;background:var(--raised);border-radius:6px;margin:12px 0}.installment .field{gap:5px}.installment .field>label{font-size:11px}.installment input,.installment select{font-size:12px;padding:8px;min-height:36px}.timeline{padding:0 20px 20px}.timeline-row{padding:13px 0;border-top:1px solid var(--rule);font-size:12px}.timeline-row:first-child{border-top:0}.timeline-row p{color:var(--muted);margin-top:4px;font-size:11px}.file-list{display:grid;gap:8px}.file-link{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;background:var(--raised);border-radius:5px;font-size:12px}.file-link span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:260px}.payment-line{padding:14px 20px;border-top:1px solid var(--rule);font-size:12px}.payment-line .inline{margin-bottom:5px}.payment-line .muted{font-size:11px}.payment-actions{display:flex;gap:8px;margin-top:10px}.expense-line{padding:12px 0;border-top:1px solid var(--rule)}.expense-line p{margin-bottom:6px}
.calendar-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.date-switch{display:flex;align-items:center;gap:10px}.date-switch strong{font-weight:500;min-width:180px;text-align:center;font-size:13px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}.calendar-head{padding:12px;border-right:1px solid var(--rule);border-bottom:1px solid var(--border);font-size:11px;color:var(--muted)}.calendar-head.today{color:var(--accent)}.calendar-day{padding:12px 8px;min-height:210px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);min-width:0}.calendar-day:nth-child(7n){border-right:0}.calendar-day.weekend{background:#fafbfc}.calendar-day.today{background:#f6f9fe}.calendar-day.month{min-height:120px}.day-number{font-size:12px;color:var(--muted);margin-bottom:10px}.calendar-payment{display:block;text-align:left;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:9px 8px;margin-bottom:7px;font-size:11px;color:var(--text)}.calendar-payment:hover{border-color:#aab2bd}.calendar-payment p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:5px}.calendar-payment .num{font-size:12px;font-weight:500}.calendar-payment small{font-size:11px;display:block;color:var(--muted);margin-top:4px}.calendar-payment.pending{border-style:dashed;color:var(--muted);background:transparent}.calendar-payment.receipt{border-color:#d7e7dc}.calendar-payment.receipt .num{color:var(--positive)}.calendar-day.dragover{outline:2px solid var(--accent);outline-offset:-2px}.day-list{padding:0 20px}.day-list .work-row{padding:15px 0}.calendar-note{font-size:11px;color:var(--muted);padding:13px 16px;display:flex;gap:18px;flex-wrap:wrap}.legend-dash{display:inline-block;width:10px;height:8px;border:1px dashed #8c949f;margin-right:5px}.matrix td,.matrix th{min-width:130px}.matrix td:first-child,.matrix th:first-child{position:sticky;left:0;background:#fff;min-width:200px;z-index:1}.matrix .cell-sub{display:block;color:var(--muted);font-size:11px;margin-top:4px}.calendar-mobile-label{display:none}
.account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.account-card{padding:20px}.account-card .num{font-size:23px;display:block;margin:16px 0 10px;font-weight:500;letter-spacing:-.03em}.account-card h2{font-size:14px}.account-card .muted{font-size:12px}.account-card-footer{display:flex;justify-content:space-between;margin-top:18px;align-items:center}.account-card-footer .num{font-size:12px;display:inline;margin:0;font-weight:400}.settings-section{display:grid;grid-template-columns:280px minmax(0,1fr);gap:40px;padding:24px 0;border-bottom:1px solid var(--border)}.settings-section:first-child{padding-top:0}.settings-section>div>p{font-size:12px;color:var(--muted);margin-top:8px;max-width:280px}.integration-row{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--rule);gap:16px}.integration-row:last-child{border-bottom:0}.integration-row h3{font-size:13px}.integration-row p{font-size:11px;color:var(--muted);margin-top:4px}.import-preview{max-height:420px;overflow:auto}.import-summary{display:flex;gap:24px;flex-wrap:wrap;padding:18px 20px;border-bottom:1px solid var(--border)}.import-summary strong{display:block;font-size:20px;font-weight:500}.import-summary span{color:var(--muted);font-size:12px}.budget-track{height:3px;background:#eceff3;border-radius:2px;margin-top:7px;width:100%}.budget-fill{height:3px;background:#666f7b;border-radius:2px}.budget-fill.over{background:var(--negative)}
dialog{padding:0;border:1px solid var(--border);border-radius:10px;width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 40px);color:var(--text);background:var(--surface);box-shadow:0 18px 60px #10182826}dialog::backdrop{background:#16202e55}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px 16px}.dialog-head h2{font-size:18px}.dialog-body{padding:0 22px 22px}.dialog-body>p{color:var(--muted);font-size:12px;margin-bottom:18px}.dialog-body .form-actions{margin-top:20px}.notification-row{border-top:1px solid var(--rule);padding:14px 0;font-size:12px}.notification-row p{color:var(--muted);margin-top:4px}.notification-row time{font-size:11px;color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,16px);background:var(--primary);color:#fff;padding:12px 18px;border-radius:7px;font-size:13px;z-index:100;max-width:calc(100% - 32px);opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}#toast.visible{opacity:1;transform:translate(-50%,0)}.login-layout{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;max-width:1120px;margin:auto;align-items:center;padding:60px;gap:100px}.login-intro .brand{margin-bottom:44px}.login-intro h1{font-size:31px;max-width:380px;line-height:1.3}.login-intro>p{color:var(--muted);margin-top:18px;max-width:360px;line-height:1.8}.login-lines{margin-top:36px;display:grid;gap:15px;color:var(--muted);font-size:12px}.login-lines span{display:flex;align-items:center;gap:10px}.login-form{background:var(--surface);border:1px solid var(--border);padding:32px;border-radius:10px}.login-form h2{font-size:20px}.login-form>p{color:var(--muted);font-size:12px;margin:8px 0 26px}.login-form .field{margin-top:16px}.login-form .btn{margin-top:22px;width:100%}.login-foot{font-size:11px;color:var(--muted);text-align:center;margin-top:18px}.login-foot p{margin-top:8px}
@media(min-width:1440px){.topbar-inner,.workspace{max-width:1328px}.overview-grid{grid-template-columns:290px minmax(0,1fr)}}
@media(max-width:1100px){.topbar-inner{gap:20px}.nav{gap:0}.nav-button{padding:0 8px;font-size:12px}.user-label{display:none}.overview-grid{grid-template-columns:250px minmax(0,1fr)}.overview-bottom{grid-template-columns:1fr}.work-title{max-width:400px}.detail-grid{grid-template-columns:minmax(0,1fr) 300px}.settings-section{grid-template-columns:220px 1fr;gap:24px}.account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-payment{padding:7px 5px}}
@media(max-width:760px){.topbar{height:58px}.topbar-inner{padding:0 16px;gap:10px;justify-content:space-between}.brand img{width:28px;height:28px}.brand strong{font-size:15px}.brand span{font-size:11px}.nav{display:none}.nav.open{display:grid;position:fixed;inset:58px 0 0;height:auto;background:var(--ground);padding:20px 16px;align-content:start;gap:8px;z-index:40}.nav.open .nav-button{text-align:left;font-size:16px;height:44px}.nav.open .menu-wrap{display:contents}.nav.open .menu{display:grid;position:static;width:auto;border:0;box-shadow:none;background:transparent}.nav.open .menu button{height:44px;font-size:15px}.mobile-menu{display:inline-flex}.top-actions{gap:5px}.top-actions .environment,.avatar{display:none}.workspace{padding:22px 16px 32px}.page-head{margin-bottom:20px}.page-head h1{font-size:22px}.page-head p{max-width:240px;line-height:1.5}.head-actions .btn{font-size:12px;padding:8px 10px;min-height:40px}.head-actions .btn .label-desktop{display:none}.overview-grid{grid-template-columns:1fr}.accounts-panel{padding:18px}.accounts-tree{display:none}.accounts-panel.expanded .accounts-tree{display:block}.accounts-heading{margin-top:17px;margin-bottom:0}.balance-number{font-size:28px}.account-foot{display:none}.overview-main{gap:16px}.overview-bottom{grid-template-columns:1fr}.panel-head{padding:16px}.forecast-key{padding:0 16px;gap:12px}.forecast-number{font-size:24px}.forecast-secondary{font-size:11px;max-width:135px}.forecast-secondary .num{font-size:13px}.chart{height:170px}.chart-footer{padding:10px 16px 14px;font-size:11px;align-items:start}.work-list{padding:0 16px 8px}.work-title{max-width:200px}.work-row{padding:14px 0}.profit-note{padding:16px;align-items:flex-start;gap:14px}.profit-note .num{font-size:17px}.profit-note p{font-size:11px}.btn{min-height:42px}.icon-button{min-width:42px;height:42px}.btn.small{min-height:36px}.text-button{min-height:32px}.table-wrap table{min-width:650px}th,td{padding:12px}.table-footer{gap:10px}.toolbar{gap:12px}.tabs{width:100%}.tab{min-height:36px}.search{width:100%}.search input{width:100%;min-width:0}.filters{width:100%}.filters input,.filters select{flex:1;max-width:100%;min-width:110px;min-height:40px}.metric-strip{grid-template-columns:1fr 1fr;padding:0}.metric{padding:16px;border-bottom:1px solid var(--border)}.metric:nth-child(2){border-right:0}.metric:nth-child(3),.metric:nth-child(4){border-bottom:0}.metric-value{font-size:20px}.metric-label{font-size:11px}.detail-grid{grid-template-columns:1fr}.detail-summary{padding:18px}.detail-sum{font-size:28px}.kv{grid-template-columns:125px 1fr;gap:12px;font-size:12px}.detail-form{padding:18px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-actions{flex-wrap:wrap}.form-actions .btn{flex:1}.detail-grid .stack{min-width:0}.account-grid{grid-template-columns:1fr}.settings-section{grid-template-columns:1fr;gap:16px;padding:22px 0}.settings-section>div>p{max-width:none}.calendar-toolbar{align-items:start;flex-direction:column}.date-switch{width:100%;justify-content:space-between}.date-switch strong{min-width:0}.calendar-grid.week{grid-template-columns:1fr}.calendar-grid.week .calendar-head{display:none}.calendar-grid.week .calendar-day{min-height:0;padding:14px 16px;border-right:0}.calendar-grid.week .calendar-day:has(.calendar-empty){display:none}.calendar-mobile-label{display:block;font-size:12px;color:var(--muted);margin-bottom:10px}.calendar-payment{padding:12px;font-size:12px}.calendar-payment .num{font-size:13px}.calendar-grid.month-grid{min-width:650px}.calendar-grid.month-grid .calendar-payment{padding:6px;font-size:11px}.calendar-grid.month-grid .calendar-payment .num{font-size:11px}.calendar-scroller{overflow:auto}.calendar-day.month{min-height:100px}.calendar-note{gap:10px;font-size:11px}.calendar-day .calendar-empty{font-size:11px;color:var(--muted)}.import-summary{gap:18px}.login-layout{display:block;padding:32px 20px}.login-intro .brand{margin-bottom:30px}.login-intro h1{font-size:25px}.login-intro>p,.login-lines{display:none}.login-form{margin-top:28px;padding:24px}.login-intro h1{display:none}.login-foot{margin-bottom:20px}.panel-body{padding:0 16px 16px}.file-link span{max-width:210px}.installment{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(min-width:761px) and (max-width:1100px){.overview-grid{grid-template-columns:1fr}.accounts-tree{display:none}.accounts-panel.expanded .accounts-tree{display:block}.accounts-panel{padding:18px 20px}.accounts-heading{margin-top:10px}.account-foot{display:none}.overview-bottom{grid-template-columns:1fr 1fr}.work-title{max-width:220px}.accounts-panel.expanded .accounts-tree{display:grid;grid-template-columns:1fr 1fr;column-gap:32px}.account-kind{grid-column:1/-1}}

@media(max-width:760px){.installment .field.full{grid-column:1/-1}.nav.open .menu-wrap>.nav-button{display:none}}

/* Directory screens retain a full-width action row on narrow devices. */
.directory-workspace .field{min-width:0}.directory-workspace select{min-width:0;max-width:100%}.directory-workspace h1{overflow-wrap:anywhere}
@media(max-width:760px){.directory-workspace .page-head{flex-direction:column;align-items:stretch}.directory-workspace .head-actions{justify-content:flex-start;flex-wrap:wrap}.directory-workspace .head-actions .btn{max-width:100%;white-space:normal;text-align:left}}

.payroll-advance-list .work-row{gap:12px;align-items:flex-start;flex-wrap:wrap}.payroll-advance-list .work-value{flex:none}.expense-report-head{flex-wrap:wrap}
.reconciliation-signatures{display:flex;justify-content:space-between;gap:24px;margin-top:32px;flex-wrap:wrap}.reconciliation-sheet{margin-top:20px}.reconciliation-sheet .detail-form{max-width:none}.reconciliation-sheet .table-wrap{max-width:100%}
@media print{body:has(.reconciliation-print){background:white}body:has(.reconciliation-print) .topbar,body:has(.reconciliation-print) .no-print,body:has(.reconciliation-print) .head-actions,body:has(.reconciliation-print) #toast{display:none!important}body:has(.reconciliation-print) #content{padding:0;max-width:none}body:has(.reconciliation-print) .table-wrap{overflow:visible}body:has(.reconciliation-print) table{min-width:0;width:100%;font-size:10px}body:has(.reconciliation-print) tr{break-inside:avoid}body:has(.reconciliation-print) .settlement-totals{grid-template-columns:repeat(4,minmax(0,1fr))}body:has(.reconciliation-print) .settlement-totals strong{font-size:16px}body:has(.reconciliation-print) .panel{border:0}body:has(.reconciliation-print) a{color:inherit;text-decoration:none}}
.period-check{padding:16px 20px;margin:14px 0}.period-check h3{font-size:14px;font-weight:500;margin:0}.period-check ul{margin:10px 0 0;padding-left:20px;font-size:13px;overflow-wrap:anywhere}.period-check li+li{margin-top:8px}.period-version-list{padding-left:20px;margin:14px 0 0}.period-version-list li+li{margin-top:14px}.snapshot-hash{overflow-wrap:anywhere;font-size:12px}.directory-workspace .checkbox-field{align-items:flex-start}.directory-workspace .checkbox-field input{flex-shrink:0;margin-top:3px}

.period-version-list .subline{display:block;margin-top:3px;font-size:12px;color:var(--muted)}
.expense-correction-line{min-width:0;margin:20px 0 0;padding:8px 0 0;border:0;border-top:1px solid var(--rule)}
.expense-correction-line legend{padding:0 8px 0 0;font-size:14px;font-weight:500}
.expense-original summary{cursor:pointer;font-weight:500}
.expense-original>p{margin:12px 0}
.expense-claim-link{display:block;margin-bottom:8px}
.expense-claim-description{display:block;margin-top:6px;font-size:12px;color:var(--muted)}
.budget-edit-line{min-width:0;border:0;border-top:1px solid var(--rule);margin:22px 0 0;padding:10px 0 0}
.budget-edit-line legend{padding:0 8px 0 0;font-size:14px;font-weight:500}
.budget-line-actions{display:flex;justify-content:flex-end;margin-top:12px}

@media(max-width:760px){.budget-table td:first-child,.budget-table th:first-child{position:sticky;left:0;z-index:1;background:var(--surface);min-width:150px;max-width:180px}.budget-table td:first-child{overflow-wrap:anywhere}}

.approval-budget-row{border-top:1px solid var(--rule);padding-top:16px;margin-top:16px}.approval-budget-row h3{font-size:14px;font-weight:500;overflow-wrap:anywhere}.approval-budget-row .detail-list{margin-top:12px}
.registry-more{flex-basis:100%;width:100%}.registry-more summary{font-size:13px;cursor:pointer;color:var(--muted);padding:8px 0}.registry-more .form-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.menu{max-height:calc(100dvh - 100px);overflow-y:auto}.split-edit+.split-edit{border-top:1px solid var(--border)}.split-edit .field,.connection-form .field,.bundle-line .field{min-width:0}.connection-form input,.connection-form select,.connection-form textarea,.split-edit select{max-width:100%;min-width:0}.connection-form textarea,#one-time-secret textarea{width:100%;min-height:110px}.connection-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#one-time-secret{margin-bottom:20px}#one-time-secret:empty{display:none}.reference-code{overflow-wrap:anywhere}.bundle-line+.bundle-line,.netoff-row+.netoff-row{border-top:1px solid var(--border);padding-top:20px}
@media(max-width:760px){.connection-form .form-grid,.registry-more .form-grid{grid-template-columns:minmax(0,1fr)}.settings-section>.panel{min-width:0}.split-edit .form-grid{grid-template-columns:minmax(0,1fr)}}
@media print{body:has(.report-print) .topbar,body:has(.report-print) .head-actions,body:has(.report-print) #advanced-filters,body:has(.report-print) [data-report-plus],body:has(.report-print) #toast{display:none!important}body:has(.report-print) .workspace{max-width:none;padding:0}body:has(.report-print) .table-wrap{overflow:visible}body:has(.report-print) .panel{break-inside:auto;box-shadow:none}body:has(.report-print) tr{break-inside:avoid}body:has(.report-print) thead{display:table-header-group}}

@media(max-width:760px){.nav.open{overflow-y:auto;overscroll-behavior:contain}.nav.open #more-menu[hidden]{display:grid!important}.nav.open .menu button{height:auto;min-height:44px}}

@media(max-width:760px){.nav.open{display:flex;flex-direction:column;align-items:stretch}.nav.open>.nav-button{flex:0 0 44px}.nav.open #more-menu[hidden],.nav.open #more-menu{display:flex!important;flex-direction:column;flex:0 0 auto;gap:0;padding:6px 0;max-height:none;overflow:visible}.nav.open #more-menu button{flex:0 0 auto;min-height:44px}}

/* Frosted Sky — approved product design system */
:root{
  --sidebar-size:244px;
  --ground:#eef3f8;
  --surface:#ffffff;
  --raised:#f6f9fc;
  --text:#172033;
  --muted:#68758a;
  --faint:#98a4b6;
  --primary:#172033;
  --accent:#2671c9;
  --accent-soft:#eaf3ff;
  --positive:#176b4a;
  --negative:#b94b55;
  --warning:#a96a18;
  --border:#dfe6ee;
  --rule:#e9eef4;
  --control:#ccd6e2;
  --glass:rgba(248,251,255,.78);
  --shadow-sm:0 1px 2px rgba(23,32,51,.04),0 8px 24px rgba(64,86,112,.05);
  --shadow-md:0 18px 48px rgba(47,70,96,.13);
}
html{background:var(--ground);scroll-behavior:smooth}
body{min-height:100dvh;background:var(--ground);color:var(--text);overscroll-behavior:none}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 18% 2%,rgba(138,192,255,.24),transparent 32rem),radial-gradient(circle at 82% 6%,rgba(255,255,255,.9),transparent 28rem),linear-gradient(145deg,#edf5fb 0%,#f5f8fb 48%,#edf2f7 100%)}
::selection{background:#cfe5ff;color:var(--text)}
a{color:var(--accent)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid rgba(38,113,201,.24);outline-offset:2px}
.app-shell{display:grid;grid-template-columns:var(--sidebar-size) minmax(0,1fr);min-height:100dvh}
.app-main{min-width:0;min-height:100dvh}
.sidebar{position:sticky;top:0;height:100dvh;z-index:30;display:flex;flex-direction:column;padding:20px 14px 14px;border-right:1px solid rgba(207,219,232,.84);background:rgba(246,250,254,.74);backdrop-filter:blur(28px) saturate(145%);-webkit-backdrop-filter:blur(28px) saturate(145%)}
.sidebar .brand{height:auto;padding:2px 10px 19px;margin-bottom:5px;border-bottom:1px solid rgba(215,225,235,.9)}
.brand img{width:34px;height:34px;filter:drop-shadow(0 4px 9px rgba(38,113,201,.18))}
.brand strong{font-size:15px;letter-spacing:-.025em}
.brand span{font-size:10px;color:var(--muted);letter-spacing:.01em}
.sidebar .nav{display:flex;flex:1;min-height:0;overflow-y:auto;flex-direction:column;align-items:stretch;gap:0;padding:10px 0 6px;scrollbar-width:thin}
.nav-group{display:grid;gap:2px;padding:5px 0 10px}
.nav-label{padding:0 11px 7px;color:#8995a7;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.nav-button{position:relative;display:flex;align-items:center;gap:10px;width:100%;height:38px;padding:0 11px;border:0;border-radius:11px;background:transparent;color:#59677b;font-size:12px;font-weight:500;text-align:left;white-space:nowrap;transition:background-color .16s ease,color .16s ease,transform .16s ease}
.nav-button .icon{width:16px;height:16px;stroke-width:1.75;flex:0 0 auto}
.nav-button:hover{background:rgba(255,255,255,.7);color:var(--text)}
.nav-button:active{transform:scale(.985)}
.nav-button.active{background:#fff;color:var(--accent);box-shadow:var(--shadow-sm)}
.nav-button.active::before{content:"";position:absolute;left:-6px;top:10px;width:3px;height:18px;border-radius:2px;background:var(--accent)}
.nav-more{margin-top:auto;padding-bottom:2px}
.nav-more .menu-wrap{display:block}
.sidebar .menu{left:calc(100% + 10px);right:auto;bottom:0;top:auto;width:238px;max-height:min(70vh,620px);padding:7px;border-radius:14px;border-color:rgba(211,222,234,.9);background:rgba(255,255,255,.94);box-shadow:var(--shadow-md);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.sidebar #more-menu{position:fixed;left:calc(var(--sidebar-size) + 10px);right:auto;top:auto;bottom:18px;width:min(292px,calc(100vw - var(--sidebar-size) - 28px));max-height:calc(100dvh - 36px);margin:0;padding:8px;border:1px solid rgba(205,218,231,.95);border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 22px 58px rgba(37,58,82,.2);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.sidebar #more-menu button{min-height:39px;padding:9px 11px;border-radius:9px;font-size:12px;line-height:1.3}
.sidebar .menu button.active{color:var(--accent);background:var(--accent-soft)}
.sidebar-foot{display:grid;gap:7px;padding:12px 10px 4px;border-top:1px solid rgba(215,225,235,.9);color:var(--faint);font-size:9px;line-height:1.4}
.sidebar-foot .environment{width:max-content}
.mobile-nav-head,.mobile-tabs{display:none}
.topbar{position:sticky;top:0;z-index:25;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,3vw,46px);border-bottom:1px solid rgba(215,225,235,.78);background:rgba(247,250,253,.68);backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%)}
.topbar-context{display:grid;gap:3px;min-width:0}
.topbar-context strong{font-size:14px;font-weight:600;letter-spacing:-.015em}
.topbar-kicker{font-size:9px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.top-actions{gap:9px}
.environment{height:26px;padding:0 9px;border:1px solid rgba(210,221,232,.9);border-radius:999px;background:rgba(255,255,255,.74);font-size:9px;font-weight:600;color:var(--muted)}
.environment i{background:#39a675;box-shadow:0 0 0 4px rgba(57,166,117,.11)}
.icon-button{border-color:rgba(207,218,230,.9);border-radius:11px;background:rgba(255,255,255,.76);box-shadow:0 1px 2px rgba(23,32,51,.03)}
.icon-button:hover{border-color:#b9c9da;background:#fff;color:var(--accent)}
.user-button{gap:9px;min-height:42px;padding:4px 8px 4px 5px;border:1px solid rgba(207,218,230,.9);border-radius:13px;background:rgba(255,255,255,.78);box-shadow:0 1px 2px rgba(23,32,51,.03)}
.user-button:hover{background:#fff;border-color:#b9c9da}
.user-button>.icon{width:13px;color:var(--faint)}
.avatar{width:31px;height:31px;border-radius:10px;background:linear-gradient(145deg,#d9ebff,#bcd9f8);color:#185b9d;font-weight:700}
.user-label{display:grid;gap:1px;font-size:11px;text-align:left;line-height:1.25}
.user-label .muted{display:block!important;font-size:9px;font-weight:400}
.topbar .menu{top:48px;border-radius:14px;background:rgba(255,255,255,.95);box-shadow:var(--shadow-md);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.workspace{width:100%;max-width:1440px;margin:0 auto;padding:34px clamp(24px,3.2vw,52px) 64px}
.page-head{margin-bottom:24px}
.page-head h1{font-size:clamp(24px,2.15vw,32px);font-weight:620;letter-spacing:-.045em;line-height:1.12}
.page-head p{margin-top:8px;font-size:12px;color:var(--muted)}
.head-actions{gap:9px}
.btn{min-height:38px;padding:8px 13px;border-color:var(--control);border-radius:10px;background:#fff;font-weight:560;box-shadow:0 1px 2px rgba(23,32,51,.03);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background-color .15s ease}
.btn:hover{border-color:#aebfd1;background:#fff;box-shadow:var(--shadow-sm)}
.btn:active{transform:scale(.98)}
.btn.primary{border-color:#1f65b5;background:linear-gradient(180deg,#327ed3,#256dc0);box-shadow:0 6px 16px rgba(38,113,201,.2);color:#fff}
.btn.primary:hover{background:linear-gradient(180deg,#2d77ca,#1f62ad);box-shadow:0 8px 22px rgba(38,113,201,.25)}
.btn.danger{box-shadow:none}
.text-button{border-radius:8px;color:var(--accent);font-weight:560}
.text-button:hover{background:var(--accent-soft)}
.panel{border-color:var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-sm)}
.panel-head{padding:18px 20px}
.panel-head h2{font-size:13px;font-weight:650;letter-spacing:-.015em}
.panel-head p{margin-top:5px;color:var(--muted)}
.panel-body{padding:0 20px 20px}
.pill{border-color:#d6e3ef;border-radius:999px;background:#f3f7fb;color:#5e6e82;font-weight:600}
.pill.good{background:#e9f6ef;color:var(--positive);border-color:#cde9da}
.pill.warn{background:#fff6e8;color:#936020;border-color:#f1dfbf}
.pill.bad{background:#fff0f1;color:var(--negative);border-color:#efd4d7}
.notice{border:1px solid #d7e6f5;border-radius:11px;background:#f1f7fd;color:#4e647c}
.overview-grid{grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}
.overview-main{gap:18px}
.accounts-panel{position:sticky;top:92px;padding:22px}
.balance-label{font-size:10px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.balance-number{margin-top:9px;font-size:29px;font-weight:620;letter-spacing:-.045em}
.balance-number .currency,.forecast-number .currency{color:#718095;font-weight:500}
.accounts-heading{margin-top:21px;padding-top:15px;border-top:1px solid var(--rule)}
.account-kind{margin-top:14px;color:#8a97a9;font-size:9px;font-weight:650;letter-spacing:.07em;text-transform:uppercase}
.account-row{padding:8px 0;border-bottom-color:var(--rule)}
.account-name{font-size:11px}
.account-row .num{font-size:11px;font-weight:550}
.account-foot{margin:18px -4px -4px;padding:15px 4px 0;border-top:1px solid var(--rule);line-height:1.65}
.forecast-panel{overflow:hidden;background:linear-gradient(145deg,#ffffff 0%,#fbfdff 58%,#f4f9ff 100%)}
.forecast-key{padding:2px 20px 12px}
.forecast-number{margin-top:6px;font-size:31px;font-weight:630;letter-spacing:-.045em}
.forecast-secondary{padding:10px 12px;border:1px solid #e0e8f0;border-radius:12px;background:rgba(255,255,255,.78)}
.chart-wrap{padding:0 12px}
.chart-grid{stroke:#e5ebf1}
.chart-line{stroke:var(--accent);stroke-width:2.2}
.chart text{fill:#8090a4}
.chart-footer{border-top-color:var(--rule);background:rgba(248,251,254,.72)}
.dot-key{background:var(--accent);box-shadow:0 0 0 4px rgba(38,113,201,.09)}
.overview-bottom{gap:18px}
.work-list{padding:0 20px 8px}
.work-row{padding:15px 0;border-bottom-color:var(--rule)}
.work-title{font-size:12px;font-weight:580}
.work-meta{font-size:10px;color:var(--muted)}
.work-value .num{font-weight:620}
.panel-bottom{padding:12px 20px;border-top-color:var(--rule);background:#fbfcfe}
.profit-note{border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.66);box-shadow:var(--shadow-sm)}
.metric-strip{border-color:var(--border);border-radius:15px;box-shadow:var(--shadow-sm)}
.metric{border-color:var(--rule)}
.metric-value{font-weight:620;color:var(--text)}
.toolbar{padding:4px 0}
.tabs{padding:4px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.68)}
.tab{border-radius:8px;color:var(--muted);font-weight:550}
.tab.active{background:#fff;color:var(--text);box-shadow:0 1px 5px rgba(30,50,70,.09)}
.search input,.filters input,.filters select,input,select,textarea{border-color:var(--control);border-radius:10px;background:#fff}
input:hover,select:hover,textarea:hover{border-color:#b0c0d0}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(38,113,201,.11)}
.table-wrap{border-radius:16px}
thead{background:#f7f9fc}
th{height:42px;color:#77869a;font-size:9px;font-weight:700;letter-spacing:.055em;text-transform:uppercase}
td{height:48px;border-bottom-color:var(--rule)}
.row-click:hover td{background:#f7faff}
.table-title{font-weight:580}
.table-footer{border-top-color:var(--rule);background:#fbfcfe}
.detail-grid{gap:18px}
.detail-summary,.detail-form,.account-card{padding:22px}
.detail-sum{font-weight:640}
.kv{border-bottom:1px solid var(--rule)}
.kv:last-child{border-bottom:0}
.form-actions{border-top-color:var(--rule)}
.installment,.file-link{border:1px solid var(--rule);border-radius:11px;background:#f8fafc}
.calendar-toolbar{padding:4px 0}
.calendar-grid{overflow:hidden;border-radius:15px}
.calendar-day,.calendar-head{border-color:var(--rule)}
.calendar-day.weekend{background:#fafcff}
.calendar-day.today{background:#f1f7ff}
.calendar-payment{border-radius:9px;box-shadow:0 1px 3px rgba(23,32,51,.04)}
.calendar-payment:hover{border-color:#9abadd;box-shadow:0 5px 14px rgba(38,113,201,.08)}
.account-card{border-radius:15px}
.account-card .num{font-weight:620}
dialog{border-color:rgba(205,217,230,.95);border-radius:18px;box-shadow:0 28px 80px rgba(30,48,68,.24)}
dialog::backdrop{background:rgba(19,31,46,.38);backdrop-filter:blur(3px)}
#toast{bottom:28px;border-radius:12px;background:rgba(23,32,51,.94);box-shadow:var(--shadow-md);backdrop-filter:blur(18px)}
.login-layout{position:relative;max-width:1180px;padding:60px clamp(28px,6vw,82px);gap:clamp(60px,10vw,140px)}
.login-layout::before{content:"";position:absolute;inset:8% 48% 10% -12%;z-index:-1;border-radius:44%;background:radial-gradient(circle at 54% 42%,rgba(112,177,247,.22),transparent 64%)}
.login-intro .brand{width:max-content;padding:8px 12px 8px 8px;border:1px solid rgba(206,219,232,.9);border-radius:14px;background:rgba(255,255,255,.55);backdrop-filter:blur(18px)}
.login-intro h1{font-size:clamp(32px,4vw,48px);line-height:1.06;letter-spacing:-.055em;max-width:500px}
.login-intro>p{font-size:14px;line-height:1.75}
.login-lines{font-size:12px}
.login-lines .icon{color:var(--accent)}
.login-form{padding:32px;border-color:rgba(205,218,231,.9);border-radius:20px;background:rgba(255,255,255,.84);box-shadow:0 26px 70px rgba(58,83,110,.14);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px)}
.login-form h2{font-size:22px;letter-spacing:-.035em}
.boot{background:transparent}
.loading-mark{border-color:#c9d8e7;border-top-color:var(--accent)}

@media(max-width:1180px){
  :root{--sidebar-size:220px}
  .app-shell{grid-template-columns:var(--sidebar-size) minmax(0,1fr)}
  .workspace{padding-inline:26px}
  .overview-grid{grid-template-columns:250px minmax(0,1fr)}
  .overview-bottom{grid-template-columns:1fr}
  .account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:901px){.sidebar .nav{overflow:visible}.sidebar #more-menu{z-index:100}}
@media(max-width:900px){
  .app-shell{display:block}
  .sidebar{position:static;width:0;height:0;padding:0;border:0;backdrop-filter:none;-webkit-backdrop-filter:none}
  .sidebar>.brand,.sidebar-foot{display:none}
  .sidebar .nav{display:none}
  .sidebar .nav.open{display:flex;position:fixed;inset:0;z-index:90;width:100vw;max-width:none;height:100dvh;padding:max(18px,env(safe-area-inset-top)) 18px calc(110px + env(safe-area-inset-bottom));overflow-y:auto;border:0;background:rgba(243,248,253,.95);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px)}
  .mobile-nav-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:0 2px 15px;background:linear-gradient(rgba(243,248,253,.98) 75%,rgba(243,248,253,0))}
  .mobile-nav-head strong{font-size:20px;letter-spacing:-.035em}
  .sidebar .nav.open .nav-group{display:grid;padding:8px 0}
  .sidebar .nav.open .nav-label{display:block;padding-bottom:7px}
  .sidebar .nav.open .nav-button{height:46px;padding:0 12px;font-size:14px}
  .sidebar .nav.open .menu-wrap{display:block}
  .sidebar .nav.open .nav-more>.nav-label,.sidebar .nav.open .nav-more>.menu-wrap>.nav-button{display:none}
  .sidebar .nav.open #more-menu,.sidebar .nav.open #more-menu[hidden]{display:grid!important;position:static;width:auto;max-height:none;margin:0;padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .sidebar .nav.open #more-menu::before{content:"Дополнительно";padding:18px 11px 7px;color:#8995a7;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
  .sidebar .nav.open #more-menu button{min-height:44px;padding:0 12px;border-radius:10px;font-size:13px}
  .topbar{height:64px;padding:0 18px}
  .topbar-kicker{display:none}
  .topbar-context strong{font-size:13px}
  .top-environment,.user-label,.user-button>.icon{display:none}
  .user-button{min-width:42px;width:42px;padding:4px}
  .avatar{display:flex;width:32px;height:32px}
  .mobile-menu{display:inline-flex}
  .workspace{padding:26px 18px calc(96px + env(safe-area-inset-bottom))}
  .mobile-tabs{position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:50;display:grid;grid-template-columns:repeat(5,1fr);height:64px;padding:6px;border:1px solid rgba(205,218,231,.92);border-radius:19px;background:rgba(249,252,255,.88);box-shadow:0 16px 44px rgba(37,58,82,.18);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%)}
  .mobile-tabs .nav-button{height:51px;min-width:0;justify-content:center;flex-direction:column;gap:3px;padding:3px;border-radius:13px;font-size:9px;text-align:center}
  .mobile-tabs .nav-button .icon{width:17px;height:17px}
  .mobile-tabs .nav-button.active::before{display:none}
  .overview-grid{grid-template-columns:1fr}
  .accounts-panel{position:static}
  .overview-bottom{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .topbar{height:58px;padding:0 14px}
  .top-actions{gap:5px}
  .workspace{padding:22px 14px calc(94px + env(safe-area-inset-bottom))}
  .page-head{align-items:flex-start;gap:16px;margin-bottom:20px}
  .page-head h1{font-size:24px}
  .page-head p{max-width:260px}
  .head-actions{flex-shrink:0}
  .head-actions .btn{padding:8px 10px}
  .overview-bottom{grid-template-columns:1fr}
  .panel{border-radius:14px}
  .accounts-panel{padding:18px}
  .forecast-key{align-items:flex-start;padding:0 16px 12px}
  .forecast-number{font-size:25px}
  .forecast-secondary{max-width:145px}
  .table-wrap{-webkit-overflow-scrolling:touch}
  .metric-strip{grid-template-columns:1fr 1fr}
  .detail-grid{grid-template-columns:1fr}
  .account-grid{grid-template-columns:1fr}
  .login-layout{display:flex;min-height:100dvh;flex-direction:column;justify-content:center;padding:28px 18px;gap:26px}
  .login-intro .brand{margin:0 auto}
  .login-intro h1,.login-intro>p,.login-lines{display:none}
  .login-form{margin:0;padding:26px 22px;border-radius:18px}
  .login-foot{margin-bottom:0}
}
@media(pointer:coarse){input,select,textarea{font-size:16px}.btn,.icon-button,.text-button{min-height:44px}}
@media print{.sidebar,.mobile-tabs,.topbar{display:none!important}.app-shell{display:block}.workspace{max-width:none;padding:0}.panel{box-shadow:none}}

/* Frosted Sky production composition — mirrors the approved prototype */
.exact-shell{--sidebar-size:232px;position:relative;grid-template-columns:var(--sidebar-size) minmax(0,1fr);background:#eef3f8}
.exact-shell .ambient-orb{display:block;position:fixed;z-index:0;border-radius:50%;pointer-events:none;filter:blur(70px);opacity:.55}
.exact-shell .ambient-orb.one{width:360px;height:360px;top:-160px;left:80px;background:#b8d8ff}
.exact-shell .ambient-orb.two{width:320px;height:320px;right:0;bottom:80px;background:#c9eddf}
.exact-shell .sidebar{z-index:30;width:auto;height:100dvh;padding:22px 16px 96px;border-right:1px solid rgba(255,255,255,.62);background:rgba(244,248,252,.68);box-shadow:12px 0 34px rgba(72,94,120,.08);backdrop-filter:blur(26px) saturate(1.25);-webkit-backdrop-filter:blur(26px) saturate(1.25)}
.exact-shell .sidebar .brand{height:auto;margin:0;padding:0 8px 24px;border:0}
.exact-shell .brand img{width:30px;height:30px;border-radius:8px}
.exact-shell .brand strong{font-size:14px;color:#15171a}
.exact-shell .brand span{font-size:12px;color:#626974}
.exact-shell .sidebar .nav{display:flex;min-height:0;padding:0;overflow-y:auto;gap:0}
.exact-shell .nav-group{display:grid;gap:1px;margin:0 0 20px;padding:0}
.exact-shell .nav-label{padding:0 10px 7px;color:#5f6670;font-size:12px;font-weight:600;letter-spacing:0;text-transform:none}
.exact-shell .nav-button{min-height:38px;height:auto;padding:8px 10px;border-radius:7px;color:#474d55;font-size:14px;font-weight:400}
.exact-shell .nav-button .icon{width:18px;height:18px;color:#717983;stroke-width:1.55}
.exact-shell .nav-button:hover{color:#15171a;background:rgba(255,255,255,.58)}
.exact-shell .nav-button.active{color:#15171a;background:rgba(255,255,255,.76);font-weight:600;box-shadow:none}
.exact-shell .nav-button.active::before{display:none}
.exact-shell .nav-button.active .icon{color:#2671c9}
.exact-shell .nav-extra{display:none}
.exact-shell .sidebar-user{position:absolute;left:16px;right:16px;bottom:20px;display:flex;align-items:center;gap:9px;padding:10px;border-top:1px solid rgba(207,218,230,.92)}
.exact-shell .sidebar-user .avatar{display:grid;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.66);color:#172033;font-size:11px}
.exact-shell .user-copy{display:grid;gap:2px;min-width:0}
.exact-shell .user-copy strong,.exact-shell .user-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.exact-shell .user-copy strong{font-size:13px}
.exact-shell .user-copy span{color:#68758a;font-size:11px}
.exact-shell .app-main{position:relative;z-index:1}
.exact-shell .topbar{position:sticky;top:12px;z-index:25;height:64px;margin:12px 16px 0;padding:0 30px;border:1px solid rgba(255,255,255,.7);border-radius:16px;background:rgba(255,255,255,.58);box-shadow:0 10px 30px rgba(72,94,120,.08),inset 0 1px 0 rgba(255,255,255,.72);backdrop-filter:blur(22px) saturate(1.22);-webkit-backdrop-filter:blur(22px) saturate(1.22)}
.exact-shell .crumb{color:#59677b;font-size:13px}
.exact-shell .top-actions{gap:8px}
.exact-shell .topbar .icon-button,.exact-shell .compact-user{width:36px;min-width:36px;height:36px;min-height:36px;padding:0;border:1px solid rgba(255,255,255,.7);border-radius:8px;background:rgba(255,255,255,.62);box-shadow:none}
.exact-shell .compact-user .avatar{display:grid;width:100%;height:100%;border-radius:8px;background:transparent;color:#172033}
.exact-shell .module-launcher{position:relative}
.exact-shell .module-menu{position:absolute;top:46px;right:-88px;left:auto;bottom:auto;width:min(660px,calc(100vw - 280px));max-height:min(72vh,680px);padding:0;overflow:auto;border:1px solid rgba(205,218,231,.94);border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 24px 70px rgba(37,58,82,.2),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(28px) saturate(1.35);-webkit-backdrop-filter:blur(28px) saturate(1.35);z-index:100}
.exact-shell .module-menu-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px 15px;border-bottom:1px solid #e4ebf2;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.exact-shell .module-menu-head strong,.exact-shell .module-menu-head span{display:block}
.exact-shell .module-menu-head strong{color:#172033;font-size:15px}
.exact-shell .module-menu-head div>span{margin-top:3px;color:#68758a;font-size:11px}
.exact-shell .module-menu-head>.pill{display:grid;min-width:28px;height:24px;padding:0 8px;place-items:center;color:#2671c9;background:#eaf3ff;font-size:11px}
.exact-shell .module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:8px}
.exact-shell .module-section{min-width:0;padding:10px}
.exact-shell .module-section h3{margin:0 0 6px;padding:0 8px;color:#68758a;font-size:10px;font-weight:700;letter-spacing:.065em;text-transform:uppercase}
.exact-shell .module-section button{display:flex;align-items:center;gap:9px;width:100%;min-height:38px;padding:8px;border:0;border-radius:8px;color:#3f4b5e;background:transparent;font:inherit;font-size:12px;text-align:left;cursor:pointer}
.exact-shell .module-section button:hover{color:#172033;background:#f2f6fa}
.exact-shell .module-section button.active{color:#2368b7;background:#eaf3ff;font-weight:650}
.exact-shell .module-section button .icon{flex:0 0 auto;width:15px;height:15px;color:#7a8798;stroke-width:1.7}
.exact-shell .module-section button.active .icon{color:#2671c9}
.exact-shell .module-section button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.exact-shell .workspace{width:min(1540px,100%);max-width:none;padding:28px 30px 100px}
.demo-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}
.demo-page-head h1{margin:0 0 7px;font-size:clamp(25px,2.4vw,34px);line-height:1.12;letter-spacing:-.045em}
.demo-page-head p{margin:0;color:#59677b;font-size:14px}
.demo-eyebrow{margin-bottom:7px;color:#2671c9;font-size:12px;font-weight:650}
.demo-overview-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(370px,.78fr);gap:18px;align-items:start}
.demo-primary{display:grid;gap:16px;min-width:0}
.demo-horizon{min-height:440px;padding:26px 28px 22px;border-radius:10px;box-shadow:none}
.horizon-heading{display:flex;justify-content:space-between;gap:24px}
.horizon-heading>div>span{color:#59677b;font-size:12px}
.horizon-heading p{margin:8px 0 0;color:#59677b;font-size:12px}
.horizon-money{display:block;margin-top:12px;font-size:clamp(40px,5vw,62px);font-weight:600;line-height:1;letter-spacing:-.05em}
.horizon-status{display:grid;place-items:center;flex:0 0 150px;height:112px;padding:16px;border-radius:46% 54% 52% 48%;color:#176b4a;background:#e7f3ee;font-size:11px;font-weight:650;text-align:center}
.horizon-status.risk{color:#a13c34;background:#fff0ee}
.horizon-plot{height:170px;margin-top:26px;border-top:1px solid #e9eef4}
.horizon-plot svg{width:100%;height:100%;overflow:visible}
.h-grid{stroke:#e8edf2;stroke-width:1}
.h-risk{stroke:#bf3b33;stroke-width:2;stroke-dasharray:4 4}
.h-line{fill:none;stroke:#2671c9;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.h-date{fill:#68758a;font-size:12px}
.horizon-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:6px}
.horizon-kpis span,.horizon-kpis strong{display:block}
.horizon-kpis span{color:#68758a;font-size:12px}
.horizon-kpis strong{margin-top:6px;font-size:18px;font-weight:650}
.horizon-dates{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:22px;overflow-x:auto;scrollbar-width:none}
.horizon-date{min-width:0;padding:12px;border:1px solid #dfe6ee;border-radius:8px;text-align:center}
.horizon-date.risk{border-color:#efc2bd;background:#fff0ee}
.horizon-date span,.horizon-date strong,.horizon-date small{display:block}
.horizon-date span,.horizon-date small{color:#68758a;font-size:10px}
.horizon-date strong{margin:7px 0 4px;font-size:14px}
.horizon-date small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.decision-queue{overflow:hidden;border-radius:10px;box-shadow:none}
.decision-queue .panel-head{padding:18px 20px 14px}
.decision-stack{display:grid;gap:10px;padding:0 14px 14px}
.decision-card{padding:14px;border:1px solid #dfe6ee;border-radius:9px;background:#fff}
.decision-card.urgent{border-color:#e7bbb7;box-shadow:inset 3px 0 0 #b42318}
.decision-top{display:flex;justify-content:space-between;gap:16px}
.decision-top h3{margin:0 0 4px;font-size:13px}
.decision-top p{margin:0;color:#68758a;font-size:11px}
.decision-amount{font-size:18px;font-weight:650}
.decision-impact{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin-top:12px;padding:10px 12px;border-radius:7px;background:#f5f8fb;color:#68758a;font-size:11px}
.decision-impact span:last-child{text-align:left}
.decision-impact strong{display:block;margin-top:3px;color:#172033;font-size:12px}
.decision-impact .icon{width:15px}
.decision-actions{display:flex;gap:8px;margin-top:12px}
.decision-actions .btn{flex:1;min-height:38px}
.demo-bottom-grid{display:grid;grid-template-columns:1fr .8fr;gap:16px;align-items:start}
.demo-bottom-grid .panel{overflow:hidden;border-radius:10px;box-shadow:none}
.demo-bottom-grid .panel-head a{font-size:12px;font-weight:600}
.demo-list{padding:0 20px 8px}
.demo-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border-top:1px solid #e9eef4}
.demo-row:first-child{border-top:0}
.demo-row>div{min-width:0}
.demo-row>div:last-child{display:grid;justify-items:end;gap:4px}
.demo-row strong,.demo-row span{display:block}
.demo-row>div:first-child strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.demo-row span{margin-top:4px;color:#68758a;font-size:10px}
.funds-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border-top:1px solid #dfe6ee;background:#dfe6ee}
.funds-grid>div{padding:14px;background:#fff}
.funds-grid span,.funds-grid strong{display:block}
.funds-grid span{color:#68758a;font-size:11px}
.funds-grid strong{margin-top:6px;font-size:13px}
.employee-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:16px;align-items:start}
.employee-column{display:grid;gap:16px;min-width:0}
.employee-hero{padding:24px;border-radius:10px;box-shadow:none}
.employee-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.employee-money{margin:9px 0 7px;font-size:25px;font-weight:650;letter-spacing:-.035em}
.employee-money.small{font-size:22px}
.status-path{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:22px}
.status-step{position:relative;padding-top:15px;color:#68758a;font-size:11px}
.status-step::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:99px;background:#dfe6ee}
.status-step.done::before{background:#2671c9}
.status-step.current{color:#172033;font-weight:650}
.status-step.current::before{background:#efad43}
.employee-requests{overflow:hidden;border-radius:10px;box-shadow:none}
.employee-request-row{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:14px 20px;border:0;border-top:1px solid #e9eef4;background:#fff;text-align:left;cursor:pointer}
.employee-request-row:hover{background:#f8fbfe}
.employee-request-row>span{display:grid;gap:4px;min-width:0}
.employee-request-row>span:last-child{justify-items:end;text-align:right}
.employee-request-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.employee-request-row small{color:#68758a;font-size:10px}
.employee-request-row .icon{width:13px}
.employee-card{padding:18px 20px;border-radius:10px;box-shadow:none}
.employee-card-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:14px}
.employee-card-head h2{font-size:15px}
.employee-card-head p{margin:5px 0 0;color:#68758a;font-size:11px}
.employee-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding-top:13px;border-top:1px solid #e9eef4}
.employee-action strong,.employee-action span{display:block}
.employee-action strong{font-size:12px}
.employee-action span{margin-top:4px;color:#68758a;font-size:11px}
.privacy-callout{padding:14px 16px;border:1px solid #d6e5f6;border-radius:10px;color:#31577e;background:#edf5fd;font-size:12px;line-height:1.45}

@media(max-width:1180px){
  .horizon-dates{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:150px}
  .demo-overview-grid{grid-template-columns:1fr}
  .decision-stack{grid-template-columns:repeat(3,minmax(0,1fr))}
  .decision-top{display:block}
  .decision-amount{display:block;margin-top:8px}
  .employee-grid{grid-template-columns:1fr}
}
@media(min-width:761px) and (max-width:900px){
  .exact-shell{display:grid;grid-template-columns:200px minmax(0,1fr)}
  .exact-shell .sidebar{position:sticky;width:auto;height:100dvh;padding:20px 12px 90px;backdrop-filter:blur(26px) saturate(1.25);-webkit-backdrop-filter:blur(26px) saturate(1.25)}
  .exact-shell .sidebar>.brand,.exact-shell .sidebar-user{display:flex}
  .exact-shell .sidebar .nav{display:flex;position:static;width:auto;height:auto;padding:0;overflow-y:auto;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
  .exact-shell .mobile-nav-head,.exact-shell .mobile-tabs{display:none}
  .exact-shell .workspace{padding:24px 20px 90px}
  .exact-shell .topbar{margin-inline:12px;padding-inline:20px}
  .exact-shell .module-menu{width:min(540px,calc(100vw - 224px))}
  .exact-shell .module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .demo-horizon{padding:24px 22px}
  .decision-stack{grid-template-columns:1fr}
  .demo-bottom-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .exact-shell{display:block}
  .exact-shell .sidebar{position:static;width:0;height:0;padding:0;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .exact-shell .sidebar>.brand,.exact-shell .sidebar-user{display:none}
  .exact-shell .sidebar .nav{display:none}
  .exact-shell .sidebar .nav.open{display:flex;position:fixed;inset:0;z-index:90;width:100vw;height:100dvh;padding:max(18px,env(safe-area-inset-top)) 18px calc(96px + env(safe-area-inset-bottom));overflow-y:auto;background:rgba(243,248,253,.97);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px)}
  .exact-shell .sidebar .nav.open .nav-extra{display:grid}
  .exact-shell .topbar{top:8px;height:56px;margin:8px 10px 0;padding:0 16px;border-radius:14px}
  .exact-shell .module-launcher{display:none}
  .exact-shell .workspace{padding:24px 16px calc(90px + env(safe-area-inset-bottom))}
  .exact-shell .mobile-tabs{left:0;right:0;bottom:0;height:auto;padding:7px 6px calc(7px + env(safe-area-inset-bottom));border:0;border-top:1px solid #dfe6ee;border-radius:0;background:rgba(255,255,255,.94);box-shadow:none}
  .exact-shell .mobile-tabs .nav-button{height:44px;border-radius:7px}
  .demo-page-head{align-items:center;gap:12px}
  .demo-page-head h1{font-size:26px;max-width:220px}
  .demo-page-head p{font-size:12px}
  .demo-page-head .btn{max-width:124px;white-space:normal;text-align:center}
  .demo-overview-grid{display:block}
  .demo-primary{gap:14px}
  .demo-horizon{min-height:auto;padding:20px 16px}
  .horizon-heading{display:block}
  .horizon-money{font-size:38px}
  .horizon-status{display:inline-flex;width:auto;height:26px;margin-top:7px;padding:4px 9px;border-radius:999px}
  .horizon-plot{height:145px;margin-top:34px}
  .horizon-kpis{grid-template-columns:1fr 1fr;gap:18px 26px}
  .horizon-dates{margin-inline:-16px;padding-inline:16px;scroll-snap-type:x proximity}
  .horizon-date{scroll-snap-align:start}
  .decision-queue{margin-top:14px}
  .decision-stack{grid-template-columns:1fr}
  .demo-bottom-grid{grid-template-columns:1fr}
  .funds-grid{grid-template-columns:1fr}
  .employee-hero-top{display:block}
  .employee-hero-top .pill{margin-top:12px}
  .employee-request-row{padding-inline:16px}
}

/* Kaspi reuses the established working surfaces; contain dense history on small screens. */
.kaspi-page .page-head{flex-wrap:wrap}
.kaspi-page .page-head>div:first-child{min-width:min(260px,100%);flex:1}
.kaspi-page td:first-child{min-width:160px}
.kaspi-page td:nth-child(2){min-width:180px}
.kaspi-page td .muted{white-space:nowrap}
@media(max-width:620px){.kaspi-page .page-head{display:block}.kaspi-page .head-actions{margin-top:16px;flex-wrap:wrap}.kaspi-page .head-actions .btn{flex:1;justify-content:center}.kaspi-page .kv dd{min-width:0;overflow-wrap:anywhere}}

.kaspi-page input::placeholder{color:var(--muted);opacity:1}

/* Frosted Night — dark companion to the Frosted Sky interface. */
.login-theme{position:fixed;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));z-index:10;border-color:var(--border);background:var(--surface)}
:root[data-theme="dark"]{--ground:#0b111a;--surface:#131b27;--raised:#182231;--border:#283548;--rule:#202c3c;--control:#3a4960;--text:#f1f5fa;--muted:#9ba9bb;--faint:#7f8da0;--primary:#e7eef8;--accent:#72b1ff;--positive:#55c58a;--negative:#ff8178;--warning:#e8b660;color-scheme:dark}
:root[data-theme="dark"] body{background:#0b111a;color:var(--text)}
:root[data-theme="dark"] ::selection{background:#264f7e;color:#f7fbff}
:root[data-theme="dark"] .btn{border-color:var(--control);background:#172230;color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.18)}
:root[data-theme="dark"] .btn:hover{border-color:#53657d;background:#1d2938}
:root[data-theme="dark"] .btn.primary{border-color:#478edc;background:linear-gradient(180deg,#3d8ce3,#2d72bd);color:#fff;box-shadow:0 8px 22px rgba(16,87,165,.3)}
:root[data-theme="dark"] .btn.primary:hover{background:linear-gradient(180deg,#4897ed,#337dcb)}
:root[data-theme="dark"] .btn.danger{background:#251b20}
:root[data-theme="dark"] .btn.ghost:hover,:root[data-theme="dark"] .icon-button:hover{background:#202c3b}
:root[data-theme="dark"] input,:root[data-theme="dark"] select,:root[data-theme="dark"] textarea,:root[data-theme="dark"] .search input,:root[data-theme="dark"] .filters input,:root[data-theme="dark"] .filters select{border-color:var(--control);background:#101823;color:var(--text)}
:root[data-theme="dark"] input::placeholder,:root[data-theme="dark"] textarea::placeholder{color:#738196}
:root[data-theme="dark"] .panel,:root[data-theme="dark"] .metric-strip,:root[data-theme="dark"] .profit-note,:root[data-theme="dark"] .login-form{background:var(--surface);border-color:var(--border);box-shadow:0 10px 30px rgba(0,0,0,.08)}
:root[data-theme="dark"] .menu{background:#141e2b;border-color:var(--border);box-shadow:0 18px 46px rgba(0,0,0,.34)}
:root[data-theme="dark"] .menu button:hover,:root[data-theme="dark"] .row-click:hover td{background:#1c2837}
:root[data-theme="dark"] .menu-rule,:root[data-theme="dark"] .divider{background:var(--border)}
:root[data-theme="dark"] .pill{border-color:#35465c;background:#202c3a;color:#b9c6d6}
:root[data-theme="dark"] .pill.good{border-color:#285b45;background:#17392d;color:#79d8a5}
:root[data-theme="dark"] .pill.warn{border-color:#6a5026;background:#392d19;color:#efc574}
:root[data-theme="dark"] .pill.bad{border-color:#6b363b;background:#3a2026;color:#ff9b94}
:root[data-theme="dark"] .notice{border-color:#304c69;background:#14283b;color:#a8bdd3}
:root[data-theme="dark"] .notice.warn{border-color:#624b26;background:#312718;color:#e6bf79}
:root[data-theme="dark"] .notice.error{border-color:#67363b;background:#331f24;color:#ff9891}
:root[data-theme="dark"] .tab.active{background:#263347;color:var(--text);box-shadow:0 1px 5px rgba(0,0,0,.24)}
:root[data-theme="dark"] thead,:root[data-theme="dark"] .panel-bottom,:root[data-theme="dark"] .table-footer{background:#111a26}
:root[data-theme="dark"] .installment,:root[data-theme="dark"] .file-link{background:#172230;border-color:var(--border)}
:root[data-theme="dark"] .calendar-day.weekend{background:#101923}
:root[data-theme="dark"] .calendar-day.today{background:#13243a}
:root[data-theme="dark"] .calendar-payment{background:#172230;border-color:var(--border)}
:root[data-theme="dark"] .calendar-payment.receipt{border-color:#2c654b}
:root[data-theme="dark"] .matrix td:first-child,:root[data-theme="dark"] .matrix th:first-child{background:var(--surface)}
:root[data-theme="dark"] dialog{background:#131c28;border-color:#344258;box-shadow:0 28px 90px rgba(0,0,0,.52)}
:root[data-theme="dark"] dialog::backdrop{background:rgba(2,7,13,.7)}
:root[data-theme="dark"] #toast{background:rgba(232,239,248,.94);color:#101722}
:root[data-theme="dark"] .login-layout::before{background:radial-gradient(circle at 54% 42%,rgba(52,125,205,.22),transparent 64%)}

:root[data-theme="dark"] .exact-shell{background:#0b111a}
:root[data-theme="dark"] .exact-shell .ambient-orb.one{background:#174d82;opacity:.34}
:root[data-theme="dark"] .exact-shell .ambient-orb.two{background:#145441;opacity:.28}
:root[data-theme="dark"] .exact-shell .sidebar{border-right-color:rgba(116,145,179,.15);background:rgba(12,19,29,.78);box-shadow:12px 0 36px rgba(0,0,0,.24)}
:root[data-theme="dark"] .exact-shell .brand strong{color:#f2f6fb}
:root[data-theme="dark"] .exact-shell .brand span,:root[data-theme="dark"] .exact-shell .nav-label,:root[data-theme="dark"] .exact-shell .user-copy span,:root[data-theme="dark"] .exact-shell .crumb{color:#92a1b5}
:root[data-theme="dark"] .exact-shell .nav-button{color:#aeb9c8}
:root[data-theme="dark"] .exact-shell .nav-button .icon{color:#8290a2}
:root[data-theme="dark"] .exact-shell .nav-button:hover{color:#f3f6fb;background:rgba(255,255,255,.055)}
:root[data-theme="dark"] .exact-shell .nav-button.active{color:#f6f9fd;background:rgba(255,255,255,.09)}
:root[data-theme="dark"] .exact-shell .nav-button.active .icon{color:#72b1ff}
:root[data-theme="dark"] .exact-shell .sidebar-user{border-top-color:#273447}
:root[data-theme="dark"] .exact-shell .sidebar-user .avatar{background:#1c2938;color:#d9e8fb}
:root[data-theme="dark"] .exact-shell .topbar{border-color:rgba(128,155,186,.18);background:rgba(18,27,39,.72);box-shadow:0 12px 34px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.04)}
:root[data-theme="dark"] .exact-shell .topbar .icon-button,:root[data-theme="dark"] .exact-shell .compact-user{border-color:rgba(130,157,188,.2);background:rgba(29,42,57,.72);color:#b7c5d6}
:root[data-theme="dark"] .exact-shell .topbar .icon-button:hover,:root[data-theme="dark"] .exact-shell .compact-user:hover{border-color:#48617d;background:#253449;color:#f4f8fd}
:root[data-theme="dark"] .exact-shell .compact-user .avatar{color:#e5edf8}
:root[data-theme="dark"] .exact-shell .module-menu{border-color:#34445a;background:rgba(17,26,38,.97);box-shadow:0 28px 80px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.04)}
:root[data-theme="dark"] .exact-shell .module-menu-head{border-bottom-color:#29374a;background:rgba(17,26,38,.94)}
:root[data-theme="dark"] .exact-shell .module-menu-head strong,:root[data-theme="dark"] .exact-shell .module-section button.active{color:#eff5fc}
:root[data-theme="dark"] .exact-shell .module-menu-head div>span,:root[data-theme="dark"] .exact-shell .module-section h3{color:#8797aa}
:root[data-theme="dark"] .exact-shell .module-menu-head>.pill{color:#8bc2ff;background:#1a3452}
:root[data-theme="dark"] .exact-shell .module-section button{color:#b3bfce}
:root[data-theme="dark"] .exact-shell .module-section button:hover{color:#f1f5fa;background:#202d3d}
:root[data-theme="dark"] .exact-shell .module-section button.active{background:#183552}
:root[data-theme="dark"] .exact-shell .module-section button.active .icon{color:#7fbcff}

:root[data-theme="dark"] .demo-page-head p,:root[data-theme="dark"] .horizon-heading>div>span,:root[data-theme="dark"] .horizon-heading p,:root[data-theme="dark"] .horizon-kpis span,:root[data-theme="dark"] .horizon-date span,:root[data-theme="dark"] .horizon-date small,:root[data-theme="dark"] .decision-top p,:root[data-theme="dark"] .decision-impact,:root[data-theme="dark"] .demo-row span,:root[data-theme="dark"] .funds-grid span,:root[data-theme="dark"] .status-step,:root[data-theme="dark"] .employee-request-row small,:root[data-theme="dark"] .employee-card-head p,:root[data-theme="dark"] .employee-action span{color:#92a2b5}
:root[data-theme="dark"] .h-grid{stroke:#263548}
:root[data-theme="dark"] .h-date{fill:#91a1b4}
:root[data-theme="dark"] .h-line{stroke:#6eb0ff}
:root[data-theme="dark"] .horizon-status{color:#7bd3a6;background:#17372c}
:root[data-theme="dark"] .horizon-status.risk{color:#ff9e97;background:#3a2227}
:root[data-theme="dark"] .horizon-date{border-color:#314054;background:#141e2b}
:root[data-theme="dark"] .horizon-date.risk{border-color:#704046;background:#382126}
:root[data-theme="dark"] .decision-card{border-color:#2d3b4f;background:#141e2a}
:root[data-theme="dark"] .decision-card.urgent{border-color:#6c3d43;box-shadow:inset 3px 0 0 #e2655d}
:root[data-theme="dark"] .decision-impact{background:#101925}
:root[data-theme="dark"] .decision-impact strong,:root[data-theme="dark"] .status-step.current{color:#f0f5fb}
:root[data-theme="dark"] .demo-row,:root[data-theme="dark"] .horizon-plot,:root[data-theme="dark"] .funds-grid,:root[data-theme="dark"] .employee-request-row,:root[data-theme="dark"] .employee-action{border-color:#263447}
:root[data-theme="dark"] .funds-grid{background:#27364a}
:root[data-theme="dark"] .funds-grid>div,:root[data-theme="dark"] .employee-request-row{background:#131c28}
:root[data-theme="dark"] .employee-request-row:hover{background:#1a2635}
:root[data-theme="dark"] .status-step::before{background:#354359}
:root[data-theme="dark"] .privacy-callout{border-color:#2d547c;background:#152b41;color:#a8c9eb}

@media(max-width:760px){
  :root[data-theme="dark"] .exact-shell .sidebar .nav.open{background:rgba(11,17,26,.98)}
  :root[data-theme="dark"] .exact-shell .mobile-tabs{border-top-color:#2a384b;background:rgba(15,23,34,.95)}
}
@media print{:root[data-theme="dark"]{color-scheme:light}:root[data-theme="dark"] body{background:#fff;color:#141414}}
