:root{--ink:#172e3a;--muted:#6c7d87;--line:#dfe6e9;--paper:#fff;--bg:#f3f6f7;--nav:#112c38;--green:#127e6e;--mint:#e7f4ee;--amber:#a56e16;--red:#be4141;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #69bcb0;outline-offset:2px}button,input,select,textarea{border-radius:7px}input,select,textarea{border:1px solid #cdd9de;background:#fff;color:var(--ink);padding:9px 11px}input[type=number]{font-variant-numeric:tabular-nums}label{display:block;font-size:12px;color:var(--muted);font-weight:600}h1,h2,h3,p{margin:0}h1{font-size:29px;letter-spacing:-.7px;font-weight:650}h2{font-size:18px;font-weight:650}h3{font-size:14px}p{line-height:1.6}.muted{color:var(--muted)}.small{font-size:12px}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;background:var(--nav);color:#e5eef1;padding:32px 18px;display:flex;flex-direction:column;z-index:30}.brand{text-decoration:none;color:white;display:flex;align-items:center;gap:12px;font-size:26px;font-weight:700;padding-left:12px;letter-spacing:1px}.brand-mark{display:grid;place-items:center;width:38px;height:43px;border:1px solid #518778;border-radius:8px;color:#7ed4b8;background:#214a50;font-size:29px}.brand-sub{display:block;font-size:8px;font-weight:600;letter-spacing:2.2px;margin-top:3px;color:#a3b8c1}.workspace-label{font-size:9px;letter-spacing:1.6px;color:#7f9aa7;margin:48px 12px 15px}nav a{display:flex;gap:12px;padding:12px 14px;margin:3px 0;border-radius:7px;text-decoration:none;color:#a9c0ca;font-weight:500;align-items:center}nav a svg{width:18px;height:18px;opacity:.85}nav a:hover{background:#1d3c49;color:white}nav a.active{background:#284c56;color:#b2edd9;box-shadow:inset 3px 0 #57bfa3}nav .nav-separator{height:1px;background:#2c4652;margin:18px 12px}.sidebar-bottom{margin-top:auto;padding:25px 12px 0;font-size:11px;color:#aac0c9}.sidebar-bottom div{margin-top:9px;color:#688895;font-size:10px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#55ac8d;margin-right:6px}.app-shell{margin-left:224px;min-height:100vh}.topbar{height:67px;border-bottom:1px solid var(--line);background:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:0 36px;font-size:12px}.breadcrumbs{color:var(--muted)}.breadcrumbs span{padding:0 12px;color:#b8c5ca}.breadcrumbs strong{color:var(--ink);font-weight:500}.period{font-size:11px;color:#5a747f}.separator{padding:0 14px;color:#cbd5da}.toolbar{display:flex;align-items:center;gap:10px;padding:18px 36px;border-bottom:1px solid var(--line);background:#fdfefe}.variant-picker{max-width:420px;min-width:220px;margin-right:auto}.variant-picker label{font-size:9px;letter-spacing:1.2px;margin-bottom:5px}.variant-picker select{border:0;background:transparent;padding:0 22px 0 0;font-size:14px;font-weight:600;max-width:100%}.button{border:1px solid #cedadd;background:#fff;color:var(--ink);font-weight:600;padding:10px 16px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-size:12px}.button:hover{border-color:#6b9f98;background:#f3faf7}.button.primary{background:var(--green);color:white;border-color:var(--green);box-shadow:0 3px 5px #0c604317}.button.primary:hover{background:#096b5d}.button.subtle{background:transparent;border-color:transparent;color:#5c717c}.button.danger{color:var(--red)}.button.compact{padding:6px 10px;font-size:11px}.save-state{font-size:10px;color:var(--muted);max-width:140px;text-align:right}main{padding:32px 36px 16px;max-width:1800px;margin:0 auto}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:25px}.page-head p{font-size:12px;color:var(--muted);margin-top:9px}.eyebrow{color:var(--green);font-size:10px;font-weight:700;letter-spacing:1.5px;margin-bottom:9px}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:5px;background:#edf2f4;color:#506a78;font-size:10px;font-weight:600;padding:5px 8px;white-space:nowrap}.badge.green{background:var(--mint);color:#22775f}.badge.amber{background:#fff2d7;color:#946013}.badge.red{background:#fbe8e8;color:#ac3535}.card{background:var(--paper);border:1px solid var(--line);border-radius:10px;margin-bottom:20px;overflow:hidden;box-shadow:0 2px 3px #1c3d4b03}.card-pad{padding:24px}.card-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;gap:16px}.card-head p{color:var(--muted);font-size:11px;margin-top:6px}.card-foot{border-top:1px solid var(--line);padding:12px 24px;color:var(--muted);font-size:11px;background:#fbfcfd}.grid{display:grid;grid-template-columns:1.45fr 1fr;gap:20px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.metric{padding:21px 22px;background:white;border:1px solid var(--line);border-radius:9px}.metric-label{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px}.metric-value{font-size:29px;letter-spacing:-.8px;line-height:1.5;margin-top:10px;font-weight:650;font-variant-numeric:tabular-nums}.metric-value span{font-size:12px;letter-spacing:0;font-weight:400;color:#87969d;margin-left:4px}.metric-note{font-size:10px;color:var(--muted);margin-top:4px}.metric.highlight{background:#e9f5ef;border-color:#cce7da}.metric.highlight .metric-value{color:#15735d}.section-title{font-size:16px;font-weight:600}.order-summary{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;margin-bottom:18px;border-bottom:1px solid var(--line)}.grade-chip{background:#e7f2ef;border:1px solid #cce1d9;color:#29755d;border-radius:6px;padding:7px 11px;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600}.order-number{font-size:28px;font-weight:650;letter-spacing:-.5px}.kv{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;padding:9px 0}.kv span:first-child{color:var(--muted)}.callout{padding:14px 17px;border-radius:7px;background:#eef5f8;color:#466673;font-size:12px;line-height:1.55;margin-bottom:18px}.callout.amber{background:#fff4df;color:#94651e;border:1px solid #f1e3c6}.callout.green{background:var(--mint);color:#2c715e}.callout p+p{margin-top:8px}.steps{display:flex;gap:10px;align-items:center;margin-bottom:22px;color:#77939c;font-size:11px}.steps b{font-size:10px;background:#e5eeed;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:#287e69;margin-right:5px}.steps span{display:flex;align-items:center}.steps i{height:1px;background:#d8e3e5;flex:1}.table-wrap{overflow:auto;max-height:570px}.table-wrap.tall{max-height:75vh}table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px;text-align:left}th{position:sticky;top:0;background:#f5f8f9;color:#69818c;font-size:10px;font-weight:600;padding:12px 14px;border-block:1px solid var(--line);white-space:nowrap;z-index:2}td{padding:12px 14px;border-bottom:1px solid #edf1f3;vertical-align:middle;white-space:nowrap}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafdfc}.selected-row{background:#f0f8f4}.number{text-align:right;font-variant-numeric:tabular-nums}.data-table th{padding:11px 9px}.data-table td{padding:5px 4px}.data-table input,.data-table select{width:110px;min-width:85px;border:1px solid transparent;background:transparent;font-size:12px;padding:8px}.data-table input:hover,.data-table select:hover{border-color:#d3dfe3}.data-table input:focus,.data-table select:focus{background:white;border-color:var(--green)}.data-table input[type=number]{text-align:right;width:95px}.data-table input[type=datetime-local]{width:181px;font-size:11px}.data-table input.wide{width:190px}.data-table input[type=checkbox]{min-width:0;width:16px}.remove{border:0;background:transparent;color:#b76d6d;font-size:20px;padding:5px 10px}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:22px;overflow-x:auto}.tabs button{border:0;background:transparent;color:#748995;padding:12px 15px;border-bottom:2px solid transparent;border-radius:0;font-size:12px;white-space:nowrap}.tabs button.active{color:var(--green);border-color:var(--green);font-weight:650}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.empty{text-align:center;padding:50px 25px}.empty-icon{font-size:38px;color:#abc4c6;margin-bottom:16px}.empty h2{margin-bottom:9px}.empty p{color:var(--muted);font-size:12px;max-width:440px;margin:0 auto 20px}.timeline{padding:0 24px 21px}.timeline-header{display:flex;margin-left:64px;color:#92a2a8;font-size:9px;border-bottom:1px solid var(--line);padding-bottom:9px}.timeline-header span{flex:1}.timeline-line{display:flex;align-items:center;gap:16px;margin-top:14px}.timeline-label{width:48px;font-size:11px;color:#647f8b;flex-shrink:0}.timeline-track{height:31px;background:repeating-linear-gradient(90deg,#f6f8f9 0,#f6f8f9 calc(100% / 31 - 1px),#e7edee calc(100% / 31 - 1px),#e7edee calc(100% / 31));position:relative;flex:1;border-radius:4px;overflow:hidden}.operation{position:absolute;height:27px;top:2px;background:#aec7c9;border:1px solid #fff9;border-radius:3px;color:#214b55;overflow:hidden;font-size:9px;white-space:nowrap;display:flex;align-items:center;justify-content:center;min-width:2px}.operation.target{background:#198773;color:white}.operation.transition{background:repeating-linear-gradient(45deg,#e8ba76,#e8ba76 3px,#f2d4a4 3px,#f2d4a4 6px);color:#795422}.freeze-zone{position:absolute;inset:0 auto 0 0;background:#cad6dd45;border-right:2px dashed #7994a0;z-index:1;pointer-events:none}.legend{display:flex;gap:20px;font-size:10px;color:#78909a;margin-top:19px;flex-wrap:wrap}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px}.calendar th:first-child,.calendar td:first-child{position:sticky;left:0;z-index:3;background:white;min-width:100px}.calendar th:first-child{background:#f5f8f9;z-index:4}.calendar td{vertical-align:top;padding:9px;min-width:103px;font-size:10px}.calendar td.frozen{background:#f0f4f6}.calendar .day-grade{display:block;padding:4px 0;line-height:1.5;color:#3e6f74}.calendar .day-grade.target{color:#15836e;font-weight:650}.calendar .day-grade b{font-weight:500;color:#8da0a7}.calendar .day-transition{color:#ad7d36;font-size:9px}.section-note{margin:14px 24px;color:var(--muted);font-size:11px;line-height:1.6}.bar-row{display:grid;grid-template-columns:85px 1fr 70px;gap:12px;align-items:center;font-size:11px;margin:17px 0}.bar-track{height:8px;border-radius:4px;background:#edf2f2;overflow:hidden}.bar-fill{height:100%;background:#83b4a8;border-radius:4px}.bar-fill.amber{background:#d8b275}.flow-stats{display:flex;gap:16px;margin-top:20px}.flow-stats>div{flex:1;background:#f5f8f9;padding:14px;border-radius:7px}.flow-stats strong{display:block;font-size:19px;margin-top:7px}.run-list td{padding:16px 14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid label input,.form-grid label select{display:block;width:100%;margin-top:8px}.form-grid .full{grid-column:1/-1}.inline-form{display:flex;align-items:end;gap:15px;margin:20px 0}.inline-form input{margin-top:7px}.search{min-width:230px}.explain-number{font-size:24px;font-weight:600;padding:10px 0}.formula{display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:center;background:#f5f9f8;border:1px solid #e0eae6;padding:22px;border-radius:8px;margin:20px 0}.formula span{font-size:11px;color:var(--muted)}.formula strong{display:block;font-size:22px;color:var(--ink);margin-bottom:7px}.formula em{font-style:normal;color:#91a59f;font-size:22px}.mini-chart{width:100%;height:180px;overflow:visible}.chart-label{font-size:9px;fill:#80939a}.status-line{display:flex;gap:9px;align-items:center;font-size:12px;margin:14px 0}.status-line::before{content:'✓';color:var(--green);background:var(--mint);border-radius:50%;height:20px;width:20px;display:grid;place-items:center;font-size:10px}footer{padding:18px 36px 25px;font-size:10px;color:#91a1a8;max-width:1800px;margin:auto}#error{margin:20px 36px 0;background:#fcecec;border:1px solid #f0c9c9;border-radius:8px;padding:15px 18px;color:#993838;font-size:12px;white-space:pre-wrap}#job{margin:20px 36px 0;border:1px solid #c7e1d8;background:#eaf6f0;padding:14px 18px;border-radius:8px;font-size:12px}#job .progress-track{height:3px;background:#cbe4da;margin:12px 0 0;overflow:hidden;border-radius:4px}#job .progress-track div{height:100%;background:#298f75;width:30%;animation:progress 2s infinite ease-in-out}#job .job-head{display:flex;justify-content:space-between;align-items:center;gap:15px}@keyframes progress{0%{transform:translateX(-100%)}100%{transform:translateX(450%)}}#toast{position:fixed;bottom:28px;right:30px;padding:13px 20px;background:#204a43;color:white;border-radius:8px;box-shadow:0 6px 26px #153b4033;z-index:80;font-size:12px}dialog{border:1px solid var(--line);border-radius:12px;width:min(540px,calc(100vw - 36px));padding:28px;color:var(--ink);box-shadow:0 25px 90px #193c4a33}dialog::backdrop{background:#112c3877;backdrop-filter:blur(2px)}dialog h2{margin-bottom:9px}dialog p{font-size:12px;color:var(--muted);margin-bottom:23px}dialog .actions{justify-content:flex-end;margin-top:25px}.loading{padding:90px;text-align:center;color:var(--muted)}details>summary{cursor:pointer;padding:12px 0;font-size:12px;color:var(--green)}pre{overflow:auto;padding:15px;background:#f4f6f8;font-size:11px;max-height:350px}.error-text{color:var(--red);font-size:12px;margin-top:12px;line-height:1.5}.about-list p{margin-top:15px;font-size:12px}.history-select{max-width:360px;font-size:12px}.mobile-only{display:none}
.timeline-header{position:relative;height:23px;display:block}.timeline-header span{position:absolute;white-space:nowrap}
@media(min-width:1650px){main{padding-top:40px}.metric{padding:24px 26px}.card-pad{padding:27px}}
@media(max-width:1150px){.sidebar{width:192px;padding-inline:12px}.app-shell{margin-left:192px}.toolbar,.topbar{padding-inline:24px}main{padding-inline:24px}.metrics{gap:10px}.metric{padding:18px 16px}.metric-value{font-size:25px}.save-state{display:none}.grid{grid-template-columns:1fr}.period{font-size:10px}.variant-picker{min-width:170px;max-width:280px}.button{padding:10px 12px}}
@media(max-width:760px){.sidebar{position:static;width:100%;height:auto;padding:13px 16px}.brand{font-size:20px;padding:0}.brand-mark{height:30px;width:29px;font-size:21px}.brand-sub{font-size:7px}.workspace-label,.sidebar-bottom{display:none}nav{display:flex;overflow-x:auto;gap:3px;margin-top:14px}nav a{font-size:11px;white-space:nowrap;padding:9px}nav a svg{width:14px}nav .nav-separator{display:none}.app-shell{margin:0}.topbar{height:45px;padding:0 18px}.period{display:none}.toolbar{padding:14px 18px;gap:7px;flex-wrap:wrap}.variant-picker{flex:1;min-width:50%;max-width:75%}.toolbar #clone{margin-left:auto;font-size:10px}.toolbar #save{margin-left:auto}main{padding:24px 18px 10px}h1{font-size:24px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-value{font-size:24px}.page-head{gap:10px;flex-wrap:wrap}.card-head,.card-pad{padding:18px}.timeline{padding:0 18px 18px}.timeline-label{width:30px}.timeline-header{margin-left:46px}.operation{font-size:7px}.form-grid{grid-template-columns:1fr}.formula{padding:16px 10px;gap:5px}.formula strong{font-size:18px}.formula span{font-size:9px}.card-foot{padding-inline:18px}#error,#job{margin-inline:18px}footer{padding-inline:18px}.steps{font-size:9px}.history-select{width:100%}.flow-stats{gap:8px}.flow-stats>div{padding:10px}.flow-stats strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){#job .progress-track div{animation:none;width:100%}}
.sidebar{padding-top:25px;padding-bottom:20px;height:100dvh}.workspace-label{margin-top:28px;margin-bottom:10px}.sidebar nav{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#3d5c65 transparent;flex:1}.sidebar nav a{font-size:12px;padding:10px 13px}.nav-group{font-size:8px;letter-spacing:1.4px;color:#7195a2;padding:20px 14px 9px}.sidebar-bottom{padding:17px 8px 0;border-top:1px solid #2c4652;margin-top:15px}.user-card{display:flex;align-items:center;gap:11px;color:#ecf6f5;text-decoration:none;font-size:12px}.user-card small{display:block;color:#8aa7b3;font-size:9px;margin-top:4px}.avatar{display:grid;place-items:center;background:#3a625f;color:#d4f6e5;width:33px;height:33px;border-radius:50%;font-weight:600;font-size:14px;flex-shrink:0}.avatar.large{width:60px;height:60px;font-size:27px;background:#def0e8;color:#23745f}.logout{background:none;border:0;color:#88a9b5;font-size:10px;padding:15px 0 0}.tabs a{border:0;text-decoration:none;color:#748995;padding:12px 15px;border-bottom:2px solid transparent;border-radius:0;font-size:12px;white-space:nowrap}.tabs a.active{color:var(--green);border-color:var(--green);font-weight:650}.profile-heading{display:flex;align-items:center;gap:17px;margin-bottom:25px}.card form label{margin:18px 0}.card form input{display:block;width:100%;max-width:400px;margin-top:8px}.card form button{margin-top:10px}.auth-body{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:#fff}.auth-story{background:#112f39;padding:56px 60px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;color:#e9f4f1}.auth-story .eyebrow{color:#8dcbb9}.auth-story h1{font-size:44px;line-height:1.25;letter-spacing:-1.3px;margin-bottom:22px}.auth-story p{font-size:14px;color:#95b4bd;max-width:400px;line-height:1.8}.auth-facts{display:flex;gap:38px;margin-top:46px}.auth-facts span{font-size:10px;color:#91adb6}.auth-facts strong{display:block;font-size:29px;font-weight:500;color:#e0f1ec;margin-bottom:8px}.auth-main{display:flex;align-items:center;justify-content:center;margin:0;padding:40px;max-width:none}.auth-form{width:100%;max-width:365px}.auth-form h1{font-size:29px;margin-bottom:13px}.auth-form>p{font-size:13px;color:var(--muted);margin-bottom:32px}.auth-form label{margin:22px 0;font-size:12px}.auth-form input{display:block;width:100%;margin-top:10px;padding:13px}.auth-form button{width:100%;padding:13px;margin-top:14px}.auth-form .auth-note{font-size:11px;margin-top:20px;line-height:1.7}.report-filters{display:flex;align-items:end;gap:15px;flex-wrap:wrap;margin-bottom:21px}.report-filters label{min-width:160px}.report-filters select,.report-filters input{display:block;width:100%;margin-top:7px}.report-summary{display:flex;align-items:center;gap:12px;padding:15px 20px;margin-bottom:20px;border:1px solid #cde5db;background:#edf7f1;border-radius:8px;font-size:12px;color:#326554}.report-summary.warning{background:#fff4df;border-color:#f0dfbe;color:#9a6e27}.report-caption{font-size:11px;color:#718992;padding:14px 24px;border-top:1px solid var(--line);line-height:1.6}.totals-row td{background:#edf4f2;font-weight:650;border-top:1px solid #d3e4dc;position:sticky;bottom:0;z-index:2}.coverage-bar{display:flex;width:120px;height:7px;background:#eef2f2;border-radius:4px;overflow:hidden;margin-top:6px}.coverage-bar i{height:100%;display:block}.report-chart{padding:18px 26px 25px}.report-chart svg{display:block;width:100%;height:auto;overflow:visible}.chart-title{font-size:12px;font-weight:600;margin-bottom:7px}.chart-subtitle{font-size:10px;color:#8497a0;margin-bottom:15px}.chart-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;margin-top:12px;color:#6d858e}.chart-legend span::before{content:'';display:inline-block;width:10px;height:10px;background:var(--swatch);margin-right:6px;border-radius:2px}.plot-point{opacity:0;cursor:crosshair}.plot-point:hover,.plot-point:focus{opacity:1}.paired-bars{display:grid;gap:8px}.bar-value{font-variant-numeric:tabular-nums;font-size:11px;text-align:right}.load-chart-row{display:grid;grid-template-columns:45px 1fr 55px;gap:15px;align-items:center;margin:20px 0;font-size:12px}.stacked-hours{display:flex;height:30px;background:#eff3f4;border-radius:4px;overflow:hidden}.stacked-hours span{display:grid;place-items:center;white-space:nowrap;font-size:10px;color:#fff;min-width:0}.result-link{font-weight:600;text-decoration:none}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.report-grid>section{min-width:0}.form-hint{font-size:11px;color:#869aa2;line-height:1.6}.negative{color:#b06e42}.positive{color:#1c8067}.toolbar[hidden]{display:none}
@media(max-width:1000px){.auth-story{padding:40px 32px}.auth-story h1{font-size:34px}.auth-facts{gap:20px}.report-grid{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar{height:auto;padding:14px 16px}.sidebar nav{flex:none;overflow-x:auto;overflow-y:hidden}.nav-group{display:none}.sidebar nav a{font-size:10px;padding:8px}.sidebar-bottom{display:flex;padding:0;position:absolute;right:16px;top:15px;margin:0;border:0}.sidebar-bottom>div,.sidebar-bottom .logout,.user-card>span:not(.avatar){display:none}.avatar{width:27px;height:27px;font-size:12px}.sidebar-bottom .user-card{padding:0}.auth-body{grid-template-columns:1fr}.auth-story{min-height:0;padding:24px}.auth-story>div:nth-child(2),.auth-story>span{display:none}.auth-main{padding:40px 26px}.auth-form h1{font-size:26px}.report-filters label{min-width:130px;flex:1}.report-chart{padding:12px 15px}.report-summary{font-size:11px}.load-chart-row{grid-template-columns:30px 1fr 40px;gap:7px}.stacked-hours{height:26px}.chart-legend{font-size:9px;gap:10px}.card form input{max-width:none}}
