:root{--slate: #2e3a42;--chalk: #f7f6f3;--moss: #3f6b52;--brass: #c89a3c;--stone: #626a75;--paper: #ffffff;--rule: #ddd9d2;--rule-strong: #c4bfb6;--error: #8f2d21;--error-bg: #f8eeec;--urgent: #8f2d21;--serif: "Literata", Georgia, serif;--sans: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--chalk);color:var(--slate);font-family:var(--sans);font-size:15px;line-height:1.5}h1,h2,h3{font-family:var(--serif);font-weight:500;margin:0}h1{font-size:1.6rem}h2{font-size:1.25rem}:focus-visible{outline:2px solid var(--slate);outline-offset:2px}.app{display:grid;grid-template-columns:13rem 1fr;min-height:100dvh}.side{background:var(--paper);border-right:1px solid var(--rule);padding:1rem 0;display:flex;flex-direction:column}.side__brand{padding:0 1rem 1rem;font-family:var(--serif);font-size:1.1rem}.side nav{display:grid}.side button{text-align:left;padding:.6rem 1rem;min-height:44px;background:none;border:0;border-left:3px solid transparent;font:inherit;color:var(--stone);cursor:pointer}.side button[aria-current=page]{color:var(--slate);font-weight:600;border-left-color:var(--moss);background:var(--chalk)}.side__count{float:right;background:var(--slate);color:var(--paper);border-radius:10px;padding:0 .45rem;font-size:.75rem;font-weight:600}.side__count--urgent{background:var(--urgent)}.main{padding:1.5rem 2rem 4rem;max-width:70rem}.head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.head p{color:var(--stone);margin:.25rem 0 0}.rows{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;gap:.75rem}.row{background:var(--paper);border:1px solid var(--rule);border-left:3px solid var(--rule-strong);border-radius:3px;padding:.9rem 1rem;display:grid;gap:.5rem}.row--urgent{border-left-color:var(--urgent)}.row--waiting{border-left-color:var(--brass)}.row__top{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.row__name{font-family:var(--serif);font-size:1.1rem}.row__meta{display:flex;flex-wrap:wrap;gap:.25rem 1rem;color:var(--stone);font-size:.85rem}.row__reasons{margin:0;padding-left:1.1rem}.row__reasons li{margin-bottom:.15rem}.row__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}button.action{min-height:40px;padding:0 .9rem;border:1px solid var(--rule-strong);border-radius:3px;background:var(--paper);font:inherit;color:var(--slate);cursor:pointer}button.action:hover{border-color:var(--slate)}button.action--primary{background:var(--moss);border-color:var(--moss);color:var(--paper);font-weight:600}button.action--danger:hover{border-color:var(--error);color:var(--error)}button.action:disabled{opacity:.5;cursor:default}.field{display:grid;gap:.3rem;margin-bottom:.9rem}.field label{font-weight:600}.field input,.field select,.field textarea{min-height:42px;padding:.45rem .6rem;border:1px solid var(--rule-strong);border-radius:3px;font:inherit;background:var(--paper)}.grid2{display:grid;gap:0 1rem;grid-template-columns:1fr 1fr}.notice{padding:.9rem 1rem;background:var(--paper);border-left:3px solid var(--moss);margin-top:1rem}.notice--error{background:var(--error-bg);border-left-color:var(--error);color:var(--error)}.empty{margin-top:1.25rem;padding:1.25rem;background:var(--paper);border:1px dashed var(--rule-strong);color:var(--stone)}.signin{max-width:22rem;margin:15vh auto;padding:0 1rem}:root{--data-loss: #a8762b;--data-gain: #2f7a4f}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;margin-top:1.25rem}.kpi{background:var(--paper);border:1px solid var(--rule);border-radius:3px;padding:.9rem 1rem}.kpi__label{color:var(--stone);font-size:.85rem}.kpi__value{font-family:var(--serif);font-size:1.9rem;line-height:1.1;margin-top:.15rem}.kpi__note{color:var(--stone);font-size:.8rem;margin-top:.2rem}.bars{margin-top:.75rem;border-top:1px solid var(--rule)}.bar-row{display:grid;grid-template-columns:minmax(12rem,22rem) 1fr 5.5rem;align-items:center;gap:.75rem;padding:.45rem 0;border-bottom:1px solid var(--rule)}.bar-row__label{color:var(--slate);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-row__track{position:relative;height:14px;background:var(--chalk);border-radius:2px}.bar-row__fill{position:absolute;inset:0 auto 0 0;border-radius:0 4px 4px 0;min-width:2px}.bar-row__fill--loss{background:var(--data-loss)}.bar-row__fill--gain{background:var(--data-gain)}.bar-row__value{text-align:right;font-variant-numeric:tabular-nums;color:var(--slate)}.bar-row__sub{color:var(--stone);font-size:.8rem}.chart-note{color:var(--stone);font-size:.85rem;margin:.4rem 0 0}
