@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#102a43;background:#f3f7fa;font-synthesis:none;text-rendering:optimizeLegibility;--navy: #102a43;--blue: #1d4ed8;--aqua: #0e7490;--mint: #0f766e;--gold: #c58a10;--surface: #ffffff;--border: #dce6ee;--muted: #627d98;--danger: #b42318;--success: #08775d;--shadow: 0 16px 45px rgba(16, 42, 67, .08)}*{box-sizing:border-box}#root{min-height:100vh}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}body.nav-open{overflow:hidden}button,input,select,textarea{min-width:0;font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand strong,.stat-value{font-family:Manrope,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%}small{display:block;color:var(--muted);margin-top:4px}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;z-index:1001;background:linear-gradient(180deg,#0b253a,#102a43 60%,#0d3d4b);color:#fff;padding:26px 18px;display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease}.sidebar-backdrop,.sidebar-close,.nav-toggle,.sidebar-signout{display:none}.sidebar-header,.sidebar-footer{display:contents}.brand{display:flex;gap:12px;align-items:center;min-width:0}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#2dd4bf,#38bdf8);color:#082f49;font-family:Manrope;font-weight:800;font-size:22px;box-shadow:0 10px 24px #2dd4bf3d}.brand strong{display:block;font-size:18px}.brand span{display:block;font-size:11px;color:#b8d7e2;margin-top:2px}.sidebar nav{margin-top:38px;display:grid;gap:7px;overflow-y:auto}.sidebar nav a{padding:12px 14px;border-radius:10px;color:#c8d9e5;font-weight:600;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#ffffff1a}.sidebar-user{margin-top:auto;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;display:flex;gap:10px;align-items:center}.sidebar-user .avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#e0f2fe;color:#075985;font-weight:800}.sidebar-user>div{min-width:0}.sidebar-user strong{font-size:13px;display:block}.sidebar-user span{font-size:10px;color:#a8c7d4;letter-spacing:.08em}.main-area{grid-column:2;min-width:0}.topbar{min-height:92px;padding:20px 34px;display:flex;align-items:center;justify-content:space-between;background:#ffffffe6;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar-main,.topbar-heading{min-width:0}.topbar-main{display:flex;align-items:center;gap:14px}.topbar h1{margin:2px 0 0;font-size:24px;line-height:1.15;overflow-wrap:anywhere}.eyebrow{color:var(--aqua);font-size:10px;font-weight:800;letter-spacing:.15em}.eyebrow.light{color:#99f6e4}.topbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.institution-pill{background:#e6fffb;color:#115e59;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700;max-width:100%;overflow-wrap:anywhere}.content{padding:32px 34px 50px;max-width:1600px;margin:0 auto}.content>*{min-width:0}.page-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.page-intro h2{font-size:26px;margin-bottom:5px}.page-intro p,.card-heading p,.section-title p,.integration-heading p{color:var(--muted);margin-bottom:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:var(--shadow);margin-bottom:22px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stats-grid .card{min-height:118px;margin-bottom:0;display:flex;flex-direction:column;justify-content:space-between}.stat-label{color:var(--muted);font-size:13px;font-weight:600}.stat-value{font-size:26px;color:var(--navy)}.dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:20px;margin-top:22px}.card-heading,.integration-heading,.program-header,.modal-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.card-heading h3,.integration-heading h3,.program-header h3,.modal-heading h3{margin-bottom:4px}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges}.table-scroll{width:100%;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges}table{width:100%;border-collapse:collapse;min-width:720px}th{text-align:left;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#829ab1;padding:12px 13px;border-bottom:1px solid var(--border)}td{padding:14px 13px;border-bottom:1px solid #edf2f6;vertical-align:middle;font-size:14px}tr:last-child td{border-bottom:0}.status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;text-transform:capitalize;background:#edf2f7;color:#486581}.status-active,.status-paid,.status-present,.status-on-time,.status-completed{background:#dff8ef;color:#08775d}.status-unpaid,.status-overdue,.status-absent,.status-failed,.status-outside-location{background:#fee4e2;color:#b42318}.status-partially-paid,.status-open,.status-pending,.status-scheduled{background:#fff3d6;color:#8a5a00}.status-admin{background:#e0e7ff;color:#3730a3}.status-teacher{background:#cffafe;color:#155e75}.status-b2b{background:#f3e8ff;color:#7e22ce}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;min-height:42px;padding:10px 15px;font-weight:700;transition:transform .15s ease,opacity .15s ease,background .15s ease}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.6;transform:none}.button.primary{background:linear-gradient(135deg,#1d4ed8,#0e7490);color:#fff}.button.secondary{background:#e8f1f7;color:#17425d}.button.ghost{background:transparent;border:1px solid var(--border);color:var(--navy)}.button.small{min-height:34px;padding:7px 10px;font-size:12px}.button.large{padding:13px 20px}.button-group{display:flex;gap:7px;flex-wrap:wrap}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:#334e68}input,select,textarea{width:100%;min-height:44px;border:1px solid #cbd9e4;border-radius:10px;padding:10px 11px;background:#fff;color:var(--navy);outline:none;transition:border .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:#0e7490;box-shadow:0 0 0 3px #0e74901f}textarea{resize:vertical}.form-card{padding:26px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.span-three{grid-column:1 / -1}.form-actions{margin-top:22px;display:flex;justify-content:flex-end;gap:10px}.section-heading{display:flex;gap:15px;align-items:flex-start;margin-bottom:22px}.section-heading>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#e0f2fe;color:#075985;font-weight:800}.section-heading h3{margin:0 0 3px}.section-heading p{color:var(--muted);margin:0;font-size:13px}.radio-card{flex-direction:row;align-items:center;border:1px solid var(--border);padding:10px;border-radius:10px;align-self:end}.radio-card input{width:auto}.info-strip{margin-top:18px;background:#ecfeff;color:#155e75;border:1px solid #a5f3fc;border-radius:10px;padding:11px 13px;font-size:13px}.toggle-row{display:flex;flex-wrap:wrap;gap:18px;margin:18px 0}.toggle-row label{flex-direction:row;align-items:center}.toggle-row input{width:auto}.alert{padding:13px 15px;border-radius:11px;margin-bottom:18px;font-size:14px}.alert.success{background:#e7f8f2;border:1px solid #8ce1c5;color:#076653}.alert.error{background:#fff0ef;border:1px solid #ffb4ae;color:#a61b14}.empty-state{padding:38px 15px;text-align:center;color:var(--muted);border:1px dashed #cbd9e4;border-radius:12px}.batch-attendance-sheet .form-grid{align-items:end}.sheet-summary{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:18px 0;padding:11px 13px;border-radius:10px;background:#eef9fb;color:#155e75;font-size:13px}.sheet-summary span{padding-left:14px;border-left:1px solid #b7e5e8}.attendance-sheet-grid table{min-width:1120px}.attendance-sheet-grid th{text-align:center;white-space:nowrap}.attendance-sheet-grid th small{font-weight:500;text-transform:none;letter-spacing:0}.attendance-sheet-grid td{min-width:116px;padding:8px;vertical-align:top}.attendance-sheet-grid td:first-child{min-width:44px;text-align:center}.attendance-sheet-grid td:nth-child(2){min-width:180px}.attendance-sheet-grid select{min-height:34px;padding:5px 7px;font-size:12px}.attendance-sheet-grid input{min-height:32px;margin-top:6px;padding:5px 7px;font-size:11px}.page-loader{min-height:220px;display:grid;place-items:center;color:var(--muted)}.toolbar{display:flex;gap:10px;justify-content:flex-end;margin-bottom:17px}.search-input{max-width:360px}.payment-list{display:grid}.payment-row{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #edf2f6}.payment-row:last-child{border:0}.payment-row span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.program-grid .card{margin-bottom:0}.level-count{padding:7px 10px;border-radius:9px;background:#e6fffb;color:#0f766e;font-size:12px;font-weight:800}.program-meta{display:flex;gap:8px;margin-bottom:15px}.program-meta span{background:#f1f5f9;padding:6px 9px;border-radius:7px;color:var(--muted);font-size:11px}.level-list{display:grid;gap:8px}.level-list>div{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #edf2f6;font-size:13px}.level-list>div:last-child{border:0}.section-title{margin:34px 0 18px}.section-title h2{margin-bottom:5px;font-size:22px}.integration-heading{border-bottom:1px solid var(--border);padding-bottom:16px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#07192794;display:grid;place-items:center;padding:20px}.modal{width:min(620px,100%);background:#fff;border-radius:18px;padding:24px;box-shadow:0 30px 80px #00000040}.icon-button{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:#fff;font-size:22px;color:var(--muted)}.login-page{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:#f7fafc}.login-visual{position:relative;min-width:0;min-height:100vh;overflow:hidden;background:#123d4d}.login-hero-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.login-panel{display:grid;place-items:center;padding:35px;background:#f7fafc}.login-card{width:min(430px,100%);display:grid;gap:22px}.login-card h2{margin-bottom:5px;font-size:30px}.login-card p{color:var(--muted)}.login-brand{margin-bottom:18px}.login-brand .brand span{color:var(--muted)}.demo-box{display:grid;gap:3px;padding:13px;background:#eef5f9;border-radius:10px;color:var(--muted);font-size:12px}.demo-box strong{color:var(--navy)}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.program-grid{grid-template-columns:1fr}.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.login-page{grid-template-columns:1fr}.login-visual{min-height:440px;height:44vh}.login-hero-image{object-position:center 30%}}@media(max-width:760px){.app-shell{display:block}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;border:0;padding:0;background:#07192775;opacity:0;pointer-events:none;transition:opacity .22s ease}.app-shell.nav-open .sidebar-backdrop{opacity:1;pointer-events:auto}.sidebar{position:fixed;inset:0 auto 0 0;width:min(86vw,320px);max-width:320px;padding:20px 16px 18px;transform:translate(-110%);box-shadow:none;overflow-y:auto}.app-shell.nav-open .sidebar{transform:translate(0);box-shadow:0 24px 54px #07192747}.sidebar-header,.sidebar-footer{display:grid;gap:14px}.sidebar-header{grid-template-columns:minmax(0,1fr) auto;align-items:center}.sidebar-close,.nav-toggle,.sidebar-signout{display:inline-flex}.sidebar-close,.nav-toggle{align-items:center;justify-content:center;min-height:42px;border:1px solid rgba(16,42,67,.12);border-radius:12px;background:#fff;color:var(--navy);font-weight:800}.nav-toggle{width:44px;min-width:44px;flex-direction:column;gap:4px;box-shadow:0 12px 28px #102a4314}.nav-toggle span{width:18px;height:2px;border-radius:999px;background:currentColor}.sidebar nav{grid-template-columns:1fr;margin-top:24px}.sidebar-footer{margin-top:auto;padding-top:18px}.sidebar-user{margin-top:0}.sidebar-signout{width:100%}.main-area{grid-column:1}.topbar{min-height:0;padding:14px 16px;align-items:stretch;flex-direction:column;gap:14px}.topbar-main{align-items:flex-start}.topbar h1{font-size:22px}.topbar-actions{justify-content:space-between;gap:8px}.topbar-signout{margin-left:auto;padding-inline:14px}.content{padding:20px 14px 34px}.card{padding:18px}.stats-grid,.form-grid,.form-grid.three,.dashboard-grid{grid-template-columns:1fr}.page-intro,.card-heading,.integration-heading,.program-header,.modal-heading,.section-heading,.toolbar,.form-actions,.payment-row{flex-direction:column}.toolbar,.form-actions,.topbar-actions,.section-heading{align-items:stretch}.page-intro h2{font-size:22px}.search-input{max-width:none}.span-three{grid-column:auto}.login-visual{min-height:300px;height:36vh}.login-hero-image{object-position:center 28%}}.batch-list-card{margin-top:22px}.input-action-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.weekday-field{margin:0;padding:14px;border:1px solid var(--border);border-radius:12px;min-width:0}.weekday-field legend{padding:0 6px;color:#334e68;font-size:13px;font-weight:800}.weekday-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.weekday-option{min-height:42px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:7px;padding:9px 8px;border:1px solid #cbd9e4;border-radius:9px;background:#fff;cursor:pointer;text-align:center;font-size:12px}.weekday-option input{width:auto;margin:0}.weekday-option.selected{border-color:#0e7490;background:#ecfeff;color:#155e75}td small{display:block;margin-top:4px;color:var(--muted);font-size:11px}@media(max-width:1100px){.weekday-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:760px){.weekday-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.input-action-row{grid-template-columns:1fr}}.alert.warning{background:#fff8e6;border:1px solid #f6c453;color:#7a4b00}.inline-alert{margin-top:14px;margin-bottom:0}.inline-alert a{color:#075985;font-weight:800;text-decoration:underline}.button.danger{background:#fee4e2;color:#b42318;border:1px solid #fecaca}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.span-two{grid-column:span 2}.course-panel-stack{display:grid;gap:22px}.course-panel-stack>.card,.course-panel-stack>.program-grid{margin-bottom:0}.course-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:18px}.course-summary-strip span{background:#fff;padding:14px 16px;color:var(--muted);font-size:12px}.course-summary-strip strong{display:block;color:var(--navy);font-family:Manrope;font-size:21px;margin-bottom:2px}.course-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:24px;padding:6px;border:1px solid var(--border);border-radius:14px;background:#eaf2f7}.course-tabs button{border:0;border-radius:10px;background:transparent;color:#486581;padding:13px 14px;font-weight:800;text-align:left}.course-tabs button span{margin-right:8px;color:#0e7490;font-size:11px}.course-tabs button.active{background:#fff;color:var(--navy);box-shadow:0 6px 18px #102a4314}.panel-toolbar,.subsection-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.panel-toolbar h3,.subsection-toolbar h4{margin-bottom:4px}.panel-toolbar p,.subsection-toolbar p{margin:0;color:var(--muted);font-size:13px}.subsection-toolbar{margin:26px 0 14px;padding-top:20px;border-top:1px solid var(--border)}.metric-grid.compact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.metric-grid.compact .card{margin:0;min-height:96px;display:flex;flex-direction:column;justify-content:space-between}.metric-grid.compact span{color:var(--muted);font-size:12px}.metric-grid.compact strong{font-family:Manrope;font-size:25px}.level-editor-list,.schedule-editor-list{display:grid;gap:13px}.level-editor{border:1px solid var(--border);background:#fbfdff;border-radius:14px;padding:16px}.level-editor-title{display:flex;align-items:center;gap:12px;margin-bottom:14px}.level-editor-title>strong{margin-right:auto}.inline-check{display:inline-flex;flex-direction:row;align-items:center;gap:7px;font-weight:700}.inline-check input{width:auto;margin:0}.title-with-status{display:flex;align-items:center;gap:9px}.title-with-status h3{margin:0}.program-description{color:var(--muted);font-size:13px;line-height:1.55}.level-list.detailed>div{align-items:center}.level-list.detailed span small{margin-top:3px}.inactive-row{opacity:.55}.muted-card,.muted-row{opacity:.68}.card-actions{display:flex;justify-content:flex-end;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.teacher-assistant-field{margin:0;border:1px solid #cbd9e4;border-radius:10px;padding:10px 12px}.teacher-assistant-field legend{padding:0 5px;font-size:13px;font-weight:800;color:#334e68}.teacher-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.teacher-check{display:flex;flex-direction:row;align-items:center;gap:9px;padding:9px;border:1px solid var(--border);border-radius:9px;background:#fff;cursor:pointer}.teacher-check.selected{background:#ecfeff;border-color:#0e7490}.teacher-check input{width:auto}.teacher-check span{font-size:12px}.teacher-check small{font-weight:500}.field-help{margin:0;color:var(--muted);font-size:12px}.schedule-editor{display:grid;grid-template-columns:36px 1.1fr .8fr .8fr 1fr 1fr 1fr auto auto;align-items:end;gap:10px;padding:13px;border:1px solid var(--border);border-radius:12px;background:#fbfdff}.schedule-number{align-self:center;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#e0f2fe;color:#075985;font-weight:800}.schedule-active{align-self:center;padding-bottom:10px}.generation-options{display:grid;gap:10px;margin-top:18px;padding:14px;background:#ecfeff;border:1px solid #a5f3fc;border-radius:12px}.generation-options p{margin:0;color:#155e75;font-size:12px}.schedule-line{display:block;margin-bottom:7px;font-size:12px}.schedule-line:last-child{margin-bottom:0}.table-actions{display:flex;gap:6px}.table-actions.vertical{flex-direction:column;align-items:stretch;min-width:120px}.preview-note{margin-top:8px;font-size:11px;color:#155e75;background:#ecfeff;padding:7px;border-radius:7px}.filter-card{padding:16px 18px}@media(max-width:1320px){.schedule-editor{grid-template-columns:36px repeat(4,minmax(0,1fr))}.schedule-editor>:nth-child(n+6){grid-column:auto}.form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.course-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.course-tabs{grid-template-columns:1fr}.panel-toolbar,.subsection-toolbar{flex-direction:column}.metric-grid.compact,.teacher-check-grid{grid-template-columns:1fr}.schedule-editor{grid-template-columns:34px 1fr 1fr}.schedule-editor>label:nth-of-type(n+3){grid-column:span 1}}@media(max-width:760px){.form-grid.four{grid-template-columns:1fr}.span-two{grid-column:auto}.course-summary-strip{grid-template-columns:1fr 1fr}.schedule-editor{grid-template-columns:32px 1fr;align-items:stretch}.schedule-editor label,.schedule-editor button,.schedule-active{grid-column:2}.level-editor-title{flex-wrap:wrap}}.status-eligible{background:#dff8ef;color:#08775d}.status-review-required,.status-suspended{background:#fff3d6;color:#8a5a00}.status-withdrawn,.status-cancelled{background:#fee4e2;color:#b42318}.status-not-processed{background:#edf2f7;color:#486581}.participant-photo-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:start}.photo-upload-card{border:1px dashed #9fb6c8;border-radius:14px;padding:14px;background:#f8fbfd;text-align:center;cursor:pointer}.photo-preview{width:100%;aspect-ratio:4 / 5;border-radius:12px;overflow:hidden;background:#e7eff5;display:grid;place-items:center;color:var(--muted);font-family:Manrope;font-size:19px}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-upload-card input{margin-top:12px;padding:7px;font-size:11px}.identity-fields{min-width:0}.experience-check{align-self:center;min-height:44px;padding-top:22px}.placement-summary{display:grid;grid-template-columns:.7fr .7fr 1.6fr;gap:1px;margin-top:18px;border:1px solid var(--border);background:var(--border);border-radius:12px;overflow:hidden}.placement-summary>div{background:#fbfdff;padding:12px 14px}.placement-summary span,.fee-preview-strip span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.placement-summary strong{font-size:14px}.placement-schedule small{display:inline-block;margin:0 12px 0 0;color:var(--navy)}.fee-preview-strip{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:14px;padding:13px 15px;background:#ecfeff;border:1px solid #a5f3fc;border-radius:11px;color:#155e75}.fee-preview-strip span{margin:0;color:#287085}.guardian-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.guardian-contact-card{display:grid;gap:12px;padding:16px;border:1px solid var(--border);border-radius:14px;background:#fbfdff}.guardian-contact-card.selected{border-color:#0e7490;box-shadow:0 0 0 3px #0e749014;background:#f2fcfd}.contact-card-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.contact-card-heading h4{margin:0;font-family:Manrope}.contact-card-heading .inline-check{font-size:11px;color:var(--aqua)}.additional-contact-grid{margin-top:18px}.same-address-check{margin:13px 0 18px}.admission-fee-lines{display:grid;gap:12px;margin-top:8px}.admission-fee-line{display:grid;grid-template-columns:minmax(190px,1.15fr) minmax(150px,.7fr) minmax(230px,1.2fr) minmax(145px,.7fr);gap:12px;align-items:end;padding:15px;border:1px solid var(--border);border-radius:13px;background:#fbfdff}.admission-fee-line>div:first-child{align-self:center}.admission-fee-line>div:first-child span,.discount-authority-line>div span{display:block;color:#0e7490;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.admission-fee-line>div:first-child strong,.discount-authority-line>div strong{display:block;margin-top:4px;color:var(--navy);font-family:Manrope}.admission-fee-line>div:first-child small{display:block;margin-top:4px;color:var(--muted)}.fee-line-net{min-height:47px;display:flex;flex-direction:column;justify-content:center;padding:8px 11px;border:1px solid #b7e2d4;border-radius:9px;background:#eefaf5}.fee-line-net span{color:#356859;font-size:10px}.fee-line-net strong{margin-top:3px;color:#08775d}.discount-authority-line{display:grid;grid-template-columns:minmax(190px,1.15fr) minmax(300px,2.6fr);gap:12px;align-items:end;padding:15px;border:1px solid #b9dce5;border-radius:13px;background:#f0fbfd}.fee-breakdown-mini.detailed{display:grid;grid-template-columns:repeat(2,minmax(190px,1fr))}.fee-breakdown-mini.detailed span{min-width:0}.fee-breakdown-mini.detailed small{display:block;margin-top:4px;line-height:1.4}.admission-invoice-result{margin-top:22px;padding:16px;border:1px solid var(--border);border-radius:13px;background:#fbfdff}.admission-invoice-result h3{margin:0 0 12px}.admission-invoice-result>p{margin:13px 0 0;padding:11px 13px;border-radius:9px;background:#f0fbfd}.eligibility-toolbar{display:flex;align-items:center;gap:15px;margin-top:22px;padding-top:20px;border-top:1px solid var(--border)}.eligibility-toolbar p{margin:0;color:var(--muted);font-size:12px}.eligibility-result{margin-top:16px;border-radius:13px;padding:16px;border:1px solid}.eligibility-result.eligible{background:#ecfdf7;border-color:#86efc1}.eligibility-result.attention{background:#fffaf0;border-color:#f6c453}.eligibility-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.eligibility-heading strong{display:block;font-family:Manrope}.eligibility-heading span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.eligibility-result ul{margin:14px 0 0;padding-left:20px;color:#7a4b00;font-size:13px}.duplicate-list{display:grid;gap:6px;margin-top:14px;padding:12px;border-radius:10px;background:#ffffffbf}.duplicate-list a{color:#075985;text-decoration:underline;font-size:12px}.fee-breakdown-mini{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.fee-breakdown-mini span{min-width:145px;padding:9px 11px;border-radius:9px;background:#fff;color:var(--muted);font-size:11px}.fee-breakdown-mini strong{display:block;color:var(--navy);margin-top:3px}.fee-breakdown-mini .total{background:#dff8ef;color:#08775d}.override-panel{margin-top:16px;padding:16px;border:1px solid #f6c453;border-radius:13px;background:#fff8e6}.override-panel h4{margin:0 0 4px}.override-panel>p{margin:0 0 13px;color:#7a4b00;font-size:12px}.override-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:13px}.override-grid .inline-check{border:1px solid #f1cc79;border-radius:9px;padding:9px;background:#fff}.admission-final-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:20px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--border)}.admission-final-summary>div{background:#f8fbfd;padding:12px 14px}.admission-final-summary span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.admission-final-summary strong{font-size:13px}.admission-success-card{display:grid;grid-template-columns:86px minmax(0,1fr);gap:24px;padding:34px;border-color:#86efc1}.success-check{width:76px;height:76px;display:grid;place-items:center;border-radius:50%;background:#dff8ef;color:#08775d;font-size:38px;font-weight:800}.admission-success-main h2{margin:4px 0;font-size:28px}.admission-success-main>p{color:var(--muted)}.success-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.success-detail-grid>div{border:1px solid var(--border);border-radius:11px;padding:12px}.success-detail-grid span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.success-detail-grid strong{font-size:13px}.success-actions{justify-content:flex-start}.participant-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:20px;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden}.participant-summary-strip>div{background:#fff;padding:14px 16px}.participant-summary-strip span{display:block;color:var(--muted);font-size:11px}.participant-summary-strip strong{display:block;font-family:Manrope;font-size:23px;margin-top:3px}.participant-filter-card .form-actions{margin-top:12px}.filter-actions{justify-content:flex-end}.participant-cell{display:flex;align-items:center;gap:10px;min-width:220px}.participant-mini-avatar{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;overflow:hidden;border-radius:12px;background:#e0f2fe;color:#075985;font-weight:800}.participant-mini-avatar img{width:100%;height:100%;object-fit:cover}.compact-select{margin-top:5px;padding:5px 7px;font-size:11px;min-width:100px}.profile-hero-card{display:grid;grid-template-columns:130px minmax(0,1fr) 300px;gap:24px;align-items:center}.profile-photo-large{width:126px;height:150px;border-radius:16px;overflow:hidden;background:#e0f2fe;display:grid;place-items:center;color:#075985;font-family:Manrope;font-size:42px}.profile-photo-large img{width:100%;height:100%;object-fit:cover}.profile-identity h2{margin:4px 0;font-size:29px}.profile-identity>p{color:var(--muted);margin-bottom:12px}.profile-tag-row{display:flex;flex-wrap:wrap;gap:8px}.profile-tag-row>span:not(.status){padding:5px 9px;border-radius:999px;background:#edf2f7;color:#486581;font-size:11px;font-weight:700}.profile-admission-meta{display:grid;gap:9px}.profile-admission-meta span{display:block;padding:10px 12px;background:#f5f9fc;border-radius:10px;color:var(--muted);font-size:11px}.profile-admission-meta strong{display:block;color:var(--navy);font-size:13px;margin-top:3px}.profile-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.profile-metric-grid .card{margin-bottom:20px;min-height:112px;display:flex;flex-direction:column;justify-content:space-between}.profile-metric-grid span{color:var(--muted);font-size:12px}.profile-metric-grid strong{font-family:Manrope;font-size:20px}.profile-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.profile-two-column>.card{margin-bottom:20px}.profile-detail-list{display:grid;gap:1px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--border)}.profile-detail-list>div{background:#fbfdff;padding:11px 13px}.profile-detail-list span,.profile-info-grid span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}.profile-detail-list strong{font-size:13px}.profile-inline-action{margin-top:14px}.profile-schedule-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}.profile-schedule-list>div{padding:11px;border:1px solid var(--border);border-radius:10px;background:#f8fbfd}.profile-schedule-list strong,.profile-schedule-list span{display:block;font-size:12px}.profile-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.profile-info-grid>div{padding:12px;border:1px solid var(--border);border-radius:10px;background:#fbfdff}.profile-info-grid strong{font-size:13px;white-space:pre-wrap}.timeline-list{display:grid;gap:14px}.timeline-list>div{position:relative;padding:0 0 14px 18px;border-left:2px solid #cbd9e4}.timeline-list>div:before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;left:-5.5px;top:4px;background:#0e7490}.timeline-list span{color:var(--muted);font-size:10px}.timeline-list strong{display:block;margin-top:3px;font-size:13px}.timeline-list p{margin:4px 0;color:#486581;font-size:12px}.promotion-current-level{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.promotion-current-level>div{border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:#f8fbfd}.promotion-current-level span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.promotion-current-level strong{display:block;margin-top:4px}.promotion-quick-marks{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 14px}.performance-percent{font-size:18px;color:var(--navy)}.promotion-history-table td{vertical-align:top}.profile-management{margin-top:30px;padding-top:28px;border-top:2px dashed #cbd9e4}.management-heading{margin-bottom:20px}.management-heading h2{margin:3px 0 5px}.management-heading p{color:var(--muted)}details>summary{cursor:pointer;font-family:Manrope;font-weight:800;list-style:none}details>summary::-webkit-details-marker{display:none}details>summary:after{content:"+";float:right;color:var(--aqua);font-size:22px}details[open]>summary:after{content:"−"}.details-form{display:grid;gap:15px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.management-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.management-action-grid .card{margin-bottom:0}.management-action-grid h3{margin-bottom:4px}@media(max-width:1180px){.participant-photo-layout{grid-template-columns:150px 1fr}.guardian-contact-grid{grid-template-columns:1fr}.override-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-hero-card{grid-template-columns:120px 1fr}.profile-admission-meta{grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr))}.profile-metric-grid,.profile-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:850px){.participant-photo-layout,.profile-two-column,.management-action-grid,.promotion-current-level{grid-template-columns:1fr}.photo-upload-card{max-width:180px}.placement-summary,.admission-final-summary,.participant-summary-strip,.success-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-hero-card{grid-template-columns:100px 1fr}.profile-photo-large{width:96px;height:116px}.profile-admission-meta{grid-template-columns:1fr}}@media(max-width:600px){.placement-summary,.admission-final-summary,.participant-summary-strip,.success-detail-grid,.profile-metric-grid,.profile-info-grid{grid-template-columns:1fr}.fee-preview-strip,.eligibility-toolbar,.eligibility-heading{align-items:flex-start;flex-direction:column}.override-grid{grid-template-columns:1fr}.admission-success-card{grid-template-columns:1fr;padding:22px}.profile-hero-card{grid-template-columns:1fr;text-align:center}.profile-photo-large{margin:0 auto}.profile-tag-row{justify-content:center}.profile-schedule-list{grid-template-columns:1fr}}@media print{body{background:#fff}.sidebar,.topbar,.profile-no-print,.profile-management{display:none!important}.app-shell,.main-area{display:block;width:100%}.content{padding:0;max-width:none}.card{box-shadow:none;break-inside:avoid;border-color:#cbd5e1;margin-bottom:12px}.profile-print-sheet{font-size:11px}.profile-hero-card{grid-template-columns:100px 1fr 240px}.profile-photo-large{width:96px;height:116px}.profile-metric-grid{grid-template-columns:repeat(4,1fr)}.profile-two-column{grid-template-columns:repeat(2,1fr)}.button,select{display:none!important}}.finance-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:7px;border:1px solid var(--border);background:#fff;border-radius:14px;box-shadow:0 6px 20px #0f324b0d}.finance-tabs button{border:0;background:transparent;color:#486581;padding:10px 15px;border-radius:10px;font-weight:800;cursor:pointer}.finance-tabs button:hover{background:#f0f7fa;color:var(--navy)}.finance-tabs button.active{background:var(--navy);color:#fff}.finance-loading{padding:42px;text-align:center;color:var(--muted);font-weight:700}.finance-stats{margin-bottom:20px}.finance-stats small{color:var(--muted)}.finance-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.finance-two-column>.card{margin-bottom:20px}.finance-mini-list{display:grid;gap:8px}.finance-mini-list>button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left;border:1px solid var(--border);background:#fbfdff;border-radius:11px;padding:11px 13px;cursor:pointer}.finance-mini-list>button:hover{border-color:#7dd3fc;background:#f0f9ff}.finance-mini-list span{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.finance-mini-list span:last-child{align-items:flex-end}.finance-mini-list small{color:var(--muted)}.finance-filter-card .form-actions{margin-top:15px}.finance-report-buttons{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.finance-export-row{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}.finance-modal-large{width:min(1020px,96vw);max-height:92vh;overflow-y:auto}.finance-line-items{border:1px solid var(--border);border-radius:12px;padding:14px;margin:18px 0;background:#f8fbfd}.finance-line-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.finance-line-row{display:grid;grid-template-columns:minmax(220px,2fr) 130px 80px 130px 110px 36px;gap:8px;align-items:center;margin-bottom:8px}.finance-line-row input,.finance-line-row select{min-width:0}.finance-line-row strong{text-align:right}.finance-modal-summary{display:flex;justify-content:flex-end;align-items:center;gap:20px;border-top:1px solid var(--border);padding-top:14px;margin-top:14px}.finance-modal-summary strong{font-size:22px;color:var(--navy)}.finance-invoice-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.finance-invoice-summary>div{border:1px solid var(--border);background:#f8fbfd;border-radius:10px;padding:12px}.finance-invoice-summary span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.finance-invoice-summary strong{font-size:18px}.finance-detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 22px}.invoice-discount-authority{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:12px;padding:12px 14px;border:1px solid #b9dce5;border-radius:10px;background:#f0fbfd}.invoice-discount-authority span{color:#0e7490;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.invoice-discount-authority strong{color:var(--navy);text-align:right}.participant-invoice-table{min-width:1180px}.profile-invoice-lines{display:grid;gap:7px;min-width:280px}.profile-invoice-lines>div{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#fbfdff}.profile-invoice-lines span{display:block;color:#0e7490;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.profile-invoice-lines strong{display:block;margin:2px 0;font-size:12px}.profile-invoice-lines small{display:block;color:var(--muted);line-height:1.35}.profile-invoice-lines .profile-invoice-authority{border-color:#b9dce5;background:#f0fbfd}.table-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.alert{position:relative}.alert-close{float:right;margin-left:12px;border:0;background:transparent;font-size:18px;cursor:pointer;color:inherit}.status-draft,.status-inactive,.status-reversed{background:#edf2f7;color:#486581}.status-approved,.status-processed{background:#dff8ef;color:#08775d}.status-rejected,.status-refunded{background:#fee4e2;color:#b42318}@media(max-width:1100px){.finance-line-row{grid-template-columns:minmax(180px,2fr) 120px 70px 110px 100px 36px}.finance-invoice-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:850px){.admission-fee-line,.discount-authority-line{grid-template-columns:1fr 1fr}.admission-fee-line>div:first-child,.discount-authority-line>div:first-child{grid-column:1 / -1}.finance-two-column{grid-template-columns:1fr}.finance-line-row{grid-template-columns:1fr 1fr;padding-bottom:12px;border-bottom:1px solid var(--border)}.finance-line-row strong{text-align:left}.finance-line-row .icon-button{justify-self:end}}@media(max-width:600px){.admission-fee-line,.discount-authority-line,.fee-breakdown-mini.detailed{grid-template-columns:1fr}.admission-fee-line>div:first-child,.discount-authority-line>div:first-child{grid-column:auto}.invoice-discount-authority{align-items:flex-start;flex-direction:column}.invoice-discount-authority strong{text-align:left}.finance-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}.finance-tabs::-webkit-scrollbar{display:none}.finance-tabs button{flex:0 0 auto;white-space:nowrap}.finance-invoice-summary,.finance-line-row{grid-template-columns:1fr}.finance-report-buttons{align-items:stretch}}@media print{.finance-tabs,.finance-filter-card,.finance-export-row,.finance-detail-actions,.alert{display:none!important}.finance-two-column{grid-template-columns:repeat(2,1fr)}}.attendance-tabs{margin-bottom:22px}.attendance-stats{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.attendance-stats .card{min-height:108px;display:flex;flex-direction:column;justify-content:center}.attendance-stats .card span{color:var(--muted, #627d98);font-size:.82rem;font-weight:700}.attendance-stats .card strong{display:block;margin-top:8px;font-size:1.8rem;color:#102a43}.attendance-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.attendance-filter-grid{grid-template-columns:repeat(6,minmax(120px,1fr))}.attendance-session-summary{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;padding:14px 16px;background:#f0f7fa;border:1px solid #d7edf2;border-radius:12px;margin-bottom:15px}.attendance-action-bar{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:16px}.attendance-roster{max-height:52vh;border:1px solid #d9e2ec;border-radius:12px}.attendance-roster table{min-width:1050px}.attendance-roster thead{position:sticky;top:0;z-index:2}.attendance-roster input,.attendance-roster select{min-width:120px}.attendance-modal-backdrop{z-index:1000}.attendance-modal{width:min(1280px,96vw);max-height:94vh;overflow:auto}.attendance-inner-card{margin-top:18px;box-shadow:none;border:1px solid #d9e2ec}.participant-cell{display:flex;align-items:center;gap:10px;min-width:190px}.participant-cell img,.mini-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:0 0 38px}.mini-avatar{display:inline-flex;align-items:center;justify-content:center;background:#d9f3f7;color:#0e7490;font-weight:800}.button.warning{background:#fff7d6;color:#8a5a00;border-color:#f2cf66}.button.warning:hover{background:#fce9a9}.status-status-pending,.status-pending{background:#fff7d6;color:#8a5a00}.status-draft{background:#e8f0fe;color:#1d4ed8}.status-submitted{background:#dcfce7;color:#166534}.status-outside-geofence,.status-approved-remote,.status-rejected-remote{white-space:nowrap}.status-outside-geofence{background:#fff1f2;color:#be123c}.status-approved-remote{background:#dcfce7;color:#166534}.status-rejected-remote{background:#fee2e2;color:#991b1b}.status-excused{background:#ede9fe;color:#6d28d9}@media(max-width:1100px){.attendance-two-column{grid-template-columns:1fr}.attendance-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.attendance-filter-grid{grid-template-columns:1fr 1fr}.attendance-modal{width:100vw;max-height:100vh;min-height:100vh;border-radius:0}.attendance-action-bar .button{flex:1 1 145px}}.teacher-portal{position:relative}.teacher-loading{padding:60px 20px;text-align:center;color:var(--muted);font-weight:800}.teacher-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:7px;margin-bottom:20px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 6px 20px #0f324b0d}.teacher-tabs button{border:0;background:transparent;color:#486581;padding:10px 14px;border-radius:10px;font-weight:800;cursor:pointer;white-space:nowrap}.teacher-tabs button:hover{background:#f0f7fa;color:var(--navy)}.teacher-tabs button.active{background:var(--navy);color:#fff}.teacher-stats{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));margin-bottom:20px}.teacher-stats .card{min-height:108px;display:flex;flex-direction:column;justify-content:center}.teacher-stats span{color:var(--muted);font-size:.82rem;font-weight:700}.teacher-stats strong{display:block;margin-top:7px;color:var(--navy);font-size:1.75rem}.teacher-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.teacher-mini-list{display:grid;gap:9px}.teacher-mini-list>button{width:100%;display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:14px;align-items:center;padding:12px 13px;text-align:left;border:1px solid var(--border);border-radius:12px;background:#fbfdff;cursor:pointer}.teacher-mini-list>button:hover{border-color:#67c7d9;background:#f0fbfd}.teacher-mini-list span{display:flex;flex-direction:column;gap:2px}.teacher-mini-list small{color:var(--muted)}.teacher-filter-card{margin-bottom:18px}.teacher-filter-card .form-grid.compact{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end}.teacher-attendance-switch{display:inline-flex;flex-wrap:wrap;gap:7px;padding:5px;margin-bottom:14px;border:1px solid var(--border);border-radius:12px;background:#f7fbfd}.teacher-attendance-switch button{border:0;border-radius:9px;background:transparent;color:#486581;padding:9px 13px;font-weight:800;cursor:pointer}.teacher-attendance-switch button.active{background:var(--navy);color:#fff;box-shadow:0 4px 12px #0f324b24}.teacher-attendance-switch button:hover:not(.active){background:#eaf6f8;color:var(--navy)}.teacher-schedule-grid{display:grid;gap:10px}.teacher-session-card{display:grid;grid-template-columns:minmax(220px,1fr) 170px auto;gap:16px;align-items:center;width:100%;padding:15px;border:1px solid var(--border);border-radius:13px;background:#fff;text-align:left;cursor:pointer}.teacher-session-card:hover{border-color:#67c7d9;box-shadow:0 8px 24px #0f324b14}.teacher-session-card>div{display:flex;flex-direction:column;gap:3px}.teacher-session-card span{color:var(--muted);font-size:.83rem}.teacher-substitute-pill{display:inline-flex;align-items:center;width:fit-content;padding:4px 8px;border-radius:999px;background:#fff7d6;color:#8a5a00!important;font-size:.72rem!important;font-weight:800}.teacher-workspace{display:grid;gap:18px}.teacher-class-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(135deg,#f8fdff,#edf9fb)}.teacher-class-hero h3{margin:5px 0;font-size:1.35rem}.teacher-class-hero p{margin:0;color:var(--muted)}.teacher-class-statuses{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.teacher-location-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.teacher-location-grid>div{border:1px solid var(--border);border-radius:11px;background:#f8fbfd;padding:12px}.teacher-location-grid span{display:block;color:var(--muted);font-size:.75rem;margin-bottom:5px}.teacher-location-grid strong{font-size:.95rem;color:var(--navy)}.teacher-action-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.teacher-location-note{margin:12px 0 0;color:var(--muted);font-size:.85rem}.teacher-roster{max-height:58vh;overflow:auto;border:1px solid var(--border);border-radius:12px}.teacher-roster table{min-width:900px}.teacher-roster thead{position:sticky;top:0;z-index:2}.teacher-roster input,.teacher-roster select{min-width:125px}.teacher-participant-profile{border-color:#9ddde8;background:#fbfeff}.teacher-profile-summary{display:grid;grid-template-columns:76px minmax(0,1fr) 120px;gap:16px;align-items:center}.teacher-profile-summary img,.teacher-profile-placeholder{width:72px;height:82px;border-radius:12px;object-fit:cover}.teacher-profile-placeholder{display:flex;align-items:center;justify-content:center;background:#d9f3f7;color:#0e7490;font-size:1.5rem;font-weight:900}.teacher-profile-summary h3{margin:0 0 5px}.teacher-profile-summary p{margin:3px 0;color:var(--muted)}.teacher-profile-summary>div:last-child{text-align:center;padding:12px;border-radius:12px;background:#eefaf5}.teacher-profile-summary>div:last-child strong{display:block;font-size:1.6rem;color:#08775d}.teacher-notification-list{display:grid;gap:9px}.teacher-notification-list button{width:100%;display:flex;justify-content:space-between;gap:18px;padding:13px;border:1px solid var(--border);border-radius:11px;background:#fff;text-align:left;cursor:pointer}.teacher-notification-list button.unread{border-left:4px solid #0891b2;background:#f0fbfd}.teacher-notification-list span{display:flex;flex-direction:column;gap:4px}.teacher-notification-list small,.teacher-notification-list time{color:var(--muted)}.teacher-profile-form{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:start}.teacher-profile-photo{display:grid;justify-items:center;gap:12px}.teacher-profile-photo img,.teacher-profile-photo>span{width:140px;height:160px;border-radius:16px;object-fit:cover}.teacher-profile-photo>span{display:flex;align-items:center;justify-content:center;background:#d9f3f7;color:#0e7490;font-size:2.5rem;font-weight:900}.teacher-institute-access{margin:0 0 18px;padding:14px 16px;border:1px solid #b9dce5;border-radius:12px;background:#f5fcfd;color:var(--navy)}.teacher-institute-access>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.teacher-institute-access span{padding:6px 10px;border-radius:999px;background:#dff7f6;color:#0f5e65;font-size:.85rem;font-weight:700}.teacher-action-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;display:flex;align-items:center;justify-content:center;background:#07273e6b;color:#fff;font-weight:900;font-size:1.1rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.planned-session-list{display:grid;gap:12px}.planned-session{display:grid;grid-template-columns:auto minmax(110px,.8fr) repeat(5,minmax(130px,1fr)) auto;gap:10px;align-items:end;padding:14px;border:1px solid var(--border);border-radius:14px;background:#fbfdff}.planned-session.protected{background:#f8fafc;border-style:dashed}.planned-session-title{align-self:center}.planned-session-title strong{display:block}.planned-session-title small{margin:3px 0 0}.institution-access-field{min-width:0;padding:14px;border:1px solid var(--border);border-radius:12px;background:#f8fbfd}.institution-access-field legend{padding:0 6px;font-weight:800;color:var(--navy)}.institution-access-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:10px}.institution-access-options label{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--border);border-radius:10px;background:#fff;cursor:pointer}.institution-access-options label.selected{border-color:#22a6be;background:#ecfeff}.institution-access-options input{width:18px;height:18px;flex:0 0 auto}.institution-access-options span{min-width:0;font-weight:700}@media(max-width:1100px){.planned-session{grid-template-columns:auto 1fr repeat(3,minmax(140px,1fr))}}@media(max-width:760px){.planned-session{grid-template-columns:auto 1fr;align-items:start}.planned-session>label,.planned-session>button{grid-column:1 / -1}.planned-session>label{width:100%}}@media(max-width:1000px){.teacher-two-column{grid-template-columns:1fr}.teacher-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-session-card{grid-template-columns:minmax(180px,1fr) 150px}.teacher-session-card>div:last-child{grid-column:1 / -1;flex-direction:row;align-items:center}}@media(max-width:700px){.teacher-tabs{flex-wrap:nowrap;overflow-x:auto;position:sticky;top:0;z-index:20}.teacher-filter-card .form-grid.compact{grid-template-columns:1fr 1fr}.teacher-filter-card .form-actions{grid-column:1 / -1}.teacher-class-hero{align-items:flex-start;flex-direction:column}.teacher-class-statuses{justify-content:flex-start}.teacher-location-grid{grid-template-columns:1fr}.teacher-action-row .button{flex:1 1 140px}.teacher-session-card{grid-template-columns:1fr}.teacher-session-card>div:last-child{grid-column:auto}.teacher-mini-list>button{grid-template-columns:1fr auto}.teacher-mini-list>button>.status{grid-column:1 / -1;justify-self:start}.teacher-profile-form{grid-template-columns:1fr}.teacher-profile-summary{grid-template-columns:64px 1fr}.teacher-profile-summary>div:last-child{grid-column:1 / -1}}.partner-portal{position:relative}.partner-loading{padding:60px 20px;text-align:center;color:var(--muted);font-weight:800}.partner-access-strip{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;margin:-6px 0 18px;padding:12px 15px;border:1px solid #cce6ec;border-radius:13px;background:linear-gradient(135deg,#f4fcfd,#eef8fb);color:#486581;font-size:.84rem}.partner-access-strip strong{color:var(--navy)}.partner-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:7px;margin-bottom:20px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 6px 20px #0f324b0d}.partner-tabs button{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:#486581;padding:10px 13px;border-radius:10px;font-weight:800;cursor:pointer;white-space:nowrap}.partner-tabs button:hover{background:#f0f7fa;color:var(--navy)}.partner-tabs button.active{background:var(--navy);color:#fff}.partner-tab-count{display:inline-flex;min-width:20px;height:20px;padding:0 6px;align-items:center;justify-content:center;border-radius:999px;background:#e11d48;color:#fff;font-size:.7rem}.partner-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:20px}.partner-stats .card{min-height:108px;display:flex;flex-direction:column;justify-content:center}.partner-stats .stat-value{font-size:1.55rem}.partner-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start;margin-bottom:20px}.partner-split-view{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:20px;align-items:start}.partner-list{display:grid;gap:9px}.partner-list-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(120px,auto) auto;gap:14px;align-items:center;padding:12px 13px;border:1px solid var(--border);border-radius:11px;background:#fbfdff}.partner-list-row>div{display:flex;flex-direction:column;gap:3px}.partner-list-row span{color:var(--muted);font-size:.82rem}.partner-list-row.button-row{width:100%;text-align:left;cursor:pointer}.partner-list-row.button-row:hover{border-color:#67c7d9;background:#f0fbfd}.compact-list{gap:7px}.compact-list .partner-list-row{padding:9px 11px}.partner-filter-card{margin-bottom:18px}.partner-filter-card .form-grid.compact{grid-template-columns:minmax(170px,280px) minmax(150px,220px) auto;align-items:end}.partner-table-scroll{max-height:64vh}.partner-table-scroll thead{position:sticky;top:0;z-index:2}.partner-detail-card{border-color:#b7dfe7;background:#fcfeff}.partner-profile{display:grid;gap:18px}.partner-profile-head{display:grid;grid-template-columns:78px 1fr;gap:15px;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--border)}.partner-profile-head img,.partner-profile-head>span{width:74px;height:84px;border-radius:13px;object-fit:cover}.partner-profile-head>span{display:flex;align-items:center;justify-content:center;background:#d9f3f7;color:#0e7490;font-size:1.8rem;font-weight:900}.partner-profile-head h3{margin:0 0 4px}.partner-profile-head p{margin:0 0 7px;color:var(--muted)}.partner-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.partner-info-grid.single-column{grid-template-columns:1fr}.partner-info-grid>div{min-height:74px;padding:12px;border:1px solid var(--border);border-radius:11px;background:#f8fbfd}.partner-info-grid span{display:block;margin-bottom:5px;color:var(--muted);font-size:.76rem}.partner-info-grid strong{color:var(--navy);font-size:.94rem;overflow-wrap:anywhere}.partner-batch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:15px;margin-bottom:20px}.partner-batch-card{display:block;width:100%;padding:17px;border:1px solid var(--border);border-radius:14px;background:#fff;text-align:left;cursor:pointer;box-shadow:0 5px 18px #0f324b0a}.partner-batch-card:hover{border-color:#67c7d9;transform:translateY(-1px);box-shadow:0 9px 24px #0f324b14}.partner-batch-card>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center;color:var(--muted);font-size:.8rem}.partner-batch-card h3{margin:15px 0 5px;color:var(--navy)}.partner-batch-card p{margin:0;color:var(--muted)}.partner-batch-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:16px}.partner-batch-metrics span{padding:9px 6px;border-radius:9px;background:#f0f7fa;text-align:center;color:var(--muted);font-size:.72rem}.partner-batch-metrics strong{display:block;color:var(--navy);font-size:1rem}.partner-statement-detail{display:grid;gap:16px}.partner-statement-title{display:flex;justify-content:space-between;gap:15px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--border)}.partner-statement-title>div{display:flex;flex-direction:column;gap:4px}.partner-statement-title span{color:var(--muted);font-size:.82rem}.partner-formula{display:grid;gap:7px;padding:14px;border-radius:13px;background:#f7fbfc;border:1px solid #dbe9ed}.partner-formula>div{display:flex;justify-content:space-between;gap:16px;padding:8px 4px}.partner-formula span{color:var(--muted)}.partner-formula .formula-total{border-top:1px solid #bdd7dd;font-weight:800}.partner-formula .formula-payable{margin-top:3px;padding:12px;border-radius:10px;background:#e7f8f2;color:#08775d}.partner-formula .formula-payable span,.partner-formula .formula-balance span{color:inherit}.partner-formula .formula-balance{padding:12px;border-radius:10px;background:#fff7d6;color:#8a5a00}.partner-note{padding:13px;border-left:4px solid #0891b2;border-radius:8px;background:#f0fbfd}.partner-note p{margin:5px 0 0;color:#486581;white-space:pre-wrap}.partner-request-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.partner-request-form .full{grid-column:1 / -1}.partner-request-list{display:grid;gap:12px;max-height:72vh;overflow:auto;padding-right:4px}.partner-request-item{padding:14px;border:1px solid var(--border);border-radius:12px;background:#fff}.partner-request-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.partner-request-head>div:first-child{display:flex;flex-direction:column;gap:4px}.partner-request-head>div:last-child{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.partner-request-head span,.partner-request-foot{color:var(--muted);font-size:.78rem}.partner-request-item>p{color:#486581;line-height:1.55;white-space:pre-wrap}.partner-admin-response{padding:11px;border-radius:9px;background:#eefaf5}.partner-admin-response p{margin:4px 0 0;color:#356859;white-space:pre-wrap}.partner-request-foot{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:11px}.partner-report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.partner-report-grid .card{display:flex;flex-direction:column;align-items:flex-start;min-height:220px}.partner-report-grid .card p{flex:1;color:var(--muted);line-height:1.5}.partner-report-icon{display:inline-flex;width:52px;height:52px;align-items:center;justify-content:center;border-radius:13px;background:#e6f6f9;color:#0e7490;font-size:.75rem;font-weight:900}.partner-print-card{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:18px}.partner-print-card h3,.partner-print-card p{margin:0}.partner-print-card p{margin-top:5px;color:var(--muted)}.partner-user-list{display:grid;gap:10px}.partner-user-row{display:grid;grid-template-columns:42px minmax(150px,1fr) auto auto auto;gap:11px;align-items:center;padding:11px;border:1px solid var(--border);border-radius:11px}.partner-user-row>div:nth-child(2){display:flex;flex-direction:column;gap:3px}.partner-user-row>div:nth-child(2) span{color:var(--muted);font-size:.78rem}.partner-notification-list{display:grid;gap:9px}.partner-notification-list button{width:100%;display:flex;justify-content:space-between;gap:18px;padding:13px;border:1px solid var(--border);border-radius:11px;background:#fff;text-align:left;cursor:pointer}.partner-notification-list button.unread{border-left:4px solid #0891b2;background:#f0fbfd}.partner-notification-list button>div{display:flex;flex-direction:column;gap:4px}.partner-notification-list p{margin:0;color:#486581}.partner-notification-list span,.partner-notification-list time{color:var(--muted);font-size:.78rem}.partner-institution-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(135deg,#f8fdff,#eaf8fb)}.partner-institution-hero h2{margin:5px 0}.partner-institution-hero p{margin:0;color:var(--muted)}.partner-institution-hero>div:last-child{display:grid;justify-items:end;gap:10px}.partner-institution-hero>div:last-child strong{font-size:1.2rem;color:var(--navy)}.partner-permission-grid{display:flex;flex-wrap:wrap;gap:9px}.partner-permission-grid span{padding:8px 11px;border-radius:999px;background:#edf8fa;color:#0e6476;font-size:.8rem;font-weight:800}.partner-action-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1600;display:flex;align-items:center;justify-content:center;background:#07273e6b;color:#fff;font-weight:900;font-size:1.1rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.status-generated{background:#e8f0fe;color:#1d4ed8}.status-approved{background:#dcfce7;color:#166534}.status-partially-paid{background:#fff7d6;color:#8a5a00}.status-paid{background:#d1fae5;color:#065f46}.status-disputed,.status-urgent{background:#fee2e2;color:#991b1b}.status-under-review,.status-high{background:#ffedd5;color:#9a3412}.status-owner{background:#ede9fe;color:#6d28d9}.status-manager{background:#e0f2fe;color:#075985}.status-accounts{background:#dcfce7;color:#166534}.status-attendance{background:#fef3c7;color:#92400e}.status-viewer{background:#f1f5f9;color:#475569}@media(max-width:1150px){.partner-split-view,.partner-two-column{grid-template-columns:1fr}.partner-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.partner-tabs{flex-wrap:nowrap;overflow-x:auto;position:sticky;top:0;z-index:20}.partner-access-strip{display:grid;grid-template-columns:1fr 1fr}.partner-filter-card .form-grid.compact{grid-template-columns:1fr 1fr}.partner-filter-card .form-actions{grid-column:1 / -1}.partner-info-grid{grid-template-columns:1fr}.partner-list-row{grid-template-columns:1fr auto}.partner-list-row>.status{grid-column:1 / -1;justify-self:start}.partner-request-form{grid-template-columns:1fr}.partner-request-form .full{grid-column:auto}.partner-request-head{flex-direction:column}.partner-request-head>div:last-child{justify-content:flex-start}.partner-user-row{grid-template-columns:42px 1fr auto}.partner-user-row .status:nth-of-type(2),.partner-user-row .button{grid-column:2 / -1;justify-self:start}.partner-print-card,.partner-institution-hero{align-items:flex-start;flex-direction:column}.partner-institution-hero>div:last-child{justify-items:start}}@media print{.sidebar,.topbar-actions,.partner-tabs,.partner-filter-card,.button,.partner-action-overlay{display:none!important}.main-area{margin:0!important}.content{padding:0!important}.card{break-inside:avoid;box-shadow:none!important}}.partner-admin-page{position:relative}.admin-institution-view{grid-template-columns:minmax(340px,.8fr) minmax(0,1.2fr)}.partner-admin-stack{display:grid;gap:20px}.partner-admin-institution-list{display:grid;gap:9px;max-height:70vh;overflow:auto}.partner-admin-institution-list>button{width:100%;display:grid;grid-template-columns:minmax(170px,1fr) auto auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:11px;background:#fff;text-align:left;cursor:pointer}.partner-admin-institution-list>button:hover,.partner-admin-institution-list>button.active{border-color:#67c7d9;background:#f0fbfd}.partner-admin-institution-list>button>div{display:flex;flex-direction:column;gap:3px}.partner-admin-institution-list span{color:var(--muted);font-size:.78rem}.partner-admin-statement-form{display:grid;grid-template-columns:minmax(190px,1.3fr) repeat(3,minmax(145px,.8fr)) minmax(200px,1.2fr) auto auto;gap:11px;align-items:end}.partner-admin-statement-form .wide{min-width:220px}.partner-admin-share-preview{min-height:47px;display:flex;flex-direction:column;justify-content:center;padding:7px 11px;border:1px solid var(--border);border-radius:9px;background:#f8fbfd}.partner-admin-share-preview span{color:var(--muted);font-size:.7rem}.partner-admin-share-preview strong{color:var(--navy)}.table-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:160px}.partner-admin-request-button{width:100%;display:flex;justify-content:space-between;gap:14px;padding:12px;border:1px solid var(--border);border-radius:11px;background:#fff;text-align:left;cursor:pointer}.partner-admin-request-button:hover,.partner-admin-request-button.active{border-color:#67c7d9;background:#f0fbfd}.partner-admin-request-button>div:first-child{display:flex;flex-direction:column;gap:4px}.partner-admin-request-button>div:last-child{display:flex;flex-wrap:wrap;gap:5px;align-items:flex-start}.partner-admin-request-button span{color:var(--muted);font-size:.78rem}.partner-selected-request{padding:13px;border-radius:10px;background:#f6fafb;border:1px solid var(--border)}.partner-selected-request span{display:block;margin-top:4px;color:var(--muted);font-size:.78rem}.partner-selected-request p{margin:10px 0 0;color:#486581;white-space:pre-wrap}@media(max-width:1200px){.partner-admin-statement-form{grid-template-columns:repeat(3,minmax(0,1fr))}.partner-admin-statement-form .wide{min-width:0}}@media(max-width:850px){.admin-institution-view{grid-template-columns:1fr}.partner-admin-statement-form{grid-template-columns:1fr 1fr}}@media(max-width:600px){.partner-admin-institution-list>button{grid-template-columns:1fr auto}.partner-admin-institution-list>button>.status{grid-column:1 / -1;justify-self:start}.partner-admin-statement-form{grid-template-columns:1fr}}.page-action-group{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}.invoice-history-filters{align-items:end}.invoice-history-actions{flex-wrap:wrap}.invoice-history-stats{grid-template-columns:repeat(6,minmax(0,1fr))}.invoice-history-stats .card{min-height:105px}.invoice-sector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-bottom:20px}.invoice-sector-grid>div{min-width:0}.invoice-sector-grid>div .card{height:100%}.invoice-sector-card{margin-bottom:0;padding:17px;background:linear-gradient(145deg,#fff,#f4fbfd)}.invoice-sector-card>span{color:var(--aqua);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.invoice-sector-card h3{margin:5px 0 13px}.invoice-sector-card>div{display:flex;justify-content:space-between;gap:12px;align-items:end}.invoice-sector-card>div small{margin:0}.invoice-sector-card>div strong{color:var(--navy);font-size:18px}.invoice-sector-card p{margin:10px 0 0;color:var(--muted);font-size:11px}.invoice-history-table{min-width:1550px}.invoice-history-table td{vertical-align:top}.invoice-type-pill{display:inline-flex;align-items:center;width:fit-content;padding:5px 9px;border-radius:999px;background:#edf2f7;color:#486581;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.invoice-type-pill.type-admission{background:#e0f2fe;color:#075985}.invoice-type-pill.type-tuition{background:#dff8ef;color:#08775d}.invoice-type-pill.type-promotion{background:#f3e8ff;color:#7e22ce}.invoice-type-pill.type-mixed{background:#fff3d6;color:#8a5a00}.tuition-participant-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:18px 0;border:1px solid var(--border);background:var(--border);border-radius:12px;overflow:hidden}.tuition-participant-summary>div{background:#f8fbfd;padding:12px 14px}.tuition-participant-summary span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.tuition-participant-summary strong{display:block;margin-top:4px;font-size:13px}.tuition-finance-grid{margin-top:16px}.tuition-total-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:18px;border:1px solid #b7e2d4;background:#b7e2d4;border-radius:12px;overflow:hidden}.tuition-total-strip span{background:#eefaf5;padding:12px 14px;color:#356859;font-size:11px}.tuition-total-strip strong{display:block;margin-top:4px;color:#08775d;font-size:16px}@media(max-width:1280px){.invoice-history-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:850px){.page-action-group{justify-content:flex-start}.tuition-participant-summary,.tuition-total-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.invoice-history-stats,.tuition-participant-summary,.tuition-total-strip{grid-template-columns:1fr}.invoice-history-actions .button,.page-action-group .button{width:100%}}.payment-plan-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.payment-plan-selector button{display:flex;min-height:92px;flex-direction:column;align-items:flex-start;gap:5px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#fbfdff;color:var(--navy);text-align:left}.payment-plan-selector button:hover{border-color:#67c7d9;background:#f0fbfd}.payment-plan-selector button.active{border-color:#0e7490;background:#ecfeff;box-shadow:0 0 0 3px #0e74901a}.payment-plan-selector button strong{font-family:Manrope;font-size:14px}.payment-plan-selector button span{color:var(--muted);font-size:11px;line-height:1.45}.tuition-total-strip.due-aware{grid-template-columns:repeat(5,minmax(0,1fr))}.tuition-total-strip .due-highlight,.payment-balance-strip .due-highlight{background:#fff8e6;color:#7a4b00}.tuition-total-strip .due-highlight strong,.payment-balance-strip .due-highlight strong{color:#b45309}.payment-balance-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 0 18px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--border)}.payment-balance-strip span{background:#f8fbfd;padding:13px 15px;color:var(--muted);font-size:11px}.payment-balance-strip strong{display:block;margin-top:4px;color:var(--navy);font-family:Manrope;font-size:18px}.payment-plan-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf2f7;color:#486581;font-size:10px;font-weight:900;text-transform:capitalize;white-space:nowrap}.payment-plan-pill.plan-full{background:#dff8ef;color:#08775d}.payment-plan-pill.plan-partial{background:#fff3d6;color:#8a5a00}.payment-plan-pill.plan-pay_later{background:#fee4e2;color:#b42318}.invoice-due-plan{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:12px 0 18px;border:1px solid #f1cc79;border-radius:11px;overflow:hidden;background:#f1cc79}.invoice-due-plan>div{background:#fffaf0;padding:11px 13px}.invoice-due-plan span{display:block;color:#8a5a00;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.invoice-due-plan strong{display:block;margin-top:4px;color:var(--navy);font-size:12px;white-space:pre-wrap}.invoice-history-table{min-width:1760px}@media(max-width:900px){.payment-plan-selector{grid-template-columns:1fr}.tuition-total-strip.due-aware,.invoice-due-plan{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.tuition-total-strip.due-aware,.payment-balance-strip,.invoice-due-plan{grid-template-columns:1fr}}.visitor-filter-card{padding-bottom:17px}.visitor-modal{width:min(1050px,96vw);max-height:92vh;overflow-y:auto}.visitor-history-table{min-width:1260px}.visitor-history-table td{vertical-align:top}.receiver-account-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.receiver-payment-table{min-width:1380px}.receiver-settlement-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px;padding:12px 14px;border:1px solid #a5f3fc;border-radius:11px;background:#ecfeff;color:#155e75}.receiver-settlement-toolbar span{font-size:13px}.receiver-submit-panel{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:end;margin-top:18px;padding:16px;border:1px solid var(--border);border-radius:13px;background:#f8fbfd}.receiver-submit-panel>div{display:grid;gap:8px;justify-items:end}.receiver-submit-panel>div span{color:var(--muted);font-size:11px}.receiver-submit-panel>div strong{font-family:Manrope;font-size:22px;color:var(--navy)}.attendance-gps-modal{width:min(1100px,96vw);max-height:92vh;overflow-y:auto}.gps-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gps-detail-grid section{border:1px solid var(--border);border-radius:14px;padding:17px;background:#fbfdff}.gps-detail-grid section h4{margin:0 0 13px}.gps-detail-grid section>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.gps-detail-grid section>div>div{min-width:0;padding:10px 11px;border:1px solid #e4ecf2;border-radius:9px;background:#fff}.gps-detail-grid span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.gps-detail-grid strong{display:block;overflow-wrap:anywhere;font-size:12px}.gps-map-link{display:inline-flex;margin-top:13px}.status-inside-geofence{background:#dff8ef;color:#08775d}.status-outside-geofence{background:#fee4e2;color:#b42318}.course-institution-filter{margin-bottom:20px}.institution-program-assignment-card{border-color:#b9dce5;background:linear-gradient(180deg,#fff,#f5fcfd)}.institution-program-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.program-assignment-option{display:flex;flex-direction:row;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--border);border-radius:11px;background:#fff;cursor:pointer}.program-assignment-option:has(input:checked){border-color:#0e7490;background:#ecfeff;box-shadow:0 0 0 2px #0e749014}.program-assignment-option input{width:auto;margin-top:3px}.program-assignment-option span{min-width:0}.program-assignment-option strong,.program-assignment-option small{display:block}.payment-action{box-shadow:0 8px 22px #1d4ed82e}.status-submitted{background:#e0e7ff;color:#3730a3}.status-confirmed,.status-not-required{background:#dff8ef;color:#08775d}.status-returned{background:#fff3d6;color:#8a5a00}@media(max-width:1100px){.institution-program-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.gps-detail-grid{grid-template-columns:1fr}}@media(max-width:760px){.receiver-account-stats,.institution-program-checks{grid-template-columns:1fr}.receiver-settlement-toolbar{align-items:flex-start;flex-direction:column}.receiver-submit-panel{grid-template-columns:1fr}.receiver-submit-panel>div{justify-items:stretch}.gps-detail-grid section>div{grid-template-columns:1fr}}.status-payment-done{background:#dff8ef;color:#08775d}.operations-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.6fr);gap:20px;align-items:start}.operations-wide{min-width:0}.notice-list{display:grid;gap:12px}.notice-card{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px;border:1px solid var(--border);border-radius:13px;background:#fbfdff}.notice-card>div:first-child{min-width:0}.notice-card h3,.notice-card h4{margin:5px 0 7px;color:var(--navy)}.notice-card p{margin:0 0 8px;white-space:pre-wrap;color:#425466}.notice-card small{color:var(--muted)}.portal-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.6fr);gap:20px;align-items:start}.participant-portal-profile{overflow:hidden}.profile-hero{display:flex;align-items:center;gap:18px}.profile-hero img,.profile-placeholder{width:94px;height:112px;flex:0 0 94px;border-radius:13px;object-fit:cover;border:1px solid var(--border);background:#edf5f7}.profile-placeholder{display:grid;place-items:center;color:var(--navy);font-family:Manrope;font-size:34px;font-weight:800}.profile-hero h2{margin:5px 0}.profile-hero p{margin:0 0 8px;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.detail-grid>div{min-width:0;padding:11px 12px;border:1px solid #e4ecf2;border-radius:10px;background:#fbfdff}.detail-grid span{display:block;margin-bottom:4px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.detail-grid strong{display:block;overflow-wrap:anywhere;color:var(--navy);font-size:12px}.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.achievement-card{padding:17px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,#fff,#f7fbfc)}.achievement-card h3{margin:6px 0}.achievement-card p{color:var(--muted)}.achievement-card>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.message-layout{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);gap:18px;align-items:stretch}.conversation-list{display:grid;align-content:start;gap:8px;max-height:680px;overflow-y:auto}.conversation-list h3{margin-bottom:6px}.conversation-list button{display:grid;gap:3px;width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--navy);text-align:left}.conversation-list button:hover,.conversation-list button.active{border-color:#0e7490;background:#ecfeff}.conversation-list button small,.conversation-list button span{color:var(--muted);font-size:10px}.message-thread{display:flex;min-height:540px;flex-direction:column;gap:12px}.message-thread-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.message-thread-head h3{margin:0 0 4px}.message-thread-head p{margin:0;color:var(--muted)}.message-thread-head select{width:min(260px,100%)}.message-scroll{display:flex;min-height:300px;max-height:430px;flex:1;flex-direction:column;gap:10px;overflow-y:auto;padding:6px 2px}.message-bubble{align-self:flex-start;max-width:min(76%,650px);padding:10px 13px;border:1px solid var(--border);border-radius:13px 13px 13px 4px;background:#f5f8fa}.message-bubble.mine{align-self:flex-end;border-color:#a5f3fc;border-radius:13px 13px 4px;background:#ecfeff}.message-bubble strong{display:block;margin-bottom:4px;font-size:11px}.message-bubble p{margin:0 0 5px;white-space:pre-wrap}.message-bubble small{color:var(--muted)}.message-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.message-composer textarea{resize:vertical}@media(max-width:1000px){.operations-grid,.portal-grid{grid-template-columns:1fr}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.notice-card,.message-thread-head{flex-direction:column}.detail-grid,.achievement-grid,.message-layout,.message-composer{grid-template-columns:1fr}.conversation-list{max-height:340px}.message-bubble{max-width:92%}.message-composer .button{width:100%}}.visitor-institute-block{display:grid;gap:10px}.visitor-institute-block .field-label{font-weight:600}.visitor-institute-options{display:flex;flex-wrap:wrap;gap:10px}.visitor-institute-options .radio-card{align-self:auto;min-width:210px}.installment-payment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 14px}.installment-payment-grid button{display:grid;gap:3px;min-height:74px;padding:11px;border:1px solid var(--border);border-radius:11px;background:#fff;color:var(--navy);text-align:left}.installment-payment-grid button.active{border-color:#0e7490;background:#ecfeff;box-shadow:0 0 0 2px #0e749014}.installment-payment-grid button:disabled{opacity:.55;cursor:not-allowed}.installment-payment-grid button strong,.installment-payment-grid button small{display:block}.installment-payment-grid button small{color:var(--muted)}.fee-repricing-card{border-color:#b9dce5;background:linear-gradient(180deg,#fff,#f6fcfd)}.fee-preview-table{min-width:920px}.muted-note{color:var(--muted);font-size:12px}.user-category-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.user-category-tabs button{padding:9px 14px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--navy);font-weight:700}.user-category-tabs button.active{border-color:#0e7490;background:#ecfeff;color:#155e75}.attendance-matrix-table{min-width:940px}.attendance-matrix-table .matrix-status-head,.attendance-matrix-table .matrix-status-cell{width:78px;text-align:center}.attendance-matrix-choice{width:34px;height:34px;padding:0;border:1px solid #cbd5e1;border-radius:50%;background:#fff;color:#fff;font-weight:800;font-size:17px}.attendance-matrix-choice.active.present{background:#08775d;border-color:#08775d}.attendance-matrix-choice.active.absent{background:#b42318;border-color:#b42318}.attendance-matrix-choice.active.late{background:#8a5a00;border-color:#8a5a00}.attendance-matrix-choice:disabled{opacity:.7;cursor:not-allowed}.today-receiver-card{margin-top:20px}.today-receiver-total{display:grid;justify-items:end;gap:2px}.today-receiver-total span,.today-receiver-total small{color:var(--muted);font-size:11px}.today-receiver-total strong{color:var(--navy);font-family:Manrope;font-size:24px}.receiver-collection-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.receiver-collection-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:11px;background:#fbfdff}.receiver-collection-row div{min-width:0}.receiver-collection-row strong,.receiver-collection-row small{display:block}.receiver-collection-row small{margin-top:3px;color:var(--muted)}@media(max-width:900px){.installment-payment-grid,.receiver-collection-list{grid-template-columns:1fr}.today-receiver-total{justify-items:start}}.login-input-wrap input{width:100%;padding-left:42px;padding-right:44px}.login-input-icon{position:absolute;left:14px;z-index:1;color:var(--muted);font-weight:800}.password-eye{position:absolute;right:8px;border:0;background:transparent;color:var(--navy);font-size:22px;line-height:1;cursor:pointer;padding:8px;border-radius:8px}.password-eye:hover{background:#eef5f9}.tab-strip{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.tab-strip button{border:1px solid var(--border,#d7e1e6);background:#fff;border-radius:10px;padding:9px 14px;font:inherit;font-weight:700;color:inherit;cursor:pointer}.tab-strip button.active{background:#123f4d;color:#fff;border-color:#123f4d}.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.section-title-row h3,.section-title-row p{margin-top:0}.inline-summary{display:flex;gap:16px;flex-wrap:wrap;align-items:center;padding:10px 12px;border:1px solid #d9e4e8;border-radius:10px;background:#f8fbfc}.notice-box{padding:12px 14px;border:1px solid #cddfe6;border-radius:10px;background:#f5fafb}.document-card{display:flex;gap:14px;align-items:center;flex-wrap:wrap;border:1px solid #d9e3e7;border-radius:12px;padding:16px;background:#fbfdfe}.compact-input{min-width:78px;max-width:115px}.action-row{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}.button.tiny{padding:5px 8px;font-size:12px}.material-purchase-status{font-size:12px;color:#60737d}.communication-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.profile-history-item{border-left:3px solid #b9ced6;padding:8px 12px;margin:8px 0}.receiver-position{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.receiver-position>div{border:1px solid #dce6ea;border-radius:10px;padding:10px}.matrix-status-button{width:100%;min-width:120px;text-align:left}.result-publish-note{font-size:12px;color:#60737d}.inventory-low-stock{font-weight:700}.login-input-wrap{position:relative;display:flex;align-items:center}.login-input-wrap input{width:100%;padding-left:38px;padding-right:42px}.login-input-icon{position:absolute;left:13px;z-index:1;font-weight:800;color:#657a84}.password-eye{position:absolute;right:9px;border:0;background:transparent;padding:7px;cursor:pointer;font-size:18px;color:#425b66}@media(max-width:720px){.section-title-row{flex-direction:column}.action-row{justify-content:stretch}.action-row .button{flex:1}.tab-strip{overflow:auto;flex-wrap:nowrap}.tab-strip button{white-space:nowrap}}@media(max-width:760px){.table-wrap{padding-bottom:6px}.table-actions{min-width:0;justify-content:flex-start}.section-title-row,.page-action-group,.card-actions{align-items:stretch}.page-action-group{justify-content:stretch}.page-action-group .button,.action-row .button{width:100%}.finance-line-row,.attendance-filter-grid,.teacher-filter-card .form-grid.compact,.partner-filter-card .form-grid.compact,.partner-request-form,.receiver-submit-panel,.gps-detail-grid,.gps-detail-grid section>div,.institution-program-checks{grid-template-columns:1fr}.course-summary-strip,.placement-summary,.admission-final-summary,.success-detail-grid,.participant-summary-strip,.profile-metric-grid,.profile-info-grid,.profile-schedule-list,.tuition-participant-summary,.tuition-total-strip,.invoice-due-plan,.payment-balance-strip{grid-template-columns:1fr}.receiver-collection-row,.receiver-settlement-toolbar,.invoice-discount-authority{align-items:flex-start;flex-direction:column}.finance-tabs,.teacher-tabs,.partner-tabs,.tab-strip{padding-bottom:4px}.teacher-tabs,.partner-tabs,.tab-strip{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}.teacher-tabs::-webkit-scrollbar,.partner-tabs::-webkit-scrollbar,.tab-strip::-webkit-scrollbar{display:none}.teacher-tabs button,.partner-tabs button,.tab-strip button{flex:0 0 auto;white-space:nowrap}}@media(max-width:560px){.topbar-actions{flex-direction:column;align-items:stretch;justify-content:flex-start}.topbar-signout{width:100%;margin-left:0}.institution-pill{width:100%;border-radius:16px}.course-summary-strip,.receiver-account-stats,.invoice-history-stats,.attendance-stats,.teacher-stats,.partner-stats,.admission-final-summary,.placement-summary,.participant-summary-strip,.success-detail-grid,.tuition-total-strip.due-aware{grid-template-columns:1fr}}
