:root{--navy-950: #010736;--navy-900: #0d1c42;--navy-700: #22396f;--cream-100: #fcf1d0;--ground: #f5f6fa;--surface: #ffffff;--raised: #f3f5fa;--active: #010736;--border: #e6e8ef;--rule: #eff1f6;--control: #cbd2e1;--text: #010736;--muted: #465068;--faint: #57617a;--accent: #22396f;--primary: #010736;--primary-ink: #ffffff;--positive: #1c6e48;--pill-positive-bg: #dcfae5;--pill-positive-ink: #06371b;--negative: #b4232c;--pill-negative-bg: #ffedea;--pill-negative-ink: #7a161d;--pill-wency-bg: #e7eef9;--pill-wency-ink: #0d1c42;--pill-shing-bg: #fcf1d0;--pill-shing-ink: #3d2c02;--font: "Manrope", system-ui, -apple-system, sans-serif;--fs-kpi: 32px;--fs-title: 28px;--fs-stat: 20px;--fs-section: 16px;--fs-body: 14px;--fs-sub: 13px;--fs-small: 12px;--radius-card: 20px;--radius-control: 10px;--radius-pill: 999px;--sidebar-width: 248px;--gap: 16px;--card-pad: 22px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--ground);color:var(--text);font-family:var(--font);font-size:var(--fs-body);line-height:20px;-webkit-font-smoothing:antialiased}h1,h2,h3,p,ul,ol,figure{margin:0}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num,table,.kpi-value,input[type=number]{font-variant-numeric:tabular-nums}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100svh;background:var(--ground)}.sidebar{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;padding:22px 14px 18px;overflow-y:auto}.brand-row{display:flex;align-items:center;gap:10px;padding:2px 10px 20px}.brand-name{font-size:var(--fs-stat);font-weight:700;letter-spacing:-.02em;color:var(--navy-950);line-height:24px}.brand-scope{font-size:var(--fs-small);color:var(--muted);line-height:16px}.nav-list{display:flex;flex-direction:column;gap:4px}.nav-btn{display:flex;align-items:center;gap:10px;width:100%;height:38px;padding:0 12px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--muted);font-size:var(--fs-body);font-weight:500;text-align:left;white-space:nowrap;cursor:pointer;transition:background-color .14s ease,color .14s ease}.nav-btn svg{width:16px;height:16px;flex:none}.nav-btn:hover{background:#e9ecf5;color:var(--text)}.nav-btn[aria-current=page]{background:var(--navy-950);color:#fff;font-weight:600}.nav-badge{margin-left:auto;padding:0 8px;height:20px;flex:none;display:inline-flex;align-items:center;border-radius:var(--radius-pill);font-size:var(--fs-small);font-weight:600;white-space:nowrap;background:var(--pill-negative-bg);color:var(--pill-negative-ink)}.nav-btn[aria-current=page] .nav-badge{background:var(--cream-100);color:var(--navy-950)}.sidebar-footer{margin-top:auto;padding-top:16px;display:flex;flex-direction:column;gap:8px}.couple-card{padding:12px 14px;border-radius:var(--radius-control);background:#ebeff8;display:flex;flex-direction:column;gap:6px}.couple-avatars{display:flex;align-items:center;gap:6px}.avatar-pill{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:var(--radius-pill);font-size:var(--fs-small);font-weight:600;white-space:nowrap}.avatar-pill.wency{background:var(--navy-700);color:#fff}.avatar-pill.shing{background:var(--cream-100);color:var(--navy-950)}.avatar-pill.other{background:#e2e6f0;color:var(--navy-950)}.mobile-topbar{display:none}.mobile-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0107366b;z-index:50;display:flex}.mobile-drawer{width:min(280px,84vw);height:100%;background:var(--surface);padding:20px 16px;display:flex;flex-direction:column;gap:12px}.work-sheet-wrap{padding:12px 12px 12px 0;min-width:0}.work-sheet{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);min-height:calc(100svh - 24px);padding:24px 28px 32px;min-width:0}.sheet-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.sheet-title-block h1{font-size:var(--fs-title);line-height:34px;font-weight:700;letter-spacing:-.02em;color:var(--navy-950)}.sheet-subtitle{margin-top:2px;font-size:var(--fs-body);color:var(--muted)}.header-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;border-radius:var(--radius-pill);border:1px solid var(--control);background:var(--surface);color:var(--text);font-size:var(--fs-body);font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color .14s ease,border-color .14s ease}.btn:hover{background:var(--raised)}.btn-primary{background:var(--navy-950);border-color:var(--navy-950);color:#fff}.btn-primary:hover{background:var(--navy-900);border-color:var(--navy-900)}.btn-cream{background:var(--cream-100);border-color:#e5d49f;color:var(--navy-950)}.btn-cream:hover{background:#f6e6b6}.btn-ghost{border-color:transparent;background:transparent;padding:0 10px;color:var(--muted)}.btn-ghost:hover{background:var(--raised);color:var(--text)}.btn-danger{border-color:#f3c4c7;color:var(--negative);background:var(--surface)}.btn-danger:hover{background:var(--pill-negative-bg)}.select-pill,.input-field{height:36px;padding:0 12px;border-radius:var(--radius-control);border:1px solid var(--control);background:var(--surface);color:var(--text);font-size:var(--fs-body);font-weight:500}.select-pill{border-radius:var(--radius-pill);padding:0 14px;cursor:pointer}.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap)}.span-12{grid-column:span 12}.span-7{grid-column:span 7}.span-6{grid-column:span 6}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.hero-card{border-radius:var(--radius-card);padding:20px 22px;display:flex;flex-direction:column;justify-content:space-between;min-height:148px;min-width:0}.hero-card.navy{background:var(--navy-700);border:1px solid var(--navy-700);color:#fff}.hero-card.cream{background:var(--cream-100);border:1px solid #ece0b9;color:var(--navy-950)}.hero-card.light{background:var(--surface);border:1px solid var(--border);color:var(--navy-950)}.hero-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.hero-pill{display:inline-flex;align-items:center;height:26px;padding:0 12px;border-radius:var(--radius-pill);font-size:var(--fs-small);font-weight:600}.hero-card.navy .hero-pill{border:1px solid rgba(255,255,255,.55);color:#fff}.hero-card.cream .hero-pill,.hero-card.light .hero-pill{border:1px solid var(--navy-950);color:var(--navy-950)}.hero-value{font-size:var(--fs-kpi);line-height:38px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:18px}.hero-sub{margin-top:4px;font-size:var(--fs-sub);line-height:18px;font-variant-numeric:tabular-nums}.hero-card.navy .hero-sub{color:#e6ecfa}.hero-card.cream .hero-sub{color:#2f2608}.hero-card.light .hero-sub{color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--card-pad);min-width:0;display:flex;flex-direction:column}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.panel-head h2{font-size:var(--fs-stat);line-height:24px;font-weight:600;color:var(--navy-950)}.panel-meta{font-size:var(--fs-sub);color:var(--muted)}.pillar-stage{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:8px;height:236px;padding-top:12px}.pillar-col{display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-width:0}.pillar-bar{width:100%;min-height:60px;border-radius:var(--radius-control) var(--radius-control) 0 0;padding:10px 8px;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;border:0;text-align:left;cursor:pointer;transition:opacity .14s ease;overflow:hidden}.pillar-bar:hover{opacity:.9}.pillar-pct{font-size:var(--fs-section);line-height:20px;font-weight:700;font-variant-numeric:tabular-nums}.pillar-name{font-size:var(--fs-sub);line-height:16px;font-weight:500;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.pillar-caption{margin-top:6px;font-size:var(--fs-sub);color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.envelope-list{display:flex;flex-direction:column;gap:11px}.envelope-row{display:flex;flex-direction:column;gap:5px}.envelope-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.envelope-title{display:flex;align-items:center;gap:6px;font-size:var(--fs-body);font-weight:600;color:var(--text)}.envelope-figures{font-size:var(--fs-sub);color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}.envelope-figures strong{color:var(--text);font-weight:600}.envelope-track{height:8px;width:100%;background:var(--raised);border-radius:var(--radius-pill);overflow:hidden}.envelope-fill{height:100%;border-radius:var(--radius-pill);background:var(--navy-700)}.envelope-fill.fixed{background:var(--navy-900)}.envelope-fill.over{background:var(--negative)}.insight-stack{display:flex;flex-direction:column;gap:10px}.insight-box{padding:14px 16px;border-radius:var(--radius-control);background:var(--raised);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.insight-box.overrun{background:var(--cream-100)}.insight-title{font-size:var(--fs-body);font-weight:700;color:var(--navy-950)}.insight-detail{margin-top:3px;font-size:var(--fs-sub);line-height:18px;color:var(--navy-900)}.payday-strip{margin-top:12px;padding-top:12px;border-top:1px solid var(--rule);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.payday-mini{padding:10px;border-radius:var(--radius-control);background:var(--raised);display:flex;flex-direction:column;gap:3px}.payday-mini-date{font-size:var(--fs-sub);color:var(--muted);font-variant-numeric:tabular-nums}.payday-mini-amt{font-size:var(--fs-body);font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.table-scroll{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-body)}.data-table th{height:38px;padding:0 10px;text-align:left;font-size:var(--fs-small);font-weight:500;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap}.data-table td{height:46px;padding:6px 10px;border-bottom:1px solid var(--rule);vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table th.num,.data-table td.num{text-align:right;font-variant-numeric:tabular-nums}.data-table tr.total-row td{border-top:1px solid var(--border);font-weight:700;background:var(--raised)}.cell-input{width:104px;height:32px;padding:0 8px;border:1px solid var(--control);border-radius:var(--radius-control);background:var(--surface);text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.cell-input:focus{border-color:var(--navy-700)}.recent-list{display:flex;flex-direction:column}.recent-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--rule)}.recent-row:last-child{border-bottom:0}.recent-main{min-width:0}.recent-title{font-size:var(--fs-body);font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-meta{margin-top:2px;font-size:var(--fs-sub);color:var(--muted);display:flex;align-items:center;gap:6px}.recent-cost{font-size:var(--fs-body);font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.status-pill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:var(--radius-pill);font-size:var(--fs-small);font-weight:600;white-space:nowrap}.status-pill.ok{background:var(--pill-positive-bg);color:var(--pill-positive-ink)}.status-pill.over{background:var(--pill-negative-bg);color:var(--pill-negative-ink)}.status-pill.neutral{background:var(--raised);color:var(--muted)}.quick-form{display:grid;grid-template-columns:2fr 1fr 1.2fr 1fr 1.1fr auto;gap:8px;align-items:end;padding:16px;border-radius:var(--radius-card);background:var(--raised);margin-bottom:16px}.field-group{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:var(--fs-small);font-weight:600;color:var(--muted)}.settings-section{display:grid;grid-template-columns:minmax(240px,360px) minmax(0,1fr);gap:24px;padding:24px 0;border-bottom:1px solid var(--border);align-items:start}.settings-section:first-of-type{padding-top:4px}.settings-section:last-of-type{border-bottom:0}.settings-info h2{font-size:var(--fs-section);font-weight:600;color:var(--text)}.settings-info p{margin-top:6px;font-size:var(--fs-body);color:var(--muted);line-height:20px}.settings-card{background:var(--raised);border-radius:var(--radius-card);padding:20px;display:flex;flex-direction:column;gap:14px}.settings-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#01073673;display:flex;align-items:center;justify-content:center;padding:16px;z-index:60}.modal-card{width:min(460px,100%);background:var(--surface);border-radius:var(--radius-card);border:1px solid var(--border);padding:24px;display:flex;flex-direction:column;gap:14px}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head h2{font-size:var(--fs-stat);font-weight:700}.error-inline{padding:10px 12px;border-radius:var(--radius-control);background:var(--pill-negative-bg);color:var(--pill-negative-ink);font-size:var(--fs-small);font-weight:600}.empty-frame{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px;border:1px dashed var(--border);border-radius:var(--radius-control);color:var(--muted);font-size:var(--fs-body);text-align:center}@media(max-width:1024px){.app-shell{display:block}.sidebar{display:none}.mobile-topbar{position:sticky;top:0;z-index:30;height:52px;padding:0 16px;background:var(--ground);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}.mobile-menu-btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:var(--radius-pill);border:1px solid var(--control);background:var(--surface);font-weight:600;cursor:pointer}.header-controls .btn-primary{display:none}.work-sheet-wrap{padding:12px}.work-sheet{padding:20px;min-height:auto}.span-7,.span-6,.span-5{grid-column:span 12}.quick-form{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-section{grid-template-columns:1fr;gap:12px}}@media(max-width:640px){:root{--fs-kpi: 28px;--fs-title: 24px;--fs-stat: 18px}.work-sheet-wrap{padding:0}.work-sheet{border-radius:0;border-left:0;border-right:0;padding:16px}.span-4{grid-column:span 12}.btn,.select-pill,.input-field,.mobile-menu-btn{min-height:44px}.pillar-stage{grid-template-columns:repeat(3,minmax(0,1fr));height:auto;row-gap:14px}.pillar-col{height:156px}.payday-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-form,.settings-grid-2{grid-template-columns:1fr}}
