@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700;9..144,800&family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@300;400;500;600;700&display=swap";:root{--paper:#f4efe4;--paper-deep:#ebe3d2;--card:#fffaf1;--card-warm:#fdf5e6;--sunken:#ece2d0;--ink:#1b1712;--ink-soft:#3a322a;--soft:#514b43;--muted:#8d8376;--line:#d7cbbb;--line-strong:#b6aa98;--hairline:#1b17120f;--copper:#b94213;--copper-deep:#8e2f08;--copper-soft:#b9421314;--gold:#d99b35;--gold-soft:#d99b351a;--green:#147a44;--green-soft:#147a4414;--red:#9d174d;--red-soft:#9d174d14;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-lg:17px;--text-xl:22px;--text-2xl:28px;--gap-xs:8px;--gap-sm:12px;--gap-md:16px;--gap-lg:20px;--gap-xl:28px;--shadow-sm:0 1px 2px #1b17120a, 0 1px 1px #1b171208;--shadow-md:0 4px 12px #1b17120d, 0 1px 3px #1b17120a;--shadow-lg:0 12px 32px #1b171212, 0 2px 6px #1b17120a;--shadow-page:0 24px 60px #4d392412;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-pill:999px;--top-h:88px;--company-h:56px;color:var(--ink);background:var(--paper);font-family:IBM Plex Sans,system-ui,sans-serif;font-size:var(--text-base);font-feature-settings:"ss01", "ss02";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--copper);outline-offset:2px;border-radius:4px}body{background:radial-gradient(#8d837621 1px, transparent 1px), linear-gradient(180deg, var(--paper) 0%, var(--paper-deep) 100%);background-size:6px 6px,100% 100%;min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{background:var(--ink);border:1px solid var(--ink);border-radius:var(--radius-pill);color:var(--paper);cursor:pointer;font-size:var(--text-sm);letter-spacing:.005em;box-shadow:var(--shadow-sm);align-items:center;gap:7px;padding:9px 14px;font-weight:500;transition:background .14s,border-color .14s,transform .12s,box-shadow .14s;display:inline-flex}button:hover{background:var(--copper);border-color:var(--copper);box-shadow:var(--shadow-md);transform:translateY(-1px)}button:active{transform:translateY(0)}button.ghost{color:var(--ink);border-color:var(--line-strong);box-shadow:none;background:0 0}button.ghost:hover{background:var(--copper-soft);color:var(--copper-deep);border-color:var(--copper)}button.danger,.danger{color:var(--red)}button.ghost.danger:hover{background:var(--red-soft);color:var(--red);border-color:var(--red)}button.active{background:var(--copper);border-color:var(--copper);color:#fff;box-shadow:0 1px 0 #fff3 inset, var(--shadow-sm)}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);background:#fffdf8;width:100%;padding:9px 11px;transition:border-color .14s,box-shadow .14s,background .14s}input:hover,select:hover,textarea:hover{border-color:var(--line-strong)}input:focus,select:focus,textarea:focus{border-color:var(--copper);box-shadow:0 0 0 3px var(--copper-soft);outline:none}textarea{resize:vertical;min-height:220px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;line-height:1.55}a{color:var(--copper);border-bottom:1px solid #0000;font-weight:600;text-decoration:none;transition:border-color .14s,color .14s}a:hover{border-bottom-color:var(--copper);color:var(--copper-deep)}h1,h2,h3{font-variation-settings:"opsz" 96;letter-spacing:-.025em;color:var(--ink);margin:0;font-family:Fraunces,Georgia,serif;line-height:1.1}h1{font-size:clamp(32px,4.4vw,52px);font-weight:700}h2{font-size:clamp(26px,3vw,38px);font-weight:600}h3{font-size:var(--text-lg);margin-bottom:var(--gap-md);letter-spacing:-.018em;font-weight:600}small{color:var(--muted);font-size:var(--text-xs);letter-spacing:.01em}table{border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:100%;font-size:var(--text-sm)}th{border-bottom:2px solid var(--ink);color:var(--muted);letter-spacing:.14em;text-align:left;text-transform:uppercase;white-space:nowrap;background:linear-gradient(180deg, transparent, var(--hairline));padding:10px 12px;font-size:10.5px;font-weight:600}td{border-bottom:1px solid var(--line);white-space:nowrap;color:var(--ink-soft);padding:11px 12px}td:not(:first-child),th:not(:first-child){text-align:right;font-family:IBM Plex Mono,ui-monospace,monospace}tbody tr{transition:background .12s}tbody tr:hover{background:var(--copper-soft)}tbody tr:hover td{color:var(--ink)}tbody tr:last-child td{border-bottom:0}.spend-table td small{color:var(--muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:var(--text-xs);margin-top:4px;display:block}.spend-table .number-input{min-width:132px}.mix-control{gap:8px;min-width:160px;display:grid}.mix-control input[type=range]{accent-color:var(--copper);padding:0}.mix-control .number-input{max-width:100px}.app{min-height:100vh}.top{border-bottom:1px solid var(--line-strong);background:linear-gradient(135deg,#fffaf1 0%,#f6e9d0 60%,#eadbc2 100%);justify-content:space-between;align-items:end;padding:30px clamp(20px,4vw,56px);display:flex;position:relative}.top:after{content:"";background:linear-gradient(90deg, transparent, var(--copper) 50%, transparent);opacity:.35;height:1px;position:absolute;inset:auto 0 0}.top h1{margin-top:6px}.label{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;font-size:10.5px;font-weight:600;display:block}.company-tabs,.view-tabs{-webkit-backdrop-filter:blur(14px)saturate(1.3);border-bottom:1px solid var(--line);z-index:4;scrollbar-width:thin;background:#f8f1e4c7;align-items:center;gap:8px;padding:12px clamp(20px,4vw,56px);display:flex;position:sticky;overflow-x:auto}.company-tabs{top:0}.view-tabs{top:var(--company-h);font-size:var(--text-sm);background:#f4efe4d9}.view-tabs button{text-transform:capitalize}.view-tabs button:not(.active){color:var(--soft);box-shadow:none;background:0 0;border-color:#0000}.view-tabs button:not(.active):hover{background:var(--copper-soft);color:var(--copper-deep);border-color:var(--copper-soft)}.company-tabs button:not(.active){border-color:var(--line);color:var(--ink-soft);box-shadow:none;background:0 0}.company-tabs button:not(.active):hover{border-color:var(--copper);color:var(--copper-deep);background:var(--copper-soft)}.company-tabs button input{color:inherit;background:0 0;border:0;min-width:120px;padding:0}.company-tabs button input:focus{box-shadow:none}.company-tabs button.active input{color:#fff}main{max-width:1480px;margin:0 auto;padding:38px clamp(20px,4vw,56px) 96px}.section-head{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px;padding-bottom:14px;display:flex;position:relative}.section-head:after{content:"";background:var(--copper);width:64px;height:2px;position:absolute;bottom:-2px;left:0}.card{background:linear-gradient(180deg, var(--card) 0%, var(--card-warm) 100%);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md), 0 1px 0 #fff9 inset;margin-bottom:var(--gap-lg);padding:24px;transition:box-shadow .18s,border-color .18s}.card:hover{box-shadow:var(--shadow-lg), 0 1px 0 #fff9 inset}.card-title-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.card-title-row h3{margin-bottom:0}.label-with-info{align-items:center;gap:6px;display:inline-flex;position:relative}.info-dot{border:1px solid var(--line-strong);color:var(--muted);cursor:help;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;transition:border-color .14s,color .14s;display:inline-flex;position:relative}.info-dot:hover{border-color:var(--copper);color:var(--copper)}.impact-dot{background:var(--gold-soft);border:1px solid var(--gold);color:var(--copper);cursor:help;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;font-weight:700;display:inline-flex;position:relative}.info-popover{background:var(--ink);border-radius:var(--radius-sm);color:var(--paper);opacity:0;pointer-events:none;text-align:left;text-transform:none;white-space:normal;z-index:20;min-width:210px;max-width:260px;box-shadow:var(--shadow-lg);letter-spacing:.005em;padding:9px 11px;font-family:IBM Plex Sans,sans-serif;font-size:12px;font-weight:500;line-height:1.4;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px)}.info-dot:hover .info-popover,.info-dot:focus .info-popover,.impact-dot:hover .info-popover,.impact-dot:focus .info-popover{opacity:1;transform:translate(-50%)}.impact-popover{background:#2c1a08;min-width:240px}.kpi-cluster{margin-bottom:var(--gap-lg)}.kpi-cluster-head{align-items:center;gap:10px;margin-bottom:10px;padding-left:2px;display:flex}.kpi-cluster-label{color:var(--copper);letter-spacing:.16em;text-transform:uppercase;font-size:10.5px;font-weight:700}.kpi-cluster-head:after{content:"";background:linear-gradient(90deg, var(--copper-soft), transparent);flex:1;height:1px}.stats-grid{gap:var(--gap-md);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.stats-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.forecast-hero{gap:var(--gap-md);margin-bottom:var(--gap-lg);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.forecast-charts{margin-bottom:var(--gap-lg)}.stat{padding:18px 20px}.stat-head{align-items:center;gap:8px;margin-bottom:0;display:flex}.stat-icon{color:var(--muted);flex-shrink:0}.stat strong{letter-spacing:-.015em;color:var(--ink);font-variant-numeric:tabular-nums;margin-top:10px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:clamp(22px,2.6vw,30px);font-weight:600;line-height:1.05;display:block}.stat strong.accent{color:var(--copper)}.stat strong.good{color:var(--green)}.stat strong.warn{color:var(--gold)}.stat small{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums;margin-top:8px;display:block}.accent{color:var(--copper)}.two{gap:var(--gap-lg);margin-top:var(--gap-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.two.uneven{grid-template-columns:2fr 1fr}.two.compact{align-items:start;margin-top:0}.year-grid{gap:var(--gap-md);margin-bottom:var(--gap-lg);grid-template-columns:repeat(5,minmax(240px,1fr));padding-bottom:4px;display:grid;overflow-x:auto}.year-card{min-width:240px}.year-card h3{border-bottom:1px solid var(--line);margin-bottom:12px;padding-bottom:8px}.year-card-summary{border-top:1px solid var(--line);gap:8px;margin-top:14px;padding-top:12px;display:grid}.year-card-summary span{color:var(--soft);justify-content:space-between;font-size:12px;display:flex}.year-card-summary b{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:auto;font-family:IBM Plex Mono,ui-monospace,monospace}.year-card-summary small{color:var(--muted);margin-left:8px}.percent-spend-grid{gap:18px;display:grid}.percent-spend-row{border-top:1px solid var(--line);padding-top:14px}.percent-spend-row:first-child{border-top:0;padding-top:0}.percent-spend-years{grid-template-columns:repeat(5,minmax(160px,1fr));gap:12px;margin-top:10px;display:grid;overflow-x:auto}.percent-spend-year{border:1px solid var(--line);border-radius:var(--radius-md);background:#fffdf8;padding:12px;transition:border-color .14s,background .14s}.percent-spend-year:hover{border-color:var(--line-strong);background:#fff}.percent-spend-year>span{color:var(--muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:var(--text-xs);margin-bottom:8px;display:block}.percent-spend-year .slider{margin:0}.percent-spend-year .slider .label-with-info{display:none}.percent-spend-year .slider div{margin-bottom:7px}.table-wrap{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;overflow-x:auto}.table-wrap::-webkit-scrollbar{height:8px}.table-wrap::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}.table-wrap::-webkit-scrollbar-track{background:0 0}.number-input{align-items:center;gap:6px;display:flex}.number-input span{color:var(--muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:var(--text-sm)}.field{gap:7px;min-width:150px;display:grid}.toggle-field{border:1px solid var(--line);border-radius:var(--radius-md);background:#fffdf8;align-items:center;gap:10px;min-height:41px;padding:8px 12px;display:flex}.toggle-field input{accent-color:var(--copper);width:auto}.slider{margin:18px 0}.slider div{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.slider b{color:var(--copper);font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,ui-monospace,monospace}.slider b small{color:var(--muted);font-size:var(--text-xs);font-weight:500}.slider input{accent-color:var(--copper);padding:0}.inline-fields{align-items:end;gap:var(--gap-md);flex-wrap:wrap;display:flex}.compact-fields{align-items:end;gap:10px}.compact-fields .field{min-width:120px}.mini-metrics{margin-top:var(--gap-md);flex-wrap:wrap;gap:10px;display:flex}.mini-metrics span{background:var(--sunken);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--soft);font-size:var(--text-sm);padding:9px 12px;transition:border-color .14s,background .14s}.mini-metrics span:hover{border-color:var(--line-strong);background:#f5e9d4}.mini-metrics b{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:6px;font-family:IBM Plex Mono,ui-monospace,monospace}.memo-card{border-color:var(--line-strong);background:linear-gradient(#fffaf1,#fdf2dc)}.memo-grid{gap:var(--gap-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.memo-grid p{color:var(--soft);font-variation-settings:"opsz" 14;margin:8px 0 0;font-family:Fraunces,Georgia,serif;font-size:14.5px;line-height:1.62}.memo-grid p .dropcap{font-variation-settings:"opsz" 144;float:left;color:var(--copper);margin:4px 8px 0 0;font-family:Fraunces,Georgia,serif;font-size:2.4em;font-weight:700;line-height:.85}.notice{border-left:4px solid var(--copper);border-radius:var(--radius-md);color:var(--copper-deep);background:linear-gradient(90deg,#fed7aa 0%,#fee2c6 100%);align-items:center;gap:10px;margin-bottom:18px;padding:14px 16px;font-weight:500;display:flex}.notice-icon{color:var(--copper);flex-shrink:0}.round-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.round-head input{letter-spacing:-.018em;max-width:260px;font-family:Fraunces,Georgia,serif;font-size:22px;font-weight:600}.metric-list{gap:9px;margin:20px 0;display:grid}.metric-list div{border-bottom:1px solid var(--line);font-size:var(--text-sm);justify-content:space-between;padding-bottom:9px;display:flex}.metric-list b{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,ui-monospace,monospace}.actions{gap:10px;margin:14px 0;display:flex}.scenario-grid{gap:var(--gap-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.scenario-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#fffdf8;gap:12px;padding:18px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.scenario-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.scenario-card.active{border-color:var(--copper);box-shadow:inset 0 0 0 1px var(--copper), var(--shadow-md);background:linear-gradient(#fffdf8 0%,#fff5e7 100%)}.scenario-select{text-transform:capitalize;letter-spacing:.03em;justify-content:center;width:100%;font-weight:600}.scenario-values{border-top:1px solid var(--line);gap:7px;padding-top:10px;display:grid}.scenario-values span{color:var(--soft);font-size:var(--text-sm);justify-content:space-between;display:flex}.scenario-values b{color:var(--ink);font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,ui-monospace,monospace}.accordion .accordion-head{cursor:pointer;-webkit-user-select:none;user-select:none}.accordion .accordion-head:hover h3{color:var(--copper-deep)}.accordion-actions{align-items:center;gap:10px;display:flex}.accordion-toggle{border-color:var(--line);color:var(--muted);box-shadow:none;background:0 0;padding:6px 8px}.accordion-toggle:hover{background:var(--copper-soft);color:var(--copper-deep);border-color:var(--copper);box-shadow:none;transform:none}.accordion-body{animation:.22s accordionFade}@keyframes accordionFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.legend-swatches{flex-wrap:wrap;gap:14px;display:flex}.legend-swatch{color:var(--soft);font-size:var(--text-sm);align-items:center;gap:7px;display:inline-flex}.legend-swatch i{border-radius:2px;width:18px;height:10px;display:inline-block}.empty-state{background:linear-gradient(180deg, var(--card) 0%, var(--card-warm) 100%);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;align-items:center;gap:12px;max-width:560px;margin:60px auto;padding:56px 40px;display:grid}.empty-state h2{font-size:clamp(28px,3vw,36px)}.empty-state p{color:var(--soft);margin:0;line-height:1.6}.empty-state button{font-size:var(--text-base);justify-self:center;margin-top:10px;padding:11px 18px}footer{border-top:1px solid var(--line);color:var(--muted);font-family:Fraunces,Georgia,serif;font-size:var(--text-sm);letter-spacing:.04em;text-align:center;padding:28px}@media (width<=1280px){.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=1100px){.stats-grid,.stats-grid-4{grid-template-columns:repeat(3,minmax(0,1fr))}.forecast-hero,.scenario-grid,.memo-grid,.two,.two.uneven{grid-template-columns:1fr}}@media (width<=720px){.top{flex-direction:column;align-items:start;gap:12px;padding:22px clamp(16px,4vw,28px)}.stats-grid,.stats-grid.three,.stats-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head{flex-direction:column;align-items:start}main{padding:28px clamp(14px,4vw,24px) 64px}.card{padding:18px}}@media (width<=540px){.stats-grid,.stats-grid.three,.stats-grid-4{grid-template-columns:1fr}.company-tabs,.view-tabs{padding:10px clamp(14px,4vw,24px)}.view-tabs button{padding:7px 11px;font-size:12px}}
