:root{--color-primary: #e500a4;--color-primary-hover: #c2008b;--color-primary-pressed: #9c0071;--color-primary-tint: #fce4f3;--color-secondary: #8900f2;--color-secondary-hover: #6a00f4;--color-secondary-tint: #f1e4fe;--gradient-start: #6a00f4;--gradient-end: #e500a4;--gradient: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));--color-success: #16a34a;--color-success-tint: #f0fdf4;--color-warning: #d97706;--color-warning-tint: #fffbeb;--color-error: #dc2626;--color-error-tint: #fef2f2;--color-background: #fffbfc;--color-surface: #ffffff;--color-surface-muted: #f7edf3;--color-foreground: #2b0a22;--color-foreground-muted: #6b5a66;--color-border: #f0dce9;--shadow-sm: 0 1px 2px rgba(43, 10, 34, .04);--shadow-md: 0 8px 24px rgba(43, 10, 34, .08);--font-heading: "Poppins", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;color-scheme:light dark;font-family:var(--font-body);font-size:15px;line-height:1.5;color:var(--color-foreground);background:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){:root{--color-primary-tint: rgba(229, 0, 164, .16);--color-secondary-tint: rgba(137, 0, 242, .18);--color-success-tint: rgba(22, 163, 74, .14);--color-warning-tint: rgba(217, 119, 6, .16);--color-error-tint: rgba(220, 38, 38, .16);--color-background: #170a13;--color-surface: #240f1d;--color-surface-muted: #33182a;--color-foreground: #f9e8f2;--color-foreground-muted: #cbb3c3;--color-border: #432236;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35)}}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--color-background)}#root{min-height:100vh}h1,h2,h3{font-family:var(--font-heading);font-weight:700;color:var(--color-foreground);margin:0}p{margin:0}button{font-family:inherit}input,select{font-family:inherit;color:var(--color-foreground)}::selection{background:var(--color-primary-tint)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:var(--radius-sm);border:1px solid transparent;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,opacity .15s ease,transform .15s ease}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:active:not(:disabled){background:var(--color-primary-pressed)}.btn-outline{background:transparent;border-color:var(--color-border);color:var(--color-foreground)}.btn-outline:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.field{display:flex;align-items:center;gap:10px;padding:0 14px;height:44px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-foreground-muted);transition:border-color .15s ease}.field:focus-within{border-color:var(--color-primary);color:var(--color-foreground)}.field input,.field select{border:none;outline:none;background:transparent;font-size:14px;color:var(--color-foreground);width:100%;height:100%}.field select{cursor:pointer}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.gradient-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:999px;background:var(--gradient);color:#fff;flex-shrink:0}.error-text{display:flex;align-items:center;gap:6px;color:var(--color-error);font-size:13px}.centered{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:100vh;padding:24px;text-align:center}.centered .card{padding:40px 36px;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:16px}.centered p{color:var(--color-foreground-muted);line-height:1.5}.spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--color-primary-tint);border-top-color:var(--color-primary);animation:spin .7s linear infinite}.spinner-sm{width:16px;height:16px;border-width:2px;border-color:#ffffff59;border-top-color:#fff}.spinner-sm-muted{border-color:var(--color-primary-tint);border-top-color:var(--color-primary)}.status-card{padding:40px 36px;max-width:380px}.status-heading{font-size:20px;margin-bottom:8px}.status-card-action{margin-top:8px}@keyframes spin{to{transform:rotate(360deg)}}.sign-in-form{display:flex;flex-direction:column;align-items:stretch;gap:18px;width:100%;max-width:380px;margin:12vh auto;padding:40px 36px;text-align:center}.sign-in-form .gradient-icon{align-self:center}.sign-in-form h1{font-size:22px}.sign-in-form .subtitle{color:var(--color-foreground-muted);font-size:14px;line-height:1.5}.subtitle-spaced{margin-top:8px}.divider-row{display:flex;align-items:center;gap:12px}.divider-row span:not(.divider-label){flex:1;height:1px;background:var(--color-border)}.divider-label{font-size:13px;color:var(--color-foreground-muted)}.sign-in-form label{display:block;text-align:left;font-size:13px;font-weight:600;color:var(--color-foreground-muted);margin-bottom:6px}.sign-in-form .field{width:100%}.sign-in-status{display:flex;flex-direction:column;align-items:center;gap:14px}.sign-in-status p{color:var(--color-foreground-muted);font-size:14px}.sign-in-icon-standalone{margin:0 auto 16px}.dashboard{max-width:1120px;margin:0 auto;padding:32px 24px 64px}.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap}.dashboard-title{display:flex;align-items:center;gap:12px}.dashboard-title .brand-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--gradient);color:#fff}.dashboard-title h1{font-size:20px}.dashboard-header-actions{display:flex;align-items:center;gap:12px}.me-chip{display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:var(--color-surface);border:1px solid var(--color-border);font-size:13px}.me-chip .me-email{color:var(--color-foreground-muted)}.role-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;text-transform:capitalize;white-space:nowrap}.role-badge.role-admin{background:var(--color-primary-tint);color:var(--color-primary)}.role-badge.role-moderator{background:var(--color-secondary-tint);color:var(--color-secondary)}.role-badge.role-user{background:var(--color-surface-muted);color:var(--color-foreground-muted)}.sign-out-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-foreground-muted);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s ease,color .15s ease}.sign-out-btn:hover{border-color:var(--color-error);color:var(--color-error)}.toolbar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.toolbar .field-role{width:160px;flex-shrink:0}.toolbar .field-search{flex:1;min-width:220px}.toolbar-icon{color:var(--color-foreground-muted);display:flex;flex-shrink:0}.table-card{overflow:hidden}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}thead th{text-align:left;padding:12px 16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-foreground-muted);background:var(--color-surface-muted);border-bottom:1px solid var(--color-border)}tbody td{padding:12px 16px;border-bottom:1px solid var(--color-border);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background-color .15s ease}tbody tr:hover{background:var(--color-surface-muted)}.email-cell{font-weight:500}.role-select{padding:5px 10px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);font-size:12px;font-weight:600;cursor:pointer;text-transform:capitalize}.status-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.status-pill.status-yes{background:var(--color-success-tint);color:var(--color-success)}.status-pill.status-no{background:var(--color-surface-muted);color:var(--color-foreground-muted)}.status-pill.status-disabled{background:var(--color-error-tint);color:var(--color-error)}.empty-state,.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:64px 24px;color:var(--color-foreground-muted);font-size:14px}.empty-state svg{color:var(--color-border)}
