:root{--bg:#f4f5f7;--surface:#fff;--text:#1c2430;--muted:#5f6b7a;--border:#dde1e7;--accent:#1d4ed8;--error:#b42318;--success:#067647}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{margin:0 0 1.25rem;font-size:1.5rem}.logo{width:auto;height:45px}.error{color:var(--error);margin:0;font-size:.875rem}.empty{color:var(--muted)}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:380px;padding:32px}.login-card .logo{margin-bottom:20px;display:block}.login-card h1{font-size:1.25rem}.login-form{gap:14px;display:grid}.login-form label{gap:6px;font-size:.875rem;font-weight:500;display:grid}.login-form input{border:1px solid var(--border);font:inherit;border-radius:8px;padding:10px 12px}.login-form button{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:8px;padding:11px;font-weight:600}.login-form button:disabled{opacity:.6;cursor:default}.home header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;display:flex}.account{color:var(--muted);align-items:center;gap:16px;min-width:0;font-size:.875rem;display:flex}.account span{text-overflow:ellipsis;overflow:hidden}.link{color:var(--accent);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0}.home main{max-width:960px;margin:0 auto;padding:32px 24px}.tools{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.tools a{background:var(--surface);border:1px solid var(--border);height:100%;color:inherit;border-radius:12px;gap:8px;padding:20px;text-decoration:none;display:grid}.tools a:hover,.tools a:focus-visible{border-color:var(--accent)}.tools svg{color:var(--accent)}.tools span{color:var(--muted);font-size:.875rem}.home header a{color:var(--accent);white-space:nowrap;text-decoration:none}.success{color:var(--success);margin:0;font-size:.875rem}.sr-only{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.admin-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:1.25rem;display:flex}.admin-head h1{margin:0}.primary,.login-form button.secondary,.password-row button.secondary{font:inherit;cursor:pointer;border-radius:8px;padding:9px 14px;font-weight:600}.primary{background:var(--accent);color:#fff;border:0}.login-form button.secondary,.password-row button.secondary{border:1px solid var(--border);background:var(--surface);color:var(--text)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow-x:auto}.users{border-collapse:collapse;width:100%;font-size:.875rem}.users th,.users td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 16px}.users th{color:var(--muted);font-weight:500}.users tbody tr:last-child td{border-bottom:0}.badge{background:var(--bg);color:var(--error);border-radius:999px;margin-left:8px;padding:2px 8px;font-size:.75rem}.dialog{border:1px solid var(--border);width:min(460px,100vw - 32px);max-height:calc(100vh - 32px);color:var(--text);border-radius:12px;padding:24px}.dialog::backdrop{background:#0006}.dialog hr{border:0;border-top:1px solid var(--border);margin:20px 0}.dialog-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.dialog-head h2{overflow-wrap:anywhere;margin:0;font-size:1.05rem}.login-form select{border:1px solid var(--border);font:inherit;background:var(--surface);border-radius:8px;padding:10px 12px}.login-form fieldset{border:1px solid var(--border);border-radius:8px;gap:8px;margin:0;padding:12px;display:grid}.login-form legend{padding:0 4px;font-size:.875rem;font-weight:500}.login-form label.check{align-items:center;gap:8px;font-weight:400;display:flex}.password-row{gap:8px;display:flex}.password-row input{flex:1;min-width:0}@media (max-width:480px){.home header,.home main{padding-left:16px;padding-right:16px}}
