@import "https://api.fontshare.com/v2/css?f[]=cabinet-grotesk@400,500,700,800,900&display=swap";@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";@import "https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;500;600;700;800;900;1000&display=swap";@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap";.portal-root[data-portal-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--bg2:#0a0a0a;--bg3:#111;--bg4:#1a1a1a;--bg5:#222;--bd:#2a2a2a;--bd2:#333;--bd3:#444;--t1:#f0f0f0;--t2:#ccc;--t3:#888;--t4:#555;--inv:#fff;--inv-t:#000;--accent-bg:#ffffff14;--skeleton:linear-gradient(90deg, #1a1a1a 0%, #222 50%, #1a1a1a 100%);color:var(--t1)}.portal-root[data-portal-theme=light]{--bg:#fff;--bg2:#fff;--bg3:#fff;--bg4:#fff;--bg5:#e2e8f0;--bd:#e5e7eb;--bd2:#004b8d24;--bd3:#004b8d38;--t1:#0f172a;--t2:#334155;--t3:#64748b;--t4:#94a3b8;--inv:#004b8d;--inv-t:#fff;--accent-bg:#004b8d14;--skeleton:linear-gradient(90deg, #fff 0%, #f5f5f5 50%, #fff 100%);color:var(--t1)}html[data-portal-theme=dark],html[data-portal-theme=dark] body,html[data-portal-theme=dark] #root{background:#000!important}html[data-portal-theme=light],html[data-portal-theme=light] body,html[data-portal-theme=light] #root{background:#fff!important}html[data-portal-theme] body{height:100dvh;max-height:100dvh;overflow:hidden}@media (width<=1023px){html[data-portal-theme] body,html[data-portal-theme] #root{height:var(--portal-vvh,100dvh);max-height:var(--portal-vvh,100dvh);overflow:hidden}html[data-portal-theme] .portal-root{left:0;right:0;top:var(--portal-vv-offset-top,0px);width:100%;height:var(--portal-vvh,100dvh);max-height:var(--portal-vvh,100dvh);min-height:0;position:fixed;overflow:hidden}}.portal-root{--portal-topbar-height:76px;background:var(--bg);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;min-height:100dvh;transition:background .2s,color .2s}.portal-root input,.portal-root textarea,.portal-root select,.portal-root [contenteditable=true],.portal-root .erp-select-search input,.portal-root .erp-select-search-trigger input{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.portal-root ::selection{background:0 0}.portal-root input::-moz-selection{background:rgb(var(--erp-blue-rgb,0 75 141) / 28%)}.portal-root textarea::-moz-selection{background:rgb(var(--erp-blue-rgb,0 75 141) / 28%)}.portal-root .erp-select-search input::-moz-selection{background:rgb(var(--erp-blue-rgb,0 75 141) / 28%)}.portal-root .erp-select-search-trigger input::-moz-selection{background:rgb(var(--erp-blue-rgb,0 75 141) / 28%)}.portal-root input::selection{background:rgb(var(--erp-blue-rgb,0 75 141) / 28%)}.portal-root textarea::selection{background:rgb(var(--erp-blue-rgb,0 75 141) / 28%)}.portal-root .erp-select-search input::selection{background:rgb(var(--erp-blue-rgb,0 75 141) / 28%)}.portal-root .erp-select-search-trigger input::selection{background:rgb(var(--erp-blue-rgb,0 75 141) / 28%)}.portal-root ::-webkit-scrollbar{width:3px;height:3px}.portal-root ::-webkit-scrollbar-thumb{background:var(--bd3);border-radius:10px}.portal-root .db-input,.portal-root .db-select,.portal-root input[type=text],.portal-root input[type=email],.portal-root input[type=password],.portal-root input[type=number],.portal-root input[type=date],.portal-root input[type=time],.portal-root input[type=search],.portal-root select,.portal-root textarea{border-color:var(--bd2);background:var(--bg3);color:var(--t1)}.portal-root input[type=time]{box-sizing:border-box;text-align:left;width:100%;min-width:0;max-width:100%;display:block;overflow:hidden}.portal-root input[type=time]::-webkit-date-and-time-value{text-align:left;min-width:0;max-width:100%}.portal-root input[type=time]::-webkit-datetime-edit{text-align:left;min-width:0;max-width:100%}.portal-root input[type=time]::-webkit-datetime-edit-fields-wrapper{text-align:left;min-width:0;max-width:100%}.portal-root .db-input:focus,.portal-root select:focus,.portal-root textarea:focus{border-color:var(--inv);box-shadow:0 0 0 2px var(--accent-bg)}.portal-root .db-section,.portal-root .db-card,.portal-root .db-panel{border-color:var(--bd);background:var(--bg2);color:var(--t1)}.portal-root .db-section h2,.portal-root .db-section h3,.portal-root .page-header-title{color:var(--t1)}.portal-root .db-muted,.portal-root .text-muted{color:var(--t3)!important}.portal-root[data-portal-theme=light] .teacher-portal-layout .erp-topbar.portal-shell-header,.portal-root[data-portal-theme=light] .student-portal-layout .erp-topbar.portal-shell-header{min-height:76px;box-shadow:0 14px 32px rgb(var(--erp-blue-rgb) / 20%);margin:0 0 12px;background:var(--erp-blue)!important;border-bottom:0!important}.portal-root[data-portal-theme=dark] .teacher-portal-layout .erp-topbar.portal-shell-header,.portal-root[data-portal-theme=dark] .student-portal-layout .erp-topbar.portal-shell-header{min-height:76px;margin:0 0 12px;box-shadow:0 8px 24px #00000059;border-bottom:1px solid var(--bd2)!important;background:var(--bg2)!important;border-radius:0!important}.portal-root[data-portal-theme=dark] .teacher-portal-layout .erp-topbar .erp-menu-toggle,.portal-root[data-portal-theme=dark] .student-portal-layout .erp-topbar .erp-menu-toggle,.portal-root[data-portal-theme=dark] .teacher-portal-layout .erp-topbar .portal-shell-back-btn,.portal-root[data-portal-theme=dark] .student-portal-layout .erp-topbar .portal-shell-back-btn{border:1px solid var(--bd2);background:var(--bg3)!important;color:var(--t1)!important}.portal-shell-header{z-index:110;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:0 clamp(12px,3vw,20px);display:flex;position:sticky;top:0}.portal-shell-header-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.portal-shell-menu-btn{border:1px solid var(--bd);background:var(--bg3);width:34px;height:34px;color:var(--t3);cursor:pointer;border-radius:6px;flex-shrink:0;place-items:center;display:grid}.portal-shell-menu-btn:hover{background:var(--bg4);color:var(--t1)}.portal-shell-header-title{font-family:var(--font-heading);color:var(--t1);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;font-weight:700;overflow:hidden}.portal-shell-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.portal-root[data-portal-theme=dark] .erp-topbar .profile-menu-trigger .erp-top-avatar.erp-avatar--initials .erp-avatar-inner,.portal-root[data-portal-theme=dark] .erp-topbar .profile-menu-trigger .erp-top-avatar.erp-avatar--photo .erp-avatar-ring{color:#050505!important;background:#fff!important}.portal-notifications-btn{border:1px solid var(--bd2);background:var(--bg3);width:38px;height:38px;color:var(--t2);cursor:pointer;border-radius:8px;place-items:center;display:grid;position:relative}.portal-notifications-btn:hover{background:var(--bg4);color:var(--t1)}.portal-notifications-dot{color:#fff;text-align:center;background:#ef4444;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:800;line-height:16px;position:absolute;top:4px;right:4px}.portal-shell-role-chips{gap:4px}.portal-shell-role-chip{letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--bd2);background:var(--bg3);color:var(--t3);border-radius:20px;padding:2px 7px;font-size:9px;font-weight:700}.portal-root .teacher-portal-layout.portal-sidebar-collapsed .teacher-portal-sidebar--desktop,.portal-root .student-portal-layout.portal-sidebar-collapsed .student-portal-sidebar--desktop{display:none!important}.portal-root[data-portal-theme=light] .teacher-portal-sidebar.erp-sidebar,.portal-root[data-portal-theme=light] .student-portal-sidebar.erp-sidebar{border-right:1px solid #e5e7eb;gap:0;overflow-x:hidden;width:var(--erp-sidebar-width,260px)!important;background:#fff!important;padding:0!important;box-shadow:10px 0 30px #0f172a0f!important}.portal-root[data-portal-theme=light] .teacher-portal-sidebar--desktop.erp-sidebar,.portal-root[data-portal-theme=light] .student-portal-sidebar--desktop.erp-sidebar{overscroll-behavior:contain;align-self:flex-start;height:100dvh;position:sticky;top:0;overflow-y:auto;color:#374151!important}.portal-root .student-portal-main,.portal-root .teacher-portal-main{flex-direction:column;flex:auto;width:100%;min-width:0;display:flex}.portal-root .erp-topbar{box-sizing:border-box;flex-shrink:0;max-width:100%;width:100%!important}@media (width<=1023px){.portal-root[data-portal-theme=light] .teacher-portal-layout .erp-topbar,.portal-root[data-portal-theme=light] .student-portal-layout .erp-topbar,.portal-root[data-portal-theme=dark] .teacher-portal-layout .erp-topbar,.portal-root[data-portal-theme=dark] .student-portal-layout .erp-topbar{border-radius:0 0 24px 24px!important;width:100%!important;margin-left:0!important;margin-right:0!important}.portal-root .erp-mobile-overlay{-webkit-backdrop-filter:blur(10px);top:0!important;z-index:110!important;background:#0f172a52!important;height:100dvh!important;min-height:0!important;inset:0!important}.portal-root[data-portal-theme=dark] .erp-mobile-overlay{background:#0000008c!important}.portal-root .erp-mobile-drawer{z-index:120!important;height:100dvh!important;min-height:0!important;top:0!important}.portal-root .erp-mobile-drawer .erp-brand{padding-top:max(11px, env(safe-area-inset-top,0px))!important;margin-top:0!important}html.portal-mobile-menu-open .erp-shell .erp-topbar,html.portal-mobile-menu-open .student-portal-layout .erp-topbar,html.portal-mobile-menu-open .teacher-portal-layout .erp-topbar{display:none!important}html.portal-mobile-menu-open .erp-mobile-overlay,html.portal-mobile-menu-open .workflow-menu-overlay,html.portal-mobile-menu-open .portal-engage-menu-overlay{z-index:200!important}html.portal-mobile-menu-open .erp-mobile-drawer,html.portal-mobile-menu-open .workflow-menu-drawer,html.portal-mobile-menu-open .portal-engage-menu-drawer{z-index:210!important}}@media (width>=1024px){.portal-root[data-portal-theme=light] .teacher-portal-layout:not(.portal-sidebar-collapsed) .erp-topbar,.portal-root[data-portal-theme=light] .student-portal-layout:not(.portal-sidebar-collapsed) .erp-topbar,.portal-root[data-portal-theme=dark] .teacher-portal-layout:not(.portal-sidebar-collapsed) .erp-topbar,.portal-root[data-portal-theme=dark] .student-portal-layout:not(.portal-sidebar-collapsed) .erp-topbar{border-radius:0 0 24px!important}.portal-root[data-portal-theme=light] .teacher-portal-layout.portal-sidebar-collapsed .erp-topbar,.portal-root[data-portal-theme=light] .student-portal-layout.portal-sidebar-collapsed .erp-topbar,.portal-root[data-portal-theme=dark] .teacher-portal-layout.portal-sidebar-collapsed .erp-topbar,.portal-root[data-portal-theme=dark] .student-portal-layout.portal-sidebar-collapsed .erp-topbar{border-radius:0 0 24px 24px!important;width:100%!important;margin-left:0!important;margin-right:0!important}}.portal-root .teacher-portal-layout.portal-sidebar-collapsed,.portal-root .student-portal-layout.portal-sidebar-collapsed{padding-left:0;padding-right:0}.portal-root .erp-topbar .erp-menu-toggle{flex-shrink:0;place-items:center;width:38px;min-width:38px;height:38px;display:inline-grid!important}@media (width>=1024px){.portal-root .teacher-portal-layout:not(.portal-sidebar-collapsed) .erp-topbar .erp-menu-toggle,.portal-root .student-portal-layout:not(.portal-sidebar-collapsed) .erp-topbar .erp-menu-toggle{display:none!important}}.portal-root[data-portal-theme=light] .erp-sidebar .erp-sidebar-content{padding:0 12px 96px!important}.portal-root[data-portal-theme=light] .erp-sidebar .erp-brand{box-sizing:border-box;border-radius:0;justify-content:space-between;align-items:center;width:calc(100% + 24px);max-width:none;margin:0 -12px 18px;display:flex}.student-portal-sidebar-inner{height:100%}.student-portal-sidebar-profile{border:1px solid var(--bd);background:var(--bg3);border-radius:7px;align-items:center;gap:10px;margin:0 12px 10px;padding:9px;display:flex}.student-portal-sidebar-user-name{color:var(--t1);margin:0;font-size:12px;font-weight:600}.student-portal-sidebar-user-meta{color:var(--t4);margin:2px 0 0;font-size:9px}.student-portal-sidebar-footer{border-top:1px solid var(--bd);margin-top:auto;padding:12px}.student-portal-signout{border:1px solid var(--bd2);background:var(--bg3);width:100%;color:var(--t2);cursor:pointer;border-radius:6px;padding:8px 12px;font-size:12px;font-weight:700}.student-portal-signout:hover{background:var(--bg4);color:var(--t1)}.portal-notifications-btn--on-blue{border-radius:999px;width:40px;height:40px;color:#fff!important;background:#ffffff1f!important;border:1px solid #ffffff42!important}.portal-notifications-btn--on-blue:hover{background:#fff3!important}.portal-shell-role-chip--on-blue{color:#ffffffe6;background:#ffffff1f;border-color:#ffffff38}.teacher-portal-root{width:100%}.teacher-portal-sidebar{border-right:1px solid var(--bd);background:var(--bg2);width:min(240px,88vw);color:var(--t1);flex-direction:column;display:flex}.teacher-portal-sidebar--desktop{display:none}@media (width>=1024px){.teacher-portal-sidebar--desktop{overscroll-behavior:contain;align-self:flex-start;height:100dvh;display:flex;position:sticky;top:0;overflow-y:auto}}.teacher-portal-sidebar-brand{border-bottom:1px solid var(--bd);align-items:flex-start;gap:12px;padding:16px;display:flex}.teacher-portal-sidebar-brand-mark{border:1px solid var(--bd2);background:var(--bg3);width:36px;height:36px;color:var(--t1);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.teacher-portal-sidebar-brand-title{color:var(--t1);font-family:var(--font-heading);letter-spacing:-.03em;margin:0;font-size:14px;font-weight:800;line-height:1.15}.teacher-portal-sidebar-brand-sub{color:var(--t4);letter-spacing:.1em;text-transform:uppercase;margin:2px 0 0;font-size:9px;font-weight:700}.teacher-portal-sidebar-inner{height:100%}.teacher-portal-sidebar-profile{border:1px solid var(--bd);background:var(--bg3);border-radius:7px;align-items:center;gap:10px;margin:0 12px 10px;padding:9px;display:flex}.teacher-portal-sidebar-user-name{color:var(--t1);margin:0;font-size:12px;font-weight:600}.teacher-portal-sidebar-user-meta{color:var(--t4);margin:2px 0 0;font-size:9px}.teacher-portal-role-chips{flex-wrap:wrap;gap:3px;padding:0 12px 10px;display:flex}.teacher-portal-role-chip{letter-spacing:.04em;text-transform:uppercase;background:var(--inv);color:var(--inv-t);border-radius:20px;padding:2px 7px;font-size:8px;font-weight:700}.teacher-portal-sidebar-nav{flex-direction:column;flex:1;padding:4px 8px 14px;display:flex;overflow-y:auto}.teacher-portal-nav-section{padding:4px 0 2px}.teacher-portal-nav-section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--t4);margin:0;padding:0 8px 3px;font-size:9px;font-weight:700}.teacher-portal-nav-link{color:var(--t3);border:none;border-radius:6px;align-items:center;gap:9px;padding:8px 10px;font-size:12px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex}.teacher-portal-nav-link svg{opacity:.55}.teacher-portal-nav-link:hover{background:var(--bg4);color:var(--t2)}.teacher-portal-nav-link--active{background:var(--inv);color:var(--inv-t);font-weight:700}.teacher-portal-nav-link--active svg{opacity:1}.teacher-portal-nav-tag{background:var(--accent-bg);color:var(--t3);border-radius:20px;flex-shrink:0;margin-left:auto;padding:1px 6px;font-size:8px;font-weight:700}.teacher-portal-nav-link--active .teacher-portal-nav-tag{color:var(--inv-t);background:#00000026}.teacher-portal-sidebar-footer{border-top:1px solid var(--bd);margin-top:auto;padding:12px}.teacher-portal-signout{border:1px solid var(--bd2);background:var(--bg3);width:100%;color:var(--t2);cursor:pointer;border-radius:6px;padding:8px 12px;font-size:12px;font-weight:700}.teacher-portal-signout:hover{background:var(--bg4);color:var(--t1)}.teacher-portal-overlay{z-index:80;background:#0009;display:flex;position:fixed;inset:0}@media (width>=1024px){.teacher-portal-overlay{display:none}}.teacher-portal-sidebar--drawer{height:100%;max-height:100dvh;position:relative;overflow-y:auto;box-shadow:16px 0 48px #00000059}.teacher-portal-drawer-close{border:1px solid var(--bd);background:var(--bg3);width:28px;height:28px;color:var(--t4);cursor:pointer;border-radius:6px;place-items:center;display:grid;position:absolute;top:12px;right:12px}.teacher-portal-main{background:var(--bg)}.teacher-portal-topbar{z-index:30;border-bottom:1px solid var(--bd);background:var(--bg2);justify-content:space-between;align-items:center;gap:12px;height:52px;padding:0 clamp(12px,3vw,20px);display:flex;position:sticky;top:0}.teacher-portal-topbar-left{align-items:center;gap:12px;min-width:0;display:flex}.teacher-portal-menu-toggle{border:1px solid var(--bd);background:var(--bg3);width:34px;height:34px;color:var(--t3);cursor:pointer;border-radius:6px;flex-shrink:0;place-items:center;display:grid}@media (width>=1024px){.teacher-portal-menu-toggle{display:none}}.teacher-portal-topbar-titles{min-width:0}.teacher-portal-topbar-eyebrow{display:none}.teacher-portal-topbar-title{font-family:var(--font-heading);color:var(--t1);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;font-weight:700;overflow:hidden}.teacher-portal-perm-chip{letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--bd2);background:var(--bg3);color:var(--t3);border-radius:20px;padding:2px 7px;font-size:9px;font-weight:700}.teacher-portal-top-menu-wrap{flex-shrink:0;position:relative}.teacher-portal-top-menu-btn{border:1px solid var(--bd2);background:var(--bg3);color:var(--t2);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:600;display:inline-flex}.teacher-portal-top-menu-btn:hover{background:var(--bg4);border-color:var(--bd3);color:var(--t1)}.teacher-portal-top-menu{z-index:120;border:1px solid var(--bd2);background:var(--bg2);border-radius:8px;min-width:200px;padding:5px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0006}.teacher-portal-top-menu-item{width:100%;color:var(--t2);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:9px;padding:8px 10px;font-size:12px;font-weight:500;display:flex}.teacher-portal-top-menu-item:hover{background:var(--bg4);color:var(--t1)}.teacher-portal-top-menu-item--danger{color:var(--t4)}.teacher-portal-top-menu-profile{align-items:center;gap:10px;padding:8px 10px;display:flex}.teacher-portal-top-menu-profile-label{color:var(--t3);font-size:11px;font-weight:600}.teacher-portal-top-menu-divider{background:var(--bd);height:1px;margin:4px 0}.teacher-portal-content-inner{box-sizing:border-box;width:min(1120px,100%);min-width:0;max-width:100%;margin:0 auto;padding:20px}@media (width<=640px){.teacher-portal-content-inner{padding:11px}.teacher-portal-topbar-roles{display:none!important}}.teacher-portal-tile-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.teacher-portal-tile{border:1px solid var(--bd);background:var(--bg2);text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;transition:border-color .12s,background .12s;display:flex}.teacher-portal-tile:hover{border-color:var(--inv);background:var(--bg3)}.teacher-portal-tile-icon{border:1px solid var(--bd2);background:var(--bg3);width:36px;height:36px;color:var(--t1);border-radius:8px;place-items:center;display:grid}.teacher-portal-tile-label{color:var(--t1);font-size:13px;font-weight:800}.teacher-portal-tile-desc{color:var(--t3);font-size:10px;line-height:1.4}.teacher-portal-bnav{z-index:90;border-top:1px solid var(--bd);background:var(--bg2);justify-content:space-around;align-items:center;height:56px;display:flex;position:fixed;bottom:0;left:0;right:0}@media (width>=1024px){.teacher-portal-bnav{display:none}}.teacher-portal-bnav-item{color:var(--t4);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:5px 6px;font-size:8px;font-weight:700;text-decoration:none;display:flex}.teacher-portal-bnav-item--active{color:var(--t1)}.portal-root .tp-card{border:1px solid var(--bd);background:var(--bg2);border-radius:10px;min-width:0;margin-bottom:14px;padding:18px}.portal-root .tp-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.portal-root .tp-card-title{color:var(--t1);margin:0;font-size:13px;font-weight:700}.portal-root .tp-kpi-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:14px;display:grid}.portal-root .tp-student-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.portal-root .tp-student-toolbar .db-input{flex:220px;max-width:320px}.portal-root .tp-section-label{color:var(--t2);text-transform:uppercase;letter-spacing:.04em;margin:4px 0 10px;font-size:12px;font-weight:700}.portal-root .tp-detail-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px 18px;display:grid}.portal-root .tp-detail-row{border-bottom:1px solid var(--bd);justify-content:space-between;align-items:center;gap:10px;padding-bottom:6px;display:flex}.portal-root .tp-detail-label{color:var(--t3);font-size:12px}.portal-root .tp-detail-value,.portal-root .tp-detail-edit{color:var(--t1);align-items:center;gap:6px;font-size:13px;display:inline-flex}.portal-root .tp-edit-icon{color:var(--t3);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:inline-flex}.portal-root .tp-edit-icon:hover{color:var(--brand,#1d4ed8)}.portal-root .tp-pay-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.portal-root .tp-overdue{color:var(--danger,#dc2626);font-weight:600}.portal-root table.db-table tbody tr.tp-overdue-row td{color:var(--danger,#dc2626)!important}.portal-root .tp-detail-topbar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.portal-root .tp-carousel{flex-direction:column;gap:12px;display:flex}.portal-root .tp-carousel-card{border:1px solid var(--bd);background:var(--bg1);border-radius:10px;width:100%;min-width:0;padding:12px;overflow:hidden}.portal-root .tp-table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--bd);background:var(--bg2);border-radius:8px;width:100%;min-width:0;max-width:100%;overflow:auto visible}.portal-root .tp-detail-table{width:100%;min-width:560px;margin:0}.portal-root .tp-detail-table-subject{white-space:normal;min-width:140px;max-width:220px}.portal-root .tp-detail-table .db-input{width:100%;min-width:72px}.portal-root .tp-carousel-head{color:var(--t1);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;display:flex}.portal-root .tp-carousel-head span{color:var(--t2);font-size:12px}.portal-root .tp-kpi{border:1px solid var(--bd);background:var(--bg2);border-radius:10px;padding:16px}.portal-root .tp-kpi-label{letter-spacing:.1em;text-transform:uppercase;color:var(--t4);margin:0 0 7px;font-size:9px;font-weight:700}.portal-root .tp-kpi-value{letter-spacing:-.04em;color:var(--t1);margin:0;font-size:26px;font-weight:800;line-height:1}.portal-root .tp-kpi-sub{color:var(--t4);margin:4px 0 0;font-size:10px}.portal-root .tp-no-access{text-align:center;color:var(--t4);padding:60px 20px}.portal-root .tp-no-access-title{color:var(--t2);margin:0 0 6px;font-size:15px;font-weight:700}.portal-root .tp-no-access-msg{font-size:12px;line-height:1.6}.teacher-portal-skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}@media (width>=768px){.teacher-portal-skeleton-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.teacher-portal-skel{background:var(--skeleton);background-size:200% 100%;border-radius:4px;animation:1.4s ease-in-out infinite portal-skel-pulse}.teacher-portal-skel--kpi{height:88px}.teacher-portal-skel--card{height:90px;margin-bottom:12px}@keyframes portal-skel-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=640px){.teacher-portal-sidebar--drawer,.teacher-portal-overlay .teacher-portal-sidebar{width:min(264px,88vw)}}.portal-root .htpo-dashboard{flex-direction:column;gap:14px;display:flex}.portal-root .htpo-dashboard-hero{margin-bottom:2px}.portal-root .htpo-dashboard-title{letter-spacing:-.03em;color:var(--t1);margin:0;font-size:clamp(1.5rem,3vw,1.85rem);font-weight:800;line-height:1.15}.portal-root .htpo-dashboard-subtitle{color:var(--t3);margin:6px 0 0;font-size:13px;line-height:1.45}.portal-root .teacher-portal-module-stack{flex-direction:column;gap:14px;width:100%;min-width:0;max-width:100%;display:flex;overflow-x:hidden}.portal-root .teacher-portal-module-hero{margin-bottom:2px}.portal-root .teacher-portal-module-title{letter-spacing:-.03em;color:var(--t1);margin:0;font-size:clamp(1.25rem,3vw,1.5rem);font-weight:800;line-height:1.15}.portal-root .teacher-portal-module-subtitle{color:var(--t3);max-width:52rem;margin:6px 0 0;font-size:13px;line-height:1.45}.portal-root .teacher-portal-panel-wrap{min-width:0;max-width:100%}.portal-root .teacher-portal-panel-wrap>section,.portal-root .teacher-portal-panel-wrap>.erp-admin-panel{border:1px solid var(--bd)!important;background:var(--bg2)!important;box-shadow:none!important;color:var(--t1)!important;border-radius:14px!important}.portal-root .teacher-portal-panel-wrap h2,.portal-root .teacher-portal-panel-wrap h3{color:var(--t1)!important}.portal-root .teacher-portal-panel-wrap p,.portal-root .teacher-portal-panel-wrap span,.portal-root .teacher-portal-panel-wrap label{color:inherit}.portal-root .teacher-portal-panel-wrap .text-slate-950,.portal-root .teacher-portal-panel-wrap .text-slate-800,.portal-root .teacher-portal-panel-wrap .text-slate-700{color:var(--t1)!important}.portal-root .teacher-portal-panel-wrap .text-slate-600,.portal-root .teacher-portal-panel-wrap .text-slate-500{color:var(--t3)!important}.portal-root .teacher-portal-panel-wrap .rounded-xl.border,.portal-root .teacher-portal-panel-wrap .border-b.bg-slate-50,.portal-root .teacher-portal-panel-wrap .bg-slate-50{border-color:var(--bd)!important;background:var(--bg3)!important;color:var(--t2)!important}.portal-root .teacher-portal-panel-wrap .bg-white{background:var(--bg2)!important}.portal-root .teacher-portal-syllabus-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.portal-root .teacher-portal-syllabus-item{border:1px solid var(--bd);background:var(--bg3);text-align:left;cursor:pointer;border-radius:10px;gap:2px;width:100%;padding:12px 14px;display:grid}.portal-root .teacher-portal-syllabus-item:hover{border-color:var(--bd2);background:var(--bg4,var(--bg3))}.portal-root .teacher-portal-syllabus-item__role{letter-spacing:.08em;text-transform:uppercase;color:var(--erp-blue);font-size:10px;font-weight:800}.portal-root .teacher-portal-syllabus-item__label{color:var(--t1);font-size:14px;font-weight:800}.portal-root .teacher-portal-syllabus-item__scope{color:var(--t3);font-size:12px}.portal-root .tp-syllabus-page{gap:18px}.portal-root .tp-syllabus-card{padding:clamp(16px,3vw,22px)}.portal-root .tp-syllabus-field{max-width:28rem;margin-bottom:14px}.portal-root .tp-syllabus-muted{color:var(--t3);margin:0;font-size:14px}.portal-root .tp-syllabus-empty{border:1px dashed var(--bd2);border-radius:12px;gap:12px;padding:16px;display:grid}.portal-root .tp-syllabus-units{gap:12px;display:grid}.portal-root .tp-syllabus-unit{border:1px solid var(--bd);background:var(--bg3);border-radius:12px;padding:14px}.portal-root .tp-syllabus-unit-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.portal-root .tp-syllabus-unit-head h3,.portal-root .tp-syllabus-checklist-unit h3{color:var(--t1);margin:0;font-size:15px;font-weight:800}.portal-root .tp-syllabus-unit-actions{flex-wrap:wrap;gap:6px;display:flex}.portal-root .tp-syllabus-topics{gap:8px;margin:0;padding:0;list-style:none;display:grid}.portal-root .tp-syllabus-topic-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.portal-root .tp-syllabus-inline-edit{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.portal-root .tp-syllabus-inline-edit .db-input{flex:220px;min-width:160px}.portal-root .tp-syllabus-add-unit{margin-top:14px}.portal-root .tp-syllabus-completion-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.portal-root .tp-syllabus-progress{color:var(--erp-blue,#004b8d);margin:0 0 12px;font-size:14px;font-weight:700}.portal-root .tp-syllabus-checklist{gap:12px;display:grid}.portal-root .tp-syllabus-checklist-unit{border:1px solid var(--bd);background:var(--bg3);border-radius:12px;padding:14px}.portal-root .tp-syllabus-checklist-unit ul{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.portal-root .tp-syllabus-check{color:var(--t1);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.portal-root[data-portal-theme=dark] .tp-syllabus-progress{color:var(--t1)}.portal-root .htpo-attendance-page-stack{gap:14px;width:100%;min-width:0;max-width:100%;display:grid;overflow-x:hidden}.portal-root .htpo-attendance-page-stack .tp-card,.portal-root .htpo-attendance-page-stack .htpo-sections-card,.portal-root .htpo-attendance-page-stack .htpo-mark-att-card,.portal-root .htpo-attendance-page-stack .htpo-section-att-card{box-sizing:border-box;width:100%;min-width:0;max-width:100%;overflow:hidden visible}.portal-root .htpo-mark-att-card{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.portal-root .htpo-mark-att-card__row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;display:grid}.portal-root .htpo-mark-att-card__row .erp-select-wrap,.portal-root .htpo-mark-att-card__row .db-field,.portal-root .htpo-mark-att-card__row .htpo-engage-section-filter{min-width:0}.portal-root .htpo-mark-att-card__btn{white-space:nowrap;min-height:42px}.portal-root .htpo-mark-att-page{flex-direction:column;gap:14px;display:flex}.portal-root .htpo-mark-att-page__actions{justify-content:flex-end;margin-top:14px;display:flex}.portal-root .htpo-mark-att-toolbar{border-bottom:1px solid var(--bd);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.portal-root .htpo-mark-att-toolbar__summary{color:var(--t2);margin:0;font-size:13px;font-weight:600}.portal-root .htpo-mark-att-toolbar__absent{color:var(--t1)}.portal-root .htpo-mark-att-toolbar__actions{flex-wrap:wrap;gap:8px;display:flex}.portal-root .htpo-mark-att-quick-btn{border:1px solid var(--bd2);background:var(--bg2);min-height:34px;color:var(--t1);cursor:pointer;border-radius:10px;padding:0 12px;font-size:12px;font-weight:700}.portal-root .htpo-mark-att-quick-btn:hover{background:var(--bg3)}.portal-root .htpo-mark-att-toggle{border:1px solid var(--bd2);background:var(--bg3);border-radius:10px;gap:3px;min-width:148px;padding:3px;display:inline-flex}.portal-root .htpo-mark-att-toggle__btn{min-height:32px;color:var(--t2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;flex:1 1 0;padding:0 10px;font-size:12px;font-weight:700}.portal-root .htpo-mark-att-toggle__btn--present.is-active{background:color-mix(in srgb, #16a34a 18%, var(--bg2));color:#15803d}.portal-root .htpo-mark-att-toggle__btn--absent.is-active{background:color-mix(in srgb, #dc2626 16%, var(--bg2));color:#b91c1c}.portal-root[data-portal-theme=dark] .htpo-mark-att-toggle__btn--present.is-active{color:#86efac}.portal-root[data-portal-theme=dark] .htpo-mark-att-toggle__btn--absent.is-active{color:#fca5a5}.portal-root .htpo-mark-att-table td:last-child{white-space:nowrap;width:1%}@media (width<=640px){.portal-root .htpo-mark-att-card__row{grid-template-columns:1fr}.portal-root .htpo-mark-att-card__btn{width:100%}.portal-root .htpo-mark-att-toolbar{flex-direction:column;align-items:stretch}.portal-root .htpo-mark-att-toolbar__actions{width:100%}.portal-root .htpo-mark-att-quick-btn{flex:1 1 0}.portal-root .htpo-mark-att-toggle{width:100%;min-width:0}}.portal-root .htpo-section-att-card__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.portal-root .htpo-section-att-card__meta{color:var(--t3);margin:0 0 10px;font-size:12px}.portal-root .htpo-att-period-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.portal-root .htpo-att-period-select{min-width:148px}.portal-root .htpo-att-period-select .erp-select-trigger{border-radius:10px;min-height:38px;padding:7px 11px;font-size:13px;font-weight:700}.portal-root .htpo-att-period-edit{color:var(--t2);cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:700}.portal-root .htpo-att-custom-overlay{z-index:9500;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a6b;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.htpo-att-custom-portal-host{z-index:9500;pointer-events:none;position:fixed;inset:0}.htpo-att-custom-portal-host .htpo-att-custom-overlay{pointer-events:auto}.portal-root .htpo-att-custom-modal__header{flex-shrink:0}.portal-root .htpo-att-custom-modal__header h2{margin:0}.portal-root .htpo-att-custom-modal__header .htpo-att-custom-modal__hint{margin-top:8px}.portal-root .htpo-att-custom-overlay::-webkit-scrollbar{width:0;height:0}.portal-root .htpo-att-custom-modal{border:1px solid var(--bd);background:var(--bg2);width:min(440px,100%);max-height:min(100dvh - 32px,92dvh);color:var(--t1);text-align:left;border-radius:16px;flex-direction:column;margin:16px 0;padding:20px;display:flex;overflow:hidden;box-shadow:0 24px 60px #0000002e}.portal-root .htpo-att-custom-modal h2{color:var(--t1);margin:0;font-size:18px;font-weight:800}.portal-root .htpo-att-custom-modal__header+.htpo-att-custom-modal__scroll{margin-top:14px}.portal-root .htpo-att-custom-modal__hint{color:var(--t3);margin:8px 0 0;font-size:13px;line-height:1.45}.portal-root .htpo-att-custom-fields{gap:10px;display:grid}.portal-root .htpo-att-custom-modal__scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:auto;min-height:0;margin:14px 0 0;padding-right:0;overflow-y:auto}.portal-root .htpo-att-custom-modal__scroll::-webkit-scrollbar{width:0;height:0}.portal-root .htpo-att-custom-modal--range{width:min(460px,100%)}.portal-root .htpo-att-custom-range-side{gap:6px;display:grid}.portal-root .htpo-att-custom-range-side__fields{grid-template-columns:1fr 1fr;gap:8px;display:grid}.portal-root .htpo-att-custom-modal__error{color:#dc2626;margin:0;font-size:12px;font-weight:700}.portal-root .erp-day-picker-placeholder{border:1px dashed var(--bd2);color:var(--t3);text-align:center;border-radius:12px;margin:0;padding:12px 14px;font-size:13px}.portal-root .erp-day-picker-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.portal-root .erp-day-picker-summary{letter-spacing:.04em;text-transform:uppercase;color:var(--t3);font-size:11px;font-weight:700}.portal-root .erp-day-picker-clear{color:var(--t2);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:700}.portal-root .erp-day-picker-clear.is-hidden{visibility:hidden;pointer-events:none}.portal-root .erp-day-picker-grid{grid-template-rows:repeat(4,auto);gap:6px;display:grid}.portal-root .erp-day-picker-cell{border:1px solid var(--bd2);background:var(--bg3);min-height:38px;color:var(--t1);cursor:pointer;border-radius:10px;place-items:center;padding:0;font-size:13px;font-weight:800;display:grid}.portal-root .erp-day-picker-cell:hover{border-color:var(--bd3);background:var(--bg4)}.portal-root .erp-day-picker-cell.is-selected{border-color:var(--inv);background:var(--inv);color:var(--inv-t)}.portal-root .erp-day-picker-cell.is-disabled,.portal-root .erp-day-picker-cell:disabled{opacity:.32;cursor:not-allowed;pointer-events:none}.portal-root .erp-day-picker-cell--empty{pointer-events:none;background:0 0;border:0;min-height:38px}.portal-root .htpo-att-custom-actions{border-top:1px solid var(--bd);flex-shrink:0;justify-content:flex-end;gap:10px;margin-top:12px;padding-top:12px;display:flex}.portal-root .htpo-att-custom-cancel{border:1px solid var(--bd2);min-height:40px;color:var(--t2);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;padding:0 16px;font-size:13px;font-weight:700;display:inline-flex}.portal-root .htpo-att-custom-cancel:hover{background:var(--bg3)}.portal-root .htpo-att-custom-apply{background:var(--inv);min-height:40px;color:var(--inv-t);cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;padding:0 18px;font-size:13px;font-weight:800;display:inline-flex}.portal-root .htpo-att-custom-apply:disabled{opacity:.55;cursor:not-allowed}.portal-root .htpo-student-search{margin-bottom:12px;position:relative}.portal-root .htpo-student-search__input{width:100%}.portal-root .htpo-student-search__suggestions{z-index:20;border:1px solid var(--bd);background:var(--bg2);border-radius:10px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 8px 24px #0000001f}.portal-root .htpo-student-search__option{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:8px 10px;display:flex}.portal-root .htpo-student-search__option:hover{background:var(--bg3)}.portal-root .htpo-student-search__name{color:var(--t1);font-size:13px;font-weight:700}.portal-root .htpo-student-search__roll{color:var(--t3);font-size:12px}.portal-root .htpo-student-att-detail,.portal-root .htpo-student-att-detail__body{flex-direction:column;gap:14px;display:flex}.portal-root .htpo-student-att-detail__hero{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.portal-root .htpo-student-att-detail__hero .htpo-att-period-controls{flex-direction:column;justify-self:end;align-items:flex-end;gap:4px;width:fit-content;max-width:100%}.portal-root .htpo-student-att-detail__hero .htpo-att-period-select{width:min(168px,42vw);min-width:0}.portal-root .htpo-student-att-detail__roll{color:var(--t1);margin:0;font-size:13px;font-weight:800}.portal-root .htpo-student-att-detail__section{color:var(--t3);margin:4px 0 0;font-size:12px}.portal-root .htpo-student-att-subject-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}.portal-root .htpo-student-att-subject-card{border:1px solid var(--bd);background:var(--bg3);border-radius:10px;padding:12px}.portal-root .htpo-student-att-subject-card__title{color:var(--t2);margin:0;font-size:12px;font-weight:700}.portal-root .htpo-student-att-subject-card__value{color:var(--t1);margin:6px 0 0;font-size:22px;font-weight:800}.portal-root .htpo-student-att-subject-card__meta{color:var(--t3);margin:4px 0 0;font-size:11px}.portal-root .htpo-att-status--present{color:#15803d;font-weight:700}.portal-root .htpo-att-status--absent{color:#dc2626;font-weight:700}.portal-root[data-portal-theme=dark] .htpo-att-status--present{color:#4ade80}.portal-root[data-portal-theme=dark] .htpo-att-status--absent{color:#f87171}.portal-root .htpo-sections-table-wrap,.portal-root .htpo-section-att-table-wrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;width:100%;min-width:0;max-width:100%;overflow:auto visible}.portal-root .htpo-sections-table-wrap.htpo-tt-table-scroll,.portal-root .htpo-section-att-table-wrap.htpo-tt-table-scroll{width:100%;max-width:100%}.portal-root .htpo-sections-table,.portal-root .htpo-section-att-table{table-layout:auto;border-collapse:collapse;width:max-content;min-width:100%;font-size:13px}.portal-root .htpo-sections-table th{vertical-align:middle;text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);border-bottom:1px solid var(--bd);padding:14px 10px 14px 0;font-size:9px;font-weight:700}.portal-root .htpo-sections-table th:last-child{text-align:right;padding-right:4px}.portal-root .htpo-sections-table td{vertical-align:middle;border-bottom:1px solid var(--bd);color:var(--t2);padding:14px 10px 14px 0}.portal-root .htpo-sections-table td:last-child{text-align:right;padding-right:4px}.portal-root .htpo-sections-table tr:last-child td{border-bottom:none}.portal-root .htpo-sections-table__primary{color:var(--t1);font-weight:700}.portal-root .htpo-sections-table__muted{color:var(--t3)}.portal-root .htpo-sections-view-btn{border:1px solid var(--bd2);min-height:32px;color:var(--t1);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:0 14px;font-size:12px;font-weight:700;display:inline-flex}.portal-root .htpo-sections-view-btn:hover{background:var(--bg3)}.portal-root .htpo-timetable-empty{color:var(--t3);margin:0;font-size:13px}.portal-root .htpo-timetable-refresh{min-height:34px;padding:0 16px;font-size:12px;font-weight:800}.portal-root[data-portal-theme=light] .htpo-dashboard .tp-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=900px){.portal-root[data-portal-theme=light] .htpo-dashboard .tp-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.portal-root[data-portal-theme=light] .htpo-sections-card .tp-card-title,.portal-root[data-portal-theme=light] .htpo-timetable-card .tp-card-title{font-size:15px!important}.portal-root .htpo-section-detail{flex-direction:column;gap:14px;display:flex}.portal-root .htpo-section-detail-header{grid-template-columns:40px 1fr 40px;align-items:center;gap:10px;padding:4px 0 8px;display:grid}.portal-root .htpo-section-detail-back{border:1px solid var(--bd2);background:var(--bg2);width:40px;height:40px;color:var(--t1);cursor:pointer;border-radius:12px;place-items:center;display:inline-grid}.portal-root .htpo-section-detail-back:hover{background:var(--bg3)}.portal-root .htpo-section-detail-title{letter-spacing:-.03em;text-align:center;color:var(--t1);margin:0;font-size:clamp(14px,3.5vw,17px);font-weight:800;line-height:1.25}.portal-root .htpo-section-detail-avatar{justify-self:end}.portal-root .htpo-section-detail-body{flex-direction:column;gap:14px;display:flex}.portal-root .htpo-section-att-table th{vertical-align:middle;text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);border-bottom:1px solid var(--bd);padding:12px 10px 12px 0;font-size:9px;font-weight:700}.portal-root .htpo-section-att-table th:last-child{text-align:right;padding-right:4px}.portal-root .htpo-section-att-table td{vertical-align:middle;border-bottom:1px solid var(--bd);color:var(--t2);padding:12px 10px 12px 0}.portal-root .htpo-section-att-table td:last-child{text-align:right;padding-right:4px;font-weight:700}.portal-root .htpo-section-att-table tr:last-child td{border-bottom:none}.portal-root .htpo-section-att-table__primary{color:var(--t1);font-weight:700}.portal-root .htpo-section-att-table__warn{color:#dc2626}.portal-root[data-portal-theme=dark] .htpo-section-att-table__warn{color:#f87171}.portal-root .htpo-section-tt-card{box-sizing:border-box;flex-direction:column;gap:14px;width:100%;min-width:0;max-width:100%;display:flex;overflow:hidden visible}.portal-root .htpo-section-tt-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.portal-root .htpo-section-tt-title{color:var(--t1);margin:0;font-size:15px;font-weight:800}.portal-root .htpo-section-tt-section-meta{color:var(--t3);white-space:nowrap;margin:0 0 0 auto;font-size:12px;font-weight:700}@media (width<=640px){.portal-root .htpo-section-tt-section-meta{width:100%;margin:0}}.portal-root .htpo-section-tt-head-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:flex}.portal-root .htpo-section-tt-select-wrap{align-items:center;display:inline-flex;position:relative}.portal-root .htpo-section-tt-select{appearance:none;border:1px solid var(--bd2);background:var(--bg2);min-width:220px;max-width:320px;color:var(--t1);cursor:pointer;border-radius:10px;padding:8px 36px 8px 12px;font-size:13px;font-weight:600}.portal-root .htpo-section-tt-select-icon{pointer-events:none;color:var(--t3);position:absolute;right:10px}.portal-root .htpo-section-tt-edit-btn{border:1px solid var(--bd2);background:var(--bg1);min-height:36px;color:var(--t1);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:0 14px;font-size:12px;font-weight:800;display:inline-flex}.portal-root .htpo-section-tt-edit-btn.is-active{background:var(--erp-blue);border-color:var(--erp-blue);color:#fff}.portal-root[data-portal-theme=light] .htpo-section-tt-edit-btn{color:var(--erp-blue);border:1px solid var(--erp-blue);box-shadow:none;background:#fff}.portal-root[data-portal-theme=light] .htpo-section-tt-edit-btn.is-active{background:var(--erp-blue);color:#fff}.portal-root .portal-shell-title-only{letter-spacing:-.04em;color:inherit;margin:0;font-size:clamp(20px,2.2vw,25px);font-weight:1000;line-height:1.1}.portal-root[data-portal-theme=light] .teacher-portal-layout .portal-shell-title-only,.portal-root[data-portal-theme=light] .student-portal-layout .portal-shell-title-only{color:#fff}.portal-root[data-portal-theme=dark] .teacher-portal-layout .portal-shell-title-only,.portal-root[data-portal-theme=dark] .student-portal-layout .portal-shell-title-only{color:var(--t1)}.portal-root .htpo-section-tt-grid-wrap{-webkit-overflow-scrolling:touch;border:1px solid color-mix(in srgb, var(--t3) 18%, var(--bd));background:var(--bg2);border-radius:12px;width:fit-content;max-width:100%;overflow-x:auto}.portal-root .htpo-section-tt-grid{border-collapse:collapse;table-layout:auto;width:max-content;min-width:0}.portal-root .htpo-section-tt-grid th,.portal-root .htpo-section-tt-grid td{border:1px solid color-mix(in srgb, var(--t3) 14%, var(--bd))}.portal-root .htpo-section-tt-time-col{width:82px;min-width:82px;color:var(--t3);text-align:right;vertical-align:top;background:var(--bg2);padding:8px 4px 8px 2px;font-size:11px;font-weight:700;line-height:1.25;border-right:1px solid color-mix(in srgb, var(--t3) 20%, var(--bd))!important}.portal-root .htpo-section-tt-grid tbody .htpo-section-tt-time-col{box-sizing:border-box;height:62px;padding:4px;position:relative}.portal-root .htpo-section-tt-time-col-inner{box-sizing:border-box;justify-content:flex-end;align-items:flex-end;width:100%;height:100%;min-height:50px;padding:22px 2px 4px 0;display:flex;position:relative}.portal-root .htpo-section-tt-time-label{white-space:nowrap;text-align:right;font-size:10px;line-height:1.2}.portal-root .htpo-section-tt-time-delete{z-index:1;border:1px solid color-mix(in srgb, var(--t3) 24%, var(--bd));background:color-mix(in srgb, var(--bg3) 70%, transparent);width:20px;height:20px;color:var(--t3);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:4px;right:4px}.portal-root .htpo-section-tt-time-delete:hover:not(:disabled){color:#ef4444;border-color:color-mix(in srgb, #ef4444 40%, var(--bd));background:color-mix(in srgb, #ef4444 12%, var(--bg3))}.portal-root .htpo-section-tt-time-delete:disabled{opacity:.5;cursor:not-allowed}.portal-root[data-portal-theme=light] .htpo-section-tt-time-delete{color:#64748b;background:#fff}.portal-root[data-portal-theme=light] .htpo-section-tt-time-delete:hover:not(:disabled){color:#dc2626;background:#fef2f2;border-color:#fecaca}.portal-root .htpo-section-tt-grid thead .htpo-section-tt-time-col{border-bottom:1px solid color-mix(in srgb, var(--t3) 20%, var(--bd))}.portal-root .htpo-section-tt-day-col{letter-spacing:.1em;width:auto;min-width:96px;color:var(--t3);text-align:center;vertical-align:middle;background:var(--bg2);border-bottom:1px solid color-mix(in srgb, var(--t3) 20%, var(--bd));padding:10px 4px;font-size:11px;font-weight:800}.portal-root .htpo-section-tt-td{vertical-align:top;background:var(--bg2);width:auto;min-width:96px;height:62px;padding:5px}.portal-root .htpo-section-tt-cell{border:1px solid color-mix(in srgb, var(--t3) 22%, var(--bd));background:color-mix(in srgb, var(--bg3) 88%, var(--bg2));text-align:left;border-radius:8px;flex-direction:column;justify-content:flex-start;gap:3px;height:100%;min-height:50px;padding:28px 9px 8px;display:flex;position:relative}.portal-root .htpo-section-tt-cell-head{min-width:0}.portal-root .htpo-section-tt-cell-delete{z-index:1;border:1px solid color-mix(in srgb, var(--t3) 24%, var(--bd));background:color-mix(in srgb, var(--bg3) 70%, transparent);width:22px;height:22px;color:var(--t3);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:4px;right:4px}.portal-root .htpo-section-tt-cell-delete:hover:not(:disabled){color:#ef4444;border-color:color-mix(in srgb, #ef4444 40%, var(--bd));background:color-mix(in srgb, #ef4444 12%, var(--bg3))}.portal-root .htpo-section-tt-cell-delete:disabled{opacity:.5;cursor:not-allowed}.portal-root[data-portal-theme=light] .htpo-section-tt-cell-delete{color:#64748b;background:#fff}.portal-root[data-portal-theme=light] .htpo-section-tt-cell-delete:hover:not(:disabled){color:#dc2626;background:#fef2f2;border-color:#fecaca}.portal-root .htpo-section-tt-cell--lab{border-style:dashed;border-color:color-mix(in srgb, var(--t3) 38%, var(--bd));background:color-mix(in srgb, var(--bg3) 82%, var(--bg2))}.portal-root .htpo-section-tt-cell--exam{border-color:color-mix(in srgb, #8b5cf6 48%, var(--bd));background:color-mix(in srgb, #8b5cf6 9%, var(--bg3))}.portal-root .htpo-section-tt-cell-subject{min-width:0;color:var(--t1);letter-spacing:-.01em;flex:auto;margin:0;font-size:12px;font-weight:800;line-height:1.25}.portal-root .htpo-section-tt-cell-room{color:var(--t3);margin:0;font-size:11px;font-weight:600;line-height:1.2}.portal-root[data-portal-theme=light] .htpo-section-tt-grid-wrap{background:#fff;border-color:#e2e8f0}.portal-root[data-portal-theme=light] .htpo-section-tt-grid th,.portal-root[data-portal-theme=light] .htpo-section-tt-grid td{border-color:#e2e8f0}.portal-root[data-portal-theme=light] .htpo-section-tt-time-col,.portal-root[data-portal-theme=light] .htpo-section-tt-day-col,.portal-root[data-portal-theme=light] .htpo-section-tt-td{background:#fff}.portal-root[data-portal-theme=light] .htpo-section-tt-cell{background:#fff;border-color:#dbe3ee}.portal-root[data-portal-theme=light] .htpo-section-tt-cell--lab{background:#f8fafc;border-style:dashed;border-color:#94a3b8}.portal-root[data-portal-theme=light] .htpo-section-tt-cell--exam{background:#f5f3ff;border-color:#8b5cf6}.portal-root[data-portal-theme=dark] .htpo-section-tt-cell--exam{border-color:color-mix(in srgb, #a78bfa 52%, var(--bd));background:color-mix(in srgb, #7c3aed 10%, var(--bg3))}.portal-root .htpo-section-tt-legend{flex-wrap:wrap;gap:16px;padding-top:2px;display:flex}.portal-root .htpo-section-tt-legend-item{color:var(--t2);cursor:pointer;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.portal-root .htpo-section-tt-legend--key,.portal-root .htpo-section-tt-legend--both{gap:20px;padding-top:10px}.portal-root .htpo-section-tt-legend-item--both{cursor:pointer}.portal-root .htpo-section-tt-legend-item--key{cursor:default}.portal-root .htpo-section-tt-legend-swatch{border:1px solid color-mix(in srgb, var(--t3) 22%, var(--bd));background:color-mix(in srgb, var(--bg3) 88%, var(--bg2));border-radius:6px;flex-shrink:0;width:32px;height:20px;display:inline-block}.portal-root .htpo-section-tt-legend-swatch--lab{border-style:dashed;border-color:color-mix(in srgb, var(--t3) 38%, var(--bd))}.portal-root .htpo-section-tt-legend-swatch--exam{border-color:color-mix(in srgb, #8b5cf6 50%, var(--bd));background:color-mix(in srgb, #8b5cf6 9%, var(--bg3))}.portal-root[data-portal-theme=light] .htpo-section-tt-legend-swatch{background:#fff;border-color:#dbe3ee}.portal-root[data-portal-theme=light] .htpo-section-tt-legend-swatch--lab{background:#f8fafc;border-style:dashed;border-color:#94a3b8}.portal-root[data-portal-theme=light] .htpo-section-tt-legend-swatch--exam{background:#f5f3ff;border-color:#8b5cf6}.portal-root[data-portal-theme=dark] .htpo-section-tt-legend-swatch--exam{border-color:color-mix(in srgb, #a78bfa 52%, var(--bd));background:color-mix(in srgb, #7c3aed 10%, var(--bg3))}.portal-root .htpo-section-tt-loading,.portal-root .htpo-section-tt-empty{color:var(--t3);margin:0;font-size:13px}.portal-root .portal-shell-back-btn{border:1px solid var(--bd2);background:var(--bg3);width:38px;height:38px;color:var(--t1);cursor:pointer;border-radius:10px;place-items:center;display:inline-grid}.portal-root .portal-shell-back-btn:hover{background:var(--bg4)}.portal-root .portal-shell-subpage-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.portal-root .student-portal-layout,.portal-root .teacher-portal-layout{height:100dvh;max-height:100dvh;overflow:hidden}@media (width<=1023px){.portal-root .student-portal-layout,.portal-root .teacher-portal-layout{height:100%;max-height:100%}}.portal-root .student-portal-main,.portal-root .teacher-portal-main{min-height:0;overflow:hidden}.portal-root .teacher-portal-content,.portal-root .student-portal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;scroll-padding-top:8px;scroll-padding-bottom:max(20px, env(safe-area-inset-bottom,0px));background:var(--sp-bg-app,var(--bg));flex:auto;overflow:hidden auto}@media (width<=1023px){.student-portal-layout .student-portal-main>.erp-topbar{z-index:90;position:sticky;top:0}.portal-root .student-portal-body{scroll-padding-top:calc(var(--portal-topbar-height,76px) + 12px)}}.portal-root .htpo-edit-tt-page-wrap{box-sizing:border-box;background:var(--bg);width:100%;min-width:0;max-width:min(480px,100%);padding-bottom:max(16px, env(safe-area-inset-bottom));margin:0 auto;overflow-x:hidden}.portal-root .htpo-edit-tt-page{box-sizing:border-box;gap:16px;width:100%;min-width:0;padding:4px 0 0;display:grid}.portal-root .htpo-edit-tt-loading{color:var(--t3);margin:0;font-size:13px}.portal-root .htpo-edit-tt-field{gap:6px;min-width:0;max-width:100%;display:grid}.portal-root .htpo-edit-tt-page .db-input,.portal-root .htpo-edit-tt-page .erp-searchable-select{width:100%;min-width:0;max-width:100%}.portal-root .erp-time-select{align-items:center;gap:6px;width:100%;min-width:0;display:flex}.portal-root .erp-time-select .erp-searchable-select{flex:1 1 0;min-width:0}.portal-root .erp-time-select__sep{color:var(--t2,#cbd5e1);flex-shrink:0;font-size:16px;font-weight:700;line-height:1}.portal-root[data-portal-theme=light] .erp-time-select__sep{color:#475569}.portal-root .htpo-edit-tt-label{letter-spacing:.08em;text-transform:uppercase;color:var(--t3,#94a3b8);font-size:10px;font-weight:800}.portal-root .htpo-edit-tt-rows{gap:14px;min-width:0;max-width:100%;padding-bottom:8px;display:grid}.portal-root .htpo-edit-tt-row{border-top:1px solid var(--bd,#ffffff14);gap:10px;min-width:0;max-width:100%;padding-top:4px;display:grid;position:relative}.portal-root .htpo-edit-tt-row-delete{border:1px solid color-mix(in srgb, var(--t3) 24%, var(--bd));background:color-mix(in srgb, var(--bg3) 70%, transparent);width:32px;height:32px;color:var(--t3);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:static}.portal-root .htpo-edit-tt-row-delete:hover:not(:disabled){color:#ef4444;border-color:color-mix(in srgb, #ef4444 40%, var(--bd));background:color-mix(in srgb, #ef4444 12%, var(--bg3))}.portal-root .htpo-edit-tt-row-delete:disabled{opacity:.5;cursor:not-allowed}.portal-root[data-portal-theme=light] .htpo-edit-tt-row-delete{color:#64748b;background:#fff}.portal-root[data-portal-theme=light] .htpo-edit-tt-row-delete:hover:not(:disabled){color:#dc2626;background:#fef2f2;border-color:#fecaca}.portal-root .htpo-edit-tt-row:first-child{border-top:0;padding-top:0}.portal-root .htpo-edit-tt-row-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.portal-root .htpo-edit-tt-row-actions{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.portal-root .htpo-edit-tt-row-title{color:var(--t3,#94a3b8);font-size:11px;font-weight:700}.portal-root .htpo-edit-tt-add-row{border:1px solid var(--bd2);background:var(--bg3);width:32px;height:32px;color:var(--t1);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.portal-root .htpo-edit-tt-time-row{grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;max-width:100%;display:grid}.portal-root .htpo-edit-tt-page-actions{padding:16px 0 max(24px, env(safe-area-inset-bottom));border-top:1px solid var(--bd);gap:10px;margin-top:20px;display:grid;position:static!important}.portal-root .htpo-edit-tt-submit,.portal-root .htpo-edit-tt-cancel{cursor:pointer;border-radius:12px;justify-content:center;align-items:center;width:100%;min-height:48px;font-size:15px;font-weight:800;display:flex;position:static!important}.portal-root .htpo-edit-tt-submit:disabled,.portal-root .htpo-edit-tt-cancel:disabled{opacity:.55;cursor:not-allowed}.portal-root .htpo-edit-tt-submit{border:1px solid var(--inv);background:var(--inv);color:var(--inv-t)}.portal-root .htpo-edit-tt-cancel{border:1px solid var(--bd2);background:var(--bg3);color:var(--t1)}.portal-root[data-portal-theme=light] .htpo-edit-tt-submit{border-color:var(--erp-blue);background:var(--erp-blue);color:#fff}.portal-root[data-portal-theme=light] .htpo-edit-tt-cancel{color:var(--erp-blue);border-color:var(--erp-blue);background:#fff}.portal-root .htpo-timetable-page-stack{gap:14px;width:100%;min-width:0;max-width:100%;display:grid;overflow-x:hidden}.portal-root .htpo-timetable-page-stack .tp-card,.portal-root .htpo-timetable-page-stack .htpo-section-tt-card,.portal-root .htpo-timetable-page-stack .htpo-assign-teachers-card,.portal-root .htpo-timetable-page-stack .htpo-your-tt-card{box-sizing:border-box;width:100%;min-width:0;max-width:100%;overflow:hidden visible}.portal-root .htpo-tt-table-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;width:100%;min-width:0;max-width:100%;overflow:auto visible}.portal-root .htpo-your-tt-table-wrap.htpo-tt-table-scroll,.portal-root .htpo-assign-teachers-table-wrap.htpo-tt-table-scroll{width:fit-content;max-width:100%}.portal-root .htpo-assign-teachers-card{padding:0;overflow:hidden visible}.portal-root .htpo-assign-teachers-head{border-bottom:1px solid var(--bd);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.portal-root .htpo-assign-teachers-title{color:var(--t1);margin:0;font-size:13px;font-weight:700}.portal-root .htpo-assign-teachers-add-btn{border:1px solid var(--inv);background:var(--inv);min-height:34px;color:var(--inv-t);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:0 14px;font-size:12px;font-weight:800;display:inline-flex}.portal-root[data-portal-theme=light] .htpo-assign-teachers-add-btn{border-color:var(--erp-blue);background:var(--erp-blue);color:#fff}.portal-root .htpo-assign-teachers-loading,.portal-root .htpo-assign-teachers-empty{color:var(--t3);margin:0;padding:16px;font-size:13px}.portal-root .htpo-assign-teachers-table{border-collapse:collapse;table-layout:auto;width:max-content;max-width:100%;font-size:12px}.portal-root .htpo-assign-teachers-table th{vertical-align:middle;border-bottom:1px solid var(--bd);letter-spacing:.06em;text-transform:uppercase;text-align:left;color:var(--t3);white-space:nowrap;padding:10px 14px;font-size:10px;font-weight:800}.portal-root .htpo-assign-teachers-table td{border-bottom:1px solid var(--bd);color:var(--t1);vertical-align:middle;padding:12px 14px}.portal-root .htpo-assign-teachers-table tbody tr:last-child td{border-bottom:0}.portal-root .htpo-assign-teachers-subject{font-weight:700}.portal-root .htpo-assign-teachers-code{border:1px solid var(--bd2);background:var(--bg3);color:var(--t2,var(--t1));border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.portal-root .htpo-assign-teachers-unassigned{color:var(--t3)}.portal-root .htpo-assign-teachers-action{border:1px solid var(--bd2);min-height:30px;color:var(--t1);cursor:pointer;background:0 0;border-radius:8px;align-items:center;padding:0 12px;font-size:11px;font-weight:700;display:inline-flex}.portal-root .htpo-assign-teachers-action:hover{background:var(--bg3)}.portal-root .htpo-assign-teachers-actions{align-items:center;gap:6px;display:inline-flex}.portal-root .htpo-assign-teachers-delete{border:1px solid color-mix(in srgb, var(--t3) 24%, var(--bd));background:color-mix(in srgb, var(--bg3) 70%, transparent);width:28px;height:28px;color:var(--t3);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.portal-root .htpo-assign-teachers-delete:hover:not(:disabled){color:#ef4444;border-color:color-mix(in srgb, #ef4444 40%, var(--bd));background:color-mix(in srgb, #ef4444 12%, var(--bg3))}.portal-root .htpo-assign-teachers-delete:disabled{opacity:.5;cursor:not-allowed}.portal-root[data-portal-theme=light] .htpo-assign-teachers-delete{color:#64748b;background:#fff}.portal-root[data-portal-theme=light] .htpo-assign-teachers-delete:hover:not(:disabled){color:#dc2626;background:#fef2f2;border-color:#fecaca}.portal-root .htpo-edit-tt-load-error{color:#f87171}.portal-root .htpo-your-tt-card{padding:0;overflow:hidden visible}.portal-root .htpo-your-tt-head{border-bottom:1px solid var(--bd);padding:14px 16px}.portal-root .htpo-your-tt-title{color:var(--t1);margin:0;font-size:13px;font-weight:700}.portal-root .htpo-your-tt-loading,.portal-root .htpo-your-tt-empty{color:var(--t3);margin:0;padding:16px;font-size:13px}.portal-root .htpo-your-tt-table{border-collapse:collapse;table-layout:auto;width:max-content;max-width:100%;font-size:12px}.portal-root .htpo-your-tt-table th{vertical-align:middle;border-bottom:1px solid var(--bd);letter-spacing:.06em;text-transform:uppercase;text-align:left;color:var(--t3);white-space:nowrap;padding:10px 14px;font-size:10px;font-weight:800}.portal-root .htpo-your-tt-table td{border-bottom:1px solid var(--bd);color:var(--t1);vertical-align:middle;padding:12px 14px}.portal-root .htpo-your-tt-table tbody tr:last-child td{border-bottom:0}.portal-root .htpo-your-tt-subject{font-weight:700}.htpo-portal-confirm-overlay{z-index:9800;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a7a;place-items:center;display:grid;position:fixed;inset:0}.htpo-portal-confirm-card{border:1px solid var(--bd,#94a3b847);background:var(--bg2,#1e293b);width:min(360px,100%);color:var(--t1,#f1f5f9);text-align:center;border-radius:16px;padding:20px;box-shadow:0 24px 60px #00000047}.htpo-portal-confirm-icon{background:color-mix(in srgb, #ef4444 16%, var(--bg3,#334155));color:#f87171;border-radius:14px;place-items:center;width:48px;height:48px;margin:0 auto 12px;display:grid}.htpo-portal-confirm-icon--primary{background:color-mix(in srgb, var(--erp-blue,#004b8d) 18%, var(--bg3,#334155));color:#93c5fd}.htpo-portal-confirm-card h2{color:var(--t1,#f1f5f9);margin:0;font-size:18px;font-weight:800}.htpo-portal-confirm-card p{color:var(--t3,#94a3b8);margin:8px 0 0;font-size:13px;font-weight:600;line-height:1.45}.htpo-portal-confirm-card strong{color:var(--t2,#cbd5e1);margin-top:10px;font-size:14px;font-weight:800;display:block}.htpo-portal-confirm-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.htpo-portal-confirm-actions button{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:42px;font-size:13px;font-weight:800;display:inline-flex}.htpo-portal-confirm-cancel{border:1px solid var(--bd2,#94a3b859);background:var(--bg3,#334155);color:var(--t2,#cbd5e1)}.htpo-portal-confirm-danger{background:color-mix(in srgb, #ef4444 18%, var(--bg3,#334155));color:#fca5a5;border:1px solid #ef444473}.htpo-portal-confirm-primary{border:1px solid color-mix(in srgb, var(--erp-blue,#004b8d) 50%, transparent);background:var(--erp-blue,#004b8d);color:#fff}.portal-root[data-portal-theme=light]~.htpo-portal-confirm-overlay .htpo-portal-confirm-card,.portal-root[data-portal-theme=light].htpo-portal-confirm-overlay .htpo-portal-confirm-card,html[data-portal-theme=light] .htpo-portal-confirm-card{color:#0f172a;background:#fff;border-color:#e2e8f0;box-shadow:0 20px 50px #0f172a1f}html[data-portal-theme=light] .htpo-portal-confirm-card h2{color:#0f172a}html[data-portal-theme=light] .htpo-portal-confirm-card p{color:#64748b}html[data-portal-theme=light] .htpo-portal-confirm-card strong{color:#334155}html[data-portal-theme=light] .htpo-portal-confirm-icon{color:#dc2626;background:#fee2e2}html[data-portal-theme=light] .htpo-portal-confirm-cancel{color:#475569;background:#fff;border-color:#e2e8f0}html[data-portal-theme=light] .htpo-portal-confirm-danger{color:#dc2626;background:#fef2f2;border-color:#fecaca}.portal-root[data-portal-theme=dark].htpo-portal-confirm-overlay{background:#000000b8}.portal-root[data-portal-theme=light].htpo-portal-confirm-overlay{-webkit-backdrop-filter:blur(8px);background:#0f172a73}.portal-root.tp-portal-sheet-overlay{z-index:9600;overscroll-behavior:none;touch-action:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a73;justify-content:center;align-items:flex-end;min-height:0;padding:0;display:flex;position:fixed;inset:0;overflow:hidden}.portal-root[data-portal-theme=dark].tp-portal-sheet-overlay{background:#000000b8}.portal-root.teacher-portal-root[data-portal-theme=light].tp-portal-sheet-overlay{-webkit-backdrop-filter:blur(8px);background:#0f172a73}@media (width>=640px){.portal-root.tp-portal-sheet-overlay{align-items:center;padding:1rem}}.portal-root .tp-portal-sheet{background:var(--bg2);width:min(100%,520px);min-height:0;max-height:min(92dvh,720px);color:var(--t1);border:1px solid var(--bd2);touch-action:pan-y;border-bottom:none;border-radius:18px 18px 0 0;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 -8px 40px #0000002e}@media (width>=640px){.portal-root .tp-portal-sheet{border-bottom:1px solid var(--bd2);border-radius:18px;max-height:min(88dvh,720px)}}.portal-root .tp-portal-sheet-head{padding:1rem 1.15rem;padding-top:max(1rem, env(safe-area-inset-top,0px));border-bottom:1px solid var(--bd2);background:var(--bg2);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;display:flex}.portal-root .tp-portal-sheet-head h2{min-width:0;color:var(--t1);margin:0;font-size:18px;font-weight:800}.portal-root .tp-portal-sheet-close{border:1px solid var(--bd2);background:var(--bg3);width:36px;height:36px;color:var(--t1);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.portal-root .tp-portal-sheet-close:hover{background:var(--bg4)}.portal-root .tp-portal-sheet-body{padding:1rem 1.15rem max(1.15rem, env(safe-area-inset-bottom,0px));gap:12px;display:grid;overflow-y:auto}.portal-root .tp-portal-sheet-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}@media (width<=520px){.portal-root .tp-portal-sheet-actions{grid-template-columns:1fr}}.portal-root .tp-syllabus-sheet{width:min(100%,560px)}.portal-root .tp-syllabus-sheet-sub{color:var(--t3);margin:4px 0 0;font-size:12px;font-weight:600}.portal-root .tp-syllabus-sheet-body{gap:14px}.portal-root .tp-syllabus-sheet-units{gap:12px;display:grid}.portal-root .tp-syllabus-sheet-unit{border:1px solid var(--bd2);background:var(--bg3);border-radius:12px;padding:12px}.portal-root .tp-syllabus-sheet-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.portal-root .tp-syllabus-sheet-row--unit{margin-bottom:10px}.portal-root .tp-syllabus-sheet-row--unit strong{min-width:0;color:var(--t1);font-size:14px;font-weight:800}.portal-root .tp-syllabus-sheet-row--topic{border-top:1px solid var(--bd2);color:var(--t2);padding:8px 0;font-size:13px}.portal-root .tp-syllabus-sheet-topics{margin:0;padding:0;list-style:none}.portal-root .tp-syllabus-sheet-actions{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.portal-root .tp-syllabus-sheet-icon-btn{border:1px solid var(--bd2);background:var(--bg4);width:34px;height:34px;color:var(--t1);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.portal-root .tp-syllabus-sheet-icon-btn:hover:not(:disabled){background:var(--accent-bg);border-color:var(--bd3)}.portal-root .tp-syllabus-sheet-icon-btn:disabled{opacity:.45;cursor:not-allowed}.portal-root .tp-syllabus-sheet-icon-btn--danger{color:#f87171;border-color:#f8717152}.portal-root .tp-syllabus-sheet-icon-btn--add{color:var(--erp-blue,#004b8d);border-color:#004b8d47}.portal-root .tp-syllabus-sheet-input{flex:1;min-width:0}.portal-root .tp-syllabus-sheet-add-unit{justify-content:center;align-items:center;gap:6px;width:100%;display:inline-flex}.portal-root .tp-syllabus-empty--summary{border-style:solid}.portal-root .tp-syllabus-preview{gap:16px;margin-top:4px;display:grid}.portal-root .tp-syllabus-preview-units{gap:12px;display:grid}.portal-root .tp-syllabus-preview-unit{border:1px solid var(--bd);background:var(--bg3);border-radius:12px;padding:14px 16px}.portal-root .tp-syllabus-preview-unit h3{color:var(--t1);margin:0 0 10px;font-size:15px;font-weight:700}.portal-root .tp-syllabus-preview-topics{gap:8px;margin:0;padding:0;list-style:none;display:grid}.portal-root .tp-syllabus-preview-topics li{color:var(--t2);font-size:14px;line-height:1.45}.portal-root .tp-syllabus-manage-page{gap:16px}.portal-root .tp-syllabus-manage-sub{color:var(--t3);margin:0;font-size:14px}.portal-root .tp-syllabus-manage-units{gap:14px;display:grid}.portal-root .tp-syllabus-manage-unit-card{gap:12px;display:grid}.portal-root .tp-syllabus-manage-unit-head{gap:10px;display:grid}.portal-root .tp-syllabus-manage-unit-head h3{color:var(--t1);margin:0;font-size:16px;font-weight:700}.portal-root .tp-syllabus-manage-actions{flex-wrap:wrap;gap:8px;display:flex}.portal-root .tp-syllabus-manage-action-btn{border-width:1px;min-height:38px;padding:0 16px;font-size:13px;font-weight:700}.portal-root .tp-syllabus-manage-topics{gap:10px;margin:0;padding:0;list-style:none;display:grid}.portal-root .tp-syllabus-manage-topic-row{border:1px solid var(--bd2);background:var(--bg2);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.portal-root .tp-syllabus-manage-topic-row>span,.portal-root .tp-syllabus-manage-topic-row>.db-input{flex:180px;min-width:0}.portal-root .tp-syllabus-manage-topic-row>span{color:var(--t2);font-size:14px;line-height:1.45}.portal-root .tp-syllabus-manage-add-unit{justify-content:center;width:100%}.portal-root .tp-syllabus-manage-footer{flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.portal-root .tp-syllabus-manage-topic-row--add-only{justify-content:space-between;align-items:center;gap:10px;display:flex}.portal-root .tp-syllabus-manage-topic-row--pending{border-style:dashed}.portal-root .tp-syllabus-manage-add-btn{justify-content:center;align-items:center;min-width:38px;min-height:38px;padding:0 10px;display:inline-flex}.portal-root .tp-syllabus-create-sheet .tp-portal-sheet-head>div{min-width:0}.portal-root .tp-syllabus-create-body{gap:14px}.portal-root .tp-syllabus-create-units{gap:14px;display:grid}.portal-root .tp-syllabus-create-unit{border:1px solid var(--bd);background:var(--bg3);border-radius:12px;gap:12px;padding:14px;display:grid}.portal-root .tp-syllabus-create-unit-head{gap:10px;display:grid}.portal-root .tp-syllabus-create-field{max-width:none;margin:0}.portal-root .tp-syllabus-create-delete-unit{justify-self:start}.portal-root .tp-syllabus-create-topics{gap:10px;margin:0;padding:0;list-style:none;display:grid}.portal-root .tp-syllabus-create-topic-row{border:1px solid var(--bd2);background:var(--bg2);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px;padding:10px 12px;display:flex}.portal-root .tp-syllabus-create-topic-row .tp-syllabus-create-field{flex:180px;min-width:0;margin:0}.portal-root .tp-syllabus-create-topic-row--add-only{justify-content:space-between;align-items:center;gap:10px;display:flex}.portal-root .tp-syllabus-create-topic-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.portal-root .tp-syllabus-create-action-btn,.portal-root .tp-syllabus-create-add-btn{min-height:38px}.portal-root .tp-syllabus-create-add-btn{justify-content:center;align-items:center;min-width:38px;padding:0 10px;display:inline-flex}.portal-root .tp-syllabus-create-add-unit{justify-content:center;width:100%}.portal-root .erp-confirm-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000094}.portal-root .erp-export-dialog{border:1px solid var(--bd2);background:var(--bg3);color:var(--t1);border-radius:16px;box-shadow:0 24px 60px #00000059}.portal-root .erp-export-dialog-head h2{color:var(--t1)!important}.portal-root .erp-export-dialog-lead{color:var(--t2)!important}.portal-root .erp-export-dialog-lead strong{color:var(--t1)}.portal-root .erp-export-option{border:1px solid var(--bd2);background:var(--bg4);color:var(--t1)!important}.portal-root .erp-export-option:hover:not(:disabled){background:var(--accent-bg);border-color:var(--inv)}.portal-root .erp-export-dialog .db-icon-button{border:1px solid var(--bd2);background:var(--bg4);color:var(--t2)!important}.portal-root[data-portal-theme=light] .erp-confirm-overlay{background:#0f172a66}.portal-root[data-portal-theme=light] .erp-export-dialog{border-color:rgb(var(--erp-blue-rgb) / 14%);color:#0f172a;background:#fff;box-shadow:0 24px 70px #0f172a2e}.portal-root[data-portal-theme=light] .erp-export-dialog-head h2{color:var(--erp-blue)!important}.portal-root[data-portal-theme=light] .erp-export-dialog-lead{color:rgb(var(--erp-blue-rgb) / 72%)!important}.portal-root[data-portal-theme=light] .erp-export-option{border-color:rgb(var(--erp-blue-rgb) / 16%);background:#fff;color:var(--erp-blue)!important}.portal-root[data-portal-theme=light] .erp-export-option:hover:not(:disabled){background:rgb(var(--erp-blue-rgb) / 6%);border-color:rgb(var(--erp-blue-rgb) / 28%)}.portal-root[data-portal-theme=light] .erp-export-dialog .db-icon-button{background:#fff;border-color:#e2e8f0;color:#475569!important}.portal-root .htpo-results-page-stack{gap:14px;width:100%;min-width:0;max-width:100%;display:grid}.portal-root .htpo-results-manage-card,.portal-root .htpo-results-view-card{padding:0;overflow:hidden}.portal-root .htpo-results-card-head{border-bottom:1px solid var(--bd);padding:14px 16px}.portal-root .htpo-results-card-title{color:var(--t1);margin:0;font-size:13px;font-weight:700}.portal-root .htpo-results-manage-actions,.portal-root .htpo-results-add-actions,.portal-root .htpo-results-upload-actions{flex-wrap:wrap;gap:10px;padding:14px 16px;display:flex}.portal-root .htpo-results-manage-actions{flex-wrap:nowrap}.portal-root .htpo-results-manage-actions .htpo-results-action-btn{flex:1 1 0;justify-content:center;min-width:0}.portal-root .htpo-results-add-actions--stack,.portal-root .htpo-results-upload-actions--stack{flex-flow:column}.portal-root .htpo-results-action-btn--block{justify-content:center;width:100%}.portal-root .htpo-results-action-btn{border:1px solid var(--inv);background:var(--inv);min-height:36px;color:var(--inv-t);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:0 14px;font-size:12px;font-weight:800;display:inline-flex}.portal-root .htpo-results-action-btn:disabled{opacity:.45;cursor:not-allowed}.portal-root .htpo-results-action-btn--ghost{border-color:var(--bd2);background:var(--bg3);color:var(--t1)}.portal-root[data-portal-theme=light] .htpo-results-action-btn{border-color:var(--erp-blue);background:var(--erp-blue);color:#fff}.portal-root[data-portal-theme=light] .htpo-results-action-btn--ghost{border-color:var(--erp-blue);color:var(--erp-blue);background:#fff}.portal-root .htpo-results-view-filters,.portal-root .htpo-results-add-grid{gap:12px;padding:14px 16px;display:grid}.portal-root .htpo-results-view-filters .htpo-results-filter--search{grid-column:1/-1}.portal-root .htpo-results-view-student-actions{gap:8px;padding:0 16px 12px;display:grid}.portal-root .htpo-results-view-student-row{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.portal-root .htpo-results-view-student-label{color:var(--t2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.portal-root .htpo-results-info-btn{border:1px solid var(--bd2);background:var(--bg3);width:32px;height:32px;color:var(--inv);cursor:pointer;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.portal-root[data-portal-theme=light] .htpo-results-info-btn{color:var(--erp-blue);background:#fff;border-color:#004b8d38}@media (width>=720px){.portal-root .htpo-results-view-filters,.portal-root .htpo-results-add-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.portal-root .htpo-results-filter{gap:6px;min-width:0;display:grid}.portal-root .htpo-results-filter--search{position:relative}.portal-root .htpo-results-filter-label{letter-spacing:.06em;text-transform:uppercase;color:var(--t3);font-size:10px;font-weight:800}.portal-root .htpo-results-select{border:1px solid var(--bd2);background:var(--bg3);min-height:38px;color:var(--t1);border-radius:10px;padding:0 10px}.portal-root .htpo-results-empty{color:var(--t3);margin:0;padding:16px;font-size:13px}.portal-root .htpo-results-table-wrap{width:100%;min-width:0;max-width:100%;padding:0 16px 16px;overflow-x:auto}.portal-root .htpo-results-table{border-collapse:collapse;table-layout:auto;width:100%;font-size:12px}.portal-root .htpo-results-table th{vertical-align:middle;border-bottom:1px solid var(--bd);letter-spacing:.06em;text-transform:uppercase;text-align:left;color:var(--t3);white-space:nowrap;padding:10px 12px;font-size:10px;font-weight:800}.portal-root .htpo-results-table td{border-bottom:1px solid var(--bd);color:var(--t2);white-space:nowrap;padding:10px 12px}.portal-root .htpo-results-link-btn{color:var(--inv);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;font-size:12px;font-weight:700;text-decoration:underline}.portal-root[data-portal-theme=light] .htpo-results-link-btn{color:var(--erp-blue)}.portal-root .htpo-results-upload-page,.portal-root .htpo-results-report-page,.portal-root .htpo-results-add-page,.portal-root .htpo-results-student-page{min-height:calc(100dvh - var(--portal-topbar-height) - 24px);flex-direction:column;gap:14px;display:flex}.portal-root .htpo-results-upload-page.is-locked{pointer-events:none}.portal-root .htpo-results-upload-page.is-progressing{justify-content:center;align-items:center;position:relative}.portal-root .htpo-results-upload-page.is-progressing .htpo-results-upload-card{opacity:.35}.portal-root .htpo-results-upload-page.is-locked .htpo-results-upload-progress{pointer-events:auto}.portal-root .htpo-results-upload-card,.portal-root .htpo-results-report-section-card,.portal-root .htpo-results-semester-card{border:1px solid var(--bd);background:var(--bg2);box-sizing:border-box;border-radius:14px;width:100%;min-width:0;max-width:100%;padding:16px}.portal-root .htpo-results-upload-title,.portal-root .htpo-results-add-head h1,.portal-root .htpo-results-report-head h1,.portal-root .htpo-results-student-head h1{color:var(--t1);margin:0 0 6px;font-size:18px;font-weight:800}.portal-root .htpo-results-upload-hint,.portal-root .htpo-results-add-head p,.portal-root .htpo-results-report-head p,.portal-root .htpo-results-student-head p{color:var(--t3);margin:0;font-size:13px}.portal-root .htpo-results-upload-field{gap:8px;min-width:0;margin-top:14px;display:grid}.portal-root .htpo-results-upload-file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.portal-root .htpo-results-upload-file-btn{border:1px solid var(--bd2);background:var(--bg3);width:100%;min-height:44px;color:var(--t1);cursor:pointer;touch-action:manipulation;border-radius:10px;justify-content:center;align-items:center;padding:0 16px;font-size:13px;font-weight:700;display:inline-flex}.portal-root .htpo-results-upload-file-btn:disabled{opacity:.55;cursor:not-allowed}.portal-root .htpo-results-upload-file-name,.portal-root .htpo-results-upload-file-hint{word-break:break-word;margin:0;font-size:12px;line-height:1.4}.portal-root .htpo-results-upload-file-name{color:var(--t2)}.portal-root .htpo-results-upload-file-hint{color:var(--t3)}.portal-root .htpo-results-upload-field input[type=file]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;font-size:16px}.portal-root .htpo-results-upload-actions{padding:14px 0 0}.portal-root .htpo-results-upload-lock{background:var(--accent-bg);color:var(--t2);border-radius:10px;margin:12px 0 0;padding:10px 12px;font-size:12px}.portal-root .htpo-results-upload-progress{z-index:2;border:1px solid var(--bd);background:var(--bg2);border-radius:14px;width:min(420px,100% - 32px);padding:18px 16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 40px #00000047}.portal-root .htpo-results-upload-caution{background:var(--accent-bg);color:var(--t2);text-align:center;border-radius:10px;margin:0 0 14px;padding:10px 12px;font-size:12px;line-height:1.45}.portal-root .htpo-results-progress-row{align-items:center;gap:10px;display:flex}.portal-root .htpo-results-upload-footer,.portal-root .htpo-results-report-footer{border-top:1px solid var(--bd);background:var(--bg);margin-top:auto;padding:12px 0 0;position:sticky;bottom:0}.portal-root .htpo-results-progress-track{background:var(--bg4);border-radius:999px;flex:auto;min-width:0;height:8px;overflow:hidden}.portal-root .htpo-results-progress-bar{border-radius:inherit;background:var(--inv);height:100%;transition:width .25s linear}.portal-root[data-portal-theme=light] .htpo-results-progress-bar{background:var(--erp-blue)}.portal-root .htpo-results-progress-pct{min-width:2.75rem;color:var(--t1);text-align:right;font-variant-numeric:tabular-nums;flex:none;font-size:12px;font-weight:800}.portal-root .htpo-results-progress-text{color:var(--t3);text-align:center;margin:10px 0 0;font-size:12px}body.htpo-results-import-body-locked{overflow:hidden}.htpo-results-import-lock{z-index:12000;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.htpo-results-import-lock__backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000094;position:absolute;inset:0}.portal-root[data-portal-theme=light].htpo-results-import-lock .htpo-results-import-lock__backdrop{-webkit-backdrop-filter:blur(6px);background:#0f172a47}.htpo-results-import-lock__panel{z-index:1;border:1px solid var(--bd);background:var(--bg2);width:min(440px,100%);color:var(--t1);border-radius:16px;padding:18px 16px 16px;position:relative;box-shadow:0 18px 48px #00000052}.portal-root[data-portal-theme=light].htpo-results-import-lock .htpo-results-import-lock__panel{background:#fff;border:1px solid #e5e7eb;box-shadow:0 22px 55px #0f172a24}.portal-root[data-portal-theme=light].htpo-results-import-lock .htpo-results-import-lock__head h2{color:#0f172a}.portal-root[data-portal-theme=light].htpo-results-import-lock .htpo-results-import-lock__file{color:#64748b}.portal-root[data-portal-theme=light].htpo-results-import-lock .htpo-results-import-lock__caution{color:#334155;background:#004b8d0f;border:1px solid #004b8d24}.portal-root[data-portal-theme=light].htpo-results-import-lock .htpo-results-import-lock__close{color:#475569;background:#f8fafc;border-color:#e5e7eb}.portal-root[data-portal-theme=light].htpo-results-import-lock .htpo-results-import-lock__close:hover{color:#0f172a;background:#f1f5f9}.portal-root[data-portal-theme=light].htpo-results-import-lock .htpo-results-progress-track{background:#004b8d1f}.portal-root[data-portal-theme=light].htpo-results-import-lock .htpo-results-progress-bar{background:var(--erp-blue,#004b8d)}.portal-root[data-portal-theme=light].htpo-results-import-lock .htpo-results-progress-pct{color:#0f172a}.portal-root[data-portal-theme=light].htpo-results-import-lock .htpo-results-progress-text{color:#475569}.htpo-results-import-lock__head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.htpo-results-import-lock__head h2{color:var(--t1);margin:0;font-size:18px;font-weight:800}.htpo-results-import-lock__file{color:var(--t3);word-break:break-word;margin:4px 0 0;font-size:12px}.htpo-results-import-lock__close{border:1px solid var(--bd);background:var(--bg3);width:36px;height:36px;color:var(--t2);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.htpo-results-import-lock__caution{background:var(--accent-bg);color:var(--t2);border-radius:10px;margin:0 0 14px;padding:10px 12px;font-size:12px;line-height:1.45}.htpo-results-import-lock__actions{gap:10px;margin-top:16px;display:grid}.portal-root .htpo-results-progress-track.is-indeterminate .htpo-results-progress-bar{animation:1.2s ease-in-out infinite htpo-results-progress-indeterminate;width:38%!important}@keyframes htpo-results-progress-indeterminate{0%{transform:translate(-120%)}to{transform:translate(320%)}}.portal-root .htpo-results-report-body{flex:1;gap:12px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.portal-root .htpo-results-report-section-card h2{color:var(--t1);margin:0 0 6px;font-size:14px;font-weight:800}.portal-root .htpo-results-report-section-card h3{color:var(--t2);margin:12px 0 6px;font-size:12px;font-weight:700}.portal-root .htpo-results-missing-list{color:var(--t2);margin:0;padding-left:18px;font-size:12px}.portal-root .htpo-results-report-ok{color:var(--t3);margin:8px 0 0;font-size:12px}.portal-root .htpo-results-push-btn{border:1px solid var(--bd2);background:var(--bg4);width:100%;min-height:42px;color:var(--t4);cursor:not-allowed;border-radius:12px;font-size:13px;font-weight:800}.portal-root .htpo-results-push-btn:not(:disabled){border-color:var(--inv);background:var(--inv);color:var(--inv-t);cursor:pointer}.portal-root[data-portal-theme=light] .htpo-results-push-btn:not(:disabled){border-color:var(--erp-blue);background:var(--erp-blue);color:#fff}.portal-root .htpo-results-student-list{z-index:20;border:1px solid var(--bd2);background:var(--bg2);border-radius:10px;max-height:220px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.portal-root .htpo-results-student-list button{text-align:left;width:100%;color:var(--t1);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 10px;font-size:12px}.portal-root .htpo-results-student-list button:hover{background:var(--accent-bg)}.portal-root .htpo-results-search-hint,.portal-root .htpo-results-selected-student{color:var(--t3);margin:4px 0 0;font-size:11px}.portal-root .htpo-results-subject-rows{gap:12px;display:grid}.portal-root .htpo-results-subject-row{border:1px solid var(--bd);background:var(--bg2);border-radius:12px;padding:12px}.portal-root .htpo-results-subject-row-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.portal-root .htpo-results-subject-row-tools{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.portal-root .htpo-results-subject-fields{gap:10px;display:grid}@media (width>=720px){.portal-root .htpo-results-subject-fields{grid-template-columns:repeat(5,minmax(0,1fr))}}.portal-root .htpo-results-subject-fields label{letter-spacing:.04em;text-transform:uppercase;color:var(--t3);gap:4px;font-size:10px;font-weight:700;display:grid}.portal-root .htpo-results-icon-btn{border:1px solid var(--bd2);background:var(--bg3);width:28px;height:28px;color:var(--t2);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.portal-root .htpo-results-student-stack{gap:12px;display:grid}.portal-root .htpo-results-semester-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.portal-root .htpo-results-semester-head h2{color:var(--t1);margin:0;font-size:14px;font-weight:800}.portal-root .htpo-results-semester-head span{color:var(--t3);font-size:12px;font-weight:700}.portal-root .htpo-teams-page{gap:14px;display:grid}.portal-root .htpo-teams-create-btn{border:1px solid var(--inv);background:var(--inv);width:100%;color:var(--inv-t);cursor:pointer;border-radius:10px;padding:12px 16px;font-size:14px;font-weight:800;display:block}.portal-root .htpo-teams-create-btn:disabled{opacity:.55;cursor:not-allowed}.portal-root .htpo-teams-section-filter,.portal-root .htpo-teams-field{gap:6px;display:grid}.portal-root .htpo-teams-field-label{letter-spacing:.04em;text-transform:uppercase;color:var(--t3);font-size:10px;font-weight:700}.portal-root .htpo-teams-members-fieldset{border:none;gap:8px;margin:0;padding:0;display:grid}.portal-root .htpo-teams-form-hint{color:var(--t3);text-align:center;margin:0;font-size:12px}.portal-root .htpo-teams-field-error{color:#f87171;margin:0;font-size:12px;font-weight:600}.portal-root .htpo-teams-empty,.portal-root .htpo-teams-empty-hint,.portal-root .htpo-teams-search-hint{color:var(--t3);margin:0;font-size:13px}.portal-root .htpo-teams-card-stack{gap:12px;display:grid}.portal-root .htpo-teams-card{border:1px solid var(--bd2);background:var(--bg2);border-radius:14px;overflow:hidden}.portal-root .htpo-teams-card-head{border-bottom:1px solid var(--bd2);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.portal-root .htpo-teams-card-title{color:var(--t1);margin:0;font-size:16px;font-weight:800}.portal-root .htpo-teams-card-meta{color:var(--t3);margin:4px 0 0;font-size:12px}.portal-root .htpo-teams-card-actions{flex-wrap:wrap;gap:8px;display:flex}.portal-root .htpo-teams-card-btn{border:1px solid var(--bd2);color:var(--t2);cursor:pointer;background:0 0;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:700}.portal-root .htpo-teams-card-btn--danger{color:#f87171;border-color:#f8717159}.portal-root .htpo-teams-member-list{margin:0;padding:0;list-style:none}.portal-root .htpo-teams-member-row{border-top:1px solid var(--bd2);align-items:center;gap:10px;padding:12px 16px;display:flex}.portal-root .htpo-teams-member-row:first-child{border-top:none}.portal-root .htpo-teams-member-avatar{background:var(--bg3);width:32px;height:32px;color:var(--t2);border-radius:999px;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.portal-root .htpo-teams-member-name{color:var(--t1);flex:1;font-size:14px;font-weight:600}.portal-root .teacher-portal-panel-wrap .htpo-teams-leader-badge{letter-spacing:.04em;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:3px 8px;font-size:11px;font-weight:800;line-height:1;display:inline-flex;background:var(--inv)!important;color:var(--inv-t)!important}.portal-root .htpo-teams-pagination{justify-content:flex-end;align-items:center;gap:10px;padding-top:4px;display:flex}.portal-root .htpo-teams-pagination button{border:1px solid var(--bd2);background:var(--bg3);color:var(--t2);cursor:pointer;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700}.portal-root .htpo-teams-pagination button:disabled{opacity:.45;cursor:not-allowed}.portal-root .htpo-teams-pagination span{color:var(--t3);font-size:12px}.portal-root .htpo-teams-form-page{gap:16px;display:grid}.portal-root .htpo-teams-form-head h1{color:var(--t1);margin:0;font-size:20px;font-weight:800}.portal-root .htpo-teams-form-head p{color:var(--t3);margin:6px 0 0;font-size:13px}.portal-root .htpo-teams-members-editor{gap:14px;display:grid}.portal-root .htpo-teams-field--search{position:relative}.portal-root .htpo-teams-student-list{border:1px solid var(--bd2);background:var(--bg2);border-radius:10px;max-height:220px;margin:6px 0 0;padding:0;list-style:none;overflow:auto}.portal-root .htpo-teams-student-list button{border:none;border-bottom:1px solid var(--bd2);width:100%;color:var(--t1);text-align:left;cursor:pointer;background:0 0;padding:10px 12px;font-size:13px;display:block}.portal-root .htpo-teams-student-list li:last-child button{border-bottom:none}.portal-root .htpo-teams-selected-members{border:1px solid var(--bd2);background:var(--bg2);border-radius:12px;gap:10px;padding:12px;display:grid}.portal-root .htpo-teams-selected-head{color:var(--t3);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.portal-root .htpo-teams-selected-head strong{color:var(--t1);font-size:13px}.portal-root .htpo-teams-selected-row{grid-template-columns:1fr auto auto;align-items:center;gap:8px;display:grid}.portal-root .htpo-teams-selected-name{color:var(--t1);font-size:13px}.portal-root .htpo-teams-rank-select{gap:4px;min-width:88px;display:grid}.portal-root .htpo-teams-rank-label{letter-spacing:.04em;text-transform:uppercase;color:var(--t3);font-size:10px;font-weight:700}.portal-root .htpo-teams-remove-btn{border:1px solid var(--bd2);color:var(--t3);cursor:pointer;background:0 0;border-radius:8px;padding:6px 8px;font-size:11px;font-weight:700}.portal-root .htpo-teams-form-actions{gap:10px;display:grid}.portal-root .htpo-teams-form-actions--stack{margin-top:4px}.portal-root .htpo-teams-action-btn{border:1px solid var(--inv);background:var(--inv);min-height:42px;color:var(--inv-t);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:10px 16px;font-size:14px;font-weight:800;display:inline-flex}.portal-root .htpo-teams-action-btn--block{width:100%}.portal-root .htpo-teams-action-btn--ghost{border-color:var(--bd2);background:var(--bg3);color:var(--t1)}.portal-root .htpo-teams-action-btn:disabled{opacity:.55;cursor:not-allowed}@media (width<=640px){.portal-root .htpo-teams-card-head{flex-direction:column}.portal-root .htpo-teams-selected-row{grid-template-columns:1fr}}.portal-root .htpo-finance-page{gap:16px;display:grid}.portal-root .htpo-finance-section-filter{gap:6px;max-width:420px;display:grid}.portal-root .htpo-finance-field-label{letter-spacing:.06em;text-transform:uppercase;color:var(--t3);font-size:11px;font-weight:700}.portal-root .htpo-finance-loading,.portal-root .htpo-finance-empty{color:var(--t3);font-size:14px}.portal-root .htpo-finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.portal-root .htpo-finance-stat{border:1px solid var(--bd2);background:var(--bg3);text-align:left;border-radius:12px;gap:4px;padding:16px;display:grid}.portal-root .htpo-finance-stat--clickable{cursor:pointer;transition:border-color .15s,background .15s}.portal-root .htpo-finance-stat--clickable:hover{border-color:var(--inv);background:var(--accent-bg)}.portal-root .htpo-finance-stat-label{letter-spacing:.08em;text-transform:uppercase;color:var(--t3);font-size:10px;font-weight:700}.portal-root .htpo-finance-stat-value{color:var(--t1);font-size:28px;font-weight:800;line-height:1.1}.portal-root .htpo-finance-stat small{color:var(--t3);font-size:12px}.portal-root .htpo-finance-card{border:1px solid var(--bd2);background:var(--bg3);border-radius:12px;padding:16px}.portal-root .htpo-finance-card--table{gap:12px;display:grid}.portal-root .htpo-finance-card-title{color:var(--t1);margin:0;font-size:16px;font-weight:800}.portal-root .htpo-finance-card-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.portal-root .htpo-finance-toolbar-filters{flex-wrap:wrap;gap:10px;min-width:0;display:flex}.portal-root .htpo-finance-toolbar-filters>*{min-width:160px}.portal-root .htpo-finance-export-btn{border:1px solid var(--inv);background:var(--inv);cursor:pointer;border-radius:10px;width:100%;padding:11px 16px;font-size:14px;font-weight:800;display:block;color:var(--inv-t)!important}.portal-root .htpo-finance-table-wrap{overflow-x:auto}.portal-root .htpo-finance-table{border-collapse:collapse;width:100%;font-size:13px}.portal-root .htpo-finance-table th{vertical-align:middle;border-bottom:1px solid var(--bd2);letter-spacing:.06em;text-transform:uppercase;color:var(--t3);text-align:left;padding:10px 8px;font-size:10px;font-weight:700}.portal-root .htpo-finance-table td{border-bottom:1px solid var(--bd2);color:var(--t1);vertical-align:middle;padding:12px 8px}.portal-root .htpo-finance-roll{border:1px solid var(--bd2);background:var(--bg4);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex;color:var(--t2)!important}.portal-root .htpo-finance-name{font-weight:700}.portal-root .htpo-finance-section{color:var(--t3);max-width:180px;font-size:12px}.portal-root .teacher-portal-panel-wrap .htpo-finance-status{letter-spacing:.03em;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-flex}.portal-root .teacher-portal-panel-wrap .htpo-finance-status--paid{color:#22c55e!important;background:#22c55e2e!important}.portal-root .teacher-portal-panel-wrap .htpo-finance-status--partial{color:#eab308!important;background:#eab3082e!important}.portal-root .teacher-portal-panel-wrap .htpo-finance-status--pending{color:#475569!important;background:#64748b29!important}.portal-root .teacher-portal-panel-wrap .htpo-finance-status--overdue{border:1px solid #dc262659;color:#dc2626!important;background:#dc262629!important}.portal-root .htpo-finance-row--overdue{background:#dc26260f}.portal-root .htpo-finance-search{min-width:200px;color:inherit;border:1px solid #94a3b873;border-radius:8px;padding:8px 12px;font-size:13px}.portal-root .htpo-finance-remind-btn{border:1px solid var(--bd2);color:var(--t2);cursor:pointer;background:0 0;border-radius:8px;padding:5px 10px;font-size:11px;font-weight:700}.portal-root .htpo-finance-remind-btn:hover:not(:disabled){border-color:var(--inv);color:var(--t1)}.portal-root .htpo-finance-muted{color:var(--t4)}.portal-root .htpo-finance-pagination{justify-content:flex-end;align-items:center;gap:10px;display:flex}.portal-root .htpo-finance-pagination button{border:1px solid var(--bd2);background:var(--bg4);color:var(--t1);cursor:pointer;border-radius:8px;padding:6px 12px}.portal-root .htpo-finance-pagination button:disabled{opacity:.45;cursor:not-allowed}.portal-root .htpo-finance-side-grid{gap:12px;display:grid}.portal-root .htpo-finance-collection-list,.portal-root .htpo-finance-payment-status-list{gap:14px;margin:12px 0 0;padding:0;list-style:none;display:grid}.portal-root .htpo-finance-collection-head{color:var(--t1);justify-content:space-between;align-items:center;gap:10px;font-size:14px;display:flex}.portal-root .htpo-finance-collection-head strong{font-size:14px}.portal-root .htpo-finance-collection-row small,.portal-root .htpo-finance-payment-status-row small{color:var(--t3);margin-top:4px;font-size:12px;display:block}.portal-root .htpo-finance-progress{background:var(--bg5);border-radius:999px;height:4px;margin-top:8px;overflow:hidden}.portal-root .htpo-finance-progress>span{border-radius:inherit;background:var(--inv);height:100%;display:block}.portal-root .htpo-finance-subpage{gap:16px;display:grid}.portal-root .htpo-finance-subhead{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.portal-root .htpo-finance-subhead h1{color:var(--t1);margin:0;font-size:22px;font-weight:800}.portal-root .htpo-finance-subhead p{color:var(--t3);margin:4px 0 0;font-size:14px}.portal-root .htpo-finance-back-btn{border:1px solid var(--bd2);background:var(--bg4);color:var(--t1);cursor:pointer;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:700}@media (width>=900px){.portal-root .htpo-finance-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-root .htpo-finance-side-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.portal-root .htpo-finance-card-toolbar{flex-direction:column;align-items:stretch}.portal-root .htpo-finance-toolbar-filters{flex-direction:column}}.portal-root .erp-reports-dash{gap:16px;display:grid}.portal-root .erp-reports-dash-section-filter{max-width:420px}.portal-root .erp-reports-dash-filter-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.portal-root .erp-reports-dash-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.portal-root .erp-reports-dash-kpi{border:1px solid var(--bd2);background:var(--bg3);border-radius:12px;gap:4px;padding:16px;display:grid}.portal-root .erp-reports-dash-kpi>span{letter-spacing:.06em;text-transform:uppercase;color:var(--t3);font-size:11px;font-weight:700}.portal-root .erp-reports-dash-kpi>strong{color:var(--t1);font-size:28px;font-weight:800;line-height:1.1}.portal-root .erp-reports-dash-kpi>small{color:var(--t3);font-size:12px}.portal-root .erp-reports-dash-card{border:1px solid var(--bd2);background:var(--bg3);border-radius:12px;padding:16px}.portal-root .erp-reports-dash-card-title{color:var(--t1);margin:0 0 12px;font-size:15px;font-weight:800}.portal-root .erp-reports-dash-performance{gap:12px;margin:0;padding:0;list-style:none;display:grid}.portal-root .erp-reports-dash-performance-head{color:var(--t2);justify-content:space-between;gap:12px;margin-bottom:6px;font-size:13px;display:flex}.portal-root .erp-reports-dash-progress{background:var(--bg4);border-radius:999px;height:6px;overflow:hidden}.portal-root .erp-reports-dash-progress>span{border-radius:inherit;background:var(--t1);height:100%;display:block}.portal-root .erp-reports-dash-split{gap:12px;display:grid}.portal-root .erp-reports-dash-students{margin:0;padding:0;list-style:none}.portal-root .erp-reports-dash-students li{border-bottom:1px solid var(--bd2);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.portal-root .erp-reports-dash-students li:last-child{border-bottom:none;padding-bottom:0}.portal-root .erp-reports-dash-students strong{color:var(--t1);font-size:14px;display:block}.portal-root .erp-reports-dash-students small{color:var(--t3);margin-top:2px;font-size:12px;display:block}.portal-root .erp-reports-dash-badge{text-align:center;border-radius:8px;min-width:36px;padding:6px 8px;font-size:12px;font-weight:800}.portal-root .erp-reports-dash-badge--good{background:var(--t1);color:var(--bg1)}.portal-root .erp-reports-dash-badge--warn{background:var(--bg4);color:var(--t2);border:1px solid var(--bd2)}.portal-root .erp-reports-dash-export-list{gap:8px;display:grid}.portal-root .erp-reports-dash-export-btn{border:1px solid var(--bd2);background:var(--bg4);width:100%;color:var(--t2);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:12px 14px;font-size:13px;font-weight:600;display:inline-flex}.portal-root .erp-reports-dash-export-btn:disabled{opacity:.5;cursor:not-allowed}.portal-root .erp-reports-dash-empty{color:var(--t3);margin:0;font-size:13px}@media (width>=900px){.portal-root .erp-reports-dash-split{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.portal-root .erp-reports-dash-kpis{grid-template-columns:1fr}}.portal-root .portal-engage-workflow{flex-direction:column;width:100%;min-height:100%;display:flex}:is(.portal-root .teacher-portal-content-inner:has(>.portal-engage-workflow),.portal-root .teacher-portal-content-inner:has(.portal-engage-workflow),.portal-root .teacher-portal-content-inner:has(>.app-workflow),.portal-root .teacher-portal-content-inner:has(.app-workflow)){width:100%;max-width:none;margin:0;padding:0}.portal-root .portal-engage-workflow.ann-workflow,.portal-root .portal-engage-workflow.app-workflow{background:0 0!important}.portal-root[data-portal-theme=light] .portal-engage-workflow.ann-workflow,.portal-root[data-portal-theme=light] .portal-engage-workflow.app-workflow{background:radial-gradient(circle at 18% 0%, rgb(var(--erp-blue-rgb) / 10%), transparent 28%), linear-gradient(180deg, #f5f9ff 0%, #eef4fb 100%)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow.ann-workflow,.portal-root[data-portal-theme=dark] .portal-engage-workflow.app-workflow{color:var(--t1);background:var(--bg)!important}.portal-root .portal-engage-workflow .db-section{margin-top:0;padding:clamp(14px,2.5vw,18px)}.portal-root .portal-engage-workflow .db-section h2{border-bottom:1px solid var(--erp-border,#dfe7f1);color:var(--erp-blue,var(--t1));letter-spacing:-.02em;text-transform:none;margin:0 0 12px;padding-bottom:10px;font-size:15px;font-weight:900}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-section h2{border-bottom-color:var(--bd2)!important;color:var(--t1)!important}.portal-root .portal-engage-workflow .db-workflow-header{z-index:110;width:100%;min-height:76px;margin:0;padding:0 clamp(12px,3vw,20px);position:sticky;top:0;border-bottom:1px solid var(--erp-border,#dfe7f1)!important;background:var(--erp-card,#fff)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-radius:0!important;box-shadow:0 8px 24px #0f172a0f!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-workflow-header{border-bottom:1px solid var(--bd2)!important;background:var(--bg2)!important;box-shadow:0 8px 24px #00000059!important}.portal-root .portal-engage-menu-overlay{-webkit-backdrop-filter:blur(10px);background:#0f172a52!important;height:100dvh!important;min-height:0!important;top:0!important}.portal-root[data-portal-theme=dark] .portal-engage-menu-overlay{background:#0000008c!important}.portal-root .portal-engage-menu-drawer{border-right:1px solid #e5e7eb;max-width:82vw;height:100dvh!important;min-height:0!important;width:min(82vw, var(--erp-sidebar-width,260px))!important;background:#fff!important;top:0!important;box-shadow:10px 0 30px #0f172a0f!important}.portal-root[data-portal-theme=dark] .portal-engage-menu-drawer{border-right-color:var(--bd)!important;background:var(--bg2)!important;color:var(--t1)!important;box-shadow:10px 0 30px #00000059!important}.portal-root .portal-engage-workflow .db-workflow-header h1{font-family:var(--font-heading);letter-spacing:-.04em;color:var(--erp-text,#111827);margin:0;font-size:clamp(20px,2.2vw,25px);font-weight:1000}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-workflow-header h1{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-icon-button{border:1px solid var(--bd2)!important;background:var(--bg3)!important;color:var(--t1)!important;box-shadow:none!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-icon-button:hover{background:var(--bg4)!important}.portal-root .portal-engage-workflow .db-workflow-body,.portal-root .portal-engage-workflow.app-workflow .app-workflow-body{width:min(1120px,100%);margin:0 auto;padding:clamp(18px,4vw,42px)}.portal-root .portal-engage-workflow .db-section,.portal-root .portal-engage-workflow .db-card,.portal-root .portal-engage-workflow .ann-list-card,.portal-root .portal-engage-workflow .ann-content-card,.portal-root .portal-engage-workflow .fb-report-hub-card,.portal-root .portal-engage-workflow .fb-report-hero,.portal-root .portal-engage-workflow .fb-report-q,.portal-root .portal-engage-workflow .app-list-card,.portal-root .portal-engage-workflow .app-filter-card,.portal-root .portal-engage-workflow .app-review-card,.portal-root .portal-engage-workflow .app-submit-card{border:1px solid var(--erp-border,#dfe7f1)!important;background:var(--erp-card,#fff)!important;color:var(--erp-text,#111827)!important;box-shadow:none!important;border-radius:13px!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .fb-report-hub-card,.portal-root[data-portal-theme=dark] .portal-engage-workflow .fb-report-hero,.portal-root[data-portal-theme=dark] .portal-engage-workflow .fb-report-q,.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-list-card,.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-filter-card,.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-review-card,.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-submit-card,.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-quick-stat{border:1px solid var(--bd2)!important;background:var(--bg2)!important;color:var(--t1)!important;box-shadow:none!important;border-radius:13px!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-section,.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-card,.portal-root[data-portal-theme=dark] .portal-engage-workflow .ann-list-card,.portal-root[data-portal-theme=dark] .portal-engage-workflow .ann-content-card{border:1px solid var(--bd2)!important;background:var(--bg2)!important;color:var(--t1)!important;border-radius:13px!important;box-shadow:0 8px 24px #0000002e!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .fb-report-hero h2,.portal-root[data-portal-theme=dark] .portal-engage-workflow .fb-report-q h3{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .fb-report-insights,.portal-root[data-portal-theme=dark] .portal-engage-workflow .fb-report-q-type,.portal-root[data-portal-theme=dark] .portal-engage-workflow .fb-report .text-slate-700{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .fb-report-metric{color:#60a5fa!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .fb-report-bar-inner{background:var(--bg4)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .fb-report-q .border-slate-100{border-color:var(--bd2)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-info{border-color:var(--bd2)!important;background:var(--bg3)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-info span{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-info strong{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-archive-summary{background:#7f1d1d29!important;border:1px solid #f8717138!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-archive-summary p{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-archive-summary span{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-archive-summary button{color:#fff!important;background:#dc2626!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .fb-report-export-btn{justify-content:center;width:100%}.portal-root[data-portal-theme=dark] .portal-engage-workflow .fb-report .db-wf-btn--primary,.portal-root[data-portal-theme=dark] .portal-engage-workflow .fb-report-export-btn{color:#fff!important;background:#2563eb!important;border-color:#2563eb!important}.portal-root .portal-engage-workflow .db-glass-button{border:1px solid var(--erp-border,#dfe7f1)!important;background:var(--erp-card,#fff)!important;color:var(--erp-text,#111827)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-glass-button{border:1px solid var(--bd2)!important;background:var(--bg3)!important;color:var(--t1)!important;box-shadow:0 8px 24px #0000002e!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-glass-button:hover{border-color:var(--bd3,#444)!important;background:var(--bg4)!important}.portal-root .portal-engage-workflow .db-section h2,.portal-root .portal-engage-workflow .ann-list-card h3,.portal-root .portal-engage-workflow .fb-form-card-title{color:var(--erp-blue,var(--t1))}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-section h2,.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-section h3,.portal-root[data-portal-theme=dark] .portal-engage-workflow .ann-list-card h3,.portal-root[data-portal-theme=dark] .portal-engage-workflow .fb-form-card-title,.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-glass-button .db-action-label{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-glass-button .db-action-description,.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-quick-stat span,.portal-root[data-portal-theme=dark] .portal-engage-workflow .text-slate-600,.portal-root[data-portal-theme=dark] .portal-engage-workflow .text-slate-500,.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-workflow-lead,.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-review-lead,.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-empty,.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-list-card-student,.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-list-card-details dt{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-list-card-title,.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-review-title,.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-section-title,.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-list-card-message,.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-list-card-details dd,.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-section-title{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-empty{border-color:var(--bd2)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-empty--error{color:#fca5a5!important;border-color:#f8717147!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-list-card.is-selected{border-color:var(--bd3)!important;box-shadow:0 0 0 1px #ffffff1f!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-category-chip{color:#93c5fd!important;background:#3b82f629!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-status-badge--pending,.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-status-badge--in_review{color:#fcd34d!important;background:#f59e0b2e!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-status-badge--approved{color:#86efac!important;background:#22c55e29!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-status-badge--rejected{color:#fca5a5!important;background:#ef444429!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .app-status-badge--closed{color:var(--t3)!important;background:var(--bg4)!important}.portal-root[data-portal-theme=dark] .student-portal-body .app-workflow--student .app-list-card,.portal-root[data-portal-theme=dark] .student-portal-body .app-workflow--student .app-submit-card,.portal-root[data-portal-theme=dark] .student-portal-body .app-workflow--student .app-empty{border-color:var(--bd2)!important;background:var(--bg2)!important;color:var(--t1)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-quick-stat strong,.portal-root[data-portal-theme=dark] .portal-engage-workflow .text-slate-900{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .profile-menu-trigger .erp-top-avatar.erp-avatar--initials .erp-avatar-inner,.portal-root[data-portal-theme=dark] .portal-engage-workflow .profile-menu-trigger .erp-top-avatar.erp-avatar--photo .erp-avatar-ring{color:#050505!important;background:#fff!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .dark\:text-slate-50{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .dark\:text-slate-300,.portal-root[data-portal-theme=dark] .portal-engage-workflow .dark\:text-slate-400{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .fb-report-hub-card h3,.portal-root[data-portal-theme=dark] .portal-engage-workflow .fb-report-hub-card p{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .fb-report-hub-card p{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .ann-pagination{border:1px solid var(--bd2)!important;background:var(--bg2)!important;color:var(--t1)!important;box-shadow:0 8px 24px #0000002e!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .ann-pagination .text-slate-500{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .dark\:bg-slate-800{background:var(--bg3)!important;border:1px solid var(--bd2)!important}.portal-root .htpo-engage-section-filter{align-items:flex-end;gap:.75rem;margin-bottom:1rem;display:flex}.portal-root .htpo-engage-section-filter-field{gap:.35rem;min-width:min(100%,22rem);display:grid}.portal-root .htpo-engage-section-filter-label{color:var(--t3);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.portal-root .htpo-engage-section-chip{border:1px solid var(--bd2);background:var(--bg3);min-height:2.5rem;color:var(--t1);border-radius:.65rem;align-items:center;padding:.35rem .75rem;font-size:.875rem;font-weight:600;display:inline-flex}.portal-root[data-portal-theme=dark] .htpo-engage-section-filter-label{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .htpo-engage-section-chip{border-color:var(--bd2)!important;background:var(--bg3)!important;color:var(--t1)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-action-chevron{color:var(--t3)!important;opacity:1!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-action-icon{border-color:var(--bd2)!important;background:var(--bg4)!important;color:var(--t1)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-glass-button.danger .db-action-icon{color:#fca5a5!important;background:#7f1d1d38!important;border-color:#f8717147!important}.portal-root .tp-subjects-actions .db-wf-btn.tp-subjects-action-btn{border-color:var(--bd2);background:var(--bg3);color:var(--t1)}.portal-root .tp-subjects-actions .db-wf-btn.tp-subjects-action-btn:hover:not(:disabled){border-color:var(--bd3);background:var(--bg4)}.portal-root[data-portal-theme=dark] .tp-subjects-glass-btn--danger{border-color:color-mix(in srgb, #ef4444 34%, var(--bd2));background:linear-gradient(135deg, color-mix(in srgb, #ef4444 14%, var(--bg3)), color-mix(in srgb, #ef4444 8%, var(--bg2)));color:#f87171;-webkit-backdrop-filter:blur(12px)}.portal-root[data-portal-theme=dark] .tp-subjects-glass-btn--danger:hover:not(:disabled){border-color:color-mix(in srgb, #f87171 42%, var(--bd2));background:linear-gradient(135deg, color-mix(in srgb, #ef4444 22%, var(--bg3)), color-mix(in srgb, #ef4444 12%, var(--bg2)));color:#fca5a5}:root{--erp-type-page-title-size:1.65rem;--erp-type-page-title-weight:900;--erp-type-page-title-line:1.15;--erp-type-section-title-size:1.0625rem;--erp-type-section-title-weight:800;--erp-type-card-title-size:.9375rem;--erp-type-card-title-weight:800;--erp-type-meta-size:.8125rem;--erp-type-meta-weight:500;--erp-type-table-head-size:.6875rem;--erp-type-table-head-weight:800;--erp-type-table-data-size:.8125rem;--erp-type-table-data-weight:600;--erp-type-label-size:.75rem;--erp-type-label-weight:700;--erp-type-input-size:.8125rem;--erp-type-input-weight:600;--erp-type-body-size:.875rem;--erp-type-body-weight:500;--erp-btn-sm-height:32px;--erp-btn-sm-font-size:12px;--erp-btn-sm-font-weight:700;--erp-btn-sm-padding-x:12px;--erp-btn-md-height:40px;--erp-btn-md-font-size:14px;--erp-btn-md-font-weight:700;--erp-btn-md-padding-x:16px;--erp-btn-lg-height:48px;--erp-btn-lg-font-size:15px;--erp-btn-lg-font-weight:800;--erp-btn-lg-padding-x:20px;--erp-btn-icon-size:40px}.erp-type-page-title{font-size:var(--erp-type-page-title-size);font-weight:var(--erp-type-page-title-weight);line-height:var(--erp-type-page-title-line);letter-spacing:-.03em;color:var(--t1,var(--erp-text,#0f172a));margin:0}.erp-type-section-title{font-size:var(--erp-type-section-title-size);font-weight:var(--erp-type-section-title-weight);letter-spacing:-.02em;color:var(--t1,var(--erp-text,#0f172a));margin:0}.erp-type-card-title{font-size:var(--erp-type-card-title-size);font-weight:var(--erp-type-card-title-weight);color:var(--t1,var(--erp-text,#0f172a));margin:0}.erp-type-table-head{font-size:var(--erp-type-table-head-size);font-weight:var(--erp-type-table-head-weight);letter-spacing:.06em;text-transform:uppercase}.erp-type-table-data{font-size:var(--erp-type-table-data-size);font-weight:var(--erp-type-table-data-weight)}.erp-type-label{font-size:var(--erp-type-label-size);font-weight:var(--erp-type-label-weight);letter-spacing:.04em;text-transform:uppercase;color:var(--t3,var(--erp-muted,#64748b))}.erp-type-input{font-size:var(--erp-type-input-size);font-weight:var(--erp-type-input-weight)}.erp-type-body{font-size:var(--erp-type-body-size);font-weight:var(--erp-type-body-weight);color:var(--t2,var(--erp-text,#334155));line-height:1.5}.erp-btn{box-sizing:border-box;border:1px solid var(--bd2,rgb(var(--erp-blue-rgb) / 28%));background:var(--bg2,#fff);color:var(--t1,#0f172a);font-family:var(--font-body);white-space:nowrap;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;line-height:1;transition:border-color .15s,background .15s,color .15s,opacity .15s;display:inline-flex}.erp-btn:disabled{opacity:.55;cursor:not-allowed}.erp-btn--sm{min-height:var(--erp-btn-sm-height);height:var(--erp-btn-sm-height);padding:0 var(--erp-btn-sm-padding-x);font-size:var(--erp-btn-sm-font-size);font-weight:var(--erp-btn-sm-font-weight)}.erp-btn--md{min-height:var(--erp-btn-md-height);height:var(--erp-btn-md-height);padding:0 var(--erp-btn-md-padding-x);font-size:var(--erp-btn-md-font-size);font-weight:var(--erp-btn-md-font-weight)}.erp-btn--lg{min-height:var(--erp-btn-lg-height);height:var(--erp-btn-lg-height);padding:0 var(--erp-btn-lg-padding-x);font-size:var(--erp-btn-lg-font-size);font-weight:var(--erp-btn-lg-font-weight)}.erp-btn--icon-size{width:var(--erp-btn-icon-size);height:var(--erp-btn-icon-size);min-height:var(--erp-btn-icon-size);padding:0}.erp-btn--primary{border-color:var(--inv,var(--erp-blue,#004b8d));background:var(--inv,var(--erp-blue,#004b8d));color:var(--inv-t,#fff)}.erp-btn--secondary:hover:not(:disabled){border-color:rgb(var(--erp-blue-rgb) / 35%);background:var(--accent-bg,rgb(var(--erp-blue-rgb) / 6%))}.erp-btn--primary:hover:not(:disabled){filter:brightness(1.05)}.erp-btn--danger{color:#b91c1c;background:#fef2f2;border-color:#dc262659}.portal-root[data-portal-theme=dark] .erp-btn--danger{color:#fca5a5;background:#7f1d1d38;border-color:#f8717159}.db-wf-btn{min-height:var(--erp-btn-md-height);height:auto;padding:0 var(--erp-btn-md-padding-x);font-size:var(--erp-btn-md-font-size);font-weight:var(--erp-btn-md-font-weight)}.erp-export-option.erp-export-option-btn,.erp-export-trigger{width:100%}.erp-export-option.erp-export-option-btn{text-align:left;justify-content:flex-start}.erp-export-trigger{width:auto}.finance-export-button,.sp-att-export-btn,.sp-marks-pdf-btn,.sp-fee-download-btn{min-height:var(--erp-btn-md-height)!important;font-size:var(--erp-btn-md-font-size)!important;font-weight:var(--erp-btn-md-font-weight)!important}.sp-rcpt-download-btn{min-height:var(--erp-btn-sm-height)!important;font-size:var(--erp-btn-sm-font-size)!important;font-weight:var(--erp-btn-sm-font-weight)!important}.portal-root[data-portal-theme=dark] .erp-btn--secondary,.portal-root[data-portal-theme=dark] .erp-export-option.erp-export-option-btn{background:var(--bg2)!important;border-color:var(--bd2)!important;color:var(--t1)!important}.portal-root[data-portal-theme=dark] .erp-btn--primary{background:var(--inv)!important;color:var(--inv-t)!important;border-color:var(--inv)!important}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[110\]{z-index:110}.z-\[120\]{z-index:120}.container{width:100%}.mx-auto{margin-inline:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!grid{display:grid!important}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-\[100dvh\]{height:100dvh}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[100dvh\]{max-height:100dvh}.min-h-\[40vh\]{min-height:40vh}.min-h-\[72px\]{min-height:72px}.min-h-\[88px\]{min-height:88px}.min-h-\[120px\]{min-height:120px}.min-h-\[140px\]{min-height:140px}.min-h-screen{min-height:100vh}.min-w-\[200px\]{min-width:200px}.min-w-full{min-width:100%}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:3.40282e38px}.\!border-0{border-style:var(--tw-border-style)!important;border-width:0!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[\#004B8D\]{border-color:#004b8d}.\!bg-transparent{background-color:#0000!important}.bg-\[\#004B8D\]{background-color:#004b8d}.bg-\[rgb\(255\,255\,255\)\]{background-color:#fff}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-\[11px\]{font-size:11px}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#004B8D\]{color:#004b8d}.text-\[color\:var\(--erp-muted\)\]{color:var(--erp-muted)}.text-\[var\(--erp-blue\)\]{color:var(--erp-blue)}.uppercase{text-transform:uppercase}.\!shadow-none{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (prefers-reduced-motion:no-preference){.motion-safe\:transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.motion-safe\:duration-200{--tw-duration:.2s;transition-duration:.2s}}*{box-sizing:border-box}html{scrollbar-width:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}html::-webkit-scrollbar{width:0;height:0}:root{--erp-sidebar-width:260px;--font-heading:"Nunito Sans", "Inter", ui-sans-serif, system-ui, sans-serif;--font-body:"Nunito Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}body{min-width:320px;min-height:100vh;font-family:var(--font-body);scrollbar-width:none;touch-action:manipulation;margin:0;overflow-x:hidden}body::-webkit-scrollbar{width:0;height:0}.erp-shell{font-family:var(--font-body);font-feature-settings:"cv02", "cv03", "cv04", "cv11";overflow-x:hidden}h1,h2,h3,h4,h5,h6,.erp-brand-title,.erp-topbar-title,.admin-stat-value,.admin-panel-title,.admin-action-btn,.admin-stat-title,.erp-menu-heading,.erp-menu-button,.erp-dark-profile-name{font-family:var(--font-heading)}.erp-sidebar{overscroll-behavior:contain;scrollbar-width:none;background:#fff;border-right:1px solid #e5e7eb;height:100vh;display:none;overflow-y:auto;width:var(--erp-sidebar-width)!important}.erp-sidebar::-webkit-scrollbar{width:0;height:0}.erp-shell{--portal-topbar-height:76px}.erp-mobile-overlay{width:100vw;height:100dvh!important;min-height:100dvh!important;position:fixed!important;inset:0!important}@media (width<=1023px){.erp-shell .erp-mobile-overlay{-webkit-backdrop-filter:blur(10px);z-index:110!important;top:0!important;background:#0f172a52!important;height:100dvh!important;min-height:0!important;inset:0!important}.dark .erp-shell .erp-mobile-overlay{background:#0000008c!important}.erp-shell .erp-mobile-drawer{z-index:120!important;height:100dvh!important;min-height:0!important;top:0!important}.erp-shell .erp-mobile-drawer .erp-brand{padding-top:max(11px, env(safe-area-inset-top,0px))!important;margin-top:0!important}.erp-shell .erp-topbar{z-index:100;position:sticky;top:0}html.portal-mobile-menu-open .erp-shell .erp-topbar{display:none!important}html.portal-mobile-menu-open .erp-mobile-overlay,html.portal-mobile-menu-open .workflow-menu-overlay{z-index:200!important}html.portal-mobile-menu-open .erp-mobile-drawer,html.portal-mobile-menu-open .workflow-menu-drawer{z-index:210!important}}.erp-mobile-drawer{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;isolation:isolate;flex-direction:column;width:min(82vw,320px);max-width:82vw;padding:0 0 88px;display:flex;background:#fff!important;height:100dvh!important;min-height:100dvh!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important;overflow-y:auto!important}.erp-mobile-drawer::-webkit-scrollbar{width:0;height:0}.dark .erp-mobile-drawer{background:#050505!important}.erp-sidebar-content{background:inherit;min-height:100%;padding-bottom:96px}.erp-brand{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;padding:12px 4px 0;display:flex}.erp-mobile-drawer .erp-sidebar-content{background:inherit;flex:1 0 auto;height:auto!important;min-height:100dvh!important}.erp-mobile-drawer .erp-brand{padding-top:max(11px, env(safe-area-inset-top,0px))}.erp-brand-title{color:#111827;letter-spacing:-.04em;margin:0;font-size:20px;font-weight:800;line-height:1}.erp-brand-subtitle{color:#6b7280;letter-spacing:.08em;text-transform:uppercase;margin:5px 0 0;font-size:11px;font-weight:700}.erp-sidebar-close{color:#111827;cursor:pointer;background:0 0;border:1px solid #e5e7eb;border-radius:10px;place-items:center;width:34px;min-width:34px;height:34px;display:grid}.erp-sidebar-close:hover{color:#111827;background:#f3f4f6}.erp-dark-profile{background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:14px;margin-bottom:28px;padding:14px;display:flex;box-shadow:0 8px 24px #0f172a0d}.erp-dark-avatar.erp-avatar{--avatar-size:46px}.erp-dark-profile-name{color:#111827;letter-spacing:-.04em;margin:0;font-size:16px;font-weight:700}.erp-dark-profile-meta{color:#6b7280;margin:3px 0 0;font-size:12px;font-weight:600}.erp-menu-groups{gap:24px;display:grid}.erp-menu-group{min-width:0}.erp-menu-heading{color:#94a3b8;letter-spacing:.24em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:800}.erp-menu-list{gap:6px;display:grid}.erp-menu-button{color:#374151;width:100%;min-height:41px;font:inherit;letter-spacing:-.03em;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:16px;font-weight:600;text-decoration:none;display:flex}.erp-menu-button:hover{color:#111827;background:#f3f4f6}.erp-menu-button.active{color:#111827;box-shadow:none;background:#f3f4f6}.erp-menu-label{align-items:center;gap:12px;display:inline-flex}.erp-menu-label svg{color:#9ca3af}.erp-menu-badge{color:#4f46e5;background:#eef2ff;border-radius:999px;padding:1px 8px;font-size:10px;font-weight:800}.erp-signout{color:#374151;cursor:pointer;background:0 0;border:1px solid #e5e7eb;border-radius:10px;width:100%;margin-top:24px;padding:10px 16px;font-size:14px;font-weight:700}.erp-signout:hover{background:#f3f4f6}.erp-topbar{box-sizing:border-box;align-items:center;width:100%;height:56px;display:flex}.erp-topbar-inner{box-sizing:border-box;align-items:center;width:100%;min-width:0;height:56px;padding-left:16px;padding-right:16px;display:flex}.erp-main{width:auto;min-width:0;overflow-x:hidden}.erp-menu-toggle{color:#111827;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;width:38px;height:38px;margin-right:14px;display:inline-grid}.erp-menu-toggle:hover{background:#fff}.erp-topbar-title{color:#111827;letter-spacing:-.03em;flex:1;min-width:0;margin:0;font-size:28px;font-weight:800}.erp-topbar-actions{z-index:5;flex-shrink:0;align-items:center;gap:14px;margin-left:auto;padding-right:0;display:flex;position:relative}.erp-icon-button{color:#475569;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;width:36px;height:36px;display:grid;position:relative}.erp-icon-button:hover{color:#111827;background:#fff}.erp-notification-dot{background:#ef4444;border-radius:999px;width:6px;height:6px;position:absolute;top:8px;right:8px}.erp-top-avatar{margin-left:8px;margin-right:8px}.erp-topbar .profile-menu-wrap{align-items:center;display:inline-flex}.erp-topbar .profile-menu-trigger{width:var(--topbar-avatar-size,40px);height:var(--topbar-avatar-size,40px);border-radius:999px;justify-content:center;align-items:center;padding:0;line-height:0;display:inline-flex;overflow:hidden}.erp-topbar .profile-menu-trigger .erp-top-avatar.erp-avatar{--avatar-size:var(--topbar-avatar-size,40px);--avatar-ring:2px;width:var(--topbar-avatar-size,40px);height:var(--topbar-avatar-size,40px);max-width:var(--topbar-avatar-size,40px);max-height:var(--topbar-avatar-size,40px)}.erp-content{padding:14px}.dark .erp-shell,.dark .erp-main,.dark .erp-content{background:#000}.admin-dashboard{flex-direction:column;gap:12px;width:100%;display:flex}.admin-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.admin-dashboard-loading{place-items:center;min-height:calc(100vh - 120px);display:grid;background:0 0!important}.admin-stat-card{background:#fff;border:1px solid #e6ebf2;border-left-width:3px;border-radius:13px;min-height:90px;padding:14px 15px;box-shadow:0 8px 24px #0f172a0a}.admin-stat-card.border-violet-500{border-left-color:#6d5dfc}.admin-stat-card.border-emerald-500{border-left-color:#10b981}.admin-stat-card.border-orange-500{border-left-color:#f97316}.admin-stat-card.border-teal-500{border-left-color:#14b8a6}.admin-stat-card.border-cyan-500{border-left-color:#06b6d4}.admin-stat-card.border-sky-500{border-left-color:#0ea5e9}.admin-stat-card.border-blue-500{border-left-color:#3b82f6}.admin-stat-card.border-rose-500{border-left-color:#f43f5e}.admin-stat-card.border-purple-500{border-left-color:#a855f7}.admin-stat-card.border-pink-500{border-left-color:#ec4899}.admin-stat-title{color:#6b7280;letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:10px;font-weight:800}.admin-stat-value{color:#111827;letter-spacing:-.05em;margin:7px 0 0;font-size:25px;font-weight:900;line-height:1.05}.admin-stat-caption{color:#6b7280;margin:6px 0 0;font-size:12px}.admin-stat-card--clickable{cursor:pointer;text-align:left;width:100%;transition:transform .15s,box-shadow .15s}.admin-stat-card--clickable:hover{transform:translateY(-1px);box-shadow:0 12px 28px #0f172a14}.admin-stat-card--clickable:focus-visible{outline-offset:2px;outline:2px solid #004b8d}.admin-fee-collection-note{color:#64748b;margin:0 0 12px;font-size:13px}.admin-fee-collection-loading{place-items:center;min-height:180px;display:grid}.admin-fee-collection-table .admin-fee-collection-action{text-align:right;width:120px}.admin-fee-breakdown-btn{color:#004b8d;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.admin-fee-breakdown-btn:hover{background:#f8fafc}.admin-fee-sheet-overlay{z-index:80;background:#0f172a73;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.admin-fee-sheet{background:#fff;border-radius:16px 16px 0 0;flex-direction:column;width:min(960px,100%);max-height:min(82vh,760px);display:flex;overflow:hidden;box-shadow:0 -12px 40px #0f172a2e}.admin-fee-sheet-head{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.admin-fee-sheet-head h2{color:#0f172a;margin:0;font-size:18px;font-weight:800}.admin-fee-sheet-sub{color:#64748b;margin:4px 0 0;font-size:13px}.admin-fee-sheet-close{color:#334155;cursor:pointer;background:#f1f5f9;border:0;border-radius:999px;place-items:center;width:36px;height:36px;display:grid}.admin-fee-sheet-body{padding:0 0 16px;overflow:auto}.admin-fee-sheet-empty{color:#64748b;margin:0;padding:24px 18px;font-size:14px}.admin-fee-sheet-table th,.admin-fee-sheet-table td{white-space:nowrap}.admin-middle-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:12px;display:grid}.admin-middle-grid>.admin-panel{width:100%;min-width:0}.admin-panel{background:#fff;border:1px solid #e6ebf2;border-radius:13px;padding:14px;box-shadow:0 8px 24px #0f172a0a}.admin-panel-title{color:#111827;letter-spacing:-.03em;margin:0 0 12px;font-size:14px;font-weight:900}.admin-branch-empty-hint{color:#64748b;margin:0 0 10px;font-size:12px}.admin-branch-list{gap:10px;display:grid}.admin-branch-row{grid-template-columns:60px minmax(0,1fr) 24px;align-items:center;gap:12px;display:grid}.admin-branch-name{color:#111827;font-size:13px;font-weight:600}.admin-progress-track{background:#d6e4f2;border-radius:999px;height:8px;overflow:hidden}.admin-progress-fill{background:#004b8d;border-radius:999px;min-width:2px;height:100%;box-shadow:0 0 0 1px #004b8d1f}.admin-branch-count{color:#4b5563;text-align:right;font-size:12px;font-weight:700}.admin-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.admin-action-btn{color:#111827;cursor:pointer;background:#fff;border:1px solid #e6ebf2;border-radius:8px;min-height:34px;font-size:13px;font-weight:600}.admin-action-btn.primary{border-color:var(--erp-blue);background:var(--erp-blue);color:#fff}.admin-action-btn.success{color:#047857;background:#ecfdf5;border-color:#dcfce7}.admin-action-btn.warning{color:#92400e;background:#fffbeb;border-color:#fef3c7}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:12px}.admin-table thead{color:#64748b;letter-spacing:.06em;text-transform:uppercase;background:#fff;font-size:10px}.admin-table th,.admin-table td{text-align:left;padding:12px 16px}.admin-table td{color:#111827;border-top:1px solid #f1f5f9;font-weight:600}.dark .admin-dashboard{gap:14px}.dark .erp-sidebar{border-right:1px solid #202020;padding:20px 14px;width:var(--erp-sidebar-width)!important;background:#050505!important}.dark .erp-sidebar-content{min-height:max-content;padding-bottom:96px}.dark .erp-mobile-drawer .erp-sidebar-content{background:#050505!important;min-height:100dvh!important}.dark .erp-menu-toggle{color:#f5f5f5}.dark .erp-menu-toggle:hover{background:#141414}.dark .erp-topbar-title{color:#fff}.dark .erp-icon-button{color:#a3a3a3;background:0 0}.dark .erp-icon-button:hover{color:#fff;background:#141414}.dark .erp-top-avatar{color:#050505;background:#fff}.dark .erp-brand{margin-bottom:18px;padding-top:12px}.dark .erp-mobile-drawer .erp-brand{padding-top:22px}.dark .erp-sidebar-close{color:#777;border-color:#242424}.dark .erp-sidebar-close:hover{color:#fff;background:#111}.dark .erp-brand-title{letter-spacing:-.04em;color:#fff;text-shadow:0 0 18px #ffffff2e;font-size:20px;font-weight:800}.dark .erp-brand-subtitle{color:#a3a3a3;letter-spacing:.08em;font-size:11px}.dark .erp-dark-profile{background:#111;border:1px solid #1f1f1f;border-radius:8px;align-items:center;gap:14px;margin-bottom:28px;padding:14px;display:flex}.dark .erp-mobile-drawer .erp-dark-profile{background:#111}.dark .erp-dark-avatar.erp-avatar{--avatar-size:46px}.dark .erp-dark-profile-name{color:#fff;letter-spacing:-.04em;margin:0;font-size:16px;font-weight:700}.dark .erp-dark-profile-meta{color:#666;margin:3px 0 0;font-size:12px;font-weight:600}.dark .erp-menu-groups{gap:24px}.dark .erp-menu-heading{color:#5f5f5f;letter-spacing:.24em;margin-bottom:8px;font-size:11px}.dark .erp-menu-list{gap:6px}.dark .erp-menu-button{color:#fff;letter-spacing:-.03em;border-radius:7px;min-height:41px;padding:10px 14px;font-size:16px;font-weight:600}.dark .erp-menu-button:hover{color:#fff;background:#141414}.dark .erp-menu-button.active{color:#fff;box-shadow:none;background:#141414}.dark .erp-menu-label{gap:12px}.dark .erp-menu-label svg{color:currentColor}.dark .erp-menu-badge{color:#a3a3a3;background:#242424;font-size:12px}.dark .erp-signout{color:#777;text-align:left;border:0;border-top:1px solid #202020;border-radius:0;padding:18px 14px;font-size:16px}.dark .erp-signout:hover{color:#fff;background:#111}.dark .admin-stat-card,.dark .admin-panel{box-shadow:none;background:#0a0a0a;border-color:#202020;border-radius:10px}.dark .admin-stat-card{border-left-width:3px}.dark .admin-stat-card.border-violet-500{border-left-color:#8b5cf6}.dark .admin-stat-card.border-emerald-500{border-left-color:#10b981}.dark .admin-stat-card.border-orange-500,.dark .admin-stat-card.border-cyan-500{border-left-color:#06b6d4}.dark .admin-stat-card.border-teal-500,.dark .admin-stat-card.border-sky-500{border-left-color:#0ea5e9}.dark .admin-stat-card.border-blue-500{border-left-color:#3b82f6}.dark .admin-stat-card.border-rose-500{border-left-color:#f43f5e}.dark .admin-stat-card.border-purple-500{border-left-color:#a855f7}.dark .admin-stat-card.border-pink-500{border-left-color:#ec4899}.dark .admin-stat-value,.dark .admin-panel-title{color:#f5f5f5;letter-spacing:-.06em}.dark .admin-stat-value{font-size:28px;font-weight:800}.dark .admin-panel-title{font-size:16px;font-weight:700}.dark .admin-stat-title,.dark .admin-stat-caption,.dark .admin-branch-name,.dark .admin-branch-count{color:#7a7a7a}.dark .admin-stat-title{font-size:10px;font-weight:700}.dark .admin-stat-caption{font-size:12px}.dark .admin-progress-track,.dark .admin-table thead{background:#171717}.dark .admin-action-btn{color:#f4f4f5;background:#090909;border-color:#242424}.dark .admin-action-btn.primary{border-color:var(--erp-blue);background:var(--erp-blue);color:#fff}.dark .admin-action-btn.success{color:#86efac;background:#052e2b;border-color:#064e3b}.dark .admin-action-btn.warning{color:#facc15;background:#451a03;border-color:#78350f}.dark .admin-table td{color:#e5e5e5;border-color:#202020}.kiet-loader{--kiet-loader-size:116px;--kiet-loader-bg:#fff;--kiet-loader-panel:#fff;--kiet-loader-blue:#004b8d;--kiet-loader-red:#dc2626;--kiet-loader-text:#64748b;--kiet-loader-check:#05111f;color:var(--kiet-loader-text);place-items:center;gap:12px;display:grid}.kiet-loader-inline{background:0 0;border:0;border-radius:0;min-height:56vh}.kiet-loader-fullscreen{background:radial-gradient(circle at 50% 40%, #0b5f9f1a, transparent 34%), var(--kiet-loader-bg);place-items:center;min-height:100dvh;display:grid}.dark .kiet-loader,.kiet-loader[data-theme=dark]{--kiet-loader-bg:#07111f;--kiet-loader-panel:#fff;--kiet-loader-blue:#38bdf8;--kiet-loader-red:#fb7185;--kiet-loader-text:#cbd5e1;--kiet-loader-check:#07111f}.kiet-loader[data-theme=light]{--kiet-loader-bg:#fff;--kiet-loader-panel:#fff;--kiet-loader-blue:#004b8d;--kiet-loader-red:#dc2626;--kiet-loader-text:#64748b;--kiet-loader-check:#05111f}.dark .kiet-loader-inline,.kiet-loader-inline[data-theme=dark]{background:var(--kiet-loader-bg);border-color:#1e293b}.kiet-loader-mark{width:var(--kiet-loader-size);height:var(--kiet-loader-size);place-items:center;display:grid;position:relative}.kiet-loader-disc{z-index:2;width:calc(var(--kiet-loader-size) * .7);height:calc(var(--kiet-loader-size) * .42);box-shadow:none;background:0 0;border-radius:0;justify-content:center;align-items:center;display:flex;position:relative}.dark .kiet-loader-disc,.kiet-loader[data-theme=dark] .kiet-loader-disc{box-shadow:0 20px 50px #38bdf829,0 0 42px #fb71851a}.kiet-loader-logo{width:calc(var(--kiet-loader-size) * .68);max-height:calc(var(--kiet-loader-size) * .4);-o-object-fit:contain;object-fit:contain;height:auto}.kiet-loader-blue{fill:var(--kiet-loader-blue);font-family:Arial,Helvetica,sans-serif;font-weight:900}.kiet-loader-red{fill:var(--kiet-loader-red)}.kiet-loader-check{fill:none;stroke:var(--kiet-loader-check);stroke-width:6px;stroke-linecap:round;stroke-linejoin:round}.kiet-loader-k,.kiet-loader-et{font-size:76px}.kiet-loader-subtitle{fill:#27272a;letter-spacing:4px;font-family:Arial,Helvetica,sans-serif;font-size:17px;font-weight:500}.kiet-loader-ring{border:2px solid #0000;border-radius:999px;animation:1.1s linear infinite kiet-loader-spin;position:absolute;inset:10px}.kiet-loader-ring-blue{border-right-color:var(--kiet-loader-blue);border-bottom-color:var(--kiet-loader-blue)}.kiet-loader-ring-red{border-left-color:var(--kiet-loader-red);border-bottom-color:var(--kiet-loader-red);animation-duration:1.35s;animation-direction:reverse;inset:17px}.dark .kiet-loader-ring,.kiet-loader[data-theme=dark] .kiet-loader-ring{filter:drop-shadow(0 0 12px)}.kiet-loader-label{color:var(--kiet-loader-text);margin:0;font-size:13px;font-weight:700}@keyframes kiet-loader-spin{to{transform:rotate(360deg)}}@media (width>=768px){.erp-sidebar{display:block}.erp-main{padding-left:var(--erp-sidebar-width);width:100%}.erp-topbar{width:calc(100vw - var(--erp-sidebar-width))}.erp-menu-toggle{display:none}.sidebar-collapsed .erp-main{padding-left:0}.sidebar-collapsed .erp-topbar{width:100vw}.sidebar-collapsed .erp-menu-toggle{display:inline-grid}}@media (width<=900px){.admin-stat-grid,.admin-middle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.erp-topbar-inner{padding-left:14px;padding-right:10px}.erp-menu-toggle{width:34px;height:34px;margin-right:10px}.erp-topbar-title{font-size:28px}.erp-topbar-actions{gap:10px}.erp-topbar{--topbar-avatar-size:36px}.erp-icon-button{width:32px;min-width:32px;height:32px;min-height:32px}.admin-stat-grid,.admin-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-middle-grid{grid-template-columns:1fr}.admin-stat-card{min-height:110px;padding:14px}.admin-stat-value{font-size:28px}.erp-content{padding:12px}.erp-brand-title{font-size:19px}.erp-dark-profile{padding:12px}.erp-menu-button{min-height:42px;font-size:15px}}@media (width<=380px){.admin-stat-grid{gap:10px}.admin-stat-card{padding:12px}}.dark .bg-white{background-color:#111827}.dark .bg-slate-50,.dark .bg-slate-100{background-color:#0f172a}.dark .text-slate-950,.dark .text-slate-900,.dark .text-slate-800,.dark .text-slate-700{color:#e5e7eb}.dark .text-slate-600,.dark .text-slate-500{color:#94a3b8}.dark .border,.dark .border-slate-200,.dark .border-slate-100{border-color:#1f2937}.dark input,.dark select,.dark textarea{color:#e5e7eb;background-color:#0f172a;border-color:#334155}.skeleton{background:#e2e8f0;position:relative;overflow:hidden}.dark .skeleton{background:#1e293b}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#94a3b859,#0000);animation:1.25s infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.dark .skeleton:after{background:linear-gradient(90deg,#0000,#ffffff14,#0000)}.erp-toast{color:#0f172a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;box-shadow:0 18px 45px #0f172a24}.erp-toast-stack{top:calc(env(safe-area-inset-top,0px) + 16px);z-index:9999;pointer-events:none;flex-direction:column;gap:12px;width:17.5rem;max-width:calc(100vw - 2rem);display:flex;position:fixed;right:12px}.erp-toast-stack .erp-toast{pointer-events:auto}.erp-toast-content{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.erp-toast-content p{color:#172033;margin:0;font-size:13px;font-weight:800;line-height:1.25}.erp-toast-content button{color:#64748b;cursor:pointer;background:#fff;border:0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin:0;padding:0;line-height:0;display:flex}.erp-toast-content button svg{flex-shrink:0;display:block}.erp-toast-icon{background:var(--erp-blue-soft);width:30px;height:30px;color:var(--erp-blue);border-radius:10px;place-items:center;display:grid}.dark .erp-toast{color:#f8fafc;background:#09090beb;border-color:#27272a}.erp-toast-danger .erp-toast-icon{color:#dc2626;background:#fee2e2}.toast-progress{transform-origin:0;width:100%;height:3px;animation:5s linear forwards toast-timeline}@keyframes toast-timeline{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.db-workflow{color:#0f172a;background:radial-gradient(circle at 0 0,#2563eb1a,#0000 34%),linear-gradient(135deg,#fff,#fff);min-width:320px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;transition:background .18s,color .18s}.dark .db-workflow{color:#f8fafc;background:radial-gradient(circle at 0 0,#38bdf81f,#0000 32%),linear-gradient(135deg,#020617,#050505 55%,#0f172a)}.db-workflow-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc2;border-bottom:1px solid #94a3b833;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:14px clamp(16px,4vw,42px);display:flex;position:sticky;top:0}.dark .db-workflow-header{background:#020617b8;border-color:#3f3f468c}.db-header-left,.db-header-actions{align-items:center;gap:12px;min-width:0;display:flex}.db-header-left h1{color:inherit;letter-spacing:-.05em;margin:0;font-size:clamp(20px,3vw,30px);font-weight:850}.db-icon-button{color:#0f172a;cursor:pointer;background:#ffffff9e;border:1px solid #94a3b84d;border-radius:999px;place-items:center;width:42px;min-width:42px;height:42px;transition:transform .16s,background .16s;display:grid;box-shadow:0 12px 30px #0f172a14}.db-icon-button:hover{background:#ffffffe6;transform:translateY(-1px)}.dark .db-icon-button{color:#fff;background:#18181bb3;border-color:#3f3f46b3}.db-workflow-body{width:min(1120px,100%);margin:0 auto;padding:clamp(18px,4vw,42px)}.db-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.db-section{border:1px solid rgb(var(--erp-blue-rgb) / 12%);background:#fff;border-radius:20px;margin-top:18px;padding:16px;box-shadow:0 10px 26px #0f172a0d}.db-section h2,.db-branch-header h2{color:var(--erp-blue);letter-spacing:-.03em;margin:0 0 14px;font-size:17px;font-weight:800}.db-section-lead{color:#64748b;margin:-6px 0 14px;font-size:13px;font-weight:650;line-height:1.45}.db-existing-records-page{width:min(1120px,100%)}.db-existing-records-page-intro{margin-bottom:14px}.db-existing-records-page-intro h2{color:var(--erp-blue);margin:0 0 6px;font-size:17px;font-weight:800}.db-existing-records-page-intro p{color:#64748b;margin:0;font-size:13px;font-weight:650;line-height:1.45}.db-existing-records-cards{display:none}.db-existing-record-card{border:1px solid rgb(var(--erp-blue-rgb) / 12%);border-left:4px solid var(--erp-blue);background:#fff;border-radius:14px;gap:8px;padding:12px;display:grid;box-shadow:0 6px 14px #0f172a0a}.db-existing-record-card div{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.db-existing-record-card span{color:#64748b;letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}.db-existing-record-card strong{color:#172033;text-align:right;word-break:break-word;font-size:13px;font-weight:750}.db-existing-records-empty{color:#64748b;text-align:center;margin:0;padding:16px 12px;font-size:13px;font-weight:650}.db-existing-records-section{margin-top:18px}.db-existing-records-stack{gap:12px;display:grid}.db-existing-records{border:1px solid var(--erp-border,#94a3b842);border-left:4px solid var(--erp-blue);background:#fff;border-radius:16px;padding:14px;box-shadow:0 8px 18px #0f172a0d}.db-existing-records-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.db-existing-records-head h3{color:var(--erp-blue);letter-spacing:-.02em;margin:0;font-size:15px;font-weight:800}.db-existing-records-head p{color:#64748b;margin:4px 0 0;font-size:12px;font-weight:650}.db-existing-records-filters{gap:8px;width:min(100%,320px);display:grid}.db-existing-records .admin-table-wrap{border:1px solid rgb(var(--erp-blue-rgb) / 10%);background:#f8fbff;border-radius:12px}.db-existing-records .db-table th{background:#ffffffeb}.db-existing-records .db-table td{color:#172033;font-size:13px;font-weight:650}.db-existing-records .db-table td[colspan]{color:#64748b;text-align:center;padding:18px 12px;font-weight:600}.db-quick-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.db-quick-stat{border:1px solid rgb(var(--erp-blue-rgb) / 14%);border-left:4px solid var(--erp-blue);background:#fff;border-radius:16px;padding:12px 14px;box-shadow:0 8px 18px #0f172a0d}.db-quick-stat span{color:var(--erp-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:850;display:block}.db-quick-stat strong{color:var(--erp-blue);margin-top:4px;font-size:22px;font-weight:1000;line-height:1;display:block}.db-glass-button,.db-submit{color:#0f172a;text-align:left;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;background:linear-gradient(135deg,#ffffffc7,#ffffff75);border:1px solid #94a3b842;border-radius:20px;padding:22px;font-size:16px;font-weight:800;transition:transform .16s,border-color .16s,box-shadow .16s;box-shadow:0 18px 45px #0f172a1a}.db-action-icon,.db-action-copy,.db-action-chevron{z-index:1;position:relative}.db-action-icon{border:1px solid rgb(var(--erp-blue-rgb) / 14%);background:var(--erp-blue-soft);width:38px;min-width:38px;height:38px;color:var(--erp-blue);border-radius:12px;place-items:center;display:grid}.db-action-copy{flex:1;gap:3px;min-width:0;display:grid}.db-action-label{color:#172033;font-size:15px;font-weight:900;line-height:1.15}.db-action-description{color:#8a94a6;font-size:12px;font-weight:650;line-height:1.25}.db-action-chevron{color:var(--erp-blue);opacity:.72;margin-left:auto}.workflow-menu-overlay{z-index:70;-webkit-backdrop-filter:blur(10px);background:#0f172a52;position:fixed;inset:0}@media (width<=1023px){.workflow-menu-overlay{height:100dvh!important;top:0!important}.workflow-menu-drawer{z-index:210;position:fixed;top:0;left:0;height:100dvh!important}}.workflow-menu-drawer{background:#fff;width:min(82vw,300px);height:100dvh;overflow-y:auto;box-shadow:18px 0 48px #0f172a2e}.workflow-menu-brand{background:var(--erp-blue);color:#fff;justify-content:space-between;align-items:center;min-height:76px;padding:14px 16px;display:flex}.workflow-menu-brand p{margin:0;font-size:19px;font-weight:1000;line-height:1}.workflow-menu-brand span{color:#ffffffb8;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.workflow-menu-brand button{color:#fff;background:#ffffff1a;border:1px solid #ffffff3d;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.workflow-menu-list{gap:8px;padding:14px 12px 32px;display:grid}.workflow-menu-list button{border:1px solid rgb(var(--erp-blue-rgb) / 12%);color:#26364d;text-align:left;background:#fff;border-radius:14px;justify-content:space-between;align-items:center;min-height:46px;padding:0 12px;font-size:14px;font-weight:850;display:flex}.db-glass-button:hover,.db-submit:hover:not(:disabled){border-color:#2563eb61;transform:translateY(-2px);box-shadow:0 22px 55px #2563eb26}.db-glass-button.is-active{border-color:rgb(var(--erp-blue-rgb) / 42%);box-shadow:0 20px 52px rgb(var(--erp-blue-rgb) / 18%);background:linear-gradient(135deg, rgb(var(--erp-blue-rgb) / 10%), #ffffffb8)}.db-glass-button.danger{color:#be123c}.dark .db-glass-button,.dark .db-submit{color:#f8fafc;background:linear-gradient(135deg,#18181bd1,#0f172a8a);border-color:#3f3f46b3;box-shadow:0 18px 48px #00000059}.dark .db-glass-button.danger{color:#fb7185}.dark .db-glass-button.is-active{background:linear-gradient(135deg,#2563eb38,#18181bd1);border-color:#60a5fa73;box-shadow:0 20px 56px #2563eb38}.db-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc7;border:1px solid #94a3b83d;border-radius:24px;width:100%;min-width:0;max-width:100%;overflow:hidden;box-shadow:0 24px 70px #0f172a1f}.db-card.db-form{overflow:visible}.dark .db-card{background:#09090bbd;border-color:#3f3f46b3;box-shadow:0 24px 70px #0006}.db-form{gap:18px;width:100%;min-width:0;padding:clamp(18px,4vw,30px);display:grid}.db-field{gap:7px;min-width:0;max-width:100%;display:grid}.db-field span{color:#475569;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.dark .db-field span{color:#94a3b8}.db-input{box-sizing:border-box;color:#0f172a;width:100%;min-width:0;max-width:100%;font:inherit;background:#fff;border:1px solid #dbe3ef;border-radius:14px;outline:none;padding:12px 14px;font-size:14px;transition:border-color .16s,box-shadow .16s,background .16s}.db-input:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f}.db-input[type=date],.db-input[type=datetime-local],input[type=date].db-input,input[type=datetime-local].db-input{box-sizing:border-box;appearance:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;flex:auto;width:100%;min-width:0;max-width:100%;line-height:1.25;display:block;overflow:hidden}.db-input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}.db-input[type=datetime-local]::-webkit-date-and-time-value{text-align:left;min-width:0}.db-input[type=date]::-webkit-datetime-edit{min-width:0;max-width:100%;padding:0;overflow:hidden}.db-input[type=datetime-local]::-webkit-datetime-edit{min-width:0;max-width:100%;padding:0;overflow:hidden}.db-input[type=date]::-webkit-datetime-edit-fields-wrapper{min-width:0;max-width:100%}.db-input[type=datetime-local]::-webkit-datetime-edit-fields-wrapper{min-width:0;max-width:100%}.db-input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.9;margin-left:4px}.db-input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.9;margin-left:4px}.db-input[type=time],input[type=time].db-input{box-sizing:border-box;appearance:none;text-align:left;flex:auto;width:100%;min-width:0;max-width:100%;line-height:1.25;display:block;overflow:hidden}.db-input[type=time]::-webkit-date-and-time-value{text-align:left;min-width:0;max-width:100%}.db-input[type=time]::-webkit-datetime-edit{text-align:left;min-width:0;max-width:100%;padding:0;overflow:hidden}.db-input[type=time]::-webkit-datetime-edit-fields-wrapper{min-width:0;max-width:100%;padding:0}.db-input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.9;flex-shrink:0;margin-left:auto}.dark .db-input[type=date],.dark .db-input[type=datetime-local],.dark .db-input[type=time]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.db-form .db-field,.ann-content-card .db-field,.erp-admin-form .db-field,.erp-admin-form>.erp-searchable-select,.erp-admin-form>.db-input[type=date],.erp-admin-form>.db-input[type=time],.db-workflow .db-field,.db-workflow .erp-searchable-select,.teacher-flow .db-field,.teacher-flow .erp-searchable-select,.teacher-form-grid>.db-field,.teacher-form-grid>.erp-searchable-select{min-width:0;max-width:100%}.erp-admin-form>.db-input[type=date],.erp-admin-form>.db-input[type=time]{width:100%;max-width:100%}.teacher-flow .erp-searchable-select,.teacher-flow .erp-select-trigger,.db-workflow .erp-select-trigger,.erp-admin-form .erp-select-trigger{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.dark .db-input{color:#f8fafc;background:#09090b;border-color:#27272a}.db-branch-rows{gap:14px;display:grid}.db-branch-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.db-branch-header button,.db-row-remove,.db-archive-summary button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:800;display:inline-flex}.db-row-remove,.db-archive-summary button{background:#e11d48}.db-branch-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.db-submit{color:#fff;text-align:center;background:linear-gradient(135deg,#2563eb,#4f46e5);width:100%}.db-submit:disabled{cursor:not-allowed;opacity:.7}.db-archive-summary{background:#fff1f2b3;border:1px solid #e11d4833;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.dark .db-archive-summary{background:#4c051959;border-color:#fb71853d}.db-archive-summary p,.db-empty{margin:0;font-weight:800}.db-archive-summary span{color:#64748b;font-size:13px;font-weight:700}.db-empty{color:#64748b}.dark .db-empty,.dark .db-archive-summary span{color:#94a3b8}.erp-confirm-overlay{z-index:9500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a7a;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.erp-confirm-card{color:#172033;text-align:center;background:#fff;border:1px solid #fecaca;border-radius:24px;width:min(340px,100%);padding:22px;box-shadow:0 24px 70px #0f172a3d}.erp-confirm-icon{color:#dc2626;background:#fee2e2;border-radius:18px;place-items:center;width:54px;height:54px;margin:0 auto 14px;display:grid}.erp-confirm-card h2{color:#991b1b;margin:0;font-size:21px;font-weight:900}.erp-confirm-card p{color:#64748b;margin:8px 0 0;font-size:14px;font-weight:750;line-height:1.45}.erp-confirm-card strong{color:#172033;margin-top:12px;font-size:15px;font-weight:900;display:block}.erp-confirm-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.erp-confirm-actions button{border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:46px;font-size:14px;font-weight:900;display:inline-flex}.erp-confirm-cancel{color:#334155;background:#fff}.erp-confirm-danger{color:#fff;background:#dc2626;box-shadow:0 14px 28px #dc26263d}.erp-confirm-icon--primary{background:rgb(var(--erp-blue-rgb) / 12%);color:var(--erp-blue)}.erp-confirm-primary{background:var(--erp-blue);color:#fff;box-shadow:0 14px 28px rgb(var(--erp-blue-rgb) / 24%)}.db-search-bar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffb3;border:1px solid #94a3b842;border-radius:20px;align-items:center;gap:12px;margin-bottom:18px;padding:12px 14px;display:flex;box-shadow:0 18px 45px #0f172a14}.dark .db-search-bar{background:#18181bb3;border-color:#3f3f46b3}.db-search-bar input{min-width:0;color:inherit;font:inherit;background:0 0;border:0;outline:none;flex:1}.db-search-bar button,.db-export-actions button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:9px 13px;font-size:13px;font-weight:800;display:inline-flex}.db-suggestions{gap:8px;margin-bottom:18px;display:grid}.db-suggestions button{color:inherit;text-align:left;cursor:pointer;background:#ffffffa6;border:1px solid #94a3b833;border-radius:14px;justify-content:space-between;gap:12px;padding:12px 14px;display:flex}.dark .db-suggestions button{background:#18181b9e;border-color:#3f3f46b3}.db-combo{gap:8px;display:grid}.erp-searchable-select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;font-family:var(--font-body);position:relative}.erp-select-trigger{box-sizing:border-box;border:1.5px solid rgb(var(--erp-blue-rgb) / 50%);color:#172033;text-align:left;width:100%;min-width:0;max-width:100%;min-height:44px;font:inherit;font-family:var(--font-body);cursor:pointer;background:#fff;border-radius:12px;outline:none;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;font-size:13px;font-weight:700;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.erp-select-trigger:hover,.erp-select-trigger.open,.erp-searchable-select:focus-within .erp-select-trigger{border-color:var(--erp-blue);box-shadow:0 0 0 4px rgb(var(--erp-blue-rgb) / 10%), 0 12px 28px rgb(var(--erp-blue-rgb) / 10%)}.erp-select-trigger:disabled{cursor:not-allowed;opacity:.65}.erp-select-search-trigger{cursor:text;justify-content:flex-start}.erp-select-search-trigger input{width:100%;min-width:0;font:inherit;outline:none;flex:1;font-size:14px;font-weight:800;box-shadow:none!important;color:#172033!important;background:0 0!important;border:0!important;padding:0!important}.erp-select-search-trigger input::placeholder{color:#8a97a8;font-weight:750}.erp-select-placeholder{color:#64748b;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.erp-select-value{color:#172033;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;max-width:100%;display:block;overflow:hidden}.erp-select-actions{color:var(--erp-blue);flex:none;align-items:center;gap:8px;display:inline-flex}.erp-select-clear{background:var(--erp-blue-soft);width:24px;height:24px;color:var(--erp-blue);border-radius:999px;place-items:center;display:inline-grid}.erp-select-chevron{transition:transform .16s}.erp-select-trigger.open .erp-select-chevron{transform:rotate(180deg)}.erp-select-required{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.erp-select-panel{z-index:1200;border:1px solid rgb(var(--erp-blue-rgb) / 20%);background:#fff;border-radius:18px;animation:.14s ease-out erpSelectIn;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden;box-shadow:0 22px 50px #0f172a24}.erp-select-panel--portal{z-index:9800;font-family:var(--font-body);font-size:13px;line-height:1.35;top:auto;left:auto;right:auto}.erp-select-search{color:var(--erp-blue);background:#f8fbff;border:1px solid #dbe6f2;border-radius:14px;align-items:center;gap:9px;margin:10px;padding:10px 12px;display:flex}.erp-select-search input{min-width:0;font:inherit;outline:none;flex:1;font-size:14px;font-weight:750;box-shadow:none!important;color:#172033!important;background:0 0!important;border:0!important;padding:0!important}.erp-select-list{overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#0f172a38 transparent;touch-action:pan-y;-webkit-overflow-scrolling:touch;max-height:min(320px,48vh);padding:6px;display:grid;overflow-y:auto}.erp-select-list::-webkit-scrollbar{width:4px}.erp-select-list::-webkit-scrollbar-thumb{background:#0f172a38;border-radius:10px}.erp-select-option{color:#172033;text-align:left;width:100%;font-family:var(--font-body);touch-action:pan-y;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:600;transition:background .14s,color .14s;display:flex}.erp-select-option strong{font-size:inherit;font-weight:inherit;line-height:inherit;display:block}.erp-select-option small{color:#64748b;margin-top:2px;font-size:11px;font-weight:600;display:block}.erp-select-option:hover,.erp-select-option.active{background:var(--erp-blue-soft);color:var(--erp-blue)}.erp-select-option.selected{background:rgb(var(--erp-blue-rgb) / 11%);color:var(--erp-blue)}.erp-select-option:disabled{cursor:not-allowed;opacity:.55}.erp-select-state{color:#64748b;text-align:center;padding:16px 14px;font-size:13px;font-weight:750}@keyframes erpSelectIn{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.db-result-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.db-result-head h2,.db-result-head p{margin:0}.db-export-actions{flex-wrap:wrap;gap:8px;display:flex}.db-table{border-collapse:collapse;border-radius:14px;width:100%;overflow:hidden}.db-table th,.db-table td{text-align:left;border-bottom:1px solid #94a3b82e;padding:12px}.db-table th{color:#64748b;letter-spacing:.06em;text-transform:uppercase;font-size:12px}.dark .db-table th,.dark .db-table td{border-color:#3f3f46a6}.db-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.db-info{background:#ffffff7a;border:1px solid #94a3b82e;border-radius:14px;gap:4px;padding:12px;display:grid}.dark .db-info{background:#18181b7a;border-color:#3f3f46a6}.db-info span{color:#64748b;letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800}.db-info strong{color:inherit;font-size:14px}.db-inline-actions{align-items:center;gap:6px;display:inline-flex}.db-inline-actions button,.db-inline-actions a{color:#2563eb;cursor:pointer;background:#2563eb1f;border:0;border-radius:999px;place-items:center;width:26px;height:26px;display:inline-grid}.db-history-list{gap:10px;display:grid}.db-history-row{border:1px solid rgb(var(--erp-blue-rgb) / 12%);background:#f8fafce0;border-radius:16px;gap:8px;padding:12px;display:grid}.db-history-row div{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.db-history-row strong{color:var(--erp-blue);font-size:14px;font-weight:850}.db-history-row span,.db-history-row p,.db-history-row small{min-width:0;color:var(--erp-muted);overflow-wrap:anywhere;font-size:12px}.db-history-row p{margin:0}.db-history-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:14px;display:flex}.db-history-pagination button{border:1px solid rgb(var(--erp-blue-rgb) / 16%);min-width:92px;min-height:38px;color:var(--erp-blue);cursor:pointer;background:#fff;border-radius:12px;font-size:13px;font-weight:800;box-shadow:0 8px 18px #0f172a0d}.db-history-pagination button:disabled{cursor:not-allowed;opacity:.48}.db-history-pagination span{color:var(--erp-text);font-size:13px;font-weight:800}.teacher-action-stack{gap:16px;max-width:680px;display:grid}.payments-workspace-toggles{width:100%;max-width:none}.payments-workspace-heading{color:var(--erp-blue);letter-spacing:-.03em;margin:0;font-size:17px;font-weight:800}.payments-selected-summary{border:1px solid rgb(var(--erp-blue-rgb) / 14%);background:var(--erp-blue-soft);border-radius:16px;margin-top:14px;padding:14px 16px}.payments-selected-summary h3{color:#172033;margin:0 0 8px;font-size:13px;font-weight:900}.dark .payments-selected-summary{background:#2563eb29;border-color:#60a5fa38}.dark .payments-selected-summary h3{color:#e2e8f0}.teacher-flow{gap:18px;display:grid}.teacher-stepper{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.teacher-stepper button{border:1px solid rgb(var(--erp-blue-rgb) / 16%);color:var(--erp-text);cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 12px;font-size:13px;font-weight:850;display:flex}.dark .teacher-stepper button{color:#cbd5e1;background:#18181bb3;border-color:#3f3f46b3}.teacher-stepper button span{background:var(--erp-blue-soft);width:24px;height:24px;color:var(--erp-blue);border-radius:999px;place-items:center;display:inline-grid}.teacher-stepper button.active{border-color:rgb(var(--erp-blue-rgb) / 40%);background:var(--erp-blue);color:#fff;box-shadow:0 18px 45px rgb(var(--erp-blue-rgb) / 20%)}.teacher-stepper button.active span{color:#fff;background:#ffffff38}.teacher-step-card h2,.teacher-step-card p{margin:0}.teacher-step-card h2{letter-spacing:-.04em;font-size:20px;font-weight:850}.teacher-step-card p{color:#64748b;margin-top:4px;font-size:14px;font-weight:600}.dark .teacher-step-card p{color:#94a3b8}.teacher-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.teacher-flow-actions{border-top:1px solid #94a3b833;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:12px;margin-top:16px;padding-top:16px;display:grid}.teacher-secondary,.teacher-add-assignment,.teacher-delete-button,.teacher-assignment-chip button{color:#0f172a;cursor:pointer;background:#e2e8f0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 15px;font-size:13px;font-weight:850;display:inline-flex}.dark .teacher-secondary,.dark .teacher-add-assignment,.dark .teacher-assignment-chip button{color:#f8fafc;background:#27272a}.teacher-secondary:disabled{cursor:not-allowed;opacity:.55}.teacher-add-assignment{color:#fff;background:#2563eb;width:fit-content}.teacher-delete-button{color:#fff;background:#e11d48}.teacher-assignment-list{gap:10px;display:grid}.teacher-assignment-chip{background:#ffffff94;border:1px solid #94a3b833;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.dark .teacher-assignment-chip{background:#18181b8a;border-color:#3f3f46b3}.teacher-assignment-chip div{gap:3px;display:grid}.teacher-assignment-chip strong{color:inherit;font-size:13px}.teacher-assignment-chip span{color:#64748b;font-size:12px;font-weight:650}.dark .teacher-assignment-chip span{color:#94a3b8}.teacher-profile-head{align-items:center;gap:12px;display:flex}.teacher-chip-row{flex-wrap:wrap;gap:8px;display:flex}.teacher-role-chip{color:#2563eb;background:#2563eb1a;border:1px solid #2563eb33;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:850}.dark .teacher-role-chip{color:#93c5fd;background:#2563eb2e;border-color:#60a5fa3d}.teacher-modify-assignments{border-top:1px solid #0f172a14;gap:1rem;padding-top:.35rem;display:grid}.teacher-modify-assignments h3{margin:0;font-size:1rem;font-weight:800}.teacher-modify-assignments p{color:#64748b;margin:.35rem 0 0;font-size:13px}.dark .teacher-modify-assignments{border-top-color:#94a3b82e}.dark .teacher-modify-assignments p{color:#94a3b8}.promotion-workflow-layout{flex-direction:column;min-height:100dvh;display:flex}.promotion-workflow-layout .promotion-body{box-sizing:border-box;flex-direction:column;flex:auto;gap:18px;width:min(1160px,100%);min-height:0;display:flex}.promotion-activity{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:none;margin-top:auto;display:flex}.promotion-activity h2{margin:0}.promotion-body{gap:18px;display:grid}.promotion-wizard-nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.promotion-wizard-step{color:#172033;cursor:pointer;background:#fff;border:1px solid #d9e5f2;border-radius:12px;padding:8px 14px;font-size:13px;font-weight:700}.promotion-wizard-step-active{border-color:#2563eb73;box-shadow:0 8px 24px #2563eb1f}.promotion-wizard-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.promotion-wizard-back{color:#172033;cursor:pointer;background:#fff;border:1px solid #d9e5f2;border-radius:12px;padding:10px 18px;font-size:14px;font-weight:700}.promotion-wizard-back:hover{border-color:#2563eb59}.promotion-field-hint{color:var(--erp-muted);grid-column:1/-1;margin:0;font-size:13px;font-weight:650}.promotion-nonpromoted-title{margin:0 0 10px;font-size:16px;font-weight:800}.promotion-nonpromoted-title small{color:var(--erp-muted);font-weight:650}.db-input-readonly{cursor:default;opacity:.92;align-items:center;min-height:42px;display:flex}@media (width<=720px){.promotion-card-grid{grid-template-columns:1fr}}.promotion-form-heading h2,.promotion-form-heading p{margin:0}.promotion-form-heading h2{color:#172033;letter-spacing:-.04em;font-size:22px;font-weight:900}.promotion-form-heading p{color:var(--erp-muted);margin-top:6px;font-size:14px;font-weight:650;line-height:1.45}.fee-form-heading h2,.fee-form-heading p{margin:0}.fee-form-heading h2{color:var(--erp-blue);letter-spacing:-.03em;font-size:17px;font-weight:800}.fee-form-heading p{color:var(--erp-muted);margin-top:5px;font-size:13px;font-weight:650;line-height:1.45}.fee-action-section{max-width:none}.fee-history-action{color:#172033;text-align:left;cursor:pointer;background:#fff;border:1px solid #d9e5f2;border-radius:16px;gap:4px;width:100%;padding:16px 18px;display:grid}.fee-history-action span{font-size:16px;font-weight:900}.fee-history-action small{color:var(--erp-muted);font-size:13px;font-weight:700}.promotion-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.promotion-option{color:inherit;text-align:left;cursor:pointer;background:#ffffff9e;border:1px solid #94a3b838;border-radius:18px;gap:5px;padding:16px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.promotion-option:hover,.promotion-option.active,.db-suggestions button.active{border-color:#2563eb6b;transform:translateY(-1px);box-shadow:0 18px 45px #2563eb24}.dark .promotion-option{background:#18181b9e;border-color:#3f3f46b3}.promotion-option strong{font-size:15px}.promotion-option span,.promotion-option small{color:#64748b;font-size:12px;font-weight:700}.dark .promotion-option span,.dark .promotion-option small{color:#94a3b8}.promotion-student-list{border:1px solid #94a3b833;border-radius:18px;display:grid;overflow:hidden}.dark .promotion-student-list{border-color:#3f3f46b3}.promotion-student-head,.promotion-student-row{grid-template-columns:80px 1.2fr 1fr 1fr 1fr 1fr;align-items:center;gap:12px;padding:13px 14px;display:grid}.promotion-student-head{color:#64748b;letter-spacing:.06em;text-transform:uppercase;background:#f8fafccc;font-size:11px;font-weight:900}.dark .promotion-student-head{color:#94a3b8;background:#18181bbf}.promotion-student-row{border-top:1px solid #94a3b829;font-size:13px;font-weight:650}.dark .promotion-student-row{border-color:#3f3f46a6}.fee-target-card{box-shadow:none;background:0 0;border:0;border-top:1px solid #e8eef5;border-radius:0;gap:clamp(18px,2.8vw,24px);margin-top:2px;padding:clamp(24px,4vw,36px) 0 0;display:grid}.finance-export-button{justify-content:center;align-items:center;min-width:148px;box-shadow:0 10px 24px #004b8d2e;color:#fff!important;background:#004b8d!important;border:0!important;border-radius:12px!important;width:auto!important;padding:10px 16px!important;font-size:13px!important;font-weight:850!important;display:inline-flex!important}.finance-export-button:hover{background:#003f77!important}.dark .fee-target-card{border-top-color:#3f3f468c}.fee-structure-form.db-form{gap:22px;padding:clamp(22px,4.5vw,38px)}.fee-structure-form .fee-details-panel{box-shadow:none;background:0 0;border:0;border-radius:0;gap:22px;padding:0;display:grid}.dark .fee-structure-form .fee-details-panel{background:0 0;border:0}.fee-details-panel{border:1px solid rgb(var(--erp-blue-rgb) / 10%);background:#f8fafcd9;border-radius:18px;gap:22px;padding:clamp(22px,3.2vw,34px) clamp(20px,3.5vw,40px) clamp(24px,3.5vw,40px);display:grid}.dark .fee-details-panel{background:#18181b8c;border-color:#3f3f4680}.fee-details-panel .db-submit{margin-top:4px}.fee-history-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:none;margin-top:auto;display:flex}.fee-history-footer h2{margin:0}.fee-history-footer .fee-history-action{flex:240px;width:auto;min-width:min(100%,280px)}.fee-student-field{gap:10px;display:grid}.fee-student-hint{color:var(--erp-muted);margin:0;font-size:12px;font-weight:650;line-height:1.4}.fee-student-hint--warn{color:#b45309;font-weight:750}.dark .fee-student-hint--warn{color:#fbbf24}.fee-target-section-note{margin:0}.fee-details-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:22px 24px;display:grid}.fee-remarks-field{grid-column:1/-1}@media (width<=900px){.fee-details-grid{grid-template-columns:1fr}}.fee-target-toggle{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.fee-structure-form .fee-target-toggle{gap:14px}.fee-structure-form .fee-target-toggle button{min-height:48px;padding:14px 16px}.fee-structure-form .fee-target-section-note{max-width:52ch;padding:4px 2px 8px;line-height:1.55}.fee-structure-form .fee-student-field{gap:14px}.fee-structure-form .fee-target-card>.fee-form-heading p{margin-top:8px}.fee-target-toggle button,.fee-structure-row button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #94a3b842;border-radius:999px;padding:11px 14px;font-size:13px;font-weight:850;transition:border-color .2s,background .2s,box-shadow .2s,color .2s,transform .15s}.fee-target-toggle button:hover{transform:translateY(-1px);border-color:rgb(var(--erp-blue-rgb) / 32%)!important}.fee-target-toggle button.active{box-shadow:inset 0 0 0 1px #ffffff73, 0 8px 22px rgb(var(--erp-blue-rgb) / 10%);border:1.5px solid rgb(var(--erp-blue-rgb) / 45%)!important;background:var(--erp-blue-soft)!important;color:var(--erp-blue)!important}.fee-target-toggle button:before{content:none!important;display:none!important}.dark .fee-target-toggle button{color:#f8fafc;background:#18181bb3;border-color:#3f3f46b3}.dark .fee-target-toggle button.active{box-shadow:inset 0 0 0 1px #ffffff0f,0 8px 22px #00000040;color:#93c5fd!important;background:#2563eb24!important;border-color:#60a5fa73!important}.fee-structure-head,.fee-structure-row{grid-template-columns:1.2fr .7fr .8fr .7fr 1.5fr .7fr;align-items:center;gap:12px;padding:13px 14px;display:grid}.fee-structure-head{color:#64748b;letter-spacing:.06em;text-transform:uppercase;background:#f8fafccc;font-size:11px;font-weight:900}.dark .fee-structure-head{color:#94a3b8;background:#18181bbf}.fee-structure-row{border-top:1px solid #94a3b829;font-size:13px;font-weight:650}.dark .fee-structure-row{border-color:#3f3f46a6}.fee-structure-row button{color:#fff;background:#e11d48;width:fit-content}@media (width<=720px){.db-module-grid,.db-branch-row,.teacher-form-grid,.teacher-stepper,.teacher-flow-actions,.promotion-card-grid,.promotion-student-head,.promotion-student-row,.fee-target-toggle,.fee-structure-head,.fee-structure-row{grid-template-columns:1fr}.teacher-assignment-chip,.db-result-head{flex-direction:column;align-items:stretch}.db-workflow-header{min-height:64px}.db-header-actions{gap:8px}.db-icon-button{width:38px;min-width:38px;height:38px}.erp-avatar--md{--avatar-size:38px}.erp-avatar--xs{--avatar-size:34px}.db-result-head,.db-search-bar{flex-direction:column;align-items:stretch}.db-detail-grid{grid-template-columns:1fr}}@keyframes skeleton-shimmer{to{transform:translate(100%)}}:root{--erp-blue:#004b8d;--erp-blue-rgb:0 75 141;--erp-blue-strong:#003b70;--erp-blue-soft:rgb(var(--erp-blue-rgb) / 9%);--erp-menu-border:rgb(var(--erp-blue-rgb) / 14%);--erp-menu-icon-bg:#f4f8ff;--erp-logo-red:#df2027;--erp-bg:#fff;--erp-card:#fff;--erp-text:#111827;--erp-muted:#6b7280;--erp-border:#dfe7f1;--erp-shadow:0 12px 28px #0f172a14;--erp-radius:22px}html,body,#root{background:var(--erp-bg);color:var(--erp-text)}.erp-shell,.erp-main,.erp-content,.admin-dashboard{background:var(--erp-bg)!important;color:var(--erp-text)!important}.db-workflow{color:var(--erp-text)!important}.erp-sidebar,.erp-mobile-drawer{background:#fff!important;border-right:0!important;box-shadow:10px 0 30px #0f172a0f!important}.erp-sidebar{-ms-overflow-style:none;scrollbar-width:none!important;padding:0!important}.erp-sidebar::-webkit-scrollbar{width:0;height:0;display:none}.erp-sidebar-content::-webkit-scrollbar{width:0;height:0;display:none}.erp-menu-groups::-webkit-scrollbar{width:0;height:0;display:none}.erp-sidebar-content{-ms-overflow-style:none;scrollbar-width:none;padding:0 12px 96px}.erp-brand{background:var(--erp-blue);color:#fff;border-radius:0;align-items:center;min-height:76px;margin:0 -12px 18px;padding:11px 16px}.erp-brand-title,.erp-brand-subtitle,.erp-brand .erp-sidebar-close{color:#fff!important}.erp-brand-title{letter-spacing:-.03em;font-size:21px}.erp-brand-subtitle{color:#ffffffb8!important}.erp-brand .erp-sidebar-close{border-color:#ffffff3d}.erp-brand .erp-sidebar-close:hover{border-color:#ffffff57;color:#fff!important;background:#ffffff24!important}.erp-dark-profile{border:1px solid var(--erp-menu-border,rgb(var(--erp-blue-rgb) / 14%));box-shadow:none;background:#f7faff;border-radius:20px}.erp-menu-heading{color:#7b8797;letter-spacing:.16em}.erp-menu-button{border:1px solid var(--erp-menu-border,rgb(var(--erp-blue-rgb) / 14%));color:#374151;background:#fff;border-radius:14px;font-size:15px;font-weight:750;position:relative}.erp-menu-button:hover,.erp-menu-button.active{border-color:rgb(var(--erp-blue-rgb) / 28%);background:var(--erp-blue-soft);color:var(--erp-blue)}.erp-menu-label svg{border:1px solid rgb(var(--erp-blue-rgb) / 16%);background:var(--erp-menu-icon-bg,#f4f8ff);box-sizing:border-box;border-radius:10px;width:30px;min-width:30px;height:30px;padding:6px;display:grid;color:var(--erp-blue)!important}.erp-menu-button.active svg,.erp-menu-button:hover svg{color:var(--erp-blue)}@media (hover:none){.erp-menu-button:hover{border-color:var(--erp-menu-border,rgb(var(--erp-blue-rgb) / 14%));color:#374151;background:#fff}.erp-menu-button.active,.erp-menu-button.active:hover{border-color:rgb(var(--erp-blue-rgb) / 28%);background:var(--erp-blue-soft);color:var(--erp-blue)}}.erp-signout{border:1px solid var(--erp-menu-border,rgb(var(--erp-blue-rgb) / 14%));color:#374151;background:#fff;border-radius:16px}.erp-topbar,.db-workflow-header{box-shadow:0 14px 32px rgb(var(--erp-blue-rgb) / 20%);background:var(--erp-blue)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-bottom:0!important}.erp-topbar{z-index:100;border-radius:0 0 24px;height:auto;min-height:76px;margin:0 0 12px;overflow:visible}.sidebar-collapsed .erp-topbar{border-radius:0 0 24px 24px}.erp-topbar-inner{height:auto;min-height:76px;padding:11px 22px}.erp-app-header-left{align-items:center;gap:14px;min-width:0;display:flex}.erp-header-logo{-o-object-fit:contain;object-fit:contain;background:#fff;border-radius:10px;width:62px;min-width:50px;height:50px;padding:6px;display:block;box-shadow:0 10px 24px #0000001f}.erp-header-copy{min-width:0}.erp-header-title{color:#fff;letter-spacing:-.04em;margin:0;font-size:clamp(20px,2.2vw,25px);font-weight:1000;line-height:1}.erp-header-subtitle{color:#ffffffbd;margin:4px 0 0;font-size:13px;font-weight:700;line-height:1.1}.erp-page-pill{color:#ffffffdb;letter-spacing:.04em;text-transform:uppercase;background:#ffffff24;border-radius:999px;margin-left:12px;padding:6px 11px;font-size:10px;font-weight:900}.erp-topbar-title,.db-header-left h1{color:#fff;font-weight:850}.erp-topbar .erp-icon-button,.erp-topbar .erp-menu-toggle,.erp-topbar .db-icon-button,.db-workflow-header .erp-icon-button,.db-workflow-header .erp-menu-toggle,.db-workflow-header .db-icon-button{box-shadow:none;border:1px solid #ffffff42;color:#fff!important;background:#ffffff1f!important}.erp-topbar .erp-icon-button:hover,.erp-topbar .erp-menu-toggle:hover,.erp-topbar .db-icon-button:hover,.db-workflow-header .erp-icon-button:hover,.db-workflow-header .erp-menu-toggle:hover,.db-workflow-header .db-icon-button:hover{transform:none;background:#fff3!important}.erp-topbar .erp-menu-toggle{margin-right:0}.erp-topbar .erp-icon-button{border-radius:999px;width:40px;height:40px}.db-workflow-header{border-radius:0 0 24px 24px;min-height:78px;margin:0;padding:12px clamp(16px,4vw,30px)}.db-workflow-header:before{content:none}.db-header-left{flex:1}.db-header-left h1{gap:4px;font-size:clamp(20px,2.2vw,25px);font-weight:1000;line-height:1;display:grid;position:relative}.db-header-left h1:after{content:none}.admin-stat-card,.admin-panel,.db-card,.rounded-2xl.border.bg-white,.rounded-xl.border.bg-slate-50,.rounded-xl.border.bg-white,.teacher-step-card{border:1px solid rgb(var(--erp-blue-rgb) / 18%)!important;border-radius:var(--erp-radius)!important;background:var(--erp-card)!important;box-shadow:var(--erp-shadow)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.student-management-root{box-sizing:border-box}@media (width>=769px){.student-management-root{border-radius:var(--erp-radius)!important;border:1px solid rgb(var(--erp-blue-rgb) / 18%)!important;background:var(--erp-card)!important;padding:clamp(22px,2.4vw,34px)!important;box-shadow:0 18px 48px #0f172a1c!important}.student-management-panel{border:1px solid rgb(var(--erp-blue-rgb) / 12%)!important;background:#fff!important;border-radius:18px!important;box-shadow:inset 0 1px #ffffffbf,0 8px 22px #0f172a12!important}.student-management-table{border:1px solid rgb(var(--erp-blue-rgb) / 12%)!important;background:#fff!important;border-radius:18px!important;box-shadow:0 6px 22px #0f172a12!important}}.admin-stat-card{min-height:112px;padding:20px}.admin-stat-card,.admin-panel{border-left-width:1px}.admin-stat-card.border-emerald-500,.admin-stat-card.border-cyan-500,.admin-stat-card.border-blue-500,.admin-stat-card.border-rose-500,.admin-stat-card.border-violet-500,.admin-stat-card.border-orange-500,.admin-stat-card.border-teal-500,.admin-stat-card.border-sky-500,.admin-stat-card.border-purple-500,.admin-stat-card.border-pink-500{border-left:5px solid var(--erp-blue)!important}.admin-stat-title,.admin-stat-caption,.db-field span,.teacher-step-card p,.db-empty{color:var(--erp-muted)!important}.admin-stat-value,.admin-panel-title,.teacher-step-card h2,.db-result-head h2{color:#172033!important}.admin-action-btn.primary,.db-submit,.db-search-bar button,.db-export-actions button,.db-branch-header button{background:var(--erp-blue)!important;color:#fff!important;box-shadow:0 12px 24px rgb(var(--erp-blue-rgb) / 18%)!important;border:0!important}.admin-action-btn,.db-glass-button{text-align:left;justify-content:flex-start;align-items:center;gap:12px;width:100%;min-height:74px;display:inline-flex;position:relative;border:1px solid var(--erp-border)!important;border-left:4px solid var(--erp-blue)!important;color:#172033!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fff!important;border-radius:16px!important;padding:12px 14px!important;box-shadow:0 8px 18px #0f172a0d!important}.admin-dashboard .admin-action-btn{text-align:center;justify-content:center;gap:0;width:100%;min-height:38px;font-size:12px;font-weight:750;border:1px solid #e6ebf2!important;border-radius:999px!important;padding:8px 12px!important;box-shadow:0 6px 14px #0f172a0d!important}.admin-dashboard .admin-action-btn.primary{border-color:var(--erp-blue)!important;border-left-color:var(--erp-blue)!important;box-shadow:0 8px 18px rgb(var(--erp-blue-rgb) / 16%)!important}.promotion-option:before,.fee-target-toggle button:before,.db-suggestions button:before{content:attr(data-action-icon);border:1px solid rgb(var(--erp-blue-rgb) / 18%);background:linear-gradient(135deg, rgb(var(--erp-blue-rgb) / 13%), rgb(var(--erp-blue-rgb) / 4%)), #f8fbff;width:28px;min-width:28px;height:28px;color:var(--erp-blue);content:"";border-radius:10px;place-items:center;font-size:15px;font-weight:1000;line-height:1;display:inline-grid}.promotion-option,.db-suggestions button,.fee-target-toggle button{border:1px solid rgb(var(--erp-blue-rgb) / 18%)!important}.db-workflow{font-family:var(--font-body);background:radial-gradient(circle at 18% 0%, rgb(var(--erp-blue-rgb) / 10%), transparent 28%), linear-gradient(180deg, #f5f9ff 0%, #eef4fb 100%)!important}.db-workflow-body{width:min(1160px,100%);padding:clamp(18px,3vw,34px)}.db-search-bar,.db-input,.db-suggestions button,.promotion-option,.fee-target-toggle button,input,select,textarea{border-color:var(--erp-border)!important;color:#172033!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fff!important}.db-input,input,select,textarea{border-radius:14px!important}select,.db-input:is(select){background-image:linear-gradient(45deg, transparent 50%, var(--erp-blue) 50%), linear-gradient(135deg, var(--erp-blue) 50%, transparent 50%), linear-gradient(to right, rgb(var(--erp-blue-rgb) / 12%), rgb(var(--erp-blue-rgb) / 12%));appearance:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-height:54px;accent-color:var(--erp-blue);background-position:calc(100% - 22px),calc(100% - 16px),calc(100% - 46px);background-repeat:no-repeat;background-size:6px 6px,6px 6px,1px 28px;outline:none;font-weight:750;border:1.5px solid rgb(var(--erp-blue-rgb) / 55%)!important;color:#172033!important;background-color:#fff!important;padding-right:56px!important}select:hover,.db-input:is(select):hover{border-color:var(--erp-blue)!important;box-shadow:0 10px 24px rgb(var(--erp-blue-rgb) / 8%)!important}select option{color:#172033;background:#fff;font-weight:700}select option:checked,select option:hover{background:var(--erp-blue-soft);color:var(--erp-blue)}.db-input:focus,input:focus,select:focus,textarea:focus{border-color:var(--erp-blue)!important;box-shadow:0 0 0 4px rgb(var(--erp-blue-rgb) / 12%)!important}.promotion-option.active,.db-suggestions button.active,.fee-target-toggle button.active{border-color:var(--erp-blue)!important;background:var(--erp-blue-soft)!important;color:var(--erp-blue)!important}.admin-table thead,.db-table th,.promotion-student-head,.fee-structure-head{color:#667085!important;background:#f6f8fb!important}.admin-table td,.db-table td,.promotion-student-row,.fee-structure-row{color:#172033!important;border-color:#e8eef5!important}.erp-toast{border:1px solid var(--erp-border);color:#172033;background:#fff;border-radius:18px;box-shadow:0 18px 38px #0f172a24}.toast-progress{background:var(--erp-blue)}.erp-toast-success .toast-progress{background:#16a34a}.erp-toast-info .toast-progress{background:#2563eb}.erp-toast-error .toast-progress{background:#dc2626}.erp-toast-warning .toast-progress{background:#f59e0b}.erp-toast-danger .toast-progress{background:#dc2626}.erp-toast-danger{border-color:#fecaca}@media (width<=720px){.erp-content,.db-workflow-body{padding:14px}.db-quick-stats,.db-module-grid{grid-template-columns:1fr;gap:9px}.db-section{border-radius:16px;margin-top:12px;padding:12px}.db-glass-button{min-height:66px;padding:10px 12px!important}.db-action-icon{width:34px;min-width:34px;height:34px}.db-action-description{font-size:11px}.db-existing-records-head{flex-direction:column}.db-existing-records-filters{width:100%}.db-existing-records .db-table th,.db-existing-records .db-table td{white-space:nowrap;padding:10px;font-size:12px}.db-existing-records-table{display:none}.db-existing-records-cards{gap:10px;display:grid}.db-existing-records-page-intro h2{font-size:16px}.admin-dashboard .admin-panel{padding:12px}.admin-dashboard .admin-action-btn{min-height:34px;padding:7px 10px!important}.erp-topbar{border-radius:0 0 24px 24px;min-height:76px;margin-bottom:12px}.erp-topbar-inner{min-height:76px;padding:10px 14px}.erp-app-header-left{gap:11px}.erp-header-logo,.db-workflow-header:before{border-radius:10px;width:58px;min-width:58px;height:46px}.erp-header-title{font-size:21px}.erp-header-subtitle{font-size:12px}.erp-page-pill{margin-left:2px;padding:5px 8px;font-size:9px;display:inline-flex}.erp-topbar .erp-menu-toggle{width:34px;min-width:34px;height:34px}.erp-topbar .erp-icon-button{width:38px;min-width:38px;height:38px}.db-workflow-header{border-radius:0 0 24px 24px;align-items:center;min-height:76px;padding:10px 14px}.db-header-left{gap:10px}.db-header-left h1{font-size:21px}.db-header-left h1:after{font-size:13px}.admin-middle-grid{grid-template-columns:1fr}.admin-dashboard .admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.db-card,.admin-panel,.admin-stat-card,.rounded-2xl.border.bg-white{border-radius:20px!important}input,select,textarea,.db-input,.erp-select-trigger,.erp-select-search-trigger input,.erp-select-search input,.db-search-bar input{font-size:16px!important}.db-workflow-body,.db-card,.db-form,.db-field,.erp-searchable-select,.erp-select-trigger,.db-input[type=time],.db-input[type=date],.teacher-flow,.teacher-form-grid>*{min-width:0;max-width:100%}.db-input[type=time]{text-align:left!important}.db-input[type=time]::-webkit-date-and-time-value{text-align:left!important}}@keyframes erp-skel-pulse{0%,to{opacity:.52}50%{opacity:.78}}.erp-skel-block{background:#94a3b8;border-radius:12px;animation:2.2s ease-in-out infinite erp-skel-pulse;display:block}@media (prefers-reduced-motion:reduce){.erp-skel-block{opacity:.62;animation:none}}.erp-route-skeleton{color:#0f172a;background:#fff;flex-direction:column;min-height:100dvh;display:flex}.erp-route-skeleton-shelltop{box-sizing:border-box;background:#fff;border-bottom:1px solid #e2e8f0;align-items:center;gap:10px;min-height:56px;padding:8px 12px 8px clamp(12px,3vw,28px);display:flex}.erp-skel-sq{border-radius:10px;flex-shrink:0;width:36px;height:36px}.erp-skel-logo{border-radius:10px;flex-shrink:0;width:40px;height:40px}.erp-skel-brandline{border-radius:8px;flex:120px;max-width:min(200px,28vw);height:16px}.erp-skel-pill{border-radius:999px;flex-shrink:0;width:min(140px,22vw);height:26px}.erp-skel-avatar-sm{border-radius:999px;flex-shrink:0;width:36px;height:36px}.erp-skel-push-end{margin-left:auto}.erp-route-skeleton-workflow{box-sizing:border-box;flex-direction:column;flex:auto;gap:14px;width:min(1120px,100%);margin:0 auto;padding:clamp(16px,3vw,36px);display:flex}.erp-route-skeleton-wfheader{background:#ffffffeb;border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:12px;min-height:64px;padding:12px clamp(14px,3vw,28px);display:flex;box-shadow:0 8px 28px #0f172a0f}.erp-skel-wf-title{border-radius:10px;flex:auto;max-width:min(320px,55vw);height:22px}.erp-route-skeleton-steps{flex-wrap:wrap;gap:8px;display:flex}.erp-skel-chip{border-radius:999px;width:min(120px,26vw);height:28px}.erp-route-skeleton-actions{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.erp-skel-btn{border-radius:12px;width:96px;height:40px}.erp-skel-w-10{width:40px}.erp-skel-h-10{height:40px}.erp-skel-circle{border-radius:999px}.erp-route-skeleton-card{background:#ffffffe0;border:1px solid #94a3b838;border-radius:24px;flex-direction:column;gap:14px;padding:22px 22px 20px;display:flex;box-shadow:0 24px 70px #0f172a1a}.erp-skel-line{border-radius:8px;height:12px}.erp-skel-w-40{max-width:40%}.erp-skel-w-55{max-width:55%}.erp-skel-w-90{max-width:90%}.erp-skel-w-full{width:100%}.erp-route-skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.erp-route-skeleton-grid-stack{grid-template-columns:1fr}@media (width<=720px){.erp-route-skeleton-grid:not(.erp-route-skeleton-grid-stack){grid-template-columns:1fr}}.erp-skel-field{border-radius:14px;height:52px}.erp-route-skeleton-row{flex-wrap:wrap;gap:12px;display:flex}.erp-skel-pill{border-radius:20px;flex:220px;max-width:100%;height:72px}.erp-route-skeleton-table{background:#ffffffc7;border:1px solid #94a3b82e;border-radius:18px;overflow:hidden}.erp-route-skeleton-table-head,.erp-route-skeleton-table-row{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:10px;padding:12px 14px;display:grid}.erp-route-skeleton-table-head{background:#f1f5f9e6;border-bottom:1px solid #94a3b829}.erp-route-skeleton-table-head .erp-skel-line,.erp-route-skeleton-table-row .erp-skel-line{height:10px}.erp-route-skeleton-table-row:not(:last-child){border-bottom:1px solid #94a3b81a}.erp-route-skeleton-caption{text-align:center;color:#64748b;margin:0;font-size:13px;font-weight:650}.db-wf-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.db-form-actions,.ann-form-shell .db-wf-actions,.db-form .db-wf-actions{grid-template-columns:1fr 1fr;align-items:stretch;gap:12px;width:100%;display:grid}.db-form-actions .db-wf-btn,.ann-form-shell .db-wf-actions .db-wf-btn,.ann-form-shell .db-wf-actions .db-submit,.db-form .db-wf-actions .db-wf-btn,.db-form .db-form-actions .db-wf-btn,.db-form .db-wf-actions .db-submit{text-align:center;letter-spacing:0;justify-content:center;align-items:center;width:100%;height:44px;min-height:44px;font-size:13px;font-weight:600;line-height:1.25;display:inline-flex;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-radius:12px!important;padding:0 14px!important}@media (width<=520px){.db-form-actions,.ann-form-shell .db-wf-actions,.db-form .db-wf-actions{grid-template-columns:1fr}}.db-wf-btn{cursor:pointer;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:12px;justify-content:center;align-items:center;min-height:42px;padding:0 18px;font-size:14px;font-weight:700;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.db-wf-btn:hover:not(:disabled){border-color:rgb(var(--erp-blue-rgb) / 40%);background:#fff}.db-wf-btn:disabled{opacity:.55;cursor:not-allowed}.db-wf-btn--primary{border-color:var(--erp-blue);background:var(--erp-blue);color:#fff}.db-wf-btn--primary:hover:not(:disabled){filter:brightness(1.05);border-color:var(--erp-blue);background:var(--erp-blue)}.db-wf-btn--danger{color:#b91c1c;background:#fff;border-color:#dc262659}.db-wf-btn--danger:hover:not(:disabled){background:#fef2f2}.db-hub-tile{text-align:left;border:1px solid rgb(var(--erp-blue-rgb) / 12%);color:#0f172a;cursor:pointer;background:#fff;border-radius:16px;width:100%;padding:16px 18px;font-size:15px;font-weight:750;transition:border-color .15s,box-shadow .15s;display:block}.db-hub-tile:hover{border-color:rgb(var(--erp-blue-rgb) / 32%);box-shadow:0 12px 32px rgb(var(--erp-blue-rgb) / 10%)}.fb-report{flex-direction:column;gap:20px;display:flex}.fb-report-hero{border:1px solid rgb(var(--erp-blue-rgb) / 12%);box-shadow:none;background:#fff;border-radius:16px;padding:18px 20px}.fb-report-hero h2{color:#0f172a;margin:0 0 6px;font-size:1.1rem;font-weight:800}.fb-report-metric{color:var(--erp-blue);letter-spacing:-.03em;font-size:2rem;font-weight:800}.fb-report-insights{color:#334155;margin:0;padding-left:1.1rem;font-size:14px;line-height:1.5}.fb-report-insights li{margin-bottom:6px}.fb-report-q{border:1px solid rgb(var(--erp-blue-rgb) / 12%);box-shadow:none;background:#fff;border-radius:16px;padding:16px 18px}.fb-report-q h3{color:#0f172a;margin:0 0 4px;font-size:1rem;font-weight:750}.fb-report-q-type{letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin:0 0 12px;font-size:11px;font-weight:700}.fb-report-bars{align-items:flex-end;gap:8px;height:128px;margin-top:8px;display:flex}.fb-report-bar-track{flex-direction:column;flex:1 1 0;align-items:center;gap:6px;display:flex}.fb-report-bar-inner{background:#e2e8f0;border-radius:8px;flex:1;align-items:flex-end;width:100%;min-height:8px;display:flex;overflow:hidden}.fb-report-bar-fill{background:var(--erp-blue);border-radius:8px;width:100%;transition:height .2s}.dark .fb-report-hero,.dark .fb-report-q{box-shadow:none!important;background:#18181beb!important;border-color:#3f3f468c!important}.dark .fb-report-hero h2,.dark .fb-report-q h3{color:#f4f4f5!important}.dark .fb-report-insights,.dark .fb-report-q-type,.dark .fb-report .text-slate-600,.dark .fb-report .text-slate-500,.dark .fb-report .text-slate-700{color:#a1a1aa!important}.dark .fb-report-bar-inner{background:#27272ae6!important}.dark .fb-report-q .border-slate-100{border-color:#3f3f468c!important}.fb-report-hub-card{text-align:left;border:1px solid rgb(var(--erp-blue-rgb) / 12%);cursor:pointer;background:#fff;border-radius:16px;padding:16px 18px;transition:border-color .15s,box-shadow .15s}.fb-report-hub-card:hover{border-color:rgb(var(--erp-blue-rgb) / 30%);box-shadow:0 12px 36px rgb(var(--erp-blue-rgb) / 12%)}.fb-report-hub-card h3{color:#0f172a;margin:0 0 6px;font-size:1rem;font-weight:750}.fb-report-hub-card p{color:#64748b;margin:0;font-size:13px}.app-workflow-body{flex-direction:column;gap:18px;display:flex}.app-workflow-lead{color:#64748b;max-width:52rem;margin:0;font-size:13px;line-height:1.55}.app-filter-card{align-items:flex-end;gap:12px;padding:clamp(16px,3vw,20px)}.app-filter-card .db-field:not(.app-filter-search){flex:0 220px;min-width:160px}.app-filter-card .app-filter-search{flex:280px;min-width:min(100%,220px)}.app-section-title{letter-spacing:-.02em;color:var(--erp-blue);margin:0;font-size:15px;font-weight:800}.app-review-card,.app-submit-card{padding:clamp(16px,3vw,22px)}.app-review-title{letter-spacing:-.02em;color:#0f172a;margin:0 0 6px;font-size:15px;font-weight:800}.app-review-lead{color:#64748b;margin:0 0 14px;font-size:13px;line-height:1.5}.app-review-form{gap:14px;display:grid}.app-empty{color:#64748b;text-align:center;border:1px dashed #94a3b859;border-radius:14px;margin:0;padding:18px 16px;font-size:14px;line-height:1.55}.app-empty--error{color:#be123c;border-style:solid;border-color:#e11d4847}.app-list-card{padding:clamp(16px,3vw,20px)}.app-list-card.is-selected{box-shadow:0 0 0 1px rgb(var(--erp-blue-rgb) / 18%);border-color:rgb(var(--erp-blue-rgb) / 45%)!important}.app-list-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.app-list-card-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.app-category-chip{letter-spacing:.04em;text-transform:uppercase;color:var(--erp-blue);background:rgb(var(--erp-blue-rgb) / 10%);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800}.app-status-badge{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800}.app-status-badge--pending,.app-status-badge--in_review{color:#92400e;background:#fef3c7}.app-status-badge--approved{color:#166534;background:#dcfce7}.app-status-badge--rejected{color:#991b1b;background:#fee2e2}.app-status-badge--closed{color:#475569;background:#e2e8f0}.app-list-card-title{color:#0f172a;margin:0;font-size:1rem;font-weight:750}.app-list-card-student{color:#64748b;margin:6px 0 0;font-size:12px}.app-list-card-message{color:#334155;margin:12px 0 0;font-size:14px;line-height:1.55}.app-list-card-details{gap:8px;margin:14px 0 0;font-size:12px;display:grid}@media (width>=640px){.app-list-card-details{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-list-card-details dt{letter-spacing:.05em;text-transform:uppercase;color:#64748b;margin:0;font-size:11px;font-weight:800}.app-list-card-details dd{color:#334155;margin:2px 0 0;font-size:13px}.ann-wizard-steps{box-shadow:none;background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-wrap:wrap;gap:10px;padding:16px 18px;display:flex}.ann-wizard-step{color:#64748b;letter-spacing:0;background:#fff;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:8px;padding:8px 14px 8px 8px;font-size:12px;font-weight:600;transition:border-color .16s,background .16s,color .16s;display:inline-flex}.ann-wizard-step-num{color:#475569;background:#e2e8f0;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;font-size:11px;font-weight:700;display:inline-flex}.ann-wizard-step.is-active{border-color:var(--erp-blue);background:var(--erp-blue);color:#fff;box-shadow:none}.ann-wizard-step.is-active .ann-wizard-step-num{color:#fff;background:#ffffff38}.ann-wizard-step.is-complete{border-color:rgb(var(--erp-blue-rgb) / 24%);background:rgb(var(--erp-blue-rgb) / 8%);color:var(--erp-blue)}.ann-wizard-step.is-complete .ann-wizard-step-num{background:var(--erp-blue);color:#fff}.ann-step-lead{color:#172033;letter-spacing:0;margin:0 0 4px;font-size:13px;font-weight:600}.erp-fatal-shell{background:#fff;place-items:center;min-height:100dvh;padding:24px;display:grid}.erp-fatal-card{background:#fff;border:1px solid #94a3b847;border-radius:20px;width:100%;max-width:420px;padding:24px 22px;box-shadow:0 24px 60px #0f172a1f}.erp-fatal-title{color:#0f172a;margin:0 0 10px;font-size:18px;font-weight:900}.erp-fatal-text{color:#475569;word-break:break-word;margin:0 0 18px;font-size:14px;line-height:1.45}.ann-workflow{background:radial-gradient(circle at 18% 0%, rgb(var(--erp-blue-rgb) / 10%), transparent 28%), linear-gradient(180deg, #f5f9ff 0%, #eef4fb 100%)!important}.ann-workflow-body{flex-direction:column;gap:18px;padding-top:clamp(26px,4vw,42px);display:flex}.ann-section,.ann-content-card,.ann-filter-card,.ann-list-card{border:1px solid rgb(var(--erp-blue-rgb) / 12%)!important;background:linear-gradient(#fffffff5,#ffffffe0),#fff!important;border-radius:24px!important;box-shadow:0 18px 45px #0f172a14!important}.ann-section{margin-top:0;padding:clamp(16px,3vw,22px)}.ann-section h2{color:var(--erp-blue);letter-spacing:-.03em;margin-bottom:14px;font-size:17px;font-weight:800}.ann-workflow .db-section h2{color:var(--erp-blue);letter-spacing:-.03em;margin:0 0 14px;font-size:17px;font-weight:800}.ann-workflow .db-module-grid .db-glass-button{min-height:74px;border-left-width:4px!important;border-radius:16px!important;padding:12px 14px!important;box-shadow:0 8px 18px #0f172a0d!important}.ann-workflow .db-module-grid .db-action-label{font-size:15px;font-weight:900;line-height:1.15}.fb-form-options{border:1px solid rgb(var(--erp-blue-rgb) / 12%);background:rgb(var(--erp-blue-rgb) / 4%);border-radius:14px;margin-top:4px;padding:12px 14px}.fb-form-options label{cursor:pointer}.fb-active-form-card{flex-direction:column;gap:8px;min-width:0;display:flex}.fb-active-form-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.fb-active-form-badge{text-transform:uppercase;letter-spacing:.04em;color:#1e3a5f;background:rgb(var(--erp-blue-rgb) / 12%);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}.fb-active-form-meta{color:#64748b;margin:0;font-size:13px}.fb-active-form-stat{color:#334155;margin:0;font-size:14px;font-weight:700}.fb-active-form-actions{flex-wrap:wrap;margin-top:8px}.fb-completion-dialog{flex-direction:column;width:min(720px,94vw);max-height:min(86vh,900px);display:flex}.fb-completion-tabs{gap:8px;margin:12px 0;display:flex}.fb-completion-tabs button{cursor:pointer;background:#fff;border:1px solid #94a3b859;border-radius:12px;flex:1;padding:10px 12px;font-size:13px;font-weight:700}.fb-completion-tabs button.is-active{border-color:var(--erp-blue);color:var(--erp-blue);background:rgb(var(--erp-blue-rgb) / 8%)}.fb-completion-list{border:1px solid #94a3b838;border-radius:14px;flex:1;min-height:120px;max-height:42vh;overflow:auto}.fb-completion-list table{border-collapse:collapse;width:100%;font-size:13px}.fb-completion-list th,.fb-completion-list td{text-align:left;border-bottom:1px solid #94a3b82e;padding:10px 12px}.fb-completion-list th{text-transform:uppercase;letter-spacing:.05em;color:#64748b;background:#fff;font-size:11px;font-weight:800;position:sticky;top:0}.fb-completion-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.ann-workflow .db-card h3,.ann-workflow .fb-form-card-title{color:#172033;margin:0;font-size:15px;font-weight:800;line-height:1.2}.ann-module-grid{grid-template-columns:1fr;gap:14px}.ann-module-grid .db-glass-button,.ann-module-grid .db-wf-btn{min-height:82px;border-left-width:5px!important;border-radius:18px!important;padding:14px 16px!important;box-shadow:0 10px 26px #0f172a0f!important}.ann-module-grid .db-glass-button:hover,.ann-module-grid .db-wf-btn:hover{border-color:rgb(var(--erp-blue-rgb) / 24%)!important;border-left-color:var(--erp-blue)!important;box-shadow:0 16px 34px rgb(var(--erp-blue-rgb) / 12%)!important;background:#fbfdff!important}.ann-content-card,.ann-filter-card{padding:clamp(18px,3vw,26px)!important}.ann-filter-card{align-items:end;gap:14px!important}.ann-filter-card .db-field{flex:280px}.ann-filter-card .ann-inline-action,.ann-pagination .ann-inline-action{min-width:118px}.ann-scope-card{overflow:visible;box-shadow:none!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:16px!important;padding:18px!important}.ann-workflow select.erp-select{-webkit-text-fill-color:#172033;color:#172033!important}.ann-workflow select.erp-select option{color:#172033;background:#fff}.ann-workflow .erp-searchable-select{min-width:0}.ann-scope-card>p{letter-spacing:0;color:#172033!important;font-size:13px!important;font-weight:600!important}.ann-form-shell{width:min(820px,100%)}.ann-workflow .ann-form-shell,.ann-workflow.ann-form-shell{font-size:13px}.ann-workflow .db-field span,.ann-form-shell .db-field span{letter-spacing:.06em;font-size:11px;font-weight:600}.ann-workflow .db-input,.ann-form-shell .db-input,.ann-workflow textarea.db-input,.ann-form-shell textarea.db-input{padding:10px 12px;font-size:13px}.ann-workflow .erp-select-trigger,.ann-form-shell .erp-select-trigger{min-height:44px;padding:8px 12px;font-size:13px;font-weight:600}.ann-workflow .erp-select-value,.ann-workflow .erp-select-placeholder,.ann-form-shell .erp-select-value,.ann-form-shell .erp-select-placeholder{font-size:13px;font-weight:600}.ann-workflow .db-wf-actions .db-wf-btn,.ann-form-shell .db-wf-actions .db-wf-btn,.ann-workflow .db-card.db-form .db-wf-btn,.ann-form-shell .db-card.db-form .db-wf-btn{height:auto;min-height:44px;font-size:13px;font-weight:600}.ann-workflow .db-wf-actions .db-wf-btn,.ann-form-shell .db-wf-actions .db-wf-btn{height:44px}.ann-workflow .fb-form-options label,.ann-form-shell .fb-form-options label{font-size:13px;font-weight:500;line-height:1.45}.ann-workflow .erp-required-toggle-label,.ann-form-shell .erp-required-toggle-label{font-size:11px;font-weight:600}.ann-inline-action{min-height:44px;border-radius:999px!important;padding:0 18px!important;font-weight:850!important}.ann-list-card{transition:transform .16s,border-color .16s,box-shadow .16s;padding:clamp(16px,3vw,22px)!important}.ann-list-card:hover{transform:translateY(-2px);border-color:rgb(var(--erp-blue-rgb) / 24%)!important;box-shadow:0 20px 46px rgb(var(--erp-blue-rgb) / 12%)!important}.ann-list-card h3{color:#172033;letter-spacing:-.03em;font-size:17px;font-weight:950}.ann-list-card dl{border-top:1px solid #e8eef5;padding-top:12px}.ann-result-grid{align-items:stretch}.ann-pagination{border:1px solid rgb(var(--erp-blue-rgb) / 10%);background:#fff;border-radius:18px;padding:12px 14px;box-shadow:0 10px 24px #0f172a0d}@media (width>=860px){.ann-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.ann-workflow-body{gap:14px;padding:18px 14px 28px}.ann-section,.ann-content-card,.ann-filter-card,.ann-list-card{border-radius:18px!important}.ann-filter-card,.ann-pagination{flex-direction:column;align-items:stretch}.ann-pagination>div,.ann-inline-action{width:100%}}.fb-question-card{padding:18px 18px 16px;box-shadow:none!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:16px!important}.fb-question-card-head{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;margin-bottom:14px;display:grid}.fb-question-card-type{min-width:0}.fb-question-card-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.fb-question-card .db-icon-button{flex-shrink:0;color:#0f172a!important;box-shadow:none!important;background:#fff!important;border:1px solid #cbd5e1!important}.fb-question-card .db-icon-button svg{stroke:currentColor}.fb-question-card .db-icon-button:hover:not(:disabled){transform:none;background:#e2e8f0!important}.fb-question-card .db-icon-button:disabled{opacity:.38;cursor:not-allowed}.fb-question-card .fb-question-card-delete{color:#dc2626!important}.fb-question-card .fb-question-card-delete:hover:not(:disabled){color:#b91c1c!important;background:#fef2f2!important;border-color:#fecaca!important}.dark .fb-question-card .db-icon-button{color:#f4f4f5!important;background:#18181bb3!important;border-color:#3f3f46b3!important}.dark .fb-question-card .fb-question-card-delete{color:#f87171!important}.dark .fb-question-card .fb-question-card-delete:hover:not(:disabled){color:#fca5a5!important;background:#7f1d1d38!important;border-color:#f8717159!important}@media (width<=720px){.fb-question-card-head{grid-template-columns:1fr}.fb-question-card-actions{justify-content:flex-end;width:100%}}.fb-audience-card{border:1px solid rgb(var(--erp-blue-rgb) / 12%);background:rgb(var(--erp-blue-rgb) / 4%);border-radius:18px;padding:16px}.db-field-hint{color:#64748b;margin-top:4px;font-size:12px;display:block}.erp-required-toggle{border:1px solid rgb(var(--erp-blue-rgb) / 14%);background:#fff;border-radius:12px;align-items:center;gap:10px;padding:6px 10px;display:inline-flex}.erp-required-toggle-label{letter-spacing:.04em;text-transform:uppercase;color:#64748b;font-size:12px;font-weight:800}.erp-required-toggle-control{cursor:pointer;width:42px;height:24px;display:inline-flex;position:relative}.erp-required-toggle-control input{opacity:0;width:0;height:0;position:absolute}.erp-required-toggle-track{background:#cbd5e1;border-radius:999px;width:100%;height:100%;transition:background .16s;display:block}.erp-required-toggle-track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #0f172a2e}.erp-required-toggle-control input:checked+.erp-required-toggle-track{background:var(--erp-blue)}.erp-required-toggle-control input:checked+.erp-required-toggle-track:after{transform:translate(18px)}.ann-workflow .erp-searchable-select,.ann-workflow .erp-select-trigger{min-width:0}.erp-admin-panel,.erp-admin-panel .grid,.erp-admin-panel form{overflow:visible}.erp-admin-card{border:1px solid rgb(var(--erp-blue-rgb) / 12%);background:linear-gradient(180deg, #fff, rgb(var(--erp-blue-rgb) / 3%));border-radius:18px;padding:16px}.erp-admin-card-head{border-bottom:1px solid rgb(var(--erp-blue-rgb) / 10%);background:rgb(var(--erp-blue-rgb) / 5%);color:var(--erp-blue);padding:12px 16px;font-size:13px;font-weight:850}.erp-admin-form{border:1px solid rgb(var(--erp-blue-rgb) / 12%);background:rgb(var(--erp-blue-rgb) / 4%);border-radius:18px;padding:16px;overflow:visible}.erp-panel-submit{background:var(--erp-blue);color:#fff;min-height:46px;box-shadow:0 10px 24px rgb(var(--erp-blue-rgb) / 22%);cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;padding:10px 20px;font-size:14px;font-weight:800;transition:filter .16s,transform .16s;display:inline-flex}.erp-panel-submit:hover:not(:disabled){filter:brightness(1.06)}.erp-panel-submit:disabled{cursor:not-allowed;opacity:.65}.erp-admin-tab-active{background:var(--erp-blue)!important;color:#fff!important}.erp-admin-tab-idle{background:rgb(var(--erp-blue-rgb) / 8%)!important;color:var(--erp-blue)!important}.erp-reports-panel{flex-direction:column;gap:20px;display:flex}.erp-reports-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 20px;display:flex}.erp-reports-header h2{color:var(--erp-blue);margin:0;font-size:22px;font-weight:850}.erp-reports-header p{color:rgb(var(--erp-blue-rgb) / 72%);max-width:52ch;margin:4px 0 0;font-size:13px}.erp-reports-actions{flex-wrap:wrap;gap:8px;display:flex}.erp-reports-filters{flex-direction:column;gap:14px;display:flex}.erp-reports-filters-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.erp-reports-filters-head h3{color:var(--erp-blue);margin:0;font-size:15px;font-weight:800}.erp-reports-filters-head p{color:rgb(var(--erp-blue-rgb) / 68%);max-width:48ch;margin:4px 0 0;font-size:12px}.erp-reports-presets{flex-wrap:wrap;gap:6px;display:flex}.erp-reports-preset{border:1px solid rgb(var(--erp-blue-rgb) / 18%);color:var(--erp-blue);cursor:pointer;background:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;transition:background .14s,border-color .14s}.erp-reports-preset:hover{background:rgb(var(--erp-blue-rgb) / 8%);border-color:rgb(var(--erp-blue-rgb) / 28%)}.erp-reports-filter-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.erp-reports-date-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.erp-reports-date-row .db-field{min-width:150px}.erp-reports-scope-chip{background:rgb(var(--erp-blue-rgb) / 8%);border:1px solid rgb(var(--erp-blue-rgb) / 14%);color:rgb(var(--erp-blue-rgb) / 85%);border-radius:12px;margin:0;padding:10px 14px;font-size:12px}.erp-reports-scope-chip strong{color:var(--erp-blue)}.erp-reports-tabs{flex-wrap:wrap;gap:8px;display:flex}.erp-reports-tab{border:1px solid rgb(var(--erp-blue-rgb) / 18%);color:var(--erp-blue);letter-spacing:-.01em;cursor:pointer;background:#fff;border-radius:12px;padding:10px 18px;font-size:13px;font-weight:700;transition:border-color .14s,background .14s,color .14s,box-shadow .14s}.dark .erp-reports-tab{color:#e2e8f0;background:#0f172a8c;border-color:#94a3b847}.erp-reports-tab:hover:not(.is-active){border-color:rgb(var(--erp-blue-rgb) / 35%);background:rgb(var(--erp-blue-rgb) / 6%)}.erp-reports-tab.is-active{border-color:var(--erp-blue);background:rgb(var(--erp-blue-rgb) / 10%);color:var(--erp-blue);box-shadow:0 4px 14px rgb(var(--erp-blue-rgb) / 14%)}.dark .erp-reports-tab.is-active{background:rgb(var(--erp-blue-rgb) / 18%);color:#fff}.erp-reports-stats{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.erp-reports-stat{border:1px solid rgb(var(--erp-blue-rgb) / 12%);background:linear-gradient(180deg, #fff, rgb(var(--erp-blue-rgb) / 4%));border-radius:16px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.erp-reports-stat>span{text-transform:uppercase;letter-spacing:.04em;color:rgb(var(--erp-blue-rgb) / 65%);font-size:11px;font-weight:750}.erp-reports-stat>strong{font-size:22px;font-weight:850;line-height:1.1}.erp-reports-stat>small{color:rgb(var(--erp-blue-rgb) / 62%);font-size:11px}.erp-reports-stat--blue>strong{color:var(--erp-blue)}.erp-reports-stat--good>strong{color:#0d7a4a}.erp-reports-stat--warn>strong{color:#b45309}.erp-reports-stat--bad>strong{color:#b91c1c}.erp-reports-stat--neutral>strong{color:#334155}.erp-reports-overview-grid,.erp-reports-split{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.erp-reports-card{border:1px solid rgb(var(--erp-blue-rgb) / 12%);background:linear-gradient(180deg, #fff, rgb(var(--erp-blue-rgb) / 3%));border-radius:18px;padding:16px 18px}.erp-reports-card h4{color:var(--erp-blue);margin:0 0 12px;font-size:14px;font-weight:850}.erp-reports-list{color:rgb(var(--erp-blue-rgb) / 82%);margin:0;padding-left:18px;font-size:13px;line-height:1.55}.erp-reports-list li+li{margin-top:6px}.erp-reports-empty{color:rgb(var(--erp-blue-rgb) / 58%);margin:0;font-size:13px;font-style:italic}.erp-reports-fee-list,.erp-reports-receipt-list,.erp-reports-issue-list{flex-direction:column;gap:8px;display:flex}.erp-reports-fee-row,.erp-reports-receipt-row,.erp-reports-issue-row{background:rgb(var(--erp-blue-rgb) / 5%);border:1px solid rgb(var(--erp-blue-rgb) / 10%);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.erp-reports-fee-row strong,.erp-reports-receipt-row strong{color:var(--erp-blue)}.erp-reports-fee-row small{width:100%;color:rgb(var(--erp-blue-rgb) / 58%);font-size:11px}.erp-reports-receipt-row>div{flex-direction:column;gap:2px;display:flex}.erp-reports-receipt-row span,.erp-reports-issue-row span{color:rgb(var(--erp-blue-rgb) / 65%);font-size:12px}.erp-reports-issue-row{flex-direction:column;align-items:flex-start}.erp-reports-result-pills{flex-wrap:wrap;gap:8px;display:flex}.erp-reports-result-pills .pill{border-radius:999px;padding:8px 14px;font-size:12px;font-weight:800}.erp-reports-result-pills .pill.pass{color:#166534;background:#dcfce7}.erp-reports-result-pills .pill.fail{color:#991b1b;background:#fee2e2}.erp-reports-result-pills .pill.absent{color:#92400e;background:#fef3c7}.erp-reports-result-pills .pill.withheld{color:#475569;background:#e2e8f0}.erp-reports-app-summary{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.erp-reports-mini-pill{border:1px solid rgb(var(--erp-blue-rgb) / 12%);background:#fff;border-radius:14px;flex-direction:column;gap:2px;min-width:100px;padding:10px 14px;display:flex}.erp-reports-mini-pill span{color:rgb(var(--erp-blue-rgb) / 62%);font-size:11px;font-weight:700}.erp-reports-mini-pill strong{color:var(--erp-blue);font-size:18px;font-weight:850}.erp-reports-mini-pill--good strong{color:#0d7a4a}.erp-reports-mini-pill--warn strong{color:#b45309}.erp-reports-mini-pill--bad strong{color:#b91c1c}.erp-reports-table-card{padding:0;overflow:hidden}.erp-reports-table-head{border-bottom:1px solid rgb(var(--erp-blue-rgb) / 10%);background:rgb(var(--erp-blue-rgb) / 5%);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.erp-reports-table-head h4{margin:0}.erp-reports-table-head span{color:rgb(var(--erp-blue-rgb) / 62%);font-size:12px;font-weight:700}.erp-reports-table-wrap{overflow-x:auto}.erp-reports-table{border-collapse:collapse;width:100%;font-size:13px}.erp-reports-table th,.erp-reports-table td{text-align:left;border-bottom:1px solid rgb(var(--erp-blue-rgb) / 8%);padding:10px 14px}.erp-reports-table th{text-transform:uppercase;letter-spacing:.03em;color:rgb(var(--erp-blue-rgb) / 62%);background:rgb(var(--erp-blue-rgb) / 3%);font-size:11px;font-weight:800}.erp-reports-table tbody tr:hover{background:rgb(var(--erp-blue-rgb) / 4%)}.erp-reports-table tbody tr.is-low{background:#fff7ed}.erp-reports-table tbody tr.is-low td:last-child{color:#b45309;font-weight:800}.erp-reports-table-wrap .erp-reports-empty{padding:20px 18px}.erp-reports-pagination{border-top:1px solid rgb(var(--erp-blue-rgb) / 10%);color:var(--erp-blue);justify-content:center;align-items:center;gap:16px;padding:12px 18px;font-size:13px;font-weight:700;display:flex}.erp-reports-export-bar{border:1px solid rgb(var(--erp-blue-rgb) / 14%);background:linear-gradient(135deg, rgb(var(--erp-blue-rgb) / 6%), #fff 80%);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.erp-reports-export-label{color:var(--erp-blue);font-size:13px;font-weight:850}.erp-reports-export-actions{flex-wrap:wrap;gap:8px;display:flex}.erp-reports-export-actions .db-wf-btn,.erp-reports-export-actions button{border-radius:999px;min-height:38px;padding:0 14px;font-size:12px;font-weight:800}.db-workflow .erp-reports-dash{gap:16px;display:grid}.db-workflow .erp-reports-dash-section-filter{max-width:420px}.db-workflow .erp-reports-dash-filter-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.db-workflow .erp-reports-dash-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.db-workflow .erp-reports-dash-kpi{border:1px solid rgb(var(--erp-blue-rgb) / 14%);background:#fff;border-radius:14px;gap:4px;padding:16px;display:grid}.db-workflow .erp-reports-dash-kpi>span{letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--erp-blue-rgb) / 55%);font-size:11px;font-weight:700}.db-workflow .erp-reports-dash-kpi>strong{color:var(--erp-blue);font-size:28px;font-weight:850}.db-workflow .erp-reports-dash-kpi>small{color:rgb(var(--erp-blue-rgb) / 55%);font-size:12px}.db-workflow .erp-reports-dash-card{border:1px solid rgb(var(--erp-blue-rgb) / 14%);background:#fff;border-radius:14px;padding:16px}.db-workflow .erp-reports-dash-card-title{color:var(--erp-blue);margin:0 0 12px;font-size:15px;font-weight:850}.db-workflow .erp-reports-dash-performance{gap:12px;margin:0;padding:0;list-style:none;display:grid}.db-workflow .erp-reports-dash-performance-head{color:rgb(var(--erp-blue-rgb) / 75%);justify-content:space-between;gap:12px;margin-bottom:6px;font-size:13px;display:flex}.db-workflow .erp-reports-dash-progress{background:rgb(var(--erp-blue-rgb) / 10%);border-radius:999px;height:6px;overflow:hidden}.db-workflow .erp-reports-dash-progress>span{border-radius:inherit;background:var(--erp-blue);height:100%;display:block}.db-workflow .erp-reports-dash-split{gap:12px;display:grid}.db-workflow .erp-reports-dash-students{margin:0;padding:0;list-style:none}.db-workflow .erp-reports-dash-students li{border-bottom:1px solid rgb(var(--erp-blue-rgb) / 10%);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.db-workflow .erp-reports-dash-students li:last-child{border-bottom:none}.db-workflow .erp-reports-dash-students strong{color:var(--erp-blue);font-size:14px;display:block}.db-workflow .erp-reports-dash-students small{color:rgb(var(--erp-blue-rgb) / 55%);margin-top:2px;font-size:12px;display:block}.db-workflow .erp-reports-dash-badge{text-align:center;border-radius:8px;min-width:36px;padding:6px 8px;font-size:12px;font-weight:800}.db-workflow .erp-reports-dash-badge--good{background:var(--erp-blue);color:#fff}.db-workflow .erp-reports-dash-badge--warn{background:rgb(var(--erp-blue-rgb) / 8%);color:var(--erp-blue);border:1px solid rgb(var(--erp-blue-rgb) / 18%)}.db-workflow .erp-reports-dash-export-list{gap:8px;display:grid}.db-workflow .erp-reports-dash-export-btn{border:1px solid rgb(var(--erp-blue-rgb) / 18%);background:rgb(var(--erp-blue-rgb) / 4%);width:100%;color:var(--erp-blue);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:12px 14px;font-size:13px;font-weight:700;display:inline-flex}.db-workflow .erp-reports-dash-empty{color:rgb(var(--erp-blue-rgb) / 55%);margin:0;font-size:13px}@media (width>=900px){.db-workflow .erp-reports-dash-split{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.db-workflow .erp-reports-dash-kpis{grid-template-columns:1fr}}.ann-workflow .erp-reports-panel{gap:16px}.ann-workflow .erp-reports-toolbar{margin:0}.ann-workflow .erp-reports-header--embedded{margin-bottom:4px}.ann-workflow .erp-reports-tabs{margin:0}.erp-reports-tabs-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.erp-reports-tabs-bar .erp-reports-tabs{flex:280px;min-width:0}.ann-workflow .erp-reports-filters.db-card{margin:0}.ann-workflow .erp-reports-stat{border:1px solid rgb(var(--erp-blue-rgb) / 12%);background:#fff;border-radius:16px}.erp-export-dialog{border:1px solid rgb(var(--erp-blue-rgb) / 14%);text-align:left;background:#fff;border-radius:20px;width:min(420px,100% - 32px);padding:20px 22px 22px;box-shadow:0 24px 70px #0f172a2e}.erp-export-dialog-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.erp-export-dialog-head h2{color:var(--erp-blue);margin:0;font-size:20px;font-weight:850}.erp-export-dialog-lead{color:rgb(var(--erp-blue-rgb) / 72%);margin:0 0 16px;font-size:14px;line-height:1.5}.erp-export-dialog-options{gap:8px;display:grid}.fb-export-dialog.erp-export-dialog{width:min(48rem,100% - 32px)}.fb-export-dialog-options{gap:10px}.fb-export-option{text-align:left;white-space:normal;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:4px;width:100%;min-height:0;padding:14px 16px}.fb-export-option-title{font-size:14px;font-weight:750;line-height:1.35;display:block}.fb-export-option-desc{color:rgb(var(--erp-blue-rgb) / 72%);font-size:12px;font-weight:500;line-height:1.45;display:block}.fb-report-export{width:100%}.fb-report-export-btn{justify-content:center;width:100%}.erp-export-option{border:1px solid rgb(var(--erp-blue-rgb) / 16%);min-height:44px;color:var(--erp-blue);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;font-size:14px;font-weight:750;transition:background .14s,border-color .14s;display:flex}.erp-export-option:hover:not(:disabled){background:rgb(var(--erp-blue-rgb) / 6%);border-color:rgb(var(--erp-blue-rgb) / 28%)}.erp-export-option:disabled{opacity:.65;cursor:wait}.profile-menu-wrap{position:relative}.profile-menu-trigger{font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0;line-height:0;display:inline-flex}.profile-menu-dropdown-head{border-bottom:1px solid #94a3b838;align-items:center;gap:12px;margin-bottom:4px;padding:4px 8px 12px;display:flex}.dark .profile-menu-dropdown-head,.portal-root[data-portal-theme=dark] .profile-menu-dropdown-head{border-bottom-color:#3f3f468c}.profile-menu-dropdown-head .profile-menu-user,.profile-menu-dropdown-head .profile-menu-email{margin:0}.erp-avatar{--avatar-size:42px;--avatar-ring:2px;--avatar-fill:#e8eef5;--avatar-ink:var(--erp-blue);vertical-align:middle;flex-shrink:0;line-height:0;display:inline-flex}.erp-avatar--xs{--avatar-size:38px;--avatar-ring:2px}.erp-avatar--sm{--avatar-size:34px;--avatar-ring:2px}.erp-avatar--md{--avatar-size:42px;--avatar-ring:2px}.erp-avatar--lg{--avatar-size:56px;--avatar-ring:3px}.erp-avatar--xl{--avatar-size:88px;--avatar-ring:3px}.erp-avatar--xl .erp-avatar-initials{font-size:calc(var(--avatar-size) * .3)}.erp-avatar-ring{padding:var(--avatar-ring);box-shadow:0 0 0 1px rgb(var(--erp-blue-rgb) / 14%);background:#fff;border-radius:999px;display:inline-flex}.erp-dark-profile .erp-avatar{width:var(--avatar-size);height:var(--avatar-size);max-width:var(--avatar-size);max-height:var(--avatar-size);overflow:hidden}.erp-avatar-inner{width:calc(var(--avatar-size) - var(--avatar-ring) * 2);height:calc(var(--avatar-size) - var(--avatar-ring) * 2);background:var(--avatar-fill);border-radius:999px;place-items:center;display:grid;overflow:hidden}.erp-avatar--photo .erp-avatar-inner{background:#fff}.erp-avatar-initials{color:var(--avatar-ink);font-size:calc(var(--avatar-size) * .34);letter-spacing:.04em;-webkit-user-select:none;user-select:none;font-weight:800;line-height:1}.erp-avatar--lg .erp-avatar-initials{font-size:calc(var(--avatar-size) * .32)}.erp-avatar-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.erp-avatar--photo .erp-avatar-ring{box-shadow:inset 0 0 0 1px #ffffff8c,0 10px 24px #0f172a24}.teacher-profile-head .erp-avatar{flex-shrink:0}.erp-topbar .profile-menu-dropdown{z-index:200}.profile-menu-dropdown{z-index:60;background:#fff;border:1px solid #94a3b847;border-radius:14px;min-width:220px;padding:10px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 40px #0f172a24}.profile-menu-dropdown--stacked{min-width:248px;padding:14px 10px 10px}.profile-menu-hero{text-align:center;border-bottom:1px solid #94a3b838;flex-direction:column;align-items:center;gap:10px;margin-bottom:6px;padding:4px 8px 14px;display:flex}.profile-menu-avatar-btn{cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0;line-height:0}.profile-menu-avatar-btn:disabled{cursor:default}.profile-menu-avatar-btn:not(:disabled):hover .erp-avatar-ring{box-shadow:0 0 0 2px rgb(var(--erp-blue-rgb) / 28%)}.profile-menu-dropdown--stacked .profile-menu-user{color:#0f172a;letter-spacing:-.03em;margin:0;font-size:15px;font-weight:800}.portal-root[data-portal-theme=dark] .profile-menu-dropdown--stacked .profile-menu-user{color:var(--t1,#f8fafc)}.profile-menu-actions{gap:2px;display:grid}.profile-menu-item--danger{color:#b91c1c}.profile-menu-item--danger:hover{background:#b91c1c14}.portal-root[data-portal-theme=dark] .profile-menu-item--danger{color:#f87171}.portal-root[data-portal-theme=dark] .profile-menu-item--danger:hover{background:#f871711f}.profile-photo-crop-dialog{max-width:360px}.profile-photo-crop-stage{border:2px solid rgb(var(--erp-blue-rgb) / 22%);touch-action:none;cursor:grab;background:#e8eef5;border-radius:999px;margin:0 auto 14px;position:relative;overflow:hidden}.profile-photo-crop-stage:active{cursor:grabbing}.profile-photo-crop-image{-webkit-user-select:none;user-select:none;pointer-events:none;max-width:none;position:absolute;top:0;left:0}.profile-photo-crop-loading{text-align:center;color:#64748b;margin:0;padding:120px 0;font-size:13px}.profile-photo-crop-zoom{color:#334155;gap:8px;margin-bottom:14px;font-size:13px;font-weight:700;display:grid}.profile-photo-crop-zoom input{width:100%}.profile-photo-lightbox{z-index:260;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f172a8c;place-items:center;padding:56px 16px 24px;display:grid;position:fixed;inset:0}.profile-photo-lightbox-close{z-index:121;color:#fff;cursor:pointer;background:#0f172a73;border:1px solid #ffffff59;border-radius:999px;place-items:center;width:44px;height:44px;display:grid;position:fixed;top:16px;right:16px}.profile-photo-lightbox-img{-o-object-fit:contain;object-fit:contain;border-radius:16px;max-width:min(92vw,520px);max-height:min(78vh,720px);box-shadow:0 24px 60px #00000059}.dark .profile-menu-dropdown,.portal-root[data-portal-theme=dark] .profile-menu-dropdown{border-color:var(--bd2,#3f3f46b3);background:var(--bg2,#18181bf5);box-shadow:0 18px 40px #0000006b}.portal-root[data-portal-theme=light] .profile-menu-dropdown{background:#fff;border-color:#94a3b847;box-shadow:0 18px 40px #0f172a24}.portal-root[data-portal-theme=dark] .profile-menu-hero{border-bottom-color:var(--bd,#3f3f468c)}.portal-root[data-portal-theme=dark] .profile-menu-dropdown .erp-avatar-ring{background:var(--bg3,#27272a);box-shadow:0 0 0 1px var(--bd2,#3f3f46b3)}.portal-root[data-portal-theme=dark] .profile-menu-dropdown .erp-avatar--initials .erp-avatar-inner{background:var(--bg3,#27272a)}.portal-root[data-portal-theme=dark] .profile-menu-dropdown .erp-avatar-initials{color:var(--t1,#f8fafc)}.profile-menu-user{color:#0f172a;margin:0 8px 2px;font-size:14px;font-weight:800}.profile-menu-email{color:#64748b;margin:0 8px 10px;font-size:12px}.dark .profile-menu-user,.portal-root[data-portal-theme=dark] .profile-menu-user{color:#f8fafc}.dark .profile-menu-email,.portal-root[data-portal-theme=dark] .profile-menu-email{color:#a1a1aa}.profile-menu-item{color:#0f172a;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.profile-menu-item:hover{background:rgb(var(--erp-blue-rgb) / 8%)}.dark .profile-menu-item,.portal-root[data-portal-theme=dark] .profile-menu-item{color:#f8fafc}.portal-root[data-portal-theme=dark] .profile-menu-item:hover{background:var(--bg3,#ffffff14)}.portal-root[data-portal-theme=light] .profile-menu-item{color:#0f172a}.portal-root[data-portal-theme=light] .profile-menu-item:hover{background:rgb(var(--erp-blue-rgb) / 8%)}.profile-menu-item--pick{cursor:pointer;text-decoration:none}.profile-photo-native-inputs{clip:rect(0, 0, 0, 0);width:0;height:0;position:absolute;overflow:hidden}.profile-photo-native-input{opacity:.001;border:0;width:.1px;height:.1px;margin:0;padding:0;position:absolute}.sp-profile-photo-btn:not(button){cursor:pointer}.profile-password-dialog .db-field{margin-bottom:12px}.profile-photo-dialog{max-width:360px}.erp-file-picker-inputs-host{z-index:9600;width:0;height:0;position:fixed;top:0;left:0;overflow:hidden}.erp-file-picker-native-input{opacity:.001;border:0;width:.1px;height:.1px;margin:0;padding:0;position:absolute;top:0;left:0}.erp-file-picker-overlay{z-index:12000}.erp-file-picker-option{cursor:pointer;text-decoration:none}.erp-file-picker-dialog{text-align:left;width:min(400px,100% - 32px)}.erp-file-picker-dialog .erp-export-option{justify-content:flex-start;gap:10px;padding-left:16px;padding-right:16px}.erp-file-picker-dialog .erp-export-option--muted{opacity:.85}.erp-file-picker-cancel-link{min-height:40px;color:rgb(var(--erp-blue-rgb) / 72%);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.erp-file-picker-cancel-link:hover{color:var(--erp-blue)}.erp-file-picker-trigger{border:1px solid rgb(var(--erp-blue-rgb) / 18%);width:100%;min-height:44px;color:var(--erp-blue);text-align:left;cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:10px 14px;font-size:14px;font-weight:600;display:flex}.erp-file-picker-trigger-hint{color:rgb(var(--erp-blue-rgb) / 55%);font-size:12px;font-weight:500}.dark .erp-file-picker-trigger{color:#f0f0f0!important;background:#111!important;border-color:#333!important}.dark .erp-file-picker-trigger-hint{color:#888!important}.teacher-portal-layout{width:100%;min-height:100dvh;display:flex}.student-portal-root[data-portal-theme=dark]{--sp-bg-app:var(--bg);--sp-bg-sidebar:var(--bg2);--sp-bg-header:var(--bg2);--sp-text:var(--t1);--sp-muted:var(--t3);--sp-border:var(--bd);--sp-accent:var(--inv);--sp-nav-active-bg:var(--inv);--sp-nav-active-text:var(--inv-t);--sp-card:var(--bg2);--sp-surface:var(--bg2)}.student-portal-root[data-portal-theme=light]{--sp-bg-app:#fff;--sp-bg-sidebar:#fff;--sp-bg-header:var(--erp-blue);--sp-text:#0f172a;--sp-muted:#64748b;--sp-border:#e5e7eb;--sp-accent:#004b8d;--sp-nav-active-bg:#004b8d;--sp-nav-active-text:#fff;--sp-card:#fff;--sp-surface:#fff}.student-portal-layout{background:var(--sp-bg-app);color:var(--sp-text)}.student-portal-sidebar{width:var(--erp-sidebar-width,260px);background:var(--sp-bg-sidebar);color:#e2e8f0;border-right:1px solid var(--sp-border);flex-direction:column;flex-shrink:0;gap:1rem;padding:1rem;display:flex}.student-portal-root[data-portal-theme=light] .student-portal-sidebar.erp-sidebar{width:var(--erp-sidebar-width,260px);gap:0;padding:0}.student-portal-root[data-portal-theme=dark] .student-portal-sidebar{color:#fff}.student-portal-sidebar--desktop{display:none}@media (width>=1024px){.student-portal-sidebar--desktop{display:flex}}.student-portal-sidebar-brand{align-items:center;gap:.75rem;display:flex}.student-portal-sidebar-brand-mark{color:#fff;background:#ffffff1f;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.student-portal-root[data-portal-theme=light] .student-portal-sidebar-brand-mark{border:1px solid rgb(var(--erp-blue-rgb) / 16%);color:var(--erp-blue);background:#f4f8ff}.student-portal-sidebar-brand-title{letter-spacing:-.02em;color:#fff;font-size:14px;font-weight:800}.student-portal-root[data-portal-theme=light] .student-portal-sidebar-brand-title{color:#0f172a}.student-portal-sidebar-brand-sub{color:#ffffffa6;font-size:11px}.student-portal-root[data-portal-theme=light] .student-portal-sidebar-brand-sub{color:var(--erp-muted)}.student-portal-root[data-portal-theme=light] .student-portal-nav-section-label{color:#7b8797}.student-portal-root[data-portal-theme=light] .student-portal-nav-link{color:#374151;border:1px solid var(--erp-menu-border,rgb(var(--erp-blue-rgb) / 14%));background:#fff}.student-portal-root[data-portal-theme=light] .student-portal-nav-link:hover,.student-portal-root[data-portal-theme=light] .student-portal-nav-link--active{border-color:rgb(var(--erp-blue-rgb) / 28%);background:var(--erp-blue-soft);color:var(--erp-blue)}.student-portal-root[data-portal-theme=light] .student-portal-sidebar{color:#374151}.student-portal-root[data-portal-theme=light] .student-portal-sidebar-admin-exit{color:var(--erp-blue);background:var(--erp-blue-soft)}.student-portal-sidebar-admin-exit{color:#fff;background:#ffffff14;border-radius:10px;padding:.45rem .65rem;font-size:12px;font-weight:700;text-decoration:none;display:block}.student-portal-sidebar-admin-exit:hover{background:#ffffff24}.student-portal-sidebar-sections{flex-direction:column;flex:1;gap:1rem;display:flex;overflow-y:auto}.student-portal-nav-section-label{letter-spacing:.14em;color:#ffffff8c;margin:0 0 .35rem .15rem;font-size:10px;font-weight:900}.student-portal-nav-section-links{flex-direction:column;gap:.2rem;display:flex}.student-portal-nav-link{color:#ffffffe0;border-radius:10px;padding:.55rem .65rem;font-size:13px;font-weight:650;text-decoration:none;display:block}.student-portal-nav-link:hover{background:#ffffff14}.student-portal-nav-link--active{background:var(--sp-nav-active-bg);color:var(--sp-nav-active-text);font-weight:800}.student-portal-overlay{z-index:45;background:#00000073;position:fixed;inset:0}.student-portal-sidebar--drawer{z-index:50;width:min(300px,92vw);max-height:100vh;position:fixed;inset:0 auto 0 0;overflow-y:auto}.student-portal-drawer-close{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:10px;align-self:flex-end;margin-bottom:.5rem;padding:.35rem}.student-portal-main{background:var(--sp-bg-app);flex:auto;width:100%;min-width:0}.student-portal-header{border-bottom:1px solid var(--sp-border);background:var(--sp-bg-header);z-index:40;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1rem;display:flex;position:sticky;top:0}.student-portal-header-left{align-items:center;gap:.65rem;min-width:0;display:flex}.student-portal-header-menu-btn{border:1px solid var(--sp-border);width:42px;height:42px;color:var(--sp-text);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.student-portal-root[data-portal-theme=dark] .student-portal-header-menu-btn{border-color:#fff}.student-portal-header-title{letter-spacing:-.03em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:clamp(1rem,2.5vw,1.2rem);font-weight:900;overflow:hidden}.student-portal-header-actions{align-items:center;gap:.5rem;display:flex}.student-portal-notifications-btn{border:1px solid var(--sp-border);width:42px;height:42px;color:var(--sp-text);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;display:inline-flex;position:relative}.student-portal-notifications-badge{color:#fff;background:#dc2626;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:900;line-height:1;display:inline-flex;position:absolute;top:4px;right:4px}.student-portal-avatar-ring{outline:2px solid var(--sp-border);border-radius:999px}.student-portal-profile-wrap{position:relative}.student-portal-profile-trigger{cursor:pointer;background:0 0;border:none;padding:0}.student-portal-profile-dropdown{border:1px solid var(--sp-border);background:var(--sp-card);z-index:80;border-radius:14px;min-width:240px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 18px 40px #0000002e}.student-portal-profile-hero{border-bottom:1px solid var(--sp-border);padding:1rem}.student-portal-profile-dropdown-avatar{margin-bottom:.35rem}.student-portal-profile-name{margin:0;font-size:14px;font-weight:800}.student-portal-profile-meta{color:var(--sp-muted);margin:.15rem 0 0;font-size:11px}.student-portal-profile-item{width:100%;color:var(--sp-text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:.65rem 1rem;font-size:13px;font-weight:650;display:flex}.student-portal-profile-item:hover{background:#004b8d0f}.student-portal-root[data-portal-theme=dark] .student-portal-profile-item:hover{background:#ffffff14}.student-portal-body-inner{width:min(1120px,100%);padding:20px;padding-bottom:max(28px, calc(20px + env(safe-area-inset-bottom,0px)));margin:0 auto}@media (width<=640px){.student-portal-body-inner{padding:11px}}.student-portal-panel{background:var(--sp-card);border:1px solid var(--sp-border);border-radius:16px;padding:1.25rem 1.35rem}.student-portal-panel-title{letter-spacing:-.03em;margin:0 0 .35rem;font-size:1.35rem;font-weight:900}.student-portal-panel-lead{color:var(--sp-muted);margin:0;font-size:14px;line-height:1.55}.student-portal-dash-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-top:1.25rem;display:grid}.student-portal-dash-card{border:1px solid var(--sp-border);border-radius:12px;padding:.85rem 1rem}.student-portal-dash-card-label{letter-spacing:.06em;color:var(--sp-muted);margin:0;font-size:11px;font-weight:800}.student-portal-dash-card-value{margin:.35rem 0 0;font-size:14px;font-weight:800}.student-portal-route-skel{flex-direction:column;gap:.75rem;padding:.25rem 0;display:flex}.student-portal-route-skel-line{background:#94a3b847;border-radius:8px;height:14px}.student-portal-root[data-portal-theme=dark] .student-portal-route-skel-line{background:#ffffff1f}.student-portal-route-skel-line--short{width:40%}.student-portal-route-skel-line--mid{width:62%}.student-portal-route-skel-line--full{width:100%}.student-portal-route-skel-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;display:grid}.student-portal-route-skel-card{border:1px solid var(--sp-border);background:#94a3b826;border-radius:14px;height:92px}.student-portal-root[data-portal-theme=dark] .student-portal-route-skel-card{background:#ffffff14}.sp-dash{max-width:1100px;margin:0 auto;padding-bottom:2rem}.sp-dash-error{color:var(--sp-text,#0f172a);padding:1rem}.sp-dash-welcome{margin-bottom:1.25rem}.sp-dash-welcome-label{color:var(--sp-muted,#64748b);margin:0;font-size:13px;font-weight:700}.sp-dash-welcome-name{letter-spacing:-.03em;color:var(--sp-text,#0f172a);margin:.15rem 0 0;font-size:clamp(1.35rem,4vw,1.75rem);font-weight:900}.sp-dash-welcome-meta{color:var(--sp-muted,#64748b);margin:.5rem 0 0;font-size:13px;line-height:1.45}.sp-dash-welcome-dot{margin:0 .25rem}.sp-dash-top-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}@media (width>=768px){.sp-dash-top-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:720px}}.sp-dash-top-card{text-align:left;border:1px solid var(--sp-border,#0f172a1a);background:var(--sp-card,#fff);color:var(--sp-text,#0f172a);border-radius:16px;padding:1rem 1.1rem}.sp-dash-top-card--click{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.sp-dash-top-card--click:hover{border-color:rgb(var(--erp-blue-rgb) / 35%);transform:translateY(-1px);box-shadow:0 10px 28px #004b8d1a}.student-portal-root[data-portal-theme=dark] .sp-dash-top-card--click:hover{box-shadow:0 0 0 2px #fff}.sp-dash-top-card-head{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.sp-dash-top-card-icon{background:rgb(var(--erp-blue-rgb) / 10%);width:36px;height:36px;color:var(--erp-blue,#004b8d);border-radius:10px;place-items:center;display:grid}.student-portal-root[data-portal-theme=dark] .sp-dash-top-card-icon{color:#fff;background:#ffffff1f}.sp-dash-top-card-title{letter-spacing:.06em;text-transform:uppercase;color:var(--sp-muted,#64748b);font-size:12px;font-weight:800}.sp-dash-top-card-metric{letter-spacing:-.03em;margin:.25rem 0 0;font-size:clamp(1.5rem,5vw,2rem);font-weight:900}.sp-dash-top-card-sub{color:var(--sp-muted,#64748b);margin:.35rem 0 0;font-size:12px;font-weight:600}.sp-dash-section{margin-bottom:1.75rem}.sp-dash-section-head{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.sp-dash-section-icon{color:var(--erp-blue,#004b8d)}.student-portal-root[data-portal-theme=dark] .sp-dash-section-icon{color:#fff}.sp-dash-section-title{letter-spacing:-.02em;margin:0;font-size:1rem;font-weight:900}.sp-dash-section-title--plain{margin-bottom:.65rem}.sp-dash-empty{color:var(--sp-muted,#64748b);margin:0;padding:.75rem 0;font-size:14px}.sp-dash-class-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.sp-dash-class-row{border:1px solid var(--sp-border,#0f172a14);background:var(--sp-card,#fff);border-radius:14px;grid-template-columns:auto 1fr;align-items:start;gap:.75rem 1rem;padding:.85rem 1rem;display:grid}.sp-dash-class-time{white-space:nowrap;color:var(--sp-text,#0f172a);font-size:13px;font-weight:800}.sp-dash-class-subject{margin:0;font-size:14px;font-weight:800}.sp-dash-class-meta{color:var(--sp-muted,#64748b);margin:.2rem 0 0;font-size:12px}.sp-dash-quick-wrap{flex-direction:column;gap:.5rem;display:flex}.sp-dash-quick-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}@media (width>=640px){.sp-dash-quick-row{gap:.65rem}}.sp-dash-quick-btn{border:1px solid var(--sp-border,#0f172a1a);background:var(--sp-card,#fff);min-height:48px;color:var(--sp-text,#0f172a);border-radius:12px;justify-content:center;align-items:center;padding:.65rem .75rem;font-size:14px;font-weight:800;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.sp-dash-quick-btn:hover{border-color:rgb(var(--erp-blue-rgb) / 35%);background:rgb(var(--erp-blue-rgb) / 6%)}.student-portal-root[data-portal-theme=dark] .sp-dash-quick-btn:hover{background:#ffffff14}.sp-dash-announce-cards{gap:.75rem;display:grid}@media (width>=768px){.sp-dash-announce-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.sp-dash-announce-card{border:1px solid var(--sp-border,#0f172a14);background:var(--sp-card,#fff);border-radius:14px;padding:1rem 1.1rem}.sp-dash-announce-card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.sp-dash-announce-title{letter-spacing:-.02em;margin:0;font-size:15px;font-weight:900}.sp-dash-pin{text-transform:uppercase;letter-spacing:.08em;background:rgb(var(--erp-blue-rgb) / 12%);color:var(--erp-blue,#004b8d);border-radius:6px;flex-shrink:0;padding:.2rem .45rem;font-size:10px;font-weight:900}.student-portal-root[data-portal-theme=dark] .sp-dash-pin{color:#000;background:#fff}.sp-dash-announce-body{color:var(--sp-muted,#64748b);margin:.5rem 0 0;font-size:13px;line-height:1.45}.sp-dash-announce-meta{color:var(--sp-muted,#64748b);margin:.65rem 0 0;font-size:11px;font-weight:700}.sp-dash-link-all{color:var(--erp-blue,#004b8d);margin-top:.75rem;font-size:13px;font-weight:800;text-decoration:none;display:inline-block}.student-portal-root[data-portal-theme=dark] .sp-dash-link-all{color:#fff;text-decoration:underline}.sp-dash-welcome-skel{margin-bottom:1.25rem}.sp-dash-skel-line{background:#94a3b847;border-radius:8px;height:14px;display:block}.student-portal-root[data-portal-theme=dark] .sp-dash-skel-line{background:#ffffff1f}.sp-dash-skel-line--lg{width:55%;height:22px;margin-bottom:.5rem}.sp-dash-skel-line--sm{width:88%}.sp-dash-skel-line--md{width:70%;margin-bottom:.5rem}.sp-dash-skel-line--full{width:100%;margin-top:.35rem}.sp-dash-card-skel{border:1px solid var(--sp-border,#0f172a14);background:var(--sp-card,#fff);border-radius:16px;flex-direction:column;gap:.5rem;padding:1rem 1.1rem;display:flex}.sp-dash-card-skel--inline{flex:1;min-height:120px}.sp-dash-card-skel--banner{min-height:72px}.sp-dash-skel-pill{background:#94a3b859;border-radius:999px;width:42%;height:10px}.student-portal-root[data-portal-theme=dark] .sp-dash-skel-pill{background:#ffffff2e}.sp-dash-skel-metric{background:#94a3b838;border-radius:10px;width:48%;height:28px}.sp-dash-skel-metric--wide{width:72%}.sp-dash-skel-hint{background:#94a3b82e;border-radius:6px;width:75%;height:10px}.sp-dash-section-skel{margin-bottom:1.75rem}.sp-dash-skel-section-title{background:#94a3b84d;border-radius:8px;width:40%;max-width:200px;height:16px;margin-bottom:.75rem;display:block}.student-portal-root[data-portal-theme=dark] .sp-dash-skel-section-title{background:#ffffff24}.sp-dash-class-rows{flex-direction:column;gap:.5rem;display:flex}.sp-dash-class-row-skel{border:1px solid var(--sp-border,#0f172a14);background:var(--sp-card,#fff);border-radius:14px;grid-template-columns:72px 1fr;align-items:center;gap:.75rem;padding:.85rem 1rem;display:grid}.sp-dash-skel-block{background:#94a3b840;border-radius:8px;display:block}.student-portal-root[data-portal-theme=dark] .sp-dash-skel-block{background:#ffffff1a}.sp-dash-skel-time{height:14px}.sp-dash-skel-subject{width:85%;height:14px}.sp-dash-skel-stretch{width:100%}.sp-dash-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.sp-dash-quick-skel{border:1px solid var(--sp-border,#0f172a14);background:#94a3b826;border-radius:12px;height:48px}.sp-dash-announce-grid{gap:.75rem;display:grid}@media (width>=768px){.sp-dash-announce-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.sp-dash-announce-card-skel{border:1px solid var(--sp-border,#0f172a14);background:var(--sp-card,#fff);border-radius:14px;flex-direction:column;gap:.35rem;padding:1rem 1.1rem;display:flex}.sp-dash-history-skel{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.portal-root.sp-dash-modal-overlay{min-height:0}.sp-dash-modal-overlay{z-index:9600;overscroll-behavior:none;touch-action:none;background:#0f172a73;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0;overflow:hidden}.portal-root.student-portal-root[data-portal-theme=dark].sp-dash-modal-overlay{background:#000000b8}.portal-root.student-portal-root[data-portal-theme=light].sp-dash-modal-overlay{background:#0f172a73}.portal-root.student-portal-root[data-portal-theme=dark].sp-dash-modal-overlay .sp-dash-modal-close{border-color:var(--bd2);color:var(--t1)}.portal-root.student-portal-root[data-portal-theme=dark].sp-dash-modal-overlay .sp-dash-modal-close:hover{background:var(--accent-bg)}@media (width>=640px){.sp-dash-modal-overlay{align-items:center;padding:1rem}}.sp-dash-modal{background:var(--sp-card,#fff);width:min(100%,520px);min-height:0;max-height:min(92dvh,720px);color:var(--sp-text,#0f172a);border:1px solid var(--sp-border,#0f172a1a);touch-action:pan-y;border-bottom:none;border-radius:18px 18px 0 0;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 -8px 40px #00000026}@media (width>=640px){.sp-dash-modal{border-bottom:1px solid var(--sp-border,#0f172a1a);border-radius:18px;max-height:min(88dvh,720px)}}.sp-dash-modal--wide{width:min(100%,720px)}.sp-dash-modal-head{padding:1rem 1.15rem;padding-top:max(1rem, env(safe-area-inset-top,0px));border-bottom:1px solid var(--sp-border,#0f172a14);background:var(--sp-card,#fff);z-index:2;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:relative}.sp-dash-modal-head h2{flex:auto;min-width:0;margin:0;font-size:1.1rem;font-weight:900}.sp-dash-modal-close{cursor:pointer;width:40px;height:40px;color:var(--sp-text,#0f172a);background:0 0;border:1px solid #94a3b84d;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sp-dash-modal-close:hover{background:#94a3b826}.sp-dash-modal-body{min-height:0;padding:1rem 1.15rem max(1.25rem, env(safe-area-inset-bottom,0px));flex:auto;overflow-y:auto}.sp-dash-modal-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:1rem;display:grid}.sp-dash-stat-card{border:1px solid var(--sp-border,#0f172a14);background:rgb(var(--erp-blue-rgb) / 5%);border-radius:14px;padding:.85rem .95rem}.student-portal-root[data-portal-theme=dark] .sp-dash-stat-card{background:#ffffff0f}.sp-dash-stat-label{letter-spacing:.05em;text-transform:uppercase;color:var(--sp-muted,#64748b);margin:0;font-size:11px;font-weight:800}.sp-dash-stat-value{margin:.35rem 0 0;font-size:1.65rem;font-weight:900}.sp-dash-stat-meta{color:var(--sp-muted,#64748b);margin:.35rem 0 0;font-size:12px}.sp-dash-subheading{margin:0 0 .5rem;font-size:14px;font-weight:900}.sp-dash-table-wrap{border:1px solid var(--sp-border,#0f172a14);border-radius:12px;overflow-x:auto}.sp-dash-table{border-collapse:collapse;width:100%;font-size:13px}.sp-dash-table th,.sp-dash-table td{vertical-align:middle;text-align:left;border-bottom:1px solid var(--sp-border,#0f172a0f);padding:.55rem .65rem}.sp-dash-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--sp-muted,#64748b);background:rgb(var(--erp-blue-rgb) / 4%);font-size:11px;font-weight:800}.sp-dash-table-empty{text-align:center;color:var(--sp-muted,#64748b);padding:1rem!important}.sp-dash-badge{border-radius:6px;padding:.15rem .45rem;font-size:11px;font-weight:800;display:inline-flex}.sp-dash-badge--ok{color:#15803d;background:#16a34a26}.sp-dash-badge--bad{color:#b91c1c;background:#dc26261f}.sp-dash-fee-total{border:1px solid var(--sp-border,#0f172a1a);background:rgb(var(--erp-blue-rgb) / 6%);border-radius:14px;margin-bottom:1rem;padding:1rem}.sp-dash-fee-total-label{color:var(--sp-muted,#64748b);margin:0;font-size:12px;font-weight:800}.sp-dash-fee-total-value{margin:.35rem 0 0;font-size:1.75rem;font-weight:900}.sp-dash-num-warn{color:#b45309;font-weight:800}.student-portal-root[data-portal-theme=dark] .sp-dash-num-warn{color:#fbbf24}.sp-att{max-width:1120px;padding-bottom:max(2.5rem, calc(1.5rem + env(safe-area-inset-bottom,0px)));margin:0 auto}.sp-att-head{margin-bottom:1.35rem}.sp-att-title{letter-spacing:-.03em;color:var(--sp-text,#0f172a);margin:0;font-size:clamp(1.35rem,2.6vw,1.65rem);font-weight:900}.sp-att-sub{color:var(--sp-muted,#64748b);margin:.35rem 0 0;font-size:14px}.sp-att-sub strong{color:var(--sp-text,#0f172a)}.sp-att-sub-dot{opacity:.45;margin:0 .35rem}.sp-att-meta{color:var(--sp-muted,#64748b);margin:.4rem 0 0;font-size:12px;line-height:1.45}.sp-att-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-bottom:1.25rem;display:grid}@media (width>=900px){.sp-att-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.sp-att-stat-card{border:1px solid var(--sp-border,#0f172a1a);background:var(--sp-card,#fff);border-radius:16px;flex-direction:column;align-items:center;gap:.65rem;padding:1rem .85rem 1.1rem;display:flex;box-shadow:0 1px #0f172a0a}.student-portal-root[data-portal-theme=dark] .sp-att-stat-card{box-shadow:none}.sp-att-stat-card--skel{min-height:220px}.sp-att-ring-wrap{text-align:center;flex-direction:column;align-items:center;display:flex}.sp-att-ring-svg{flex-shrink:0;position:relative}.sp-att-ring-arc{transition:stroke-dasharray .45s}.sp-att-ring-center{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.sp-att-ring-pct{color:var(--erp-blue,#004b8d);font-size:1.35rem;font-weight:900}.student-portal-root[data-portal-theme=dark] .sp-att-ring-pct{color:#f0f0f0}.sp-att-ring-label{color:var(--sp-text,#0f172a);margin:.15rem 0 0;font-size:13px;font-weight:800}.sp-att-ring-sub{color:var(--sp-muted,#64748b);margin:.1rem 0 0;font-size:11px;font-weight:600}.sp-att-stat-list{gap:.35rem;width:100%;margin:0;padding:0;list-style:none;display:grid}.sp-att-stat-list li{background:rgb(var(--erp-blue-rgb) / 5%);color:var(--sp-muted,#64748b);border-radius:10px;justify-content:space-between;align-items:center;padding:.35rem .5rem;font-size:12px;display:flex}.sp-att-stat-list strong{color:var(--sp-text,#0f172a);font-size:13px}.sp-att-chart-grid{grid-template-columns:minmax(0,1fr);gap:.85rem;margin-bottom:1.35rem;display:grid}.sp-att-chart-panel{border:1px solid var(--sp-border,#0f172a1a);background:var(--sp-card,#fff);border-radius:16px;padding:1rem 1rem .5rem}.sp-att-chart-head{justify-content:space-between;align-items:flex-start;gap:.65rem;display:flex}.sp-att-chart-head__main{flex:auto;min-width:0}.sp-att-chart-period-select{flex:none;width:7.25rem;min-width:7.25rem;max-width:7.25rem}.sp-att-chart-period-select .erp-searchable-select,.sp-att-chart-period-select .erp-select-trigger{width:100%;min-width:0}.sp-att-chart-range-label{text-align:left;flex-direction:column;align-items:flex-start;gap:.05rem;max-width:100%;margin-top:.3rem;padding:0;font-size:11px;font-weight:700;line-height:1.25;display:flex}.sp-att-chart-range-label span{white-space:nowrap}.sp-att-chart-title{letter-spacing:-.02em;color:var(--sp-text,#0f172a);margin:0;font-size:15px;font-weight:900}.sp-att-chart-desc{color:var(--sp-muted,#64748b);margin:.25rem 0 .65rem;font-size:12px;line-height:1.4}.sp-att-chart-focus{background:rgb(var(--erp-blue-rgb) / 6%);border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;min-height:2.25rem;margin-bottom:.5rem;padding:.45rem .65rem;display:flex}.sp-att-chart-box :is(svg,.recharts-wrapper,.recharts-surface):focus,.sp-att-chart-box :is(svg,.recharts-wrapper,.recharts-surface):focus-visible{outline:none}.sp-att-chart-focus-hint{color:var(--sp-muted,#64748b);font-size:12px;font-weight:600}.sp-att-chart-focus-label{color:var(--sp-text,#0f172a);font-size:13px;font-weight:800}.sp-att-chart-focus-value{color:var(--erp-blue,#004b8d);font-size:13px;font-weight:800}.sp-att-chart-focus-meta{width:100%;color:var(--sp-muted,#64748b);font-size:11px;font-weight:600}.sp-att-chart-box{width:100%;height:240px}.sp-att-chart-static{width:100%;height:100%}.sp-att-chart-static--scroll{-webkit-overflow-scrolling:touch;overflow:auto hidden}.sp-att-chart-inner{height:100%}.sp-att-chart-empty{text-align:center;height:100%;min-height:200px;color:var(--sp-muted,#64748b);justify-content:center;align-items:center;margin:0;padding:1rem;font-size:13px;font-weight:600;display:flex}.sp-att-chart-tooltip{padding:.55rem .7rem;font-size:12px;line-height:1.4;box-shadow:0 8px 24px #0f172a1f}.sp-att-chart-tooltip-label{color:inherit;margin:0 0 .2rem;font-weight:800}.sp-att-chart-tooltip-value{color:inherit;margin:0;font-size:14px;font-weight:900}.sp-att-chart-tooltip-meta{opacity:.85;margin:.25rem 0 0;font-size:11px;font-weight:600}.sp-att-chart-panel--skel{min-height:280px}.sp-att-section-title{color:var(--sp-text,#0f172a);margin:0 0 .25rem;font-size:16px;font-weight:900}.sp-att-section-desc{color:var(--sp-muted,#64748b);margin:0 0 .85rem;font-size:12px;line-height:1.45}.sp-att-export{margin-bottom:1.5rem}.sp-att-export-grid{grid-template-columns:1fr;align-items:stretch;gap:.75rem;display:grid}@media (width>=720px){.sp-att-export-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.sp-att-export-block{border:1px solid var(--sp-border,#0f172a1a);background:var(--sp-card,#fff);border-radius:14px;flex-direction:column;min-width:0;padding:.85rem 1rem;display:flex;overflow:hidden}.sp-att-export-block-title{text-transform:uppercase;letter-spacing:.06em;color:var(--sp-muted,#64748b);margin:0 0 .45rem;font-size:12px;font-weight:800}.sp-att-export-block-controls{gap:.35rem;min-width:0;margin-bottom:.55rem;display:grid}.sp-att-export-block-controls--empty{min-height:38px}.sp-att-export-filter,.portal-root .sp-att-export-block .htpo-att-period-select,.portal-root .sp-att-export-block .htpo-att-period-select .erp-searchable-select{width:100%;min-width:0;max-width:100%}.portal-root .sp-att-export-block .htpo-att-period-select .erp-select-trigger{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.sp-att-export-edit-dates{text-align:left;white-space:normal;width:100%;margin:0;line-height:1.35}.sp-att-export-btns{flex-wrap:nowrap;gap:.5rem;margin-top:auto;padding-top:.15rem;display:flex}.sp-att-export-btn{border:1px solid rgb(var(--erp-blue-rgb) / 35%);background:var(--erp-blue,#004b8d);color:#fff;cursor:pointer;border-radius:10px;flex:1 1 0;min-width:0;min-height:40px;font-size:13px;font-weight:800;transition:opacity .15s,transform .12s}.sp-att-export-btn:disabled{opacity:.55;cursor:not-allowed}.sp-att-export-btn--secondary{background:var(--sp-card,#fff);color:var(--erp-blue,#004b8d)}.student-portal-root[data-portal-theme=dark] .sp-att-export-btn--secondary{color:#fff;background:#ffffff0f}.sp-att-history-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.65rem;display:flex}.sp-att-history-note{max-width:36rem;color:var(--sp-muted,#64748b);margin:.25rem 0 0;font-size:12px;font-weight:500;line-height:1.45}.sp-att-history-count{color:var(--sp-muted,#64748b);margin:0;font-size:12px;font-weight:700}.sp-att-table-wrap{border:1px solid var(--sp-border,#0f172a1a);background:var(--sp-card,#fff);border-radius:14px;overflow-x:auto}.sp-att-table{border-collapse:collapse;width:100%;font-size:13px}.sp-att-table--history{table-layout:fixed}.sp-att-table--history .sp-att-col-date{width:6.5rem}.sp-att-table--history .sp-att-col-status{width:5.75rem}.sp-att-table--history .sp-att-col-faculty{width:auto}.sp-att-table--history td:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sp-att-table th,.sp-att-table td{vertical-align:middle;text-align:left;border-bottom:1px solid #94a3b840;padding:.65rem .75rem}.sp-att-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--sp-muted,#64748b);background:rgb(var(--erp-blue-rgb) / 6%);font-size:11px;font-weight:800}.sp-att-td-section{color:var(--sp-text,#0f172a);max-width:220px;font-weight:700}.sp-att-table-empty,.sp-att-table-loading{text-align:center;color:var(--sp-muted,#64748b);font-size:13px;padding:1.25rem 1rem!important}.sp-att-badge{border-radius:8px;padding:.2rem .5rem;font-size:11px;font-weight:800;display:inline-flex}.sp-att-badge--ok{color:#15803d;background:#16a34a26}.sp-att-badge--bad{color:#b91c1c;background:#dc26261f}.sp-att-pager{justify-content:center;align-items:center;gap:1rem;margin-top:.85rem;display:flex}.sp-att-pager-btn{border:1px solid var(--sp-border,#0f172a1f);background:var(--sp-card,#fff);cursor:pointer;color:var(--sp-text,#0f172a);border-radius:10px;align-items:center;gap:.25rem;padding:.45rem .75rem;font-size:13px;font-weight:800;display:inline-flex}.sp-att-pager-btn:disabled{opacity:.45;cursor:not-allowed}.sp-att-pager-meta{color:var(--sp-muted,#64748b);font-size:12px;font-weight:700}.sp-att-footnote{color:var(--sp-muted,#64748b);margin:1.25rem 0 0;font-size:11px;line-height:1.45}.sp-att-skel-line{background:#94a3b847;border-radius:8px;height:12px;display:block}.student-portal-root[data-portal-theme=dark] .sp-att-skel-line{background:#ffffff1f}.sp-att-skel-line--short{width:38%;margin-bottom:.5rem}.sp-att-skel-line--mid{width:72%}.sp-att-skel-line--tiny{width:42%;margin-top:.5rem}.sp-att-skel-line--stat{width:100%;margin-top:.35rem}.sp-att-skel-line--cell{flex:1;min-width:0}.sp-att-skel-ring{border:10px solid #94a3b840;border-top-color:#004b8d59;border-radius:50%;width:120px;height:120px;margin-bottom:.35rem}.sp-att-skel-bars{background:linear-gradient(90deg,#94a3b826 0%,#94a3b847 18%,#94a3b826 36%,#94a3b847 55%,#94a3b826 72%,#94a3b847 100%);border-radius:12px;height:180px;margin-top:.75rem;display:block}.sp-att-export-skel{margin-bottom:1.25rem}.sp-att-export-skel-row{flex-wrap:wrap;gap:.5rem;margin-top:.65rem;display:flex}.sp-att-skel-pill{background:#94a3b838;border-radius:10px;flex:1;min-width:100px;height:38px}.sp-att-table-skel{border:1px solid var(--sp-border,#0f172a1a);border-radius:14px;padding:.65rem .75rem}.sp-att-table-skel-head,.sp-att-table-skel-row{gap:.5rem;margin-bottom:.5rem;display:flex}.sp-att-table-skel-head .sp-att-skel-line{height:10px}.sp-tt{max-width:1200px;margin:0 auto;padding-bottom:2rem;overflow-x:clip}.sp-tt-head{margin-bottom:1.1rem}.sp-tt-title{letter-spacing:-.03em;color:var(--sp-text,#0f172a);margin:0;font-size:clamp(1.35rem,2.6vw,1.65rem);font-weight:900}.sp-tt-sub{color:var(--sp-muted,#64748b);margin:.35rem 0 0;font-size:14px}.sp-tt-sub strong{color:var(--sp-text,#0f172a)}.sp-tt-sub-dot{opacity:.45;margin:0 .35rem}.sp-tt-meta{color:var(--sp-muted,#64748b);margin:.4rem 0 0;font-size:12px;line-height:1.45}.sp-tt-scroll-outer{touch-action:none;border:1px solid var(--sp-border,#0f172a1a);background:var(--sp-card,#fff);border-radius:16px;width:100%;max-width:100%;position:relative;overflow:hidden}.sp-tt-scroll-outer--compact{border-radius:12px}.sp-tt-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;scrollbar-width:none;-ms-overflow-style:none;background:var(--sp-card,#fff);max-height:min(78vh,720px);overflow:auto}.sp-tt-scroll--compact{max-height:none;overflow:auto}.sp-tt-scroll::-webkit-scrollbar{width:0;height:0;display:none}.sp-tt-table{border-collapse:separate;border-spacing:0;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;min-width:640px;font-size:13px}.sp-tt-table--compact{table-layout:fixed;min-width:0;font-size:11px}.sp-tt-corner,.sp-tt-dayhead,.sp-tt-periodhead{z-index:3;background-color:#fff;background-clip:padding-box;position:sticky;left:0;box-shadow:4px 0 8px -3px #0f172a1f}.sp-tt-corner{z-index:5;text-align:left;vertical-align:bottom;border-bottom:1px solid #94a3b859;border-right:1px solid #94a3b840;width:76px;min-width:76px;max-width:76px;padding:.45rem .35rem;top:0;box-shadow:4px 0 8px -3px #0f172a1f,0 4px 8px -3px #0f172a1a}.sp-tt-corner-inner{text-transform:uppercase;letter-spacing:.06em;color:var(--sp-muted,#64748b);font-size:10px;font-weight:800}.sp-tt-corner--compact{width:42px;min-width:42px;max-width:42px;padding:.3rem .2rem}.sp-tt-daycol{z-index:4;text-align:center;vertical-align:bottom;background-color:#fff;background-clip:padding-box;border-bottom:1px solid #94a3b859;padding:.35rem .15rem;position:sticky;top:0;box-shadow:0 4px 8px -3px #0f172a1a}.sp-tt-daycol-label{letter-spacing:.04em;color:var(--sp-muted,#64748b);font-size:10px;font-weight:800;display:block}.sp-tt-daycol--today .sp-tt-daycol-label{color:var(--sp-text,#0f172a)}.sp-tt-periodhead{text-align:center;vertical-align:middle;width:42px;min-width:42px;max-width:42px;color:var(--sp-muted,#64748b);border-bottom:1px solid #94a3b82e;border-right:1px solid #94a3b838;padding:.2rem .15rem;font-weight:700}.sp-tt-periodhead-time{white-space:nowrap;font-size:10px;line-height:1.15;display:block}.sp-tt-period-row:last-child .sp-tt-periodhead,.sp-tt-period-row:last-child .sp-tt-td{border-bottom:none}.sp-tt-colhead{z-index:4;text-align:center;background-color:#fff;background-clip:padding-box;border-bottom:1px solid #94a3b859;min-width:132px;padding:.55rem .45rem;position:sticky;top:0;box-shadow:0 4px 8px -3px #0f172a1a}.sp-tt-colhead-time{color:var(--sp-text,#0f172a);white-space:nowrap;font-size:11px;font-weight:800}.student-portal-root[data-portal-theme=dark] .sp-tt-colhead{background-color:#0a0a0a;box-shadow:0 4px 8px -3px #00000073}.student-portal-root[data-portal-theme=dark] .sp-tt-colhead-time{color:#e2e8f0}.sp-tt-dayhead{text-align:left;vertical-align:top;width:76px;min-width:76px;max-width:76px;color:var(--sp-text,#0f172a);border-bottom:1px solid #94a3b838;border-right:1px solid #94a3b838;padding:.45rem .35rem;font-size:12px;font-weight:800}.sp-tt-dayhead-inner{word-break:break-word;flex-direction:column;gap:.2rem;line-height:1.2;display:flex}.sp-tt-today-pill{text-transform:uppercase;letter-spacing:.06em;background:rgb(var(--erp-blue-rgb) / 14%);color:var(--erp-blue,#004b8d);border-radius:4px;align-self:center;margin-top:.12rem;padding:.1rem .28rem;font-size:8px;font-weight:900;display:inline-flex}.student-portal-root[data-portal-theme=dark] .sp-tt-today-pill{color:#000;background:#fff}.sp-tt-row--today .sp-tt-dayhead{background-color:#fff}.sp-tt-row--today .sp-tt-td{background-color:#fafbfc}.sp-tt-td{z-index:0;vertical-align:top;background-color:#fff;border-bottom:1px solid #94a3b82e;min-width:132px;padding:.45rem;position:relative}.sp-tt-table--compact .sp-tt-td{vertical-align:middle;min-width:0;padding:.12rem}.sp-tt-td--today{background-color:#fafbfc}.sp-tt-cell{background:#f8fafce6;border:1px solid #94a3b833;border-radius:12px;height:100%;min-height:88px;padding:.5rem .55rem}.sp-tt-cell--compact{border-radius:6px;min-height:34px;padding:.22rem .28rem}.sp-tt-cell--compact .sp-tt-subject{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10px;font-weight:800;line-height:1.15;display:-webkit-box;overflow:hidden}.sp-tt-cell--compact .sp-tt-room{white-space:nowrap;text-overflow:ellipsis;margin-top:.1rem;font-size:9px;font-weight:700;line-height:1.1;overflow:hidden}.sp-tt-cell--compact.sp-tt-cell--free{background:0 0;border:none;min-height:34px}.student-portal-root[data-portal-theme=dark] .sp-tt-cell{background:#ffffff0a;border-color:#ffffff14}.sp-tt-cell--free{background:0 0;border-style:dashed;justify-content:center;align-items:center;display:flex}.sp-tt-free-label{color:var(--sp-muted,#94a3b8);font-size:12px;font-style:italic;font-weight:700}.sp-tt-cell--occupied{border-color:#94a3b847}.sp-tt-cell--ongoing{background:#f8fafcf2;border-color:#94a3b873;box-shadow:0 0 0 1px #94a3b833}.sp-tt-subject{color:var(--sp-text,#0f172a);margin:0;font-size:13px;font-weight:900;line-height:1.25}.sp-tt-faculty{color:var(--sp-muted,#64748b);margin:.25rem 0 0;font-size:12px;font-weight:600}.sp-tt-room{color:var(--sp-muted,#64748b);margin:.35rem 0 0;font-size:11px;font-weight:700}.student-portal-root[data-portal-theme=dark] .sp-tt-room{color:#94a3b8}.student-portal-root[data-portal-theme=dark] .sp-tt-cell--ongoing{box-shadow:none;background:#ffffff0f;border-color:#ffffff2e}.sp-tt-room--muted{color:var(--sp-muted,#94a3b8);font-weight:600}.sp-tt-empty{text-align:center;background:rgb(var(--erp-blue-rgb) / 4%);border:1px dashed #94a3b873;border-radius:16px;padding:2rem 1.25rem}.sp-tt-empty-title{color:var(--sp-text,#0f172a);margin:0;font-size:16px;font-weight:900}.sp-tt-empty-text{color:var(--sp-muted,#64748b);margin:.5rem 0 0;font-size:13px;line-height:1.5}.sp-tt-foot{color:var(--sp-muted,#64748b);margin:1rem 0 0;font-size:11px;line-height:1.45}.sp-tt-skel-line{background:#94a3b847;border-radius:7px;height:11px;display:block}.student-portal-root[data-portal-theme=dark] .sp-tt-skel-line{background:#ffffff1f}.sp-tt-skel-line--short{width:36%;margin-bottom:.45rem}.sp-tt-skel-line--mid{width:70%}.sp-tt-skel-line--col{width:70%;margin:0 auto}.sp-tt-skel-line--day{width:72%}.sp-tt-skel-block--corner{background:#94a3b838;border-radius:8px;height:28px;display:block}.sp-tt-skel-card{background:#94a3b82e;border-radius:12px;min-height:72px;display:block}.sp-tt-skel-card--compact{border-radius:6px;min-height:34px}.sp-tt-table--skel .sp-tt-corner,.sp-tt-table--skel .sp-tt-dayhead,.sp-tt-table--skel .sp-tt-periodhead,.sp-tt-table--skel .sp-tt-daycol{background:var(--sp-card,#fff)}.student-portal-root[data-portal-theme=dark] .sp-tt-scroll-outer,.student-portal-root[data-portal-theme=dark] .sp-tt-scroll{background:var(--sp-card,#0a0a0a)}.student-portal-root[data-portal-theme=dark] .sp-tt-corner,.student-portal-root[data-portal-theme=dark] .sp-tt-dayhead,.student-portal-root[data-portal-theme=dark] .sp-tt-periodhead,.student-portal-root[data-portal-theme=dark] .sp-tt-daycol{background-color:#0a0a0a;box-shadow:4px 0 8px -3px #00000080}.student-portal-root[data-portal-theme=dark] .sp-tt-corner,.student-portal-root[data-portal-theme=dark] .sp-tt-daycol{box-shadow:4px 0 8px -3px #00000080,0 4px 8px -3px #00000073}.student-portal-root[data-portal-theme=dark] .sp-tt-td{background-color:#050505}.student-portal-root[data-portal-theme=dark] .sp-tt-td--today{background-color:#0d0d0d}.student-portal-root[data-portal-theme=dark] .sp-tt-row--today .sp-tt-dayhead{background-color:#111}.student-portal-root[data-portal-theme=dark] .sp-tt-row--today .sp-tt-td{background-color:#0d0d0d}.sp-marks{max-width:1040px;margin:0 auto;padding-bottom:2rem}.sp-marks-head{margin-bottom:1.1rem}.sp-marks-title{letter-spacing:-.03em;color:var(--sp-text,#0f172a);margin:0;font-size:clamp(1.35rem,2.6vw,1.65rem);font-weight:900}.sp-marks-sub{color:var(--sp-muted,#64748b);margin:.35rem 0 0;font-size:14px}.sp-marks-sub strong{color:var(--sp-text,#0f172a)}.sp-marks-sub-dot{opacity:.45;margin:0 .35rem}.sp-marks-meta{color:var(--sp-muted,#64748b);margin:.4rem 0 0;font-size:12px;line-height:1.45}.sp-marks-summary-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:.85rem;display:grid}@media (width>=768px){.sp-marks-summary-row{grid-template-columns:repeat(4,minmax(0,1fr))}}.sp-marks-summary-card{border:1px solid var(--sp-border,#0f172a1a);background:var(--sp-card,#fff);border-radius:14px;padding:.85rem 1rem}.sp-marks-summary-label{text-transform:uppercase;letter-spacing:.06em;color:var(--sp-muted,#64748b);font-size:11px;font-weight:800;display:block}.sp-marks-summary-val{color:var(--erp-blue,#004b8d);margin-top:.35rem;font-size:1.35rem;font-weight:900;display:block}.student-portal-root[data-portal-theme=dark] .sp-marks-summary-val{color:#fff}.sp-marks-ingest{color:var(--sp-muted,#64748b);margin:0 0 1rem;font-size:12px;line-height:1.45}.sp-marks-chart-panel{border:1px solid var(--sp-border,#0f172a1a);background:var(--sp-card,#fff);border-radius:16px;min-width:0;margin-bottom:0;padding:1rem 1rem .65rem;overflow:hidden}.sp-marks-chart-grid{gap:.85rem;min-width:0;margin-bottom:1.25rem;display:grid}@media (width>=900px){.sp-marks-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=899px){.sp-marks-chart-grid{grid-template-columns:minmax(0,1fr)}}.sp-marks-chart-title{color:var(--sp-text,#0f172a);margin:0;font-size:15px;font-weight:900}.sp-marks-chart-desc{color:var(--sp-muted,#64748b);margin:.25rem 0 .35rem;font-size:12px;line-height:1.35}.sp-marks-chart-empty{text-align:center;color:var(--sp-muted,#64748b);margin:0;padding:1.25rem .5rem 1.5rem;font-size:13px}.sp-marks-chart-box{-webkit-user-select:none;user-select:none;touch-action:manipulation;width:100%;height:200px;position:relative;overflow:hidden}.sp-marks-chart-box :is(svg,.recharts-wrapper,.recharts-surface):focus,.sp-marks-chart-box :is(svg,.recharts-wrapper,.recharts-surface):focus-visible{outline:none}.sp-marks-chart-focus{margin-bottom:.5rem}.sp-marks-sem-list{flex-direction:column;gap:1.25rem;display:flex}.sp-marks-sem{border:1px solid var(--sp-border,#0f172a1a);background:var(--sp-card,#fff);border-radius:16px;padding:1rem 1rem 1.1rem;overflow:visible}.sp-marks-sem-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.sp-marks-sem-title{letter-spacing:-.02em;color:var(--sp-text,#0f172a);margin:0;font-size:17px;font-weight:900}.sp-marks-sem-sub{color:var(--sp-muted,#64748b);margin:.2rem 0 0;font-size:12px}.sp-marks-pdf-btn{border:1px solid rgb(var(--erp-blue-rgb) / 35%);background:var(--erp-blue,#004b8d);color:#fff;cursor:pointer;border-radius:10px;min-height:40px;padding:0 1rem;font-size:13px;font-weight:800}.sp-marks-pdf-btn:disabled{opacity:.55;cursor:not-allowed}.sp-marks-sem-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.85rem 0 1rem;display:grid}@media (width>=720px){.sp-marks-sem-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}.sp-marks-metric{background:rgb(var(--erp-blue-rgb) / 6%);border-radius:12px;padding:.5rem .65rem}.sp-marks-metric-label{text-transform:uppercase;letter-spacing:.05em;color:var(--sp-muted,#64748b);font-size:10px;font-weight:800;display:block}.sp-marks-metric-val{color:var(--sp-text,#0f172a);margin-top:.2rem;font-size:1.1rem;font-weight:900;display:block}.sp-marks-table-wrap{-webkit-overflow-scrolling:touch;border:1px solid #94a3b840;border-radius:12px;max-height:none;margin-top:.75rem;overflow:auto visible}.sp-marks-table{border-collapse:collapse;table-layout:auto;width:100%;min-width:640px;font-size:13px}.sp-marks-table th,.sp-marks-table td{vertical-align:middle;text-align:left;border-bottom:1px solid #94a3b838;padding:.55rem .6rem}.sp-marks-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--sp-muted,#64748b);background:rgb(var(--erp-blue-rgb) / 6%);font-size:10px;font-weight:800}.sp-marks-td-subj{max-width:220px;font-weight:700}.sp-marks-td-exam{color:var(--sp-muted,#64748b);white-space:nowrap;font-size:11px;font-weight:700}.sp-marks-table-empty{text-align:center;color:var(--sp-muted,#64748b);font-size:13px;font-weight:600;padding:1rem .75rem!important}.sp-marks-table tbody tr:last-child td{border-bottom:none}.sp-marks-badge{border-radius:6px;padding:.15rem .45rem;font-size:11px;font-weight:800;display:inline-flex}.sp-marks-badge--ok{color:#15803d;background:#16a34a26}.sp-marks-badge--bad{color:#b91c1c;background:#dc26261f}.sp-marks-badge--muted{color:#475569;background:#94a3b833}.sp-marks-empty{text-align:center;background:rgb(var(--erp-blue-rgb) / 4%);border:1px dashed #94a3b873;border-radius:16px;padding:2rem 1rem}.sp-marks-empty-title{margin:0;font-size:16px;font-weight:900}.sp-marks-empty-text{color:var(--sp-muted,#64748b);margin:.5rem 0 0;font-size:13px;line-height:1.5}.sp-marks-foot{color:var(--sp-muted,#64748b);margin:1.25rem 0 0;font-size:11px;line-height:1.45}.sp-marks-skel-line{background:#94a3b847;border-radius:8px;height:12px;display:block}.student-portal-root[data-portal-theme=dark] .sp-marks-skel-line{background:#ffffff1f}.sp-marks-skel-line--short{width:36%;margin-bottom:.45rem}.sp-marks-skel-line--mid{width:68%}.sp-marks-skel-line--tiny{width:52%;margin-bottom:.35rem}.sp-marks-skel-line--metric{width:44%;height:22px}.sp-marks-skel-line--sem-title{width:180px;height:16px}.sp-marks-summary-card--skel{min-height:76px}.sp-marks-chart-panel--standalone{margin-bottom:1.25rem}.sp-marks-chart-panel--skel{min-height:280px}.sp-marks-skel-bars{background:linear-gradient(90deg,#94a3b81f 0%,#94a3b842 30%,#94a3b81f 60%,#94a3b842 100%);border-radius:12px;height:200px;margin-top:.75rem;display:block}.sp-marks-sem--skel{border-style:dashed}.sp-marks-skel-pill{background:#94a3b838;border-radius:10px;width:120px;height:38px}.sp-marks-skel-metric{background:#94a3b829;border-radius:12px;height:48px}.sp-marks-table-skel{border:1px solid #94a3b833;border-radius:12px;margin-top:.75rem;padding:.5rem}.sp-marks-table-skel-row{gap:.4rem;margin-bottom:.45rem;display:flex}.sp-marks-table-skel-row--head .sp-marks-skel-cell{height:10px}.sp-marks-skel-cell{background:#94a3b838;border-radius:6px;flex:1;min-width:0;height:12px}.sp-syl{max-width:960px;margin:0 auto;padding:0 0 2rem}.sp-syl-head{margin-bottom:1.25rem}.sp-syl-title{letter-spacing:-.02em;color:var(--sp-text,#0f172a);margin:0;font-size:1.5rem;font-weight:900}.sp-syl-sub{color:var(--sp-muted,#64748b);margin:.35rem 0 0;font-size:13px;line-height:1.45}.sp-syl-field{margin-bottom:1.25rem}.sp-syl-label{text-transform:uppercase;letter-spacing:.06em;color:var(--sp-muted,#64748b);margin-bottom:.4rem;font-size:12px;font-weight:800;display:block}.sp-syl-select .erp-select-trigger,.sp-syl-select .erp-select-search-trigger{border:1px solid var(--sp-border,#0f172a1f);background:var(--sp-card,#fff);color:var(--sp-text,#0f172a);border-radius:12px;min-height:44px}.sp-syl-select .erp-select-trigger:hover,.sp-syl-select .erp-select-search-trigger:hover{border-color:rgb(var(--erp-blue-rgb) / 35%)}.student-portal-root[data-portal-theme=dark] .sp-syl-select .erp-select-trigger,.student-portal-root[data-portal-theme=dark] .sp-syl-select .erp-select-search-trigger{background:var(--sp-card,#0f172a);color:var(--sp-text,#f1f5f9);border-color:#94a3b838}.sp-syl-hint{color:var(--sp-muted,#64748b);margin:0;font-size:13px}.sp-syl-empty{background:rgb(var(--erp-blue-rgb) / 5%);color:var(--sp-muted,#64748b);border:1px dashed #94a3b873;border-radius:14px;margin:1rem 0 0;padding:1rem 1.1rem;font-size:13px}.sp-syl-subject-card{border:1px solid var(--sp-border,#0f172a1a);background:var(--sp-card,#fff);border-radius:16px;margin-bottom:1.25rem;padding:1rem 1.1rem 1.05rem;transition:border-color .15s,box-shadow .15s}.sp-syl-subject-card:hover{border-color:rgb(var(--erp-blue-rgb) / 22%);box-shadow:0 8px 28px #0f172a0f}.student-portal-root[data-portal-theme=dark] .sp-syl-subject-card{box-shadow:none}.student-portal-root[data-portal-theme=dark] .sp-syl-subject-card:hover{border-color:#94a3b859}.sp-syl-subject-card-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.sp-syl-subject-name{color:var(--sp-text,#0f172a);margin:0;font-size:1.15rem;font-weight:900;line-height:1.25}.sp-syl-subject-code{color:var(--sp-muted,#64748b);margin:.2rem 0 0;font-size:12px;font-weight:700}.sp-syl-subject-progress-wrap{flex:0 220px;min-width:min(100%,200px)}.sp-syl-pct-label{text-transform:uppercase;letter-spacing:.06em;color:var(--sp-muted,#64748b);margin:0;font-size:10px;font-weight:800}.sp-syl-pct-value{letter-spacing:-.03em;color:var(--sp-text,#0f172a);margin:.15rem 0 .4rem;font-size:1.75rem;font-weight:900}.student-portal-root[data-portal-theme=dark] .sp-syl-pct-value{color:#fff}.sp-syl-progress-track{background:#94a3b838;border-radius:999px;height:10px;overflow:hidden}.student-portal-root[data-portal-theme=dark] .sp-syl-progress-track{background:#ffffff1a}.sp-syl-progress-fill{background:var(--erp-blue,#004b8d);border-radius:999px;height:100%;transition:width .35s}.student-portal-root[data-portal-theme=dark] .sp-syl-progress-fill{background:#d4d4d4}.sp-syl-subject-card-foot{border-top:1px solid #94a3b833;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1.25rem;margin-top:1rem;padding-top:.85rem;display:flex}.sp-syl-units-count,.sp-syl-teacher{color:var(--sp-text,#0f172a);margin:0;font-size:13px}.sp-syl-units-count-label,.sp-syl-teacher-label{text-transform:uppercase;letter-spacing:.05em;color:var(--sp-muted,#64748b);margin-bottom:.15rem;font-size:10px;font-weight:800;display:block}.sp-syl-units-count strong,.sp-syl-teacher strong{color:var(--sp-text,#0f172a);font-weight:800}.student-portal-root[data-portal-theme=dark] .sp-syl-units-count strong,.student-portal-root[data-portal-theme=dark] .sp-syl-teacher strong{color:#fff}.sp-syl-units-count-meta{color:var(--sp-muted,#64748b);font-size:12px;font-weight:600}.sp-syl-units-heading{color:var(--sp-text,#0f172a);margin:0 0 .75rem;font-size:14px;font-weight:900}.sp-syl-units-grid{flex-direction:column;gap:.85rem;display:flex}.sp-syl-unit-card{border:1px solid var(--sp-border,#0f172a1a);background:var(--sp-card,#fff);border-radius:14px;padding:.85rem 1rem 1rem;transition:border-color .15s,box-shadow .15s}.sp-syl-unit-card:hover{border-color:rgb(var(--erp-blue-rgb) / 22%);box-shadow:0 6px 20px #0f172a0d}.student-portal-root[data-portal-theme=dark] .sp-syl-unit-card:hover{border-color:#94a3b84d}.sp-syl-unit-title{color:var(--sp-text,#0f172a);margin:0 0 .55rem;font-size:15px;font-weight:900}.sp-syl-unit-order{color:var(--sp-text,#0f172a);margin-right:.2rem}.student-portal-root[data-portal-theme=dark] .sp-syl-unit-order{color:#fff}.sp-syl-unit-empty{color:var(--sp-muted,#64748b);margin:0;font-size:12px}.sp-syl-topic-list{flex-direction:column;gap:.35rem;margin:0;padding-left:1.15rem;display:flex}.sp-syl-topic{color:var(--sp-text,#0f172a);font-size:13px;line-height:1.45}.sp-syl-topic--done{color:var(--sp-muted,#64748b);text-decoration:line-through}.sp-syl-skel-label{background:#94a3b847;border-radius:6px;width:120px;height:10px;margin-bottom:.45rem;display:block}.student-portal-root[data-portal-theme=dark] .sp-syl-skel-label,.student-portal-root[data-portal-theme=dark] .sp-syl-select-skel,.student-portal-root[data-portal-theme=dark] .sp-syl-skel-line,.student-portal-root[data-portal-theme=dark] .sp-syl-skel-topic-line,.student-portal-root[data-portal-theme=dark] .sp-syl-skel-progress-inner{background:#ffffff1f}.sp-syl-select-skel{background:#94a3b838;border:1px solid #94a3b833;border-radius:12px;height:44px}.sp-syl-subject-card--skel{pointer-events:none}.sp-syl-skel-line{background:#94a3b842;border-radius:8px;display:block}.sp-syl-skel-line--page-title{width:44%;max-width:220px;height:22px;margin-bottom:.45rem}.sp-syl-skel-line--sub{width:72%;max-width:420px;height:12px}.sp-syl-skel-line--title{width:55%;height:18px;margin-bottom:.35rem}.sp-syl-skel-line--code{width:28%;height:11px}.sp-syl-skel-line--short{width:48%;height:10px;margin-bottom:.35rem}.sp-syl-skel-line--pct{width:36%;height:28px;margin-bottom:.45rem}.sp-syl-skel-line--foot{width:40%;height:13px}.sp-syl-progress-track--skel{position:relative;overflow:hidden}.sp-syl-skel-progress-inner{background:#94a3b859;border-radius:999px;width:42%;height:100%;display:block}.sp-syl-unit-card--skel{pointer-events:none}.sp-syl-skel-line--unit-title{width:70%;height:15px;margin-bottom:.6rem}.sp-syl-topic-list--skel{gap:.4rem;padding-left:0;list-style:none}.sp-syl-skel-topic-line{background:#94a3b838;border-radius:6px;height:11px}.sp-syl-skel-topic-line:first-child{width:92%}.sp-syl-skel-topic-line:nth-child(2){width:78%}.sp-syl-skel-topic-line:nth-child(3){width:64%}.sp-syl-detail-skel .sp-syl-units-skel{flex-direction:column;gap:.85rem;display:flex}.sp-subj{max-width:1100px;margin:0 auto;padding:0 0 2rem}.sp-subj-head{margin-bottom:1.25rem}.sp-subj-sem-select{max-width:280px;margin-bottom:.35rem}.sp-subj-page-title{letter-spacing:-.02em;color:var(--sp-text,#0f172a);margin:0;font-size:1.5rem;font-weight:900}.sp-subj-page-sub{color:var(--sp-muted,#64748b);margin:.35rem 0 0;font-size:13px}.sp-subj-page-meta{color:var(--sp-muted,#64748b);margin:.25rem 0 0;font-size:12px}.sp-subj-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.sp-subj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.sp-subj-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.sp-subj-card{border:1px solid var(--sp-border,#0f172a1a);background:var(--sp-card,#fff);border-radius:16px;flex-direction:column;gap:.65rem;padding:1rem 1.05rem 1.1rem;transition:border-color .15s,box-shadow .15s;display:flex}.sp-subj-card:hover{border-color:rgb(var(--erp-blue-rgb) / 22%);box-shadow:0 8px 28px #0f172a0f}.student-portal-root[data-portal-theme=dark] .sp-subj-card:hover{box-shadow:none;border-color:#94a3b859}.sp-subj-card--skel{pointer-events:none;min-height:200px}.sp-subj-card-title{color:var(--sp-text,#0f172a);margin:0;font-size:1.05rem;font-weight:900;line-height:1.25}.sp-subj-card-code{color:var(--sp-muted,#64748b);margin:0;font-size:12px;font-weight:700}.sp-subj-card-teacher{margin:0;font-size:13px}.sp-subj-card-teacher-label{text-transform:uppercase;letter-spacing:.05em;color:var(--sp-muted,#64748b);font-size:10px;font-weight:800;display:block}.sp-subj-progress-block{margin-top:.15rem}.sp-subj-progress-head{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.35rem;display:flex}.sp-subj-progress-label{text-transform:uppercase;letter-spacing:.05em;color:var(--sp-muted,#64748b);font-size:10px;font-weight:800}.sp-subj-progress-pct{color:var(--sp-text,#0f172a);font-size:1.1rem;font-weight:900}.student-portal-root[data-portal-theme=dark] .sp-subj-progress-pct{color:#fff}.sp-subj-progress-track{background:#94a3b838;border-radius:999px;height:9px;overflow:hidden}.student-portal-root[data-portal-theme=dark] .sp-subj-progress-track{background:#ffffff1a}.sp-subj-progress-fill{background:var(--erp-blue,#004b8d);border-radius:999px;height:100%}.student-portal-root[data-portal-theme=dark] .sp-subj-progress-fill{background:#d4d4d4}.sp-subj-progress-meta{color:var(--sp-muted,#64748b);margin:.35rem 0 0;font-size:11px}.sp-subj-view-btn{border:1px solid rgb(var(--erp-blue-rgb) / 35%);background:var(--erp-blue,#004b8d);color:#fff;cursor:pointer;border-radius:10px;min-height:42px;margin-top:.35rem;font-size:13px;font-weight:800}.sp-subj-view-btn:disabled{opacity:.6;cursor:not-allowed}.sp-subj-empty{color:var(--sp-muted,#64748b);border:1px dashed #94a3b873;border-radius:14px;padding:1.25rem;font-size:13px}.portal-root.sp-subj-modal-overlay,.portal-root.sp-fee-modal-overlay{min-height:0}.sp-subj-modal-overlay{z-index:9600;overscroll-behavior:none;touch-action:none;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0;overflow:hidden;background:#0f172a73!important}.portal-root.student-portal-root[data-portal-theme=dark].sp-subj-modal-overlay{background:#000000b8!important}.portal-root.student-portal-root[data-portal-theme=light].sp-subj-modal-overlay{background:#0f172a73!important}@media (width>=720px){.sp-subj-modal-overlay{align-items:center;padding:1.5rem}}.sp-subj-modal{border:1px solid var(--sp-border,#0f172a1f);background:var(--sp-card,#fff);width:100%;max-width:720px;min-height:0;max-height:min(92dvh,900px);color:var(--sp-text,#0f172a);touch-action:pan-y;border-radius:16px 16px 0 0;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 24px 64px #0f172a2e}@media (width>=720px){.sp-subj-modal{border-radius:16px}}.sp-subj-modal-head{z-index:3;background:var(--sp-card,#fff);border-bottom:1px solid #94a3b833;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.1rem;display:flex;position:relative}.sp-subj-modal-head__main{align-items:flex-start;gap:.55rem;min-width:0;display:flex}.sp-subj-modal-back{width:36px;height:36px;color:var(--sp-text,#0f172a);cursor:pointer;background:#94a3b81f;border:1px solid #94a3b847;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;margin-top:.05rem;padding:0;display:inline-flex}.portal-root.student-portal-root[data-portal-theme=dark] .sp-subj-modal-head{background:var(--bg2);border-bottom-color:var(--bd)}.portal-root.student-portal-root[data-portal-theme=dark] .sp-subj-modal-back,.portal-root.student-portal-root[data-portal-theme=dark] .sp-subj-modal-close{color:#fff;background:#ffffff14;border-color:#ffffff47}.sp-subj-modal-head h2{color:var(--sp-text,#0f172a);margin:0;font-size:1.15rem;font-weight:900}.sp-subj-modal-sub{color:var(--sp-muted,#64748b);margin:.2rem 0 0;font-size:12px}.sp-subj-modal-close{width:36px;height:36px;color:var(--sp-text,#0f172a);cursor:pointer;background:#94a3b81f;border:1px solid #94a3b847;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.student-portal-root[data-portal-theme=dark] .sp-subj-modal-close{color:#fff;background:#ffffff14;border-color:#ffffff47}.sp-subj-modal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:1rem 1.1rem 1.25rem;overflow-y:auto}.sp-subj-modal-empty{color:var(--sp-muted,#64748b);margin:0;font-size:13px}.sp-subj-modal-units-title{color:var(--sp-text,#0f172a);margin:1rem 0 .25rem;font-size:14px;font-weight:900}.sp-subj-modal-units-hint{color:var(--sp-muted,#64748b);margin:0 0 .75rem;font-size:12px}.sp-subj-modal-unit-wrap{margin-bottom:.5rem}.sp-subj-modal-unit-btn{text-align:left;border:1px solid var(--sp-border,#0f172a1a);background:rgb(var(--erp-blue-rgb) / 4%);width:100%;color:var(--sp-text,#0f172a);cursor:pointer;border-radius:12px;padding:.65rem .75rem;font-size:14px;font-weight:800}.sp-subj-modal-unit-btn--open{border-color:rgb(var(--erp-blue-rgb) / 30%);background:rgb(var(--erp-blue-rgb) / 10%)}.student-portal-root[data-portal-theme=dark] .sp-subj-modal-unit-btn{color:#fff;background:#ffffff0d;border-color:#ffffff24}.student-portal-root[data-portal-theme=dark] .sp-subj-modal-unit-btn--open{background:#ffffff1a;border-color:#ffffff3d}.sp-subj-modal-unit-order{color:var(--sp-text,#0f172a);margin-right:.25rem}.student-portal-root[data-portal-theme=dark] .sp-subj-modal-unit-order{color:#fff}.sp-subj-modal-unit-panel{border-left:3px solid rgb(var(--erp-blue-rgb) / 25%);margin:.35rem 0 0 .35rem;padding:.65rem .5rem .85rem .75rem}.student-portal-root[data-portal-theme=dark] .sp-subj-modal-unit-panel{border-left-color:#ffffff38}.student-portal-root[data-portal-theme=dark] .sp-subj-modal-head h2,.student-portal-root[data-portal-theme=dark] .sp-subj-modal-units-title,.student-portal-root[data-portal-theme=dark] .sp-subj-resource-title{color:#fff}.student-portal-root[data-portal-theme=dark] .sp-subj-resource-link{color:#fff;text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.sp-subj-resources-title{text-transform:uppercase;letter-spacing:.05em;color:var(--sp-muted,#64748b);margin:.75rem 0 .35rem;font-size:12px;font-weight:800}.sp-subj-resources-loading,.sp-subj-resources-empty{color:var(--sp-muted,#64748b);margin:0;font-size:12px}.sp-subj-resources-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.sp-subj-resource-item{background:var(--sp-card,#fff);border:1px solid #94a3b840;border-radius:10px;padding:.55rem .65rem}.sp-subj-resource-main{align-items:flex-start;gap:.5rem;display:flex}.sp-subj-resource-title{color:var(--sp-text,#0f172a);margin:0;font-size:13px;font-weight:800}.sp-subj-resource-desc,.sp-subj-resource-note{color:var(--sp-muted,#64748b);white-space:pre-wrap;margin:.2rem 0 0;font-size:12px;line-height:1.45}.sp-subj-resource-link{color:var(--erp-blue,#004b8d);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;margin-top:.4rem;padding:0;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.sp-subj-skel{background:#94a3b842;border-radius:8px;display:block}.student-portal-root[data-portal-theme=dark] .sp-subj-skel{background:#ffffff1f}.sp-subj-skel--title{width:48%;height:22px;margin-bottom:.4rem}.sp-subj-skel--sub{width:72%;height:12px}.sp-subj-skel--name{width:70%;height:16px}.sp-subj-skel--code{width:35%;height:11px}.sp-subj-skel--teacher{width:55%;height:12px}.sp-subj-skel--bar{width:100%;height:36px;margin-top:.25rem}.sp-subj-skel--btn{width:100%;height:40px;margin-top:.25rem}.sp-subj-skel--modal-title{width:60%;height:18px;margin-bottom:.5rem}.sp-subj-skel--unit-title{width:75%;height:14px;margin-bottom:.35rem}.sp-subj-skel--topic{width:90%;height:11px;margin-bottom:.3rem}.sp-subj-skel--short{width:65%}.sp-subj-unit-skel{margin-bottom:.65rem}.sp-fee{max-width:1100px;margin:0 auto;padding:0 0 2rem}.sp-fee-head{margin-bottom:1.25rem}.sp-fee-page-title{letter-spacing:-.02em;color:var(--sp-text,#0f172a);margin:0;font-size:1.5rem;font-weight:900}.sp-fee-page-sub{color:var(--sp-text,#0f172a);margin:.35rem 0 0;font-size:13px}.sp-fee-page-meta{color:var(--sp-muted,#64748b);margin:.25rem 0 0;font-size:12px}.sp-fee-summary-card{border:1px solid var(--sp-border,#0f172a1a);background:var(--sp-card,#fff);border-radius:16px;margin-bottom:1.25rem;padding:1rem 1.1rem 1.05rem}.sp-fee-summary-card--skel{pointer-events:none}.sp-fee-summary-top{border-bottom:1px solid #94a3b838;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.sp-fee-outstanding-label{text-transform:uppercase;letter-spacing:.06em;color:var(--sp-muted,#64748b);margin:0;font-size:11px;font-weight:800}.sp-fee-outstanding-value{letter-spacing:-.03em;color:var(--erp-blue,#004b8d);margin:.2rem 0 0;font-size:1.85rem;font-weight:900}.student-portal-root[data-portal-theme=dark] .sp-fee-outstanding-value{color:#93c5fd}.sp-fee-download-btn{border:1px solid rgb(var(--erp-blue-rgb) / 35%);background:var(--erp-blue,#004b8d);color:#fff;cursor:pointer;border-radius:10px;align-items:center;gap:.35rem;min-height:40px;padding:0 1rem;font-size:13px;font-weight:800;display:inline-flex}.sp-fee-download-btn:disabled{opacity:.6;cursor:not-allowed}.sp-fee-summary-rows{flex-direction:column;gap:.5rem;margin:0;display:flex}.sp-fee-summary-row{justify-content:space-between;align-items:center;gap:1rem;font-size:14px;display:flex}.sp-fee-summary-row-start{flex-wrap:wrap;align-items:center;gap:.35rem .5rem;display:flex}.sp-fee-summary-row dt{color:var(--sp-muted,#64748b);margin:0;font-weight:700}.sp-fee-summary-breakdown{color:var(--erp-blue,#004b8d);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:800;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.sp-fee-summary-breakdown:hover{opacity:.85}.student-portal-root[data-portal-theme=dark] .sp-fee-summary-breakdown{color:#fff}.sp-fee-breakdown-anchors{position:relative}.sp-fee-breakdown-anchors span{pointer-events:none;width:0;height:0;position:absolute;top:-4.5rem;overflow:hidden}.sp-fee-summary-row dd{color:var(--sp-text,#0f172a);margin:0;font-weight:800}.sp-fee-panel{border:1px solid var(--sp-border,#0f172a1a);background:var(--sp-card,#fff);border-radius:16px;margin-bottom:1.25rem;padding:1rem 1rem 1.1rem}.sp-fee-panel--skel{pointer-events:none}.sp-fee-panel-title{color:var(--sp-text,#0f172a);margin:0 0 .75rem;font-size:15px;font-weight:900}.sp-fee-details{flex-direction:column;gap:1rem;margin-bottom:1.25rem;display:flex}.sp-fee-details>.sp-fee-panel-title{margin-bottom:0}.sp-fee-details-current{flex-direction:column;gap:.65rem;display:flex}.sp-fee-details-previous{flex-direction:column;gap:.75rem;display:flex}.sp-fee-details-previous-title{letter-spacing:.04em;text-transform:uppercase;color:var(--sp-muted,#64748b);margin:.25rem 0 0;font-size:13px;font-weight:800}.sp-fee-details-year-list{flex-direction:column;gap:.85rem;display:flex}.sp-fee-details--skel .sp-fee-sem-card{padding:1rem}.sp-fee-td-date{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--sp-muted,#64748b)}.sp-fee-table-scroll{-webkit-overflow-scrolling:touch;border:1px solid #94a3b840;border-radius:12px;max-height:320px;overflow:auto}.sp-fee-table-scroll--tall{max-height:420px}.sp-fee-table{border-collapse:collapse;width:100%;min-width:620px;font-size:13px}.sp-fee-table th,.sp-fee-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #94a3b838;padding:.55rem .65rem}.sp-fee-table th{z-index:1;text-transform:uppercase;letter-spacing:.05em;color:var(--sp-muted,#64748b);background:rgb(var(--erp-blue-rgb) / 6%);font-size:10px;font-weight:800;position:sticky;top:0}.student-portal-root[data-portal-theme=dark] .sp-fee-table th{background:#ffffff0f}.sp-fee-table-empty{text-align:center;color:var(--sp-muted,#64748b);padding:1.25rem}.sp-fee-td-head{max-width:200px;font-weight:700}.sp-fee-td-date{white-space:nowrap;color:var(--sp-muted,#64748b);font-size:12px}.sp-fee-badge{border-radius:6px;padding:.15rem .45rem;font-size:11px;font-weight:800;display:inline-flex}.sp-fee-badge--paid{color:#15803d;background:#16a34a26}.sp-fee-badge--partial{color:#c2410c;background:#ea580c24}.sp-fee-badge--unpaid{color:#b91c1c;background:#dc26261f}.sp-fee-badge--pending{color:#475569;background:#64748b24}.sp-fee-badge--overdue{color:#b91c1c;background:#dc262629;border:1px solid #dc262659}.sp-fee-badge--ok{color:#15803d;background:#16a34a1f}.sp-fee-coverage{color:var(--sp-text,#0f172a);font-size:12px;font-weight:700}.sp-fee-pay-btn{border:1px solid rgb(var(--erp-blue-rgb) / 40%);background:rgb(var(--erp-blue-rgb) / 10%);min-height:34px;color:var(--erp-blue,#004b8d);cursor:pointer;border-radius:8px;padding:0 .75rem;font-size:12px;font-weight:800}.student-portal-root[data-portal-theme=dark] .sp-fee-pay-btn{color:#93c5fd}.sp-fee-pay-btn:disabled{opacity:.55;cursor:not-allowed}.sp-fee-receipt-btn{min-height:32px;color:var(--erp-blue,#004b8d);cursor:pointer;background:0 0;border:1px solid #94a3b859;border-radius:8px;align-items:center;gap:.25rem;padding:0 .55rem;font-size:11px;font-weight:800;display:inline-flex}.sp-fee-receipt-btn:disabled{opacity:.55}.sp-fee-action-group{flex-wrap:wrap;align-items:center;gap:.35rem;display:inline-flex}.sp-fee-pdf-btn{min-height:34px;color:var(--erp-blue,#004b8d);cursor:pointer;background:0 0;border:1px solid #94a3b859;border-radius:8px;align-items:center;gap:.25rem;padding:0 .65rem;font-size:11px;font-weight:800;display:inline-flex}.sp-fee-pdf-btn:disabled{opacity:.55;cursor:not-allowed}.sp-fee-action-muted{color:var(--sp-muted,#64748b);font-size:12px}.sp-fee-amount-cell{flex-direction:column;gap:.15rem;display:flex}.sp-fee-amount-sub{color:var(--sp-muted,#64748b);font-size:10px;font-weight:700}.sp-fee-table--breakdown{min-width:560px}.sp-fee-sem-table-wrap{border:1px solid #94a3b840;border-radius:12px;max-height:none;overflow:auto visible}.sp-fee-sem-card{background:rgb(var(--erp-blue-rgb) / 3%);border:1px solid #94a3b840;border-radius:14px;padding:.75rem .75rem .85rem}.sp-fee-sem-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.sp-fee-sem-card-head h3{color:var(--sp-text,#0f172a);margin:0;font-size:15px;font-weight:900}.sp-fee-sem-tag{letter-spacing:.03em;text-transform:uppercase;background:rgb(var(--erp-blue-rgb) / 12%);color:var(--erp-blue,#004b8d);border-radius:999px;padding:.15rem .45rem;font-size:10px;font-weight:800;display:inline-flex}.sp-fee-sem-tag--done{color:#475569;background:#94a3b82e}.sp-fee-modal-overlay{z-index:9600;overscroll-behavior:none;touch-action:none;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0;overflow:hidden;background:#0f172a73!important}.portal-root.student-portal-root[data-portal-theme=dark].sp-fee-modal-overlay{background:#000000b8!important}.sp-fee-modal{border:1px solid var(--sp-border,#0f172a1f);background:var(--sp-card,#fff);width:100%;max-width:720px;min-height:0;max-height:min(92dvh,900px);color:var(--sp-text,#0f172a);touch-action:pan-y;border-bottom:none;border-radius:16px 16px 0 0;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 24px 64px #0f172a2e}@media (width>=720px){.sp-fee-modal-overlay{align-items:center;padding:1.5rem}.sp-fee-modal{border-bottom:1px solid var(--sp-border,#0f172a1f);border-radius:16px;max-height:min(88dvh,860px)}}.sp-fee-modal-head{background:var(--sp-card,#fff);border-bottom:1px solid #94a3b838;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem 1.1rem .85rem;display:flex}.sp-fee-modal-head h2{color:var(--sp-text,#0f172a);margin:0;font-size:17px;font-weight:900}.sp-fee-modal-sub{color:var(--sp-muted,#64748b);margin:.2rem 0 0;font-size:12px}.sp-fee-modal-close{width:40px;height:40px;color:var(--sp-text,#0f172a);cursor:pointer;background:0 0;border:1px solid #94a3b84d;border-radius:10px;flex-shrink:0}.sp-fee-modal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:.85rem 1rem 1.25rem;overflow-y:auto}.sp-fee-modal-empty{text-align:center;color:var(--sp-muted,#64748b);margin:1rem 0;font-size:13px;font-weight:600}.sp-fee-modal-section+.sp-fee-modal-section{margin-top:1rem}.sp-fee-modal-section-title{letter-spacing:.04em;text-transform:uppercase;color:var(--sp-muted,#64748b);margin:0 0 .65rem;font-size:12px;font-weight:800}.sp-fee-modal-sem-list{flex-direction:column;gap:.75rem;display:flex}.sp-fee-skel{background:#94a3b842;border-radius:8px;display:block}.student-portal-root[data-portal-theme=dark] .sp-fee-skel{background:#ffffff1f}.sp-fee-skel--title{width:44%;height:22px;margin-bottom:.4rem}.sp-fee-skel--sub{width:68%;height:12px}.sp-fee-skel--outstanding{width:55%;min-width:140px;height:36px}.sp-fee-skel--btn{flex-shrink:0;width:110px;height:40px}.sp-fee-skel--row{width:100%;height:14px}.sp-fee-skel--panel-title{width:50%;height:16px;margin-bottom:.75rem}.sp-fee-skel--table{width:100%;height:180px}.sp-fee-skel--table-tall{height:240px}.sp-rcpt{flex-direction:column;gap:1.25rem;max-width:1100px;display:flex}.sp-rcpt-head{flex-direction:column;gap:.25rem;display:flex}.sp-rcpt-page-title{color:var(--sp-text,#0f172a);margin:0;font-size:1.35rem;font-weight:800}.sp-rcpt-page-sub,.sp-rcpt-page-meta{color:var(--sp-muted,#64748b);margin:0;font-size:13px}.sp-rcpt-page-meta{font-size:12px}.sp-rcpt-empty{color:var(--sp-muted,#64748b);border:1px dashed #94a3b873;border-radius:12px;margin:0;padding:1rem 1.1rem;font-size:14px}.sp-rcpt-sem{border:1px solid var(--sp-border,#94a3b859);background:var(--sp-surface,#fff);border-radius:14px;padding:1rem 1.1rem 1.15rem;box-shadow:0 1px 2px #0f172a0a}.student-portal-root[data-portal-theme=dark] .sp-rcpt-sem{background:var(--sp-surface,#0f172a);border-color:#ffffff1a}.sp-rcpt-sem--skel{min-height:220px}.sp-rcpt-sem-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.85rem;display:flex}.sp-rcpt-sem-title-row{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.sp-rcpt-year-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--erp-blue,#004b8d);background:#004b8d1a;border-radius:999px;padding:.15rem .55rem;font-size:10px;font-weight:800}.sp-rcpt-sem-title{color:var(--sp-text,#0f172a);margin:0;font-size:1.05rem;font-weight:800}.sp-rcpt-sem-sub{color:var(--sp-muted,#64748b);margin:.2rem 0 0;font-size:12px}.sp-rcpt-table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.sp-rcpt-cards{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:none}.sp-rcpt-table{border-collapse:collapse;width:100%;min-width:720px;font-size:13px}.sp-rcpt-table th,.sp-rcpt-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #94a3b838;padding:.55rem .5rem}.sp-rcpt-table th{text-transform:uppercase;letter-spacing:.03em;color:var(--sp-muted,#64748b);background:#94a3b814;font-size:11px;font-weight:800}.student-portal-root[data-portal-theme=dark] .sp-rcpt-table th{background:#ffffff0f}.sp-rcpt-table-empty{text-align:center;color:var(--sp-muted,#64748b);padding:1.25rem!important}.sp-rcpt-td-head{max-width:200px;font-weight:700}.sp-rcpt-td-date{white-space:nowrap;color:var(--sp-muted,#64748b);font-size:12px}.sp-rcpt-badge{border-radius:6px;padding:.15rem .45rem;font-size:11px;font-weight:800;display:inline-flex}.sp-rcpt-badge--ok{color:#15803d;background:#16a34a1f}.student-portal-root[data-portal-theme=dark] .sp-rcpt-badge--ok{color:#86efac}.sp-rcpt-coverage{color:var(--sp-text,#0f172a);font-size:12px;font-weight:700}.sp-rcpt-download-btn{min-height:32px;color:var(--erp-blue,#004b8d);cursor:pointer;background:0 0;border:1px solid #94a3b859;border-radius:8px;align-items:center;gap:.3rem;padding:0 .6rem;font-size:11px;font-weight:800;display:inline-flex}.student-portal-root[data-portal-theme=dark] .sp-rcpt-download-btn{color:#93c5fd}.sp-rcpt-download-btn:disabled{opacity:.55;cursor:not-allowed}.sp-rcpt-card{background:#94a3b80a;border:1px solid #94a3b847;border-radius:12px;padding:.85rem}.student-portal-root[data-portal-theme=dark] .sp-rcpt-card{background:#ffffff0a;border-color:#ffffff1a}.sp-rcpt-card-head{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.65rem;display:flex}.sp-rcpt-card-fee{color:var(--sp-text,#0f172a);font-size:14px}.sp-rcpt-card-grid{grid-template-columns:1fr 1fr;gap:.5rem .75rem;margin:0 0 .75rem;display:grid}.sp-rcpt-card-grid dt{text-transform:uppercase;letter-spacing:.04em;color:var(--sp-muted,#64748b);margin:0;font-size:10px;font-weight:800}.sp-rcpt-card-grid dd{color:var(--sp-text,#0f172a);margin:.1rem 0 0;font-size:13px;font-weight:700}.sp-rcpt-skel{background:#94a3b842;border-radius:8px;display:block}.student-portal-root[data-portal-theme=dark] .sp-rcpt-skel{background:#ffffff1f}.sp-rcpt-skel--title{width:40%;height:22px}.sp-rcpt-skel--sub{width:65%;height:12px}.sp-rcpt-skel--meta{width:80%;height:11px}.sp-rcpt-skel--sem-title{width:28%;height:18px}.sp-rcpt-skel--sem-sub{width:18%;height:11px;margin-top:.35rem}.sp-rcpt-skel--cell{flex:1;min-width:40px;height:12px}.sp-rcpt-skel--card{width:100%;height:120px}.sp-rcpt-table-skel{flex-direction:column;gap:.45rem;display:flex}.sp-rcpt-table-skel-row{gap:.4rem;display:flex}.sp-rcpt-table-skel-row--head .sp-rcpt-skel--cell{opacity:.7;height:10px}.sp-rcpt-cards-skel{display:none}@media (width<=768px){.sp-rcpt-table-scroll{display:none}.sp-rcpt-cards{display:flex}.sp-rcpt-table-skel{display:none}.sp-rcpt-cards-skel{flex-direction:column;gap:.65rem;margin-top:.5rem;display:flex}}.sp-ann{flex-direction:column;gap:1rem;max-width:960px;display:flex}.sp-ann-head{flex-direction:column;gap:.5rem;display:flex}.sp-ann-page-title{color:var(--sp-text,#0f172a);margin:0;font-size:1.35rem;font-weight:800}.sp-ann-page-sub{color:var(--sp-muted,#64748b);margin:0;font-size:13px}.sp-ann-search-row{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex}.sp-ann-search{border:1px solid var(--sp-border,#94a3b866);background:var(--sp-surface,#fff);min-width:180px;min-height:40px;color:var(--sp-text,#0f172a);border-radius:10px;flex:1;padding:0 .75rem;font-size:14px}.sp-ann-search-btn{background:var(--erp-blue,#004b8d);color:#fff;cursor:pointer;border:none;border-radius:10px;min-height:40px;padding:0 1rem;font-size:13px;font-weight:800}.sp-ann-grid{grid-template-columns:1fr;gap:.85rem;display:grid}@media (width>=720px){.sp-ann-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.sp-ann-card{border:1px solid var(--sp-border,#94a3b859);background:var(--sp-surface,#fff);cursor:pointer;text-align:left;border-radius:14px;padding:1rem 1.05rem;transition:border-color .15s,box-shadow .15s}.sp-ann-card:hover{border-color:rgb(var(--erp-blue-rgb) / 45%);box-shadow:0 4px 14px #0f172a0f}.sp-ann-card--unread{border-left:4px solid var(--erp-blue,#004b8d);background:rgb(var(--erp-blue-rgb) / 4%)}.student-portal-root[data-portal-theme=dark] .sp-ann-card{background:var(--sp-surface,#0f172a);border-color:#ffffff1a}.student-portal-root[data-portal-theme=dark] .sp-ann-card--unread{background:#3b82f614}.sp-ann-card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;display:flex}.sp-ann-card-title{color:var(--sp-text,#0f172a);margin:0;font-size:1rem;font-weight:800;line-height:1.3}.sp-ann-card-badges{flex-wrap:wrap;justify-content:flex-end;gap:.25rem;display:flex}.sp-ann-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:6px;padding:.12rem .45rem;font-size:10px;font-weight:800;display:inline-flex}.sp-ann-badge--pin{color:#a16207;background:#eab3082e}.sp-ann-badge--urgent{color:#b91c1c;background:#dc262624}.sp-ann-badge--important{color:#c2410c;background:#f9731629}.sp-ann-badge--normal,.sp-ann-badge--status{color:var(--sp-muted,#64748b);background:#94a3b82e}.sp-ann-card-body{color:var(--sp-text,#334155);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 .65rem;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.sp-ann-card-meta{color:var(--sp-muted,#64748b);justify-content:space-between;align-items:center;gap:.5rem;font-size:11px;display:flex}.sp-ann-unread-dot{background:#dc2626;border-radius:50%;flex-shrink:0;width:8px;height:8px}.sp-ann-empty{color:var(--sp-muted,#64748b);border:1px dashed #94a3b873;border-radius:12px;margin:0;padding:1rem;font-size:14px}.sp-ann-modal-backdrop{z-index:80;background:#0f172a73;justify-content:center;align-items:flex-end;padding:1rem;display:flex;position:fixed;inset:0}@media (width>=640px){.sp-ann-modal-backdrop{align-items:center}}.sp-ann-modal{border:1px solid var(--sp-border,#94a3b859);background:var(--sp-surface,#fff);border-radius:16px;width:min(640px,100%);max-height:min(88vh,720px);overflow:auto;box-shadow:0 20px 50px #0f172a2e}.student-portal-root[data-portal-theme=dark] .sp-ann-modal{background:var(--sp-surface,#0f172a);border-color:#ffffff1f}.sp-ann-modal-head{border-bottom:1px solid #94a3b833;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem 1.1rem .5rem;display:flex}.sp-ann-modal-title{color:var(--sp-text,#0f172a);margin:0;font-size:1.1rem;font-weight:800}.sp-ann-modal-close{width:36px;height:36px;color:var(--sp-muted,#64748b);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.sp-ann-modal-body{padding:1rem 1.1rem 1.25rem}.sp-ann-modal-meta{color:var(--sp-muted,#64748b);margin:0 0 .65rem;font-size:12px}.sp-ann-modal-badges{flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem;display:flex}.sp-ann-modal-message{white-space:pre-wrap;color:var(--sp-text,#0f172a);font-size:14px;line-height:1.6}.sp-ann-modal-attachments-title{text-transform:uppercase;letter-spacing:.04em;color:var(--sp-muted,#64748b);margin:1rem 0 .5rem;font-size:12px;font-weight:800}.sp-ann-modal-attachments-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.sp-ann-attachment-link{color:var(--erp-blue,#004b8d);align-items:center;gap:.35rem;font-size:13px;font-weight:700;display:inline-flex}.sp-ann-skel{background:#94a3b842;border-radius:8px;display:block}.student-portal-root[data-portal-theme=dark] .sp-ann-skel{background:#ffffff1f}.sp-ann-card--skel{cursor:default;flex-direction:column;gap:.5rem;min-height:120px;display:flex}.sp-ann-skel--title{width:40%;height:22px}.sp-ann-skel--sub{width:65%;height:12px}.sp-ann-skel--card-title{width:70%;height:16px}.sp-ann-skel--card-body{width:100%;height:48px}.sp-ann-skel--card-foot{width:50%;height:11px}.sp-ann-skel--meta{width:55%;height:12px}.sp-ann-skel--badges{width:35%;height:20px}.sp-ann-skel--line{width:100%;height:12px}.sp-ann-skel--short{width:72%}.sp-notif{flex-direction:column;gap:1rem;max-width:720px;display:flex}.sp-notif-head{flex-direction:column;gap:.35rem;display:flex}.sp-notif-page-title{color:var(--sp-text,#0f172a);margin:0;font-size:1.35rem;font-weight:800}.sp-notif-page-sub{color:var(--sp-muted,#64748b);margin:0;font-size:13px}.sp-notif-page-sub a{color:var(--erp-blue,#004b8d);font-weight:700}.sp-notif-filter{color:var(--sp-text,#0f172a);align-items:center;gap:.4rem;margin-top:.35rem;font-size:13px;display:inline-flex}.sp-notif-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.sp-notif-item{text-align:left;border:1px solid var(--sp-border,#94a3b859);background:var(--sp-surface,#fff);cursor:pointer;border-radius:12px;width:100%;padding:.85rem 1rem;transition:border-color .15s}.sp-notif-item:hover{border-color:rgb(var(--erp-blue-rgb) / 40%)}.sp-notif-item--unread{border-left:4px solid var(--erp-blue,#004b8d);background:rgb(var(--erp-blue-rgb) / 4%)}.sp-notif-item-top{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.sp-notif-kind{text-transform:uppercase;letter-spacing:.05em;color:var(--sp-muted,#64748b);font-size:10px;font-weight:800}.sp-notif-unread-dot{background:#dc2626;border-radius:50%;width:8px;height:8px}.sp-notif-item-title{color:var(--sp-text,#0f172a);margin-bottom:.25rem;font-size:14px;display:block}.sp-notif-item-body{color:var(--sp-muted,#64748b);margin:0 0 .35rem;font-size:13px;line-height:1.45}.sp-notif-item-meta{color:var(--sp-muted,#94a3b8);font-size:11px}.sp-notif-empty{color:var(--sp-muted,#64748b);border:1px dashed #94a3b873;border-radius:12px;margin:0;padding:1rem}.sp-notif-skel{background:#94a3b842;border-radius:8px;display:block}.sp-notif-item--skel{cursor:default;flex-direction:column;gap:.4rem;display:flex}.sp-notif-skel--title{width:38%;height:22px}.sp-notif-skel--sub{width:55%;height:12px}.sp-notif-skel--item-title{width:75%;height:14px}.sp-notif-skel--item-body{width:100%;height:32px}.sp-notif-skel--item-meta{width:40%;height:10px}.sp-notif-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.5rem;display:flex}.sp-notif-search{flex:180px;min-width:0;max-width:320px}.sp-notif-kind{flex:0 auto;min-width:140px}.sp-notif-mark-all{margin-left:auto}.sp-notif-loading-hint{margin:0;font-size:12px}.sp-notif-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-top:.25rem;display:flex}.sp-notif-page-info{color:var(--sp-muted,#64748b);font-size:13px}.teacher-portal-root[data-portal-theme=dark] .sp-notif-item,.student-portal-root[data-portal-theme=dark] .sp-notif-item{background:var(--sp-surface,#0f172a);border-color:#ffffff1a}.teacher-portal-root[data-portal-theme=dark] .sp-notif-page-title,.student-portal-root[data-portal-theme=dark] .sp-notif-page-title{color:var(--sp-text,#f1f5f9)}.teacher-portal-root[data-portal-theme=dark] .sp-notif-filter,.student-portal-root[data-portal-theme=dark] .sp-notif-filter{color:var(--sp-text,#e2e8f0)}.sp-fb{flex-direction:column;gap:1.25rem;max-width:900px;display:flex}.sp-fb-head{flex-direction:column;gap:.35rem;display:flex}.sp-fb-head--form{margin-bottom:.25rem}.sp-fb-back{color:var(--erp-blue,#004b8d);width:fit-content;font-size:13px;font-weight:700;text-decoration:none}.student-portal-root[data-portal-theme=dark] .sp-fb-back{color:#93c5fd}.sp-fb-page-title{color:var(--sp-text,#0f172a);margin:0;font-size:1.35rem;font-weight:800}.sp-fb-page-sub{color:var(--sp-muted,#64748b);margin:0;font-size:13px}.sp-fb-section-title{color:var(--sp-text,#0f172a);align-items:center;gap:.5rem;margin:0 0 .65rem;font-size:1rem;font-weight:800;display:flex}.sp-fb-section-count{color:var(--sp-muted,#64748b);background:#94a3b833;border-radius:999px;padding:.1rem .45rem;font-size:12px;font-weight:800}.sp-fb-grid{grid-template-columns:1fr;gap:.85rem;display:grid}@media (width>=720px){.sp-fb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.sp-fb-card{border:1px solid var(--sp-border,#94a3b859);background:var(--sp-surface,#fff);border-radius:14px;flex-direction:column;gap:.5rem;padding:1rem 1.05rem;display:flex}.student-portal-root[data-portal-theme=dark] .sp-fb-card{background:var(--sp-surface,#0f172a);border-color:#ffffff1a}.sp-fb-card--pending{border-left:4px solid var(--erp-blue,#004b8d)}.sp-fb-card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.sp-fb-card-title{color:var(--sp-text,#0f172a);margin:0;font-size:1rem;font-weight:800;line-height:1.3}.sp-fb-badge{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:6px;padding:.12rem .45rem;font-size:10px;font-weight:800;display:inline-flex}.sp-fb-badge--pending{color:#1d4ed8;background:#3b82f626}.sp-fb-badge--submitted{color:#15803d;background:#16a34a24}.sp-fb-badge--expired{color:#475569;background:#64748b2e}.sp-fb-badge--upcoming{color:#a16207;background:#eab3082e}.sp-fb-card-type{color:var(--erp-blue,#004b8d);margin:0;font-size:12px;font-weight:700}.sp-fb-card-desc{color:var(--sp-muted,#64748b);margin:0;font-size:13px;line-height:1.45}.sp-fb-card-meta{grid-template-columns:1fr;gap:.35rem;margin:0;font-size:12px;display:grid}@media (width>=480px){.sp-fb-card-meta{grid-template-columns:1fr 1fr}}.sp-fb-card-meta dt{color:var(--sp-muted,#94a3b8);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:10px;font-weight:800}.sp-fb-card-meta dd{color:var(--sp-text,#0f172a);margin:.1rem 0 0}.sp-fb-card-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.35rem;display:flex}.sp-fb-card-hint{color:var(--sp-muted,#64748b);font-size:12px}.sp-fb-btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;min-height:38px;padding:0 1rem;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.sp-fb-btn--primary{background:var(--erp-blue,#004b8d);color:#fff}.sp-fb-btn--secondary{color:var(--erp-blue,#004b8d);background:0 0;border:1px solid #94a3b866}.student-portal-root[data-portal-theme=dark] .sp-fb-btn--secondary{color:#93c5fd}.sp-fb-btn:disabled{opacity:.55;cursor:not-allowed}.sp-fb-empty,.sp-fb-banner{border-radius:12px;margin:0;padding:.85rem 1rem;font-size:14px}.sp-fb-empty{color:var(--sp-muted,#64748b);border:1px dashed #94a3b873}.sp-fb-banner{background:rgb(var(--erp-blue-rgb) / 8%);border:1px solid rgb(var(--erp-blue-rgb) / 25%);color:var(--sp-text,#0f172a)}.sp-fb-form-intro{border:1px solid var(--sp-border,#94a3b84d);background:#94a3b80d;border-radius:12px;padding:1rem}.sp-fb-form-desc{white-space:pre-wrap;color:var(--sp-text,#334155);margin:0 0 .75rem;font-size:14px;line-height:1.55}.sp-fb-form-dates{grid-template-columns:1fr;gap:.5rem;margin:0;font-size:12px;display:grid}@media (width>=520px){.sp-fb-form-dates{grid-template-columns:repeat(3,1fr)}}.sp-fb-form-dates dt{text-transform:uppercase;color:var(--sp-muted,#94a3b8);margin:0;font-size:10px;font-weight:800}.sp-fb-form-dates dd{color:var(--sp-text,#0f172a);margin:.15rem 0 0;font-weight:700}.sp-fb-form{flex-direction:column;gap:1rem;display:flex}.sp-fb-question{border:1px solid var(--sp-border,#94a3b84d);background:var(--sp-surface,#fff);border-radius:12px;padding:1rem}.student-portal-root[data-portal-theme=dark] .sp-fb-question{background:var(--sp-surface,#0f172a);border-color:#ffffff1a}.sp-fb-question--error{border-color:#dc2626}.sp-fb-question-prompt{color:var(--sp-text,#0f172a);margin:0 0 .65rem;font-size:14px;font-weight:700}.sp-fb-required{color:#dc2626}.sp-fb-rating-labels{color:var(--sp-muted,#64748b);justify-content:space-between;margin:0 0 .4rem;font-size:11px;display:flex}.sp-fb-rating-scale{flex-wrap:wrap;gap:.35rem;display:flex}.sp-fb-rating-btn{min-width:40px;min-height:40px;color:var(--sp-text,#0f172a);cursor:pointer;background:0 0;border:1px solid #94a3b866;border-radius:10px;font-weight:800}.sp-fb-rating-btn--active{background:var(--erp-blue,#004b8d);border-color:var(--erp-blue,#004b8d);color:#fff}.sp-fb-rating-btn:disabled{cursor:default;opacity:.85}.sp-fb-yesno{gap:1rem;display:flex}.sp-fb-yesno-opt{color:var(--sp-text,#0f172a);align-items:center;gap:.35rem;font-size:14px;display:inline-flex}.sp-fb-choices{flex-direction:column;gap:.4rem;display:flex}.sp-fb-choice{color:var(--sp-text,#0f172a);cursor:pointer;border:1px solid #94a3b84d;border-radius:10px;align-items:center;gap:.5rem;padding:.55rem .65rem;font-size:14px;display:flex}.sp-fb-textarea{background:var(--sp-surface,#fff);width:100%;min-height:100px;color:var(--sp-text,#0f172a);resize:vertical;border:1px solid #94a3b866;border-radius:10px;padding:.65rem .75rem;font-size:14px}.student-portal-root[data-portal-theme=dark] .sp-fb-textarea{background:#ffffff0a;border-color:#ffffff1f}.sp-fb-field-error{color:#dc2626;margin:.4rem 0 0;font-size:12px;font-weight:700}.sp-fb-submit{align-self:flex-start;margin-top:.25rem}.sp-fb-skel{background:#94a3b842;border-radius:8px;display:block}.student-portal-root[data-portal-theme=dark] .sp-fb-skel{background:#ffffff1f}.sp-fb-card--skel{min-height:160px}.sp-fb-skel--title{width:42%;height:22px}.sp-fb-skel--sub{width:70%;height:12px}.sp-fb-skel--section-title{width:36%;height:16px;margin-bottom:.5rem}.sp-fb-skel--card-title{width:75%;height:16px}.sp-fb-skel--card-line{width:100%;height:12px}.sp-fb-skel--card-line.sp-fb-skel--short{width:60%}.sp-fb-skel--card-btn{width:120px;height:36px;margin-top:.35rem}.sp-fb-skel--desc{width:100%;height:64px}.sp-fb-skel--q-prompt{width:80%;height:14px;margin-bottom:.5rem}.sp-fb-skel--q-input{width:100%;height:48px}.erp-date-field{width:100%;position:relative}.erp-date-trigger{background:var(--sp-surface,#fff);width:100%;min-height:42px;color:var(--sp-text,#0f172a);text-align:left;cursor:pointer;border:1px solid #94a3b866;border-radius:10px;align-items:center;gap:.5rem;padding:0 .75rem;font-size:14px;display:flex}.student-portal-root[data-portal-theme=dark] .erp-date-trigger{background:#ffffff0a;border-color:#ffffff1f}.erp-date-trigger:disabled{opacity:.6;cursor:not-allowed}.erp-date-trigger-placeholder{color:var(--sp-muted,#94a3b8)}.erp-date-popover{z-index:50;background:var(--sp-surface,#fff);border:1px solid #94a3b859;border-radius:12px;width:min(300px,100%);padding:.65rem;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 12px 32px #0f172a24}.student-portal-root[data-portal-theme=dark] .erp-date-popover{background:var(--sp-surface,#0f172a);border-color:#ffffff1f}.erp-date-popover-head{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.erp-date-month-label{color:var(--sp-text,#0f172a);font-size:13px;font-weight:800}.erp-date-nav{width:32px;height:32px;color:var(--sp-muted,#64748b);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.erp-date-weekdays{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;display:grid}.erp-date-weekday{text-align:center;color:var(--sp-muted,#94a3b8);font-size:10px;font-weight:800}.erp-date-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.erp-date-cell{min-height:34px;color:var(--sp-text,#0f172a);cursor:pointer;background:0 0;border:none;border-radius:8px;font-size:13px;font-weight:600}.erp-date-cell--selected{background:var(--erp-blue,#004b8d);color:#fff}.erp-date-cell--empty{pointer-events:none}.sp-profile{flex-direction:column;gap:1.25rem;max-width:1100px;display:flex}.sp-profile-head{flex-direction:column;align-items:flex-start;gap:.4rem;display:flex}.sp-profile-page-title{color:var(--sp-text,#0f172a);margin:0;font-size:1.35rem;font-weight:800}.sp-profile-page-sub{color:var(--sp-muted,#64748b);margin:0;font-size:13px}.sp-profile-password-btn{min-height:38px;color:var(--erp-blue,#004b8d);cursor:pointer;background:0 0;border:1px solid #94a3b866;border-radius:10px;align-items:center;gap:.35rem;margin-top:.35rem;padding:0 .85rem;font-size:13px;font-weight:800;display:inline-flex}.student-portal-root[data-portal-theme=dark] .sp-profile-password-btn{color:#e2e8f0;background:#ffffff0d;border-color:#ffffff29}.sp-profile-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=900px){.sp-profile-grid{grid-template-columns:1.1fr .9fr;align-items:start}}.sp-profile-card{border:1px solid var(--sp-border,#94a3b859);background:var(--sp-surface,#fff);border-radius:14px;padding:1.1rem 1.15rem 1.25rem}.student-portal-root[data-portal-theme=dark] .sp-profile-card{background:var(--sp-surface,#0f172a);border-color:#ffffff1a}.sp-profile-card-title{color:var(--sp-text,#0f172a);margin:0 0 .85rem;font-size:1.05rem;font-weight:800}.sp-profile-card-hint{color:var(--sp-muted,#64748b);margin:-.5rem 0 .75rem;font-size:12px}.sp-profile-photo{border-bottom:1px solid #94a3b838;flex-direction:column;align-items:center;gap:.65rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.sp-profile-avatar{--avatar-size:96px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sp-profile-avatar .erp-avatar-ring{width:var(--avatar-size);height:var(--avatar-size);box-sizing:border-box;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sp-profile-avatar .erp-avatar-inner{width:calc(var(--avatar-size) - var(--avatar-ring) * 2);height:calc(var(--avatar-size) - var(--avatar-ring) * 2);flex-shrink:0}.student-portal-root[data-portal-theme=dark] .sp-profile-avatar .erp-avatar-ring{background:#ffffff0f;box-shadow:0 0 0 1px #ffffff24}.student-portal-root[data-portal-theme=dark] .sp-profile-avatar.erp-avatar--initials .erp-avatar-inner{background:#ffffff1a}.student-portal-root[data-portal-theme=dark] .sp-profile-avatar .erp-avatar-initials{color:#f1f5f9}.sp-profile-photo-name{color:var(--sp-text,#0f172a);margin:0;font-size:15px;font-weight:800}.sp-profile-photo-actions{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.sp-profile-photo-btn{min-height:32px;color:var(--sp-text,#334155);cursor:pointer;background:0 0;border:1px solid #94a3b859;border-radius:8px;align-items:center;gap:.25rem;padding:0 .55rem;font-size:11px;font-weight:800;display:inline-flex}.student-portal-root[data-portal-theme=light] .sp-profile-photo-btn{color:var(--erp-blue,#004b8d)}.student-portal-root[data-portal-theme=dark] .sp-profile-photo-btn{color:#e2e8f0;background:#ffffff0d;border-color:#ffffff29}.student-portal-root[data-portal-theme=dark] .sp-profile-photo-btn:hover{background:#ffffff1a}.student-portal-root[data-portal-theme=dark] .sp-profile-photo-name{color:#f1f5f9}.sp-profile-photo-btn--danger{color:#dc2626;border-color:#dc262659}.sp-profile-form{grid-template-columns:1fr;gap:.75rem;display:grid}@media (width>=560px){.sp-profile-form{grid-template-columns:1fr 1fr}.sp-profile-field--full{grid-column:1/-1}}.sp-profile-field{flex-direction:column;gap:.3rem;display:flex}.sp-profile-field span{text-transform:uppercase;letter-spacing:.04em;color:var(--sp-muted,#64748b);font-size:11px;font-weight:800}.sp-profile-input,.sp-profile-textarea{background:var(--sp-surface,#fff);width:100%;min-height:42px;color:var(--sp-text,#0f172a);border:1px solid #94a3b866;border-radius:10px;padding:.55rem .75rem;font-size:14px}.student-portal-root[data-portal-theme=dark] .sp-profile-input,.student-portal-root[data-portal-theme=dark] .sp-profile-textarea{background:#ffffff0a;border-color:#ffffff1f}.sp-profile-input--readonly{color:var(--sp-muted,#64748b);background:#94a3b814}.sp-profile-textarea{resize:vertical;min-height:88px}.sp-profile-date-field{width:100%}.sp-profile-save-btn{background:var(--erp-blue,#004b8d);color:#fff;cursor:pointer;border:none;border-radius:10px;grid-column:1/-1;min-height:42px;padding:0 1.25rem;font-size:14px;font-weight:800}.sp-profile-save-btn:disabled{opacity:.55;cursor:not-allowed}.sp-profile-academic-grid{grid-template-columns:1fr;gap:.65rem;margin:0;display:grid}@media (width>=480px){.sp-profile-academic-grid{grid-template-columns:1fr 1fr}}.sp-profile-academic-grid dt{text-transform:uppercase;letter-spacing:.04em;color:var(--sp-muted,#94a3b8);margin:0;font-size:10px;font-weight:800}.sp-profile-academic-grid dd{color:var(--sp-text,#0f172a);margin:.12rem 0 0;font-size:14px;font-weight:700}.sp-profile-sem-index{color:var(--sp-muted,#64748b);font-size:12px;font-weight:600}.sp-profile-skel{background:#94a3b842;border-radius:8px;display:block}.student-portal-root[data-portal-theme=dark] .sp-profile-skel{background:#ffffff1f}.sp-profile-card--skel{min-height:280px}.sp-profile-skel--title{width:40%;height:22px}.sp-profile-skel--sub{width:65%;height:12px}.sp-profile-skel--card-title{width:50%;height:16px;margin-bottom:.75rem}.sp-profile-skel--avatar{border-radius:50%;width:96px;height:96px;margin:0 auto .75rem}.sp-profile-skel--field{width:100%;height:38px;margin-bottom:.4rem}.sp-app{gap:1.25rem;width:100%;min-width:0;display:grid}.sp-app-head{gap:.35rem;display:grid}.sp-app-page-sub{color:var(--sp-muted,#64748b);margin:0;font-size:13px;line-height:1.55}.sp-app-card{border:1px solid var(--sp-border,#94a3b859);background:var(--sp-surface,#fff);border-radius:14px;padding:1rem 1.05rem;overflow:visible;box-shadow:0 8px 24px #0f172a0d}.student-portal-root[data-portal-theme=dark] .sp-app-card{background:#ffffff08;border-color:#ffffff1a}.student-portal-root[data-portal-theme=dark] .sp-app-card-title,.student-portal-root[data-portal-theme=dark] .sp-app-section-title{color:#f1f5f9}.sp-app-card-title,.sp-app-section-title{letter-spacing:-.02em;color:var(--erp-blue,#004b8d);margin:0 0 .85rem;font-size:15px;font-weight:800}.sp-app-form{gap:.75rem;display:grid}.sp-app-field{flex-direction:column;gap:.3rem;display:flex}.sp-app-field span{text-transform:uppercase;letter-spacing:.04em;color:var(--sp-muted,#64748b);font-size:11px;font-weight:800}.sp-app-input,.sp-app-textarea,.sp-app-select-trigger{border-radius:10px;width:100%;min-height:42px;padding:.55rem .75rem;font-size:14px;font-weight:600;background:var(--sp-surface,#fff)!important;color:var(--sp-text,#0f172a)!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border:1px solid #94a3b866!important}.sp-app-select-field{position:relative}.sp-app-select-field.is-open{z-index:30}.sp-app-select-trigger{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:.5rem;display:inline-flex}.sp-app-select-chevron{color:var(--sp-muted,#64748b);flex-shrink:0;transition:transform .15s}.sp-app-select-chevron.is-open{transform:rotate(180deg)}.sp-app-select-menu{z-index:24;overscroll-behavior:contain;background:var(--sp-surface,#fff);border:1px solid #94a3b859;border-radius:10px;max-height:min(280px,48vh);margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 40px #0f172a1f}.sp-app-select-option{width:100%;min-height:40px;color:var(--sp-text,#0f172a);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .65rem;font-size:14px;font-weight:600;display:flex}.student-portal-root[data-portal-theme=light] .sp-app-select-chevron{color:var(--erp-blue,#004b8d)}.student-portal-root[data-portal-theme=light] .sp-app-select-option:hover,.student-portal-root[data-portal-theme=light] .sp-app-select-option.is-selected{color:var(--erp-blue,#004b8d);background:#004b8d1a}.student-portal-root[data-portal-theme=light] .sp-app-input:focus,.student-portal-root[data-portal-theme=light] .sp-app-textarea:focus,.student-portal-root[data-portal-theme=light] .sp-app-select-trigger:focus,.student-portal-root[data-portal-theme=light] .sp-app-select-field.is-open .sp-app-select-trigger{outline:none;border-color:#004b8d8c!important;box-shadow:0 0 0 3px #004b8d1f!important}.student-portal-root[data-portal-theme=dark] .sp-app-input,.student-portal-root[data-portal-theme=dark] .sp-app-textarea,.student-portal-root[data-portal-theme=dark] .sp-app-select-trigger{background:var(--bg3)!important;border-color:var(--bd2)!important;color:var(--t1)!important}.student-portal-root[data-portal-theme=dark] .sp-app-select-chevron{color:var(--t2)!important}.student-portal-root[data-portal-theme=dark] .sp-app-select-menu{box-shadow:0 18px 44px #00000073;background:var(--bg3)!important;border-color:var(--bd2)!important}.student-portal-root[data-portal-theme=dark] .sp-app-select-option{color:var(--t1)!important}.student-portal-root[data-portal-theme=dark] .sp-app-select-option:hover,.student-portal-root[data-portal-theme=dark] .sp-app-select-option.is-selected{background:var(--accent-bg)!important;color:var(--t1)!important}.student-portal-root[data-portal-theme=dark] .sp-app-input:focus,.student-portal-root[data-portal-theme=dark] .sp-app-textarea:focus,.student-portal-root[data-portal-theme=dark] .sp-app-select-trigger:focus,.student-portal-root[data-portal-theme=dark] .sp-app-select-field.is-open .sp-app-select-trigger,.student-portal-root[data-portal-theme=dark] .sp-app-select-trigger[aria-expanded=true]{outline:none;border-color:var(--bd3)!important;box-shadow:0 0 0 2px var(--accent-bg)!important}@media (width<=640px){.student-portal-root .sp-app-input,.student-portal-root .sp-app-textarea,.student-portal-root .sp-app-select-trigger{scroll-margin-top:calc(var(--portal-topbar-height,76px) + 12px);scroll-margin-bottom:16px;font-size:16px}}.sp-app-textarea{resize:vertical;min-height:120px}.sp-app-submit{background:var(--erp-blue,#004b8d);color:#fff;cursor:pointer;border:none;border-radius:10px;min-height:42px;padding:0 1.25rem;font-size:14px;font-weight:800}.student-portal-root[data-portal-theme=dark] .sp-app-submit{background:var(--inv,#fff);color:var(--inv-t,#000)}.student-portal-root[data-portal-theme=dark] .sp-app-submit:disabled{color:#ffffff73;background:#ffffff24}.sp-app-submit:disabled{opacity:.55;cursor:not-allowed}.sp-app-list-section,.sp-app-list{gap:.75rem;display:grid}.sp-app-request-card{border:1px solid var(--sp-border,#94a3b859);background:var(--sp-surface,#fff);border-radius:14px;padding:1rem 1.05rem}.student-portal-root[data-portal-theme=dark] .sp-app-request-card{background:#ffffff08;border-color:#ffffff1a}.sp-app-request-badges{flex-wrap:wrap;gap:.45rem;margin-bottom:.45rem;display:flex}.sp-app-request-category{letter-spacing:.04em;text-transform:uppercase;color:var(--erp-blue,#004b8d);background:#004b8d1a;border-radius:999px;padding:.2rem .55rem;font-size:10px;font-weight:800}.sp-app-request-status{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;padding:.2rem .55rem;font-size:10px;font-weight:800}.sp-app-request-status--pending,.sp-app-request-status--in_review{color:#92400e;background:#fef3c7}.sp-app-request-status--approved{color:#166534;background:#dcfce7}.sp-app-request-status--rejected{color:#991b1b;background:#fee2e2}.sp-app-request-status--closed{color:#475569;background:#e2e8f0}.sp-app-request-title{color:var(--sp-text,#0f172a);margin:0;font-size:15px;font-weight:800}.sp-app-request-message{color:var(--sp-muted,#64748b);white-space:pre-wrap;margin:.55rem 0 0;font-size:13px;line-height:1.55}.sp-app-request-meta{gap:.55rem;margin:.75rem 0 0;display:grid}.sp-app-request-meta dt{text-transform:uppercase;letter-spacing:.04em;color:var(--sp-muted,#94a3b8);margin:0;font-size:10px;font-weight:800}.sp-app-request-meta dd{color:var(--sp-text,#0f172a);margin:.12rem 0 0;font-size:13px;font-weight:600}.sp-app-empty{color:var(--sp-muted,#64748b);text-align:center;border:1px dashed #94a3b873;border-radius:12px;margin:0;padding:1rem;font-size:14px}.sp-app-empty--error{color:#be123c;border-style:solid;border-color:#e11d4847}.sp-app-skel{background:#94a3b842;border-radius:8px;display:block}.student-portal-root[data-portal-theme=dark] .sp-app-skel{background:#ffffff1f}.sp-app-card--skel{gap:.65rem;display:grid}.sp-app-skel--lead{width:min(100%,520px);height:14px}.sp-app-skel--title{width:42%;height:18px}.sp-app-skel--field{width:100%;height:42px}.sp-app-skel--textarea{width:100%;height:120px}.sp-app-skel--btn{width:100%;height:42px}.sp-app-skel--section-title{width:34%;height:18px}.sp-app-skel--card{border-radius:14px;width:100%;height:140px}.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}.login-page{color:#0f172a;box-sizing:border-box;background:#fff;min-height:100dvh;padding:clamp(20px,4vw,40px)}.login-page-grid,.login-page-shell{align-items:start;gap:clamp(20px,3vw,28px);width:min(980px,100%);margin:0 auto;display:grid}.login-page-shell{gap:clamp(24px,3.5vw,32px)}.login-panel{gap:1.35rem;width:100%;min-width:0;display:grid}.login-hero{gap:.65rem;display:grid}.login-title{letter-spacing:-.04em;color:#0f172a;margin:0;font-size:clamp(2rem,5vw,2.65rem);font-weight:800;line-height:1.08}.login-title-muted{color:#94a3b8}.login-lead{color:#64748b;max-width:34rem;margin:0;font-size:14px;line-height:1.6}.login-demo-heading{letter-spacing:-.01em;color:#475569;margin:0;font-size:15px;font-weight:700}.login-demo-disclaimer{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;max-width:100%;margin:.25rem 0 0;padding:.75rem 1rem;font-size:13px;line-height:1.55}.login-demo-disclaimer strong{color:#475569;font-weight:700}.login-password-wrap{display:grid;position:relative}.login-input--password{padding-right:2.75rem}.login-password-toggle{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;position:absolute;top:50%;right:.55rem;transform:translateY(-50%)}.login-password-toggle:hover{color:#0f172a;background:#eef2f7}.login-demo-groups{gap:1.35rem;width:100%;display:grid}.login-demo-group{gap:.65rem;display:grid}.login-demo-group-label{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin:0;font-size:11px;font-weight:800}.login-form{gap:.85rem;display:grid}.login-manual-form{max-width:420px}.login-divider{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;align-items:center;gap:.75rem;margin:0;font-size:11px;font-weight:700;display:flex}.login-divider:before,.login-divider:after{content:"";background:#e2e8f0;flex:1;height:1px}.login-divider span{white-space:nowrap}.login-field{gap:.35rem;display:grid}.login-field span{letter-spacing:.1em;text-transform:uppercase;color:#94a3b8;font-size:10px;font-weight:800}.login-input{border-radius:10px;outline:none;width:100%;min-height:46px;padding:.65rem .85rem;font-size:15px;font-weight:600;color:#0f172a!important;box-shadow:none!important;background:#f8fafc!important;border:1px solid #e2e8f0!important}.login-input:focus{background:#fff!important;border-color:#cbd5e1!important}.login-error{color:#b91c1c;background:#fef2f2;border-radius:10px;margin:0;padding:.65rem .75rem;font-size:13px;line-height:1.45}.login-submit{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:10px;width:100%;min-height:48px;margin-top:.15rem;font-size:15px;font-weight:700}.login-submit:disabled{opacity:.55;cursor:not-allowed}.login-forgot{color:#64748b;cursor:pointer;background:0 0;border:none;justify-self:center;padding:.25rem;font-size:13px;font-weight:600}.login-demo-grid{grid-template-columns:repeat(1,minmax(0,1fr));gap:.75rem;display:grid}@media (width>=640px){.login-demo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=900px){.login-demo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.login-demo-box{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;gap:.45rem;width:100%;padding:1rem 1.05rem;transition:border-color .15s,box-shadow .15s;display:grid}.login-demo-box:hover:not(:disabled){border-color:#cbd5e1;box-shadow:0 10px 28px #0f172a0f}.login-demo-box.is-active,.login-demo-box:focus-visible{border-color:#0f172a;outline:none;box-shadow:0 0 0 1px #0f172a}.login-demo-box:disabled{opacity:.6;cursor:not-allowed}.login-demo-box--admin{border-color:#004b8d38}.login-demo-box--teacher{border-color:#0f172a24}.login-demo-box--student{border-color:#0e749038}.login-demo-box-kind{letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;margin:0;font-size:10px;font-weight:800}.login-demo-box-title{letter-spacing:-.03em;color:#0f172a;margin:0;font-size:clamp(1.25rem,2.5vw,1.5rem);font-weight:800}.login-demo-box-desc{color:#64748b;margin:0;font-size:12px;line-height:1.5}.login-demo-box-creds{background:#f8fafc;border:1px solid #eef2f7;border-radius:10px;gap:.45rem;margin:.15rem 0 0;padding:.65rem .7rem;display:grid}.login-demo-box-creds div{gap:.1rem;display:grid}.login-demo-box-creds dt{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin:0;font-size:9px;font-weight:800}.login-demo-box-creds dd{color:#0f172a;word-break:break-all;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;font-weight:700}.login-demo-box-action{color:#0f172a;margin-top:.15rem;font-size:13px;font-weight:700}.login-alt-flow{gap:1.25rem;display:grid}.login-roles{gap:.85rem;min-width:0;display:grid}.login-roles-intro{color:#64748b;margin:0;font-size:13px;line-height:1.5}.login-role-list{gap:.75rem;display:grid}.login-role-block{gap:.45rem;display:grid}.login-role-section-label{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin:.35rem 0 0;font-size:10px;font-weight:800}.login-role-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;gap:.45rem;width:100%;padding:1rem 1.05rem;transition:border-color .15s,box-shadow .15s;display:grid}.login-role-card:hover:not(:disabled){border-color:#cbd5e1;box-shadow:0 10px 28px #0f172a0f}.login-role-card.is-active,.login-role-card:focus-visible{border-color:#0f172a;outline:none;box-shadow:0 0 0 1px #0f172a}.login-role-card:disabled{opacity:.6;cursor:not-allowed}.login-role-card-meta{letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;margin:0;font-size:10px;font-weight:800}.login-role-card-title{letter-spacing:-.03em;color:#0f172a;margin:0;font-size:clamp(1.35rem,3vw,1.65rem);font-weight:800}.login-role-card-desc{color:#64748b;margin:0;font-size:13px;line-height:1.55}.login-role-badges{flex-wrap:wrap;gap:.4rem;margin-top:.15rem;display:flex}.login-role-badge{color:#0f172a;letter-spacing:.04em;background:#fff;border:1px solid #0f172a;border-radius:4px;align-items:center;min-height:24px;padding:.15rem .45rem;font-size:11px;font-weight:800;display:inline-flex}@media (width<=639px){.login-page{padding-bottom:max(24px, env(safe-area-inset-bottom))}}.db-syllabus-hint{color:#64748b;margin:-4px 0 10px;font-size:12px;font-weight:600}.tp-syllabus-hint{margin:-2px 0 10px}.tp-syllabus-topic-no{color:var(--t3,#64748b);margin-right:6px;font-size:11px;font-weight:700;display:inline-block}.db-syllabus-topics{gap:8px;margin:4px 0 8px;display:grid}.db-syllabus-topics-label{text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-size:11px;font-weight:800}.db-syllabus-topic-row{grid-template-columns:72px 1fr 36px;align-items:center;gap:8px;display:grid}.db-syllabus-topic-num{color:#475569;font-size:12px;font-weight:700}.db-syllabus-topic-del{color:#b91c1c;cursor:pointer;background:#fef2f2;border:1px solid #dc26264d;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.db-syllabus-add-topic,.db-syllabus-add-unit-btn{align-items:center;gap:6px;width:fit-content;display:inline-flex}.tp-subjects-section-field{margin-bottom:4px}.tp-subjects-section-field .form-select,.tp-subjects-section-field select{width:100%}.tp-subjects-add-form{gap:12px;display:grid}.tp-subjects-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.tp-subjects-row{border-bottom:1px solid var(--bd,#e5e7eb);flex-direction:column;align-items:stretch;gap:10px;padding:14px 0;display:flex}.tp-subjects-row:first-child{padding-top:4px}.tp-subjects-row:last-child{border-bottom:none;padding-bottom:0}.tp-subjects-meta{gap:4px;min-width:0;display:grid}.tp-subjects-meta strong{color:var(--t1,#0f172a);font-weight:700}.tp-subjects-meta span{color:var(--t3,#64748b);font-size:12px}.tp-subjects-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tp-subjects-action-btn{min-height:36px;padding:0 14px;font-size:13px}.tp-subjects-glass-btn{cursor:pointer;border-radius:12px;justify-content:center;align-items:center;min-height:36px;padding:0 14px;font-size:13px;font-weight:700;transition:border-color .15s,background .15s,box-shadow .15s,transform .15s;display:inline-flex}.tp-subjects-glass-btn:disabled{opacity:.55;cursor:not-allowed}.tp-subjects-glass-btn--danger{color:#b91c1c;-webkit-backdrop-filter:blur(12px);background:linear-gradient(135deg,#fee2e2c7,#fecaca85);border:1px solid #f871716b}.tp-subjects-glass-btn--danger:hover:not(:disabled){background:linear-gradient(135deg,#fecacae0,#fca5a59e);border-color:#ef44448c}.tp-subjects-glass-btn--danger:active:not(:disabled){transform:translateY(1px)}.tp-subjects-edit{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.tp-subjects-edit .db-input{flex:160px;min-width:0}.ops-page{color:#f4f8fc;background:linear-gradient(160deg,#0a1628 0%,#0d2847 45%,#004b8d 100%);min-height:100vh;padding:1.25rem 1rem 2.5rem}.ops-shell{flex-direction:column;gap:1.25rem;max-width:1100px;margin:0 auto;display:flex}.ops-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.ops-eyebrow{letter-spacing:.08em;text-transform:uppercase;opacity:.75;margin:0 0 .25rem;font-size:.75rem}.ops-header h1{margin:0;font-size:clamp(1.5rem,4vw,2rem)}.ops-lead{opacity:.85;max-width:36rem;margin:.35rem 0 0}.ops-header-actions{flex-wrap:wrap;gap:.5rem;display:flex}.ops-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.ops-stat-card{appearance:none;text-align:left;color:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:12px;padding:1rem}.ops-stat-card--static{cursor:default}.ops-breakdown{background:#ffffff0f;border:1px solid #ffffff2e;border-radius:12px;padding:1rem}.ops-breakdown-head h2{margin:0;font-size:1.05rem}.ops-breakdown-meta{opacity:.75;margin:.25rem 0 0;font-size:.85rem}.ops-breakdown-empty{opacity:.8;margin:0;font-size:.9rem}.ops-breakdown-days{gap:.5rem;display:grid}.ops-breakdown-day{border:1px solid #ffffff1f;border-radius:10px;overflow:hidden}.ops-breakdown-day.is-expanded{border-color:#ffffff47}.ops-breakdown-day-btn{width:100%;color:inherit;text-align:left;cursor:pointer;font:inherit;background:#ffffff0a;border:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex}.ops-breakdown-day-btn:hover{background:#ffffff1a}.ops-breakdown-day-label{font-weight:600}.ops-breakdown-day-count{text-align:center;background:#ffffff24;border-radius:999px;min-width:2rem;padding:.15rem .55rem;font-weight:700}.ops-breakdown-hours{gap:.35rem;margin:0;padding:.35rem .5rem .55rem;list-style:none;display:grid}.ops-breakdown-hour-btn{width:100%;color:inherit;text-align:left;cursor:pointer;font:inherit;background:#0000001f;border:1px solid #ffffff1a;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .65rem;font-size:.88rem;display:flex}.ops-breakdown-hour-btn:hover,.ops-breakdown-hour-btn.is-active{background:#ffffff1f;border-color:#ffffff59}.ops-breakdown-hour-btn strong{text-align:right;min-width:1.75rem}.ops-stat-card.is-active,.ops-stat-card:hover:not(.ops-stat-card--static){background:#ffffff1f;border-color:#ffffff73}.ops-stat-value{font-size:2rem;font-weight:700;line-height:1.1;display:block}.ops-stat-label{margin-top:.25rem;font-weight:600;display:block}.ops-stat-hint{opacity:.7;margin-top:.15rem;font-size:.8rem;display:block}.ops-section-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.ops-section-head h2{margin:0;font-size:1.1rem}.ops-sessions.db-section,.ops-detail.db-section{color:#102033;background:#fffffff2;border-radius:12px;padding:1rem}.ops-session-list{gap:.65rem;display:grid}.ops-session-card{appearance:none;text-align:left;cursor:pointer;background:#fff;border:1px solid #d8e2ef;border-radius:10px;width:100%;padding:.85rem 1rem}.ops-session-card.is-selected{border-color:var(--erp-blue,#004b8d);box-shadow:0 0 0 1px var(--erp-blue,#004b8d)}.ops-session-card-top{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ops-badge{text-transform:uppercase;letter-spacing:.04em;color:#004b8d;background:#e8f1fb;border-radius:999px;padding:.15rem .45rem;font-size:.7rem}.ops-live-dot{background:#16a34a;border-radius:50%;width:8px;height:8px;margin-left:auto}.ops-session-meta{color:#4b5c70;margin:.25rem 0 0;font-size:.85rem}.ops-timeline{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.ops-timeline li{border-bottom:1px solid #e8eef5;grid-template-columns:minmax(7rem,auto) minmax(4rem,auto) 1fr;gap:.5rem;padding-bottom:.45rem;font-size:.85rem;display:grid}.ops-timeline-kind{color:#004b8d;font-weight:600}@media (width<=640px){.ops-timeline li{grid-template-columns:1fr}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}.portal-root .erp-sidebar.teacher-portal-sidebar,.portal-root .erp-sidebar.student-portal-sidebar,.erp-shell .erp-sidebar.teacher-portal-sidebar,.erp-shell .erp-sidebar.student-portal-sidebar{border-right:1px solid #e5e7eb;gap:0;overflow-x:hidden;width:var(--erp-sidebar-width,260px)!important;background:#fff!important;padding:0!important;box-shadow:10px 0 30px #0f172a0f!important}.portal-root .erp-sidebar.teacher-portal-sidebar--desktop,.portal-root .erp-sidebar.student-portal-sidebar--desktop{overscroll-behavior:contain;align-self:flex-start;height:100dvh;position:sticky;top:0;overflow-y:auto}:is(.portal-root,.erp-shell) :is(.erp-sidebar,.erp-mobile-drawer) .erp-sidebar-content{-ms-overflow-style:none;scrollbar-width:none;padding:0 12px 96px!important}:is(.portal-root,.erp-shell) :is(.erp-sidebar,.erp-mobile-drawer) .erp-brand{box-sizing:border-box;color:#fff;border-radius:0;justify-content:space-between;align-items:center;width:calc(100% + 24px);max-width:none;min-height:76px;margin:0 -12px 18px;padding:11px 16px;display:flex;background:var(--erp-blue)!important}:is(.portal-root,.erp-shell) :is(.erp-sidebar,.erp-mobile-drawer) .erp-brand-title{margin:0;line-height:1;color:#fff!important;letter-spacing:-.03em!important;font-size:21px!important;font-weight:800!important}:is(.portal-root,.erp-shell) :is(.erp-sidebar,.erp-mobile-drawer) .erp-brand-subtitle{letter-spacing:.08em;text-transform:uppercase;margin:5px 0 0;color:#ffffffb8!important;font-size:11px!important;font-weight:700!important}:is(.portal-root,.erp-shell) :is(.erp-sidebar,.erp-mobile-drawer) .erp-brand .erp-sidebar-close{border-color:#ffffff3d;color:#fff!important}:is(.portal-root,.erp-shell) :is(.erp-sidebar,.erp-mobile-drawer) .erp-brand .erp-sidebar-close:hover{border-color:#ffffff57;color:#fff!important;background:#ffffff24!important}:is(.portal-root,.erp-shell) :is(.erp-sidebar,.erp-mobile-drawer) .erp-dark-profile{align-items:center;gap:14px;margin-bottom:18px;display:flex;border:1px solid var(--erp-menu-border,rgb(var(--erp-blue-rgb) / 14%))!important;box-shadow:none!important;background:#f7faff!important;border-radius:20px!important;padding:14px!important}:is(.portal-root,.erp-shell) :is(.erp-sidebar,.erp-mobile-drawer) .erp-dark-profile-name{letter-spacing:-.04em;margin:0;color:#111827!important;font-size:16px!important;font-weight:700!important}:is(.portal-root,.erp-shell) :is(.erp-sidebar,.erp-mobile-drawer) .erp-dark-profile-meta{margin:3px 0 0;color:#6b7280!important;font-size:12px!important;font-weight:600!important}:is(.portal-root,.erp-shell) :is(.erp-sidebar,.erp-mobile-drawer) .erp-menu-groups{display:grid;gap:24px!important}:is(.portal-root,.erp-shell) :is(.erp-sidebar,.erp-mobile-drawer) .erp-menu-heading{text-transform:uppercase;color:#7b8797!important;letter-spacing:.16em!important;margin:0 0 8px!important;font-size:11px!important;font-weight:800!important}:is(.portal-root,.erp-shell) :is(.erp-sidebar,.erp-mobile-drawer) .erp-menu-list{display:grid;gap:6px!important}:is(.portal-root,.erp-shell) :is(.erp-sidebar,.erp-mobile-drawer) .erp-menu-button{letter-spacing:-.02em;cursor:pointer;justify-content:space-between;align-items:center;width:100%;min-height:48px;text-decoration:none;display:flex;border:1px solid var(--erp-menu-border,rgb(var(--erp-blue-rgb) / 14%))!important;color:#374151!important;background:#fff!important;border-radius:14px!important;padding:10px 14px!important;font-size:15px!important;font-weight:750!important}:is(.portal-root,.erp-shell) :is(.erp-sidebar,.erp-mobile-drawer) .erp-menu-button:hover,:is(.portal-root,.erp-shell) :is(.erp-sidebar,.erp-mobile-drawer) .erp-menu-button.active{border-color:rgb(var(--erp-blue-rgb) / 28%)!important;background:var(--erp-blue-soft)!important;color:var(--erp-blue)!important}:is(.portal-root,.erp-shell) :is(.erp-sidebar,.erp-mobile-drawer) .erp-menu-label{align-items:center;gap:12px;display:inline-flex}:is(.portal-root,.erp-shell) :is(.erp-sidebar,.erp-mobile-drawer) .erp-menu-label svg{box-sizing:border-box;place-items:center;min-width:30px;padding:6px;display:grid;border:1px solid rgb(var(--erp-blue-rgb) / 16%)!important;background:var(--erp-menu-icon-bg,#f4f8ff)!important;width:30px!important;height:30px!important;color:var(--erp-blue)!important;border-radius:10px!important}:is(.portal-root,.erp-shell) :is(.erp-sidebar,.erp-mobile-drawer) .erp-menu-button.active svg,:is(.portal-root,.erp-shell) :is(.erp-sidebar,.erp-mobile-drawer) .erp-menu-button:hover svg{color:var(--erp-blue)!important;border-color:rgb(var(--erp-blue-rgb) / 28%)!important}:is(.portal-root,.erp-shell) :is(.erp-sidebar,.erp-mobile-drawer) .erp-signout{cursor:pointer;width:100%;margin-top:24px;border:1px solid var(--erp-menu-border,rgb(var(--erp-blue-rgb) / 14%))!important;color:#374151!important;background:#fff!important;border-radius:16px!important;padding:10px 16px!important;font-size:14px!important;font-weight:700!important}:is(.portal-root,.erp-shell) :is(.erp-sidebar,.erp-mobile-drawer) .erp-signout:hover{color:#111827!important;background:#e8eef6!important}.portal-root[data-portal-theme=dark] .erp-sidebar.teacher-portal-sidebar,.portal-root[data-portal-theme=dark] .erp-sidebar.student-portal-sidebar,.erp-shell.dark .erp-sidebar.teacher-portal-sidebar,.erp-shell.dark .erp-sidebar.student-portal-sidebar{border-right-color:var(--bd)!important;background:var(--bg2)!important;box-shadow:10px 0 30px #00000059!important}.portal-root[data-portal-theme=dark] :is(.erp-sidebar,.erp-mobile-drawer) .erp-brand{background:var(--bg3)!important;border-bottom:1px solid var(--bd)!important}.portal-root[data-portal-theme=dark] :is(.erp-sidebar,.erp-mobile-drawer) .erp-brand-title{color:var(--t1)!important}.portal-root[data-portal-theme=dark] :is(.erp-sidebar,.erp-mobile-drawer) .erp-brand-subtitle{color:var(--t3)!important}.portal-root[data-portal-theme=dark] :is(.erp-sidebar,.erp-mobile-drawer) .erp-brand .erp-sidebar-close{border-color:var(--bd2)!important;color:var(--t1)!important}.portal-root[data-portal-theme=dark] :is(.erp-sidebar,.erp-mobile-drawer) .erp-brand .erp-sidebar-close:hover{background:var(--bg4)!important;color:var(--t1)!important}.portal-root[data-portal-theme=dark] :is(.erp-sidebar,.erp-mobile-drawer) .erp-dark-profile{background:var(--bg3)!important;border:1px solid var(--bd)!important}.portal-root[data-portal-theme=dark] :is(.erp-sidebar,.erp-mobile-drawer) .erp-dark-profile-name{color:var(--t1)!important}.portal-root[data-portal-theme=dark] :is(.erp-sidebar,.erp-mobile-drawer) .erp-dark-profile-meta{color:var(--t3)!important}.portal-root[data-portal-theme=dark] :is(.erp-sidebar,.erp-mobile-drawer) .erp-menu-heading{color:var(--t4)!important}.portal-root[data-portal-theme=dark] :is(.erp-sidebar,.erp-mobile-drawer) .erp-menu-button{border-color:var(--bd2)!important;background:var(--bg2)!important;color:var(--t2)!important}.portal-root[data-portal-theme=dark] :is(.erp-sidebar,.erp-mobile-drawer) .erp-menu-button:hover{border-color:var(--bd3)!important;background:var(--bg4)!important;color:var(--t1)!important}.portal-root[data-portal-theme=dark] :is(.erp-sidebar,.erp-mobile-drawer) .erp-menu-button.active{border-color:var(--inv)!important;background:var(--inv)!important;color:var(--inv-t)!important}.portal-root[data-portal-theme=dark] :is(.erp-sidebar,.erp-mobile-drawer) .erp-menu-label svg{border-color:var(--bd2)!important;background:var(--bg4)!important;color:var(--t1)!important}.portal-root[data-portal-theme=dark] :is(.erp-sidebar,.erp-mobile-drawer) .erp-menu-button:hover:not(.active) svg{color:var(--t1)!important}.portal-root[data-portal-theme=dark] :is(.erp-sidebar,.erp-mobile-drawer) .erp-menu-button.active svg{color:#0f172a!important;background:#f4f8ff!important}.portal-root[data-portal-theme=dark] :is(.erp-sidebar,.erp-mobile-drawer) .erp-signout,.erp-shell.dark :is(.erp-sidebar,.erp-mobile-drawer) .erp-signout{border-color:var(--bd2)!important;background:var(--bg3)!important;color:var(--t2)!important}.portal-root[data-portal-theme=dark] :is(.erp-sidebar,.erp-mobile-drawer) .erp-signout:hover,.erp-shell.dark :is(.erp-sidebar,.erp-mobile-drawer) .erp-signout:hover{background:var(--bg4)!important;color:var(--t1)!important}.portal-root[data-portal-theme=light]{--erp-bg:#fff;--erp-card:#fff;--erp-text:#111827;--erp-muted:#6b7280;--erp-border:#dfe7f1;--erp-shadow:0 12px 28px #0f172a14;background:var(--erp-bg);color:var(--erp-text)}.portal-root[data-portal-theme=light] .teacher-portal-content,.portal-root[data-portal-theme=light] .teacher-portal-content-inner,.portal-root[data-portal-theme=light] .student-portal-body,.portal-root[data-portal-theme=light] .student-portal-body-inner,.portal-root[data-portal-theme=light] .student-portal-layout,.portal-root[data-portal-theme=light] .portal-page-body{background:var(--erp-bg);color:var(--erp-text)}.portal-root[data-portal-theme=light] .sp-tt-corner,.portal-root[data-portal-theme=light] .sp-tt-dayhead,.portal-root[data-portal-theme=light] .sp-tt-periodhead,.portal-root[data-portal-theme=light] .sp-tt-daycol,.portal-root[data-portal-theme=light] .sp-tt-colhead{background-color:#fff!important}.portal-root[data-portal-theme=light] .sp-tt-td{background-color:#fff}.portal-root[data-portal-theme=dark] .sp-tt-corner,.portal-root[data-portal-theme=dark] .sp-tt-dayhead,.portal-root[data-portal-theme=dark] .sp-tt-periodhead,.portal-root[data-portal-theme=dark] .sp-tt-daycol,.portal-root[data-portal-theme=dark] .sp-tt-colhead{background-color:#0a0a0a!important}.portal-root[data-portal-theme=light] .db-section h2,.portal-root[data-portal-theme=light] .portal-page-header-eyebrow{color:var(--erp-blue)!important}.portal-root[data-portal-theme=light] .portal-page-header-title{color:#0f172a!important}.portal-root[data-portal-theme=light] .portal-page-header-desc{color:var(--erp-muted)!important}.portal-root[data-portal-theme=dark] .teacher-portal-content,.portal-root[data-portal-theme=dark] .teacher-portal-content-inner,.portal-root[data-portal-theme=dark] .portal-page-body{background:var(--bg);color:var(--t1)}.portal-root[data-portal-theme=dark] .db-workflow{background:var(--bg)!important;color:var(--t1)!important}.portal-root[data-portal-theme=dark] .db-workflow-body{background:0 0!important}.portal-root[data-portal-theme=dark] .db-section,.portal-root[data-portal-theme=dark] .db-card,.portal-root[data-portal-theme=dark] .db-panel,.portal-root[data-portal-theme=dark] .admin-panel,.portal-root[data-portal-theme=dark] .admin-stat-card,.portal-root[data-portal-theme=dark] .teacher-step-card,.portal-root[data-portal-theme=dark] .rounded-2xl.border.bg-white,.portal-root[data-portal-theme=dark] .rounded-xl.border.bg-white,.portal-root[data-portal-theme=dark] .rounded-xl.border.bg-slate-50,.portal-root[data-portal-theme=dark] section.rounded-2xl.border,.portal-root[data-portal-theme=dark] .tp-card{border-color:var(--bd)!important;background:var(--bg2)!important;color:var(--t1)!important;border-radius:13px!important;box-shadow:0 8px 24px #0000002e!important}.portal-root[data-portal-theme=dark] .db-section h2,.portal-root[data-portal-theme=dark] .db-section h3,.portal-root[data-portal-theme=dark] .db-branch-header h2,.portal-root[data-portal-theme=dark] .portal-page-header-title{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .portal-page-header-eyebrow{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .portal-page-header-desc{color:var(--t2)!important}.portal-root[data-portal-theme=dark] .text-slate-950,.portal-root[data-portal-theme=dark] .text-slate-900,.portal-root[data-portal-theme=dark] .text-slate-800,.portal-root[data-portal-theme=dark] .text-slate-700,.portal-root[data-portal-theme=dark] .font-extrabold.text-slate-950,.portal-root[data-portal-theme=dark] .font-bold.text-slate-950{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .text-slate-600,.portal-root[data-portal-theme=dark] .text-slate-500,.portal-root[data-portal-theme=dark] .text-slate-400,.portal-root[data-portal-theme=dark] .text-\[color\:var\(--erp-muted\)\]{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .bg-white,.portal-root[data-portal-theme=dark] .bg-slate-50{background:var(--bg3)!important}.portal-root[data-portal-theme=dark] .border-\[rgb\(var\(--erp-blue-rgb\)\/10\%\)\],.portal-root[data-portal-theme=dark] .border-\[rgb\(var\(--erp-blue-rgb\)\/12\%\)\],.portal-root[data-portal-theme=dark] .border-slate-200{border-color:var(--bd)!important}.portal-root[data-portal-theme=dark] .bg-\[var\(--erp-blue-soft\)\],.portal-root[data-portal-theme=dark] [class*=erp-blue-soft]{background:var(--bg4)!important;border-color:var(--bd2)!important;color:var(--t2)!important}.portal-root[data-portal-theme=dark] .text-\[color\:var\(--erp-blue\)\]{color:var(--t1)!important}.portal-root[data-portal-theme=dark] table,.portal-root[data-portal-theme=dark] thead,.portal-root[data-portal-theme=dark] tbody,.portal-root[data-portal-theme=dark] tr,.portal-root[data-portal-theme=dark] th,.portal-root[data-portal-theme=dark] td{border-color:var(--bd)!important;color:var(--t2)!important}.portal-root[data-portal-theme=dark] th{background:var(--bg3)!important;color:var(--t4)!important}.portal-root[data-portal-theme=dark] tr:hover td{background:var(--bg4)!important}.portal-root[data-portal-theme=dark] .db-input,.portal-root[data-portal-theme=dark] .db-select,.portal-root[data-portal-theme=dark] select,.portal-root[data-portal-theme=dark] textarea,.portal-root[data-portal-theme=dark] input[type=text],.portal-root[data-portal-theme=dark] input[type=email],.portal-root[data-portal-theme=dark] input[type=password],.portal-root[data-portal-theme=dark] input[type=number],.portal-root[data-portal-theme=dark] input[type=date],.portal-root[data-portal-theme=dark] input[type=search]{border-color:var(--bd2)!important;background:var(--bg3)!important;color:var(--t1)!important}.portal-root[data-portal-theme=dark] .db-empty,.portal-root[data-portal-theme=dark] .db-muted{color:var(--t4)!important}.portal-root[data-portal-theme=dark] .db-quick-stat{border-color:var(--bd)!important;background:var(--bg2)!important;color:var(--t1)!important}.portal-root[data-portal-theme=dark] .db-quick-stat span{color:var(--t4)!important}.portal-root[data-portal-theme=dark] .db-quick-stat strong{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .db-info{border-color:var(--bd2)!important;background:var(--bg3)!important}.portal-root[data-portal-theme=dark] .db-info span{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .db-info strong{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .db-archive-summary{background:#7f1d1d29!important;border:1px solid #f8717138!important}.portal-root[data-portal-theme=dark] .db-archive-summary p{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .db-archive-summary span{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .db-archive-summary button{color:#fff!important;background:#dc2626!important}.portal-root[data-portal-theme=dark] .db-archive-summary button:hover:not(:disabled){background:#b91c1c!important}.portal-root[data-portal-theme=dark] .db-wf-btn--primary,.portal-root[data-portal-theme=dark] .db-submit{background:var(--inv)!important;color:var(--inv-t)!important;border-color:var(--inv)!important}.portal-root[data-portal-theme=dark] .db-wf-btn:not(.db-wf-btn--primary){border-color:var(--bd2)!important;background:var(--bg3)!important;color:var(--t2)!important}.portal-root[data-portal-theme=light] .db-form-actions .db-wf-btn--primary,.portal-root[data-portal-theme=light] .ann-form-shell .db-wf-actions .db-wf-btn--primary,.portal-root[data-portal-theme=light] .db-form .db-wf-actions .db-wf-btn--primary{border-color:var(--erp-blue)!important;background:var(--erp-blue)!important;color:#fff!important}.portal-root[data-portal-theme=dark] .db-form-actions .db-wf-btn--primary,.portal-root[data-portal-theme=dark] .ann-form-shell .db-wf-actions .db-wf-btn--primary,.portal-root[data-portal-theme=dark] .db-form .db-wf-actions .db-wf-btn--primary{border-color:var(--inv)!important;background:var(--inv)!important;color:var(--inv-t)!important}.portal-root .portal-engage-workflow .ann-form-shell .db-form-actions{margin-top:4px;padding-bottom:clamp(8px,2vw,16px)}.portal-root .portal-engage-workflow .ann-scope-card .erp-searchable-select{z-index:2;position:relative}.portal-root .portal-engage-workflow .ann-scope-card .erp-select-trigger:not(:disabled){cursor:pointer}.portal-root[data-portal-theme=dark] .ann-wizard-steps,.portal-root[data-portal-theme=dark] .portal-engage-workflow .ann-wizard-steps,.portal-root[data-portal-theme=dark] .ann-workflow .ann-wizard-steps{border-color:var(--bd2)!important;background:var(--bg2)!important;box-shadow:none!important}.portal-root[data-portal-theme=dark] .ann-wizard-step{border-color:var(--bd2)!important;background:var(--bg3)!important;color:var(--t3)!important}.portal-root[data-portal-theme=dark] .ann-wizard-step-num{background:var(--bg4)!important;color:var(--t2)!important}.portal-root[data-portal-theme=dark] .ann-wizard-step.is-active{border-color:var(--inv)!important;background:var(--inv)!important;color:var(--inv-t)!important;box-shadow:none!important}.portal-root[data-portal-theme=dark] .ann-wizard-step.is-active .ann-wizard-step-num{color:var(--inv-t)!important;background:#ffffff2e!important}.portal-root[data-portal-theme=dark] .ann-wizard-step.is-complete{border-color:var(--bd3)!important;background:var(--bg4)!important;color:var(--t1)!important}.portal-root[data-portal-theme=dark] .ann-wizard-step.is-complete .ann-wizard-step-num{background:var(--inv)!important;color:var(--inv-t)!important}.portal-root[data-portal-theme=dark] .ann-scope-card,.portal-root[data-portal-theme=dark] .portal-engage-workflow .ann-scope-card{border-color:var(--bd2)!important;background:var(--bg2)!important;box-shadow:none!important}.portal-root[data-portal-theme=dark] .ann-scope-card>p,.portal-root[data-portal-theme=dark] .ann-step-lead{color:var(--t1)!important;font-size:13px!important;font-weight:600!important}.portal-root[data-portal-theme=dark] .fb-question-card,.portal-root[data-portal-theme=dark] .portal-engage-workflow .fb-question-card,.portal-root[data-portal-theme=dark] .ann-workflow .fb-question-card{border-color:var(--bd2)!important;background:var(--bg3)!important;box-shadow:none!important}.portal-root[data-portal-theme=dark] .fb-question-card .db-icon-button{border-color:var(--bd2)!important;background:var(--bg4)!important;color:var(--t1)!important;box-shadow:none!important}.portal-root[data-portal-theme=dark] .fb-question-card .db-icon-button svg{stroke:currentColor}.portal-root[data-portal-theme=dark] .fb-question-card .db-icon-button:hover:not(:disabled){background:var(--bg2)!important;transform:none!important}.portal-root[data-portal-theme=dark] .fb-question-card .fb-question-card-delete{color:#f87171!important}.portal-root[data-portal-theme=dark] .fb-question-card .fb-question-card-delete:hover:not(:disabled){color:#fca5a5!important;background:#7f1d1d38!important;border-color:#f8717159!important}.portal-root[data-portal-theme=dark] .erp-required-toggle{border-color:var(--bd2)!important;background:var(--bg4)!important}.portal-root[data-portal-theme=dark] .erp-required-toggle-label{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .fb-form-options label{color:var(--t2)!important}.portal-root[data-portal-theme=light] .fb-question-card{box-shadow:none!important;background:#fff!important;border-color:#e2e8f0!important}.portal-root[data-portal-theme=light] .fb-question-card .db-icon-button{color:#0f172a!important;box-shadow:none!important;background:#fff!important;border-color:#cbd5e1!important}.portal-root[data-portal-theme=light] .fb-question-card .db-icon-button svg{stroke:currentColor}.portal-root[data-portal-theme=light] .fb-question-card .fb-question-card-delete{color:#dc2626!important}.portal-root[data-portal-theme=light] .fb-question-card .fb-question-card-delete:hover:not(:disabled){color:#b91c1c!important;background:#fef2f2!important;border-color:#fecaca!important}.portal-root[data-portal-theme=light] .ann-wizard-steps,.portal-root[data-portal-theme=light] .portal-engage-workflow .ann-wizard-steps{box-shadow:none!important;background:#fff!important;border-color:#e2e8f0!important}.portal-root[data-portal-theme=light] .ann-wizard-step{color:#64748b!important;background:#fff!important;border-color:#e2e8f0!important}.portal-root[data-portal-theme=light] .ann-wizard-step.is-active{border-color:var(--erp-blue)!important;background:var(--erp-blue)!important;color:#fff!important;box-shadow:none!important}.portal-root[data-portal-theme=light] .ann-scope-card,.portal-root[data-portal-theme=light] .portal-engage-workflow .ann-scope-card{box-shadow:none!important;background:#fff!important;border-color:#e2e8f0!important}.portal-root[data-portal-theme=dark] .erp-file-picker-trigger{border-color:var(--bd2)!important;background:var(--bg3)!important;color:var(--t1)!important}.portal-root[data-portal-theme=dark] .erp-file-picker-trigger-hint{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .ann-content-card.db-form,.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-card.db-form{border:1px solid var(--bd2)!important;background:var(--bg2)!important;color:var(--t1)!important}.portal-root[data-portal-theme=dark] .erp-select-trigger{min-height:48px;border:1px solid var(--bd2)!important;background:var(--bg3)!important;color:var(--t1)!important;box-shadow:none!important;border-radius:12px!important}.portal-root[data-portal-theme=dark] .ann-workflow .erp-select-trigger,.portal-root[data-portal-theme=dark] .ann-form-shell .erp-select-trigger,.portal-root[data-portal-theme=light] .ann-workflow .erp-select-trigger,.portal-root[data-portal-theme=light] .ann-form-shell .erp-select-trigger{min-height:44px!important;font-size:13px!important;font-weight:600!important}.portal-root[data-portal-theme=dark] .erp-select-trigger:hover,.portal-root[data-portal-theme=dark] .erp-select-trigger.open,.portal-root[data-portal-theme=dark] .erp-searchable-select:focus-within .erp-select-trigger{border-color:var(--bd3)!important;box-shadow:0 0 0 2px var(--accent-bg)!important}.portal-root[data-portal-theme=dark] .erp-select-value,.portal-root[data-portal-theme=dark] .erp-select-search-trigger input{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .erp-select-search-trigger input::-moz-placeholder{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .erp-select-placeholder,.portal-root[data-portal-theme=dark] .erp-select-search-trigger input::placeholder{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .erp-select-actions,.portal-root[data-portal-theme=dark] .erp-select-chevron{color:var(--t2)!important}.portal-root[data-portal-theme=dark] .erp-select-clear{background:var(--bg4)!important;color:var(--t2)!important}.portal-root[data-portal-theme=dark] .erp-select-panel{border:1px solid var(--bd2)!important;background:var(--bg3)!important;border-radius:12px!important;box-shadow:0 16px 40px #00000073!important}html[data-portal-theme=light] .erp-select-panel--portal{color:#172033!important;background:#fff!important;border:1px solid #004b8d24!important;font-size:13px!important}html[data-portal-theme=light] .erp-select-panel--portal .erp-select-option{font-size:13px!important;font-weight:600!important}html[data-portal-theme=light] .erp-select-panel--portal .erp-select-option strong{font-size:inherit!important;font-weight:inherit!important;color:inherit!important}html[data-portal-theme=dark] .erp-select-panel--portal{background:#141416!important;border:1px solid #2a2a2e!important;border-radius:12px!important;box-shadow:0 16px 40px #00000073!important}html[data-portal-theme=dark] .erp-select-panel--portal .erp-select-search{background:#0a0a0b!important;border-bottom:1px solid #222226!important}html[data-portal-theme=dark] .erp-select-panel--portal .erp-select-search input{color:#f4f4f5!important;background:0 0!important}html[data-portal-theme=dark] .erp-select-panel--portal .erp-select-option{color:#f4f4f5!important;font-size:13px!important;font-weight:600!important}html[data-portal-theme=dark] .erp-select-panel--portal .erp-select-option strong{color:#f4f4f5!important;font-size:inherit!important;font-weight:inherit!important}html[data-portal-theme=dark] .erp-select-panel--portal .erp-select-option small{color:#71717a!important}html[data-portal-theme=dark] .erp-select-panel--portal .erp-select-option:hover,html[data-portal-theme=dark] .erp-select-panel--portal .erp-select-option.active{background:#222226!important}html[data-portal-theme=dark] .erp-select-panel--portal .erp-select-option.selected{color:#f4f4f5!important;background:#2a2a2e!important}html[data-portal-theme=dark] .erp-select-panel--portal .erp-select-state{color:#71717a!important}.portal-root[data-portal-theme=dark] .erp-select-search{border-bottom:1px solid var(--bd)!important;background:var(--bg2)!important}.portal-root[data-portal-theme=dark] .erp-select-search input{color:var(--t1)!important;background:0 0!important}.portal-root[data-portal-theme=dark] .erp-select-option,.portal-root[data-portal-theme=dark] .erp-select-option strong{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .erp-select-option small{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .erp-select-option:hover,.portal-root[data-portal-theme=dark] .erp-select-option.active{background:var(--bg4)!important}.portal-root[data-portal-theme=dark] .erp-select-option.selected{background:var(--accent-bg)!important}.portal-root[data-portal-theme=dark] .erp-select-state{color:var(--t3)!important}.portal-root[data-portal-theme=dark] input[type=time]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.portal-root[data-portal-theme=dark] .teacher-portal-skel,.portal-root[data-portal-theme=dark] .skeleton,.portal-root[data-portal-theme=dark] .skel,.portal-root[data-portal-theme=dark] [class*=skel-],.portal-root[data-portal-theme=dark] [class*=-skel]{background:var(--skeleton)!important;background-size:200% 100%!important}.portal-root[data-portal-theme=dark] .skeleton:after{background:linear-gradient(90deg,#0000,#ffffff0f,#0000)!important}.portal-root[data-portal-theme=dark] .teacher-portal-tile{border-color:var(--bd)!important;background:var(--bg2)!important}.portal-root[data-portal-theme=dark] .teacher-portal-tile:hover{border-color:var(--inv)!important;background:var(--bg3)!important}.portal-root[data-portal-theme=dark] .teacher-portal-tile-label{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .teacher-portal-tile-desc{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .teacher-portal-tile-icon{border-color:var(--bd2)!important;background:var(--bg3)!important;color:var(--t1)!important}html[data-portal-theme=dark] .erp-toast{border:1px solid var(--bd2)!important;color:var(--t1)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#0a0a0a!important;border-radius:10px!important;box-shadow:0 8px 24px #000000a6!important}html[data-portal-theme=dark] .erp-toast-content p{color:var(--t1)!important}html[data-portal-theme=dark] .erp-toast-content button{background:var(--bg4)!important;color:var(--t3)!important}html[data-portal-theme=dark] .erp-toast-icon{border:1px solid var(--bd2);background:var(--bg4)!important;color:var(--t1)!important}html[data-portal-theme=dark] .erp-toast-danger .erp-toast-icon{color:#fca5a5!important;background:#3f1515!important}html[data-portal-theme=dark] .toast-progress{background:#333!important}html[data-portal-theme=dark]{--bg:#000;--bg2:#0a0a0a;--bg3:#111;--bg4:#1a1a1a;--bd:#2a2a2a;--bd2:#333;--t1:#f0f0f0;--t2:#ccc;--t3:#888;--t4:#555;--inv:#fff;--inv-t:#000;--skeleton:linear-gradient(90deg, #1a1a1a 0%, #222 50%, #1a1a1a 100%)}.portal-text-muted{color:var(--erp-muted,var(--t3))}.portal-text-strong{color:var(--erp-text,var(--t1))}.portal-list-row{border-color:rgb(var(--erp-blue-rgb,0 75 141) / 10%)}.portal-role-pill{border-color:var(--erp-border,var(--bd));background:var(--erp-blue-soft,var(--bg4));color:var(--erp-blue,var(--t1))}.portal-scope-row{border-color:rgb(var(--erp-blue-rgb,0 75 141) / 8%)}.portal-root[data-portal-theme=dark] .portal-text-muted{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .portal-text-strong{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .portal-list-row{border-color:var(--bd)!important}.portal-root[data-portal-theme=dark] .portal-role-pill{border-color:var(--bd2)!important;background:var(--bg3)!important;color:var(--t2)!important}.portal-root[data-portal-theme=dark] .portal-scope-row{border-color:var(--bd)!important}.portal-root[data-portal-theme=dark] .portal-module-page,.portal-root[data-portal-theme=dark] .portal-page-header{color:var(--t1)}.portal-root[data-portal-theme=dark] .rounded-2xl.border,.portal-root[data-portal-theme=dark] .rounded-xl.border,.portal-root[data-portal-theme=dark] section.rounded-2xl,.portal-root[data-portal-theme=dark] .overflow-hidden.rounded-xl.border{border-color:var(--bd)!important;background:var(--bg2)!important;color:var(--t1)!important;box-shadow:none!important}.portal-root[data-portal-theme=dark] .shadow-sm,.portal-root[data-portal-theme=dark] .shadow-md{box-shadow:none!important}.portal-root[data-portal-theme=dark] .bg-slate-50,.portal-root[data-portal-theme=dark] .bg-slate-100,.portal-root[data-portal-theme=dark] .erp-admin-form{border-color:var(--bd)!important;background:var(--bg3)!important;color:var(--t2)!important}.portal-root[data-portal-theme=dark] .text-slate-300{color:var(--t4)!important}.portal-root[data-portal-theme=dark] h2.text-xl,.portal-root[data-portal-theme=dark] h3.text-sm,.portal-root[data-portal-theme=dark] .text-xl.font-bold{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .db-field label,.portal-root[data-portal-theme=dark] label.db-field{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .db-table-wrap,.portal-root[data-portal-theme=dark] .admin-table,.portal-root[data-portal-theme=dark] .db-table{border-color:var(--bd)!important;background:var(--bg2)!important}.portal-root[data-portal-theme=dark] .student-management-root,.portal-root[data-portal-theme=dark] .student-management-panel,.portal-root[data-portal-theme=dark] .student-management-table{border-color:var(--bd)!important;background:var(--bg2)!important;box-shadow:none!important}.portal-root[data-portal-theme=dark] .ann-list-card,.portal-root[data-portal-theme=dark] .ann-workflow,.portal-root[data-portal-theme=dark] .ann-workflow-body{background:var(--bg)!important;color:var(--t1)!important}.ann-workflow .fb-report-hero,.ann-workflow .fb-report-q{box-shadow:none!important}.portal-root[data-portal-theme=dark] .ann-pagination{border:1px solid var(--bd2)!important;background:var(--bg2)!important;color:var(--t1)!important;box-shadow:none!important}.portal-root[data-portal-theme=dark] .skeleton,.portal-root[data-portal-theme=dark] .teacher-portal-skeleton{background:var(--bg)!important}.portal-root[data-portal-theme=dark] button.rounded-lg.bg-slate-100{border:1px solid var(--bd2)!important;background:var(--bg3)!important;color:var(--t2)!important}.portal-root[data-portal-theme=dark] .db-wf-btn--danger,.portal-root[data-portal-theme=dark] .erp-confirm-danger{color:#fca5a5!important}.portal-root[data-portal-theme=dark] .erp-topbar,.portal-root[data-portal-theme=dark] .db-workflow-header{background:var(--bg2)!important;border-radius:0!important;box-shadow:0 8px 24px #00000059!important}.portal-root[data-portal-theme=dark] .erp-header-title,.portal-root[data-portal-theme=dark] .erp-topbar-title,.portal-root[data-portal-theme=dark] .db-header-left h1{color:var(--t1)!important;letter-spacing:-.04em!important;font-size:clamp(20px,2.2vw,25px)!important;font-weight:1000!important}.portal-root[data-portal-theme=dark] .erp-header-subtitle{color:var(--t3)!important;font-size:13px!important;font-weight:700!important}.portal-root[data-portal-theme=dark] .erp-page-pill{background:var(--bg4)!important;color:var(--t2)!important;font-size:10px!important;font-weight:900!important}.portal-root[data-portal-theme=dark] .erp-menu-toggle,.portal-root[data-portal-theme=dark] .erp-icon-button{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .erp-menu-toggle:hover,.portal-root[data-portal-theme=dark] .erp-icon-button:hover{background:var(--bg4)!important}.portal-root[data-portal-theme=dark] .erp-mobile-drawer{background:var(--bg2)!important;border-color:var(--bd)!important;color:var(--t1)!important}.portal-root[data-portal-theme=dark] .teacher-portal-main,.portal-root[data-portal-theme=dark] .student-portal-main,.portal-root[data-portal-theme=dark] .teacher-portal-content,.portal-root[data-portal-theme=dark] .teacher-portal-content-inner,.portal-root[data-portal-theme=dark] .student-portal-body,.portal-root[data-portal-theme=dark] .student-portal-body-inner,.portal-root[data-portal-theme=dark] .htpo-edit-tt-page-wrap{background:var(--bg)!important}.portal-root[data-portal-theme=dark] .teacher-portal-layout,.portal-root[data-portal-theme=dark] .student-portal-layout{min-height:100dvh;background:var(--bg)!important}.portal-root .htpo-edit-tt-page .erp-select-trigger{border-radius:12px;min-height:44px}.portal-root .htpo-edit-tt-page .db-input{box-sizing:border-box;min-height:44px}.portal-root .htpo-edit-tt-page .erp-time-select .erp-select-trigger{border-radius:12px;min-height:44px}.portal-root[data-portal-theme=dark] .erp-time-select__sep{color:var(--t2,#94a3b8)}.portal-root[data-portal-theme=light] .tp-card,.portal-root[data-portal-theme=light] .tp-kpi{background:#fff!important;border-color:#e6ebf2!important;border-radius:13px!important;box-shadow:0 8px 24px #0f172a0a!important}.portal-root[data-portal-theme=light] .tp-card-title{color:var(--erp-blue)!important;font-size:14px!important;font-weight:900!important}.portal-root[data-portal-theme=light] .tp-kpi-label{letter-spacing:normal!important;text-transform:none!important;color:#64748b!important;font-size:12px!important;font-weight:700!important}.portal-root[data-portal-theme=light] .tp-kpi-value{color:#111827!important;font-size:28px!important;font-weight:800!important}.portal-root[data-portal-theme=dark] .tp-card,.portal-root[data-portal-theme=dark] .tp-kpi{border-radius:13px!important}.portal-root[data-portal-theme=dark] .tp-card-title{color:var(--t1)!important;font-size:14px!important;font-weight:900!important}.portal-root[data-portal-theme=dark] .tp-kpi-label{letter-spacing:normal!important;text-transform:none!important;color:var(--t3)!important;font-size:12px!important;font-weight:700!important}.portal-root[data-portal-theme=dark] .tp-kpi-value{color:var(--t1)!important;font-size:28px!important;font-weight:800!important}.portal-root[data-portal-theme=light] .htpo-dashboard-title{color:#111827!important}.portal-root[data-portal-theme=dark] .htpo-sections-view-btn{border-color:var(--bd2)!important;color:var(--t1)!important}.portal-root[data-portal-theme=dark] .htpo-sections-view-btn:hover{background:var(--bg3)!important}.portal-root[data-portal-theme=dark] .htpo-att-custom-overlay{background:#0000009e!important}.portal-root[data-portal-theme=dark] .htpo-att-custom-modal{background:var(--bg2)!important;border-color:var(--bd2)!important;box-shadow:0 24px 60px #00000073!important}.portal-root[data-portal-theme=dark] .htpo-att-custom-cancel{border-color:var(--bd2)!important;color:var(--t2)!important}.portal-root[data-portal-theme=dark] .htpo-att-custom-cancel:hover{background:var(--bg3)!important}.portal-root[data-portal-theme=dark] .htpo-section-att-card .erp-select-trigger,.portal-root[data-portal-theme=dark] .htpo-att-custom-modal .erp-select-trigger,.portal-root[data-portal-theme=dark] .htpo-att-period-select .erp-select-trigger{border-color:var(--bd2)!important;background:var(--bg3)!important;box-shadow:none!important}.portal-root[data-portal-theme=dark] .htpo-section-att-card .erp-select-trigger:hover,.portal-root[data-portal-theme=dark] .htpo-section-att-card .erp-select-trigger.open,.portal-root[data-portal-theme=dark] .htpo-att-custom-modal .erp-select-trigger:hover,.portal-root[data-portal-theme=dark] .htpo-att-custom-modal .erp-select-trigger.open,.portal-root[data-portal-theme=dark] .htpo-att-period-select .erp-select-trigger:hover,.portal-root[data-portal-theme=dark] .htpo-att-period-select .erp-select-trigger.open,.portal-root[data-portal-theme=dark] .htpo-section-att-card .erp-searchable-select:focus-within .erp-select-trigger,.portal-root[data-portal-theme=dark] .htpo-att-custom-modal .erp-searchable-select:focus-within .erp-select-trigger,.portal-root[data-portal-theme=dark] .htpo-att-period-select .erp-searchable-select:focus-within .erp-select-trigger{border-color:var(--bd3)!important;box-shadow:none!important}.portal-root[data-portal-theme=dark] .htpo-att-period-edit{color:var(--t2)!important}.portal-root[data-portal-theme=dark] .htpo-att-custom-apply{background:var(--inv)!important;color:var(--inv-t)!important}.portal-root[data-portal-theme=dark] .htpo-att-custom-apply:disabled{opacity:.45!important}.portal-root[data-portal-theme=light] .htpo-att-custom-modal{background:#fff!important;border-color:#dbe3ef!important}.portal-root[data-portal-theme=light] .htpo-att-custom-overlay{background:#0f172a61!important}.portal-root[data-portal-theme=dark] .teacher-portal-panel-wrap>section,.portal-root[data-portal-theme=dark] .teacher-portal-panel-wrap>.erp-admin-panel{background:var(--bg2)!important;border-color:var(--bd2)!important}.portal-root[data-portal-theme=light] .teacher-portal-module-title{color:#111827!important}.portal-root[data-portal-theme=light] .htpo-timetable-card .tp-card-title{color:var(--erp-blue)!important}html[data-portal-theme=dark] .erp-toast-success .toast-progress,html[data-portal-theme=dark] .erp-toast-info .toast-progress,html[data-portal-theme=dark] .erp-toast-error .toast-progress,html[data-portal-theme=dark] .erp-toast-warning .toast-progress,html[data-portal-theme=dark] .erp-toast-danger .toast-progress{background:var(--bd2)!important}html[data-portal-theme=dark] .erp-toast .toast-progress{background:#2a2a2a!important}html[data-portal-theme=dark] .erp-file-picker-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000094!important}html[data-portal-theme=dark] .erp-file-picker-dialog.erp-export-dialog{color:#f4f4f5!important;background:#18181b!important;border:1px solid #3f3f46!important;box-shadow:0 24px 60px #00000073!important}html[data-portal-theme=dark] .erp-file-picker-dialog .erp-export-dialog-head h2{color:#f4f4f5!important}html[data-portal-theme=dark] .erp-file-picker-dialog .erp-export-dialog-lead{color:#a1a1aa!important}html[data-portal-theme=dark] .erp-file-picker-dialog .erp-export-option{color:#f4f4f5!important;background:#27272a!important;border:1px solid #3f3f46!important}html[data-portal-theme=dark] .erp-file-picker-dialog .erp-export-option:hover:not(:disabled){background:#323238!important;border-color:#52525b!important}html[data-portal-theme=dark] .erp-file-picker-dialog .erp-export-option--muted{color:#d4d4d8!important}html[data-portal-theme=dark] .erp-file-picker-dialog .db-icon-button{color:#a1a1aa!important;background:#27272a!important;border:1px solid #3f3f46!important}html[data-portal-theme=dark] .erp-file-picker-cancel-link{color:#e4e4e7!important}html[data-portal-theme=dark] .erp-file-picker-cancel-link:hover{color:#fff!important}html[data-portal-theme=light] .erp-file-picker-overlay{background:#0f172a66!important}html[data-portal-theme=dark] .erp-confirm-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000094!important}html[data-portal-theme=dark] .erp-export-dialog:not(.erp-file-picker-dialog){color:#f0f0f0!important;background:#0a0a0a!important;border:1px solid #333!important;box-shadow:0 24px 60px #0000008c!important}html[data-portal-theme=dark] .erp-export-dialog:not(.erp-file-picker-dialog) .erp-export-dialog-head h2{color:#f0f0f0!important}html[data-portal-theme=dark] .erp-export-dialog:not(.erp-file-picker-dialog) .erp-export-dialog-lead,html[data-portal-theme=dark] .erp-export-dialog:not(.erp-file-picker-dialog) .erp-export-dialog-lead .text-slate-600{color:#888!important}html[data-portal-theme=dark] .erp-export-dialog:not(.erp-file-picker-dialog) .erp-export-dialog-lead strong{color:#f0f0f0!important}html[data-portal-theme=dark] .erp-export-dialog:not(.erp-file-picker-dialog) .erp-export-option{color:#f4f4f5!important;background:#27272a!important;border:1px solid #3f3f46!important}html[data-portal-theme=dark] .erp-export-dialog:not(.erp-file-picker-dialog) .erp-export-option:hover:not(:disabled){background:#323238!important;border-color:#52525b!important}html[data-portal-theme=dark] .fb-export-option-desc{color:#888!important}html[data-portal-theme=light] .fb-export-option-desc{color:#64748b!important}html[data-portal-theme=dark] .erp-export-dialog:not(.erp-file-picker-dialog) .db-icon-button{color:#ccc!important;background:#111!important;border:1px solid #333!important}html[data-portal-theme=dark] .erp-export-dialog:not(.erp-file-picker-dialog) .db-icon-button:hover{color:#f0f0f0!important;background:#1a1a1a!important;border-color:#444!important}html[data-portal-theme=dark] .fb-completion-tabs button{color:#888!important;background:#111!important;border-color:#333!important}html[data-portal-theme=dark] .fb-completion-tabs button.is-active{color:#f0f0f0!important;background:#ffffff14!important;border-color:#f0f0f0!important}html[data-portal-theme=dark] .fb-completion-list{background:#111!important;border-color:#333!important}html[data-portal-theme=dark] .fb-completion-list th{color:#888!important;background:#1a1a1a!important}html[data-portal-theme=dark] .fb-completion-list th,html[data-portal-theme=dark] .fb-completion-list td{color:#f0f0f0!important;border-bottom-color:#2a2a2a!important}html[data-portal-theme=dark] .fb-completion-list .text-slate-500{color:#888!important}html[data-portal-theme=dark] .fb-completion-dialog .db-wf-btn:not(.db-wf-btn--primary){color:#ccc!important;background:#111!important;border-color:#333!important}html[data-portal-theme=dark] .fb-completion-dialog .db-wf-btn:not(.db-wf-btn--primary):hover:not(:disabled){color:#f0f0f0!important;background:#1a1a1a!important;border-color:#444!important}html[data-portal-theme=dark] .fb-completion-dialog .db-wf-btn--primary{color:#000!important;background:#fff!important;border-color:#fff!important}html[data-portal-theme=dark] .fb-completion-dialog .db-wf-btn--primary:hover:not(:disabled){color:#000!important;background:#e4e4e7!important;border-color:#e4e4e7!important}html[data-portal-theme=dark] .fb-completion-dialog .db-wf-btn--primary svg{stroke:currentColor}html[data-portal-theme=light] .fb-completion-tabs button{color:#64748b!important;background:#fff!important;border-color:#94a3b859!important}html[data-portal-theme=light] .fb-completion-tabs button.is-active{border-color:var(--erp-blue)!important;background:rgb(var(--erp-blue-rgb) / 8%)!important;color:var(--erp-blue)!important}html[data-portal-theme=light] .fb-completion-dialog .db-wf-btn--primary{border-color:var(--erp-blue)!important;background:var(--erp-blue)!important;color:#fff!important}.portal-root.student-portal-root[data-portal-theme=dark]{--sp-bg-app:var(--bg);--sp-bg-sidebar:var(--bg2);--sp-bg-header:var(--bg2);--sp-text:var(--t1);--sp-muted:var(--t3);--sp-border:var(--bd);--sp-accent:var(--inv);--sp-nav-active-bg:var(--inv);--sp-nav-active-text:var(--inv-t);--sp-card:var(--bg2);--sp-surface:var(--bg2)}.portal-root.student-portal-root[data-portal-theme=dark].sp-subj-modal-overlay :is(.sp-subj-modal,.sp-subj-modal-head,.sp-syl-subject-card){box-shadow:none;border-color:var(--bd)!important;background:var(--bg2)!important;color:var(--t1)!important}.portal-root.student-portal-root[data-portal-theme=dark].sp-subj-modal-overlay :is(.sp-subj-modal-head h2,.sp-subj-modal-units-title,.sp-subj-modal-unit-name,.sp-syl-subject-name,.sp-syl-pct-value,.sp-syl-units-count strong,.sp-syl-teacher strong,.sp-subj-resource-title){color:var(--t1)!important}.portal-root.student-portal-root[data-portal-theme=dark].sp-subj-modal-overlay :is(.sp-subj-modal-sub,.sp-subj-modal-units-hint,.sp-subj-modal-empty,.sp-syl-subject-code,.sp-syl-pct-label,.sp-syl-units-count-label,.sp-syl-teacher-label,.sp-subj-resources-loading,.sp-subj-resources-empty,.sp-subj-resource-desc,.sp-subj-resource-note){color:var(--t3)!important}.portal-root.student-portal-root[data-portal-theme=dark].sp-subj-modal-overlay .sp-subj-modal-unit-btn{color:var(--t1)!important;background:#ffffff0d!important;border-color:#ffffff24!important}.portal-root.student-portal-root[data-portal-theme=dark].sp-subj-modal-overlay .sp-subj-modal-unit-btn--open{background:#ffffff1a!important;border-color:#ffffff3d!important}.portal-root.student-portal-root[data-portal-theme=dark].sp-subj-modal-overlay .sp-subj-modal-unit-panel{border-left-color:#ffffff38!important}.portal-root.student-portal-root[data-portal-theme=dark].sp-subj-modal-overlay :is(.sp-syl-progress-fill,.sp-subj-progress-fill){background:#d4d4d4!important}.portal-root.student-portal-root[data-portal-theme=light].sp-subj-modal-overlay :is(.sp-subj-modal,.sp-subj-modal-head,.sp-syl-subject-card){background:var(--sp-card,#fff);color:var(--sp-text,#0f172a)}.portal-root.student-portal-root[data-portal-theme=dark].sp-fee-modal-overlay :is(.sp-fee-modal,.sp-fee-sem-card){box-shadow:none;border-color:var(--bd)!important;background:var(--bg2)!important;color:var(--t1)!important}.portal-root.student-portal-root[data-portal-theme=dark].sp-fee-modal-overlay .sp-fee-modal-head{border-color:var(--bd)!important;background:var(--bg2)!important;color:var(--t1)!important}.portal-root.student-portal-root[data-portal-theme=dark].sp-fee-modal-overlay :is(.sp-fee-modal-head h2,.sp-fee-sem-card-head h3,.sp-fee-td-head){color:var(--t1)!important}.portal-root.student-portal-root[data-portal-theme=dark].sp-fee-modal-overlay :is(.sp-fee-modal-sub,.sp-fee-modal-section-title,.sp-fee-modal-empty,.sp-fee-amount-sub,.sp-fee-action-muted){color:var(--t3)!important}.portal-root.student-portal-root[data-portal-theme=dark].sp-fee-modal-overlay :is(.sp-fee-modal-close,.sp-fee-pdf-btn){color:var(--t1)!important;background:#ffffff0f!important;border-color:#ffffff2e!important}.portal-root.student-portal-root[data-portal-theme=light].sp-fee-modal-overlay :is(.sp-fee-modal,.sp-fee-sem-card){background:var(--sp-card,#fff);color:var(--sp-text,#0f172a)}.portal-root.student-portal-root[data-portal-theme=light].sp-fee-modal-overlay .sp-fee-modal-head{background:var(--sp-card,#fff)}.portal-root[data-portal-theme=dark] .student-portal-body :is(.sp-dash-top-card,.sp-dash-class-row,.sp-dash-quick-btn,.sp-dash-announce-card,.sp-dash-card-skel,.sp-dash-modal,.sp-dash-stat-card,.sp-dash-table-wrap,.sp-att-stat-card,.sp-att-chart-panel,.sp-att-export-block,.sp-att-table-wrap,.sp-att-pager-btn,.sp-marks-summary-card,.sp-marks-chart-panel,.sp-marks-sem,.sp-syl-subject-card,.sp-syl-unit-card,.sp-syl-empty,.sp-subj-card,.sp-subj-modal,.sp-fee-summary-card,.sp-fee-panel,.sp-fee-table-scroll,.sp-rcpt-card,.sp-rcpt-sem,.sp-rcpt-table-scroll,.sp-ann-search,.sp-ann-card,.sp-ann-modal,.sp-notif-item,.sp-fb-card,.sp-fb-form,.sp-fb-form-intro,.sp-fb-question,.sp-fb-textarea,.sp-profile-card,.sp-profile-input,.sp-profile-textarea,.sp-tt-scroll-outer,.sp-tt-scroll,.sp-tt-cell,.student-portal-panel){border-color:var(--bd)!important;background:var(--bg2)!important;color:var(--t1)!important;box-shadow:none!important}.portal-root[data-portal-theme=dark] .student-portal-body :is(.sp-dash-welcome-name,.sp-dash-class-subject,.sp-dash-announce-title,.sp-dash-top-card-metric,.sp-att-title,.sp-att-ring-label,.sp-att-chart-title,.sp-att-section-title,.sp-att-td-subj,.sp-att-sub strong,.sp-marks-title,.sp-marks-chart-title,.sp-marks-sem-title,.sp-marks-summary-val,.sp-syl-pct-value,.sp-syl-units-count strong,.sp-syl-teacher strong,.sp-syl-unit-order,.sp-syl-title,.sp-tt-title,.sp-syl-subject-name,.sp-syl-unit-title,.sp-subj-card-title,.sp-subj-page-title,.sp-fee-outstanding-value,.sp-fee-page-title,.sp-fee-summary-breakdown,.sp-rcpt-page-title,.sp-ann-page-title,.sp-ann-card-title,.sp-notif-page-title,.sp-notif-item-title,.sp-fb-page-title,.sp-fb-card-title,.sp-profile-page-title,.sp-profile-card-title,.sp-profile-name,.student-portal-panel-title){color:var(--t1)!important}.portal-root[data-portal-theme=dark] .student-portal-body :is(.sp-dash-welcome-label,.sp-dash-welcome-meta,.sp-dash-top-card-title,.sp-dash-top-card-sub,.sp-dash-empty,.sp-dash-class-meta,.sp-dash-announce-body,.sp-dash-announce-meta,.sp-att-sub,.sp-att-meta,.sp-att-ring-sub,.sp-att-chart-desc,.sp-att-section-desc,.sp-att-history-count,.sp-att-table-empty,.sp-att-footnote,.sp-marks-sub,.sp-marks-meta,.sp-marks-chart-desc,.sp-marks-sem-sub,.sp-marks-metric-label,.sp-syl-sub,.sp-syl-hint,.sp-syl-empty,.sp-subj-meta,.sp-subj-page-meta,.sp-subj-page-sub,.sp-fee-page-meta,.sp-fee-page-sub,.sp-fee-outstanding-label,.sp-rcpt-page-sub,.sp-tt-sub,.sp-tt-meta,.sp-ann-page-sub,.sp-ann-card-meta,.sp-notif-page-sub,.sp-notif-item-body,.sp-notif-item-meta,.sp-fb-page-sub,.sp-fb-card-desc,.sp-profile-page-sub,.sp-profile-meta,.student-portal-panel-lead,.sp-dash-error){color:var(--t3)!important}.portal-root[data-portal-theme=dark] .student-portal-body :is(.sp-att-stat-list li,.sp-marks-metric,.sp-syl-progress-track,.sp-subj-progress-track){background:var(--bg3)!important;color:var(--t2)!important}.portal-root[data-portal-theme=dark] .student-portal-body :is(.sp-att-stat-list strong,.sp-marks-metric-val,.sp-marks-summary-val,.sp-syl-pct-value,.sp-syl-units-count strong,.sp-syl-teacher strong,.sp-syl-unit-order,.sp-subj-progress-pct,.sp-subj-modal-unit-order){color:var(--t1)!important}.portal-root[data-portal-theme=dark] .student-portal-body :is(.sp-syl-progress-fill,.sp-subj-progress-fill){background:#d4d4d4!important}.portal-root[data-portal-theme=dark] :is(.sp-subj-modal,.sp-subj-modal-overlay) :is(.sp-syl-pct-value,.sp-syl-units-count strong,.sp-syl-teacher strong,.sp-syl-unit-order,.sp-subj-progress-pct,.sp-subj-modal-unit-order){color:var(--t1)!important}.portal-root[data-portal-theme=dark] :is(.sp-subj-modal,.sp-subj-modal-overlay) :is(.sp-syl-progress-fill,.sp-subj-progress-fill){background:#d4d4d4!important}.portal-root[data-portal-theme=dark] :is(.sp-subj-modal,.sp-subj-modal-overlay) .sp-subj-modal-unit-btn{color:var(--t1)!important;background:#ffffff0d!important;border-color:#ffffff24!important}.portal-root[data-portal-theme=dark] :is(.sp-subj-modal,.sp-subj-modal-overlay) .sp-subj-modal-unit-btn--open{background:#ffffff1a!important;border-color:#ffffff3d!important}.portal-root[data-portal-theme=dark] :is(.sp-subj-modal,.sp-subj-modal-overlay) .sp-subj-modal-unit-panel{border-left-color:#ffffff38!important}.portal-root[data-portal-theme=dark] :is(.sp-subj-modal,.sp-subj-modal-overlay) .sp-subj-modal-back,.portal-root[data-portal-theme=dark] :is(.sp-subj-modal,.sp-subj-modal-overlay) .sp-subj-modal-close{color:#fff!important;background:#ffffff14!important;border-color:#ffffff47!important}.portal-root[data-portal-theme=dark] :is(.sp-subj-modal,.sp-subj-modal-overlay) :is(.sp-subj-modal-head h2,.sp-subj-modal-units-title,.sp-subj-resource-title,.sp-subj-resource-link){color:#fff!important}.portal-root[data-portal-theme=dark] :is(.sp-subj-modal,.sp-subj-modal-overlay) .sp-subj-resource-link{text-underline-offset:3px;-webkit-text-decoration:underline dotted!important;text-decoration:underline dotted!important}.portal-root[data-portal-theme=dark] .student-portal-body :is(.sp-att-table th,.sp-fee-table th,.sp-rcpt-table th,.sp-marks-table th,.sp-dash-table th){background:var(--bg3)!important;color:var(--t4)!important;border-color:var(--bd)!important}.portal-root[data-portal-theme=dark] .student-portal-body :is(.sp-att-table td,.sp-fee-table td,.sp-rcpt-table td,.sp-marks-table td,.sp-dash-table td){color:var(--t2)!important;border-color:var(--bd)!important}.portal-root[data-portal-theme=dark] .student-portal-body .sp-dash-modal-overlay{background:#000000b8!important}.portal-root[data-portal-theme=dark] .student-portal-body .sp-ann-card--unread{background:var(--bg3)!important;border-left-color:#93c5fd!important}.portal-root[data-portal-theme=dark] .student-portal-body :is(.sp-att-badge--ok,.sp-dash-badge--ok,.sp-rcpt-badge--ok){color:#86efac!important;background:#22c55e2e!important}.portal-root[data-portal-theme=dark] .student-portal-body :is(.sp-att-badge--bad,.sp-dash-badge--bad){color:#fca5a5!important;background:#ef44442e!important}.portal-root[data-portal-theme=dark] .student-portal-body :is(.sp-dash-link-all,.sp-fb-back,.sp-ann-search-btn,.sp-att-export-btn:not(.sp-att-export-btn--secondary),.sp-marks-pdf-btn,.sp-fee-pay-btn,.sp-fee-download-btn,.sp-fee-receipt-btn,.sp-rcpt-download-btn,.sp-fb-btn--primary,.sp-subj-view-btn){border-color:var(--inv)!important;background:var(--inv)!important;color:var(--inv-t)!important}.portal-root[data-portal-theme=dark] .student-portal-body :is(.sp-att-export-btn--secondary,.sp-fb-btn--secondary,.sp-profile-password-btn){border-color:var(--bd2)!important;background:var(--bg3)!important;color:var(--t1)!important}.portal-root[data-portal-theme=dark] .student-portal-body .recharts-default-tooltip{border-color:var(--bd2)!important;background:var(--bg2)!important;color:var(--t1)!important}.portal-root[data-portal-theme=dark] .student-portal-body .recharts-legend-item-text{color:var(--t2)!important}.portal-root[data-portal-theme=dark] .student-portal-body .sp-att-chart-focus,.portal-root[data-portal-theme=dark] .student-portal-body .sp-marks-chart-focus{border:1px solid var(--bd);background:var(--bg3)!important}.portal-root[data-portal-theme=dark] .student-portal-body .sp-att-chart-focus-value,.portal-root[data-portal-theme=dark] .student-portal-body .sp-marks-chart-focus .sp-att-chart-focus-value{color:var(--t1)!important}html[data-portal-theme=dark] .erp-select-list{scrollbar-color:#ffffff38 transparent}html[data-portal-theme=dark] .erp-select-list::-webkit-scrollbar-thumb{background:#ffffff38}.portal-root[data-portal-theme=dark] .student-portal-body :is(.sp-dash-skel-line,.sp-att-skel-line,.sp-tt-skel-line,.sp-marks-skel-line,.sp-syl-skel-line,.sp-subj-skel,.sp-fee-skel,.sp-rcpt-skel,.sp-ann-skel,.sp-notif-skel,.sp-fb-skel,.sp-profile-skel,.student-portal-route-skel-line,.student-portal-route-skel-card){background:#ffffff1a!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-glass-button{border-left-color:var(--bd3)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-glass-button.danger{border-left-color:#f871718c!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-section{border-color:var(--bd)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .teacher-stepper button{border-color:var(--bd2)!important;background:var(--bg3)!important;color:var(--t2)!important;box-shadow:none!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .teacher-stepper button span{background:var(--bg4)!important;color:var(--t2)!important;border:0!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .teacher-stepper button.active{border-color:var(--inv)!important;background:var(--inv)!important;color:var(--inv-t)!important;box-shadow:none!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .teacher-stepper button.active span{color:var(--inv-t)!important;background:#ffffff2e!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .teacher-step-card h2,.portal-root[data-portal-theme=dark] .portal-engage-workflow .teacher-step-card p,.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-existing-records-page-intro h2,.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-existing-records-page-intro p{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .teacher-step-card p,.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-existing-records-page-intro p,.portal-root[data-portal-theme=dark] .portal-engage-workflow .teacher-flow .db-field span{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .teacher-flow-actions{border-top-color:var(--bd2)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-search-bar{border-color:var(--bd2)!important;background:var(--bg3)!important;color:var(--t1)!important;box-shadow:none!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-search-bar input{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-search-bar input::placeholder{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-suggestions button{border-color:var(--bd2)!important;background:var(--bg3)!important;color:var(--t1)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-suggestions button:hover,.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-suggestions button:focus-visible{border-color:var(--bd3)!important;background:var(--bg4)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-suggestions button span{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-existing-records,.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-existing-record-card{border-color:var(--bd)!important;background:var(--bg2)!important;color:var(--t1)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-existing-records-head,.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-existing-records-empty{color:var(--t2)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .db-table th{color:var(--t4)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .teacher-profile-head h2,.portal-root[data-portal-theme=dark] .portal-engage-workflow .teacher-profile-head p{color:var(--t1)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .teacher-profile-head p{color:var(--t3)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .student-edit-card{border-color:var(--bd2)!important;background:var(--bg2)!important}.portal-root[data-portal-theme=dark] .portal-engage-workflow .student-edit-card .db-field span,.portal-root[data-portal-theme=dark] .portal-engage-workflow .teacher-flow .db-field span{color:var(--t3)!important}.portal-no-footer>footer,.portal-root>footer,.erp-shell.portal-no-footer>footer,.login-shell>footer,.portal-no-footer .teacher-portal-bnav,.portal-root .teacher-portal-bnav,.portal-no-footer .sp-tt-foot,.portal-no-footer .sp-marks-foot,.portal-no-footer .sp-att-footnote,.portal-root .sp-tt-foot,.portal-root .sp-marks-foot,.portal-root .sp-att-footnote{display:none!important}.portal-root h1,.portal-root h2,.portal-root h3,.portal-root h4,.erp-shell h1,.erp-shell h2,.erp-shell h3,.erp-shell h4{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:800}.portal-root p,.erp-shell p{font-weight:var(--erp-type-body-weight)}.page-header-title,.portal-page-header-title,.teacher-portal-module-title,.student-portal-panel-title,.erp-type-page-title{font-family:var(--font-heading)!important;font-size:var(--erp-type-page-title-size)!important;font-weight:var(--erp-type-page-title-weight)!important;line-height:var(--erp-type-page-title-line)!important;letter-spacing:-.03em!important;color:var(--t1)!important}.app-section-title,.sp-dash-section-title,.sp-att-section-title,.sp-marks-section-title,.sp-syl-section-title,.sp-fb-section-title,.sp-app-section-title,.sp-rcpt-section-title,.sp-fee-modal-section-title,.sp-tt-section-title,.erp-reports-section-title,.erp-type-section-title{font-family:var(--font-heading)!important;font-size:var(--erp-type-section-title-size)!important;font-weight:var(--erp-type-section-title-weight)!important;letter-spacing:-.02em!important;color:var(--t1)!important}.admin-panel-title,.app-list-card-title,.tp-card-title,.sp-dash-top-card-title,.sp-subj-card-title,.sp-fee-panel-title,.sp-ann-card-title,.sp-fb-card-title,.sp-profile-card-title,.sp-app-card-title,.sp-fb-form-card-title,.erp-reports-dash-card-title,.db-section-title,.erp-type-card-title{font-family:var(--font-heading)!important;font-size:var(--erp-type-card-title-size)!important;font-weight:var(--erp-type-card-title-weight)!important;letter-spacing:-.01em!important;color:var(--t1)!important}.student-portal-panel-body,.sp-subj-card-body,.sp-app-request-message,.sp-ann-card-body{font-weight:var(--erp-type-body-weight)!important;color:var(--t1)!important}.sp-app-page-sub,.student-portal-panel-lead,.sp-dash-top-card-sub,.sp-dash-welcome-meta,.sp-dash-welcome-label,.sp-dash-announce-meta,.sp-ann-card-meta,.sp-app-request-meta,.sp-subj-card-meta,.sp-fb-card-meta,.sp-profile-card-sub,.tp-kpi-sub,.teacher-portal-module-subtitle,.admin-branch-empty-hint,.erp-reports-dash-card-sub{font-weight:var(--erp-type-meta-weight)!important;color:var(--t3)!important}.sp-app-field span,.sp-dash-stat-label,.tp-kpi-label,.sp-fee-summary-label,.sp-profile-field-label{font-size:var(--erp-type-label-size)!important;font-weight:var(--erp-type-label-weight)!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:var(--t3)!important}.admin-stat-title,.tp-kpi-label,.sp-dash-stat-label{letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--t3)!important;margin:0!important;font-size:.6875rem!important;font-weight:700!important}.admin-stat-value,.tp-kpi-value,.sp-dash-stat-value,.sp-dash-top-card-metric,.sp-dash-fee-total-value{letter-spacing:-.03em!important;color:var(--t1)!important;font-size:1.625rem!important;font-weight:800!important;line-height:1.05!important}.admin-stat-caption,.tp-kpi-sub,.sp-dash-stat-meta,.sp-dash-top-card-sub{color:var(--t3)!important;font-size:.75rem!important;font-weight:500!important}.db-wf-btn,.db-submit,.sp-fee-pay-btn,.sp-fee-download-btn,.sp-fee-receipt-btn,.sp-rcpt-download-btn,.sp-marks-pdf-btn,.sp-att-export-btn,.sp-fb-btn--primary,.sp-app-submit,.sp-ann-search-btn,.finance-export-button{min-height:var(--erp-btn-md-height)!important;font-size:var(--erp-btn-md-font-size)!important;font-weight:var(--erp-btn-md-font-weight)!important}.student-portal-root{--sp-font-display:"Space Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--sp-font-mono:"Space Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;font-family:var(--sp-font-display)}.student-portal-root :is(h1,h2,h3,h4,h5,h6),.student-portal-root :is(p,span,div,a,button,label,input,textarea,select,dd,dt,td,th,li,strong,small){font-family:var(--sp-font-display)}.student-portal-root :is(.student-portal-panel-title,.sp-dash-section-title,.sp-dash-top-card-title,.sp-dash-welcome-name,.sp-att-section-title,.sp-marks-section-title,.sp-marks-sem-title,.sp-syl-section-title,.sp-subj-card-title,.sp-fee-panel-title,.sp-fee-modal-section-title,.sp-ann-card-title,.sp-fb-section-title,.sp-fb-card-title,.sp-profile-card-title,.sp-app-card-title,.sp-app-section-title,.sp-rcpt-section-title){font-family:var(--sp-font-display)!important;font-weight:700!important}.student-portal-root :is(.sp-app-field span,.sp-dash-stat-label,.sp-dash-welcome-label,.sp-dash-fee-total-label,.sp-fee-summary-label,.sp-fee-outstanding-label,.sp-profile-field-label,.sp-marks-metric-label,.sp-att-ring-label,.sp-att-chart-focus-label,.sp-dash-top-card-metric,.sp-dash-stat-value,.sp-dash-fee-total-value,.sp-dash-num-warn,.sp-fee-outstanding-value,.sp-marks-metric-val,.sp-att-chart-focus-value,.sp-att-stat-list strong,.sp-dash-welcome-meta strong){font-family:var(--sp-font-mono)!important}
