:root{--bg:#f7f7f9;--surface:#fff;--border:#dedce4;--ink:#1a1922;--ink-soft:#66636f;--accent:#3b3f7a;--accent-soft:#d8daee;--warn:#8a4b12;--warn-soft:#f6e6d4;--danger:#8c2f2f;--danger-soft:#f4dede;--ok:#2f5d50;--ok-soft:#cfe0d9;--radius:6px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent)}h1{font-size:1.45rem;margin:0 0 .25rem}h2{font-size:1.05rem;margin:0 0 .6rem}h3{font-size:.95rem;margin:0 0 .4rem}.shell{display:flex;min-height:100vh}.shell-nav{width:200px;flex:none;padding:1.1rem .9rem;border-right:1px solid var(--border);background:var(--surface)}.shell-brand{font-weight:650;font-size:.9rem;letter-spacing:.02em;color:var(--accent);margin-bottom:1rem}.shell-nav ul{list-style:none;margin:0;padding:0}.shell-nav li{margin:.15rem 0}.shell-nav a{display:block;padding:.35rem .5rem;border-radius:var(--radius);text-decoration:none;color:var(--ink);font-size:.92rem}.shell-nav a:hover{background:var(--accent-soft)}.shell-main{flex:1 1;padding:1.4rem 1.6rem;min-width:0}.shell-account,.shell-foot{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;margin-top:1.4rem;padding-top:.8rem;border-top:1px solid var(--border);font-size:.82rem;color:var(--ink-soft);word-break:break-word}.metric-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.nav-badge{display:inline-block;min-width:1.15rem;margin-left:.35rem;padding:0 .3rem;border-radius:999px;background:var(--warn-soft);color:var(--warn);font-size:.75rem;font-weight:650;text-align:center}.auth{max-width:22rem;margin:4rem auto;padding:1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.auth-form{display:flex;flex-direction:column;gap:.3rem;margin-top:1rem}.auth-form label{font-size:.85rem;color:var(--ink-soft);margin-top:.5rem}.auth-form input{padding:.45rem .55rem;border:1px solid var(--border);border-radius:var(--radius);font:inherit}.auth-form button{margin-top:1rem;padding:.5rem;border:0;border-radius:var(--radius);background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}.auth-form button:disabled{opacity:.6;cursor:default}.auth-error{background:var(--danger-soft);color:var(--danger)}.auth-error,.auth-notice{margin:.6rem 0 0;padding:.45rem .6rem;border-radius:var(--radius);font-size:.88rem}.auth-notice{background:var(--warn-soft);color:var(--warn)}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);padding:.4rem .5rem}td,th{border-bottom:1px solid var(--border)}td{padding:.5rem;vertical-align:middle}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge{display:inline-block;padding:.1rem .4rem;border-radius:999px;font-size:.75rem;font-weight:600;margin-right:.25rem}.badge-low{background:var(--warn-soft);color:var(--warn)}.badge-overdue,.badge-suspended{background:var(--danger-soft);color:var(--danger)}.badge-invite{background:var(--accent-soft);color:var(--accent)}.badge-ok{background:var(--ok-soft);color:var(--ok)}.card,.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;margin-bottom:1.1rem}.card>h2,.panel>h2{margin-top:0}.muted,.page-sub{color:var(--ink-soft);font-size:.88rem;margin:0}.empty{color:var(--ink-soft);font-style:italic}.row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.55rem 0;border-top:1px solid var(--border)}.row:first-of-type{border-top:0}.row>div:first-child{flex:1 1 16rem}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table td,.table th{text-align:left;padding:.45rem .5rem;border-bottom:1px solid var(--border)}.table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.table td.num,.table th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.state{display:inline-block;padding:.1rem .45rem;border-radius:999px;font-size:.75rem;border:1px solid var(--border);background:var(--bg)}.state-closed,.state-disabled,.state-suspended{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.state-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.form-grid{display:grid;grid-template-columns:minmax(0,14rem) minmax(0,1fr);grid-gap:.5rem .9rem;gap:.5rem .9rem;align-items:center}.form-grid label{font-size:.88rem;color:var(--ink-soft)}.form-grid input,.form-grid select,.form-grid textarea{padding:.4rem .5rem;border:1px solid var(--border);border-radius:var(--radius);font:inherit;width:100%}.btn,.button{padding:.4rem .75rem;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer;display:inline-block;text-decoration:none}.btn-secondary,.button-secondary{background:var(--surface);color:var(--accent)}.btn-danger,.button-danger,.button.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn:disabled,.button:disabled{opacity:.55;cursor:not-allowed}.reason-form{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.confirm-form label,.reason-form label{display:flex;align-items:center;gap:.4rem}.confirm-form{border:1px solid var(--danger);border-radius:var(--radius);padding:.75rem;margin-top:.75rem}.confirm-consequence{margin:0 0 .5rem}.confirm-consequence,.form-error{padding:.4rem .55rem;background:var(--danger-soft);color:var(--danger);border-radius:var(--radius)}.form-error,.form-ok{margin:.5rem 0 0;font-size:.88rem}.form-ok{padding:.4rem .55rem;border-radius:var(--radius);background:var(--ok-soft);color:var(--ok)}.secret-once{margin:.6rem 0;padding:.6rem .7rem;border:1px dashed var(--accent);border-radius:var(--radius);background:var(--accent-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem;word-break:break-all}.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}@media (max-width:720px){.shell{flex-direction:column}.shell-nav{width:auto;flex:0 0 auto;border-right:0;border-bottom:1px solid var(--border);padding:.8rem 1rem}.shell-nav ul{display:flex;flex-wrap:wrap;gap:.15rem}.shell-nav li{margin:0}.shell-main{padding:1rem}.card,.panel{overflow-x:auto}.reason-form,.row{align-items:flex-start}.confirm-form label,.reason-form label{width:100%}.confirm-form input[type=text],.reason-form input[type=text]{flex:1 1 auto;min-width:0}}