:root{--surface: #F4F6F5;--panel: #FFFFFF;--panel-edge: #DDE3E1;--ink: #17211F;--ink-2: #55625E;--ink-3: #8B9793;--petrol: #0D4F4F;--petrol-soft: #E3EDEC;--amber: #B5750B;--amber-soft: #F6ECDA;--green: #2E7D4F;--green-soft: #E2F0E8;--red: #B3362B;--red-soft: #F6E3E1;--font-display: "Archivo", sans-serif;--font-body: "IBM Plex Sans", sans-serif;--font-data: "IBM Plex Mono", monospace;--radius: 6px}*{box-sizing:border-box;margin:0}body{background:var(--surface);color:var(--ink);font-family:var(--font-body);font-size:14px;line-height:1.5}.num{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.app{display:grid;grid-template-columns:216px 1fr;min-height:100vh}.rail{background:var(--petrol);color:#dce9e8;padding:20px 14px;display:flex;flex-direction:column;gap:4px}.rail .wordmark{font-family:var(--font-display);font-variation-settings:"wdth" 120,"wght" 750;letter-spacing:.02em;color:#fff;font-size:15px;margin-bottom:2px}.rail .wordmark small{display:block;font-family:var(--font-data);font-size:10px;font-weight:400;color:#9dbbba;letter-spacing:.14em;text-transform:uppercase;margin-top:2px}.rail nav{margin-top:20px;display:flex;flex-direction:column;gap:2px}.rail button{all:unset;cursor:pointer;padding:9px 10px;border-radius:var(--radius);font-size:13.5px;color:#c6d8d7;display:flex;justify-content:space-between;align-items:baseline}.rail button:hover{background:#ffffff14;color:#fff}.rail button.active{background:#ffffff24;color:#fff;font-weight:600}.rail button:focus-visible{outline:2px solid #fff;outline-offset:-2px}.rail .count{font-family:var(--font-data);font-size:11px;background:var(--amber);color:#fff;padding:1px 7px;border-radius:99px}.rail .foot{margin-top:auto;font-size:12px;color:#9dbbba}.rail .foot button{padding:6px 10px;font-size:12.5px}.main{padding:28px 34px;max-width:1200px}.main header.page{margin-bottom:22px}.main header.page h1{font-family:var(--font-display);font-variation-settings:"wdth" 110,"wght" 700;font-size:21px}.main header.page p{color:var(--ink-2);margin-top:3px;font-size:13.5px}.panel{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius)}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:600;padding:10px 14px;border-bottom:1px solid var(--panel-edge)}td{padding:11px 14px;border-bottom:1px solid #ECF0EF;vertical-align:middle}tr:last-child td{border-bottom:none}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover{background:#fafbfb}td.r,th.r{text-align:right}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.kpi{padding:16px}.kpi .label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:600}.kpi .value{font-family:var(--font-data);font-size:26px;font-weight:600;margin-top:6px}.kpi .hint{font-size:12px;color:var(--ink-2);margin-top:2px}.badge{display:inline-block;font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:99px;white-space:nowrap}.badge.review{background:var(--amber-soft);color:var(--amber)}.badge.draft{background:var(--petrol-soft);color:var(--petrol)}.badge.approved{background:var(--green-soft);color:var(--green)}.badge.rejected{background:var(--red-soft);color:var(--red)}.badge.grey{background:#edf0ef;color:var(--ink-2)}.delta{font-family:var(--font-data);font-weight:600}.delta.neg{color:var(--red)}.delta.pos{color:var(--green)}.age{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-data);font-size:12.5px}.age:before{content:"";width:8px;height:8px;border-radius:99px;background:var(--dot, var(--ink-3))}.age.fresh{--dot: var(--green)}.age.aging{--dot: var(--amber)}.age.stale{--dot: var(--red)}.age.dead{--dot: var(--ink-3);color:var(--ink-3)}.trace{padding:18px 20px 8px;background:#fbfcfc;border-top:1px solid var(--panel-edge)}.trace h3{font-family:var(--font-display);font-variation-settings:"wdth" 110,"wght" 650;font-size:13px;margin-bottom:14px;color:var(--ink-2)}.trace ol{list-style:none;position:relative;padding-left:22px}.trace ol:before{content:"";position:absolute;left:5px;top:6px;bottom:14px;width:2px;background:linear-gradient(var(--petrol) 60%,var(--panel-edge))}.trace li{position:relative;padding:0 0 16px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:baseline}.trace li:before{content:"";position:absolute;left:-22px;top:5px;width:12px;height:12px;border-radius:99px;background:var(--panel);border:3px solid var(--petrol)}.trace li.guardrail:before{border-color:var(--amber)}.trace .layer{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--petrol);font-weight:700}.trace li.guardrail .layer{color:var(--amber)}.trace .detail{color:var(--ink-2);font-size:13px;margin-top:1px}.trace .station-price{font-family:var(--font-data);font-weight:600;font-size:15px;white-space:nowrap}.btn{all:unset;cursor:pointer;font-weight:600;font-size:13px;padding:8px 16px;border-radius:var(--radius);text-align:center}.btn:focus-visible{outline:2px solid var(--petrol);outline-offset:2px}.btn.approve{background:var(--petrol);color:#fff}.btn.approve:hover{background:#0a4040}.btn.reject{background:transparent;color:var(--red);border:1px solid var(--red)}.btn.reject:hover{background:var(--red-soft)}.btn:disabled{opacity:.5;cursor:default}.actions{display:flex;gap:10px;padding:14px 20px;border-top:1px solid var(--panel-edge);background:#fbfcfc}.bars{padding:16px 18px;display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:190px 1fr 62px;gap:12px;align-items:center;font-size:13px}.bar-track{height:10px;background:#edf0ef;border-radius:99px;overflow:hidden}.bar-fill{height:100%;background:var(--petrol);border-radius:99px}.login-wrap{min-height:100vh;display:grid;place-items:center;background:var(--petrol)}.login{background:var(--panel);border-radius:10px;padding:36px;width:380px;box-shadow:0 24px 60px #00000059}.login h1{font-family:var(--font-display);font-variation-settings:"wdth" 120,"wght" 750;font-size:20px}.login .sub{font-family:var(--font-data);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:4px 0 24px}.login label{display:block;font-size:12px;font-weight:600;color:var(--ink-2);margin:14px 0 5px}.login input{width:100%;padding:10px 12px;border:1px solid var(--panel-edge);border-radius:var(--radius);font:inherit}.login input:focus-visible{outline:2px solid var(--petrol);border-color:transparent}.login .btn{width:100%;margin-top:22px;padding:11px}.login .error{color:var(--red);font-size:13px;margin-top:12px}.empty{padding:40px;text-align:center;color:var(--ink-2)}.loading{padding:40px;text-align:center;color:var(--ink-3);font-family:var(--font-data);font-size:13px}@media (prefers-reduced-motion: no-preference){.trace li{animation:rise .25s ease both}.trace li:nth-child(2){animation-delay:.05s}.trace li:nth-child(3){animation-delay:.1s}.trace li:nth-child(4){animation-delay:.15s}.trace li:nth-child(5){animation-delay:.2s}.trace li:nth-child(6){animation-delay:.25s}@keyframes rise{0%{opacity:0;transform:translateY(4px)}}}@media (max-width: 900px){.app{grid-template-columns:1fr}.rail{flex-direction:row;flex-wrap:wrap;align-items:center}.rail nav{flex-direction:row;margin-top:0}.kpis{grid-template-columns:repeat(2,1fr)}.main{padding:18px}}
