:root{--navy-950: #071931;--navy-900: #0b2440;--navy-800: #102a43;--navy-700: #1b3a5c;--orange-500: #f26522;--orange-600: #e05612;--mint-500: #14b8a6;--mint-600: #0d9488;--bg: #e4e9f1;--surface: #ffffff;--surface-2: #eef2f8;--surface-3: #e4eaf2;--ink: #13314c;--ink-soft: #4d6076;--ink-faint: #8090a4;--line: #dde4ee;--green-500: #1f9d57;--red-500: #dc3b3b;--amber-500: #cf8412;--radius-sm: 10px;--radius: 16px;--radius-lg: 24px;--shadow-sm: 0 1px 2px rgba(19, 49, 76, .08), 0 4px 12px rgba(19, 49, 76, .06);--shadow: 0 12px 32px rgba(19, 49, 76, .12);--shadow-lg: 0 24px 54px rgba(19, 49, 76, .18);--glow-orange: 0 6px 18px rgba(242, 101, 34, .3);--glow-mint: 0 6px 18px rgba(20, 184, 166, .24);--font: "Segoe UI Variable Display", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{font-family:var(--font);color:var(--ink);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;background-color:var(--bg);background-image:radial-gradient(1100px 560px at 94% -14%,rgba(242,101,34,.07),transparent 60%),radial-gradient(900px 560px at -14% 112%,rgba(20,184,166,.06),transparent 60%),linear-gradient(180deg,#edf1f7,#e5eaf1);background-attachment:fixed}h1,h2,h3{font-weight:700;letter-spacing:-.02em;margin:0}a{color:var(--orange-500);text-decoration:none;font-weight:600}a:hover{text-decoration:underline}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-radius:var(--radius-sm);padding:.7rem 1.3rem;font-family:var(--font);font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn:not(:disabled):active{transform:translateY(0) scale(.99)}.btn-primary{background:linear-gradient(135deg,var(--orange-500),var(--orange-600));color:#fff;box-shadow:var(--glow-orange)}.btn-primary:not(:disabled):hover{box-shadow:0 0 32px #f2652280}.btn-navy{background:var(--navy-700);color:#fff}.btn-ghost{background:#9fb3c80f;color:var(--ink);border:1.5px solid var(--line)}.btn-ghost:not(:disabled):hover{border-color:var(--ink-faint);background:#9fb3c81f}.btn-block{width:100%}.field{display:flex;flex-direction:column;margin-bottom:1rem}.field label{font-size:.78rem;font-weight:700;color:var(--ink-soft);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.08em}.field input,.field select,.field textarea{font-family:var(--font);font-size:.95rem;color:var(--ink);padding:.75rem .9rem;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);transition:border-color .15s ease,box-shadow .15s ease}.field input::placeholder,.field select::placeholder,.field textarea::placeholder{color:var(--ink-faint)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--orange-500);box-shadow:0 0 0 3px #f2652229}.field select option{background:var(--surface);color:var(--ink)}.field .error{color:var(--red-500);font-size:.8rem;margin-top:.3rem}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--line);padding:1.5rem;animation:rise .45s ease both}.alert{border-radius:var(--radius-sm);padding:.8rem 1rem;margin-bottom:1rem;font-size:.9rem;border:1px solid transparent}.alert ul{margin:0;padding-left:1.1rem}.alert.alert-success{background:#2dd4bf1a;border-color:#2dd4bf59;color:var(--mint-500)}.alert.alert-error{background:#f871711a;border-color:#f8717159;color:var(--red-500)}.alert.alert-info{background:#2563eb14;border-color:#2563eb47;color:#1d4ed8}.badge{display:inline-block;padding:.2rem .7rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.badge.badge-active{background:#34d3991f;color:var(--green-500);border:1px solid rgba(52,211,153,.35)}.badge.badge-inactive{background:#f871711f;color:var(--red-500);border:1px solid rgba(248,113,113,.35)}.badge.badge-role{background:#9fb3c81a;color:var(--ink-soft);border:1px solid var(--line)}.skeleton{height:.95rem;border-radius:6px;background:linear-gradient(90deg,#9fb3c814 25%,#9fb3c82e,#9fb3c814 75%);background-size:400px 100%;animation:shimmer 1.3s linear infinite}.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface)}table.data{width:100%;border-collapse:collapse;font-size:.9rem}table.data th{text-align:left;padding:.85rem 1rem;background:var(--surface-2);color:var(--ink-soft);font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;border-bottom:1px solid var(--line)}table.data td{padding:.85rem 1rem;border-top:1px solid rgba(159,179,200,.08);vertical-align:middle}table.data tbody tr{transition:background .12s ease}table.data tbody tr:hover{background:#f265220f}.auth-page{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.auth-brand{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:3rem;color:#fff;background:radial-gradient(1200px 600px at 85% -10%,rgba(242,101,34,.25),transparent 60%),linear-gradient(160deg,var(--navy-800) 0%,var(--navy-950) 100%)}.auth-brand:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;pointer-events:none}.auth-brand:after{content:"";position:absolute;bottom:0;left:-10%;width:120%;height:10px;background:linear-gradient(90deg,var(--orange-500),var(--orange-600));box-shadow:var(--glow-orange);transform:rotate(-1.2deg)}.auth-brand .brand-mark{position:relative;font-weight:800;font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-500)}.auth-brand .brand-hero{position:relative}.auth-brand .brand-hero h1{font-size:clamp(1.9rem,3.2vw,3rem);line-height:1.12;margin-bottom:1rem}.auth-brand .brand-hero p{color:#bcccdc;font-size:1.05rem;max-width:26rem;margin:0}.auth-brand .brand-foot{position:relative;color:var(--ink-faint);font-size:.85rem}.auth-form-side{display:flex;align-items:center;justify-content:center;padding:2.5rem 1.25rem}.auth-card{width:100%;max-width:30rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:2.5rem;animation:rise .45s ease both}.auth-card h2{font-size:1.6rem;margin-bottom:.25rem}.auth-card .auth-sub{color:var(--ink-soft);margin:0 0 1.75rem;font-size:.95rem}.auth-card .auth-alt{margin-top:1.5rem;text-align:center;font-size:.9rem;color:var(--ink-soft)}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}@media(max-width:900px){.auth-page{grid-template-columns:1fr}.auth-brand{min-height:200px;padding:1.75rem}.auth-brand .brand-hero h1{font-size:1.5rem}.auth-brand .brand-hero p,.auth-brand .brand-foot{display:none}.auth-card{padding:1.75rem;border-radius:var(--radius)}.form-grid-2{grid-template-columns:1fr}.btn{padding:.8rem 1.3rem}}
