:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f4f7fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--navy-950: #15263a;--navy-900: #1e3248;--navy-800: #29435d;--blue-600: #2369a8;--blue-500: #2f7fbd;--blue-100: #e7f2fa;--gold-500: #d5aa56;--slate-900: #172033;--slate-700: #4d5b6d;--slate-500: #758295;--slate-300: #cdd6e1;--slate-200: #e3e9f0;--slate-100: #f4f7fb;--white: #ffffff;--danger: #b42318;--shadow-sm: 0 1px 3px rgb(15 23 42 / 7%);--shadow-md: 0 16px 40px rgb(20 38 58 / 12%)}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--slate-100)}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}#root{min-height:100vh}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.95fr) minmax(480px,1.05fr);background:url(/fcu_back_student.jpg) center / cover no-repeat fixed,var(--white)}.login-brand{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:clamp(42px,6vw,88px);color:#edf5fb;text-align:center;background:radial-gradient(circle at 80% 14%,rgb(76 145 197 / 28%),transparent 32%),radial-gradient(circle at 12% 86%,rgb(213 170 86 / 16%),transparent 30%),linear-gradient(145deg,#14283df0,#1e3e5be0)}.login-brand:after{position:absolute;right:-150px;bottom:-180px;width:440px;height:440px;border:1px solid rgb(255 255 255 / 12%);border-radius:50%;box-shadow:0 0 0 65px #ffffff0a,0 0 0 130px #ffffff08;content:""}.brand-content,.brand-footer{position:relative;z-index:1;width:100%;max-width:640px}.login-brand-logo{display:block;width:min(195px,42vw);height:auto;margin:0 auto 28px;object-fit:contain}.login-brand h1{max-width:640px;margin:0 auto;color:var(--white);font-family:Georgia,Times New Roman,serif;font-size:clamp(2.65rem,5vw,4.8rem);font-weight:500;letter-spacing:-.045em;line-height:1.02}.brand-copy{max-width:550px;margin:28px auto 0;color:#c7d5df;font-size:clamp(1rem,1.4vw,1.16rem);line-height:1.75}.brand-footer{margin:40px 0 0;color:#9eb4c4;font-size:.76rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.eyebrow{margin:0 0 12px;color:#b7c9d8;font-size:.75rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.eyebrow.accent{color:var(--blue-600)}.login-panel{display:grid;padding:40px;place-items:center;background:#ffffffe0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.login-card{width:min(100%,440px);text-align:center}.login-panel-logo{display:block;width:120px;height:auto;margin:0 auto 22px;filter:drop-shadow(0 8px 18px rgb(0 0 0 / 14%))}.login-card h2{margin:0;color:var(--slate-900);font-family:Georgia,Times New Roman,serif;font-size:clamp(2.25rem,4vw,3.1rem);font-weight:500;letter-spacing:-.035em}.login-intro{margin:12px 0 34px;color:var(--slate-500);line-height:1.6}.login-form{display:flex;flex-direction:column;text-align:left}.login-form label{margin:0 0 8px;color:#354154;font-size:.86rem;font-weight:700;text-align:center}.login-form label:not(:first-child){margin-top:21px}.input-shell{display:flex;height:52px;align-items:center;gap:11px;padding:0 15px;color:var(--slate-500);border:1px solid var(--slate-300);border-radius:11px;background:var(--white);transition:border-color .16s ease,box-shadow .16s ease}.input-shell:focus-within{color:var(--blue-600);border-color:var(--blue-500);box-shadow:0 0 0 4px #2f7fbd1f}.input-shell input{min-width:0;flex:1;color:var(--slate-900);border:0;outline:0;background:transparent}.input-shell input::placeholder{color:#a0aaba}.input-shell input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.input-shell input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.password-toggle{display:grid;padding:5px;color:var(--slate-500);border:0;place-items:center;background:transparent}.form-error{margin:16px 0 0;padding:11px 13px;color:var(--danger);border:1px solid #f7c8c4;border-radius:9px;background:#fff1f0;font-size:.85rem;line-height:1.45}.primary-button{display:flex;min-height:52px;margin-top:25px;align-items:center;justify-content:center;gap:9px;color:var(--white);border:0;border-radius:11px;background:linear-gradient(135deg,var(--blue-600),#205b8e);box-shadow:0 9px 24px #2369a838;font-weight:750;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 28px #2369a847}.primary-button:disabled{cursor:not-allowed;opacity:.58}.forgot-password-link{display:block;margin:14px auto 0;padding:0;color:#2f6fed;border:0;background:transparent;font:inherit;font-size:.9rem;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.forgot-password-link:hover{color:#1d4ed8}.forgot-password-backdrop{position:fixed;z-index:90;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0f172a73}.forgot-password-modal{width:min(420px,100%);padding:18px 18px 16px;border:1px solid var(--slate-200);border-radius:12px;background:var(--white);box-shadow:0 18px 48px #0f172a2e}.forgot-password-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.forgot-password-header h2{margin:0;color:var(--slate-900);font-size:1.15rem}.forgot-password-intro{margin:0 0 14px;color:var(--slate-600);font-size:.9rem;line-height:1.45}.form-success{margin:0;color:#157347;font-size:.88rem;line-height:1.4}.login-help{margin:27px 0 0;color:var(--slate-500);font-size:.8rem;line-height:1.55;text-align:center}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.portal-shell{min-height:100vh;background:var(--slate-100)}.sidebar-desktop{position:fixed;z-index:30;top:0;bottom:0;left:0;width:278px;transition:width .2s ease}.sidebar{width:100%;height:100%;overflow-x:hidden;overflow-y:auto;color:#c5cfda;background:linear-gradient(#1a2d3ffa,#1a2d3ffa),var(--navy-900);scrollbar-color:rgb(255 255 255 / 18%) transparent;scrollbar-width:thin}.sidebar-brand{display:flex;height:76px;align-items:center;justify-content:center;gap:12px;padding:0 21px;border-bottom:1px solid rgb(255 255 255 / 8%)}.sidebar-logo{display:block;width:auto;height:48px;object-fit:contain;flex-shrink:0}.sidebar-brand-text{display:flex;min-width:160px;flex-direction:column;line-height:1.2}.sidebar-brand-text strong{color:var(--white);font-family:Georgia,Times New Roman,serif;font-size:1.28rem}.sidebar-brand-text small{margin-top:2px;color:#94a8b9;font-size:.69rem;letter-spacing:.06em;text-transform:uppercase}.sidebar-nav{display:flex;flex-direction:column;gap:3px;padding:12px 10px 24px}.sidebar-link,.sidebar-action,.sidebar-group-button{display:flex;width:100%;min-height:42px;align-items:center;gap:12px;padding:8px 12px;color:#b9c4cf;border:0;border-radius:8px;outline:0;background:transparent;font-size:.86rem;text-align:left;text-decoration:none;white-space:nowrap;transition:color .14s ease,background-color .14s ease}.sidebar-link svg,.sidebar-action svg,.sidebar-group-button svg{min-width:19px}.sidebar-link:hover,.sidebar-action:hover,.sidebar-group-button:hover{color:var(--white);background:#ffffff12}.sidebar-link.active{color:var(--white);background:#458bbe3d;box-shadow:inset 3px 0 #63a4d2}.sidebar-group-button{font-weight:650}.group-chevron{margin-left:auto;transition:transform .16s ease}.group-chevron.is-open{transform:rotate(180deg)}.sidebar-submenu{position:relative;padding:1px 0 5px 13px}.sidebar-submenu:before{position:absolute;top:3px;bottom:8px;left:22px;width:1px;background:#ffffff17;content:""}.submenu-link{min-height:38px;padding-left:28px;font-size:.81rem}.logout-button{margin-top:5px;color:#f0c5c2;border-top:1px solid rgb(255 255 255 / 7%);border-radius:0 0 8px 8px}.sidebar.is-collapsed .sidebar-brand{padding-inline:11px}.sidebar.is-collapsed .sidebar-brand-text,.sidebar.is-collapsed .sidebar-link span,.sidebar.is-collapsed .sidebar-action span,.sidebar.is-collapsed .sidebar-group-button span,.sidebar.is-collapsed .group-chevron{display:none}.sidebar.is-collapsed .sidebar-link,.sidebar.is-collapsed .sidebar-action,.sidebar.is-collapsed .sidebar-group-button{justify-content:center;padding-inline:10px}.sidebar.is-collapsed .sidebar-submenu{display:none}.portal-main{min-height:100vh;margin-left:278px;transition:margin-left .2s ease}.sidebar-collapsed .sidebar-desktop{width:70px}.sidebar-collapsed .portal-main{margin-left:70px}.portal-header{position:sticky;z-index:20;top:0;display:flex;height:76px;align-items:center;justify-content:space-between;gap:20px;padding:0 clamp(20px,3vw,42px);border-bottom:1px solid var(--slate-200);background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-title{display:flex;flex-direction:column}.header-title strong{color:var(--slate-900);font-size:.93rem}.header-title .app-version,.app-version{margin-top:0;color:var(--slate-500);font-size:.72rem;font-weight:500;letter-spacing:0;text-transform:none;white-space:nowrap}.header-title span{margin-top:2px;color:var(--slate-500);font-size:.72rem}.student-chip{display:flex;align-items:center;gap:10px}.student-avatar{display:grid;width:38px;height:38px;color:var(--blue-600);border-radius:50%;place-items:center;background:var(--blue-100);text-decoration:none;cursor:pointer;transition:background .15s ease,color .15s ease}a.student-avatar:hover{background:var(--blue-200);color:var(--blue-700)}.student-chip-copy{display:flex;max-width:210px;flex-direction:column}.student-chip-copy strong{overflow:hidden;color:var(--slate-900);font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.student-chip-copy small{margin-top:2px;color:var(--slate-500);font-size:.69rem}.mobile-menu-button,.sidebar-mobile,.mobile-backdrop{display:none}.portal-content{padding:clamp(22px,3vw,42px)}.page-container{width:min(100%,1220px);margin:0 auto}.page-container-wide{width:min(100%,1400px)}.welcome-banner{position:relative;overflow:hidden;display:flex;min-height:214px;align-items:center;justify-content:space-between;gap:36px;padding:clamp(28px,5vw,52px);color:var(--white);border-radius:20px;background:radial-gradient(circle at 90% 5%,rgb(92 159 207 / 50%),transparent 32%),linear-gradient(135deg,#1c344c,#245b7e);box-shadow:var(--shadow-md)}.welcome-banner:after{position:absolute;right:-80px;bottom:-130px;width:280px;height:280px;border:1px solid rgb(255 255 255 / 12%);border-radius:50%;box-shadow:0 0 0 42px #ffffff0a;content:""}.welcome-banner>*{position:relative;z-index:1}.welcome-profile{display:flex;min-width:0;align-items:center;gap:clamp(18px,3vw,30px)}.dashboard-student-photo{display:grid;width:clamp(88px,10vw,112px);height:clamp(88px,10vw,112px);flex:0 0 auto;overflow:hidden;color:#b8cedd;border:3px solid rgb(255 255 255 / 78%);border-radius:50%;place-items:center;background:#ffffff1f;box-shadow:0 10px 28px #0614203d}.dashboard-student-photo img{width:100%;height:100%;object-fit:cover}.welcome-banner-logo{display:block;width:clamp(88px,10vw,112px);height:clamp(88px,10vw,112px);flex:0 0 auto;object-fit:contain}.welcome-banner h1,.page-heading h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,4vw,3.5rem);font-weight:500;letter-spacing:-.04em}.welcome-banner h1{color:var(--white)}.welcome-banner p:not(.eyebrow){max-width:620px;margin:14px 0 0;color:#cbd9e3;line-height:1.65}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:38px 0 17px}.section-heading h2,.empty-state h2{margin:0;color:var(--slate-900);font-family:Georgia,Times New Roman,serif;font-size:1.45rem;font-weight:600}.section-heading p{margin:5px 0 0;color:var(--slate-500);font-size:.83rem}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.quick-card{display:flex;min-height:164px;flex-direction:column;padding:21px;border:1px solid var(--slate-200);border-radius:15px;background:var(--white);box-shadow:var(--shadow-sm);text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.quick-card:hover{transform:translateY(-3px);border-color:#bfd2e2;box-shadow:0 12px 28px #0f172a17}.quick-icon{display:grid;width:43px;height:43px;margin-bottom:17px;border-radius:11px;place-items:center}.quick-icon.blue{color:#246b9f;background:#e6f1f8}.quick-icon.green{color:#34755f;background:#e8f4ee}.quick-icon.gold{color:#936d21;background:#faf1dc}.quick-icon.violet{color:#73599a;background:#f0ebf8}.quick-card>span:nth-child(2){display:flex;flex:1;flex-direction:column}.quick-card strong{color:var(--slate-900);font-size:.94rem}.quick-card small{margin-top:6px;color:var(--slate-500);font-size:.76rem;line-height:1.5}.quick-arrow{align-self:flex-end;color:var(--blue-600);font-size:1.15rem}.student-summary{margin-top:20px;padding:1px 25px 25px;border:1px solid var(--slate-200);border-radius:15px;background:var(--white)}.back-to-dashboard{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;color:var(--blue-600);font-size:.84rem;font-weight:650;text-decoration:none}.back-to-dashboard:hover{text-decoration:underline}.online-class-page-heading .eyebrow{margin-bottom:8px}.student-summary .section-heading{margin-top:23px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--slate-200);border-radius:11px}.summary-grid>div{display:flex;min-width:0;flex-direction:column;align-items:center;padding:17px 19px;text-align:center}.summary-grid>div+div{border-left:1px solid var(--slate-200)}.summary-grid span{color:var(--slate-500);font-size:.71rem;text-transform:uppercase}.summary-grid strong{overflow:hidden;margin-top:6px;color:var(--slate-900);font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}.dashboard-charts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:stretch}.dashboard-chart-card{min-width:0}.dashboard-chart-body{width:100%;height:300px}.class-eval-table .status-watch-button{min-width:0}.class-eval-table tbody tr.is-selected,.class-eval-table tbody tr.is-selected:nth-child(2n){background:#eaf4ff}.class-eval-chart-card{margin-top:20px}.class-eval-chart-card .section-heading p{margin:4px 0 0;color:var(--slate-500);font-size:.86rem}.class-eval-chart-body{width:100%;min-height:280px}.online-classes-section{margin-top:22px}.online-classes-status{display:flex;align-items:center;gap:10px;margin:0;padding:18px 4px 8px;color:var(--slate-500);font-size:.88rem}.online-classes-status.is-error{color:var(--danger)}.online-classes-scroll{overflow-x:auto;border:1px solid var(--slate-200);border-radius:11px}.online-classes-grid{width:100%;min-width:980px;border-collapse:collapse;background:var(--white);font-size:.8rem}.online-classes-grid thead th{padding:10px 11px;color:#3f4d60;border-bottom:1px solid var(--slate-200);background:linear-gradient(180deg,#f7f9fc,#eef2f7);font-size:.72rem;font-weight:750;letter-spacing:.01em;text-align:left;white-space:nowrap}.online-classes-grid tbody td{padding:8px 11px;color:var(--slate-900);border-bottom:1px solid #edf1f6;vertical-align:middle;white-space:nowrap}.online-classes-grid tbody tr:nth-child(2n){background:#f8fafc}.online-classes-grid tbody tr:last-child td{border-bottom:0}.online-classes-grid .col-center{text-align:center}.online-classes-grid .col-icon{width:44px;text-align:center}.online-classes-grid .col-desc{max-width:240px;overflow:hidden;text-overflow:ellipsis}.online-class-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.online-class-icon-button{display:inline-flex;align-items:center;justify-content:center;padding:0;color:inherit;border:0;background:transparent;line-height:1}.online-class-icon i,.online-class-icon-button i{font-size:26px;width:26px;height:26px;line-height:26px}.class-professor-label{margin:0 0 10px;color:var(--slate-900);font-size:.92rem;font-weight:700}.class-professor-descr{margin:0 0 14px;color:var(--slate-500);font-size:.84rem;line-height:1.55}.class-professor-grid,.electives-grid{min-width:720px}.col-photo{width:72px;text-align:center}.professor-photo{width:60px;height:72px;object-fit:cover;border:1px solid var(--slate-200);border-radius:3px;background:#eef3f8;vertical-align:middle}.professor-photo.is-empty{display:inline-block}.col-desc-wrap{width:320px;max-width:320px}.online-classes-grid tbody td.col-desc-wrap{width:320px;max-width:320px;white-space:normal;vertical-align:top}.col-desc-wrap-inner{display:block;max-width:320px;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.45}.in-person-detail{display:flex;align-items:flex-start;gap:16px}.in-person-detail .professor-photo{width:60px;height:72px}.in-person-detail strong{display:block;margin-bottom:4px;color:var(--slate-900)}.in-person-detail p{margin:0 0 3px;color:var(--slate-700);font-size:.88rem}.video-player-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:8px 14px;border:1px solid var(--slate-200);border-radius:11px;background:#eef4f9}.video-player-toolbar-left{display:flex;align-items:center;gap:8px;min-width:0}.video-player-toolbar-left .back-to-dashboard{margin-bottom:0;margin-right:6px}.video-toolbar-action{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:64px;padding:4px 10px;color:var(--slate-900);border:0;border-radius:8px;background:transparent;font-size:.72rem;font-weight:650;line-height:1.1;cursor:pointer}.video-toolbar-action:hover{background:#ffffff8c}.video-toolbar-action:disabled{opacity:.45;cursor:not-allowed}.video-toolbar-action:disabled:hover{background:transparent}.video-player-toolbar strong{color:var(--slate-900);font-size:.95rem}.class-files-modal-backdrop{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0f172a73}.class-files-modal{width:min(640px,100%);max-height:min(80vh,720px);overflow:auto;padding:18px 18px 16px;border:1px solid var(--slate-200);border-radius:14px;background:var(--white);box-shadow:0 18px 48px #0f172a2e}.class-files-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.class-files-modal-header h2{margin:0;color:var(--slate-900);font-size:1.15rem}.class-files-close{padding:6px 12px;color:var(--slate-700);border:1px solid var(--slate-200);border-radius:8px;background:#f8fafc;cursor:pointer}.class-files-table-wrap{overflow:auto;border:1px solid #d7e0ea;border-radius:8px}.class-files-table{width:100%;border-collapse:collapse;font-size:.92rem}.class-files-table th,.class-files-table td{padding:10px 12px;border-bottom:1px solid #e5ebf1;text-align:left;vertical-align:middle}.class-files-table th{color:var(--slate-700);background:#f3f6f9;font-weight:650}.class-files-table tr:last-child td{border-bottom:0}.class-files-table tbody tr:nth-child(2n){background:#fafcfd}.class-files-download-btn{min-width:96px;padding:6px 12px;color:var(--slate-900);border:1px solid #c5d0db;border-radius:6px;background:#eef2f6;cursor:pointer}.class-files-download-btn:hover:not(:disabled){background:#e4ebf2}.class-files-download-btn:disabled{opacity:.65;cursor:wait}.video-player-shell{padding-top:18px}.video-player-professor{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}.video-player-professor strong{display:block;margin-bottom:4px}.video-player-professor p{margin:0 0 3px;color:var(--slate-700);font-size:.88rem}.video-player-layout{display:grid;grid-template-columns:minmax(180px,220px) minmax(0,1fr);gap:16px;min-height:420px}.video-chapters-list{display:flex;flex-direction:column;gap:2px;max-height:560px;overflow:auto;border:1px solid var(--slate-200);border-radius:10px;background:#f8fafc}.video-chapter-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;color:var(--slate-900);border:0;border-bottom:1px solid #edf1f6;border-radius:0;background:transparent;font-size:.84rem;text-align:left}.video-chapter-item:last-child{border-bottom:0}.video-chapter-item.is-active{background:#dcecf8}.video-chapter-item.is-disabled{color:#9aa7b6;cursor:not-allowed}.video-player-stage{overflow:hidden;border:1px solid var(--slate-200);border-radius:10px;background:#0f1c2a;min-height:420px}.warning-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:#0f1c2a7a}.warning-modal{width:min(100%,520px);padding:28px 26px 22px;border:1px solid var(--slate-200);border-radius:14px;background:var(--white);box-shadow:0 24px 60px #0f1c2a38}.warning-modal h2{margin:0 0 16px;color:var(--slate-900);font-size:1.35rem;font-weight:650}.warning-modal-message{margin:0 0 18px;color:var(--slate-900);font-size:.95rem;line-height:1.55}.warning-modal-message p{margin:0 0 10px}.warning-modal-check{display:flex;align-items:flex-start;gap:10px;margin:0 0 18px;color:var(--slate-900);font-size:.92rem}.warning-modal-check input{width:18px;height:18px;margin-top:2px;accent-color:var(--blue-600);flex-shrink:0;cursor:pointer}.warning-modal-check-label{flex:1;min-width:0;line-height:1.45;cursor:pointer}.warning-modal-check-html{display:block;color:var(--slate-900);font-size:.92rem;line-height:1.45}.warning-modal-check-html p{margin:0 0 6px}.warning-modal-check-html p:last-child{margin-bottom:0}.warning-modal-actions{display:flex;justify-content:flex-end;gap:10px}.warning-modal-secondary{min-height:44px;padding:0 16px;color:var(--slate-900);border:1px solid var(--slate-300);border-radius:11px;background:var(--white);font-weight:650;cursor:pointer}.warning-modal .primary-button{margin-top:0;min-width:120px}.class-eval-backdrop{position:fixed;z-index:90;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0f172a73}.class-eval-modal{width:min(560px,100%);max-height:min(90vh,760px);overflow:auto;padding:16px 18px 14px;border:1px solid var(--slate-200);border-radius:12px;background:var(--white);box-shadow:0 18px 48px #0f172a2e}.class-eval-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.class-eval-modal-header h2{margin:0;color:var(--slate-900);font-size:1.1rem}.class-eval-professor{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.class-eval-professor strong{display:block;color:var(--slate-900);font-size:.95rem}.class-eval-professor p{margin:2px 0 0;color:var(--slate-700);font-size:.88rem;line-height:1.35}.class-eval-progress-label{margin:0 0 8px;color:var(--slate-800);font-size:.92rem}.class-eval-question{margin:0 0 10px;color:var(--slate-900);font-size:.95rem;line-height:1.4;white-space:pre-wrap}.class-eval-divider{margin:0 0 12px;border:0;border-top:1px solid var(--slate-200)}.class-eval-answer-label{margin:0 0 8px;color:var(--slate-900);font-weight:700;font-size:.9rem}.class-eval-smileys{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px;justify-items:center}.class-eval-radios{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px;padding:10px 8px;border:1px solid var(--slate-200);border-radius:8px;background:#f5f7fa}.class-eval-radio{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--slate-800);font-size:.9rem;cursor:pointer}.class-eval-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 14px;padding:10px;border-radius:8px;background:#e8eef6}.class-eval-nav{display:inline-flex;align-items:center;gap:4px;min-width:88px;justify-content:center;padding:8px 12px;color:var(--slate-800);border:1px solid var(--slate-300);border-radius:8px;background:var(--white);font-size:.88rem;cursor:pointer}.class-eval-nav:disabled{color:#9aa7b8;cursor:not-allowed;opacity:.7}.class-eval-nav.is-primary:not(:disabled){color:var(--white);border-color:#2f6fed;background:#2f6fed}.class-eval-footer{display:grid;gap:6px}.class-eval-footer span{color:var(--slate-600);font-size:.78rem}.class-eval-bar{height:10px;overflow:hidden;border:1px solid var(--slate-200);border-radius:999px;background:#eef2f7}.class-eval-bar>span{display:block;height:100%;background:linear-gradient(90deg,#4f8cff,#2f6fed)}.chat-teacher-backdrop{position:fixed;z-index:90;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0f172a73}.chat-teacher-modal{width:min(980px,100%);max-height:min(92vh,820px);overflow:auto;padding:16px 18px 14px;border:1px solid var(--slate-200);border-radius:12px;background:var(--white);box-shadow:0 18px 48px #0f172a2e}.chat-teacher-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.chat-teacher-modal-header h2{margin:0;color:var(--slate-900);font-size:1.1rem}.chat-teacher-header-actions{display:flex;align-items:center;gap:8px}.chat-teacher-download{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;color:var(--slate-700);border:1px solid var(--slate-200);border-radius:8px;background:#f8fafc;font-size:.85rem;cursor:pointer}.chat-teacher-download:disabled{color:#9aa7b8;cursor:not-allowed;opacity:.7}.chat-teacher-top{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:16px;margin-bottom:14px;align-items:start}.chat-teacher-professor{display:flex;align-items:flex-start;gap:12px}.chat-teacher-professor strong{display:block;color:var(--slate-900);font-size:.95rem}.chat-teacher-professor p{margin:2px 0 0;color:var(--slate-700);font-size:.88rem;line-height:1.35}.chat-teacher-legend{color:var(--slate-700);font-size:.82rem;line-height:1.4}.chat-teacher-legend p{margin:0 0 8px}.chat-teacher-legend ul{margin:0;padding:0;list-style:none}.chat-teacher-legend li{display:flex;align-items:center;gap:8px;margin:3px 0}.chat-teacher-legend i.fas.fa-comment{width:1.15em;text-align:center}.chat-teacher-legend .is-available{color:#1f2937}.chat-teacher-legend .is-sent{color:#63e6be}.chat-teacher-legend .is-received{color:#ffd43b}.chat-teacher-legend .is-answered{color:#74c0fc}.chat-teacher-table-wrap{overflow:auto;max-height:min(42vh,360px);margin-bottom:12px;border:1px solid var(--slate-200);border-radius:8px}.chat-teacher-table{width:100%;border-collapse:collapse;font-size:.84rem}.chat-teacher-table th,.chat-teacher-table td{padding:8px 10px;border-bottom:1px solid #edf1f6;text-align:left;vertical-align:top}.chat-teacher-table th{color:#3f4d60;background:#f7f9fc;font-size:.75rem;white-space:nowrap}.chat-teacher-date{white-space:nowrap;color:var(--slate-600)}.chat-teacher-text{white-space:pre-wrap;overflow-wrap:anywhere;min-width:220px}.chat-teacher-empty{color:var(--slate-500);text-align:center}.chat-teacher-compose{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:stretch}.chat-teacher-compose textarea{width:100%;min-height:96px;padding:10px 12px;resize:vertical;border:1px solid var(--slate-200);border-radius:8px;color:var(--slate-900);font:inherit;line-height:1.4}.chat-teacher-send{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:112px;padding:10px 12px;color:var(--slate-800);border:1px solid var(--slate-300);border-radius:8px;background:#f8fafc;font-size:.82rem;cursor:pointer}.chat-teacher-send:disabled{color:#9aa7b8;cursor:not-allowed;opacity:.7}@media(max-width:760px){.chat-teacher-top,.chat-teacher-compose{grid-template-columns:1fr}}.chat-forum-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:16px;background:#0f172a73}.chat-forum-modal{width:min(960px,100%);max-height:min(92vh,860px);overflow:auto;padding:16px 18px 18px;border-radius:12px;background:#eef3f8;box-shadow:0 18px 48px #0f172a2e}.chat-forum-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.chat-forum-modal-header h2{margin:0;color:var(--slate-900);font-size:1.05rem;line-height:1.35;text-align:center;flex:1}.chat-forum-prompt{margin-bottom:12px;padding:12px 14px;border:1px solid #c5d3e2;border-radius:8px;background:#dce7f2;color:var(--slate-800);font-size:.9rem;line-height:1.45}.chat-forum-prompt p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.chat-forum-table-wrap{overflow:auto;max-height:min(42vh,380px);margin-bottom:12px;border:1px solid #b8c6d6;border-radius:6px;background:#fff}.chat-forum-table{width:100%;border-collapse:collapse;font-size:.84rem}.chat-forum-table th,.chat-forum-table td{padding:8px 10px;border-bottom:1px solid #d7e0ea;text-align:left;vertical-align:top}.chat-forum-table th{color:#3f4d60;background:linear-gradient(180deg,#f4f7fb,#e5ecf4);font-size:.75rem;white-space:nowrap}.chat-forum-table tbody tr:hover{background:#eaf4ff}.chat-forum-date{white-space:nowrap;color:var(--slate-600);width:1%}.chat-forum-text{white-space:pre-wrap;overflow-wrap:anywhere;min-width:240px}.chat-forum-empty{color:var(--slate-500);text-align:center}.chat-forum-compose{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:stretch;padding:12px;border:1px solid #c5d3e2;border-radius:8px;background:#dce7f2}.chat-forum-compose textarea{width:100%;min-height:96px;padding:10px 12px;resize:vertical;border:1px solid #9aadc2;border-radius:4px;color:var(--slate-900);background:#fff;font:inherit;line-height:1.4}.chat-forum-send{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:112px;padding:10px 12px;color:var(--slate-800);border:1px solid #7f93a8;border-radius:4px;background:#f3f6fa;font-size:.82rem;cursor:pointer}.chat-forum-send:disabled{color:#9aa7b8;cursor:not-allowed;opacity:.7}@media(max-width:760px){.chat-forum-compose{grid-template-columns:1fr}.chat-forum-modal-header{flex-direction:column}.chat-forum-modal-header h2{text-align:left}}.welcome-video-agree{display:flex;align-items:flex-start;gap:10px;margin:0 0 14px;color:var(--slate-800);font-size:.95rem;line-height:1.4;cursor:pointer}.welcome-video-agree input{width:16px;height:16px;margin-top:2px;flex-shrink:0}.video-player-stage iframe{display:block;width:100%;height:100%;min-height:420px;border:0}.vimeo-embed,.vimeo-embed-host{width:100%;min-height:420px}.vimeo-embed-host iframe{width:100%!important;min-height:420px}.video-quiz-notice{display:grid;min-height:420px;place-content:center;gap:10px;padding:28px;color:var(--white);text-align:center}.video-quiz-notice h2{margin:0;color:#7eb5df;font-family:Georgia,Times New Roman,serif}.video-quiz-notice p{margin:0 0 10px;color:#d5e2ec}.video-quiz-notice .primary-button{margin:0 auto;min-width:180px}.video-quiz-list{display:flex;flex-direction:column;gap:18px;padding:18px 4px 8px}.video-quiz-item strong{display:block;margin-bottom:8px;color:var(--slate-900)}.video-quiz-item ol{margin:0;padding-left:1.25rem;color:var(--slate-700)}.video-quiz-list .primary-button{align-self:flex-start}.video-quiz-shell{padding:18px 20px 24px}.video-quiz-panel{display:grid;gap:16px;max-width:920px}.video-quiz-heading{margin:0;color:var(--slate-900);font-size:1.8rem;font-weight:800;line-height:1.1}.video-quiz-question{min-height:88px;padding:14px 16px;border:1px solid var(--slate-300);border-radius:2px;background:var(--white);color:var(--slate-900);font-size:.98rem;line-height:1.45}.video-quiz-question strong{font-weight:700}.video-quiz-answers{display:grid;gap:10px}.video-quiz-answer-row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;align-items:stretch}.video-quiz-answer-letter,.video-quiz-answer-text{margin:0;border:1px solid var(--slate-300);border-radius:2px;background:linear-gradient(180deg,#f7f7f7,#fff 55%);color:var(--slate-900);font:inherit;text-align:left;cursor:pointer}.video-quiz-answer-letter{display:grid;place-items:center;min-height:42px;font-weight:800}.video-quiz-answer-text{padding:10px 12px;background:var(--white);line-height:1.35}.video-quiz-answer-text font,.video-quiz-answer-text span{font:inherit!important;font-size:inherit!important;color:inherit!important}.video-quiz-answer-letter:hover:not(:disabled),.video-quiz-answer-text:hover:not(:disabled){border-color:#7eb5df;background:#f4f9fc}.video-quiz-answer-letter:disabled,.video-quiz-answer-text:disabled{opacity:.7;cursor:not-allowed}@media(max-width:720px){.video-quiz-answer-row{grid-template-columns:40px minmax(0,1fr)}}.video-quiz-item ol{margin:0;padding-left:22px;color:var(--slate-700);line-height:1.55}.video-quiz-list .primary-button{margin-top:8px;max-width:220px}@media(max-width:820px){.video-player-layout{grid-template-columns:1fr}.video-chapters-list{max-height:220px}}.video-progress{width:72px;height:12px;overflow:hidden;border:1px solid #7eb5df;border-radius:2px;background:var(--white)}.video-progress>span{display:block;height:100%;background:linear-gradient(90deg,#4a9fd8,#2f7fbd)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-heading{margin-bottom:24px}.page-heading h1{color:var(--slate-900)}.empty-state{display:flex;min-height:360px;align-items:center;justify-content:center;flex-direction:column;padding:40px;border:1px dashed #bdc9d6;border-radius:18px;background:var(--white);text-align:center}.empty-state-icon{display:grid;width:64px;height:64px;margin-bottom:18px;color:var(--blue-600);border-radius:17px;place-items:center;background:var(--blue-100)}.empty-state p{margin:8px 0 0;color:var(--slate-500)}@media(max-width:1100px){.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-card{min-height:148px}}@media(max-width:820px){.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-panel{min-height:100vh;padding:32px 22px}.sidebar-desktop{display:none}.sidebar-mobile{position:fixed;z-index:50;top:0;bottom:0;left:0;display:block;width:min(84vw,290px);transform:translate(-102%);transition:transform .22s ease}.mobile-menu-open .sidebar-mobile{transform:translate(0)}.mobile-backdrop{position:fixed;z-index:40;top:0;right:0;bottom:0;left:0;display:block;visibility:hidden;padding:0;border:0;opacity:0;background:#09121c8c;transition:opacity .2s ease,visibility .2s ease}.mobile-menu-open .mobile-backdrop{visibility:visible;opacity:1}.portal-main,.sidebar-collapsed .portal-main{margin-left:0}.portal-header{height:66px;padding-inline:16px}.mobile-menu-button{display:grid;width:40px;height:40px;color:var(--navy-900);border:1px solid var(--slate-200);border-radius:10px;place-items:center;background:var(--white)}.header-title>span{display:none}.student-chip{margin-left:auto}.portal-content{padding:20px 15px 32px}.welcome-banner{min-height:0;align-items:flex-start;flex-direction:column;padding:28px 24px}.welcome-banner-logo{align-self:flex-end}.welcome-profile{align-items:flex-start}.summary-grid{grid-template-columns:1fr}.summary-grid>div+div{border-top:1px solid var(--slate-200);border-left:0}.dashboard-charts{grid-template-columns:1fr}}@media(max-width:520px){.login-panel{align-items:start}.login-card{margin-top:4vh}.student-chip-copy{max-width:145px}.welcome-profile{flex-direction:column}.quick-grid{grid-template-columns:1fr}.quick-card{min-height:132px}.student-summary{padding-inline:16px}}.overdue-statement-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:16px;background:#0f172a66}.overdue-statement-modal{width:min(360px,100%);padding:28px 24px 22px;border-radius:10px;background:#fff;box-shadow:0 18px 48px #0f172a38;text-align:center}.overdue-statement-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 16px;border:3px solid #f0ad6d;border-radius:50%;color:#f0ad6d;font-size:2rem;font-weight:700;line-height:1}.overdue-statement-modal h2{margin:0 0 8px;color:#4a4a4a;font-size:1.35rem;font-weight:700}.overdue-statement-modal p{margin:0 0 22px;color:#8a8a8a;font-size:1rem}.overdue-statement-ok{min-width:96px;padding:10px 28px;color:#fff;border:0;border-radius:4px;background:#9b9b9b;font-size:1rem;cursor:pointer}.overdue-statement-ok:hover{background:#888}.announcement-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:16px;background:#0f172a73}.announcement-modal{display:flex;flex-direction:column;width:min(920px,100%);height:min(720px,92vh);overflow:hidden;border-radius:10px;background:#fff;box-shadow:0 18px 48px #0f172a3d}.announcement-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--slate-200);background:linear-gradient(180deg,#f8fafc,#eef4f9)}.announcement-toolbar h2{margin:0;font-size:1.05rem;color:var(--slate-900)}.announcement-close{border:1px solid #8ebfe8;border-radius:6px;padding:6px 14px;background:linear-gradient(180deg,#f4f9fd,#d7ebfa);color:#111827;font:inherit;font-size:.88rem;cursor:pointer}.announcement-body{flex:1;min-height:0;background:#fff}.announcement-frame{display:block;width:100%;height:100%;border:0;background:#fff}.survey-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;display:grid;place-items:center;padding:16px;background:#0f172a73}.survey-modal{display:flex;flex-direction:column;width:min(720px,100%);max-height:min(860px,94vh);overflow:hidden;border-radius:10px;background:#fff;box-shadow:0 18px 48px #0f172a3d}.survey-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--slate-200);background:linear-gradient(180deg,#f8fafc,#eef4f9)}.survey-toolbar h2,.survey-intro{margin:0;flex:1;min-width:0;font-size:.95rem;font-weight:500;line-height:1.45;color:var(--slate-900)}.survey-close,.survey-ok{border:1px solid #8ebfe8;border-radius:6px;padding:6px 14px;background:linear-gradient(180deg,#f4f9fd,#d7ebfa);color:#111827;font:inherit;font-size:.88rem;cursor:pointer}.survey-ok{min-width:96px}.survey-body{flex:1;min-height:0;overflow:auto;padding:16px 18px;display:grid;gap:16px}.survey-question{margin:0;padding:12px 14px;border:1px solid var(--slate-200);border-radius:8px;background:#fbfdff}.survey-question.is-invalid{background:#fff8c4;border-color:#e6c84a}.survey-question legend{padding:0 4px;color:var(--slate-800);font-size:.95rem;font-weight:600}.survey-required{color:#b91c1c;font-weight:700}.survey-options{display:grid;gap:8px;margin-top:8px}.survey-options label{display:flex;align-items:flex-start;gap:8px;color:var(--slate-800);font-size:.92rem}.survey-options input{margin-top:3px}.survey-text-input{width:100%;margin-top:8px;box-sizing:border-box;padding:8px 10px;border:1px solid var(--slate-300);border-radius:4px;font:inherit;font-size:.92rem}.survey-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 16px;border-top:1px solid var(--slate-200);background:#f8fafc}.survey-footer .form-error{margin:0 auto 0 0}.statement-section .section-heading,.grades-section .section-heading,.myfiles-section .section-heading{margin-bottom:12px}.grades-table .col-center{text-align:center}.myfiles-page{display:flex;flex-direction:column;min-height:0}.myfiles-section{display:flex;flex-direction:column;flex:1;min-height:0}.myfiles-table .myfiles-filter-row th{padding:6px 8px;background:#eef3f8;font-weight:400}.myfiles-filter-input{width:100%;box-sizing:border-box;border:1px solid #c5d0dc;border-radius:2px;padding:4px 6px;font:inherit;font-size:.8rem;background:#fff;color:#2f3b4a}.myfiles-filter-input:focus{outline:2px solid #8eb4d8;outline-offset:0}.myfiles-upload-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:16px;padding:12px 14px;border:1px solid #d7dee8;background:#f7f9fc}.myfiles-send-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:88px;min-height:72px;padding:8px 12px;border:1px solid #b8c6d6;border-radius:4px;background:#fff;color:#3f4d60;font:inherit;font-size:.78rem;cursor:pointer}.myfiles-send-btn:disabled{cursor:not-allowed;opacity:.7}.myfiles-send-btn:not(:disabled):hover{border-color:#8aa3bd;background:#f5f8fb}.myfiles-eval-modal{width:min(420px,100%)}.myfiles-eval-modal p{color:#6a6a6a;line-height:1.45}.myfiles-course-select-wrap{flex:1 1 280px;max-width:420px}.myfiles-course-select{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid #c5d0dc;border-radius:2px;background:#fff;font:inherit;font-size:.9rem;color:#2f3b4a}.myfiles-upload-hint{margin:0;color:#2f3b4a;font-size:.9rem}.send-file-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:85;display:grid;place-items:center;padding:16px;background:#0f172a66}.send-file-modal{width:min(600px,100%);border:1px solid #c5d0dc;border-radius:4px;background:#fff;box-shadow:0 18px 48px #0f172a38;overflow:hidden}.send-file-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:linear-gradient(180deg,#dce8f5,#c5d8eb);border-bottom:1px solid #b4c5d8}.send-file-toolbar h2{margin:0;color:#2f3b4a;font-size:.95rem;font-weight:650}.send-file-cancel{display:inline-flex;flex-direction:column;align-items:center;gap:2px;min-width:56px;padding:4px 8px;border:0;background:transparent;color:#3f4d60;font:inherit;font-size:.72rem;cursor:pointer}.send-file-cancel:disabled{opacity:.6;cursor:not-allowed}.send-file-body{display:grid;gap:14px;padding:16px 18px 18px}.send-file-row{display:grid;grid-template-columns:88px 1fr;gap:10px;align-items:center}.send-file-row-top{align-items:start}.send-file-label{text-align:right;color:#3f4d60;font-size:.88rem}.send-file-course{color:#1f2937;font-size:.95rem;font-weight:700;line-height:1.35}.send-file-description{width:100%;box-sizing:border-box;min-height:88px;padding:8px 10px;border:1px solid #c5d0dc;border-radius:2px;resize:vertical;font:inherit;font-size:.9rem;color:#2f3b4a}.send-file-pick-wrap{min-width:0}.send-file-pick-btn{width:100%;min-height:34px;padding:6px 12px;border:1px solid #b8c6d6;border-radius:2px;background:#e9eef3;color:#2f3b4a;font:inherit;font-size:.88rem;text-align:center;cursor:pointer}.send-file-pick-btn:hover:not(:disabled){background:#dde5ed}.send-file-input{width:100%;box-sizing:border-box;min-height:34px;padding:6px 10px;border:1px solid #c5d0dc;border-radius:2px;font:inherit;font-size:.9rem;color:#2f3b4a}.qualification-section .section-heading{margin-bottom:12px}.qualification-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:18px}.qualification-panels.is-single{grid-template-columns:minmax(0,1fr)}.qualification-panel{display:grid;gap:12px;padding:14px;border:1px solid #d7dee8;background:#fff}.qualification-field{display:grid;grid-template-columns:minmax(140px,1fr) 140px;gap:10px;align-items:center}.qualification-field-top{grid-template-columns:1fr;align-items:start}.qualification-field-text{display:grid;gap:4px}.qualification-label,.qualification-field label{color:#3f4d60;font-size:.88rem}.qualification-input{width:100%;box-sizing:border-box;min-height:34px;padding:6px 8px;border:1px solid #c5d0dc;border-radius:2px;background:#f8fafc;font:inherit;font-size:.88rem;color:#2f3b4a}.qualification-textarea{width:100%;box-sizing:border-box;min-height:88px;padding:8px 10px;border:1px solid #c5d0dc;border-radius:2px;background:#f8fafc;resize:vertical;font:inherit;font-size:.9rem;color:#2f3b4a}.qualification-advisor{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:start}.qualification-advisor-photo{width:72px;height:90px;object-fit:cover;border:1px solid #c5d0dc;background:#eef3f8}.qualification-advisor-photo.is-empty{display:block}.qualification-table tbody tr{cursor:pointer}.qualification-table tbody tr.is-selected{outline:1px dashed #5b8fc7;background:#eef6ff}.qualification-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;padding:10px 12px;border:1px solid #d7dee8;background:#f7f9fc}.qualification-action-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:88px;min-height:72px;padding:8px 12px;border:1px solid #b8c6d6;border-radius:4px;background:#fff;color:#3f4d60;font:inherit;font-size:.78rem;cursor:pointer}.qualification-action-btn:hover:not(:disabled){border-color:#8aa3bd;background:#f5f8fb}.qualification-action-btn:disabled{opacity:.55;cursor:not-allowed}@media(max-width:900px){.qualification-panels,.qualification-field{grid-template-columns:1fr}}.send-file-feedback-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;display:grid;place-items:center;padding:16px;background:#0f172a73}.send-file-feedback-modal{width:min(320px,100%)}.send-file-feedback-modal h2{margin:0 0 8px;color:#4a4a4a;font-size:1.45rem;font-weight:700}.send-file-feedback-modal p{margin:0 0 22px;color:#6a6a6a;font-size:1rem}@media(max-width:640px){.send-file-row,.send-file-row-top{grid-template-columns:1fr}.send-file-label{text-align:left}}.statement-table-scroll{overflow:auto}.statement-table{width:100%;border-collapse:collapse;font-size:.88rem;background:#fff}.statement-table th,.statement-table td{padding:8px 10px;border:1px solid #d7dee8;text-align:left;vertical-align:middle}.statement-table th{color:#3f4d60;background:#f3f6fa;font-size:.78rem;white-space:nowrap}.statement-table tbody tr:nth-child(2n){background:#f8fafc}.statement-table .col-money{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.statement-table .col-center{text-align:center}.student-chat-list-icon i.fas.fa-comment{display:inline-block;line-height:1}.student-chat-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:12px}.student-chat-open-filter{display:inline-flex;align-items:center;gap:8px;color:var(--slate-800);font-size:.95rem;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.student-chat-open-filter input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--accent, #2563eb)}.student-chat-legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px 8px;margin:0;color:var(--slate-700);font-size:.88rem}.student-chat-legend i.fas.fa-comment{margin-right:2px}.student-chat-legend-sep{color:var(--slate-400)}.tuition-fees-section{display:grid;gap:14px}.tuition-fees-table tbody tr{cursor:pointer}.tuition-fees-table tbody tr.is-selected{background:#dbeafe}.tuition-fees-table tbody tr.is-selected:nth-child(2n){background:#dbeafe}.agreement-section{display:grid;gap:14px}.agreement-table tbody tr{cursor:pointer}.agreement-table tbody tr.is-selected{background:#dbeafe}.agreement-table tbody tr.is-selected:nth-child(2n){background:#dbeafe}.librarian-chat-modal{width:min(1100px,100%);height:min(740px,94vh)}.librarian-chat-modal-body{flex:1;min-height:0;overflow:auto;padding:8px 16px 16px}.librarian-chat-section{display:grid;gap:14px}.librarian-chat-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:8px 4px 4px}.librarian-chat-person{display:flex;align-items:center;gap:14px;min-width:0}.librarian-chat-photo{display:grid;place-items:center;width:68px;height:87px;overflow:hidden;border:1px solid #d7dee8;background:#eef2f7}.librarian-chat-photo img{width:100%;height:100%;object-fit:cover}.librarian-chat-photo.is-empty{display:grid;place-items:center;color:#64748b}.librarian-chat-label{margin:0 0 4px;color:var(--slate-600);font-size:.9rem}.librarian-chat-person strong{display:block;font-size:1rem}.librarian-chat-file{margin:6px 0 0;color:var(--slate-600);font-size:.88rem}.librarian-chat-upload,.librarian-chat-download,.librarian-chat-send{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:120px;padding:10px 14px;color:var(--slate-800);border:1px solid var(--slate-300);border-radius:8px;background:#f8fafc;font-size:.82rem;cursor:pointer}.librarian-chat-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.librarian-chat-upload:disabled,.librarian-chat-download:disabled,.librarian-chat-send:disabled{color:#9aa7b8;cursor:not-allowed;opacity:.75}.librarian-chat-table-wrap{min-height:220px}.librarian-chat-modal .librarian-chat-table-wrap{min-height:180px}.librarian-chat-table tbody tr{cursor:pointer}.librarian-chat-table tbody tr.is-selected,.librarian-chat-table tbody tr.is-selected:nth-child(2n){background:#dbeafe}.librarian-chat-date{white-space:nowrap;color:var(--slate-600)}.librarian-chat-text{white-space:pre-wrap;overflow-wrap:anywhere;min-width:220px}.librarian-chat-compose{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:stretch}.librarian-chat-compose textarea{width:100%;min-height:86px;padding:10px 12px;resize:vertical;border:1px solid var(--slate-200);border-radius:8px;color:var(--slate-900);font:inherit;line-height:1.4}@media(max-width:760px){.librarian-chat-compose{grid-template-columns:1fr}}.tuition-fees-totals{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 32px;padding:10px 4px 2px;border-top:1px solid #d7dee8}.tuition-fees-total-right{display:grid;gap:8px;justify-items:end}.tuition-fees-total-item{display:flex;align-items:center;gap:12px;font-size:.92rem}.tuition-fees-total-item span{color:var(--slate-600)}.tuition-fees-total-item strong{min-width:7.5rem;text-align:right;font-variant-numeric:tabular-nums;font-weight:700}@media(max-width:720px){.tuition-fees-totals{flex-direction:column;align-items:stretch}.tuition-fees-total-right{justify-items:stretch}.tuition-fees-total-item{justify-content:space-between}}.statement-empty{color:var(--slate-500);text-align:center}.statement-dash{color:var(--slate-400)}.statement-pay-link{padding:0;color:#2563eb;border:0;background:transparent;font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}.statement-pay-link:hover{color:#1d4ed8}.statement-summary td{font-weight:600}.statement-summary.is-green td{color:#fff;background:#1f7a3f;border-color:#1a6635}.statement-summary.is-red td{color:#fff;background:#c62828;border-color:#b71c1c}.statement-summary.is-blue td{color:#0f172a;background:#87ceeb;border-color:#6eb6d4}.statement-summary.is-plain td{background:#fff}.class-schedule-section .section-heading{margin-bottom:10px}.class-schedule-calendar{border:1px solid #c5d0dc;border-radius:8px;background:#fff;overflow:hidden}.class-schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid #d7dee8;background:#f5f8fb}.class-schedule-nav{display:flex;align-items:center;gap:6px}.class-schedule-nav strong{margin-left:8px;color:var(--slate-800);font-size:1rem;font-weight:600}.class-schedule-nav button,.class-schedule-views button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 10px;color:var(--slate-700);border:1px solid #c5d0dc;border-radius:4px;background:#fff;font:inherit;font-size:.85rem;cursor:pointer}.class-schedule-nav button:hover,.class-schedule-views button:hover{background:#eef3f8}.class-schedule-views{display:flex;gap:4px}.class-schedule-views button.is-active{color:#fff;border-color:#3b82f6;background:#3b82f6}.class-schedule-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid #d7dee8;background:#f8fafc}.class-schedule-weekdays span{padding:8px 6px;color:#64748b;font-size:.78rem;font-weight:600;text-align:center}.class-schedule-day-view .class-schedule-weekdays{grid-template-columns:1fr}.class-schedule-grid{display:grid}.class-schedule-grid.is-month{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(96px,1fr)}.class-schedule-grid.is-week{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(180px,1fr)}.class-schedule-grid.is-day{grid-template-columns:1fr;grid-auto-rows:minmax(280px,1fr)}.class-schedule-day{min-height:96px;padding:6px;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;background:#fff}.class-schedule-day.is-outside{background:#f8fafc;color:#94a3b8}.class-schedule-day-number{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;margin-bottom:4px;border-radius:999px;font-size:.82rem;font-weight:600}.class-schedule-day.is-today .class-schedule-day-number{color:#fff;background:#3b82f6}.class-schedule-day.has-events{cursor:pointer}.class-schedule-day.has-events:hover{background:#f0f7ff}.class-schedule-events{margin:0;padding:0;list-style:none}.class-schedule-events li{margin:0 0 2px}.class-schedule-event{display:block;width:100%;overflow:hidden;padding:0;color:#2563eb;border:0;background:transparent;font-size:.78rem;font-weight:600;line-height:1.25;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.class-schedule-event:hover{text-decoration:underline}.class-schedule-event.is-static{cursor:default;overflow:visible;white-space:normal;text-overflow:unset}.class-schedule-event.is-static:hover{text-decoration:none}.class-schedule-event small{display:block;color:#64748b;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-info-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:16px;background:#0f172a66}.class-info-modal{width:min(640px,100%);max-height:min(90vh,720px);overflow:auto;padding:14px 16px 16px;border-radius:10px;background:#eaf2f8;box-shadow:0 18px 48px #0f172a33}.class-info-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.class-info-modal-header h2{margin:0;color:var(--slate-900);font-size:1.1rem}.class-info-ok{display:inline-flex;flex-direction:column;align-items:center;gap:2px;min-width:56px;padding:6px 10px;color:var(--slate-800);border:1px solid #9eb3c7;border-radius:6px;background:#f5f8fb;font-size:.78rem;cursor:pointer}.class-info-ok:hover{background:#fff}.class-info-top{display:grid;grid-template-columns:96px 1fr;gap:16px;margin-bottom:14px;padding:12px;border:1px solid #c5d3e2;border-radius:8px;background:#fff}.class-info-photo,.class-info-photo-empty{width:96px;height:112px;overflow:hidden;border:1px solid #c5d3e2;border-radius:4px;background:#f1f5f9}.class-info-photo img{width:100%;height:100%;object-fit:cover}.class-info-photo-empty{display:grid;place-items:center;color:#94a3b8}.class-info-fields{margin:0}.class-info-fields>div{display:grid;grid-template-columns:96px 1fr;gap:8px;margin:0 0 8px;align-items:baseline}.class-info-fields dt{margin:0;color:var(--slate-700);font-weight:500}.class-info-fields dd{margin:0;color:#1d4ed8;font-weight:700}.class-info-table-wrap{overflow:auto;max-height:min(42vh,320px);border:1px solid #b8c6d6;border-radius:6px;background:#fff}.class-info-table{width:100%;border-collapse:collapse;font-size:.86rem}.class-info-table th,.class-info-table td{padding:8px 10px;border-bottom:1px solid #d7e0ea;text-align:left}.class-info-table th{color:#334155;background:linear-gradient(180deg,#f4f7fb,#e5ecf4);font-size:.78rem;white-space:nowrap}.class-info-table tbody tr.is-selected,.class-info-table tbody tr:hover{background:#eaf4ff}.class-info-empty{color:var(--slate-500);text-align:center}@media(max-width:900px){.class-schedule-grid.is-month,.class-schedule-grid.is-week{grid-auto-rows:minmax(84px,1fr)}.class-schedule-event{font-size:.7rem}.class-info-top{grid-template-columns:1fr}.class-info-fields>div{grid-template-columns:88px 1fr}}.support-material-table-wrap{max-height:min(70vh,720px)}.support-material-table thead th{vertical-align:bottom}.support-material-table thead th span{display:block;margin-bottom:6px}.support-material-table thead th input{width:100%;min-width:0;box-sizing:border-box;padding:6px 8px;border:1px solid var(--slate-300);border-radius:4px;background:var(--white);color:var(--slate-900);font:inherit;font-size:.85rem}.support-material-table tbody tr.is-selected{background:#e8f2fb}.support-material-col-thumb{width:160px}.support-material-title{display:block;color:var(--slate-900);font-size:.95rem}.support-material-descr{margin:4px 0 0;color:var(--slate-600);font-size:.88rem;line-height:1.35;white-space:pre-wrap}.support-material-col-type{width:140px;vertical-align:top;white-space:nowrap}.support-material-col-action{width:110px;text-align:center;vertical-align:middle}.support-material-open{min-width:88px;padding:7px 12px;border:1px solid var(--slate-300);border-radius:6px;background:linear-gradient(180deg,#f8fafc,#e2e8f0);color:var(--slate-800);font:inherit;font-size:.88rem;cursor:pointer}.support-material-open:hover:not(:disabled){background:linear-gradient(180deg,#fff,#dbe3ec)}.support-material-open:disabled{opacity:.65;cursor:wait}.support-material-video-modal{width:min(920px,100%)}.prayer-worship-section{padding:0;overflow:hidden}.prayer-hero{position:relative;min-height:min(52vh,480px);padding:28px 24px 36px;background-color:#0b1c33;background-position:center;background-size:cover;background-repeat:no-repeat;color:#fff}.prayer-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#08122259,#08122273 55%,#0812228c);pointer-events:none}.prayer-hero-content{position:relative;z-index:1;display:grid;gap:18px;max-width:920px;margin:0 auto;text-align:center}.prayer-hero-title{margin:0;font-family:var(--font-display, Georgia, "Times New Roman", serif);font-size:clamp(1.8rem,3.2vw,2.5rem);font-weight:700;letter-spacing:.01em;text-shadow:0 2px 10px rgb(0 0 0 / 35%)}.prayer-hero-quote{margin:0 auto;max-width:760px}.prayer-hero-quote p{margin:0;font-size:clamp(.95rem,1.5vw,1.08rem);line-height:1.55;text-shadow:0 1px 6px rgb(0 0 0 / 40%)}.prayer-hero-quote cite{display:block;margin-top:10px;font-style:normal;font-size:.95rem;opacity:.95}.prayer-hero-cta{margin-top:8px;text-align:left;max-width:420px}.prayer-hero-cta p{margin:0;font-size:1.05rem;line-height:1.45;text-shadow:0 1px 6px rgb(0 0 0 / 40%)}.prayer-hero-cta p+p{margin-top:4px}.prayer-compose{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:stretch;padding:14px;background:#e8edf2;border-top:1px solid var(--slate-200)}.prayer-compose textarea{width:100%;min-height:96px;resize:vertical;padding:12px 14px;border:1px solid var(--slate-300);border-radius:4px;background:var(--white);color:var(--slate-900);font:inherit;font-size:.95rem;line-height:1.4}.prayer-compose textarea:focus{outline:2px solid #7eb6e8;outline-offset:1px}.prayer-submit{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:110px;padding:12px 16px;border:1px solid #8ebfe8;border-radius:6px;background:linear-gradient(180deg,#d7ebfa,#b7d8f2);color:#111827;font:inherit;font-size:.9rem;cursor:pointer}.prayer-submit:hover{background:linear-gradient(180deg,#e5f3fc,#c5e0f5)}.my-info-section{padding:0;overflow:hidden}.my-info-toolbar{display:flex;gap:10px;align-items:center;padding:10px 14px;background:linear-gradient(180deg,#d7ebfa,#b7d8f2);border-bottom:1px solid #8ebfe8}.my-info-action{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:96px;padding:8px 12px;border:1px solid #8ebfe8;border-radius:6px;background:linear-gradient(180deg,#f4f9fd,#d7ebfa);color:#111827;font:inherit;font-size:.82rem;cursor:pointer}.my-info-action.is-primary{background:linear-gradient(180deg,#e5f3fc,#c5e0f5)}.my-info-action:disabled{opacity:.65;cursor:not-allowed}.my-info-form{display:grid;gap:14px;max-width:760px;padding:20px 18px 24px}.my-info-row{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px 16px;align-items:center}.my-info-row>span:first-child{color:var(--slate-700);font-size:.92rem;text-align:right}.my-info-row input[type=text],.my-info-row input[type=email],.my-info-row input[type=password],.my-info-row select{width:100%;max-width:420px;box-sizing:border-box;padding:8px 10px;border:1px solid var(--slate-300);border-radius:4px;background:var(--white);color:var(--slate-900);font:inherit;font-size:.92rem}.my-info-phone{width:100%;max-width:420px;--react-international-phone-height: 38px;--react-international-phone-font-size: .92rem;--react-international-phone-border-radius: 4px;--react-international-phone-border-color: var(--slate-300);--react-international-phone-background-color: var(--white);--react-international-phone-text-color: var(--slate-900);--react-international-phone-selected-dropdown-item-background-color: var(--slate-100);--react-international-phone-country-selector-background-color-hover: var(--slate-100)}.my-info-phone .react-international-phone-input-container{width:100%}.my-info-phone .react-international-phone-input{width:100%;font:inherit}.my-info-checkbox{display:inline-flex;align-items:center;min-height:38px}.my-info-checkbox input[type=checkbox]{width:18px;height:18px;margin:0}.my-info-other{display:grid;gap:10px;margin-top:8px}.my-info-other>span{color:var(--slate-700);font-size:.92rem;text-align:left}.my-info-other textarea{width:100%;max-width:656px;min-height:110px;box-sizing:border-box;resize:vertical;padding:8px 10px;border:1px solid var(--slate-300);border-radius:4px;background:var(--white);color:var(--slate-900);font:inherit;font-size:.92rem}.support-section{padding:0;overflow:hidden}.support-table-wrap{padding:0}.support-table tbody tr{cursor:pointer}.support-table tbody tr.is-selected,.support-table tbody tr.is-selected:nth-child(2n){background:#cfe6f8}.support-detail{max-width:900px}.support-detail-meta,.support-detail-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;color:var(--slate-700);font-size:.92rem}.support-detail-meta{margin-bottom:4px}.support-detail-when{margin-left:auto}.support-question-row{align-items:start}.support-question-row textarea,.support-answer-box textarea{width:100%;max-width:none;box-sizing:border-box;padding:8px 10px;border:1px solid var(--slate-300);border-radius:4px;background:var(--white);color:var(--slate-900);font:inherit;font-size:.92rem;resize:vertical;min-height:140px}.support-answer-box{margin-top:8px}.support-detail input[readonly],.support-detail textarea[readonly]{background:#f8fafc}@media(max-width:720px){.my-info-row{grid-template-columns:1fr;gap:6px}.my-info-row>span:first-child{text-align:left}.my-info-row input[type=text],.my-info-row input[type=email],.my-info-row input[type=password],.my-info-row select,.my-info-phone,.my-info-other textarea{max-width:none}.prayer-compose{grid-template-columns:1fr}.prayer-hero-cta{text-align:center;max-width:none}}.class-schedule-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:96;display:grid;place-items:center;padding:16px;background:#0f172a73}.class-schedule-modal{display:flex;flex-direction:column;width:min(820px,100%);max-height:92vh;overflow:hidden;border-radius:6px;background:#fff;box-shadow:0 18px 48px #0f172a3d}.class-schedule-caption{padding:10px 16px;background:#2f6fad;color:#fff}.class-schedule-caption h2{margin:0;font-size:1.05rem;font-weight:650}.class-schedule-toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;border-bottom:1px solid var(--slate-200);background:linear-gradient(180deg,#f8fafc,#eef4f9)}.class-schedule-tool{display:inline-flex;align-items:center;gap:8px;min-width:128px;padding:8px 12px;border:1px solid #c5d4e4;border-radius:4px;background:#fff;color:#1f2a37;font:inherit;font-size:.86rem}.class-schedule-tool:hover:not(:disabled){background:#f3f8fc}.class-schedule-tool:disabled{opacity:.6;cursor:default}.class-schedule-subheader{display:flex;flex-wrap:wrap;align-items:center;gap:28px;padding:12px 18px 8px}.class-schedule-subheader strong{min-width:120px;color:#111827;font-size:1.35rem}.class-schedule-subheader label{display:inline-flex;align-items:center;gap:8px;color:#334155;font-size:.92rem}.class-schedule-notice{margin:0 18px 8px;padding:8px 10px;border:1px solid #f0c36d;border-radius:6px;background:#fff8e6;color:#7a4d00;font-size:.86rem}.class-schedule-notice.is-error{border-color:#f0b4ae;background:#fff1f0;color:var(--danger)}.class-schedule-body{min-height:0;padding:0 12px 16px;overflow:auto}.class-schedule-table tbody tr{cursor:pointer}.class-schedule-table tbody tr.is-selected{background:#fff6c8}.class-schedule-sign{color:#111}.class-schedule-sign .is-enabled{color:#00c46a}.sign-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:97;display:grid;place-items:center;padding:16px;background:#0f172a73}.sign-sheet-modal{display:flex;flex-direction:column;width:min(720px,100%);max-height:92vh;overflow:hidden;border-radius:6px;background:#fff;box-shadow:0 18px 48px #0f172a3d}.sign-sheet-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:10px 12px;border-bottom:1px solid var(--slate-200);background:linear-gradient(180deg,#f8fafc,#eef4f9)}.sign-sheet-number{display:inline-flex;align-items:baseline;gap:10px;color:#1f2a37;font-size:1.15rem}.sign-sheet-number strong{font-size:1.7rem}.sign-sheet-present{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:650}.status-watch-button{display:inline-flex;align-items:center;justify-content:center;min-width:120px;padding:6px 12px;border:1px solid #8ebfe8;border-radius:6px;background:linear-gradient(180deg,#f4f9fd,#d7ebfa);color:#1f2a37;font:inherit;font-size:.82rem;font-weight:650}.status-watch-button:hover{background:linear-gradient(180deg,#fff,#c9e4f8)}.watch-video-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:96;display:grid;place-items:center;padding:16px;background:#0f172a73}.watch-video-modal{display:flex;flex-direction:column;width:min(1100px,100%);height:min(780px,94vh);overflow:hidden;border-radius:6px;background:#fff;box-shadow:0 18px 48px #0f172a3d}.watch-video-body{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);min-height:0;flex:1}.watch-video-sidebar{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--slate-200);background:#f8fafc}.watch-video-tools{display:flex;gap:8px;padding:10px;border-bottom:1px solid var(--slate-200)}.watch-video-chapters{flex:1;overflow:auto}.watch-video-chapters tbody tr{cursor:pointer}.watch-video-chapters tbody tr.is-selected{background:#fff6c8}.watch-video-main{display:flex;flex-direction:column;min-width:0;min-height:0;padding:12px 14px 14px}.watch-video-meta{margin-bottom:10px}.watch-video-meta p{margin:0 0 4px;color:#334155}.watch-video-main .video-player-stage{flex:1;min-height:360px}@media(max-width:800px){.watch-video-body{grid-template-columns:1fr}}.class-files-dl-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:98;display:grid;place-items:center;padding:16px;background:#0f172a73}.class-files-dl-modal{display:flex;flex-direction:column;width:min(780px,100%);height:min(560px,90vh);overflow:hidden;border-radius:6px;background:#fff;box-shadow:0 18px 48px #0f172a3d}.class-files-dl-modal .class-schedule-notice{margin-top:10px}.class-files-dl-table-wrap{flex:1;min-height:0;overflow:auto;margin:0 10px 10px;border:1px solid #c5d4e4;background:#fff}.class-files-dl-table{width:100%;border-collapse:collapse;font-size:.92rem}.class-files-dl-table th,.class-files-dl-table td{padding:8px 12px;border-bottom:1px solid #e5ebf1;text-align:left;vertical-align:middle}.class-files-dl-table th{position:sticky;top:0;color:#334155;background:#f3f6f9;font-weight:650}.class-files-dl-table tbody tr{cursor:pointer}.class-files-dl-table tbody tr:nth-child(2n):not(.is-selected){background:#fafcfd}.class-files-dl-table tbody tr.is-selected{background:#fff6c8}.class-files-dl-download{min-width:96px;padding:5px 14px;color:#fff;border:1px solid #2b6aa3;border-radius:3px;background:#3b82b8;cursor:pointer;font:inherit;font-size:.86rem}.class-files-dl-download:hover:not(:disabled){background:#3274a6}.class-files-dl-download:disabled{opacity:.65;cursor:wait}.class-notes-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:97;display:grid;place-items:center;padding:16px;background:#0f172a73}.class-notes-modal{display:flex;flex-direction:column;width:min(800px,100%);height:min(480px,90vh);overflow:hidden;border-radius:6px;background:#fff;box-shadow:0 18px 48px #0f172a3d}.class-notes-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--slate-200);background:linear-gradient(180deg,#f8fafc,#eef4f9)}.class-notes-date{margin-left:auto;padding-right:12px;color:#5b6777;font-size:1.25rem;font-weight:500}.class-notes-memo{flex:1;min-height:0;width:100%;margin:8px;padding:10px 12px;border:1px solid #c5d4e4;border-radius:4px;resize:none;font:inherit;font-size:.95rem;line-height:1.45}.set-grade-card{width:min(360px,100%);margin-top:16px;padding:14px 14px 12px;border:1px solid #d5dee8;border-radius:8px;background:#fff;box-shadow:0 10px 28px #0f172a1a}.set-grade-box{min-height:68px;max-height:92px;overflow:auto;margin-bottom:10px;padding:8px 10px;border:1px solid #cfd8e3;background:#d7dce2;color:#1f2a37;font-size:.92rem;line-height:1.35;white-space:pre-wrap}.set-grade-descr{min-height:78px}.set-grade-identity{margin:0 0 4px;color:#1f2a37;font-size:.95rem}.set-grade-meta{margin:14px 0 12px}.set-grade-meta div{display:grid;grid-template-columns:132px 1fr;gap:8px;margin:0 0 6px}.set-grade-meta dt,.set-grade-meta dd{margin:0;color:#334155;font-size:.9rem}.set-grade-points-row{display:flex;align-items:center;gap:8px;margin:12px 0 10px}.set-grade-points-row label{color:#334155;font-size:.92rem}.set-grade-points-row input{width:88px;padding:5px 8px;border:1px solid #c5d4e4;border-radius:4px;font:inherit}.set-grade-back{color:#fff;border-color:#2f8f4e;background:#3cb371}.set-grade-back:hover:not(:disabled){background:#2f9d5b}.set-grade-primary,.set-grade-delete{padding:6px 14px;color:#fff;border:1px solid #2b6aa3;border-radius:4px;background:#3b82b8;cursor:pointer;font:inherit;font-size:.88rem}.set-grade-primary:hover:not(:disabled){background:#3274a6}.set-grade-primary:disabled,.set-grade-delete:disabled,.set-grade-tool:disabled{opacity:.6;cursor:default}.set-grade-total{margin:0 0 10px;color:#334155;font-size:.92rem}.set-grade-card .form-success,.set-grade-card .class-schedule-notice{margin:0 0 10px}.set-grade-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}.set-grade-tool{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:72px;padding:8px 6px;border:1px solid #c5d4e4;border-radius:4px;background:#eceff3;color:#1f2a37;cursor:pointer;font:inherit;font-size:.82rem}.set-grade-tool:hover:not(:disabled){background:#e2e7ed}.set-grade-delete{display:block;width:100%;min-height:36px;border-color:#b42318;background:#dc2626}.set-grade-delete:hover:not(:disabled){background:#c01d1d}.student-chat-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;display:grid;place-items:center;padding:16px;background:#0f172a73}.student-chat-modal{display:flex;flex-direction:column;width:min(1040px,100%);height:min(640px,94vh);overflow:hidden;border-radius:6px;background:#fff;box-shadow:0 18px 48px #0f172a3d}.student-chat-caption{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-chat-caption .set-grade-back{min-width:auto}.student-chat-header{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:12px;align-items:start;padding:10px 12px;border-bottom:1px solid var(--slate-200);background:#f8fafc}.student-chat-photo{display:grid;place-items:center;width:68px;height:92px;overflow:hidden;border:1px solid #c5d4e4;background:#e8eef4;color:#64748b}.student-chat-photo img{width:100%;height:100%;object-fit:cover}.student-chat-identity{min-width:0}.student-chat-identity strong,.student-chat-identity p{margin:0 0 4px;color:#1f2a37;font-size:.95rem}.student-chat-identity strong{font-size:1.05rem}.student-chat-file{display:inline-block;padding:2px 6px;background:#fff59d;font-size:.82rem}.student-chat-tools{display:flex;gap:8px}.student-chat-tools .set-grade-tool{width:118px}.student-chat-table-wrap{flex:1;min-height:0;overflow:auto;margin:0 10px;border:1px solid #c5d4e4}.student-chat-table{width:100%;border-collapse:collapse;font-size:.9rem}.student-chat-table th,.student-chat-table td{padding:8px 10px;border-bottom:1px solid #e5ebf1;text-align:left;vertical-align:top}.student-chat-table th{position:sticky;top:0;background:#f3f6f9;font-weight:650}.student-chat-compose{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px;padding:10px 12px 12px}.student-chat-compose textarea{min-height:88px;padding:8px 10px;border:1px solid #c5d4e4;border-radius:4px;resize:none;font:inherit}.student-chat-send{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid #c5d4e4;border-radius:4px;background:#eceff3;color:#1f2a37;cursor:pointer;font:inherit;font-size:.86rem}.student-chat-send:hover:not(:disabled){background:#e2e7ed}.student-chat-send:disabled{opacity:.6;cursor:default}.student-chat-modal .class-schedule-notice,.student-chat-modal .form-success{margin:8px 12px 0}@media(max-width:800px){.student-chat-header{grid-template-columns:76px 1fr}.student-chat-tools{grid-column:1 / -1;flex-wrap:wrap}.student-chat-compose{grid-template-columns:1fr}}.support-material-table th{vertical-align:bottom}.support-material-table th label{display:block;margin-bottom:6px}.support-material-table th input{display:block;width:100%;min-width:0;padding:5px 8px;border:1px solid #c5d4e4;border-radius:4px;background:#fff;font:inherit;font-size:.82rem;font-weight:400;text-transform:none}.support-material-table tbody tr{cursor:pointer}.support-material-table tbody tr.is-selected{background:#fff6c8}.support-material-table td{vertical-align:top}.support-material-thumb{width:1%;min-width:160px;vertical-align:top}.support-material-thumb img{display:block;width:150px;height:auto;background:#f8fafc}.support-material-descr{white-space:pre-wrap;overflow-wrap:anywhere}.support-material-open{min-width:120px;min-height:40px;padding:8px 16px;color:#fff;border:1px solid #2b6aa3;border-radius:4px;background:#3b82b8;cursor:pointer;font:inherit;font-size:.95rem}.support-material-open:hover:not(:disabled){background:#3274a6}.support-material-open:disabled{opacity:.6;cursor:default}.library-watch-caption{display:flex;align-items:center;justify-content:space-between;gap:12px}.library-watch-caption .set-grade-back{min-width:auto}.library-watch-body{flex:1;min-height:0;padding:16px}.library-watch-body .vimeo-embed,.library-watch-body .vimeo-embed-host{height:100%;min-height:420px}.sweet-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:grid;place-items:center;padding:16px;background:#0f172a66}.sweet-confirm-dialog{width:min(420px,100%);padding:28px 24px 22px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;box-shadow:0 16px 40px #0f172a2e;text-align:center}.sweet-confirm-icon{display:grid;place-items:center;width:80px;height:80px;margin:0 auto 18px;border:4px solid #c9dae1;border-radius:50%;color:#87adbd;font-size:52px;font-weight:400;line-height:1}.sweet-confirm-dialog h2{margin:0 0 10px;color:#545454;font-size:1.7rem;font-weight:700}.sweet-confirm-dialog p{margin:0 0 22px;color:#545454;font-size:1.02rem;line-height:1.4}.sweet-confirm-actions{display:flex;justify-content:center;gap:10px}.sweet-confirm-yes,.sweet-confirm-no{min-width:88px;min-height:38px;padding:8px 18px;border:0;border-radius:4px;color:#fff;font:inherit;font-size:.95rem;font-weight:700;cursor:pointer}.sweet-confirm-yes{background:#3085d6}.sweet-confirm-yes:hover{background:#2974bd}.sweet-confirm-no{background:#aaa}.sweet-confirm-no:hover{background:#969696}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.react-international-phone-country-selector{position:relative}.react-international-phone-country-selector-button{display:flex;height:var(--react-international-phone-height, 36px);box-sizing:border-box;align-items:center;justify-content:center;padding:0;border:1px solid var(--react-international-phone-country-selector-border-color, var(--react-international-phone-border-color, gainsboro));margin:0;-moz-appearance:button;appearance:button;-webkit-appearance:button;background-color:var(--react-international-phone-country-selector-background-color, var(--react-international-phone-background-color, white));cursor:pointer;text-transform:none;-webkit-user-select:none;user-select:none}.react-international-phone-country-selector-button:hover{background-color:var(--react-international-phone-country-selector-background-color-hover, whitesmoke)}.react-international-phone-country-selector-button--hide-dropdown{cursor:auto}.react-international-phone-country-selector-button--hide-dropdown:hover{background-color:transparent}.react-international-phone-country-selector-button__button-content{display:flex;align-items:center;justify-content:center}.react-international-phone-country-selector-button__flag-emoji{margin:0 4px}.react-international-phone-country-selector-button__flag-emoji--disabled{opacity:.75}.react-international-phone-country-selector-button__dropdown-arrow{border-top:var(--react-international-phone-country-selector-arrow-size, 4px) solid var(--react-international-phone-country-selector-arrow-color, #777);border-right:var(--react-international-phone-country-selector-arrow-size, 4px) solid transparent;border-left:var(--react-international-phone-country-selector-arrow-size, 4px) solid transparent;margin-right:4px;transition:all .1s ease-out}.react-international-phone-country-selector-button__dropdown-arrow--active{transform:rotateX(180deg)}.react-international-phone-country-selector-button__dropdown-arrow--disabled{border-top-color:var(--react-international-phone-disabled-country-selector-arrow-color, #999)}.react-international-phone-country-selector-button--disabled,.react-international-phone-country-selector-button--disabled:hover{background-color:var(--react-international-phone-disabled-country-selector-background-color, var(--react-international-phone-disabled-background-color, whitesmoke))}.react-international-phone-country-selector-button--disabled{cursor:auto}.react-international-phone-flag-emoji{width:var(--react-international-phone-flag-width, 24px);height:var(--react-international-phone-flag-height, 24px);box-sizing:border-box}.react-international-phone-country-selector-dropdown{position:absolute;z-index:1;top:var(--react-international-phone-dropdown-top, 44px);left:var(--react-international-phone-dropdown-left, 0);display:flex;width:300px;max-height:200px;flex-direction:column;padding:4px 0;margin:0;background-color:var(--react-international-phone-dropdown-item-background-color, var(--react-international-phone-background-color, white));box-shadow:var(--react-international-phone-dropdown-shadow, 2px 2px 16px rgba(0, 0, 0, .25));color:var(--react-international-phone-dropdown-item-text-color, var(--react-international-phone-text-color, #222));list-style:none;overflow-y:scroll}.react-international-phone-country-selector-dropdown__preferred-list-divider{height:1px;border:none;margin:var(--react-international-phone-dropdown-preferred-list-divider-margin, 0);background:var(--react-international-phone-dropdown-preferred-list-divider-color, var(--react-international-phone-border-color, gainsboro))}.react-international-phone-country-selector-dropdown__list-item{display:flex;min-height:var(--react-international-phone-dropdown-item-height, 28px);box-sizing:border-box;align-items:center;padding:2px 8px}.react-international-phone-country-selector-dropdown__list-item-flag-emoji{margin-right:8px}.react-international-phone-country-selector-dropdown__list-item-country-name{overflow:hidden;margin-right:8px;font-size:var(--react-international-phone-dropdown-item-font-size, 14px);text-overflow:ellipsis;white-space:nowrap}.react-international-phone-country-selector-dropdown__list-item-dial-code{color:var(--react-international-phone-dropdown-item-dial-code-color, gray);font-size:var(--react-international-phone-dropdown-item-font-size, 14px)}.react-international-phone-country-selector-dropdown__list-item:hover{background-color:var(--react-international-phone-selected-dropdown-item-background-color, var(--react-international-phone-selected-dropdown-item-background-color, whitesmoke));cursor:pointer}.react-international-phone-country-selector-dropdown__list-item--selected,.react-international-phone-country-selector-dropdown__list-item--focused{background-color:var(--react-international-phone-selected-dropdown-item-background-color, whitesmoke);color:var(--react-international-phone-selected-dropdown-item-text-color, var(--react-international-phone-text-color, #222))}.react-international-phone-country-selector-dropdown__list-item--selected .react-international-phone-country-selector-dropdown__list-item-dial-code,.react-international-phone-country-selector-dropdown__list-item--focused .react-international-phone-country-selector-dropdown__list-item-dial-code{color:var(--react-international-phone-selected-dropdown-item-dial-code-color, var(--react-international-phone-dropdown-item-dial-code-color, gray))}.react-international-phone-country-selector-dropdown__list-item--focused{background-color:var(--react-international-phone-selected-dropdown-item-background-color, var(--react-international-phone-selected-dropdown-item-background-color, whitesmoke))}.react-international-phone-dial-code-preview{display:flex;align-items:center;justify-content:center;padding:0 8px;border:1px solid var(--react-international-phone-dial-code-preview-border-color, var(--react-international-phone-border-color, gainsboro));margin-right:-1px;background-color:var(--react-international-phone-dial-code-preview-background-color, var(--react-international-phone-background-color, white));color:var(--react-international-phone-dial-code-preview-text-color, var(--react-international-phone-text-color, #222));font-size:var(--react-international-phone-dial-code-preview-font-size, var(--react-international-phone-font-size, 13px))}.react-international-phone-dial-code-preview--disabled{background-color:var(--react-international-phone-dial-code-preview-disabled-background-color, var(--react-international-phone-disabled-background-color, whitesmoke));color:var(--react-international-phone-dial-code-preview-disabled-text-color, var(--react-international-phone-disabled-text-color, #666))}.react-international-phone-input-container{display:flex}.react-international-phone-input-container .react-international-phone-country-selector-button{border-radius:var(--react-international-phone-border-radius, 4px);margin-right:-1px;border-bottom-right-radius:0;border-top-right-radius:0}.react-international-phone-input-container .react-international-phone-input{overflow:visible;height:var(--react-international-phone-height, 36px);box-sizing:border-box;padding:0 8px;border:1px solid var(--react-international-phone-border-color, gainsboro);border-radius:var(--react-international-phone-border-radius, 4px);margin:0;background-color:var(--react-international-phone-background-color, white);border-bottom-left-radius:0;border-top-left-radius:0;color:var(--react-international-phone-text-color, #222);font-family:inherit;font-size:var(--react-international-phone-font-size, 13px)}.react-international-phone-input-container .react-international-phone-input:focus{outline:none}.react-international-phone-input-container .react-international-phone-input--disabled{background-color:var(--react-international-phone-disabled-background-color, whitesmoke);color:var(--react-international-phone-disabled-text-color, #666)}
