:root{--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--asti-red:#e11d48;--asti-red-hover:#be123c;--asti-red-light:#e11d4814;--asti-red-border:#e11d4840;--bg-app:#f8fafc;--bg-sidebar:#0f172a;--bg-sidebar-hover:#1e293b;--bg-sidebar-active:#e11d4826;--sidebar-text:#94a3b8;--sidebar-text-active:#fff;--sidebar-border:#1e293b;--bg-card:#fff;--bg-card-subtle:#f8fafc;--bg-hover:#f1f5f9;--border-color:#e2e8f0;--border-color-subtle:#f1f5f9;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#2563eb14;--accent-emerald:#059669;--accent-emerald-light:#0596691a;--accent-amber:#d97706;--accent-amber-light:#d977061a;--text-main:#0f172a;--text-muted:#475569;--text-subtle:#94a3b8;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--sidebar-width:268px;--topbar-height:64px;--transition:all .18s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-app:#090d16;--bg-sidebar:#0b0f19;--bg-sidebar-hover:#161f30;--bg-sidebar-active:#e11d4833;--sidebar-text:#94a3b8;--sidebar-text-active:#fff;--sidebar-border:#1a2234;--bg-card:#111827;--bg-card-subtle:#161f30;--bg-hover:#1f293d;--border-color:#1f2937;--border-color-subtle:#161f30;--text-main:#f8fafc;--text-muted:#94a3b8;--text-subtle:#64748b;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 2px 4px #0006;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 10px 25px #0009}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;max-width:100vw;font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;line-height:1.5;transition:background-color .2s,color .2s;overflow-x:hidden}#root{flex-direction:column;width:100%;max-width:100vw;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--text-main);font-weight:700}button{font-family:var(--font-sans);cursor:pointer;transition:var(--transition);background:0 0;border:none;outline:none}input,select,textarea{font-family:var(--font-sans);color:var(--text-main);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);max-width:100%;transition:var(--transition);padding:9px 13px;font-size:.9rem}input:focus,select:focus,textarea:focus{border-color:var(--asti-red);box-shadow:0 0 0 3px var(--asti-red-light);outline:none}.linear-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:var(--transition)}.linear-card-hover:hover{box-shadow:var(--shadow-md);border-color:#cbd5e1}.badge{border-radius:var(--radius-full);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:5px;padding:3px 9px;font-size:.72rem;font-weight:600;display:inline-flex}.badge-red{background:var(--asti-red-light);color:var(--asti-red);border:1px solid var(--asti-red-border)}.badge-emerald{background:var(--accent-emerald-light);color:var(--accent-emerald);border:1px solid #05966940}.badge-amber{background:var(--accent-amber-light);color:var(--accent-amber);border:1px solid #d9770640}.badge-slate{background:var(--bg-hover);color:var(--text-muted);border:1px solid var(--border-color)}@keyframes live-pulse{0%{transform:scale(.95);box-shadow:0 0 #e11d48b3}70%{transform:scale(1);box-shadow:0 0 0 8px #e11d4800}to{transform:scale(.95);box-shadow:0 0 #e11d4800}}@keyframes float-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes shimmer-sweep{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.98)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.pulse-live-red{background-color:var(--asti-red);border-radius:50%;width:9px;height:9px;animation:1.8s infinite live-pulse;display:inline-block}.animate-fade-in{animation:.28s cubic-bezier(.16,1,.3,1) forwards fadeInScale}.lms-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s;position:relative;overflow:hidden}.lms-card:hover{border-color:#e11d484d;transform:translateY(-3px);box-shadow:0 12px 24px -6px #0f172a14,0 4px 12px -2px #e11d480d}[data-theme=dark] .lms-card:hover{border-color:#e11d4866;box-shadow:0 14px 28px -6px #0009,0 4px 14px -2px #e11d4826}.lms-stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;justify-content:space-between;padding:22px 22px 20px;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000000a,0 4px 12px -2px #0f172a08}.lms-stat-card:before{content:"";background:linear-gradient(90deg, var(--asti-red), #3b82f6);opacity:.85;height:3px;transition:opacity .2s,height .2s;position:absolute;top:0;left:0;right:0}.lms-stat-card.card-accent-emerald:before{background:linear-gradient(90deg,#10b981 0%,#059669 100%)}.lms-stat-card.card-accent-purple:before{background:linear-gradient(90deg,#a855f7 0%,#7c3aed 100%)}.lms-stat-card.card-accent-blue:before{background:linear-gradient(90deg,#3b82f6 0%,#2563eb 100%)}.lms-stat-card.card-accent-amber:before{background:linear-gradient(90deg,#f59e0b 0%,#d97706 100%)}.lms-stat-card:hover{border-color:#e11d484d;transform:translateY(-4px);box-shadow:0 16px 32px -8px #0f172a17,0 4px 12px -2px #e11d480f}[data-theme=dark] .lms-stat-card{border-color:#ffffff14;box-shadow:0 4px 20px #0000004d}[data-theme=dark] .lms-stat-card:hover{border-color:#e11d4873;box-shadow:0 18px 36px -8px #000000b3,0 4px 16px -2px #e11d4833}.icon-box{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s;display:flex}.lms-stat-card:hover .icon-box,.lms-card:hover .icon-box{transform:scale(1.08)rotate(-2deg)}.icon-box-red{color:var(--asti-red);background:linear-gradient(135deg,#e11d4829 0%,#e11d480f 100%);border:1px solid #e11d484d;box-shadow:0 4px 12px #e11d481f}.icon-box-emerald{color:var(--accent-emerald);background:linear-gradient(135deg,#0596692e 0%,#0596690f 100%);border:1px solid #0596694d;box-shadow:0 4px 12px #0596691f}.icon-box-blue{color:var(--primary);background:linear-gradient(135deg,#2563eb2e 0%,#2563eb0f 100%);border:1px solid #2563eb4d;box-shadow:0 4px 12px #2563eb1f}.icon-box-purple{color:#9333ea;background:linear-gradient(135deg,#9333ea2e 0%,#9333ea0f 100%);border:1px solid #9333ea4d;box-shadow:0 4px 12px #9333ea1f}.icon-box-amber{color:var(--accent-amber);background:linear-gradient(135deg,#d977062e 0%,#d977060f 100%);border:1px solid #d977064d;box-shadow:0 4px 12px #d977061f}.lms-hero-banner{background:linear-gradient(135deg, #e11d4814 0%, #2563eb0d 50%, var(--bg-card) 100%);border:1px solid #e11d4838;border-radius:20px;margin-bottom:26px;padding:28px 32px;transition:box-shadow .25s,border-color .25s;position:relative;overflow:hidden;box-shadow:inset 0 1px #fffc,0 12px 30px -8px #0f172a0f}[data-theme=dark] .lms-hero-banner{background:linear-gradient(135deg,#e11d4829 0%,#0f172ad9 50%,#0d1527 100%);border-color:#e11d4859;box-shadow:inset 0 1px #ffffff1a,0 16px 40px -10px #0009}.lms-hero-banner:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#e11d481f 0%,#2563eb0a 50%,#0000 75%);width:500px;height:500px;position:absolute;top:-40%;right:-15%}.lms-progress-track{background:var(--bg-hover);border-radius:999px;width:100%;height:8px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #0000000f}.lms-progress-fill{background:linear-gradient(90deg, var(--asti-red) 0%, #f43f5e 60%, #fb7185 100%);border-radius:999px;height:100%;transition:width .6s cubic-bezier(.16,1,.3,1);box-shadow:0 0 10px #e11d4880}.lms-progress-fill-emerald{background:linear-gradient(90deg, var(--accent-emerald) 0%, #10b981 60%, #34d399 100%);box-shadow:0 0 10px #10b98180}.btn-asti{background:linear-gradient(135deg, var(--asti-red) 0%, #be123c 100%);color:#fff;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 22px;font-size:.88rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 14px -2px #e11d4873}.btn-asti:hover{background:linear-gradient(135deg, #f43f5e 0%, var(--asti-red) 100%);transform:translateY(-2px);box-shadow:0 8px 20px -3px #e11d4899}.btn-meet-blue{color:#fff;background:linear-gradient(135deg,#1a73e8 0%,#1557b0 100%);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-size:.9rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 14px -2px #1a73e873}.btn-meet-blue:hover{background:linear-gradient(135deg,#2b7de9 0%,#0d47a1 100%);transform:translateY(-2px);box-shadow:0 8px 22px -2px #1a73e899}.btn-subtle{background:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.86rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 1px 2px #0000000a}.btn-subtle:hover{background:var(--bg-hover);border-color:#e11d4859;transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.table-responsive{-webkit-overflow-scrolling:touch;border-radius:var(--radius-sm);width:100%;max-width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:580px;font-size:.88rem}.data-table th{background:var(--bg-card-subtle);color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:11px 16px;font-size:.74rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border-color);color:var(--text-main);vertical-align:middle;background:var(--bg-card);padding:13px 16px}.data-table tr:hover td{background:var(--bg-hover)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172aa6;justify-content:center;align-items:center;padding:14px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;max-width:540px;max-height:90vh;box-shadow:var(--shadow-lg);padding:24px;overflow-y:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.lms-hero-avatar{flex-shrink:0;position:relative}@media (width<=768px){.linear-card{padding:16px!important}.lms-hero-banner{border-radius:var(--radius-md)!important;box-sizing:border-box!important;padding:18px 16px!important;overflow:hidden!important}.lms-hero-banner h2{font-size:1.4rem!important;line-height:1.35!important}.lms-card,.lms-stat-card{padding:16px 14px!important}.btn-asti,.btn-meet-blue,.btn-subtle{box-sizing:border-box;justify-content:center;width:100%}.hero-action-buttons{box-sizing:border-box!important;flex-direction:column!important;gap:10px!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;display:flex!important}.hero-action-buttons .btn-asti,.hero-action-buttons .btn-subtle{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important}.modal-container{padding:16px;width:95vw!important;max-width:95vw!important}h1,h2,h3{word-break:break-word}}@media (width<=640px){.lms-hero-avatar{display:none!important}.lms-hero-banner h2{font-size:1.28rem!important;line-height:1.3!important}}@media (width<=480px){.lms-hero-banner{padding:14px 12px!important}.badge{padding:2px 7px!important;font-size:.68rem!important}}.lms-login-viewport{width:100vw;max-width:100vw;height:100vh;max-height:100vh;font-family:var(--font-sans,"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif);color:#0f172a;-webkit-user-select:none;user-select:none;background-color:#0b0f19;display:flex;position:fixed;inset:0;overflow:hidden}.login-floating-controls{z-index:50;align-items:center;gap:10px;animation:.8s cubic-bezier(.16,1,.3,1) both fadeInDown;display:flex;position:absolute;top:18px;right:24px}.control-pill-btn{cursor:pointer;color:#1e293b;-webkit-backdrop-filter:blur(12px);background:#ffffffe6;border:1px solid #fff9;border-radius:9999px;align-items:center;gap:6px;padding:7px 14px;font-size:.76rem;font-weight:600;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 14px #0000001a}.control-pill-btn:hover{color:#e11d48;background:#fff;transform:translateY(-2px);box-shadow:0 8px 20px #e11d4833}.control-status-badge{color:#f1f5f9;-webkit-backdrop-filter:blur(14px);background:#0f172abf;border:1px solid #ffffff2e;border-radius:9999px;align-items:center;gap:8px;padding:7px 14px;font-size:.74rem;font-weight:600;display:inline-flex;box-shadow:0 4px 14px #00000026}.status-dot-pulse{background-color:#10b981;border-radius:50%;width:8px;height:8px;animation:2s cubic-bezier(.4,0,.6,1) infinite statusPulse;box-shadow:0 0 #10b981b3}@keyframes statusPulse{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1.1);box-shadow:0 0 0 7px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}.lms-login-split-view{width:100%;height:100%;display:flex}.split-hero-pane{flex-direction:column;flex:1.15;justify-content:space-between;height:100%;padding:40px 48px;display:flex;position:relative;overflow:hidden}.split-hero-bg{will-change:transform;z-index:0;background-image:url(/asti-login-bg.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;animation:28s ease-in-out infinite alternate kenBurns;position:absolute;inset:-20px}@keyframes kenBurns{0%{transform:scale(1)translate(0)}50%{transform:scale(1.06)translate(-1.2%,-.8%)}to{transform:scale(1.1)translate(.8%,-1.2%)}}.split-hero-overlay{pointer-events:none;z-index:1;background:linear-gradient(135deg,#0f172ad1 0%,#0f172a66 45%,#e11d4859 100%);position:absolute;inset:0}.ambient-dust-speck{pointer-events:none;z-index:2;filter:blur(1.5px);background:radial-gradient(circle,#fed7aab3 0%,#0000 80%);border-radius:50%;animation:12s linear infinite floatDust;position:absolute}.dust-1{width:140px;height:140px;animation-duration:16s;animation-delay:0s;top:20%;left:15%}.dust-2{width:100px;height:100px;animation-duration:20s;animation-delay:-5s;top:65%;left:40%}.dust-3{width:160px;height:160px;animation-duration:24s;animation-delay:-10s;top:35%;right:20%}@keyframes floatDust{0%{opacity:.25;transform:translateY(0)translate(0)scale(.9)}50%{opacity:.6;transform:translateY(-35px)translate(25px)scale(1.15)}to{opacity:.25;transform:translateY(0)translate(0)scale(.9)}}.split-hero-content-top{z-index:3;animation:.9s cubic-bezier(.16,1,.3,1) both fadeInLeft;position:relative}.campus-brand-badge{-webkit-backdrop-filter:blur(16px);color:#fff;letter-spacing:.04em;text-transform:uppercase;background:#ffffff29;border:1px solid #ffffff59;border-radius:9999px;align-items:center;gap:8px;padding:8px 16px;font-size:.78rem;font-weight:700;transition:transform .25s,background .25s;display:inline-flex;box-shadow:0 4px 16px #0003}.campus-brand-badge:hover{background:#ffffff40;transform:translateY(-2px)}.split-hero-content-bottom{z-index:3;max-width:580px;animation:1s cubic-bezier(.16,1,.3,1) .15s both fadeInUp;position:relative}.hero-quote-tag{color:#fff;letter-spacing:.05em;text-transform:uppercase;background:linear-gradient(135deg,#e11d48 0%,#be123c 100%);border-radius:8px;align-items:center;gap:6px;margin-bottom:14px;padding:5px 12px;font-size:.72rem;font-weight:800;display:inline-flex;box-shadow:0 4px 14px #e11d4873}.hero-main-heading{color:#fff;letter-spacing:-.03em;text-shadow:0 4px 20px #00000080;margin-bottom:12px;font-size:2.3rem;font-weight:800;line-height:1.16}.hero-sub-text{color:#ffffffe6;text-shadow:0 2px 10px #00000073;margin-bottom:22px;font-size:.92rem;line-height:1.52}.hero-stats-row{gap:12px;display:flex}.hero-stat-card{-webkit-backdrop-filter:blur(16px);color:#fff;background:#0f172aa6;border:1px solid #ffffff38;border-radius:14px;flex:1;padding:12px 16px;transition:all .28s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;box-shadow:0 6px 20px #0003}.hero-stat-card:before{content:"";opacity:.6;background:linear-gradient(90deg,#0000,#e11d48,#0000);height:2px;transition:opacity .25s;position:absolute;top:0;left:0;right:0}.hero-stat-card:hover{background:#0f172acc;border-color:#e11d4880;transform:translateY(-4px)scale(1.02);box-shadow:0 12px 28px #00000059}.hero-stat-card:hover:before{opacity:1;height:3px}.hero-stat-card .val{color:#fff;align-items:center;gap:7px;font-size:1.18rem;font-weight:800;display:flex}.hero-stat-card .lbl{color:#ffffffc7;margin-top:3px;font-size:.72rem;font-weight:500}.split-form-pane{background-color:#f8fafc;background-image:radial-gradient(at 0 0,#e11d4814 0,#0000 50%),radial-gradient(at 100% 100%,#2563eb14 0,#0000 50%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;flex-direction:column;flex:1;justify-content:center;align-items:center;height:100%;padding:24px 36px;display:flex;position:relative;overflow:hidden}.split-form-pane:before{content:"";pointer-events:none;filter:blur(60px);background:radial-gradient(circle,#e11d4817 0%,#0000 70%);border-radius:50%;width:400px;height:400px;animation:10s ease-in-out infinite alternate pulseAmbient;position:absolute;top:15%;right:10%}@keyframes pulseAmbient{0%{opacity:.5;transform:scale(.9)translate(0)}to{opacity:.85;transform:scale(1.15)translate(-20px,20px)}}.lms-login-full-view{justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:relative;overflow:hidden}.full-view-bg{z-index:0;background-image:url(/asti-login-bg.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;animation:28s ease-in-out infinite alternate kenBurns;position:absolute;inset:-20px}.full-view-backdrop-tint{-webkit-backdrop-filter:blur(8px);pointer-events:none;z-index:1;background:radial-gradient(circle,#0f172a9e 0%,#0f172ad9 100%);position:absolute;inset:0}.lms-compact-card{z-index:10;background:#fff;border-radius:22px;flex-direction:column;width:100%;max-width:440px;padding:26px 28px;transition:transform .25s,box-shadow .25s;animation:.85s cubic-bezier(.16,1,.3,1) both cardSlideIn;display:flex;position:relative;box-shadow:0 16px 40px -8px #0f172a1f,0 0 0 1px #e2e8f0e6}.lms-login-full-view .lms-compact-card{-webkit-backdrop-filter:blur(24px);background:#fffffff0;box-shadow:0 25px 60px -12px #00000080,0 0 0 1px #fff9,0 0 40px -5px #e11d4840}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.card-brand-header{text-align:center;margin-bottom:16px}.card-logo-img{object-fit:contain;max-width:220px;height:42px;margin-bottom:8px;transition:transform .25s}.card-logo-img:hover{transform:scale(1.03)}.card-title-row{justify-content:center;align-items:center;gap:7px;margin-bottom:2px;display:flex}.card-main-title{letter-spacing:-.02em;color:#0f172a;margin:0;font-size:1.25rem;font-weight:800}.card-version-tag{color:#fff;letter-spacing:.03em;background:linear-gradient(135deg,#e11d48 0%,#be123c 100%);border-radius:6px;padding:2px 7px;font-size:.68rem;font-weight:800;box-shadow:0 2px 8px #e11d4866}.card-sub-title{color:#64748b;margin:0;font-size:.76rem;font-weight:500}.card-section-bar{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.card-section-title{color:#1e293b;margin:0;font-size:.88rem;font-weight:700}.card-sec-badge{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:9999px;align-items:center;gap:4px;padding:3px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.card-error-alert{color:#be123c;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;font-size:.78rem;animation:.35s shake;display:flex}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.compact-form{flex-direction:column;gap:11px;display:flex}.form-group-compact{flex-direction:column;gap:4px;display:flex}.compact-label{color:#475569;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:700}.compact-input-box{align-items:center;display:flex;position:relative}.compact-input-icon{color:#94a3b8;pointer-events:none;transition:color .2s,transform .2s;position:absolute;left:12px}.compact-input{color:#0f172a;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;width:100%;height:38px;padding:0 38px 0 36px;font-size:.86rem;font-weight:500;transition:all .22s cubic-bezier(.16,1,.3,1);box-shadow:inset 0 1px 2px #00000008}.compact-input:focus{border-color:#e11d48;outline:none;transform:translateY(-1px);box-shadow:0 0 0 3px #e11d482e}.compact-input:focus+.compact-input-icon,.compact-input-box:focus-within .compact-input-icon{color:#e11d48;transform:scale(1.08)}.compact-eye-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:4px;transition:color .2s,transform .2s;display:flex;position:absolute;right:10px}.compact-eye-btn:hover{color:#0f172a;transform:scale(1.1)}.compact-helper-row{justify-content:space-between;align-items:center;margin-top:1px;font-size:.76rem;display:flex}.compact-chk-label{color:#64748b;cursor:pointer;align-items:center;gap:6px;transition:color .2s;display:flex}.compact-chk-label:hover{color:#0f172a}.compact-chk-label input{accent-color:#e11d48;cursor:pointer;width:14px;height:14px}.compact-help-btn{color:#0284c7;cursor:pointer;background:0 0;border:none;align-items:center;gap:3px;padding:0;font-size:.74rem;font-weight:600;transition:color .2s,transform .2s;display:inline-flex}.compact-help-btn:hover{color:#0369a1;text-decoration:underline;transform:translateY(-1px)}.btn-compact-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e11d48 0%,#be123c 100%);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;height:40px;margin-top:2px;font-size:.88rem;font-weight:700;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #e11d4866}.btn-compact-submit:before{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:60%;height:100%;animation:4s ease-in-out infinite btnShimmer;position:absolute;top:0;left:-100%;transform:skew(-25deg)}@keyframes btnShimmer{0%{left:-100%}35%{left:200%}to{left:200%}}.btn-compact-submit:hover:not(:disabled){background:linear-gradient(135deg,#f43f5e 0%,#e11d48 100%);transform:translateY(-2px);box-shadow:0 8px 22px #e11d488c}.btn-compact-submit:active:not(:disabled){transform:translateY(0)}.btn-compact-submit:disabled{opacity:.75;cursor:not-allowed}.compact-role-divider{border-top:1px solid #f1f5f9;margin-top:14px;padding-top:12px}.compact-role-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.compact-role-title{text-transform:uppercase;letter-spacing:.05em;color:#64748b;align-items:center;gap:5px;font-size:.7rem;font-weight:800;display:flex}.compact-role-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.role-chip-btn{cursor:pointer;text-align:left;border:1px solid #0000;border-radius:9px;justify-content:space-between;align-items:center;padding:6px 10px;transition:all .22s cubic-bezier(.16,1,.3,1);display:flex}.role-chip-btn:hover{transform:translateY(-2px)scale(1.02)}.role-chip-left{align-items:center;gap:7px;min-width:0;display:flex}.role-chip-icon{font-size:.95rem;line-height:1;transition:transform .2s}.role-chip-btn:hover .role-chip-icon{transform:scale(1.15)rotate(-3deg)}.role-chip-meta{flex-direction:column;display:flex}.role-chip-name{font-size:.76rem;font-weight:700;line-height:1.1}.role-chip-id{opacity:.8;font-family:monospace;font-size:.65rem}.role-chip-action{cursor:pointer;color:inherit;background:#00000014;border:none;border-radius:5px;padding:2px 6px;font-size:.62rem;font-weight:700;transition:all .18s}.role-chip-action:hover{background:#0000002e;transform:scale(1.08)}.role-theme-student{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.role-theme-student:hover{border-color:#34d399;box-shadow:0 4px 14px #10b98133}.role-theme-faculty{color:#92400e;background:#fffbeb;border-color:#fde68a}.role-theme-faculty:hover{border-color:#fbbf24;box-shadow:0 4px 14px #f59e0b33}.role-theme-support{color:#075985;background:#f0f9ff;border-color:#bae6fd}.role-theme-support:hover{border-color:#38bdf8;box-shadow:0 4px 14px #0ea5e933}.role-theme-admin{color:#9f1239;background:#fff1f2;border-color:#fecdd3}.role-theme-admin:hover{border-color:#fb7185;box-shadow:0 4px 14px #e11d4833}.selected-role-chip{border-width:2px;transform:scale(1.02);box-shadow:0 0 0 2px #e11d4859}.card-bottom-tags{justify-content:center;gap:12px;margin-top:14px;display:flex}.bottom-tag-item{color:#64748b;align-items:center;gap:4px;font-size:.68rem;font-weight:600;transition:color .2s,transform .2s;display:inline-flex}.bottom-tag-item:hover{color:#0f172a;transform:translateY(-1px)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.compact-help-overlay{-webkit-backdrop-filter:blur(6px);z-index:1000;background:#0f172aa6;justify-content:center;align-items:center;padding:16px;animation:.25s cubic-bezier(.16,1,.3,1) both modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.compact-help-box{background:#fff;border:1px solid #e2e8f0;border-radius:18px;width:100%;max-width:420px;padding:22px;box-shadow:0 20px 50px #0000004d}@media (width<=900px){.split-hero-pane{display:none}.split-form-pane{background-image:url(/asti-login-bg.jpg);background-position:50%;background-size:cover;flex:1;width:100%}.split-form-pane:before{content:"";-webkit-backdrop-filter:blur(5px);background:#0f172aa6;position:absolute;inset:0}.lms-compact-card{-webkit-backdrop-filter:blur(16px);background:#fffffff2}}
