*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=light]{--bg-app: #F7F8FA;--bg-card: #FFFFFF;--bg-sidebar: #FFFFFF;--bg-input: #F1F3F5;--bg-hover: #F1F3F5;--bg-badge: #E8F9F7;--border: #E2E5E9;--border-light: #EDF0F3;--text-primary: #1A1D23;--text-secondary: #5F6B7A;--text-muted: #9CA3AF;--teal: #00A89D;--teal-light: #E8F9F7;--navy: #0A2540;--red: #E5534B;--green: #2DA44E;--orange: #D29922;--blue: #3B82F6;--shadow-sm: 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);--radius: 10px;--sidebar-width: 240px}[data-theme=dark]{--bg-app: #0F1720;--bg-card: #1A2332;--bg-sidebar: #141C28;--bg-input: #1E2A3A;--bg-hover: #1E2A3A;--bg-badge: rgba(0,168,157,.15);--border: #2A3544;--border-light: #222E3E;--text-primary: #E8ECF1;--text-secondary: #8B95A5;--text-muted: #5A6577;--shadow-sm: 0 1px 2px rgba(0,0,0,.2);--shadow-md: 0 4px 12px rgba(0,0,0,.3);--shadow-lg: 0 8px 24px rgba(0,0,0,.4)}body{font-family:Plus Jakarta Sans,-apple-system,sans-serif;background:var(--bg-app);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}input,select,textarea{font-family:inherit;font-size:14px;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:10px 14px;outline:none;transition:border-color .15s,box-shadow .15s;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #00a89d1f}input::placeholder,textarea::placeholder{color:var(--text-muted)}button{font-family:inherit;cursor:pointer;border:none;font-size:14px;font-weight:600;border-radius:8px;padding:10px 20px;transition:all .15s}.btn-primary{background:var(--teal);color:#fff}.btn-primary:hover{filter:brightness(1.1)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;border:1px solid var(--border);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-hover)}.btn-danger{background:var(--red);color:#fff}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm)}.label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:12px 16px;border-bottom:1px solid var(--border)}td{padding:14px 16px;border-bottom:1px solid var(--border-light);font-size:14px;color:var(--text-primary)}tr:hover td{background:var(--bg-hover)}.toast{position:fixed;bottom:24px;right:24px;z-index:9999;padding:12px 20px;border-radius:var(--radius);font-size:14px;font-weight:600;color:#fff;box-shadow:var(--shadow-lg);animation:slideUp .3s ease}.toast-success{background:var(--green)}.toast-error{background:var(--red)}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s}.modal{background:var(--bg-card);border-radius:14px;padding:28px;width:90%;max-width:560px;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-lg)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.impersonation-bar{position:fixed;top:0;left:0;right:0;z-index:9999;background:#d97706;color:#fff;padding:8px 20px;display:flex;align-items:center;justify-content:center;gap:16px;font-size:14px;font-weight:600}.impersonation-bar button{background:#fff;color:#d97706;font-weight:700;padding:4px 14px;border-radius:6px;font-size:13px}body.impersonating{padding-top:44px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.page-layout{display:flex;min-height:100vh}.page-main{flex:1;overflow-y:auto;padding:28px 32px;margin-left:var(--sidebar-width)}@media (max-width: 768px){.page-main{margin-left:0;padding:16px}}
