:root{--bg:#f4f3ee;--panel:#fff;--ink:#1c1b18;--ink-dim:#6b6659;--line:#ddd8cb;--accent:#1f6f5c;--accent-ink:#fff;--danger:#a3242c;--danger-bg:#fbe6e4;--ok-bg:#e2efe4;--ok-ink:#2f6b4a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font:15px/1.5 -apple-system,Segoe UI,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#15171a;--panel:#1e2023;--ink:#e9e6da;--ink-dim:#9b9585;--line:#2c302c;--accent:#4fd8ab;--accent-ink:#062017;--danger:#f0787c;--danger-bg:#3a1f20;--ok-bg:#163329;--ok-ink:#7fd6a2}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0}#root{min-height:100vh}button{font:inherit;cursor:pointer}input{font:inherit}table{border-collapse:collapse;width:100%}.pill{letter-spacing:.02em;border-radius:20px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-block}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:14px;width:320px;padding:28px;display:flex}.login-card h1{color:var(--ink);margin:0;font-size:18px}.subtitle{color:var(--ink-dim);margin:0 0 6px;font-size:13px}.login-card label{color:var(--ink-dim);flex-direction:column;gap:5px;font-size:13px;display:flex}.login-card input{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:6px;padding:8px 10px;font-size:14px}.login-card button{background:var(--accent);color:var(--accent-ink);border:none;border-radius:6px;margin-top:6px;padding:9px;font-size:14px;font-weight:600}.login-card button:disabled{opacity:.6;cursor:default}.error{background:var(--danger-bg);color:var(--danger);border-radius:6px;padding:8px 10px;font-size:13px}.layout{min-height:100vh;display:flex}.sidebar{background:var(--panel);border-right:1px solid var(--line);flex:none;width:220px;padding:20px 16px}.brand{letter-spacing:-.01em;color:var(--ink);margin-bottom:24px;font-size:15px;font-weight:700}.sidebar nav{flex-direction:column;gap:2px;display:flex}.nav-link{color:var(--ink-dim);border-radius:6px;padding:8px 10px;font-size:14px;text-decoration:none;display:block}.nav-link:hover{background:var(--bg);color:var(--ink)}.nav-link.active{background:var(--accent);color:var(--accent-ink)}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--panel);justify-content:flex-end;align-items:center;gap:16px;padding:14px 24px;display:flex}.signed-in-as{color:var(--ink-dim);font-size:13px}.logout-btn{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:6px;padding:6px 12px;font-size:13px}.logout-btn:hover{border-color:var(--ink-dim)}.content{flex:1;padding:24px;overflow-x:auto}h1{color:var(--ink);margin:0 0 4px;font-size:20px}.page-sub{color:var(--ink-dim);margin:0 0 20px;font-size:13.5px}.page-error{background:var(--danger-bg);color:var(--danger);border-radius:6px;padding:10px 14px;font-size:13.5px}.page-loading{color:var(--ink-dim);font-size:13.5px}.search-input{width:100%;max-width:320px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:6px;margin:0 0 14px;padding:7px 12px;font-size:13.5px;display:block}.search-input:focus{border-color:var(--accent);outline:none}.table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}.row-link{color:var(--accent);font-size:13px;text-decoration:none}.row-link:hover{text-decoration:underline}th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-dim);border-bottom:1px solid var(--line);padding:10px 14px;font-size:11.5px}td{border-bottom:1px solid var(--line);padding:10px 14px;font-size:13.5px}tr:last-child td{border-bottom:none}.empty-row{text-align:center;color:var(--ink-dim);padding:24px}.pill.ok{background:var(--ok-bg);color:var(--ok-ink)}.pill.off{background:var(--danger-bg);color:var(--danger)}.pill.role-0{background:var(--line);color:var(--ink-dim)}.pill.role-1{color:#4d6b8a;background:#e5edf3}.pill.role-2{background:var(--ok-bg);color:var(--ok-ink)}.role-select{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:5px;margin-left:8px;padding:3px 6px;font-size:12px}.role-select:disabled{opacity:.6}.row-actions{gap:8px;display:flex}.action-btn{border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:5px;padding:4px 8px;font-size:12px}.action-btn:hover{border-color:var(--accent)}.action-btn:disabled{opacity:.6;cursor:default}.action-btn.danger{color:var(--danger);border-color:var(--danger)}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.link-btn:hover{text-decoration:underline}.user-form{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:12px;max-width:320px;margin-top:20px;padding:18px;display:flex}.user-form h2{color:var(--ink);margin:0;font-size:14px}.user-form label{color:var(--ink-dim);flex-direction:column;gap:5px;font-size:13px;display:flex}.user-form input{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:6px;padding:7px 10px;font-size:14px}.user-form button{background:var(--accent);color:var(--accent-ink);cursor:pointer;border:none;border-radius:6px;padding:8px;font-size:13.5px;font-weight:600}.user-form button:disabled{opacity:.6;cursor:default}
