:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17221D;background:#EDF2EF;font-synthesis:none;line-height:1.5;--forest:#386D57;--muted:#53665B;--border:#DCE5DE}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:4px} :focus-visible{outline:3px solid #386D57}button{cursor:pointer}button:disabled,select:disabled{cursor:default;opacity:1;color:#53665B}a{color:#386D57}h1,h2,p,figure{margin:0}button{min-height:40px}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100dvh}.sidebar{background:#244B3B;color:#F8FAF8;padding:36px 20px;display:flex;flex-direction:column;gap:44px}.brand{display:flex;align-items:center;gap:12px;font-weight:750;font-size:23px;letter-spacing:.02em}.brand small{display:block;font-size:11px;font-weight:500;letter-spacing:.08em}.brand-mark{display:grid;place-items:center;width:40px;height:44px;border:1px solid #98C58F;border-radius:12px;color:#C4F265}.sidebar nav{display:grid;gap:8px}.nav-item{background:transparent;color:#F8FAF8;border:0;border-radius:10px;text-align:left;padding:12px 16px;width:100%;font-weight:550}.nav-item:hover{background:#386D57}.nav-active{background:#C4F265;color:#17221D}.nav-active:hover{background:#C4F265}.sidebar :focus-visible{outline-color:#C4F265}.sidebar-note{margin-top:auto;font-size:12px;color:#DCE5DE}.main{min-width:0;padding:0 40px 40px;max-width:1800px;width:100%;margin:auto}.topbar{min-height:112px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:36px}.topbar .company-select{width:min(280px,100%);flex:0 1 280px;min-width:0}.date-label{text-align:right;display:grid;gap:4px;font-size:13px}.page-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:6px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:750;color:var(--forest);margin-bottom:8px}.heading{font-size:clamp(26px,2.7vw,38px);line-height:1.2;letter-spacing:-.035em;font-weight:650}.subtitle{color:var(--muted);margin-top:12px;font-size:14px}.grid{display:grid;gap:20px;min-width:0}.grid>*{min-width:0}.grid-2{grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr)}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{padding:24px;background:#F8FAF8;border:1px solid var(--border);border-radius:20px;box-shadow:0 4px 16px #17221D04;min-width:0}.stat{display:grid;gap:12px}.stat-label{font-size:12px;color:var(--muted);font-weight:600}.stat-value{font-size:clamp(23px,2.2vw,32px);font-weight:650;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.pill{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:20px;background:#E5EDE6;color:#244B3B;font-size:11px;font-weight:650;white-space:normal}.pill-warning{background:#F0EAD6;color:#5A481E}.pill-good{background:#C4F265;color:#17221D}.button{border:1px solid var(--border);border-radius:10px;padding:9px 16px;background:#F8FAF8;color:#17221D;font-weight:600}.button-primary{background:var(--forest);border-color:var(--forest);color:#fff}.button-quiet{background:transparent}.toolbar,.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.form,.stack{display:flex;flex-direction:column;gap:24px}.field{display:grid;gap:6px;min-width:0}.field-label{font-size:12px;font-weight:650;color:var(--muted)}.control{min-height:44px;width:100%;min-width:0;border:1px solid #A7B9AD;background:#F8FAF8;padding:10px 12px;border-radius:9px;color:#17221D}.table-scroll{overflow:auto;max-width:100%;border-radius:12px}.table{border-collapse:collapse;width:100%;font-size:14px;text-align:left;font-variant-numeric:tabular-nums}.table th,.table td{padding:15px 16px;border-bottom:1px solid var(--border);white-space:nowrap}.table th{font-size:12px;color:var(--muted);background:#EDF2EF}.table caption{text-align:left;padding:16px 0;color:var(--muted)}.alert{border:1px solid var(--border);border-radius:12px;padding:16px 20px;font-size:13px}.alert-error{background:#FAE8E5;color:#842A21;border-color:#D9A59D}.alert-info{background:#E5EDE6;color:#324E3F}.empty{min-height:240px;display:grid;place-items:center;text-align:center;padding:32px;color:var(--muted);font-size:14px;border:1px dashed #B4C4B9;border-radius:14px;background:#F0F4F0}.chart{width:100%;min-width:0}.chart svg{display:block;width:100%;overflow:visible}.chart text{fill:#53665B;font-size:12px;font-family:inherit;font-variant-numeric:tabular-nums}.chart-grid{stroke:#DCE5DE;stroke-width:1}.chart-history,.chart-forecast{fill:none;stroke:#386D57;stroke-width:3;stroke-linejoin:round}.chart-forecast{stroke-dasharray:7 5}.chart-point{fill:#386D57}.band-95{fill:#98C58F;fill-opacity:.22;stroke:#749D6E}.band-80{fill:#98C58F;fill-opacity:.45;stroke:#749D6E}.band-line{stroke-width:8}.legend{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-top:12px}.legend-history:before,.legend-forecast:before{content:"";display:inline-block;width:20px;border-top:3px solid #386D57;margin-right:7px;vertical-align:middle}.legend-forecast:before{border-top-style:dashed}.login-screen{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-card{width:min(440px,100%);padding:36px;border-radius:20px;background:#F8FAF8;border:1px solid var(--border)}.login-brand{font-size:26px;color:var(--forest);font-weight:750;margin-bottom:24px}.mobile-menu{display:none}.modal{max-width:min(560px,calc(100% - 32px));border:1px solid var(--border);border-radius:20px;padding:28px;background:#F8FAF8}.modal::backdrop{background:#17221D66}details{border:1px solid var(--border);border-radius:12px;padding:16px}summary{cursor:pointer;min-height:40px}.grow{flex:1;min-width:0}.muted{color:var(--muted)}.small{font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.section-title{font-size:17px;font-weight:650;letter-spacing:-.02em}.progress{width:100%;height:8px;accent-color:var(--forest)}.model-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--border);font-size:13px}.model-row:last-child{border-bottom:0;padding-bottom:0}@media(min-width:1025px){.sidebar{position:sticky;top:0;height:100dvh}.main{align-self:start}}@media(max-width:1200px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.main{padding-inline:28px}.grid-2{grid-template-columns:minmax(0,1fr)}}@media(max-width:1024px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.sidebar.is-open{display:flex}.mobile-menu{display:inline-flex;align-items:center}.topbar{margin-bottom:26px;min-height:100px}.page-header{align-items:flex-start;flex-direction:column}.sidebar-note{display:none}.sidebar{gap:24px}.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:540px){.main{padding:0 16px 24px}.topbar{flex-wrap:wrap;gap:12px;padding:18px 0}.topbar .company-select{flex:1;width:auto;min-width:0}.date-label{width:100%;text-align:left;display:flex;justify-content:space-between}.grid-4,.grid-3{grid-template-columns:minmax(0,1fr)}.grid{gap:16px}.card{padding:20px}.stat{gap:8px}.stat-value{font-size:30px}.stack{gap:20px}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.chart text{font-size:14px}.heading{font-size:29px}.page-header .pill{align-self:flex-start}.row{align-items:flex-start}.model-row{gap:8px}.chart svg{height:auto;min-height:180px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.stat-value,.card{overflow-wrap:anywhere}
.stat-money{font-size:clamp(18px,1.45vw,30px);white-space:nowrap;overflow-wrap:normal;letter-spacing:-.04em}
@media(max-width:540px){.stat-money{font-size:28px}}

.sidebar .button-quiet{color:#F8FAF8;border-color:#98C58F}.sidebar .button-quiet:focus-visible{outline:3px solid #C4F265}.alert:empty{display:none}
