:root{--brand-ink:#0d1f4e;--brand-900:#153678;--brand-800:#1e3a8a;--brand-700:#1e40af;--brand:#2563eb;--brand-600:#1d4ed8;--brand-200:#bfdbfe;--brand-100:#dbeafe;--brand-50:#eff6ff;--brand-rgb:37, 99, 235;--brand-600-rgb:29, 78, 216;--text:#1e293b;--text-strong:#0f172a;--muted:#64748b;--muted-2:#94a3b8;--border:#e2e8f0;--border-strong:#cbd5e1;--surface:#fff;--surface-2:#f8fafc;--surface-3:#f1f5f9;--success:#166534;--success-bg:#dcfce7;--success-tint:#f0fdf4;--danger:#9c5252;--danger-strong:#d9534f;--danger-strong-600:#c9302c;--danger-bg:#fee2e2;--warning:#8a6242;--warning-bg:#fef3c7;--info:#1e40af;--info-bg:#dbeafe;--radius-sm:6px;--radius:8px;--radius-lg:12px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--shadow-sm:0 1px 2px #0f172a0f;--shadow:0 4px 12px #0f172a14;--shadow-lg:0 12px 32px #0f172a24;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-family:var(--font-sans);color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#b8c9ee}html{min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;font-family:var(--font-sans);background:#b8c9ee;margin:0}button,input,select,textarea{font:inherit}#root{width:100%;min-height:100vh}*{box-sizing:border-box;margin:0;padding:0;font-family:Arial,Helvetica,sans-serif}body{background:#b8c9ee}.app{--sidebar-width:320px;min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);color:#fff;background:#07122e;height:100vh;padding:25px 18px;position:fixed;top:0;left:0;overflow-y:auto}.sidebar-logo{background:#fff;border-radius:8px;justify-content:center;align-items:center;margin-bottom:16px;padding:6px 10px;display:flex}.sidebar-logo-img{width:auto;height:36px;display:block}.sidebar.is-collapsed .sidebar-logo{padding:4px 6px}.sidebar.is-collapsed .sidebar-logo-img{height:28px}.sidebar-section{margin-bottom:16px}.sidebar-user-card{background:#0f214f;border:none;border-radius:12px;margin-bottom:16px;padding:10px}.sidebar-user-name{color:#eff4ff;margin-bottom:3px;font-size:13px;font-weight:700}.sidebar-user-role{color:#9fb0d6;letter-spacing:.05em;margin-bottom:10px;font-size:11px}.logout-btn{color:#fff;cursor:pointer;background:#2d63ea;border:none;border-radius:8px;width:100%;padding:8px 10px;font-size:12px;font-weight:700}.logout-btn:hover{background:#1746b8}.sidebar-section-title{color:#9fb0d6;text-transform:uppercase;letter-spacing:.05em;margin:10px 4px 8px;font-size:12px}.sidebar a{color:#fcfcfc;text-align:left;background:#112048;border-radius:10px;margin-bottom:8px;padding:10px 12px;font-size:13px;font-weight:600;text-decoration:none;transition:all .3s;display:block}.sidebar a:hover,.sidebar a.active{background:#2d63ea}.main{margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width));flex-direction:column;align-items:center;min-height:100vh;padding:86px 50px 30px;display:flex;overflow-x:hidden}.main-topbar{z-index:200;gap:10px;display:flex;position:fixed;top:14px;right:16px}.icon-action-btn{color:#1f3a7a;cursor:pointer;background:#fff;border:none;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;transition:all .2s;display:inline-flex;box-shadow:0 4px 10px #0f172a1f}.icon-action-btn:hover{background:#edf2ff}.icon-action-btn.logout{color:#b1504d}.icon-action-btn.logout:hover{background:#fee2e2}.icon-action-btn svg{width:22px;height:22px}.profile-topbar-btn{border:1px solid rgba(var(--brand-rgb), .4);width:42px;height:42px;color:var(--brand-900);cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;transition:all .2s;display:inline-flex;overflow:hidden;box-shadow:0 4px 10px #0f172a1f}.profile-topbar-btn:hover{background:#edf2ff;transform:translateY(-1px)}.profile-topbar-btn img,.profile-avatar-large img{object-fit:cover;width:100%;height:100%}.profile-topbar-btn span{font-size:13px;font-weight:800}.topbar-notification{position:relative}.topbar-notification-badge{color:#fff;background:#2563eb;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:800;display:inline-flex;position:absolute;top:-4px;right:-3px}.topbar-notification-dropdown{z-index:500;background:linear-gradient(165deg,#fff 0%,#f3f8ff 100%);border:1px solid #aac4f2b3;border-radius:16px;width:min(360px,100vw - 32px);position:absolute;top:50px;right:0;overflow:hidden;box-shadow:0 22px 42px #12244c3d}.topbar-notification-head{background:linear-gradient(135deg, var(--brand-900) 0%, var(--brand) 100%);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.topbar-notification-head h4{color:#fff;margin:0;font-size:16px}.topbar-notification-head button{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #dfebff80;border-radius:8px;width:30px;height:30px}.topbar-notification-dropdown ul{gap:8px;margin:0;padding:8px;list-style:none;display:grid}.topbar-notification-dropdown li{background:#fff;border:1px solid #d9e5fb;border-radius:10px;padding:10px}.topbar-notification-dropdown li strong{color:#153a80;margin-bottom:4px;font-size:13px;display:block}.topbar-notification-dropdown li p{color:#334155;margin-bottom:4px;font-size:13px;line-height:1.4}.topbar-notification-dropdown li span{color:#6b7280;font-size:11px;font-weight:700}.topbar-notification-empty{color:#64748b;margin:12px 14px 14px;font-size:13px}.profile-overlay{z-index:1500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a163457;justify-content:flex-end;display:flex;position:fixed;inset:0}.profile-settings-panel{color:#12213f;text-align:left;background:linear-gradient(#fffffff5,#f0f6fff5);border-left:1px solid #97b2e680;width:min(520px,100%);height:100vh;padding:24px;overflow-y:auto;box-shadow:-18px 0 40px #12213f38}.profile-panel-header,.profile-identity,.profile-panel-actions{align-items:center;display:flex}.profile-panel-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px}.profile-kicker{color:#4769ba;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:800}.profile-panel-header h2{color:#12213f;margin:0;font-size:24px}.profile-close-btn{color:#334155;cursor:pointer;background:#ffffffe6;border:1px solid #a9bfecbf;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;font-weight:800;line-height:1;display:flex}.profile-identity{background:#ffffffb8;border:1px solid #abc4f58c;border-radius:16px;gap:16px;margin-bottom:18px;padding:16px;box-shadow:0 10px 24px #12213f1a}.profile-avatar-large{color:#fff;background:linear-gradient(135deg,#1f4ed8 0%,#49a3ff 100%);border-radius:999px;flex:0 0 92px;justify-content:center;align-items:center;width:92px;height:92px;font-size:26px;font-weight:800;display:inline-flex;overflow:hidden;box-shadow:0 10px 22px #1f4ed840}.profile-photo-actions{gap:8px;min-width:0;display:grid}.profile-photo-actions p{color:#12213f;overflow-wrap:anywhere;font-size:18px;font-weight:800}.profile-photo-actions span{color:#4f6187;letter-spacing:.1em;font-size:12px;font-weight:800}.profile-upload-btn,.profile-secondary-btn,.profile-logout-btn{cursor:pointer;border:none;border-radius:10px;width:fit-content;padding:9px 12px;font-size:13px;font-weight:800}.profile-upload-btn{color:#fff;background:linear-gradient(135deg,#1f4ed8 0%,#49a3ff 100%)}.profile-upload-btn input{display:none}.profile-secondary-btn{color:#213a70;background:#e7eefc}.profile-page-content{width:100%;max-width:760px}.profile-section{background:#ffffffa8;border:1px solid #abc4f580;border-radius:16px;margin-bottom:14px;padding:16px}.profile-section h3{color:#12213f;margin-bottom:12px;font-size:18px}.profile-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.profile-detail-grid>div{background:#edf4ffb8;border-radius:12px;min-width:0;padding:10px 12px}.profile-detail-grid span{color:#5b6f98;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:800;display:block}.profile-detail-grid p,.profile-empty{color:#1e293b;overflow-wrap:anywhere;font-size:14px;line-height:1.4}.profile-detail-grid .profile-detail-wide{grid-column:1/-1}.profile-room-list{gap:8px;display:grid}.profile-room-item{background:#edf4ffb8;border-radius:12px;padding:10px 12px}.profile-room-item span{color:#4769ba;letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800}.profile-room-item p{color:#12213f;margin:3px 0;font-size:14px;font-weight:800}.profile-room-item small{color:#4f6187;font-size:12px}.profile-panel-actions{justify-content:flex-end;padding-top:4px}.profile-logout-btn{color:#fff;background:#b1504d}.login-page{background:radial-gradient(900px 480px at 8% 8%,#89b9ff94,#0000 62%),radial-gradient(820px 440px at 92% 20%,#619ef46b,#0000 62%),linear-gradient(165deg,#d9eaff 0%,#bfd8fb 44%,#9cc2f4 100%);flex-direction:column;justify-content:flex-start;align-items:stretch;width:100%;min-height:100vh;display:flex;overflow:hidden auto}.login-top-header{z-index:30;background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:14px clamp(16px,3vw,44px);transition:background .25s,border-color .25s,box-shadow .25s;display:flex;position:sticky;top:0;box-shadow:0 2px 12px #0b1e4a14}.login-top-header:hover{background:linear-gradient(135deg,#0a1d4af7 0%,#1c4ba2f2 60%,#2f75d6eb 100%);border-bottom-color:#c2d8ff57;box-shadow:0 12px 24px #0b1e4a47}.login-top-brand{border-radius:8px;align-items:center;padding:4px 10px;transition:background .25s;display:flex}.login-top-header:hover .login-top-brand{background:#fff}.login-top-brand-img{width:auto;height:58px;display:block}.login-header-actions{align-items:center;gap:9px;margin-left:auto;display:flex}.login-header-btn{color:#1e3a6e;cursor:pointer;box-shadow:none;background:0 0;border:1px solid #d1d5db;border-radius:999px;align-items:center;gap:7px;padding:8px 12px;font-size:12px;font-weight:800;transition:background .2s,color .2s,border-color .2s,transform .15s;display:inline-flex}.login-header-btn svg{width:16px;height:16px}.login-header-btn:hover{background:#f1f5f9;transform:translateY(-1px)}.login-header-btn.active{background:#e8eff9}.login-top-header:hover .login-header-btn{color:#f2f7ff;background:#ffffff24;border-color:#ccdeff6b;box-shadow:0 6px 14px #07163642}.login-top-header:hover .login-header-btn:hover{background:#ffffff38}.login-top-header:hover .login-header-btn.active{background:#ffffff47}.login-header-btn-primary{color:#fff;background:#1e3a8a;border-color:#1e3a8a}.login-header-btn-primary:hover{background:#1d4ed8;border-color:#1d4ed8}.login-top-header:hover .login-header-btn-primary{color:#12357b;background:#fff;border-color:#fff}.login-top-header:hover .login-header-btn-primary:hover{background:#dbe8ff}.landing-programs-menu{position:relative}.landing-programs-dropdown{z-index:40;color:#102a5f;background:#fff;border:1px solid #94a3b847;border-radius:14px;width:min(360px,100vw - 32px);max-height:min(520px,100vh - 120px);padding:10px;position:absolute;top:calc(100% + 10px);left:0;overflow-y:auto;box-shadow:0 22px 54px #0f172a47}.landing-program-group{border-radius:10px;padding:10px 12px}.landing-program-group+.landing-program-group{border-top:1px solid #e5edf8}.landing-program-group h3{color:#12357b;letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:900}.landing-program-group ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.landing-program-group li{color:#334155;border-radius:8px;min-height:28px;padding:6px 8px;font-size:12px;font-weight:750;line-height:1.35}.landing-program-group li:hover{color:#1d4ed8;background:#eff6ff}.landing-hero{background:radial-gradient(520px 280px at 88% 18%,#8ec8ff6b,#0000 74%),linear-gradient(145deg,#0f2f73 0%,#2254ad 56%,#2f79e3 100%);justify-content:center;align-items:center;width:100%;min-height:calc(100vh - 78px);padding:clamp(20px,5vw,56px);display:flex}.landing-hero-copy{text-align:center;gap:16px;max-width:min(980px,94vw);display:grid}.landing-scroll-content{opacity:0;filter:blur(2px);pointer-events:none;gap:0;transition:opacity .6s,transform .6s,filter .6s;display:grid;transform:translateY(56px)}.landing-scroll-content.is-visible{opacity:1;filter:blur();pointer-events:auto;transform:translateY(0)}.landing-why-section{background:linear-gradient(#e3eeffeb 0%,#d8e6fceb 100%);border-top:1px solid #a2bde773;padding:clamp(28px,5vw,56px) clamp(18px,4vw,52px)}.landing-section-heading{text-align:center;max-width:860px;margin:0 auto 24px}.landing-section-heading h2{color:#1a356c;margin:0;font-size:clamp(28px,3.8vw,46px);line-height:1.12}.landing-section-heading p{color:#41597f;max-width:680px;margin:10px auto 0;font-size:17px}.landing-highlights-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:min(1160px,100%);margin:0 auto;display:grid}.landing-highlight-card{isolation:isolate;box-shadow:0 14px 30px #1431661f;box-shadow:var(--card-shadow,0 14px 30px #1431661f);text-align:center;transform:perspective(920px) rotateX(var(--card-rotate-x,0deg)) rotateY(var(--card-rotate-y,0deg)) translateX(var(--card-shift-x,0px)) translateY(var(--card-shift-y,0px)) translateY(var(--card-lift,0)) scale(var(--card-scale,1));transform-style:preserve-3d;will-change:transform;background:linear-gradient(175deg,#fff 0%,#f5f9ff 100%);border:1px solid #b0c7ec9e;border-radius:18px;padding:22px 18px;transition:transform .24s,box-shadow .24s,border-color .24s;position:relative}.landing-highlight-card:before{content:"";border-radius:inherit;z-index:-1;opacity:0;background:radial-gradient(var(--glow-size,220px) 90px at var(--glow-x,50%) var(--glow-y,120%), #447de252, transparent 72%);transition:opacity .24s;position:absolute;inset:-1px}.landing-highlight-card:hover{--card-shift-x:0px;--card-shift-y:0px;--card-lift:-12px;--card-scale:1.015;--card-shadow:0 24px 40px #10295938;border-color:#4e83dfe6}.landing-highlight-card:hover:before{opacity:1}.landing-highlight-card.is-magnetic-active{transition:transform 80ms linear,box-shadow .2s,border-color .2s}.landing-highlight-card.is-magnetic-active:before{opacity:1}.landing-highlight-icon{color:#fff;width:58px;height:58px;transform:translateZ(22px) rotateZ(var(--icon-rotate,0deg)) translateY(calc(var(--icon-lift,0px) * -1));background:linear-gradient(145deg,#2a5dcc 0%,#4f87ec 100%);border:1px solid #ffffff59;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 12px;font-size:24px;font-weight:900;transition:transform .24s,box-shadow .24s,background .24s,color .24s,border-color .24s;display:flex}.landing-highlight-card:hover .landing-highlight-icon{transform:translateZ(24px) rotateZ(var(--icon-rotate,0deg)) translateY(calc(var(--icon-lift,3px) * -1)) scale(1.06);box-shadow:0 10px 18px #245dbe59}.landing-highlights-grid .landing-highlight-card:first-child.is-magnetic-active .landing-highlight-icon,.landing-highlights-grid .landing-highlight-card:first-child:hover .landing-highlight-icon{color:#fff;background:linear-gradient(145deg,#c9a366 0%,#facc15 100%);border-color:#f8c62e9e}.landing-highlights-grid .landing-highlight-card:nth-child(2).is-magnetic-active .landing-highlight-icon,.landing-highlights-grid .landing-highlight-card:nth-child(2):hover .landing-highlight-icon{color:#fff;background:linear-gradient(145deg,#cf7a7a 0%,#c98858 100%);border-color:#f871719e}.landing-highlights-grid .landing-highlight-card:nth-child(3).is-magnetic-active .landing-highlight-icon,.landing-highlights-grid .landing-highlight-card:nth-child(3):hover .landing-highlight-icon{color:#fff;background:linear-gradient(145deg,#059669 0%,#34d399 100%);border-color:#10b9819e}.landing-highlights-grid .landing-highlight-card:nth-child(4).is-magnetic-active .landing-highlight-icon,.landing-highlights-grid .landing-highlight-card:nth-child(4):hover .landing-highlight-icon{color:#fff;background:linear-gradient(145deg,#7a71a8 0%,#a89dc4 100%);border-color:#a78bfa9e}.landing-highlight-card h3{color:#1f365f;margin:0 0 8px;font-size:20px}.landing-highlight-card p{color:#52647f;margin:0;font-size:14px;line-height:1.56}.landing-simple-footer{text-align:center;background:linear-gradient(#204f9e 0%,#1a4184 100%);border-top:1px solid #bcd3f742;justify-items:center;gap:4px;margin-top:0;padding:18px 20px 22px;display:grid}.landing-simple-footer p{color:#f4f8ff;margin:0;font-size:14px;font-weight:800}.landing-simple-footer span{color:#d3e3ff;font-size:12px}.landing-kicker{letter-spacing:.14em;text-transform:uppercase;color:#d9e9ff;margin:0;font-size:12px;font-weight:700}.landing-hero h1{color:#fff;text-align:center;margin:0;font-size:clamp(40px,8vw,94px);line-height:1.05}.landing-hero p{color:#dce9ff;margin:0;font-size:clamp(15px,1.8vw,19px);line-height:1.62}.landing-hero-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.landing-hero-actions button{cursor:pointer;color:#12357b;background:#fff;border:none;border-radius:999px;padding:11px 18px;font-size:13px;font-weight:800}.landing-hero-actions .landing-secondary-btn{color:#e8f2ff;background:#ffffff29;border:1px solid #e0edff80}.landing-scroll-hint{color:#e2edffe6;letter-spacing:.12em;text-transform:uppercase;margin-top:12px;font-size:12px;animation:1.8s ease-in-out infinite landing-scroll-pulse}@keyframes landing-scroll-pulse{0%{opacity:.45;transform:translateY(0)}50%{opacity:1;transform:translateY(4px)}to{opacity:.45;transform:translateY(0)}}.landing-modal-overlay{z-index:1200;background:#050d1d8f;justify-content:center;align-items:center;padding:clamp(14px,2.8vw,26px);animation:.25s overlay-fade;display:flex;position:fixed;inset:0;overflow-y:auto}.landing-modal{background:linear-gradient(165deg,#fff 0%,#eef5ff 100%);border:1px solid #a2c1f4a6;border-radius:20px;width:100%;max-width:640px;animation:.28s panel-rise;overflow:hidden;box-shadow:0 24px 52px #0a1c4661}.landing-modal.info-modal{max-width:560px}.landing-modal.login-modal{max-width:580px}.otp-box-group{justify-content:center;gap:8px;margin:4px 0 2px;display:flex}.otp-box{text-align:center;color:#0f172a;border:1.5px solid #cbd5e1;border-radius:10px;outline:none;width:44px;height:52px;font-size:22px;font-weight:800;transition:border-color .15s,box-shadow .15s}.otp-box:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb29}.otp-box:disabled{color:#94a3b8;background:#f1f5f9}.landing-modal-header{background:linear-gradient(135deg,#12357b 0%,#2b74dd 100%);justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;display:flex}.landing-modal-header h2{color:#fff;margin:0;font-size:22px}.landing-modal-header button{color:#fff;cursor:pointer;background:#ffffff29;border:1px solid #d0e3ff6b;border-radius:10px;width:34px;height:34px;font-size:18px;line-height:1}@media (prefers-reduced-motion:reduce){.landing-scroll-content,.landing-highlight-card,.landing-highlight-icon,.landing-scroll-hint{transition:none;animation:none}}.landing-modal-content{gap:12px;padding:18px;display:grid}.landing-modal-content p{color:#334155;margin:0;line-height:1.56}.landing-modal-content strong{color:#16377e}.about-tabs{background:#eef3fb;border:1px solid #abc4f58c;border-radius:12px;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.about-tab{color:#51637d;cursor:pointer;background:0 0;border:none;border-radius:9px;flex:auto;min-width:84px;padding:7px 12px;font-family:inherit;font-size:12.5px;font-weight:700;transition:background .16s,color .16s,box-shadow .16s}.about-tab:hover{color:#16377e;background:#ffffffb8}.about-tab.is-active{color:#16377e;background:#fff;box-shadow:0 2px 8px #12213f1f}.about-tab:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.about-panel{gap:12px;animation:.22s both aboutPanelIn;display:grid}@keyframes aboutPanelIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.about-panel{animation:none}}.about-values-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.about-value-card{background:linear-gradient(#fff 0%,#f6f9ff 100%);border:1px solid #abc4f580;border-radius:12px;padding:13px 14px;transition:transform .16s,box-shadow .16s,border-color .16s;position:relative}.about-value-card:hover{border-color:#2563eb73;transform:translateY(-2px);box-shadow:0 10px 22px #12213f1f}.about-value-num{letter-spacing:.08em;color:#9db4e2;font-size:11px;font-weight:800}.about-value-card h4{color:#16377e;margin:2px 0 0;font-size:13.5px;font-weight:800}.about-value-card p{color:#51637d;margin:5px 0 0;font-size:12.5px;line-height:1.5}.about-hero{text-align:center;padding:30px 0 18px}.about-hero-kicker,.about-part-kicker{letter-spacing:.14em;text-transform:uppercase;color:#2f6bd8;margin:0 0 6px;font-size:11.5px;font-weight:800}.about-hero h1{letter-spacing:-.02em;color:#10214a;margin:0;font-size:clamp(28px,4vw,42px);font-weight:800;line-height:1.1}.about-hero-lede{color:#415a86;max-width:660px;margin:10px auto 0;font-size:15px;line-height:1.6}.about-section-nav{z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#e2eefff5 0%,#e2eeffb8 100%);justify-content:center;margin-bottom:4px;padding:10px 0;display:flex;position:sticky;top:0}.about-section-nav .about-tab{text-decoration:none}.about-part{padding:26px 0 8px;scroll-margin-top:64px}.about-part-head{margin-bottom:18px}.about-part-head h2{letter-spacing:-.015em;color:#10214a;margin:0;font-size:clamp(22px,2.6vw,30px);font-weight:800}.about-part-lede{color:#415a86;max-width:680px;margin:8px 0 0;font-size:14.5px;line-height:1.6}.about-block{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb8;border:1px solid #abc4f573;border-radius:16px;margin-bottom:22px;padding:18px 20px;box-shadow:0 10px 26px #12213f12}.about-block>h3{letter-spacing:.06em;text-transform:uppercase;color:#2f6bd8;margin:0 0 10px;font-size:13px;font-weight:800}.about-block>p{color:#33436b;margin:0 0 9px;font-size:14.5px;line-height:1.68}.about-block>p:last-child{margin-bottom:0}.about-duo{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.about-duo-card{background:linear-gradient(#fff 0%,#f6f9ff 100%);border:1px solid #abc4f580;border-radius:13px;padding:16px 18px}.about-duo-card h3{letter-spacing:.06em;text-transform:uppercase;color:#2f6bd8;margin:0 0 8px;font-size:13px;font-weight:800}.about-duo-card p{color:#33436b;margin:0 0 8px;font-size:14px;line-height:1.65}.about-duo-card p:last-child{margin-bottom:0}.about-contact-card{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 18px;margin:0;display:grid}.about-contact-row{background:#eef5ffcc;border:1px solid #abc4f566;border-radius:11px;padding:10px 12px}.about-contact-row dt{letter-spacing:.1em;text-transform:uppercase;color:#7d94c4;font-size:10.5px;font-weight:800}.about-contact-row dd{color:#22355f;overflow-wrap:anywhere;margin:3px 0 0;font-size:13.5px;line-height:1.5}.about-part-divider{align-items:center;gap:14px;margin:14px 0 6px;display:flex}.about-part-divider:before,.about-part-divider:after{content:"";background:#789bd773;flex:1;height:1px}.about-part-divider span{letter-spacing:.16em;text-transform:uppercase;color:#6d88ba;font-size:10.5px;font-weight:800}.about-part-platform{background:radial-gradient(600px 240px at 88% 0,#adcdff66,#0000 70%),linear-gradient(#e8f1ffe6 0%,#dbe8fddb 100%);border:1px solid #8baee973;border-radius:20px;margin-top:6px;padding:26px 22px 12px;box-shadow:inset 0 1px #ffffffb3}.about-company-name{color:#16377e;margin:0 0 10px;font-size:15px;font-weight:800}.about-fineprint{color:#6b7fa6;margin:12px 0 0;font-size:12px;line-height:1.55}.about-page .landing-simple-footer{margin-top:26px}.about-preview-frame{background:radial-gradient(820px 420px at 12% 10%,#a8cdff8f,#0000 66%),linear-gradient(165deg,#d9eaff 0%,#bfd8fb 44%,#9cc2f4 100%);border:1px solid #e2e8f0;border-radius:12px;max-height:calc(100vh - 140px);overflow-y:auto}.about-preview-frame .about-page-content{padding:4px 14px 14px}@media (width<=640px){.about-block{padding:15px 14px}.about-part-platform{padding:20px 14px 10px}}.login-layout{width:100%;max-width:100%;margin:0}.login-card{width:100%;box-shadow:none;background:0 0;border:none;border-radius:0;padding:20px 18px 22px}.auth-tabs button:hover,.login-form button:hover{filter:brightness(.96)}@keyframes overlay-fade{0%{opacity:0}to{opacity:1}}@keyframes panel-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.auth-logo{text-align:center;margin-bottom:12px}.auth-logo-img{width:auto;height:90px}.login-subtitle{color:#475569;text-align:center;margin-bottom:16px}.auth-tabs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;display:grid}.auth-tabs button{color:#334155;cursor:pointer;background:#f8fbff;border:1px solid #cbd5e1;border-radius:10px;padding:10px;font-weight:700}.auth-tabs button.active{color:#fff;background:#2d63ea;border-color:#2d63ea}.login-form{flex-direction:column;gap:12px;display:flex}.login-form input{border:1px solid #cbd5e1;border-radius:10px;width:100%;padding:12px 13px;font-size:14px;transition:border-color .2s,box-shadow .2s}.login-form input:focus{border-color:#3d7fe6;outline:none;box-shadow:0 0 0 3px #3d7fe629}.login-password-wrapper{position:relative}.login-password-wrapper input{padding-right:42px}.login-password-toggle{cursor:pointer;border:none;border-radius:0;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%);color:#3d7fe6!important;background:0 0!important}.login-password-toggle:hover{filter:none;color:#3d7fe6!important}.login-form select{background:#fff;border:1px solid #cbd5e1;border-radius:10px;width:100%;padding:12px;font-size:14px}.login-form button{color:#fff;cursor:pointer;background:#2d63ea;border:none;border-radius:10px;padding:12px;font-weight:700;transition:transform .2s,filter .2s}.login-form button:disabled{opacity:.7;cursor:not-allowed}.privacy-consent{text-align:left;line-height:1.35}.login-error{color:#b1504d;text-align:center;margin-top:12px;font-size:14px}.login-success{color:#166534;text-align:center;margin-top:12px;font-size:14px}.login-hint{text-align:center;margin-top:14px}.login-hint-label{text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin:0 0 8px;font-size:10px;font-weight:700}.login-demo-accounts{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.login-demo-chip{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #c7d7f4;border-radius:20px;padding:4px 12px;font-size:11px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.login-demo-chip:hover{color:#fff;background:#2d63ea;border-color:#2d63ea}.login-demo-chip--super{color:#6a6299;background:#f5f3ff;border-color:#7a71a8}.login-demo-chip--super:hover{color:#fff;background:#7a71a8;border-color:#7a71a8}.login-hint-creds{color:#94a3b8;margin-top:8px;font-size:10px;line-height:1.4}.login-hint-creds code{color:#475569;background:#f1f5f9;border-radius:3px;padding:0 3px;font-size:10px}.signup-redirect-text{text-align:center;color:#526074;margin-top:10px;margin-bottom:4px;font-size:13px}.signup-inline-link{color:#1f63d5;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #0000;padding:0;font-size:13px;font-weight:700;transition:color .2s,border-color .2s,text-shadow .2s}.signup-inline-link:hover{color:#0f4cb2;text-shadow:0 0 18px #1f63d533;border-color:#0f4cb26b}.public-enrollment-page,.about-page{background:radial-gradient(820px 420px at 12% 10%,#a8cdff8f,#0000 66%),radial-gradient(780px 420px at 92% 20%,#86b7fa66,#0000 64%),linear-gradient(165deg,#d9eaff 0%,#bfd8fb 44%,#9cc2f4 100%);min-height:100vh;padding:0 0 24px}.public-page-header{-webkit-backdrop-filter:blur(14px)saturate(150%);backdrop-filter:blur(14px)saturate(150%);background:linear-gradient(#ffffffd1 0%,#e9f2ffbd 100%);border-bottom:1px solid #b4d0ff99;padding-top:7px;padding-bottom:7px;box-shadow:0 6px 22px #122c6312}.public-page-header .login-top-brand{padding:2px 8px}.public-page-header .login-top-brand-img{height:38px}.public-page-header .login-header-btn{padding:6px 12px}.public-page-header:hover{background:linear-gradient(#ffffffd1 0%,#e9f2ffbd 100%);border-bottom-color:#b4d0ff99;box-shadow:0 6px 22px #122c6312}.public-page-header:hover .login-top-brand{background:0 0}.public-page-header:hover .login-header-btn{color:#1e3a6e;box-shadow:none;background:#fff9;border-color:#c3d5f2}.public-enrollment-content,.about-page-content{width:min(1120px,100%);margin:0 auto;padding:22px 20px 0}.public-enrollment-page .enrollment-view{flex-direction:column;align-items:center;margin-top:2px;display:flex}.public-enrollment-page .enrollment-view h1{letter-spacing:-.02em;color:#102f6e;text-align:center;margin:0 0 6px;font-size:clamp(26px,3vw,36px);line-height:1.12}.public-enrollment-page .enrollment-subtitle{color:#4a638c;text-align:center;max-width:540px;margin:0 auto 20px;font-size:14px;line-height:1.5}.public-enrollment-page .enrollment-form-hero{box-sizing:border-box;text-align:left;background:linear-gradient(135deg,#1e3a8a 0%,#2d63ea 100%);border-radius:18px;width:100%;max-width:720px;margin:4px auto 26px;padding:26px 30px;box-shadow:0 12px 32px #1e3a8a47}.public-enrollment-page .enrollment-form-hero .enrollment-form-kicker{letter-spacing:.14em;text-transform:uppercase;color:#93c5fd;margin:0 0 8px;font-size:11.5px;font-weight:800}.public-enrollment-page .enrollment-form-hero h1{letter-spacing:-.01em;color:#fff;text-align:left;margin:0 0 8px;font-size:clamp(22px,2.8vw,30px);font-weight:800;line-height:1.2}.public-enrollment-page .enrollment-form-hero p{color:#dbeafe;margin:0;font-size:13.5px;line-height:1.6}@media (width<=640px){.public-enrollment-page .enrollment-form-hero{padding:20px}}.public-enrollment-page .enrollment-section-title{color:#143c86;text-align:center;width:min(500px,100%);margin:0 0 12px;font-size:24px}.public-enrollment-page .flow-steps{flex-wrap:wrap;justify-content:center;gap:6px;width:min(600px,100%);margin:0 0 20px;display:flex}.public-enrollment-page .flow-step-chip{color:#4c5f7e;background:#f8fbff;border:1px solid #ced8eb;border-radius:12px;width:auto;min-width:52px;height:auto;padding:7px 10px;box-shadow:inset 0 1px #fffc}.public-enrollment-page .flow-step-chip.active{color:#fff;background:linear-gradient(135deg,#2e66de 0%,#4a8eff 100%);border-color:#2e66de;box-shadow:0 4px 12px #2e66de4d}.wizard-progress{width:100%;max-width:640px;margin:4px auto 22px}.wizard-progress-label{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.wizard-progress-step{letter-spacing:.04em;text-transform:uppercase;color:#64748b;white-space:nowrap;font-size:11px;font-weight:800}.wizard-progress-title{color:#0f2255;text-align:right;font-size:14.5px;font-weight:800}.wizard-progress-track{background:#e2e8f0;border-radius:6px;height:6px;position:relative}.wizard-progress-fill{background:linear-gradient(90deg,#2e66de 0%,#4a8eff 100%);border-radius:6px;height:100%;transition:width .25s}.wizard-progress-dot{background:#fff;border:2px solid #cbd5e1;border-radius:50%;width:12px;height:12px;position:absolute;top:50%;transform:translate(-50%,-50%)}.wizard-progress-dot.done{background:#2e66de;border-color:#2e66de}.wizard-progress-dot.current{background:#fff;border-color:#2e66de;box-shadow:0 0 0 3px #2e66de38}@media (width<=640px){.wizard-progress-label{flex-direction:column;align-items:flex-start;gap:2px}.wizard-progress-title{text-align:left}}.public-enrollment-page .registration-center{align-items:center;width:100%}.public-enrollment-page .back-step-btn{color:#1e3a6e;background:#ffffffb8;border:1px solid #789bdc6b;border-radius:999px;align-self:center;width:auto;margin:0 0 14px;padding:7px 15px;font-size:13px;font-weight:700;transition:transform .15s,background-color .15s,box-shadow .15s;box-shadow:0 2px 8px #122c6314}.public-enrollment-page .back-step-btn:hover{background:#fff;transform:translateY(-1px);box-shadow:0 6px 14px #122c6324}.public-enrollment-page .form,.public-enrollment-page .feature-card,.public-enrollment-page .upload-preview{background:linear-gradient(165deg,#fff 0%,#f6f9ff 100%);border:1px solid #acc4ef99;border-radius:18px;width:min(500px,100%);margin-top:0;margin-bottom:14px;padding:24px 24px 22px;box-shadow:0 14px 30px #122c6324}.public-enrollment-page .form-wide{gap:12px;width:min(980px,100%)}.public-enrollment-page .form h3,.public-enrollment-page .feature-card h3,.public-enrollment-page .upload-preview h3{color:#163c84;margin-bottom:12px}.public-enrollment-page .form input,.public-enrollment-page .form select{background:#fff;border:1px solid #c8d7ef;border-radius:10px;margin-bottom:12px;font-size:15px}.public-enrollment-page .form input:focus,.public-enrollment-page .form select:focus{border-color:#4a84ea;outline:none;box-shadow:0 0 0 3px #4a84ea29}.public-enrollment-page .form button,.public-enrollment-page .flow-panel button,.public-enrollment-page .flow-actions button{background:linear-gradient(135deg,#2f67de 0%,#4c8eff 100%);border-radius:11px;width:100%;padding:13px 16px;transition:transform .2s,box-shadow .2s,filter .2s}.public-enrollment-page .form button:hover,.public-enrollment-page .flow-panel button:hover,.public-enrollment-page .flow-actions button:hover{filter:brightness(.98);transform:translateY(-1px);box-shadow:0 10px 18px #1c54b33d}.public-enrollment-page .module-caption{margin:2px 0 14px}@media (width<=900px){.public-enrollment-page .form-wide{grid-template-columns:1fr;width:min(500px,100%)}.public-enrollment-page .enrollment-section-title,.public-enrollment-page .flow-steps{width:min(500px,100%)}}@media (width<=640px){.public-enrollment-page{padding:0 0 16px}.public-enrollment-content{padding:16px 12px 0}.public-enrollment-page .enrollment-view h1{margin-top:4px;font-size:34px}.public-enrollment-page .enrollment-subtitle{margin-bottom:14px;font-size:14px}.public-enrollment-page .form,.public-enrollment-page .feature-card,.public-enrollment-page .upload-preview{padding:18px 16px}}.track-flow-hero{text-align:center;max-width:680px;margin:22px auto 34px}.track-flow-kicker{letter-spacing:.14em;text-transform:uppercase;color:#2f67de;margin:0 0 6px;font-size:12px;font-weight:800}.track-flow-hero h1{letter-spacing:-.02em;color:#102f6e;margin:0 0 10px;font-size:clamp(26px,3.4vw,38px);line-height:1.14}.track-flow-hero p{color:#4a638c;margin:0;font-size:14.5px;line-height:1.6}.track-program-filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:min(1000px,100%);margin:0 auto 22px;display:flex}.track-program-filter-tabs{gap:6px;display:flex}.track-program-filter-tabs button{color:#2f5fb8;cursor:pointer;background:#fff;border:1.5px solid #bfd8fb;border-radius:20px;padding:7px 16px;font-size:13px;font-weight:700}.track-program-filter-tabs button.active{color:#fff;background:linear-gradient(135deg,#2d63ea,#1e3a8a);border-color:#0000}.track-program-search{background:#fff;border:1.5px solid #bfd8fb;border-radius:10px;min-width:220px;padding:8px 14px;font-size:13.5px}.track-program-search:focus{border-color:#2d63ea;outline:none}.track-program-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;width:min(1000px,100%);margin:0 auto 40px;display:grid}.track-program-card{text-align:left;cursor:pointer;background:linear-gradient(175deg,#fff 0%,#f5f9ff 100%);border:1px solid #b0c7ec9e;border-radius:16px;padding:20px 22px;transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:0 10px 22px #14316614}.track-program-card:hover{border-color:#4e83dfbf;transform:translateY(-3px);box-shadow:0 18px 32px #14316629}.track-program-level{letter-spacing:.06em;text-transform:uppercase;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;margin-bottom:10px;padding:3px 10px;font-size:10.5px;font-weight:800;display:inline-block}.track-program-card .name{color:#102f6e;margin:0;font-size:17px;font-weight:800;line-height:1.3}.track-program-card .code{color:#94a3b8;margin:4px 0 0;font-size:12px}.track-program-card .cta{color:#2f67de;margin:16px 0 0;font-size:13px;font-weight:800}.track-package-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;width:min(1000px,100%);margin:0 auto 36px;display:grid}.track-package-card{background:linear-gradient(175deg,#fff 0%,#f5f9ff 100%);border:1px solid #b0c7ec9e;border-radius:18px;flex-direction:column;padding:28px 24px 24px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 30px #1431661a}.track-package-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px #1431662e}.track-package-card:before{content:"";background:linear-gradient(90deg,#2a5dcc,#4f87ec);height:5px;position:absolute;top:0;left:0;right:0}.track-package-card:nth-child(4n+2):before{background:linear-gradient(90deg,#c9a366,#facc15)}.track-package-card:nth-child(4n+3):before{background:linear-gradient(90deg,#059669,#34d399)}.track-package-card:nth-child(4n+4):before{background:linear-gradient(90deg,#7a71a8,#a89dc4)}.track-package-card .name{color:#102f6e;margin:4px 0;font-size:18px;font-weight:800;line-height:1.3}.track-package-card .sessions{color:#2563eb;margin:0;font-size:12.5px;font-weight:700}.track-package-card .desc{color:#64748b;flex:1;margin:10px 0 0;font-size:13px;line-height:1.6}.track-package-card .price{color:#102f6e;letter-spacing:-.01em;margin:18px 0 16px;font-size:27px;font-weight:800}.track-package-card .enroll-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2f67de 0%,#4c8eff 100%);border:none;border-radius:11px;padding:13px 16px;font-size:13.5px;font-weight:800;transition:transform .2s,box-shadow .2s,filter .2s;box-shadow:0 10px 18px #1c54b338}.track-package-card .enroll-btn:hover{filter:brightness(.98);transform:translateY(-1px);box-shadow:0 14px 24px #1c54b347}.track-payment-card{background:linear-gradient(175deg,#fff 0%,#f5f9ff 100%);border:1px solid #b0c7ec9e;border-radius:18px;width:min(720px,100%);margin:0 auto;padding:26px 28px;box-shadow:0 14px 30px #14316614}.track-payment-card h2{color:#102f6e;margin:0 0 4px;font-size:18px;font-weight:800}.track-payment-card>p{color:#94a3b8;margin:0 0 16px;font-size:12.5px;line-height:1.5}.track-payment-card .track-payment-notice{color:#8a6242;background:#fffbeb;border:1.5px solid #fde68a;border-radius:10px;margin:0 0 18px;padding:12px 16px;font-size:13px;font-weight:700;line-height:1.55}.track-payment-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.track-payment-method{background:linear-gradient(175deg,#f0f6ff 0%,#e8f1ff 100%);border:1px solid #dbeafe;border-radius:12px;padding:13px 16px}.track-payment-method .label{color:#1e3a8a;text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:11.5px;font-weight:800}.track-payment-method .account{color:#0f172a;margin:3px 0 0;font-size:15px;font-weight:800}.track-payment-method .note{color:#64748b;margin:3px 0 0;font-size:11.5px;line-height:1.5}.track-empty-card{text-align:center;background:linear-gradient(175deg,#fff 0%,#f5f9ff 100%);border:1px solid #b0c7ec9e;border-radius:18px;width:min(480px,100%);margin:0 auto 40px;padding:34px 28px;box-shadow:0 14px 30px #14316614}.track-empty-card p{color:#64748b;margin:0 0 18px;font-size:14px;line-height:1.6}.track-empty-card button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2f67de 0%,#4c8eff 100%);border:none;border-radius:11px;padding:12px 24px;font-size:13.5px;font-weight:800;transition:transform .2s,box-shadow .2s;box-shadow:0 10px 18px #1c54b338}.track-empty-card button:hover{transform:translateY(-1px);box-shadow:0 14px 24px #1c54b347}.grad-program-page{width:min(920px,100%);margin:0 auto 60px}.grad-program-hero{text-align:left;max-width:none}.grad-program-desc{max-width:680px;margin:0 0 18px!important}.grad-program-hero-actions{flex-wrap:wrap;gap:10px;display:flex}.grad-apply-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2f67de 0%,#4c8eff 100%);border:none;border-radius:11px;padding:12px 26px;font-size:13.5px;font-weight:800;box-shadow:0 10px 18px #1c54b338}.grad-back-btn{color:#2f5fb8;cursor:pointer;background:#fff;border:1.5px solid #bfd8fb;border-radius:11px;padding:12px 22px;font-size:13.5px;font-weight:700}.grad-quick-info-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:26px 0;display:grid}.grad-quick-info-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px 16px;box-shadow:0 4px 14px #122c630d}.grad-quick-info-card .label{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin:0 0 4px;font-size:10.5px;font-weight:800}.grad-quick-info-card .value{color:#0f2255;margin:0;font-size:14.5px;font-weight:700}.grad-tabs{border-bottom:2px solid #e2e8f0;flex-wrap:wrap;gap:4px;margin-bottom:22px;display:flex}.grad-tabs button{cursor:pointer;color:#64748b;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:10px 18px;font-size:13.5px;font-weight:700}.grad-tabs button.active{color:#2563eb;border-bottom-color:#2563eb}.grad-tab-panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;min-height:140px;padding:22px 24px;box-shadow:0 2px 10px #122c630d}.grad-tab-content h3{color:#0f2255;margin:0 0 8px;font-size:14px;font-weight:800}.grad-tab-content h3:not(:first-child){margin-top:18px}.grad-tab-content p{color:#374151;margin:0 0 4px;font-size:13.5px;line-height:1.65}.grad-tab-empty{font-style:italic;color:#94a3b8!important}.grad-curriculum-group h3{margin:0 0 10px}.grad-curriculum-group:not(:first-child){margin-top:22px}.grad-curriculum-table{border-collapse:collapse;width:100%;font-size:13px}.grad-curriculum-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;border-bottom:2px solid #e2e8f0;padding:8px 10px;font-size:11px}.grad-curriculum-table td{color:#1e293b;border-bottom:1px solid #f1f5f9;padding:9px 10px}.grad-requirements-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.grad-requirements-list li{color:#1e293b;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:8px 0;font-size:13.5px;display:flex}.req-badge{color:#9c5252;background:#fee2e2;border-radius:20px;padding:3px 10px;font-size:10.5px;font-weight:800}.req-badge.optional{color:#64748b;background:#f1f5f9}.grad-fees-table{border-collapse:collapse;width:100%;margin-bottom:12px;font-size:13.5px}.grad-fees-table td{border-bottom:1px solid #f1f5f9;padding:9px 4px}.grad-fees-table td:first-child{color:#475569}.grad-fees-table td:last-child{text-align:right;color:#0f2255;font-weight:700}.grad-fees-note{color:#64748b;font-size:12.5px}.grad-fees-disclaimer{font-style:italic;color:#94a3b8!important;margin-top:10px!important;font-size:11.5px!important}.grad-sticky-apply{justify-content:center;margin-top:26px;display:flex;position:sticky;bottom:16px}.grad-sticky-apply .grad-apply-btn{padding:14px 40px;font-size:14.5px;box-shadow:0 14px 30px #1c54b352}@media (width<=980px){.login-layout{max-width:100%}}@media (width<=640px){.login-top-header{gap:10px;padding:12px 16px}.login-top-brand{text-align:left}.login-header-actions{flex-wrap:wrap;justify-content:flex-end}.landing-programs-menu{position:static}.landing-programs-dropdown{width:auto;top:72px;left:16px;right:16px}.landing-hero{min-height:calc(100vh - 120px);padding:24px 20px}.landing-section-heading p{font-size:15px}.landing-highlight-card h3{font-size:18px}.login-card{padding:16px 14px 18px}.landing-modal-header h2{font-size:19px}}@media (width<=1100px){.landing-highlights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.landing-highlights-grid{grid-template-columns:1fr}}.main h1{color:#111;text-align:center;margin-bottom:40px;font-size:56px}.student-portal-page{gap:16px;width:100%;max-width:1160px;padding-bottom:14px;display:grid}.student-hero-card{background:radial-gradient(420px 220px at 14% -20%,#1d4ed852,#0000 70%),radial-gradient(300px 200px at 100% 100%,#5093ff38,#0000 70%),linear-gradient(130deg,#f0f6ff 0%,#e5eeff 55%,#ddeaff 100%);border:1px solid #a6bcec80;border-radius:20px;justify-content:space-between;align-items:center;gap:14px;padding:24px;display:flex;box-shadow:0 14px 30px #12213f1f}.student-hero-kicker{color:#2a5dcc;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px;font-size:11px;font-weight:800}.student-hero-card h1{color:#153678;text-align:left;margin:0;font-size:clamp(28px,3.8vw,42px);line-height:1.1}.student-hero-meta{color:#476085;margin-top:8px;font-size:14px}.student-status-badge{color:#166534;white-space:nowrap;background:#dcfce7;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:800}.student-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.student-summary-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffbd;border:1px solid #bacdeeb3;border-radius:16px;padding:16px;transition:transform .2s,box-shadow .2s;box-shadow:0 12px 24px #0f23481a}.student-summary-card:hover{transform:translateY(-3px);box-shadow:0 18px 28px #122b5729}.student-card-icon{color:#fff;background:linear-gradient(135deg,#1e4ed8 0%,#4f9dff 100%);border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;margin-bottom:10px;display:inline-flex}.student-card-icon svg{width:18px;height:18px}.student-summary-card p{color:#476085;margin-bottom:4px;font-size:13px}.student-summary-card h3{color:#0f2e6c;margin:0 0 4px;font-size:28px}.student-summary-card small{color:#64748b;font-size:12px}.student-content-grid{grid-template-columns:1.2fr 1fr;gap:12px;display:grid}.student-panel{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffc;border:1px solid #bacdeeb8;border-radius:16px;padding:16px;box-shadow:0 12px 24px #0f23481a}.student-panel-head{margin-bottom:12px}.student-panel-head h2{color:#163b81;margin:0;font-size:22px}.student-announcement-list{gap:10px;display:grid}.student-announcement-item{background:#f8fbff;border:1px solid #d7e4fb;border-radius:12px;padding:12px}.student-announcement-item h3{color:#1a4088;margin:0 0 5px;font-size:15px}.student-announcement-item p{color:#334155;margin-bottom:6px;font-size:13px;line-height:1.45}.student-announcement-item span{color:#64748b;font-size:11px;font-weight:700}.student-activity-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.student-activity-list li{background:#f8fbff;border:1px solid #d7e4fb;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:start;gap:10px;padding:10px;display:grid}.student-activity-dot{background:linear-gradient(135deg,#1e4ed8 0%,#46a0ff 100%);border-radius:999px;width:11px;height:11px;margin-top:4px}.student-activity-list strong{color:#173f88;font-size:13px}.student-activity-list p{color:#475569;margin-top:2px;font-size:12px}.student-activity-list span{color:#64748b;font-size:11px;font-weight:700}.student-schedule-panel table{max-width:none}.student-academic-calendar{margin-top:8px}.student-cal-event-list{border-top:1px solid #e2e8f0;margin-top:16px;padding-top:14px}.student-cal-list-header{color:#1e3a8a;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:700;display:flex}.student-cal-count{color:#1e3a8a;background:#eff6ff;border:1px solid #93c5fd;border-radius:12px;padding:1px 8px;font-size:12px;font-weight:600}.student-cal-event-list ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.student-cal-event-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 14px}.student-cal-event-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.student-cal-event-date{color:#64748b;font-size:12px}.student-cal-no-class{color:#8a6242;background:#fef3c7;border:1px solid #fcd34d;border-radius:10px;padding:1px 7px;font-size:11px;font-weight:600}.student-cal-event-title{color:#1e293b;font-size:14px;font-weight:600;display:block}.student-cal-event-desc{color:#64748b;margin:4px 0 0;font-size:12px}.student-quick-actions{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.student-quick-actions button{color:#1d4c9b;cursor:pointer;background:linear-gradient(135deg,#edf4ff 0%,#fff 100%);border:1px solid #cfe0ff;border-radius:11px;padding:10px 8px;font-size:13px;font-weight:700;transition:all .2s}.student-quick-actions button:hover{background:linear-gradient(135deg,#dce9ff 0%,#f8fbff 100%);transform:translateY(-2px);box-shadow:0 10px 16px #1e4ea329}@media (width<=1100px){.student-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-content-grid{grid-template-columns:1fr}.student-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=700px){.student-hero-card{flex-direction:column;align-items:flex-start}.student-summary-grid{grid-template-columns:1fr}.student-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.module-page{background:#fff;border-radius:18px;width:100%;max-width:820px;padding:28px 30px;box-shadow:0 8px 18px #00000014}.module-page h1{margin-bottom:14px;font-size:40px}.module-page p{color:#334155;font-size:18px;line-height:1.55}.cc-outer-wrap{flex-direction:column;gap:12px;width:100%;max-width:none;margin:0 auto;display:flex}.cc-page-header{padding:0 4px}.cc-page-title{color:#111827;letter-spacing:-.02em;margin:0 0 4px;font-size:36px;font-weight:800}.cc-page-subtitle{color:#64748b;margin:0;font-size:14px}.course-class-page{width:100%}@media (width<=640px){.cc-outer-wrap{padding:0 8px}.cc-page-title{font-size:26px}}.system-config-page,.government-reports-page{width:100%}.compliance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;display:grid}.compliance-list{gap:8px}.compliance-list li{justify-content:flex-start}.backup-action-btn{color:#fff;cursor:pointer;background:#2d63ea;border:none;border-radius:10px;margin-top:12px;padding:10px 14px;font-weight:800}.backup-action-btn:disabled{opacity:.45;cursor:not-allowed}.government-report-card{width:100%}.government-actions{flex-wrap:wrap;gap:10px;margin:14px 0;display:flex}.government-actions button{color:#fff;cursor:pointer;background:#2d63ea;border:none;border-radius:10px;padding:10px 14px;font-weight:800}.government-actions button:disabled{opacity:.45;cursor:not-allowed}.government-preview-table{min-width:920px}.grading-page{gap:16px;max-width:1240px;display:grid}.grading-page>h1{letter-spacing:-.02em;margin:0;font-size:clamp(30px,4vw,44px);font-weight:800}.grading-card{border:1px solid #b6caf0a6;border-radius:18px;width:100%;margin-bottom:0;padding:22px;box-shadow:0 8px 22px #12213f14}.grading-card h3{letter-spacing:-.01em;margin-bottom:12px;font-size:clamp(22px,2.4vw,28px)}.grading-form{grid-template-columns:1fr;align-items:start;gap:16px}.grading-form input,.grading-form select{color:#12213f;background:#fff;border:1px solid #bfd2f5;border-radius:10px;width:100%;min-height:44px;padding:0 13px;font-size:13px}.grade-preview{background:linear-gradient(135deg,#eef5ff 0%,#e4efff 100%);border:1px solid #c8dbff;border-radius:14px;flex-wrap:wrap;gap:8px;padding:11px;display:flex}.grade-preview span{color:#1a3773;background:#ffffffa6;border:1px solid #84a5e95c;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700}.grading-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:12px 0 16px;display:grid}.grading-summary-grid div{background:linear-gradient(160deg,#fffffff0 0%,#f2f8ffe6 100%);border:1px solid #baccf2bd;border-radius:14px;padding:15px}.grading-summary-grid span{color:#3d62b7;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:11px;font-weight:800;display:block}.grading-summary-grid p{color:#12213f;font-size:16px;font-weight:700}.grading-table{border:1px solid #becff1b8;border-radius:14px;min-width:980px;max-width:none;margin-top:12px;overflow:hidden}.grading-table th,.grading-table td{vertical-align:top;font-size:13px}.grading-table th{color:#173a80;letter-spacing:.05em;text-transform:uppercase;background:linear-gradient(#edf3ff 0%,#e4eeff 100%);border-bottom:1px solid #afc6eccc;font-size:12px}.grading-table td{color:#2a426e;border-bottom:1px solid #dbe8ffd1}.grading-table tbody tr:nth-child(2n) td{background:#f4f9ff94}.grading-table td button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2458da 0%,#4aa6ff 100%);border:none;border-radius:9px;margin:0 6px 6px 0;padding:7px 11px;font-size:12px;font-weight:700;box-shadow:0 6px 12px #1f4ed833}.room-assignment-table{min-width:1020px}.curriculum-toolbar{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.curriculum-toolbar select{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:10px;min-width:190px;padding:10px 12px;font-weight:700}.curriculum-table{min-width:900px}.calendar-legend{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.calendar-legend strong{color:#12213f;margin-right:2px;font-size:13px}.calendar-legend span{color:#fff;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.calendar-months{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:14px;display:grid}.calendar-months.single{grid-template-columns:minmax(0,1fr)}.calendar-month{background:#ffffffb8;border:1px solid #abc4f58c;border-radius:16px;overflow:hidden;box-shadow:0 10px 24px #12213f14}.calendar-month-header{background:#edf4ff;border-bottom:1px solid #abc4f58c;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;padding:14px 16px;display:grid}.calendar-month h4{color:#12213f;text-align:center;font-size:20px}.calendar-nav-btn{color:#174094;cursor:pointer;background:#fff;border:1px solid #a9bfeccc;border-radius:10px;width:44px;height:40px;font-size:28px;font-weight:800;line-height:1}.calendar-nav-btn:disabled{opacity:.36;cursor:not-allowed}.calendar-nav-btn:not(:disabled):hover{background:#dbeafe}.calendar-weekdays,.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays span{color:#4769ba;text-align:center;background:#f8fbff;border-bottom:1px solid #abc4f573;padding:9px 6px;font-size:12px;font-weight:800}.calendar-day{text-align:left;background:#fffc;border-bottom:1px solid #cbd5e1b8;border-right:1px solid #cbd5e1b8;min-height:94px;padding:7px}.calendar-day:nth-child(7n){border-right:none}.calendar-day.blank{background:#e2e8f059}.calendar-day.has-event{background:#f8fbff}.calendar-day-number{color:#1e293b;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;font-size:12px;font-weight:800;display:inline-flex}.calendar-day.has-event .calendar-day-number{color:#1e3a8a;background:#dbeafe}.calendar-day-events{gap:4px;margin-top:6px;display:grid}.calendar-chip{color:#fff;text-overflow:ellipsis;border-radius:7px;padding:4px 5px;font-size:10px;font-weight:800;line-height:1.2;display:block;overflow:hidden}.calendar-chip.semester-start,.calendar-legend .semester-start{color:#fff;background:#1d4ed8}.calendar-chip.semester-end,.calendar-legend .semester-end{color:#fff;background:#bf7248}.calendar-chip.enrollment,.calendar-legend .enrollment{color:#fff;background:#0f766e}.calendar-chip.exam,.calendar-legend .exam{color:#fff;background:#7a71a8}.calendar-chip.holiday,.calendar-legend .holiday{color:#fff;background:#b1504d}.calendar-chip.school-event,.calendar-legend .school-event{color:#fff;background:#0891b2}.calendar-chip.deadline,.calendar-legend .deadline{color:#9c5252;background:#fee2e2}.calendar-chip.other,.calendar-legend .other{color:#334155;background:#f1f5f9}.feature-switcher{background:linear-gradient(#eef5ffe6 0%,#e5efffd9 100%);border:1px solid #b2c7f0b3;border-radius:14px;flex-wrap:wrap;gap:8px;margin-top:16px;margin-bottom:14px;padding:8px;display:flex}.feature-switcher button{white-space:nowrap;color:#1f3e7e;cursor:pointer;background:#ffffffb8;border:1px solid #aec5edbf;border-radius:11px;flex:none;padding:10px 13px;font-weight:600;box-shadow:0 4px 10px #2b529f14}.feature-switcher button.active{color:#fff;background:linear-gradient(135deg,#2050d1 0%,#3b8af6 100%);border-color:#2156d8;box-shadow:0 10px 18px #1f4ed842}.feature-switcher button:hover{transform:translateY(-1px)}.feature-switcher button:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.ar-nav-group{flex-direction:column;gap:0;display:flex}.feature-switcher--primary{border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0;gap:6px;margin-bottom:0;padding:6px}.feature-switcher--primary button{letter-spacing:.01em;border-radius:10px;justify-content:center;padding:14px 16px;font-size:14px;font-weight:700;width:unset!important;min-width:unset!important;max-width:unset!important;flex:1!important}.feature-switcher--primary button.active{box-shadow:0 10px 20px #1f4ed847}.feature-switcher--secondary{background:#f8f6ffd9;border-color:#c4b5fd73;border-top-style:none;border-top-width:medium;border-top-left-radius:0;border-top-right-radius:0;gap:6px;margin-top:0;padding:8px 10px}.feature-switcher--secondary button{color:#5c5488;box-shadow:none;background:#f5f3ffe6;border-color:#c4b5fd99;border-radius:20px;flex:none;padding:6px 16px;font-size:12px;font-weight:500}.feature-switcher--secondary button:hover{color:#4a4570;background:#ede9fef2}.feature-switcher--secondary button.active{color:#fff;background:linear-gradient(135deg,#6a6299 0%,#a89dc4 100%);border-color:#6a6299;box-shadow:0 4px 10px #6a629938}.course-class-grid{grid-template-columns:minmax(0,1fr);gap:0;margin-top:8px;display:grid}.course-class-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:16px}.course-class-card h3{color:#1e293b;margin-bottom:8px;font-size:20px}.course-class-card p{margin:0;font-size:15px}.mini-form{gap:8px;margin:12px 0 14px;display:grid}.mini-form input{background:#fff;border:1px solid #cbd5e1;border-radius:10px;width:100%;padding:10px 12px}.mini-form button{color:#fff;cursor:pointer;background:#2d63ea;border:none;border-radius:10px;justify-self:start;padding:9px 14px}.mini-form-actions{align-items:center;gap:8px;margin-top:12px;display:flex}.mini-form-actions button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2d63ea 0%,#4a9eff 100%);border:none;border-radius:10px;padding:10px 18px;font-size:13px;font-weight:700;transition:transform .16s,box-shadow .16s,filter .16s;box-shadow:0 6px 14px #1d4ed838}.mini-form-actions button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #1d4ed84d}.mini-form-actions button:disabled{opacity:.5;cursor:not-allowed}.mini-form-actions .secondary{color:#1e293b;box-shadow:none;background:#e2e8f0}.feature-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.feature-list li{color:#334155;background:#fff;border:1px solid #dbeafe;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.feature-list li span{flex:1}.feature-item-actions{align-items:center;gap:6px;display:flex}.feature-list .delete-btn,.feature-list .edit-btn{margin:0;padding:7px 10px}@media (width<=900px){.course-class-grid,.compliance-grid,.grading-form,.grading-summary-grid,.calendar-months{grid-template-columns:1fr}.calendar-day{min-height:78px;padding:5px}.calendar-chip{font-size:9px}}.home-page{text-align:center;background:#fff;border-radius:20px;width:100%;max-width:860px;padding:48px 36px;box-shadow:0 8px 18px #00000014}.home-kicker{color:#4769ba;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;font-size:14px}.home-page h1{color:#0f172a;margin-bottom:14px;font-size:52px;line-height:1.1}.home-subtitle{color:#475569;margin-bottom:28px;font-size:18px}.home-school-link{color:#0f172a;border-radius:0;flex-direction:column;align-items:center;gap:2px;padding:0;font-size:18px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.home-school-link:hover{transform:scale(1.02)}.home-logo-img{width:auto;height:140px;transition:transform .18s,filter .18s}.home-school-link:hover .home-logo-img{filter:drop-shadow(0 6px 24px #2d63ea38);transform:scale(1.04)}.form{background:#fff;border-radius:15px;width:350px;margin-top:25px;margin-bottom:90px;padding:22px;box-shadow:0 0 10px #00000014}.form-wide{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(860px,100%);display:grid}.form-wide h3,.form-wide .file-upload-label,.form-wide button{grid-column:1/-1}.form-wide .form-field{gap:7px;min-width:0;display:grid}.form-wide .form-field label{color:#172554;font-size:13px;font-weight:700}.form-wide .form-field input,.form-wide .file-upload-label{margin-bottom:0}.form input,.form select{border:1px solid #ccc;border-radius:8px;width:100%;margin-bottom:15px;padding:14px;font-size:15px}.form button{color:#fff;cursor:pointer;background:#2d63ea;border:none;border-radius:8px;width:100%;padding:14px;font-size:15px;font-weight:700;transition:all .3s}.form button:hover{background:#1746b8}.form .dob-field{position:relative}.form .dob-field input{margin-bottom:0}.form .dob-field .dob-field-overlay{color:#6b7280;pointer-events:none;font-size:15px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.student-id-photo-field{gap:7px;display:grid}.student-id-photo-field label{color:#172554;font-size:13px;font-weight:700}.student-id-photo-field input[type=file]{margin-bottom:0;padding:10px 12px}.form .dob-field .dob-date-input:not(.has-value)::-webkit-datetime-edit{color:#0000}.form .dob-field .dob-date-input.has-value::-webkit-datetime-edit{color:inherit}.enrollment-modules{flex-wrap:nowrap;justify-content:center;gap:12px;width:100%;max-width:980px;margin-bottom:26px;padding-bottom:4px;display:flex;overflow-x:auto}.module-tab{color:#0f172a;cursor:pointer;white-space:nowrap;background:#e7ecfa;border:none;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s}.module-tab:hover{background:#d8e3fb}.module-tab.active{color:#fff;background:#2d63ea}.module-panel{flex-direction:column;align-items:center;width:100%;display:flex}.module-panel p{color:#334155;text-align:center;margin-bottom:14px}.module-caption{color:#334155;text-align:center;margin-top:-8px;margin-bottom:18px}.registration-center{flex-direction:column;align-items:center;width:100%;display:flex}.doc-validation-card{background:#fff;border:1px solid #a6bcec80;border-radius:16px;gap:20px;width:min(560px,100%);margin:0 auto;padding:28px 28px 24px;display:grid;box-shadow:0 8px 24px #12213f17}.doc-validation-title{color:#153678;text-align:center;margin:0;font-size:18px;font-weight:700}.doc-checklist{gap:10px;display:grid}.doc-checklist-item{border:1px solid;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.doc-checklist-item.submitted{background:#f0fdf4;border-color:#16a34a40}.doc-checklist-item.missing{background:#fefce8;border-color:#ca8a044d}.doc-checklist-icon{flex:none;width:22px;height:22px;display:flex}.doc-checklist-icon svg{width:22px;height:22px}.doc-checklist-info{flex:1;min-width:0}.doc-checklist-info strong{color:#153678;font-size:13px;font-weight:700;display:block}.doc-checklist-info span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;display:block;overflow:hidden}.doc-checklist-status{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.doc-checklist-status.ok{color:#166534;background:#dcfce7}.doc-checklist-status.warn{color:#83603f;background:#fef9c3}.doc-status-box{border-radius:10px;padding:12px 16px;font-size:13px;font-weight:500;line-height:1.5}.doc-status-box.success{color:#166534;background:#f0fdf4;border:1px solid #16a34a4d}.doc-status-box.warning{color:#83603f;background:#fefce8;border:1px solid #ca8a044d}.doc-status-box.neutral{color:#475569;background:#f8fbff;border:1px solid #a6bcec80}.doc-student-actions{justify-content:center;display:flex}.doc-btn-proceed{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1d4ed8 0%,#3b82f6 100%);border:none;border-radius:10px;min-width:220px;height:44px;font-size:14px;font-weight:700;transition:all .16s;box-shadow:0 4px 14px #1d4ed838}.doc-btn-proceed:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #1d4ed84d}.doc-btn-proceed:disabled{color:#94a3b8;cursor:not-allowed;box-shadow:none;background:#cbd5e1}.doc-admin-panel{gap:16px;display:grid}.doc-admin-caption{color:#64748b;margin:0;font-size:13px;line-height:1.5}.doc-admin-select-wrap{gap:6px;display:grid}.doc-admin-label{color:#4769ba;text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:700}.doc-admin-select{color:#12213f;background:#fff;border:1px solid #bfd2f5;border-radius:10px;width:100%;height:42px;padding:0 12px;font-size:13px}.doc-admin-actions{flex-wrap:wrap;gap:10px;display:flex}.doc-btn-approve{color:#fff;cursor:pointer;background:linear-gradient(135deg,#166534 0%,#16a34a 100%);border:none;border-radius:10px;flex:1;min-height:42px;font-size:13px;font-weight:700;transition:all .16s;box-shadow:0 4px 12px #16653438}.doc-btn-approve:hover:not(:disabled){filter:brightness(1.08)}.doc-btn-approve:disabled{opacity:.45;cursor:not-allowed}.doc-btn-return{color:#9c5252;cursor:pointer;background:#fff1f2;border:1px solid #fca5a5;border-radius:10px;flex:1;min-height:42px;font-size:13px;font-weight:700;transition:all .16s}.doc-btn-return:hover:not(:disabled){background:#fee2e2}.doc-btn-return:disabled{opacity:.45;cursor:not-allowed}.back-step-btn{color:#fff;cursor:pointer;background:#1e3a8a;border:none;border-radius:10px;align-self:center;margin-bottom:12px;padding:9px 14px;font-weight:700}.back-step-btn:hover{background:#162d69}.flow-steps{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;max-width:760px;margin:0 auto 20px;display:flex}.flow-step-chip{color:#64748b;background:#fff;border:1px solid #cbd5e1;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:52px;height:auto;padding:7px 10px;font-size:13px;font-weight:700;transition:background .18s,border-color .18s,color .18s,box-shadow .18s;display:inline-flex}.flow-step-chip.active{color:#fff;background:#2d63ea;border-color:#2d63ea;box-shadow:0 4px 12px #2d63ea4d}.flow-step-num{font-size:14px;font-weight:800;line-height:1}.flow-step-label{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:9px;font-weight:700;line-height:1}.flow-panel{text-align:center}.flow-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.flow-actions button,.flow-panel button{color:#fff;cursor:pointer;background:#2d63ea;border:none;border-radius:10px;padding:10px 14px;font-weight:700}.flow-actions button:hover,.flow-panel button:hover{background:#1746b8}.file-upload-label{color:#334155;flex-direction:column;gap:6px;margin-bottom:12px;font-size:14px;font-weight:600;display:flex}.file-upload-label input[type=file]{width:100%}.upload-hint{color:#94a3b8;margin:4px 0 0;font-size:11.5px;font-weight:500;line-height:1.35}.file-upload-group{margin-bottom:14px}.file-upload-group .file-upload-label{margin-bottom:3px}.file-upload-group .upload-hint{margin-top:3px}.profile-photo-actions .upload-hint{color:#94a3b8;margin:2px 0 0;font-size:10.5px;font-weight:500}.feature-card{background:#fff;border-radius:12px;width:350px;margin-top:0;margin-bottom:40px;padding:16px 18px;box-shadow:0 0 10px #00000014}.feature-card h3{color:#1e293b;margin-bottom:10px;font-size:18px}.admin-enrollee-section{width:100%;margin-bottom:16px}.admin-enrollee-table table{max-width:none}.admin-enrollment-view h1{margin-bottom:10px}.enrollment-view,.admin-enrollment-view{width:100%}.enrollment-view h1,.admin-enrollment-view h1{color:#102f6e;letter-spacing:-.02em;text-align:center;margin-top:0;margin-bottom:6px;font-size:clamp(30px,3.8vw,44px);font-weight:800}.admin-enrollee-summary{grid-template-columns:repeat(3,minmax(220px,1fr));gap:20px;margin:16px 0 22px;display:grid}.admin-enrollee-summary .card{width:auto;min-width:0;margin-top:0;margin-bottom:0;padding:20px 16px}.admin-enrollee-summary .card h3{margin-bottom:10px;font-size:22px}.admin-enrollee-summary .card p{font-size:36px}.admin-enrollee-controls{flex-wrap:wrap;align-items:center;gap:12px;margin:34px 0 14px;display:flex}.admin-enrollee-controls label{color:#1e293b;margin-right:2px;font-weight:600}.admin-enrollee-controls select{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:10px;min-width:210px;padding:10px 12px}.admin-enrollee-controls input{background:#fff;border:1px solid #cbd5e1;border-radius:10px;min-width:260px;padding:10px 12px}.admin-enrollee-controls button{white-space:nowrap;margin-left:auto}.admin-enrollee-controls .refresh-icon-btn{color:#1f3a7a;background:#fff;border:1px solid #cbd5e1;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;padding:0;display:inline-flex}.admin-enrollee-controls .refresh-icon-btn:hover{color:#2d63ea;border-color:#2d63ea}.admin-enrollee-controls .refresh-icon-btn svg{width:18px;height:18px}.admin-enrollment-view .module-caption{margin-top:6px;margin-bottom:12px}@media (width<=900px){.admin-enrollee-summary{grid-template-columns:repeat(2,minmax(180px,1fr))}.admin-enrollee-controls button{margin-left:0}}@media (width<=640px){.admin-enrollee-summary{grid-template-columns:1fr}}.enrollment-view .form:not(.form-wide),.admin-enrollment-view .form:not(.form-wide){background:linear-gradient(165deg,#fff 0%,#f6f9ff 100%);border:1px solid #acc4ef99;border-radius:16px;width:min(520px,100%);margin-top:0;margin-bottom:16px;padding:28px 28px 24px;box-shadow:0 12px 28px #122c631f}.enrollment-view .feature-card.flow-panel,.admin-enrollment-view .feature-card.flow-panel{text-align:left;background:linear-gradient(165deg,#fff 0%,#f6f9ff 100%);border:1px solid #acc4ef99;border-radius:16px;width:min(520px,100%);margin-top:0;margin-bottom:16px;padding:28px 28px 24px;box-shadow:0 12px 28px #122c631f}.enrollment-view .form:not(.form-wide) h3,.enrollment-view .feature-card.flow-panel h3,.admin-enrollment-view .form:not(.form-wide) h3,.admin-enrollment-view .feature-card.flow-panel h3{color:#163c84;margin-bottom:16px;font-size:18px}.enrollment-view .form:not(.form-wide) p,.enrollment-view .feature-card.flow-panel p,.admin-enrollment-view .form:not(.form-wide) p,.admin-enrollment-view .feature-card.flow-panel p{color:#4c6489;margin-bottom:16px;font-size:14px;line-height:1.55}.enrollment-view .form input,.enrollment-view .form select,.admin-enrollment-view .form input,.admin-enrollment-view .form select{border-color:#c8d7ef;border-radius:10px}.enrollment-view .form input:focus,.enrollment-view .form select:focus,.admin-enrollment-view .form input:focus,.admin-enrollment-view .form select:focus{border-color:#4a84ea;outline:none;box-shadow:0 0 0 3px #4a84ea29}.enrollment-view .form button,.enrollment-view .flow-panel button,.admin-enrollment-view .form button,.admin-enrollment-view .flow-panel button{background:linear-gradient(135deg,#2f67de 0%,#4c8eff 100%);border-radius:11px;padding:13px 16px;transition:transform .2s,box-shadow .2s,filter .2s}.enrollment-view .form button:hover,.enrollment-view .flow-panel button:hover,.admin-enrollment-view .form button:hover,.admin-enrollment-view .flow-panel button:hover{filter:brightness(.97);transform:translateY(-1px);box-shadow:0 10px 18px #1c54b33d}.enrollment-view .back-step-btn,.admin-enrollment-view .back-step-btn{padding:8px 16px;font-size:13px}.form-section{grid-column:1/-1;margin-top:4px;padding-top:8px}.form-section-title{text-transform:uppercase;letter-spacing:.12em;color:#4769ba;border-bottom:1px solid #dce8ff;margin-bottom:0;padding-bottom:8px;font-size:10px;font-weight:800}.reenrollment-notice{color:#1e40af;background:linear-gradient(135deg,#eff6ff 0%,#e8f0ff 100%);border:1px solid #4f78cd4d;border-radius:12px;grid-column:1/-1;margin-bottom:4px;padding:12px 16px;font-size:13px;line-height:1.5}.reenrollment-notice strong{margin-bottom:3px;font-size:13px;display:block}.check-item{color:#334155;align-items:center;gap:8px;margin-bottom:8px;font-size:14px;display:flex}.check-item input{width:16px;height:16px}.upload-preview{background:#fff;border-radius:12px;width:350px;margin-top:-62px;margin-bottom:40px;padding:16px 18px;box-shadow:0 0 10px #00000014}.upload-preview h3{color:#1e293b;margin-bottom:10px;font-size:18px}.upload-preview ul{padding-left:18px;list-style:outside}.upload-preview li{color:#334155;margin-bottom:6px;font-size:14px}.main h2{text-align:center;margin-top:20px;margin-bottom:25px;font-size:28px}.table-container{width:100%;overflow-x:auto}table{border-collapse:collapse;background:#fff;border-radius:12px;width:100%;max-width:720px;margin-top:0;overflow:hidden}table th{color:#fff;text-align:left;background:#2d63ea;padding:15px}table td{border-bottom:1px solid #ddd;padding:15px}table tr:hover{background:#f5f7fb}.edit-btn,td button:first-child:not(.um-name-btn){color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;margin-right:8px;padding:8px 14px}.delete-btn,td button:last-child{color:#fff;cursor:pointer;background:#d9534f;border:none;border-radius:6px;padding:8px 14px}.cards{flex-wrap:wrap;gap:20px;margin-top:20px;display:flex}.card{background:#fff;border-radius:15px;width:250px;padding:25px;box-shadow:0 0 10px #00000014}.card h3{color:#444;margin-bottom:10px}.dashboard{flex-direction:column;align-items:center;width:100%;max-width:1000px;padding-top:40px;display:flex}.dashboard-title{color:#111827;text-align:center;margin-bottom:10px;font-size:52px;font-weight:800;line-height:1.08}.dashboard-subtitle{color:#334155;text-align:center;margin-bottom:40px;font-size:20px}.cards{grid-template-columns:repeat(2,260px);justify-content:center;gap:25px;margin-bottom:45px;display:grid}.card{background:#fff;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;padding:30px 20px;transition:all .3s;display:flex;box-shadow:0 5px 15px #00000014}.card:hover{transform:translateY(-5px)}.card h3{color:#334155;text-align:center;margin-bottom:15px;font-size:28px}.card p{color:#2d63ea;font-size:42px;font-weight:700}.dashboard-section{background:#fff;border-radius:18px;flex-direction:column;align-items:flex-start;width:100%;padding:22px 24px;display:flex;box-shadow:0 4px 14px #00000012}.dashboard-section h2{color:#153678;margin-bottom:6px;font-size:18px;font-weight:700}.quick-actions{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.quick-actions button{color:#fff;cursor:pointer;background:#2d63ea;border:none;border-radius:12px;padding:15px 24px;font-size:15px;font-weight:600;transition:all .3s}.quick-actions button:hover{background:#1746b8;transform:scale(1.05)}.analytics-dashboard{align-items:stretch;gap:26px;width:100%;max-width:1160px;padding-top:18px}.dashboard-hero-panel{background:radial-gradient(420px 220px at 14% -20%, rgba(var(--brand-rgb), .28), transparent 70%), radial-gradient(300px 200px at 100% 100%, rgba(var(--brand-600-rgb), .24), transparent 70%), linear-gradient(130deg, #f7fbff 0%, var(--brand-50) 55%, var(--brand-100) 100%);border:1px solid #a6bcec80;border-radius:24px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;width:100%;padding:26px 28px;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 30px #12213f1f}.dashboard-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--brand-600);margin:0 0 8px;font-size:12px;font-weight:800}.dashboard-hero-copy .dashboard-title,.dashboard-hero-copy .dashboard-subtitle{text-align:left}.dashboard-hero-copy .dashboard-subtitle{margin-bottom:0}.dashboard-hero-snapshot{background:#fffc;border:1px solid #a6bcec85;border-radius:16px;gap:5px;min-width:220px;padding:14px 16px;display:grid}.dashboard-hero-snapshot p{color:var(--brand-800);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:12px;font-weight:700}.dashboard-hero-snapshot strong{color:var(--brand-900);font-size:20px;line-height:1.2}.dashboard-hero-snapshot span{color:var(--brand-700);font-size:13px;font-weight:700}.analytics-dashboard .dashboard-title{margin-bottom:6px;font-size:52px}.analytics-dashboard .dashboard-subtitle{margin-bottom:4px;font-size:clamp(15px,2vw,20px)}.dashboard-metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:100%;display:grid}.dashboard-metric-card{background:#fff;border:1px solid #a6bcec73;border-radius:18px;flex-direction:column;justify-content:center;gap:8px;min-height:168px;padding:20px;transition:transform .18s,box-shadow .18s;display:flex;box-shadow:0 8px 20px #12213f14}.metric-top-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.metric-trend-chip{background:var(--brand-50);color:var(--brand);white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700}.metric-progress-track{background:#dbe7ff;border-radius:999px;width:100%;height:8px;overflow:hidden}.metric-progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--brand) 0%, var(--brand-200) 100%);height:100%;display:block}.dashboard-metric-card.tone-success .metric-progress-fill{background:linear-gradient(90deg,#0f766e 0%,#34d399 100%)}.dashboard-metric-card.tone-warning .metric-progress-fill{background:linear-gradient(90deg,#9c7148 0%,#c9a366 100%)}.dashboard-metric-card.tone-accent .metric-progress-fill{background:linear-gradient(90deg,#7a71a8 0%,#8f85b8 100%)}.dashboard-metric-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px #12213f1f}.dashboard-metric-card h3{color:#334155;margin:0;font-size:clamp(15px,1.4vw,18px);line-height:1.3}.dashboard-metric-card p{color:#2d63ea;margin:0;font-size:clamp(34px,4vw,46px);font-weight:800;line-height:1}.dashboard-actions-panel{width:100%;max-width:none;margin-top:0}.dashboard-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;display:grid}.dashboard-actions-grid button{text-align:left;flex-direction:column;justify-content:center;justify-self:stretch;align-items:flex-start;gap:3px;width:100%;min-height:72px;display:flex}.dashboard-actions-grid button span{font-size:16px;font-weight:700}.dashboard-actions-grid button small{opacity:.86;font-size:12px;font-weight:600}@media (width<=1200px){.dashboard-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=780px){.analytics-dashboard{gap:18px}.dashboard-hero-panel{grid-template-columns:1fr;padding:22px}.dashboard-hero-copy .dashboard-title,.dashboard-hero-copy .dashboard-subtitle,.dashboard-kicker{text-align:center}.dashboard-metrics-grid,.dashboard-actions-grid{grid-template-columns:1fr}.dashboard-metric-card{min-height:142px}}.app.ui-modern{--navy:var(--brand-ink);--royal:var(--brand-600);--sky:var(--brand);--light:var(--brand-50);--soft-gray:#f3f6fb;--text:#12213f;--muted:#4f6187;background:radial-gradient(1100px 620px at -10% -20%, rgba(var(--brand-rgb), .18), transparent 65%), radial-gradient(980px 560px at 115% -15%, rgba(var(--brand-600-rgb), .2), transparent 65%), linear-gradient(170deg, #f8fbff 0%, var(--light) 55%, var(--brand-100) 100%);font-family:Segoe UI,Inter,Helvetica Neue,Arial,sans-serif}.app.ui-modern .sidebar{color:#1e3a6e;background:radial-gradient(420px 220px at 14% -10%,#5093ff33,#0000 70%),linear-gradient(#f7fbff 0%,#edf4ff 55%,#e5efff 100%);border-right:1px solid #a6bcec80;padding:26px 18px;box-shadow:6px 0 24px #12213f1a}.app.ui-modern .sidebar-logo{background:0 0;padding:0}.app.ui-modern .sidebar.is-collapsed .sidebar-logo-img{height:38px}.app.ui-modern .sidebar-section-title,.app.ui-modern .sidebar-user-role{color:#5b78b8}.app.ui-modern .sidebar-user-card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffb3;border:1px solid #a6bcec8c}.app.ui-modern .sidebar a{color:#1e3a6e;background:#ffffff9e;border:1px solid #a6bcec73;border-radius:12px;transition:all .22s}.app.ui-modern .sidebar a:hover,.app.ui-modern .sidebar a.active{color:#fff;background:linear-gradient(135deg,#2a63ef 0%,#46a1ff 100%);border-color:#78a0f080;transform:translate(2px)}.app.ui-modern .main{margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width));background:linear-gradient(#edf4ff 0%,#e8f0ff 100%);padding:96px 52px 34px}.app.ui-modern .main-topbar{z-index:1200;justify-content:flex-end;gap:10px;width:max-content;position:fixed!important;inset:16px 18px auto auto!important}.app.ui-modern .icon-action-btn{border:1px solid rgba(var(--brand-rgb), .4);color:var(--brand-900);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffd1}.app.ui-modern .icon-action-btn:hover,.app.ui-modern .profile-topbar-btn:hover{background:#fffffff2;transform:translateY(-1px)}.app.ui-modern .icon-action-btn.logout{color:#b1504d}.app.ui-modern .main h1{color:var(--text);letter-spacing:-.02em;font-family:Segoe UI,Inter,Helvetica Neue,Arial,sans-serif;font-weight:800}.app.ui-modern .dashboard-section h2,.app.ui-modern .feature-card h3,.app.ui-modern .course-class-card h3,.app.ui-modern .module-page h1,.app.ui-modern .home-page h1{letter-spacing:-.02em;font-family:Segoe UI,Inter,Helvetica Neue,Arial,sans-serif}.app.ui-modern .home-page,.app.ui-modern .feature-card,.app.ui-modern .dashboard-section,.app.ui-modern .dashboard-actions-panel,.app.ui-modern .course-class-card,.app.ui-modern .flow-panel,.app.ui-modern .admin-enrollee-section,.app.ui-modern .card,.app.ui-modern .dashboard-metric-card,.app.ui-modern .form,.app.ui-modern .upload-preview{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff9e;border:1px solid #abc4f573;box-shadow:0 12px 30px #12213f1f}.app.ui-modern .module-page,.app.ui-modern .home-page,.app.ui-modern .dashboard-section,.app.ui-modern .dashboard-actions-panel,.app.ui-modern .feature-card,.app.ui-modern .course-class-card,.app.ui-modern .form{border-radius:20px}.app.ui-modern .module-page p,.app.ui-modern .home-subtitle,.app.ui-modern .module-caption,.app.ui-modern .feature-list li,.app.ui-modern .dashboard-subtitle,.app.ui-modern table td{color:var(--muted)}.app.ui-modern .cards{gap:20px}.app.ui-modern .card,.app.ui-modern .dashboard-metric-card{transition:transform .2s,box-shadow .2s}.app.ui-modern .card:hover,.app.ui-modern .dashboard-metric-card:hover,.app.ui-modern .feature-card:hover,.app.ui-modern .course-class-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px #12213f29}.app.ui-modern .card h3,.app.ui-modern .feature-card h3,.app.ui-modern .course-class-card h3,.app.ui-modern .dashboard-section h2,.app.ui-modern .module-page h1,.app.ui-modern .home-page h1{color:var(--text)}.app.ui-modern .card p{color:#2053d6}.app.ui-modern .dashboard-metric-card p{color:var(--brand-600)}.app.ui-modern .feature-switcher button,.app.ui-modern .mini-form button,.app.ui-modern .quick-actions button,.app.ui-modern .admin-enrollee-controls .refresh-icon-btn,.app.ui-modern .flow-panel button,.app.ui-modern .back-step-btn{background:linear-gradient(135deg, var(--royal) 0%, var(--sky) 100%);color:#fff;border:none;box-shadow:0 8px 16px #1f4ed840}.app.ui-modern .feature-switcher button.active{background:linear-gradient(135deg, var(--brand-600) 0%, var(--brand) 100%)}.app.ui-modern .feature-switcher button:hover,.app.ui-modern .mini-form button:hover,.app.ui-modern .quick-actions button:hover,.app.ui-modern .flow-panel button:hover,.app.ui-modern .back-step-btn:hover{transform:translateY(-1px)}.app.ui-modern .mini-form input,.app.ui-modern .form input,.app.ui-modern .form select,.app.ui-modern .admin-enrollee-controls input,.app.ui-modern .admin-enrollee-controls select,.app.ui-modern .mini-form-actions .secondary{color:var(--text);background:#ffffffdb;border:1px solid #a9bfecb3}.app.ui-modern .mini-form-actions .secondary{color:#213a70}.app.ui-modern .grading-page{background:radial-gradient(780px 320px at -8% -18%,#74abff33,#0000 70%),linear-gradient(165deg,#fafcffe6 0%,#ecf4ffd9 100%);border:1px solid #aec5ed80}.app.ui-modern .grading-page .feature-switcher{background:#ecf4ffdb;border-color:#adc4ecbd}.app.ui-modern .grading-page .feature-switcher button{color:#1f3e7e;box-shadow:none;background:#fffc;border:1px solid #abc2ead1}.app.ui-modern .grading-page .feature-switcher button.active{background:linear-gradient(135deg, var(--brand-600) 0%, var(--brand) 100%);border-color:var(--brand-600);box-shadow:0 8px 16px rgba(var(--brand-600-rgb), .22)}.app.ui-modern .grading-page .mini-form button,.app.ui-modern .grading-page .grading-table td button{background:linear-gradient(135deg, var(--brand-600) 0%, var(--brand) 100%);box-shadow:0 6px 12px rgba(var(--brand-600-rgb), .22)}.app.ui-modern .grading-page .mini-form-actions .secondary{color:#1f3568;box-shadow:none;background:#e5ecf8f2;border:1px solid #abbfe8e0}.app.ui-modern .grading-page .course-class-card:hover{transform:translateY(-1px);box-shadow:0 14px 28px #12213f24}.app.ui-modern .grading-page .grading-table{background:#ffffffd6}.app.ui-modern table{background:#ffffffc7;border-radius:16px}.app.ui-modern table th{background:linear-gradient(135deg, var(--brand-ink) 0%, var(--brand-900) 100%);color:#fff}.app.ui-modern table tr:hover{background:rgba(var(--brand-rgb), .09)}.app.ui-modern .feature-list li{background:#ffffffd9;border-color:#b0c9f6bf}.app.ui-modern .flow-step-chip{color:#2e4e89;background:#ffffffd1;border:1px solid #a0bdf2d9}.app.ui-modern .flow-step-chip.active{background:linear-gradient(135deg, var(--royal) 0%, var(--sky) 100%);color:#fff;border-color:#0000}@media (width<=1280px){.app.ui-modern .main{padding:90px 36px 28px}}@media (width<=640px){.profile-settings-panel{padding:18px}.profile-identity{align-items:flex-start}.profile-avatar-large{flex-basis:74px;width:74px;height:74px;font-size:21px}.profile-detail-grid,.profile-detail-grid.profile-detail-grid-3col{grid-template-columns:1fr}}.admin-hero-panel{background:radial-gradient(420px 220px at 14% -20%,#1d4ed852,#0000 70%),radial-gradient(300px 200px at 100% 100%,#5093ff38,#0000 70%),linear-gradient(130deg,#f0f6ff 0%,#e5eeff 55%,#ddeaff 100%)}.admin-modules-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;margin-top:12px;display:grid}.admin-module-card{cursor:pointer;text-align:left;background:#fff;border:1px solid #a6bcec73;border-radius:14px;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 18px;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex;box-shadow:0 4px 12px #12213f12}.admin-module-card:hover{border-color:#3b82f68c;transform:translateY(-3px);box-shadow:0 10px 24px #12213f24}.admin-module-icon{margin-bottom:2px;font-size:22px;line-height:1}.admin-module-label{color:#153678;font-size:14px;font-weight:700}.admin-module-caption{color:#6b7280;font-size:12px;line-height:1.4}.admin-table-wrapper{border:1px solid #a6bcec66;border-radius:14px;width:100%;margin-top:12px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th{color:#2a5dcc;text-align:left;white-space:nowrap;background:#f0f6ff;border-bottom:1px solid #a6bcec80;padding:11px 16px;font-weight:700}.admin-table td{color:#374151;border-bottom:1px solid #e2e8f0b3;padding:11px 16px}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:#f7fbff}.admin-txn-id{color:#4769ba;font-family:monospace;font-size:12px}.admin-status-badge{letter-spacing:.04em;text-transform:capitalize;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.admin-status-paid,.admin-status-submitted{color:#166534;background:#dcfce7}.admin-status-pending,.admin-status-in\ progress{color:#83603f;background:#fef9c3}.admin-status-overdue{color:#9c5252;background:#fee2e2}.admin-monitoring-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.admin-monitor-card{background:#fff;border:1px solid #a6bcec73;border-radius:16px;flex-direction:column;gap:4px;padding:20px;display:flex;box-shadow:0 4px 12px #12213f12}.admin-monitor-card h3{color:#4769ba;text-transform:uppercase;letter-spacing:.06em;margin:0 0 4px;font-size:13px;font-weight:700}.admin-monitor-count{color:#153678;margin:0;font-size:40px;font-weight:800;line-height:1}.admin-monitor-card span{color:#6b7280;margin-top:4px;font-size:12px}.faculty-hero-panel{background:radial-gradient(420px 220px at 14% -20%,#1d4ed852,#0000 70%),radial-gradient(300px 200px at 100% 100%,#5093ff38,#0000 70%),linear-gradient(130deg,#f0f6ff 0%,#e5eeff 55%,#ddeaff 100%)}.faculty-content-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.faculty-panel{background:#fff;border:1px solid #a6bcec73;border-radius:18px;padding:18px 20px;box-shadow:0 4px 14px #12213f12}.faculty-panel-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.faculty-panel-head h2{color:#153678;margin:0;font-size:16px;font-weight:700}.faculty-schedule-list{flex-direction:column;gap:8px;display:flex}.faculty-schedule-item{background:#f7fbff;border:1px solid #a6bcec4d;border-radius:10px;align-items:flex-start;gap:14px;padding:8px 10px;display:flex}.faculty-schedule-time{color:#2a5dcc;min-width:120px;font-size:11px;font-weight:700;line-height:1.5}.faculty-schedule-info{flex-direction:column;gap:2px;display:flex}.faculty-schedule-info strong{color:#153678;font-size:13px;font-weight:700}.faculty-schedule-info span{color:#6b7280;font-size:12px}.faculty-dashboard .faculty-section{padding:18px 20px}.faculty-dashboard .faculty-section h2{margin-bottom:0}.faculty-dashboard .faculty-table-wrapper{margin-top:8px}.faculty-dashboard .faculty-actions-grid{gap:10px;margin-top:8px}.faculty-dashboard .admin-module-card{justify-content:flex-start;min-height:92px;padding:12px 14px}.faculty-dashboard .admin-module-caption{margin-top:1px}.parent-hero-panel{background:radial-gradient(420px 220px at 14% -20%,#1d4ed852,#0000 70%),radial-gradient(300px 200px at 100% 100%,#5093ff38,#0000 70%),linear-gradient(130deg,#f0f6ff 0%,#e5eeff 55%,#ddeaff 100%)}.parent-status-badge{color:#166534;background:#dcfce7e6;border-radius:999px;margin-top:6px;padding:3px 12px;font-size:11px;font-weight:700;display:inline-block}.parent-child-info-bar{background:#fff;border:1px solid #a6bcec73;border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px 22px;display:grid;box-shadow:0 4px 12px #12213f0f}.parent-info-item{flex-direction:column;gap:4px;display:flex}.parent-info-item label{text-transform:uppercase;letter-spacing:.1em;color:#6b7280;font-size:10px;font-weight:800}.parent-info-item span{color:#153678;font-size:13px;font-weight:600}.parent-enrolled-badge{color:#166534;background:#dcfce7;border-radius:999px;width:fit-content;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.parent-content-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.faculty-management-page{gap:22px;width:min(100%,1400px);margin:0 auto;display:grid}.faculty-management-grid{grid-template-columns:.8fr 1.2fr;align-items:start;gap:20px;display:grid}.fm-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffc7;border:1px solid #a6bcec73;border-radius:18px;padding:22px;box-shadow:0 12px 28px #12213f1a}.fm-card h2{color:#153678;margin:0 0 12px;font-size:22px}.fm-policy-card ul{color:#425571;gap:8px;margin:0;padding-left:18px;line-height:1.5;display:grid}.fm-form{gap:16px;display:grid}.fm-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.fm-form-grid input,.fm-form-grid textarea{color:#18315d;background:#f8fbff;border:1px solid #a6bcec94;border-radius:12px;outline:none;width:100%;padding:12px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s,background .15s}.fm-form-grid textarea{resize:vertical;grid-column:1/-1;min-height:110px}.fm-form-grid input:focus,.fm-form-grid textarea:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.fm-actions{justify-content:flex-end;display:flex}.fm-primary-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1f4ed8 0%,#49a3ff 100%);border:none;border-radius:12px;padding:12px 18px;font-size:14px;font-weight:800;transition:transform .18s,box-shadow .18s,opacity .18s;box-shadow:0 10px 18px #1f4ed83d}.fm-primary-btn:hover{transform:translateY(-1px);box-shadow:0 14px 24px #1f4ed847}.fm-primary-btn:disabled{opacity:.7;cursor:not-allowed}.fm-overlay{z-index:2200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a16348f;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.fm-modal{background:#fff;border:1px solid #a6bcec73;border-radius:20px;width:min(100%,520px);overflow:hidden;box-shadow:0 24px 60px #12213f3d}.fm-modal-header{border-bottom:1px solid #a6bcec4d;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px 14px;display:flex}.fm-modal-header h3{color:#0f2255;margin:0;font-size:18px}.fm-modal-header button{color:#334155;cursor:pointer;background:#f3f4f6;border:none;border-radius:50%;width:32px;height:32px;font-size:18px}.fm-modal-body{padding:18px 20px 20px}.fm-modal-note{color:#5b677c;margin-bottom:14px;font-size:13px}.fm-credential-grid{gap:12px;margin-bottom:14px;display:grid}.fm-credential-grid label,.fm-modal-meta span{text-transform:uppercase;letter-spacing:.08em;color:#7b8ca9;margin-bottom:6px;font-size:11px;font-weight:800;display:block}.fm-credential-grid code{color:#153678;background:#f0f6ff;border:1px solid #a6bcec8c;border-radius:10px;width:100%;padding:10px 12px;font-size:14px;display:block}.fm-modal-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.fm-modal-meta strong{color:#18315d;font-size:13px}.fm-modal-footer{justify-content:flex-end;padding:0 20px 20px;display:flex}.fm-toast{z-index:2400;color:#fff;border-radius:12px;padding:14px 16px;font-size:13px;font-weight:700;position:fixed;bottom:26px;right:26px;box-shadow:0 12px 28px #12213f33}.fm-toast-success{background:#1f7a58}.fm-toast-error{background:#a35f42}.fm-tab-bar{background:#ffffffb3;border:1px solid #a6bcec66;border-radius:14px;gap:6px;width:fit-content;padding:5px;display:flex}.fm-tab-btn{cursor:pointer;color:#5b6f8a;background:0 0;border:none;border-radius:10px;padding:9px 22px;font-size:13px;font-weight:700;transition:background .18s,color .18s}.fm-tab-btn:hover{color:#1f4ed8;background:#3b82f612}.fm-tab-btn.active{color:#fff;background:linear-gradient(135deg,#1f4ed8 0%,#49a3ff 100%);box-shadow:0 6px 14px #1f4ed838}.fm-card-header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.fm-card-header h2{flex:1;margin:0}.fm-badge{color:#1f4ed8;background:#1f4ed81a;border-radius:20px;justify-content:center;align-items:center;min-width:28px;padding:3px 9px;font-size:11px;font-weight:800;display:inline-flex}.fm-table-wrap{border:1px solid #a6bcec59;border-radius:12px;overflow-x:auto}.fm-table{border-collapse:collapse;width:100%;font-size:13px}.fm-table th{color:#425571;text-transform:uppercase;letter-spacing:.06em;text-align:left;white-space:nowrap;background:#f0f6ff;padding:10px 14px;font-size:11px;font-weight:800}.fm-table td{color:#18315d;vertical-align:middle;border-top:1px solid #a6bcec38;padding:11px 14px}.fm-table tbody tr:hover{background:#f0f6ffb3}.fm-emp-num{color:#153678;background:#eef4ff;border:1px solid #a6bcec80;border-radius:6px;padding:2px 7px;font-size:12px}.fm-type-badge{border-radius:20px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-block}.fm-type-fulltime{color:#1d4ed8;background:#dbeafe}.fm-type-parttime{color:#8a6242;background:#fef3c7}.fm-type-adjunct{color:#5c5488;background:#ede9fe}.fm-status-dot{align-items:center;gap:5px;font-size:12px;font-weight:700;display:inline-flex}.fm-status-dot:before{content:"";border-radius:50%;width:7px;height:7px;display:inline-block}.fm-status-dot.active{color:#1f7a58}.fm-status-dot.active:before{background:#22c55e}.fm-status-dot.inactive{color:#6b7280}.fm-status-dot.inactive:before{background:#9ca3af}.fm-select{color:#18315d;appearance:none;cursor:pointer;background:#f8fbff;border:1px solid #a6bcec94;border-radius:12px;outline:none;width:100%;padding:12px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.fm-select:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.fm-curriculum-layout{gap:18px;display:grid}.fm-curr-form-card .fm-curr-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fm-search-input{color:#18315d;background:#f8fbff;border:1px solid #a6bcec80;border-radius:10px;outline:none;flex:1;max-width:280px;padding:8px 12px;font-family:inherit;font-size:13px}.fm-search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.fm-check-row{color:#425571;align-items:center;gap:8px;margin:4px 0 6px;font-size:13px;display:inline-flex}.fm-check-row input[type=checkbox]{width:14px;height:14px}.fm-program-code{color:#1f4ed8;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:800;display:block}.fm-program-name{color:#425571;font-size:12px;display:block}.fm-sem-badge{color:#1f4ed8;background:#f0f6ff;border-radius:20px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.fm-delete-btn{color:#c9302c;cursor:pointer;background:#dc26261a;border:none;border-radius:8px;padding:4px 9px;font-size:12px;font-weight:700;transition:background .15s}.fm-delete-btn:hover{background:#dc262633}.fm-empty{color:#7b8ca9;text-align:center;margin:0;padding:32px 0;font-size:14px}@media (width<=1100px){.faculty-management-grid{grid-template-columns:1fr}.fm-curr-form-card .fm-curr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.fm-form-grid,.fm-modal-meta,.fm-curr-form-card .fm-curr-grid{grid-template-columns:1fr}.fm-tab-bar{width:100%}.fm-tab-btn{text-align:center;flex:1}}@media (width<=1100px){.admin-modules-grid,.admin-monitoring-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faculty-content-grid,.parent-content-grid{grid-template-columns:1fr}.parent-child-info-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.admin-modules-grid{grid-template-columns:1fr}.admin-monitoring-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-child-info-bar{grid-template-columns:1fr}}.lm-overlay{z-index:2000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a1432b8;justify-content:center;align-items:flex-start;animation:.25s both lmFadeIn;display:flex;position:fixed;inset:0}@keyframes lmFadeIn{0%{opacity:0}to{opacity:1}}.lm-modal{background:#f7faff;border-radius:24px;width:100%;max-width:980px;margin:24px 16px 40px;animation:.3s cubic-bezier(.22,1,.36,1) both lmSlideUp;position:relative;overflow:hidden;box-shadow:0 30px 80px #0a144659}@keyframes lmSlideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.lm-close-btn{z-index:10;cursor:pointer;color:#374151;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffd9;border:1px solid #a6bcec80;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s,transform .15s;display:flex;position:absolute;top:16px;right:16px}.lm-close-btn:hover{background:#fff;transform:scale(1.1)}.lm-scroll{scroll-behavior:smooth;max-height:calc(100vh - 80px);overflow-y:auto}.lm-section{padding:56px 52px}.lm-section-alt{background:linear-gradient(135deg,#f0f6ff 0%,#edf4ff 100%)}.lm-section-kicker{letter-spacing:.16em;text-transform:uppercase;color:#2a5dcc;margin:0 0 10px;font-size:11px;font-weight:800}.lm-section-title{color:#0f2255;margin:0 0 32px;font-size:clamp(22px,3vw,32px);font-weight:800;line-height:1.2}.lm-hero{background:radial-gradient(500px 300px at 0 0,#3b82f62e,#0000 70%),radial-gradient(400px 250px at 100% 100%,#1d4ed824,#0000 70%),linear-gradient(150deg,#f0f7ff 0%,#e8f0ff 100%);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:40px;padding:52px 52px 48px;display:grid}.lm-kicker{letter-spacing:.16em;text-transform:uppercase;color:#2a5dcc;margin:0 0 12px;font-size:11px;font-weight:800}.lm-hero-title{color:#0f2255;margin:0 0 16px;font-size:clamp(28px,4vw,44px);font-weight:900;line-height:1.15}.lm-hero-desc{color:#4769ba;max-width:460px;margin:0 0 24px;font-size:15px;line-height:1.65}.lm-hero-badges{flex-wrap:wrap;gap:8px;display:flex}.lm-badge{color:#1d4ed8;background:#3b82f61f;border:1px solid #3b82f640;border-radius:999px;padding:5px 14px;font-size:12px;font-weight:700;display:inline-block}.lm-dashboard-preview{background:#fff;border:1px solid #a6bcec80;border-radius:16px;overflow:hidden;box-shadow:0 20px 50px #0a14462e}.lm-preview-topbar{background:#f0f6ff;border-bottom:1px solid #a6bcec66;align-items:center;gap:6px;padding:10px 14px;display:flex}.lm-dot{border-radius:50%;width:9px;height:9px}.lm-dot-red{background:#e0a3a3}.lm-dot-yellow{background:#fbbf24}.lm-dot-green{background:#34d399}.lm-preview-url{color:#6b7280;margin-left:8px;font-family:monospace;font-size:10px}.lm-preview-body{height:190px;display:flex}.lm-preview-sidebar{background:#1e3a8a;flex-direction:column;gap:2px;width:90px;padding:12px 0;display:flex}.lm-preview-nav-item{color:#ffffffb3;border-radius:6px;margin:0 6px;padding:6px 12px;font-size:9px}.lm-preview-nav-item:first-child{color:#fff;background:#ffffff26}.lm-preview-content{flex-direction:column;flex:1;gap:10px;padding:12px;display:flex}.lm-preview-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.lm-preview-card{background:#f7faff;border:1px solid #a6bcec66;border-radius:8px;flex-direction:column;gap:2px;padding:7px 8px;display:flex}.lm-preview-val{color:#1d4ed8;font-size:11px;font-weight:800}.lm-preview-label{color:#6b7280;font-size:8px}.lm-preview-chart{background:#f7faff;border-radius:8px;flex:1;align-items:flex-end;gap:5px;padding:8px;display:flex}.lm-chart-bar{opacity:.7;background:linear-gradient(#3b82f6,#1d4ed8);border-radius:4px 4px 0 0;flex:1}.lm-features-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.lm-feature-card{background:#fff;border:1px solid #a6bcec73;border-radius:18px;padding:26px 24px;transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:0 4px 16px #12213f12}.lm-feature-card:hover{border-color:#3b82f673;transform:translateY(-4px);box-shadow:0 14px 34px #12213f21}.lm-feature-icon{margin-bottom:12px;font-size:30px;display:block}.lm-feature-title{color:#0f2255;margin:0 0 8px;font-size:15px;font-weight:700}.lm-feature-desc{color:#6b7280;margin:0;font-size:13px;line-height:1.55}.lm-roles-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.lm-role-card{border:1px solid #a6bcec4d;border-radius:18px;padding:24px 20px;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 14px #12213f12}.lm-role-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #12213f21}.lm-role-admin{background:linear-gradient(145deg,#eff6ff,#dbeafe)}.lm-role-registrar{background:linear-gradient(145deg,#f0fdf4,#dcfce7)}.lm-role-faculty{background:linear-gradient(145deg,#fdf4ff,#f3e8ff)}.lm-role-student{background:linear-gradient(145deg,#fffbeb,#fef3c7)}.lm-role-icon{margin-bottom:10px;font-size:28px;display:block}.lm-role-title{color:#0f2255;margin:0 0 12px;font-size:16px;font-weight:800}.lm-role-perms{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.lm-role-perms li{color:#374151;align-items:center;gap:7px;font-size:12.5px;display:flex}.lm-check{color:#16a34a;font-size:13px;font-weight:800}.lm-benefits-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.lm-benefit-card{background:#fff;border:1px solid #a6bcec66;border-radius:16px;padding:22px 20px;transition:transform .18s,box-shadow .18s;box-shadow:0 4px 12px #12213f0f}.lm-benefit-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px #12213f1c}.lm-benefit-icon{margin-bottom:10px;font-size:26px;display:block}.lm-benefit-label{color:#0f2255;margin:0 0 6px;font-size:14px;font-weight:700}.lm-benefit-desc{color:#6b7280;margin:0;font-size:12.5px;line-height:1.5}.lm-previews-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.lm-module-preview{background:#fff;border:1px solid #a6bcec66;border-radius:14px;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 6px 18px #12213f1a}.lm-module-preview:hover{transform:translateY(-4px);box-shadow:0 14px 30px #12213f26}.lm-module-topbar{background:var(--accent,#2a5dcc);align-items:center;gap:4px;padding:8px 10px;display:flex}.lm-module-dot{background:#ffffff80;border-radius:50%;width:7px;height:7px}.lm-module-body{flex-direction:column;gap:6px;min-height:110px;padding:10px;display:flex}.lm-module-row{background:#e5edff;border-radius:4px;height:8px}.lm-row-wide{width:85%}.lm-row-medium{width:60%}.lm-row-short{width:40%}.lm-module-mini-bars{flex:1;align-items:flex-end;gap:3px;display:flex}.lm-module-bar{background:var(--accent,#2a5dcc);opacity:.25;border-radius:3px 3px 0 0;flex:1}.lm-module-label-strip{color:#374151;text-align:center;background:#f7faff;border-top:1px solid #a6bcec66;padding:7px 10px;font-size:10px;font-weight:700}.lm-about-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:center;gap:40px;display:grid}.lm-about-desc{color:#4769ba;margin:0 0 14px;font-size:14.5px;line-height:1.7}.lm-about-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px;display:grid}.lm-about-stat{flex-direction:column;gap:3px;display:flex}.lm-about-stat strong{color:#1d4ed8;font-size:22px;font-weight:900}.lm-about-stat span{color:#6b7280;font-size:11px;font-weight:600}.lm-about-card{color:#fff;background:linear-gradient(145deg,#1e3a8a,#2a5dcc);border-radius:20px;flex-direction:column;gap:10px;padding:30px 26px;display:flex;box-shadow:0 16px 40px #1d4ed84d}.lm-about-logo-main{color:#fff;font-size:22px;font-weight:900}.lm-about-logo-sub{color:#ffffffa6;letter-spacing:.05em;margin-top:-6px;font-size:12px}.lm-about-divider{background:#fff3;height:1px;margin:4px 0}.lm-about-card p{color:#fffc;margin:0;font-size:13px;line-height:1.6}.lm-cta-section{text-align:center;background:linear-gradient(135deg,#1e3a8a 0%,#2a5dcc 50%,#1d4ed8 100%);flex-direction:column;align-items:center;gap:14px;padding:60px 52px;display:flex}.lm-cta-kicker{letter-spacing:.18em;text-transform:uppercase;color:#ffffffa6;margin:0;font-size:11px;font-weight:800}.lm-cta-title{color:#fff;margin:0;font-size:clamp(22px,3vw,34px);font-weight:900;line-height:1.2}.lm-cta-desc{color:#ffffffbf;max-width:480px;margin:0;font-size:15px}.lm-cta-actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:8px;display:flex}.lm-cta-primary{color:#1d4ed8;cursor:pointer;background:#fff;border:none;border-radius:999px;padding:13px 32px;font-size:14px;font-weight:800;transition:transform .18s,box-shadow .18s;box-shadow:0 6px 20px #0003}.lm-cta-primary:hover{transform:translateY(-2px);box-shadow:0 10px 28px #00000040}.lm-cta-secondary{color:#fff;cursor:pointer;background:0 0;border:2px solid #ffffff80;border-radius:999px;padding:13px 32px;font-size:14px;font-weight:700;transition:background .18s,border-color .18s}.lm-cta-secondary:hover{background:#ffffff1a;border-color:#fffc}@media (width<=900px){.lm-hero{grid-template-columns:1fr;padding:36px 28px}.lm-hero-visual{display:none}.lm-section{padding:40px 28px}.lm-features-grid,.lm-roles-grid,.lm-benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lm-previews-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lm-about-grid{grid-template-columns:1fr}.lm-about-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.lm-cta-section{padding:44px 28px}}@media (width<=600px){.lm-section{padding:32px 20px}.lm-features-grid,.lm-roles-grid,.lm-benefits-grid{grid-template-columns:1fr}.lm-previews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lm-cta-section{padding:36px 20px}}.um-page{color:#0f172a;background:#f8fafc;gap:28px;width:min(100%,1400px);margin:0 auto;padding:32px;display:grid}.um-header{gap:8px;margin-bottom:4px;display:grid}.um-header h1{color:#0f172a;margin:0;font-size:40px;font-weight:800;line-height:1.05}.um-header p{color:#64748b;margin:0;font-size:16px;line-height:1.5}.um-create-card,.um-controls-card,.um-table-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 18px 44px #0f172a14}.um-stats-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.um-stat-chip{cursor:pointer;background:#f1f5f9;border:1.5px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;transition:transform .14s,box-shadow .14s;display:flex}.um-stat-chip:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f172a1a}.um-stat-total{color:#fff;cursor:default;background:#1e3a5f}.um-stat-admin{color:#9c5252;background:#fee2e2;border-color:#fca5a5}.um-stat-faculty{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.um-stat-cashier{color:#8a6242;background:#fef9c3;border-color:#fde68a}.um-stat-registrar{color:#065f46;background:#d1fae5;border-color:#6ee7b7}.um-stat-student{color:#6a6299;background:#ede9fe;border-color:#c4b5fd}.um-stat-parent{color:#9d174d;background:#fce7f3;border-color:#f9a8d4}.um-stat-active{transform:translateY(-1px);box-shadow:0 0 0 3px #2563eb40}.um-stat-num{font-size:18px;font-weight:800}.um-stat-lbl{font-size:12px;font-weight:650}.um-create-card{gap:24px;padding:28px;display:grid}.um-create-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.um-create-card-head h2,.um-table-card-head h2{color:#0f172a;margin:0;font-size:22px;font-weight:750;line-height:1.25}.um-create-card-head>div>p,.um-table-card-head p{color:#64748b;margin:4px 0 0;font-size:14px;line-height:1.45}.um-tabs{background:#f1f5f9;border-radius:12px;flex-shrink:0;gap:6px;padding:5px;display:flex}.um-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 20px;font-size:13px;font-weight:650;transition:background .15s,color .15s,box-shadow .15s}.um-tab:hover{color:#0f172a;background:#e2e8f0}.um-tab-active{color:#1e40af;background:#fff;box-shadow:0 2px 8px #0f172a1f}.um-role-notice{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.um-form-grid{gap:16px;display:grid}.um-form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.um-form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.um-field,.um-search-field,.um-filter-field{gap:8px;min-width:0;display:grid}.um-field span,.um-search-field label,.um-filter-field span{color:#334155;font-size:13px;font-weight:650}.um-field span strong{color:#cf7a7a}.um-form-grid input,.um-form-grid select,.um-controls-card input,.um-controls-card select{color:#0f172a;background:#fff;border:1px solid #d9e2f2;border-radius:10px;outline:none;width:100%;height:44px;padding:0 12px;font-size:14px;transition:border-color .16s,box-shadow .16s}.um-form-grid input:focus,.um-form-grid select:focus,.um-controls-card input:focus,.um-controls-card select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.um-form-grid input::placeholder,.um-controls-card input::placeholder{color:#94a3b8}.um-form-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:8px;display:flex}.um-form-hint{color:#94a3b8;margin:0;font-size:12px}.um-submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:0;border-radius:10px;min-width:200px;height:44px;padding:0 22px;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .15s;box-shadow:0 6px 18px #2563eb59}.um-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 24px #2563eb73}.um-submit-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.um-submit-cashier{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 18px #2563eb59}.um-submit-cashier:hover:not(:disabled){box-shadow:0 10px 24px #2563eb73}.um-submit-registrar{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 18px #05966959}.um-submit-registrar:hover:not(:disabled){box-shadow:0 10px 24px #05966980}.um-submit-admin{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 18px #2563eb59}.um-submit-admin:hover:not(:disabled){box-shadow:0 10px 24px #2563eb73}.um-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9000;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.um-modal{background:#fff;border-radius:20px;width:min(460px,100%);overflow:hidden;box-shadow:0 32px 80px #0f172a40}.um-modal-head{color:#fff;background:linear-gradient(135deg,#1e3a5f,#2563eb);align-items:center;gap:16px;padding:24px 24px 20px;display:flex}.um-modal-check{background:#fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;font-weight:800;display:flex}.um-modal-head h3{color:#fff;margin:0 0 4px;font-size:20px;font-weight:750}.um-modal-head p{opacity:.8;color:#fff;margin:0;font-size:13px}.um-modal-body{gap:10px;padding:20px 24px;display:grid}.um-modal-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.um-modal-label{color:#64748b;white-space:nowrap;font-size:12px;font-weight:650}.um-modal-value{color:#0f172a;word-break:break-all;text-align:right;font-family:Courier New,monospace;font-size:14px;font-weight:700}.um-modal-done-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1e3a5f,#2563eb);border:0;border-radius:12px;width:calc(100% - 48px);height:46px;margin:0 24px 24px;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .15s;display:block;box-shadow:0 6px 18px #2563eb59}.um-modal-done-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px #2563eb80}.um-controls-card{grid-template-columns:minmax(280px,1fr) auto;align-items:end;gap:16px;padding:20px;display:grid}.um-filter-actions{align-items:end;gap:12px;display:flex}.um-filter-field{min-width:180px}.um-refresh-btn{color:#0f172a;cursor:pointer;background:#fff;border:1.5px solid #d1d5db;border-radius:10px;height:44px;padding:0 18px;font-size:13px;font-weight:650;transition:background .15s,transform .15s}.um-refresh-btn:hover{background:#f1f5f9;transform:translateY(-1px)}.um-table-card{overflow:hidden}.um-table-card-head{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;display:flex}.um-table-wrap{width:100%;overflow-x:auto}.um-table{border-collapse:collapse;width:100%;min-width:900px}.um-table th{color:#fff;letter-spacing:.04em;text-align:left;text-transform:uppercase;background:#0f172a;height:48px;font-size:11px;font-weight:650}.um-table th,.um-table td{vertical-align:middle;border-bottom:1px solid #e2e8f0;padding:12px 18px}.um-table td{color:#334155;font-size:14px}.um-table tbody tr:nth-child(2n){background:#f8fafc}.um-table tbody tr:hover{background:#eef6ff}.um-table-msg{text-align:center;color:#94a3b8;padding:32px 18px!important}.um-account-cell{gap:3px;display:grid}.um-account-cell small{color:#64748b;font-size:12px}.um-name-btn{cursor:pointer;color:#1e40af;text-align:left;text-underline-offset:2px;background:0 0;border:none;margin:0;padding:0;font-size:14px;font-weight:700;-webkit-text-decoration:underline #bfdbfe;text-decoration:underline #bfdbfe;transition:color .15s,text-decoration-color .15s}.um-name-btn:hover{color:#1d4ed8;text-decoration-color:#1d4ed8}.um-profile-modal{background:#fff;border-radius:16px;width:480px;max-width:95vw;animation:.18s modalPop;overflow:hidden;box-shadow:0 20px 60px #0000002e}.um-profile-header{background:linear-gradient(135deg,#1e3a8a,#2d63ea);align-items:center;gap:14px;padding:22px 22px 18px;display:flex;position:relative}.um-profile-avatar{color:#fff;background:#ffffff40;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:22px;font-weight:800;display:flex}.um-profile-identity{flex:1;min-width:0}.um-profile-identity h3{color:#fff;margin:0 0 5px;font-size:17px;font-weight:700}.um-profile-identity .um-role-badge{font-size:11px}.um-profile-sid{color:#ffffffbf;margin-top:4px;font-family:monospace;font-size:12px;display:block}.um-profile-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;transition:background .15s;display:flex;position:absolute;top:12px;right:14px}.um-profile-close:hover{background:#ffffff4d}.um-profile-body{max-height:60vh;padding:18px 22px 20px;overflow-y:auto}.um-profile-section{margin-bottom:18px}.um-profile-section:last-child{margin-bottom:0}.um-profile-section-title{text-transform:uppercase;letter-spacing:.07em;color:#2d63ea;border-bottom:1.5px solid #e0eaff;margin:0 0 10px;padding-bottom:6px;font-size:11px;font-weight:700}.um-profile-grid{grid-template-columns:1fr 1fr;gap:10px 16px;display:grid}.um-profile-field{flex-direction:column;gap:2px;display:flex}.um-pf-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.um-pf-value{color:#0f172a;word-break:break-word;font-size:13.5px;font-weight:500}.um-mono{font-family:Courier New,monospace;font-size:13px}.um-subtle{color:#94a3b8;font-size:13px}.um-role-badge{text-transform:capitalize;letter-spacing:.02em;border-radius:999px;justify-content:center;align-items:center;min-width:74px;padding:5px 12px;font-size:11px;font-weight:700;display:inline-flex}.um-role-admin{color:#9c5252;background:#fee2e2}.um-role-faculty{color:#1d4ed8;background:#dbeafe}.um-role-cashier{color:#8a6242;background:#fef3c7}.um-role-registrar{color:#065f46;background:#d1fae5}.um-role-staff{color:#6a6299;background:#ede9fe}.um-role-student{color:#166534;background:#dcfce7}.um-role-parent{color:#7c6ba0;background:#f3e8ff}.um-role-unknown{color:#334155;background:#e2e8f0}.um-action-group{gap:6px;display:flex}.um-action-btn{color:#fff;cursor:pointer;border:0;border-radius:8px;height:32px;padding:0 12px;font-size:12px;font-weight:650;transition:transform .14s,opacity .14s}.um-action-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.um-action-btn:disabled{opacity:.5;cursor:not-allowed}.um-reset-btn,.um-disable-btn{background:#2563eb}.um-enable-btn{background:#16a34a}.um-delete-btn{background:#d9534f}.um-row-disabled td{opacity:.55}.um-row-disabled{background:#fafafa}.um-status-badge{border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.um-status-active{color:#166534;background:#dcfce7}.um-status-disabled{color:#9c5252;background:#fee2e2}.um-disabled-reason{color:#b1504d;margin-top:2px;font-size:11px;font-style:italic;display:block}.um-stat-disabled{color:#9c5252;background:#fee2e2}.um-stat-disabled.um-stat-active{color:#fff;background:#9c5252}.um-confirm-modal{text-align:center;max-width:420px;padding:32px 28px 24px}.um-confirm-icon{margin-bottom:10px;font-size:32px;display:block}@media (width<=1100px){.um-form-grid-4,.um-form-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.um-controls-card{grid-template-columns:1fr}.um-filter-actions{justify-content:space-between}.um-create-card-head{flex-direction:column;align-items:stretch}}@media (width<=700px){.um-page{gap:22px;padding:20px}.um-header h1{font-size:32px}.um-create-card,.um-controls-card{padding:18px}.um-form-grid-4,.um-form-grid-3{grid-template-columns:1fr}.um-filter-actions{flex-direction:column;align-items:stretch}.um-submit-btn,.um-refresh-btn{width:100%}.um-table-card-head{padding:18px}.um-tabs{flex-wrap:wrap}}.em-page{flex-direction:column;gap:12px;width:100%;animation:.3s both emFadeIn;display:flex}@keyframes emFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.em-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.em-title{color:#0d2a20;margin:0 0 4px;font-size:clamp(26px,2.8vw,36px);font-weight:800}.em-subtitle{color:#6f7a73;margin:0;font-size:13px}.em-table-card{background:#fff;border:1px solid #ddd7cb;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.em-tabs{background:#fff;border-bottom:1px solid #e5e1d7;gap:0;padding:0 20px;display:flex;overflow-x:auto}.em-tab{color:#647067;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:0;margin-bottom:-1px;padding:14px 16px 12px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s;display:flex}.em-tab:hover{color:#1f2e25}.em-tab-active{color:#1f2e25;border-bottom-color:#c6b27b;font-weight:700}.em-tab-count{color:#1d4ed8;background:#e5edff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.em-tab-active .em-tab-count{color:#fff;background:#1d4ed8}.em-controls{border-bottom:1px solid #ece8dd;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding:10px 20px;display:flex}.em-search-wrap{flex:1;min-width:200px;position:relative}.em-search-icon{color:#9ca3af;pointer-events:none;width:16px;height:16px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.em-search{color:#374151;box-sizing:border-box;background:#fff;border:1px solid #d6d3cb;border-radius:8px;outline:none;width:100%;padding:8px 12px 8px 34px;font-size:13px;transition:border-color .15s,box-shadow .15s}.em-search:focus{background:#fff;border-color:#ac9a67;box-shadow:0 0 0 3px #c6b27b33}.em-select{color:#374151;cursor:pointer;background:#fff;border:1px solid #d6d3cb;border-radius:8px;outline:none;min-width:160px;padding:8px 12px;font-size:13px;transition:border-color .15s}.em-select:focus{background:#fff;border-color:#ac9a67}.em-live-note{color:#80857b;border-bottom:1px solid #ece8dd;margin:0;padding:10px 20px;font-size:13px}.em-table-wrap{overflow-x:auto}.em-table{border-collapse:collapse;width:100%;font-size:14px}.em-table th{color:#7c8079;text-transform:uppercase;letter-spacing:.08em;text-align:left;white-space:nowrap;background:#faf9f7;border-bottom:1px solid #ece8dd;padding:12px 16px;font-size:11px;font-weight:700}.em-table td{color:#2e3a33;vertical-align:middle;border-bottom:1px solid #efebe3;padding:12px 16px}.em-table tbody tr:last-child td{border-bottom:none}.em-table tbody tr:hover td{background:#fcfbf9}.em-cell-name{white-space:nowrap}.em-cell-name-stack{flex-direction:column;gap:4px;display:flex}.em-cell-name-stack strong{color:#1f2f26;font-size:15px;font-weight:700}.em-student-sub{color:#889087;font-size:12px}.em-cell-date{white-space:nowrap}.em-badge{letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:10px;font-weight:700;display:inline-block}.em-badge-pending{color:#957138;background:#f9eed1}.em-badge-approved{color:#51795e;background:#e7f2ea}.em-badge-rejected{color:#9a4f4f;background:#f8e5e5}.em-badge-issued{color:#1e40af;background:#dbeafe}.em-badge-noacct{color:#6b7280;background:#f3f4f6}.em-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.em-act-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700;transition:opacity .15s,transform .15s}.em-act-btn:hover{opacity:.85;transform:translateY(-1px)}.em-act-approve{color:#315441;background:#e7f2ea}.em-act-reject{color:#c9302c;background:#f8e5e5}.em-act-issue{color:#fff;background:#123f31}.em-act-view{color:#56635b;background:#f3f1ec}.em-act-issued{color:#166534;background:#f0fdf4}.em-actions{row-gap:6px;min-width:210px}.em-issued-label{color:#5b6b83;white-space:nowrap;background:#eef2f8;border:1px solid #dbe3ef;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:700;display:inline-block}.em-empty{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:60px 20px;display:flex}.em-empty-icon{font-size:40px}.em-empty p{margin:0;font-size:14px}.em-skeleton-list{flex-direction:column;gap:10px;padding:16px 20px;display:flex}.em-skeleton-row{background:linear-gradient(90deg,#e5edff 25%,#f0f6ff 50%,#e5edff 75%) 0 0/200% 100%;border-radius:8px;height:44px;animation:1.4s infinite emShimmer}@keyframes emShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.em-pagination{border-top:1px solid #ece8dd;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.em-pag-info{color:#7b8179;font-size:13px}.em-pag-controls{flex-wrap:wrap;gap:4px;display:flex}.em-pag-btn{color:#4d5a52;cursor:pointer;background:#fff;border:1px solid #d8d3c8;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.em-pag-btn:hover:not(:disabled){color:#3f4d44;background:#f6f3ea;border-color:#c6b27b}.em-pag-btn:disabled{opacity:.4;cursor:not-allowed}.em-pag-active{color:#fff;background:#123f31;border-color:#123f31}.em-pag-active:hover{color:#fff;background:#123f31}.em-toast{z-index:9999;border-radius:12px;align-items:center;gap:12px;padding:14px 18px;font-size:13px;font-weight:600;animation:.3s cubic-bezier(.22,1,.36,1) both emToastIn;display:flex;position:fixed;bottom:28px;right:28px;box-shadow:0 10px 30px #0000002e}@keyframes emToastIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.em-toast-success{color:#fff;background:#1d4ed8}.em-toast-error{color:#fff;background:#b1504d}.em-toast button{color:inherit;cursor:pointer;opacity:.75;background:0 0;border:none;padding:0;font-size:14px}.em-toast button:hover{opacity:1}.em-overlay{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a1432a6;justify-content:center;padding:32px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.em-dialog{background:#fff;border-radius:20px;flex-direction:column;width:100%;max-height:92vh;margin:auto;animation:.28s cubic-bezier(.22,1,.36,1) both emDialogIn;display:flex;overflow:hidden;box-shadow:0 24px 60px #0a144647}@keyframes emDialogIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.em-dialog-head{z-index:1;background:#fff;border-bottom:1px solid #a6bcec4d;border-top-left-radius:20px;border-top-right-radius:20px;flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.em-dialog-head h3{color:#0f2255;margin:0;font-size:17px;font-weight:800}.em-dialog-close{cursor:pointer;color:#374151;background:#f3f4f6;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;transition:background .15s;display:flex}.em-dialog-close:hover{color:#1d4ed8;background:#e5edff}.em-dialog-body{flex:auto;min-height:0;padding:20px 24px;overflow-y:auto}.em-dialog-footer{border-top:1px solid #a6bcec4d;flex-shrink:0;justify-content:flex-end;gap:10px;padding:16px 24px 20px;display:flex}.em-dialog-error{color:#b1504d;margin:10px 0 0;font-size:13px}.em-confirm-dialog{text-align:center;max-width:420px;padding:28px}.em-dialog-msg{color:#374151;margin:0 0 24px;font-size:15px;line-height:1.5}.em-dialog-actions{justify-content:center;gap:12px;display:flex}.em-btn{cursor:pointer;border:none;border-radius:10px;padding:9px 22px;font-size:13px;font-weight:700;transition:opacity .15s,transform .15s}.em-btn:hover{opacity:.88;transform:translateY(-1px)}.em-btn-primary{color:#fff;background:#1d4ed8}.em-btn-ghost{color:#374151;background:#f3f4f6}.em-btn-danger{color:#fff;background:#d9534f}.em-issue-dialog{max-width:560px}.em-issue-info{background:#f7faff;border:1px solid #a6bcec66;border-radius:12px;align-items:center;gap:14px;margin-bottom:18px;padding:14px 16px;display:flex}.em-issue-avatar{color:#fff;background:linear-gradient(135deg,#1d4ed8,#3b82f6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;font-weight:800;display:flex}.em-issue-name{color:#0f2255;margin:0 0 2px;font-size:15px;font-weight:700}.em-issue-sub{color:#6b7280;margin:0;font-size:12px}.em-issue-details{flex-direction:column;gap:10px;display:flex}.em-issue-row{border-bottom:1px solid #e2e8f0b3;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.em-issue-row:last-child{border-bottom:none}.em-issue-row label{color:#6b7280;text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700}.em-issue-row span{color:#374151;font-size:13px}.em-issued-result-dialog{text-align:center;max-width:420px;padding:32px 28px}.em-issued-success-icon{color:#fff;background:linear-gradient(135deg,#059669,#34d399);border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 16px;font-size:26px;font-weight:900;display:flex}.em-issued-title{color:#0f2255;margin:0 0 6px;font-size:20px;font-weight:900}.em-issued-sub{color:#6b7280;margin:0 0 20px;font-size:13px}.em-issued-creds{text-align:left;background:#f0f6ff;border-radius:12px;flex-direction:column;gap:12px;margin-bottom:16px;padding:16px 18px;display:flex}.em-cred-row{flex-direction:column;gap:4px;display:flex}.em-cred-row label{text-transform:uppercase;letter-spacing:.1em;color:#6b7280;font-size:10px;font-weight:800}.em-cred-row code{color:#1d4ed8;background:#fff;border:1px solid #a6bcec80;border-radius:8px;padding:6px 10px;font-size:15px;font-weight:700}.em-issued-note{color:#9ca3af;margin:0 0 20px;font-size:12px;line-height:1.5}.em-issued-close{justify-content:center;width:100%}.em-details-dialog{max-width:min(1100px,94vw)}.em-details-avatar-row{background:#f7faff;border:1px solid #a6bcec66;border-radius:12px;align-items:center;gap:14px;margin-bottom:22px;padding:14px 16px;display:flex}.em-details-avatar{color:#fff;background:linear-gradient(135deg,#1d4ed8,#3b82f6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;font-weight:800;display:flex}.em-details-name{color:#0f2255;margin:0 0 2px;font-size:16px;font-weight:800}.em-details-sub{color:#6b7280;margin:0;font-size:12px}.em-details-group-title{text-transform:uppercase;letter-spacing:.1em;color:#2a5dcc;border-bottom:1px solid #a6bcec66;margin:20px 0 10px;padding-bottom:6px;font-size:12px;font-weight:800}.em-details-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px 24px;display:grid}.em-detail-field{flex-direction:column;gap:3px;display:flex}.em-detail-field label{text-transform:uppercase;letter-spacing:.08em;color:#9ca3af;font-size:10px;font-weight:800}.em-detail-field span{color:#374151;font-size:13px;font-weight:500}.em-docs-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:8px;display:grid}.em-doc-item{background:#f7faff;border:1px solid #a6bcec4d;border-radius:10px;align-items:center;gap:10px;padding:9px 12px;display:flex}.em-doc-icon{font-size:18px}.em-doc-name{color:#374151;flex:1;font-size:13px;font-weight:600}.em-doc-present{opacity:1}.em-doc-missing{opacity:.4}.em-doc-view-btn{color:#1d4ed8;cursor:pointer;white-space:nowrap;background:#eff6ff;border:1.5px solid #2563eb;border-radius:6px;padding:3px 12px;font-size:12px;font-weight:600;transition:all .15s}.em-doc-view-btn:hover{color:#fff;background:#2563eb}.em-docviewer-overlay{z-index:1100}.em-docviewer{background:#fff;border-radius:14px;flex-direction:column;width:860px;max-width:96vw;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #00000038}.em-docviewer-head{border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.em-docviewer-name{color:#1e293b;font-size:14px;font-weight:700}.em-docviewer-newtab{color:#2563eb;background:#eff6ff;border:1.5px solid #bfdbfe;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;text-decoration:none}.em-docviewer-newtab:hover{color:#fff;background:#2563eb;border-color:#2563eb}.em-docviewer-body{background:#f1f5f9;flex:1;justify-content:center;align-items:flex-start;min-height:0;display:flex;overflow:auto}.em-docviewer-img{object-fit:contain;max-width:100%;max-height:75vh;margin:auto;display:block;box-shadow:0 4px 20px #0000001a}.em-docviewer-iframe{border:none;width:100%;height:75vh;display:block}.em-docviewer-inperson{text-align:center;color:#64748b;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}@media (width<=900px){.em-header{gap:8px}.em-details-grid{grid-template-columns:1fr}}@media (width<=600px){.em-controls{flex-direction:column}.em-search-wrap{min-width:100%}.em-select{width:100%}}.app.ui-modern .main{align-items:stretch;padding:92px clamp(18px,2.4vw,32px) 32px;overflow-x:hidden}.app.ui-modern .main>*{width:100%}.app.ui-modern .dashboard,.app.ui-modern .student-portal-page{gap:24px;width:min(100%,1400px);max-width:1400px;margin:0 auto;padding:0}.app.ui-modern .dashboard{align-items:stretch}.app.ui-modern .sidebar{padding:18px 14px}.app.ui-modern .sidebar-logo{margin-bottom:10px}.app.ui-modern .sidebar-user-card{margin-bottom:10px;padding:10px}.app.ui-modern .sidebar-section{margin-bottom:10px}.app.ui-modern .sidebar-section-title{margin:8px 4px 6px}.app.ui-modern .sidebar a{margin-bottom:6px;padding:9px 11px}.app.ui-modern .dashboard-hero-panel,.app.ui-modern .student-hero-card{justify-content:space-between;align-items:center;gap:24px;padding:24px 26px}.app.ui-modern .dashboard-hero-copy .dashboard-title,.app.ui-modern .student-hero-card h1{margin:0 0 8px;line-height:1.08}.app.ui-modern .dashboard-hero-copy .dashboard-subtitle,.app.ui-modern .student-hero-meta{margin:0;line-height:1.5}.app.ui-modern .dashboard-metrics-grid,.app.ui-modern .student-summary-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.app.ui-modern .dashboard-metric-card,.app.ui-modern .student-summary-card{height:100%;min-height:168px}.app.ui-modern .faculty-content-grid,.app.ui-modern .parent-content-grid,.app.ui-modern .student-content-grid{align-items:stretch;gap:24px}.app.ui-modern .student-content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app.ui-modern .faculty-panel,.app.ui-modern .student-panel,.app.ui-modern .dashboard-section{border-radius:16px;padding:20px 22px}.app.ui-modern .faculty-panel,.app.ui-modern .student-panel{height:100%}.app.ui-modern .student-panel-head,.app.ui-modern .faculty-panel-head{margin-bottom:14px}.app.ui-modern .student-panel-head h2,.app.ui-modern .faculty-panel-head h2,.app.ui-modern .dashboard-section h2{margin:0 0 2px;line-height:1.25}.app.ui-modern .admin-modules-grid,.app.ui-modern .student-quick-actions{gap:14px}.app.ui-modern .admin-module-card,.app.ui-modern .student-quick-actions button{min-height:88px}.app.ui-modern .admin-table-wrapper,.app.ui-modern .table-container{border-radius:14px;width:100%;margin-top:10px;overflow:auto}.app.ui-modern .admin-table,.app.ui-modern .grading-table,.app.ui-modern table{width:100%;max-width:none}.app.ui-modern .admin-table th,.app.ui-modern .grading-table th,.app.ui-modern table th{z-index:2;position:sticky;top:0}.app.ui-modern .admin-table th,.app.ui-modern .admin-table td,.app.ui-modern .grading-table th,.app.ui-modern .grading-table td,.app.ui-modern table th,.app.ui-modern table td{padding:13px 16px}.app.ui-modern .admin-table td,.app.ui-modern .grading-table td,.app.ui-modern table td{line-height:1.42}.app.ui-modern .admin-table td .em-actions,.app.ui-modern .admin-table td .admin-status-badge{vertical-align:middle}.app.ui-modern .dashboard-metric-card,.app.ui-modern .student-summary-card,.app.ui-modern .faculty-panel,.app.ui-modern .student-panel,.app.ui-modern .dashboard-section,.app.ui-modern .admin-module-card{transition:transform .2s,box-shadow .2s,border-color .2s}.app.ui-modern .dashboard-metric-card:hover,.app.ui-modern .student-summary-card:hover,.app.ui-modern .faculty-panel:hover,.app.ui-modern .student-panel:hover,.app.ui-modern .dashboard-section:hover,.app.ui-modern .admin-module-card:hover{box-shadow:0 16px 30px #12213f29}@media (width<=1280px){.app.ui-modern .main{padding:88px 24px 28px}}@media (width<=1024px){.app.ui-modern{--sidebar-width:100%;flex-direction:column}.app.ui-modern .sidebar{z-index:240;border-bottom:1px solid #ffffff29;border-right:none;width:100%;height:auto;max-height:42vh;position:sticky;top:0}.app.ui-modern .main{width:100%;margin-left:0;padding:20px 18px 24px}.app.ui-modern .student-content-grid,.app.ui-modern .faculty-content-grid,.app.ui-modern .parent-content-grid{grid-template-columns:1fr}}@media (width<=768px){.app.ui-modern .dashboard,.app.ui-modern .student-portal-page{gap:18px}.app.ui-modern .dashboard-hero-panel,.app.ui-modern .student-hero-card{flex-direction:column;align-items:flex-start;padding:20px}.app.ui-modern .dashboard-metrics-grid,.app.ui-modern .student-summary-grid,.app.ui-modern .admin-modules-grid,.app.ui-modern .student-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.app.ui-modern .dashboard-section,.app.ui-modern .faculty-panel,.app.ui-modern .student-panel{padding:16px}}@media (width<=560px){.app.ui-modern .dashboard-metrics-grid,.app.ui-modern .student-summary-grid,.app.ui-modern .admin-modules-grid,.app.ui-modern .student-quick-actions,.app.ui-modern .parent-child-info-bar{grid-template-columns:1fr}.app.ui-modern .main{padding:16px 12px 20px}}.app.ui-modern .main{width:calc(100% - var(--sidebar-width));box-sizing:border-box;justify-content:flex-start;align-items:stretch;padding:92px clamp(20px,3vw,46px) 36px;overflow-x:hidden}.app.ui-modern .module-page{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #aec5ed94;border-radius:22px;width:100%;max-width:none;min-height:min(760px,100vh - 128px);margin:0;padding:clamp(26px,3vw,42px);box-shadow:0 18px 42px #12213f24}.app.ui-modern .course-class-page,.app.ui-modern .grading-page,.app.ui-modern .system-config-page,.app.ui-modern .government-reports-page{flex-direction:column;gap:16px;display:flex}.app.ui-modern .cc-page-title{color:#111827;margin:0;font-size:36px;line-height:1.08}.app.ui-modern .module-page>h1,.app.ui-modern .grading-page>h1{color:#153678;margin:0;font-size:clamp(32px,3vw,46px);line-height:1.08}.app.ui-modern .module-caption,.app.ui-modern .module-page>p{color:#51637d;max-width:820px;margin:-8px 0 0}.app.ui-modern .feature-switcher{border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-auto-rows:46px;align-items:center;gap:8px;width:100%;margin:0;padding:10px;display:grid;overflow:visible}.app.ui-modern .feature-switcher button{text-align:center;white-space:normal;word-break:break-word;flex:auto;justify-content:center;align-items:center;width:100%;height:46px;min-height:46px;max-height:46px;padding:10px 12px;font-size:13px;line-height:1.3;display:inline-flex}.app.ui-modern .feature-switcher.feature-switcher--primary{border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0;grid-template-columns:repeat(4,1fr);width:100%;height:auto;margin-bottom:0;padding:6px;display:grid}.app.ui-modern .feature-switcher--primary button{white-space:nowrap;word-break:normal;box-sizing:border-box;height:52px;min-height:52px;max-height:52px;padding:14px 16px;font-size:14px;font-weight:700;width:100%!important;min-width:unset!important;max-width:unset!important}.app.ui-modern .feature-switcher.feature-switcher--secondary{grid-template-columns:unset;border-top:none;border-top-left-radius:0;border-top-right-radius:0;flex-wrap:wrap;width:100%;margin-top:0;padding:8px 10px;display:flex}.app.ui-modern .feature-switcher--secondary button{max-height:unset;white-space:nowrap;word-break:normal;color:#5c5488!important;width:auto!important;height:auto!important;min-height:32px!important;box-shadow:none!important;background:#f5f3ffe6!important;border:1px solid #c4b5fd99!important;border-radius:20px!important;flex:none!important;padding:6px 16px!important;font-size:12px!important;font-weight:500!important}.app.ui-modern .feature-switcher--secondary button:hover{color:#4a4570!important;background:#ede9fef2!important}.app.ui-modern .feature-switcher--secondary button.active{color:#fff!important;background:linear-gradient(135deg,#6a6299 0%,#a89dc4 100%)!important;border-color:#6a6299!important;box-shadow:0 4px 10px #6a629938!important}.ar-layout{background:#ecf4ffdb;border:1px solid #adc4ecbd;border-radius:16px;align-items:flex-start;gap:0;min-height:520px;display:flex;overflow:hidden;box-shadow:0 4px 16px #12213f12}.ar-sidebar{background:#ecf4ffdb;border-right:1px solid #adc4ec80;flex-direction:column;flex-shrink:0;gap:6px;width:220px;min-height:520px;padding:14px 10px;display:flex}.ar-sidebar-btn{color:#1f3e7e;cursor:pointer;text-align:left;background:#fffc;border:1px solid #abc2ead1;border-radius:14px;align-items:center;gap:10px;width:100%;min-height:46px;padding:10px 14px;font-size:13px;font-weight:800;transition:background .18s,color .18s,transform .18s,box-shadow .18s;display:flex;position:relative;box-shadow:0 2px 6px #1f4ed80f}.ar-sidebar-btn:hover{background:#fffffff2;transform:translateY(-1px);box-shadow:0 4px 10px #1f4ed81f}.ar-sidebar-btn.active{color:#fff;background:linear-gradient(135deg,#1f4fcf 0%,#2f7de8 100%);border-color:#285ecf;transform:none;box-shadow:0 8px 16px #1f4ed840}.ar-sidebar-icon{color:#4e72b8;opacity:.85;flex-shrink:0;align-items:center;display:flex}.ar-sidebar-btn.active .ar-sidebar-icon{color:#fff;opacity:1}.ar-sidebar-btn:hover:not(.active) .ar-sidebar-icon{color:#1f4fcf}.ar-sidebar-label{flex:1;line-height:1.3}.ar-sidebar-badge{color:#fff;background:#cf7a7a;border-radius:20px;flex-shrink:0;padding:1px 7px;font-size:10px;font-weight:800}.ar-main{background:#fff;flex-direction:column;flex:1;min-width:0;display:flex}.ar-main-header{padding:18px 22px 0}.ar-main-title{color:#153678;letter-spacing:-.01em;margin:0 0 12px;font-size:17px;font-weight:800}.ar-sub-nav{border-bottom:1px solid #adc4ec73;flex-wrap:wrap;gap:6px;padding:0 22px 14px;display:flex}.ar-sub-btn{color:#1f3e7e;cursor:pointer;white-space:nowrap;background:#fffc;border:1px solid #abc2ead1;border-radius:20px;flex-shrink:0;padding:6px 16px;font-size:12px;font-weight:700;transition:background .15s,color .15s,box-shadow .15s}.ar-sub-btn:hover{background:#fffffffa;box-shadow:0 2px 8px #1f4ed81a}.ar-sub-btn.active{color:#fff;background:linear-gradient(135deg,#1f4fcf 0%,#2f7de8 100%);border-color:#285ecf;box-shadow:0 4px 10px #1f4ed838}.ar-main-content{flex:1;padding:18px 22px}.app.ui-modern .course-class-grid{gap:20px;width:100%;margin-top:0}.app.ui-modern .course-class-card,.app.ui-modern .grading-card{background:#fff;border-color:#b6caf0c7;border-radius:16px;width:100%;padding:20px 24px;box-shadow:0 4px 16px #12213f12}.app.ui-modern .course-class-card h3,.app.ui-modern .grading-card h3{color:#153678;margin:0 0 16px;font-size:16px}.app.ui-modern .mini-form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:0 0 24px}.app.ui-modern .mini-form.grading-form{grid-template-columns:1fr;gap:16px;margin:0}.app.ui-modern .mini-form input,.app.ui-modern .mini-form select{border-color:#bfd2f5;border-radius:10px;min-height:44px;padding:0 13px}.app.ui-modern .mini-form-actions,.app.ui-modern .grading-form .mini-form-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;display:flex}.app.ui-modern .mini-form button{border-radius:12px;min-height:42px;padding:10px 16px;font-weight:800}.app.ui-modern .feature-list{gap:12px}.app.ui-modern .feature-list li{border-color:#cfe0ff;border-radius:14px;align-items:center;gap:18px;min-height:58px;padding:14px 16px;box-shadow:0 4px 12px #2b529f0f}.app.ui-modern .feature-list li span{min-width:0;line-height:1.45}.app.ui-modern .feature-item-actions{flex:none;justify-content:flex-end;gap:8px}.app.ui-modern .feature-list .edit-btn,.app.ui-modern .feature-list .delete-btn{text-align:center;border-radius:10px;min-width:76px;padding:8px 12px}.app.ui-modern .faculty-management-page,.app.ui-modern .em-page{width:min(96%,1400px);max-width:1400px;margin:0 auto}.app.ui-modern .faculty-management-page{gap:24px}.app.ui-modern .fm-card,.app.ui-modern .em-table-card{border-color:#a6bcec80;border-radius:18px;box-shadow:0 14px 34px #12213f1a}.app.ui-modern .fm-card{padding:clamp(22px,2.4vw,32px)}.app.ui-modern .fm-tab-bar{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;width:100%;padding:8px;display:grid}.app.ui-modern .fm-tab-btn{text-align:center;min-height:44px}.app.ui-modern .fm-form{gap:20px}.app.ui-modern .fm-form-grid{gap:14px}.app.ui-modern .fm-form-grid input,.app.ui-modern .fm-form-grid textarea,.app.ui-modern .fm-select{border-radius:12px;min-height:46px}.app.ui-modern .em-page{gap:18px}.app.ui-modern .em-header{padding-inline:2px}.app.ui-modern .em-title{color:#153678}.app.ui-modern .em-table-card{overflow:hidden}.app.ui-modern .em-tabs{border-bottom-color:#dbeafe;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:12px;display:grid}.app.ui-modern .em-tab{color:#31507f;border:1px solid #0000;border-radius:12px;justify-content:center;min-height:42px;margin-bottom:0}.app.ui-modern .em-tab-active{color:#fff;border-color:var(--brand-600);background:linear-gradient(135deg, var(--brand-600) 0%, var(--brand) 100%);box-shadow:0 8px 18px rgba(var(--brand-600-rgb), .2)}.app.ui-modern .em-controls{gap:12px;padding:16px 18px}.app.ui-modern .em-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.app.ui-modern .attendance-page,.app.ui-modern .reports-page{gap:22px}.app.ui-modern .module-stats-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;width:100%;display:grid}.app.ui-modern .module-stats-grid article{background:linear-gradient(145deg,#fffffff0,#eef5ffeb);border:1px solid #aec5ed9e;border-radius:18px;flex-direction:column;justify-content:space-between;min-height:112px;padding:18px;display:flex;box-shadow:0 10px 24px #12213f17}.app.ui-modern .module-stats-grid span{color:#51637d;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.app.ui-modern .module-stats-grid strong{color:#153678;margin-top:12px;font-size:clamp(28px,3vw,40px);line-height:1}.app.ui-modern .module-pill{color:#1f4ed8;white-space:nowrap;background:#eaf2ff;border:1px solid #cfe0ff;border-radius:999px;justify-content:center;align-items:center;min-width:78px;min-height:32px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.app.ui-modern .attendance-form{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.attendance-roster-card{overflow:hidden}.attendance-roster-table{min-width:760px}.attendance-roster-table th,.attendance-roster-table td{text-align:center;vertical-align:middle}.attendance-roster-table th:first-child,.attendance-roster-table td:first-child{text-align:left}.attendance-roster-table input[type=radio]{accent-color:#2563eb;cursor:pointer;width:18px;height:18px}.attendance-roster-table input[type=number]{text-align:center;color:#12213f;background:#fff;border:1px solid #bfd2f5;border-radius:10px;width:92px;min-height:38px;padding:8px 10px}.attendance-roster-table input[type=number]:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 4px #2563eb1f}@media (width<=1280px){.app.ui-modern .module-page{width:min(94%,1200px)}}@media (width<=1024px){.app.ui-modern .main{width:100%;padding:24px 18px 28px}.app.ui-modern .module-page,.app.ui-modern .faculty-management-page,.app.ui-modern .em-page{width:100%;min-height:auto;margin:0 auto}.app.ui-modern .faculty-management-grid{grid-template-columns:1fr}}@media (width<=720px){.app.ui-modern .feature-list li{flex-direction:column;align-items:stretch}.app.ui-modern .feature-item-actions{width:100%}.app.ui-modern .feature-list .edit-btn,.app.ui-modern .feature-list .delete-btn{flex:1}}.app.ui-modern .grading-page{background:linear-gradient(#fffffff5 0%,#f6fafff5 100%);border-radius:24px;justify-content:flex-start;gap:22px;width:min(96%,1400px);max-width:1400px;margin:0 auto;padding:clamp(22px,2.4vw,34px)}.grading-hero{grid-template-columns:minmax(0,1fr) 280px;align-items:stretch;gap:16px;display:grid}.grading-hero-copy,.grading-faculty-card,.grading-stat-card,.app.ui-modern .grading-card{background:#ffffffc7;border:1px solid #a9c3eead;box-shadow:0 8px 24px #173a8014}.grading-hero-copy{background:linear-gradient(135deg,#edf6ffeb 0%,#ffffffe0 100%);border-radius:18px;padding:24px 28px}.grading-kicker{color:#2563eb;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:800;display:inline-flex}.grading-hero-copy h1{color:#12306f;letter-spacing:-.01em;margin:0;font-size:clamp(26px,3vw,36px);line-height:1.1}.grading-hero-copy p{color:#64748b;max-width:640px;margin:8px 0 0;font-size:13px;line-height:1.55}.grading-hero-meta{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.grading-hero-meta span,.grading-faculty-card small{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700}.grading-faculty-card{color:#fff;background:linear-gradient(145deg,#1d4ed8 0%,#2563eb 100%);border-radius:18px;flex-direction:column;justify-content:center;gap:4px;padding:24px;display:flex}.grading-faculty-card span{letter-spacing:.14em;text-transform:uppercase;opacity:.75;font-size:10px;font-weight:800}.grading-faculty-card strong{margin-top:4px;font-size:20px;font-weight:700;line-height:1.2}.grading-faculty-card p{color:#bfdbfe;margin:2px 0 12px;font-size:12px}.grading-faculty-card div{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.grading-faculty-card small{color:#dbeafe;background:#ffffff24;border-color:#ffffff3d}.grading-stats-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.grading-stat-card{border-radius:14px;padding:16px;transition:transform .18s,box-shadow .18s}.grading-stat-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #173a8024}.grading-stat-card span{color:#3560ad;letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:800;display:block}.grading-stat-card strong{color:#102a63;margin-bottom:6px;font-size:clamp(22px,2.6vw,30px);font-weight:800;line-height:1;display:block}.grading-stat-card p{color:#64748b;margin:0 0 10px;font-size:11px;line-height:1.4}.grading-stat-bar{background:#dbeafe;border-radius:999px;height:5px;overflow:hidden}.grading-stat-bar i{border-radius:inherit;background:linear-gradient(90deg,#2563eb 0%,#60a5fa 100%);height:100%;display:block}.app.ui-modern .grading-tabs{scrollbar-width:none;background:#eff6ffb8;border:1px solid #d7e5ff;border-radius:16px;gap:8px;padding:8px;display:flex;overflow-x:auto}.app.ui-modern .grading-tabs::-webkit-scrollbar{display:none}.app.ui-modern .grading-tabs button{color:#1e3a8a;white-space:nowrap;min-width:0;min-height:48px;box-shadow:none;background:#ffffffe6;border:1px solid #cfe0ff;border-radius:12px;flex:1 1 0;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:700;transition:all .18s;display:flex}.app.ui-modern .grading-tabs button:hover{background:#fff;border-color:#93c5fd;box-shadow:0 4px 12px #2563eb1a}.app.ui-modern .grading-tabs button.active{color:#fff;background:linear-gradient(135deg, var(--brand-600) 0%, var(--brand) 100%);box-shadow:0 6px 18px rgba(var(--brand-rgb), .28);border-color:#0000}.grading-tab-icon{color:#1d4ed8;background:#dbeafe;border-radius:8px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:10px;font-weight:900;display:inline-flex}.grading-tabs button.active .grading-tab-icon{color:#fff;background:#ffffff38}.grading-form{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}.grade-level-selector>span{color:#4769ba;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;margin-right:4px;font-size:10px;font-weight:800}.grade-level-tabs{flex:1;gap:5px;display:flex}.grade-level-tabs button{color:#1f3e7e;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #a6bcecbf;border-radius:8px;flex:1;justify-content:center;align-items:center;min-height:34px;padding:0 14px;font-size:12px;font-weight:700;transition:all .16s;display:inline-flex}.grade-level-tabs button:not(.active):hover{background:#edf4ff;border-color:#93c5fd}.enc-row-fields{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;display:grid}.enc-row-scores{align-items:end;gap:12px;display:grid}.enc-row-scores-1{grid-template-columns:1fr}.enc-row-scores-2{grid-template-columns:1fr 1fr}.enc-row-scores-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grade-subject-group-row{width:100%}.grade-weight-hint{color:#1d4ed8;margin:2px 0 0;font-size:11px;font-weight:600}.grade-weight-edit-row{background:#f0f7ff;border:1px solid #bfdbfe;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:2px;padding:8px 10px;display:flex}.grade-weight-input{flex:none}.grade-weight-input span{margin-bottom:4px;font-weight:600;display:block;color:#475569!important;font-size:11px!important}.grade-weight-input input{text-align:center;background:#fff;font-weight:700;border:1px solid #93c5fd!important;border-radius:6px!important;width:70px!important;padding:5px 8px!important;font-size:14px!important}.grade-weight-sep{color:#1d4ed8;white-space:nowrap;padding-bottom:6px;font-size:13px;font-weight:700}.grade-weight-readonly-row{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:2px;padding:8px 12px;font-size:13px;display:flex}.grade-weight-value{color:#1d4ed8;font-size:15px;font-weight:700}.grade-weight-label{color:#64748b;font-size:12px}.cs-breakdown-section{background:#f0f7ff;border:1px solid #bfdbfe;border-radius:8px;flex-direction:column;gap:10px;margin-bottom:4px;padding:10px 12px;display:flex}.cs-breakdown-header{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.cs-computed-badge{color:#fff;background:#2563eb;border-radius:20px;padding:2px 10px;font-size:12px}.cs-component-list{flex-direction:column;gap:6px;display:flex}.cs-component-row{background:#fff;border:1px solid #dbeafe;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;padding:5px 8px;display:flex}.cs-component-type-badge{color:#1d4ed8;text-align:center;background:#eff6ff;border-radius:4px;flex-shrink:0;min-width:80px;padding:2px 8px;font-size:11px;font-weight:700}.cs-score-input{text-align:center;border:1px solid #cbd5e1;border-radius:5px;width:72px;padding:4px 6px;font-size:13px}.cs-score-input--wide{width:90px}.cs-divider{color:#94a3b8;flex-shrink:0;font-size:14px}.cs-pct-badge{color:#2563eb;flex-shrink:0;min-width:48px;font-size:12px;font-weight:700}.cs-remove-btn{color:#cf7a7a;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 2px;font-size:13px;line-height:1}.cs-remove-btn:hover{color:#b1504d}.cs-add-wrapper{align-self:flex-start;position:relative}.cs-add-btn{color:#2563eb;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600;transition:background .15s}.cs-add-btn:hover{background:#dbeafe}.cs-add-menu{z-index:50;background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-width:180px;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 4px 12px #0000001f}.cs-add-menu-item{cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #f1f5f9;flex-direction:column;width:100%;padding:8px 14px;transition:background .12s;display:flex}.cs-add-menu-item:last-child{border-bottom:none}.cs-add-menu-item:hover{background:#f0f7ff}.cs-add-menu-label{color:#1e293b;font-size:13px;font-weight:600}.cs-add-menu-hint{color:#94a3b8;margin-top:1px;font-size:11px}.grade-input-label{flex-direction:column;gap:4px;display:flex}.grade-locks-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:16px;display:grid}.grade-lock-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.grade-lock-card--locked{background:#fff5f5;border-color:#fca5a5}.grade-lock-card--open{background:#f0fdf4;border-color:#bbf7d0}.grade-lock-info{flex-direction:column;gap:4px;min-width:0;display:flex}.grade-lock-period{color:#1e293b;font-size:14px;font-weight:700}.grade-lock-meta{color:#94a3b8;font-size:11px}.grade-lock-badge{border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.badge-locked{color:#9c5252;background:#fee2e2}.badge-open{color:#166534;background:#dcfce7}.grade-lock-btn{cursor:pointer;border:none;border-radius:7px;flex-shrink:0;padding:7px 18px;font-size:13px;font-weight:700}.grade-lock-btn:disabled{opacity:.5;cursor:not-allowed}.grade-lock-btn--lock{color:#fff;background:#b1504d}.grade-lock-btn--lock:hover:not(:disabled){background:#b1504d}.grade-lock-btn--unlock{color:#fff;background:#16a34a}.grade-lock-btn--unlock:hover:not(:disabled){background:#15803d}.grade-lock-due-row{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 4px;display:flex}.grade-lock-due-label{color:#64748b;white-space:nowrap;font-size:12px;font-weight:600}.grade-lock-due-input{color:#1e293b;cursor:pointer;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:7px;padding:5px 9px;font-size:13px}.grade-lock-due-input:focus{background:#fff;border-color:#2563eb;outline:none}.grade-lock-btn--set{color:#fff;background:#2563eb;padding:5px 14px;font-size:12px}.grade-lock-btn--set:hover:not(:disabled){background:#1d4ed8}.grade-lock-btn--saved{background:#16a34a}.grade-lock-btn--saved:hover:not(:disabled){background:#15803d}.cr-controls{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:20px;display:flex}.cr-control-label{color:#64748b;flex-direction:column;gap:5px;font-size:12px;font-weight:600;display:flex}.cr-control-label select{color:#1e293b;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;min-width:200px;padding:7px 10px;font-size:13px}.cr-table-wrap{border:1px solid #e2e8f0;border-radius:10px;overflow-x:auto}.cr-table{border-collapse:collapse;width:100%;font-size:13px}.cr-table thead tr{background:#f8fafc;border-bottom:2px solid #e2e8f0}.cr-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding:10px 12px;font-size:11px;font-weight:700}.cr-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:8px 10px}.cr-table tbody tr:last-child td{border-bottom:none}.cr-table tbody tr:hover{background:#fafbff}.cr-table tbody tr.cr-row--saved{background:#f0fdf4}.cr-num{color:#94a3b8;text-align:center;width:32px;font-size:12px}.cr-name{color:#1e293b;min-width:160px;font-weight:600}.cr-input{text-align:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:6px;width:78px;padding:5px 7px;font-size:13px}.cr-input:focus{border-color:#2563eb;outline:none}.cr-select{text-align:left;width:auto;min-width:110px}.cr-grade{text-align:center;font-size:14px;font-weight:700}.cr-pass{color:#16a34a}.cr-fail{color:#b1504d}.cr-empty{color:#cbd5e1}.cr-save-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:none;border-radius:7px;padding:5px 14px;font-size:12px;font-weight:600}.cr-save-btn:disabled{opacity:.4;cursor:not-allowed}.cr-save-btn--saved{background:#16a34a}.cr-footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;display:flex}.cr-count{color:#94a3b8;font-size:12px}.cr-save-all-btn{color:#fff;cursor:pointer;background:#0f766e;border:none;border-radius:8px;padding:8px 24px;font-size:13px;font-weight:700}.cr-save-all-btn:disabled{opacity:.5;cursor:not-allowed}.cr-save-all-btn:hover:not(:disabled){background:#0d6460}.section-auto-preview{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 14px;font-size:13px;display:flex}.section-auto-label{color:#64748b;font-weight:500}.section-auto-meta{color:#64748b}.dd-grid{flex-wrap:wrap;align-items:flex-start;gap:20px;padding:0 2px;display:flex}.dd-col{flex-direction:column;flex:420px;gap:20px;min-width:360px;display:flex}@media (width<=900px){.dd-col{flex-basis:100%}}.dd-section-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px #0f172a0d}.dd-section-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;border-left:4px solid #0f766e;align-items:center;gap:12px;padding:16px 20px;display:flex}.dd-section-icon{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:11px;font-weight:800;display:flex}.dd-section-title{color:#0f172a;margin:0;font-size:15px;font-weight:700}.dd-empty{color:#94a3b8;padding:20px;font-size:13px}.dd-rows{flex-direction:column;display:flex}.dd-group-heading{letter-spacing:.04em;text-transform:uppercase;color:#64748b;background:#f8fafc;border-bottom:1px solid #f1f5f9;padding:10px 20px 6px;font-size:11px;font-weight:800}.dd-group-heading:first-child{border-top:none}.dd-row{border-bottom:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px;padding:14px 20px;display:flex}.dd-row:last-child{border-bottom:none}.dd-row-meta{flex:none;align-items:center;gap:10px;min-width:150px;display:flex}.dd-label{color:#1e293b;font-size:14px;font-weight:600}.dd-badge{border-radius:999px;align-items:center;padding:2px 10px;font-size:11px;font-weight:700;display:inline-flex}.dd-badge--unset{color:#94a3b8;background:#f1f5f9}.dd-badge--overdue{color:#9c5252;background:#fee2e2}.dd-badge--today{color:#83603f;background:#fef9c3}.dd-badge--soon{color:#a35f42;background:#fff7ed}.dd-badge--ok{color:#166534;background:#dcfce7}.dd-badge--locked{color:#9c5252;background:#fee2e2}.dd-row-fields{flex-wrap:wrap;flex:auto;justify-content:flex-end;align-items:center;gap:8px;max-width:640px;margin-left:auto;display:flex}.dd-date-input{color:#1e293b;cursor:pointer;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;flex:none;padding:7px 10px;font-size:13px}.dd-date-input:focus{background:#fff;border-color:#2563eb;outline:none}.dd-notes-input{color:#1e293b;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;flex:auto;min-width:110px;max-width:220px;padding:7px 10px;font-size:13px}.dd-notes-input:focus{background:#fff;border-color:#2563eb;outline:none}.dd-save-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:none;border-radius:8px;flex:none;padding:7px 18px;font-size:13px;font-weight:600;transition:background .15s}.dd-save-btn:hover:not(:disabled){background:#1d4ed8}.dd-save-btn:disabled{opacity:.45;cursor:not-allowed}.dd-save-btn--saved{background:#16a34a}.dd-save-btn--saved:hover:not(:disabled){background:#15803d}.dd-meta-line{text-align:right;color:#94a3b8;flex-basis:100%;margin:0;font-size:11px}.lr-settings-body{flex-wrap:wrap;align-items:flex-end;gap:22px;padding:18px 20px;display:flex}.lr-field{flex-direction:column;gap:4px;display:flex}.lr-field label{color:#475569;font-size:12px;font-weight:700}.lr-field input{color:#1e293b;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;width:110px;padding:7px 10px;font-size:13px}.lr-field input:focus{background:#fff;border-color:#2563eb;outline:none}.lr-field-hint{color:#94a3b8;font-size:11px}.lr-units-badge{color:#1e3a8a;white-space:nowrap;background:#eff6ff;border-radius:999px;align-items:center;padding:3px 10px;font-size:12.5px;font-weight:700;display:inline-flex}.lr-program-fields{align-items:flex-end;gap:10px}.lr-mini-field{color:#94a3b8;text-transform:uppercase;letter-spacing:.03em;flex-direction:column;gap:3px;font-size:10px;font-weight:800;display:flex}.lr-mini-field input{color:#1e293b;text-transform:none;letter-spacing:normal;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:7px;width:76px;padding:6px 8px;font-size:13px;font-weight:600}.lr-mini-field input:focus{background:#fff;border-color:#2563eb;outline:none}.lr-dept-heading{cursor:pointer;text-align:left;color:#334155;background:#f8fafc;border:none;border-bottom:1px solid #f1f5f9;align-items:center;gap:8px;width:100%;padding:12px 20px;display:flex}.lr-dept-heading:hover{background:#f1f5f9}.lr-dept-heading-name{text-transform:uppercase;letter-spacing:.04em;color:#334155;font-size:12.5px;font-weight:800}.lr-dept-heading-count{color:#94a3b8;text-transform:none;letter-spacing:normal;margin-left:auto;font-size:11.5px;font-weight:600}.grade-input-label>span{color:#153678;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:700;overflow:hidden}.grade-input-label>small{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:1.3;overflow:hidden}.grade-input-label input,.grade-input-label select{color:#12213f;background:#fff;border:1px solid #bfd2f5;border-radius:9px;width:100%;height:42px;padding:0 12px;font-size:13px;transition:border-color .16s,box-shadow .16s}.grade-input-label input:focus,.grade-input-label select:focus{border-color:#2d63ea;outline:none;box-shadow:0 0 0 3px #2d63ea1a}.grade-preview-detailed{background:#f0f6ff;border:1px solid #2d63ea2e;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 14px;display:flex}.grade-preview-detailed span{color:#334155;font-size:12px;line-height:1.45}.grade-preview-result{font-weight:700;color:#153678!important;font-size:14px!important}.grading-form .mini-form-actions{align-items:center;gap:8px;padding-top:4px;display:flex}.grading-form .mini-form-actions button{cursor:pointer;color:#334155;white-space:nowrap;background:#e2e8f0;border:none;border-radius:9px;justify-content:center;align-items:center;height:40px;padding:0 20px;font-size:13px;font-weight:700;transition:all .16s;display:inline-flex}.grading-form .mini-form-actions .primary-strong,.app.ui-modern .grading-form .primary-strong{background:linear-gradient(135deg, var(--brand-600) 0%, var(--brand) 100%);color:#fff;box-shadow:0 4px 12px rgba(var(--brand-600-rgb), .22);padding:0 24px}.grading-form .mini-form-actions button:hover:not(:disabled){filter:brightness(.94);transform:translateY(-1px)}.grading-section-head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.grading-section-head h3{margin-bottom:2px}.grading-section-head p{color:#64748b;margin:0;font-size:12px;line-height:1.5}.grading-action-bar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.grading-action-bar button,.grading-row-actions button,.grading-confirm-actions button{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#1d4ed8 0%,#3b82f6 100%);border:none;border-radius:10px;justify-content:center;align-items:center;min-height:38px;padding:0 14px;font-size:12px;font-weight:700;transition:all .16s;display:inline-flex;box-shadow:0 4px 12px #2563eb2e}.grading-action-bar button:hover,.grading-row-actions button:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2563eb47}.grading-action-bar button.secondary,.grading-row-actions button.secondary,.grading-confirm-actions button.secondary{color:#1e3a8a;box-shadow:none;background:#eff6ff;border:1px solid #bfdbfe}.grading-toolbar{grid-template-columns:minmax(240px,1.4fr) minmax(150px,.75fr) minmax(170px,.85fr) minmax(160px,.8fr);align-items:end;gap:12px;margin:16px 0 12px;display:grid}.grading-action-bar button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}.grading-toolbar label{gap:5px;display:grid}.grading-toolbar span{color:#315a9c;text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:800}.grading-toolbar input,.grading-toolbar select{color:#12213f;background:#fff;border:1px solid #bfd7ff;border-radius:10px;width:100%;min-height:42px;padding:0 12px;font-size:13px}.grading-data-shell{background:#fff;border:1px solid #d6e4fb;border-radius:16px;max-height:580px;margin-top:8px;overflow:auto}.grading-approval-table{border:none;border-radius:0;min-width:1100px;margin:0}.grading-approval-table th{z-index:1;text-align:center;background:linear-gradient(#eaf3ff 0%,#dbeafe 100%);padding:12px;font-size:11px;position:sticky;top:0}.grading-approval-table td{text-align:center;vertical-align:middle;padding:11px 12px;font-size:13px}.grading-approval-table td:first-child,.grading-approval-table td:nth-child(2){text-align:left}.grading-approval-table td strong,.grading-approval-table td small{display:block}.grading-approval-table td small{color:#64748b;margin-top:3px;font-size:11px}.grading-row-actions{flex-wrap:nowrap;justify-content:center;gap:6px;display:flex}.grade-status-badge{color:#075985;letter-spacing:.04em;text-transform:capitalize;background:#e0f2fe;border-radius:999px;justify-content:center;min-width:110px;padding:5px 10px;font-size:10px;font-weight:800;display:inline-flex}.grade-status-approved{color:#166534;background:#dcfce7}.grade-status-pending_approval{color:#8a6242;background:#fef3c7}.grade-status-correction_requested{color:#9c5252;background:#fee2e2}.grade-correction-note{color:#8a4a54;word-break:break-word;background:#fff1f2;border:1px solid #fecdd3;border-left:3px solid #c15a5a;border-radius:6px;align-items:flex-start;gap:5px;max-width:220px;margin-top:5px;padding:5px 8px;font-size:11px;line-height:1.4;display:flex}.grade-correction-icon{color:#fff;background:#c15a5a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;margin-top:1px;font-size:9px;font-weight:900;display:inline-flex}.grading-empty-state{text-align:center;justify-items:center;gap:8px;padding:40px 18px;display:grid}.grading-empty-icon{color:#1d4ed8;background:linear-gradient(135deg,#dbeafe 0%,#eff6ff 100%);border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;font-size:14px;font-weight:900;display:inline-flex}.grading-empty-state strong{color:#153678;font-size:16px}.grading-empty-state p{color:#64748b;margin:0;font-size:13px}.grading-skeleton-row span{background:linear-gradient(90deg,#eaf3ff 0%,#f8fbff 45%,#eaf3ff 100%);border-radius:999px;height:14px;animation:1.3s ease-in-out infinite gradingPulse;display:block}@keyframes gradingPulse{0%,to{opacity:.45}50%{opacity:1}}.grading-toast{z-index:700;color:#fff;background:#1d4ed8;border-radius:12px;align-items:center;gap:12px;max-width:min(400px,100vw - 32px);padding:12px 14px;font-size:13px;display:flex;position:fixed;top:20px;right:22px;box-shadow:0 12px 32px #0f172a33}.grading-toast-error{background:#b1504d}.grading-toast button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:16px;font-weight:900;line-height:1}.grading-confirm-overlay{z-index:690;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a66;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.grading-confirm-card{background:#fff;border-radius:16px;width:min(400px,100%);padding:24px;box-shadow:0 20px 48px #0f172a3d}.grading-confirm-card h3{color:#153678;margin:0 0 8px;font-size:16px}.grading-confirm-card p{color:#475569;margin:0;font-size:13px;line-height:1.55}.grading-confirm-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}@media (width<=1180px){.grading-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grading-hero{grid-template-columns:1fr}}@media (width<=900px){.enc-row-fields,.enc-row-scores-3{grid-template-columns:repeat(2,minmax(0,1fr))}.grading-toolbar{grid-template-columns:1fr 1fr}}@media (width<=680px){.app.ui-modern .grading-page{width:100%;padding:14px}.enc-row-fields,.enc-row-scores-2,.enc-row-scores-3,.grading-stats-grid,.grading-toolbar{grid-template-columns:1fr}.grading-section-head{flex-direction:column;align-items:stretch}.grading-action-bar{justify-content:flex-start}.app.ui-modern .grading-tabs button{flex:none;min-width:140px}.grade-level-tabs button{flex:1;min-width:0}}.app.ui-modern{--sidebar-width:310px;--sidebar-collapsed-width:86px}.app.ui-modern .sidebar{width:var(--sidebar-width);background:linear-gradient(#091940f5 0%,#0b255cf5 100%);border-right:1px solid #bfdbfe2e;flex-direction:column;gap:0;padding:0;transition:width .24s,transform .24s;display:flex;overflow:hidden;box-shadow:16px 0 42px #0f172a47}.app.ui-modern .sidebar-header{flex-direction:column;flex:none;gap:10px;padding:18px 14px 10px;display:flex}.app.ui-modern .sidebar-nav{scrollbar-width:thin;scrollbar-color:#93c5fd33 transparent;flex-direction:column;flex:auto;gap:4px;padding:0 14px 18px;display:flex;overflow:hidden auto}.app.ui-modern .sidebar-logo{gap:2px;min-height:48px;margin:0;padding:4px 2px 2px;display:grid}.app.ui-modern .sidebar-user-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(145deg,#ffffff29,#ffffff14);border:1px solid #bfdbfe3d;border-radius:18px;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:11px;min-height:84px;margin:0;padding:12px;display:grid}.sidebar-avatar{width:46px;height:46px;color:var(--brand-ink);background:linear-gradient(135deg, var(--brand-100) 0%, #fff 100%);border-radius:16px;place-items:center;font-size:14px;font-weight:900;display:grid;position:relative}.sidebar-avatar i{background:#22c55e;border:2px solid #0f2860;border-radius:999px;width:12px;height:12px;position:absolute;bottom:-1px;right:-1px}.sidebar-user-copy{min-width:0}.app.ui-modern .sidebar-user-name{color:#f8fbff;white-space:nowrap;text-overflow:ellipsis;margin:0 0 3px;font-size:14px;line-height:1.2;overflow:hidden}.app.ui-modern .sidebar-user-role{color:#bfdbfe;letter-spacing:0;text-transform:none;margin:0 0 7px;font-size:11px}.sidebar-role-badge{color:#dbeafe;letter-spacing:.08em;background:#60a5fa33;border:1px solid #93c5fd4d;border-radius:999px;align-items:center;min-height:22px;padding:4px 8px;font-size:10px;font-weight:900;display:inline-flex}.sidebar-nav{gap:8px;display:grid}.sidebar-direct-links,.sidebar-group{gap:7px;display:grid}.sidebar-support{border-top:1px solid #94a3b840;margin-top:18px;padding-top:14px}.sidebar-support-btn{cursor:pointer;width:100%;font:inherit;color:inherit;text-align:left;background:0 0;border:none}.sidebar-support-soon{letter-spacing:.08em;color:#93c5fd;background:#3b82f640;border:1px solid #93c5fd59;border-radius:999px;margin-left:auto;padding:2px 7px;font-size:9px;font-weight:800}.sidebar.is-collapsed .sidebar-support-soon{display:none}.sidebar-powered-by{color:var(--muted-2,#94a3b8);text-align:center;letter-spacing:.02em;padding:8px 14px 4px;font-size:10px;font-weight:600}.sidebar.is-collapsed .sidebar-powered-by{display:none}.app.ui-modern .sidebar-support{flex:none;margin:0;padding:10px 14px 4px}.app.ui-modern .sidebar-powered-by{flex:none;padding:4px 14px 18px}.app.ui-modern .sidebar-support-btn{background:#ffffff12;border:1px solid #bfdbfe24;border-radius:14px;align-items:center;gap:11px;min-height:44px;padding:10px 12px;font-size:13px;font-weight:600;transition:background .18s,border-color .18s;display:flex}.app.ui-modern .sidebar-support-btn:hover{background:#60a5fa2e;border-color:#93c5fd5c}.sidebar-group-toggle{color:#93c5fd;text-align:left;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:#0f1e5a8c;border:1px solid #60a5fa38;border-radius:11px;align-items:center;gap:11px;width:100%;min-height:42px;margin:0;padding:9px 12px;font-size:11.5px;font-weight:800;transition:transform .18s,background .18s,border-color .18s,color .18s;display:flex;position:relative}.sidebar-group-toggle:hover{color:#bfdbfe;background:#1d388ca6;border-color:#93c5fd6b;transform:translate(2px)}.app.ui-modern .sidebar a.sidebar-link{color:#dbeafe;text-align:left;cursor:pointer;background:#ffffff12;border:1px solid #bfdbfe24;border-radius:14px;align-items:center;gap:11px;width:100%;min-height:44px;margin:0;padding:10px 12px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .18s,background .18s,border-color .18s,color .18s;display:flex;position:relative}.app.ui-modern .sidebar a.sidebar-link:hover{background:#60a5fa2e;border-color:#93c5fd5c;transform:translate(2px)}.app.ui-modern .sidebar a.sidebar-link.active{color:#fff;background:linear-gradient(135deg, var(--brand-600) 0%, var(--brand) 100%);box-shadow:0 12px 22px rgba(var(--brand-rgb), .28);border-color:#ffffff3d;transform:none}.app.ui-modern .sidebar a.sidebar-link.active:before{content:"";background:var(--brand-200);border-radius:999px;width:4px;position:absolute;top:9px;bottom:9px;left:-8px}.sidebar-item-icon{color:#60a5fa;flex:none;width:20px;height:20px}.app.ui-modern .sidebar a.sidebar-link.active .sidebar-item-icon{color:#fff}.sidebar-group-toggle .sidebar-item-icon{color:#7dd3fc}.sidebar-group-toggle:hover .sidebar-item-icon{color:#bfdbfe}.sidebar-link-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.sidebar-group-chevron{color:#93c5fd;margin-left:auto;transition:transform .18s}.sidebar-group.open .sidebar-group-chevron{transform:rotate(180deg)}.sidebar-submenu{gap:7px;max-height:0;padding-left:8px;transition:max-height .24s;display:grid;overflow:hidden}.sidebar-group.open .sidebar-submenu{max-height:420px}.sidebar-submenu .sidebar-link{min-height:40px;padding-left:14px}.sidebar-header{flex:none;position:relative}.sidebar-collapse-btn{color:#93c5fd;cursor:pointer;z-index:10;background:#ffffff14;border:1px solid #93c5fd59;border-radius:8px;place-items:center;width:26px;height:26px;transition:background .16s,color .16s;display:grid;position:absolute;top:0;right:0}.sidebar-collapse-btn:hover{color:#fff;background:#ffffff2e}.sidebar-collapse-btn span{color:inherit;font-size:16px;line-height:1}.sidebar-menu-btn,.sidebar-scrim{display:none}.app.ui-modern .sidebar.is-collapsed{width:var(--sidebar-collapsed-width)}.app.ui-modern .sidebar.is-collapsed:hover{width:var(--sidebar-width)}.app.ui-modern:has(.sidebar.is-collapsed) .main{margin-left:var(--sidebar-collapsed-width);width:calc(100% - var(--sidebar-collapsed-width))}.app.ui-modern:has(.sidebar.is-collapsed:hover) .main{margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width))}.sidebar.is-collapsed .sidebar-user-copy,.sidebar.is-collapsed .sidebar-link-label,.sidebar.is-collapsed .sidebar-group-chevron{opacity:0;pointer-events:none}.sidebar.is-collapsed:hover .sidebar-user-copy,.sidebar.is-collapsed:hover .sidebar-link-label,.sidebar.is-collapsed:hover .sidebar-group-chevron{opacity:1;pointer-events:auto}.sidebar.is-collapsed .sidebar-user-card{grid-template-columns:46px;justify-content:center}.sidebar.is-collapsed:hover .sidebar-user-card{grid-template-columns:46px minmax(0,1fr)}@media (width<=1180px){.app.ui-modern{--sidebar-width:292px}.app.ui-modern .sidebar{width:var(--sidebar-collapsed-width)}.app.ui-modern .sidebar:hover{width:var(--sidebar-width)}.app.ui-modern .main{margin-left:var(--sidebar-collapsed-width);width:calc(100% - var(--sidebar-collapsed-width))}.app.ui-modern .sidebar .sidebar-user-copy,.app.ui-modern .sidebar .sidebar-link-label,.app.ui-modern .sidebar .sidebar-group-chevron{opacity:0;pointer-events:none}.app.ui-modern .sidebar:hover .sidebar-user-copy,.app.ui-modern .sidebar:hover .sidebar-link-label,.app.ui-modern .sidebar:hover .sidebar-group-chevron{opacity:1;pointer-events:auto}.app.ui-modern .sidebar .sidebar-user-card{grid-template-columns:46px;justify-content:center}.app.ui-modern .sidebar:hover .sidebar-user-card{grid-template-columns:46px minmax(0,1fr)}}@media (width<=1024px){.app.ui-modern{--sidebar-width:min(86vw, 318px)}.sidebar-menu-btn{display:inline-flex}.app.ui-modern .sidebar{height:100dvh;max-height:none;width:var(--sidebar-width);z-index:1300;position:fixed;top:0;left:0;transform:translate(-105%)}.app.ui-modern .sidebar.is-open{transform:translate(0)}.app.ui-modern .sidebar,.app.ui-modern .sidebar:hover,.app.ui-modern .sidebar.is-collapsed,.app.ui-modern .sidebar.is-collapsed:hover{width:var(--sidebar-width)}.app.ui-modern .sidebar .sidebar-user-copy,.app.ui-modern .sidebar .sidebar-link-label,.app.ui-modern .sidebar .sidebar-group-chevron{opacity:1;pointer-events:auto}.app.ui-modern .sidebar .sidebar-user-card,.app.ui-modern .sidebar.is-collapsed .sidebar-user-card{grid-template-columns:46px minmax(0,1fr)}.sidebar-collapse-btn{display:none}.sidebar-scrim{z-index:1290;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a73;border:none;display:block;position:fixed;inset:0}:is(.app.ui-modern .main,.app.ui-modern:has(.sidebar.is-collapsed) .main,.app.ui-modern:has(.sidebar.is-collapsed:hover) .main){width:100%;margin-left:0;padding-top:92px}}.student-performance-page{gap:16px;width:min(96%,1120px);max-width:1120px}.student-performance-hero{box-shadow:none;background:0 0;border-bottom:none;justify-content:space-between;align-items:center;gap:18px;padding:0 2px 6px;display:flex}.student-performance-hero h1{color:#12306f;margin:0;font-size:clamp(34px,4vw,48px);font-weight:900;line-height:1.08}.student-export-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1d4ed8 0%,#38bdf8 100%);border:none;border-radius:12px;flex:none;align-items:center;gap:8px;min-height:38px;padding:9px 14px;font-size:13px;font-weight:900;transition:transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 10px 20px #2563eb3d}.student-export-btn:hover{transform:translateY(-1px);box-shadow:0 14px 26px #2563eb52}.student-export-btn svg{width:17px;height:17px}.student-performance-card{background:#fff;border:1px solid #acc5efc2;border-radius:16px;padding:clamp(18px,2vw,22px);overflow:hidden;box-shadow:0 12px 28px #12213f14}.student-grade-sheet-info{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;display:grid}.student-grade-sheet-info p{gap:4px;margin:0;display:grid}.student-grade-sheet-info span{color:#557096;letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:900}.student-grade-sheet-info strong{color:#12213f;font-size:15px;font-weight:900}.student-filter-card h3{color:#153678;border-bottom:1px solid #dbeafe;margin:0 0 14px;padding-bottom:12px;font-size:18px}.student-grade-sheet-controls{grid-template-columns:1fr 1fr 1.4fr;align-items:end;gap:14px;display:grid}.student-grade-sheet-controls label,.student-grade-school-year{gap:8px;display:grid}.student-grade-sheet-controls span,.student-grade-school-year span{color:#315a9c;letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:900}.student-grade-sheet-controls select,.student-grade-school-year input{color:#12213f;width:100%;height:44px;font:inherit;background:#fff;border:1px solid #bfdbfe;border-radius:12px;transition:border-color .18s,box-shadow .18s,background .18s}.student-grade-sheet-controls select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#2563eb 50%),linear-gradient(135deg,#2563eb 50%,#0000 50%);background-position:calc(100% - 18px) 19px,calc(100% - 12px) 19px;background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding:9px 38px 9px 12px}.student-grade-sheet-controls select:hover,.student-grade-school-year input:hover{border-color:#60a5fa}.student-grade-sheet-controls select:focus,.student-grade-school-year input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 4px #2563eb24}.student-grade-school-year{grid-template-columns:auto 1fr auto 1fr;align-items:center}.student-grade-school-year input{text-align:center;padding:9px 10px}.student-grade-title{color:#fff;text-align:center;background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 100%);border-radius:12px;margin:-2px -2px 14px;padding:10px 12px;font-size:15px;font-weight:800}.student-performance-table{border-collapse:separate;border-spacing:0;background:#fff;border:none;border-radius:12px;min-width:980px;margin-top:0;overflow:hidden}.student-performance-table th,.student-performance-table td{color:#12213f;text-align:center;vertical-align:middle;border-bottom:1px solid #dbeafe;padding:12px 14px;font-size:14px}.student-performance-table th{color:#fff;background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 100%);font-weight:800}.student-performance-table tbody tr:last-child td{border-bottom:none}.student-performance-table td:first-child,.student-performance-table th:first-child{text-align:left}.student-performance-table td:first-child strong,.student-performance-table td:first-child span{display:block}.student-performance-table td:first-child span{color:#64748b;margin-top:4px;font-size:12px}.student-performance-empty{text-align:center;justify-items:center;gap:10px;padding:44px 18px;display:grid}.student-performance-empty span{font-size:34px}.student-performance-empty strong{color:#153678;font-size:18px}.student-performance-empty p{color:#64748b;max-width:520px;margin:0;line-height:1.55}@media (width<=680px){.student-performance-hero{flex-direction:column;align-items:stretch}.student-performance-hero button{width:100%}.student-grade-sheet-controls{grid-template-columns:1fr}.student-grade-school-year{grid-template-columns:auto 1fr auto 1fr}.student-grade-sheet-info{grid-template-columns:1fr}}.role-access-notice{border:1px solid;border-radius:14px;align-items:flex-start;gap:14px;padding:14px 18px;display:flex}.role-access-notice.faculty-notice{background:#eff6ff;border-color:#2563eb4d}.role-access-notice.parent-notice{background:#f0fdf4;border-color:#16a34a4d}.role-access-icon{flex:none;margin-top:2px;font-size:22px;line-height:1}.role-access-notice strong{color:#153678;margin-bottom:4px;font-size:13px;font-weight:700;display:block}.role-access-notice p{color:#475569;margin:0;font-size:12px;line-height:1.5}.reports-page{gap:18px;max-width:1200px;display:grid}.report-level-toggle{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.report-level-toggle span{color:#334155;font-size:13px;font-weight:700}.report-level-toggle button{color:#1f3e7e;cursor:pointer;background:#ffffffd1;border:1px solid #a6bcecbf;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:700}.report-level-toggle button.active{color:#fff;background:linear-gradient(135deg,#1a3a7a 0%,#2d63ea 100%);border-color:#0000;box-shadow:0 6px 14px #1d4ed838}.report-section{background:#fff;border:1px solid #a6bcec73;border-radius:18px;gap:16px;padding:22px 24px;display:grid;box-shadow:0 4px 14px #12213f12}.report-section-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.report-section-header h3{color:#153678;margin:0 0 5px;font-size:18px;font-weight:700}.report-section-sub{color:#6b7280;max-width:680px;margin:0;font-size:12px;line-height:1.5}.report-badge{letter-spacing:.07em;color:#fff;white-space:nowrap;background:linear-gradient(135deg,#1a3a7a 0%,#2d63ea 100%);border-radius:999px;flex:none;padding:5px 12px;font-size:11px;font-weight:800;display:inline-block}.report-badge.ched-badge{background:linear-gradient(135deg,#0f766e 0%,#10b981 100%)}.report-standing-pill{border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.report-footer-note{color:#475569;background:#f8fbff;border:1px solid #a6bcec73;border-radius:12px;padding:12px 16px;font-size:12px;line-height:1.5}.report-student-selector{align-items:center;gap:10px;display:flex}.report-student-selector label{color:#334155;font-size:13px;font-weight:700}.report-student-selector select{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:10px;min-width:220px;padding:8px 12px;font-size:13px}.tor-document{background:#fff;border:1.5px solid #cbd5e1;border-radius:14px;margin-top:4px;overflow:hidden}.tor-doc-header{color:#fff;background:linear-gradient(135deg,#1e3a8a 0%,#1e40af 100%);flex-wrap:wrap;align-items:center;gap:20px;padding:16px 20px;display:flex}.tor-doc-student{flex:1;min-width:200px}.tor-doc-label{text-transform:uppercase;letter-spacing:.8px;opacity:.75;margin-bottom:2px;font-size:10px;font-weight:700;display:block}.tor-doc-name{font-size:16px;font-weight:800}.tor-doc-meta{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.tor-doc-meta>div{text-align:center}.tor-doc-meta>div strong{font-size:18px;font-weight:800;display:block}.tor-gwa-pass{color:#4ade80!important}.tor-gwa-na{color:#fde68a!important}.tor-honor-pill{white-space:nowrap;border-radius:20px;padding:4px 12px;font-size:11px;font-weight:800}.tor-approved-badge{white-space:nowrap;letter-spacing:.3px;background:#ffffff26;border:1px solid #ffffff4d;border-radius:20px;padding:5px 11px;font-size:10px;font-weight:800}.tor-consolidated-table{border-collapse:collapse;width:100%;font-size:13px}.tor-consolidated-table th{text-transform:uppercase;letter-spacing:.4px;color:#475569;background:#f1f5f9;border-bottom:2px solid #e2e8f0;padding:9px 14px;font-size:11px;font-weight:700}.tor-consolidated-table td{color:#1e293b;border-bottom:1px solid #f1f5f9;padding:10px 14px}.tor-consolidated-table tbody tr:hover td{background:#f8fafc}.tor-tc{text-align:center!important}.tor-summary-row td{color:#1e3a8a;background:#f8fafc;border-top:2px solid #cbd5e1;border-bottom:none;padding:10px 14px;font-size:12px;font-weight:700}.tor-cert-block{background:#fafafa;border-top:1.5px solid #e2e8f0;padding:18px 20px}.tor-cert-text{color:#374151;margin-bottom:18px;font-size:12.5px}.tor-cert-sigs{grid-template-columns:1fr 1fr;gap:40px;max-width:480px;margin-bottom:14px;display:grid}.tor-cert-line{border-bottom:1.5px solid #374151;min-height:32px}.tor-cert-role{color:#64748b;text-align:center;margin-top:4px;font-size:11px;font-weight:600}.tor-cert-note{color:#94a3b8;margin:0;font-size:11px}.grade-slip-tab .report-section-sub{color:#64748b;margin:2px 0 0;font-size:12px}.gst-level-tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.gst-level-btn{color:#475569;cursor:pointer;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:20px;padding:7px 16px;font-size:13px;font-weight:600;transition:all .15s}.gst-level-btn.active{color:#fff;background:#1e40af;border-color:#1e40af}.gst-controls{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.gst-student-select{background:#fff;border:1px solid #d1d5db;border-radius:8px;flex:1;min-width:220px;padding:9px 12px;font-size:13px}.gst-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:9px 20px;font-size:13px;font-weight:700}.gst-btn:disabled{opacity:.5;cursor:not-allowed}.gst-btn-generate{color:#fff;background:#1e40af}.gst-btn-print{color:#fff;background:#166534}.grade-slip-print-area{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-top:8px;padding:28px 32px;font-family:Times New Roman,Times,serif}.gsp-header{border-bottom:2px solid #1e3a8a;align-items:center;gap:16px;margin-bottom:14px;padding-bottom:12px;display:flex}.gsp-deped-seal{color:#fff;letter-spacing:.5px;background:#1e3a8a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:11px;font-weight:800;display:flex}.gsp-header-center{text-align:center;flex:1}.gsp-republic{font-size:12px}.gsp-dept{letter-spacing:.3px;font-size:14px;font-weight:800}.gsp-school{margin-top:2px;font-size:13px;font-weight:700}.gsp-school-sub{color:#64748b;font-size:11px}.gsp-badge{color:#1e40af;background:#dbeafe;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:800}.gsp-title-block{text-align:center;margin-bottom:14px}.gsp-title-block h2{letter-spacing:.5px;text-transform:uppercase;margin:0;font-size:15px;font-weight:800}.gsp-title-block p{color:#475569;margin:3px 0 0;font-size:12px}.gsp-student-info{background:#f8fafc;border-radius:8px;grid-template-columns:1fr 1fr 1fr;gap:6px 16px;margin-bottom:14px;padding:10px 14px;font-size:12.5px;display:grid}.gsp-info-row.full{grid-column:1/-1}.gsp-info-row span{color:#64748b;margin-right:6px}.gsp-info-row strong{color:#0f172a}.gsp-sem-label{color:#1e3a8a;background:#eff6ff;border-radius:6px;margin-bottom:6px;padding:4px 12px;font-size:13px;font-weight:800;display:inline-block}.gsp-grades-table{border-collapse:collapse;width:100%;margin-bottom:12px;font-size:12px}.gsp-grades-table th{color:#fff;text-align:center;background:#1e3a8a;padding:6px 8px;font-weight:700}.gsp-th-subject{text-align:left!important}.gsp-grades-table td{border-bottom:1px solid #e2e8f0;padding:5px 8px}.gsp-grades-table td:not(:first-child){text-align:center}.gsp-group-row td{background:#f1f5f9;padding:4px 8px;font-size:11px;font-weight:700}.gsp-avg-row td{background:#fef9c3;border-top:2px solid #ab8c52;font-weight:700}.gsp-scale{color:#475569;background:#f8fafc;border-left:3px solid #1e3a8a;border-radius:6px;margin:10px 0;padding:6px 12px;font-size:11px}.gsp-sig-block{border-top:1px solid #e2e8f0;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px;padding-top:14px;display:grid}.gsp-sig-line{text-align:center;border-bottom:1.5px solid #0f172a;min-height:28px;padding-bottom:2px;font-size:12px;font-weight:700;display:block}.gsp-sig-lbl{color:#64748b;text-align:center;margin-top:3px;font-size:10.5px}.gsp-footer{color:#94a3b8;text-align:center;border-top:1px dashed #e2e8f0;margin-top:14px;padding-top:8px;font-size:10.5px}.csp-header{text-align:center;border-bottom:2px solid #0f172a;margin-bottom:16px;padding-bottom:12px}.csp-school-name{text-transform:uppercase;letter-spacing:.5px;font-size:17px;font-weight:800}.csp-school-addr{color:#475569;margin-top:2px;font-size:11.5px}.csp-doc-title{letter-spacing:2px;text-transform:uppercase;margin-top:8px;font-size:16px;font-weight:800}.csp-doc-sub{color:#64748b;margin-top:2px;font-size:11px}.csp-student-grid{background:#f8fafc;border-radius:8px;grid-template-columns:1fr 1fr 1fr;gap:6px 14px;margin-bottom:14px;padding:12px 14px;font-size:12.5px;display:grid}.csp-field span{color:#64748b;text-transform:uppercase;letter-spacing:.3px;font-size:10.5px;display:block}.csp-field strong{color:#0f172a;font-size:13px}.csp-grades-table{border-collapse:collapse;width:100%;margin-bottom:12px;font-size:12px}.csp-grades-table th{color:#fff;background:#0f172a;padding:7px 10px;font-weight:700}.csp-grades-table td{border-bottom:1px solid #e2e8f0;padding:6px 10px}.csp-num{text-align:center!important}.csp-totals td{background:#f1f5f9;border-top:2px solid #475569;font-size:12px;font-weight:700}.csp-ched-scale{color:#475569;background:#f8fafc;border-left:3px solid #0f172a;border-radius:6px;margin:8px 0 14px;padding:6px 12px;font-size:10.5px}.csp-cert{border-top:1px solid #e2e8f0;margin-top:16px;padding:12px 0}.csp-cert p{color:#374151;margin-bottom:16px;font-size:12px}.csp-sig-row{grid-template-columns:1fr 1fr;gap:40px;display:grid}.csp-sig-line{text-align:center;border-bottom:1.5px solid #0f172a;min-height:30px;padding-bottom:2px;font-size:13px;font-weight:700;display:block}.csp-sig-lbl{color:#64748b;text-align:center;margin-top:4px;font-size:10.5px}.csp-footer{color:#94a3b8;text-align:center;border-top:1px dashed #e2e8f0;margin-top:14px;padding-top:8px;font-size:10.5px}.standing-categories-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.standing-category-card{border:1px solid;border-radius:14px;overflow:hidden}.standing-cat-header{justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.standing-cat-header strong{font-size:14px;font-weight:700}.standing-count{background:#0000001f;border-radius:999px;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:13px;font-weight:800;display:inline-flex}.standing-cat-desc{color:#475569;margin:0;padding:10px 16px 8px;font-size:12px;line-height:1.5}.standing-student-list{gap:6px;margin:0;padding:0 12px 12px;list-style:none;display:grid}.standing-student-list li{color:#0f172a;background:#fff;border:1px solid #94a3b873;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.standing-student-list li .student-name{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13.5px;font-weight:600;overflow:hidden}.standing-student-list li .student-avg{color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:6px;padding:2px 8px;font-size:12.5px;font-weight:700}.standing-more{text-align:center;color:#64748b;font-size:11px;font-weight:700}.custom-report-layout{grid-template-columns:1fr 1fr;gap:16px;display:grid}.custom-report-builder-card,.custom-report-exports-card{background:#f8fbff;border:1px solid #a6bcec73;border-radius:14px;padding:18px}.custom-report-builder-card h4,.custom-report-exports-card h4{color:#153678;margin:0 0 12px;font-size:14px;font-weight:700}.custom-report-form{gap:10px;display:grid}.custom-report-form label{gap:4px;display:grid}.custom-report-form label span{color:#4769ba;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.custom-report-form input,.custom-report-form select{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:9px 12px;font-size:13px}.custom-report-exports-card .export-menu{margin-top:8px}.custom-report-history{margin-top:4px}.custom-report-history h4{color:#153678;margin:0 0 10px;font-size:14px;font-weight:700}.reports-page .admin-table select,.reports-page .admin-table input{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:7px 9px;font-size:12px}.reports-page .admin-table button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1d4ed8,#3b82f6);border:1px solid #1d4ed8;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:700}.reports-page .admin-table button:hover{filter:brightness(1.05)}.reports-page .dp-queue-table .dp-actions{flex-wrap:nowrap;align-items:center;gap:6px;display:flex}.reports-page .dp-queue-table .dp-act-btn{color:#1e3a8a;white-space:nowrap;cursor:pointer;filter:none;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:4px;height:30px;padding:0 12px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.reports-page .dp-queue-table .dp-act-btn:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.reports-page .dp-queue-table .dp-act-btn:disabled{color:#94a3b8;cursor:default;background:#f8fafc;border-color:#e2e8f0}.reports-page .dp-queue-table .dp-act-btn--primary{color:#fff;background:#2563eb;border-color:#2563eb}.reports-page .dp-queue-table .dp-act-btn--primary:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.reports-page .dp-queue-table .dp-act-btn--icon{justify-content:center;width:30px;padding:0}.app.ui-modern .reports-page .dp-queue-table td{vertical-align:middle;padding-top:10px;padding-bottom:10px}.reports-page .dp-queue-table td input{min-width:150px}.reports-page .dp-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;margin-bottom:16px;display:grid}.reports-page .dp-rule-card{width:100%;max-width:none;margin:0}.reports-page .dp-release-form{align-items:start;gap:10px 12px}.reports-page .dp-filter-bar{grid-template-columns:minmax(0,2fr) minmax(150px,1fr) minmax(150px,1fr);gap:10px;margin-bottom:12px;display:grid}@media (width<=700px){.reports-page .dp-filter-bar{grid-template-columns:1fr}}.reports-page .dp-release-modal .cc-modal-header h3{margin:0;font-size:16px}.reports-page .dp-release-modal .dp-release-panel{min-height:0;box-shadow:none;border:0;border-radius:0;margin:0;overflow-y:auto}.reports-page .dp-release-form{grid-template-columns:repeat(2,minmax(230px,1fr));width:100%;margin-top:0;display:grid}.reports-page .dp-filter-bar label,.reports-page .dp-release-form label{margin-bottom:2px}.reports-page .dp-release-field{gap:7px;min-width:0;display:grid}.reports-page .dp-release-field span{color:#172554;font-size:13px;font-weight:800}.reports-page .dp-release-purpose-field{grid-column:1/-1}.reports-page .dp-filter-bar input,.reports-page .dp-filter-bar select,.reports-page .dp-release-form input,.reports-page .dp-release-form select{width:100%;min-width:0;min-height:38px}.reports-page .dp-release-panel{gap:14px;width:100%;max-width:none;margin-bottom:24px;padding:18px;display:grid}.reports-page .dp-release-title{grid-column:1/-1;margin:0}.reports-page .dp-release-control-stack{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;display:grid}.reports-page .dp-release-log-area{grid-column:1/-1;min-width:0}.reports-page .dp-release-log-area .table-container{margin-top:0}.reports-page .dp-release-log-area .admin-table{min-width:1120px}.reports-page .dp-release-log-area .admin-table td{white-space:nowrap}.reports-page .dp-release-actions{flex-wrap:wrap;justify-content:flex-start;gap:10px;margin-bottom:10px;display:flex}.reports-page .dp-release-actions button{min-width:160px;min-height:38px}@media (width>=1100px){.reports-page .dp-release-panel{grid-template-columns:1fr}.reports-page .dp-release-control-stack,.reports-page .dp-release-log-area{grid-column:1/-1}}@media (width<=900px){.standing-categories-grid,.custom-report-layout,.reports-page .dp-rule-grid,.reports-page .dp-release-control-stack,.reports-page .dp-release-form{grid-template-columns:1fr}.reports-page .dp-release-purpose-field{grid-column:auto}.reports-page .dp-release-actions button{flex:180px}}.billing-page{gap:18px;max-width:1200px;display:grid}.billing-level-tabs{flex-wrap:wrap;gap:8px;margin-bottom:4px;display:flex}.billing-level-tabs button{color:#1f3e7e;cursor:pointer;background:#ffffffd1;border:1px solid #a6bcecbf;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:700;transition:all .18s}.billing-level-tabs button.active{color:#fff;background:linear-gradient(135deg,#1a3a7a 0%,#2d63ea 100%);border-color:#0000;box-shadow:0 6px 14px #1d4ed838}.fee-breakdown-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.fee-item-card{background:#f8fbff;border:1px solid #a6bcec73;border-radius:14px;padding:16px}.fee-item-card p{color:#4769ba;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:11px;font-weight:700}.fee-item-card strong{color:#153678;margin-bottom:4px;font-size:24px;font-weight:800;display:block}.fee-item-card small{color:#6b7280;font-size:11px}.fee-total-card{background:linear-gradient(135deg,#edf4ff 0%,#e5eeff 100%);border-color:#2d63ea40}.fee-total-card strong{color:#1a3a7a;font-size:26px}.fee-payment-form{gap:12px;display:grid}.fee-payment-form label{color:#153678;gap:6px;font-weight:700;display:grid}.fee-payment-form input[readonly]{color:#153678;background:#f8fbff;font-weight:800}.fee-total-field input[readonly]{color:#1d4ed8;background:#edf4ff;border-color:#2d63ea59}.student-id-display{overflow-wrap:anywhere;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-weight:800}.student-id-step-form{align-items:stretch;width:min(100%,920px);max-width:920px}.student-id-step-form>h3,.student-id-step-form>.module-caption{text-align:left}.student-id-step-form>select,.student-id-step-form>button{align-self:center;width:min(100%,420px)}.billing-schedule-card{background:#f8fbff;border:1px solid #a6bcec73;border-radius:14px;padding:18px}.billing-schedule-card h4{color:#153678;margin:0 0 14px;font-size:14px;font-weight:700}.payment-schedule-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.schedule-option{background:#fff;border:1px solid #a6bcec80;border-radius:12px;gap:4px;padding:14px;display:grid}.schedule-option strong{color:#153678;font-size:14px}.schedule-option p{color:#2d63ea;margin:4px 0;font-size:20px;font-weight:800}.schedule-option small{color:#6b7280;font-size:11px;line-height:1.4}.schedule-badge{border-radius:999px;width:fit-content;margin-top:6px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.schedule-badge.green{color:#166534;background:#dcfce7}.schedule-badge.blue{color:#1e40af;background:#dbeafe}.schedule-badge.gray{color:#475569;background:#f1f5f9}.discount-programs-list{gap:10px;display:grid}.discount-card{background:#fff;border:1px solid #a6bcec80;border-radius:14px;padding:16px 18px;transition:border-color .16s}.discount-card.applied{background:#f0fdf4;border-color:#16a34a80}.discount-card-top{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.discount-card-top strong{color:#153678;font-size:14px;font-weight:700}.discount-card-top p{color:#6b7280;margin:4px 0 0;font-size:12px;line-height:1.4}.discount-card-value{flex-direction:column;flex:none;align-items:flex-end;gap:8px;display:flex}.discount-card-value span{color:#166534;white-space:nowrap;font-size:16px;font-weight:800}.discount-card-value button{cursor:pointer;color:#fff;white-space:nowrap;background:linear-gradient(135deg,#2d63ea 0%,#4a9eff 100%);border:none;border-radius:8px;padding:7px 14px;font-size:12px;font-weight:700}.discount-card.applied .discount-card-value button{color:#1e293b;background:#e2e8f0}.discount-summary-card{background:#f8fbff;border:1px solid #a6bcec73;border-radius:14px;padding:18px}.discount-summary-card h4{color:#153678;margin:0 0 12px;font-size:14px;font-weight:700}.invoice-layout{grid-template-columns:240px 1fr;align-items:start;gap:16px;display:grid}.invoice-student-list{gap:6px;display:grid}.invoice-student-list h4{color:#4769ba;text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;font-size:13px;font-weight:700}.invoice-student-item{cursor:pointer;color:#334155;text-align:left;background:#fff;border:1px solid #a6bcec80;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:600;transition:all .16s;display:flex}.invoice-student-item.active,.invoice-student-item:hover{color:#153678;background:#edf4ff;border-color:#2d63ea66}.invoice-detail-panel{background:#f8fbff;border:1px solid #a6bcec73;border-radius:14px;gap:14px;padding:18px;display:grid}.invoice-header-block{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.invoice-header-block h4{color:#153678;margin:0 0 4px;font-size:18px;font-weight:700}.invoice-header-block p{color:#475569;margin:0 0 3px;font-size:13px}.invoice-header-block small{color:#94a3b8;font-family:monospace;font-size:11px}.invoice-table td:first-child{color:#4769ba;text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.invoice-pay-section h4{color:#153678;margin:0 0 8px;font-size:13px;font-weight:700}.payment-method-tabs{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.payment-method-tabs button{color:#1f3e7e;cursor:pointer;background:#fff;border:1px solid #a6bcecbf;border-radius:9px;padding:7px 12px;font-size:12px;font-weight:700}.payment-method-tabs button.active{color:#fff;background:linear-gradient(135deg,#1a3a7a 0%,#2d63ea 100%);border-color:#0000}.payment-method-detail{background:#fff;border:1px solid #a6bcec80;border-radius:10px;padding:12px 14px}.payment-method-detail strong{color:#153678;margin-bottom:4px;font-size:14px;display:block}.payment-method-detail p{color:#475569;margin:0;font-size:12px}.invoice-actions{flex-wrap:wrap;gap:10px;display:flex}.invoice-primary-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2d63ea 0%,#4a9eff 100%);border:none;border-radius:10px;padding:10px 20px;font-size:13px;font-weight:700;transition:transform .16s,box-shadow .16s;box-shadow:0 6px 14px #1d4ed838}.invoice-primary-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #1d4ed84d}.invoice-secondary-btn{color:#153678;cursor:pointer;background:#fff;border:1px solid #a6bcecbf;border-radius:10px;padding:10px 20px;font-size:13px;font-weight:700}.collection-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.collection-stat-card{background:#f8fbff;border:1px solid #a6bcec73;border-radius:14px;padding:16px 18px}.collection-stat-card.green{background:#f0fdf4;border-color:#16a34a4d}.collection-stat-card.red{background:#fff1f2;border-color:#ef44444d}.collection-stat-card.orange{background:#fffbeb;border-color:#f59e0b59}.collection-stat-card span{color:#4769ba;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.collection-stat-card strong{color:#153678;margin-bottom:4px;font-size:28px;font-weight:800;display:block}.collection-stat-card small{color:#6b7280;font-size:11px}.collection-filter-bar{flex-wrap:wrap;gap:8px;display:flex}.collection-filter-bar button{color:#1f3e7e;cursor:pointer;background:#ffffffd1;border:1px solid #a6bcecbf;border-radius:10px;padding:7px 14px;font-size:13px;font-weight:700}.collection-filter-bar button.active{color:#fff;background:linear-gradient(135deg,#1a3a7a 0%,#2d63ea 100%);border-color:#0000}@media (width<=1000px){.fee-breakdown-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.payment-schedule-grid,.collection-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-layout{grid-template-columns:1fr}}.student-billing-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.student-bill-stat{background:#f8fbff;border:1px solid #a6bcec73;border-radius:14px;padding:16px 18px}.student-bill-stat.green{background:#f0fdf4;border-color:#16a34a4d}.student-bill-stat span{color:#4769ba;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.student-bill-stat strong{color:#153678;margin-bottom:4px;font-size:26px;font-weight:800;display:block}.student-bill-stat small{color:#6b7280;font-size:11px}.student-bill-section-title{color:#153678;text-transform:uppercase;letter-spacing:.06em;margin:4px 0 8px;font-size:13px;font-weight:700}.student-pay-detail{gap:14px;display:grid}.student-pay-account{background:linear-gradient(135deg,#edf4ff 0%,#e5eeff 100%);border:1px solid #2d63ea33;border-radius:12px;align-items:center;gap:14px;padding:14px 18px;display:flex}.student-pay-account span{color:#4769ba;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:11px;font-weight:700}.student-pay-account strong{color:#153678;font-family:monospace;font-size:18px;font-weight:800}.student-pay-steps{background:#fff;border:1px solid #a6bcec73;border-radius:12px;padding:16px 18px}.student-pay-steps h4{color:#153678;text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;font-size:13px;font-weight:700}.student-pay-steps ol{gap:8px;margin:0;padding-left:20px;display:grid}.student-pay-steps li{color:#334155;font-size:13px;line-height:1.5}@media (width<=900px){.student-billing-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.fee-breakdown-grid,.payment-schedule-grid,.collection-summary-grid,.student-billing-summary{grid-template-columns:1fr}.report-metrics-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.grade-level-selector{background:#f0f6ff;border:1px solid #a6bcec80;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;display:flex}.grade-level-selector>span{color:#4769ba;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:12px;font-weight:700}.grade-level-tabs{gap:6px;display:flex}.grade-level-tabs button{color:#1f3e7e;cursor:pointer;background:#fff;border:1px solid #a6bcecbf;border-radius:9px;padding:7px 14px;font-size:12px;font-weight:700;transition:all .16s}.grade-level-tabs button.active{color:#fff;background:linear-gradient(135deg,#1a3a7a 0%,#2d63ea 100%);border-color:#0000;box-shadow:0 4px 10px #1d4ed83d}.grade-input-label{gap:3px;display:grid}.grade-input-label>span{color:#153678;font-size:12px;font-weight:700}.grade-input-label>small{color:#6b7280;margin-bottom:2px;font-size:10px}.grade-input-label input,.grade-input-label select{color:#12213f;background:#fff;border:1px solid #bfd2f5;border-radius:10px;width:100%;padding:9px 12px;font-size:13px}.grade-preview-detailed{background:linear-gradient(135deg,#edf4ff 0%,#e5eeff 100%);border:1px solid #2d63ea40;border-radius:12px;flex-direction:column;gap:5px;padding:12px 14px;display:flex}.grade-preview-detailed span{color:#334155;background:0 0;border:none;border-radius:0;padding:0;font-size:12px}.grade-preview-result{color:#153678!important;font-size:15px!important}.grade-pass{font-weight:700;color:#166534!important}.grade-fail{font-weight:700;color:#9c5252!important}.computation-framework-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.computation-framework-card{border:1px solid;border-radius:16px;overflow:hidden}.computation-framework-card.ched{border-color:#2d63ea4d}.computation-framework-card.deped{border-color:#ea580c4d}.comp-framework-header{background:#f8fbff;border-bottom:1px solid #a6bcec66;align-items:center;gap:10px;padding:12px 16px;display:flex}.comp-framework-header h4{color:#153678;margin:0;font-size:13px;font-weight:700}.comp-badge{letter-spacing:.1em;white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:10px;font-weight:800;display:inline-block}.comp-badge.ched{color:#fff;background:linear-gradient(135deg,#1a3a7a,#2d63ea)}.comp-badge.deped{color:#fff;background:linear-gradient(135deg,#6f4a35,#bf7248)}.comp-formula-block{border-bottom:1px solid #a6bcec4d;padding:14px 16px}.comp-formula-label{color:#4769ba;text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;font-size:10px;font-weight:700}.comp-formula{background:#edf4ff;border:1px solid #a6bcec66;border-radius:10px;flex-wrap:wrap;align-items:center;gap:5px;padding:10px 12px;display:flex}.comp-term{color:#153678;background:#fff;border:1px solid #a6bcec80;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:700}.comp-weight{color:#2d63ea;font-size:11px;font-weight:700}.comp-op{color:#64748b;font-size:14px;font-weight:800}.comp-result{color:#153678;letter-spacing:.02em;background:0 0;border-bottom:2px solid #2d63ea;border-radius:0;padding:2px 0;font-size:12px;font-weight:800}.comp-gpa-table{border:none;border-radius:0;margin:0;font-size:12px}.comp-footnote{color:#6b7280;background:#f8fbff;border-top:1px solid #a6bcec4d;margin:0;padding:10px 16px;font-size:11px;line-height:1.5}@media (width<=900px){.computation-framework-grid{grid-template-columns:1fr}}.sm-wrapper{width:100%;position:relative}.sm-toast{z-index:9999;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:500;animation:.22s sm-slide-in;position:fixed;top:20px;right:24px;box-shadow:0 4px 16px #00000026}.sm-toast-success{color:#065f46;background:#ecfdf5;border:1px solid #6ee7b7}.sm-toast-error{color:#9c5252;background:#fef2f2;border:1px solid #fca5a5}@keyframes sm-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.sm-level-tabs{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.sm-level-tab{cursor:pointer;color:#6b7280;background:#f3f4f6;border:2px solid #0000;border-radius:20px;padding:8px 18px;font-size:13px;font-weight:600;transition:all .18s}.sm-level-tab:hover{filter:brightness(.95)}.sm-lt-kindergarten{border-color:#fbcfe8}.sm-lt-elementary{border-color:#bbf7d0}.sm-lt-jhs{border-color:#bfdbfe}.sm-lt-shs{border-color:#ddd6fe}.sm-lt-college{border-color:#c7d2fe}.sm-level-tab-active.sm-lt-kindergarten{color:#be185d;background:#fdf2f8;border-color:#ec4899}.sm-level-tab-active.sm-lt-elementary{color:#166534;background:#f0fdf4;border-color:#22c55e}.sm-level-tab-active.sm-lt-jhs{color:#1d4ed8;background:#eff6ff;border-color:#3b82f6}.sm-level-tab-active.sm-lt-shs{color:#6a6299;background:#f5f3ff;border-color:#8f85b8}.sm-level-tab-active.sm-lt-college{color:#4f4c82;background:#eef2ff;border-color:#7370b0}.sm-body{grid-template-columns:300px 1fr;align-items:start;gap:20px;display:grid}@media (width<=860px){.sm-body{grid-template-columns:1fr}}.sm-form-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.sm-form-card-head{color:#374151;background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;font-weight:700;display:flex}.sm-cancel-x{cursor:pointer;color:#9ca3af;background:0 0;border:none;padding:0 4px;font-size:15px;line-height:1}.sm-cancel-x:hover{color:#374151}.sm-form{flex-direction:column;gap:12px;padding:14px 16px;display:flex}.sm-field{flex-direction:column;gap:4px;display:flex}.sm-field label{color:#374151;font-size:12px;font-weight:600}.sm-hint{color:#9ca3af;font-size:11px;font-weight:400}.sm-field input,.sm-field select{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:7px;padding:8px 10px;font-size:13px;transition:border-color .15s}.sm-field input:focus,.sm-field select:focus{border-color:#7370b0;outline:none;box-shadow:0 0 0 3px #6366f11a}.sm-sub-input{margin-top:6px}.sm-generated-preview{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:7px;padding:8px 12px;font-size:13px}.sm-generated-preview strong{font-size:15px}.sm-form-actions{gap:8px;padding-top:4px;display:flex}.sm-btn-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7370b0,#655fae);border:none;border-radius:7px;flex:1;padding:9px;font-size:13px;font-weight:600;transition:opacity .18s}.sm-btn-submit:hover{opacity:.9}.sm-btn-cancel{color:#374151;cursor:pointer;background:#f3f4f6;border:1px solid #d1d5db;border-radius:7px;padding:9px 14px;font-size:13px}.sm-btn-cancel:hover{background:#e5e7eb}.sm-table-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.sm-table-topbar{background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.sm-table-title{color:#374151;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.sm-count{color:#fff;background:#7370b0;border-radius:99px;padding:1px 8px;font-size:11px;font-weight:700}.sm-toggle-archived{color:#6b7280;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:12px;display:flex}.sm-empty-state{text-align:center;color:#9ca3af;padding:32px 20px;font-size:13px}.sm-tbl-scroll{overflow-x:auto}.sm-tbl{border-collapse:collapse;width:100%;font-size:13px}.sm-tbl th{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;text-align:left;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:9px 12px;font-size:11px;font-weight:700}.sm-tbl td{color:#374151;vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:9px 12px}.sm-tbl tr:last-child td{border-bottom:none}.sm-tbl tr:hover td{background:#fafafa}.sm-cell-name{min-width:100px}.sm-badge{border-radius:99px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.sm-badge-active{color:#166534;background:#dcfce7}.sm-badge-archived{color:#6b7280;background:#f3f4f6}.sm-strand{color:#5c5488;background:#ede9fe;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.sm-actions-cell{flex-wrap:nowrap;gap:4px;display:flex}.sm-act{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:5px;padding:4px 10px;font-size:11px;font-weight:600;transition:opacity .15s}.sm-act:hover{opacity:.8}.sm-act-edit{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.sm-act-archive{color:#83603f;background:#fefce8;border-color:#fde68a}.sm-act-restore{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.sm-act-delete{color:#c9302c;background:#fef2f2;border-color:#fecaca}.parent-progress-page{max-width:1100px}.parent-child-card{padding:clamp(18px,2vw,24px)!important}.parent-child-card-inner{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.parent-child-card-inner>.student-export-btn{margin-left:auto}.parent-child-avatar{color:#fff;letter-spacing:1px;background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 100%);border-radius:50%;flex:none;justify-content:center;align-items:center;width:64px;height:64px;font-size:22px;font-weight:800;display:flex;box-shadow:0 4px 14px #1d4ed840}.parent-child-details{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.parent-child-name-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.parent-child-name{color:#1e3a8a;margin:0;font-size:20px;font-weight:800;line-height:1.2}.parent-gwa-pill{color:#fff;letter-spacing:.03em;background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 100%);border-radius:999px;padding:4px 14px;font-size:13px;font-weight:800;display:inline-block;box-shadow:0 2px 8px #1d4ed838}.parent-child-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.parent-meta-item{flex-direction:column;gap:2px;display:flex}.parent-meta-label{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.parent-meta-item strong{color:#1e293b;font-size:13px;font-weight:700}.parent-meta-sep{background:#e2e8f0;flex:none;width:1px;height:28px;margin:0 6px}.parent-status-enrolled{color:#166534!important}.parent-status-pending{color:#8a6242!important}.parent-grade-header{color:#fff;background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 100%);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:-2px -2px 16px;padding:10px 14px;display:flex}.parent-grade-header-title{font-size:15px;font-weight:800}.parent-gwa-display{opacity:.95;font-size:14px;font-weight:600}.parent-gwa-display strong{font-size:16px;font-weight:800}.parent-filter-bar{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.parent-filter-label{flex-direction:column;gap:5px;display:flex}.parent-filter-label>span{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.parent-filter-label select{appearance:none;color:#1e3a8a;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath fill='%23334155' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") right 10px center/16px no-repeat;border:1px solid #a6bcecbf;border-radius:10px;min-width:140px;padding:8px 32px 8px 12px;font-size:13px;font-weight:600;transition:border-color .15s}.parent-filter-label select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1f}.parent-ay-input{color:#1e3a8a;border:1px solid #a6bcecbf;border-radius:10px;min-width:140px;padding:8px 12px;font-size:13px;font-weight:600;transition:border-color .15s}.parent-ay-input::placeholder{color:#94a3b8;font-weight:400}.parent-ay-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1f}.parent-empty-row{border:none!important;padding:0!important}.parent-empty-state{color:#94a3b8;flex-direction:column;align-items:center;gap:10px;padding:40px 20px;display:flex}.parent-empty-state p{margin:0;font-size:14px;font-weight:500}.parent-grade-summary{color:#475569;background:#f1f5f9;border-radius:10px;flex-wrap:wrap;gap:28px;margin-top:14px;padding:12px 16px;font-size:13px;display:flex}.parent-grade-summary strong{color:#1e3a8a;font-weight:800}.dashboard-hero-sub{color:#64748b;margin:4px 0 0;font-size:13px;font-weight:500}.cc-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:7px;align-items:center;gap:5px;padding:7px 14px;font-size:13px;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.cc-btn:disabled{opacity:.55;cursor:not-allowed}.cc-btn-primary{color:#fff;background:#2563eb}.cc-btn-primary:hover:not(:disabled){background:#1d4ed8}.cc-btn-secondary{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0}.cc-btn-secondary:hover:not(:disabled){background:#e2e8f0}.cc-btn-export{color:#fff;background:#0f766e}.cc-btn-export:hover:not(:disabled){background:#0d6560}.cc-btn-seed{color:#fff;background:#2563eb}.cc-btn-seed:hover:not(:disabled){background:#1d4ed8}.cc-btn-import{color:#fff;background:#0369a1}.cc-btn-import:hover:not(:disabled){background:#025f92}.cc-btn-warn{color:#fff;background:#2563eb}.cc-btn-warn:hover:not(:disabled){background:#1d4ed8}.cc-btn-danger{color:#fff;background:#d9534f}.cc-btn-danger:hover:not(:disabled){background:#c9302c}.cc-import-result{border:1px solid var(--success);border-radius:var(--radius-lg);background:var(--success-tint);border-left-width:4px;margin:0 0 16px;padding:14px 40px 14px 16px;position:relative}.cc-import-result.has-errors{border-color:var(--warning);background:var(--warning-bg)}.cc-import-head{color:var(--text-strong);flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;display:flex}.cc-import-head svg{color:var(--success);flex-shrink:0}.cc-import-result.has-errors .cc-import-head svg{color:var(--warning)}.cc-import-skipped{color:var(--warning);font-size:12px;font-weight:700}.cc-import-fatal{color:var(--text);margin:8px 0 0;font-size:12.5px;line-height:1.5}.cc-import-errors{max-height:220px;color:var(--text);margin:10px 0 0;padding:0;font-size:12.5px;list-style:none;overflow-y:auto}.cc-import-errors li{border-top:1px solid #0f172a14;gap:8px;padding:5px 0;line-height:1.45;display:flex}.cc-import-line{font-variant-numeric:tabular-nums;min-width:62px;color:var(--muted);flex-shrink:0;font-weight:700}.cc-import-close{border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px;display:inline-flex;position:absolute;top:10px;right:10px}.cc-import-close:hover{color:var(--text);background:#0f172a14}.cc-btn-sm{cursor:pointer;border:none;border-radius:5px;justify-content:center;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;transition:background .12s;display:inline-flex}.cc-btn-sm-edit{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe}.cc-btn-sm-edit:hover{background:#dbeafe}.cc-btn-sm-del{color:#c9302c;background:#fef2f2;border:1px solid #fecaca}.cc-btn-sm-del:hover{background:#fee2e2}.cc-btn-sm-add{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.cc-btn-sm-add:hover{background:#dcfce7}.cc-btn-sm-outline{color:#475569;background:#f8fafc;border:1px solid #cbd5e1}.cc-btn-sm-outline:hover{background:#f1f5f9}.cc-modal-overlay{z-index:1200;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.cc-modal{background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:580px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0003}.cc-modal--sm{max-width:420px}.cc-modal--wide{max-width:860px}.cc-modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:18px 22px 14px;display:flex}.cc-modal-header h3{color:#1e293b;margin:0;font-size:16px;font-weight:700}.cc-modal-close{cursor:pointer;color:#64748b;background:#f1f5f9;border:none;border-radius:50%;width:28px;height:28px;font-size:18px;line-height:1}.cc-modal-close:hover{color:#1e293b;background:#e2e8f0}.cc-modal-form{flex-direction:column;gap:14px;padding:18px 22px;display:flex;overflow-y:auto}.cc-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:10px;padding:14px 22px;display:flex}.cc-form-row{align-items:flex-start;gap:12px;display:flex}.cc-form-group{flex-direction:column;gap:5px;min-width:0;display:flex}.cc-form-group--grow{flex:1}.cc-form-group label{color:#475569;text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:600}.cc-form-group input,.cc-form-group select,.cc-form-group textarea{color:#1e293b;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;padding:8px 11px;font-size:13.5px;transition:border-color .12s}.cc-form-group input:focus,.cc-form-group select:focus,.cc-form-group textarea:focus{border-color:#2563eb;outline:none}.cc-form-group textarea{resize:vertical}.catalog-page{flex-direction:column;gap:16px;display:flex}.catalog-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.catalog-header-left{align-items:center;gap:12px;display:flex}.catalog-title{color:#1e293b;margin:0;font-size:18px;font-weight:700}.catalog-meta{align-items:center;gap:6px;display:flex}.catalog-count-badge{color:#fff;background:#2563eb;border-radius:20px;padding:2px 9px;font-size:12px;font-weight:700}.catalog-meta-text{color:#64748b;font-size:12.5px}.catalog-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.catalog-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.catalog-search-wrap{flex:1;min-width:200px;position:relative}.catalog-search{color:#1e293b;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;width:100%;padding:8px 34px 8px 12px;font-size:13.5px}.catalog-search:focus{border-color:#2563eb;outline:none}.catalog-search-clear{cursor:pointer;color:#94a3b8;background:0 0;border:none;font-size:16px;line-height:1;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.catalog-search-clear:hover{color:#64748b}.catalog-filter-select{color:#1e293b;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;padding:8px 12px;font-size:13px}.catalog-filter-select:focus{border-color:#2563eb;outline:none}.catalog-table-wrap{border:1px solid #e2e8f0;border-radius:10px;flex:1;min-height:0;max-height:calc(100vh - 310px);overflow:auto}.catalog-table{border-collapse:collapse;background:#fff;width:100%;font-size:13px}.catalog-table thead th{z-index:2;text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:10px 12px;font-size:11.5px;font-weight:700;position:sticky;top:0}.catalog-table tbody td{vertical-align:middle;color:#334155;border-bottom:1px solid #f1f5f9;padding:9px 12px}.catalog-table tbody tr:last-child td{border-bottom:none}.catalog-table tbody tr:hover td{background:#f8fafc}.catalog-row-inactive td{opacity:.6}.catalog-loading,.catalog-empty{text-align:center;color:#64748b;padding:36px 20px;font-size:14px}.catalog-empty{flex-direction:column;align-items:center;gap:6px;display:flex}.catalog-empty-icon{font-size:32px}.catalog-empty-hint{color:#94a3b8;font-size:12.5px}.catalog-warn-note{color:#8a6242;background:#fef3c7;border-radius:6px;margin-top:6px;padding:8px 12px;font-size:12.5px}.catalog-dept-cell{white-space:nowrap;color:#64748b;font-size:12.5px}.catalog-prereq-cell{color:#64748b;font-size:12.5px}.catalog-none{color:#cbd5e1}.subject-code-tag{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:5px;padding:2px 8px;font-family:monospace;font-size:11.5px;font-weight:700}.subject-title-cell{color:#1e293b;font-weight:600;line-height:1.3}.subject-desc-cell{color:#94a3b8;margin-top:2px;font-size:11.5px}.cat-badge{white-space:nowrap;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.cat-badge--sm{padding:2px 7px;font-size:10.5px}.cat-ge{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.cat-eng{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.cat-bus{color:#7c6ba0;background:#fdf4ff;border:1px solid #e9d5ff}.cat-ps{color:#5c5488;background:#f5f3ff;border:1px solid #ddd6fe}.cat-elem{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd}.cat-elem-core{color:#1e40af;background:#dbeafe;border:1px solid #93c5fd}.cat-elem-ss{color:#83603f;background:#fef9c3;border:1px solid #fde047}.cat-elem-vals{color:#8a4a54;background:#ffe4e6;border:1px solid #fda4af}.cat-elem-mapeh{color:#065f46;background:#d1fae5;border:1px solid #6ee7b7}.cat-jhs{color:#0f766e;background:#ccfbf1;border:1px solid #99f6e4}.cat-jhs-core{color:#0e7490;background:#cffafe;border:1px solid #67e8f9}.cat-jhs-vals{color:#9d174d;background:#fce7f3;border:1px solid #fbcfe8}.cat-jhs-live{color:#8a6242;background:#fef3c7;border:1px solid #fde68a}.cat-shs-core{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1}.cat-shs-app{color:#8a6242;background:#fef3c7;border:1px solid #fde68a}.cat-shs-stem{color:#065f46;background:#d1fae5;border:1px solid #6ee7b7}.cat-shs-abm{color:#1e3a8a;background:#dbeafe;border:1px solid #93c5fd}.cat-shs-humss{color:#8a4a54;background:#ffe4e6;border:1px solid #fecdd3}.cat-shs-gas{color:#374151;background:#f3f4f6;border:1px solid #d1d5db}.type-tag{color:#64748b;background:#f1f5f9;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:700}.type-tag--ge{color:#166534;background:#f0fdf4}.type-tag--major{color:#1d4ed8;background:#eff6ff}.type-tag--elective{color:#7c6ba0;background:#fdf4ff}.status-dot{border-radius:20px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.status-dot--active{color:#16a34a;background:#f0fdf4}.status-dot--inactive{color:#94a3b8;background:#f8fafc}.catalog-row-actions{justify-content:center;gap:6px;display:flex}.add-subject-modal-body{padding:16px 22px;overflow-y:auto}.curric-layout{background:#fff;border:1px solid #e2e8f0;border-radius:12px;gap:0;min-height:600px;display:flex;overflow:hidden}.curric-sidebar{background:#f8fafc;border-right:1px solid #e2e8f0;flex-shrink:0;width:240px;min-width:200px;overflow-y:auto}.curric-sidebar-title{text-transform:uppercase;letter-spacing:.6px;color:#94a3b8;padding:14px 16px 8px;font-size:11px;font-weight:800}.curric-program-group{margin-bottom:4px}.curric-group-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;padding:6px 16px;font-size:10.5px;font-weight:700}.curric-program-btn{cursor:pointer;text-align:left;background:0 0;border:none;border-left:3px solid #0000;flex-direction:column;width:100%;padding:8px 16px;transition:background .1s,border-color .1s;display:flex}.curric-program-btn:hover{background:#eff6ff}.curric-program-btn--active{background:#eff6ff;border-left-color:#2563eb}.curric-prog-code{color:#2563eb;font-family:monospace;font-size:11px;font-weight:800}.curric-prog-name{color:#334155;margin-top:2px;font-size:12px;font-weight:600;line-height:1.3}.curric-program-btn--active .curric-prog-name{color:#1e293b}.curric-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.curric-program-header{background:linear-gradient(135deg,#1e40af 0%,#2563eb 100%);border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:16px 20px;display:flex}.curric-program-header-left{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.curric-program-title{color:#fff;margin:0;font-size:16px;font-weight:700}.curric-version-badge{white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:11.5px;font-weight:600}.curric-version-badge--active{color:#fff;background:#ffffff40}.curric-version-badge--inactive{color:#ffffffb3;background:#0003}.curric-header-actions{flex-wrap:wrap;gap:8px;display:flex}.curric-version-bar{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 20px;display:flex}.curric-version-label{color:#475569;white-space:nowrap;font-size:12px;font-weight:700}.curric-version-select{color:#1e293b;background:#fff;border:1.5px solid #e2e8f0;border-radius:7px;flex:1;min-width:200px;padding:6px 10px;font-size:13px}.curric-version-select:focus{border-color:#2563eb;outline:none}.curric-loading,.curric-empty-state{text-align:center;flex:1;padding:40px 20px}.curric-empty-state{flex-direction:column;align-items:center;gap:10px;display:flex}.curric-empty-icon{font-size:36px}.curric-empty-state p{color:#64748b;margin:0;font-size:14px}.curric-hint{color:#94a3b8;font-size:12.5px}.curric-empty-actions{gap:10px;margin-top:8px;display:flex}.curric-clone-note{color:#64748b;margin:0;font-size:12.5px}.curric-tree{flex-direction:column;flex:1;gap:12px;padding:16px 20px;display:flex;overflow-y:auto}.curric-year-block{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.curric-year-header{cursor:pointer;text-align:left;color:#1e293b;background:#f1f5f9;border:none;align-items:center;gap:10px;width:100%;padding:12px 16px;font-size:14px;font-weight:700;transition:background .1s;display:flex}.curric-year-header:hover{background:#e2e8f0}.curric-year-toggle{color:#64748b;font-size:12px}.curric-year-label{flex:1}.curric-year-units{color:#2563eb;background:#eff6ff;border-radius:20px;padding:2px 10px;font-size:12px;font-weight:700}.curric-year-body{flex-direction:column;display:flex}.curric-sem-block{border-top:1px solid #e2e8f0}.curric-sem-block:first-child{border-top:none}.curric-sem-header{background:#fff;border-bottom:1px solid #f1f5f9;align-items:center;gap:10px;padding:9px 16px;display:flex}.curric-sem-label{color:#334155;flex:1;font-size:13px;font-weight:700}.curric-sem-units{color:#64748b;font-size:12px}.curric-subject-table-wrap{overflow-x:auto}.curric-subject-table{border-collapse:collapse;width:100%;font-size:12.5px}.curric-subject-table thead th{text-align:left;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:7px 12px;font-size:11px;font-weight:700}.curric-subject-table tbody td{vertical-align:middle;color:#334155;border-bottom:1px solid #f1f5f9;padding:8px 12px}.curric-subject-table tbody tr:last-child td{border-bottom:none}.curric-subject-table tbody tr:hover td{background:#fafbff}.curric-subject-table tfoot td{color:#475569;background:#f8fafc;border-top:1.5px solid #e2e8f0;padding:7px 12px;font-size:12px}.curric-no-subjects{text-align:center;color:#94a3b8;padding:14px;font-size:12.5px}.curric-row-ge td{background:#f0fdf4!important}.curric-row-special td{background:#fffbeb!important}.curric-row-ge:hover td{background:#dcfce7!important}.curric-row-special:hover td{background:#fef3c7!important}.curric-add-sem-row{background:#fafbff;border-top:1px dashed #e2e8f0;flex-wrap:wrap;gap:8px;padding:8px 16px;display:flex}.curric-grand-total{color:#fffc;background:linear-gradient(135deg,#1e40af,#2563eb);border-radius:10px;justify-content:flex-end;align-items:center;gap:12px;margin-top:4px;padding:12px 16px;font-size:14px;font-weight:700;display:flex}.curric-grand-total strong{color:#fff;font-size:22px}.curric-sem-footer td{font-size:12px}@media (width<=768px){.curric-layout{flex-direction:column}.curric-sidebar{border-bottom:1px solid #e2e8f0;border-right:none;width:100%}.catalog-header{flex-direction:column;align-items:flex-start}.catalog-header-actions{flex-wrap:wrap}}.sched-page{flex-direction:column;gap:20px;display:flex}.sched-form-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:16px;padding:20px 24px;display:flex;box-shadow:0 2px 8px #0000000a}.sched-form-title{color:#1e293b;font-size:15px;font-weight:700}.sched-form-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.sched-form-group{flex-direction:column;gap:5px;min-width:130px;display:flex}.sched-form-group--grow{flex:1;min-width:180px}.sched-form-group label{color:#64748b;font-size:12px;font-weight:600}.sched-input{color:#1e293b;box-sizing:border-box;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;width:100%;padding:8px 11px;font-size:13px}.sched-input:focus{border-color:#2563eb;outline:none}.sched-input--readonly{color:#64748b;cursor:default;background:#f8fafc}.sched-form-actions{gap:10px;padding-top:2px;display:flex}.sched-ac-input-wrap{position:relative}.sched-ac-spin{pointer-events:none;font-size:12px;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.sched-suggestions{z-index:200;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;min-width:280px;max-height:300px;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 28px #00000021}.sched-suggestion-item{cursor:pointer;border-bottom:1px solid #f1f5f9;padding:9px 14px;transition:background .1s}.sched-suggestion-item:last-child{border-bottom:none}.sched-suggestion-item:hover{background:#eff6ff}.sched-sug-top{align-items:center;gap:7px;margin-bottom:3px;display:flex}.sched-sug-code{color:#1e40af;white-space:nowrap;background:#dbeafe;border-radius:5px;padding:1px 7px;font-size:12px;font-weight:700}.sched-sug-name{color:#1e293b;margin-bottom:2px;font-size:13px;font-weight:500}.sched-sug-meta{color:#94a3b8;font-size:11px}.sched-picked-card{background:linear-gradient(135deg,#eff6ff 0%,#f0fdf4 100%);border:1.5px solid #bfdbfe;border-radius:10px;flex-direction:column;flex:1;gap:4px;min-width:200px;padding:10px 14px;display:flex;position:relative}.sched-picked-header{justify-content:space-between;align-items:center;display:flex}.sched-picked-code{color:#1e40af;background:#dbeafe;border-radius:5px;padding:2px 9px;font-size:13px;font-weight:700}.sched-picked-clear{cursor:pointer;color:#94a3b8;background:0 0;border:none;padding:0 2px;font-size:18px;line-height:1}.sched-picked-clear:hover{color:#cf7a7a}.sched-picked-name{color:#1e293b;font-size:13px;font-weight:600}.sched-picked-meta{color:#475569;flex-wrap:wrap;gap:8px;font-size:11.5px;display:flex}.sched-picked-meta span{background:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:1px 6px}.sched-picked-desc{color:#64748b;margin-top:2px;font-size:11.5px;font-style:italic}.sched-list-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;box-shadow:0 2px 8px #0000000a}.sched-list-header{border-bottom:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 20px;display:flex}.sched-list-title{color:#1e293b;align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.sched-count-badge{color:#fff;background:#2563eb;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:700}.sched-filters{flex-direction:column;gap:8px;width:100%;display:flex}.sched-search-wrap{align-items:center;display:flex;position:relative}.sched-search-icon{pointer-events:none;font-size:13px;position:absolute;left:10px}.sched-search-input{color:#334155;box-sizing:border-box;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;width:100%;padding:7px 32px 7px 30px;font-size:13px;transition:border-color .15s}.sched-search-input:focus{background:#fff;border-color:#2563eb;outline:none}.sched-search-input::placeholder{color:#94a3b8}.sched-search-clear{cursor:pointer;color:#94a3b8;background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1;position:absolute;right:8px}.sched-search-clear:hover{color:#475569}.sched-filter-selects{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sched-clear-btn{color:#64748b;cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid #e2e8f0;border-radius:7px;padding:5px 12px;font-size:12px;font-weight:600;transition:all .15s}.sched-clear-btn:hover{color:#b1504d;background:#fef2f2;border-color:#fca5a5}.sched-row-clickable{cursor:pointer}.sched-row-clickable:hover td{background:#eff6ff!important}.sched-preview-modal{background:#fff;border-radius:14px;width:520px;max-width:95vw;animation:.18s modalPop;overflow:hidden;box-shadow:0 20px 60px #0000002e}.sched-preview-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 14px;display:flex}.sched-preview-title{color:#0f172a;margin:6px 0 0;font-size:16px;font-weight:700}.sched-preview-body{padding:18px 20px}.sched-preview-grid{grid-template-columns:1fr 1fr;gap:14px 20px;display:grid}.sched-pv-field{flex-direction:column;gap:3px;display:flex}.sched-pv-label{text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;font-size:10.5px;font-weight:700}.sched-pv-value{color:#1e293b;font-size:13.5px;font-weight:500}.sched-preview-footer{border-top:1px solid #f1f5f9;justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.sched-table-wrap{min-height:100px;max-height:calc(100vh - 480px);overflow:auto}.sched-table{border-collapse:collapse;width:100%;font-size:13px}.sched-table thead th{z-index:2;text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:9px 12px;font-size:11.5px;font-weight:700;position:sticky;top:0}.sched-table tbody td{vertical-align:middle;color:#334155;border-bottom:1px solid #f1f5f9;padding:9px 12px}.sched-table tbody tr:last-child td{border-bottom:none}.sched-table tbody tr:hover td{background:#f8fafc}.sched-section-tag{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:5px;padding:2px 8px;font-size:12px;font-weight:600}.sched-day-badge{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:5px;padding:2px 8px;font-size:12px;font-weight:600}.sched-time-cell{white-space:nowrap;color:#475569;font-size:12.5px}.sched-instructor-cell{color:#475569;font-size:12.5px}@media (width<=768px){.sched-form-row{flex-direction:column}.sched-form-group,.sched-form-group--grow{max-width:100%}}.sf9-report-section{overflow:visible}.sf9-level-switch{background:#f8fafc;border:1px solid #dbe4f0;border-radius:8px;gap:8px;margin-bottom:14px;padding:6px;display:inline-flex}.sf9-level-switch button{color:#334155;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;min-height:36px;padding:7px 12px;font-weight:800}.sf9-level-switch button.active{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.sf9-controls{grid-template-columns:minmax(220px,1fr) minmax(240px,340px) auto;align-items:end;gap:14px;margin-bottom:18px;display:grid}.sf9-controls h3{color:#153678;margin:0 0 4px}.sf9-student-picker{color:#172554;gap:6px;font-size:13px;font-weight:800;display:grid}.sf9-student-picker select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-height:40px;padding:8px 10px}.sf9-action-buttons{align-items:center;gap:10px;display:flex}.sf9-action-buttons button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1d4ed8,#3b82f6);border:1px solid #1d4ed8;border-radius:8px;padding:10px 14px;font-weight:800}.sf9-print-area{background:#f8fafc;border-radius:12px;justify-content:center;gap:18px;padding:18px;display:grid}.sf9-page{color:#111;box-sizing:border-box;background:#fff;border:1.5px solid #111;width:210mm;min-height:297mm;padding:12mm 8mm;font-family:Times New Roman,Times,serif;font-size:11px;line-height:1.15;box-shadow:0 16px 38px #0f172a29}.sf9-page h2,.sf9-page h3,.sf9-page h4,.sf9-page p{color:#111;font-family:Times New Roman,Times,serif}.sf9-page h4{text-align:center;text-transform:uppercase;margin:0 0 8px;font-size:13px}.sf9-front-grid,.sf9-back-grid{grid-template-columns:1fr 1fr;gap:14mm;height:100%;display:grid}.sf9-jhs-front-grid{align-items:start}.sf9-shs-page{font-size:10px}.sf9-shs-lrn{font-size:12px;position:absolute;top:9mm;right:14mm}.sf9-shs-back-grid{gap:10mm}.sf9-shs-grades-table{margin-bottom:8px;font-size:9px}.sf9-shs-grades-table .sf9-shs-sem-title,.sf9-shs-group-row td{text-align:left;background:#d9d9d9;font-weight:700}.sf9-shs-grades-table th:first-child,.sf9-shs-grades-table td:first-child{width:64%}.sf9-form-code{text-align:right;margin:18mm 0 9mm;font-size:9px}.sf9-attendance-table,.sf9-grades-table,.sf9-values-table{border-collapse:collapse;table-layout:fixed;width:100%}.sf9-attendance-table th,.sf9-attendance-table td,.sf9-grades-table th,.sf9-grades-table td,.sf9-values-table th,.sf9-values-table td{text-align:center;vertical-align:middle;color:#111;border:1px solid #222;padding:3px 4px}.sf9-attendance-table th,.sf9-grades-table th,.sf9-values-table th{background:#e8eef7;font-weight:700}.sf9-attendance-table{font-size:8px}.sf9-attendance-table th:first-child,.sf9-attendance-table td:first-child{text-align:left;width:42px}.sf9-signature-block{margin-top:36px}.sf9-signature-block h4{margin-bottom:28px;font-size:15px}.sf9-sign-row{grid-template-columns:78px 1fr;align-items:center;gap:12px;margin:13px 8px;font-size:13px;display:grid}.sf9-sign-line,.sf9-line{text-align:center;border-bottom:1px solid #111;min-width:86px;line-height:1.15;display:inline-block}.sf9-line.wide{min-width:245px}.sf9-line.medium{min-width:145px}.sf9-line.short{min-width:72px}.sf9-line.lrn{min-width:118px}.sf9-deped-header{text-align:center;text-transform:uppercase;justify-content:center;align-items:center;gap:12px;margin-top:12mm;display:flex}.sf9-deped-header strong{font-size:12px;display:block}.sf9-seal{color:#1e3a8a;border:2px solid #1e3a8a;border-radius:50%;place-items:center;width:44px;height:44px;font-size:10px;font-weight:800;display:grid}.sf9-school-lines{gap:4px;margin:8px 0 14px;font-size:12px;display:grid}.sf9-school-lines div{grid-template-columns:58px 1fr;align-items:center;display:grid}.sf9-front-right h3{text-align:center;text-transform:uppercase;margin:12px 0 0;font-size:14px}.sf9-school-year{text-align:center;margin:0 0 14px;font-size:12px}.sf9-learner-lines{gap:5px;font-size:12px;display:grid}.sf9-three-cols{flex-wrap:wrap;gap:12px;display:flex}.sf9-parent-note{text-align:center;margin-top:18px}.sf9-parent-note p{margin:9px 0;font-size:10px}.sf9-cert-signatures{text-align:center;grid-template-columns:1fr 1fr;align-items:end;gap:20px;margin-top:16px;display:grid}.sf9-cert-signatures.compact{margin-top:8px}.sf9-cert-signatures .sf9-sign-line,.sf9-principal-sign .sf9-sign-line{width:100%}.sf9-transfer,.sf9-cancel{margin-top:12px}.sf9-transfer h4,.sf9-cancel h4{text-transform:none;margin-bottom:6px;font-size:13px}.sf9-transfer p,.sf9-cancel p{margin:2px 0;font-size:11px}.sf9-principal-sign{text-align:center;width:145px;margin:18px 0 0 auto}.sf9-page-back h2{text-transform:uppercase;margin:2mm 0 7mm;font-size:16px}.sf9-grades-table{font-size:11px}.sf9-grades-table th:first-child,.sf9-grades-table td:first-child{text-align:left;width:40%}.sf9-grades-table .sf9-subarea-row td:first-child{padding-left:24px;font-style:italic}.sf9-general-average-row td:first-child{text-align:right;font-weight:700}.sf9-values-table{font-size:10px}.sf9-values-table th:first-child,.sf9-values-table td:first-child{width:27%}.sf9-values-table th:nth-child(2),.sf9-values-table td:nth-child(2){text-align:left;width:38%}.sf9-value-cell select{border:1px solid #94a3b8;border-radius:4px;width:38px;min-height:28px;padding:2px;font-size:11px}.sf9-print-rating{display:none}.sf9-descriptors,.sf9-marking-table{margin-top:24px}.sf9-descriptors table,.sf9-marking-table table{border-collapse:collapse;width:100%;font-size:12px}.sf9-descriptors th,.sf9-descriptors td,.sf9-marking-table th,.sf9-marking-table td{text-align:left;color:#111;padding:2px 4px}.sf9-marking-table{width:70%;margin-left:auto;margin-right:auto}@media (width<=980px){.sf9-controls{grid-template-columns:1fr}.sf9-print-area{justify-content:start;overflow-x:auto}}@media print{@page{size:A4 portrait;margin:0}body{background:#fff!important}.no-print,.cc-page-header,.app-header,.app-sidebar,.sidebar,.feature-switcher,.report-level-toggle,.reports-page>:not(.sf9-report-section),.sf9-report-section>:not(.sf9-print-area){display:none!important}.cc-outer-wrap,.module-page,.reports-page,.report-section,.sf9-report-section,.sf9-print-area{width:auto!important;max-width:none!important;min-height:0!important;box-shadow:none!important;background:#fff!important;border:0!important;margin:0!important;padding:0!important;display:block!important}.sf9-page{width:210mm;height:297mm;min-height:297mm;box-shadow:none;page-break-after:always;break-after:page;border:1px solid #111;margin:0;padding:12mm 8mm}.sf9-page:last-child{page-break-after:auto;break-after:auto}.sf9-value-cell select{display:none!important}.sf9-print-rating{display:inline}}.academic-calendar-page{gap:18px;max-width:1200px;display:grid}.calendar-live-panel{background:#fff;border:1px solid #a6bcec73;border-radius:10px;grid-template-columns:minmax(220px,1.3fr) minmax(160px,.8fr);align-items:center;gap:12px;padding:16px 18px;display:grid;box-shadow:0 10px 24px #2563eb14}.calendar-live-panel div{gap:4px;display:grid}.calendar-live-panel span{color:#315a9c;text-transform:uppercase;font-size:11px;font-weight:800}.calendar-live-panel strong{color:#12213f;font-size:18px}.calendar-live-panel button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1d4ed8,#3b82f6);border:1px solid #1d4ed8;border-radius:8px;min-height:40px;padding:8px 14px;font-weight:800}.calendar-admin-panel{grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:start;gap:16px;display:grid}.calendar-event-form,.calendar-admin-tools,.calendar-event-list{background:#fff;border:1px solid #a6bcec73;border-radius:10px;padding:18px;box-shadow:0 10px 24px #2563eb14}.calendar-event-form h3,.calendar-event-list h3{color:#153678;margin:0 0 14px}.calendar-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.calendar-form-grid label,.calendar-admin-tools label{gap:6px;min-width:0;display:grid}.calendar-form-grid span,.calendar-admin-tools span{color:#315a9c;text-transform:uppercase;font-size:11px;font-weight:800}.calendar-form-grid input,.calendar-form-grid select,.calendar-form-grid textarea,.calendar-admin-tools input,.calendar-admin-tools select{color:#12213f;width:100%;min-height:40px;font:inherit;background:#fff;border:1px solid #bfd7ff;border-radius:8px;padding:8px 10px}.calendar-form-grid textarea{resize:vertical}.calendar-checkbox-row{flex-direction:row;grid-template-columns:auto 1fr;align-self:end;align-items:center;min-height:40px;display:flex!important}.calendar-checkbox-row input{width:auto;min-height:auto}.calendar-description-field{grid-column:1/-1}.calendar-form-actions,.calendar-row-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.calendar-form-actions button,.calendar-row-actions button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1d4ed8,#3b82f6);border:1px solid #1d4ed8;border-radius:8px;min-height:36px;padding:8px 12px;font-weight:800}.calendar-form-actions button.secondary{color:#1e3a8a;background:#eff6ff;border-color:#bfdbfe}.calendar-row-actions button.danger{color:#9c5252;background:#fee2e2;border-color:#b1504d}.calendar-event-list .admin-table tr.calendar-editing-row td{background:#fff7ed;border-color:#fdba74}.calendar-admin-tools{gap:12px;display:grid}.academic-calendar-page .calendar-month{width:100%;max-width:none}.academic-calendar-page .calendar-day{position:relative}.academic-calendar-page .calendar-chip{cursor:pointer;text-align:left;border:0}.calendar-today-pill{color:#166534;background:#dcfce7;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:800;position:absolute;top:8px;right:8px}.calendar-list-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.calendar-list-header span{color:#1d4ed8;background:#eff6ff;border-radius:999px;justify-content:center;align-items:center;min-width:34px;min-height:30px;font-weight:800;display:inline-flex}.calendar-event-list .admin-table td small{color:#64748b;margin-top:4px;display:block}@media (width<=980px){.calendar-live-panel,.calendar-admin-panel,.calendar-form-grid{grid-template-columns:1fr}.calendar-description-field{grid-column:auto}}.notification-page{gap:18px;max-width:1240px;display:grid}.notification-compose{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start;gap:16px;display:grid}.notification-form,.notification-template-panel,.notification-preview-panel,.notification-history,.notification-deliveries{background:#fff;border:1px solid #a6bcec73;border-radius:10px;padding:18px;box-shadow:0 10px 24px #2563eb14}.notification-form-head,.notification-history-head{justify-content:space-between;align-items:start;gap:14px;margin-bottom:16px;display:flex}.notification-form-head h3,.notification-template-panel h3,.notification-preview-panel h3,.notification-history h3,.notification-deliveries h3{color:#153678;margin:0}.notification-form-head p{color:#64748b;margin:4px 0 0}.notification-priority,.notification-status{text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:5px 10px;font-size:11px;font-weight:900;display:inline-flex}.notification-priority.normal,.notification-status.sent{color:#166534;background:#dcfce7}.notification-priority.important,.notification-status.scheduled,.notification-status.partial{color:#8a6242;background:#fef3c7}.notification-status.sending{color:#1e40af;background:#dbeafe}.notification-priority.emergency,.notification-status.failed{color:#9c5252;background:#fee2e2}.notification-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.notification-grid label{gap:6px;min-width:0;display:grid}.notification-grid span{color:#315a9c;text-transform:uppercase;font-size:11px;font-weight:800}.notification-grid input,.notification-grid select,.notification-grid textarea{color:#12213f;width:100%;min-height:40px;font:inherit;background:#fff;border:1px solid #bfd7ff;border-radius:8px;padding:8px 10px}.notification-grid textarea{resize:vertical}.notification-wide{grid-column:1/-1}.notification-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.notification-actions button,.notification-history-head button,.notification-history .admin-table button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1d4ed8,#3b82f6);border:1px solid #1d4ed8;border-radius:8px;min-height:36px;padding:8px 12px;font-weight:800}.notification-actions button.secondary,.notification-history-head button.secondary{color:#1e3a8a;background:#eff6ff;border-color:#bfdbfe}.notification-actions button:disabled{cursor:not-allowed;opacity:.6}.notification-side{gap:16px;display:grid}.notification-template-list,.notification-recipient-list{gap:8px;margin-top:12px;display:grid}.notification-template-list button{color:#12213f;cursor:pointer;text-align:left;background:#f8fafc;border:1px solid #dbeafe;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.notification-template-list button span{color:#2563eb;text-transform:uppercase;font-size:11px;font-weight:900}.notification-preview-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.notification-preview-stats div{background:#f8fafc;border:1px solid #dbeafe;border-radius:8px;gap:4px;padding:10px;display:grid}.notification-preview-stats span{color:#64748b;text-transform:uppercase;font-size:11px;font-weight:800}.notification-preview-stats strong{color:#153678;font-size:22px}.notification-recipient-list div,.notification-delivery-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:3px;padding:9px 10px;display:grid}.notification-recipient-list strong,.notification-delivery-card strong{color:#12213f}.notification-recipient-list span,.notification-delivery-card span,.notification-delivery-card small,.notification-history-head span{color:#64748b;font-size:12px}.notification-message{background:#eff6ff;border-left:4px solid #2563eb;padding:10px 12px}.notification-history .admin-table td small{color:#64748b;margin-top:4px;display:block}.notification-delivery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.notif-modal-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.notif-modal{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:860px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000040}.notif-modal-header{border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:20px 24px 16px;display:flex}.notif-modal-header h3{color:#12213f;margin:0 0 4px;font-size:16px}.notif-modal-subtitle{color:#64748b;margin:0;font-size:12px}.notif-modal-close{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:18px;line-height:1}.notif-modal-close:hover{color:#1e293b;background:#f1f5f9}.notif-modal-body{flex:1;padding:16px 24px 24px;overflow-y:auto}@media (width<=980px){.notification-compose,.notification-grid,.notification-delivery-grid{grid-template-columns:1fr}.notification-wide{grid-column:auto}}.faculty-courses-list{flex-direction:column;gap:16px;padding:8px 0;display:flex}.faculty-courses-empty{color:#94a3b8;flex-direction:column;align-items:center;gap:12px;padding:64px 24px;font-size:15px;display:flex}.faculty-courses-empty-icon{font-size:40px}.faculty-course-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;transition:box-shadow .2s;overflow:hidden;box-shadow:0 1px 4px #0000000d}.faculty-course-card--open{border-color:#bfdbfe;box-shadow:0 4px 16px #1e3a8a1a}.faculty-course-header{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:18px 22px;transition:background .15s;display:flex}.faculty-course-header:hover{background:#f8fafc}.faculty-course-card--open .faculty-course-header{color:#fff;background:linear-gradient(135deg,#1e3a8a 0%,#2563eb 100%)}.faculty-course-meta{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.faculty-course-code{color:inherit;letter-spacing:.01em;font-size:17px;font-weight:800}.faculty-course-section{color:inherit;opacity:.8;background:#0000000f;border-radius:20px;padding:3px 10px;font-size:13px;font-weight:600}.faculty-course-card--open .faculty-course-section{background:#ffffff2e}.faculty-course-units{color:inherit;opacity:.7;font-size:13px}.faculty-course-header-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.faculty-course-students-count{color:inherit;opacity:.8;font-size:13px;font-weight:600}.faculty-course-chevron{width:20px;height:20px;color:inherit;opacity:.7;flex-shrink:0;transition:transform .2s}.faculty-course-chevron--open{transform:rotate(180deg)}.faculty-course-body{border-top:1px solid #e2e8f0;grid-template-columns:1fr 1fr;display:grid}.faculty-course-schedule-block,.faculty-course-students-block{padding:20px 22px}.faculty-course-schedule-block{border-right:1px solid #e2e8f0}.faculty-course-section-title{text-transform:uppercase;letter-spacing:.08em;color:#64748b;align-items:center;gap:8px;margin:0 0 14px;font-size:12px;font-weight:700;display:flex}.faculty-schedule-grid{grid-template-columns:1fr 1fr;gap:10px 16px;display:grid}.faculty-schedule-item{flex-direction:column;gap:2px;display:flex}.faculty-schedule-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.faculty-schedule-value{color:#1e293b;font-size:14px;font-weight:600}.faculty-schedule-none{color:#94a3b8;margin:0;font-size:13px}.faculty-students-count-badge{color:#1d4ed8;background:#dbeafe;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:700}.faculty-students-table{border-collapse:collapse;width:100%;font-size:13px}.faculty-students-table thead tr{background:#f1f5f9}.faculty-students-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:#64748b;border-bottom:1px solid #e2e8f0;padding:8px 10px;font-size:11px;font-weight:700}.faculty-students-table td{color:#1e293b;border-bottom:1px solid #f1f5f9;padding:9px 10px}.faculty-students-table tbody tr:last-child td{border-bottom:none}.faculty-students-table tbody tr:hover td{background:#f8fafc}@media (width<=768px){.faculty-course-body{grid-template-columns:1fr}.faculty-course-schedule-block{border-bottom:1px solid #e2e8f0;border-right:none}.faculty-schedule-grid{grid-template-columns:1fr}}@media (width<=900px){.ar-layout{flex-direction:column}.ar-sidebar{width:100%;min-height:unset;border-bottom:1px solid #adc4ec80;border-right:none;flex-flow:wrap;gap:6px;padding:10px}.ar-sidebar-btn{flex:none;width:auto;min-height:40px}}.audit-logs-page{max-width:1200px;padding:32px 28px}.audit-logs-header{align-items:center;gap:14px;margin-bottom:22px;display:flex}.audit-logs-title{color:#1e293b;margin:0;font-size:22px;font-weight:700}.audit-logs-count{color:#64748b;background:#f1f5f9;border-radius:20px;padding:3px 10px;font-size:13px}.audit-export-menu{margin-left:auto}.audit-export-btn{color:#1e3a8a;cursor:pointer;background:#eff6ff;border:1.5px solid #93c5fd;border-radius:8px;margin-left:auto;padding:7px 16px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s}.audit-export-btn:hover{background:#dbeafe;border-color:#3b82f6}.audit-logs-filters{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.audit-filter-select,.audit-filter-input{color:#374151;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;font-size:13px}.audit-filter-clear{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 14px;font-size:13px}.audit-filter-clear:hover:not(:disabled){background:#f1f5f9}.audit-filter-clear:disabled{opacity:.45;cursor:default}.audit-date-range{align-items:center;gap:6px;display:flex}.audit-date-sep{color:#94a3b8;font-size:13px}.audit-empty-clear{font:inherit;color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.audit-logs-table-wrap{border:1px solid #e2e8f0;border-radius:12px;min-height:260px;max-height:calc(100vh - 320px);overflow:auto}.audit-logs-table-wrap.has-pager{border-radius:12px 12px 0 0}.audit-logs-loading,.audit-logs-empty{text-align:center;color:#94a3b8;padding:40px;font-size:14px}.audit-logs-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:880px;font-size:13px}.audit-logs-table th{z-index:1;color:#475569;text-align:left;white-space:nowrap;text-overflow:ellipsis;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:10px 12px;font-weight:600;position:sticky;top:0;overflow:hidden}.audit-logs-table td{vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid #f1f5f9;padding:8px 12px}.audit-logs-table tr:last-child td{border-bottom:none}.audit-logs-table tr:hover td{background:#f8fafc}.audit-cell-date{color:#64748b}.audit-date-day{color:#334155;white-space:nowrap;font-weight:500;display:block}.audit-date-time{color:#94a3b8;font-size:12px;display:block}.audit-action-badge{border-radius:12px;max-width:100%;padding:3px 9px;font-size:12px;font-weight:600;line-height:1.35;display:inline-block}.audit-entity-type{color:#475569;font-weight:500}.audit-entity-id{color:#94a3b8;font-size:12px;display:block}.audit-cell-user{color:#1e293b;font-weight:500;display:block}.audit-role-tag{color:#64748b;background:#f1f5f9;border-radius:10px;margin-top:3px;padding:1px 6px;font-size:11px;display:inline-block}.audit-cell-details.is-clamped .audit-details-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.audit-logs-table td .audit-details-toggle{color:#2563eb;cursor:pointer;background:0 0;border:none;border-radius:0;margin-top:2px;padding:0;font-size:12px;font-weight:500;display:block}.audit-logs-table td .audit-details-toggle:hover{background:0 0;text-decoration:underline}.audit-details-text{color:#64748b;font-size:12px}.audit-cell-ip{color:#94a3b8;overflow-wrap:anywhere;font-size:12px}.audit-pagination{background:#f8fafc;border:1px solid #e2e8f0;border-top:none;border-radius:0 0 12px 12px;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:10px 14px;display:flex}.audit-page-range{color:#64748b;font-size:13px}.audit-page-size{color:#64748b;align-items:center;gap:6px;font-size:13px;display:flex}.audit-page-size .audit-filter-select{padding:5px 8px}.audit-page-nav{align-items:center;gap:8px;margin-left:auto;display:flex}.audit-page-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:6px 12px;font-size:13px}.audit-page-btn:hover:not(:disabled){background:#f1f5f9}.audit-page-btn:disabled{opacity:.4;cursor:not-allowed}.audit-page-info{color:#64748b;font-size:13px}.audit-category-chips{flex-wrap:wrap;gap:8px;margin:-6px 0 18px;display:flex}.audit-chip{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:6px 15px;font-size:12.5px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.audit-chip:hover{background:#f1f5f9;border-color:#cbd5e1}.audit-chip.active{color:#fff;background:#0f2255;border-color:#0f2255}.audit-2fa-panel{border:1.5px solid;border-radius:14px;align-items:flex-start;gap:16px;margin-bottom:18px;padding:18px 22px;display:flex}.audit-2fa-panel.is-on{background:#f0fdf4;border-color:#bbf7d0;align-items:center;padding:12px 18px}.audit-2fa-panel.is-on .audit-2fa-icon{width:32px;height:32px}.audit-2fa-panel.is-on .audit-2fa-desc{margin-top:2px}.audit-2fa-panel.is-on .audit-2fa-btn{padding:8px 16px;font-size:13px}.audit-2fa-panel.is-off{background:#fffbeb;border-color:#fed7aa}.audit-2fa-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.audit-2fa-panel.is-on .audit-2fa-icon{color:#166534;background:#dcfce7}.audit-2fa-panel.is-off .audit-2fa-icon{color:#92400e;background:#fef3c7}.audit-2fa-body{flex:1;min-width:0}.audit-2fa-title{color:#0f172a;flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:15px;font-weight:700;display:flex}.audit-2fa-state{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:800}.audit-2fa-state.on{color:#166534;background:#dcfce7}.audit-2fa-state.off{color:#92400e;background:#fef3c7}.audit-2fa-desc{color:#475569;margin:7px 0 0;font-size:13px;line-height:1.6}.audit-2fa-warn{color:#9a3412;align-items:flex-start;gap:7px;margin:9px 0 0;font-size:12.5px;line-height:1.55;display:flex}.audit-2fa-warn svg{flex-shrink:0;margin-top:2px}.audit-2fa-btn{cursor:pointer;color:#fff;border:none;border-radius:10px;flex-shrink:0;padding:10px 20px;font-size:13.5px;font-weight:700}.audit-2fa-btn:disabled{cursor:default;background:#94a3b8}.audit-2fa-btn.primary{background:#16a34a}.audit-2fa-btn.danger{background:#b1504d}.audit-2fa-confirm{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:14px;margin-bottom:18px;padding:18px 22px}.audit-2fa-confirm-title{color:#0f172a;margin:0;font-size:14.5px;font-weight:700}.audit-2fa-confirm-desc{color:#475569;margin:7px 0 14px;font-size:13px;line-height:1.6}.audit-2fa-confirm-fields{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.auth-fullpage{background:#f1f5f9;justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:#fff;border-radius:16px;width:100%;max-width:400px;padding:36px 32px;box-shadow:0 4px 24px #00000014}.auth-card-title{color:#1e293b;margin:0 0 8px;font-size:20px;font-weight:700}.auth-card-sub{color:#64748b;margin:0 0 22px;font-size:14px}.auth-status-msg{border-radius:10px;margin-bottom:16px;padding:12px 16px;font-size:14px}.auth-status-ok{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.auth-status-err{color:#b1504d;background:#fef2f2;border:1px solid #fecaca}.auth-card-back{text-align:center;margin-top:18px;font-size:13px}.auth-card-back a{color:#3d7fe6;font-weight:500;text-decoration:none}.auth-card-back a:hover{text-decoration:underline}.login-forgot-row{text-align:right;margin-top:-4px}.login-forgot-link{color:#3d7fe6;font-size:13px;text-decoration:none}.login-forgot-link:hover{text-decoration:underline}.sp-grades-processing{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;margin:12px 0 16px;padding:12px 16px}.sp-grades-processing-title{text-transform:uppercase;letter-spacing:.06em;color:#8a6242;margin-bottom:8px;font-size:11px;font-weight:800}.sp-grades-processing-list{flex-direction:column;gap:6px;display:flex}.sp-grades-processing-item{flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.sp-gp-subject{color:#1e293b;flex:1;min-width:140px;font-weight:600}.sp-gp-subject small{color:#64748b;margin-left:4px;font-weight:400}.sp-gp-period{color:#64748b;font-size:12px}.sp-grade-status-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:3px 9px;font-size:10px;font-weight:800;display:inline-flex}.sp-gs-approved{color:#166534;background:#dcfce7}.sp-gs-pending{color:#8a6242;background:#fef3c7}.sp-gs-revision{color:#9c5252;background:#fee2e2}.sp-gp-note{color:#9c5252;background:#fff1f2;border:1px solid #fecdd3;border-radius:6px;padding:2px 7px;font-size:11px}.sp-appeal-form{margin-bottom:4px}.sp-appeal-row{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.sp-appeal-row select,.sp-appeal-row input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex:1;min-width:180px;padding:8px 10px;font-size:13px}.sp-appeal-row button{color:#fff;cursor:pointer;white-space:nowrap;background:#1e40af;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:700}.sp-appeal-row button:disabled{opacity:.5;cursor:not-allowed}.sp-appeal-msg{color:#166534;margin-top:8px;font-size:12px;font-weight:600}.sp-appeal-list{flex-direction:column;gap:8px;display:flex}.sp-appeal-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 14px}.sp-appeal-reason{color:#1e293b;margin-bottom:6px;font-size:13px}.sp-appeal-meta{color:#64748b;flex-wrap:wrap;align-items:center;gap:10px;font-size:11px;display:flex}.sp-grades-wrap{overflow-x:auto}.sp-grades-table{border-collapse:collapse;width:100%;font-size:13px}.sp-grades-table th{text-align:center;text-transform:uppercase;color:#64748b;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:8px 12px;font-size:11px;font-weight:700}.sp-gt-subject{text-align:left!important}.sp-grades-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:10px 12px}.sp-gt-subject-cell{flex-direction:column;gap:2px;display:flex}.sp-gt-sname{color:#1e293b;font-size:13px;font-weight:600}.sp-gt-scode{color:#94a3b8;font-size:11px}.sp-gt-cell{text-align:center}.sp-gt-empty{text-align:center;color:#cbd5e1}.sp-gt-grade{font-size:16px;font-weight:800;display:block}.sp-gt-avg{color:#94a3b8;margin-top:1px;font-size:11px;display:block}.sp-gt-rem{text-transform:uppercase;margin-top:3px;font-size:10px;font-weight:700;display:block}.sp-gt-pass .sp-gt-grade{color:#16a34a}.sp-gt-fail .sp-gt-grade{color:#b1504d}.sp-gt-rem--pass{color:#16a34a}.sp-gt-rem--fail{color:#b1504d}.sp-gt-pass{background:#f0fdf4}.sp-gt-fail{background:#fef2f2}.student-docs-grid{flex-wrap:wrap;gap:12px;padding:4px 0;display:flex}.student-doc-btn{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex}.student-doc-btn:hover{background:#dbeafe;border-color:#93c5fd}.profile-email-form{margin-top:14px}.profile-email-label{color:#475569;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.profile-email-hint{color:#94a3b8;margin-left:8px;font-size:11px;font-weight:400}.profile-email-row{gap:8px;display:flex}.profile-email-row+.profile-email-row{margin-top:8px}.profile-email-row+.profile-email-label{margin-top:12px}.profile-email-row .login-password-wrapper{flex:1}.profile-email-row .login-password-wrapper .profile-email-input{width:100%}.profile-email-input{color:#1e293b;border:1px solid #e2e8f0;border-radius:8px;flex:1;padding:8px 12px;font-size:13px}.profile-email-input:focus{border-color:#3d7fe6;outline:none;box-shadow:0 0 0 3px #3d7fe626}.profile-email-input:disabled{color:#64748b;cursor:default;background:#f1f5f9}.profile-email-save{color:#fff;cursor:pointer;white-space:nowrap;background:#3d7fe6;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600}.profile-email-save:hover{background:#2d63ea}.profile-email-save:disabled{opacity:.6;cursor:not-allowed}.profile-email-msg{color:#16a34a;margin-top:6px;font-size:12px}.profile-field-card{background:#edf4ffb8;border-radius:12px;margin-top:10px;padding:12px 14px}.profile-field-card .profile-email-form{margin-top:0}.profile-field-card .profile-email-label{letter-spacing:.06em;text-transform:uppercase;color:#5b6f98;font-size:11px;font-weight:800}.profile-field-card .profile-email-input:disabled{background:#fff}.profile-detail-grid.profile-detail-grid-3col{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-page-content.profile-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:20px;max-width:1120px;margin:0 auto;display:grid}.profile-aside{flex-direction:column;gap:12px;display:flex;position:sticky;top:24px}.profile-aside .profile-identity{text-align:center;flex-direction:column;align-items:center;margin-bottom:0;padding:28px 18px 22px}.profile-aside .profile-avatar-large{flex-basis:auto;width:112px;height:112px;font-size:34px}.profile-aside .profile-photo-actions{justify-items:center;width:100%}.profile-aside .profile-upload-btn,.profile-aside .profile-secondary-btn{text-align:center;width:100%}.profile-aside .profile-panel-actions{padding-top:0}.profile-aside .profile-logout-btn{width:100%;padding:11px 12px}.profile-main>.profile-section:last-child{margin-bottom:0}.profile-name-row{justify-content:space-between;align-items:center}.profile-detail-grid>div>.profile-email-input{box-sizing:border-box;width:100%}.profile-activity-card{background:#ffffffb8;border:1px solid #abc4f58c;border-radius:16px;padding:16px 18px}.profile-activity-card h4{color:#12213f;margin:0 0 10px;font-size:14px;font-weight:800}.profile-activity-card dl{gap:10px;margin:0;display:grid}.profile-activity-card dt{color:#5b6f98;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:800}.profile-activity-card dd{color:#1e293b;margin:0;font-size:13px;line-height:1.4}.profile-activity-card dd small{color:#64748b;font-size:12px;display:block}.profile-activity-hint{color:#94a3b8;margin:12px 0 0;font-size:11.5px}.profile-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.profile-section-head h3{margin-bottom:0}.profile-device-note{color:#854d0e;background:#fef9c3;border-radius:10px;margin:0 0 10px;padding:8px 12px;font-size:12.5px}.profile-device-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.profile-device-list li{background:#edf4ffb8;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.profile-device-list li.is-current{box-shadow:inset 0 0 0 1px #3d7fe673}.profile-device-icon{color:#3d7fe6;background:#fff;border-radius:10px;flex:0 0 40px;justify-content:center;align-items:center;height:40px;display:inline-flex}.profile-device-info{flex:1;gap:2px;min-width:0;display:grid}.profile-device-info p{color:#12213f;flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:700;display:flex}.profile-device-info small{color:#64748b;overflow-wrap:anywhere;font-size:12px}.profile-device-badge{color:#166534;background:#dcfce7;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.profile-device-list .profile-secondary-btn{flex-shrink:0}.profile-layout .profile-identity,.profile-layout .profile-section,.profile-layout .profile-activity-card{background:#fff;border:1px solid #e3e9f4;border-radius:14px;box-shadow:0 1px 2px #0f172a0a,0 4px 14px #0f172a0a}.profile-layout .profile-section{margin-bottom:16px;padding:20px 24px}.profile-layout .profile-section h3{color:#0f172a;margin:0 0 4px;font-size:16px;font-weight:700}.pset-section-desc{color:#64748b;margin:0 0 16px;font-size:13px}.profile-aside .profile-photo-actions p:first-child{font-size:17px}.profile-aside .profile-photo-actions>span{color:#1d4ed8;letter-spacing:.02em;background:#eef4ff;border-radius:999px;justify-self:center;padding:3px 10px;font-size:11.5px;font-weight:700}.profile-aside .pset-upload{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;margin-top:6px;font-weight:700}.profile-aside .pset-upload:hover{background:#dbeafe}.profile-aside .pset-btn-ghost{width:100%}.profile-aside .profile-logout-btn{color:#b91c1c;background:#fff;border:1px solid #fecaca;transition:background .15s}.profile-aside .profile-logout-btn:hover{background:#fef2f2}.pset-list{margin-top:8px}.pset-row{border-top:1px solid #eef2f7;grid-template-columns:150px minmax(0,1fr) auto;align-items:start;gap:16px;padding:14px 0;display:grid}.pset-row:first-child{border-top:none}.pset-label{color:#475569;padding-top:7px;font-size:13px;font-weight:600}.pset-body{min-width:0;padding-top:6px}.pset-value{color:#0f172a;overflow-wrap:anywhere;margin:0;font-size:14px}.pset-value.is-empty{color:#94a3b8;font-style:italic}.pset-hint{color:#94a3b8;margin:2px 0 0;font-size:12px}.pset-role-badge{color:#1d4ed8;background:#eef4ff;border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:600;display:inline-block}.pset-edit{gap:8px;max-width:440px;display:grid}.pset-edit .login-password-wrapper{width:100%}.pset-edit-actions,.pset-form-footer{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pset-edit-actions{margin-top:4px}.pset-form-footer{margin-top:18px}.pset-form-footer .pset-hint{margin:0}.pset-btn-ghost{color:#1e3a8a;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:8px;height:32px;padding:0 14px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s}.pset-btn-ghost:hover{background:#f1f5f9;border-color:#94a3b8}.pset-btn-ghost:disabled{opacity:.6;cursor:not-allowed}.pset-btn-ghost.pset-btn-danger{color:#b91c1c;border-color:#fecaca}.pset-btn-ghost.pset-btn-danger:hover{background:#fef2f2;border-color:#fca5a5}.profile-layout .profile-email-save{height:36px;padding:0 18px}.pset-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px;display:grid}.pset-field{gap:6px;min-width:0;display:grid}.pset-field-wide{grid-column:1/-1}.pset-field .pset-hint{margin:0}.pset-field-label{color:#475569;font-size:12.5px;font-weight:600}.profile-layout .profile-email-input{box-sizing:border-box;background:#fff;border-color:#d5dde9;width:100%;height:38px;padding:0 12px;font-size:14px}.pset-password-form{gap:14px;max-width:440px;display:grid}.pset-password-form .pset-form-footer{margin-top:2px}.pset-checkbox{color:#475569;cursor:pointer;align-items:center;gap:8px;width:fit-content;font-size:13px;display:flex}.pset-error{color:#b91c1c;margin:0;font-size:13px}.pset-ok{color:#166534;margin:0;font-size:13px}.pset-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.pset-success p{color:#166534;margin:0;font-size:13px}.pset-count{color:#475569;vertical-align:2px;background:#f1f5f9;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:12px;font-weight:600}.pset-show-more{color:#1d4ed8;cursor:pointer;background:0 0;border:1px dashed #cbd5e1;border-radius:10px;width:100%;margin-top:8px;padding:8px;font-size:13px;font-weight:600;display:block}.pset-show-more:hover{background:#f8fafc;border-style:solid}.profile-layout .profile-device-list li{background:#f8fafc;border:1px solid #eef2f7}.profile-layout .profile-device-icon{border:1px solid #e3e9f4}@media (width<=640px){.profile-layout .profile-section{padding:16px}.pset-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.pset-label{grid-column:1/-1;padding-top:0}.pset-body{padding-top:0}.pset-form-grid{grid-template-columns:1fr}.pset-success{flex-direction:column;align-items:flex-start}}@media (width<=960px){.profile-page-content.profile-layout{grid-template-columns:minmax(0,1fr);max-width:760px}.profile-aside{position:static}}.fd-list{flex-direction:column;gap:6px;display:flex}.fd-faculty-row{text-align:left;cursor:pointer;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:14px;align-items:center;gap:16px;width:100%;padding:16px 20px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s;display:flex}.fd-faculty-row:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.fd-faculty-avatar{color:#fff;background:linear-gradient(135deg,#3b82f6,#7a71a8);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;font-weight:700;display:flex}.fd-faculty-info{flex:1;min-width:0}.fd-faculty-name{color:#1e293b;font-size:15px;font-weight:700}.fd-faculty-sub{color:#64748b;flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px;font-size:12px;display:flex}.fd-sep{color:#cbd5e1}.fd-faculty-loads-preview{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.fd-load-chip{color:#374151;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:5px;padding:2px 8px;font-size:11px;font-weight:500}.fd-load-chip--more{color:#94a3b8;background:0 0;border-style:dashed}.fd-faculty-arrow{color:#cbd5e1;flex-shrink:0;font-size:22px}.fd-advisory-badge{color:#7a71a8;white-space:nowrap;background:#f5f3ff;border:1px solid #c4b5fd;border-radius:5px;padding:1px 7px;font-size:11px;font-weight:700}.fd-empty-state{text-align:center;color:#94a3b8;padding:3rem 1rem;font-size:15px}.fd-detail-header{flex-direction:column;gap:16px;display:flex}.fd-back-btn{color:#475569;cursor:pointer;background:0 0;border:1.5px solid #e2e8f0;border-radius:8px;align-self:flex-start;padding:7px 14px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s}.fd-back-btn:hover{background:#f1f5f9;border-color:#94a3b8}.fd-detail-identity{align-items:center;gap:16px;display:flex}.fd-detail-avatar{color:#fff;background:linear-gradient(135deg,#3b82f6,#7a71a8);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:22px;font-weight:700;display:flex}.fd-detail-meta{color:#64748b;flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;font-size:13px;display:flex}.fd-loads-grid{flex-direction:column;gap:16px;display:flex}.fd-load-card{border:1px solid #e2e8f0;border-radius:14px;overflow:hidden}.fd-load-card-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:14px 18px;display:flex}.fd-load-card-subject{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.fd-load-subject-name{color:#1e293b;font-size:14px;font-weight:600}.fd-load-card-meta{color:#64748b;align-items:center;gap:10px;font-size:12px;display:flex}.fd-load-units{font-weight:600}.fd-load-count{color:#94a3b8}.fd-load-students{background:#fff;padding:14px 18px}.fd-students-loading,.fd-students-empty{color:#94a3b8;margin:0;font-size:13px}.fd-students-table{border-collapse:collapse;width:100%;font-size:13px}.fd-students-table th{text-align:left;color:#64748b;text-transform:uppercase;border-bottom:1px solid #e2e8f0;padding:6px 10px;font-size:11px;font-weight:600}.fd-students-table td{border-bottom:1px solid #f8fafc;padding:7px 10px}.fd-students-table tbody tr:last-child td{border-bottom:none}.fd-students-table tbody tr:hover td{background:#f8fafc}.fd-student-num{color:#94a3b8;width:32px;font-weight:500}.fd-student-name{font-weight:500}.fd-student-level{color:#64748b;font-size:12px}.idle-warning-overlay{z-index:9999;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.idle-warning-box{text-align:center;background:#fff;border-radius:12px;width:90%;max-width:380px;padding:32px 36px;box-shadow:0 8px 32px #00000038}.idle-warning-title{color:#1e293b;margin:0 0 8px;font-size:17px;font-weight:700}.idle-warning-body{color:#64748b;margin:0 0 24px;font-size:14px;line-height:1.5}.idle-warning-btn{color:#fff;cursor:pointer;background:#0f766e;border:none;border-radius:8px;padding:10px 28px;font-size:14px;font-weight:600;transition:background .15s}.idle-warning-btn:hover{background:#0d9488}.toast-container{z-index:10000;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{color:#fff;pointer-events:all;border-radius:10px;align-items:center;gap:10px;min-width:260px;max-width:400px;padding:12px 18px;font-size:14px;font-weight:500;animation:.25s toast-in;display:flex;box-shadow:0 4px 16px #0000002e}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.toast-success{background:#0f766e}.toast-error{background:#b1504d}.toast-warning{background:#b98552}.toast-info{background:#2563eb}.toast-icon{flex-shrink:0;font-size:15px}.toast-message{line-height:1.4}.confirm-overlay{z-index:9998;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-box{background:#fff;border-radius:12px;width:90%;max-width:360px;padding:28px 32px;box-shadow:0 8px 32px #0003}.confirm-message{color:#1e293b;margin:0 0 22px;font-size:15px;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}.confirm-btn-cancel{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:600}.confirm-btn-cancel:hover{background:#f1f5f9}.confirm-btn-ok{color:#fff;cursor:pointer;background:#0f766e;border:none;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:600}.confirm-btn-ok:hover{background:#0d9488}.confirm-btn-danger{background:#d9534f}.confirm-btn-danger:hover{background:#c9302c}.skeleton-row td{padding:10px 12px}.skeleton-cell{background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%) 0 0/200% 100%;border-radius:6px;height:16px;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ui-btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:1px solid #0000;padding:9px 16px;font-size:13px;font-weight:600;line-height:1;text-decoration:none;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,opacity .15s;display:inline-flex}.ui-btn:disabled{opacity:.55;cursor:not-allowed}.ui-btn svg{width:16px;height:16px}.ui-btn--primary{background:var(--brand);color:#fff}.ui-btn--primary:hover:not(:disabled){background:var(--brand-600)}.ui-btn--secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.ui-btn--secondary:hover:not(:disabled){background:var(--surface-3)}.ui-btn--success{background:var(--success);color:#fff}.ui-btn--success:hover:not(:disabled){filter:brightness(1.08)}.ui-btn--danger{background:var(--danger-strong);color:#fff}.ui-btn--danger:hover:not(:disabled){background:var(--danger-strong-600)}.ui-btn--ghost{color:var(--brand);background:0 0}.ui-btn--ghost:hover:not(:disabled){background:var(--brand-50)}.ui-btn--ink{background:var(--brand-ink);color:#fff}.ui-btn--ink:hover:not(:disabled){background:var(--brand-900)}.ui-btn--sm{padding:5px 11px;font-size:12px}.ui-btn--block{width:100%}.ui-badge{border-radius:var(--radius-pill);letter-spacing:.01em;background:var(--surface-3);color:var(--muted);align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.ui-badge--success{background:var(--success-bg);color:var(--success)}.ui-badge--danger{background:var(--danger-bg);color:var(--danger)}.ui-badge--warning{background:var(--warning-bg);color:var(--warning)}.ui-badge--info{background:var(--info-bg);color:var(--info)}.ui-badge--brand{background:var(--brand-50);color:var(--brand-700)}.ui-badge--neutral{background:var(--surface-3);color:var(--muted)}.ui-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5)}.cashier-ai-wrap .dashboard-section,.app.ui-modern .cashier-ai-wrap .dashboard-section{border:1px solid var(--border,#e2e8f0);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;margin-top:0;box-shadow:0 1px 2px #0f172a0d}.app.ui-modern .sidebar{background:radial-gradient(420px 240px at 16% -8%, rgba(var(--brand-rgb), .18), transparent 70%), linear-gradient(180deg, #f7fbff 0%, var(--light) 55%, var(--brand-100) 100%);border-right:1px solid #a6bcec8c;box-shadow:8px 0 26px #12213f1a}.app.ui-modern .sidebar-logo{min-height:104px;padding:12px 2px 8px}.app.ui-modern .sidebar-logo-img{height:92px}.app.ui-modern .sidebar-user-card{background:#ffffffb8;border:1px solid #a6bcec99;box-shadow:0 4px 14px #12213f14}.app.ui-modern .sidebar-user-name{color:var(--brand-ink)}.app.ui-modern .sidebar-user-role{color:#5b78b8}.app.ui-modern .sidebar-avatar{border:1px solid #a6bcec99}.app.ui-modern .sidebar-avatar i{border-color:#fff}.app.ui-modern .sidebar-role-badge{color:var(--brand-600);background:rgba(var(--brand-rgb), .12);border:1px solid rgba(var(--brand-rgb), .28)}.app.ui-modern .sidebar-group-toggle{color:var(--brand-800);background:#ffffff9e;border:1px solid #a6bcec80}.app.ui-modern .sidebar-group-toggle:hover{background:rgba(var(--brand-rgb), .15);border-color:rgba(var(--brand-rgb), .55);color:var(--brand-900)}.app.ui-modern .sidebar-group-toggle .sidebar-item-icon{color:var(--brand)}.app.ui-modern .sidebar-support{border-top-color:#a6bcec8c}.app.ui-modern .sidebar-support-btn{color:var(--brand-800);background:#ffffff9e;border-color:#a6bcec80}.app.ui-modern .sidebar-support-btn:hover{background:rgba(var(--brand-rgb), .15);border-color:rgba(var(--brand-rgb), .55);color:var(--brand-900)}.app.ui-modern .sidebar-support-btn .sidebar-item-icon{color:var(--brand)}.app.ui-modern .sidebar-support-soon{color:var(--brand-600);background:rgba(var(--brand-rgb), .12);border-color:rgba(var(--brand-rgb), .28)}.app.ui-modern .sidebar-group-toggle:hover .sidebar-item-icon{color:var(--brand-900)}.app.ui-modern .sidebar a.sidebar-link{color:var(--brand-800);background:#ffffff9e;border:1px solid #a6bcec80}.app.ui-modern .sidebar a.sidebar-link .sidebar-link-label{color:inherit}.app.ui-modern .sidebar a.sidebar-link:hover{background:rgba(var(--brand-rgb), .15);border-color:rgba(var(--brand-rgb), .55)}.app.ui-modern .sidebar .sidebar-item-icon{color:var(--brand)}.app.ui-modern .sidebar a.sidebar-link.active{background:linear-gradient(135deg, var(--brand-600) 0%, var(--brand) 100%);border-color:rgba(var(--brand-rgb), .55);color:#fff}.app.ui-modern .sidebar a.sidebar-link.active .sidebar-link-label,.app.ui-modern .sidebar a.sidebar-link.active .sidebar-item-icon{color:#fff}.app.ui-modern .sidebar-direct-links a.sidebar-link{text-transform:uppercase;letter-spacing:.04em;font-size:11.5px;font-weight:800}.app.ui-modern .sidebar-collapse-btn{color:var(--brand);background:#ffffffb3;border:1px solid #a6bcec99}.app.ui-modern .sidebar-collapse-btn:hover{background:var(--brand);color:#fff}.app.ui-modern .sidebar-nav{scrollbar-color:#78a0f066 transparent}.request-forms-grid{grid-template-columns:1.35fr 1fr}@media (width<=860px){.request-forms-grid{grid-template-columns:1fr}}.app.ui-modern .dashboard-hero-panel,.app.ui-modern .student-hero-card{border:1px solid #94b2eb80;border-radius:26px;box-shadow:0 24px 48px -22px #15367847}.app.ui-modern .dashboard-hero-copy .dashboard-title,.app.ui-modern .student-hero-card h1{letter-spacing:-.02em;color:var(--brand-900);background:linear-gradient(115deg, var(--brand-900) 0%, var(--brand-600) 60%, var(--brand) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(28px,3.6vw,42px);font-weight:900}.app.ui-modern .dashboard-hero-copy .dashboard-subtitle{color:#4f6187;font-size:15px}.app.ui-modern .dashboard-hero-snapshot{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffbf;border:1px solid #fffffff2;border-radius:18px;box-shadow:0 12px 26px -16px #15367866}.metric-head{align-items:center;gap:10px;display:flex}.metric-icon{background:var(--brand-50);width:36px;height:36px;color:var(--brand);border-radius:11px;flex:none;justify-content:center;align-items:center;display:inline-flex}.dashboard-metric-card p.metric-value{color:#12213f;margin:4px 0 0;font-size:clamp(28px,3vw,38px);font-weight:800;line-height:1.05}.dashboard-metric-card p.metric-trend{color:var(--brand);margin:0 0 4px;font-size:12.5px;font-weight:700}.app.ui-modern .dashboard-metric-card p.metric-value{color:#12213f}.app.ui-modern .dashboard-metric-card p.metric-trend{color:var(--brand)}.dashboard-metric-card.tone-success .metric-icon{color:#16a34a;background:#e5f7ec}.dashboard-metric-card.tone-warning .metric-icon{color:#b98552;background:#fef3e2}.dashboard-metric-card.tone-accent .metric-icon{color:#7a71a8;background:#f0ebff}.dashboard-metric-card.tone-success p.metric-trend{color:#16a34a}.dashboard-metric-card.tone-warning p.metric-trend{color:#b98552}.dashboard-metric-card.tone-accent p.metric-trend{color:#7a71a8}.so-readonly-view{position:relative}.so-readonly-overlay{pointer-events:none;z-index:5;-webkit-backdrop-filter:grayscale(.35);backdrop-filter:grayscale(.35);background:linear-gradient(#646e8214,#646e8214);position:absolute;inset:0}.so-readonly-shield{z-index:6;color:#f1f5f9;letter-spacing:.2px;pointer-events:none;background:#334155eb;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:12.5px;font-weight:700;display:flex;position:fixed;bottom:28px;right:28px;box-shadow:0 6px 20px #0f172a40}.export-menu{max-width:100%;display:inline-flex}.export-menu__trigger{justify-content:center;align-items:center;gap:var(--space-2);display:inline-flex}.export-menu__caret{opacity:.75;flex-shrink:0}.export-menu__panel{z-index:10050;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:min(340px,100vw - 16px);max-height:min(70vh,480px);box-shadow:var(--shadow-lg);padding:4px;position:fixed;overflow-y:auto}.export-menu__item{box-sizing:border-box;border-radius:var(--radius-sm);text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;font-family:inherit;text-decoration:none;transition:background .12s;display:flex}.export-menu__item:hover:not([aria-disabled=true]),.export-menu__item:focus-visible{background:var(--brand-50);outline:none}.export-menu__item[aria-disabled=true],.export-menu__item:disabled{opacity:.45;cursor:not-allowed}.export-menu__icon{border-radius:var(--radius-sm);background:var(--surface-3);width:26px;height:26px;color:var(--brand);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.export-menu__icon svg{width:15px;height:15px}.export-menu__text{gap:1px;min-width:0;display:grid}.export-menu__label{color:var(--text-strong);font-size:13px;font-weight:600}.export-menu__hint{color:var(--muted-2);font-size:11px;line-height:1.35}@media print{.export-menu,.export-menu__panel{display:none!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.review-form{flex-direction:column;width:min(660px,100%);display:flex}.review-card{background:#fff;border:1px solid #dbe3ee;border-radius:14px;margin-bottom:14px;overflow:hidden;box-shadow:0 1px 2px #122c630a}.review-card--payment{border-color:#bfdbfe}.review-card-head{background:#f8fafc;border-bottom:1px solid #e6ecf5;justify-content:space-between;align-items:center;gap:12px;padding:11px 16px;display:flex}.review-card--payment .review-card-head{background:var(--brand-50,#eff6ff);border-bottom-color:#bfdbfe}.review-card-title{text-transform:uppercase;letter-spacing:.08em;color:#3f4f66;margin:0;font-size:11.5px;font-weight:800}.review-edit-btn{color:#1d4ed8;cursor:pointer;background:#fff;border:1px solid #c3d4ee;border-radius:999px;align-items:center;gap:5px;padding:4px 11px;font-size:12px;font-weight:700;transition:background-color .15s,border-color .15s;display:inline-flex}.review-edit-btn:hover{background:#eff6ff;border-color:#93b4e8}.review-edit-btn:focus-visible{outline-offset:2px;outline:2px solid #2d63ea}.review-dl{margin:0;padding:4px 16px}.review-row{border-bottom:1px solid #f1f5f9;grid-template-columns:168px minmax(0,1fr);align-items:start;gap:6px 18px;padding:10px 0;display:grid}.review-row:last-child{border-bottom:0}.review-dt{color:#475569;font-size:13px;font-weight:600;line-height:1.45}.review-dd{color:#0f172a;overflow-wrap:anywhere;margin:0;font-size:13.5px;font-weight:600;line-height:1.45}.review-card--payment .review-dd{color:#14315e}.review-file{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.review-file-thumb{object-fit:cover;background:#f8fafc;border:1px solid #dbe3ee;border-radius:7px;flex:none;width:40px;height:40px}.review-file-thumb--generic{color:#64748b;justify-content:center;align-items:center;display:inline-flex}.review-file-meta{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.review-file-name{color:#0f172a;overflow-wrap:anywhere;font-size:13px;font-weight:600}.review-file-sub{color:#5b6b82;font-size:11.5px;font-weight:600}.review-file-view{color:#1d4ed8;text-decoration:underline}.review-file-view:hover{color:#1e3a8a}.review-badge{letter-spacing:.01em;white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:800;display:inline-flex}.review-badge--ok{color:#16653a;background:#e8f6ee;border:1px solid #bfe3cd}.review-badge--pending{color:#7a5312;background:#fdf4e3;border:1px solid #f0dcb4}.review-total{border-top:2px solid #bfdbfe;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 14px;margin:2px 16px 0;padding:14px 0 16px;display:flex}.review-total-label{color:#3f4f66;text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:700}.review-total-value{letter-spacing:-.01em;color:#14315e;font-size:26px;font-weight:800;line-height:1.15}.review-total-note{color:#5b6b82;flex-basis:100%;font-size:11.5px;font-weight:600}.review-next{background:#fbfcfe;border:1px solid #dbe3ee;border-radius:12px;margin:4px 0 16px;padding:14px 16px}.review-next-title{text-transform:uppercase;letter-spacing:.07em;color:#3f4f66;margin:0 0 8px;font-size:12px;font-weight:800}.review-next-list{color:#34445c;gap:5px;margin:0;padding-left:18px;font-size:13px;line-height:1.5;display:grid}.review-attest{cursor:pointer;color:#22344d;background:#fff;border:1px solid #c9d8ef;border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:14px;padding:13px 15px;font-size:13px;line-height:1.5;transition:border-color .15s,background-color .15s;display:flex}.review-attest:hover{border-color:#9fbce6}.review-attest input{accent-color:#2d63ea;cursor:pointer;flex:none;width:17px;height:17px;margin-top:2px}.review-attest:focus-within{border-color:#2d63ea;box-shadow:0 0 0 3px #2d63ea29}.review-actions{align-items:stretch;gap:10px;display:flex}.review-back-btn{color:#1e3a6e;cursor:pointer;background:#fff;border:1px solid #c3d4ee;border-radius:10px;flex:none;padding:14px 22px;font-size:14.5px;font-weight:700;transition:background-color .15s,border-color .15s}.review-back-btn:hover:not(:disabled){background:#f4f8ff;border-color:#93b4e8}.review-submit-btn{color:#fff;letter-spacing:.02em;cursor:pointer;background:linear-gradient(135deg,#2d63ea,#1e3a8a);border:none;border-radius:10px;flex:auto;padding:14px 20px;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 14px #2d63ea4d}.review-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 7px 18px #2d63ea5c}.review-submit-btn:disabled{box-shadow:none;cursor:not-allowed;background:#aebfdd;transform:none}.review-back-btn:disabled{opacity:.55;cursor:not-allowed}.review-actions button:focus-visible{outline-offset:2px;outline:2px solid #1e3a8a}.review-hint{color:#5b6b82;text-align:center;margin:9px 0 0;font-size:12px;font-weight:600}@media (width<=560px){.review-row{grid-template-columns:1fr;gap:2px;padding:9px 0}.review-dt{font-size:12px}.review-total-value{font-size:23px}.review-actions{flex-direction:column-reverse}.review-back-btn{width:100%}}.wizard-progress-steps{justify-content:space-between;gap:4px;margin-top:9px;padding:0;list-style:none;display:flex}.wizard-progress-steps li{text-align:center;letter-spacing:.02em;color:#64748b;flex:1 1 0;font-size:10.5px;font-weight:700;line-height:1.25}.wizard-progress-steps li:first-child{text-align:left}.wizard-progress-steps li:last-child{text-align:right}.wizard-progress-steps li.done{color:#3f4f66}.wizard-progress-steps li.current{color:#1d4ed8;font-weight:800}@media (width<=420px){.wizard-progress-steps li{font-size:9.5px}}.st-layout{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:18px;display:grid}@media (width<=1100px){.st-layout{grid-template-columns:1fr}}.st-queue{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:12px;padding:14px;display:flex;position:sticky;top:16px}@media (width<=1100px){.st-queue{position:static}}.st-chips{flex-wrap:wrap;gap:6px;display:flex}.st-chip{cursor:pointer;border:1.5px solid var(--border);background:var(--surface);color:var(--muted);border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:11.5px;font-weight:700;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.st-chip span{background:var(--surface-3);color:var(--muted);border-radius:10px;padding:0 6px;font-size:10.5px}.st-chip:hover{border-color:var(--border-strong)}.st-chip.active{background:var(--brand);border-color:var(--brand);color:#fff}.st-chip.active span{color:#fff;background:#ffffff40}.st-picker-search{border:1.5px solid var(--border);background:var(--surface);color:var(--muted-2);border-radius:9px;align-items:center;gap:7px;padding:0 10px;display:flex}.st-picker-search:focus-within{border-color:var(--brand)}.st-picker-search input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:8px 0;font-size:13px}.st-queue-list{flex-direction:column;gap:7px;max-height:62vh;display:flex;overflow-y:auto}.st-card{text-align:left;cursor:pointer;border:1.5px solid var(--border);background:var(--surface);border-radius:11px;flex-direction:column;gap:6px;width:100%;padding:10px 12px;transition:border-color .12s,background .12s,box-shadow .12s;display:flex}.st-card:hover{border-color:var(--brand-200);background:var(--surface-2)}.st-card.active{border-color:var(--brand);background:var(--brand-50);box-shadow:0 0 0 3px rgba(var(--brand-rgb), .08)}.st-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.st-card-name{color:var(--text-strong);font-size:13.5px;line-height:1.25}.st-card-dest{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:flex}.st-card-foot{align-items:center;gap:8px;display:flex}.st-card-foot code{color:var(--muted-2);font-size:10.5px}.st-card-dots{gap:3px;margin-left:auto;display:inline-flex}.st-card-dots i{background:var(--border-strong);border-radius:50%;width:6px;height:6px}.st-card-dots i.on{background:var(--success)}.st-card-dots i.bad{background:var(--danger-strong)}.st-card-age{color:var(--muted-2);background:var(--surface-3);border-radius:10px;padding:1px 6px;font-size:10.5px;font-weight:700}.st-case{background:var(--surface);border:1px solid var(--border);border-radius:14px;min-height:420px;padding:20px 22px}.st-case-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:4px;padding-bottom:14px;display:flex}.st-case-head h2{color:var(--text-strong);margin:0;font-size:19px}.st-case-sub{color:var(--muted);margin:3px 0 0;font-size:12.5px}.st-case-sub code{color:var(--brand-700);font-size:11.5px}.st-case-head-right{align-items:center;gap:10px;display:flex}.st-steps{flex-direction:column;display:flex}.st-step{grid-template-columns:34px minmax(0,1fr);gap:12px;display:grid}.st-step-rail{flex-direction:column;align-items:center;padding-top:16px;display:flex}.st-step-dot{white-space:nowrap;border:2px solid var(--border-strong);background:var(--surface);min-width:26px;height:26px;color:var(--muted);border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;padding:0 6px;font-size:11.5px;font-weight:800;display:inline-flex}.st-step-line{background:var(--border);flex:1;width:2px;margin:6px 0 0}.st-step:last-child .st-step-line{display:none}.st-step-body{min-width:0;padding:14px 0 20px}.st-step-head{align-items:flex-start;gap:9px;display:flex}.st-step-icon{color:var(--muted-2);padding-top:1px}.st-step-title{color:var(--text-strong);margin:0;font-size:14.5px;font-weight:700}.st-step-caption{color:var(--muted);margin:2px 0 0;font-size:12.5px;line-height:1.45}.st-step-content{margin-top:13px}.st-step--done .st-step-dot{border-color:var(--success);background:var(--success-bg);color:var(--success)}.st-step--done .st-step-line{background:var(--success);opacity:.35}.st-step--active .st-step-dot{border-color:var(--brand);background:var(--brand);color:#fff}.st-step--active .st-step-icon{color:var(--brand)}.st-step--locked .st-step-body{opacity:.55}.st-step--locked .st-step-dot{border-style:dashed}.st-facts{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px 22px;margin:0 0 12px;display:grid}.st-facts dt{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-2);margin-bottom:2px;font-size:10.5px;font-weight:700}.st-facts dd{color:var(--text);margin:0;font-size:13px}.st-facts-sub{color:var(--muted);font-size:11.5px;font-weight:400;display:block}.st-edit-grid{flex-wrap:wrap;gap:12px;display:flex}.st-edit-grid .cc-form-group{flex:200px}.st-edit-grid .cc-form-group span{color:#475569;text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:700}.st-edit-actions{gap:8px;width:100%;display:flex}.st-btn-sm{padding:6px 13px;font-size:12.5px}.st-btn-xs{gap:4px;padding:4px 9px;font-size:11.5px}.st-clearance-list{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.st-clearance{border:1.5px solid var(--border);background:var(--surface-2);border-left-width:4px;border-left-color:var(--border-strong);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;padding:10px 13px;display:flex}.st-clearance--cleared{border-left-color:var(--success);background:var(--success-tint)}.st-clearance--blocked{border-left-color:var(--danger-strong);background:#fef6f6}.st-clearance-main{flex:220px;min-width:190px}.st-clearance-name{color:var(--text-strong);flex-wrap:wrap;align-items:center;gap:7px;font-size:13.5px;font-weight:600;display:flex}.st-optional,.st-auto{text-transform:uppercase;letter-spacing:.05em;background:var(--surface-3);color:var(--muted-2);border-radius:9px;padding:1px 6px;font-size:9.5px;font-weight:700}.st-auto{background:var(--brand-50);color:var(--brand-700)}.st-clearance-meta{flex-direction:column;gap:2px;margin-top:3px;display:flex}.st-amount{color:var(--danger-strong);font-size:12.5px}.st-clearance-remark{color:var(--muted);font-size:12px}.st-clearance-sig{color:var(--muted-2);font-size:11px}.st-clearance-side{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.st-clearance-actions{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.st-remark-input{border:1.5px solid var(--border);background:var(--surface);border-radius:7px;width:140px;padding:4px 8px;font-size:11.5px}.st-remark-input:focus{border-color:var(--brand);outline:none}.st-gate{border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:12px;padding:12px 15px;font-size:13px;line-height:1.5;display:flex}.st-gate--open{background:var(--success-bg);color:var(--success);border:1px solid #bbf7d0}.st-gate--shut{background:var(--danger-bg);color:#7f1d1d;border:1px solid #fecaca}.st-gate ul{margin:5px 0 0;padding-left:18px}.st-gate li{margin-bottom:2px}.st-advance{margin-top:2px}.st-release{flex-direction:column;gap:18px;display:flex}.st-release--locked{pointer-events:none}.st-release--locked .st-release-btn{pointer-events:auto}.st-sub{border:1px solid var(--border);background:var(--surface-2);border-radius:11px;padding:14px 16px}.st-sub h5{color:var(--text-strong);align-items:center;gap:8px;margin:0 0 4px;font-size:13.5px;font-weight:700;display:flex}.st-sub-n{background:var(--brand-ink);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:inline-flex}.st-sub-note{color:var(--muted);margin:0 0 11px;font-size:12.5px;line-height:1.5}.st-release-grid{flex-wrap:wrap;gap:11px;display:flex}.st-release-grid .cc-form-group{flex:170px}.st-release-grid .cc-form-group span{color:#475569;text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:700}.st-consequences{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.st-consequences li{color:var(--text);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.st-consequences svg{color:var(--muted-2);flex-shrink:0}.st-snapshot-count{color:var(--muted);margin:11px 0 0;font-size:12.5px;line-height:1.5}.st-warn{color:var(--warning);font-weight:700}.st-release-btn{align-self:flex-start;gap:7px;padding:10px 20px;font-size:14px}.st-locked-note{color:var(--muted-2);align-items:center;gap:6px;margin:-8px 0 0;font-size:12px;display:flex}.st-completed{flex-direction:column;gap:6px;display:flex}.st-snapshot-title{color:var(--text-strong);margin:8px 0;font-size:13px;font-weight:700}.st-picker{border:1.5px solid var(--border);background:var(--surface-2);border-radius:9px;max-height:210px;margin-top:8px;overflow-y:auto}.st-picker-row{text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--border);background:0 0;flex-direction:column;gap:1px;width:100%;padding:8px 12px;display:flex}.st-picker-row:last-child{border-bottom:none}.st-picker-row:hover{background:var(--brand-50)}.st-picker-row.active{background:var(--brand-50);box-shadow:inset 3px 0 0 var(--brand)}.st-picker-name{color:var(--text-strong);font-size:13px;font-weight:600}.st-picker-meta{color:var(--muted);font-size:11.5px}.st-picker-confirm{background:var(--brand-50);color:var(--brand-800);border-radius:9px;margin:0;padding:10px 13px;font-size:12.5px;line-height:1.5}.st-confirm-lead{color:var(--text);margin:0;font-size:13.5px;line-height:1.55}.st-confirm-list{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.st-confirm-list li{color:var(--text);font-size:13px;line-height:1.5}.st-confirm-warn{background:var(--danger-bg);color:#7f1d1d;border-radius:9px;align-items:flex-start;gap:8px;margin:0;padding:10px 13px;font-size:12.5px;line-height:1.5;display:flex}.st-confirm-warn svg{flex-shrink:0;margin-top:1px}.st-empty{color:var(--muted-2);margin:0;padding:14px 4px;font-size:13px}.st-empty-state{text-align:center;color:var(--muted-2);flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:34px 16px;display:flex}.st-empty-state p{max-width:460px;margin:0;font-size:13px;line-height:1.55}.st-empty-state--lg{padding:70px 20px}.st-empty-state--lg h3{color:var(--muted);margin:4px 0 0;font-size:16px}.feature-card.st-portal-card{width:auto;max-width:760px;padding:20px}.st-portal-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.st-portal-head h4{color:var(--brand-800);margin:0;font-size:16px}.st-portal-head p{color:var(--muted);margin:3px 0 0;font-size:12.5px}.st-portal-head code{color:var(--brand-700);font-size:12px;font-weight:700}.st-portal-card .st-portal-intro{color:var(--muted);margin:0 0 14px;font-size:13px;line-height:1.6}.st-portal-h5{color:var(--text-strong);margin:16px 0 8px;font-size:13px;font-weight:700}.st-portal-card .st-portal-foot{border-top:1px solid var(--border);color:var(--muted);margin:14px 0 0;padding-top:13px;font-size:12.5px;line-height:1.6}.st-portal-confirm{background:var(--brand-50);border:1px solid var(--brand-200);border-radius:10px;margin-top:14px;padding:13px 15px}.st-portal-confirm p{color:var(--brand-800);margin:0 0 10px;font-size:13px;line-height:1.55}.st-tracker{margin:0 0 4px;padding:0;list-style:none;display:flex}.st-tracker li{color:var(--muted-2);text-align:center;flex-direction:column;flex:1 1 0;align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:flex;position:relative}.st-tracker li:before{content:"";background:var(--border);z-index:0;width:100%;height:2px;position:absolute;top:12px;left:-50%}.st-tracker li:first-child:before{display:none}.st-tracker li.done:before,.st-tracker li.current:before{background:var(--brand)}.st-tracker-dot{z-index:1;border:2px solid var(--border-strong);background:var(--surface);width:25px;height:25px;color:var(--muted-2);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex;position:relative}.st-tracker li.done .st-tracker-dot{border-color:var(--brand);background:var(--brand);color:#fff}.st-tracker li.done{color:var(--muted)}.st-tracker li.current .st-tracker-dot{border-color:var(--brand);color:var(--brand);box-shadow:0 0 0 4px rgba(var(--brand-rgb), .14)}.st-tracker li.current{color:var(--brand-700);font-weight:800}.st-portal-checklist{flex-wrap:wrap;gap:6px 14px;margin:10px 0 0;padding:0;list-style:none;display:flex}.st-portal-checklist li{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.st-portal-checklist li>span{background:var(--surface-3);width:16px;height:16px;color:var(--muted-2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:800;display:inline-flex}.st-portal-checklist li.cleared{color:var(--success)}.st-portal-checklist li.cleared>span{background:var(--success-bg);color:var(--success)}.st-portal-checklist li.blocked{color:var(--danger-strong);font-weight:600}.st-portal-checklist li.blocked>span{background:var(--danger-bg);color:var(--danger-strong)}.st-portal-checklist em{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-2);background:var(--surface-3);border-radius:8px;padding:1px 5px;font-size:9.5px;font-style:normal;font-weight:700}@media (width<=560px){.st-tracker li{font-size:10px}.st-portal-card{padding:15px}}.ss-wrap{vertical-align:middle;min-width:0;max-width:100%;display:inline-block;position:relative}.ss-control{box-sizing:border-box;border:1px solid var(--border,#e2e8f0);width:100%;color:var(--text,#1e293b);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:8px;padding:8px 10px 8px 12px;font-size:13.5px;line-height:1.35;transition:border-color .15s,box-shadow .15s;display:flex}.ss-control:hover:not(:disabled){border-color:#cbd5e1}.ss-control:focus-visible{outline:2px solid var(--brand-600,#2563eb);outline-offset:1px}.ss-control.is-open{border-color:var(--brand-600,#2563eb);box-shadow:0 0 0 3px #2563eb1f}.ss-control:disabled{color:#94a3b8;cursor:not-allowed;background:#f8fafc}.ss-control.is-placeholder .ss-value{color:#94a3b8}.ss-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ss-caret{color:#94a3b8;flex-shrink:0;transition:transform .15s}.ss-control.is-open .ss-caret{transform:rotate(180deg)}.ss-mirror{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute;bottom:0;left:12px}.ss-pop{z-index:10060;border:1px solid var(--border,#e2e8f0);background:#fff;border-radius:10px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 12px 32px #0f172a29}.ss-search{color:#94a3b8;border-bottom:1px solid #f1f5f9;flex-shrink:0;align-items:center;gap:7px;padding:8px 10px;display:flex}.ss-search input{min-width:0;font:inherit;color:var(--text,#1e293b);background:0 0;border:none;outline:none;flex:1;font-size:13px}.ss-list{flex:1;margin:0;padding:4px;list-style:none;overflow-y:auto}.ss-opt{color:#334155;cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:7px 9px;font-size:13px;display:flex}.ss-opt-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ss-opt.is-active{background:#eff6ff}.ss-opt.is-selected{color:#1e3a8a;font-weight:600}.ss-opt.is-selected svg{color:#2563eb;flex-shrink:0}.ss-opt.is-disabled{color:#cbd5e1;cursor:not-allowed}.ss-group{text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;padding:8px 9px 4px;font-size:10.5px;font-weight:700}.ss-empty{text-align:center;color:#94a3b8;padding:14px 10px;font-size:13px}.ss-count{color:#94a3b8;border-top:1px solid #f1f5f9;flex-shrink:0;padding:6px 10px;font-size:11px}.set-tabs{border-bottom:1px solid var(--border);margin-bottom:var(--space-5);gap:2px;display:flex;overflow-x:auto}.set-tab{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:600;position:relative}.set-tab:hover{color:var(--text)}.set-tab[aria-selected=true]{color:var(--brand);border-bottom-color:var(--brand)}.set-tab:focus-visible{outline:2px solid var(--brand);outline-offset:-2px;border-radius:var(--radius-sm)}.set-panel+.set-panel{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border)}.set-panel-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.set-panel-head--sticky{z-index:6;background:var(--surface);padding:var(--space-3) 0;margin-top:calc(-1 * var(--space-3));position:sticky;top:0;box-shadow:0 6px 8px -8px #0f172a40}.set-panel-title{color:var(--brand-800);margin:0;font-size:15px;font-weight:700}.set-panel-desc{color:var(--muted);max-width:680px;margin:4px 0 0;font-size:13px;line-height:1.5}.set-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.set-stack{flex-direction:column;gap:14px;display:flex}.set-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4) 20px;transition:border-color .15s,box-shadow .15s}.set-card--editing{border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb), .12)}.set-card--new{border:1.5px dashed var(--brand-200);background:var(--brand-50)}.set-card--inactive:not(.set-card--editing) .set-card-body,.set-card--inactive:not(.set-card--editing) .set-card-title{opacity:.6}.set-card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;margin-bottom:14px;display:flex}.set-card-title{align-items:center;gap:var(--space-2);color:var(--brand-800);flex-wrap:wrap;font-size:15px;font-weight:700;display:flex}.set-card-sub{color:var(--muted);margin-top:3px;font-size:12px}.set-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px 16px;display:grid}.set-grid+.set-grid,.set-grid+.set-field,.set-field+.set-grid{margin-top:12px}.set-label{color:var(--muted-2);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.set-hint{color:var(--muted);margin-top:4px;font-size:11.5px}.set-value{color:var(--text);word-break:break-word;white-space:pre-wrap;font-size:14px;line-height:1.45}.set-value--muted{color:var(--muted-2)}.set-value--mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.set-input{box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);padding:8px 10px;font-family:inherit;font-size:14px}.set-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb), .15);outline:none}.set-input:disabled{background:var(--surface-3);color:var(--muted);cursor:not-allowed}textarea.set-input{resize:vertical;line-height:1.45}.set-money{position:relative}.set-money>span{color:var(--muted-2);pointer-events:none;font-size:13px;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.set-money .set-input{padding-left:24px}.set-check{color:var(--text);cursor:pointer;align-items:flex-start;gap:8px;font-size:13px;display:inline-flex}.set-check input{margin-top:2px}.set-notice{border-radius:var(--radius);border:1px solid;padding:10px 14px;font-size:12.5px;line-height:1.5}.set-notice--info{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-800)}.set-notice--warning{background:var(--warning-bg);color:var(--warning);border-color:#fde68a}.set-notice--danger{background:var(--danger-bg);color:var(--danger);border-color:#fca5a5}.set-total{color:var(--muted);white-space:nowrap;font-size:13px}.set-total strong{color:var(--text-strong)}.set-empty{text-align:center;color:var(--muted-2);padding:28px 0;font-size:13px}.set-table{border-collapse:collapse;width:100%;font-size:13px}.set-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-2);border-bottom:1px solid var(--border);background:var(--surface-2);padding:8px 10px;font-size:11px;font-weight:600}.set-table td{border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text);padding:8px 10px}.set-table tr:last-child td{border-bottom:none}.set-table .num{text-align:right;font-variant-numeric:tabular-nums}.set-table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.set-icon-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.set-icon-btn:hover:not(:disabled){background:var(--danger-bg);color:var(--danger-strong);border-color:#fca5a5}.set-icon-btn svg{width:15px;height:15px}.set-toast{z-index:9999;background:var(--success);color:#fff;max-width:min(420px,100vw - 32px);box-shadow:var(--shadow-lg);border-radius:10px;padding:12px 18px;font-size:14px;font-weight:600;line-height:1.4;position:fixed;bottom:28px;right:28px}.set-toast--error{background:var(--danger-strong)}@media (width<=640px){.set-card{padding:14px}.set-card-head,.set-panel-head{flex-direction:column;align-items:stretch}.set-actions{justify-content:flex-start}.set-toast{bottom:16px;left:16px;right:16px}}.set-panel .set-panel-desc{color:var(--muted);font-size:13px;line-height:1.5}.set-panel .set-empty{color:var(--muted-2);margin:0;font-size:13px;line-height:1.5}.set-table-wrap .set-table td button.set-icon-btn{width:28px;height:28px;color:var(--muted);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;margin:0;padding:0}.set-table-wrap .set-table td button.set-icon-btn:hover:not(:disabled){background:var(--danger-bg);color:var(--danger-strong);border-color:#fca5a5}.set-table-wrap .set-table td button.set-icon-btn:disabled{opacity:.35;cursor:not-allowed}.set-grid--compact{grid-template-columns:repeat(auto-fill,minmax(180px,240px))}.ui-pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:4px 2px;display:flex}.ui-pager-info{color:#64748b;font-size:13px}.ui-pager-controls{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.ui-pager-btn{color:#1e3a8a;cursor:pointer;background:#fff;border:1px solid #d5dde9;border-radius:8px;min-width:34px;height:32px;padding:0 10px;font-size:13px;font-weight:600}.ui-pager-btn:hover:not(:disabled){background:#f1f5f9}.ui-pager-btn:disabled{opacity:.45;cursor:not-allowed}.ui-pager-btn.is-active{color:#fff;background:#3d7fe6;border-color:#3d7fe6}.ui-pager-gap{color:#94a3b8;padding:0 4px}@media (width<=640px){.ui-pager{justify-content:center}.ui-pager-num:not(.is-active),.ui-pager-gap{display:none}}.ui-pager.ui-pager-inset{border-top:1px solid #e2e8f0;margin-top:0;padding:14px 24px 18px}.ui-pager.ui-pager-compact{flex-direction:column;align-items:stretch;gap:6px;margin-top:10px}.ui-pager.ui-pager-compact .ui-pager-info{text-align:center;font-size:12px}.ui-pager.ui-pager-compact .ui-pager-controls{justify-content:space-between}.ui-pager.ui-pager-compact .ui-pager-num,.ui-pager.ui-pager-compact .ui-pager-gap{display:none}.ab-page{--ab-navy:#0b1f4d;--ab-navy-2:#12306e;--ab-royal:#1d4ed8;--ab-royal-2:#2563eb;--ab-sky:#38bdf8;--ab-ink:#1e2b4a;--ab-muted:#51627f;--ab-line:#94b2e673;--ab-card:#ffffffdb;--ab-shadow:0 1px 2px #0b1f4d0d, 0 12px 32px #0b1f4d14;--ab-shadow-hi:0 2px 4px #0b1f4d0f, 0 20px 44px #0b1f4d24;color:var(--ab-ink);padding-bottom:0;position:relative;overflow-x:clip}.about-preview-frame{--ab-navy:#0b1f4d;--ab-navy-2:#12306e;--ab-royal:#1d4ed8;--ab-royal-2:#2563eb;--ab-sky:#38bdf8;--ab-ink:#1e2b4a;--ab-muted:#51627f;--ab-line:#94b2e673;--ab-card:#ffffffdb;--ab-shadow:0 1px 2px #0b1f4d0d, 0 12px 32px #0b1f4d14;--ab-shadow-hi:0 2px 4px #0b1f4d0f, 0 20px 44px #0b1f4d24}.ab-page main{z-index:1;position:relative}.ab-page :focus-visible{outline:3px solid var(--ab-royal-2);outline-offset:3px;border-radius:10px}.ab-page .public-page-header{z-index:2;position:relative}.ab-page .public-page-header .login-top-brand-img{height:50px}.ab-container{box-sizing:border-box;width:min(1120px,100%);margin:0 auto;padding:0 20px}.ab-progress{z-index:60;pointer-events:none;height:3px;position:fixed;inset:0 0 auto}.ab-progress span{transform-origin:0;background:linear-gradient(90deg, var(--ab-royal), var(--ab-sky));height:100%;display:block;transform:scaleX(0)}.ab-bg{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.ab-bg span{filter:blur(60px);opacity:.55;border-radius:50%;animation:26s ease-in-out infinite alternate ab-drift;position:absolute}.ab-bg span:first-child{background:#bcd7ff;width:520px;height:520px;top:-120px;left:-140px}.ab-bg span:nth-child(2){background:#a5d8ff;width:460px;height:460px;animation-delay:-9s;top:420px;right:-160px}.ab-bg span:nth-child(3){background:#c7d2fe;width:380px;height:380px;animation-delay:-17s;top:1500px;left:10%}@keyframes ab-drift{to{transform:translate(60px,40px)scale(1.08)}}.ab-eyebrow,.ab-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--ab-royal-2);margin:0 0 10px;font-size:12px;font-weight:800}.ab-section-head{max-width:760px;margin:0 0 28px}.ab-section-head h2{letter-spacing:-.02em;color:var(--ab-navy);margin:0;font-size:clamp(26px,3.4vw,38px);font-weight:800;line-height:1.12}.ab-lede{color:var(--ab-muted);margin:12px 0 0;font-size:16.5px;line-height:1.6}.ab-subhead{color:var(--ab-navy);letter-spacing:-.01em;margin:0 0 16px;font-size:20px;font-weight:800}.ab-prose p{color:#33436b;max-width:70ch;margin:0 0 12px;font-size:15.5px;line-height:1.75}.ab-prose p:last-child{margin-bottom:0}.ab-btn{min-height:46px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:15px;font-weight:700;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s,color .18s;display:inline-flex}.ab-btn svg{transition:transform .18s}.ab-btn:hover{transform:translateY(-1px)}.ab-btn:hover svg:last-child{transform:translate(2px)}.ab-btn--primary{color:#fff;background:linear-gradient(135deg, var(--ab-royal), var(--ab-royal-2));box-shadow:0 10px 24px #1d4ed852}.ab-btn--primary:hover{box-shadow:0 14px 30px #1d4ed861}.ab-btn--ghost{color:var(--ab-navy);border-color:var(--ab-line);background:#ffffffd9}.ab-btn--ghost:hover{box-shadow:var(--ab-shadow);background:#fff}.ab-btn--light{color:var(--ab-navy);background:#fff}.ab-btn--outline{color:#fff;background:#ffffff0f;border-color:#ffffff8c}.ab-btn--outline:hover{background:#ffffff29}.ab-hero{box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:40px;width:min(1120px,100%);margin:0 auto;padding:56px 20px 40px;display:grid}.ab-hero h1{letter-spacing:-.03em;color:var(--ab-navy);margin:0;font-size:clamp(34px,5vw,56px);font-weight:800;line-height:1.05}.ab-hero h1 span{background:linear-gradient(120deg, var(--ab-royal) 10%, #0ea5e9 90%);color:#0000;-webkit-background-clip:text;background-clip:text}.ab-hero-tag{border:1px solid var(--ab-line);color:var(--ab-navy-2);background:#ffffffb3;border-radius:999px;margin:16px 0 0;padding:5px 12px;font-size:13px;font-weight:600;display:inline-block}.ab-hero-lede{max-width:54ch;color:var(--ab-muted);margin:18px 0 0;font-size:17px;line-height:1.65}.ab-hero-ctas{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.ab-hero-copy>*{animation:.6s cubic-bezier(.2,.7,.2,1) both ab-rise}.ab-hero-copy>:nth-child(2){animation-delay:60ms}.ab-hero-copy>:nth-child(3){animation-delay:.12s}.ab-hero-copy>:nth-child(4){animation-delay:.18s}.ab-hero-copy>:nth-child(5){animation-delay:.24s}@keyframes ab-rise{0%{opacity:0;transform:translateY(14px)}}.ab-video{position:relative}.ab-video video,.ab-video img{object-fit:cover;width:100%;height:100%;display:block}.ab-video-replay{cursor:pointer;min-height:32px;font:inherit;color:#0b1f4d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:.85;background:#ffffffe0;border:0;border-radius:999px;align-items:center;gap:5px;padding:0 11px;font-size:12.5px;font-weight:700;transition:opacity .18s,transform .18s;display:inline-flex;position:absolute;bottom:10px;right:10px;box-shadow:0 4px 12px #0b1f4d2e}.ab-video-replay:hover,.ab-video-replay:focus-visible{opacity:1;transform:translateY(-1px)}.ab-transform{margin:0}.ab-transform-media{aspect-ratio:16/9;background:#2f86d6 url(/about-transform.jpg) 50%/cover no-repeat;border:4px solid #ffffffd9;border-radius:20px;overflow:hidden;box-shadow:0 2px 6px #0b1f4d14,0 24px 52px #0b1f4d33}.ab-hero-media{aspect-ratio:16/9;background:#8fd0f5 url(/about-hero.jpg) 50%/cover no-repeat;border:4px solid #ffffffd9;border-radius:24px;width:100%;animation:.8s cubic-bezier(.2,.7,.2,1) .15s both ab-rise;position:relative;overflow:hidden;box-shadow:0 2px 6px #0b1f4d14,0 28px 60px #0b1f4d38}.ab-hero-art{place-items:center;min-height:360px;animation:.8s cubic-bezier(.2,.7,.2,1) .15s both ab-rise;display:grid;position:relative}.ab-art-ring{filter:blur(2px);background:conic-gradient(from 200deg,#2563eb38,#38bdf847,#6366f12e,#2563eb38);border-radius:50%;width:340px;height:340px;animation:40s linear infinite ab-spin;position:absolute}.ab-art-ring:after{content:"";background:#f0f6ffeb;border-radius:50%;position:absolute;inset:26px}@keyframes ab-spin{to{transform:rotate(360deg)}}.ab-art-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:min(300px,80%);box-shadow:var(--ab-shadow-hi);background:#ffffffd1;border:1px solid #ffffffe6;border-radius:20px;padding:18px;position:relative}.ab-art-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.ab-art-head img{width:auto;height:26px}.ab-art-head span{background:#e3ecfb;border-radius:6px;flex:1;height:8px}.ab-campus{width:100%;height:auto;color:var(--ab-royal)}.ab-art-lines{gap:7px;margin-top:12px;display:grid}.ab-art-lines span{background:#e3ecfb;border-radius:6px;height:8px}.ab-art-lines span:nth-child(2){width:82%}.ab-art-lines span:nth-child(3){background:linear-gradient(90deg,#bfdbfe,#e0f2fe);width:58%}.ab-chip{color:var(--ab-navy);box-shadow:var(--ab-shadow-hi);background:#fff;border-radius:12px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:700;animation:6s ease-in-out infinite ab-float;display:inline-flex;position:absolute}.ab-chip svg{color:var(--ab-royal-2)}.ab-chip--a{top:1%;left:6%}.ab-chip--b{animation-delay:-2s;top:46%;right:-2%}.ab-chip--c{animation-delay:-4s;bottom:8%;left:8%}@keyframes ab-float{50%{transform:translateY(-8px)}}.ab-nav{z-index:20;pointer-events:none;justify-content:center;margin:4px 0 8px;padding:0 20px;display:flex;position:sticky;top:12px}.ab-seg{pointer-events:auto;grid-template-columns:repeat(var(--count), minmax(120px, 1fr));border:1px solid var(--ab-line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--ab-shadow);background:#ffffffe6;border-radius:14px;padding:5px;display:grid;position:relative}.ab-seg-thumb{width:calc((100% - 10px) / var(--count));background:linear-gradient(135deg, var(--ab-royal), var(--ab-royal-2));transform:translateX(calc(100% * var(--index)));border-radius:10px;transition:transform .32s cubic-bezier(.2,.7,.2,1);position:absolute;top:5px;bottom:5px;left:5px;box-shadow:0 6px 16px #1d4ed84d}.ab-seg-item{z-index:1;text-align:center;color:var(--ab-muted);border-radius:10px;padding:10px 18px;font-size:14px;font-weight:700;text-decoration:none;transition:color .2s;position:relative}.ab-seg-item:hover{color:var(--ab-navy)}.ab-seg-item.is-active{color:#fff}.ab-section{padding-top:56px;padding-bottom:24px;scroll-margin-top:72px}.ab-section:focus{outline:none}.ab-intro-card{background:var(--ab-card);box-shadow:var(--ab-shadow);border:1px solid #ffffffe6;border-radius:18px;grid-template-columns:auto minmax(0,1fr);gap:18px;margin-bottom:18px;padding:26px 28px;display:grid}.ab-intro-card .ab-prose p{max-width:none}.ab-intro-card h3{letter-spacing:.08em;text-transform:uppercase;color:var(--ab-royal-2);margin:2px 0 10px;font-size:13px;font-weight:800}.ab-intro-mark,.ab-duo-icon,.ab-contact-icon,.ab-bento-icon{width:44px;height:44px;color:var(--ab-royal-2);background:linear-gradient(135deg,#e0ecff,#eef6ff);border:1px solid #d4e3fb;border-radius:12px;place-items:center;transition:transform .25s;display:inline-grid}.ab-duo{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-bottom:36px;display:grid}.ab-duo-card{background:var(--ab-card);box-shadow:var(--ab-shadow);border:1px solid #ffffffe6;border-radius:18px;padding:24px;transition:transform .22s,box-shadow .22s}.ab-duo-card h3{color:var(--ab-navy);margin:14px 0 8px;font-size:18px;font-weight:800}.ab-duo-card p{color:#33436b;margin:0 0 10px;font-size:15px;line-height:1.7}.ab-duo-card p:last-child{margin-bottom:0}.ab-values{margin-bottom:36px}.ab-values-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.ab-value{background:var(--ab-card);box-shadow:var(--ab-shadow);border:1px solid #ffffffe6;border-radius:16px;padding:20px 20px 18px;transition:transform .22s,box-shadow .22s;position:relative;overflow:hidden}.ab-value:before{content:"";background:linear-gradient(var(--ab-royal), var(--ab-sky));width:4px;position:absolute;inset:0 auto 0 0}.ab-value-num{letter-spacing:.12em;color:#8aa6d6;font-size:12px;font-weight:800}.ab-value h4{color:var(--ab-navy);margin:6px 0;font-size:16px;font-weight:800}.ab-value p{color:var(--ab-muted);margin:0;font-size:14px;line-height:1.6}.ab-contact{margin-bottom:12px}.ab-contact-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.ab-contact-card{background:var(--ab-card);box-shadow:var(--ab-shadow);border:1px solid #ffffffe6;border-radius:16px;flex-direction:column;padding:20px;transition:transform .22s,box-shadow .22s;display:flex}.ab-contact-label{letter-spacing:.1em;text-transform:uppercase;color:#6b7fa3;margin:14px 0 4px;font-size:12px;font-weight:800}.ab-contact-value{color:var(--ab-navy);overflow-wrap:anywhere;margin:0;font-size:15px;font-weight:600;line-height:1.5}.ab-contact-link{text-decoration:none}.ab-contact-link:hover{color:var(--ab-royal-2);text-underline-offset:3px;text-decoration:underline}.ab-contact-acts{flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:14px;display:flex}.ab-act{min-height:36px;color:var(--ab-royal);font:inherit;cursor:pointer;background:#fff;border:1px solid #c9d8f2;border-radius:10px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:700;text-decoration:none;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.ab-act:hover{background:#eff5ff;border-color:#9dbbee}.ab-act--ghost{color:var(--ab-muted)}.ab-act.is-done{color:#15803d;background:#f0fdf4;border-color:#86efac}@media (hover:hover){.ab-duo-card:hover,.ab-value:hover,.ab-contact-card:hover,.ab-bento-card:hover{box-shadow:var(--ab-shadow-hi);transform:translateY(-3px)}.ab-duo-card:hover .ab-duo-icon,.ab-contact-card:hover .ab-contact-icon,.ab-bento-card:hover .ab-bento-icon{transform:rotate(-6deg)scale(1.06)}}.ab-divider{color:#6b7fa3;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:14px;margin:32px auto 0;font-size:12px;font-weight:800;display:flex}.ab-divider:before,.ab-divider:after{content:"";background:linear-gradient(90deg,#0000,#a9c2ec,#0000);flex:1;height:1px}.ab-system{container-type:inline-size}.ab-system-intro{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:center;gap:28px;margin-bottom:40px;display:grid}.ab-dash{background:#fff;border:1px solid #dbe6f8;border-radius:16px;overflow:hidden;box-shadow:0 2px 4px #0b1f4d0f,0 24px 48px #0b1f4d24}.ab-dash-bar{background:#f3f7fd;border-bottom:1px solid #e3ebf8;align-items:center;gap:6px;padding:10px 12px;display:flex}.ab-dash-bar i{background:#f87171;border-radius:50%;width:9px;height:9px}.ab-dash-bar i:nth-child(2){background:#fbbf24}.ab-dash-bar i:nth-child(3){background:#34d399}.ab-dash-bar span{background:#e3ebf8;border-radius:6px;flex:1;max-width:160px;height:8px;margin-left:10px}.ab-dash-body{grid-template-columns:44px 1fr;min-height:220px;display:grid}.ab-dash-side{background:linear-gradient(#0f2a66,#12306e);align-content:start;gap:8px;padding:12px 8px;display:grid}.ab-dash-side span{color:#9db7e6;border-radius:8px;place-items:center;height:28px;display:grid}.ab-dash-side span.is-active{color:#fff;background:#ffffff24}.ab-dash-main{gap:12px;padding:14px;display:grid}.ab-dash-kpis{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.ab-dash-kpis div{background:#f5f8fe;border:1px solid #e6eef9;border-radius:10px;gap:6px;padding:10px;display:grid}.ab-dash-kpis b{background:#c8d9f5;border-radius:4px;width:60%;height:10px}.ab-dash-kpis em{background:#e3ebf8;border-radius:4px;width:85%;height:6px}.ab-dash-chart{border-bottom:1px solid #e6eef9;align-items:flex-end;gap:8px;height:84px;padding:0 4px;display:flex}.ab-dash-chart span{height:var(--h);background:linear-gradient(180deg, var(--ab-sky,#38bdf8), var(--ab-royal-2,#2563eb));transform-origin:bottom;border-radius:6px 6px 0 0;flex:1}.ab-dash-rows{gap:6px;display:grid}.ab-dash-rows span{background:#eef3fb;border-radius:5px;height:9px}.ab-dash-rows span:nth-child(2){width:86%}.ab-dash-rows span:nth-child(3){width:64%}.ab-bento-wrap{margin-bottom:36px}.ab-bento{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.ab-bento-card{background:var(--ab-card,#ffffffdb);box-shadow:var(--ab-shadow,0 12px 32px #0b1f4d14);border:1px solid #ffffffe6;border-radius:18px;flex-direction:column;gap:8px;padding:22px;transition:transform .22s,box-shadow .22s;display:flex}.ab-bento-card h4{color:var(--ab-navy,#0b1f4d);margin:6px 0 0;font-size:16.5px;font-weight:800}.ab-bento-card p{color:var(--ab-muted,#51627f);margin:0;font-size:14px;line-height:1.6}@container (width>=720px){.ab-bento{grid-template-columns:repeat(3,minmax(0,1fr))}.ab-bento-card.is-featured{color:#fff;background:linear-gradient(140deg,#0f2a66 0%,#1d4ed8 60%,#0ea5e9 130%);border-color:#0000;grid-area:span 2/span 2;justify-content:flex-end;padding:30px}.ab-bento-card.is-featured h4{color:#fff;font-size:24px}.ab-bento-card.is-featured p{color:#dbe8ff;max-width:44ch;font-size:15.5px}.ab-bento-card.is-featured .ab-bento-icon{color:#fff;background:#ffffff24;border-color:#ffffff40;width:56px;height:56px;margin-bottom:auto}.ab-bento-card.is-featured{isolation:isolate;position:relative;overflow:hidden}.ab-bento-card.is-featured .ab-bento-video{display:block}.ab-bento-card.is-featured>:not(.ab-bento-video){z-index:1;position:relative}.ab-bento-card.is-span-2{grid-column:span 2}.ab-bento-card.is-span-3{grid-column:span 3}}.ab-bento-video{z-index:0;pointer-events:none;display:none;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#00000040 28%,#000 62%);mask-image:linear-gradient(90deg,#0000 0%,#00000040 28%,#000 62%)}.ab-bento-video video,.ab-bento-video img{opacity:.9}.ab-company{background:#ffffffb3;border:1px dashed #b9cdf0;border-radius:18px;gap:14px;margin-bottom:36px;padding:22px 24px;display:grid}.ab-company .ab-kicker{margin-bottom:2px}.ab-company-id{align-items:center;gap:14px;display:flex}.ab-company-mark{background:var(--ab-navy,#0b1f4d);color:#fff;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.ab-company-name{color:var(--ab-navy,#0b1f4d);margin:0;font-size:17px;font-weight:800}.ab-company-links{flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;list-style:none;display:flex}.ab-company-links li{color:var(--ab-muted,#51627f);overflow-wrap:anywhere;align-items:center;gap:7px;font-size:14px;display:inline-flex}.ab-company-links svg{color:var(--ab-royal-2,#2563eb);flex-shrink:0}.ab-company-links a{color:var(--ab-royal,#1d4ed8);font-weight:600;text-decoration:none}.ab-company-links a:hover{text-underline-offset:3px;text-decoration:underline}.ab-fineprint{color:#7d8db0;margin:0;font-size:12px}.ab-roles{box-shadow:var(--ab-shadow);background:linear-gradient(160deg,#ffffffeb,#eef5ffeb);border:1px solid #ffffffe6;border-radius:22px;margin-bottom:40px;padding:28px}.ab-roles-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;margin-bottom:16px;display:flex}.ab-roles-head .ab-subhead{margin:0}.ab-roles-head p{color:var(--ab-muted);margin:0;font-size:14px}.ab-roles-tabs{scrollbar-width:thin;gap:8px;padding:2px 2px 8px;display:flex;overflow-x:auto}.ab-role-tab{min-height:44px;color:var(--ab-muted);font:inherit;cursor:pointer;background:#fff;border:1px solid #d3e0f5;border-radius:12px;flex:none;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:700;transition:background .18s,color .18s,border-color .18s,box-shadow .18s;display:inline-flex}.ab-role-tab:hover{color:var(--ab-navy);border-color:#a9c2ec}.ab-role-tab.is-active{color:#fff;background:linear-gradient(135deg, var(--ab-royal), var(--ab-royal-2));border-color:#0000;box-shadow:0 8px 18px #1d4ed847}.ab-role-panel{background:#fff;border:1px solid #e3ebf8;border-radius:16px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:20px 32px;margin-top:12px;padding:22px;animation:.32s both ab-fade;display:grid}@keyframes ab-fade{0%{opacity:0;transform:translateY(6px)}}.ab-role-intro{align-items:flex-start;gap:14px;display:flex}.ab-role-icon{color:#fff;background:linear-gradient(140deg, #0f2a66, var(--ab-royal-2));border-radius:14px;flex-shrink:0;place-items:center;width:54px;height:54px;display:grid}.ab-role-intro h4{color:var(--ab-navy);margin:2px 0 6px;font-size:19px;font-weight:800}.ab-role-intro p{color:var(--ab-muted);margin:0;font-size:15px;line-height:1.6}.ab-role-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.ab-role-list li{color:var(--ab-ink);align-items:flex-start;gap:10px;font-size:14.5px;line-height:1.5;display:flex}.ab-role-list svg{color:#16a34a;flex-shrink:0;margin-top:2px}.ab-role-note{color:#7d8db0;border-top:1px solid #eef3fb;grid-column:1/-1;margin:0;padding-top:12px;font-size:12.5px}.ab-cta{color:#fff;background:radial-gradient(600px 240px at 90% 0,#38bdf873,#0000 60%),linear-gradient(135deg,#0b1f4d 0%,#1d4ed8 100%);border-radius:24px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 28px;margin:16px 0 56px;padding:36px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 50px #0b1f4d47}.ab-cta h2{letter-spacing:-.01em;margin:0;font-size:clamp(22px,2.6vw,30px);font-weight:800}.ab-cta p{color:#cfe0ff;max-width:52ch;margin:8px 0 0;font-size:15.5px}.ab-cta-acts{flex-wrap:wrap;gap:10px;display:flex}.ab-cta :focus-visible{outline-color:#fff}.ab-footer{z-index:1;color:#d6e4ff;background:linear-gradient(#102b63 0%,#0b1f4d 100%);position:relative}.ab-footer-grid{grid-template-columns:1.3fr 1fr .8fr;gap:28px;padding-top:40px;padding-bottom:28px;display:grid}.ab-footer-brand img{background:#fff;border-radius:10px;width:auto;height:40px;padding:6px 10px}.ab-footer-name{color:#fff;margin:14px 0 4px;font-size:18px;font-weight:800}.ab-footer-tag{color:#a9bfe6;margin:0;font-size:13.5px}.ab-footer-title{letter-spacing:.14em;text-transform:uppercase;color:#8fb0ea;margin:0 0 12px;font-size:12px;font-weight:800}.ab-footer-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.ab-footer-list li{overflow-wrap:anywhere;align-items:flex-start;gap:8px;font-size:14px;display:flex}.ab-footer-list svg{color:#8fb0ea;flex-shrink:0;margin-top:3px}.ab-footer-list a{color:#e8f0ff;text-decoration:none}.ab-footer-list a:hover{color:#fff;text-underline-offset:3px;text-decoration:underline}.ab-footer :focus-visible{outline-color:#93c5fd}.ab-footer-legal{text-align:center;color:#8fa5cf;border-top:1px solid #8fb0ea2e;padding:14px 20px 18px;font-size:12.5px}.ab-top{z-index:50;border:1px solid var(--ab-line);cursor:pointer;color:#fff;background:linear-gradient(135deg, var(--ab-royal), var(--ab-royal-2));opacity:0;pointer-events:none;border-radius:14px;place-items:center;width:46px;height:46px;transition:opacity .2s,transform .2s;display:grid;position:fixed;bottom:22px;right:22px;transform:translateY(12px);box-shadow:0 10px 24px #1d4ed859}.ab-top.is-shown{opacity:1;pointer-events:auto;transform:none}.ab-motion .ab-reveal{opacity:0;transition:opacity .55s,transform .55s cubic-bezier(.2,.7,.2,1);transform:translateY(18px)}.ab-motion .ab-reveal.is-in{opacity:1;transform:none}.ab-motion .ab-reveal .ab-dash-chart span{transition:transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i) * 60ms + .2s);transform:scaleY(.15)}.ab-motion .ab-reveal.is-in .ab-dash-chart span{transform:none}@media (width<=900px){.ab-hero{grid-template-columns:1fr;gap:20px;padding-top:36px}.ab-hero-art{min-height:300px}.ab-role-panel{grid-template-columns:1fr}.ab-footer-grid{grid-template-columns:1fr 1fr}.ab-footer-brand{grid-column:1/-1}}@media (width<=600px){.ab-hero-ctas .ab-btn,.ab-cta-acts .ab-btn{width:100%}.ab-hero-art{min-height:260px}.ab-art-ring{width:250px;height:250px}.ab-chip{padding:6px 10px;font-size:12px}.ab-chip--b{right:0}.ab-intro-card{grid-template-columns:1fr;padding:20px}.ab-roles,.ab-cta{padding:20px}.ab-role-panel{padding:16px}.ab-seg{grid-template-columns:repeat(var(--count), minmax(0, 1fr));width:100%}.ab-footer-grid{grid-template-columns:1fr}.ab-top{bottom:14px;right:14px}}.ab-clamp-body{overflow:hidden}.ab-clamp-body.is-clamped{-webkit-mask-image:linear-gradient(#000 55%,#0000 100%);mask-image:linear-gradient(#000 55%,#0000 100%)}.ab-clamp-toggle{cursor:pointer;font:inherit;color:var(--ab-royal-2,#2563eb);background:0 0;border:0;margin-top:6px;padding:4px 0;font-size:13.5px;font-weight:700}.ab-clamp-toggle:hover{text-underline-offset:3px;text-decoration:underline}.ab-page :is(.ab-prose p,.ab-duo-card p,.ab-value p,.ab-bento-card p,.ab-hero-lede,.ab-lede,.ab-role-intro p,.ab-cta p),.about-preview-frame :is(.ab-prose p,.ab-bento-card p,.ab-lede){text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto}@media (width<=600px){.ab-page :is(.ab-prose p,.ab-duo-card p,.ab-value p,.ab-bento-card p,.ab-hero-lede,.ab-lede,.ab-role-intro p,.ab-cta p){text-align:left;-webkit-hyphens:manual;hyphens:manual}}@media (prefers-reduced-motion:reduce){.ab-page *,.ab-page :before,.ab-page :after{transition:none!important;animation:none!important}}.clr-page .clr-intro,.clr-settings .clr-intro{color:var(--muted);margin:0 0 12px;font-size:13px;line-height:1.55}.clr-note,.clr-page p.clr-note,.clr-settings p.clr-note{color:var(--muted);margin:0;font-size:12.5px;line-height:1.55}.clr-empty,.clr-page p.clr-empty,.clr-settings p.clr-empty{color:var(--muted-2);margin:0;padding:14px 4px;font-size:13px}.clr-page .st-empty-state p{font-size:13px}.clr-label{color:#475569;text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:600}.clr-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.clr-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.clr-toolbar .st-chips{margin:0}.clr-select{color:#1e293b;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;padding:7px 10px;font-size:13px}.clr-search{color:#94a3b8;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;align-items:center;gap:7px;padding:7px 10px;display:flex}.clr-search input{color:#1e293b;background:0 0;border:none;outline:none;width:100%;font-size:13px}.clr-search--grow{flex:220px}.clr-item-list{flex-direction:column;gap:8px;display:flex}.clr-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px 14px;display:flex}.clr-item--blocked{background:snow;border-color:#fecaca}.clr-item--cleared{border-color:#bbf7d0}.clr-item-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.clr-item-title{color:#1e293b;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.clr-item-sub{color:#64748b;font-size:12px}.clr-item-case{color:#475569;flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;font-size:12px;display:flex}.clr-item-case code{color:#1d4ed8;font-size:11.5px;font-weight:700}.clr-office-tag{color:#0f766e;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;padding:1px 8px;font-weight:700}.clr-optional{color:#94a3b8;font-size:11px;font-style:italic;font-weight:500}.clr-amount{color:#b91c1c;font-size:12.5px;font-weight:700}.clr-remark{color:#7f1d1d;font-size:12.5px}.clr-item--cleared .clr-remark{color:#475569}.clr-signed{color:#64748b;font-size:11.5px}.clr-item-side{flex-direction:column;align-items:flex-end;gap:7px;display:flex}.clr-item-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;max-width:430px;display:flex}.clr-item-actions .st-remark-input{width:190px}@media (width<=760px){.clr-item{flex-direction:column}.clr-item-side{align-items:stretch;width:100%}.clr-item-actions{justify-content:flex-start;max-width:none}.clr-item-actions .st-remark-input{width:100%}}.clr-table .clr-row-link{cursor:pointer}.clr-table .clr-row-link:hover td{background:#f8fafc}.clr-blocked-count{color:#b91c1c;font-weight:600}.clr-detail-head{color:#475569;flex-wrap:wrap;align-items:center;gap:10px;font-size:12.5px;display:flex}.clr-detail-head code{color:#1d4ed8;font-weight:700}.clr-footer-count{color:#64748b;align-self:center;margin-right:auto;font-size:12.5px}.clr-settings{flex-direction:column;gap:18px;display:flex}.clr-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px 18px}.clr-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.clr-panel-head h3{color:#1e293b;margin:0 0 3px;font-size:15px}.clr-settings .clr-panel-head p{color:#64748b;max-width:640px;margin:0;font-size:12.5px;line-height:1.5}.clr-office-list,.clr-type-list{flex-direction:column;gap:8px;display:flex}.clr-office,.clr-type{border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:12px;padding:11px 12px;display:flex}.clr-office.off,.clr-type.off{opacity:.8;background:#f8fafc}.clr-order{flex-direction:column;gap:3px;display:flex}.clr-order button{cursor:pointer;color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:2px 4px;line-height:0}.clr-order button:disabled{opacity:.35;cursor:default}.clr-office-main{flex:1;min-width:0}.clr-office-name{color:#1e293b;flex-wrap:wrap;align-items:center;gap:6px;font-size:13.5px;font-weight:700;display:flex}.clr-office-desc{color:#64748b;margin-top:2px;font-size:12.5px}.clr-office-meta{color:#475569;flex-direction:column;gap:2px;margin-top:5px;font-size:12px;display:flex}.clr-office-meta em{color:#94a3b8}.clr-office-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.clr-danger-text{color:#b91c1c}.clr-check{color:#334155;cursor:pointer;align-items:flex-start;gap:8px;font-size:13px;line-height:1.45;display:flex}.clr-check input{margin-top:3px}.clr-type-picks{flex-wrap:wrap;gap:6px;padding-left:22px;display:flex}.clr-pill-check{cursor:pointer;color:#334155;border:1px solid #cbd5e1;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12.5px;display:inline-flex}.clr-pill-check.on{color:#1d4ed8;background:#eff6ff;border-color:#2563eb}.clr-pill-check input{margin:0}.clr-pick-list{border:1px solid #e2e8f0;border-radius:10px;max-height:260px;overflow-y:auto}.clr-pick-list--tall{max-height:320px}.clr-pick{cursor:pointer;border-bottom:1px solid #f1f5f9;grid-template-columns:auto 1fr;column-gap:9px;padding:8px 12px;display:grid}.clr-pick:last-child{border-bottom:none}.clr-pick input{grid-row:span 2;margin-top:3px}.clr-pick.on{background:#eff6ff}.clr-pick.disabled{opacity:.55;cursor:default}.clr-pick-name{color:#1e293b;font-size:13px;font-weight:600}.clr-pick-meta{color:#64748b;font-size:11.5px}.clr-select-all{font-size:12.5px}.clr-new-account{background:#f8fbff;border:1px dashed #93c5fd;border-radius:10px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.clr-inline-btn{align-self:flex-start;align-items:center;gap:6px;display:inline-flex}.cc-modal-footer a.cc-btn{align-items:center;gap:6px;text-decoration:none;display:inline-flex}.clr-total{color:#64748b;margin-left:auto;font-size:12.5px}.st-chip span{opacity:.75;margin-left:4px;font-weight:700}.clr-loading{opacity:.55;pointer-events:none;transition:opacity .15s}.clr-case{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.clr-case.open{border-color:#93c5fd;box-shadow:0 6px 18px #2563eb14}.clr-case-head{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;grid-template-columns:minmax(200px,1fr) minmax(220px,1.3fr) auto;align-items:center;gap:16px;padding:12px 14px;display:grid}.clr-case-head:hover{background:#f8fafc}.clr-case-who{flex-direction:column;gap:3px;min-width:0;display:flex}.clr-case-progress{flex-direction:column;gap:5px;min-width:0;display:flex}.clr-progress{background:#e2e8f0;border-radius:99px;height:7px;overflow:hidden}.clr-progress span{background:linear-gradient(90deg,#10b981,#059669);border-radius:99px;height:100%;display:block}.clr-progress-label{color:#475569;font-size:12px;font-weight:600}.clr-case-waiting{flex-wrap:wrap;gap:4px;display:flex}.clr-chip{color:#475569;white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:99px;padding:1px 7px;font-size:11px}.clr-chip--blocked{color:#b91c1c;background:#fef2f2;border-color:#fecaca;font-weight:600}.clr-case-toggle{color:#2563eb;background:#eff6ff;border-radius:8px;padding:6px 10px;font-size:12.5px;font-weight:700}.clr-case-body{background:#fbfdff;border-top:1px solid #eef2f7;flex-direction:column;gap:8px;padding:12px 14px 14px;display:flex}.clr-bulk{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;padding:9px 12px;display:flex}.clr-bulk.active{background:#eff6ff;border-color:#93c5fd}.clr-bulk-count{color:#1d4ed8;font-size:12.5px;font-weight:700}.clr-bulk .clr-bulk-remark{flex:200px;width:auto}.clr-row-select{align-items:flex-start;gap:10px;display:flex}.clr-row-select>input[type=checkbox]{flex-shrink:0;width:16px;height:16px;margin-top:16px}.clr-row-select>.clr-item{flex:1;min-width:0}@media (width<=860px){.clr-case-head{grid-template-columns:1fr;gap:10px}.clr-case-toggle{justify-self:start}}.st-gate-count{color:#475569;margin:2px 0 0;font-size:12.5px;font-weight:600}.clr-toolbar .clr-ss{flex:0 200px;min-width:170px}.clr-toolbar .clr-ss--wide{flex:0 300px;min-width:240px}
