:root{--bg: #ffffff;--surface: #f6f9fc;--field: #ffffff;--hover: #eef4fb;--fg: #0f1f33;--muted: #5a6b80;--faint: #8b98aa;--line: #e2e8f0;--line-strong: #c8d3e0;--accent: #1a6fd1;--accent-strong: #1458a8;--accent-soft: #e7f0fc;--on-accent: #ffffff;--danger: #c63a2f;--danger-line: #efc3be;--ok: #23804a;--ok-line: #bfe2cc;--warn: #a35f00;--warn-line: #f0d6aa;--backdrop: rgba(15, 31, 51, .35);--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--gutter: clamp(1rem, 3vw, 2.5rem);color-scheme:light}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;background:var(--bg);color:var(--fg);font-family:var(--font);font-weight:300;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:.2em}h1,h2,h3{font-weight:400;letter-spacing:-.02em}h1{font-size:1.75rem;line-height:1.2;margin:0}h2{font-size:1.125rem;margin:0 0 .75rem}p{margin:.5rem 0}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em}.mono{font-variant-numeric:tabular-nums;font-size:.92em}strong,b{font-weight:500}.wordmark{font-size:1.05rem;font-weight:600;letter-spacing:-.02em;text-decoration:none}.error{color:var(--danger);font-size:.875rem}.notice{color:var(--ok);font-size:.875rem}.muted,.hint,.empty,.faint{color:var(--muted)}.hint{font-size:.875rem}.faint{color:var(--faint)}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:max(16px,1rem)}button{font:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:default}.btn{min-height:2.75rem;padding:.6rem 1rem;font-size:.875rem;font-weight:500;color:var(--on-accent);background:var(--accent);border:1px solid var(--accent);border-radius:.3rem}.btn:hover:not(:disabled),.btn:focus-visible{border-color:var(--accent-strong);background:var(--accent-strong)}.btn-quiet{min-height:2.5rem;padding:.3rem .9rem;color:var(--muted);background:transparent;border:1px solid transparent}.btn-quiet:hover:not(:disabled){color:var(--accent);border-color:var(--accent-soft);background:var(--accent-soft)}.btn-danger{min-height:2.5rem;padding:.3rem .9rem;font-size:.85rem;font-weight:400;color:var(--danger);background:transparent;border:1px solid var(--danger-line)}.btn-danger:hover:not(:disabled){color:var(--bg);background:var(--danger);border-color:var(--danger)}.auth-split{min-height:100vh;display:grid;place-items:center;padding:2rem var(--gutter)}.auth{width:min(420px,100%)}.auth h1{margin:1.5rem 0 1rem}.auth form,.form{display:grid;gap:.85rem}.auth label,.form label{display:grid;gap:.35rem;font-size:.875rem;color:var(--muted)}.auth input,.form input{width:100%;padding:.7rem .75rem;color:var(--fg);background:var(--field);border:1px solid var(--line-strong)}.auth .alt{margin-top:1.25rem;color:var(--muted);font-size:.875rem}.auth .alt a{color:var(--fg)}.topbar{border-bottom:1px solid var(--line)}.topbar .inner{max-width:1320px;margin:0 auto;padding:.9rem var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:1rem}.topbar nav{display:flex;align-items:center;gap:1rem}.topbar nav a{color:var(--muted);text-decoration:none;font-size:.9rem}.topbar nav a:hover{color:var(--fg)}.topbar nav a.active{color:var(--accent);font-weight:500}.topbar .tools{margin-left:.5rem}.page{max-width:1320px;margin:0 auto;padding:1.75rem var(--gutter) 3rem}.ws-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.subnav{display:flex;gap:1rem}.subnav a{color:var(--muted);text-decoration:none;font-size:.875rem}.subnav a:hover{color:var(--fg)}.subnav a.active{color:var(--accent)}.account-layout{display:grid;gap:2.5rem}@media(min-width:860px){.account-layout{grid-template-columns:1.4fr 1fr}}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.ids{display:grid;grid-template-columns:8rem 1fr;gap:.4rem 1rem;margin:0}.ids dt{color:var(--faint);font-size:.8rem}.ids dd{margin:0;overflow-wrap:anywhere}.ids.spaced{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}.acts{display:flex;gap:.75rem;flex-wrap:wrap}.table-wrap{overflow-x:auto;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.75rem .9rem;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:500;font-size:.78rem}tr.revoked td{color:var(--faint)}td.actions{text-align:right;white-space:nowrap}.badge{width:2.25rem;height:2.25rem;border-radius:.35rem;border:1px solid var(--line-strong);background:var(--field);color:var(--fg);font-size:.75rem;letter-spacing:.04em}.user-menu{position:relative}.user-menu .menu{position:absolute;right:0;top:calc(100% + .4rem);min-width:12rem;background:var(--field);border:1px solid var(--line-strong);padding:.4rem;z-index:20}.user-menu .menu-who{margin:.35rem .5rem .6rem;color:var(--muted);font-size:.8rem;overflow-wrap:anywhere}.user-menu .menu button,.user-menu .menu a{display:block;width:100%;text-align:left;padding:.55rem .5rem;color:var(--fg);background:transparent;border:0;text-decoration:none;font-size:.875rem}.user-menu .menu button:hover,.user-menu .menu a:hover{background:var(--hover)}.form select,.form textarea,.inline select,.inline input{width:100%;padding:.6rem .7rem;color:var(--fg);background:var(--field);border:1px solid var(--line-strong);font:inherit}.form textarea{min-height:5rem;resize:vertical}.form .check{display:flex;align-items:center;gap:.5rem;color:var(--fg)}.form .check input{width:auto}.form-grid{display:grid;gap:.85rem 1rem;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr))}.form-grid .wide{grid-column:1/-1}.inline{display:flex;flex-wrap:wrap;align-items:end;gap:.6rem}.inline label{display:grid;gap:.25rem;font-size:.8rem;color:var(--muted)}.panel{border:1px solid var(--line);padding:1.1rem 1.2rem;margin-bottom:1.25rem;background:var(--surface)}.panel h2{margin-bottom:.9rem}.split{display:grid;gap:1.25rem}@media(min-width:980px){.split{grid-template-columns:minmax(18rem,26rem) 1fr;align-items:start}}.pill{display:inline-block;padding:.1rem .5rem;border:1px solid var(--line-strong);border-radius:999px;font-size:.72rem;color:var(--muted);white-space:nowrap}.pill.ok{color:var(--ok);border-color:var(--ok-line)}.pill.warn{color:var(--warn);border-color:var(--warn-line)}.pill.bad{color:var(--danger);border-color:var(--danger-line)}button.pill{background:transparent;cursor:pointer;font:inherit;font-size:.72rem}button.pill:hover{color:var(--accent);border-color:var(--accent)}.slot.target{outline:1px dashed var(--line-strong);outline-offset:-2px;cursor:copy}.chips{display:flex;flex-wrap:wrap;gap:.35rem}.stats{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));margin-bottom:1.5rem}.stat{border:1px solid var(--line);padding:1rem}.stat .num{font-size:1.6rem;font-variant-numeric:tabular-nums}.stat .lbl{color:var(--muted);font-size:.8rem}.meter{height:.35rem;background:var(--line);margin-top:.5rem}.meter>span{display:block;height:100%;background:var(--accent)}.cal{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr))}.cal-day{border:1px solid var(--line)}.cal-day h3{margin:0;padding:.5rem .65rem;font-size:.8rem;color:var(--muted);border-bottom:1px solid var(--line)}.slot{display:flex;width:100%;justify-content:space-between;gap:.5rem;padding:.45rem .65rem;color:var(--fg);background:transparent;border:0;border-bottom:1px solid var(--line);font-size:.85rem;text-align:left}.slot:last-child{border-bottom:0}.slot:hover:not(:disabled),.slot.selected{background:var(--hover)}.slot .use{font-variant-numeric:tabular-nums;font-size:.75rem;color:var(--muted)}.slot.full .use{color:var(--warn)}.slot.over .use{color:var(--danger)}.list{list-style:none;margin:0;padding:0;border:1px solid var(--line)}.list li{padding:.6rem .75rem;border-bottom:1px solid var(--line)}.list li:last-child{border-bottom:0}.list li.selected{background:var(--hover)}.list button.row{display:block;width:100%;padding:0;color:inherit;background:none;border:0;text-align:left}.scroll{max-height:70vh;overflow-y:auto}.history li{font-size:.85rem}.history .chg{margin:.25rem 0 0;padding-left:1rem;color:var(--muted)}.dialog-backdrop{position:fixed;inset:0;background:var(--backdrop);display:grid;place-items:center;z-index:50;padding:var(--gutter)}.dialog{width:min(32rem,100%);background:var(--field);border:1px solid var(--line-strong);padding:1.25rem}.dialog h2{margin-bottom:.5rem}main a{color:var(--accent)}main a:hover{color:var(--accent-strong)}.wordmark{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.form input:focus,.form select:focus,.form textarea:focus,.inline input:focus,.inline select:focus,.auth input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.topbar{background:var(--bg);box-shadow:0 1px 0 var(--line)}.pill.ok{background:#effaf3}.pill.accent,button.pill.ok{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.slot.selected,.list li.selected{background:var(--accent-soft)}.slot.target:hover:not(:disabled){background:var(--accent-soft);outline-color:var(--accent)}.badge{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-soft)}.panel,.stat,.cal-day,.table-wrap,.list,.dialog{border-radius:.4rem}.dialog{box-shadow:0 12px 40px #0f1f332e}a.stat:hover{border-color:var(--accent)}th{background:var(--surface)}.auth-split{background:linear-gradient(180deg,var(--accent-soft),var(--bg) 60%)}input,select,textarea{font-family:inherit;font-weight:400}label{font-weight:400}.wordmark{display:inline-flex;align-items:center;gap:.6rem}.wordmark img{display:block;width:44px;height:44px;border-radius:50%;object-fit:cover}.wordmark span{color:var(--muted);font-weight:400;font-size:.95rem}.topbar .inner{padding-top:.55rem;padding-bottom:.55rem}.wordmark-lg img{width:96px;height:96px}.wordmark-lg span{font-size:1.1rem}
