:root{--bg: #10141f;--surface: #1a2033;--text: #f4f5fb;--muted: #9aa2c0;--border: #2d3552;--accent: #b4adf2;--ok: #5fd08a;--risk: #ffb454;--bad: #ff6b6b;--run: #6cb6ff;--font-ui: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;color-scheme:dark;font-size:max(12px,calc(100vh / 54))}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);line-height:1.3;overflow:hidden;-webkit-font-smoothing:antialiased}h1,h2,p{margin:0}.muted{color:var(--muted)}.mono{font-family:var(--font-mono)}.grow{flex:1;min-width:0}.center{height:100%;display:grid;place-items:center}.panel{background:var(--surface);border:1px solid var(--border);border-radius:.8rem;padding:.9rem 1.2rem;display:flex;flex-direction:column;min-height:0;overflow:hidden}.pair{width:min(34rem,90vw);gap:1rem}.pair h1{font-size:1.6rem}.pair .code{font:600 1.8rem var(--font-mono);letter-spacing:.12em;text-align:center;padding:.6rem;border-radius:.5rem;border:1px solid var(--border);background:var(--bg);color:var(--text)}.btn{font:600 1rem var(--font-ui);padding:.7rem;border:0;border-radius:.5rem;background:var(--accent);color:var(--bg);cursor:pointer}.btn:disabled{opacity:.4;cursor:default}.error{color:var(--bad)}.board{height:100%;display:flex;flex-direction:column;padding:1.2rem 1.5rem;gap:1rem}.top{display:flex;align-items:center;gap:1.5rem}.brand{font-size:1.5rem;font-weight:700}.status{font-size:.8rem}.status.stale{color:var(--risk);font-weight:600}.clock{text-align:right}.clock .time{font:600 2.4rem/1 var(--font-mono)}.clock .seconds{font-size:.55em;color:var(--muted);margin-left:.05em}.clock .date{font-size:.85rem;margin-top:.2rem}.clock .date:first-letter{text-transform:uppercase}.grid{flex:1;min-height:0;display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:.85fr 1fr 1fr;grid-template-areas:"summary summary calendar" "tickets errors systems" "tickets traffic costs";gap:1rem}.summary{grid-area:summary}.calendar{grid-area:calendar}.event .when{flex:none;width:6.8rem}.event .day{font-size:.9rem;font-weight:600}.event .hours{font:500 .8rem var(--font-mono)}.event.now .day{color:var(--ok)}.tickets{grid-area:tickets}.errors{grid-area:errors}.systems{grid-area:systems}.traffic{grid-area:traffic}.costs{grid-area:costs}.summary{--tone: var(--ok);--tone-soft: rgba(95, 208, 138, .1);--tone-fg: #b8efcc}.summary.watch{--tone: var(--risk);--tone-soft: rgba(255, 180, 84, .12);--tone-fg: #ffdcae}.summary.action{--tone: var(--bad);--tone-soft: rgba(255, 107, 107, .13);--tone-fg: #ffc2c2}.summary.stale{--tone: var(--muted);--tone-soft: rgba(154, 162, 192, .1);--tone-fg: var(--muted)}.summary.stale .headline,.summary.stale .assessment p,.summary.stale .follow-ups .text{opacity:.65}.summary.normal,.summary.watch,.summary.action,.summary.stale{border-color:color-mix(in srgb,var(--tone) 55%,var(--border));background:linear-gradient(100deg,var(--tone-soft),transparent 55%),var(--surface);box-shadow:inset .25rem 0 0 var(--tone)}.summary h2{white-space:nowrap}.summary h2 .when{margin-left:auto;font:500 .8rem var(--font-mono);text-transform:none;letter-spacing:0}.summary h2 .chip{background:var(--tone-soft);color:var(--tone-fg);border:1px solid color-mix(in srgb,var(--tone) 45%,transparent);letter-spacing:.06em}.summary-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1.6rem;overflow:hidden}.summary-body.solo{grid-template-columns:minmax(0,1fr)}.summary-body.solo .assessment p{max-width:60rem}.summary .headline{font-size:1.45rem;font-weight:700;line-height:1.2;letter-spacing:-.01em}.summary .assessment p{margin-top:.45rem;font-size:.95rem;line-height:1.4;color:#cdd2e4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden}.follow-ups{min-height:0;display:flex;flex-direction:column}.follow-ups ol{flex:1;min-height:0;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;justify-content:center;gap:.4rem}.follow-ups li{flex:0 0 calc((100% - .8rem) / 3);min-height:0;display:flex;align-items:center;gap:.65rem;padding:.35rem .7rem;border-radius:.55rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.05);font-size:.88rem;line-height:1.3}.follow-ups .n{flex:none;width:1.45rem;height:1.45rem;border-radius:50%;display:grid;place-items:center;font:600 .78rem var(--font-mono);background:var(--tone-soft);color:var(--tone-fg);border:1px solid color-mix(in srgb,var(--tone) 50%,transparent)}.follow-ups .text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.traffic h2 .when{margin-left:auto;font-size:.75rem;text-transform:none;letter-spacing:0}.traffic-cols{flex:1;min-height:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:1rem}.traffic .metric{display:flex;flex-direction:column;gap:.2rem;min-width:0;padding-left:.9rem;border-left:1px solid var(--border)}.traffic .metric:first-child{padding-left:0;border-left:0}.traffic .name{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.traffic .big{font:600 2.1rem/1.05 var(--font-mono);margin-top:.3rem;white-space:nowrap}.traffic .big .ms{font-size:.45em;margin-left:.2em;color:var(--muted)}.traffic .unit{font-size:.75rem}.traffic .delta{font-size:.8rem;margin-top:.3rem}.traffic .sub{font-size:.8rem;line-height:1.35;margin-top:auto}.traffic .sub>div,.traffic .delta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.traffic .bad{color:var(--bad);font-weight:600}.costs h2 .when{margin-left:auto;font-size:.8rem;text-transform:none;letter-spacing:0}.costs-total{display:flex;align-items:center;gap:1.2rem}.costs-total .big{font:600 2.4rem/1 var(--font-mono);white-space:nowrap}.costs-total .delta{font-size:.9rem}.costs-total .small{font-size:.75rem}.costs-rows{list-style:none;margin:.9rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.costs-rows li{display:grid;grid-template-columns:7rem minmax(0,1fr) 5.5rem;align-items:center;gap:.7rem;font-size:.9rem}.costs-rows .bar{height:.45rem;border-radius:1rem;background:#ffffff0f;overflow:hidden}.costs-rows .bar>span{display:block;height:100%;border-radius:1rem;background:var(--accent)}.costs-rows .amount{text-align:right;font:600 .9rem var(--font-mono)}.costs-month{margin-top:auto;font-size:.8rem}.panel.pending{background:transparent;border-style:dashed}.pending .what{font-size:.9rem;max-width:24rem;margin:0 auto}.pending .soon{font-size:.75rem;margin-top:.5rem;text-transform:uppercase;letter-spacing:.06em}.weather{display:flex;align-items:center;gap:1.6rem;margin-left:1rem}.weather-now{display:flex;align-items:center;gap:.6rem}.weather-now .temp{font:600 2.2rem/1 var(--font-mono)}.weather-now .about{font-size:.8rem;line-height:1.3}.weather-now .condition{font-size:.95rem;font-weight:600}.weather-next{list-style:none;margin:0;padding:0 0 0 1.4rem;border-left:1px solid var(--border);display:flex;gap:1.1rem}.weather-next li{display:flex;flex-direction:column;align-items:center;gap:.15rem;font-size:.75rem}.weather-next .t{font:600 .95rem var(--font-mono)}.weather-next .pop{color:var(--run);font-size:.7rem}.weather.pending{font-size:.8rem;padding:.3rem .7rem;border:1px dashed var(--border);border-radius:1rem}h2{font-size:1.05rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}h2 .count{font:600 1rem var(--font-mono);color:var(--text)}h2 .count.risk{color:var(--bad)}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem;margin-bottom:1.1rem}.stat .value{font:600 2.4rem/1 var(--font-mono)}.stat .label{font-size:.8rem;margin-top:.3rem}.stat.risk .value{color:var(--bad)}.rows{list-style:none;margin:0;padding:0;flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.row{display:flex;align-items:center;gap:.8rem;padding:.45rem 0;border-top:1px solid var(--border)}.row .id{font-size:.85rem;width:3.6rem}.row .title{font-size:1rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .meta{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .age{font:500 .85rem var(--font-mono)}.more{font-size:.8rem;padding-top:.5rem}.empty{flex:1;display:grid;place-items:center;font-size:1.1rem;text-align:center}.empty.ok{color:var(--ok)}.prio.urgent{color:var(--bad)}.prio.high{color:var(--risk)}.sla{font:600 .85rem var(--font-mono);white-space:nowrap}.sla.risk{color:var(--risk)}.sla.breached{color:var(--bad)}.chip{font-size:.75rem;font-weight:600;padding:.15rem .55rem;border-radius:1rem;white-space:nowrap;background:#2a3150}.chip.new{background:#3f3d80;color:#d4cffa}.chip.open{background:#1f3d5c;color:#b5d6f5}.chip.pending,.chip.hold{background:#4d4216;color:#f5e3a3}.chip.loud,.chip.pipe-failed{background:#5a2328;color:#ffc2c2}.chip.pipe-running{background:#1f3d5c;color:#b5d6f5}.dot{width:.7rem;height:.7rem;border-radius:50%;flex:none;box-shadow:inset 0 0 0 2px var(--muted)}.dot.failed,.dot.running,.dot.passed{box-shadow:none}.dot.failed{background:var(--bad)}.dot.running{background:var(--run)}.dot.passed{background:var(--ok)}.row .meta.ok,h2 .count.ok{color:var(--ok)}h2 .count.muted{color:var(--muted);font-weight:500}
