@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(../../../fonts/plex-sans-variable.woff2) format("woff2-variations")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/plex-mono-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../../../fonts/plex-mono-500.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../../../fonts/plex-mono-600.woff2) format("woff2")}:root{--ink: #1a1d23;--bg: #f5f6f8;--surface: #ffffff;--line: #e3e6eb;--muted: #676d78;--brand: #0e7a68;--brand-dim: #e4f3ef;--pending: #b7791f;--pending-dim: #fbf1e0;--negative: #c0374f;--negative-dim: #fbeaed;--font-body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", monospace;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--radius: 8px;--radius-sm: 5px;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-weight:600;line-height:1.2;margin:0}h1{font-size:1.5rem;letter-spacing:-.01em}h2{font-size:.9375rem}p{margin:0 0 var(--space-3)}a{color:var(--brand);text-decoration-thickness:1px;text-underline-offset:.15em}a:hover{color:#0a5c4e}code,.mono{font-family:var(--font-mono);font-size:.9em}hr{border:none;border-top:1px solid var(--line);margin:var(--space-4) 0}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:2px}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}.page{max-width:46rem;margin:0 auto;padding:var(--space-6) var(--space-6) var(--space-12)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--line);background:var(--surface)}.wordmark{font-weight:700;font-size:1rem;letter-spacing:-.01em;color:var(--ink);text-decoration:none}.wordmark:hover{color:var(--brand)}.btn{font-family:var(--font-body);font-weight:600;font-size:.8125rem;padding:.4rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer;line-height:1.3}.btn:hover{background:#0a5c4e;border-color:#0a5c4e}.btn.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn.btn-ghost:hover{border-color:var(--muted);background:var(--surface);color:var(--ink)}.btn.btn-danger{background:var(--surface);color:var(--negative);border-color:var(--line)}.btn.btn-danger:hover{border-color:var(--negative);background:var(--negative-dim)}label{display:block;font-weight:600;font-size:.8125rem;margin-bottom:var(--space-1)}input,select{font-family:var(--font-body);font-size:.8125rem;padding:.4rem .55rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink)}input::placeholder{color:#9aa0aa}input:focus,select:focus{border-color:var(--brand)}.field-row{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:flex-end}.field-row>*{flex:1 1 9rem}.checkbox-row{display:flex;align-items:center;gap:var(--space-2);font-weight:500;font-size:.8125rem}.checkbox-row input{width:auto;padding:0}input[type=checkbox],input[type=radio]{accent-color:var(--brand)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.card-pad{padding:var(--space-4) var(--space-5, var(--space-4))}.section-head{display:flex;align-items:baseline;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line)}.section-head h2{color:var(--ink)}.section-count{font-family:var(--font-mono);font-size:.75rem;color:var(--muted)}.alert{background:var(--negative-dim);border:1px solid var(--negative);color:var(--negative);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:.8125rem}.phase-lamp{display:inline-flex;align-items:center;gap:var(--space-2);font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;padding:.3rem .65rem .3rem .5rem;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:var(--surface)}.phase-lamp .bulb{width:.5rem;height:.5rem;border-radius:50%;background:var(--line);flex-shrink:0}.phase-lamp.is-live{border-color:var(--brand);color:var(--brand);background:var(--brand-dim)}.phase-lamp.is-live .bulb{background:var(--brand);box-shadow:0 0 0 3px #0e7a682e,0 0 8px 1px #0e7a6873;animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.empty{color:var(--muted);font-size:.8125rem;padding:var(--space-4)}.app-layout{display:grid;grid-template-columns:12rem 1fr;gap:var(--space-6);align-items:start;max-width:64rem;margin:0 auto;padding:var(--space-6)}.sidebar{position:sticky;top:var(--space-6);list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.sidebar a{display:block;padding:var(--space-2) var(--space-3);color:var(--muted);font-size:.8125rem;font-weight:600;text-decoration:none;border-radius:var(--radius-sm)}.sidebar a:hover{color:var(--ink);background:var(--surface)}.sidebar a.is-active{color:var(--brand);background:var(--brand-dim)}@media(max-width:44rem){.app-layout{grid-template-columns:1fr;padding:var(--space-4)}.sidebar{position:static;flex-direction:row;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:var(--space-2);margin-bottom:var(--space-2)}}.avatar{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--brand-dim);color:var(--brand);font-size:.6875rem;font-weight:700;flex-shrink:0}.pill{display:inline-flex;align-items:center;gap:.3rem;font-size:.6875rem;font-weight:600;padding:.2rem .55rem;border-radius:999px;background:var(--bg);color:var(--muted);white-space:nowrap}.pill.is-positive{background:var(--brand-dim);color:var(--brand)}.pill.is-pending{background:var(--pending-dim);color:var(--pending)}.pill.is-negative{background:var(--negative-dim);color:var(--negative)}.data-table{width:100%;border-collapse:collapse;font-size:.8125rem}.data-table th{text-align:left;font-size:.6875rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--line);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--bg)}.data-table .name-cell{display:flex;align-items:center;gap:var(--space-2);font-weight:600}.data-table .num{font-family:var(--font-mono);color:var(--muted)}.data-table .add-row td{background:var(--bg);padding:var(--space-2) var(--space-4)}.data-table .add-row:hover td{background:var(--bg)}.add-row-form{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.add-row-form input,.add-row-form select{flex:1 1 8rem}.filter-bar{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line)}.filter-bar input{width:100%;max-width:20rem}.stat-row{display:flex;gap:var(--space-4);flex-wrap:wrap;font-size:.8125rem;color:var(--muted);margin:var(--space-1) 0 var(--space-4)}.stat-row strong{color:var(--ink)}
