:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f7fb;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.app-shell{background:radial-gradient(circle at 0 0,#10b98138,#0000 35%),radial-gradient(circle at 100% 100%,#2563eb3d,#0000 40%),#f5f7fb;justify-content:center;align-items:center;min-height:100vh;padding:32px 20px;display:flex}.login-card{background:#fff;border-radius:24px;width:100%;max-width:460px;padding:36px;box-shadow:0 24px 70px #0f172a1f}.brand{align-items:center;gap:16px;display:flex}.brand-badge{color:#fff;background:#0f766e;border-radius:18px;justify-content:center;align-items:center;width:58px;height:58px;font-size:20px;font-weight:800;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#0f766e;margin:0 0 4px;font-size:13px;font-weight:700}h1{color:#0f172a;margin:0;font-size:30px}.intro{color:#64748b;margin:28px 0;line-height:1.6}.login-form{gap:18px;display:grid}.login-form label{color:#334155;gap:8px;font-size:14px;font-weight:600;display:grid}.login-form input{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:12px;outline:none;width:100%;padding:13px 14px}.login-form input:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1f}.login-form button{cursor:pointer;color:#fff;background:#0f766e;border:0;border-radius:12px;margin-top:4px;padding:14px;font-weight:700}.login-form button:hover{background:#115e59}.login-links{text-align:right;margin-top:14px}.text-button{color:#0f766e;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px}.platform-info{border-top:1px solid #e2e8f0;gap:14px;margin-top:30px;padding-top:22px;display:grid}.platform-info div{gap:3px;display:grid}.platform-info strong{color:#0f172a;font-size:14px}.platform-info span{color:#94a3b8;font-size:12px}@media (width<=520px){.login-card{border-radius:18px;padding:28px 22px}h1{font-size:25px}}.google-button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:12px;width:100%;padding:13px 14px;font-weight:700}.google-button:hover{background:#f8fafc}.login-divider{color:#94a3b8;align-items:center;margin:20px 0;font-size:13px;display:flex}.login-divider:before,.login-divider:after{content:"";background:#e2e8f0;flex:1;height:1px}.login-divider span{padding:0 12px}.logout-button{color:#fff;cursor:pointer;background:#0f766e;border:0;border-radius:12px;width:100%;margin-top:24px;padding:13px;font-weight:700}.dashboard{color:#0f172a;background:#f5f7fa;min-height:100vh;display:flex}.sidebar{color:#fff;background:#0f766e;flex-direction:column;width:250px;min-height:100vh;padding:28px 20px;display:flex}.sidebar-brand{border-bottom:1px solid #ffffff26;align-items:center;gap:12px;padding-bottom:28px;display:flex}.sidebar-brand .brand-badge{color:#0f766e;background:#fff}.sidebar-brand strong{font-size:16px;display:block}.sidebar-brand span{opacity:.7;margin-top:3px;font-size:12px;display:block}.sidebar-menu{flex-direction:column;gap:6px;margin-top:28px;display:flex}.menu-item{text-align:left;color:#fffc;cursor:pointer;background:0 0;border:0;border-radius:9px;width:100%;padding:12px 14px;font-size:14px}.menu-item:hover{color:#fff;background:#ffffff1a}.menu-item.active{color:#0f766e;background:#fff;font-weight:700}.sidebar-bottom{border-top:1px solid #ffffff26;margin-top:auto;padding-top:20px}.sidebar-bottom p{margin:0;font-weight:700}.sidebar-bottom span{opacity:.7;margin:4px 0 14px;font-size:12px;display:block}.sidebar-bottom button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:8px;width:100%;padding:9px}.dashboard-main{flex:1;padding:36px 42px}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.dashboard-header h1{margin:4px 0 0;font-size:28px}.admin-profile{text-align:right}.admin-profile strong{display:block}.admin-profile span{color:#64748b;font-size:12px}.welcome-panel{background:#fff;border-radius:18px;margin-bottom:24px;padding:30px;box-shadow:0 8px 25px #0f172a0d}.welcome-panel h2{margin:5px 0 8px}.dashboard-cards{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.dashboard-card{background:#fff;border-radius:15px;padding:22px;box-shadow:0 6px 20px #0f172a0a}.dashboard-card strong{margin:12px 0 5px;font-size:32px;display:block}.dashboard-card p{color:#64748b;margin:0;font-size:13px}.card-label{color:#0f766e;letter-spacing:.06em;font-size:11px;font-weight:800}.quick-actions{margin-top:30px}.quick-actions h2{font-size:18px}.action-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.action-grid button{text-align:left;color:#0f766e;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;font-weight:700}.action-grid button:hover{border-color:#0f766e}@media (width<=900px){.dashboard-cards,.action-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=650px){.sidebar{width:190px}.dashboard-main{padding:25px 20px}.dashboard-cards,.action-grid{grid-template-columns:1fr}}.students-page{width:100%}.page-heading{margin-bottom:24px}.page-heading h2{margin:4px 0 8px;font-size:28px}.page-heading p{color:#64748b;margin:0}.students-layout{grid-template-columns:360px 1fr;align-items:start;gap:22px;display:grid}.student-form-card,.student-list-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 6px 20px #0f172a0d}.student-form-card h3,.student-list-card h3{margin-top:0}.student-form{gap:14px;display:grid}.student-form label{color:#334155;gap:7px;font-size:13px;font-weight:700;display:grid}.student-form input,.student-form select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:9px;width:100%;padding:10px 11px}.student-form input:focus,.student-form select:focus{border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1a}.student-form button{color:#fff;cursor:pointer;background:#0f766e;border:0;border-radius:10px;padding:12px;font-weight:700}.form-message{color:#0f766e;margin-bottom:0;font-size:13px}.student-list-header{justify-content:space-between;margin-bottom:18px;display:flex}.student-list-header p{color:#64748b;font-size:13px}.student-table-wrap{overflow-x:auto}.student-table{border-collapse:collapse;width:100%}.student-table th,.student-table td{text-align:left;border-bottom:1px solid #e2e8f0;padding:12px 10px;font-size:13px}.student-table th{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.empty-state{text-align:center;color:#94a3b8;border:1px dashed #cbd5e1;border-radius:12px;padding:30px}@media (width<=1000px){.students-layout{grid-template-columns:1fr}}.student-actions{white-space:nowrap;gap:8px;display:flex}.student-actions button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:7px;padding:7px 10px;font-size:12px;font-weight:600}.student-actions button:hover{color:#0f766e;border-color:#0f766e}.student-detail-page{width:100%}.student-detail-toolbar{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.back-button,.edit-student-button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;padding:10px 14px;font-weight:700}.edit-student-button{color:#fff;background:#0f766e;border-color:#0f766e}.student-profile-header{background:#fff;border-radius:18px;align-items:center;gap:20px;margin-bottom:22px;padding:26px;display:flex}.student-profile-header h2{margin:3px 0 7px;font-size:28px}.student-profile-header p{color:#64748b;margin:0}.student-avatar{color:#fff;background:#0f766e;border-radius:18px;justify-content:center;align-items:center;width:70px;height:70px;font-size:28px;font-weight:800;display:flex}.student-status{border-radius:100px;margin-left:auto;padding:8px 13px;font-size:12px;font-weight:700}.student-status.active{color:#047857;background:#ecfdf5}.student-status.inactive{color:#64748b;background:#f1f5f9}.student-detail-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.detail-card{background:#fff;border-radius:16px;padding:22px}.detail-card h3{margin-top:0;margin-bottom:20px}.detail-list{gap:15px;display:grid}.detail-list div{border-bottom:1px solid #e2e8f0;justify-content:space-between;gap:20px;padding-bottom:11px;display:flex}.detail-list span{color:#64748b;font-size:13px}.detail-list strong{text-align:right;font-size:13px}.student-learning-section{background:#fff;border-radius:16px;margin-top:20px;padding:24px}.learning-placeholder-grid{grid-template-columns:repeat(4,1fr);gap:15px;margin-top:20px;display:grid}.learning-placeholder-grid>div{border:1px solid #e2e8f0;border-radius:12px;padding:18px}.learning-placeholder-grid span{color:#0f766e;font-size:12px;font-weight:800}.learning-placeholder-grid strong{margin:10px 0;font-size:25px;display:block}.learning-placeholder-grid p{color:#64748b;margin:0;font-size:12px}@media (width<=1000px){.student-detail-grid{grid-template-columns:1fr}.learning-placeholder-grid{grid-template-columns:repeat(2,1fr)}}.enrollment-header{justify-content:space-between;align-items:center;display:flex}.enrollment-header h3{margin-bottom:5px}.enrollment-header p{color:#64748b;margin-top:0;font-size:13px}.enrollment-form{gap:12px;margin:20px 0;display:flex}.enrollment-form select{background:#fff;border:1px solid #cbd5e1;border-radius:9px;flex:1;padding:11px}.enrollment-form button{color:#fff;cursor:pointer;background:#0f766e;border:0;border-radius:9px;padding:11px 16px;font-weight:700}.enrollment-list{grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0;display:grid}.enrollment-card{border:1px solid #e2e8f0;border-radius:12px;padding:17px}.enrollment-card span{color:#0f766e;margin-bottom:8px;font-size:10px;font-weight:800;display:block}.enrollment-card strong{display:block}.enrollment-card p{color:#64748b;margin-bottom:0;font-size:12px}@media (width<=900px){.enrollment-list{grid-template-columns:1fr}.enrollment-form{flex-direction:column}}.cancel-edit-button{color:#64748b!important;background:#fff!important;border:1px solid #cbd5e1!important}.cancel-edit-button:hover{border-color:#64748b!important}.teacher-course-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.teacher-course-card{text-align:left;cursor:pointer;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:22px;transition:all .2s}.teacher-course-card:hover{border-color:#0f766e;transform:translateY(-2px);box-shadow:0 8px 24px #0f172a14}.teacher-course-card>span{color:#0f766e;font-size:11px;font-weight:800}.teacher-course-card h3{margin:10px 0;font-size:18px}.teacher-course-card p{color:#64748b;margin:7px 0;font-size:13px}.teacher-course-card strong{color:#0f766e;margin-top:18px;font-size:13px;display:block}.course-heading{margin-top:22px}@media (width<=1000px){.teacher-course-grid{grid-template-columns:1fr}}.course-actions{margin:18px 0}.attendance-main-button,.attendance-save button{color:#fff;cursor:pointer;background:#0f766e;border:0;border-radius:9px;padding:11px 18px;font-weight:700}.attendance-heading{margin-top:22px}.attendance-card{background:#fff;border-radius:16px;padding:24px}.attendance-toolbar{align-items:end;gap:12px;margin-bottom:24px;display:flex}.attendance-toolbar label{gap:7px;font-size:12px;font-weight:700;display:grid}.attendance-toolbar input{border:1px solid #cbd5e1;border-radius:8px;padding:9px}.attendance-toolbar button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:10px 13px;font-weight:600}.attendance-list{gap:12px;display:grid}.attendance-row{border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:180px 1fr 320px;align-items:center;gap:20px;padding:16px;display:grid}.attendance-student span{color:#64748b;margin-bottom:4px;font-size:11px;display:block}.attendance-student strong{font-size:14px}.attendance-statuses{flex-wrap:wrap;gap:15px;display:flex}.attendance-statuses label{cursor:pointer;align-items:center;gap:5px;font-size:13px;display:flex}.attendance-note label{color:#64748b;gap:5px;font-size:11px;display:grid}.attendance-note input{border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:9px}.attendance-save{justify-content:flex-end;margin-top:24px;display:flex}@media (width<=1100px){.attendance-row{grid-template-columns:1fr}.attendance-toolbar{flex-direction:column;align-items:stretch}}.attendance-admin-filters{background:#fff;border-radius:16px;grid-template-columns:180px 1fr 1fr auto;align-items:end;gap:14px;margin-bottom:20px;padding:20px;display:grid}.attendance-admin-filters label{color:#334155;gap:7px;font-size:12px;font-weight:700;display:grid}.attendance-admin-filters input,.attendance-admin-filters select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:10px}.attendance-admin-filters button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:10px 14px;font-weight:700}.attendance-summary-grid{grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px;display:grid}.attendance-admin-table{margin-top:0}@media (width<=1100px){.attendance-admin-filters{grid-template-columns:1fr 1fr}.attendance-summary-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=650px){.attendance-admin-filters,.attendance-summary-grid{grid-template-columns:1fr}}.assessment-policy-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.assessment-policy-box h4{margin:0 0 5px}.assessment-policy-box>p{color:#64748b;margin:0 0 14px;font-size:12px}.policy-checkbox{align-items:center;margin:10px 0;flex-direction:row!important;gap:9px!important;font-weight:500!important;display:flex!important}.policy-checkbox input{margin:0;width:auto!important}.policy-checkbox:has(input:disabled){opacity:.45}.course-student-picker{gap:10px;margin-bottom:18px;display:grid}.course-student-option{cursor:pointer;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:auto 120px 1fr;align-items:center;gap:12px;padding:12px 14px;display:grid}.course-student-option:hover{background:#f8fafc;border-color:#0f766e}.course-student-option input{width:auto}.grade-history-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px}.grade-history-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.grade-history-header h3{margin:5px 0}.grade-history-header span,.grade-history-header small{color:#64748b}.grade-history-score strong{font-size:24px;display:block}.grade-history-score span{margin-top:4px;display:block}.grade-history-meta{border-top:1px solid #e2e8f0;gap:24px;margin-top:16px;padding-top:14px;display:flex}.grade-history-rubric{border-top:1px solid #e2e8f0;margin-top:18px;padding-top:16px}.grade-history-rubric h4{margin-top:0}.rubric-history-row{justify-content:space-between;gap:20px;padding:7px 0;display:flex}.grade-history-comment{background:#f8fafc;border-radius:10px;margin-top:16px;padding:14px}.grade-history-comment p{margin:6px 0 0}.clickable-grade{cursor:pointer}.clickable-grade:hover{background:#f8fafc}.student-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.student-summary-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:minmax(220px,1.4fr) minmax(130px,.8fr) minmax(150px,.9fr) 28px;align-items:center;gap:18px;padding:18px;transition:transform .15s,border-color .15s,box-shadow .15s;display:grid}.student-summary-card:hover{border-color:#94a3b8;transform:translateY(-1px);box-shadow:0 8px 20px #0f172a0f}.student-card-avatar{color:#115e59;background:#ccfbf1;border-radius:50%;flex:0 0 48px;justify-content:center;align-items:center;width:48px;height:48px;font-size:16px;font-weight:800;display:flex}.student-card-name{color:#0f172a;font-size:14px;line-height:1.3;display:block}.student-card-code{color:#64748b;margin-top:5px;font-size:11px;display:block}.student-card-label{color:#64748b;letter-spacing:.04em;font-size:10px;font-weight:800}.student-card-value{color:#0f766e;margin-top:5px;font-size:16px}.student-card-stat small{color:#475569;margin-top:3px;font-size:10px;line-height:1.35}.student-card-note{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-card-arrow{color:#475569;font-size:25px;line-height:1}@media (width<=1250px){.student-card-grid{grid-template-columns:1fr}}@media (width<=720px){.student-summary-card{grid-template-columns:1fr}.student-card-arrow{display:none}}.student-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;display:grid}.student-summary-card{cursor:pointer;background:#fff;border:1px solid #dbe3ea;border-radius:14px;grid-template-columns:minmax(180px,1.4fr) minmax(120px,.8fr) minmax(140px,.9fr) 24px;align-items:center;gap:18px;min-height:110px;padding:18px 20px;display:grid}.student-summary-card:hover{border-color:#94a3b8;box-shadow:0 6px 18px #0f172a12}.student-card-person{align-items:center;gap:14px;min-width:0;display:flex}.student-card-avatar{color:#115e59;background:#ccfbf1;border-radius:50%;justify-content:center;align-items:center;width:50px;min-width:50px;height:50px;font-size:16px;font-weight:800;display:flex}.student-card-name{color:#0f172a;margin-bottom:5px;font-size:14px;font-weight:700;display:block}.student-card-code{color:#64748b;font-size:11px;display:block}.student-card-stat{flex-direction:column;min-width:0;display:flex}.student-card-label{color:#64748b;letter-spacing:.04em;margin-bottom:4px;font-size:10px;font-weight:800}.student-card-value{color:#0f766e;margin-bottom:3px;font-size:17px;font-weight:800}.student-card-stat small{color:#475569;margin-top:2px;font-size:10px;line-height:1.4;display:block}.student-card-note{text-overflow:ellipsis;white-space:nowrap;max-width:170px;overflow:hidden}.student-card-arrow{color:#334155;justify-content:flex-end;align-items:center;font-size:26px;font-weight:400;display:flex}@media (width<=1200px){.student-card-grid{grid-template-columns:1fr}}@media (width<=700px){.student-summary-card{grid-template-columns:1fr}.student-card-arrow{display:none}}.grade-history-topbar{margin-bottom:16px}.grade-student-summary{background:#fff;border:1px solid #e2e8f0;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding:22px 24px;display:flex}.grade-student-profile{align-items:center;gap:16px;display:flex}.grade-student-avatar{color:#115e59;background:#ccfbf1;border-radius:50%;justify-content:center;align-items:center;width:64px;min-width:64px;height:64px;font-size:20px;font-weight:800;display:flex}.grade-student-profile h2{margin:4px 0}.grade-student-profile p{color:#64748b;margin:0}.grade-student-summary-stats{gap:12px;display:flex}.grade-student-summary-stats>div{background:#f8fafc;border-radius:12px;min-width:125px;padding:14px 16px}.grade-student-summary-stats span{color:#64748b;font-size:10px;font-weight:700;display:block}.grade-student-summary-stats strong{color:#0f766e;margin-top:5px;font-size:22px;display:block}.grade-history-panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:22px}.grade-history-panel-header{margin-bottom:14px}.grade-history-panel-header h3{margin:0}.grade-history-panel-header p{color:#64748b;margin:4px 0 0;font-size:12px}.grade-history-list{gap:12px;display:grid}.grade-history-card{background:#fff;border:1px solid #e2e8f0;border-radius:13px;overflow:hidden}.grade-history-main-row{grid-template-columns:44px minmax(240px,1.5fr) minmax(120px,.7fr) 100px;align-items:center;gap:16px;padding:16px 18px;display:grid}.grade-history-number{color:#475569;background:#f1f5f9;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:flex}.grade-history-title h3{margin:5px 0 3px;font-size:14px}.grade-history-title small{color:#64748b;font-size:10px}.grade-category-badge{border-radius:999px;padding:3px 8px;font-size:9px;font-weight:700;display:inline-block}.grade-category-badge.academic{color:#166534;background:#dcfce7}.grade-category-badge.speaking{color:#9a3412;background:#ffedd5}.grade-category-badge.standardized{color:#1d4ed8;background:#dbeafe}.grade-history-type span{color:#64748b;font-size:9px;font-weight:700;display:block}.grade-history-type strong{margin-top:4px;font-size:12px;display:block}.grade-history-type small{color:#64748b;margin-top:2px;font-size:10px;display:block}.grade-history-score{text-align:right}.grade-history-score strong{color:#0f766e;font-size:19px;display:block}.grade-history-score span{color:#475569;margin-top:3px;font-size:10px;display:block}.grade-history-rubric{background:#f8fafc;border-top:1px solid #e2e8f0;padding:14px 18px 16px}.grade-history-rubric h4{margin:0 0 10px;font-size:11px}.rubric-history-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.rubric-history-item{background:#fff;border-radius:9px;padding:10px}.rubric-history-item span{color:#64748b;font-size:9px;line-height:1.35;display:block}.rubric-history-item strong{margin-top:6px;font-size:13px;display:block}.grade-history-comments-grid{background:#f8fafc;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 18px 16px;display:grid}.grade-history-comment{background:#fff;border-radius:9px;padding:12px}.grade-history-comment span{color:#64748b;font-size:9px;font-weight:700}.grade-history-comment p{margin:5px 0 0;font-size:11px;line-height:1.5}@media (width<=900px){.grade-student-summary{flex-direction:column;align-items:stretch}.grade-history-main-row{grid-template-columns:36px 1fr}.grade-history-type,.grade-history-score{text-align:left;grid-column:2}.rubric-history-grid{grid-template-columns:repeat(2,1fr)}.grade-history-comments-grid{grid-template-columns:1fr}}.history-toolbar{margin-bottom:14px}.history-profile-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;grid-template-columns:1fr 210px;align-items:center;gap:24px;margin-bottom:18px;padding:22px 26px;display:grid}.history-profile-main{align-items:center;gap:20px;display:flex}.history-avatar{color:#115e59;background:#ccfbf1;border-radius:50%;flex:0 0 72px;justify-content:center;align-items:center;width:72px;height:72px;font-size:24px;font-weight:800;display:flex}.history-profile-text h2{margin:0;font-size:22px}.history-profile-text>p{color:#64748b;margin:4px 0 14px}.history-profile-meta{flex-wrap:wrap;gap:28px;display:flex}.history-profile-meta span{flex-direction:column;display:flex}.history-profile-meta small{color:#64748b;font-size:10px}.history-profile-meta strong{margin-top:3px;font-size:12px}.history-overall-card{background:#f8fafc;border-radius:12px;padding:18px}.history-overall-card span,.history-overall-card small{color:#64748b;font-size:10px;display:block}.history-overall-card strong{color:#0f766e;margin:5px 0;font-size:28px;display:block}.history-overall-card p{margin:3px 0;font-size:12px}.history-table-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:20px}.history-section-header{margin-bottom:14px}.history-section-header h3{margin:0;font-size:18px}.history-section-header p{color:#64748b;margin:4px 0 0;font-size:11px}.history-table-head{color:#64748b;text-transform:uppercase;background:#f8fafc;border-radius:10px 10px 0 0;grid-template-columns:44px minmax(220px,1.4fr) 145px 100px 80px 90px minmax(180px,1fr);gap:14px;padding:10px 14px;font-size:9px;font-weight:800;display:grid}.history-assessment-list{display:grid}.history-assessment-block{border:1px solid #e2e8f0;border-top:0}.history-assessment-block:last-child{border-radius:0 0 10px 10px}.history-assessment-row{grid-template-columns:44px minmax(220px,1.4fr) 145px 100px 80px 90px minmax(180px,1fr);align-items:center;gap:14px;padding:14px;display:grid}.history-index{background:#f1f5f9;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:700;display:flex}.history-assessment-title strong{font-size:13px;display:block}.history-assessment-title small{color:#64748b;margin-top:3px;font-size:9px;display:block}.history-badge{border-radius:999px;padding:4px 9px;font-size:9px;font-weight:700;display:inline-block}.history-badge.academic{color:#166534;background:#dcfce7}.history-badge.speaking{color:#9a3412;background:#ffedd5}.history-badge.standardized{color:#1d4ed8;background:#dbeafe}.history-date,.history-points,.history-note{color:#475569;font-size:10px}.history-score-percent{color:#0f766e;font-size:17px;font-weight:800}.history-rubric-panel{background:#f0fdfa;border-radius:10px;grid-template-columns:1.6fr 1fr;gap:20px;margin:0 14px 14px;padding:14px 16px;display:grid}.history-rubric-left h4{color:#115e59;text-transform:uppercase;margin:0 0 10px;font-size:10px}.history-rubric-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.history-rubric-item span{color:#64748b;font-size:8px;line-height:1.35;display:block}.history-rubric-item strong{margin-top:5px;font-size:12px;display:block}.history-rubric-comment{border-left:1px solid #cbd5e1;padding-left:16px}.history-rubric-comment span{color:#64748b;text-transform:uppercase;margin-top:4px;font-size:8px;font-weight:800;display:block}.history-rubric-comment p{margin:4px 0 10px;font-size:10px;line-height:1.45}@media (width<=1100px){.history-profile-card{grid-template-columns:1fr}.history-table-head{display:none}.history-assessment-row{grid-template-columns:36px 1fr 90px}.history-assessment-row>div:nth-child(3),.history-assessment-row>div:nth-child(4),.history-assessment-row>div:nth-child(6),.history-assessment-row>div:nth-child(7){grid-column:2/-1}.history-rubric-panel{grid-template-columns:1fr}.history-rubric-grid{grid-template-columns:repeat(2,1fr)}.history-rubric-comment{border-left:0;padding-left:0}}.course-progress-card{justify-content:space-between;align-items:center;gap:24px;display:flex}.course-progress-title{min-width:0}.course-progress-title>span{color:#0f766e;margin-bottom:5px;font-size:9px;font-weight:800;display:block}.course-progress-title>strong{font-size:13px;display:block}.course-progress-title p{color:#64748b;margin:5px 0 0;font-size:10px}.course-progress-stats{gap:28px;display:flex}.course-progress-stats>div{min-width:70px}.course-progress-stats span{color:#64748b;font-size:8px;font-weight:800;display:block}.course-progress-stats strong{color:#0f766e;margin-top:4px;font-size:18px;display:block}.course-progress-stats small{color:#64748b;margin-top:2px;font-size:9px;display:block}@media (width<=700px){.course-progress-card{flex-direction:column;align-items:flex-start}}.clickable-course-card{cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}.clickable-course-card:hover{border-color:#99d5ce;transform:translateY(-2px);box-shadow:0 8px 20px #0f766e14}.course-card-arrow{color:#0f766e;font-size:24px;font-weight:600}.portfolio-section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px;display:flex}.portfolio-section-heading h3{margin:3px 0;font-size:18px}.portfolio-section-heading>div>p:last-child{color:#64748b;margin:0;font-size:11px}.portfolio-count{color:#475569;background:#f1f5f9;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:700}.portfolio-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.portfolio-card{background:#fff;border:1px solid #e2e8f0;border-radius:13px;min-width:0;padding:17px 18px}.portfolio-card-top{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.portfolio-card-main h4{color:#0f172a;margin:7px 0 5px;font-size:15px}.portfolio-type-badge{border-radius:999px;padding:4px 9px;font-size:8px;font-weight:800;display:inline-block}.portfolio-type-badge.project{color:#115e59;background:#ccfbf1}.portfolio-type-badge.competition{color:#92400e;background:#fef3c7}.portfolio-type-badge.event{color:#1e40af;background:#dbeafe}.portfolio-meta{color:#64748b;flex-wrap:wrap;gap:12px;font-size:9px;display:flex}.portfolio-rating{text-align:center;background:#f0fdfa;border-radius:10px;min-width:105px;padding:10px 12px}.portfolio-rating span{color:#64748b;font-size:7px;font-weight:800;display:block}.portfolio-rating strong{color:#0f766e;margin-top:4px;font-size:18px;display:block}.portfolio-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.portfolio-info-grid>div{background:#f8fafc;border-radius:9px;padding:10px 12px}.portfolio-info-grid span,.portfolio-teacher-comment span,.portfolio-student-section span{color:#64748b;font-size:8px;font-weight:800;display:block}.portfolio-info-grid strong{margin-top:4px;font-size:11px;display:block}.portfolio-teacher-comment{background:#f8fafc;border-radius:9px;margin-top:10px;padding:11px 12px}.portfolio-teacher-comment p{color:#334155;margin:5px 0 0;font-size:10px;line-height:1.5}.portfolio-student-section{border-top:1px solid #e2e8f0;grid-template-columns:1fr 130px;gap:12px;margin-top:10px;padding-top:12px;display:grid}.portfolio-student-section p{margin:5px 0 0;font-size:10px;line-height:1.5}.portfolio-student-section strong{color:#0f766e;margin-top:5px;font-size:16px;display:block}@media (width<=1100px){.portfolio-list{grid-template-columns:1fr}}@media (width<=700px){.portfolio-section-heading,.portfolio-card-top{flex-direction:column;align-items:flex-start}.portfolio-info-grid,.portfolio-student-section{grid-template-columns:1fr}}.portfolio-history-profile{background:#fff;border:1px solid #e2e8f0;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding:22px 24px;display:flex}.portfolio-history-person{align-items:center;gap:16px;display:flex}.portfolio-history-person h2{margin:4px 0}.portfolio-history-person>div>p:last-child{color:#64748b;margin:0;font-size:11px}.portfolio-history-summary{grid-template-columns:repeat(4,85px);gap:8px;display:grid}.portfolio-history-summary>div{text-align:center;background:#f8fafc;border-radius:10px;padding:11px}.portfolio-history-summary span{color:#64748b;font-size:8px;font-weight:800;display:block}.portfolio-history-summary strong{color:#0f766e;margin-top:4px;font-size:19px;display:block}.portfolio-history-panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:20px}.portfolio-history-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}.portfolio-history-heading h3{margin:0}.portfolio-history-heading p{color:#64748b;margin:4px 0 0;font-size:10px}.portfolio-filters{gap:6px;display:flex}.portfolio-filters button{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:7px 11px;font-size:9px;font-weight:700}.portfolio-filters button.active{color:#fff;background:#0f766e;border-color:#0f766e}.portfolio-history-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.portfolio-history-card{background:#fff;border:1px solid #e2e8f0;border-radius:13px;min-width:0;padding:17px 18px}.portfolio-history-card-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.portfolio-history-card-header h4{color:#0f172a;margin:7px 0 4px;font-size:14px}.portfolio-history-card-header p{color:#64748b;margin:0;font-size:9px}.portfolio-history-student-report{background:#f0fdfa;border-radius:9px;margin-top:10px;padding:11px 12px}.portfolio-history-student-report span,.portfolio-history-self span{color:#64748b;font-size:8px;font-weight:800;display:block}.portfolio-history-student-report p{margin:5px 0 0;font-size:10px;line-height:1.5}.portfolio-history-self{border-top:1px solid #e2e8f0;margin-top:10px;padding-top:10px}.portfolio-history-self strong{color:#0f766e;margin-top:4px;font-size:16px;display:block}@media (width<=1100px){.portfolio-history-profile{flex-direction:column;align-items:flex-start}.portfolio-history-grid{grid-template-columns:1fr}}@media (width<=600px){.portfolio-history-summary{grid-template-columns:repeat(2,85px)}.portfolio-history-heading{flex-direction:column;align-items:flex-start}.portfolio-filters{flex-wrap:wrap}}.portfolio-heading-actions{align-items:center;gap:10px;display:flex}.portfolio-view-all-button{color:#0f766e;cursor:pointer;background:0 0;border:1px solid #cbd5e1;border-radius:8px;padding:7px 11px;font-size:9px;font-weight:700}.portfolio-view-all-button:hover{background:#f0fdfa;border-color:#99d5ce}.submission-type-field{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px}.submission-type-title{color:#0f172a;font-size:12px;font-weight:700;display:block}.submission-type-field>p{color:#64748b;margin:4px 0 12px;font-size:10px}.submission-type-options{flex-wrap:wrap;gap:10px;display:flex}.submission-type-options label{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:7px;padding:9px 12px;font-size:10px;font-weight:600;display:flex}.submission-type-options label:hover{background:#f0fdfa;border-color:#99d5ce}.submission-type-options input{width:auto;margin:0}.submission-type-help{border-top:1px solid #e2e8f0;margin-top:12px;padding-top:10px}.submission-type-help p{color:#64748b;margin:3px 0;font-size:9px;line-height:1.5}.youtube-preview{margin-top:10px}.youtube-preview>span{color:#64748b;margin-bottom:7px;font-size:10px;font-weight:700;display:block}.youtube-preview-frame{aspect-ratio:16/9;background:#0f172a;border-radius:12px;width:100%;max-width:560px;overflow:hidden}.youtube-preview-frame iframe{border:0;width:100%;height:100%}.assignment-list-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-top:20px;padding:20px}.assignment-list-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}.assignment-list-heading h3{margin:3px 0 0}.assignment-count{color:#475569;background:#f1f5f9;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:700}.assignment-card-grid{grid-template-columns:1fr;gap:14px;display:grid}.assignment-card{background:#fff;border:1px solid #e2e8f0;border-radius:13px;min-width:0;padding:17px 18px}.assignment-card-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.assignment-card h4{color:#0f172a;margin:7px 0 4px;font-size:15px}.assignment-card-top>div>p{color:#64748b;margin:0;font-size:10px}.assignment-type-badge{color:#0f766e;background:#f0fdfa;border-radius:999px;padding:4px 8px;font-size:8px;font-weight:800;display:inline-block}.assignment-due{color:#64748b;background:#f8fafc;border-radius:9px;min-width:95px;padding:8px 10px;font-size:8px}.assignment-due strong{color:#0f172a;margin-top:3px;font-size:10px;display:block}.assignment-due.overdue{color:#c2410c;background:#fff7ed}.assignment-due.overdue strong{color:#9a3412}.assignment-description{color:#475569;margin:13px 0 0;font-size:10px;line-height:1.6}.assignment-meta{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.assignment-meta span{color:#475569;background:#f8fafc;border-radius:7px;padding:5px 8px;font-size:9px;font-weight:600}.assignment-submission-badges{border-top:1px solid #e2e8f0;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px;display:flex}.assignment-submission-badges span{color:#4338ca;background:#eef2ff;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:700}.assignment-video{margin-top:12px}.assignment-detail-header{background:#fff;border:1px solid #e2e8f0;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;margin-top:14px;padding:22px 24px;display:flex}.assignment-detail-header h2{margin:4px 0}.assignment-detail-header>div:first-child>p:last-child{color:#64748b;margin:0;font-size:11px}.assignment-detail-summary{grid-template-columns:repeat(3,100px);gap:8px;display:grid}.assignment-detail-summary>div{text-align:center;background:#f8fafc;border-radius:9px;padding:10px}.assignment-detail-summary span{color:#64748b;font-size:7px;font-weight:800;display:block}.assignment-detail-summary strong{color:#0f172a;margin-top:4px;font-size:11px;display:block}.assignment-detail-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-top:14px;padding:20px}.assignment-detail-card h3{margin-top:0}.assignment-detail-description{color:#334155;white-space:pre-wrap;font-size:11px;line-height:1.7}.assignment-detail-empty{color:#94a3b8;font-size:10px}.assignment-detail-video{margin-top:18px}.assignment-detail-video>span,.assignment-detail-answer-types>span{color:#64748b;margin-bottom:8px;font-size:8px;font-weight:800;display:block}.assignment-detail-answer-types{border-top:1px solid #e2e8f0;margin-top:16px;padding-top:14px}.assignment-detail-answer-types>div{flex-wrap:wrap;gap:6px;display:flex}.assignment-detail-answer-types strong{color:#4338ca;background:#eef2ff;border-radius:999px;padding:5px 9px;font-size:8px}.assignment-students-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-top:14px;padding:20px}.assignment-students-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px;display:flex}.assignment-students-heading h3{margin:3px 0 0}.assignment-student-stats{grid-template-columns:repeat(4,78px);gap:7px;display:grid}.assignment-student-stats>div{text-align:center;background:#f8fafc;border-radius:8px;padding:8px}.assignment-student-stats span{color:#64748b;font-size:7px;font-weight:800;display:block}.assignment-student-stats strong{color:#0f766e;margin-top:3px;font-size:16px;display:block}.assignment-student-list{gap:8px;display:grid}.assignment-student-row{background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:15px;padding:11px 13px;display:flex}.assignment-student-person{align-items:center;gap:10px;display:flex}.assignment-student-avatar{color:#0f766e;background:#f0fdfa;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:11px;font-weight:800;display:flex}.assignment-student-person span{color:#94a3b8;font-size:8px;display:block}.assignment-student-person strong{color:#0f172a;margin-top:2px;font-size:11px;display:block}.assignment-student-status.missing{background:#fff7ed}.assignment-student-status span{color:#c2410c;font-size:8px;font-weight:800;display:block}.assignment-student-status small{color:#9a3412;margin-top:2px;font-size:7px;display:block}@media (width<=900px){.assignment-detail-header,.assignment-students-heading{flex-direction:column;align-items:flex-start}.assignment-detail-summary{grid-template-columns:repeat(3,minmax(80px,1fr));width:100%}.assignment-student-stats{grid-template-columns:repeat(2,80px)}}.assignment-card{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.assignment-card:hover{border-color:#99d5ce;transform:translateY(-1px);box-shadow:0 4px 14px #0f766e14}.assignment-student-actions{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.assignment-student-actions select{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;min-width:130px;padding:7px 9px;font-size:9px;font-weight:700}.assignment-student-actions small{color:#64748b;font-size:8px}.assignment-student-stats small{color:#c2410c;margin-top:2px;font-size:7px;font-weight:600;display:block}.student-assignment-header{background:#fff;border:1px solid #e2e8f0;border-radius:16px;justify-content:space-between;align-items:center;gap:20px;margin-top:14px;padding:22px 24px;display:flex}.student-assignment-header h2{margin:4px 0}.student-assignment-header>div:first-child>p:last-child{color:#64748b;margin:0;font-size:10px}.student-assignment-deadline{text-align:center;background:#f8fafc;border-radius:10px;min-width:120px;padding:11px 14px}.student-assignment-deadline span{color:#64748b;font-size:7px;font-weight:800;display:block}.student-assignment-deadline strong{color:#0f172a;margin-top:4px;font-size:11px;display:block}.student-assignment-card,.student-answer-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-top:14px;padding:20px}.student-assignment-card h3,.student-answer-card h3{margin-top:0}.student-assignment-description{color:#334155;white-space:pre-wrap;font-size:11px;line-height:1.7}.student-assignment-video{margin-top:18px}.student-assignment-video>span{color:#64748b;margin-bottom:8px;font-size:8px;font-weight:800;display:block}.submission-saved-badge{color:#047857;background:#ecfdf5;border-radius:999px;padding:6px 10px;font-size:8px;font-weight:800}.student-answer-field{margin-top:14px;display:block}.student-answer-field>span{color:#334155;margin-bottom:6px;font-size:9px;font-weight:700;display:block}.student-answer-field textarea,.student-answer-field input{box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:9px;width:100%;padding:10px 11px;font-family:inherit;font-size:10px}.student-answer-field textarea{resize:vertical;line-height:1.6}.student-answer-field small{color:#64748b;margin-top:5px;font-size:8px;display:block}.student-upload-placeholder{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;margin-top:14px;padding:15px}.student-upload-placeholder strong{color:#334155;font-size:10px}.student-upload-placeholder p{color:#64748b;margin:4px 0 0;font-size:9px}.student-answer-types strong{color:#4338ca;background:#eef2ff;border-radius:999px;padding:5px 8px;font-size:8px}.student-submit-button{color:#fff;cursor:pointer;background:#0f766e;border:0;border-radius:9px;margin-top:18px;padding:9px 14px;font-size:10px;font-weight:700}@media (width<=800px){.student-assignment-header{flex-direction:column;align-items:flex-start}.student-assignment-deadline{box-sizing:border-box;width:100%}}.student-dashboard-shell{background:#f5f7fb;grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.student-dashboard-shell .main-content{min-width:0;padding:28px 32px 40px}.student-dashboard-shell .page-heading{margin-bottom:0}.student-dashboard-shell .page-heading h2{margin:4px 0 8px}.student-dashboard-shell .page-heading>p:last-child{color:#64748b;margin:0}.student-home-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.student-home-summary>div{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px}.student-home-summary span{color:#64748b;font-size:8px;font-weight:800;display:block}.student-home-summary strong{color:#0f766e;margin-top:5px;font-size:25px;display:block}.student-home-summary p{color:#64748b;margin:5px 0 0;font-size:9px}.student-code-summary{font-size:15px!important}.student-home-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-top:18px;padding:20px}.student-home-section-heading{margin-bottom:14px}.student-home-section-heading h3{margin:3px 0 0}.student-home-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.student-home-course-card{border:1px solid #e2e8f0;border-radius:11px;padding:15px}.student-home-course-card>span{color:#0f766e;font-size:8px;font-weight:800;display:block}.student-home-course-card>strong{color:#0f172a;margin-top:6px;font-size:13px;display:block}.student-home-course-card p{color:#64748b;margin:4px 0 0;font-size:9px}.student-home-assignment-list{gap:9px;display:grid}.student-home-assignment-card{border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:minmax(0,1fr) 120px 120px;align-items:center;gap:20px;padding:13px 14px;display:grid}.student-assignment-status.not-submitted{color:#64748b;background:#f1f5f9}.student-assignment-status.submitted{color:#1d4ed8;background:#dbeafe}.student-assignment-status.revision{color:#c2410c;background:#ffedd5}.student-assignment-status.graded{color:#15803d;background:#dcfce7}.student-home-due{background:#f8fafc;border-radius:8px;min-width:100px;padding:7px 9px}.student-home-due span{color:#64748b;font-size:7px;font-weight:800;display:block}.student-home-due strong{margin-top:3px;font-size:9px;display:block}.student-assignment-open-button{color:#fff;cursor:pointer;background:#0f766e;border:0;border-radius:8px;width:120px;padding:8px 12px;font-size:9px;font-weight:700}.student-assignment-open-button:hover{opacity:.9}@media (width<=900px){.student-dashboard-shell{grid-template-columns:1fr}.student-dashboard-shell .main-content{padding:20px 16px 30px}.student-home-summary,.student-home-course-grid{grid-template-columns:1fr}.student-home-assignment-card{grid-template-columns:1fr;gap:12px}.student-home-due{width:fit-content}.student-assignment-open-button{width:100%}}.view-submission-button{color:#0f766e;cursor:pointer;background:#fff;border:1px solid #0f766e;border-radius:7px;padding:6px 10px;font-size:8px;font-weight:700}.view-submission-button:hover{background:#f0fdfa}.submission-review-overlay{z-index:1000;background:#0f172a47;justify-content:flex-end;display:flex;position:fixed;inset:0}.submission-review-panel{box-sizing:border-box;background:#fff;width:min(520px,100%);height:100vh;padding:24px;overflow-y:auto;box-shadow:-8px 0 30px #0f172a1f}.submission-review-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:18px;display:flex}.submission-review-header h3{margin:4px 0}.submission-review-header>div>span{color:#64748b;font-size:9px}.submission-close-button{color:#475569;cursor:pointer;background:#f8fafc;border:0;border-radius:8px;width:32px;height:32px;font-size:20px}.submission-review-status{background:#ecfdf5;border-radius:9px;margin-top:18px;padding:12px 14px}.submission-review-status span{color:#64748b;font-size:7px;font-weight:800;display:block}.submission-review-status strong{color:#047857;margin-top:3px;font-size:10px;display:block}.submission-answer-section{margin-top:22px}.submission-answer-section>span{color:#64748b;margin-bottom:8px;font-size:8px;font-weight:800;display:block}.submission-text-answer{color:#334155;white-space:pre-wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:15px;font-size:11px;line-height:1.7}.submission-answer-section a{color:#0f766e;font-size:10px;font-weight:700}.submission-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.submission-image-grid img{border-radius:9px;width:100%}.submission-answer-section audio{width:100%;margin-top:8px;display:block}.submission-review-grading{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:20px}.submission-review-grading-header{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:16px;display:flex}.submission-review-grading-header h3{margin:3px 0 0}.submission-graded-badge{color:#047857;background:#ecfdf5;border-radius:999px;padding:5px 9px;font-size:8px;font-weight:800}.submission-review-grading label{color:#334155;margin-top:13px;font-size:9px;font-weight:700;display:block}.submission-score-input{align-items:center;gap:8px;margin-top:6px;display:flex}.submission-score-input input{border:1px solid #cbd5e1;border-radius:8px;width:110px;padding:9px 10px;font-size:11px}.submission-score-input span{color:#64748b;font-size:11px;font-weight:700}.submission-review-grading textarea{box-sizing:border-box;resize:vertical;border:1px solid #cbd5e1;border-radius:9px;width:100%;margin-top:6px;padding:10px 11px;font-family:inherit;font-size:10px;line-height:1.6}.submission-review-save-button{color:#fff;cursor:pointer;background:#0f766e;border:0;border-radius:8px;margin-top:14px;padding:9px 14px;font-size:9px;font-weight:700}.submission-review-save-button:disabled{opacity:.6;cursor:not-allowed}.student-feedback-card{background:#f8fafc;border:1px solid #dbe5ea;border-radius:13px;margin-top:22px;padding:18px}.student-feedback-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.student-feedback-heading h3{margin:3px 0 0}.student-feedback-score{background:#ecfdf5;border-radius:9px;align-items:baseline;gap:4px;padding:9px 12px;display:flex}.student-feedback-score strong{color:#047857;font-size:22px}.student-feedback-score span{color:#64748b;font-size:10px;font-weight:700}.student-feedback-percentage{background:#fff;border:1px solid #e2e8f0;border-radius:9px;justify-content:space-between;align-items:center;margin-top:14px;padding:10px 12px;display:flex}.student-feedback-percentage span{color:#64748b;font-size:8px;font-weight:800}.student-feedback-percentage strong{color:#0f766e;font-size:15px}.student-feedback-comment{margin-top:14px}.student-feedback-comment>span{color:#64748b;margin-bottom:6px;font-size:8px;font-weight:800;display:block}.student-feedback-comment p{color:#334155;white-space:pre-wrap;background:#fff;border:1px solid #e2e8f0;border-radius:9px;margin:0;padding:12px 14px;font-size:10px;line-height:1.7}.submission-review-status-select{box-sizing:border-box;color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;margin-top:6px;padding:9px 10px;font-family:inherit;font-size:10px;display:block}.student-youtube-preview{margin-top:12px}.student-youtube-preview>span{color:#64748b;margin-bottom:7px;font-size:8px;font-weight:800;display:block}.student-revision-notice{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;margin:14px 0;padding:13px 15px}.student-revision-notice strong{color:#c2410c;font-size:10px}.student-revision-notice p{color:#7c2d12;margin:5px 0 0;font-size:9px;line-height:1.6}.student-submission-locked{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:10px;margin:14px 0;padding:13px 15px}.student-submission-locked strong{color:#334155;font-size:10px}.student-submission-locked p{color:#64748b;margin:5px 0 0;font-size:9px}.student-answer-field textarea:disabled,.student-answer-field input:disabled{color:#64748b;cursor:not-allowed;background:#f1f5f9}.resubmitted-badge{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:800}.submission-resubmitted-notice{background:#fff7ed;border:1px solid #fed7aa;border-radius:9px;margin-top:12px;padding:12px 14px}.submission-resubmitted-notice strong{color:#c2410c;font-size:10px}.submission-resubmitted-notice p{color:#7c2d12;margin:4px 0 0;font-size:9px}.submission-review-info-box{background:#ecfdf5;border-radius:12px;margin-top:20px;padding:14px}.submission-review-info-box .submission-resubmitted-notice{background:#fff7ed;border:1px solid #fed7aa;border-radius:9px;margin:0;padding:14px 16px}.submission-review-info-box .submission-resubmitted-notice strong{color:#c2410c;font-size:10px;font-weight:700;display:block}.submission-review-info-box .submission-resubmitted-notice p{color:#7c2d12;margin:5px 0 0;font-size:9px;line-height:1.5}.submission-review-info-box .submission-review-status{text-align:left;background:0 0;min-width:0;margin:14px 0 0;padding:8px 2px 2px;display:block}.submission-review-info-box .submission-review-status span{color:#64748b;margin:0 0 4px;font-size:8px;font-weight:800;line-height:1.2;display:block}.submission-review-info-box .submission-review-status strong{color:#047857;margin:0;font-size:11px;font-weight:700;line-height:1.3;display:block}.submission-review-meta{margin-top:20px}.submission-review-meta .submission-resubmitted-notice{background:#fffaf5;border:1px solid #fed7aa;border-radius:10px;margin:0;padding:14px 16px}.submission-review-meta .submission-resubmitted-notice strong{color:#c2410c;font-size:10px;font-weight:700;line-height:1.4;display:block}.submission-review-meta .submission-resubmitted-notice p{color:#7c2d12;margin:5px 0 0;font-size:9px;line-height:1.55}.submission-status-row{border-bottom:1px solid #e2e8f0;margin-top:18px;padding:0 2px 16px}.submission-status-label{color:#64748b;letter-spacing:.04em;margin-bottom:5px;font-size:8px;font-weight:800;display:block}.submission-status-value{color:#047857;font-size:12px;font-weight:700;line-height:1.4;display:block}.student-image-preview{margin-top:12px}.student-image-preview>span{color:#64748b;margin-bottom:8px;font-size:8px;font-weight:800;display:block}.student-image-preview img{object-fit:contain;border:1px solid #e2e8f0;border-radius:10px;max-width:100%;max-height:350px;display:block}.submission-image-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:10px;display:grid}.submission-image-link{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:block;overflow:hidden}.submission-image-link img{object-fit:cover;width:100%;height:160px;display:block}.submission-image-link:hover{opacity:.9}.student-audio-preview{margin-top:12px}.student-audio-preview>span{color:#64748b;margin-bottom:8px;font-size:8px;font-weight:800;display:block}.student-audio-preview audio{width:100%;max-width:500px;display:block}.submission-audio-list{flex-direction:column;gap:12px;margin-top:10px;display:flex}.submission-audio-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px}.submission-audio-item strong{margin-bottom:10px;font-size:12px;display:block}.submission-audio-item audio{width:100%;max-width:500px;display:block}.student-assignment-attachment{margin-top:18px}.student-assignment-attachment>span{color:#64748b;margin-bottom:8px;font-size:8px;font-weight:800;display:block}.student-assignment-attachment-card strong{color:#0f172a;font-size:10px;display:block}.student-assignment-attachment-card small{color:#64748b;margin-top:3px;font-size:8px;display:block}.student-assignment-attachment-card a{color:#fff;background:#0f766e;border-radius:8px;flex-shrink:0;padding:7px 11px;font-size:9px;font-weight:700;text-decoration:none}.assignment-detail-attachment{margin-top:18px;margin-bottom:18px}.assignment-detail-attachment>span{color:#64748b;margin-bottom:8px;font-size:8px;font-weight:800;display:block}.assignment-detail-attachment-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:13px 15px;display:flex}.assignment-detail-attachment-card strong{color:#0f172a;font-size:10px;display:block}.assignment-detail-attachment-card small{color:#64748b;margin-top:3px;font-size:8px;display:block}.assignment-detail-attachment-card a{color:#fff;background:#0f766e;border-radius:8px;flex-shrink:0;padding:7px 11px;font-size:9px;font-weight:700;text-decoration:none}.student-assignment-attachment-list,.assignment-detail-attachment-list{flex-direction:column;gap:8px;display:flex}.student-answer-file-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.student-answer-file-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.student-answer-file-item strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.student-answer-file-item button{cursor:pointer;background:#eef2f7;border:0;border-radius:7px;flex-shrink:0;padding:6px 10px;font-size:9px;font-weight:700}.submission-file-list{flex-direction:column;gap:8px;margin-top:10px;display:flex}.submission-file-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.submission-file-item strong{color:#0f172a;font-size:10px}.submission-file-item a{color:#fff;background:#0f766e;border-radius:7px;flex-shrink:0;padding:6px 10px;font-size:9px;font-weight:700;text-decoration:none}.student-assignment-info{flex-direction:column;align-items:flex-start;gap:5px;min-width:0;display:flex}.student-assignment-info>span{color:#64748b;font-size:8px;display:block}.student-assignment-info>strong{color:#0f172a;font-size:11px;line-height:1.35;display:block}.student-assignment-status{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;width:auto;min-width:0;margin-top:2px;padding:5px 9px;font-size:8px;font-weight:700;line-height:1.2;display:inline-flex}.student-submission-history{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin:18px 0;padding:18px}.student-submission-history-heading{margin-bottom:16px}.student-submission-history-heading h3{margin:3px 0 0}.student-submission-history-item>span{color:#64748b;margin-bottom:8px;font-size:8px;font-weight:800;display:block}.student-submission-history-text{color:#0f172a;white-space:pre-wrap;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;font-size:11px;line-height:1.6}.student-submission-history-images{flex-wrap:wrap;gap:10px;display:flex}.student-submission-history-images img{object-fit:cover;border:1px solid #e2e8f0;border-radius:10px;width:150px;height:150px;display:block}.student-submission-history-audios{flex-direction:column;gap:10px;display:flex}.student-submission-history-audio{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px}.student-submission-history-audio strong{margin-bottom:8px;font-size:10px;display:block}.student-submission-history-audio audio{width:100%;max-width:520px}.student-submission-history-files{flex-direction:column;gap:8px;display:flex}.student-submission-history-file{background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:15px;padding:11px 13px;display:flex}.student-submission-history-file strong{font-size:10px}.student-submission-history-file a,.student-submission-history-youtube>a{color:#fff;background:#0f766e;border-radius:7px;flex-shrink:0;padding:6px 10px;font-size:9px;font-weight:700;text-decoration:none}.student-submission-history-youtube{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.student-progress-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:14px;padding:16px;display:flex}.student-progress-score>strong{color:#0f766e;font-size:24px}.student-progress-score>span{color:#64748b;font-size:11px;font-weight:700}.student-progress-score>em{color:#0f766e;margin-left:auto;font-size:11px;font-style:normal;font-weight:800}.student-progress-card .student-assignment-open-button{width:100%;margin-top:auto}@media (width<=900px){.student-progress-grid{grid-template-columns:1fr}}.student-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.student-progress-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:14px;min-width:0;padding:16px;display:flex}.student-progress-card-top{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.student-progress-card-top>div{min-width:0}.student-progress-card-top span{color:#64748b;font-size:8px;display:block}.student-progress-card-top strong{color:#0f172a;margin-top:4px;font-size:12px;line-height:1.4;display:block}.student-progress-score{align-items:baseline;gap:4px;display:flex}.student-progress-score strong{color:#0f766e;font-size:25px}.student-progress-score span{color:#64748b;font-size:11px;font-weight:700}.student-progress-comment{color:#475569;background:#f8fafc;border-radius:9px;margin:0;padding:10px 12px;font-size:9px;line-height:1.6}.student-progress-open-button{color:#fff;cursor:pointer;background:#0f766e;border:0;border-radius:8px;width:100%;margin-top:auto;padding:8px 12px;font-size:9px;font-weight:700}.student-progress-open-button:hover{opacity:.9}@media (width<=900px){.student-progress-grid{grid-template-columns:1fr}}.assessment-results-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-top:20px;padding:22px}.assessment-results-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.assessment-results-heading h3{color:#0f172a;margin:4px 0 0;font-size:20px}.assessment-results-heading button{color:#fff;cursor:pointer;background:#0f766e;border:none;border-radius:9px;padding:10px 16px;font-size:13px;font-weight:700}.assessment-results-heading button:hover{opacity:.9}.assessment-results-heading button:disabled{opacity:.6;cursor:not-allowed}.assessment-results-list{gap:12px;display:grid}.assessment-result-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:minmax(180px,1.3fr) minmax(130px,.8fr) minmax(150px,.8fr) 90px minmax(220px,1.4fr) 90px;align-items:end;gap:16px;padding:16px;display:grid}.assessment-student-info{align-self:center}.assessment-student-info strong{color:#0f172a;font-size:14px;font-weight:700;display:block}.assessment-student-info span{color:#64748b;margin-top:4px;font-size:11px;display:block}.assessment-result-row label{color:#475569;flex-direction:column;gap:6px;font-size:10px;font-weight:700;display:flex}.assessment-result-row input,.assessment-result-row select{box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;min-height:38px;padding:8px 10px;font-size:12px}.assessment-result-row input:focus,.assessment-result-row select:focus{border-color:#0f766e;box-shadow:0 0 0 2px #0f766e14}.assessment-result-row input:disabled{color:#94a3b8;cursor:not-allowed;background:#f1f5f9}.assessment-score-input{align-items:center;gap:7px;display:flex}.assessment-score-input input{min-width:0}.assessment-score-input span{color:#64748b;flex-shrink:0;font-size:11px;font-weight:600}.assessment-percentage{box-sizing:border-box;background:#ecfdf5;border-radius:8px;min-height:38px;padding:7px 10px}.assessment-percentage span{color:#64748b;font-size:8px;font-weight:800;display:block}.assessment-percentage strong{color:#0f766e;margin-top:2px;font-size:15px;display:block}.assessment-comment{min-width:0}@media (width<=1100px){.assessment-result-row{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-student-info,.assessment-comment{grid-column:1/-1}}@media (width<=650px){.assessment-results-card{padding:14px}.assessment-results-heading{flex-direction:column;align-items:stretch}.assessment-results-heading button{width:100%}.assessment-result-row{grid-template-columns:1fr}.assessment-student-info,.assessment-comment{grid-column:auto}}.assessment-row-actions{align-items:end;display:flex}.assessment-edit-result-button,.assessment-cancel-edit-button{cursor:pointer;border:0;border-radius:8px;width:100%;min-height:38px;padding:8px 12px;font-size:10px;font-weight:700}.assessment-edit-result-button{color:#fff;background:#0f766e}.assessment-cancel-edit-button{color:#475569;background:#e2e8f0}.student-grades-page{width:100%}.student-grade-grid{grid-template-columns:1fr;gap:14px;margin-top:22px;display:grid}.student-grade-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;gap:16px;min-width:0;padding:20px;display:flex;box-shadow:0 2px 8px #0f172a0a}.student-grade-card-top{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.student-grade-type{color:#0f766e;text-transform:uppercase;background:#ecfdf5;border-radius:6px;padding:5px 8px;font-size:8px;font-weight:800;display:inline-block}.student-grade-card h3{color:#0f172a;margin:8px 0 0;font-size:15px;line-height:1.35}.student-grade-card-top p{color:#64748b;margin:5px 0 0;font-size:10px}.student-grade-score{text-align:center;background:#f0fdfa;border:1px solid #ccfbf1;border-radius:12px;flex-shrink:0;min-width:95px;padding:12px 14px}.student-grade-score strong{color:#0f766e;font-size:26px;line-height:1}.student-grade-score span{color:#64748b;margin-left:3px;font-size:11px;font-weight:700}.student-grade-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.student-grade-meta>div{background:#f8fafc;border-radius:9px;padding:10px}.student-grade-meta span{color:#94a3b8;font-size:7px;font-weight:800;display:block}.student-grade-meta strong{color:#334155;margin-top:4px;font-size:10px;display:block}.student-grade-comment{background:#f8fafc;border-left:3px solid #0f766e;border-radius:8px;padding:12px 14px}.student-grade-comment span{color:#64748b;font-size:7px;font-weight:800;display:block}.student-grade-comment p{color:#334155;margin:5px 0 0;font-size:10px;line-height:1.6}.student-grade-card{transition:transform .15s,box-shadow .15s}.student-grade-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0f172a12}@media (width<=1000px){.student-grade-grid{grid-template-columns:1fr}}@media (width<=600px){.student-grade-card{padding:15px}.student-grade-card-top{flex-direction:column}.student-grade-score{box-sizing:border-box;width:100%}.student-grade-meta{grid-template-columns:1fr}}.rubric-builder{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin-top:22px;padding:20px}.rubric-builder-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.rubric-builder-heading h3{color:#0f172a;margin:4px 0 0;font-size:16px}.rubric-total-score{text-align:center;background:#ecfdf5;border:1px solid #ccfbf1;border-radius:10px;min-width:110px;padding:10px 14px}.rubric-total-score span{color:#64748b;font-size:7px;font-weight:800;display:block}.rubric-total-score strong{color:#0f766e;margin-top:3px;font-size:22px;display:block}.rubric-description-field{color:#475569;flex-direction:column;gap:6px;font-size:10px;font-weight:700;display:flex}.rubric-description-field textarea{box-sizing:border-box;resize:vertical;background:#fff;border:1px solid #cbd5e1;border-radius:9px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:11px}.rubric-description-field textarea:focus{border-color:#0f766e}.rubric-criteria-list{gap:8px;margin-top:18px;display:grid}.rubric-criteria-header{grid-template-columns:minmax(0,1fr) 110px 80px;gap:10px;padding:0 10px;display:grid}.rubric-criteria-header span{color:#94a3b8;font-size:7px;font-weight:800}.rubric-criterion-row{background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:minmax(0,1fr) 110px 80px;align-items:center;gap:10px;padding:10px;display:grid}.rubric-criterion-name{align-items:center;gap:10px;display:flex}.rubric-criterion-name>span{color:#0f766e;background:#ecfdf5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:25px;height:25px;font-size:9px;font-weight:800;display:flex}.rubric-criterion-row input{box-sizing:border-box;border:1px solid #cbd5e1;border-radius:7px;outline:none;width:100%;min-height:36px;padding:8px 10px;font-size:11px}.rubric-criterion-row input:focus{border-color:#0f766e}.rubric-max-score-input{text-align:center;font-weight:700}.rubric-remove-button{color:#b91c1c;cursor:pointer;background:#fee2e2;border:0;border-radius:7px;min-height:36px;padding:7px 9px;font-size:9px;font-weight:700}.rubric-remove-button:disabled{opacity:.35;cursor:not-allowed}.rubric-builder-footer{justify-content:space-between;align-items:center;gap:20px;margin-top:14px;display:flex}.rubric-add-button{color:#0f766e;cursor:pointer;background:#fff;border:1px solid #0f766e;border-radius:8px;padding:9px 13px;font-size:10px;font-weight:700}.rubric-total-summary{text-align:right}.rubric-total-summary span{color:#64748b;font-size:8px;display:block}.rubric-total-summary strong{color:#0f766e;margin-top:3px;font-size:14px;display:block}.assessment-create-actions{justify-content:flex-end;margin-top:18px;display:flex}.assessment-create-actions button{color:#fff;cursor:pointer;background:#0f766e;border:0;border-radius:9px;padding:10px 18px;font-size:11px;font-weight:700}.assessment-rubric-summary{background:#f0fdfa;border-radius:8px;margin-top:10px;padding:8px 10px}.assessment-rubric-summary span{color:#64748b;font-size:7px;font-weight:800}.assessment-rubric-summary strong{color:#0f766e;margin-left:7px;font-size:9px}@media (width<=700px){.rubric-builder-heading,.rubric-builder-footer{flex-direction:column;align-items:stretch}.rubric-criteria-header{display:none}.rubric-criterion-row{grid-template-columns:1fr}.rubric-total-summary{text-align:left}}.assessment-rubric-info{background:#fff;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:1fr auto;gap:14px;margin:18px 0;padding:18px;display:grid}.assessment-rubric-info h3{color:#0f172a;margin:4px 0 0;font-size:14px}.assessment-rubric-total{text-align:center;background:#ecfdf5;border-radius:10px;min-width:105px;padding:10px 14px}.assessment-rubric-total span{color:#64748b;font-size:7px;font-weight:800;display:block}.assessment-rubric-total strong{color:#0f766e;margin-top:3px;font-size:22px;display:block}.assessment-rubric-description{color:#64748b;border-top:1px solid #e2e8f0;grid-column:1/-1;margin:0;padding-top:12px;font-size:10px;line-height:1.6}.assessment-rubric-scores{background:#f8fafc;border-radius:10px;gap:7px;padding:12px;display:grid}.assessment-rubric-scores-heading span{color:#64748b;font-size:7px;font-weight:800}.assessment-rubric-score-row{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:15px;padding:7px 0;display:flex}.assessment-rubric-score-row:last-child{border-bottom:0}.assessment-rubric-score-row>span{color:#334155;font-size:10px;font-weight:700}.assessment-rubric-score-row>div{align-items:center;gap:6px;display:flex}.assessment-rubric-score-row input{text-align:center;border:1px solid #cbd5e1;border-radius:7px;width:58px;padding:7px;font-size:11px;font-weight:700}.assessment-rubric-score-row strong{color:#64748b;min-width:30px;font-size:9px}.assessment-rubric-result-total{background:#ecfdf5;border-radius:9px;padding:10px 12px}.assessment-rubric-result-total span{color:#64748b;font-size:7px;font-weight:800;display:block}.assessment-rubric-result-total strong{color:#0f766e;margin-top:4px;font-size:15px;display:block}.rubric-result-row{align-items:start}@media (width<=700px){.assessment-rubric-info{grid-template-columns:1fr}.assessment-rubric-total{width:auto}.assessment-rubric-score-row{align-items:flex-start}}.rubric-result-row .assessment-comment{grid-column:1/-1;width:100%}.rubric-result-row .assessment-comment input{box-sizing:border-box;border:1px solid #cbd5e1;border-radius:8px;width:100%;min-width:0;padding:10px 12px;font-size:11px}.student-grade-rubric{background:#f0fdfa;border:1px solid #ccfbf1;border-radius:11px;padding:14px}.student-grade-rubric-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.student-grade-rubric-heading>span{color:#0f766e;font-size:8px;font-weight:800}.student-grade-rubric-heading>strong{color:#0f766e;font-size:12px}.student-grade-rubric-description{color:#64748b;margin:0 0 12px;font-size:9px;line-height:1.5}.student-grade-rubric-list{grid-template-columns:1fr;gap:8px;display:grid}.student-grade-rubric-item{background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;display:flex}.student-grade-rubric-item span{color:#475569;font-size:9px}.student-grade-rubric-item strong{color:#0f172a;flex-shrink:0;font-size:10px;font-weight:800}@media (width<=650px){.student-grade-rubric-list{grid-template-columns:1fr}}.student-overview-profile{background:#fff;border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:20px;margin-top:20px;padding:22px;display:flex}.student-overview-avatar{color:#0f766e;background:#ecfdf5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:70px;height:70px;font-size:26px;font-weight:800;display:flex}.student-overview-main{flex:1;min-width:0}.student-overview-main h3{color:#0f172a;margin:4px 0 14px;font-size:18px}.student-overview-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.student-overview-details>div{background:#f8fafc;border-radius:9px;padding:10px 12px}.student-overview-details span{color:#94a3b8;font-size:7px;font-weight:800;display:block}.student-overview-details strong{color:#334155;margin-top:4px;font-size:10px;display:block}.student-overview-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-top:18px;padding:20px}.student-overview-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.student-overview-actions button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;align-items:flex-start;min-height:145px;padding:16px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.student-overview-actions button:hover{border-color:#99f6e4;transform:translateY(-2px);box-shadow:0 8px 20px #0f766e14}.student-overview-actions span{color:#0f766e;font-size:8px;font-weight:800}.student-overview-actions strong{color:#0f172a;margin-top:8px;font-size:14px;display:block}.student-overview-actions p{color:#64748b;margin:6px 0 14px;font-size:9px;line-height:1.5}.student-overview-actions small{color:#0f766e;margin-top:auto;font-size:9px;font-weight:700}@media (width<=800px){.student-overview-profile{align-items:flex-start}.student-overview-details,.student-overview-actions{grid-template-columns:1fr}}.student-profile-photo-field{flex-direction:column;grid-column:1/-1;gap:8px;display:flex}.student-profile-field-label{color:#334155;font-size:9px;font-weight:700}.student-profile-photo-row{align-items:center;gap:14px;display:flex}.student-profile-photo-preview{color:#0f766e;background:#ecfdf5;border:1px solid #ccfbf1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:76px;height:76px;font-size:24px;font-weight:800;display:flex;overflow:hidden}.student-profile-photo-preview img{object-fit:cover;width:100%;height:100%}.student-photo-upload-button{color:#0f766e;cursor:pointer;background:#f0fdfa;border:1px solid #99f6e4;border-radius:8px;justify-content:center;align-items:center;width:auto;padding:9px 13px;font-size:9px;font-weight:700;display:inline-flex}.student-photo-upload-button input{display:none}.student-profile-photo-field>small{color:#94a3b8;font-size:8px}.student-bio-field{grid-column:1/-1}.student-bio-field textarea{box-sizing:border-box;resize:vertical;border:1px solid #cbd5e1;border-radius:8px;width:100%;min-height:90px;padding:10px 12px;font-family:inherit;font-size:10px;line-height:1.5}.student-avatar{color:#0f766e;background:#ecfdf5;border:1px solid #ccfbf1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:88px;height:88px;font-size:28px;font-weight:800;display:flex;overflow:hidden}.student-avatar img{object-fit:cover;width:100%;height:100%;display:block}.student-profile-heading-info{flex:1;min-width:0}.student-bio-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-top:16px;padding:18px 20px}.student-bio-card .eyebrow{margin:0 0 8px}.student-bio-text{color:#475569;white-space:pre-wrap;margin:0;font-size:10px;line-height:1.7}.student-overview-avatar{overflow:hidden}.student-overview-avatar img{object-fit:cover;width:100%;height:100%;display:block}.student-overview-avatar span{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.student-overview-bio{border-top:1px solid #e2e8f0;margin-top:14px;padding-top:13px}.student-overview-bio>span{color:#94a3b8;letter-spacing:.05em;margin-bottom:6px;font-size:8px;font-weight:800;display:block}.student-overview-bio p{color:#475569;white-space:pre-wrap;max-width:720px;margin:0;font-size:10px;line-height:1.65}.teacher-table-profile{align-items:center;gap:9px;display:flex}.teacher-table-avatar{color:#0f766e;background:#ecfdf5;border:1px solid #ccfbf1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:11px;font-weight:800;display:flex;overflow:hidden}.teacher-table-avatar img{object-fit:cover;width:100%;height:100%;display:block}.teacher-overview-profile{background:#fff;border:1px solid #e2e8f0;border-radius:16px;align-items:flex-start;gap:20px;margin-top:20px;padding:22px;display:flex}.teacher-overview-avatar{color:#0f766e;background:#ecfdf5;border:1px solid #ccfbf1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:82px;height:82px;font-size:28px;font-weight:800;display:flex;overflow:hidden}.teacher-overview-avatar img{object-fit:cover;width:100%;height:100%;display:block}.teacher-overview-avatar span{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.teacher-overview-main{flex:1;min-width:0}.teacher-overview-main h3{color:#0f172a;margin:4px 0 14px;font-size:18px}.teacher-overview-details{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.teacher-overview-details>div{background:#f8fafc;border-radius:9px;padding:10px 12px}.teacher-overview-details span{color:#94a3b8;font-size:7px;font-weight:800;display:block}.teacher-overview-details strong{color:#334155;margin-top:4px;font-size:10px;display:block}.teacher-overview-bio{border-top:1px solid #e2e8f0;margin-top:14px;padding-top:13px}.teacher-overview-bio>span{color:#94a3b8;margin-bottom:6px;font-size:8px;font-weight:800;display:block}.teacher-overview-bio p{color:#475569;white-space:pre-wrap;max-width:760px;margin:0;font-size:10px;line-height:1.65}@media (width<=900px){.teacher-overview-details{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.teacher-overview-profile{flex-direction:column}.teacher-overview-details{grid-template-columns:1fr}}.student-course-name{margin-top:6px;margin-bottom:14px;display:block}.student-course-active{margin-top:12px!important}.student-home-course-card{cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}.student-home-course-card:hover{border-color:#99f6e4;transform:translateY(-2px);box-shadow:0 6px 18px #0f766e14}.student-course-detail-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-top:18px;margin-bottom:14px;padding:16px;display:grid}.student-course-detail-card>div{background:#f8fafc;border-radius:10px;padding:13px 14px}.student-course-detail-card span{color:#94a3b8;letter-spacing:.04em;margin-bottom:5px;font-size:8px;font-weight:800;display:block}.student-course-detail-card strong{color:#0f172a;font-size:11px;font-weight:700;display:block}.student-active-courses-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-top:18px;padding:20px}.student-active-courses-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.student-active-courses-heading h3{color:#0f172a;margin:4px 0 0;font-size:15px}.student-active-courses-list{flex-wrap:wrap;gap:8px;display:flex}.student-active-course-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;align-items:center;gap:6px;padding:9px 12px;display:flex}.student-active-course-item strong{color:#334155;font-size:10px;font-weight:700}.student-active-course-dot{color:#0f766e;font-size:14px}.student-dashboard-main-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.student-dashboard-info-card{box-sizing:border-box;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;align-items:flex-start;min-height:150px;padding:18px;display:flex}button.student-dashboard-info-card{cursor:pointer;width:100%;font-family:inherit;transition:transform .15s,border-color .15s,box-shadow .15s}button.student-dashboard-info-card:hover{border-color:#99f6e4;transform:translateY(-2px);box-shadow:0 8px 20px #0f766e14}.student-dashboard-card-label{color:#0f766e;letter-spacing:.04em;font-size:8px;font-weight:800}.student-dashboard-card-value{color:#0f172a;margin-top:8px;font-size:15px;font-weight:800;display:block}.student-dashboard-card-description{color:#64748b;margin:7px 0 0;font-size:9px;line-height:1.5}.student-dashboard-card-link{color:#0f766e;margin-top:auto;padding-top:14px;font-size:9px;font-weight:700}.student-dashboard-course-list{flex-wrap:wrap;gap:7px;margin-top:13px;display:flex}.student-dashboard-course-list>p{color:#94a3b8;margin:0;font-size:9px}.student-dashboard-course-chip{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:5px;padding:7px 9px;display:flex}.student-dashboard-course-chip>span{color:#0f766e;font-size:11px}.student-dashboard-course-chip>strong{color:#475569;font-size:9px;font-weight:700}@media (width<=900px){.student-dashboard-main-cards{grid-template-columns:1fr}}.activity-history-list{flex-direction:column;gap:12px;margin-top:18px;display:flex}.activity-history-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:minmax(0,1fr) 180px 90px;align-items:center;gap:18px;padding:18px 20px;display:grid}.activity-history-main{min-width:0}.activity-type-label{color:#0f766e;letter-spacing:.04em;margin-bottom:7px;font-size:9px;font-weight:800;display:inline-block}.activity-history-main h4{color:#0f172a;margin:0 0 7px;font-size:14px;font-weight:800}.activity-history-main p{color:#475569;margin:0 0 6px;font-size:11px}.activity-history-main small{color:#94a3b8;font-size:9px}.activity-history-result{flex-direction:column;gap:8px;display:flex}.activity-history-result p{margin:0}.activity-history-result span{color:#94a3b8;text-transform:uppercase;margin-bottom:3px;font-size:8px;font-weight:700;display:block}.activity-history-result strong{color:#334155;font-size:11px}.activity-history-card>button{color:#0f766e;cursor:pointer;background:#fff;border:1px solid #0f766e;border-radius:8px;width:100%;padding:9px 12px;font-family:inherit;font-size:10px;font-weight:700}.activity-history-card>button:hover{background:#f0fdfa}@media (width<=800px){.activity-history-card{grid-template-columns:1fr}.activity-history-card>button{width:auto}}.activity-option-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px}.activity-checkbox-row{flex-direction:row;align-items:center;gap:8px;display:flex}.activity-checkbox-row input{width:auto;margin:0}.activity-checkbox-row span{color:#334155;font-size:10px;font-weight:700}.activity-report-settings{flex-direction:column;gap:10px;margin-top:14px;display:flex}.activity-setting-title{color:#0f172a;margin:0;font-size:10px;font-weight:800}.activity-question-row{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px}.activity-question-row label{margin:0}.activity-question-row textarea{min-height:70px}.activity-remove-question{color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:6px;margin-top:7px;padding:6px 9px;font-size:8px;font-weight:700}.activity-add-question{color:#0f766e;cursor:pointer;background:#fff;border:1px solid #99f6e4;border-radius:7px;align-self:flex-start;padding:7px 10px;font-size:9px;font-weight:700}.activity-report-settings small{color:#94a3b8;font-size:8px}.activity-self-rating{margin-top:12px}.activity-self-rating select{max-width:140px}.activity-event-description{max-width:650px;line-height:1.5;color:#64748b!important;margin-top:10px!important}.activity-event-actions{flex-direction:column;gap:7px;display:flex}.activity-event-actions button{color:#0f766e;cursor:pointer;background:#fff;border:1px solid #0f766e;border-radius:7px;padding:8px 11px;font-family:inherit;font-size:9px;font-weight:700}.activity-participant-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px}.activity-participant-select{flex-direction:row;align-items:center;gap:10px;margin:0;display:flex}.activity-participant-select input{width:auto;margin:0}.activity-participant-fields textarea{min-height:80px}@media (width<=800px){.activity-participant-fields{grid-template-columns:1fr}.activity-participant-fields label:last-child{grid-column:auto}.activity-event-actions{width:100%}}.student-portfolio-page{width:100%;max-width:1200px;margin:0 auto}.student-portfolio-list{flex-direction:column;gap:28px;margin-top:24px;display:flex}.student-portfolio-card{background:#fff;border:1px solid #e3e8ef;border-radius:18px;padding:28px;box-shadow:0 4px 14px #0000000a}.student-portfolio-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.student-portfolio-header h3{color:#172033;margin:7px 0 6px;font-size:22px}.student-portfolio-header p{color:#738094;margin:0;font-size:14px}.activity-type-label{letter-spacing:.08em;color:#147d73;font-size:11px;font-weight:700;display:inline-block}.student-portfolio-section{background:#f8fafc;border:1px solid #edf0f4;border-radius:14px;margin-top:16px;padding:18px 20px}.student-portfolio-section>span{letter-spacing:.06em;color:#64748b;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.student-portfolio-section p{color:#334155;margin:0;line-height:1.7}.student-portfolio-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.student-portfolio-meta>div{background:#f8fafc;border:1px solid #edf0f4;border-radius:14px;padding:16px 18px}.student-portfolio-meta span{letter-spacing:.06em;color:#7b8798;margin-bottom:7px;font-size:10px;font-weight:700;display:block}.student-portfolio-meta strong{color:#172033;font-size:15px;display:block}.student-portfolio-reflection{border-top:1px solid #e5e9ef;margin-top:26px;padding-top:24px}.student-portfolio-reflection h4,.student-portfolio-self-assessment h4{color:#172033;margin:0 0 8px;font-size:17px}.student-portfolio-help{color:#738094;margin:0 0 20px;font-size:14px;line-height:1.6}.student-portfolio-reflection label{color:#263244;margin-bottom:20px;font-size:14px;font-weight:600;line-height:1.55;display:block}.student-portfolio-reflection textarea{box-sizing:border-box;resize:vertical;background:#fff;border:1px solid #d8dee7;border-radius:10px;outline:none;width:100%;min-height:100px;margin-top:9px;padding:13px 14px;font-family:inherit;font-size:14px;line-height:1.6;display:block}.student-portfolio-reflection textarea:focus{border-color:#148477;box-shadow:0 0 0 3px #1484771a}.student-portfolio-self-assessment{border-top:1px solid #e5e9ef;margin-top:24px;padding-top:22px}.student-portfolio-self-assessment>p{color:#738094;margin:0 0 16px;font-size:14px}.student-portfolio-rating-options{flex-wrap:wrap;gap:9px;display:flex}.student-portfolio-rating-options label{cursor:pointer}.student-portfolio-rating-options input{opacity:0;pointer-events:none;position:absolute}.student-portfolio-rating-options span{color:#475569;background:#fff;border:1px solid #d8dee7;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:600;transition:all .15s;display:flex}.student-portfolio-rating-options label:hover span{border-color:#148477}.student-portfolio-rating-options input:checked+span{color:#fff;background:#148477;border-color:#148477}.student-portfolio-save{color:#fff;cursor:pointer;background:#148477;border:none;border-radius:10px;min-width:190px;margin-top:24px;padding:12px 20px;font-size:14px;font-weight:700}.student-portfolio-save:hover{opacity:.92}.student-portfolio-save:disabled{opacity:.55;cursor:not-allowed}.student-portfolio-submitted{color:#148477;margin-top:10px;font-weight:600;display:block}.student-portfolio-page .empty-state{text-align:center;color:#8490a2;border:1px dashed #d8dee7;border-radius:14px;margin-top:24px;padding:40px 24px}@media (width<=768px){.student-portfolio-card{padding:20px}.student-portfolio-meta{grid-template-columns:1fr}.student-portfolio-rating-options span{width:36px;height:36px}}.participant-report-answer p{color:#475569;margin:0;line-height:1.65}@media (width<=768px){.participant-report-summary{grid-template-columns:1fr}}.participant-report-summary>div{background:#f8fafc;border:1px solid #e6ebf0;border-radius:12px;padding:14px 16px}.participant-report-summary strong{color:#172033;font-size:14px;display:block}.participant-report-answer p{color:#475569;background:#fff;border-radius:8px;margin:0;padding:12px 14px;line-height:1.65}.activity-participant-card.selected{background:#fff;border-color:#cbdedb}.activity-participant-fields{margin-top:16px}@media (width<=768px){.participant-report-summary{grid-template-columns:1fr}}.activity-participant-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px 20px;transition:border-color .2s,box-shadow .2s}.activity-participant-select{cursor:pointer;align-items:center;gap:12px;display:flex}.activity-participant-select input{accent-color:#148477;width:17px;height:17px;margin:0}.activity-participant-select span{flex-direction:column;gap:3px;display:flex}.activity-participant-select strong{color:#172033;font-size:15px}.activity-participant-fields{border-top:1px solid #edf0f4;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;padding-top:18px;display:grid}.activity-participant-fields label{color:#475569;flex-direction:column;gap:8px;font-size:12px;font-weight:700;display:flex}.participant-report-box{border-top:1px solid #edf0f4;margin-top:20px;padding-top:20px}.participant-report-summary>div{background:#f8fafc;border:1px solid #edf0f4;border-radius:10px;flex-direction:column;justify-content:center;min-height:64px;padding:14px 16px;display:flex}.participant-report-summary strong{color:#172033;font-size:15px}.participant-report-box>.secondary-button{color:#148477;cursor:pointer;background:#fff;border:1px solid #148477;border-radius:8px;width:auto;min-width:130px;padding:9px 15px;font-size:12px;font-weight:700}.participant-report-box>.secondary-button:hover{background:#f0f8f7}.participant-report-answer>span{letter-spacing:.06em;color:#148477;margin-bottom:5px;font-size:10px;font-weight:700;display:block}.activity-participant-list>button:hover{opacity:.92}.activity-participant-list>button:disabled{opacity:.55;cursor:not-allowed}.student-list-header>.secondary-button{color:#475569;cursor:pointer;background:#fff;border:1px solid #d8dee7;border-radius:9px;width:auto;min-width:90px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:600}.student-list-header>.secondary-button:hover{color:#148477;border-color:#148477}@media (width<=768px){.activity-participant-fields{grid-template-columns:1fr}.activity-participant-fields label:last-child{grid-column:auto}.participant-report-summary{grid-template-columns:1fr}.activity-participant-card{padding:16px}}.portfolio-report-locked{background:#f8fafc;border:1px solid #dfe6ec;border-radius:10px;margin-top:22px;padding:15px 17px}.portfolio-report-locked strong{color:#172033;margin-bottom:5px;font-size:14px;display:block}.portfolio-report-locked span{color:#738094;font-size:13px;line-height:1.5;display:block}.student-portfolio-reflection textarea:disabled{color:#64748b;cursor:not-allowed;opacity:1;background:#f8fafc}.student-portfolio-rating-options input:disabled+span{cursor:not-allowed;opacity:.65}.student-portfolio-rating-options input:disabled:checked+span{opacity:1}.portfolio-revision-message{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;margin-top:18px;padding:15px 17px}.portfolio-revision-message strong{color:#9a3412;margin-bottom:5px;font-size:13px;display:block}.portfolio-revision-message p{color:#7c2d12;margin:0;font-size:13px;line-height:1.6}.activity-participant-list{flex-direction:column;gap:10px;margin-top:20px;display:flex}.activity-participant-card{box-shadow:none;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:0;transition:border-color .15s,box-shadow .15s;overflow:hidden}.activity-participant-card.selected{border-color:#a7d7d0;box-shadow:0 3px 10px #0f766e0d}.activity-participant-select{box-sizing:border-box;cursor:pointer;background:#fff;flex-direction:row;align-items:center;gap:12px;width:100%;margin:0;padding:15px 18px;display:flex}.activity-participant-card.selected .activity-participant-select{background:#fbfefd;border-bottom:1px solid #edf2f1}.activity-participant-select input{accent-color:#148477;flex-shrink:0;width:16px;height:16px;margin:0}.activity-participant-select span{flex-direction:column;gap:3px;min-width:0;display:flex}.activity-participant-select strong{color:#172033;font-size:14px;font-weight:700}.activity-participant-select small{color:#94a3b8;font-size:10px}.activity-participant-fields{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:18px;display:grid}.activity-participant-fields label:last-child{grid-column:1/-1}.activity-participant-fields label{color:#475569;flex-direction:column;gap:7px;margin:0;font-size:11px;font-weight:700;display:flex}.activity-participant-fields input,.activity-participant-fields textarea{box-sizing:border-box;color:#172033;background:#fff;border:1px solid #dce3ea;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:13px;font-weight:400}.activity-participant-fields input{height:40px}.activity-participant-fields textarea{resize:vertical;min-height:80px}.activity-participant-fields input:focus,.activity-participant-fields textarea:focus{border-color:#148477;box-shadow:0 0 0 3px #14847712}.participant-report-box{border-top:1px solid #edf0f4;margin:0 18px 18px;padding-top:16px}.participant-report-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.participant-report-summary>div{box-sizing:border-box;background:#f8fafc;border:1px solid #edf0f4;border-radius:9px;min-height:58px;padding:12px 14px}.participant-report-label{letter-spacing:.06em;color:#8491a3;margin-bottom:5px;font-size:9px;font-weight:800;display:block}.participant-report-summary strong{color:#172033;font-size:13px;font-weight:700;display:block}.participant-report-box>.secondary-button{color:#148477;cursor:pointer;background:#fff;border:1px solid #148477;border-radius:7px;width:auto;min-width:120px;padding:8px 13px;font-family:inherit;font-size:11px;font-weight:700}.participant-report-answers{flex-direction:column;gap:10px;margin-top:14px;display:flex}.participant-report-answer{background:#f8fafc;border:1px solid #e8edf2;border-radius:9px;padding:14px 16px}.participant-report-answer>span{color:#148477;margin-bottom:4px;font-size:9px;font-weight:800;display:block}.participant-report-answer strong{color:#172033;margin-bottom:8px;font-size:13px;line-height:1.5;display:block}.participant-report-answer p{color:#475569;background:#fff;border-radius:7px;margin:0;padding:11px 13px;font-size:13px;line-height:1.6}.participant-review-box{border-top:1px solid #edf0f4;margin-top:14px;padding-top:14px}.participant-review-status{background:#f8fafc;border-radius:8px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.participant-review-status strong{color:#172033;font-size:12px}.participant-review-status span{color:#718096;font-size:11px;line-height:1.5}.participant-review-actions{flex-wrap:wrap;gap:8px;display:flex}.review-approve-button,.review-revision-button{cursor:pointer;border-radius:7px;width:auto;padding:9px 14px;font-family:inherit;font-size:11px;font-weight:700}.review-approve-button{color:#fff;background:#148477;border:none}.review-revision-button{color:#b45309;background:#fff;border:1px solid #f1c17d}.participant-revision-form{background:#fffaf3;border:1px solid #fed7aa;border-radius:9px;margin-top:12px;padding:14px}.participant-revision-form label{color:#7c2d12;flex-direction:column;gap:7px;font-size:11px;font-weight:700;display:flex}.participant-revision-form textarea{box-sizing:border-box;resize:vertical;border:1px solid #fed7aa;border-radius:7px;width:100%;min-height:80px;padding:10px 12px;font-family:inherit}.participant-revision-form button{color:#fff;cursor:pointer;background:#b45309;border:none;border-radius:7px;margin-top:10px;padding:9px 14px;font-size:11px;font-weight:700}.activity-participant-list>button{color:#fff;cursor:pointer;background:#148477;border:none;border-radius:9px;width:100%;margin-top:4px;padding:12px 18px;font-family:inherit;font-size:13px;font-weight:700}@media (width<=760px){.activity-participant-fields{grid-template-columns:1fr}.activity-participant-fields label:last-child{grid-column:auto}.participant-report-summary{grid-template-columns:1fr}.participant-review-actions{flex-direction:column}}.participant-report-summary>div:only-child{grid-column:1/-1}.participant-report-label{white-space:normal;text-overflow:clip;width:auto;max-width:none;line-height:1.4;display:block;overflow:visible}.participant-report-summary>div{min-width:0;overflow:visible}.participant-report-summary>div span{white-space:normal;text-overflow:clip;overflow:visible}.activity-participant-card .participant-report-summary .participant-report-label{white-space:normal!important;text-overflow:clip!important;width:100%!important;max-width:none!important;line-height:1.4!important;display:block!important;overflow:visible!important}.activity-participant-card .participant-report-summary>div{width:auto!important;min-width:0!important;overflow:visible!important}.activity-participant-card .participant-report-summary{overflow:visible!important}.student-achievement-section{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-top:18px;padding:22px}.student-achievement-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.student-achievement-heading h3{color:#172033;margin:3px 0 5px;font-size:18px}.student-achievement-heading>div>p:last-child{color:#7b8798;margin:0;font-size:12px}.student-achievement-all{color:#148477;cursor:pointer;background:0 0;border:1px solid #d8e1e8;border-radius:8px;flex-shrink:0;padding:9px 13px;font-family:inherit;font-size:11px;font-weight:700}.student-achievement-all:hover{background:#f6fbfa;border-color:#148477}.student-achievement-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.student-achievement-card{box-sizing:border-box;background:#fbfcfd;border:1px solid #e5eaf0;border-radius:11px;min-height:160px;padding:17px}.student-achievement-type{letter-spacing:.07em;color:#148477;margin-bottom:9px;font-size:9px;font-weight:800;display:block}.student-achievement-card h4{color:#172033;margin:0 0 5px;font-size:15px;line-height:1.4}.student-achievement-course{color:#8793a4;margin:0 0 16px;font-size:10px}.student-achievement-detail{margin-top:9px}.student-achievement-detail span{letter-spacing:.05em;color:#94a3b8;margin-bottom:3px;font-size:8px;font-weight:800;display:block}.student-achievement-detail strong{color:#334155;font-size:12px;line-height:1.45;display:block}@media (width<=900px){.student-achievement-grid{grid-template-columns:1fr}}@media (width<=600px){.student-achievement-section{padding:17px}.student-achievement-heading{flex-direction:column}}.student-attendance-summary{grid-template-columns:1.4fr repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.student-attendance-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;justify-content:space-between;min-height:110px;padding:22px;display:flex}.student-attendance-summary-card span{letter-spacing:.06em;color:#64748b;font-size:12px;font-weight:700}.student-attendance-summary-card strong{color:#0f766e;margin-top:12px;font-size:28px;line-height:1}.student-attendance-history{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:24px}.student-attendance-history-heading{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-end;gap:20px;padding-bottom:18px;display:flex}.student-attendance-history-heading h3{margin:4px 0 0;font-size:20px}.student-attendance-history-heading>span{color:#64748b;font-size:13px}.student-attendance-list{flex-direction:column;display:flex}.student-attendance-row{border-bottom:1px solid #edf0f3;grid-template-columns:160px minmax(220px,1.4fr) 160px minmax(220px,1fr);align-items:center;gap:24px;padding:20px 8px;display:grid}.student-attendance-row:last-child{border-bottom:none}.student-attendance-row>div{flex-direction:column;gap:6px;display:flex}.student-attendance-row span{letter-spacing:.07em;color:#94a3b8;font-size:10px;font-weight:700}.student-attendance-row strong{color:#172033;font-size:14px}.attendance-status{border-radius:999px;width:fit-content;padding:6px 10px;font-size:12px!important}.attendance-status.present{color:#047857;background:#ecfdf5}.attendance-status.late{color:#c2410c;background:#fff7ed}.attendance-status.excused{color:#1d4ed8;background:#eff6ff}.attendance-status.absent{color:#b91c1c;background:#fef2f2}@media (width<=1100px){.student-attendance-summary{grid-template-columns:repeat(2,1fr)}.student-attendance-row{grid-template-columns:1fr 1fr}}@media (width<=700px){.student-attendance-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}.student-attendance-summary-card{border-radius:14px;min-height:0;padding:16px}.student-attendance-summary-card span{letter-spacing:.05em;font-size:10px;line-height:1.3}.student-attendance-summary-card strong{margin-top:10px;font-size:24px;line-height:1}.student-attendance-summary-card:last-child{grid-column:1/-1;min-height:80px}.student-attendance-history{border-radius:16px;padding:18px}.student-attendance-history-heading{flex-direction:column;align-items:flex-start;gap:8px;padding-bottom:14px}.student-attendance-history-heading h3{font-size:18px}.student-attendance-history-heading>span{font-size:12px}.student-attendance-row{grid-template-columns:1fr 1fr;gap:14px 12px;padding:16px 0}.student-attendance-row>div{gap:4px}.student-attendance-row span{font-size:9px}.student-attendance-row strong{font-size:13px;line-height:1.4}.attendance-status{padding:5px 9px;font-size:11px!important}.student-attendance-note{grid-column:1/-1}}.error-message{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin:10px 0;padding:10px 12px;font-size:14px;font-weight:600}.assignment-material-image-link{margin-top:12px;display:block}.assignment-material-image{object-fit:contain;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;width:100%;max-width:520px;max-height:420px;display:block}.assignment-material-audio{width:100%;max-width:520px;margin-top:12px}.assignment-detail-external-link{margin-top:20px}.assignment-detail-external-link>span{margin-bottom:10px;font-size:12px;font-weight:700;display:block}.assignment-external-link-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.assignment-external-link-card div{flex-direction:column;gap:4px;display:flex}.assignment-external-link-card small{color:#64748b}.assignment-external-link-button{color:#fff;background:#14877d;border-radius:8px;flex-shrink:0;padding:9px 18px;font-weight:600;text-decoration:none}.assignment-external-link-button:hover{opacity:.9}.student-assignment-external-link>span{margin-bottom:8px;font-size:12px;font-weight:700;display:block}.student-assignment-external-link-card>div{flex-direction:column;gap:4px;display:flex}.student-assignment-external-link-card small{color:#64748b}.student-assignment-external-link-button:hover{opacity:.9}.student-assignment-detail{flex-direction:column;gap:18px;display:flex}.student-assignment-header{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:24px}.student-assignment-header h1{margin:6px 0 4px;font-size:28px;line-height:1.2}.student-assignment-header .eyebrow{color:#14877d;font-weight:700}.student-assignment-instructions{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:24px}.student-assignment-instructions h2{margin-top:0;margin-bottom:18px}.student-assignment-attachment-list{flex-direction:column;gap:10px;display:flex}.student-assignment-attachment-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.student-assignment-external-link{margin-top:20px}.student-assignment-external-link-card{background:#fff;border:1px solid #d8e5e2;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.student-assignment-external-link-button{color:#fff;background:#14877d;border-radius:8px;flex-shrink:0;padding:9px 20px;font-weight:600;text-decoration:none}.student-answer-card{background:#eef9f4;border:1px solid #c8e7db;border-radius:16px;margin-top:18px;padding:24px}.student-answer-card>.student-answer-heading .eyebrow{color:#14877d;font-weight:700}.student-answer-heading h3{margin-top:4px;margin-bottom:0}.student-answer-field{flex-direction:column;gap:8px;margin-top:20px;display:flex}.student-answer-field>span{font-weight:700}.student-answer-field input[type=file]{box-sizing:border-box;background:#fff;border:1px dashed #a8cfc5;border-radius:10px;width:100%;padding:14px}.student-answer-field input[type=text]{box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:9px;width:100%;padding:12px 14px}.student-answer-field textarea{box-sizing:border-box;resize:vertical;background:#fff;border:1px solid #cbd5e1;border-radius:9px;width:100%;padding:14px}.student-answer-field small{color:#64748b;line-height:1.5}.student-answer-types{border-top:1px solid #d7e8e2;margin-top:24px;padding-top:18px}.student-answer-types>span{color:#475569;margin-bottom:10px;font-size:12px;font-weight:700;display:block}.student-answer-types>div{flex-wrap:wrap;gap:8px;display:flex}.student-answer-types strong{background:#fff;border:1px solid #d7e8e2;border-radius:8px;padding:7px 12px;font-size:13px;display:inline-flex}.student-submit-button{color:#fff;cursor:pointer;background:#14877d;border:none;border-radius:9px;margin-top:22px;padding:11px 20px;font-weight:700}.student-submit-button:hover{opacity:.92}.student-submit-button:disabled{opacity:.6;cursor:not-allowed}.teacher-page-actions{justify-content:flex-end;margin-bottom:16px;display:flex}.create-toggle-button{color:#fff;cursor:pointer;background:#14877d;border:none;border-radius:9px;padding:10px 16px;font-weight:700}.create-toggle-button:hover{opacity:.92}.assignment-edit-button{color:#14877d;cursor:pointer;background:#fff;border:1px solid #14877d;border-radius:8px;justify-content:center;align-items:center;min-width:72px;height:34px;padding:0 16px;font-size:13px;font-weight:700;transition:all .18s;display:inline-flex}.assignment-edit-button:hover{color:#fff;background:#14877d}.assignment-edit-button:active{transform:translateY(1px)}.assignment-card-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-top:8px;margin-bottom:14px;display:flex}.assignment-card-header h3{margin:0 0 7px}.assignment-course-name{color:#64748b;font-size:13px}.assignment-edit-button{flex-shrink:0}.assessment-edit-button{color:#14877d;cursor:pointer;background:#fff;border:1px solid #14877d;border-radius:8px;min-width:70px;height:34px;padding:0 14px;font-size:13px;font-weight:700}.assessment-edit-button:hover{color:#fff;background:#14877d}.card-secondary-button{color:#14877d;cursor:pointer;background:#fff;border:1px solid #14877d;border-radius:8px;justify-content:center;align-items:center;min-width:82px;height:34px;padding:0 14px;font-size:13px;font-weight:700;transition:all .18s;display:inline-flex}.card-secondary-button:hover{color:#fff;background:#14877d}.activity-event-actions,.assessment-card-actions,.activity-event-actions,.assessment-card-actions,.assignment-card-actions{flex-direction:column;align-items:stretch;gap:8px;margin-left:auto;display:flex}.admin-course-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.admin-course-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;padding:20px;display:flex}.admin-course-card h3{margin:6px 0}.admin-selected-course-header{margin:18px 0}.admin-assignment-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;align-items:stretch;gap:24px;padding:20px 22px;transition:box-shadow .2s,transform .2s,border-color .2s;display:flex}.admin-assignment-card:hover{border-color:#b7d8d2;box-shadow:0 6px 18px #0000000d}.admin-assignment-main{flex:1;min-width:0}.admin-assignment-main h3{color:#172033;margin:8px 0 6px;font-size:17px;font-weight:700}.assignment-type-badge{color:#087b6d;letter-spacing:.04em;background:#edf9f6;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:700;display:inline-flex}.admin-assignment-description{color:#64748b;max-width:760px;margin:7px 0 0;font-size:13px;line-height:1.5}.admin-assignment-tags span{color:#526071;background:#f8fafc;border:1px solid #edf0f4;border-radius:7px;padding:5px 9px;font-size:11px;font-weight:600}.admin-assignment-actions{border-left:1px solid #edf0f4;flex-direction:column;justify-content:space-between;align-items:flex-end;gap:18px;width:145px;padding-left:20px;display:flex}.admin-assignment-due{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.admin-assignment-due span{letter-spacing:.08em;color:#94a3b8;font-size:9px;font-weight:700}.admin-assignment-due strong{color:#334155;font-size:12px}.admin-edit-button{color:#087b6d;cursor:pointer;background:#fff;border:1px solid #087b6d;border-radius:8px;min-width:82px;padding:8px 14px;font-weight:600}.admin-edit-button:hover{color:#fff;background:#087b6d}@media (width<=700px){.admin-assignment-card{flex-direction:column}.admin-assignment-actions{border-top:1px solid #edf0f4;border-left:none;flex-direction:row;align-items:center;width:100%;padding-top:14px;padding-left:0}.admin-assignment-due{align-items:flex-start}}.admin-grade-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:minmax(220px,1fr) 170px 150px;align-items:center;gap:24px;padding:18px 22px;transition:border-color .2s,box-shadow .2s;display:grid}.admin-grade-card:hover{border-color:#b7d8d2;box-shadow:0 5px 16px #0000000a}.admin-grade-student{min-width:0}.admin-grade-code{color:#94a3b8;letter-spacing:.04em;margin-bottom:5px;font-size:10px;font-weight:700;display:block}.admin-grade-comment{color:#64748b;margin:7px 0 0;font-size:12px}.admin-grade-score strong{color:#172033;font-size:22px;font-weight:750}.admin-grade-percent{color:#087b6d;text-align:center;background:#edf9f6;border-radius:7px;min-width:48px;padding:5px 8px;font-size:12px;font-weight:700}.admin-grade-actions{border-left:1px solid #edf0f4;justify-content:flex-end;align-items:center;gap:12px;padding-left:18px;display:flex}.admin-grade-status{color:#64748b;background:#f8fafc;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:700}.admin-grade-status.completed{color:#087b6d;background:#edf9f6}.admin-grade-status-text{color:#64748b;font-weight:600}@media (width<=750px){.admin-grade-card{grid-template-columns:1fr;gap:14px}.admin-grade-result{justify-content:flex-start}.admin-grade-actions{border-top:1px solid #edf0f4;border-left:none;justify-content:space-between;padding-top:12px;padding-left:0}}.admin-grade-heading{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-top:14px;margin-bottom:18px;padding:20px 22px}.admin-grade-heading h2{color:#172033;margin:4px 0 5px;font-size:22px}.admin-grade-heading p:last-child{color:#64748b;margin:0}.admin-grade-edit-panel{background:#f7fbfa;border:1px solid #d8ebe7;border-radius:12px;grid-column:1/-1;margin-top:4px;padding:18px 20px}.admin-grade-edit-heading{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.admin-grade-edit-close{color:#64748b;cursor:pointer;background:#fff;border:none;border-radius:50%;width:30px;height:30px;font-size:20px}.admin-grade-edit-panel label{color:#334155;margin-bottom:14px;font-size:12px;font-weight:600;display:block}.admin-grade-edit-panel select,.admin-grade-edit-panel input,.admin-grade-edit-panel textarea{box-sizing:border-box;background:#fff;border:1px solid #d8dee7;border-radius:8px;width:100%;margin-top:6px;padding:10px 12px}.admin-grade-score-input input{margin-top:0}.admin-grade-score-input span{white-space:nowrap;color:#64748b;font-weight:700}.admin-grade-edit-buttons{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.admin-grade-results{flex-direction:column;gap:12px;margin-top:18px;display:flex}.admin-grade-card{min-height:0;box-shadow:none;background:#fff;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:minmax(280px,1fr) 180px 190px;align-items:center;gap:24px;padding:18px 20px;display:grid}.admin-grade-student{flex-direction:column;justify-content:center;min-height:0;display:flex}.admin-grade-code{color:#94a3b8;letter-spacing:.04em;margin-bottom:5px;font-size:10px;font-weight:700}.admin-grade-student h3{color:#172033;margin:0;font-size:15px;font-weight:700}.admin-grade-result{justify-content:flex-end;align-items:center;gap:12px;display:flex}.admin-grade-score{align-items:baseline;gap:4px;display:flex}.admin-grade-score strong{color:#172033;font-size:22px}.admin-grade-score span{color:#94a3b8;font-size:12px}.admin-grade-percent{color:#087b6d;background:#edf9f6;border-radius:7px;padding:6px 9px;font-size:12px;font-weight:700}.admin-grade-actions{border-left:1px solid #edf0f4;flex-direction:row;justify-content:flex-end;align-items:center;gap:10px;min-height:0;padding-left:18px;display:flex}.admin-grade-status{white-space:nowrap}.admin-grade-edit-panel{background:#f5faf9;border:1px solid #d7ebe7;border-radius:12px;grid-column:1/-1;grid-template-columns:minmax(180px,.7fr) minmax(180px,.7fr) minmax(300px,1.5fr);gap:16px 20px;margin-top:4px;padding:18px 20px;display:grid}.admin-grade-edit-heading{grid-column:1/-1;justify-content:space-between;align-items:center;margin-bottom:0;display:flex}.admin-grade-edit-heading h4{color:#172033;margin:3px 0 0;font-size:15px}.admin-grade-edit-panel label{color:#475569;margin:0;font-size:11px;font-weight:700}.admin-grade-edit-panel select,.admin-grade-edit-panel input,.admin-grade-edit-panel textarea{box-sizing:border-box;background:#fff;border:1px solid #d7dee7;border-radius:8px;width:100%;margin-top:6px;padding:9px 10px;font-size:13px}.admin-grade-edit-panel textarea{resize:vertical;min-height:68px}.admin-grade-score-input{align-items:center;gap:8px;margin-top:6px;display:flex}.admin-grade-score-input input{margin:0}.admin-grade-score-input span{white-space:nowrap;color:#64748b;font-size:12px;font-weight:700}.admin-grade-edit-buttons{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:10px;margin-top:2px;display:flex}.admin-grade-edit-close{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:flex}.admin-grade-edit-close:hover{background:#f1f5f9}@media (width<=800px){.admin-grade-card{grid-template-columns:1fr;gap:12px}.admin-grade-result{justify-content:flex-start}.admin-grade-actions{border-top:1px solid #edf0f4;border-left:none;justify-content:space-between;padding-top:12px;padding-left:0}.admin-grade-edit-panel{grid-template-columns:1fr}.admin-grade-edit-heading,.admin-grade-edit-buttons{grid-column:1}}.admin-rubric-editor{background:#fff;border:1px solid #dce9e6;border-radius:10px;grid-column:1/-1;padding:16px}.admin-rubric-title{color:#087b6d;letter-spacing:.07em;margin-bottom:10px;font-size:10px;font-weight:800}.admin-rubric-row{border-bottom:1px solid #edf0f4;grid-template-columns:minmax(250px,1fr) 130px;align-items:center;gap:20px;padding:10px 0;display:grid}.admin-rubric-criterion{flex-direction:column;gap:3px;display:flex}.admin-rubric-criterion strong{color:#172033;font-size:13px}.admin-rubric-criterion span{color:#64748b;font-size:11px}.admin-rubric-score{align-items:center;gap:8px;display:flex}.admin-rubric-score input{text-align:center;width:75px;margin:0}.admin-rubric-score span{color:#64748b;font-size:12px;font-weight:700}.admin-rubric-total{justify-content:flex-end;align-items:center;gap:16px;padding-top:13px;display:flex}.admin-rubric-total span{color:#64748b;font-size:12px;font-weight:600}.admin-rubric-total strong{color:#087b6d;font-size:17px}@media (width<=700px){.admin-rubric-row{grid-template-columns:1fr;gap:8px}.admin-rubric-total{justify-content:space-between}}.page-content,.admin-grades-page,.admin-assignments-page,.dashboard{box-sizing:border-box;width:100%;max-width:1440px;margin:0 auto;padding:24px 28px}.admin-assignment-card,.admin-grade-card{box-sizing:border-box;width:100%}.admin-assignment-card{grid-template-columns:minmax(0,1fr) 170px;align-items:center;gap:24px;display:grid}.admin-assignment-actions{border-left:1px solid #edf0f4;width:170px;margin-left:0;padding-left:20px}@media (width<=900px){.page-content,.students-page,.admin-grades-page,.admin-assignments-page,.dashboard{max-width:none;padding:18px}.admin-assignment-card{grid-template-columns:1fr;gap:14px}.admin-assignment-actions{border-top:1px solid #edf0f4;border-left:none;flex-direction:row;justify-content:space-between;align-items:center;width:100%;padding-top:14px;padding-left:0;display:flex}}@media (width<=600px){.page-content,.students-page,.admin-grades-page,.admin-assignments-page{padding:14px}.page-heading h1,.page-heading h2{font-size:22px}.admin-assignment-card,.admin-grade-card,.admin-course-card{border-radius:12px;padding:16px}.admin-assignment-actions{flex-wrap:wrap;gap:8px}.card-secondary-button,.admin-edit-button{min-height:40px;padding:0 14px}}.sidebar{box-sizing:border-box;flex:0 0 220px;width:220px;min-width:220px}.student-dashboard-page{box-sizing:border-box;width:100%;max-width:1440px;margin:0 auto;padding:24px 28px}@media (width<=900px){.student-dashboard-page{max-width:none;padding:18px}}@media (width<=600px){.student-dashboard-page{padding:14px}}@media (width<=900px){.student-dashboard-shell{width:100%}.student-dashboard-shell>.main-content{width:calc(100% - 220px);padding:18px}}@media (width<=700px){.student-dashboard-shell{display:block}.student-dashboard-shell>.sidebar{box-sizing:border-box;flex:0 0 220px;width:220px;min-width:220px}.student-dashboard-shell>.main-content{width:100%;padding:14px}.student-dashboard-shell>.main-content>*{max-width:none}}.student-dashboard-shell{width:100%;max-width:1660px;min-height:100vh;margin-left:auto;margin-right:auto;display:flex}.student-dashboard-shell>.sidebar{box-sizing:border-box;flex:0 0 220px;width:220px;min-width:220px}.student-dashboard-shell>.main-content{box-sizing:border-box;flex:1;width:auto;min-width:0}.student-dashboard-shell .student-assignment-card h3,.student-dashboard-shell .student-grade-card h3{color:#172033;font-size:17px;font-weight:700;line-height:1.35}.student-dashboard-shell .student-assignment-card p,.student-dashboard-shell .student-grade-card p{color:#667085;font-size:14px;line-height:1.5}.student-dashboard-shell .student-assignment-card small,.student-dashboard-shell .student-grade-card small{color:#667085;font-size:12px;line-height:1.4}.student-dashboard-shell .student-assignment-card button,.student-dashboard-shell .student-grade-card button{font-size:13px;font-weight:600}.student-dashboard-shell .assignment-card,.student-dashboard-shell .grade-card,.student-dashboard-shell .student-assignment-card,.student-dashboard-shell .student-grade-card{background:#fff;border:1px solid #e3e7ed;border-radius:14px;padding:22px 24px}.student-dashboard-shell .assignment-card h3,.student-dashboard-shell .grade-card h3,.student-dashboard-shell .student-assignment-card h3,.student-dashboard-shell .student-grade-card h3{color:#172033;margin:6px 0;font-size:18px;font-weight:700;line-height:1.35}.student-dashboard-shell .assignment-card p,.student-dashboard-shell .grade-card p,.student-dashboard-shell .student-assignment-card p,.student-dashboard-shell .student-grade-card p{color:#667085;margin:4px 0;font-size:13px;line-height:1.5}.student-dashboard-shell .eyebrow,.student-dashboard-shell .assignment-type-badge{letter-spacing:.06em;color:#087b6d;font-size:10px;font-weight:700}.student-dashboard-shell small{color:#667085;font-size:12px;line-height:1.45}.student-dashboard-shell .assignment-item,.student-dashboard-shell .student-assignment-row{background:#fff;border:1px solid #e3e7ed;border-radius:12px;min-height:92px;margin-bottom:12px;padding:18px 20px}.student-dashboard-shell .assignment-item h3,.student-dashboard-shell .student-assignment-row h3{color:#172033;margin:5px 0;font-size:16px;font-weight:700}.student-dashboard-shell .assignment-item p,.student-dashboard-shell .student-assignment-row p{color:#667085;font-size:13px}.student-dashboard-shell .assignment-due,.student-dashboard-shell .student-assignment-due{color:#667085;font-size:12px}.student-dashboard-shell .assignment-due strong,.student-dashboard-shell .student-assignment-due strong{color:#172033;margin-top:3px;font-size:13px;display:block}.student-dashboard-shell .assignment-item button,.student-dashboard-shell .student-assignment-row button{border-radius:8px;min-width:120px;min-height:40px;padding:0 16px;font-size:13px;font-weight:600}.student-dashboard-shell .student-grade-card,.student-dashboard-shell .grade-result-card{padding:22px 24px}.student-dashboard-shell .student-grade-card h3,.student-dashboard-shell .grade-result-card h3{font-size:18px;font-weight:700}.student-dashboard-shell .student-grade-card .score,.student-dashboard-shell .grade-result-card .score{color:#087b6d;font-size:24px;font-weight:700}.student-dashboard-shell .rubric-detail,.student-dashboard-shell .student-rubric-detail{background:#effaf8;border:1px solid #cfece7;border-radius:12px;margin-top:16px;padding:18px}.student-dashboard-shell .rubric-detail h4,.student-dashboard-shell .student-rubric-detail h4{color:#172033;margin:0 0 12px;font-size:14px;font-weight:700}.student-dashboard-shell .rubric-row,.student-dashboard-shell .student-rubric-row{background:#fff;border-radius:8px;justify-content:space-between;align-items:center;min-height:42px;margin-bottom:7px;padding:9px 12px;display:flex}.student-dashboard-shell .rubric-row span,.student-dashboard-shell .student-rubric-row span{color:#475569;font-size:13px}.student-dashboard-shell .rubric-row strong,.student-dashboard-shell .student-rubric-row strong{color:#172033;font-size:13px}@media (width<=700px){.student-dashboard-shell .assignment-item,.student-dashboard-shell .student-assignment-row,.student-dashboard-shell .student-grade-card,.student-dashboard-shell .grade-result-card{padding:16px}.student-dashboard-shell .assignment-item h3,.student-dashboard-shell .student-assignment-row h3,.student-dashboard-shell .student-grade-card h3,.student-dashboard-shell .grade-result-card h3{font-size:16px}.student-dashboard-shell .rubric-row,.student-dashboard-shell .student-rubric-row{min-height:38px}}.student-assignment-detail-page h1,.student-assignment-detail-page h2{color:#172033;line-height:1.3}.student-assignment-detail-page h1{font-size:26px}.student-assignment-detail-page h2{font-size:20px}.student-assignment-detail-page h3{color:#172033;font-size:17px;font-weight:700;line-height:1.4}.student-assignment-detail-page p{color:#667085;font-size:14px;line-height:1.6}.student-assignment-detail-page label,.student-assignment-detail-page small{font-size:12px;line-height:1.5}.student-assignment-detail-page input,.student-assignment-detail-page textarea,.student-assignment-detail-page select{font-size:14px}.student-assignment-detail-page button{font-size:13px;font-weight:600}.student-grade-rubric-item{min-height:44px;padding:10px 12px}.student-grade-rubric-item span{color:#475569;font-size:13px;line-height:1.5}.student-grade-rubric-item strong{color:#172033;font-size:13px;font-weight:700;line-height:1.5}.student-assignment-detail-page{box-sizing:border-box;width:calc(100% - 48px);max-width:1440px;margin:24px auto 40px;padding:0}.student-dashboard-shell{grid-template-columns:220px minmax(0,1440px);align-items:stretch;width:min(100%,1660px);min-height:100vh;margin:0 auto;display:grid}.student-dashboard-shell>.sidebar{box-sizing:border-box;flex:none;width:220px;min-width:220px;max-width:220px;margin:0}.student-dashboard-shell>.main-content{box-sizing:border-box;width:100%;min-width:0;max-width:1440px;margin:0}html{scrollbar-gutter:stable}.student-assignment-detail-page{box-sizing:border-box;color:#172033;width:calc(100% - 56px);max-width:1440px;margin:0 auto;padding:28px 0 48px}.student-assignment-detail-page>.back-button{margin-bottom:20px;font-size:14px;font-weight:600}.student-assignment-header{background:#fff;border:1px solid #e3e7ed;border-radius:14px;justify-content:space-between;align-items:center;gap:32px;margin-bottom:20px;padding:24px 26px;display:flex}.student-assignment-header .eyebrow{letter-spacing:.07em;margin:0 0 7px;font-size:11px;font-weight:700;line-height:1.4}.student-assignment-header h2{color:#172033;margin:0 0 7px;font-size:26px;font-weight:700;line-height:1.3}.student-assignment-header>div:first-child>p:last-child{color:#667085;margin:0;font-size:14px;line-height:1.5}.student-assignment-deadline{border-left:1px solid #e3e7ed;min-width:150px;padding-left:24px}.student-assignment-deadline span{letter-spacing:.06em;color:#667085;margin-bottom:5px;font-size:11px;font-weight:700;display:block}.student-assignment-deadline strong{color:#172033;font-size:16px;font-weight:700}.student-assignment-detail-page .student-assignment-card,.student-assignment-detail-page .student-answer-card{box-sizing:border-box;background:#fff;border:1px solid #e3e7ed;border-radius:14px;margin-bottom:20px;padding:24px 26px}.student-assignment-detail-page .student-assignment-card>h3,.student-assignment-detail-page .student-answer-heading h3{color:#172033;margin:0;font-size:19px;font-weight:700;line-height:1.4}.student-assignment-description,.student-assignment-detail-page .assignment-detail-empty{color:#475467;margin:12px 0 0;font-size:15px;line-height:1.7}.student-answer-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.student-answer-heading .eyebrow{letter-spacing:.07em;margin:0 0 5px;font-size:11px;font-weight:700}.student-assignment-detail-page .student-answer-field{margin:0 0 22px;display:block}.student-assignment-detail-page .student-answer-field>span{color:#344054;margin-bottom:8px;font-size:14px;font-weight:700;line-height:1.5;display:block}.student-assignment-detail-page .student-answer-field>small{color:#667085;margin-top:7px;font-size:13px;line-height:1.5;display:block}.student-assignment-detail-page textarea,.student-assignment-detail-page input[type=text]{box-sizing:border-box;width:100%;padding:12px 14px;font-size:15px;line-height:1.6}.student-assignment-detail-page input[type=file]{font-size:14px}.student-assignment-detail-page textarea{min-height:150px}.student-assignment-attachment,.student-assignment-video,.student-assignment-external-link{margin-top:22px}.student-assignment-attachment>span,.student-assignment-video>span,.student-assignment-external-link>span{letter-spacing:.06em;color:#667085;margin-bottom:10px;font-size:11px;font-weight:700;display:block}.student-assignment-attachment-card,.student-assignment-external-link-card{padding:14px 16px}.student-assignment-attachment-card strong,.student-assignment-external-link-card strong{font-size:14px;line-height:1.5;display:block}.student-assignment-attachment-card small,.student-assignment-external-link-card small{color:#667085;margin-top:3px;font-size:12px;line-height:1.5;display:block}.student-submission-history{border-radius:12px;margin:22px 0;padding:20px}.student-submission-history-heading h3{margin:3px 0 0;font-size:17px;line-height:1.4}.student-submission-history-item{margin-top:18px}.student-submission-history-item>span{letter-spacing:.06em;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.student-submission-history-text{font-size:14px;line-height:1.7}.student-revision-notice,.student-submission-locked{border-radius:10px;margin:16px 0 20px;padding:16px 18px}.student-revision-notice strong,.student-submission-locked strong{font-size:14px}.student-revision-notice p,.student-submission-locked p{margin:5px 0 0;font-size:13px;line-height:1.6}.student-answer-types{margin:20px 0}.student-answer-types>span{letter-spacing:.06em;color:#667085;margin-bottom:9px;font-size:11px;font-weight:700;display:block}.student-answer-types strong{font-size:13px}.student-assignment-detail-page .student-submit-button{border-radius:8px;min-height:44px;padding:0 20px;font-size:14px;font-weight:700}.student-feedback-card{border-radius:12px;margin-top:24px;padding:20px}.student-feedback-heading h3{margin:3px 0 0;font-size:18px}.student-feedback-score strong{font-size:24px}.student-feedback-score span{font-size:14px}.student-feedback-comment>span,.student-feedback-percentage>span{letter-spacing:.06em;font-size:11px;font-weight:700}.student-feedback-comment p{font-size:14px;line-height:1.7}@media (width<=700px){.student-assignment-detail-page{width:100%;margin:0;padding:16px}.student-assignment-header{padding:18px;display:block}.student-assignment-header h2{font-size:22px}.student-assignment-deadline{border-top:1px solid #e3e7ed;border-left:none;margin-top:18px;padding-top:14px;padding-left:0}.student-assignment-detail-page .student-assignment-card,.student-assignment-detail-page .student-answer-card{padding:18px}.student-answer-heading{align-items:flex-start}}.student-mobile-menu-button,.student-mobile-overlay{display:none}@media (width<=768px){.student-dashboard-shell{width:100%;max-width:none;margin:0;display:block}.student-dashboard-shell>.main-content{box-sizing:border-box;width:100%;max-width:none;padding:70px 16px 24px}.student-mobile-menu-button{z-index:1200;cursor:pointer;background:#fff;border:1px solid #dfe5e8;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:22px;line-height:1;display:flex;position:fixed;top:14px;left:14px;box-shadow:0 4px 14px #0f172a14}.student-mobile-overlay{z-index:1000;background:#0f172a59;border:0;width:100%;height:100%;margin:0;padding:0;display:block;position:fixed;inset:0}.student-dashboard-shell>.sidebar{z-index:1100;box-sizing:border-box;width:260px;min-width:260px;max-width:260px;height:100vh;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:8px 0 24px #0f172a1f}.student-dashboard-shell>.sidebar.student-sidebar-mobile-open{transform:translate(0)}.student-dashboard-shell:has(.student-sidebar-mobile-open) .student-mobile-menu-button{left:202px}.student-dashboard-shell>.main-content{padding:72px 18px 32px}.student-mobile-menu-button{border-radius:10px;width:42px;height:42px;font-size:20px;top:16px;left:16px}.student-dashboard-shell .main-content .eyebrow{letter-spacing:.06em;font-size:11px;line-height:1.4}.student-dashboard-shell .main-content h1{letter-spacing:-.02em;font-size:26px;line-height:1.25}.student-dashboard-shell .main-content>p,.student-dashboard-shell .page-subtitle{font-size:14px;line-height:1.6}.student-dashboard-header{margin-bottom:20px}.student-dashboard-header h1,.student-dashboard-header h2{font-size:26px;line-height:1.25}.student-dashboard-header p{font-size:14px;line-height:1.6}.student-dashboard-shell .student-dashboard-card,.student-dashboard-shell .student-info-card{border-radius:14px;padding:18px}.student-dashboard-shell .student-dashboard-card h2,.student-dashboard-shell .student-dashboard-card h3,.student-dashboard-shell .student-info-card h2,.student-dashboard-shell .student-info-card h3{font-size:18px;line-height:1.35}.student-dashboard-shell .student-dashboard-card p,.student-dashboard-shell .student-info-card p{font-size:14px;line-height:1.6}}@media (width<=600px){.student-dashboard-shell .main-content{padding:24px 16px 40px}.student-dashboard-shell .page-heading{margin-bottom:20px}.student-dashboard-shell .page-heading .eyebrow{margin-bottom:6px;font-size:12px}.student-dashboard-shell .page-heading h2{margin:0 0 8px;font-size:24px;line-height:1.25}.student-dashboard-shell .page-heading>p:last-child{font-size:14px;line-height:1.55}.student-dashboard-shell .student-overview-avatar{width:72px;height:72px;margin:0}.student-dashboard-shell .student-overview-main{min-width:0}.student-dashboard-shell .student-overview-main>.eyebrow{margin:2px 0 5px;font-size:11px}.student-dashboard-shell .student-overview-main>h3{margin:0 0 14px;font-size:18px;line-height:1.3}.student-dashboard-shell .student-overview-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.student-dashboard-shell .student-overview-details strong{overflow-wrap:anywhere;font-size:13px;line-height:1.35;display:block}.student-dashboard-shell .student-overview-bio{margin-top:14px;padding-top:14px}.student-dashboard-shell .student-overview-profile{border-radius:18px;grid-template-columns:72px minmax(0,1fr);align-items:start;gap:16px;padding:20px 16px;display:grid}.student-dashboard-shell .student-overview-avatar{grid-area:1/1;width:72px;height:72px;margin:0}.student-dashboard-shell .student-overview-avatar img{object-fit:cover;width:72px;height:72px}.student-dashboard-shell .student-overview-main{display:contents}.student-dashboard-shell .student-overview-main>.eyebrow{grid-area:1/2;align-self:start;margin:3px 0 0;font-size:11px}.student-dashboard-shell .student-overview-main>h3{grid-area:1/2;align-self:start;margin:25px 0 0;font-size:18px;line-height:1.3}.student-dashboard-shell .student-overview-details{grid-area:2/1/auto/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;display:grid}.student-dashboard-shell .student-overview-details>div{border-radius:10px;min-width:0;padding:12px}.student-dashboard-shell .student-overview-details span{margin-bottom:5px;font-size:9px;line-height:1.3;display:block}.student-dashboard-shell .student-overview-details strong{overflow-wrap:normal;word-break:normal;font-size:13px;line-height:1.35;display:block}.student-dashboard-shell .student-overview-details>div:nth-child(5){grid-column:1/-1}.student-dashboard-shell .student-overview-bio{grid-area:3/1/auto/-1;width:100%;margin-top:0;padding-top:14px}.student-dashboard-shell .student-overview-bio span{font-size:10px}.student-dashboard-shell .student-overview-bio p{margin-top:6px;font-size:13px;line-height:1.6}}@media (width<=768px){.student-dashboard-shell>.main-content{padding-top:96px}.student-mobile-menu-button{z-index:1200;width:42px;height:42px;top:18px;left:18px}}@media (width<=600px){.student-assignments-page .assignment-course-name{font-size:11px;line-height:1.4}.student-assignments-page .assignment-due-label{font-size:10px;line-height:1.3}.student-assignments-page .assignment-due-date{font-size:12px;line-height:1.4}}.student-attendance-filter{justify-content:flex-end;margin-top:24px;margin-bottom:14px;display:flex}.student-attendance-filter label{color:#64748b;align-items:center;gap:10px;font-size:12px;font-weight:700;display:flex}.student-attendance-filter select{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:9px;outline:none;min-width:220px;padding:9px 12px;font-family:inherit;font-size:12px}.student-attendance-filter select:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e14}@media (width<=700px){.student-attendance-filter{justify-content:stretch}.student-attendance-filter label{flex-direction:column;align-items:stretch;width:100%}.student-attendance-filter select{width:100%}}.student-grade-filter{justify-content:flex-end;margin-top:24px;margin-bottom:14px;display:flex}@media (width<=700px){.student-grade-filter{justify-content:stretch}.student-grade-filter label{flex-direction:column;align-items:stretch;width:100%}.student-grade-filter select{width:100%}}.student-grades-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-top:22px;padding:22px}.student-grades-section>.student-list-header{margin-bottom:14px}.student-grades-section>.student-list-header h3{margin:3px 0 4px}.student-grades-section>.student-list-header p{margin:0}.student-grade-filter{justify-content:flex-end;margin:-48px 0 16px;display:flex}.student-grade-filter label{color:#64748b;align-items:center;gap:10px;font-size:11px;font-weight:700;display:flex}.student-grade-filter select{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-width:200px;padding:8px 11px;font-family:inherit;font-size:11px}.student-grade-summary-card{background:#f8fafc;border-radius:10px;align-items:baseline;gap:8px;margin-bottom:18px;padding:12px 14px;display:inline-flex}.student-grade-summary-card span{color:#64748b;font-size:9px;font-weight:800}.student-grade-summary-card strong{color:#0f766e;font-size:22px}.student-grade-summary-card p{color:#64748b;margin:0 0 0 6px;font-size:9px}.student-grade-history{margin-top:4px}.student-grade-history .student-list-header h3{margin-bottom:3px}.student-grade-history .student-table th,.student-grade-history .student-table td{padding-top:10px;padding-bottom:10px}@media (width<=700px){.student-grade-filter{justify-content:stretch;margin:0 0 14px}.student-grade-filter label{flex-direction:column;align-items:stretch;width:100%}.student-grade-filter select{width:100%}.student-grade-summary-card{flex-wrap:wrap;display:flex}}.student-detail-page{color:#0f172a;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.student-detail-page .eyebrow,.student-detail-page .card-label{letter-spacing:.06em;font-size:11px;font-weight:700;line-height:1.4}.student-detail-page h3{font-size:18px;font-weight:700;line-height:1.3}.student-detail-page h4{font-size:15px;font-weight:700;line-height:1.35}.student-detail-page p,.student-detail-page td,.student-detail-page input,.student-detail-page select{font-size:13px;line-height:1.5}.student-detail-page label,.student-detail-page th,.student-detail-page small,.student-detail-page .detail-list span{font-size:11px;line-height:1.4}.student-detail-page button{border-radius:8px;min-height:34px;padding:0 14px;font-family:inherit;font-size:12px;font-weight:600;line-height:1}.student-grade-filter label,.student-attendance-filter label{font-size:11px;font-weight:600}.student-grade-filter select,.student-attendance-filter select{min-height:34px;padding:0 12px;font-family:inherit;font-size:12px;font-weight:500}.student-detail-page .student-table th{letter-spacing:.04em;font-size:10px;font-weight:700}.student-detail-page .student-table td{font-size:12px}.student-detail-page .student-table td strong{font-size:12px;font-weight:600}.student-attendance-summary-card strong,.student-grade-summary-card strong{font-size:22px;font-weight:700;line-height:1}.portfolio-view-all-button,.portfolio-count{font-size:11px}.portfolio-type-badge{letter-spacing:.04em;font-size:9px;font-weight:700}.student-detail-page h3{margin-top:0;margin-bottom:4px}.student-detail-page h3+p{margin-top:0;margin-bottom:12px}.student-detail-page .eyebrow{margin-top:0;margin-bottom:4px}.student-grade-history .student-list-header{margin-bottom:10px}.student-grade-history .student-list-header h3{margin:0 0 4px}.student-grade-history .student-list-header p{margin:0}.student-attendance-history .eyebrow,.student-attendance-history h3{margin:0 0 4px}.student-attendance-history h3+p{margin:0 0 12px}.parent-dashboard{max-width:1180px;margin:0 auto;padding:28px 24px 48px}.parent-dashboard .page-heading p{color:#64748b;margin:0}.parent-child-selector{justify-content:flex-end;margin-bottom:16px;display:flex}.parent-child-selector label{color:#64748b;align-items:center;gap:10px;font-size:12px;font-weight:600;display:flex}.parent-child-selector select{background:#fff;border:1px solid #cbd5e1;border-radius:9px;min-width:220px;min-height:36px;padding:0 12px;font-family:inherit;font-size:12px}.parent-student-profile{background:#fff;border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:18px;margin-bottom:16px;padding:22px;display:flex}.parent-student-profile .student-avatar{flex-shrink:0;width:72px;height:72px}.parent-student-profile-main h2{margin:3px 0 5px;font-size:22px;line-height:1.2}.parent-student-profile-main p{color:#64748b;margin:0;font-size:12px}.parent-summary-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.parent-summary-grid>div{background:#fff;border:1px solid #e2e8f0;border-radius:14px;min-height:105px;padding:18px}.parent-summary-grid span{letter-spacing:.05em;color:#64748b;margin-bottom:12px;font-size:10px;font-weight:700;line-height:1.3;display:block}.parent-summary-grid strong{color:#0f766e;margin-bottom:7px;font-size:24px;line-height:1;display:block}.parent-summary-grid p{color:#64748b;margin:0;font-size:11px}.parent-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-top:16px;padding:22px}.parent-section-heading{margin-bottom:14px}.parent-section-heading .eyebrow{margin:0 0 4px}.parent-section-heading h3{margin:0;font-size:17px;line-height:1.3}.parent-course-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.parent-course-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.parent-course-card span{letter-spacing:.05em;color:#64748b;margin-bottom:7px;font-size:9px;font-weight:700;display:block}.parent-course-card strong{color:#0f172a;margin-bottom:5px;font-size:14px;display:block}.parent-course-card p{color:#64748b;margin:0;font-size:11px}.parent-mini-summary{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.parent-mini-summary span{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:8px 12px;font-size:11px}.parent-mini-summary strong{color:#0f766e;margin-left:4px}.parent-dashboard .student-table-wrap{overflow-x:auto}.parent-dashboard .student-table{border-collapse:collapse;width:100%}.parent-dashboard .student-table th{text-align:left;letter-spacing:.04em;color:#64748b;border-bottom:1px solid #dbe3ec;padding:9px 10px;font-size:9px;font-weight:700}.parent-dashboard .student-table td{color:#0f172a;border-bottom:1px solid #e2e8f0;padding:10px;font-size:11px}.parent-dashboard .student-table tbody tr:last-child td{border-bottom:none}.parent-attention-list{gap:10px;display:grid}.parent-attention-card{background:#fffaf5;border:1px solid #fed7aa;border-radius:11px;grid-template-columns:1fr auto;gap:18px;padding:14px 16px;display:grid}.parent-attention-card span{color:#64748b;margin-bottom:4px;font-size:9px;display:block}.parent-attention-card strong{font-size:12px}.parent-attention-card p{color:#64748b;max-width:360px;margin:5px 0 0;font-size:11px}.parent-note-list{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.parent-note-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:11px;padding:15px}.parent-note-card span{color:#64748b;margin-bottom:5px;font-size:9px;display:block}.parent-note-card strong{margin-bottom:6px;font-size:12px;display:block}.parent-note-card p{color:#475569;margin:0;font-size:11px;line-height:1.5}.parent-dashboard .portfolio-list{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.parent-dashboard{color:#0f172a;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.parent-dashboard .eyebrow{letter-spacing:.06em;color:#0f766e;font-size:10px;font-weight:700;line-height:1.4}@media (width<=800px){.parent-dashboard{padding:20px 14px 40px}.parent-summary-grid{grid-template-columns:repeat(2,1fr)}.parent-course-grid,.parent-note-list,.parent-dashboard .portfolio-list{grid-template-columns:1fr}.parent-student-profile{align-items:flex-start}.parent-attention-card{grid-template-columns:1fr}}@media (width<=520px){.parent-summary-grid{grid-template-columns:1fr}.parent-child-selector{justify-content:stretch}.parent-child-selector label{flex-direction:column;align-items:stretch;width:100%}.parent-child-selector select{width:100%}}.parent-section-heading-row{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.parent-view-all-button{color:#0f766e;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-height:34px;padding:0 14px;font-family:inherit;font-size:12px;font-weight:600}.parent-view-all-button:hover{background:#f8fafc}@media (width<=700px){.parent-section-heading-row{flex-direction:column;align-items:flex-start}}.parent-attendance-status{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:72px;padding:5px 10px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.parent-attendance-status.status-present{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.parent-attendance-status.status-late{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.parent-attendance-status.status-excused{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.parent-attendance-status.status-absent{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.parent-all-assignment-list{gap:10px;display:grid}.parent-all-assignment-card{background:#fff;border:1px solid #e2e8f0;border-radius:11px;grid-template-columns:1fr auto;gap:18px;padding:14px 16px;display:grid}.parent-all-assignment-card span{color:#64748b;margin-bottom:4px;font-size:10px;display:block}.parent-all-assignment-card strong{font-size:12px}.parent-assignment-status{text-align:right}.parent-assignment-status p{color:#64748b;margin:5px 0 0;font-size:11px}.parent-all-assignment-card.assignment-late{background:#fff7ed;border-color:#fed7aa}.parent-all-assignment-card.assignment-submitted{background:#eff6ff;border-color:#bfdbfe}@media (width<=700px){.parent-all-assignment-card{grid-template-columns:1fr}.parent-assignment-status{text-align:left}}.parent-all-assignment-card.assignment-missing{background:#fef2f2;border-color:#fecaca}.parent-all-assignment-card.assignment-not-yet{background:#fff;border-color:#e2e8f0}.parent-attention-card.attention-missing{background:#fef2f2;border-color:#fecaca}.parent-attention-card.attention-late{background:#fff7ed;border-color:#fed7aa}.parent-comment-grid{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px;display:grid}.parent-comment-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.parent-comment-card span{color:#64748b;margin-bottom:6px;font-size:10px;font-weight:600;display:block}.parent-comment-card strong{color:#0f172a;margin-bottom:8px;font-size:14px;line-height:1.4;display:block}.parent-comment-card p{color:#475569;margin:0;font-size:12px;line-height:1.55}.parent-dashboard .page-heading{margin-bottom:18px}.parent-dashboard .page-heading h2{margin:4px 0 5px;font-size:24px;line-height:1.25}.parent-dashboard .page-heading>p:last-child{color:#64748b;margin:0;font-size:12px}.parent-dashboard .student-detail-toolbar{margin-bottom:18px}.parent-dashboard .back-button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;min-height:36px;padding:0 14px;font-family:inherit;font-size:12px;font-weight:600}.parent-dashboard .back-button:hover{background:#f8fafc}@media (width<=700px){.parent-comment-grid{grid-template-columns:1fr}}.parent-dashboard .portfolio-list{margin-top:18px}.parent-dashboard .portfolio-card{padding:18px}.assessment-card-actions{flex-direction:row;align-items:center;gap:8px;display:flex}.assessment-card-actions button{cursor:pointer;border-radius:8px;width:auto;min-width:64px;height:32px;padding:0 14px;font-size:12px;font-weight:700}.assessment-card-actions .card-secondary-button{color:#087c75;background:#fff;border:1px solid #0f8f87}.assessment-card-actions .card-secondary-button:hover{background:#ecfdf9;transform:translateY(-1px)}.assessment-card-actions .card-delete-button{color:#b42323;background:#fff;border:1px solid #dc6b6b}.assessment-card-actions .card-delete-button:hover{color:#991b1b;background:#fff1f1;border-color:#c83f3f;transform:translateY(-1px)}.assessment-card-actions .card-delete-button:active,.assessment-card-actions .card-secondary-button:active{transform:translateY(0)}.assignment-card-actions,.assignment-action-buttons{flex-direction:row;align-items:center;gap:8px;display:flex}.assignment-action-buttons button{cursor:pointer;border-radius:8px;width:auto;min-width:64px;height:32px;padding:0 14px;font-size:12px;font-weight:700;transition:background .2s,border-color .2s,color .2s,transform .15s}.assignment-action-buttons .card-secondary-button{color:#087c75;background:#fff;border:1px solid #0f8f87}.assignment-action-buttons .card-secondary-button:hover{background:#ecfdf9;transform:translateY(-1px)}.assignment-action-buttons .card-delete-button{color:#b42323;background:#fff;border:1px solid #dc6b6b}.assignment-action-buttons .card-delete-button:hover{color:#991b1b;background:#fff1f1;border-color:#c83f3f;transform:translateY(-1px)}.assignment-action-buttons .card-delete-button:active,.assignment-action-buttons .card-secondary-button:active{transform:translateY(0)}.admin-assignment-items{flex-direction:column;gap:12px;margin-top:20px;display:flex}.admin-assignment-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:20px 22px;transition:border-color .2s,box-shadow .2s,transform .2s;display:grid}.admin-assignment-card:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 8px 24px #0f172a0f}.admin-assignment-main{min-width:0}.admin-assignment-main h3{color:#0f172a;margin:9px 0 5px;font-size:16px;line-height:1.35}.admin-assignment-description{color:#64748b;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:700px;margin:6px 0 12px;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}.admin-assignment-main .assignment-type-badge{color:#087c75;letter-spacing:.03em;background:#ecfdf9;border-radius:999px;align-items:center;padding:4px 9px;font-size:10px;font-weight:800;display:inline-flex}.admin-assignment-tags{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.admin-assignment-tags span{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;align-items:center;min-height:25px;padding:0 9px;font-size:11px;font-weight:650;display:inline-flex}.admin-assignment-actions{grid-template-columns:auto auto auto;align-items:center;gap:8px;display:grid}.admin-assignment-due{border-right:1px solid #e2e8f0;min-width:105px;margin-right:8px;padding-right:18px}.admin-assignment-due span{letter-spacing:.08em;color:#94a3b8;margin-bottom:4px;font-size:9px;font-weight:800;display:block}.admin-assignment-due strong{white-space:nowrap;color:#334155;font-size:12px;display:block}.admin-assignment-actions button{cursor:pointer;border-radius:8px;min-width:78px;height:34px;padding:0 13px;font-size:11px;font-weight:750;transition:background .2s,border-color .2s,color .2s,transform .15s}.admin-assignment-actions .card-secondary-button{color:#087c75;background:#fff;border:1px solid #0f8f87}.admin-assignment-actions .card-secondary-button:hover{background:#ecfdf9;transform:translateY(-1px)}.admin-assignment-actions .card-delete-button{color:#b42323;background:#fff;border:1px solid #dc6b6b}.admin-assignment-actions .card-delete-button:hover{color:#991b1b;background:#fff1f1;border-color:#c83f3f}.admin-selected-course-header{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-top:18px;margin-bottom:20px;padding:22px 24px}.admin-selected-course-header h2{color:#0f172a;margin:5px 0 7px;font-size:22px}.admin-selected-course-header p:last-child{color:#64748b;margin-bottom:0;font-size:13px}.admin-grades-page{width:100%}.admin-grade-heading,.admin-grades-page>.page-heading{background:#fff;border:1px solid #dbe3ea;border-radius:12px;margin-bottom:14px;padding:18px 22px}.admin-grades-page .page-heading h1,.admin-grades-page .page-heading h2{color:#0f172a;margin:3px 0 2px}.admin-grades-page .page-heading p{margin-bottom:0}.admin-grades-page .back-button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:7px;min-height:32px;margin-bottom:14px;padding:0 12px;font-size:12px;font-weight:700}.admin-grades-page .back-button:hover{background:#f8fafc;border-color:#94a3b8}.admin-grades-page .admin-selected-course-header{background:#fff;border:1px solid #dbe3ea;border-radius:12px;margin-bottom:14px;padding:18px 20px}.admin-grades-page .admin-selected-course-header .eyebrow{margin:0 0 4px}.admin-grades-page .admin-selected-course-header h2{color:#0f172a;margin:0 0 6px;font-size:18px;line-height:1.3}.admin-grades-page .admin-selected-course-header p:last-child{color:#64748b;margin:0;font-size:12px}.admin-grades-page .admin-assignment-items{flex-direction:column;gap:10px;display:flex}.admin-grades-page .admin-assignment-card{background:#fff;border:1px solid #dbe3ea;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;min-height:98px;padding:18px 20px;transition:border-color .2s,box-shadow .2s,transform .15s;display:grid}.admin-grades-page .admin-assignment-card:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 5px 16px #0f172a0a}.admin-grades-page .admin-assignment-main{min-width:0}.admin-grades-page .admin-assignment-main h3{color:#0f172a;margin:7px 0 8px;font-size:14px;font-weight:750;line-height:1.35}.admin-grades-page .admin-assignment-main p{color:#334155;margin:0;font-size:12px}.admin-grades-page .assignment-type-badge{color:#087c75;background:#ecfdf9;border-radius:999px;align-items:center;width:fit-content;padding:3px 8px;font-size:9px;font-weight:800;line-height:1.2;display:inline-flex}.admin-grades-page .admin-assignment-actions{border-left:1px solid #e2e8f0;flex-shrink:0;align-items:center;gap:8px;padding-left:18px;display:flex}.admin-grades-page .admin-assignment-actions button{white-space:nowrap;cursor:pointer;background:#fff;border-radius:7px;min-width:72px;height:30px;padding:0 11px;font-size:10px;font-weight:750;transition:background .2s,border-color .2s,color .2s,transform .15s}.admin-grades-page .admin-assignment-actions .card-secondary-button{color:#087c75;border:1px solid #0f8f87}.admin-grades-page .admin-assignment-actions .card-secondary-button:hover:not(:disabled){background:#ecfdf9;transform:translateY(-1px)}.admin-grades-page .admin-assignment-actions .card-secondary-button:disabled{opacity:.72;cursor:default}.admin-grades-page .admin-assignment-actions .card-delete-button{color:#d12d2d;background:#fff;border:1px solid #ef6a6a}.admin-grades-page .admin-assignment-actions .card-delete-button:hover{color:#b91c1c;background:#fff5f5;border-color:#dc4c4c;transform:translateY(-1px)}.admin-grades-page .admin-assignment-actions button:active:not(:disabled){transform:translateY(0)}.admin-grades-page .admin-course-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;display:grid}.admin-grades-page .admin-course-card{background:#fff;border:1px solid #dbe3ea;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;padding:20px;transition:border-color .2s,box-shadow .2s;display:flex}.admin-grades-page .admin-course-card:hover{border-color:#cbd5e1;box-shadow:0 5px 16px #0f172a0a}.admin-grades-page .admin-course-card h3{color:#0f172a;margin:5px 0 8px;font-size:16px}.admin-grades-page .admin-course-card p{color:#64748b;margin:4px 0;font-size:12px}@media (width<=900px){.admin-grades-page .admin-assignment-card{grid-template-columns:1fr}.admin-grades-page .admin-assignment-actions{border-top:1px solid #e2e8f0;border-left:0;justify-content:flex-end;padding-top:12px;padding-left:0}}@media (width<=600px){.admin-grades-page .admin-assignment-actions{flex-wrap:wrap;justify-content:flex-start}.admin-grades-page .admin-assignment-actions button{flex:1;min-width:90px}}.admin-grade-course-view{width:100%}.admin-grade-course-top{justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:28px;display:flex}.admin-grade-course-top h1{color:#0f172a;margin:8px 0;font-size:28px;line-height:1.2}.admin-grade-course-top>div>p:last-child{color:#64748b;margin:0;font-size:13px;line-height:1.5}.admin-grade-breadcrumb{letter-spacing:.04em;color:#64748b;margin:0;font-size:11px;font-weight:800}.admin-grade-breadcrumb span{color:#94a3b8;margin:0 7px}.admin-grade-return-button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #dbe3ea;border-radius:9px;flex-shrink:0;height:40px;padding:0 17px;font-size:12px;font-weight:700;box-shadow:0 3px 8px #0f172a0d}.admin-grade-summary{background:#fff;border:1px solid #dbe3ea;border-radius:13px;grid-template-columns:repeat(4,1fr);margin-bottom:32px;padding:22px 24px;display:grid}.admin-grade-summary-item{border-right:1px solid #e5e7eb;align-items:center;gap:15px;padding:0 22px;display:flex}.admin-grade-summary-item:first-child{padding-left:0}.admin-grade-summary-item:last-child{border-right:0}.admin-grade-summary-icon{color:#07867e;background:#e7f8f6;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:21px;font-weight:800;display:flex}.admin-grade-summary-icon.purple{color:#7453d7;background:#f1edff}.admin-grade-summary-icon.green{color:#39a548;background:#edf9eb}.admin-grade-summary-icon.yellow{color:#efa800;background:#fff7df}.admin-grade-summary-item span{color:#64748b;margin-bottom:1px;font-size:12px;font-weight:650;display:block}.admin-grade-summary-item strong{color:#0f172a;font-size:22px;line-height:1.2;display:block}.admin-grade-summary-item small{color:#94a3b8;margin-top:2px;font-size:10px;display:block}.admin-grade-table-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px;display:flex}.admin-grade-table-toolbar h2{letter-spacing:.04em;color:#087c75;margin:0;font-size:13px}.admin-grade-table-tools{gap:10px;display:flex}.admin-grade-table-tools input,.admin-grade-table-tools select{color:#334155;background:#fff;border:1px solid #dbe3ea;border-radius:8px;outline:none;height:38px;padding:0 13px;font-size:12px}.admin-grade-table-tools input{width:190px}.admin-grade-table-tools select{min-width:130px}.admin-grade-table-tools input:focus,.admin-grade-table-tools select:focus{border-color:#0f8f87}.admin-grade-table-card{background:#fff;border:1px solid #dbe3ea;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0f172a08}.admin-grade-table-row{color:#334155;border-bottom:1px solid #e5e7eb;grid-template-columns:minmax(160px,1.55fr) minmax(120px,1.1fr) 90px 110px 120px 280px;align-items:center;min-height:66px;padding:0 20px;font-size:12px;display:grid}.admin-grade-table-row:last-child{border-bottom:0}.admin-grade-table-header{color:#087c75;background:#fbfcfd;min-height:52px;font-size:11px;font-weight:800}.admin-grade-table-name strong{color:#0f172a;font-size:12px}.admin-grade-type-badge{color:#087c75;background:#ecfdf9;border-radius:6px;width:fit-content;padding:4px 9px;font-size:10px;font-weight:700;display:inline-flex}.admin-grade-table-score{white-space:nowrap}.admin-grade-result-count strong{color:#0f172a;font-size:13px;display:block}.admin-grade-result-count span{color:#64748b;margin-top:2px;font-size:9px;display:block}.admin-grade-table-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.admin-grade-table-actions button{white-space:nowrap;cursor:pointer;background:#fff;border-radius:6px;height:31px;padding:0 12px;font-size:10px;font-weight:750}.admin-grade-view-button,.admin-grade-edit-button{color:#087c75;border:1px solid #0f8f87}.admin-grade-view-button:hover,.admin-grade-edit-button:hover:not(:disabled){background:#ecfdf9}.admin-grade-edit-button:disabled{opacity:.65;cursor:default}.admin-grade-delete-button{color:#d32f2f;border:1px solid #ef6a6a}.admin-grade-delete-button:hover{background:#fff5f5}.admin-grade-table-empty{text-align:center;color:#64748b;padding:30px;font-size:12px}.admin-grade-help{background:#effbf9;border:1px solid #ccebe6;border-radius:11px;gap:16px;margin-top:22px;padding:20px;display:flex}.admin-grade-help-icon{color:#087c75;border:2px solid #087c75;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;font-weight:800;display:flex}.admin-grade-help strong{color:#0f172a;font-size:12px}.admin-grade-help p{color:#475569;max-width:800px;margin:7px 0 0;font-size:11px;line-height:1.6}@media (width<=1100px){.admin-grade-summary{grid-template-columns:repeat(2,1fr);gap:20px}.admin-grade-summary-item{border-right:0;padding:0}.admin-grade-table-card{overflow-x:auto}.admin-grade-table-row{min-width:950px}}@media (width<=700px){.admin-grade-course-top{flex-direction:column}.admin-grade-summary{grid-template-columns:1fr}.admin-grade-table-toolbar{flex-direction:column;align-items:stretch}.admin-grade-table-tools{width:100%}.admin-grade-table-tools input,.admin-grade-table-tools select{flex:1;width:auto}}.payment-table-row{color:#334155;border-bottom:1px solid #e5e7eb;grid-template-columns:minmax(150px,1.3fr) minmax(170px,1.5fr) 115px 115px 105px 120px 240px;align-items:center;gap:12px;min-height:68px;padding:0 20px;font-size:12px;display:grid}.payment-table-row:last-child{border-bottom:none}.payment-table-header{color:#64748b;letter-spacing:.04em;text-transform:uppercase;background:#f8fafc;min-height:48px;font-size:10px;font-weight:800}.payment-student-cell{flex-direction:column;gap:4px;display:flex}.payment-student-cell strong{color:#0f172a}.payment-student-cell span{color:#94a3b8;font-size:10px}.payment-title-cell strong{color:#0f172a}.payment-money-cell strong{color:#0f172a;white-space:nowrap}.payment-status-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:26px;padding:0 10px;font-size:10px;font-weight:800;display:inline-flex}.payment-status-badge.paid{color:#047857;background:#ecfdf5}.payment-status-badge.partial{color:#b45309;background:#fffbeb}.payment-status-badge.unpaid{color:#b42323;background:#fef2f2}.payment-table-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.payment-table-actions button{white-space:nowrap;cursor:pointer;background:#fff;border-radius:6px;height:31px;padding:0 12px;font-size:10px;font-weight:750}@media (width<=1100px){.payment-table-row{grid-template-columns:minmax(140px,1.3fr) minmax(150px,1.4fr) 100px 100px 100px 110px 160px}}@media (width<=800px){.payment-table-card{overflow-x:auto}.payment-table-row{min-width:950px}}.payment-detail-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;margin-bottom:24px;padding:24px}.payment-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.payment-detail-grid>div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:7px;min-height:82px;padding:16px;display:flex}.payment-detail-grid span{color:#64748b;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:800}.payment-detail-grid strong{color:#0f172a;font-size:14px}.payment-history-section{margin-top:28px}.payment-history-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.payment-history-heading h3{color:#0f172a;margin:4px 0 0;font-size:18px}.payment-history-heading>span{color:#475569;background:#f1f5f9;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700}.payment-history-empty{text-align:center;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:28px}.payment-history-empty strong{color:#334155;margin-bottom:6px;display:block}.payment-history-empty p{margin:0;font-size:12px}.payment-history-list{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.payment-history-row{border-bottom:1px solid #e5e7eb;grid-template-columns:1.3fr 1fr 1fr 1.5fr;gap:16px;padding:16px;display:grid}.payment-history-row:last-child{border-bottom:none}.payment-history-row>div{flex-direction:column;gap:5px;display:flex}.payment-history-row span{color:#94a3b8;text-transform:uppercase;font-size:9px;font-weight:800}.payment-history-row strong{color:#334155;word-break:break-word;font-size:12px}@media (width<=800px){.payment-detail-grid{grid-template-columns:1fr}.payment-history-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.primary-button{color:#fff;cursor:pointer;background:#0f766e;border:1px solid #0f766e;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 16px;font-size:12px;font-weight:700;transition:background .2s,border-color .2s,transform .15s;display:inline-flex}.primary-button:hover{background:#115e59;border-color:#115e59}.primary-button:active{transform:translateY(1px)}.primary-button:disabled{opacity:.55;cursor:not-allowed}.admin-payments-page .primary-button{margin-top:8px}.parent-payment-section{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:24px;box-shadow:0 8px 24px #0f172a0a}.parent-payment-section-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.parent-payment-heading{align-items:center;gap:14px;display:flex}.parent-payment-heading-icon{color:#0f766e;background:#ecfdf5;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:17px;font-weight:900;display:flex}.parent-payment-heading h3{color:#0f172a;margin:3px 0;font-size:18px}.parent-payment-heading p:last-child{color:#64748b;margin:0;font-size:11px}.parent-payment-history-button{color:#0f766e;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-height:34px;padding:0 14px;font-size:10px;font-weight:800}.parent-payment-history-button:disabled{opacity:.65;cursor:default}.parent-payment-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.parent-payment-overview-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:12px;min-height:82px;padding:15px;display:flex}.parent-payment-overview-card>div:last-child{flex-direction:column;gap:5px;display:flex}.parent-payment-overview-card span{color:#64748b;letter-spacing:.04em;font-size:9px;font-weight:800}.parent-payment-overview-card strong{color:#0f172a;font-size:17px}.parent-payment-overview-card.balance strong{color:#dc2626}.parent-payment-overview-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;font-weight:900;display:flex}.parent-payment-overview-icon.document{color:#0f766e;background:#ecfdf5}.parent-payment-overview-icon.amount{color:#059669;background:#ecfdf5}.parent-payment-overview-icon.paid{color:#2563eb;background:#eff6ff}.parent-payment-overview-icon.balance{color:#ea580c;background:#fff7ed}.parent-payment-invoice-list{flex-direction:column;gap:16px;display:flex}.parent-payment-invoice{background:#fff;border:1px solid #d1fae5;border-radius:15px;grid-template-columns:minmax(0,1fr) 180px 150px;display:grid;overflow:hidden;box-shadow:0 4px 14px #0f766e0d}.parent-payment-invoice-main{padding:20px}.parent-payment-invoice-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.parent-payment-invoice-label{color:#0f766e;letter-spacing:.07em;font-size:9px;font-weight:900}.parent-payment-invoice-top h4{color:#0f172a;margin:5px 0;font-size:17px}.parent-payment-invoice-top p{color:#64748b;margin:0;font-size:11px}.parent-payment-invoice-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px;display:grid}.parent-payment-invoice-values>div{background:#f8fafc;border-radius:9px;flex-direction:column;gap:6px;min-height:64px;padding:12px;display:flex}.parent-payment-invoice-values span{color:#94a3b8;font-size:9px;font-weight:800}.parent-payment-invoice-values strong{color:#0f172a;font-size:13px}.payment-balance-due{color:#dc2626!important}.parent-payment-status{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:25px;padding:0 9px;font-size:9px;font-weight:800;display:inline-flex}.parent-payment-status.paid{color:#047857;background:#ecfdf5}.parent-payment-status.partial{color:#b45309;background:#fffbeb}.parent-payment-status.unpaid{color:#b42323;background:#fef2f2}.parent-payment-progress-area{background:#fcfcfd;border-left:1px solid #f1f5f9;justify-content:center;align-items:center;min-height:100%;padding:20px;display:flex}.parent-payment-donut{background:conic-gradient(#0f766e 0deg, #0f766e var(--payment-progress), #fee2e2 var(--payment-progress), #fee2e2 360deg);border-radius:50%;justify-content:center;align-items:center;width:108px;height:108px;padding:10px;display:flex}.parent-payment-donut-inner{background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:88px;height:88px;display:flex}.parent-payment-donut-inner strong{color:#0f172a;font-size:20px}.parent-payment-donut-inner span{color:#94a3b8;margin-top:3px;font-size:8px}.parent-payment-action-panel{background:#f0fdfa;border-left:1px solid #ccfbf1;flex-direction:column;justify-content:center;gap:9px;padding:20px 16px;display:flex}.parent-pay-now-button{color:#fff;cursor:pointer;background:#0f766e;border:1px solid #0f766e;border-radius:8px;width:100%;min-height:40px;font-size:11px;font-weight:800;box-shadow:0 4px 10px #0f766e26}.parent-pay-now-button:hover:not(:disabled){background:#115e59}.parent-pay-now-button:disabled{opacity:.75;cursor:not-allowed}.parent-payment-detail-button{color:#0f766e;background:#fff;border:1px solid #0f766e;border-radius:8px;width:100%;min-height:38px;font-size:10px;font-weight:800}.parent-payment-detail-button:disabled{opacity:.65}.parent-payment-complete{text-align:center;color:#047857;background:#ecfdf5;border-radius:10px;padding:14px}.parent-payment-complete strong{margin-bottom:5px;font-size:11px;display:block}.parent-payment-complete span{font-size:18px;font-weight:900}@media (width<=1000px){.parent-payment-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-payment-invoice{grid-template-columns:minmax(0,1fr) 150px}.parent-payment-progress-area{display:none}}@media (width<=700px){.parent-payment-section{padding:18px}.parent-payment-section-header{align-items:flex-start}.parent-payment-invoice{display:block}.parent-payment-action-panel{border-top:1px solid #ccfbf1;border-left:none}.parent-payment-invoice-values{grid-template-columns:1fr}}@media (width<=520px){.parent-payment-overview{grid-template-columns:1fr}.parent-payment-section-header{flex-direction:column}}.parent-profile-premium{background:linear-gradient(110deg,#fff 0% 60%,#f0fdfa 100%);border:1px solid #dbe4ea;border-radius:18px;align-items:center;gap:20px;min-height:118px;padding:24px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #0f172a0a}.parent-profile-premium:after{content:"";pointer-events:none;background:#14b8a612;border-radius:50%;width:230px;height:230px;position:absolute;top:-100px;right:-55px}.parent-profile-premium .student-avatar{z-index:1;background:#ccfbf1;border:4px solid #fff;border-radius:50%;flex:0 0 74px;width:74px;height:74px;position:relative;overflow:hidden;box-shadow:0 3px 12px #0f172a1f}.parent-profile-premium .student-avatar img{object-fit:cover;width:100%;height:100%}.parent-profile-premium .student-avatar span{color:#0f766e;justify-content:center;align-items:center;width:100%;height:100%;font-size:25px;font-weight:800;display:flex}.parent-profile-premium .parent-student-profile-main{z-index:1;position:relative}.parent-profile-premium .parent-student-profile-main h2{color:#0f172a;margin:5px 0 9px;font-size:22px;line-height:1.15}.parent-profile-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.parent-profile-meta span{color:#475569;background:#f1f5f9;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:700}.parent-summary-grid.parent-summary-premium{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px;margin-bottom:20px;display:grid}.parent-summary-premium .parent-summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;align-items:flex-start;gap:13px;min-height:116px;padding:17px;transition:transform .18s,box-shadow .18s;display:flex;box-shadow:0 5px 16px #0f172a09}.parent-summary-premium .parent-summary-card:hover{transform:translateY(-2px);box-shadow:0 9px 22px #0f172a12}.parent-summary-icon{border-radius:50%;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;font-size:15px;font-weight:900;display:flex}.parent-summary-icon.courses{color:#059669;background:#ecfdf5}.parent-summary-icon.attendance{color:#2563eb;background:#eff6ff}.parent-summary-icon.grades{color:#9333ea;background:#faf5ff}.parent-summary-icon.warning{color:#ea580c;background:#fff7ed}.parent-summary-content{flex-direction:column;min-width:0;display:flex}.parent-summary-content>span{color:#64748b;letter-spacing:.045em;font-size:9px;font-weight:800}.parent-summary-content>strong{color:#0f172a;margin-top:9px;font-size:22px;line-height:1}.parent-summary-content>p{color:#94a3b8;margin:8px 0 0;font-size:10px}.parent-summary-card.attention{border-color:#fed7aa}.parent-summary-card.attention .parent-summary-content>strong{color:#c2410c}@media (width<=1000px){.parent-summary-grid.parent-summary-premium{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.parent-profile-premium{padding:18px}.parent-profile-premium .student-avatar{flex-basis:62px;width:62px;height:62px}.parent-profile-premium .parent-student-profile-main h2{font-size:18px}.parent-summary-grid.parent-summary-premium{grid-template-columns:1fr}}.parent-courses-premium{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:24px;box-shadow:0 8px 24px #0f172a0a}.parent-courses-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;display:flex}.parent-courses-header h3{color:#0f172a;margin:4px 0 0;font-size:18px}.parent-course-count{color:#047857;background:#ecfdf5;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:800}.parent-course-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.parent-course-premium-card{background:#fff;border:1px solid #dbe4ea;border-radius:14px;transition:transform .18s,box-shadow .18s,border-color .18s;overflow:hidden}.parent-course-premium-card:hover{border-color:#99f6e4;transform:translateY(-2px);box-shadow:0 10px 24px #0f766e14}.parent-course-card-top{justify-content:space-between;align-items:flex-start;gap:12px;min-height:90px;padding:17px;display:flex}.parent-course-title-area{align-items:center;gap:12px;min-width:0;display:flex}.parent-course-icon{color:#fff;background:linear-gradient(135deg,#0f766e,#14b8a6);border-radius:11px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;display:flex;box-shadow:0 4px 10px #0f766e2e}.parent-course-type{color:#0f766e;letter-spacing:.06em;font-size:8px;font-weight:900}.parent-course-title-area h4{color:#0f172a;margin:4px 0;font-size:15px;line-height:1.25}.parent-course-title-area p{color:#64748b;margin:0;font-size:10px}.parent-course-active-badge{color:#15803d;background:#dcfce7;border-radius:999px;flex-shrink:0;padding:5px 9px;font-size:8px;font-weight:800}.parent-course-metrics{border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.parent-course-metric{border-right:1px solid #f1f5f9;padding:14px}.parent-course-metric:last-child{border-right:none}.parent-course-metric>span{color:#64748b;letter-spacing:.04em;margin-bottom:7px;font-size:8px;font-weight:800;display:block}.parent-course-metric>strong{color:#0f172a;margin-bottom:9px;font-size:16px;display:block}.course-attendance-value{color:#059669!important}.course-grade-value{color:#2563eb!important}.course-attention-value.warning{color:#ea580c!important}.parent-course-progress{background:#e2e8f0;border-radius:999px;width:100%;height:5px;overflow:hidden}.parent-course-progress-fill{border-radius:inherit;height:100%;transition:width .3s}.parent-course-progress-fill.attendance{background:#0f766e}.parent-course-progress-fill.grade{background:#2563eb}.parent-course-progress-fill.attention{background:#f97316}@media (width<=850px){.parent-course-card-grid{grid-template-columns:1fr}}@media (width<=520px){.parent-courses-premium{padding:18px}.parent-course-metrics{grid-template-columns:1fr}.parent-course-metric{border-bottom:1px solid #f1f5f9;border-right:none}.parent-course-metric:last-child{border-bottom:none}}@media (width<=600px){.parent-dashboard{padding:14px 12px 90px}.parent-dashboard>.eyebrow{font-size:9px}.parent-dashboard>h1{margin:4px 0;font-size:24px;line-height:1.15}.parent-dashboard>p{font-size:11px;line-height:1.5}.parent-profile-premium{border-radius:15px;gap:13px;min-height:auto;padding:16px}.parent-profile-premium:after{width:130px;height:130px;top:-55px;right:-45px}.parent-profile-premium .student-avatar{border-width:3px;flex:0 0 58px;width:58px;height:58px}.parent-profile-premium .parent-student-profile-main h2{margin:3px 0 7px;font-size:17px}.parent-profile-premium .eyebrow{font-size:8px}.parent-profile-meta{gap:5px}.parent-profile-meta span{padding:4px 7px;font-size:8px}.parent-summary-grid.parent-summary-premium{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px;margin-bottom:14px}.parent-summary-premium .parent-summary-card{border-radius:12px;gap:9px;min-height:90px;padding:12px}.parent-summary-icon{flex:0 0 32px;width:32px;height:32px;font-size:12px}.parent-summary-content>span{font-size:7px;line-height:1.25}.parent-summary-content>strong{margin-top:6px;font-size:20px}.parent-summary-content>p{margin-top:5px;font-size:8px;line-height:1.3}.parent-section{border-radius:15px;margin-top:14px}.parent-payment-section{padding:16px}.parent-payment-section-header{margin-bottom:14px}.parent-payment-heading{gap:9px}.parent-payment-heading-icon{width:34px;height:34px;font-size:13px}.parent-payment-heading h3{font-size:16px}.parent-payment-heading p:last-child,.parent-payment-history-button{display:none}.parent-payment-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px}.parent-payment-overview-card{gap:8px;min-height:68px;padding:10px}.parent-payment-overview-icon{width:30px;height:30px;font-size:11px}.parent-payment-overview-card span{font-size:7px}.parent-payment-overview-card strong{font-size:14px}.parent-payment-invoice{border-radius:13px;display:block}.parent-payment-invoice-main{padding:15px}.parent-payment-invoice-top h4{font-size:15px}.parent-payment-invoice-top p{font-size:9px}.parent-payment-status{min-height:22px;padding:0 7px;font-size:8px}.parent-payment-invoice-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.parent-payment-invoice-values>div{min-height:54px;padding:10px}.parent-payment-invoice-values>div:nth-child(2){display:none}.parent-payment-invoice-values span{font-size:7px}.parent-payment-invoice-values strong{font-size:12px}.parent-payment-progress-area{display:none}.parent-payment-action-panel{background:#f0fdfa;border-top:1px solid #ccfbf1;border-left:none;padding:12px 15px 15px}.parent-pay-now-button{min-height:44px;font-size:12px}.parent-payment-detail-button{min-height:36px}.parent-courses-premium{padding:16px}.parent-courses-header{margin-bottom:12px}.parent-courses-header h3{font-size:16px}.parent-course-card-grid{grid-template-columns:1fr;gap:10px}.parent-course-premium-card{border-radius:12px}.parent-course-card-top{align-items:center;min-height:auto;padding:13px}.parent-course-title-area{gap:9px}.parent-course-icon{border-radius:9px;flex:0 0 36px;width:36px;height:36px;font-size:14px}.parent-course-type{font-size:7px}.parent-course-title-area h4{margin:3px 0;font-size:13px}.parent-course-title-area p{font-size:8px}.parent-course-active-badge{padding:4px 7px;font-size:7px}.parent-course-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.parent-course-metric{border-bottom:none;border-right:1px solid #f1f5f9;padding:11px 9px}.parent-course-metric:last-child{border-right:none}.parent-course-metric>span{min-height:20px;margin-bottom:4px;font-size:6.5px;line-height:1.2}.parent-course-metric>strong{margin-bottom:7px;font-size:14px}.parent-course-progress{height:4px}.student-dashboard-shell{background:#f8fafc;min-height:100vh;display:block}.student-dashboard-shell .main-content{width:100%;min-width:0;margin:0;padding:68px 14px 32px}.student-mobile-menu-button{z-index:1200;color:#0f766e;background:#fff;border:1px solid #e2e8f0;border-radius:11px;justify-content:center;align-items:center;width:42px;height:42px;padding:0;font-size:19px;font-weight:800;display:flex;position:fixed;top:14px;left:14px;box-shadow:0 5px 16px #0f172a17}.student-dashboard-shell .page-heading{margin-bottom:14px}.student-dashboard-shell .page-heading .eyebrow{font-size:8px}.student-dashboard-shell .page-heading h2{color:#0f172a;margin:4px 0 5px;font-size:23px;line-height:1.2}.student-dashboard-shell .page-heading>p:last-child{color:#64748b;max-width:320px;margin:0;font-size:10px;line-height:1.45}.student-overview-profile{background:linear-gradient(115deg,#fff 0% 62%,#f0fdfa 100%);border:1px solid #dbe4ea;border-radius:15px;align-items:center;gap:13px;min-height:auto;padding:15px;display:flex;box-shadow:0 5px 16px #0f172a0a}.student-overview-avatar{background:#ccfbf1;border:3px solid #fff;border-radius:50%;flex:0 0 58px;width:58px;height:58px;overflow:hidden;box-shadow:0 3px 10px #0f172a1a}.student-overview-avatar img{object-fit:cover;width:100%;height:100%}.student-overview-avatar span{color:#0f766e;justify-content:center;align-items:center;width:100%;height:100%;font-size:21px;font-weight:900;display:flex}.student-overview-main{flex:1;min-width:0}.student-overview-main .eyebrow{font-size:7px}.student-overview-main h3{color:#0f172a;margin:3px 0 7px;font-size:16px;line-height:1.2}.student-overview-details{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.student-overview-details>div{background:#f1f5f9;border-radius:999px;width:auto;min-width:0;padding:4px 7px}.student-overview-details>div span{display:none}.student-overview-details>div strong{color:#475569;font-size:8px;font-weight:700}.student-overview-details>div:nth-child(2),.student-overview-details>div:nth-child(4),.student-overview-bio{display:none}.student-dashboard-main-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px;display:grid}.student-dashboard-info-card{background:#fff;border:1px solid #e2e8f0;border-radius:13px;min-width:0;min-height:116px;padding:13px;box-shadow:0 4px 14px #0f172a09}.student-dashboard-main-cards>.student-dashboard-info-card:first-child{grid-column:1/-1;min-height:auto}.student-dashboard-card-label{color:#64748b;letter-spacing:.05em;margin-bottom:6px;font-size:7px;font-weight:900;display:block}.student-dashboard-card-value{color:#0f172a;font-size:16px;line-height:1.25;display:block}.student-dashboard-card-description{color:#64748b;margin:7px 0 0;font-size:9px;line-height:1.4}.student-dashboard-card-link{color:#0f766e;margin-top:10px;font-size:8px;font-weight:800;display:block}.student-dashboard-course-list{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.student-dashboard-course-chip{background:#f0fdfa;border:1px solid #ccfbf1;border-radius:999px;align-items:center;gap:5px;width:auto;padding:6px 9px;display:inline-flex}.student-dashboard-course-chip span{color:#14b8a6;font-size:9px}.student-dashboard-course-chip strong{color:#0f766e;font-size:8px;font-weight:700}button.student-dashboard-action-card{text-align:left;cursor:pointer}button.student-dashboard-action-card:nth-child(2){background:linear-gradient(145deg,#fff,#fff7ed)}button.student-dashboard-action-card:nth-child(3){background:linear-gradient(145deg,#fff,#eff6ff)}.student-achievement-section{background:#fff;border:1px solid #e2e8f0;border-radius:15px;margin-top:14px;padding:16px}.student-achievement-heading{justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:11px;display:flex}.student-achievement-heading h3{margin:3px 0;font-size:15px}.student-achievement-heading>div>p:last-child{display:none}.student-achievement-all{color:#0f766e;background:0 0;border:none;padding:0;font-size:8px;font-weight:800}.student-achievement-grid{scroll-snap-type:x mandatory;scrollbar-width:none;gap:9px;padding-bottom:4px;display:flex;overflow-x:auto}.student-achievement-grid::-webkit-scrollbar{display:none}.student-achievement-card{scroll-snap-align:start;border-radius:12px;min-width:235px;padding:13px}.student-achievement-card h4{font-size:13px}.student-home-assignment-list{flex-direction:column;gap:9px;display:flex}.student-home-assignment-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px;display:grid}.student-assignment-info{min-width:0}.student-assignment-info>span{font-size:8px}.student-assignment-info>strong{margin:4px 0 7px;font-size:13px;line-height:1.3;display:block}.student-home-due{text-align:right}.student-home-due span{font-size:7px;display:block}.student-home-due strong{font-size:10px}.student-assignment-open-button{border-radius:8px;grid-column:1/-1;width:100%;min-height:40px;font-size:10px;font-weight:800}.student-attendance-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.student-attendance-summary-card{border-radius:12px;min-height:75px;padding:12px}.student-attendance-summary-card:first-child{background:linear-gradient(135deg,#ecfdf5,#fff);grid-column:1/-1;min-height:88px}.student-attendance-summary-card span{font-size:7px}.student-attendance-summary-card strong{margin-top:7px;font-size:22px}.student-attendance-history{border-radius:15px;padding:15px}.student-attendance-history-heading{align-items:flex-end;margin-bottom:12px}.student-attendance-history-heading h3{font-size:15px}.student-attendance-history-heading>span{font-size:8px}.student-attendance-list{flex-direction:column;gap:7px;display:flex}.student-attendance-row{background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px;display:grid}.student-attendance-row>div span{display:none}.student-attendance-row>div strong{font-size:9px}.student-attendance-note{display:none}.student-attendance-status{text-align:right}.student-attendance-status .attendance-status{border-radius:999px;padding:4px 7px;font-size:8px;display:inline-flex}.student-achievement-grid{scroll-snap-type:none;flex-direction:column;gap:9px;width:100%;padding-bottom:0;display:flex;overflow:visible}.student-achievement-card{box-sizing:border-box;scroll-snap-align:none;width:100%;min-width:0;padding:13px 14px}.student-achievement-card h4{margin:5px 0;font-size:13px;line-height:1.3}.student-achievement-course{margin:0 0 10px;font-size:9px;line-height:1.4}.student-achievement-detail{margin-top:7px}.student-achievement-detail span{font-size:7px}.student-achievement-detail strong{font-size:10px}}.student-mobile-bottom-nav{display:none}@media (width<=600px){.student-mobile-bottom-nav{z-index:1100;height:66px;padding:5px max(5px, env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(5px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-top:1px solid #e2e8f0;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -5px 20px #0f172a12}.student-mobile-nav-item{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;padding:5px 2px;display:flex;position:relative}.student-mobile-nav-item.active{color:#0f766e;background:#f0fdfa}.student-mobile-nav-icon{justify-content:center;align-items:center;height:22px;font-size:18px;line-height:1;display:flex}.student-mobile-nav-item small{max-width:100%;color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:700;line-height:1;overflow:hidden}.student-mobile-nav-badge{color:#fff;background:#f97316;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:7px;font-weight:900;display:flex;position:absolute;top:1px;left:calc(50% + 8px)}.student-dashboard-shell .main-content{padding-bottom:calc(90px + env(safe-area-inset-bottom))}}.parent-mobile-bottom-nav{display:none}@media (width<=600px){.parent-mobile-bottom-nav{z-index:1200;height:66px;padding:5px max(5px, env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(5px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;border-top:1px solid #e2e8f0;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 22px #0f172a14}.parent-mobile-nav-item{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;padding:5px 2px;display:flex;position:relative}.parent-mobile-nav-item:active{color:#0f766e;background:#f0fdfa}.parent-mobile-nav-icon{justify-content:center;align-items:center;height:22px;font-size:18px;line-height:1;display:flex}.parent-mobile-nav-item small{max-width:100%;color:inherit;white-space:nowrap;text-overflow:ellipsis;font-size:8px;font-weight:700;line-height:1;overflow:hidden}.parent-mobile-payment-dot{background:#f97316;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:4px;left:calc(50% + 8px)}.parent-dashboard{padding-bottom:calc(90px + env(safe-area-inset-bottom))}.parent-dashboard section{scroll-margin-top:16px}}.student-page-heading-row{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.student-page-heading-row .page-heading{flex:1;min-width:0}.notification-bell{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex;position:relative;box-shadow:0 4px 14px #0f172a0d}.notification-bell-icon{font-size:19px;line-height:1}.notification-bell-badge{color:#fff;background:#f97316;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:19px;height:19px;padding:0 5px;font-size:8px;font-weight:900;display:flex;position:absolute;top:-5px;right:-5px}@media (width<=600px){.student-page-heading-row{gap:10px}.notification-bell{border-radius:11px;flex-basis:40px;width:40px;height:40px}.notification-bell-icon{font-size:17px}}.notification-wrapper{flex:none;position:relative}.notification-panel{z-index:1500;background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:380px;max-height:520px;position:absolute;top:52px;right:0;overflow:hidden;box-shadow:0 18px 50px #0f172a29}.notification-panel-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:14px;padding:17px 18px;display:flex}.notification-panel-eyebrow{color:#0f766e;letter-spacing:.08em;margin-bottom:3px;font-size:8px;font-weight:900;display:block}.notification-panel-header h3{color:#0f172a;margin:0;font-size:17px}.notification-panel-count{color:#ea580c;background:#fff7ed;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:800}.notification-panel-list{max-height:430px;overflow-y:auto}.notification-item{text-align:left;cursor:pointer;background:#fff;border:none;border-bottom:1px solid #f1f5f9;grid-template-columns:9px minmax(0,1fr);gap:10px;width:100%;padding:15px 17px;display:grid}.notification-item:hover{background:#f8fafc}.notification-item.unread{background:#f0fdfa}.notification-item.unread:hover{background:#e6fffb}.notification-item-dot{background:0 0;border-radius:50%;width:7px;height:7px;margin-top:5px}.notification-item.unread .notification-item-dot{background:#14b8a6}.notification-item-content{min-width:0}.notification-item-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.notification-item-top strong{color:#0f172a;font-size:12px;font-weight:800}.notification-new-label{color:#0f766e;flex:none;font-size:7px;font-weight:900}.notification-item-content p{color:#475569;margin:5px 0 7px;font-size:10px;line-height:1.45}.notification-item-time{color:#94a3b8;font-size:8px}.notification-empty{text-align:center;color:#64748b;flex-direction:column;justify-content:center;align-items:center;min-height:180px;padding:24px;display:flex}.notification-empty>span{margin-bottom:8px;font-size:24px}.notification-empty strong{color:#334155;font-size:12px}.notification-empty p{margin:5px 0 0;font-size:9px}@media (width<=600px){.notification-panel{border-radius:15px;width:auto;max-height:calc(100vh - 145px);position:fixed;top:62px;left:12px;right:12px}.notification-panel-list{max-height:calc(100vh - 215px)}.notification-panel-header,.notification-item{padding:14px 15px}.student-dashboard-shell>.sidebar{padding-bottom:calc(90px + env(safe-area-inset-bottom))}.student-dashboard-shell>.sidebar .sidebar-bottom{flex-shrink:0;margin-top:24px}.student-achievement-section{width:100%;margin-left:0;margin-right:0}.student-achievement-heading{text-align:left;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:12px;width:100%;margin-left:0;margin-right:0;display:flex}.student-achievement-heading>div{text-align:left;width:100%;min-width:0;margin:0;padding:0}.student-achievement-heading .eyebrow,.student-achievement-heading h3,.student-achievement-heading p{text-align:left;margin-left:0}.student-achievement-all{align-self:flex-start}}.notification-panel-header-actions{align-items:center;gap:10px;display:flex}.notification-panel-close{color:#475569;cursor:pointer;background:#f1f5f9;border:0;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:16px;font-weight:700;display:none}.notification-panel-close:hover{background:#e2e8f0}@media (width<=600px){.notification-panel-close{display:flex}.notification-panel{z-index:1200;width:auto;max-width:none;max-height:calc(100vh - 150px);position:fixed;top:72px;left:12px;right:12px;overflow-y:auto}.notification-panel-header{z-index:2;background:#fff;position:sticky;top:0}}.guardian-section{background:#f8fffd;border:1px solid #dbe7e5;border-radius:16px;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px;display:grid}.guardian-section-secondary{background:#fafafa}.guardian-section-heading{grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;margin-bottom:2px;display:flex}.guardian-section-heading strong{color:#0f766e;font-size:15px}.guardian-section-heading span{color:#64748b;font-size:12px}.student-second-guardian{border-top:1px solid #e2e8f0;margin-top:10px;padding-top:10px}@media (width<=768px){.guardian-section{grid-template-columns:1fr}.guardian-section-heading{grid-column:1}}.guardian-section{grid-template-columns:repeat(2,minmax(0,1fr))}.guardian-section label:nth-of-type(3){grid-column:1/-1}.guardian-section label:nth-of-type(3) input{box-sizing:border-box;width:100%}@media (width<=600px){.guardian-section{grid-template-columns:1fr}.guardian-section label:nth-of-type(3){grid-column:1}}.guardian-detail-card{flex-direction:column;display:flex}.guardian-detail-block{margin-top:4px}.guardian-detail-secondary{border-top:1px solid #e2e8f0;margin-top:20px;padding-top:20px}.guardian-detail-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.guardian-detail-title strong{color:#0f766e;font-size:13px}.guardian-detail-title span{color:#047857;background:#ecfdf5;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.student-progress-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px;padding:20px;display:grid}.progress-field{flex-direction:column;gap:7px;display:flex}.progress-field select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:10px;outline:none;width:100%;height:42px;padding:0 12px;font-size:14px}.progress-tags{flex-direction:column;grid-column:1/-1;gap:9px;padding-top:2px;display:flex}.progress-tag{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:600;transition:all .15s}.progress-tag:hover{color:#0f766e;border-color:#0f766e}.progress-note textarea:focus{border-color:#0f766e}@media (width<=1000px){.student-progress-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.student-progress-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;padding:14px}.progress-field select{height:40px;font-size:13px}.progress-tag{padding:7px 10px;font-size:11px}.progress-note textarea{font-size:13px}}.attendance-row{grid-template-columns:minmax(180px,.9fr) minmax(360px,1.5fr) minmax(260px,1.2fr);align-items:start;gap:20px;display:grid}.student-progress-panel{box-sizing:border-box;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;grid-column:1/-1;grid-template-columns:repeat(4,minmax(150px,1fr));gap:16px;width:100%;margin-top:4px;padding:18px 20px;display:grid}.student-progress-title{letter-spacing:.08em;color:#64748b;grid-column:1/-1;margin:0 0 2px;font-size:12px;font-weight:800}.progress-field{flex-direction:column;gap:7px;min-width:0;display:flex}.progress-field span{color:#475569;font-size:12px;font-weight:700}.progress-field select{box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:10px;outline:none;width:100%;min-width:0;height:42px;padding:0 12px;font-size:14px}.progress-field select:focus{border-color:#0f766e}.progress-tags{flex-direction:column;grid-column:1/-1;gap:8px;display:flex}.progress-tags-label{color:#475569;font-size:12px;font-weight:700}.progress-tag-buttons{flex-wrap:wrap;gap:8px;display:flex}.progress-tag{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:600}.progress-tag.selected{color:#0f766e;background:#ecfdf5;border-color:#0f766e}.progress-note{flex-direction:column;grid-column:1/-1;gap:7px;display:flex}.progress-note span{color:#475569;font-size:12px;font-weight:700}.progress-note textarea{box-sizing:border-box;resize:vertical;background:#fff;border:1px solid #cbd5e1;border-radius:10px;outline:none;width:100%;min-height:64px;padding:10px 12px;font-family:inherit;font-size:14px}@media (width<=1000px){.attendance-row{grid-template-columns:1fr}.student-progress-panel{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.student-progress-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}}.attendance-save{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.parent-observation-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px}.parent-observation-header span{color:#94a3b8;font-size:10px;font-weight:700;display:block}.parent-observation-header strong{color:#0f172a;margin-top:4px;font-size:15px;display:block}.parent-observation-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.parent-observation-metrics>div{background:#f8fafc;border-radius:9px;padding:10px}.parent-observation-metrics span{color:#94a3b8;font-size:8px;font-weight:800;display:block}.parent-observation-metrics strong{color:#334155;margin-top:5px;font-size:11px;display:block}.parent-observation-tags{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.parent-observation-tags span{color:#0f766e;background:#ecfdf5;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:700}.parent-observation-note{background:#f8fafc;border-radius:9px;margin-top:14px;padding:12px 14px}.parent-observation-note span{color:#94a3b8;font-size:8px;font-weight:800;display:block}.parent-observation-note p{color:#334155;margin:6px 0 0;font-size:11px;line-height:1.6}@media (width<=1000px){.parent-observation-list{grid-template-columns:1fr}}@media (width<=600px){.parent-observation-card{padding:15px}.parent-observation-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.parent-observation-section-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;display:flex}.parent-observation-section-title{align-items:flex-start;gap:16px;display:flex}.parent-section-icon{color:#0f766e;background:#ecfdf5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;font-weight:800;display:flex}.parent-observation-section-title h3{color:#0f172a;margin:4px 0;font-size:20px}.parent-section-description{color:#64748b;margin:0;font-size:12px;line-height:1.5}.parent-observation-list{grid-template-columns:1fr;gap:18px;display:grid}.parent-observation-card{background:#fff;border:1px solid #dfe7ec;border-left:4px solid #14b8a6;border-radius:14px;padding:22px;position:relative;box-shadow:0 4px 14px #0f172a0a}.parent-observation-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.parent-observation-course{align-items:center;gap:13px;display:flex}.parent-observation-calendar{color:#0f766e;background:#ecfdf5;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:16px;display:flex}.parent-observation-date{color:#0f766e;margin-bottom:4px;font-size:11px;font-weight:800;display:block}.parent-observation-course strong{color:#0f172a;font-size:17px;display:block}.parent-observation-new-badge{color:#0f766e;background:#ecfdf5;border-radius:999px;padding:6px 11px;font-size:10px;font-weight:800}.parent-observation-metrics{background:#f8fafc;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));padding:12px;display:grid}.parent-observation-metric{border-right:1px solid #e2e8f0;align-items:center;gap:12px;min-width:0;padding:10px 14px;display:flex}.parent-observation-metric:last-child{border-right:0}.parent-observation-metric-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;font-weight:800;display:flex}.parent-observation-metric.participation .parent-observation-metric-icon{color:#059669;background:#ecfdf5}.parent-observation-metric.effort .parent-observation-metric-icon{color:#2563eb;background:#eff6ff}.parent-observation-metric.focus .parent-observation-metric-icon{color:#d97706;background:#fff7ed}.parent-observation-metric.progress .parent-observation-metric-icon{color:#7c3aed;background:#f5f3ff}.parent-observation-metric span{color:#64748b;font-size:9px;font-weight:800;display:block}.parent-observation-metric strong{color:#334155;margin-top:4px;font-size:13px;display:block}.parent-observation-tags-area{border:1px solid #e2e8f0;border-radius:11px;margin-top:18px;padding:16px}.parent-observation-tags-title{color:#64748b;margin-bottom:10px;font-size:9px;font-weight:800;display:block}.parent-observation-tags{flex-wrap:wrap;gap:8px;display:flex}.observation-tag{border-radius:999px;padding:7px 11px;font-size:10px;font-weight:700}.observation-tag.positive{color:#047857;background:#ecfdf5}.observation-tag.warning{color:#c2410c;background:#fff7ed}.parent-observation-note{background:#f0fdfa;border:1px solid #ccfbf1;border-radius:10px;margin-top:14px;padding:14px 16px}.parent-observation-note>span{color:#64748b;margin-bottom:7px;font-size:9px;font-weight:800;display:block}.parent-observation-note-content{align-items:flex-start;gap:10px;display:flex}.parent-observation-note-content strong{color:#10b981;font-size:28px;line-height:1}.parent-observation-note-content p{color:#334155;margin:0;font-size:12px;line-height:1.6}@media (width<=800px){.parent-observation-section-header{flex-direction:column}.parent-observation-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-observation-metric{border-bottom:1px solid #e2e8f0;border-right:0}.parent-observation-metric:nth-child(3),.parent-observation-metric:nth-child(4){border-bottom:0}}.parent-observation-history{flex-direction:column;gap:16px;display:flex}.parent-observation-history-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #14b8a6;border-radius:14px;padding:22px}.parent-observation-history-header span{color:#0f766e;font-size:11px;font-weight:800}.parent-observation-history-header h3{color:#0f172a;margin:5px 0 0;font-size:17px}.parent-observation-history-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.parent-observation-history-metrics>div{background:#f8fafc;border-radius:10px;padding:12px 14px}.parent-observation-history-metrics span{color:#64748b;font-size:9px;font-weight:800;display:block}.parent-observation-history-metrics strong{color:#0f172a;margin-top:5px;font-size:12px;display:block}.parent-observation-history-tags{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.parent-observation-history-tags span{border-radius:999px;padding:7px 10px;font-size:10px;font-weight:700}.parent-observation-history-tags .positive{color:#047857;background:#ecfdf5}.parent-observation-history-tags .warning{color:#c2410c;background:#fff7ed}.parent-observation-history-note{background:#f0fdfa;border:1px solid #ccfbf1;border-radius:10px;margin-top:14px;padding:13px 15px}.parent-observation-history-note span{color:#64748b;font-size:9px;font-weight:800}.parent-observation-history-note p{color:#334155;margin:6px 0 0;font-size:12px;line-height:1.6}@media (width<=700px){.parent-observation-history-card{padding:16px}.parent-observation-history-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.parent-portfolio-showcase{overflow:hidden}.parent-portfolio-main-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;display:flex}.parent-portfolio-heading{align-items:flex-start;gap:15px;display:flex}.parent-portfolio-heading-icon{color:#0f766e;background:#ecfdf5;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;font-weight:800;display:flex}.parent-portfolio-heading h3{color:#0f172a;margin:4px 0;font-size:20px}.parent-portfolio-heading>div>p:last-child{color:#64748b;margin:0;font-size:12px;line-height:1.5}.parent-portfolio-hero{box-sizing:border-box;color:#fff;background:linear-gradient(120deg,#15998e 0%,#35a99f 48%,#a4ccb1 100%);border-radius:16px;justify-content:space-between;align-items:center;min-height:190px;padding:26px 34px;display:flex;position:relative;overflow:hidden}.parent-portfolio-hero:after{content:"";background:#ffffff1f;border-radius:50%;width:300px;height:300px;position:absolute;top:-120px;right:-90px}.parent-portfolio-hero-student{z-index:2;align-items:center;gap:28px;display:flex;position:relative}.parent-portfolio-hero-avatar{color:#0f766e;background:#ecfdf5;border:5px solid #ffffffd9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:112px;height:112px;font-size:34px;font-weight:800;display:flex;overflow:hidden}.parent-portfolio-hero-avatar img{object-fit:cover;width:100%;height:100%;display:block}.parent-portfolio-hero-content h3{color:#fff;margin:0;font-size:22px}.parent-portfolio-hero-content>p{color:#ffffffeb;max-width:600px;margin:8px 0 20px;font-size:12px;line-height:1.55}.parent-portfolio-hero-stats{align-items:center;gap:30px;display:flex}.parent-portfolio-hero-stats>div{border-right:1px solid #ffffff40;align-items:center;gap:10px;padding-right:28px;display:flex}.parent-portfolio-hero-stats>div:last-child{border-right:0;padding-right:0}.portfolio-stat-icon{background:#fff3;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-size:16px;display:flex}.parent-portfolio-hero-stats span{color:#ffffffe6;flex-direction:column;font-size:10px;display:flex}.parent-portfolio-hero-stats strong{color:#fff;font-size:20px;line-height:1.1}.parent-portfolio-trophy{z-index:2;filter:drop-shadow(0 10px 14px #0f172a26);margin-right:50px;font-size:86px;position:relative}.parent-portfolio-toolbar{justify-content:space-between;align-items:center;margin:22px 0 18px;display:flex}.parent-portfolio-filters button{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #0000;border-radius:999px;padding:9px 16px;font-family:inherit;font-size:11px;font-weight:700}.parent-portfolio-filters button:hover{color:#0f766e;background:#f0fdfa}.parent-portfolio-filters button.active{color:#fff;background:#0f9488}.parent-portfolio-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.parent-portfolio-gallery-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;min-width:0;transition:transform .16s,box-shadow .16s;overflow:hidden}.parent-portfolio-gallery-card:hover{transform:translateY(-3px);box-shadow:0 9px 22px #0f172a14}.parent-portfolio-image{aspect-ratio:16/10;background:#f1f5f9;width:100%;position:relative;overflow:hidden}.parent-portfolio-image img{object-fit:cover;width:100%;height:100%;transition:transform .25s;display:block}.parent-portfolio-gallery-card:hover .parent-portfolio-image img{transform:scale(1.025)}.parent-portfolio-image-placeholder{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:100%;height:100%;display:flex}.parent-portfolio-image-placeholder span{font-size:26px}.parent-portfolio-image-placeholder small{font-size:9px}.parent-portfolio-type-badge{background:#fff;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:800;position:absolute;bottom:10px;left:12px;box-shadow:0 2px 8px #0f172a14}.parent-portfolio-type-badge.event{color:#047857}.parent-portfolio-type-badge.competition{color:#7c3aed}.parent-portfolio-type-badge.project{color:#2563eb}.parent-portfolio-gallery-content{padding:14px 15px 16px}.parent-portfolio-gallery-content h4{color:#0f172a;margin:0;font-size:14px;line-height:1.4}.parent-portfolio-gallery-meta{color:#64748b;flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px;font-size:9px;display:flex}.parent-portfolio-gallery-meta i{color:#cbd5e1;font-style:normal}.parent-portfolio-result{background:#f8fafc;border-radius:8px;margin-top:12px;padding:9px 10px}.parent-portfolio-result span{color:#94a3b8;font-size:7px;font-weight:800;display:block}.parent-portfolio-result strong{color:#334155;margin-top:3px;font-size:10px;display:block}.parent-portfolio-comment{color:#64748b;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:10px 0 0;font-size:9px;line-height:1.5;display:-webkit-box;overflow:hidden}.parent-portfolio-motivation{background:linear-gradient(90deg,#f0fdfa,#f8fafc);border-radius:12px;align-items:center;gap:16px;margin-top:22px;padding:17px 20px;display:flex}.parent-portfolio-motivation strong{color:#14b8a6;font-size:30px;line-height:1}.parent-portfolio-motivation p{color:#475569;margin:0;font-size:11px;line-height:1.6}@media (width<=1100px){.parent-portfolio-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-portfolio-trophy{display:none}}@media (width<=700px){.parent-portfolio-main-header{flex-direction:column}.parent-portfolio-hero{padding:22px 18px}.parent-portfolio-hero-student{flex-direction:column;align-items:flex-start;gap:16px}.parent-portfolio-hero-avatar{width:76px;height:76px}.parent-portfolio-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%;display:grid}.parent-portfolio-hero-stats>div{border-right:0;gap:6px;padding-right:0}.portfolio-stat-icon{width:30px;height:30px}.parent-portfolio-hero-stats strong{font-size:16px}.parent-portfolio-gallery{grid-template-columns:1fr}}.activity-portfolio-image-field{grid-column:1/-1;padding-top:4px}.activity-portfolio-image-label{color:#475569;font-size:11px;font-weight:700;display:block}.activity-portfolio-image-field>p{color:#94a3b8;margin:5px 0 12px;font-size:10px}.activity-image-upload-box{box-sizing:border-box;cursor:pointer;background:#f8fafc;border:1px dashed #94cfc7;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;min-height:150px;padding:20px;transition:background .15s,border-color .15s;display:flex}.activity-image-upload-box:hover{background:#f0fdfa;border-color:#0f9488}.activity-image-upload-box input{display:none}.activity-image-upload-icon{color:#0f766e;background:#ecfdf5;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:22px;font-weight:400;display:flex}.activity-image-upload-box strong{color:#0f766e;font-size:12px}.activity-image-upload-box small{color:#94a3b8;font-size:9px}.activity-portfolio-image-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:13px;width:min(100%,520px);position:relative;overflow:hidden}.activity-portfolio-image-preview img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}.activity-image-change-button{color:#0f766e;cursor:pointer;background:#fffffff0;border:1px solid #d8e4e1;border-radius:8px;padding:8px 12px;font-size:10px;font-weight:700;position:absolute;bottom:10px;right:10px;box-shadow:0 3px 10px #0f172a14}.activity-image-change-button input{display:none}.parent-qpay-message{background:#fff7ed;border-radius:12px;margin:16px 0;padding:14px 16px;font-size:14px;font-weight:600}.parent-qpay-overlay{z-index:9999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a94;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.parent-qpay-modal{text-align:center;background:#fff;border-radius:24px;width:min(460px,100%);max-height:90vh;padding:34px;position:relative;overflow-y:auto;box-shadow:0 24px 70px #0f172a40}.parent-qpay-close{cursor:pointer;background:#f1f5f9;border:0;border-radius:50%;width:36px;height:36px;font-size:24px;line-height:1;position:absolute;top:14px;right:16px}.parent-qpay-logo{color:#fff;background:#0f766e;border-radius:10px;justify-content:center;align-items:center;min-width:74px;height:36px;margin-bottom:18px;padding:0 14px;font-size:18px;font-weight:800;display:inline-flex}.parent-qpay-modal h3{margin:6px 0 8px;font-size:22px}.parent-qpay-amount{color:#0f766e;margin-bottom:22px;font-size:30px;line-height:1.1;display:block}.parent-qpay-qr{justify-content:center;margin:12px auto 18px;display:flex}.parent-qpay-qr img{object-fit:contain;background:#fff;border:1px solid #e2e8f0;border-radius:18px;width:220px;height:220px;padding:10px}.parent-qpay-help{color:#64748b;max-width:320px;margin:0 auto 20px;font-size:14px;line-height:1.6}.parent-qpay-open-button{color:#fff;background:#0f766e;border-radius:12px;justify-content:center;align-items:center;min-height:48px;margin-bottom:12px;font-weight:700;text-decoration:none;display:flex}.parent-qpay-bank-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.parent-qpay-bank-list a{color:#0f172a;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:10px;min-height:48px;padding:9px 12px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.parent-qpay-bank-list img{object-fit:contain;width:28px;height:28px}.parent-qpay-cancel-button{color:#475569;cursor:pointer;background:#f1f5f9;border:0;border-radius:12px;width:100%;min-height:44px;margin-top:18px;font-weight:700}@media (width<=600px){.parent-qpay-overlay{align-items:flex-end;padding:0}.parent-qpay-modal{border-radius:24px 24px 0 0;width:100%;padding:30px 20px 24px}.parent-qpay-qr img{width:200px;height:200px}.parent-qpay-bank-list{grid-template-columns:1fr}}.programs-page{max-width:1200px;margin:0 auto;padding:32px}.programs-page .page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.programs-page .page-header h1{color:#0f172a;margin:6px 0 8px;font-size:32px;line-height:1.15}.programs-page .page-header p{color:#64748b;max-width:620px;margin:0;font-size:14px;line-height:1.6}.programs-page .page-header .eyebrow{letter-spacing:.08em;color:#0f766e;margin:0;font-size:12px;font-weight:800}.programs-page .page-header>button{color:#fff;cursor:pointer;background:#0f766e;border:none;border-radius:10px;padding:12px 18px;font-size:14px;font-weight:700;transition:all .2s}.programs-page .page-header>button:hover{background:#115e59;transform:translateY(-1px)}.programs-page .form-message{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:10px;margin:0 0 20px;padding:12px 14px;font-size:14px}.program-form{background:#fff;border:1px solid #e2e8f0;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:28px;padding:24px;display:grid}.program-form h2{color:#0f172a;grid-column:1/-1;margin:0 0 4px;font-size:21px}.program-form label{color:#334155;flex-direction:column;gap:8px;font-size:13px;font-weight:700;display:flex}.program-form input,.program-form select,.program-form textarea{box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:10px;outline:none;width:100%;padding:11px 12px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.program-form input:focus,.program-form select:focus,.program-form textarea:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1a}.program-form textarea{resize:vertical;min-height:100px}.program-form label:has(textarea){grid-column:1/-1}.program-form label:has(input[type=checkbox]){flex-direction:row;grid-column:1/-1;align-items:center;gap:9px;width:fit-content}.program-form input[type=checkbox]{accent-color:#0f766e;width:17px;height:17px;margin:0}.program-form .form-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.program-form .form-actions button{cursor:pointer;border-radius:10px;min-width:110px;padding:11px 16px;font-size:14px;font-weight:700}.program-form .form-actions button:first-child{color:#475569;background:#fff;border:1px solid #cbd5e1}.program-form .form-actions button:last-child{color:#fff;background:#0f766e;border:1px solid #0f766e}.program-form .form-actions button:first-child:hover{background:#f8fafc}.program-form .form-actions button:last-child:hover{background:#115e59}.program-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.program-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;justify-content:space-between;gap:20px;min-height:170px;padding:22px;transition:all .2s;display:flex;box-shadow:0 1px 2px #0f172a0a}.program-card:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 8px 24px #0f172a0f}.program-card>div:first-child{flex:1}.program-card span{color:#047857;background:#ecfdf5;border-radius:999px;align-items:center;min-height:25px;padding:4px 9px;font-size:11px;font-weight:800;display:inline-flex}.program-card h2{color:#0f172a;margin:14px 0 8px;font-size:19px;line-height:1.35}.program-card p{color:#64748b;margin:0 0 14px;font-size:13px}.program-card strong{color:#0f766e;font-size:21px;font-weight:800;display:block}.program-card-actions{flex-direction:column;justify-content:flex-end;gap:8px;min-width:120px;display:flex}.program-card-actions button{cursor:pointer;border-radius:9px;width:100%;padding:9px 12px;font-size:13px;font-weight:700}.program-card-actions button:first-child{color:#334155;background:#fff;border:1px solid #cbd5e1}.program-card-actions button:last-child{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0}.program-card-actions button:hover{background:#f1f5f9}@media (width<=900px){.programs-page{padding:22px}.program-list{grid-template-columns:1fr}}@media (width<=640px){.programs-page{padding:16px}.programs-page .page-header{flex-direction:column}.programs-page .page-header>button{width:100%}.program-form{grid-template-columns:1fr;padding:18px}.program-form h2,.program-form .form-actions{grid-column:1}.program-form label:has(textarea){grid-column:1}.program-form label:has(input[type=checkbox]){grid-column:1}.program-form .form-actions{flex-direction:column-reverse}.program-form .form-actions button{width:100%}.program-card{flex-direction:column}.program-card-actions{flex-direction:row;min-width:0}.program-card-actions button{flex:1}}.contract-document{background:#fff;border:1px solid #e5e7eb;border-radius:18px;max-width:900px;margin:24px auto;padding:40px}.contract-document-header{text-align:center;margin-bottom:32px}.contract-document-header h1{color:#0f172a;margin:8px 0 0;font-size:24px;line-height:1.4}.contract-version{color:#64748b;margin:0;font-size:12px;font-weight:700}.contract-party-summary{background:#f8fafc;border-radius:12px;margin-bottom:24px;padding:18px 20px}.contract-party-summary p{margin:6px 0}.contract-intro{text-align:justify;margin-bottom:30px;line-height:1.8}.contract-section{margin:28px 0}.contract-section h2{color:#0f172a;margin:0 0 18px;font-size:18px;line-height:1.5}.contract-clause{margin-bottom:14px}.contract-clause p{text-align:justify;margin:0;line-height:1.8}.contract-clause h3{color:#0f172a;margin:20px 0 8px;font-size:15px;line-height:1.5}.contract-highlight-section{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;padding:22px}.contract-highlight-section h2,.contract-highlight-section h3{color:#166534}.contract-payment-schedule{margin-top:16px}.contract-payment-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;display:grid}.contract-payment-summary>div{background:#fff;border:1px solid #bbf7d0;border-radius:10px;padding:14px}.contract-payment-summary span{color:#64748b;margin-bottom:7px;font-size:12px;display:block}.contract-payment-summary strong{color:#166534;font-size:16px}.contract-installment-list{background:#fff;border:1px solid #bbf7d0;border-radius:10px;overflow:hidden}.contract-installment-row{border-bottom:1px solid #dcfce7;grid-template-columns:1fr 1fr 1fr;gap:12px;padding:12px 14px;display:grid}.contract-installment-row:last-child{border-bottom:0}@media (width<=768px){.contract-document{padding:22px 16px}.contract-document-header h1{font-size:20px}.contract-payment-summary,.contract-installment-row{grid-template-columns:1fr}}.organization-asset-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;grid-column:1/-1;margin-top:8px;padding:22px}.organization-asset-card h3{color:#0f172a;margin:0 0 6px;font-size:16px;font-weight:700}.organization-asset-card small{color:#64748b;margin-top:8px;font-size:12px;line-height:1.6;display:block}.organization-asset-card input[type=file]{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:10px;width:100%;margin-top:14px;padding:10px;font-size:13px}.organization-asset-card input[type=file]::file-selector-button{color:#fff;cursor:pointer;background:#0f766e;border:0;border-radius:8px;margin-right:12px;padding:8px 14px;font-weight:600}.organization-asset-card input[type=file]::file-selector-button:hover{background:#115e59}.organization-asset-preview{background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;min-height:130px;margin-top:16px;padding:18px;display:flex}.organization-asset-preview img{object-fit:contain;width:auto;max-width:220px;height:auto;max-height:120px;display:block}.organization-asset-preview button{color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:9px;flex-shrink:0;padding:9px 14px;font-size:13px;font-weight:600}.organization-asset-preview button:hover{background:#fef2f2}.organization-asset-preview button:disabled{opacity:.55;cursor:not-allowed}@media (width>=900px){.student-form{align-items:start}}@media (width<=768px){.organization-asset-card{border-radius:12px;padding:16px}.organization-asset-preview{flex-direction:column;align-items:flex-start;min-height:auto;padding:14px}.organization-asset-preview img{max-width:100%;max-height:140px;margin:0 auto}.organization-asset-preview button{width:100%}}.parent-contract-section{scroll-margin-top:24px}.parent-contract-card{margin-top:20px}.parent-contract-summary{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.parent-contract-summary>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:18px}.parent-contract-summary span{letter-spacing:.06em;color:#64748b;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.parent-contract-summary strong{color:#0f172a;font-size:15px}.parent-contract-document-header h2{color:#0f172a;margin:10px 0 16px;font-size:21px;line-height:1.4}.parent-contract-document-header p{color:#475569;line-height:1.7}.parent-contract-clause{margin-bottom:26px}.parent-contract-clause h3{color:#0f172a;margin:0 0 12px;font-size:16px;line-height:1.5}.parent-contract-clause p{color:#334155;margin:8px 0;font-size:14px;line-height:1.8}.parent-contract-clause.highlighted{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;padding:22px}@media (width<=768px){.parent-contract-summary{grid-template-columns:1fr;gap:8px}.parent-contract-summary>div{padding:12px 14px}.parent-contract-document{border-radius:12px;padding:18px 14px}.parent-contract-document-header{margin-bottom:18px;padding-bottom:16px}.parent-contract-document-header h2{margin:6px 0 10px;font-size:16px;line-height:1.35}.parent-contract-document-header p{margin:0;font-size:12px;line-height:1.45}.parent-contract-clause{margin-bottom:16px}.parent-contract-clause h3{margin:0 0 7px;font-size:13px;line-height:1.35}.parent-contract-clause-row{margin:0;padding:0}.parent-contract-clause-row p{margin:0 0 3px;font-size:12px;line-height:1.4}.parent-contract-clause.highlighted{border-radius:10px;margin-bottom:16px;padding:12px}.parent-contract-clause.highlighted .parent-contract-clause-row p{margin-bottom:3px}}.parent-contract-document{background:#fff;border:1px solid #dbe4ee;border-radius:18px;max-width:900px;margin:0 auto;padding:34px 38px}.parent-contract-document-header{text-align:center;border-bottom:1px solid #dbe4ee;margin-bottom:18px;padding-bottom:24px}.parent-contract-document-header>p:first-child{color:#475569;margin:0 0 10px;font-size:13px}.parent-contract-document-header h2{color:#0f172a;max-width:620px;margin:0 auto 12px;font-size:21px;line-height:1.35}.parent-contract-document-header p{color:#334155;font-size:14px;line-height:1.65}.parent-contract-clause{margin:0 0 8px}.parent-contract-clause.highlighted{background:#f0fdf4;border:1px solid #86efac;border-radius:12px;margin:10px 0;padding:10px 12px}.parent-contract-section-toggle{text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:9px 0;display:flex}.parent-contract-section-toggle>span:first-child{color:#0f172a;font-size:14px;font-weight:500;line-height:1.4}.contract-chevron{flex:none;font-size:18px;line-height:1;transition:transform .2s}.contract-chevron.open{transform:rotate(180deg)}.parent-contract-section-body{padding:2px 0 8px}.parent-contract-clause-row{grid-template-columns:38px 1fr;align-items:start;gap:8px;margin:0;padding:3px 0;display:grid}.parent-contract-clause-number{color:#0f172a;font-size:13px;line-height:1.55}.parent-contract-clause-row p{color:#334155;margin:0;font-size:13px;line-height:1.55}.parent-contract-section-collapsed{color:#64748b;align-items:center;height:14px;padding-left:4px;font-weight:700;display:flex}@media (width<=768px){.parent-contract-document{border-radius:14px;padding:20px 15px}.parent-contract-document-header{margin-bottom:12px;padding-bottom:16px}.parent-contract-document-header>p:first-child{margin-bottom:7px;font-size:11px}.parent-contract-document-header h2{margin-bottom:10px;font-size:16px;line-height:1.35}.parent-contract-document-header p{margin:0;font-size:11.5px;line-height:1.5}.parent-contract-clause{margin-bottom:4px}.parent-contract-clause.highlighted{border-radius:10px;margin:7px 0;padding:7px 9px}.parent-contract-section-toggle{padding:7px 0}.parent-contract-section-toggle>span:first-child{font-size:12.5px;line-height:1.35}.parent-contract-section-body{padding:0 0 5px}.parent-contract-clause-row{grid-template-columns:31px 1fr;gap:5px;padding:1px 0}.parent-contract-clause-number{font-size:11.5px;line-height:1.4}.parent-contract-clause-row p{margin:0;font-size:11.5px;line-height:1.4}.contract-chevron{font-size:15px}.parent-contract-section-collapsed{height:10px;font-size:11px}}.parent-contract-status-awaiting{color:#d97706!important}.parent-contract-acceptance{background:#fff;border:1px solid #dbe4ee;border-radius:16px;max-width:900px;margin:20px auto 0;padding:24px}.parent-contract-acceptance-heading span{letter-spacing:.08em;color:#64748b;font-size:11px;font-weight:700}.parent-contract-acceptance-heading h3{color:#0f172a;margin:6px 0 18px;font-size:18px}.parent-contract-reminder{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;margin-bottom:20px;padding:14px 16px;font-size:13px;line-height:1.6}.parent-contract-media-consent{border-bottom:1px solid #e2e8f0;margin-bottom:18px;padding-bottom:18px}.parent-contract-media-consent>strong{margin-bottom:6px;font-size:14px;display:block}.parent-contract-media-consent>p{color:#64748b;margin:0 0 12px;font-size:13px;line-height:1.6}.parent-contract-media-consent label{cursor:pointer;align-items:center;gap:8px;margin:8px 0;display:flex}.parent-contract-acceptance-statement{align-items:flex-start;gap:10px;margin-bottom:18px;display:flex}.parent-contract-acceptance-statement p{margin:0;font-size:13px;line-height:1.5}.parent-contract-accept-button{cursor:pointer;border:0;border-radius:10px;width:100%;min-height:48px;font-size:14px;font-weight:700}.parent-contract-accept-button:disabled{cursor:not-allowed;opacity:.45}.parent-contract-accept-message{margin:0 0 14px;font-size:13px;line-height:1.5}@media (width<=768px){.parent-contract-acceptance{border-radius:12px;margin-top:12px;padding:16px}.parent-contract-acceptance-heading h3{font-size:16px}.parent-contract-reminder,.parent-contract-media-consent>p,.parent-contract-acceptance-statement p{font-size:12px}}.parent-contract-signer{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:16px;padding:12px 14px}.parent-contract-signer span{letter-spacing:.05em;color:#64748b;margin-bottom:5px;font-size:10px;font-weight:700;display:block}.parent-contract-signer strong{color:#0f172a;font-size:13px;display:block}.parent-contract-signer p{color:#64748b;margin:3px 0 0;font-size:12px}.contract-approve-button{cursor:pointer;border:none;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600}.contract-approve-button:disabled{opacity:.6;cursor:not-allowed}.contract-approve-message{margin-bottom:12px;font-size:14px;font-weight:500}.contract-active-label{color:#15803d;font-size:13px;font-weight:600}.parent-contract-pdf-area{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;margin-top:24px;padding:22px 24px;display:flex}.parent-contract-pdf-area>div{flex-direction:column;gap:5px;display:flex}.parent-contract-pdf-area span{letter-spacing:.08em;color:#64748b;font-size:11px;font-weight:700}.parent-contract-pdf-area strong{color:#0f172a;font-size:16px}.parent-contract-pdf-area p{color:#64748b;margin:0;font-size:13px;line-height:1.6}.parent-contract-pdf-button{cursor:pointer;color:#fff;background:#0f766e;border:0;border-radius:10px;flex-shrink:0;padding:12px 18px;font-size:13px;font-weight:700}.parent-contract-pdf-button:hover{opacity:.9}.parent-contract-pdf-button:disabled{opacity:.55;cursor:not-allowed}.parent-contract-pdf-message{color:#b91c1c;margin-top:10px;font-size:13px}@media (width<=700px){.parent-contract-pdf-area{flex-direction:column;align-items:stretch}.parent-contract-pdf-button{width:100%}}.parent-contract-details-area{margin-top:18px}.parent-contract-details-toggle{color:#0f172a;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:16px 18px;font-size:14px;font-weight:700;display:flex}.parent-contract-details-toggle:hover{background:#f1f5f9}.parent-contract-details-chevron{font-size:18px;transition:transform .2s;display:inline-block}.parent-contract-details-chevron.open{transform:rotate(180deg)}.parent-contract-document{margin-top:14px}.parent-notification-toolbar{justify-content:flex-end;margin-bottom:16px;display:flex}.parent-notification-button{cursor:pointer;background:#fff;border:1px solid #dbe4ea;border-radius:12px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:700;display:inline-flex;position:relative}.parent-notification-bell{background:#fff7d6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.parent-notification-bell svg{fill:#f5b800;width:16px;height:16px;display:block}.parent-notification-badge{color:#fff;background:#dc2626;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex}.parent-notification-panel{background:#fff;border:1px solid #e2e8f0;border-radius:18px;margin-bottom:24px;overflow:hidden;box-shadow:0 12px 32px #0f172a0f}.parent-notification-panel-header{justify-content:space-between;align-items:center;gap:16px;padding:20px 22px 16px;display:flex}.parent-notification-title-group{align-items:center;gap:12px;display:flex}.parent-notification-title-icon{background:#fff7d6;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.parent-notification-title-icon svg{fill:#f5b800;width:19px;height:19px;display:block}.parent-notification-kicker{letter-spacing:.08em;color:#0f766e;margin-bottom:3px;font-size:10px;font-weight:800;display:block}.parent-notification-panel-header h3{color:#0f172a;margin:0;font-size:17px;line-height:1.25}.parent-notification-close{color:#475569;cursor:pointer;background:#f1f5f9;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:22px;line-height:1;display:inline-flex}.parent-notification-summary{background:#f8fafc;border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:10px 22px;display:flex}.parent-notification-summary span{color:#64748b;font-size:12px;font-weight:600}.parent-notification-summary button{color:#0f766e;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:700}.parent-notification-list{max-height:430px;padding:10px;overflow-y:auto}.parent-notification-item{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #f1f5f9;border-radius:10px;grid-template-columns:10px minmax(0,1fr);gap:10px;width:100%;padding:14px 12px;display:grid}.parent-notification-item:last-child{border-bottom:0}.parent-notification-item:hover{background:#f8fafc}.parent-notification-item.unread{background:#f0fdfa}.parent-notification-status-dot{background:0 0;border-radius:50%;width:7px;height:7px;margin-top:6px}.parent-notification-status-dot.unread{background:#0f766e}.parent-notification-content{min-width:0}.parent-notification-item-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.parent-notification-item-top strong{color:#0f172a;font-size:13px;line-height:1.4}.parent-notification-new{color:#0f766e;letter-spacing:.05em;background:#ccfbf1;border-radius:999px;flex-shrink:0;padding:3px 6px;font-size:9px;font-weight:800}.parent-notification-content p{color:#475569;margin:5px 0 6px;font-size:12px;line-height:1.55}.parent-notification-content small{color:#94a3b8;font-size:10px;display:block}.parent-notification-state{text-align:center;color:#64748b;padding:36px 20px;font-size:13px}.parent-notification-empty{text-align:center;padding:38px 24px 42px}.parent-notification-empty-icon{color:#059669;background:#ecfdf5;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;margin:0 auto 12px;font-size:18px;font-weight:800;display:flex}.parent-notification-empty strong{color:#0f172a;margin-bottom:6px;font-size:14px;display:block}.parent-notification-empty p{color:#64748b;max-width:360px;margin:0 auto;font-size:12px;line-height:1.6}.parent-notification-error{color:#b91c1c;background:#fef2f2;border-radius:10px;margin:12px 22px;padding:10px 12px;font-size:12px}@media (width<=700px){.parent-notification-panel{border-radius:16px;margin-bottom:18px}.parent-notification-panel-header{padding:16px}.parent-notification-title-icon{width:36px;height:36px}.parent-notification-panel-header h3{font-size:15px}.parent-notification-summary{padding:9px 16px}.parent-notification-summary span,.parent-notification-summary button{font-size:11px}.parent-notification-list{max-height:360px;padding:8px}.parent-notification-item{padding:13px 10px}}.parent-push-settings{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin:14px;padding:14px 16px;display:grid}.parent-push-settings-info{align-items:center;gap:12px;min-width:0;display:flex}.parent-push-settings-icon{background:#fff7d6;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:17px;display:flex}.parent-push-settings-info strong{color:#0f172a;margin-bottom:3px;font-size:13px;display:block}.parent-push-settings-info p{color:#64748b;max-width:420px;margin:0;font-size:11px;line-height:1.5}.parent-push-enable-button{color:#fff;cursor:pointer;background:#0f766e;border:0;border-radius:10px;padding:9px 14px;font-size:11px;font-weight:700}.parent-push-enable-button:hover{background:#115e59}.parent-push-enable-button:disabled{opacity:.6;cursor:wait}.parent-push-enabled{color:#15803d;background:#dcfce7;border-radius:999px;align-items:center;padding:8px 11px;font-size:11px;font-weight:800;display:inline-flex}.parent-push-message{color:#b45309;grid-column:1/-1;margin:0;padding-top:4px;font-size:11px;line-height:1.45}.parent-push-message.success{color:#15803d}@media (width<=700px){.parent-push-settings{grid-template-columns:1fr;margin:10px;padding:14px}.parent-push-settings-action{padding-left:50px}.parent-push-enable-button{width:100%}}.parent-contract-selector{background:#fff;border:1px solid #e5e7eb;border-radius:14px;margin:0 0 18px;padding:16px}.parent-contract-selector label{color:#64748b;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.parent-contract-selector select{width:100%;min-height:44px;font:inherit;color:#111827;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:10px;padding:0 12px}.announcement-form-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;margin-top:20px;padding:28px;box-shadow:0 8px 24px #0f172a0a}.form-group{flex-direction:column;gap:8px;display:flex}.form-group-wide{grid-column:1/-1}.form-group label{color:#475569;font-size:13px;font-weight:700}.form-group input,.form-group select,.form-group textarea{color:#0f172a;background:#fff;border:1px solid #d8dee8;border-radius:10px;outline:none;width:100%;padding:12px 14px;font-size:14px}.form-group textarea{resize:vertical;min-height:130px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e14}.primary-button{color:#fff;cursor:pointer;background:#0f766e;border:none;border-radius:10px;min-width:120px;padding:12px 20px;font-size:14px;font-weight:700}.primary-button:hover{background:#115e59}@media (width<=900px){.announcement-form-grid{grid-template-columns:1fr}.form-group-wide{grid-column:auto}}.parent-portal-layout{background:#f7f8fa;min-height:100vh;display:flex}.parent-sidebar{z-index:40;background:#fff;border-right:1px solid #e8eaed;flex-direction:column;flex-shrink:0;width:250px;height:100vh;padding:28px 18px 20px;display:flex;position:sticky;top:0}.parent-sidebar-header{border-bottom:1px solid #eef0f2;padding:0 12px 24px}.parent-sidebar-header .eyebrow{letter-spacing:.08em;color:#df336c;margin:0 0 6px;font-size:11px;font-weight:800}.parent-sidebar-header h2{color:#171717;margin:0;font-size:20px}.parent-sidebar-nav{flex-direction:column;flex:1;gap:5px;padding:22px 0;display:flex}.parent-sidebar-nav button{text-align:left;color:#4b5563;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;padding:12px 14px;font-size:14px;font-weight:600;transition:background .15s,color .15s;display:flex}.parent-sidebar-nav button span{text-align:center;width:22px;font-size:17px}.parent-sidebar-nav button.active{color:#df336c;background:#fff1f5}.parent-sidebar-nav button.active span{color:#df336c}.parent-sidebar-alert{background:#df336c;border-radius:50%;width:7px;height:7px;margin-left:auto}.parent-sidebar-footer{border-top:1px solid #eef0f2;flex-direction:column;gap:3px;padding:18px 12px 4px;display:flex}.parent-sidebar-footer strong{color:#171717;font-size:14px}.parent-sidebar-footer span{color:#8a9099;font-size:12px}.parent-portal-main{flex:1;min-width:0}.parent-portal-main>.parent-dashboard{max-width:1500px;margin:0 auto}.parent-mobile-header,.parent-sidebar-overlay{display:none}@media (width<=900px){.parent-portal-layout{display:block}.parent-sidebar{width:270px;height:100vh;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:12px 0 30px #0f172a1f}.parent-sidebar.open{transform:translate(0)}.parent-mobile-header{z-index:30;background:#fffffff5;border-bottom:1px solid #e8eaed;align-items:center;gap:14px;min-height:58px;padding:8px 18px;display:flex;position:sticky;top:0}.parent-mobile-menu-button{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:9px;width:38px;height:38px;font-size:19px}.parent-mobile-header strong{color:#171717;font-size:15px}.parent-sidebar-overlay{z-index:35;background:#0f172a4d;border:0;display:block;position:fixed;inset:0}}.parent-quick-actions{margin-top:24px;margin-bottom:28px}.parent-quick-actions-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.parent-quick-actions-heading h3{color:#172033;margin:4px 0 0;font-size:20px;font-weight:800}.parent-quick-actions-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.parent-quick-action-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e6e9ef;border-radius:16px;align-items:center;gap:13px;min-height:92px;padding:16px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.parent-quick-action-card:hover{border-color:#d6dbe5;transform:translateY(-2px);box-shadow:0 10px 24px #0f172a14}.parent-quick-action-icon{color:#424b5f;background:#f4f6fa;border-radius:13px;justify-content:center;align-items:center;width:42px;min-width:42px;height:42px;font-size:24px;font-weight:700;display:flex}.parent-quick-action-card>div{flex-direction:column;gap:4px;display:flex}.parent-quick-action-card strong{color:#172033;font-size:15px;font-weight:800}.parent-quick-action-card>div>span{color:#778095;font-size:12px;line-height:1.4}.parent-quick-action-card.attendance .parent-quick-action-icon{color:#16856a;background:#edf9f5}.parent-quick-action-card.grades .parent-quick-action-icon{color:#c77813;background:#fff5e7}.parent-quick-action-card.payments .parent-quick-action-icon{color:#4769c7;background:#eef4ff}.parent-quick-action-card.contracts .parent-quick-action-icon{color:#8056b5;background:#f7efff}@media (width<=900px){.parent-quick-actions-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=540px){.parent-quick-actions-grid{grid-template-columns:repeat(2,1fr);gap:10px}.parent-quick-action-card{gap:10px;min-height:82px;padding:12px}.parent-quick-action-icon{width:36px;min-width:36px;height:36px;font-size:20px}.parent-quick-action-card strong{font-size:14px}.parent-quick-action-card>div>span{font-size:11px}}.parent-home-quick-area{margin-top:28px;margin-bottom:32px}.parent-home-quick-heading{margin-bottom:16px}.parent-home-quick-heading .eyebrow{margin-bottom:4px}.parent-home-quick-heading h3{color:#172033;margin:0;font-size:23px;font-weight:800;line-height:1.25}.parent-home-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.parent-home-quick-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e7ebf2;border-radius:20px;align-items:center;gap:14px;min-width:0;min-height:116px;padding:18px 42px 18px 18px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;position:relative;box-shadow:0 8px 22px #1b263e0a}.parent-home-quick-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px #1b263e17}.parent-home-quick-icon{border-radius:15px;justify-content:center;align-items:center;width:48px;min-width:48px;height:48px;font-size:23px;font-weight:800;display:flex}.parent-home-quick-text{flex-direction:column;gap:5px;min-width:0;display:flex}.parent-home-quick-text strong{color:#172033;font-size:16px;font-weight:800}.parent-home-quick-text span{color:#718096;font-size:12px;line-height:1.45}.parent-home-quick-arrow{color:#64748b;background:#ffffffb8;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:23px;line-height:1;display:flex;position:absolute;right:16px}.parent-home-quick-card.attendance{background:linear-gradient(135deg,#f1fffb 0%,#effcf9 100%)}.parent-home-quick-card.attendance .parent-home-quick-icon{color:#11977a;background:#d9f7ef}.parent-home-quick-card.grades{background:linear-gradient(135deg,#fffaf0 0%,#fff7e8 100%)}.parent-home-quick-card.grades .parent-home-quick-icon{color:#e49418;background:#ffedc7}.parent-home-quick-card.payments{background:linear-gradient(135deg,#f4f8ff 0%,#eef5ff 100%)}.parent-home-quick-card.payments .parent-home-quick-icon{color:#4977d8;background:#dfeaff}.parent-home-quick-card.contracts{background:linear-gradient(135deg,#faf7ff 0%,#f5f0ff 100%)}.parent-home-quick-card.contracts .parent-home-quick-icon{color:#8759d8;background:#eadcff}.parent-home-portfolio-feature{text-align:left;cursor:pointer;background:linear-gradient(115deg,#139e93 0%,#22aaa3 48%,#88d4ae 100%);border:0;border-radius:24px;justify-content:space-between;align-items:center;gap:30px;width:100%;min-height:180px;margin-top:18px;padding:25px 32px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 15px 34px #198f842e}.parent-home-portfolio-feature:hover{transform:translateY(-3px);box-shadow:0 20px 42px #198f8440}.parent-home-portfolio-decoration-one{pointer-events:none;background:#ffffff14;border-radius:50%;width:360px;height:360px;position:absolute;top:-230px;right:70px}.parent-home-portfolio-decoration-two{pointer-events:none;background:#ffffff12;border-radius:50%;width:260px;height:260px;position:absolute;bottom:-170px;right:-110px}.parent-home-portfolio-left{z-index:2;align-items:center;gap:24px;display:flex;position:relative}.parent-home-portfolio-avatar{background:#fff;border:7px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:116px;min-width:116px;height:116px;display:flex;overflow:hidden;box-shadow:0 10px 25px #0b524d2e}.parent-home-portfolio-avatar img{object-fit:cover;width:100%;height:100%}.parent-home-portfolio-avatar span{color:#15998f;font-size:42px;font-weight:800}.parent-home-portfolio-content{color:#fff}.parent-home-portfolio-label{letter-spacing:.08em;color:#ffffffdb;margin-bottom:6px;font-size:12px;font-weight:800;display:block}.parent-home-portfolio-content h3{color:#fff;margin:0 0 7px;font-size:28px;font-weight:900;line-height:1.15}.parent-home-portfolio-content p{color:#ffffffe6;max-width:430px;margin:0;font-size:14px;line-height:1.55}.parent-home-portfolio-action{z-index:2;color:#172033;background:#fff;border-radius:999px;justify-content:space-between;align-items:center;gap:20px;min-width:205px;padding:15px 19px;display:flex;position:relative;box-shadow:0 7px 18px #1a484b1f}.parent-home-portfolio-action span{font-size:13px;font-weight:800}.parent-home-portfolio-action strong{color:#4f6e91;font-size:24px;line-height:1}@media (width<=1050px){.parent-home-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.parent-home-quick-heading h3{font-size:19px}.parent-home-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.parent-home-quick-card{border-radius:16px;gap:10px;min-height:105px;padding:14px 34px 14px 13px}.parent-home-quick-icon{border-radius:12px;width:40px;min-width:40px;height:40px;font-size:19px}.parent-home-quick-text strong{font-size:14px}.parent-home-quick-text span{font-size:10px}.parent-home-quick-arrow{width:25px;height:25px;font-size:19px;right:9px}.parent-home-portfolio-feature{border-radius:20px;flex-direction:column;align-items:stretch;gap:18px;min-height:auto;padding:20px}.parent-home-portfolio-left{gap:15px}.parent-home-portfolio-avatar{border-width:5px;width:74px;min-width:74px;height:74px}.parent-home-portfolio-avatar span{font-size:28px}.parent-home-portfolio-content h3{font-size:21px}.parent-home-portfolio-content p{font-size:12px}.parent-home-portfolio-action{width:100%;min-width:0;padding:13px 17px}}.parent-portfolio-intro{grid-template-columns:1.5fr .8fr;align-items:stretch;gap:20px;margin-bottom:22px;display:grid}.parent-portfolio-intro-main{align-items:flex-start;gap:16px;padding:8px 4px;display:flex}.parent-portfolio-title-icon{color:#159a89;background:#e8faf6;border-radius:16px;justify-content:center;align-items:center;width:52px;min-width:52px;height:52px;font-size:24px;font-weight:800;display:flex}.parent-portfolio-intro-main h2{color:#172033;margin:4px 0 8px;font-size:29px;font-weight:900;line-height:1.2}.parent-portfolio-intro-main>div>p:last-child{color:#6f7b91;max-width:620px;margin:0;font-size:14px;line-height:1.6}.parent-portfolio-quote-card{background:linear-gradient(135deg,#f3fffb 0%,#ecfaf6 100%);border:1px solid #e5f5ef;border-radius:22px;justify-content:center;align-items:center;gap:12px;min-height:120px;padding:24px;display:flex;position:relative;overflow:hidden}.parent-portfolio-quote-card:after{content:"";background:#14a5910f;border-radius:50%;width:170px;height:170px;position:absolute;top:-90px;right:-60px}.parent-portfolio-quote-icon{z-index:2;color:#14a591;font-size:27px;position:relative}.parent-portfolio-quote-card p{z-index:2;color:#30445e;margin:0;font-size:16px;line-height:1.5;position:relative}.parent-portfolio-quote-card strong{color:#172033;font-size:17px;display:block}.parent-portfolio-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px;display:grid}.parent-portfolio-summary-card{background:#fff;border:1px solid #e6ebf2;border-radius:18px;align-items:center;gap:14px;min-height:108px;padding:17px;display:flex;box-shadow:0 7px 20px #1923370a}.parent-portfolio-summary-icon{border-radius:15px;justify-content:center;align-items:center;width:46px;min-width:46px;height:46px;font-size:21px;font-weight:800;display:flex}.parent-portfolio-summary-card>div:last-child{flex-direction:column;gap:4px;display:flex}.parent-portfolio-summary-card strong{color:#172033;font-size:26px;line-height:1}.parent-portfolio-summary-card span{color:#718096;font-size:12px;line-height:1.35}.parent-portfolio-summary-card.total{background:linear-gradient(135deg,#f0fffb,#f7fffd)}.parent-portfolio-summary-card.total .parent-portfolio-summary-icon{color:#159d89;background:#d9f7ef}.parent-portfolio-summary-card.competition{background:linear-gradient(135deg,#fffaf0,#fffdf8)}.parent-portfolio-summary-card.competition .parent-portfolio-summary-icon{color:#dc9118;background:#ffedca}.parent-portfolio-summary-card.activity{background:linear-gradient(135deg,#f2f7ff,#f8fbff)}.parent-portfolio-summary-card.activity .parent-portfolio-summary-icon{color:#5279d2;background:#e0ebff}.parent-portfolio-summary-card.project{background:linear-gradient(135deg,#faf5ff,#fcfaff)}.parent-portfolio-summary-card.project .parent-portfolio-summary-icon{color:#8556d8;background:#eadcff}.parent-portfolio-toolbar{margin-top:4px;margin-bottom:20px}.parent-portfolio-filters{flex-wrap:wrap;gap:10px;display:flex}.parent-portfolio-filters button{color:#596579;cursor:pointer;background:#f7f9fc;border:1px solid #edf0f4;border-radius:999px;padding:10px 18px;font-size:12px;font-weight:700}.parent-portfolio-filters button.active{color:#fff;background:#15a293;border-color:#15a293}@media (width<=1000px){.parent-portfolio-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.parent-portfolio-intro{grid-template-columns:1fr}.parent-portfolio-intro-main h2{font-size:23px}.parent-portfolio-quote-card{min-height:96px}}@media (width<=560px){.parent-portfolio-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.parent-portfolio-summary-card{gap:10px;min-height:92px;padding:13px}.parent-portfolio-summary-icon{width:38px;min-width:38px;height:38px;font-size:18px}.parent-portfolio-summary-card strong{font-size:21px}.parent-portfolio-summary-card span{font-size:10px}}.student-home-profile{background:#fff;border:1px solid #e3e9f1;border-radius:22px;justify-content:space-between;align-items:center;gap:28px;min-height:174px;margin-bottom:22px;padding:26px 34px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #1f2d460a}.student-home-profile:after{content:"";pointer-events:none;background:#37c7b01a;border-radius:50%;width:310px;height:310px;position:absolute;top:-190px;right:-80px}.student-home-profile-main{z-index:2;align-items:center;gap:22px;display:flex;position:relative}.student-home-profile-avatar{background:#eefaf7;border:5px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:112px;min-width:112px;height:112px;display:flex;overflow:hidden;box-shadow:0 8px 22px #135a5324}.student-home-profile-avatar img{object-fit:cover;width:100%;height:100%}.student-home-profile-avatar span{color:#169b8c;font-size:40px;font-weight:900}.student-home-code{letter-spacing:.06em;color:#139486;margin:0 0 7px;font-size:12px;font-weight:800}.student-home-profile-content h2{color:#111b39;margin:0 0 12px;font-size:30px;font-weight:900;line-height:1.15}.student-home-profile-meta{flex-wrap:wrap;gap:9px;display:flex}.student-home-profile-meta span{color:#405474;background:#f5f8fc;border-radius:999px;align-items:center;min-height:31px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.student-home-quote{z-index:2;align-items:center;gap:14px;min-width:280px;padding:18px 22px;display:flex;position:relative}.student-home-quote>span{font-size:28px}.student-home-quote p{color:#536984;margin:0;font-size:15px;line-height:1.5}.student-home-quote strong{color:#304867;font-size:16px;display:block}.student-home-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px;display:grid}.student-home-summary-card{text-align:left;cursor:pointer;border:1px solid #e2e8f0;border-radius:20px;align-items:flex-start;gap:15px;min-width:0;min-height:150px;padding:20px 45px 20px 20px;transition:transform .18s,box-shadow .18s;display:flex;position:relative;box-shadow:0 7px 20px #1c28420a}.student-home-summary-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #1c284217}.student-home-summary-icon{border-radius:15px;justify-content:center;align-items:center;width:48px;min-width:48px;height:48px;font-size:22px;font-weight:900;display:flex}.student-home-summary-info{flex-direction:column;min-width:0;display:flex}.student-home-summary-info>span{letter-spacing:.03em;color:#405170;margin:3px 0 10px;font-size:11px;font-weight:800}.student-home-summary-info strong{color:#111b39;margin-bottom:8px;font-size:28px;font-weight:900;line-height:1}.student-home-summary-info p{color:#74829a;margin:0;font-size:11px;line-height:1.45}.student-home-summary-arrow{color:#536b8c;background:#ffffffc7;border-radius:50%;justify-content:center;align-items:center;width:31px;height:31px;font-size:22px;display:flex;position:absolute;top:50%;right:15px;transform:translateY(-50%)}.student-home-summary-card.assignments{background:linear-gradient(135deg,#fffaf1,#fffdf8)}.student-home-summary-card.assignments .student-home-summary-icon{color:#f08b1c;background:#ffedcf}.student-home-summary-card.grades{background:linear-gradient(135deg,#f2f7ff,#f8fbff)}.student-home-summary-card.grades .student-home-summary-icon{color:#3979df;background:#dfeaff}.student-home-summary-card.attendance{background:linear-gradient(135deg,#effdf9,#f8fffd)}.student-home-summary-card.attendance .student-home-summary-icon{color:#12927e;background:#d8f6ed}.student-home-summary-card.attention{background:linear-gradient(135deg,#fff3f7,#fffafd)}.student-home-summary-card.attention .student-home-summary-icon{color:#ef315c;background:#ffe0ea}.student-home-portfolio-banner{text-align:left;cursor:pointer;background:linear-gradient(112deg,#12a8a0 0%,#2db6ad 48%,#83d5aa 100%);border:0;border-radius:24px;grid-template-columns:220px minmax(0,1fr) auto;align-items:center;gap:28px;width:100%;min-height:220px;padding:28px 34px;transition:transform .2s,box-shadow .2s;display:grid;position:relative;overflow:hidden;box-shadow:0 16px 34px #168f842e}.student-home-portfolio-banner:hover{transform:translateY(-3px);box-shadow:0 20px 42px #168f843d}.student-home-portfolio-circle-one{background:#ffffff17;border-radius:50%;width:430px;height:430px;position:absolute;top:-300px;right:60px}.student-home-portfolio-circle-two{background:#ffffff14;border-radius:50%;width:250px;height:250px;position:absolute;bottom:-160px;right:-90px}.student-home-portfolio-visual{z-index:2;justify-content:center;align-items:center;height:160px;display:flex;position:relative}.student-home-folder{background:linear-gradient(145deg,#ffb343,#ffc967);border-radius:14px 14px 20px 20px;width:128px;height:96px;margin-top:26px;position:relative;transform:rotate(-5deg);box-shadow:0 12px 24px #50533c2e}.student-home-folder-tab{background:#ffbd50;border-radius:10px 10px 0 0;width:55px;height:25px;position:absolute;top:-15px;left:8px}.student-home-folder-paper{border-radius:10px;justify-content:center;align-items:center;width:72px;height:82px;font-size:28px;display:flex;position:absolute;top:-43px;box-shadow:0 7px 15px #21406021}.student-home-folder-paper.paper-one{color:#3d95e8;background:#d8edff;left:15px;transform:rotate(-8deg)}.student-home-folder-paper.paper-two{color:#7b67dd;background:#fff;right:11px;transform:rotate(7deg)}.student-home-folder-heart{color:#f4537a;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:flex;position:absolute;bottom:10px;right:9px;box-shadow:0 5px 14px #44526226}.student-home-sparkle{z-index:3;color:#ffd85b;font-size:29px;position:absolute}.student-home-sparkle.sparkle-one{top:17px;left:14px}.student-home-sparkle.sparkle-two{font-size:19px;top:28px;right:14px}.student-home-dot{border-radius:50%;width:14px;height:14px;position:absolute}.student-home-dot.dot-one{background:#806af0;bottom:25px;left:8px}.student-home-dot.dot-two{background:#ff7589;bottom:11px;right:21px}.student-home-portfolio-content{z-index:2;color:#fff;position:relative}.student-home-portfolio-content>span{letter-spacing:.1em;color:#ffffffe0;margin-bottom:7px;font-size:12px;font-weight:800;display:block}.student-home-portfolio-content h2{color:#fff;margin:0 0 10px;font-size:32px;font-weight:900;line-height:1.1}.student-home-portfolio-content p{color:#ffffffeb;margin:0;font-size:15px;line-height:1.55}.student-home-portfolio-button{z-index:2;background:#fff;border-radius:999px;justify-content:space-between;align-items:center;gap:22px;min-width:220px;padding:16px 20px;display:flex;position:relative;box-shadow:0 8px 20px #1655521f}.student-home-portfolio-button span{color:#172033;font-size:13px;font-weight:800}.student-home-portfolio-button strong{color:#42617f;font-size:24px;line-height:1}@media (width<=1050px){.student-home-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-home-portfolio-banner{grid-template-columns:160px minmax(0,1fr);min-height:220px}.student-home-portfolio-button{grid-column:1/-1;width:100%;min-width:0}}@media (width<=680px){.student-home-profile{flex-direction:column;align-items:stretch;padding:20px}.student-home-profile-main{gap:15px}.student-home-profile-avatar{width:78px;min-width:78px;height:78px}.student-home-profile-content h2{font-size:21px}.student-home-quote{min-width:0;padding:8px 0}.student-home-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-home-summary-card{border-radius:17px;gap:10px;min-height:132px;padding:15px 34px 15px 13px}.student-home-summary-icon{border-radius:12px;width:40px;min-width:40px;height:40px;font-size:18px}.student-home-summary-info>span{font-size:9px}.student-home-summary-info strong{font-size:23px}.student-home-summary-info p{font-size:9px}.student-home-summary-arrow{width:25px;height:25px;font-size:18px;right:7px}.student-home-portfolio-banner{flex-direction:column;align-items:stretch;gap:16px;min-height:0;padding:22px;display:flex}.student-home-portfolio-visual{height:125px}.student-home-folder{transform:scale(.82)rotate(-5deg)}.student-home-portfolio-content h2{font-size:24px}.student-home-portfolio-content p{font-size:13px}.student-home-portfolio-button{width:100%;min-width:0;padding:14px 17px}}.teacher-mobile-header,.teacher-sidebar-overlay{display:none}@media (width<=900px){.dashboard{min-height:100vh;display:block}.teacher-sidebar{z-index:1200;width:280px;max-width:84vw;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-105%);box-shadow:18px 0 40px #0f172a29}.teacher-sidebar.open{transform:translate(0)}.teacher-sidebar-overlay{z-index:1100;background:#0f172a61;border:0;display:block;position:fixed;inset:0}.teacher-mobile-header{z-index:900;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-bottom:1px solid #e6ebf2;align-items:center;gap:12px;min-height:64px;padding:10px 16px;display:flex;position:sticky;top:0}.teacher-mobile-menu-button{cursor:pointer;background:#fff;border:1px solid #e3e8ef;border-radius:13px;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;font-size:21px;display:flex}.teacher-mobile-header>div{flex-direction:column;gap:2px;display:flex}.teacher-mobile-header span{letter-spacing:.08em;color:#139486;font-size:9px;font-weight:800}.teacher-mobile-header strong{color:#172033;font-size:15px}.dashboard-main,.main-content{width:100%;margin-left:0!important;padding:16px!important}.students-page{width:100%;padding-left:0;padding-right:0}.dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-card{min-width:0}.teacher-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.course-actions{flex-wrap:wrap;gap:10px;display:flex}.course-actions button{flex:180px}.student-table-wrap,.teacher-table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.student-table,.teacher-table{min-width:720px}}@media (width<=600px){.teacher-mobile-header{min-height:60px;padding:9px 12px}.teacher-mobile-menu-button{flex-basis:40px;width:40px;height:40px}.dashboard-main,.main-content{padding:12px!important}.page-heading h2{font-size:24px;line-height:1.2}.page-heading p{font-size:13px;line-height:1.5}.teacher-overview{flex-direction:column;align-items:flex-start;padding:18px}.teacher-overview-details{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-card{min-height:118px;padding:14px}.dashboard-card strong{font-size:25px}.dashboard-card p{font-size:11px}.teacher-course-grid{grid-template-columns:1fr}.teacher-course-card{text-align:left;width:100%}.attendance-main-button,.primary-button,.save-button{width:100%;min-height:46px}.form-grid,.teacher-form-grid{grid-template-columns:1fr!important}input,select,textarea{max-width:100%}.attendance-list,.attendance-student-list{width:100%}.modal-card,.teacher-modal{width:calc(100vw - 24px);max-height:calc(100vh - 24px);margin:12px;overflow-y:auto}}@media (width<=900px){.dashboard-main{width:100%;margin-left:0!important;padding:16px!important}}.teacher-header-actions{align-items:center;gap:14px;display:flex;position:relative}.teacher-notification-wrapper{position:relative}.teacher-notification-bell{cursor:pointer;background:#fff;border:1px solid #e4e9f0;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:relative}.teacher-bell-icon{font-size:22px}.teacher-notification-count{color:#fff;background:#ef476f;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:10px;font-weight:800;display:flex;position:absolute;top:-5px;right:-4px}.teacher-notification-panel{z-index:1400;background:#fff;border:1px solid #e3e8ef;border-radius:20px;width:390px;max-width:calc(100vw - 28px);position:absolute;top:54px;right:0;overflow:hidden;box-shadow:0 20px 50px #0f172a29}.teacher-notification-panel-header{border-bottom:1px solid #eef1f5;justify-content:space-between;align-items:center;gap:14px;padding:17px 18px;display:flex}.teacher-notification-panel-header>div{flex-direction:column;gap:3px;display:flex}.teacher-notification-panel-header strong{color:#172033;font-size:16px}.teacher-notification-panel-header span{color:#7b879b;font-size:11px}.teacher-notification-panel-header button{color:#159787;cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:700}.teacher-push-box{background:#effbf8;border-radius:15px;justify-content:space-between;align-items:center;gap:14px;margin:14px;padding:14px;display:flex}.teacher-push-box>div{flex-direction:column;gap:4px;display:flex}.teacher-push-box strong{color:#17383b;font-size:13px}.teacher-push-box span{color:#638085;font-size:10px;line-height:1.45}.teacher-push-box button{color:#fff;cursor:pointer;background:#159d8c;border:0;border-radius:999px;flex:none;padding:9px 13px;font-size:11px;font-weight:800}.teacher-push-enabled{background:#daf5ed;border-radius:999px;padding:7px 10px;font-weight:800;color:#13836f!important}.teacher-push-message{color:#6c788d;margin:-5px 17px 12px;font-size:11px;line-height:1.5}.teacher-notification-list{max-height:420px;overflow-y:auto}.teacher-notification-item{text-align:left;cursor:pointer;background:#fff;border:0;border-top:1px solid #f0f2f5;align-items:flex-start;gap:12px;width:100%;padding:15px 17px;display:flex}.teacher-notification-item.unread{background:#f2fbf9}.teacher-notification-type{color:#138d7c;background:#e1f6f1;border-radius:11px;justify-content:center;align-items:center;width:34px;min-width:34px;height:34px;font-weight:900;display:flex}.teacher-notification-item>div{min-width:0}.teacher-notification-item strong{color:#172033;margin-bottom:4px;font-size:13px;display:block}.teacher-notification-item p{color:#66758c;margin:0 0 5px;font-size:11px;line-height:1.5}.teacher-notification-item small{color:#9aa4b3;font-size:9px}.teacher-notification-empty{text-align:center;color:#8792a4;padding:32px 20px;font-size:12px}@media (width<=600px){.teacher-notification-panel{width:auto;max-width:none;position:fixed;top:70px;left:12px;right:12px}.teacher-header-actions .admin-profile{display:none}}.teacher-bell-icon{justify-content:center;align-items:center;font-size:20px;line-height:1;display:flex}@media (width<=768px){.parent-portal-layout{width:100%;min-width:0;max-width:100%;overflow-x:hidden}.parent-portal-main{width:100%;min-width:0;max-width:100%;overflow-x:hidden;margin-left:0!important;padding:0!important}.parent-portal-main>.students-page.parent-dashboard{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin:0!important;padding:16px!important}.parent-dashboard .page-heading,.parent-dashboard .parent-student-profile,.parent-dashboard .parent-summary-grid,.parent-dashboard .parent-home-quick-area,.parent-dashboard .parent-section{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin-left:0;margin-right:0}.parent-notification-toolbar{justify-content:flex-end;width:100%;margin:0 0 14px;display:flex}.student-dashboard-shell{width:100%;min-width:0;max-width:100%;overflow-x:hidden}.student-dashboard-shell>.main-content{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin-left:0!important;padding:82px 16px 32px!important}.student-mobile-menu-button{z-index:1300;width:42px;height:42px;position:fixed;top:16px;left:16px}.student-dashboard-header{width:100%;margin-top:0;margin-bottom:20px;padding-left:0}.student-dashboard-header .eyebrow{padding-left:0}.student-dashboard-header h1,.student-dashboard-header h2{max-width:calc(100% - 56px);margin-right:56px}.student-notification-wrapper,.student-notification-toolbar{z-index:10;position:relative}.student-dashboard-shell .student-dashboard-header{min-height:52px;padding-left:56px}.parent-dashboard{font-size:15px}.parent-dashboard .eyebrow{letter-spacing:.06em;line-height:1.4;font-size:11px!important}.parent-dashboard .page-heading h2{line-height:1.15;font-size:28px!important}.parent-dashboard .page-heading p{line-height:1.55;font-size:14px!important}.parent-student-profile .eyebrow{font-size:11px!important}.parent-student-profile h2{line-height:1.2;font-size:22px!important}.parent-profile-meta span{font-size:12px!important}.parent-summary-content span{line-height:1.35;font-size:11px!important}.parent-summary-content strong{font-size:26px!important}.parent-summary-content p{line-height:1.45;font-size:12px!important}.parent-home-quick-heading h3{line-height:1.25;font-size:22px!important}.parent-home-quick-text strong{font-size:16px!important}.parent-home-quick-text span{line-height:1.45;font-size:13px!important}.parent-section h3{line-height:1.25;font-size:22px!important}.parent-section-description{line-height:1.55;font-size:14px!important}.parent-course-type,.parent-course-metric span,.parent-payment-overview-card span,.parent-payment-invoice-label,.parent-observation-metric span,.parent-portfolio-summary-card span{line-height:1.4;font-size:11px!important}.parent-course-premium-card h4{font-size:18px!important}.parent-course-premium-card p{font-size:13px!important}.parent-notification-button{font-size:14px!important}.parent-notification-panel{font-size:14px}.parent-notification-content strong{font-size:15px!important}.parent-notification-content p{line-height:1.5;font-size:13px!important}.parent-dashboard .page-heading>.eyebrow{letter-spacing:.06em;text-transform:uppercase;line-height:1.3;color:#0f8f83!important;font-size:13px!important;font-weight:800!important}}.teacher-overview-profile{background:linear-gradient(135deg,#fff 0%,#f5fffd 55%,#ecfbf8 100%);border:1px solid #dce8e6;border-radius:24px;padding:24px;position:relative;overflow:hidden;box-shadow:0 12px 32px #0f766e12}.teacher-overview-profile:after{content:"";pointer-events:none;background:#2dd4bf1a;border-radius:50%;width:150px;height:150px;position:absolute;top:-50px;right:-40px}.welcome-panel{color:#fff;background:linear-gradient(135deg,#0f8f83 0%,#28b7a8 100%);border:0;border-radius:24px;padding:28px;position:relative;overflow:hidden;box-shadow:0 14px 34px #0f8f832e}.welcome-panel .eyebrow,.welcome-panel span,.welcome-panel p{color:#ffffffd1}.welcome-panel:before{content:"";background:#ffffff1a;border-radius:50%;width:170px;height:170px;position:absolute;top:-70px;right:-60px}.welcome-panel:after{content:"";background:#ffffff14;border-radius:50%;width:90px;height:90px;position:absolute;bottom:-45px;right:80px}.dashboard-cards{gap:14px}.dashboard-card{border:1px solid #e6ebf2;border-radius:20px;min-height:145px;padding:20px;transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden;box-shadow:0 8px 22px #0f172a0d}.dashboard-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #0f172a14}.dashboard-card:first-child{background:linear-gradient(135deg,#fffaf0,#fff6df);border-color:#f6e4bd}.dashboard-card:nth-child(2){background:linear-gradient(135deg,#f1f7ff,#edf4ff);border-color:#dbe8fb}.dashboard-card:nth-child(3){background:linear-gradient(135deg,#effcf9,#e9faf6);border-color:#d2eee8}.dashboard-card:nth-child(4){background:linear-gradient(135deg,#fff3f7,#fff0f4);border-color:#f4dce4}.dashboard-card p{color:#718096}.dashboard-card:first-child strong{color:#f59e0b}.dashboard-card:nth-child(2) strong{color:#3b82f6}.dashboard-card:nth-child(3) strong{color:#0f9f8f}.dashboard-card:nth-child(4) strong{color:#f43f5e}.teacher-course-card{background:linear-gradient(145deg,#fff,#f7fffd);border:1px solid #dde7e5;border-radius:20px;transition:transform .18s,box-shadow .18s;box-shadow:0 8px 22px #0f172a0d}.teacher-course-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #0f172a14}.teacher-dashboard .eyebrow,.dashboard-main .eyebrow{color:#0f8f83;letter-spacing:.07em;font-weight:800}.teacher-course-card button,.attendance-main-button{border-radius:12px}.attendance-main-button{color:#fff;background:linear-gradient(135deg,#0f8f83,#28b7a8);border:0;box-shadow:0 6px 16px #0f8f832e}@media (width<=600px){.teacher-overview-profile{border-radius:22px;padding:20px}.welcome-panel{border-radius:22px;padding:22px}.dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-card{border-radius:18px;min-height:132px;padding:16px}.dashboard-card strong{font-size:28px}.dashboard-card p{font-size:12px;line-height:1.45}.teacher-course-card{border-radius:18px}}.dashboard-card strong{color:#172033!important}.dashboard-card:nth-child(3) strong{line-height:1.25;font-size:20px!important}@media (width<=600px){.dashboard-card:nth-child(3) strong{line-height:1.25;font-size:18px!important}}.welcome-panel{margin-top:18px!important}.welcome-panel .eyebrow{letter-spacing:.08em;color:#ffffffe0!important;margin-bottom:10px!important;font-size:12px!important;font-weight:800!important}.welcome-panel h2{margin-top:0!important}@media (width<=600px){.welcome-panel{margin-top:22px!important}.welcome-panel .eyebrow{margin-bottom:10px!important;font-size:12px!important}}.welcome-panel{position:relative;overflow:hidden;color:#172033!important;background:linear-gradient(135deg,#fff 0%,#f4fbfa 55%,#e8f7f4 100%)!important;border:1px solid #d8e9e6!important;box-shadow:0 10px 28px #0f766e14!important}.welcome-panel .eyebrow{color:#0f8f83!important}.welcome-panel h2,.welcome-panel h3,.welcome-panel strong{color:#172033!important}.welcome-panel p{color:#64748b!important}.welcome-panel:before{background:#2dd4bf1f!important}.welcome-panel:after{background:#3b82f60f!important}.page-heading+p{color:#64748b;margin-top:24px;margin-bottom:16px;line-height:1.6}.teacher-course-grid{margin-top:18px}.students-page>.form-message{color:#0f766e;font-size:14px;line-height:1.6;margin:24px 0 18px!important}.teacher-sidebar{color:#fff;background:#0f766e!important}.teacher-sidebar .sidebar-brand{border-bottom-color:#ffffff2e}.teacher-sidebar .sidebar-brand strong{color:#fff}.teacher-sidebar .sidebar-brand span{color:#ffffffc7}.teacher-sidebar .brand-badge{color:#0f766e;background:#fff}.teacher-sidebar .menu-item{color:#ffffffeb;background:0 0;border:0;transition:background .18s,color .18s}.teacher-sidebar .menu-item:hover{color:#fff;background:#ffffff1a}.teacher-sidebar .menu-item.active{font-weight:700;box-shadow:0 5px 14px #0f172a14;color:#0f766e!important;background:#fff!important}.teacher-sidebar .sidebar-bottom{border-top-color:#ffffff2e}.teacher-sidebar .sidebar-bottom p{color:#fff}.teacher-sidebar .sidebar-bottom span{color:#ffffffb8}.teacher-sidebar .sidebar-bottom button{color:#fff;background:#ffffff14;border-color:#ffffff47}.dashboard>aside.sidebar.teacher-sidebar{background:#0f766e!important}.dashboard>.teacher-sidebar .sidebar-brand strong{color:#fff!important}.dashboard>.teacher-sidebar .sidebar-brand span{color:#ffffffbf!important}.dashboard>.teacher-sidebar .brand-badge{color:#0f766e!important;background:#fff!important}.dashboard>.teacher-sidebar .sidebar-menu .menu-item{color:#fff!important;background:0 0!important}.dashboard>.teacher-sidebar .sidebar-menu .menu-item:hover{background:#ffffff1f!important}.dashboard>.teacher-sidebar .sidebar-menu .menu-item.active{color:#0f766e!important;background:#fff!important}.dashboard>.teacher-sidebar .sidebar-brand,.dashboard>.teacher-sidebar .sidebar-bottom{border-color:#ffffff2e!important}.dashboard>.teacher-sidebar .sidebar-bottom p,.dashboard>.teacher-sidebar .sidebar-bottom strong{color:#fff!important}.dashboard>.teacher-sidebar .sidebar-bottom span{color:#ffffffb8!important}.parent-sidebar{color:#fff;background:linear-gradient(#0f766e 0%,#115e59 100%)}.parent-sidebar-header{border-bottom:1px solid #ffffff24}.parent-sidebar-header .eyebrow{color:#ccfbf1!important}.parent-sidebar-header h2{color:#fff}.parent-sidebar-nav button{color:#ffffffd1;background:0 0;border:none}.parent-sidebar-nav button:hover{color:#fff;background:#ffffff1a}.parent-sidebar-nav button.active{color:#fff;background:#ffffff29;box-shadow:inset 3px 0 #fff}.parent-sidebar-nav button span{color:inherit}.parent-sidebar-footer{border-top:1px solid #ffffff24;padding-top:20px}.parent-sidebar-user{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.parent-sidebar-user strong{color:#fff;font-size:15px;font-weight:800}.parent-sidebar-user span{color:#ffffffa6;font-size:13px}.parent-sidebar-logout{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff3d;border-radius:12px;justify-content:center;align-items:center;width:100%;min-height:44px;padding:10px 16px;font-size:14px;font-weight:800;transition:background .2s,border-color .2s,transform .2s;display:flex}.parent-sidebar-logout:hover{background:#ffffff2e;border-color:#ffffff61}.parent-sidebar-logout:active{transform:translateY(1px)}.teacher-sidebar{color:#fff;box-sizing:border-box;flex-direction:column;padding:28px 20px 22px;display:flex;background:#11877d!important}.teacher-sidebar .sidebar-header{border-bottom:1px solid #ffffff2e;margin-bottom:20px;padding:0 14px 24px}.teacher-sidebar .sidebar-header h2{color:#fff;margin:0;font-size:17px;font-weight:800;line-height:1.2}.teacher-sidebar .sidebar-header p{color:#ffffffbf;margin:4px 0 0;font-size:12px;line-height:1.3}.teacher-sidebar .sidebar-nav{flex-direction:column;flex:1;gap:6px;display:flex}.teacher-sidebar .sidebar-nav button{color:#ffffffd6;text-align:left;cursor:pointer;width:100%;min-height:44px;box-shadow:none;background:0 0;border:0;border-radius:10px;align-items:center;padding:11px 14px;font-size:14px;font-weight:650;transition:background .18s,color .18s;display:flex}.teacher-sidebar .sidebar-nav button span{width:28px;color:inherit;text-align:left;flex:0 0 28px;font-size:17px}.teacher-sidebar .sidebar-nav button:hover{color:#fff;background:#ffffff17}.teacher-sidebar .sidebar-nav button.active{font-weight:800;box-shadow:0 5px 16px #0f4a451a;color:#0f766e!important;background:#fff!important}.teacher-sidebar .sidebar-footer{border-top:1px solid #ffffff2e;margin-top:auto;padding:20px 0 0}.teacher-sidebar .sidebar-footer strong{color:#fff;margin-bottom:4px;font-size:15px;font-weight:800;display:block}.teacher-sidebar .sidebar-footer>span{color:#ffffffad;margin-bottom:14px;font-size:12px;display:block}.teacher-sidebar .sidebar-footer button,.teacher-sidebar .teacher-logout-button{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:9px;width:100%;min-height:42px;padding:9px 14px;font-size:14px;font-weight:600;transition:background .18s,border-color .18s}.teacher-sidebar .sidebar-footer button:hover,.teacher-sidebar .teacher-logout-button:hover{background:#ffffff1a;border-color:#ffffffa6}@media (width<=900px){.teacher-sidebar{padding:28px 20px 22px!important}}@media (width<=768px){.parent-sidebar{width:min(82vw,340px);height:100dvh;padding-bottom:calc(24px + env(safe-area-inset-bottom));box-sizing:border-box;-webkit-overflow-scrolling:touch;flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden auto}.parent-sidebar-nav{flex:none}.parent-sidebar-footer{padding-top:22px;padding-bottom:calc(16px + env(safe-area-inset-bottom));flex-shrink:0;margin-top:auto}.parent-sidebar-user{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.parent-sidebar-user strong{font-size:16px;font-weight:800}.parent-sidebar-user span{color:#94a3b8;font-size:13px}.parent-sidebar-logout{color:#e11d48;cursor:pointer;background:#fff1f2;border:1px solid #fecdd3;border-radius:14px;width:100%;min-height:46px;font-size:15px;font-weight:800}}.google-button.loading{color:#fff;cursor:wait;opacity:1;background:#2563eb;border-color:#2563eb}.google-button.google-button-loading{cursor:wait;color:#fff!important;opacity:1!important;background:#0f8f83!important;border-color:#0f8f83!important}.student-push-card{background:#f0fdfa;border:1px solid #ccfbf1;border-radius:18px;margin-top:24px;padding:22px}.student-push-card-content{justify-content:space-between;align-items:center;gap:20px;display:flex}.student-push-eyebrow{letter-spacing:.06em;color:#0f8f83;margin-bottom:6px;font-size:12px;font-weight:800;display:block}.student-push-card h3{color:#0f172a;margin:0 0 8px;font-size:20px}.student-push-card p{color:#64748b;max-width:600px;margin:0;font-size:14px;line-height:1.6}.student-push-button{color:#fff;cursor:pointer;background:#0f8f83;border:0;border-radius:12px;flex-shrink:0;min-width:130px;min-height:44px;font-size:14px;font-weight:800}.student-push-button:disabled{opacity:.7;cursor:default}.student-push-message{font-weight:700;color:#dc2626!important;margin-top:12px!important;font-size:13px!important}.student-push-message.success{color:#0f8f83!important}@media (width<=768px){.student-push-card-content{flex-direction:column;align-items:stretch}.student-push-button{width:100%}}.notification-push-section{background:#f0fdfa;border:1px solid #ccfbf1;border-radius:14px;margin:12px 16px 8px;padding:14px}.notification-push-info span{letter-spacing:.06em;color:#0f8f83;margin-bottom:4px;font-size:10px;font-weight:800;display:block}.notification-push-info strong{color:#0f172a;margin-bottom:4px;font-size:14px;display:block}.notification-push-info p{color:#64748b;margin:0 0 10px;font-size:12px;line-height:1.5}.notification-push-button{color:#fff;cursor:pointer;background:#0f8f83;border:0;border-radius:10px;width:100%;min-height:40px;font-weight:800}.notification-push-button:disabled{opacity:.7}.notification-push-message{color:#dc2626;margin:8px 0 0;font-size:12px;font-weight:700}.notification-push-message.success{color:#0f8f83}.parent-announcements-page{padding:28px}.announcement-form-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:28px;box-shadow:0 10px 28px #0f172a0d}.announcement-form-grid{grid-template-columns:180px 1fr 180px;gap:18px;display:grid}.announcement-form-grid .form-group{flex-direction:column;gap:8px;display:flex}.announcement-form-grid .form-group-wide{grid-column:1/-1}.announcement-form-grid label{color:#334155;font-size:13px;font-weight:800}.announcement-form-grid input,.announcement-form-grid select,.announcement-form-grid textarea{box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:12px;width:100%;padding:12px 14px;font-size:14px}.announcement-form-grid textarea{resize:vertical;min-height:130px}.announcement-form-actions{justify-content:flex-end;margin-top:20px;display:flex}.announcement-form-actions .primary-button{color:#fff;cursor:pointer;background:#0f8f83;border:0;border-radius:12px;min-width:120px;min-height:44px;font-size:14px;font-weight:800}.announcement-form-actions .primary-button:disabled{opacity:.65;cursor:default}.announcement-history{margin-top:30px}.announcement-history-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.announcement-history-header h2{color:#0f172a;margin:4px 0 0;font-size:24px}.announcement-history-header>span{color:#0f8f83;background:#ecfdf5;border-radius:999px;justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 12px;font-size:14px;font-weight:800;display:inline-flex}.announcement-list{gap:16px;display:grid}.announcement-item{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:20px 22px;box-shadow:0 8px 24px #0f172a0a}.announcement-item-top{align-items:center;gap:10px;margin-bottom:12px;display:flex}.announcement-item-top span{color:#0f8f83;background:#f0fdfa;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}.announcement-item h3{color:#0f172a;margin:0 0 10px;font-size:18px;line-height:1.35}.announcement-item p{color:#475569;margin:0;font-size:14px;line-height:1.65}.announcement-item small{color:#94a3b8;margin-top:12px;font-size:12px;display:block}.announcement-history .empty-state{text-align:center;color:#94a3b8;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;padding:28px}@media (width<=768px){.parent-announcements-page{padding:16px}.announcement-form-card{padding:18px}.announcement-form-grid{grid-template-columns:1fr}.announcement-form-grid .form-group-wide{grid-column:auto}.announcement-form-actions{justify-content:stretch}.announcement-form-actions .primary-button{width:100%}.announcement-history-header{align-items:center}.announcement-history-header h2{font-size:21px}.announcement-item{padding:18px}}.teacher-students-panel{background:#fff;border:1px solid #dbe5ef;border-radius:20px;padding:22px 22px 18px}.teacher-students-panel-header{margin-bottom:14px}.teacher-students-panel-header h2{color:#0f172a;margin:0;font-size:18px;font-weight:800}.teacher-students-total{color:#64748b;margin:10px 0 4px;font-size:14px}.teacher-students-subtitle{color:#0f8f83;margin:0;font-size:13px;font-weight:700}.teacher-student-journal{background:#fff;border:1px solid #dbe5ef;border-radius:16px;overflow:hidden}.teacher-student-journal-head{color:#64748b;letter-spacing:.02em;background:#f8fafc;border-bottom:1px solid #e2e8f0;grid-template-columns:52px 2fr 1.3fr 1fr 42px;align-items:center;gap:12px;padding:12px 16px;font-size:12px;font-weight:800;display:grid}.teacher-student-col.student{align-items:center;gap:12px;min-width:0;display:flex}.teacher-student-avatar{color:#115e59;background:#ccfbf1;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:15px;font-weight:800;display:inline-flex}.teacher-student-meta{min-width:0}.teacher-student-meta strong{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:15px;line-height:1.25;display:block;overflow:hidden}.teacher-student-meta span{color:#64748b;margin-top:2px;font-size:12px;display:block}.teacher-student-col.attendance strong,.teacher-student-col.grade strong{color:#0f172a;font-size:15px;font-weight:800;display:block}.teacher-student-col.attendance span,.teacher-student-col.grade span{color:#64748b;margin-top:2px;font-size:12px;line-height:1.35;display:block}.teacher-student-col.attendance strong{color:#0f766e}@media (width<=768px){.teacher-students-panel{padding:16px}.teacher-student-journal-head{display:none}.teacher-student-journal-row{grid-template-columns:1fr;gap:8px;padding:12px 14px}.teacher-student-col.index,.teacher-student-col.action{display:none}}.teacher-student-journal-row{padding:8px 14px}.teacher-student-avatar{width:34px;height:34px;font-size:13px}.teacher-student-journal-body{max-height:860px}.student-list-subtitle{color:#0f8f83;margin-top:6px;font-size:13px;font-weight:700;display:block}.teacher-student-journal{background:#fff;border:1px solid #dbe5ef;border-radius:14px;width:100%;margin-top:14px;overflow:hidden}.teacher-student-journal-head{color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0;grid-template-columns:44px 1.7fr 1.1fr 1fr 2fr 36px;align-items:center;gap:10px;padding:10px 14px;font-size:12px;font-weight:800;display:grid}.teacher-student-journal-body{max-height:860px;overflow-y:auto}.teacher-student-journal-row{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #eef2f7;grid-template-columns:44px 1.7fr 1.1fr 1fr 2fr 36px;align-items:center;gap:10px;width:100%;padding:8px 14px;display:grid}.teacher-student-journal-row:last-child{border-bottom:0}.teacher-student-journal-row:hover{background:#f6fffd}.teacher-student-col{min-width:0}.teacher-student-col.index{color:#64748b;font-size:13px;font-weight:700}.teacher-student-col.student{flex-direction:column;gap:2px;display:flex}.teacher-student-col.student strong{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:800;overflow:hidden}.teacher-student-col.student span{color:#64748b;font-size:11px}.teacher-student-col.attendance,.teacher-student-col.grade{flex-direction:column;gap:2px;display:flex}.teacher-student-col.attendance strong,.teacher-student-col.grade strong{color:#0f172a;font-size:14px;font-weight:800}.teacher-student-col.attendance span,.teacher-student-col.grade span{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.3;overflow:hidden}.teacher-student-col.action{color:#94a3b8;justify-content:center;align-items:center;font-size:20px;display:flex}.teacher-student-journal-row{min-height:48px}@media (width>=769px){.teacher-student-journal-body{max-height:960px}}@media (width<=768px){.teacher-student-journal-head{grid-template-columns:36px 1.7fr 1fr 1fr 28px;padding:8px 10px;font-size:10px}.teacher-student-journal-row{grid-template-columns:36px 1.7fr 1fr 1fr 28px;gap:6px;padding:8px 10px}.teacher-student-col.student strong,.teacher-student-col.attendance strong,.teacher-student-col.grade strong{font-size:12px}.teacher-student-col.student span,.teacher-student-col.attendance span,.teacher-student-col.grade span{font-size:10px}}.teacher-student-col.observation{min-width:0}.teacher-student-col.observation strong{color:#334155;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;display:block;overflow:hidden}.teacher-student-col.observation span{color:#94a3b8;margin-top:2px;font-size:11px;display:block}.teacher-student-col.student{text-align:left;align-items:flex-start}.teacher-student-name{align-items:baseline;gap:5px;width:100%;min-width:0;display:flex}.teacher-student-lastname{color:#64748b;white-space:nowrap;font-size:13px;font-weight:400}.teacher-student-firstname{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:800;overflow:hidden}.teacher-student-code{color:#94a3b8;margin-top:2px;font-size:11px}.teacher-student-col.attendance strong{border-radius:999px;align-items:center;width:fit-content;padding:4px 8px;font-size:12px;font-weight:800;display:inline-flex}.teacher-student-col.attendance.present strong{color:#166534;background:#dcfce7}.teacher-student-col.attendance.late strong{color:#92400e;background:#fef3c7}.teacher-student-col.attendance.absent strong{color:#b91c1c;background:#fee2e2}.teacher-student-col.attendance.excused strong{color:#1d4ed8;background:#dbeafe}.teacher-student-col.attendance.none strong{color:#94a3b8;background:#f1f5f9}.student-progress-panel{background:#f8fafc;border:1px solid #dbe5ef;border-radius:14px;margin-top:14px;overflow:hidden}.student-progress-toggle{color:#334155;cursor:pointer;text-align:left;background:#f8fafc;border:0;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:0 18px;font-size:13px;font-weight:800;display:flex}.student-progress-toggle:hover{background:#f0fdfa}.student-progress-toggle strong{color:#0f8f83;font-size:12px}.student-progress-content{background:#fff;border-top:1px solid #e2e8f0;padding:18px}.student-progress-content .progress-note{margin-bottom:18px;display:block}.student-progress-content .progress-note span{color:#334155;margin-bottom:7px;font-size:13px;font-weight:800;display:block}.student-progress-content .progress-note textarea{box-sizing:border-box;resize:vertical;border:1px solid #cbd5e1;border-radius:10px;width:100%;min-height:72px;padding:12px 14px}.student-progress-fields{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}@media (width<=900px){.student-progress-fields{grid-template-columns:1fr 1fr}}@media (width<=600px){.student-progress-fields{grid-template-columns:1fr}}@media (width<=1000px){.attendance-row .student-progress-content .student-progress-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (width<=600px){.attendance-row .student-progress-panel{margin-top:6px!important}.attendance-row .student-progress-content{padding:12px!important}.attendance-row .student-progress-content .student-progress-fields{grid-template-columns:1fr!important}}.attendance-row .student-progress-panel{box-sizing:border-box!important;background:#f8fafc!important;border:1px solid #dbe5ef!important;border-radius:12px!important;grid-column:1/-1!important;grid-template-columns:none!important;width:100%!important;max-width:none!important;margin:8px 0 0!important;padding:0!important;display:block!important;overflow:hidden!important}.attendance-row .student-progress-toggle{text-align:left!important;color:#334155!important;box-sizing:border-box!important;background:#f8fafc!important;border:0!important;border-radius:0!important;justify-content:space-between!important;align-items:center!important;width:100%!important;max-width:none!important;min-height:40px!important;margin:0!important;padding:8px 14px!important;font-size:12px!important;font-weight:800!important;line-height:1.2!important;display:flex!important}.attendance-row .student-progress-toggle span{width:auto!important;margin:0!important;padding:0!important;display:block!important}.attendance-row .student-progress-toggle strong{color:#0f8f83!important;flex:none!important;margin:0 0 0 12px!important;display:block!important}.attendance-row .student-progress-content{box-sizing:border-box!important;background:#fff!important;border-top:1px solid #e2e8f0!important;width:100%!important;max-width:none!important;margin:0!important;padding:16px!important;display:block!important}.attendance-row .student-progress-content .progress-note{grid-column:1/-1!important;width:100%!important;max-width:none!important;margin:0 0 16px!important;padding:0!important;display:block!important}.attendance-row .student-progress-content .progress-note>span{color:#334155!important;margin:0 0 7px!important;font-size:13px!important;font-weight:800!important;display:block!important}.attendance-row .student-progress-content .progress-note textarea{box-sizing:border-box!important;background:#fff!important;border:1px solid #cbd5e1!important;border-radius:10px!important;width:100%!important;min-width:0!important;max-width:none!important;min-height:70px!important;margin:0!important;padding:10px 12px!important;font-size:13px!important;line-height:1.5!important;display:block!important}.attendance-row .student-progress-content .student-progress-fields{box-sizing:border-box!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;display:grid!important}.attendance-row .student-progress-content .progress-field{flex-direction:column!important;gap:6px!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important;display:flex!important}.attendance-row .student-progress-content .progress-field>span{color:#475569!important;margin:0!important;font-size:12px!important;font-weight:800!important;display:block!important}.attendance-row .student-progress-content .progress-field select{box-sizing:border-box!important;background:#fff!important;border:1px solid #cbd5e1!important;border-radius:10px!important;width:100%!important;min-width:0!important;min-height:42px!important;margin:0!important;padding:0 10px!important;font-size:13px!important;display:block!important}@media (width<=1000px){.attendance-row .student-progress-content .student-progress-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (width<=600px){.attendance-row .student-progress-panel{margin-top:6px!important}.attendance-row .student-progress-content{padding:12px!important}.attendance-row .student-progress-content .student-progress-fields{grid-template-columns:1fr!important}}.attendance-student{text-align:left!important;align-items:flex-start!important}.attendance-student-code{color:#64748b;margin-bottom:4px;font-size:11px;font-weight:400;display:block}.attendance-student-name{align-items:baseline;gap:5px;min-width:0;display:flex}.attendance-student-lastname{color:#475569;font-size:14px;font-weight:400}.attendance-student-firstname{color:#0f172a;font-size:15px;font-weight:800}.attendance-row .student-progress-toggle{color:#115e59!important;background:#ecfdf5!important;border:1px solid #ccfbf1!important}.attendance-row .student-progress-toggle:hover{background:#dff8f0!important}.attendance-row .student-progress-toggle strong{color:#0f8f83!important}.parent-child-switcher{margin:0 0 20px}.parent-child-switcher-label{letter-spacing:.06em;color:#64748b;margin-bottom:9px;font-size:11px;font-weight:800;display:block}.parent-child-switcher-list{flex-wrap:wrap;gap:10px;display:flex}.parent-child-switcher-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe5ef;border-radius:14px;align-items:center;gap:10px;min-width:190px;padding:10px 14px;display:flex;position:relative}.parent-child-switcher-card:hover{background:#f8fffd;border-color:#99d9d1}.parent-child-switcher-card.active{background:#ecfdf5;border-color:#0f8f83;box-shadow:0 0 0 2px #0f8f8314}.parent-child-switcher-avatar{color:#115e59;background:#ccfbf1;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:15px;font-weight:800;display:flex;overflow:hidden}.parent-child-switcher-avatar img{object-fit:cover;width:100%;height:100%}.parent-child-switcher-info{flex-direction:column;min-width:0;display:flex}.parent-child-switcher-info>span{color:#64748b;font-size:11px;font-weight:400}.parent-child-switcher-info>strong{color:#0f172a;font-size:15px;font-weight:800}.parent-child-switcher-info>small{color:#94a3b8;margin-top:2px;font-size:10px}.parent-child-switcher-check{color:#fff;background:#0f8f83;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:flex;position:absolute;top:8px;right:9px}@media (width<=768px){.parent-child-switcher-list{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.parent-child-switcher-card{flex-shrink:0;min-width:175px}.parent-child-switcher{margin:0 0 16px}.parent-child-switcher-label{letter-spacing:.05em;color:#64748b;margin-bottom:8px;font-size:11px;font-weight:800}.parent-child-switcher-list{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:8px;width:100%;padding:2px 2px 6px;display:flex;overflow:auto hidden}.parent-child-switcher-list::-webkit-scrollbar{display:none}.parent-child-switcher-card{scroll-snap-align:start;box-sizing:border-box;border-radius:13px;flex:none;align-items:center;gap:9px;width:168px;min-width:168px;min-height:64px;padding:9px 10px;display:flex}.parent-child-switcher-avatar{flex:0 0 38px;width:38px;height:38px;font-size:14px}.parent-child-switcher-info{flex:1;min-width:0}.parent-child-switcher-info>span{white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.parent-child-switcher-info>strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;line-height:1.2;display:block;overflow:hidden}.parent-child-switcher-info>small{white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:9px;overflow:hidden}.parent-child-switcher-check{width:18px;height:18px;font-size:10px;top:7px;right:7px}.parent-child-switcher-card.active{border-width:1.5px;box-shadow:0 0 0 2px #0f8f830f}}.nfc-modal-overlay{z-index:3000;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.nfc-modal{background:#fff;border-radius:20px;width:100%;max-width:460px;padding:26px;position:relative;box-shadow:0 24px 60px #0f172a33}.nfc-modal-close{cursor:pointer;background:#f1f5f9;border:0;border-radius:999px;width:36px;height:36px;font-size:22px;position:absolute;top:14px;right:14px}.nfc-student-info{background:#f8fafc;border-radius:12px;margin:16px 0;padding:14px}.nfc-student-info strong{color:#0f172a;font-size:16px;display:block}.nfc-student-info span{color:#64748b;margin-top:4px;font-size:12px;display:block}.nfc-reader-box{text-align:center;background:#f0fdfa;border:1px dashed #99d9d1;border-radius:14px;padding:20px}.nfc-reader-box>span{margin-bottom:8px;font-size:28px;display:block}.nfc-reader-box strong{color:#115e59;display:block}.nfc-reader-box p{color:#64748b;margin:6px 0 0;font-size:12px;line-height:1.5}.nfc-uid-field{color:#334155;margin-top:16px;font-size:13px;font-weight:700;display:block}.nfc-uid-field input{box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;width:100%;margin-top:6px;padding:12px 14px}.nfc-message{color:#0f8f83;margin:12px 0 0;font-size:13px;font-weight:700}.nfc-save-button{color:#fff;cursor:pointer;background:#0f8f83;border:0;border-radius:12px;width:100%;min-height:44px;margin-top:18px;font-size:14px;font-weight:800}.nfc-save-button:disabled{opacity:.5;cursor:default}.student-nfc-status{flex-direction:column;gap:3px;display:flex}.student-nfc-status.connected strong{color:#0f8f83;font-size:12px}.student-nfc-status.connected small{color:#64748b;font-family:monospace;font-size:10px}.student-nfc-status.not-connected span{color:#94a3b8;font-size:12px}.course-session-card{background:#fff;border:1px solid #dbe5e4;border-radius:16px;margin:18px 0 24px;padding:20px}.course-session-heading h3{color:#0f172a;margin:4px 0 0}.course-session-form{grid-template-columns:1.2fr 1fr 1fr auto;align-items:end;gap:12px;margin-top:16px;display:grid}.course-session-form label{color:#475569;flex-direction:column;gap:6px;font-size:12px;font-weight:700;display:flex}.course-session-form input{background:#fff;border:1px solid #cbd5e1;border-radius:10px;min-height:42px;padding:8px 10px}.course-session-form button{color:#fff;cursor:pointer;background:#0f766e;border:0;border-radius:10px;min-height:42px;padding:0 18px;font-weight:800}.course-session-form button:disabled{opacity:.55;cursor:default}@media (width<=768px){.course-session-form{grid-template-columns:1fr}.course-session-form button{width:100%}}.course-session-admin-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-top:24px;padding:22px}.course-session-admin-form{grid-template-columns:1.2fr 1fr 1fr 1fr auto;align-items:end;gap:12px;margin-top:18px;display:grid}.course-session-admin-form label{color:#475569;flex-direction:column;gap:6px;font-size:12px;font-weight:700;display:flex}.course-session-admin-form input,.course-session-admin-form select{background:#fff;border:1px solid #cbd5e1;border-radius:10px;min-height:42px;padding:8px 10px}.course-session-admin-form button{color:#fff;cursor:pointer;background:#0f766e;border:0;border-radius:10px;min-height:42px;padding:0 18px;font-weight:800}.course-session-admin-list{flex-direction:column;gap:10px;margin-top:20px;display:flex}.course-session-admin-row{border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.course-session-admin-row>div{flex-direction:column;gap:4px;display:flex}.course-session-admin-row span{color:#64748b;font-size:13px}.course-session-admin-row select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-width:150px;padding:8px 10px}@media (width<=768px){.course-session-admin-form{grid-template-columns:1fr}.course-session-admin-row{flex-direction:column;align-items:stretch}.course-session-admin-row select{width:100%}}.weekly-session-generator{background:#f8fafc;border:1px solid #dbe5e4;border-radius:14px;margin-top:18px;margin-bottom:28px;padding:20px}.weekly-session-generator-header h4{color:#0f172a;margin:0;font-size:17px}.weekly-session-generator-header p{color:#64748b;margin:6px 0 0;font-size:13px}.weekly-session-days{flex-direction:column;gap:8px;margin-top:18px;display:flex}.weekly-session-day{background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:120px 140px 24px 140px;align-items:center;gap:10px;padding:10px 12px;display:grid}.weekly-session-day.active{border-color:#0f766e}.weekly-session-day-toggle{align-items:center;gap:8px;display:flex}.weekly-session-day input[type=time]{background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-height:38px;padding:6px 8px}.weekly-session-day input:disabled{opacity:.45}.generate-sessions-button{color:#fff;cursor:pointer;background:#0f766e;border:0;border-radius:10px;min-height:42px;margin-top:18px;padding:0 18px;font-weight:800}.generate-sessions-button:disabled{opacity:.55;cursor:default}.manual-session-title{color:#334155;margin:22px 0 8px;font-size:14px}@media (width<=768px){.weekly-session-day{grid-template-columns:1fr 1fr 20px 1fr}}.course-session-admin-card{box-sizing:border-box;width:100%}.reschedule-session-box{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;grid-template-columns:1fr 140px 120px 120px auto auto;align-items:center;gap:10px;width:100%;margin-top:10px;padding:12px;display:grid}.reschedule-session-box input{background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-height:38px;padding:6px 8px}.reschedule-session-box button{color:#fff;cursor:pointer;background:#0f766e;border:0;border-radius:8px;min-height:38px;padding:0 12px;font-weight:700}@media (width<=768px){.reschedule-session-box{grid-template-columns:1fr}}.attendance-source-badge{border-radius:999px;align-items:center;width:fit-content;margin-top:5px;padding:4px 8px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.attendance-source-badge.nfc{color:#047857;background:#ecfdf5}.attendance-source-badge.system{color:#475569;background:#f1f5f9}.attendance-source-badge.manual{color:#c2410c;background:#fff7ed}.campus-usage-section .attendance-summary-card strong,.attendance-summary-grid .attendance-summary-card strong{font-size:22px;line-height:1.2}.campus-usage-section .attendance-summary-card p{margin-top:8px}.section-toggle-button{cursor:pointer;background:#fff;border:1px solid #dbe3ea;border-radius:10px;min-width:88px;padding:9px 14px;font-size:13px;font-weight:700}.section-toggle-button:hover{background:#f8fafc}.nfc-checkin-page .page-heading h2{margin:6px 0 8px;font-size:28px;line-height:1.15}.nfc-checkin-page .page-heading p{color:#64748b;max-width:680px;line-height:1.6}.nfc-checkin-card h3{margin:0 0 8px;font-size:20px}.nfc-checkin-card>p{color:#64748b;margin:0}.nfc-checkin-status{text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;justify-content:center;align-items:center;min-height:150px;margin-top:22px;padding:26px;display:flex}.nfc-checkin-status p{color:#334155;margin:0;font-size:18px;font-weight:700}.nfc-checkin-student strong{color:#0f172a;font-size:20px}.nfc-checkin-student p{color:#64748b;margin:5px 0 0}.nfc-checkin-message{color:#047857;background:#ecfdf5;border-radius:12px;margin-top:20px;padding:14px 16px;font-weight:700;line-height:1.45}@media (width<=700px){.nfc-checkin-page{padding:0 4px 28px}.nfc-checkin-card{padding:20px}.nfc-checkin-student{align-items:flex-start}.nfc-student-photo{flex-basis:88px;width:88px;height:88px}.nfc-checkin-page .page-heading h2{font-size:24px}}.nfc-checkin-page .page-heading{margin-bottom:24px}.nfc-checkin-page .page-heading .eyebrow{margin-bottom:8px}.nfc-checkin-page .page-heading h2{margin:0 0 10px;line-height:1.2}.nfc-checkin-page .page-heading>p:last-child{margin:0;line-height:1.6}.nfc-checkin-card{margin-top:4px}.nfc-checkin-card h3{margin:0 0 10px;line-height:1.3}.nfc-checkin-card>p{margin:0 0 18px;line-height:1.5}.nfc-checkin-message{margin-top:16px;padding:14px 16px;line-height:1.5}.nfc-checkin-page{max-width:760px;margin:0 auto;padding:20px 16px 40px}.nfc-checkin-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:28px 30px;box-shadow:0 8px 24px #0f172a0d}.nfc-checkin-card .eyebrow{letter-spacing:.06em;margin:0 0 8px;font-size:12px;font-weight:800}.nfc-checkin-card h1{margin:0 0 10px;font-size:28px;line-height:1.2}.nfc-checkin-card>p:not(.eyebrow):not(.nfc-checkin-message){color:#64748b;margin:0 0 22px;line-height:1.6}.nfc-checkin-reader{color:#0f766e;background:#ecfdf5;border-radius:12px;align-items:center;gap:10px;min-height:54px;padding:0 16px;display:flex}.nfc-checkin-reader span{font-size:16px}.nfc-checkin-reader strong{font-size:15px;line-height:1.4}.nfc-checkin-student{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;align-items:center;gap:18px;margin-top:20px;padding:18px;display:flex}.nfc-checkin-student>div:last-child{flex-direction:column;gap:6px;display:flex}.nfc-checkin-student strong{font-size:19px;line-height:1.3}.nfc-checkin-student span{color:#64748b;font-size:13px}.nfc-student-photo{background:#e2e8f0;border-radius:16px;flex:0 0 100px;width:100px;height:100px;overflow:hidden}.nfc-student-photo img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.nfc-checkin-message{color:#334155;background:#f8fafc;border-radius:10px;margin:18px 0 0;padding:13px 16px;font-size:14px;font-weight:600;line-height:1.5}@media (width<=700px){.nfc-checkin-page{padding:12px 8px 30px}.nfc-checkin-card{padding:22px 20px}.nfc-checkin-card h1{font-size:24px}.nfc-student-photo{flex-basis:82px;width:82px;height:82px}}.current-campus-section{margin-bottom:24px}.current-campus-section .student-list-header{margin-bottom:12px}.current-campus-section h3{margin:4px 0}.current-campus-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.current-campus-card{background:#fff;border:1px solid #dbe3ea;border-radius:14px;grid-template-columns:1.5fr auto auto;align-items:center;gap:16px;padding:16px 18px;display:grid}.current-campus-card>div:first-child{flex-direction:column;gap:4px;display:flex}.current-campus-card>div:first-child strong{font-size:14px}.current-campus-card>div:first-child span{color:#64748b;font-size:11px}.current-campus-meta{text-align:right;flex-direction:column;gap:3px;display:flex}.current-campus-meta span{color:#64748b;font-size:10px;font-weight:700}.current-campus-meta strong{font-size:13px}@media (width<=700px){.current-campus-card{grid-template-columns:1fr 1fr}.current-campus-card>div:first-child{grid-column:1/-1}.current-campus-meta{text-align:left}}.current-campus-section{margin-top:16px;margin-bottom:16px}.current-campus-section.student-list-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:18px 20px}.current-campus-section .eyebrow{margin:0 0 8px}.live-campus-title-box{background:#ecfdf5;border:1px solid #d1fae5;border-radius:10px;padding:10px 14px;display:inline-block}.live-campus-title-box h3{color:#047857;margin:0;font-size:15px}.live-campus-title-box p{color:#64748b;margin:5px 0 0;font-size:12px}.current-campus-section .section-toggle-button{align-self:center}.current-campus-section .eyebrow{color:#dc2626}.parent-campus-today{background:#fff;border:1px solid #e5e7eb;border-radius:16px;margin-bottom:22px;padding:20px}.parent-campus-today-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.parent-campus-today-header h3{margin:4px 0 0}.parent-campus-live{color:#047857;background:#ecfdf5;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.parent-campus-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.parent-campus-summary-grid>div{background:#f8fafc;border-radius:12px;padding:14px}.parent-campus-summary-grid span{color:#64748b;margin-bottom:6px;font-size:10px;font-weight:800;display:block}.parent-campus-summary-grid strong{font-size:16px}.parent-campus-visit-list{gap:8px;display:grid}.parent-campus-visit{border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding:11px 13px;display:grid}.parent-campus-visit span{color:#475569;font-size:12px}@media (width<=700px){.parent-campus-summary-grid{grid-template-columns:repeat(2,1fr)}.parent-campus-today-header{flex-direction:column}.parent-campus-visit{grid-template-columns:1fr;gap:5px}}.acellus-page{flex-direction:column;gap:22px;display:flex}.acellus-page .student-form-card{background:#fff;border-radius:18px;margin-bottom:0;padding:24px 26px;box-shadow:0 6px 20px #0f172a0d}.acellus-page .page-heading{margin-bottom:20px}.acellus-page .page-heading .eyebrow{letter-spacing:.06em;color:#008f83;margin:0 0 4px;font-size:12px;font-weight:800}.acellus-page .page-heading h2,.acellus-page .page-heading h3{margin:0 0 8px;line-height:1.25}.acellus-page .page-heading p{color:#64748b;margin:0;line-height:1.6}.acellus-page .form-group{flex-direction:column;gap:7px;margin-bottom:18px;display:flex}.acellus-page .form-group:last-child{margin-bottom:0}.acellus-page .form-group label{color:#334155;margin:0;font-size:13px;font-weight:700;display:block}.acellus-page input[type=text],.acellus-page input[type=file],.acellus-page select{box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:10px;width:100%;min-height:44px;padding:10px 12px}.acellus-page input[type=file]{cursor:pointer;padding:8px 10px}.acellus-page .primary-button{border-radius:10px;min-height:42px;margin-top:2px;padding:10px 18px}.acellus-page .secondary-button{border-radius:10px;min-height:40px;margin-top:12px;padding:9px 16px}.acellus-page .form-message{border-radius:8px;margin:12px 0 0;padding:10px 12px;line-height:1.5}.acellus-page .table-wrapper{margin-top:18px;overflow-x:auto}@media (width<=768px){.acellus-page{gap:16px}.acellus-page .student-form-card{border-radius:14px;padding:20px 16px}.acellus-page .form-group{margin-bottom:16px}}.parent-sidebar-nav button.parent-acellus-menu{color:#f4c542}.parent-sidebar-nav button.parent-acellus-menu .parent-acellus-menu-icon{color:#f4c542;font-size:14px;font-weight:900}.parent-sidebar-nav button.parent-acellus-menu:hover{color:#ffd966;background:#f4c5421f}.parent-sidebar-nav button.parent-acellus-menu.active{color:#173f3c;background:#f4c542;font-weight:800}.parent-sidebar-nav button.parent-acellus-menu.active .parent-acellus-menu-icon{color:#173f3c}.parent-acellus-page{flex-direction:column;gap:24px;display:flex}.parent-acellus-page .page-heading{margin-bottom:4px}.parent-acellus-page .page-heading .eyebrow{color:#c99713}.parent-acellus-page .page-heading h2{margin:4px 0 8px}.parent-acellus-page .page-heading p{color:#64748b;line-height:1.6}.acellus-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.acellus-course-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:22px;box-shadow:0 8px 24px #0f172a0d}.acellus-course-card h3{color:#0f172a;margin:0 0 18px;font-size:18px;line-height:1.35}.acellus-course-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.acellus-course-stats>div{background:#f8fafc;border-radius:12px;flex-direction:column;justify-content:center;min-height:78px;padding:12px 10px;display:flex}.acellus-course-stats span{letter-spacing:.05em;color:#64748b;text-transform:uppercase;font-size:10px;font-weight:800}.acellus-course-stats strong{color:#0f766e;margin-top:6px;font-size:22px;line-height:1}.acellus-course-stats small{color:#c99713;margin-top:4px;font-size:11px;font-weight:700}.acellus-course-detail{border-top:1px solid #e2e8f0;flex-direction:column;gap:7px;padding-top:15px;display:flex}.acellus-course-detail p{color:#64748b;margin:0;font-size:13px;line-height:1.5}.acellus-course-detail strong{color:#334155}@media (width<=900px){.acellus-course-grid{grid-template-columns:1fr}}@media (width<=600px){.acellus-course-card{padding:18px 15px}.acellus-course-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.acellus-course-stats strong{font-size:20px}}.parent-acellus-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0 24px;display:grid}.parent-acellus-summary>div{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;justify-content:center;min-height:112px;padding:18px 20px;display:flex;box-shadow:0 5px 18px #0f172a0a}.parent-acellus-summary>div:first-child{background:#fff8df;border-color:#f5d66f}.parent-acellus-summary>div:nth-child(2){background:#ecfdf8;border-color:#b7eee5}.parent-acellus-summary>div:nth-child(3){background:#eef4ff;border-color:#cbdcff}.parent-acellus-summary span{letter-spacing:.05em;color:#64748b;margin-bottom:8px;font-size:11px;font-weight:800;display:block}.parent-acellus-summary strong{color:#0f766e;font-size:28px;font-weight:800;line-height:1.1;display:block}.parent-acellus-summary>div:first-child strong{color:#b77900}.parent-acellus-summary>div:nth-child(3) strong{color:#3156c8}.parent-acellus-summary small{color:#64748b;margin-top:7px;font-size:12px;display:block}@media (width<=768px){.parent-acellus-summary{grid-template-columns:1fr}}.parent-acellus-section-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin:12px 0 14px;display:flex}.parent-acellus-section-heading h3{margin:2px 0 0;font-size:18px}.parent-acellus-section-heading>span{color:#64748b;font-size:12px;font-weight:700}.parent-acellus-completed{margin-top:32px}.parent-acellus-completed-list{background:#fff;border:1px solid #e2e8f0;border-radius:18px;overflow:hidden}.parent-acellus-completed-row:last-child{border-bottom:none}.parent-acellus-completed-check{color:#0f8b7e;background:#ecfdf5;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-weight:900;display:flex}.parent-acellus-completed-course{flex-direction:column;gap:4px;display:flex}.parent-acellus-completed-course strong{color:#0f172a}.parent-acellus-completed-course span{color:#64748b;font-size:12px}.parent-acellus-completed-date,.parent-acellus-completed-grade{flex-direction:column;gap:4px;display:flex}.parent-acellus-completed-date span,.parent-acellus-completed-grade span{letter-spacing:.05em;color:#94a3b8;font-size:10px;font-weight:800}.parent-acellus-completed-date strong{color:#334155;font-size:13px}.parent-acellus-completed-grade strong{color:#c99713;font-size:18px}@media (width<=700px){.parent-acellus-completed-row{grid-template-columns:36px minmax(0,1fr) 70px}.parent-acellus-completed-date{grid-column:2/-1}}.parent-acellus-completed-row{border-bottom:1px solid #edf2f7;grid-template-columns:42px minmax(0,1fr) 150px 100px 90px;align-items:center;gap:14px;padding:17px 20px;display:grid}.parent-acellus-completed-credit{flex-direction:column;gap:4px;display:flex}.parent-acellus-completed-credit span{letter-spacing:.05em;color:#94a3b8;font-size:10px;font-weight:800}.parent-acellus-completed-credit strong{color:#0f766e;font-size:18px}.parent-acellus-completed-row{border-bottom:1px solid #edf2f7;grid-template-columns:42px minmax(0,1fr) 150px 100px 90px 100px;align-items:center;gap:14px;padding:17px 20px;display:grid}.parent-acellus-completed-hours{flex-direction:column;gap:4px;display:flex}.parent-acellus-completed-hours span{letter-spacing:.05em;color:#94a3b8;font-size:10px;font-weight:800}.parent-acellus-completed-hours strong{color:#334155;font-size:16px}@media (width<=768px){.parent-acellus-page,.student-acellus-page{width:100%;padding:0 2px 96px;overflow-x:hidden}.parent-acellus-page .page-heading,.student-acellus-page .page-heading{margin-bottom:20px}.parent-acellus-page .page-heading h2,.student-acellus-page .page-heading h2{margin-bottom:8px;font-size:26px;line-height:1.2}.parent-acellus-page .page-heading p,.student-acellus-page .page-heading p{font-size:14px;line-height:1.55}.parent-acellus-summary,.student-acellus-summary{grid-template-columns:1fr;gap:10px;margin-bottom:24px;display:grid}.parent-acellus-summary>div,.student-acellus-summary>div{border-radius:16px;min-width:0;padding:16px}.parent-acellus-summary span,.student-acellus-summary span{margin-bottom:7px;font-size:11px;line-height:1.3;display:block}.parent-acellus-summary strong,.student-acellus-summary strong{font-size:26px;line-height:1.1;display:block}.parent-acellus-summary small,.student-acellus-summary small{margin-top:6px;font-size:12px;line-height:1.4;display:block}.parent-acellus-section-heading,.student-acellus-section-heading{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.parent-acellus-section-heading h3,.student-acellus-section-heading h3{margin:2px 0 0;font-size:19px;line-height:1.3}.parent-acellus-section-heading>span,.student-acellus-section-heading>span{flex-shrink:0;font-size:12px}.acellus-course-grid{grid-template-columns:1fr;gap:14px;width:100%;display:grid}.acellus-course-card{box-sizing:border-box;border-radius:18px;width:100%;min-width:0;padding:18px 16px;overflow:hidden}.acellus-course-card h3{overflow-wrap:anywhere;margin:0 0 16px;font-size:18px;line-height:1.35}.acellus-course-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.acellus-course-stats>div{border-radius:12px;min-width:0;padding:12px 10px}.acellus-course-stats span{margin-bottom:5px;font-size:10px;line-height:1.25;display:block}.acellus-course-stats strong{overflow-wrap:anywhere;font-size:21px;line-height:1.1;display:block}.acellus-course-stats small{margin-top:3px;font-size:11px;display:block}.acellus-course-detail{margin-top:14px;padding-top:12px}.acellus-course-detail p{overflow-wrap:anywhere;margin:6px 0;font-size:13px;line-height:1.5}.acellus-course-detail strong{font-size:12px}.parent-acellus-completed-list,.student-acellus-completed-list{flex-direction:column;gap:10px;display:flex}.parent-acellus-completed-row,.student-acellus-completed-row{border-radius:16px;grid-template-columns:32px 1fr;align-items:start;gap:10px 12px;padding:14px;display:grid}.parent-acellus-completed-check,.student-acellus-completed-check{grid-area:1/1/span 4}.parent-acellus-completed-course,.student-acellus-completed-course{grid-column:2;min-width:0}.parent-acellus-completed-course strong,.student-acellus-completed-course strong{overflow-wrap:anywhere;font-size:15px;line-height:1.35;display:block}.parent-acellus-completed-course span,.student-acellus-completed-course span{font-size:11px}.parent-acellus-completed-date,.parent-acellus-completed-grade,.parent-acellus-completed-credit,.parent-acellus-completed-hours,.student-acellus-completed-date,.student-acellus-completed-grade,.student-acellus-completed-credit,.student-acellus-completed-hours{grid-column:2;grid-template-columns:105px 1fr;align-items:center;gap:8px;min-width:0;display:grid}.parent-acellus-completed-row span,.student-acellus-completed-row span{font-size:10px;line-height:1.3}.parent-acellus-completed-row strong,.student-acellus-completed-row strong{font-size:14px;line-height:1.35}.parent-acellus-page *,.student-acellus-page *{box-sizing:border-box}}@media (width<=420px){.parent-acellus-page .page-heading h2,.student-acellus-page .page-heading h2{font-size:23px}.acellus-course-card{padding:15px 13px}.acellus-course-card h3{font-size:16px}.acellus-course-stats{gap:7px}.acellus-course-stats>div{padding:11px 8px}.acellus-course-stats strong{font-size:19px}.parent-acellus-completed-date,.parent-acellus-completed-grade,.parent-acellus-completed-credit,.parent-acellus-completed-hours,.student-acellus-completed-date,.student-acellus-completed-grade,.student-acellus-completed-credit,.student-acellus-completed-hours{grid-template-columns:90px 1fr}}.student-portfolio-card{overflow:visible}.student-portfolio-card .student-portfolio-reflection,.student-portfolio-card .student-portfolio-self-assessment,.student-portfolio-card .portfolio-revision-message,.student-portfolio-card .portfolio-report-locked,.student-portfolio-card .student-portfolio-save{margin:20px}.student-portfolio-list{gap:24px;display:grid}.parent-home-quick-area{position:relative}.parent-home-quick-grid{z-index:2;margin-bottom:24px;position:relative}.parent-home-portfolio-feature{z-index:1;clear:both;margin-top:0;position:relative}@media (width<=768px){.parent-home-quick-area{display:block}.parent-home-quick-grid{margin-bottom:20px}.parent-home-portfolio-feature{width:100%;margin-top:0;position:relative;inset:auto;transform:none}}.parent-home-acellus-link{text-align:left;cursor:pointer;background:#fff;border:1px solid #d9e7e5;border-radius:16px;justify-content:space-between;align-items:center;width:100%;margin-top:14px;padding:16px 20px;font-size:15px;font-weight:800;display:flex}.parent-home-acellus-link strong{font-size:22px;line-height:1}@media (width<=768px){.parent-home-acellus-link{margin-top:12px;padding:15px 18px}}.parent-home-acellus-link{z-index:20;color:#0f766e;cursor:pointer;background:#fff;border:1px solid #d9e7e5;border-radius:16px;justify-content:space-between;align-items:center;width:100%;margin:8px 0 24px;padding:16px 20px;font-size:15px;font-weight:800;display:flex;position:relative}.parent-home-acellus-link strong{font-size:22px}.parent-home-acellus-link{z-index:20;color:#7a5100;cursor:pointer;background:linear-gradient(135deg,#fff7d6 0%,#ffe8a3 100%);border:1px solid #f2c75c;border-radius:16px;justify-content:space-between;align-items:center;width:100%;margin:10px 0 24px;padding:16px 20px;font-size:15px;font-weight:800;display:flex;position:relative;box-shadow:0 8px 22px #b47d001f}.parent-home-acellus-link span{align-items:center;gap:8px;display:flex}.parent-home-acellus-link strong{color:#b7791f;font-size:22px}.parent-home-quick-area{margin-bottom:20px!important}.parent-home-acellus-link{margin-top:0!important}.parent-portfolio-gallery-card{cursor:pointer}.parent-portfolio-open-label{color:#0f766e;margin-top:14px;font-size:13px;font-weight:800;display:inline-block}.parent-portfolio-detail-overlay{z-index:9999;background:#0f172a8c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.parent-portfolio-detail-modal{background:#fff;border-radius:24px;width:min(720px,100%);max-height:90vh;position:relative;overflow-y:auto;box-shadow:0 24px 70px #0f172a40}.parent-portfolio-detail-close{z-index:5;cursor:pointer;background:#fff;border:0;border-radius:50%;width:38px;height:38px;font-size:24px;line-height:1;position:absolute;top:14px;right:14px}.parent-portfolio-detail-image{border-radius:24px 24px 0 0;width:100%;max-height:360px;overflow:hidden}.parent-portfolio-detail-image img{object-fit:cover;width:100%;height:100%;max-height:360px;display:block}.parent-portfolio-detail-body{padding:28px}.parent-portfolio-detail-type{color:#0f766e;margin-bottom:10px;font-size:12px;font-weight:800;display:inline-block}.parent-portfolio-detail-body h2{margin:0 0 10px}.parent-portfolio-detail-meta{color:#64748b;flex-wrap:wrap;gap:10px;margin-bottom:24px;font-size:13px;display:flex}.parent-portfolio-detail-section{border-top:1px solid #e5e7eb;padding:18px 0}.parent-portfolio-detail-section>span{letter-spacing:.06em;color:#64748b;margin-bottom:8px;font-size:11px;font-weight:800;display:block}.parent-portfolio-detail-section p{margin:0;line-height:1.6}.parent-portfolio-report-answers{gap:12px;display:grid}.parent-portfolio-report-answers>div{background:#f8fafc;border-radius:12px;padding:14px 16px}@media (width<=768px){.parent-portfolio-detail-overlay{align-items:flex-end;padding:0}.parent-portfolio-detail-modal{border-radius:24px 24px 0 0;width:100%;max-height:92vh}.parent-portfolio-detail-body{padding:22px 18px 30px}}.student-portfolio-gallery-status{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.student-portfolio-status{border-radius:999px;align-items:center;min-height:30px;padding:6px 10px;font-size:11px;font-weight:800;line-height:1.2;display:inline-flex}.student-portfolio-status.done{color:#047857;background:#ecfdf5}@media (width<=768px){.student-dashboard-shell .main-content{padding-bottom:100px!important}}.student-portfolio-green-title{color:#0f8f6f;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:13px;font-weight:800}.student-portfolio-gallery-status{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;margin-bottom:0;display:flex}.student-portfolio-status{border-radius:999px;min-height:0;padding:5px 9px;font-size:11px;font-weight:700;line-height:1.25}.student-portfolio-gallery-status .student-portfolio-status.done:first-child{color:#047857;background:#ecfdf5}.student-portfolio-gallery-status .student-portfolio-status.done:nth-child(2){color:#6d28d9;background:#f5f3ff}.student-portfolio-status.pending{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0}.student-portfolio-status.revision{color:#c2410c;background:#fff7ed}.student-portfolio-gallery-content .parent-portfolio-open-label{color:#0f766e;border-top:1px solid #eef2f7;margin-top:10px;padding-top:9px;font-size:12px;font-weight:700;display:block}.announcement-audience-options{flex-wrap:wrap;gap:10px;display:flex}.announcement-audience-options>label{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;display:flex}.announcement-audience-options input{width:16px;height:16px}.announcement-user-picker{background:#fff;border:1px solid #e2e8f0;border-radius:14px;max-height:280px;margin-top:10px;overflow-y:auto}.announcement-user-option{cursor:pointer;border-bottom:1px solid #f1f5f9;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.announcement-user-option:last-child{border-bottom:none}.announcement-user-option:hover{background:#f8fafc}.announcement-user-option input{margin-top:3px}.announcement-user-option div{flex-direction:column;gap:3px;display:flex}.announcement-user-option strong{color:#0f172a;font-size:13px}.announcement-user-option span{color:#64748b;font-size:11px}.announcement-selected-summary{color:#475569;margin-top:10px;font-size:12px}.announcement-audience-summary{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.announcement-audience-summary span{color:#047857;background:#ecfdf5;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700}.announcement-user-search-wrap{position:relative}.announcement-user-dropdown{z-index:50;background:#fff;border:1px solid #e2e8f0;border-radius:12px;max-height:260px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 30px #0f172a1f}.announcement-user-dropdown-item{text-align:left;cursor:pointer;background:#fff;border:none;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.announcement-user-dropdown-item:last-child{border-bottom:none}.announcement-user-dropdown-item:hover{background:#f8fafc}.announcement-user-dropdown-item.selected{background:#ecfdf5}.announcement-user-dropdown-item div{flex-direction:column;gap:2px;display:flex}.announcement-user-dropdown-item strong{color:#0f172a;font-size:13px}.announcement-user-dropdown-item span{color:#64748b;font-size:11px}.announcement-user-dropdown-empty{color:#64748b;padding:14px;font-size:12px}.announcement-selected-users{flex-direction:column;gap:8px;margin-top:10px;display:flex}.announcement-selected-user{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.announcement-selected-user div{flex-direction:column;gap:2px;display:flex}.announcement-selected-user strong{color:#0f172a;font-size:12px}.announcement-selected-user span{color:#64748b;font-size:11px}.announcement-selected-user button{color:#64748b;cursor:pointer;background:0 0;border:none;font-size:14px}.nfc-kiosk-page{box-sizing:border-box;background:radial-gradient(circle at 0 0,#ffd4eef2,#0000 34%),radial-gradient(circle at 100% 100%,#bbf7eef2,#0000 35%),linear-gradient(135deg,#fff7fb 0%,#f0fdfa 48%,#fffbea 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.nfc-kiosk-shell{background:#fffffff0;border-radius:32px;flex-direction:column;width:min(100%,760px);min-height:88vh;padding:28px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 70px #0f172a1f,0 0 0 1px #ffffffe6}.nfc-kiosk-shell:before{content:"";background:#ec489914;border-radius:50%;width:240px;height:240px;position:absolute;top:-110px;right:-80px}.nfc-kiosk-shell:after{content:"";background:#14b8a614;border-radius:50%;width:220px;height:220px;position:absolute;bottom:-100px;left:-80px}.nfc-kiosk-brand{z-index:2;align-items:center;gap:14px;display:flex;position:relative}.nfc-kiosk-logo{color:#fff;background:linear-gradient(135deg,#ec4899,#14b8a6);border-radius:18px;justify-content:center;align-items:center;width:58px;height:58px;font-size:30px;font-weight:900;display:flex;box-shadow:0 10px 24px #ec48993d}.nfc-kiosk-brand div:last-child{flex-direction:column;display:flex}.nfc-kiosk-welcome,.nfc-kiosk-result{z-index:2;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex;position:relative}.nfc-kiosk-reader-ring{background:#14b8a614;border-radius:50%;justify-content:center;align-items:center;width:210px;height:210px;margin-bottom:28px;display:flex;position:relative}.nfc-kiosk-reader-ring:before,.nfc-kiosk-reader-ring:after{content:"";border:3px solid #14b8a647;border-radius:50%;animation:2s ease-out infinite nfcPulse;position:absolute}.nfc-kiosk-reader-ring:after{width:185px;height:185px;animation-delay:.55s}.nfc-kiosk-reader-icon{color:#fff;letter-spacing:2px;background:linear-gradient(135deg,#14b8a6,#0f766e);border-radius:30px;justify-content:center;align-items:center;width:104px;height:104px;font-size:30px;font-weight:900;display:flex;box-shadow:0 18px 35px #14b8a647}.nfc-kiosk-welcome h1,.nfc-kiosk-result h1{color:#0f172a;margin:0;font-size:clamp(38px,6vw,62px);line-height:1.05}.nfc-kiosk-card-hint{color:#854d0e;background:#fff7d6;border-radius:999px;align-items:center;gap:10px;margin-top:28px;padding:14px 20px;font-size:16px;font-weight:800;display:inline-flex}.nfc-kiosk-card-hint span{font-size:24px}.nfc-kiosk-success-badge{color:#fff;background:#22c55e;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:18px;font-size:38px;font-weight:900;animation:.35s ease-out nfcPop;display:flex;box-shadow:0 14px 28px #22c55e42}.nfc-kiosk-student-photo{background:#f8fafc;border:7px solid #fff;border-radius:50%;width:150px;height:150px;margin-bottom:18px;overflow:hidden;box-shadow:0 0 0 5px #ec489929,0 16px 30px #0f172a24}.nfc-kiosk-greeting{color:#64748b;margin:0 0 6px;font-size:20px;font-weight:700}.nfc-kiosk-student-name{color:#ec4899!important}.nfc-kiosk-student-code{color:#64748b;letter-spacing:.05em;margin:10px 0 0;font-size:15px;font-weight:700}.nfc-kiosk-result-message{color:#166534;background:#ecfdf5;border-radius:20px;width:min(100%,540px);margin-top:24px;padding:18px 22px;font-size:20px;font-weight:800;line-height:1.45}.nfc-kiosk-footer{z-index:2;color:#94a3b8;justify-content:center;align-items:center;gap:8px;padding-top:14px;font-size:13px;font-weight:700;display:flex;position:relative}@keyframes nfcPulse{0%{opacity:.8;transform:scale(.82)}to{opacity:0;transform:scale(1.16)}}@keyframes nfcPop{0%{opacity:0;transform:scale(.65)}to{opacity:1;transform:scale(1)}}@media (width<=700px){.nfc-kiosk-page{padding:0}.nfc-kiosk-shell{border-radius:0;width:100%;min-height:100vh;padding:22px 18px}.nfc-kiosk-reader-ring{width:180px;height:180px}.nfc-kiosk-student-photo{width:130px;height:130px}}.nfc-kiosk-logo{background:#fff;overflow:hidden}.nfc-kiosk-result{position:relative;overflow:hidden}.nfc-result-status{color:#15803d;letter-spacing:.08em;background:#ecfdf5;border-radius:999px;margin:0 0 18px;padding:8px 16px;font-size:12px;font-weight:900}.nfc-kiosk-success-badge{z-index:2;color:#fff;background:linear-gradient(135deg,#22c55e,#14b8a6);border-radius:50%;justify-content:center;align-items:center;width:62px;height:62px;margin-bottom:10px;font-size:32px;font-weight:900;animation:.45s ease-out nfcSuccessPop;display:flex;position:relative;box-shadow:0 10px 30px #22c55e4d}.nfc-kiosk-student-photo{z-index:2;border:7px solid #fff;border-radius:50%;width:170px;height:170px;margin:8px 0 20px;animation:.5s ease-out nfcStudentPhoto;position:relative;overflow:hidden;box-shadow:0 0 0 5px #ec48992e,0 0 0 10px #14b8a614,0 18px 40px #0f172a29}.nfc-kiosk-photo-placeholder{color:#ec4899;background:linear-gradient(135deg,#fce7f3,#ccfbf1);justify-content:center;align-items:center;font-size:64px;font-weight:900;display:flex}.nfc-kiosk-greeting{z-index:2;color:#64748b;margin:0;font-size:19px;font-weight:700;position:relative}.nfc-kiosk-student-name{z-index:2;font-weight:900;position:relative;color:#ec4899!important;margin:4px 0 0!important;font-size:clamp(42px,7vw,68px)!important}.nfc-kiosk-last-name{z-index:2;color:#334155;margin:5px 0 0;font-size:20px;font-weight:700;position:relative}.nfc-kiosk-result-message{z-index:2;color:#166534;background:linear-gradient(135deg,#ecfdf5,#f0fdfa);border:1px solid #a7f3d0;border-radius:20px;justify-content:center;align-items:center;gap:10px;width:min(90%,520px);margin-top:22px;padding:17px 22px;font-size:19px;font-weight:800;line-height:1.4;display:flex;position:relative;box-shadow:0 10px 25px #14b8a614}.nfc-result-check{color:#fff;background:#22c55e;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:18px;font-weight:900;display:flex}.nfc-kiosk-student-code{z-index:2;color:#94a3b8;letter-spacing:.08em;background:#f8fafc;border-radius:10px;margin-top:14px;padding:7px 13px;font-size:12px;font-weight:800;position:relative}.nfc-result-good-day{z-index:2;color:#0f766e;margin:18px 0 0;font-size:17px;font-weight:800;position:relative}.nfc-result-decoration{pointer-events:none;border-radius:50%;position:absolute}.nfc-result-decoration-one{background:#ec489912;width:180px;height:180px;top:5%;right:-90px}.nfc-result-decoration-two{background:#14b8a614;width:160px;height:160px;bottom:5%;left:-90px}@keyframes nfcSuccessPop{0%{opacity:0;transform:scale(.4)}70%{transform:scale(1.12)}to{opacity:1;transform:scale(1)}}@keyframes nfcStudentPhoto{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}.nfc-result-checkin .nfc-kiosk-student-name{color:#0f9f8f!important}.nfc-result-checkout .nfc-kiosk-success-badge{background:linear-gradient(135deg,#ec4899,#f472b6);box-shadow:0 12px 30px #ec489947}.nfc-result-checkout .nfc-kiosk-student-name{color:#ec4899!important}.nfc-result-checkout .nfc-result-good-day{color:#be185d}.nfc-result-waiting .nfc-result-status{color:#92400e;background:#fef3c7}.nfc-result-waiting .nfc-kiosk-success-badge{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 12px 30px #f59e0b40}.nfc-result-waiting .nfc-kiosk-result-message{color:#92400e;background:#fffbeb;border-color:#fde68a}.nfc-result-waiting .nfc-result-check{background:#f59e0b}.nfc-result-waiting .nfc-result-good-day{color:#b45309}.nfc-kiosk-page{background:radial-gradient(circle at 8% 12%,#ec489929,#0000 28%),radial-gradient(circle at 92% 88%,#14b8a62e,#0000 30%),linear-gradient(135deg,#fff7fb 0%,#f0fdfa 52%,#fffbeb 100%);justify-content:center;align-items:center;width:100vw;min-height:100vh;padding:0;display:flex;overflow:hidden}.nfc-kiosk-shell{box-sizing:border-box;width:min(100vw,177.778vh);height:min(100vh,56.25vw);min-height:0;box-shadow:none;background:#fffffff5;border-radius:0;flex-direction:column;padding:clamp(18px,2vw,30px);display:flex;overflow:hidden}.nfc-kiosk-brand{flex:none;align-items:center;gap:clamp(10px,1vw,16px);min-height:58px;display:flex}.nfc-kiosk-logo{background:#fff;border-radius:clamp(14px,1.2vw,20px);flex:none;justify-content:center;align-items:center;width:clamp(48px,4.6vw,70px);height:clamp(48px,4.6vw,70px);display:flex;overflow:hidden;box-shadow:0 8px 24px #0f172a1a}.nfc-kiosk-logo img{object-fit:contain;width:100%;height:100%;display:block}.nfc-kiosk-brand span{letter-spacing:.08em;color:#0f172a;font-size:clamp(13px,1.2vw,20px);font-weight:900}.nfc-kiosk-brand strong{color:#64748b;margin-top:2px;font-size:clamp(11px,.9vw,15px)}.nfc-kiosk-welcome{text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;padding:clamp(8px,1vh,16px) 0;display:flex}.nfc-kiosk-reader-ring{background:#14b8a614;border-radius:50%;flex:none;justify-content:center;align-items:center;width:clamp(150px,18vh,225px);height:clamp(150px,18vh,225px);margin:0 0 clamp(14px,2vh,24px);display:flex;position:relative}.nfc-kiosk-reader-ring:before{width:68%;height:68%}.nfc-kiosk-reader-ring:after{width:88%;height:88%}.nfc-kiosk-reader-icon{background:linear-gradient(135deg,#14b8a6,#0f766e);border-radius:28%;width:48%;height:48%;font-size:clamp(26px,3vw,44px);box-shadow:0 14px 34px #14b8a647}.nfc-kiosk-welcome h1{color:#0f172a;margin:0;font-size:clamp(38px,4.8vw,72px);font-weight:900;line-height:1}.nfc-kiosk-main-text{color:#475569;max-width:70%;margin:clamp(10px,1.5vh,18px) 0 0;font-size:clamp(20px,2.1vw,34px);font-weight:800;line-height:1.25}.nfc-kiosk-card-hint{color:#854d0e;background:#fff4c2;border-radius:999px;margin-top:clamp(16px,2.4vh,28px);padding:clamp(10px,1.1vh,15px) clamp(16px,1.8vw,26px);font-size:clamp(14px,1.25vw,20px);font-weight:800}.nfc-kiosk-result{text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;padding:clamp(4px,.7vh,10px) 0;display:flex;overflow:hidden}.nfc-kiosk-success-badge{flex:none;width:clamp(46px,5.5vh,68px);height:clamp(46px,5.5vh,68px);margin-bottom:clamp(6px,.8vh,10px);font-size:clamp(24px,2.8vw,38px)}.nfc-result-status{white-space:nowrap;margin:0 0 clamp(10px,1.3vh,16px);padding:clamp(6px,.7vh,9px) clamp(14px,1.4vw,22px);font-size:clamp(11px,1vw,15px)}.nfc-kiosk-student-photo{border-width:clamp(4px,.5vw,7px);flex:none;width:clamp(110px,15vh,170px);height:clamp(110px,15vh,170px);margin:0 0 clamp(10px,1.2vh,16px)}.nfc-kiosk-student-photo img{object-fit:cover;width:100%;height:100%}.nfc-kiosk-greeting{margin:0;font-size:clamp(15px,1.45vw,22px);line-height:1.1}.nfc-kiosk-student-name{margin:clamp(2px,.4vh,5px) 0 0!important;font-size:clamp(36px,4.4vw,66px)!important;line-height:1!important}.nfc-kiosk-last-name{margin:clamp(4px,.5vh,7px) 0 0;font-size:clamp(15px,1.4vw,21px);line-height:1.1}.nfc-kiosk-result-message{border-radius:clamp(14px,1.3vw,20px);width:min(64%,620px);margin-top:clamp(12px,1.6vh,20px);padding:clamp(11px,1.1vh,16px) clamp(16px,1.6vw,24px);font-size:clamp(15px,1.4vw,21px);line-height:1.3}.nfc-kiosk-student-code{margin-top:clamp(8px,.9vh,12px);padding:5px 11px;font-size:clamp(10px,.85vw,13px)}.nfc-result-good-day{margin:clamp(10px,1.2vh,16px) 0 0;font-size:clamp(14px,1.25vw,19px)}.nfc-kiosk-footer{flex:none;min-height:26px;padding-top:clamp(4px,.6vh,8px);font-size:clamp(10px,.85vw,13px)}@media (orientation:landscape){.nfc-kiosk-shell{max-width:100vw;max-height:100vh}}@media (orientation:landscape) and (height<=650px){.nfc-kiosk-shell{padding:16px 24px}.nfc-kiosk-brand{min-height:48px}.nfc-kiosk-reader-ring{width:145px;height:145px;margin-bottom:12px}.nfc-kiosk-welcome h1{font-size:42px}.nfc-kiosk-main-text{margin-top:10px;font-size:22px}.nfc-kiosk-card-hint{margin-top:14px;padding:9px 16px}.nfc-kiosk-student-photo{width:105px;height:105px;margin-bottom:8px}.nfc-kiosk-success-badge{width:42px;height:42px;margin-bottom:4px;font-size:22px}.nfc-result-status{margin-bottom:7px}.nfc-kiosk-student-name{font-size:38px!important}.nfc-kiosk-result-message{margin-top:10px;padding:10px 16px}.nfc-result-good-day{margin-top:8px}}.nfc-kiosk-student-name,.nfc-kiosk-last-name,.nfc-kiosk-photo-placeholder{color:#16a34a!important}.nfc-kiosk-page{box-sizing:border-box;height:100dvh;min-height:100dvh;padding-top:12px;padding-bottom:12px}.nfc-kiosk-shell{box-sizing:border-box;width:min(100vw,177.778dvh - 42.6667px);height:min(100dvh - 24px,56.25vw);padding-top:18px;padding-bottom:18px}.nfc-kiosk-brand{padding-top:4px}.nfc-kiosk-result{justify-content:center;padding-top:10px;padding-bottom:6px}.nfc-kiosk-success-badge,.nfc-result-status{flex-shrink:0}.nfc-kiosk-result{transform:translateY(10px)}.nfc-kiosk-student-name,.nfc-kiosk-last-name,.nfc-kiosk-photo-placeholder{color:#16a34a!important}.nfc-kiosk-success-badge,.nfc-result-check{background:#159a8c!important}.nfc-kiosk-brand{z-index:5;background:#fffffff5;flex:0 0 72px;min-height:72px;padding-bottom:8px;position:relative}.nfc-kiosk-result{box-sizing:border-box;flex:auto;justify-content:flex-start;padding-top:22px;padding-bottom:8px}.nfc-result-status{margin-top:0;margin-bottom:12px}.nfc-kiosk-success-badge{margin-top:0}.nfc-kiosk-shell{box-sizing:border-box;min-height:100vh;padding:76px 32px 96px 118px}.nfc-kiosk-student-name,.nfc-kiosk-last-name,.nfc-kiosk-photo-placeholder,.nfc-result-good-day{color:#0f766e!important}.nfc-kiosk-success-badge,.nfc-result-check{color:#fff!important;background:#0f766e!important}.nfc-result-checkin .nfc-result-status{color:#0f766e!important;background:#e6f4f1!important}.nfc-result-checkin .nfc-kiosk-result-message{color:#0f766e!important;background:#eef8f6!important;border-color:#99d5cb!important}.nfc-kiosk-reader-icon{background:#0f766e!important}.nfc-kiosk-reader-ring:before,.nfc-kiosk-reader-ring:after{border-color:#0f766e47!important}.nfc-kiosk-brand{margin-top:72px;margin-left:72px}.nfc-result-status{letter-spacing:.06em;padding:10px 22px!important;font-size:clamp(18px,1.8vw,28px)!important;font-weight:900!important}.nfc-kiosk-greeting{color:#475569!important;font-size:clamp(24px,2.4vw,36px)!important;font-weight:800!important}.nfc-kiosk-student-code{padding:8px 16px!important;font-size:clamp(16px,1.4vw,22px)!important;font-weight:800!important}.nfc-result-good-day{font-size:clamp(22px,2vw,30px)!important;font-weight:900!important}.nfc-kiosk-footer{font-size:clamp(14px,1.1vw,18px)!important;font-weight:700!important}.nfc-kiosk-student-photo{width:clamp(150px,18vh,210px)!important;height:clamp(150px,18vh,210px)!important}.nfc-kiosk-logo{border-radius:22px!important;width:88px!important;height:88px!important}.nfc-kiosk-brand span{font-size:24px!important;font-weight:900!important}.nfc-kiosk-brand strong{margin-top:4px!important;font-size:18px!important}.nfc-kiosk-brand{gap:18px!important;margin-top:64px!important;margin-left:72px!important}.nfc-result-status{padding:12px 24px!important;font-size:24px!important}.nfc-kiosk-success-badge{width:78px!important;height:78px!important;font-size:40px!important}.nfc-kiosk-student-photo{width:220px!important;height:220px!important;margin-bottom:18px!important}.nfc-kiosk-greeting{font-size:32px!important;font-weight:800!important}.nfc-kiosk-student-name{color:#0f766e!important;font-size:82px!important;font-weight:900!important;line-height:1!important}.nfc-kiosk-last-name{color:#0f766e!important;font-size:30px!important;font-weight:800!important}.nfc-kiosk-result-message{border-radius:24px!important;width:min(80%,900px)!important;padding:22px 32px!important;font-size:30px!important;font-weight:900!important;line-height:1.35!important}.nfc-result-check{width:46px!important;height:46px!important;font-size:26px!important}.nfc-kiosk-student-code{font-size:18px!important;font-weight:800!important}.nfc-result-good-day{color:#0f766e!important;font-size:28px!important;font-weight:900!important}.nfc-kiosk-footer{font-size:17px!important}.nfc-kiosk-result{transform-origin:50%}.nfc-kiosk-logo{width:104px!important;height:104px!important}.nfc-result-checkout .nfc-kiosk-student-name,.nfc-result-checkout .nfc-kiosk-last-name,.nfc-result-checkout .nfc-result-good-day{color:#ec4899!important}.nfc-result-checkout .nfc-kiosk-success-badge,.nfc-result-checkout .nfc-result-check{color:#fff!important;background:#ec4899!important}.nfc-result-checkout .nfc-result-status{color:#be185d!important;background:#fce7f3!important}.nfc-result-checkout .nfc-kiosk-result-message{color:#be185d!important;background:#fdf2f8!important;border-color:#f9a8d4!important}.nfc-kiosk-footer{display:none!important}.nfc-kiosk-result.nfc-result-checkout .nfc-kiosk-student-name,.nfc-kiosk-result.nfc-result-checkout .nfc-kiosk-last-name,.nfc-kiosk-result.nfc-result-checkout .nfc-result-good-day{color:#ec4899!important}.nfc-kiosk-result.nfc-result-checkout .nfc-kiosk-success-badge,.nfc-kiosk-result.nfc-result-checkout .nfc-result-check{color:#fff!important;background:#ec4899!important}.nfc-kiosk-result.nfc-result-checkout .nfc-result-status{color:#be185d!important;background:#fce7f3!important}.nfc-kiosk-result.nfc-result-checkout .nfc-kiosk-result-message{color:#be185d!important;background:#fdf2f8!important;border-color:#f9a8d4!important}.nfc-kiosk-error{color:#9a3412;text-align:center;background:#fff7ed;border:2px solid #fdba74;border-radius:20px;flex-direction:column;gap:8px;width:min(80%,760px);margin-top:24px;padding:20px 28px;display:flex}.nfc-kiosk-error strong{font-size:28px;font-weight:900}.nfc-kiosk-error span{font-size:22px;font-weight:700;line-height:1.4}.nfc-kiosk-error-title{text-align:center;color:#b45309!important;font-size:52px!important;font-weight:900!important}.nfc-kiosk-error-text{text-align:center;width:min(85%,850px);margin:18px auto 0;line-height:1.4;color:#9a3412!important;font-size:30px!important;font-weight:800!important}.nfc-result-checkin .nfc-kiosk-student-name,.nfc-result-checkin .nfc-kiosk-last-name,.nfc-result-checkin .nfc-result-good-day,.nfc-result-checkout .nfc-kiosk-student-name,.nfc-result-checkout .nfc-kiosk-last-name,.nfc-result-checkout .nfc-result-good-day,.nfc-result-waiting .nfc-kiosk-student-name,.nfc-result-waiting .nfc-kiosk-last-name,.nfc-result-waiting .nfc-result-good-day{color:#0f766e!important}.nfc-result-checkin .nfc-kiosk-success-badge,.nfc-result-checkout .nfc-kiosk-success-badge,.nfc-result-waiting .nfc-kiosk-success-badge,.nfc-result-checkin .nfc-result-check,.nfc-result-checkout .nfc-result-check,.nfc-result-waiting .nfc-result-check{color:#fff!important;background:#0f766e!important}.nfc-result-checkin .nfc-result-status,.nfc-result-checkout .nfc-result-status,.nfc-result-waiting .nfc-result-status{color:#0f766e!important;background:#e6f4f1!important}.nfc-result-checkin .nfc-kiosk-result-message,.nfc-result-checkout .nfc-kiosk-result-message,.nfc-result-waiting .nfc-kiosk-result-message{color:#0f766e!important;background:#eef8f6!important;border-color:#99d5cb!important}.parent-request-form{background:#fff;border:1px solid #dfe7e5;border-radius:22px;margin-top:22px;padding:26px;box-shadow:0 8px 24px #0f766e0f}.parent-request-student{background:#eef8f6;border:1px solid #b9ddd7;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;padding:16px 18px;display:flex}.parent-request-student span{letter-spacing:.08em;color:#64748b;font-size:12px;font-weight:800}.parent-request-student strong{color:#0f766e;font-size:17px}.parent-request-form label{margin-bottom:20px;display:block}.parent-request-form label>span{color:#334155;margin-bottom:8px;font-size:13px;font-weight:800;display:block}.parent-request-form input,.parent-request-form textarea{box-sizing:border-box;width:100%;font:inherit;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:14px;outline:none;padding:14px 16px;font-size:15px;transition:border-color .2s,box-shadow .2s}.parent-request-form textarea{resize:vertical;min-height:150px;line-height:1.6}.parent-request-form input:focus,.parent-request-form textarea:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1f}.parent-request-form>button{color:#fff;cursor:pointer;background:#0f766e;border:none;border-radius:14px;padding:14px 24px;font-size:15px;font-weight:800;transition:transform .15s,opacity .15s}.parent-request-form>button:hover{transform:translateY(-1px)}.parent-request-form>button:disabled{opacity:.6;cursor:not-allowed;transform:none}.parent-request-history{margin-top:32px}.parent-request-history>h3{color:#0f172a;margin:0 0 16px;font-size:20px}.parent-request-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;margin-bottom:14px;padding:20px}.parent-request-card>span{color:#0f766e;background:#e6f4f1;border-radius:999px;align-items:center;min-height:28px;padding:5px 11px;font-size:12px;font-weight:900;display:inline-flex}.parent-request-card h4{color:#0f172a;margin:14px 0 8px;font-size:18px}.parent-request-card>p{color:#475569;margin:0;line-height:1.65}.parent-request-reply{background:#eef8f6;border-left:4px solid #0f766e;border-radius:12px;margin-top:18px;padding:16px 18px}.parent-request-reply strong{color:#0f766e;margin-bottom:6px;font-size:14px;display:block}.parent-request-reply p{color:#1e293b;margin:0;line-height:1.6}.admin-request-layout{grid-template-columns:minmax(300px,.9fr) minmax(0,1.5fr);align-items:start;gap:24px;margin-top:24px;display:grid}.admin-request-list{flex-direction:column;gap:12px;display:flex}.admin-request-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:18px;width:100%;padding:18px;transition:border-color .2s,box-shadow .2s,transform .15s}.admin-request-card:hover{border-color:#99d5cb;transform:translateY(-1px);box-shadow:0 8px 24px #0f766e14}.admin-request-card.active{background:#eef8f6;border-color:#0f766e;box-shadow:0 0 0 2px #0f766e14}.admin-request-card-top{justify-content:space-between;align-items:center;gap:14px;display:flex}.admin-request-card-top>strong{color:#0f172a;font-size:16px}.admin-request-card-top>span{color:#0f766e;white-space:nowrap;background:#e6f4f1;border-radius:999px;align-items:center;padding:5px 10px;font-size:11px;font-weight:900;display:inline-flex}.admin-request-card>p{color:#64748b;margin:10px 0 6px;font-size:13px}.admin-request-card>p strong{color:#0f766e}.admin-request-card h4{color:#1e293b;margin:8px 0;font-size:16px}.admin-request-card small{color:#94a3b8;font-size:12px}.admin-request-detail{background:#fff;border:1px solid #e2e8f0;border-radius:22px;min-height:360px;padding:26px;box-shadow:0 10px 30px #0f172a0d}.admin-request-detail-header{border-bottom:1px solid #e2e8f0;padding-bottom:18px}.admin-request-detail-header>span{color:#0f766e;letter-spacing:.04em;background:#e6f4f1;border-radius:999px;padding:6px 11px;font-size:11px;font-weight:900;display:inline-flex}.admin-request-detail-header h3{color:#0f172a;margin:12px 0 0;font-size:24px}.admin-request-person{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.admin-request-person>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:16px}.admin-request-person span{letter-spacing:.06em;color:#64748b;margin-bottom:6px;font-size:11px;font-weight:900;display:block}.admin-request-person strong{color:#0f766e;font-size:16px;display:block}.admin-request-person small{color:#64748b;margin-top:5px;display:block}.admin-request-body{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;margin-top:20px;padding:20px}.admin-request-body>span{letter-spacing:.07em;color:#64748b;margin-bottom:8px;font-size:11px;font-weight:900;display:block}.admin-request-body p{white-space:pre-wrap;color:#1e293b;margin:0;font-size:15px;line-height:1.7}.admin-request-reply{margin-top:24px}.admin-request-reply label>span{color:#334155;margin-bottom:8px;font-size:13px;font-weight:800;display:block}.admin-request-reply textarea{box-sizing:border-box;color:#0f172a;width:100%;min-height:150px;font:inherit;resize:vertical;background:#fff;border:1px solid #cbd5e1;border-radius:14px;outline:none;padding:14px 16px}.admin-request-reply textarea:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1f}.admin-request-actions{flex-wrap:wrap;gap:12px;margin-top:14px;display:flex}.admin-request-actions button{cursor:pointer;border:none;border-radius:12px;padding:12px 20px;font-size:14px;font-weight:800}.admin-request-actions button:first-child{color:#fff;background:#0f766e}.admin-request-actions button:last-child{color:#475569;background:#f1f5f9}.admin-request-actions button:disabled{opacity:.55;cursor:not-allowed}@media (width<=900px){.admin-request-layout{grid-template-columns:1fr}.admin-request-detail{padding:20px}.admin-request-person{grid-template-columns:1fr}}@media (width<=640px){.parent-request-form{border-radius:18px;padding:18px}.parent-request-student{flex-direction:column;align-items:flex-start}.parent-request-form>button{width:100%}.parent-request-card{padding:16px}.admin-request-detail{border-radius:18px;padding:16px}.admin-request-detail-header h3{font-size:21px}.admin-request-card{padding:16px}.admin-request-actions{flex-direction:column}.admin-request-actions button{width:100%}}.parent-requests-history{margin-top:28px}.parent-requests-history-header{margin-bottom:14px}.parent-requests-history-header h3{color:#0f172a;margin:0 0 4px;font-size:20px;font-weight:800}.parent-requests-history-header p{color:#64748b;margin:0;font-size:13px}.parent-requests-history-list{flex-direction:column;gap:14px;display:flex}.parent-request-empty{color:#64748b;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;padding:18px;font-size:14px}.parent-request-history-card{background:#fff;border:1px solid #dbe7ee;border-left:5px solid #0f766e;border-radius:18px;padding:18px 18px 16px;box-shadow:0 8px 24px #0f172a0a}.parent-request-history-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.parent-request-status{letter-spacing:.02em;border-radius:999px;align-items:center;padding:5px 10px;font-size:11px;font-weight:800;display:inline-flex}.parent-request-status.status-sent{color:#92400e;background:#fef3c7}.parent-request-status.status-replied{color:#166534;background:#dcfce7}.parent-request-status.status-closed{color:#334155;background:#e2e8f0}.parent-request-date{color:#64748b;font-size:12px;font-weight:600}.parent-request-history-subject{color:#0f172a;margin:0 0 8px;font-size:18px;font-weight:800;line-height:1.35}.parent-request-history-body{color:#334155;white-space:pre-wrap;margin:0;font-size:14px;line-height:1.7}.parent-request-reply-box{background:#f0fdfa;border:1px solid #99f6e4;border-radius:14px;margin-top:14px;padding:14px 16px}.parent-request-reply-label{color:#0f766e;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:12px;font-weight:800}.parent-request-reply-text{color:#134e4a;white-space:pre-wrap;font-size:14px;line-height:1.65}@media (width<=768px){.parent-request-history-card{border-radius:16px;padding:15px}.parent-request-history-subject{font-size:16px}.parent-request-history-body,.parent-request-reply-text{font-size:13px}}.admin-notification-toolbar{justify-content:flex-end;margin-bottom:14px;display:flex}.admin-notification-button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #d7e3e1;border-radius:12px;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-size:14px;font-weight:700;transition:border-color .2s,box-shadow .2s,transform .15s;display:inline-flex;position:relative;box-shadow:0 4px 14px #0f172a0d}.admin-notification-button:hover{border-color:#99d5cb;transform:translateY(-1px);box-shadow:0 8px 20px #0f766e14}.admin-notification-bell{background:#fff7d6;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;display:inline-flex}.admin-notification-badge{color:#fff;background:#ef4444;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:900;display:inline-flex}.admin-notification-panel{z-index:1200;background:#fff;border:1px solid #dbe7e5;border-radius:20px;width:min(430px,100vw - 32px);position:absolute;top:72px;right:32px;overflow:hidden;box-shadow:0 20px 50px #0f172a29}.admin-notification-panel-header{background:#f0fdfa;border-bottom:1px solid #d7e3e1;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.admin-notification-panel-header>div>span{letter-spacing:.08em;color:#0f766e;margin-bottom:3px;font-size:11px;font-weight:900;display:block}.admin-notification-panel-header h3{color:#0f172a;margin:0;font-size:18px;font-weight:800}.admin-notification-panel-header>button{color:#64748b;cursor:pointer;background:#fff;border:none;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;line-height:1;display:inline-flex}.admin-notification-panel-header>button:hover{background:#e2e8f0}.admin-notification-list{max-height:440px;padding:8px;overflow-y:auto}.admin-notification-item{text-align:left;cursor:pointer;background:#fff;border:none;border-bottom:1px solid #eef2f7;border-radius:12px;width:100%;padding:14px 14px 13px;transition:background .2s,transform .15s;display:block}.admin-notification-item:last-child{border-bottom:none}.admin-notification-item:hover{background:#f8fafc}.admin-notification-item.unread{background:#f0fdfa;border-left:4px solid #0f766e}.admin-notification-item.unread:hover{background:#e7f8f4}.admin-notification-item-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px;display:flex}.admin-notification-item-top strong{color:#0f172a;font-size:14px;font-weight:800}.admin-notification-item-top span{color:#fff;letter-spacing:.04em;background:#0f766e;border-radius:999px;align-items:center;padding:4px 8px;font-size:10px;font-weight:900;display:inline-flex}.admin-notification-item>p{color:#334155;margin:0 0 7px;font-size:14px;font-weight:700;line-height:1.45}.admin-notification-item>small{color:#64748b;font-size:12px;line-height:1.4;display:block}.admin-notification-panel .empty-state{text-align:center;color:#64748b;background:#fff;border:none;margin:0;padding:28px 20px;font-size:14px}.dashboard-main{position:relative}@media (width<=768px){.admin-notification-toolbar{margin-bottom:12px}.admin-notification-button{min-height:40px;padding:0 12px}.admin-notification-panel{width:auto;max-height:calc(100vh - 90px);position:fixed;top:68px;left:12px;right:12px}.admin-notification-list{max-height:calc(100vh - 180px)}.students-page{box-sizing:border-box;width:100%;max-width:100%;padding:16px;overflow-x:hidden}.students-page .page-heading{margin-bottom:20px}.students-page .page-heading h2{font-size:26px;line-height:1.15}.students-page .page-heading p{font-size:14px;line-height:1.55}.teacher-page-actions{width:100%;margin-bottom:20px}.teacher-page-actions .create-toggle-button{width:100%;min-height:46px;padding:12px 16px}.assignment-list-section{box-sizing:border-box;border-radius:18px;width:100%;padding:18px 14px}.assignment-list-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.assignment-list-heading h3{margin:4px 0 0;font-size:20px;line-height:1.25}.assignment-count{flex-shrink:0}.assignment-card-grid{grid-template-columns:1fr;gap:14px;display:grid}.assignment-card{box-sizing:border-box;width:100%;min-width:0;padding:16px;overflow:hidden}.assignment-card-top{flex-direction:column;align-items:stretch;gap:14px;display:flex}.assignment-card-main{width:100%;min-width:0}.assignment-card-main h4{overflow-wrap:anywhere;margin:10px 0 4px;font-size:18px;line-height:1.3}.assignment-card-main p{margin:0;font-size:13px}.assignment-card-actions{flex-direction:column;align-items:stretch;gap:10px;width:100%;display:flex}.assignment-action-buttons{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.assignment-action-buttons button{box-sizing:border-box;width:100%;min-width:0;min-height:42px;padding:9px 10px}.assignment-due{box-sizing:border-box;text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.assignment-due strong{white-space:nowrap;margin:0}.assignment-description{overflow-wrap:anywhere;margin-top:14px;font-size:14px;line-height:1.5}.assignment-meta{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.assignment-submission-badges{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.assignment-video,.youtube-preview-frame,.assignment-video iframe,.youtube-preview-frame iframe{width:100%;max-width:100%}}.reset-sessions-button{color:#dc2626;cursor:pointer;background:#fff;border:1px solid #dc2626;border-radius:10px;min-height:42px;padding:10px 16px;font-size:14px;font-weight:700}.reset-sessions-button:hover{background:#fef2f2}.reset-sessions-button:disabled{opacity:.55;cursor:not-allowed}.student-image-preview-list{margin-top:14px}.student-image-preview-list>span{color:#475569;margin-bottom:10px;font-size:13px;font-weight:700;display:block}.student-image-preview-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;display:grid}.student-image-preview-item{aspect-ratio:1;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;width:100%;position:relative;overflow:hidden}.student-image-preview-item img{object-fit:cover;width:100%;height:100%;display:block}.student-image-preview-item button{color:#fff;cursor:pointer;background:#0f172acc;border:none;border-radius:50%;width:28px;height:28px;font-size:20px;line-height:1;position:absolute;top:6px;right:6px}@media (width<=600px){.student-image-preview-grid{grid-template-columns:repeat(3,1fr);gap:8px}}
