:root{--primary:#1e40af;--primary-light:#3b82f6;--primary-dark:#1e3a8a;--accent:#f59e0b;--accent-light:#fbbf24;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#06b6d4;--white:#fff;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--dao-duc:#6366f1;--hoc-tap:#10b981;--the-luc:#f59e0b;--tinh-nguyen:#ef4444;--hoi-nhap:#8b5cf6;--gradient-primary:linear-gradient(135deg, #1e40af 0%, #3b82f6 50%, #06b6d4 100%);--gradient-hero:linear-gradient(135deg, #0f172a 0%, #1e3a8a 40%, #1e40af 70%, #3b82f6 100%);--gradient-card:linear-gradient(145deg, #ffffff14 0%, #ffffff05 100%);--gradient-accent:linear-gradient(135deg, #f59e0b, #fbbf24);--shadow-sm:0 1px 3px #0000001f, 0 1px 2px #00000014;--shadow-md:0 4px 16px #0000001f, 0 2px 8px #00000014;--shadow-lg:0 10px 40px #00000026, 0 4px 16px #0000001a;--shadow-xl:0 20px 60px #0003, 0 8px 24px #0000001f;--shadow-glow:0 0 30px #3b82f64d;--shadow-glow-accent:0 0 30px #f59e0b4d;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--transition-fast:all .15s ease;--transition-normal:all .25s ease;--transition-slow:all .4s ease;--font-primary:"Be Vietnam Pro", "Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--container-max:1280px;--sidebar-width:260px;--header-height:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-primary);background:var(--gray-50);color:var(--gray-900);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}img{max-width:100%;display:block}input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.3}.app-layout{min-height:100vh;display:flex}.main-content{margin-left:calc(var(--sidebar-width) + 16px);padding-top:calc(var(--header-height) + 16px);min-height:100vh;transition:margin-left var(--transition-normal);flex:1}@media (width<=768px){.main-content{padding-top:var(--header-height);margin-left:0}}.page-container{max-width:var(--container-max);margin:0 auto;padding:24px 20px;overflow-x:hidden}@media (width<=768px){.page-container{padding:16px 12px}}.dashboard-grid{grid-template-columns:1fr 2fr;gap:20px;margin-bottom:24px;display:grid}@media (width<=768px){.dashboard-grid{grid-template-columns:1fr}}.grid{display:grid}@media (width<=1024px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;line-height:1;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";background:#fff0;transition:background .15s;position:absolute;inset:0}.btn:hover:after{background:#ffffff1a}.btn:active{transform:scale(.97)}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #3b82f659}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #3b82f680}.btn-accent{background:var(--gradient-accent);color:var(--gray-900);box-shadow:0 4px 15px #f59e0b59}.btn-outline{border:2px solid var(--primary-light);color:var(--primary-light);background:0 0}.btn-outline:hover{background:var(--primary-light);color:#fff}.btn-ghost{color:var(--gray-600);background:0 0}.btn-ghost:hover{background:var(--gray-100);color:var(--gray-900)}.btn-danger{background:var(--danger);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-sm{border-radius:var(--radius-sm);padding:6px 14px;font-size:12px}.btn-lg{border-radius:var(--radius-lg);padding:14px 32px;font-size:16px}.btn-full{width:100%}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);transition:var(--transition-normal);background:#fff;padding:24px}.card:hover{box-shadow:var(--shadow-md)}.card-glass{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);background:#ffffff14;border:1px solid #ffffff26}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-label{color:var(--gray-700);font-size:13px;font-weight:600}.form-label .required{color:var(--danger);margin-left:2px}.form-input,.form-select,.form-textarea{border:2px solid var(--gray-200);border-radius:var(--radius-md);width:100%;color:var(--gray-900);transition:var(--transition-fast);background:#fff;outline:none;padding:10px 14px;font-family:inherit;font-size:14px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px #3b82f626}.form-input::placeholder{color:var(--gray-400)}.form-error{color:var(--danger);align-items:center;gap:4px;font-size:12px;display:flex}.badge{border-radius:var(--radius-full);letter-spacing:.3px;text-transform:uppercase;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge-blue{color:#1d4ed8;background:#dbeafe}.badge-green{color:#065f46;background:#d1fae5}.badge-yellow{color:#92400e;background:#fef3c7}.badge-red{color:#991b1b;background:#fee2e2}.badge-purple{color:#5b21b6;background:#ede9fe}.badge-gray{background:var(--gray-100);color:var(--gray-600)}.badge-orange{color:#c2410c;background:#fff7ed}.status-draft{color:#64748b;background:#f1f5f9}.status-submitted{color:#1d4ed8;background:#dbeafe}.status-under_review{color:#92400e;background:#fef3c7}.status-approved_school{color:#065f46;background:#d1fae5}.status-approved_province{color:#5b21b6;background:#ede9fe}.status-rejected{color:#991b1b;background:#fee2e2}.status-revision_needed{color:#c2410c;background:#fff7ed}.progress-bar{background:var(--gray-200);border-radius:var(--radius-full);width:100%;height:8px;overflow:hidden}.progress-fill{border-radius:var(--radius-full);height:100%;transition:width .8s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);width:100%;height:100%;animation:2s infinite shimmer;position:absolute;top:0;left:-100%}@keyframes shimmer{0%{left:-100%}to{left:100%}}.avatar{border-radius:var(--radius-full);object-fit:cover;background:var(--gradient-primary);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:700;display:flex}.section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-title{color:var(--gray-900);font-size:20px;font-weight:800}.section-subtitle{color:var(--gray-500);margin-top:4px;font-size:14px}.stat-card{border-radius:var(--radius-lg);border:1px solid var(--gray-200);transition:var(--transition-normal);background:#fff;align-items:center;gap:16px;padding:20px;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.stat-value{font-size:28px;font-weight:800;line-height:1}.stat-label{color:var(--gray-500);margin-top:2px;font-size:13px}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.empty-state-icon{opacity:.3;width:72px;height:72px;margin-bottom:16px}.empty-state-title{color:var(--gray-700);margin-bottom:8px;font-size:18px;font-weight:700}.empty-state-text{color:var(--gray-500);max-width:400px;margin-bottom:20px;font-size:14px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-box{border-radius:var(--radius-xl);width:100%;max-width:600px;max-height:90vh;box-shadow:var(--shadow-xl);background:#fff;padding:28px;animation:.3s cubic-bezier(.34,1.56,.64,1) slideUp;overflow-y:auto}.spinner{border:3px solid var(--gray-200);border-top-color:var(--primary-light);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-loading{min-height:60vh;color:var(--gray-500);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #3b82f666}50%{box-shadow:0 0 0 8px #3b82f600}}.animate-fade-in{animation:.4s fadeIn}.animate-slide-up{animation:.4s slideUp}.criterion-card{border-radius:var(--radius-lg);border:2px solid var(--gray-200);transition:var(--transition-normal);cursor:pointer;background:#fff;padding:20px;position:relative;overflow:hidden}.criterion-card:before{content:"";background:var(--cat-color,var(--primary-light));height:4px;transition:height var(--transition-normal);position:absolute;top:0;left:0;right:0}.criterion-card:hover:before{height:6px}.criterion-card:hover{border-color:var(--cat-color,var(--primary-light));box-shadow:var(--shadow-md);transform:translateY(-2px)}.criterion-card.complete{border-color:var(--success)}.criterion-card.complete:before{background:var(--success)}.chat-container{height:calc(100vh - var(--header-height) - 100px);flex-direction:column;display:flex}.chat-messages{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.chat-bubble{border-radius:18px;max-width:75%;padding:12px 16px;font-size:14px;line-height:1.6;animation:.3s slideUp}.chat-bubble.user{background:var(--gradient-primary);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.chat-bubble.assistant{border:1px solid var(--gray-200);color:var(--gray-800);box-shadow:var(--shadow-sm);background:#fff;border-bottom-left-radius:4px;align-self:flex-start}.chat-input-area{border-top:1px solid var(--gray-200);background:#fff;align-items:flex-end;gap:12px;padding:16px;display:flex}.toast-success{background:var(--success)!important}.toast-error{background:var(--danger)!important}.table-container{border-radius:var(--radius-lg);border:1px solid var(--gray-200);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}thead{background:var(--gray-50);border-bottom:2px solid var(--gray-200)}th{text-align:left;color:var(--gray-500);letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;padding:12px 16px;font-size:12px;font-weight:700}td{border-bottom:1px solid var(--gray-100);color:var(--gray-700);padding:14px 16px}tr:last-child td{border-bottom:none}tbody tr{transition:var(--transition-fast)}tbody tr:hover{background:var(--gray-50)}.grid{gap:20px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (width<=1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.page-container{padding:16px}.stat-card{flex-direction:column;align-items:flex-start}}.upload-zone{border:2px dashed var(--gray-300);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:var(--transition-normal);background:var(--gray-50);padding:40px 20px}.upload-zone:hover,.upload-zone.dragover{border-color:var(--primary-light);background:#eff6ff}.upload-zone.dragover{box-shadow:var(--shadow-glow);transform:scale(1.01)}.score-ring{width:120px;height:120px;position:relative}.score-ring svg{transform:rotate(-90deg)}.score-ring-value{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.sidebar{width:var(--sidebar-width);z-index:100;height:calc(100vh - 32px);transition:transform var(--transition-normal);background:linear-gradient(#0f172a 0%,#1e293b 100%);border-radius:24px;flex-direction:column;display:flex;position:fixed;top:16px;left:16px;overflow:hidden;box-shadow:0 10px 40px -10px #0000004d}.sidebar-logo{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;padding:20px;display:flex}.sidebar-logo-icon{background:var(--gradient-primary);border-radius:var(--radius-md);justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 4px 12px #3b82f666}.sidebar-logo-text{color:#fff}.sidebar-logo-title{font-size:16px;font-weight:800;line-height:1.2}.sidebar-logo-subtitle{color:#ffffff80;text-transform:uppercase;letter-spacing:1px;font-size:10px}.sidebar-nav{flex:1;padding:16px 12px;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.sidebar-nav::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#ffffff26}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff40}.nav-section-label{color:#ffffff59;letter-spacing:1.5px;text-transform:uppercase;padding:8px 12px 4px;font-size:10px;font-weight:700}.nav-item{border-radius:var(--radius-md);color:#ffffffa6;cursor:pointer;transition:var(--transition-fast);align-items:center;gap:10px;margin-bottom:2px;padding:10px 14px;font-size:14px;font-weight:500;display:flex;position:relative}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item.active{color:#fff;background:#3b82f640;font-weight:600}.nav-item.active:before{content:"";background:var(--primary-light);border-radius:0 2px 2px 0;width:3px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-badge{background:var(--danger);color:#fff;border-radius:var(--radius-full);text-align:center;min-width:18px;margin-left:auto;padding:2px 6px;font-size:10px;font-weight:700}.sidebar-footer{border-top:1px solid #ffffff14;padding:16px}.sidebar-user{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);align-items:center;gap:10px;padding:10px;display:flex}.sidebar-user:hover{background:#ffffff14}.sidebar-user-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:600;overflow:hidden}.sidebar-user-role{color:#ffffff73;font-size:11px}.topbar{top:16px;left:calc(var(--sidebar-width) + 32px);height:var(--header-height);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:90;transition:left var(--transition-normal);background:#ffffffd9;border:1px solid #fff9;border-radius:20px;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:fixed;right:16px;box-shadow:0 4px 24px #0000000a}@media (width<=768px){.topbar{border:none;border-bottom:1px solid var(--gray-200);border-radius:0;top:0;left:0;right:0}.sidebar{border-radius:0;height:100vh;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}}.topbar-title{color:var(--gray-900);font-size:18px;font-weight:700}.topbar-actions{align-items:center;gap:12px;display:flex}.icon-btn{background:var(--gray-100);border-radius:var(--radius-full);cursor:pointer;width:36px;height:36px;color:var(--gray-600);transition:var(--transition-fast);border:none;justify-content:center;align-items:center;display:flex;position:relative}.icon-btn:hover{background:var(--gray-200);color:var(--gray-900)}.icon-btn .notif-dot{background:var(--danger);border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:4px;right:4px}.notif-dropdown{border:1px solid var(--gray-200);z-index:100;background:#fff;border-radius:16px;width:340px;margin-top:12px;animation:.2s cubic-bezier(.16,1,.3,1) slideDown;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 10px 40px #0000001a}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.notif-item{border-bottom:1px solid var(--gray-100);cursor:pointer;text-align:left;gap:12px;padding:12px 16px;transition:background .2s;display:flex}.notif-item:hover{background:var(--gray-50)}.notif-item.unread{background:#eff6ff}@media (width<=768px){.notif-dropdown{width:auto;margin-top:0;position:fixed;top:70px;left:16px;right:16px}}.hero{background:var(--gradient-hero);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-bg-pattern{background-image:radial-gradient(circle at 20%,#3b82f626 0%,#0000 50%),radial-gradient(circle at 80% 20%,#f59e0b1a 0%,#0000 40%),radial-gradient(circle at 60% 80%,#8b5cf61a 0%,#0000 40%);position:absolute;inset:0}.hero-grid{background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0}.orb{filter:blur(80px);pointer-events:none;border-radius:50%;animation:8s ease-in-out infinite float;position:absolute}.orb-1{background:radial-gradient(circle,#3b82f633,#0000);width:400px;height:400px;animation-delay:0s;top:-10%;left:-5%}.orb-2{background:radial-gradient(circle,#f59e0b26,#0000);width:300px;height:300px;animation-delay:-3s;top:30%;right:10%}.orb-3{background:radial-gradient(circle,#8b5cf626,#0000);width:250px;height:250px;animation-delay:-6s;bottom:10%;left:20%}@keyframes float{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-30px)scale(1.05)}}.chip{border-radius:var(--radius-full);color:#fffc;background:#ffffff1a;border:1px solid #fff3;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.file-preview{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);transition:var(--transition-fast);align-items:center;gap:12px;padding:12px 16px;display:flex}.file-preview:hover{background:var(--gray-100)}.file-icon{border-radius:var(--radius-sm);background:var(--primary-light);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.mobile-overlay{z-index:99;background:#00000080;display:none;position:fixed;inset:0}@media (width<=768px){.mobile-overlay.show{display:block}}.hide-mobile{display:block}.show-mobile{display:none}@media (width<=768px){.hide-mobile{display:none}.show-mobile{display:block}}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);background:var(--gray-900);color:#fff;border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;z-index:10;padding:5px 10px;font-size:12px;transition:opacity .2s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}[data-tooltip]:hover:after{opacity:1}.auth-layout{background:#0a0f1e;min-height:100vh;display:flex}.auth-brand-panel{background:linear-gradient(145deg,#0d1b3e 0%,#0f2660 50%,#1a3a7c 100%);flex-direction:column;flex-shrink:0;width:480px;padding:48px;display:flex;position:relative;overflow:hidden}.auth-brand-bg{background:radial-gradient(80% 60% at 20% 30%,#3b82f626 0%,#0000 60%),radial-gradient(60% 60% at 80% 80%,#8b5cf61f 0%,#0000 60%);position:absolute;inset:0}.auth-brand-grid{background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.auth-orb{filter:blur(60px);pointer-events:none;border-radius:50%;position:absolute}.auth-orb-1{background:#3b82f633;width:300px;height:300px;animation:8s ease-in-out infinite auth-float;top:-80px;right:-60px}.auth-orb-2{background:#8b5cf626;width:200px;height:200px;animation:10s ease-in-out infinite reverse auth-float;bottom:100px;left:-40px}.auth-orb-3{background:#10b9811a;width:150px;height:150px;animation:6s ease-in-out infinite auth-float;bottom:-40px;right:80px}@keyframes auth-float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.auth-brand-content{z-index:2;flex-direction:column;gap:36px;height:100%;display:flex;position:relative}.auth-brand-logo{align-items:center;gap:14px;display:flex}.auth-logo-icon{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex;box-shadow:0 8px 24px #3b82f666}.auth-logo-name{color:#fff;letter-spacing:-.5px;font-size:22px;font-weight:800}.auth-logo-sub{color:#fff6;text-transform:uppercase;letter-spacing:1.5px;font-size:11px;font-weight:600}.auth-brand-headline h1{color:#fff;letter-spacing:-1px;margin-bottom:16px;font-size:38px;font-weight:900;line-height:1.2}.auth-brand-accent{background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.auth-brand-headline p{color:#fff9;font-size:15px;line-height:1.7}.auth-criteria-grid{flex-direction:column;gap:10px;display:flex}.auth-criteria-badge{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #ffffff1a;border-left:3px solid var(--badge-color,#3b82f6);background:#ffffff0f;border-radius:12px;align-items:center;gap:12px;padding:12px 16px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.auth-criteria-badge:hover{background:#ffffff1a;transform:translate(4px)}.auth-criteria-badge span:first-child{font-size:18px}.auth-stats{border-top:1px solid #ffffff1a;gap:24px;margin-top:auto;padding-top:20px;display:flex}.auth-stat-item{text-align:center;flex:1}.auth-stat-value{color:#fbbf24;font-size:28px;font-weight:900;line-height:1}.auth-stat-label{color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:11px}.auth-steps-preview{flex-direction:column;gap:16px;display:flex}.auth-step-preview{opacity:.5;background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:14px;padding:14px 16px;transition:all .25s;display:flex}.auth-step-preview.active{opacity:1;background:#3b82f626;border-color:#3b82f666;transform:translate(4px)}.auth-step-preview.done{opacity:.8;background:#10b9811a;border-color:#10b9814d}.auth-step-num{color:#fff;background:#ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:flex}.auth-step-preview.active .auth-step-num{background:#3b82f6;box-shadow:0 0 0 4px #3b82f633}.auth-step-preview.done .auth-step-num{color:#fff;background:#10b981}.auth-step-title{color:#fff;font-size:14px;font-weight:700}.auth-step-desc{color:#ffffff80;margin-top:2px;font-size:12px}.auth-form-panel{background:#f8fafc;flex:1;justify-content:center;align-items:center;padding:40px 24px;display:flex;overflow-y:auto}.auth-form-container{width:100%;max-width:460px;animation:.4s slideUp}.auth-mobile-logo{align-items:center;gap:12px;margin-bottom:32px;display:none}.auth-step-dots{align-items:center;gap:8px;margin-bottom:24px;display:none}.auth-step-dot{background:var(--gray-200);width:32px;height:32px;color:var(--gray-500);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;transition:all .25s;display:flex}.auth-step-dot.active{color:#fff;background:#3b82f6;transform:scale(1.1);box-shadow:0 0 0 4px #3b82f633}.auth-step-dot.done{color:#fff;background:#10b981}.auth-form-header{margin-bottom:32px}.auth-form-title{color:var(--gray-900);letter-spacing:-.5px;margin-bottom:8px;font-size:28px;font-weight:900}.auth-form-subtitle{color:var(--gray-500);font-size:14px;line-height:1.5}.auth-form{flex-direction:column;gap:18px;display:flex}.auth-field{flex-direction:column;gap:7px;display:flex}.auth-label{color:var(--gray-700);letter-spacing:.2px;font-size:13px;font-weight:700}.auth-req{color:#ef4444;margin-left:2px}.auth-input-wrap{align-items:center;display:flex;position:relative}.auth-input-icon{pointer-events:none;z-index:1;font-size:15px;position:absolute;left:14px}.auth-input{width:100%;color:var(--gray-900);background:#fff;border:2px solid #e2e8f0;border-radius:12px;outline:none;padding:13px 14px 13px 44px;font-family:inherit;font-size:15px;transition:all .2s}.auth-input:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a}.auth-input::placeholder{color:#94a3b8}.auth-eye-btn{color:var(--gray-400);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;transition:color .15s;display:flex;position:absolute;right:14px}.auth-eye-btn:hover{color:var(--gray-700)}.auth-password-strength{align-items:center;gap:6px;margin-top:4px;display:flex}.auth-strength-bar{border-radius:999px;flex:1;height:4px;transition:background .3s}.auth-strength-label{color:var(--gray-500);min-width:32px;font-size:11px;font-weight:600}.auth-select-wrap{position:relative}.auth-select{width:100%;color:var(--gray-900);appearance:none;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:12px;outline:none;padding:13px 14px;font-family:inherit;font-size:15px;transition:all .2s}.auth-select:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a}.auth-row-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.auth-submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1d4ed8,#3b82f6);border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:4px;padding:15px 24px;font-family:inherit;font-size:16px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 20px #3b82f659}.auth-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#1e40af,#2563eb);transform:translateY(-1px);box-shadow:0 6px 24px #3b82f673}.auth-submit-btn:active{transform:scale(.98)}.auth-submit-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.spin{animation:.8s linear infinite spin}.auth-divider{align-items:center;gap:12px;margin:20px 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--gray-200);flex:1;height:1px}.auth-divider span{color:var(--gray-400);font-size:13px;font-weight:500}.auth-demo-box{background:linear-gradient(135deg,#eff6ff,#f0fdf4);border:1px solid #bfdbfe;border-radius:14px;padding:18px}.auth-demo-label{color:#1d4ed8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:12px;font-weight:700}.auth-demo-accounts{grid-template-columns:1fr 1fr;gap:10px;display:grid}.auth-demo-btn{cursor:pointer;text-align:left;color:var(--gray-800);background:#fff;border:1px solid #bfdbfe;border-radius:10px;align-items:center;gap:10px;padding:12px 14px;font-family:inherit;transition:all .2s;display:flex}.auth-demo-btn:hover{background:#eff6ff;border-color:#93c5fd;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f61a}.auth-demo-btn span:first-child{font-size:20px}.auth-switch-text{text-align:center;color:var(--gray-500);margin-top:24px;font-size:14px}.auth-switch-link{color:#2563eb;font-weight:700;text-decoration:none;transition:color .15s}.auth-switch-link:hover{color:#1d4ed8;text-decoration:underline}.auth-skip-btn{color:var(--gray-400);cursor:pointer;text-align:right;background:0 0;border:none;align-self:flex-end;padding:4px 0;font-family:inherit;font-size:13px;transition:color .15s}.auth-skip-btn:hover{color:#2563eb}.auth-btn-row{align-items:stretch;gap:12px;display:flex}.auth-back-btn{border:2px solid var(--gray-200);color:var(--gray-600);cursor:pointer;white-space:nowrap;background:#fff;border-radius:12px;flex-shrink:0;padding:15px 20px;font-family:inherit;font-size:14px;font-weight:700;transition:all .2s}.auth-back-btn:hover{border-color:var(--gray-400);color:var(--gray-800)}.auth-confirm-box{border:1px solid var(--gray-200);background:linear-gradient(135deg,#f8faff,#fafffe);border-radius:16px;flex-direction:column;align-items:center;gap:20px;padding:24px;display:flex}.auth-confirm-avatar{color:#fff;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:24px;font-weight:900;display:flex;box-shadow:0 8px 20px #3b82f64d}.auth-confirm-info{flex-direction:column;gap:10px;width:100%;display:flex}.auth-confirm-row{border:1px solid var(--gray-100);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.auth-confirm-label{color:var(--gray-400);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700}.auth-confirm-value{color:var(--gray-800);text-align:right;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:14px;font-weight:600;overflow:hidden}.auth-confirm-note{color:#059669;text-align:center;background:#d1fae5;border-radius:8px;width:100%;padding:10px 14px;font-size:12px}.auth-mobile-logo,.auth-mobile-hero,.auth-step-dots{display:none}.auth-form-card{display:contents}@media (width<=900px){.auth-brand-panel{display:none}.auth-layout{background:linear-gradient(160deg,#060d1f 0%,#0c1a40 35%,#0f2660 65%,#1a3a7c 100%);min-height:100vh;display:block;position:relative;overflow-x:hidden}.auth-layout:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#3b82f633 0%,#0000 65%);border-radius:50%;width:380px;height:380px;position:fixed;top:-120px;right:-80px}.auth-layout:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#8b5cf629 0%,#0000 65%);border-radius:50%;width:300px;height:300px;position:fixed;bottom:-80px;left:-60px}.auth-form-panel{z-index:1;background:0 0;justify-content:flex-start;align-items:stretch;min-height:100vh;padding:0;position:relative;overflow-y:auto}.auth-form-container{box-shadow:none;background:0 0;border-radius:0;flex-direction:column;width:100%;max-width:100%;min-height:100vh;padding:0;display:flex}.auth-mobile-logo{align-items:center;margin-bottom:0;padding:24px 24px 0;display:flex}.auth-logo-name{color:#fff!important;font-size:18px!important}.auth-logo-icon{border-radius:12px;width:42px;height:42px;box-shadow:0 6px 20px #3b82f680}.auth-mobile-hero{padding:20px 24px 16px;display:block}.auth-mobile-hero-title{color:#fff;letter-spacing:-.5px;white-space:pre-line;margin-bottom:8px;font-size:28px;font-weight:900;line-height:1.2}.auth-mobile-hero-sub{color:#ffffff80;font-size:13px;line-height:1.5}.auth-step-dots{align-items:center;gap:0;padding:0 24px 20px;display:flex}.auth-step-dot{color:#fff6;z-index:1;background:#ffffff1a;border:2px solid #ffffff26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;font-weight:800;transition:all .35s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.auth-step-dot:not(:last-child):after{content:"";z-index:0;background:#ffffff26;border-radius:1px;width:48px;height:2px;transition:background .4s;position:absolute;top:50%;left:calc(100% + 2px);transform:translateY(-50%)}.auth-step-dot.done:after{background:#10b981}.auth-step-dot.active{color:#fff;background:#3b82f6;border-color:#60a5facc;transform:scale(1.18);box-shadow:0 0 0 5px #3b82f638,0 4px 16px #3b82f673}.auth-step-dot.done{color:#fff;background:#10b981;border-color:#34d399;box-shadow:0 4px 12px #10b98166}.auth-form-card{background:#fff;border-radius:28px 28px 0 0;flex-direction:column;flex:1;min-height:400px;margin-top:4px;padding:36px 24px 48px;display:flex;position:relative;box-shadow:0 -12px 48px #00000047}.auth-form-card:before{content:"";background:#e2e8f0;border-radius:99px;width:44px;height:4px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.auth-desktop-only{display:none!important}.auth-input{background:#f8faff;border-color:#e8eef7;border-radius:14px;padding:14px 14px 14px 48px;font-size:16px}.auth-input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.auth-select{background:#f8faff;border-color:#e8eef7;border-radius:14px;padding:14px;font-size:16px}.auth-label{text-transform:uppercase;letter-spacing:.6px;color:#475569;font-size:11px;font-weight:800}.auth-form{gap:16px}.auth-submit-btn{border-radius:16px;margin-top:4px;padding:16px;font-size:16px;box-shadow:0 6px 24px #3b82f666}.auth-demo-accounts{grid-template-columns:1fr;gap:8px}.auth-demo-btn{border-radius:12px;padding:14px 16px}.auth-row-2{grid-template-columns:1fr;gap:16px}.auth-back-btn{border-radius:16px;padding:16px 18px}.auth-switch-text{margin-top:20px;padding-bottom:4px}.auth-confirm-box{border-radius:20px}.auth-divider{margin:16px 0}.auth-form-title{font-size:22px!important}}@media (width<=390px){.auth-mobile-logo{padding:20px 20px 0}.auth-mobile-hero{padding:16px 20px 14px}.auth-mobile-hero-title{font-size:24px}.auth-step-dots{padding:0 20px 16px}.auth-form-card{border-radius:24px 24px 0 0;padding:32px 20px 44px}.auth-form-title{font-size:20px!important}.auth-step-dot:not(:last-child):after{width:36px}}
