:root{--bg:#0f1115;--panel:#181b22;--border:#2a2f3a;--text:#e6e8ec;--muted:#9aa0aa;--accent:#4f8cff;--danger:#e5484d;--success:#30a46c;--warn:#f5a623;--info:#4f8cff;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}.admin-splash{flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100vh;display:flex}.admin-shell{flex-direction:column;min-height:100vh;display:flex}.admin-topbar{background:var(--panel);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.admin-brand{font-size:16px;font-weight:600}.admin-main{flex:1}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 16px;font-size:14px}.btn-primary:disabled{opacity:.5;cursor:default}.btn-primary.danger{background:var(--danger)}.btn-secondary{color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:10px 16px;font-size:14px}.btn-secondary:disabled{opacity:.5;cursor:default}.totp-input{letter-spacing:8px;text-align:center;background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:6px;padding:10px;font-size:24px}.totp-input::placeholder{color:var(--muted);letter-spacing:8px}.modal-overlay{z-index:100;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;width:min(440px,92vw);padding:20px}.modal-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.modal-header h2{margin:0;font-size:18px}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:22px;line-height:1}.modal-close:hover{color:var(--text)}.status-indicator{align-items:center;gap:6px;display:inline-flex}.status-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.magic-link{flex-direction:column;gap:10px;display:flex}.magic-link-warn{color:var(--warn);margin:0;font-size:13px}.magic-link-url{white-space:pre-wrap;word-break:break-all;background:var(--bg);border:1px solid var(--border);border-radius:6px;margin:0;padding:10px;font-size:13px}.magic-link-actions{gap:10px;display:flex}.login-page{justify-content:center;align-items:center;height:100vh;padding:16px;display:flex}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;width:min(400px,100%);padding:32px}.login-logo{text-align:center;margin:0 0 24px;font-size:20px}.login-form{flex-direction:column;gap:16px;display:flex}.login-form label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.login-form input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:10px;font-size:14px}.login-form input:focus{border-color:var(--accent);outline:none}.login-error{color:var(--danger);border:1px solid var(--danger);background:#e5484d1f;border-radius:6px;padding:10px;font-size:13px}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:13px}.link-btn:hover{text-decoration:underline}.login-btn{width:100%}.form-page{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.form-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;width:min(440px,100%);padding:32px}.form-card h1{margin:0 0 16px;font-size:20px}.admin-form{flex-direction:column;gap:16px;display:flex}.admin-form label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.admin-form input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:10px;font-size:14px}.admin-form input:focus{border-color:var(--accent);outline:none}.field-error{color:var(--danger);font-size:12px}.form-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.tenants-page{max-width:1100px;margin:0 auto;padding:24px}.tenants-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.tenants-header h1{margin:0;font-size:22px}.tenants-table{border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:10px;width:100%;overflow:hidden}.tenants-table th,.tenants-table td{text-align:left;border-bottom:1px solid var(--border);padding:12px 16px;font-size:14px}.tenants-table th{color:var(--muted);font-weight:500}.tenants-table tr:last-child td{border-bottom:none}.tenants-actions{gap:8px;display:flex}.tenants-actions button{color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:6px 10px;font-size:13px}.tenants-actions button.danger{color:var(--danger);border-color:var(--danger)}.tenants-empty{text-align:center;color:var(--muted);padding:24px}.tenants-pagination{align-items:center;gap:12px;margin-top:16px;display:flex}.tenants-pagination select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:13px}.tenants-pagination button{color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px;font-size:13px}.tenants-pagination button:disabled{opacity:.5;cursor:default}.setup-page{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.setup-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;width:min(440px,100%);padding:32px}.setup-card h1{margin:0 0 16px;font-size:20px}.qr-box{background:var(--bg);border:1px solid var(--border);border-radius:6px;justify-content:center;align-items:center;margin:16px 0;padding:16px;display:flex}.setup-secret{color:var(--muted);word-break:break-all;font-size:13px}.setup-form{flex-direction:column;gap:16px;margin-top:16px;display:flex}.setup-form label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.setup-warn{color:var(--warn);font-size:13px}.recovery-codes{background:var(--bg);border:1px solid var(--border);white-space:pre-wrap;word-break:break-all;border-radius:6px;padding:16px;font-size:15px;line-height:1.6}.setup-actions{gap:10px;margin:16px 0;display:flex}.setup-check{color:var(--muted);align-items:center;gap:8px;margin-bottom:16px;font-size:13px;display:flex}
