:root{--ink:#17181c;--muted:#6b7280;--line:#e3e5ea;--bg:#f7f8fa;--panel:#fff;--accent:#2b5cd9;--danger:#b3261e;--ok:#1a7f37}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:14px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}code,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.app{max-width:1180px;margin:0 auto;padding:0 20px 64px}.bar{background:var(--ink);color:#fff;align-items:center;gap:16px;padding:14px 20px;display:flex}.bar h1{letter-spacing:.02em;margin:0;font-size:15px;font-weight:600}.bar .grow{flex:1}.bar .who{color:#b9bdc7;font-size:13px}.tabs{border-bottom:1px solid var(--line);gap:4px;margin:20px 0;display:flex}.tabs button{appearance:none;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 14px}.tabs button.on{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-bottom:18px;overflow:hidden}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.panel-head h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;font-size:13px}.panel>p,.panel>form,.panel>div:not(.table-wrap){padding:14px 16px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:9px 16px}th{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px;font-weight:600}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafbfc}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.muted{color:var(--muted)}.error{color:var(--danger)}.warn{color:#8a5300}.ok{color:var(--ok)}button,.btn{appearance:none;font:inherit;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;padding:6px 12px}button:hover:not(:disabled){border-color:#c8ccd4}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:var(--danger);border-color:#e6c3c0}input[type=text],input[type=email],input[type=password],input[type=number],select{font:inherit;border:1px solid var(--line);background:#fff;border-radius:6px;min-width:0;padding:6px 10px}input:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pill{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:1px 7px;font-size:11px;display:inline-block}.pill.paid{color:var(--accent);border-color:#b9c8ee}.pill.on{color:var(--ok);border-color:#b6dfc2}.pill.off{color:var(--danger);border-color:#e6c3c0}.tri{display:inline-flex}.tri button{border-radius:0;padding:4px 10px;font-size:12px}.tri button:first-child{border-radius:6px 0 0 6px}.tri button:last-child{border-radius:0 6px 6px 0}.tri button+button{border-left:0}.tri button.tri-on{background:var(--ink);border-color:var(--ink);color:#fff}.signin{max-width:340px;margin:12vh auto}.signin form{gap:10px;display:grid}.signin input{width:100%}.signin h1{margin:0 0 4px;font-size:18px}.note{color:var(--muted);margin:6px 0 0;font-size:12px}
