:root{--bg: #04060c;--panel: #0b111d;--panel-2: #101827;--line: #1d2738;--line-2: #2a3548;--text: #e8edf5;--muted: #8a96a8;--accent: #ff7a1a;--accent-ink: #1a0d02;--blue: #5b8cff;--green: #2ecc71;--amber: #f5b942;--red: #ff5d5d;--radius: 12px;color-scheme:dark;font:14px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Inter,system-ui,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh}h1,h2,h3{margin:0;line-height:1.2}h1{font-size:20px}h2{font-size:15px}h3{font-size:13px;margin:20px 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}code,pre,.key,.code{font-family:ui-monospace,JetBrains Mono,SFMono-Regular,Menlo,monospace}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:12px}.pad{padding:24px}.center{min-height:100vh;display:grid;place-items:center;padding:24px}.error{color:var(--red);margin:8px 0}.btn{border:1px solid transparent;border-radius:10px;padding:8px 14px;font:inherit;font-weight:600;cursor:pointer;color:var(--text);background:var(--panel-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.ghost{background:transparent;border-color:var(--line-2)}.btn.danger{background:transparent;border-color:#5a2a2a;color:var(--red)}.btn.small{padding:4px 10px;font-size:12px}.btn.wide{width:100%}.link{background:none;border:0;padding:0;font:inherit;color:var(--blue);cursor:pointer;text-align:left}.link:hover{text-decoration:underline}input,select,textarea{font:inherit;color:var(--text);background:#070b13;border:1px solid var(--line-2);border-radius:8px;padding:8px 10px;width:100%}textarea{resize:vertical}.form{display:grid;gap:12px}.form label{display:grid;gap:4px;font-weight:600;font-size:12px;color:var(--muted)}.form .row,.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end}.fields label{display:grid;gap:4px;font-size:12px;color:var(--muted);font-weight:600}.actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}.actions select{width:auto}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.login{width:320px;text-align:center;display:grid;gap:14px;padding:32px}.login .code{font-size:26px;letter-spacing:8px;text-align:center;padding:12px}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:20px;padding:10px 20px;border-bottom:1px solid var(--line);background:#070a12;position:sticky;top:0;z-index:5}.brand{display:flex;gap:8px;align-items:center;font-weight:700;letter-spacing:.18em;text-decoration:none;font-size:13px}.topbar nav{display:flex;gap:4px;flex:1}.topbar nav a{text-decoration:none;padding:6px 12px;border-radius:8px;color:var(--muted);font-weight:600}.topbar nav a[aria-current=page]{color:var(--text);background:var(--panel-2)}.fleet-pill{display:flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:5px 12px;font:inherit;font-size:12px;cursor:pointer}.fleet-pill .dot:not(:first-child){margin-left:8px}main{flex:1;padding:20px;min-width:0}.toolbar{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.toolbar .search{max-width:340px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}.dot.big{width:12px;height:12px}.dot.working{background:var(--green);box-shadow:0 0 0 3px #2ecc7122}.dot.idle{background:var(--amber)}.dot.offline{background:#4a5568}.lanes{display:grid;grid-template-columns:repeat(6,minmax(220px,1fr));gap:12px;overflow-x:auto;padding-bottom:12px;align-items:start}.lane{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px;min-height:200px;transition:border-color .15s,background .15s}.lane.over{border-color:var(--accent);background:#ff7a1a0d}.lane h2{display:flex;justify-content:space-between;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:4px 4px 10px}.lane-in_progress h2{color:var(--blue)}.lane-review h2{color:var(--amber)}.lane-blocked h2{color:var(--red)}.lane-done h2{color:var(--green)}.count{background:var(--panel-2);border-radius:999px;padding:1px 8px;color:var(--muted)}.lane ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}.lane li.dragging{opacity:.4}.empty{color:var(--muted);font-size:12px;text-align:center;padding:16px 0;margin:0}.ticket{width:100%;text-align:left;display:grid;gap:6px;background:var(--panel-2);border:1px solid var(--line-2);border-radius:10px;padding:10px;color:var(--text);font:inherit;cursor:grab}.ticket:hover{border-color:#3a4a64}.ticket-top{display:flex;justify-content:space-between;align-items:center}.key{font-size:11px;color:var(--muted)}.title{font-weight:600}.ticket-meta{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.label{display:inline-block;font-size:11px;padding:1px 7px;border-radius:999px;background:#1b2436;color:#b8c4d6;margin-right:4px}.label.ev{background:#123524;color:var(--green)}.assignee{margin-left:auto;display:inline-flex;gap:5px;align-items:center;font-size:11px;color:var(--muted)}.prio{font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;text-transform:uppercase}.prio.p0{background:#4a1414;color:#ff8a8a}.prio.p1{background:#4a3210;color:var(--amber)}dialog{color:var(--text);background:var(--panel);border:1px solid var(--line-2);padding:0}dialog::backdrop{background:#000a}dialog.modal{border-radius:16px;width:min(560px,calc(100vw - 32px))}dialog.drawer{margin:0 0 0 auto;height:100vh;max-height:100vh;width:min(620px,100vw);border-radius:0;border-width:0 0 0 1px}.dialog-body{padding:20px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.ticket-detail .desc{margin:16px 0}.prose{white-space:pre-wrap;word-break:break-word;font-family:inherit;margin:8px 0}.comments,.history,.feed{list-style:none;margin:0;padding:0;display:grid;gap:8px}.comments li{background:var(--panel-2);border-radius:10px;padding:10px;border-left:3px solid var(--line-2)}.comments li.evidence{border-left-color:var(--green)}.comments+.form{margin-top:10px}.history li{font-size:12px}.danger{margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;display:grid;gap:4px;color:var(--muted)}.stat .num{font-size:28px;font-weight:700;color:var(--text)}.stat.working .num{color:var(--green)}.stat.idle .num{color:var(--amber)}.nodes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.node.offline{opacity:.65}.node.working{border-color:#1f5136}.node-head{display:flex;gap:10px;align-items:center;margin-bottom:12px}.node-head>div{flex:1;min-width:0}.role{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:2px 8px;border-radius:999px;background:#1b2436;color:#b8c4d6}.role.master{background:#3a2210;color:var(--accent)}.node dl{display:grid;grid-template-columns:80px 1fr;gap:6px 10px;margin:0;font-size:13px}.node dt{color:var(--muted)}.node dd{margin:0;min-width:0;overflow-wrap:anywhere}.node dd.working{color:var(--green)}.node dd.idle{color:var(--amber)}.empty-state{text-align:center;display:grid;gap:12px;justify-items:center;padding:40px}.feed li{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid var(--line)}.feed li:last-child{border:0}.feed .when{width:70px;flex:none;font-size:12px}.key-form{margin-bottom:16px}.table{width:100%;border-collapse:collapse;padding:0}.table th,.table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}.table th{color:var(--muted);font-size:12px;font-weight:600}.table tr.revoked td{color:var(--muted);text-decoration:line-through}.table tr.revoked td:last-child{text-decoration:none}.new-key{border-color:var(--accent);margin-bottom:16px;display:grid;gap:8px}.copyable{display:flex;gap:8px;align-items:flex-start}.copyable pre{flex:1;margin:0;background:#070b13;border:1px solid var(--line-2);border-radius:8px;padding:10px;white-space:pre-wrap;word-break:break-all;font-size:12px}@media(max-width:760px){.topbar{flex-wrap:wrap}.fleet-pill{order:3}main{padding:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.skip{position:absolute;left:-999px;top:8px;z-index:50;background:var(--accent);color:var(--accent-ink);padding:8px 12px;border-radius:8px;font-weight:700}.skip:focus{left:8px}main:focus{outline:none}kbd{font-family:ui-monospace,Menlo,monospace;font-size:11px;background:var(--panel-2);border:1px solid var(--line-2);border-bottom-width:2px;border-radius:5px;padding:1px 6px;margin-right:4px}.shortcuts td{padding:6px 10px 6px 0}.toasts{position:fixed;bottom:20px;right:20px;display:grid;gap:8px;z-index:60;max-width:min(420px,calc(100vw - 40px))}.toasts.errors{bottom:auto;top:70px}.toast{padding:10px 14px;border-radius:10px;border:1px solid;box-shadow:0 6px 24px #0008}.toast.ok{background:#0f2419;border-color:#1f5136;color:#b8f0cf}.toast.error{background:#2a1010;border-color:#5a2a2a;color:#ffb4b4}.offline-banner{background:#3a2a0a;color:var(--amber);text-align:center;padding:6px;font-size:13px;border-bottom:1px solid #5a4210}.notice{background:#3a2a0a;color:var(--amber);padding:8px;border-radius:8px;margin:0;font-size:13px}.crash{max-width:520px;margin:40px auto;display:grid;gap:12px;text-align:center}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:14px}.metrics.skeleton{height:64px;background:var(--panel);border-radius:var(--radius)}.metric{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;display:grid;gap:2px}.metric .num{font-size:20px;font-weight:700}.metric.warn{border-color:#5a4210}.metric.warn .num{color:var(--amber)}.stale-list{display:flex;gap:6px;flex-wrap:wrap}.sk{background:linear-gradient(90deg,var(--panel) 0%,var(--panel-2) 50%,var(--panel) 100%);background-size:200% 100%;animation:sk 1.2s infinite linear;border-radius:10px}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}.sk-title{height:14px;width:60%;margin:6px 4px 14px}.sk-card{height:70px;margin-bottom:8px}.sk-node{height:210px}.sk-feed{height:300px}.skeleton-lane{min-height:220px}.ticket.is-stale{border-color:#5a4210}.ticket-flags{display:inline-flex;gap:4px;align-items:center}.badge{font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;text-transform:uppercase;margin-left:4px}.badge.stale{background:#3a2a0a;color:var(--amber)}.badge.back{background:#1b2436;color:#b8c4d6;text-transform:none}.age{font-size:11px;color:var(--muted)}.blocked-reason{font-size:12px;color:#ffb4b4;background:#2a1010;border-radius:6px;padding:4px 8px;overflow-wrap:anywhere}.blocked-reason.big{font-size:13px;padding:8px 10px}.lane-warn{font-size:12px;color:var(--amber);background:#3a2a0a;border-radius:8px;padding:6px 8px;margin:0 0 8px}.more{display:block;margin:8px auto 0}.more-btn{display:block;margin:12px auto}.onboarding{margin-bottom:14px}.onboarding ol{margin:8px 0 0;padding-left:20px;display:grid;gap:6px}.onboarding a{color:var(--blue)}.toolbar select{width:auto}.search.narrow{max-width:200px}.quick-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.quick-actions .spacer{flex:1}.prose a,.blocked-reason a,.comments a{color:var(--blue);word-break:break-all}.prose{white-space:pre-wrap}button.stat{text-align:left;font:inherit;cursor:pointer}.stat.active{border-color:var(--accent)}.node-actions{display:flex;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.danger-link{color:var(--red)}.feed .actor{color:var(--text);font-weight:700}.warn-text{color:var(--amber)}@media(max-width:900px){.lanes{grid-template-columns:repeat(6,82vw);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.lane{scroll-snap-align:start}.toolbar .search{max-width:none;flex:1 1 100%}.quick-actions .spacer{display:none}}@media(prefers-reduced-motion:reduce){.sk{animation:none}}
