:root{--bg: #f6f7f9;--surface: #ffffff;--border: #e3e6ea;--ink: #14181d;--ink-soft: #5b6673;--accent: #2f6df6;--ok: #1a7f43;--warn: #8a6d00;--bad: #b3261e;--muted: #6b7482;--radius: 10px;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #14171b;--surface: #1c2026;--border: #2c323a;--ink: #e9edf2;--ink-soft: #9aa5b3;--accent: #6f9bff;--ok: #4cc27c;--warn: #e0a640;--bad: #ef6b63;--muted: #8a94a2}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.centered{padding:4rem;text-align:center;color:var(--ink-soft)}.shell__bar{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--border)}.shell__brand{display:flex;flex-direction:column;line-height:1.2}.shell__name{font-weight:650;letter-spacing:-.01em}.shell__tagline{font-size:11px;color:var(--muted)}.shell__nav{display:flex;gap:.25rem}.shell__link{padding:.4rem .7rem;border-radius:var(--radius);color:var(--ink-soft);text-decoration:none}.shell__link:hover{background:var(--bg);color:var(--ink)}.shell__link--on{background:var(--bg);color:var(--ink);font-weight:600}.shell__user{display:flex;align-items:center;gap:.6rem;margin-left:auto}.shell__email{color:var(--ink-soft);max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell__main{padding:1.5rem;max-width:1400px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.panel__title{margin:0 0 .25rem;font-size:1.1rem}.panel__note{margin:0 0 1rem;color:var(--muted)}.tiles{display:flex;flex-wrap:wrap;gap:.75rem;margin:0 0 1rem;padding:0}.tile{min-width:7rem;padding:.6rem .9rem;border:1px solid var(--border);border-radius:var(--radius)}.tile dt{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.tile dd{margin:.15rem 0 0;font-size:1.35rem;font-variant-numeric:tabular-nums}.chips{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:12px;border:1px solid currentColor}.badge--role{color:var(--ink-soft)}.badge--ok,.badge--active{color:var(--ok)}.badge--stale,.badge--paused{color:var(--warn)}.badge--silent{color:var(--bad)}.badge--idle,.badge--unknown,.badge--removed{color:var(--muted)}.button{font:inherit;padding:.35rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);cursor:pointer;text-decoration:none}.button:hover{border-color:var(--accent);color:var(--accent)}.button--primary{background:var(--accent);border-color:var(--accent);color:#fff;padding:.55rem 1.1rem;font-weight:600}.button--primary:hover{color:#fff;filter:brightness(1.05)}.lang{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.lang__option{font:inherit;font-size:11px;padding:.2rem .45rem;border:0;background:transparent;color:var(--muted);cursor:pointer}.lang__option--on{background:var(--bg);color:var(--ink);font-weight:650}.login{display:grid;place-items:center;min-height:100vh;padding:1rem}.login__card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:2.5rem;text-align:center;display:grid;gap:.75rem;justify-items:center;min-width:20rem}.login__title{margin:0;font-size:1.3rem}.login__subtitle{margin:0 0 .5rem;color:var(--muted)}.login__reason{margin:0;color:var(--bad);font-size:13px}.screen{display:grid;gap:1rem}.screen__head{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}.screen__title{margin:0;font-size:1.15rem}.screen__sub{margin:.15rem 0 0;color:var(--muted);display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.screen__head .segmented{margin-left:auto}.tile--wide{min-width:12rem}.tile__second{font-size:12px;color:var(--muted);margin-top:.1rem}.filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.filters__count{color:var(--muted);font-size:12px}.input{font:inherit;padding:.35rem .55rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);min-width:10rem}.input--wide{min-width:20rem}.input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.segmented__option{font:inherit;padding:.35rem .7rem;border:0;background:var(--surface);color:var(--ink-soft);cursor:pointer}.segmented__option+.segmented__option{border-left:1px solid var(--border)}.segmented__option--on{background:var(--bg);color:var(--ink);font-weight:650}.tablewrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{padding:.5rem .75rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;white-space:nowrap}.table thead th{position:sticky;top:0;background:var(--surface);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.table tbody tr:hover{background:var(--bg)}.table tbody tr:last-child td{border-bottom:0}.num{text-align:right;font-variant-numeric:tabular-nums}.num--strong{font-weight:600}.cell__sub{font-size:11px;color:var(--muted);font-weight:400;margin-top:.15rem}.muted{color:var(--muted)}.link{color:var(--accent);text-decoration:none;font-weight:550}.link:hover{text-decoration:underline}.tag{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:.05rem .3rem}.pager{display:flex;align-items:center;gap:.5rem}.pager .muted{margin-right:auto}.button:disabled{opacity:.45;cursor:default;border-color:var(--border);color:var(--ink-soft)}.spark{color:var(--accent);display:block}.spark--empty{color:var(--muted)}.spark__cell{padding-top:.35rem}.badge--solid{background:var(--bad);border-color:var(--bad);color:var(--surface)}.table td.name,.table th.name{max-width:26rem;overflow:hidden;text-overflow:ellipsis}.cell__sub{overflow:hidden;text-overflow:ellipsis}.crumbs{font-size:12px;color:var(--muted);margin-bottom:.15rem}.panel__head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.panel__head .panel__title{margin:0 auto 0 0;font-size:1rem}.tile dd.tile__small{font-size:.95rem}.check{display:inline-flex;align-items:center;gap:.35rem;color:var(--ink-soft)}.row--on td{background:var(--bg)}.row--on td:first-child{box-shadow:inset 2px 0 0 var(--accent);font-weight:600}.chart{margin:0}.chart__note{margin:.4rem 0 0;font-size:11px;color:var(--muted)}.chart__tip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .6rem;font-size:12px;box-shadow:0 2px 10px #0000001f}.chart__partial{color:var(--muted)}.chart__tiplist{margin:.3rem 0 0;display:grid;gap:.15rem}.chart__tiplist div{display:flex;gap:1rem;justify-content:space-between}.chart__tiplist dt{color:var(--muted)}.chart__tiplist dd{margin:0;font-variant-numeric:tabular-nums}.heat{display:grid;gap:.5rem}.heat__grid{display:grid;gap:2px}.heat__row{display:flex;gap:2px;align-items:center}.heat__corner,.heat__day{flex:0 0 2.6rem;font-size:11px;color:var(--muted);text-align:right;padding-right:.3rem}.heat__hour{flex:1 1 0;min-width:0;font-size:10px;color:var(--muted);text-align:center}.heat__cell,.heat__swatch{background:var(--accent);border-radius:2px}.heat__cell{flex:1 1 0;min-width:0;height:18px}.heat__swatch{display:inline-block;width:14px;height:14px;vertical-align:middle}.heat__cell--none{background:repeating-linear-gradient(45deg,var(--border) 0 3px,transparent 3px 6px);opacity:1}.heat__cell--null{background:var(--muted);opacity:.22}.heat__legend{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;font-size:11px}.heat__scale{display:inline-flex;align-items:center;gap:3px}.heat__key{display:inline-flex;align-items:center;gap:.3rem}.heat__peak{margin-left:auto;color:var(--ink-soft)}.tl{list-style:none;margin:0;padding:0}.tl__item{display:grid;grid-template-columns:10rem 1fr;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.tl__item:last-child{border-bottom:0}.tl__when{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.tl__head{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}.tl__what{font-weight:550}.tl__changes{margin-top:.2rem;display:flex;flex-wrap:wrap;gap:.35rem 1rem;align-items:baseline}.tl__change{white-space:nowrap;font-variant-numeric:tabular-nums}.tl__reason{font-size:11px;color:var(--muted);word-break:break-all}.tile dd.tile__second{font-size:12px}
