:root{--bg: #0f1117;--surface: #1a1d27;--border: #2a2d3a;--text: #e8eaf0;--text-muted: #6b7280;--accent: #6366f1;--accent-hover: #4f52d8;--danger: #ef4444;--success: #22c55e;--warning: #f59e0b}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}nav{display:flex;align-items:center;gap:16px;padding:12px 24px;border-bottom:1px solid var(--border);background:var(--surface)}.nav-brand{font-weight:700;font-size:15px;color:var(--text)}.spacer{flex:1}.sign-out{background:none;border:1px solid var(--border);color:var(--text-muted);padding:4px 12px;border-radius:6px;cursor:pointer;font-size:13px}.sign-out:hover{color:var(--text);border-color:var(--text-muted)}.page{max-width:960px;margin:0 auto;padding:32px 24px}.page-header{margin-bottom:20px}.page-header h1{margin-top:8px}.back-link{color:var(--text-muted);text-decoration:none;font-size:13px}.back-link:hover{color:var(--text)}h1{font-size:22px;font-weight:600;margin-bottom:20px}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--text-muted)}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:8px}.login-page h1{font-size:26px}.login-page p{color:var(--text-muted);margin-bottom:16px}.login-form{display:flex;flex-direction:column;gap:12px;width:100%;max-width:360px}.login-form input{padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px}.error-msg{color:var(--danger);font-size:13px;margin:4px 0}button.primary,a.primary{background:var(--accent);color:#fff;border:none;padding:8px 18px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;text-decoration:none;display:inline-block}button.primary:hover,a.primary:hover{background:var(--accent-hover)}button.primary:disabled{opacity:.5;cursor:not-allowed}.button-link{text-decoration:none}.inline-form{display:flex;gap:8px;margin-bottom:20px}.inline-form input{flex:1;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}.admin-table th{color:var(--text-muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.admin-table tr:hover td{background:var(--surface)}.action-link{color:var(--accent);text-decoration:none;font-size:13px}.action-link:hover{text-decoration:underline}.danger-link{background:none;border:none;color:var(--danger);cursor:pointer;font-size:13px;padding:0}.danger-link:hover{text-decoration:underline}.admin-form{display:flex;flex-direction:column;gap:16px;max-width:680px}.admin-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-muted)}.admin-form input,.admin-form select,.admin-form textarea{padding:9px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;font-family:inherit}.admin-form textarea{resize:vertical;line-height:1.6}.admin-form select{cursor:pointer}.form-actions{margin-top:8px}.hint{font-size:12px;color:var(--text-muted)}.role-pill{font-size:11px;font-weight:600;padding:2px 8px;border-radius:99px;text-transform:uppercase;letter-spacing:.05em}.role-pill.super_admin{background:#312e81;color:#a5b4fc}.role-pill.tenant_admin{background:#1e3a5f;color:#60a5fa}.role-pill.user{background:#1a2e1a;color:#86efac}
