:root{color-scheme:light;--bg: #f6f3ed;--ink: #171a17;--muted: #69716d;--line: rgba(23, 26, 23, .11);--surface: rgba(255, 255, 255, .84);--surface-muted: #f5f7f1;--surface-raised: #fffefa;--border: rgba(23, 26, 23, .11);--positive: #2f8c67;--positive-soft: #dff0e6;--warning: #c5962f;--warning-soft: #f6e6ba;--danger: #d95f4f;--danger-soft: #f9dfda;--info: #526bb3;--info-soft: #e1e8fb;--paper: rgba(255, 255, 255, .78);--paper-solid: #fffefa;--green: #2f8c67;--green-soft: #dff0e6;--red: #d95f4f;--red-soft: #f9dfda;--blue: #526bb3;--blue-soft: #e1e8fb;--amber: #c5962f;--amber-soft: #f6e6ba;--pink: #be5b7a;--shadow: 0 24px 60px rgba(36, 43, 37, .14);--radius-lg: 8px;--radius-sm: 6px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink)}button{font:inherit}.app-shell{width:min(1480px,calc(100vw - 32px));margin:0 auto;padding:28px 0 56px}.review-header,.direction-intro,.decision-record{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.review-header{position:sticky;top:0;z-index:10;padding:18px 0 20px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.eyebrow,.micro,.panel-label{margin:0 0 5px;color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(2rem,4vw,4.6rem);line-height:.93}h2{margin-bottom:0;font-size:clamp(1.8rem,3vw,3rem);line-height:1}h3{margin-bottom:0;font-size:clamp(1.25rem,2vw,1.8rem);line-height:1}.header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.segmented{display:flex;padding:5px;gap:4px;border:1px solid var(--line);background:#ffffff94;border-radius:var(--radius-lg);box-shadow:0 10px 26px #222c2614}.segmented button,.select-button,.month-switcher button,.icon-button,.renewal-panel button,.today-card button,.timeline-footer button,.command-controls button,.command-header button{border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer}.segmented button{min-height:36px;padding:0 13px;color:var(--muted);background:transparent;font-size:.88rem;font-weight:800}.segmented button.active{color:var(--ink);background:var(--paper-solid);box-shadow:0 8px 18px #1c251f1f}.select-button{min-height:44px;padding:0 16px;color:#fff;background:#20271f;font-weight:850;box-shadow:0 12px 24px #171a172e}.direction-panel{display:none}.direction-panel.active{display:block}.direction-intro{padding:30px 0 22px}.direction-intro p{max-width:620px;margin-bottom:0;color:var(--muted);font-size:1rem;line-height:1.55}.preview-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.48fr);gap:18px;align-items:start}.desktop-frame,.phone-frame{overflow:hidden;border:1px solid rgba(23,26,23,.12);border-radius:var(--radius-lg);background:var(--paper-solid);box-shadow:var(--shadow)}.desktop-frame{min-height:560px}.phone-frame{width:min(360px,100%);min-height:680px;margin:0 auto;padding:16px 16px 18px;border-radius:30px;background:#111611;color:#f8fbf5}.phone-status{width:96px;height:5px;margin:2px auto 18px;border-radius:999px;background:#ffffff40}.subscriptions-frame,.timeline-subs,.command-subs{grid-column:1 / -1;min-height:370px}.finance-os-desktop{display:grid;grid-template-columns:78px minmax(0,1fr);background:#eef3ed}.side-rail{display:flex;flex-direction:column;align-items:center;gap:34px;padding:24px 0;border-right:1px solid var(--line);background:#172019}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(229,246,220,.18);border-radius:var(--radius-lg);color:#e5f6dc;background:#172019}.brand-mark-symbol{display:block;width:40px;height:40px}.brand-dollar-glyph{fill:currentColor;font-family:Georgia,Times New Roman,serif;font-size:50px;font-weight:700;letter-spacing:0}.side-rail nav{display:grid;gap:12px}.rail-button,.mobile-header button,.bottom-nav button,.command-mobile-head button{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:inherit;background:#ffffff0f}.rail-button.active{background:#e5f6dc;color:#172019}.icon{position:relative;display:block;width:18px;height:18px}.icon-flow:before,.icon-flow:after,.icon-card:before,.icon-card:after,.icon-gear:before,.icon-menu:before,.icon-menu:after{position:absolute;content:"";border-radius:999px}.icon-flow:before{inset:3px 1px auto;height:3px;background:currentColor;box-shadow:0 6px 0 currentColor,0 12px 0 currentColor}.icon-flow:after{top:2px;right:0;width:5px;height:5px;background:currentColor;box-shadow:-8px 6px 0 currentColor,-3px 12px 0 currentColor}.icon-card:before{top:3px;right:1px;bottom:3px;left:1px;border:2px solid currentColor;border-radius:4px}.icon-card:after{left:4px;right:4px;top:8px;height:2px;background:currentColor}.icon-gear:before{top:2px;right:2px;bottom:2px;left:2px;border:2px solid currentColor}.icon-gear:after{top:7px;right:7px;bottom:7px;left:7px;background:currentColor}.icon-menu:before{left:2px;right:2px;top:4px;height:2px;background:currentColor;box-shadow:0 6px 0 currentColor,0 12px 0 currentColor}.os-main{padding:24px}.topbar,.table-toolbar,.subs-header,.timeline-top,.subs-calendar-head,.command-header,.mobile-header,.timeline-mobile-head,.command-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.month-switcher{display:flex;align-items:center;gap:8px;padding:5px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;font-size:.88rem;font-weight:800}.month-switcher button{width:30px;height:30px;background:#eff4ec}.account-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0}.account-card{display:grid;gap:8px;min-height:112px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffffc7}.account-card span,.account-card small,.mobile-hero-card span,.forecast-meta,.subs-total span,.timeline-summary-row span,.command-metrics span,.command-mobile-card span{color:var(--muted);font-size:.78rem;font-weight:750}.account-card strong{font-size:1.35rem}.account-card.gain,.account-card.balance-green{background:var(--green-soft)}.account-card.balance-yellow{background:var(--amber-soft)}.account-card.risk,.account-card.balance-red{background:var(--red-soft)}.account-balance-button,.account-balance-form{display:block;width:100%;margin:0;padding:0;border:0;color:inherit;background:transparent;text-align:left}.account-balance-button{cursor:text}.account-balance-input{width:100%;min-height:30px;padding:0;border:0;border-bottom:2px solid rgba(23,26,23,.22);border-radius:0;color:var(--ink);background:transparent;font-size:1.35rem;font-weight:900;line-height:1.2;outline:none}.os-content-grid{display:grid;grid-template-columns:.75fr 1fr;gap:12px}.forecast-card,.mini-ledger,.cashflow-table-wrap,.renewal-panel,.resource-panel,.command-table-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffffd6}.forecast-card,.mini-ledger{padding:17px}.card-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-heading span{color:var(--muted);font-weight:820}.card-heading strong{font-size:1.25rem}.stacked-bars{display:flex;align-items:flex-end;gap:10px;min-height:142px;padding:18px 10px 0;border-radius:var(--radius-sm);background:linear-gradient(180deg,#f8faf4,#edf2e9)}.stacked-bars span{display:block;flex:1;height:var(--bar);min-height:28px;border-radius:6px 6px 0 0;background:var(--tone)}.forecast-meta{display:flex;justify-content:space-between;margin-top:12px;gap:12px}.ledger-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.ledger-row.balance-warning{margin:0 -8px;padding-right:8px;padding-left:8px;border-radius:var(--radius-sm);background:#f6e6ba94}.ledger-row time{color:var(--muted);font-size:.82rem;font-weight:800}.ledger-row.income strong{color:var(--green)}.cashflow-table-wrap{margin-top:12px;overflow:hidden}.table-toolbar{padding:12px 14px;border-bottom:1px solid var(--line)}.table-toolbar>div{display:flex;flex-wrap:wrap;gap:8px}.pill,.filter-chip{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted);background:#fff;font-size:.78rem;font-weight:850}.pill.active,.filter-chip.active{color:#152018;background:var(--green-soft)}.icon-button{width:34px;height:34px;color:#fff;background:#20271f;font-weight:900}table{width:100%;border-collapse:collapse}th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{color:var(--muted);background:#f7f8f2;font-size:.74rem;text-transform:uppercase}td{font-size:.88rem;font-weight:740}tr.done td{color:#8a938c}tr.balance-warning td{background:#f6e6ba85}tr.balance-warning td:first-child{box-shadow:inset 4px 0 0 var(--amber)}.status{display:inline-flex;min-height:24px;align-items:center;padding:0 8px;border-radius:999px;font-size:.72rem}.status.complete{color:#1b6848;background:var(--green-soft)}.status.upcoming{color:#7b5b12;background:var(--amber-soft)}.mobile-header{margin-bottom:18px}.mobile-header div,.timeline-mobile-head,.command-mobile-head{display:flex;align-items:center;gap:8px}.mobile-header span{color:#f8fbf5a8;font-weight:800}.mobile-header strong{font-size:1.5rem}.mobile-hero-card,.today-card,.command-mobile-card{display:grid;gap:12px;padding:18px;border-radius:18px;background:linear-gradient(135deg,rgba(229,246,220,.25),transparent),#ffffff17;border:1px solid rgba(255,255,255,.12)}.mobile-hero-card strong,.timeline-mobile-head strong,.command-mobile-card strong{font-size:2.45rem;line-height:.95}.mobile-balance-line,.compact-metrics{display:flex;justify-content:space-between;gap:12px}.mobile-balance-line b{color:#d8f4ca}.mobile-tab-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.mobile-tab-row button{min-height:38px;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:#f8fbf5bd;background:#ffffff0f;font-weight:840}.mobile-tab-row button.active{color:#10180f;background:#e5f6dc}.mobile-list{display:grid;gap:10px}.mobile-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 12px;border-radius:12px;background:#ffffff14}.mobile-item time{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;background:#ffffff1a;font-weight:900}.mobile-item div{min-width:0}.mobile-item span{display:block;overflow:hidden;color:#f8fbf594;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.mobile-item b{font-size:.9rem}.mobile-item.income b{color:#bdecc8}.mobile-item.transfer b{color:#cfd9ff}.bottom-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}.bottom-nav button{width:auto;background:#ffffff12}.bottom-nav button.active{color:#10180f;background:#e5f6dc}.subs-header,.subs-calendar-head{padding:22px 24px;border-bottom:1px solid var(--line)}.subs-total{display:grid;gap:10px;text-align:left}.subs-total strong{font-size:1.7rem}.subscription-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;padding:18px}.subscription-list{display:grid;gap:10px}.subscription-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fbfbf7}.service-logo{display:grid;width:42px;height:42px;place-items:center;border-radius:999px;font-size:.75rem;font-weight:950}.service-logo.green{background:var(--green-soft);color:#1b6848}.service-logo.amber{background:var(--amber-soft);color:#74500e}.service-logo.gray{background:#e5e5e0;color:#6f746e}.service-logo.pink{background:#f5d8e1;color:#923e5c}.subscription-row span:not(.service-logo){display:block;overflow:hidden;color:var(--muted);font-size:.82rem;line-height:1.3;text-overflow:ellipsis;white-space:normal}.subscription-row.muted{opacity:.62}.renewal-panel{display:grid;align-content:start;gap:12px;padding:18px;background:#172019;color:#f7fbf4}.renewal-panel p{color:#f7fbf4ad;line-height:1.45}.renewal-panel button,.today-card button{min-height:40px;color:#172019;background:#e5f6dc;font-weight:880}.timeline-grid{grid-template-columns:minmax(0,1.08fr) minmax(320px,.44fr)}.timeline-desktop{padding:24px;background:#fbf8f0}.brand-word{display:inline-flex;min-height:28px;align-items:center;padding:0 10px;border-radius:var(--radius-sm);color:#28251d;background:#f3d48f;font-weight:950}.runway-meter{width:min(360px,38%);height:14px;overflow:hidden;border-radius:999px;background:#eee5d0}.runway-meter span{display:block;width:var(--runway);height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f8c67,#c5962f,#d95f4f)}.timeline-summary-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.timeline-summary-row>div{display:grid;gap:8px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.timeline-summary-row strong{font-size:1.28rem}.calendar-board{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;min-height:334px}.calendar-column{display:grid;align-content:start;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffffbd}.calendar-column.active{outline:2px solid #c5962f}.calendar-date{color:#a06d0e;font-size:1.7rem;font-weight:950}.event{display:grid;gap:5px;padding:11px;border-radius:var(--radius-sm);background:#f6ead2;color:#342918;font-size:.84rem;font-weight:850}.event b{color:#7b5b12;font-size:.78rem}.event.income{background:var(--green-soft)}.event.income b{color:#1b6848}.event.transfer{background:var(--blue-soft)}.event.transfer b{color:#42599c}.event.try{background:#f1dfe6}.event.complete{opacity:.54;text-decoration:line-through}.timeline-footer{display:flex;justify-content:space-between;gap:14px;margin-top:16px;color:var(--muted);font-size:.86rem;font-weight:800}.timeline-footer button{min-height:34px;padding:0 12px;background:#2a251a;color:#fff}.timeline-phone{background:#261e18}.timeline-mobile-head{color:#fff}.timeline-mobile-head span{color:#ffffffa8;font-weight:840}.today-card{margin:18px 0;background:#f3d48f;color:#261e18}.today-card span{color:#261e18b3}.vertical-timeline{display:grid;gap:12px}.timeline-entry{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;padding:13px 0 13px 14px;border-left:2px solid #f3d48f}.timeline-entry time{color:#f3d48f;font-size:.82rem;font-weight:900}.timeline-entry strong,.timeline-entry span{grid-column:2}.timeline-entry strong{grid-row:1}.timeline-entry span{color:#ffffff9e;font-size:.82rem}.timeline-entry.paid{opacity:.58}.timeline-entry.transfer{border-color:#aab9f0}.timeline-subs{background:#fbf8f0}.renewal-timeline{display:grid;gap:12px;padding:18px 24px}.renewal-item{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.renewal-item time{color:#8d6214;font-weight:900}.renewal-item.soon{background:#f7e3bc}.renewal-item.try{background:#f1dfe6}.command-desktop{padding:18px;background:#eff0ed}.command-header{padding:10px 0 18px}.command-brand{display:flex;align-items:center;gap:12px}.command-brand .brand-mark{background:#172019;color:#e5f6dc}.command-brand span,.command-header span{display:block;color:var(--muted);font-size:.78rem;font-weight:820}.command-brand strong,.command-header strong{font-size:1.12rem}.command-controls{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.command-controls button,.command-header button{min-height:38px;padding:0 12px;border-color:var(--line);background:#fff;font-weight:850}.command-controls .primary,.command-header .primary{color:#fff;background:#242829}.command-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.command-metrics div{display:grid;gap:8px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.command-metrics strong{font-size:1.45rem}.command-body{display:grid;grid-template-columns:240px minmax(0,1fr);gap:12px;margin-top:12px}.resource-panel{padding:10px}.resource-row{display:grid;gap:5px;padding:12px;border-bottom:1px solid var(--line)}.resource-row span{color:var(--muted);font-size:.78rem;font-weight:850}.negative{color:var(--red)}.command-table-card{overflow:hidden}.command-filters{display:flex;gap:8px;padding:12px;border-bottom:1px solid var(--line)}.command-table td,.command-table th{padding:13px 12px}.dot{display:inline-block;width:10px;height:10px;border-radius:999px}.dot.green{background:var(--green)}.dot.amber{background:var(--amber)}.dot.blue{background:var(--blue)}.dot.red{background:var(--red)}.command-phone{background:#151718}.command-mobile-card{margin:18px 0;background:#ece7da;color:#151718}.compact-metrics small{color:#15171899;font-weight:840}.compact-table{display:grid;gap:8px}.compact-table div{display:grid;grid-template-columns:minmax(0,1fr) 54px auto;gap:8px;align-items:center;padding:14px 12px;border-radius:10px;background:#ffffff14}.compact-table span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-table b{color:#ffffff8a;font-size:.78rem}.command-subs{padding:18px;background:#eff0ed}.command-header.compact{padding-top:0}.subscription-matrix{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.matrix-row{display:grid;grid-template-columns:1.2fr .8fr .9fr .9fr .9fr;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);font-weight:760}.matrix-head{color:var(--muted);background:#f7f8f3;font-size:.76rem;text-transform:uppercase}.decision-record{align-items:flex-start;margin-top:26px;padding:24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffff9e}.decision-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:min(780px,100%)}.decision-grid>div{display:grid;gap:9px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper-solid)}.decision-grid p{margin-bottom:0;color:var(--muted);font-size:.86rem;line-height:1.42}.decision-icon{display:block;width:34px;height:34px;border-radius:var(--radius-sm)}.decision-icon.lock{background:linear-gradient(135deg,#172019 0,#172019 45%,#e5f6dc 45%)}.decision-icon.cloud{background:linear-gradient(135deg,#526bb3 0,#526bb3 48%,#e1e8fb 48%)}.decision-icon.fx{background:linear-gradient(135deg,#c5962f 0,#c5962f 50%,#f1dfe6 50%)}.selection-toast{position:fixed;right:22px;bottom:22px;z-index:20;max-width:min(360px,calc(100vw - 44px));padding:14px 16px;border-radius:var(--radius-lg);color:#fff;background:#172019;box-shadow:var(--shadow);font-weight:830;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.selection-toast.visible{opacity:1;transform:translateY(0)}@media(max-width:1120px){.preview-grid,.timeline-grid{grid-template-columns:1fr}.phone-frame{width:min(390px,100%)}.desktop-frame{min-height:auto}}@media(max-width:880px){.app-shell{width:min(100vw - 20px,760px);padding-top:12px}.review-header,.direction-intro,.decision-record{align-items:stretch;flex-direction:column}.header-actions{justify-content:stretch}.segmented{width:100%;overflow-x:auto}.segmented button{flex:1 0 max-content}.select-button{width:100%}.finance-os-desktop,.subscription-layout,.command-body{grid-template-columns:1fr}.side-rail{display:none}.account-strip,.os-content-grid,.timeline-summary-row,.command-metrics,.decision-grid,.calendar-board{grid-template-columns:1fr}.runway-meter{width:45%}th,td{white-space:normal}.cashflow-table-wrap,.command-table-card,.subscription-matrix{overflow-x:auto}.cashflow-table,.command-table,.subscription-matrix{min-width:720px}.matrix-row{grid-template-columns:1.1fr .7fr .9fr .9fr .9fr}}@media(max-width:520px){h1{font-size:2.35rem}.segmented button{flex:1 1 0;min-width:0;padding:0 4px;font-size:.72rem;white-space:nowrap}.os-main,.timeline-desktop,.command-desktop{padding:16px}.cashflow-table{min-width:0}.cashflow-table th:nth-child(n+4),.cashflow-table td:nth-child(n+4){display:none}.topbar,.subs-header,.timeline-top,.command-header,.timeline-footer,.renewal-item{align-items:flex-start;flex-direction:column}.renewal-item{display:flex}.phone-frame{min-height:640px;border-radius:24px}}#root{min-height:100vh}.bilo-app{display:grid;grid-template-columns:78px minmax(0,1fr);min-height:100vh}.app-rail{position:sticky;top:0;height:100vh;color:#f7fbf4b8}.app-rail .rail-button{color:#f7fbf4c7;border-color:#ffffff1f}.app-rail .rail-button.active{color:#172019}.app-mobile-nav{display:none}.app-main{min-width:0;padding:24px}.finance-page{display:grid;gap:18px}.app-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.app-header h1{color:#20251f;font-size:clamp(1.72rem,2vw,2.42rem);font-weight:780;letter-spacing:0;line-height:1.04}.header-cluster{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:10px}.header-cluster>.secondary-action{min-height:42px}.ui-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.ui-button,.ui-icon-button,.primary-action,.secondary-action,.row-action,.modal-header button,.vault-form button,.danger-action,.danger-inline{transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,color .14s ease,transform .14s ease}.ui-button,.primary-action,.secondary-action,.row-action,.modal-header button,.vault-form button,.danger-action,.danger-inline{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 13px;border:1px solid var(--border);border-radius:var(--radius-sm);font-weight:850;cursor:pointer}.ui-icon-button{display:inline-grid;width:36px;min-width:36px;height:36px;padding:0;place-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.ui-button.primary,.ui-icon-button.primary,.primary-action{color:#fff;border-color:#172019;background:#172019}.ui-button.secondary,.ui-icon-button.secondary,.secondary-action,.row-action,.modal-header button{color:#172019;background:#ffffffc7}.ui-button.ghost,.ui-icon-button.ghost{color:#172019;background:#ffffff94}.ui-button.danger,.ui-icon-button.danger,.danger-inline,.danger-action{color:#9b2d24;border-color:#d95f4f33;background:var(--danger-soft)}.ui-button:hover,.ui-icon-button:hover,.primary-action:hover,.secondary-action:hover,.row-action:hover,.danger-inline:hover{box-shadow:0 8px 20px #242b251a;transform:translateY(-1px)}.ui-button:focus-visible,.ui-icon-button:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid rgba(47,140,103,.46);outline-offset:2px}.metric-card{--metric-min-height: 92px;--metric-padding-block: 15px;--metric-padding-inline: 16px;--metric-gap: 12px;--metric-icon-size: 32px;--metric-icon-glyph-size: 16px;--metric-label-size: .8rem;--metric-value-size: 1.42rem;--metric-value-line-height: 1;min-width:0;display:grid;align-content:space-between;gap:var(--metric-gap);min-height:var(--metric-min-height);padding:var(--metric-padding-block) var(--metric-padding-inline);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 14px 34px #242b250f}.metric-card.positive{border-color:#2f8c6733;background:#eef7f1}.metric-card.info{border-color:#526bb333;background:#eef2fb}.metric-label{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:var(--metric-label-size);font-weight:850;line-height:1.15}.metric-label small{font-size:inherit}.metric-label>span{display:inline-grid;width:var(--metric-icon-size);height:var(--metric-icon-size);flex:0 0 auto;place-items:center;border:1px solid rgba(23,26,23,.08);border-radius:999px;color:#172019;background:#ffffffb8}.metric-label svg{width:var(--metric-icon-glyph-size);height:var(--metric-icon-glyph-size)}.metric-card strong{justify-self:start;font-size:var(--metric-value-size);line-height:var(--metric-value-line-height)}.subscription-metric{--metric-min-height: 106px;--metric-padding-block: 16px;--metric-padding-inline: 18px;--metric-icon-size: 36px;--metric-icon-glyph-size: 18px;--metric-label-size: .86rem;--metric-value-size: clamp(1.46rem, 1.8vw, 1.64rem)}.subscription-metric .metric-label{align-items:center;color:#273028;line-height:1.18}.subscription-metric strong{letter-spacing:0}.field,.form-grid label,.vault-form label{display:grid;gap:7px;color:var(--muted);font-size:.78rem;font-weight:850}.field>span,.emoji-picker-field>span{color:var(--muted)}.segmented-control{display:flex;flex-wrap:wrap;gap:6px}.segmented-control button{min-height:34px;padding:0 11px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);background:#ffffffc7;font-size:.78rem;font-weight:850;cursor:pointer}.segmented-control button.active,.segmented-control button[aria-selected=true]{color:#152018;border-color:#2f8c6733;background:var(--positive-soft)}.primary-action,.secondary-action,.row-action,.modal-header button,.vault-form button,.danger-action,.danger-inline{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 13px;border:1px solid var(--line);border-radius:var(--radius-sm);font-weight:850;cursor:pointer}.primary-action{color:#fff;background:#172019}.secondary-action,.row-action,.modal-header button,.danger-inline{color:#172019;background:#ffffffc2}.danger-inline{color:#9b2d24;background:var(--red-soft)}.danger-inline.icon-only{width:42px;min-width:42px;padding:0}.ui-icon-button.danger-inline{display:inline-grid;width:40px;min-width:40px;height:40px;padding:0;place-items:center}.row-action{min-height:30px;padding:0 9px;font-size:.76rem}.row-action.icon-only,.ui-icon-button.row-action{width:32px;min-width:32px;height:32px;padding:0}.split-action{position:relative}.month-nav{position:relative;display:inline-flex;align-items:center;gap:4px;min-height:42px;padding:0 4px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fffc}.month-picker{position:static;flex:0 0 138px;width:138px}.month-picker-trigger{width:138px;min-width:138px;max-width:138px;min-height:40px;border:0;background:transparent;overflow:hidden;white-space:nowrap}.month-arrow{display:inline-grid;width:34px;height:34px;place-items:center;border:0;border-radius:var(--radius-sm);color:#172019;background:#eff4ec;cursor:pointer}.month-arrow:disabled{color:var(--muted);cursor:default;opacity:.42}.month-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:25;display:grid;width:292px;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper-solid);box-shadow:var(--shadow)}.year-select-row{display:grid;gap:7px;color:var(--muted);font-size:.78rem;font-weight:850}.month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.month-option{min-height:38px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted);background:#f5f7f1;font-weight:850}.month-option.available{color:#172019;background:#fff;cursor:pointer}.month-option.active{color:#fff;border-color:#172019;background:#172019}.month-option:disabled{opacity:.42}.pill{cursor:pointer}.icon-button{display:inline-grid;padding:0;place-items:center;line-height:1}.icon-button.subtle{color:#172019;border-color:var(--line);background:#ffffffc7}.icon-button svg,.row-action svg,.danger-inline svg,.secondary-action svg,.primary-action svg{display:block}.forecast-heading{align-items:center}.forecast-visual{position:relative;height:218px}.forecast-switch{position:absolute;top:50%;z-index:2;display:grid;width:32px;height:44px;place-items:center;border:1px solid transparent;border-radius:var(--radius-sm);color:#172019;background:transparent;cursor:pointer;transform:translateY(-50%)}.forecast-switch:hover,.forecast-switch:focus-visible{background:#ffffff47}.forecast-switch.left{left:4px}.forecast-switch.right{right:4px}.fx-chip{display:inline-flex;align-items:center;gap:7px;width:fit-content;margin-top:14px;padding:7px 9px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted);background:#ffffffbf;font-size:.78rem;font-weight:820}.fx-chip.dark{border-color:#ffffff24;color:#f7fbf4bd;background:#ffffff12}.chart-panel{height:100%;min-height:0;padding:16px 48px;overflow:hidden;border-radius:var(--radius-sm);background:var(--surface-muted)}.resource-chart{display:grid;grid-template-columns:minmax(160px,.96fr) minmax(160px,1fr);align-items:center;gap:18px}.stacked-bars{display:flex;align-items:stretch;height:100%;min-height:0;padding:10px 0 0;border-radius:0;background:transparent}.resource-bar{flex:1 1 0;display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:end;min-width:0;gap:8px}.stacked-bars .resource-bar span{display:block;flex:none;width:100%;height:var(--bar);min-height:4px;border-radius:var(--radius-sm) var(--radius-sm) 3px 3px;background:var(--tone)}.resource-bar small{overflow:hidden;color:var(--muted);font-size:.68rem;font-weight:850;text-align:center;text-overflow:ellipsis;white-space:nowrap}.category-chart{display:grid;grid-template-columns:minmax(112px,132px) minmax(0,1fr);align-items:center;height:100%;min-height:0;gap:18px}.category-pie{position:relative;display:grid;width:min(132px,100%);aspect-ratio:1;justify-self:center;min-width:0;place-items:center;border-radius:999px;background:var(--pie);box-shadow:inset 0 0 0 1px #171a1714,0 14px 30px #242b251a}.chart-legend{display:grid;align-content:center;gap:7px;max-height:100%;min-width:0;overflow:hidden}.category-chart-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:4px;border-bottom:1px solid rgba(23,26,23,.08)}.category-chart-summary span{color:var(--muted);font-size:.72rem;font-weight:850;text-transform:uppercase}.category-chart-summary strong{color:#172019;font-size:.98rem;font-weight:930;white-space:nowrap}.chart-legend-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:20px}.chart-legend-row i{display:block;width:10px;height:10px;border-radius:999px;background:var(--legend-color, var(--category-color))}.chart-legend span,.chart-legend p{overflow:hidden;margin:0;color:var(--muted);font-size:.75rem;font-weight:840;text-overflow:ellipsis;white-space:nowrap}.chart-legend strong{font-size:.78rem;white-space:nowrap}.source-visibility{display:grid;gap:10px}.account-card{position:relative;overflow:hidden;border-color:var(--border);background:var(--surface)}.account-card:before{position:absolute;inset:0 auto 0 0;width:4px;content:"";background:var(--positive)}.account-card.balance-green{background:#fafdf8e0}.account-card.balance-yellow{background:#fffaebe6}.account-card.balance-yellow:before{background:var(--warning)}.account-card.balance-red{background:#fff6f4e6}.account-card.balance-red:before{background:var(--danger)}.mini-ledger{display:flex;flex-direction:column;min-height:0}.resource-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-icon-button{display:inline-grid;width:28px;height:28px;place-items:center;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted);background:#ffffffb3;cursor:pointer}.hidden-sources{display:flex;flex-wrap:wrap;gap:8px;margin-top:-2px}.hidden-sources button{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 10px;border:1px dashed rgba(23,26,23,.13);border-radius:var(--radius-sm);color:var(--muted);background:#ffffff80;font-size:.76rem;font-weight:820;cursor:pointer}.cashflow-table th:last-child,.cashflow-table td:last-child{text-align:right}.cashflow-table th:nth-child(6),.cashflow-table th:nth-child(7),.cashflow-table th:nth-child(8),.cashflow-table td:nth-child(6),.cashflow-table td:nth-child(7),.cashflow-table td:nth-child(8),.money-cell{text-align:right}.cashflow-table td{vertical-align:middle}.name-cell,.usd-cell{display:grid;gap:4px}.name-cell span,.usd-cell span{color:var(--muted);font-size:.74rem;font-weight:800;white-space:normal}.line-balance{font-weight:900}.line-balance.negative{color:var(--red)}.line-balance.empty{color:var(--muted);font-weight:850}.category-chip{display:inline-flex;align-items:center;width:fit-content;min-height:26px;padding:0 8px;border:1px solid var(--category-border, var(--line));border-radius:var(--radius-sm);color:var(--category-color, #1b6848);background:var(--category-bg, var(--green-soft));font-size:.74rem;font-weight:900}.upcoming-name{display:flex;align-items:center;min-width:0;gap:8px}.upcoming-name b{display:inline-flex;align-items:center;min-width:0;gap:6px;overflow:hidden;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.upcoming-name b small{display:inline-grid;min-width:20px;height:20px;place-items:center;border-radius:999px;color:var(--muted);background:#171a1712;font-size:.68rem;font-weight:900}.upcoming-name .category-chip{max-width:88px;min-height:22px;padding:0 7px;font-size:.68rem}.row-actions{display:inline-flex;justify-content:flex-end;gap:6px}.table-toolbar .table-actions{display:inline-flex;justify-content:flex-end;gap:8px}.empty-row{padding:24px;color:var(--muted);text-align:center}.upcoming-empty{flex:1 1 auto;display:grid;min-height:164px;align-self:stretch;place-items:center;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem;font-weight:850;overflow:hidden}.upcoming-empty.stamped span{padding:12px 28px;border:3px double rgba(47,140,103,.42);border-radius:var(--radius-sm);color:#2f8c679e;font-size:1.2rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase;transform:rotate(-12deg)}.ledger-row.expense strong{color:var(--red)}.ledger-row.revenue strong{color:var(--green)}.ledger-row.transfer strong{color:var(--blue)}.full-width-layout{grid-template-columns:minmax(0,1fr) 320px}.settings-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;width:min(880px,100%);max-width:880px}.settings-panel{display:grid;align-content:start;gap:16px;padding:20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffffd1}.settings-heading{display:flex;align-items:center;gap:9px}.trust-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.trust-summary .metric-card{--metric-min-height: 78px;--metric-padding-block: 13px;--metric-padding-inline: 13px;--metric-value-size: 1.04rem;box-shadow:none}.settings-panel p{margin:0;color:var(--muted);line-height:1.5}.form-grid label,.vault-form label{display:grid;gap:7px;color:var(--muted);font-size:.78rem;font-weight:850}input,select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 11px;color:var(--ink);background:#fff;font:inherit;font-weight:780}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,#5f675f 50%),linear-gradient(135deg,#5f675f 50%,transparent 50%);background-position:calc(100% - 19px) 50%,calc(100% - 13px) 50%;background-repeat:no-repeat;background-size:6px 6px,6px 6px}.form-grid .checkbox-field{display:flex;align-items:center;align-self:end;gap:10px;min-height:42px;color:var(--muted);font-size:.78rem;font-weight:850}.form-grid .checkbox-field input{width:18px;min-height:18px;accent-color:#172019}.facts-list{display:grid;gap:10px;margin:0}.facts-list div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.facts-list dt{color:var(--muted);font-weight:850}.facts-list dd{margin:0;font-weight:900}.backup-status-list dd{text-align:right}.backup-actions{display:flex;flex-wrap:wrap;gap:10px}.backup-actions .secondary-action,.backup-actions .ui-button{flex:1 1 180px}.settings-note{padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffffad;font-size:.82rem;font-weight:780;overflow-wrap:anywhere}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:18px;background:#0f14106b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-card{display:grid;gap:18px;width:min(720px,100%);padding:22px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper-solid);box-shadow:var(--shadow)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.emoji-picker-field{position:relative;display:grid;gap:7px}.emoji-picker-button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-sm);color:#172019;background:#fff;cursor:pointer}.emoji-picker-button span{display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(23,26,23,.1);border-radius:var(--radius-sm);background:#f3f7ef;font-size:1.12rem}.emoji-picker-button strong{color:var(--muted);font-size:.78rem;font-weight:860}.emoji-picker-popover{position:absolute;z-index:4;top:calc(100% + 8px);left:0;display:grid;width:min(280px,100%);gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper-solid);box-shadow:var(--shadow)}.emoji-picker-popover input{min-height:40px;padding:0 11px;border:1px solid var(--line);border-radius:var(--radius-sm);color:#172019;background:#fff;font-size:1rem}.emoji-picker-actions{display:flex;justify-content:flex-end;gap:8px}.vault-screen{display:grid;min-height:100vh;place-items:center;padding:24px}.vault-card{display:grid;gap:18px;width:min(620px,100%);padding:28px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffffdb;box-shadow:var(--shadow)}.brand-lockup{display:flex;align-items:center;gap:12px;font-size:1.2rem}.vault-card h1{font-size:clamp(2.2rem,5vw,4rem)}.vault-copy{color:var(--muted);line-height:1.55}.vault-form{display:grid;gap:12px}.vault-form button{color:#fff;background:#172019}.form-error{margin:0;color:var(--red);font-weight:850}.danger-action{color:#9b2d24;background:var(--red-soft)}.subscription-row{grid-template-columns:44px minmax(0,1fr) auto auto;background:#ffffffe0}.subscription-row:hover{border-color:#2f8c672e;box-shadow:0 10px 24px #242b2512}.subs-total-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:12px;text-align:left}.subscription-groups{display:grid;gap:18px}.subscription-group{display:grid;gap:12px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#ffffffa8}.subscription-group-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:2px 2px 8px;border-bottom:1px solid rgba(23,26,23,.08);color:#172019;font-size:1.08rem;font-weight:900}.subscription-group-heading strong{color:var(--muted);font-size:.78rem;letter-spacing:0}.inactive-toggle{display:inline-flex;align-items:center;width:fit-content;gap:7px;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted);background:#ffffffb8;font-size:.78rem;font-weight:860;cursor:pointer}.inactive-toggle svg{display:block;transition:transform .16s ease}.inactive-toggle svg.expanded{transform:rotate(90deg)}.subscription-detail{display:grid;gap:3px}.subscription-renewal{color:#2c312d;font-weight:860}.subscription-detail small{color:var(--muted);font-size:.76rem;font-weight:780}.emoji-avatar{width:42px;height:42px;border:1px solid rgba(23,26,23,.1);border-radius:14px;background:#f7f8f2;box-shadow:inset 0 0 0 1px #ffffffad;color:#172019;font-size:1.42rem;text-shadow:none}.emoji-avatar.empty{color:#171a1761;font-size:1rem;text-shadow:none}.subscription-row b{white-space:nowrap}@media(max-width:880px){.bilo-app{display:block;padding-bottom:0}.app-rail{display:none}.app-mobile-nav{position:sticky;top:0;z-index:24;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 14px 8px;border-bottom:1px solid rgba(23,26,23,.08);background:#f4f7eff5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-mobile-nav button{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:44px;gap:7px;border:1px solid var(--border);border-radius:var(--radius-sm);color:#4f5a51;background:#ffffffc2;font-size:.78rem;font-weight:860;line-height:1}.app-mobile-nav button.active{color:#152018;border-color:#2f8c6738;background:var(--positive-soft);box-shadow:inset 0 0 0 1px #ffffff8a}.app-main{padding:10px 14px 18px}.app-header{align-items:flex-start;flex-direction:column;gap:12px}.header-cluster{justify-content:flex-start;width:100%;gap:8px}.header-cluster>*{flex:0 0 auto}.month-nav{width:auto;max-width:100%;min-height:40px}.month-picker{flex:0 0 126px;width:126px}.month-picker-trigger{width:126px;min-width:126px;max-width:126px;min-height:38px;padding:0 8px}.month-arrow{width:34px;min-width:34px;height:34px}.month-popover{left:0;right:auto}.full-width-layout,.settings-grid{grid-template-columns:1fr}.cashflow-table{width:100%;min-width:0;font-size:.78rem}.subs-total-grid{grid-template-columns:1fr 1fr}.category-chart{grid-template-columns:118px minmax(0,1fr)}}@media(max-width:960px){.cashflow-table th:nth-child(9),.cashflow-table td:nth-child(9){display:none}.cashflow-table tbody tr{cursor:pointer;-webkit-user-select:none;user-select:none}}@media(max-width:860px){.cashflow-table th:nth-child(8),.cashflow-table td:nth-child(8){display:none}}@media(max-width:760px){.cashflow-table th:nth-child(3),.cashflow-table td:nth-child(3){display:none}}@media(max-width:680px){.cashflow-table th:nth-child(5),.cashflow-table td:nth-child(5){display:none}}@media(max-width:600px){.cashflow-table th:nth-child(4),.cashflow-table td:nth-child(4){display:none}}@media(max-width:560px){.form-grid,.account-strip{grid-template-columns:1fr}.app-header h1{font-size:1.82rem}.header-cluster{align-items:center;gap:8px}.header-cluster>*{flex:0 0 auto}.month-nav{order:0}.month-popover{position:fixed;right:12px;bottom:18px;left:12px;top:auto;width:auto;border-radius:18px}.os-content-grid{gap:10px}.forecast-visual{height:188px}.resource-chart,.category-chart{grid-template-columns:1fr;gap:10px}.chart-panel{padding:14px 38px}.stacked-bars{min-height:96px}.upcoming-empty{min-height:112px}.category-chart{grid-template-columns:1fr}.category-pie{width:96px}.category-chart-summary{display:grid;gap:2px}.category-chart-summary strong{font-size:.88rem}.modal-actions{display:grid}.modal-backdrop{align-items:end;padding:0}.modal-card{width:100%;max-height:calc(100vh - 24px);overflow:auto;border-radius:18px 18px 0 0}.subs-total-grid{grid-template-columns:1fr}.cashflow-table-wrap{overflow-x:auto}.cashflow-table{table-layout:fixed}.cashflow-table th,.cashflow-table td{padding:10px 8px}.cashflow-table th:nth-child(1),.cashflow-table td:nth-child(1){display:table-cell;width:64px}.cashflow-table th:nth-child(2),.cashflow-table td:nth-child(2){display:table-cell}.cashflow-table th:nth-child(6),.cashflow-table td:nth-child(6){display:table-cell;width:98px}.cashflow-table th:nth-child(7),.cashflow-table td:nth-child(7){display:table-cell;width:92px}.cashflow-table .name-cell strong,.cashflow-table .money-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-toolbar{align-items:stretch;flex-direction:column}.table-toolbar>div,.segmented-control{width:100%}.segmented-control{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.segmented-control button{min-width:0;padding:0 4px}.subscription-row{grid-template-columns:42px minmax(0,1fr) auto}.subscription-row>b{grid-column:2}.subscription-row .row-action{grid-column:3;grid-row:1 / span 2}.trust-summary{grid-template-columns:1fr}}@media(max-width:460px){.cashflow-table th:nth-child(7),.cashflow-table td:nth-child(7){display:none}.cashflow-table th:nth-child(1),.cashflow-table td:nth-child(1){width:62px}.cashflow-table th:nth-child(6),.cashflow-table td:nth-child(6){width:102px}}@media(max-width:350px){.cashflow-table{min-width:330px}}
