:root{--navy:#0b1c2e;--green:#0f4f3e;--lime:#dcf06a;--cta:#d4f01a;--muted:#65778a;--canvas:#eef7fe;--border:#e3ebef;--white:#fff;color:var(--navy);font-synthesis:none;background:#ddf5f9;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0;padding:32px}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0}button:disabled{cursor:not-allowed;opacity:.55}:is(button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible){outline-offset:3px;outline:3px solid #72ab63}a{color:inherit;text-decoration:none}svg{vertical-align:middle;flex-shrink:0}button{transition:background .16s,box-shadow .16s}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.8px;margin-bottom:7px;font-size:28px;line-height:1.25}h2{letter-spacing:-.3px;margin-bottom:16px;font-size:17px}h3{letter-spacing:-.2px;margin-bottom:8px;font-size:17px}p{line-height:1.6}.muted,.subtle{color:var(--muted);font-size:13px;line-height:1.6}.muted{margin-bottom:15px}.subtle{font-size:12px}.eyebrow{letter-spacing:1.4px;color:#698277;margin-bottom:8px;font-size:9px;font-weight:650;display:block}.app{border-radius:16px;max-width:1360px;min-height:calc(100vh - 64px);margin:0 auto;display:flex;overflow:hidden;box-shadow:0 12px 32px #0b1c2e1f}.sidebar{background:var(--navy);color:#b8c7d6;flex-direction:column;flex-shrink:0;width:250px;padding:20px 14px 0;display:flex}.brand{color:#fff;align-items:center;gap:10px;padding:0 7px;display:flex}.brand-mark{width:40px;height:40px;color:var(--lime);text-shadow:0 0 9px #d4f01a30;background:linear-gradient(135deg,#1e684e,#113a36);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding-bottom:3px;font:italic 700 44px/1 Georgia,serif;display:inline-flex}.brand strong{letter-spacing:-.6px;white-space:nowrap;font-size:17px;display:block}.brand small{color:#b8c7d6;margin-top:2px;font-size:11px;display:block}.student-card{background:#192938;border:1px solid #2b4051;border-radius:10px;gap:10px;margin:24px 0;padding:12px;display:flex}.student-card img{border-radius:50%;width:39px;height:39px}.student-card span{min-width:0}.student-card strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.student-card small{color:#8fa3b8;margin-top:5px;font-size:11px;display:block}.nav-group{margin-bottom:22px}.nav-group h2{letter-spacing:1px;color:#6c8298;margin:0 8px 9px;font-size:9px;font-weight:500}.nav-link{text-align:left;color:#b8c7d6;background:0 0;border-radius:6px;align-items:center;gap:10px;width:100%;min-height:38px;margin-bottom:3px;padding:9px;font-size:12px;display:flex;position:relative}.nav-link svg{color:var(--lime);stroke-width:1.7px}.nav-link:hover{color:#fff;background:#ffffff08}.nav-link.active{color:#fff;background:#095139}.nav-link.active:before{content:"";background:var(--lime);border-radius:0 3px 3px 0;width:4px;position:absolute;top:0;bottom:0;left:-14px}.nav-count{color:#122e22;background:#dcf06a;border-radius:5px;margin-left:auto;padding:2px 5px;font-size:9px}.sidebar-footer{border-top:1px solid #26384a;margin:auto -14px 0;padding:18px}.sidebar-footer>a{align-items:center;gap:9px;margin-bottom:17px;font-size:12px;display:flex}.sidebar-footer small{white-space:nowrap;color:#8197aa;font-size:9px}.main-wrapper{background:var(--canvas);flex:1;min-width:0}.topbar{color:#fff;background:linear-gradient(105deg,#0b3b2e,#196b50);justify-content:space-between;align-items:center;gap:10px;height:62px;padding:0 28px;display:flex}.breadcrumb{color:#d5ece4;align-items:center;gap:11px;font-size:12px;display:flex}.breadcrumb b{color:#8fb7a5;font-weight:400}.header-actions{align-items:center;gap:17px;display:flex}.header-avatar{border-radius:50%;width:32px;height:32px}.role-pill{letter-spacing:1px;color:#dcebdd;background:#ffffff10;border:1px solid #ffffff20;border-radius:999px;padding:5px 9px;font-size:8px}.icon-button{color:inherit;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:5px;display:inline-flex}.icon-button:hover{background:#819d9320}.notification-button{position:relative}.notification-button i{background:var(--lime);border-radius:50%;width:5px;height:5px;position:absolute;top:2px;right:4px}.mobile-menu{display:none}.dashboard{padding:27px 28px 16px}.page-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.page-heading p{color:var(--muted);margin:0;font-size:13px}.heading-actions{flex-shrink:0;gap:8px;display:flex}.announcement{color:#0f4f3e;background:#cdebdf;border:1px solid #b2dec8;border-radius:8px;align-items:center;gap:10px;margin-bottom:16px;padding:11px 13px;font-size:12px;display:flex}.announcement button{color:var(--green);background:0 0;margin-left:auto;padding:0}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.stat{border:1px solid var(--border);background:#fff;border-radius:11px;justify-content:space-between;align-items:center;gap:6px;padding:17px 16px;display:flex;box-shadow:0 3px 8px #0b1c2e06}.stat span{color:#637486;margin-bottom:8px;font-size:11px;display:block}.stat strong{letter-spacing:-.6px;font-size:24px;line-height:1}.stat svg{color:#428469;opacity:.75}.card{border:1px solid var(--border);background:#fff;border-radius:12px;min-width:0;margin-bottom:18px;padding:19px;box-shadow:0 4px 12px #00000004}.card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px;display:flex}.card-head h2{margin:0}.card-head>svg{color:#769484}.primary,.secondary{border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:11px 17px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.primary{background:var(--cta);color:#192500;border:1px solid #0000}.primary:not(:disabled):hover{background:#c8e412;box-shadow:0 3px 12px #b7ce1725}.secondary{color:var(--green);background:#f1f6f4;border:1px solid #d8e7df}.secondary:not(:disabled):hover{background:#e2efe8}.text-button{color:#287251;background:0 0;align-items:center;gap:5px;padding:4px 0;font-size:11px;font-weight:600;display:inline-flex}.text-button:hover{text-decoration:underline}.week-controls{color:#6c7c8c;align-items:center;gap:5px;font-size:10px;display:flex}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;min-width:700px;display:grid}.calendar-day header{text-align:center;color:#738393;flex-direction:column;align-items:center;gap:5px;padding:8px 3px 10px;font-size:11px;display:flex}.calendar-day header b{color:#263a4d;border-radius:50%;place-items:center;width:25px;height:25px;font-size:13px;font-weight:600;display:grid}.calendar-day header.is-today b{background:var(--green);color:#fff}.calendar-day header.is-today span{color:#227154}.calendar-slots{background:#f7f9fb;border-radius:6px;flex-direction:column;gap:5px;min-height:160px;padding:4px;display:flex}.compact .calendar-slots{min-height:80px}.calendar-slots.no-lessons{background:#f3f5f8}.calendar-lesson{text-align:left;background:#e7edf2;border-left:3px solid #217a56;border-radius:4px;flex-direction:column;gap:4px;min-width:0;padding:8px 6px;display:flex}.calendar-lesson:hover{background:#dcebe4}.calendar-lesson.draft{background:#f6f2e6;border-left-style:dashed}.calendar-lesson b{color:#4b665b;font-size:10px;font-weight:500}.calendar-lesson strong{text-overflow:ellipsis;font-size:10px;font-weight:600;overflow:hidden}.calendar-lesson span{color:#526574;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:9px;line-height:1.4;display:-webkit-box;overflow:hidden}.calendar-lesson small{color:#96762e;font-size:9px}.day-empty{text-align:center;color:#d2dbe2;padding:30px 0}.schedule-scroll{overflow-x:auto}.schedule-footer{color:#85929c;justify-content:space-between;align-items:center;margin-top:17px;font-size:10px;display:flex}.schedule-footer>span{align-items:center;gap:5px;display:flex}.schedule-actions{justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px;display:flex}.bottom-grid{grid-template-columns:1fr 1.05fr 1.05fr;gap:15px;display:grid}.bottom-grid .card{margin:0}.mini-label,.subject-label{color:#2e7e5a;margin:0 0 9px;font-size:11px;font-weight:600;display:block}.today-card h3{font-size:16px}.today-card p{margin-bottom:10px;font-size:11px}.today-card>.primary,.today-card>.secondary{width:100%;margin-top:15px}.time-row{align-items:center;gap:6px;font-size:11px;display:flex}.upcoming{color:#7a6b38;align-items:center;gap:6px;margin-top:8px;font-size:11px;display:flex}.upcoming i{background:#f5b82e;border-radius:50%;width:7px;height:7px}.homework-row{text-align:left;background:0 0;border-bottom:1px solid #e9eef1;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:15px 0;display:flex}.homework-row:last-child{border-bottom:0}.homework-row:hover strong{color:#287251}.homework-row strong{font-size:13px;font-weight:600;display:block}.homework-row small{color:#7a8b98;margin-top:5px;font-size:10px;display:block}.badge{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 8px;font-size:10px;font-weight:500;line-height:1.2;display:inline-flex}.badge.pending,.badge.draft{color:#806322;background:#f6e9c6}.badge.reviewed,.badge.published{color:#286541;background:#e2f0e5}.badge.submitted{color:#316c9a;background:#e3effa}.badge.neutral{color:#6b7c89;background:#edf1f4}.badge.cancelled{color:#9c4d49;background:#fae9e7}.mascot-area{align-items:center;min-width:0;display:flex;position:relative}.speech{z-index:1;background:#fff;border-radius:10px;flex-shrink:0;width:43%;max-width:132px;margin-top:-20px;padding:15px 12px;font-size:12px;line-height:1.4;position:relative;box-shadow:0 3px 8px #0b1c2e13}.speech:after{content:"";border:10px solid #0000;border-left-color:#fff;border-right:0;position:absolute;top:26px;right:-10px}.mascot{object-fit:contain;filter:drop-shadow(0 5px 4px #1a3a4c12);width:65%;max-width:230px;height:240px;margin-top:-30px;margin-left:-4px}.empty-state{text-align:center;padding:28px 12px}.empty-state>svg{color:#88a39b;margin-bottom:13px}.empty-state h3{margin-bottom:8px;font-size:14px}.empty-state p{color:#8a99a5;max-width:350px;margin:0 auto 15px;font-size:12px}.today-card .empty-state,.homework-card .empty-state{padding:10px 4px}.today-card .empty-state>svg,.homework-card .empty-state>svg{width:24px;height:24px;margin-bottom:8px}.today-card .empty-state p,.homework-card .empty-state p{font-size:11px}.table-toolbar{justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.search-field{color:#8999a6;border:1px solid var(--border);background:#f6f9fb;border-radius:8px;align-items:center;gap:9px;width:100%;max-width:340px;padding:0 12px;display:flex}.search-field input{background:0 0;border:0;outline:none;width:100%;padding:11px 0;font-size:12px}.table-scroll{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}th{color:#83929f;border-bottom:1px solid var(--border);background:#f8fafc;padding:12px 10px;font-size:10px;font-weight:500}td{white-space:nowrap;border-bottom:1px solid #edf1f4;padding:16px 10px}td strong{font-size:12px;font-weight:600}td small{color:#7e8d9b;margin-top:5px;font-size:10px;display:block}.helper-text{color:#7c8f9b;align-items:flex-start;gap:7px;margin:15px 0 0;font-size:11px;line-height:1.6;display:flex}.helper-text svg{margin-top:1px}.lesson-list-item{text-align:left;border-bottom:1px solid var(--border);background:0 0;align-items:center;gap:13px;width:100%;padding:15px 4px;display:flex}.lesson-list-item:last-child{border:0}.lesson-list-item:hover{background:#f8fbf9}.subject-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.lesson-list-item>div{flex-direction:column;gap:5px;display:flex}.lesson-list-item strong{font-size:12px}.lesson-list-item span:not(.subject-dot){color:#83939f;font-size:11px}.lesson-list-right{text-align:right;margin-left:auto}.lesson-list-right b{font-size:12px;font-weight:600}.lesson-list-right small{color:#8c9aa5;font-size:10px}.filter-bar{flex-wrap:wrap;gap:7px;margin-bottom:8px;display:flex}.filter{color:#6a7b89;background:#f0f4f7;border-radius:7px;padding:8px 14px;font-size:11px}.filter.selected{background:var(--green);color:#fff}.curriculum-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.subject-card{margin:0}.subject-head{align-items:center;gap:13px;margin-bottom:17px;display:flex}.subject-head>span{border-radius:11px;padding:12px}.subject-head h2{margin-bottom:5px;font-size:15px}.subject-head small{color:#8998a4;font-size:11px}.subject-card ol{margin:0 0 15px;padding:0;list-style:none}.subject-card li{border-bottom:1px solid #f0f3f6;gap:10px;padding:8px 0;font-size:12px;line-height:1.5;display:flex}.subject-card li>span{color:#9ba9b3;min-width:16px;margin-top:2px;font-size:10px}.source-note{color:#8595a1;margin:17px 0;font-size:10px;line-height:1.7}.source-note a{text-decoration:underline}.two-col{grid-template-columns:1fr 1fr;gap:18px;display:grid}.info-list{grid-template-columns:100px 1fr;gap:18px;font-size:13px;display:grid}.info-list dt{color:#8a99a3}.info-list dd{overflow-wrap:anywhere;margin:0}.notice{border-bottom:1px solid var(--border);border-radius:8px;gap:14px;padding:18px 8px;display:flex}.notice>span{color:#689681;background:#eef5f1;border-radius:9px;align-self:flex-start;padding:10px}.notice.unread{background:#f5faf7}.notice strong{font-size:13px}.notice p{color:#768895;margin:5px 0;font-size:12px}.notice small{color:#9ba8b1;font-size:10px}details{border-bottom:1px solid var(--border);padding:15px 0}summary{cursor:pointer;font-size:13px;font-weight:600;line-height:1.5}details p{color:#788a96;margin:12px 0 0;font-size:12px;line-height:1.8}.content-footer{color:#95a7b4;justify-content:space-between;align-items:center;padding:21px 0 3px;font-size:9px;display:flex}.content-footer .text-button{color:#80998b;font-size:10px}dialog{width:620px;max-width:calc(100vw - 30px);max-height:90vh;color:var(--navy);border:0;border-radius:16px;padding:26px;overflow-y:auto;box-shadow:0 20px 70px #0003}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0b1c2e80}.modal-head{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px;display:flex}.modal-head h2{margin:0;font-size:23px}.modal-head .eyebrow{margin-bottom:7px;font-size:8px}.modal-head .icon-button{color:#7a8a96}.field{color:#435e6d;flex-direction:column;gap:8px;margin:0 0 18px;font-size:12px;font-weight:500;display:flex}.field input,.field select,.field textarea{color:#193546;background:#fafcfd;border:1px solid #dce5eb;border-radius:8px;width:100%;min-width:0;padding:11px 12px;font-size:13px;line-height:1.5}.field textarea{resize:vertical}.field small{color:#8799a4;font-size:10px;font-weight:400;line-height:1.6}.form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.form-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.student-select{border:1px solid var(--border);border-radius:10px;margin:5px 0 15px;padding:13px 14px}.student-select legend{padding:0 5px;font-size:12px;font-weight:600}.student-select legend span{color:#8195a0;font-size:10px;font-weight:400}.student-options{max-height:180px;margin-top:8px;overflow:auto}.student-options label{align-items:center;gap:10px;padding:9px 0;font-size:12px;display:flex}.student-options input{accent-color:var(--green);width:15px;height:15px}.student-options small{color:#8a9aa5;margin-top:3px;font-size:10px;display:block}.dialog-info{background:#f1f6f8;border-radius:9px;margin:16px 0;padding:16px;font-size:12px;line-height:1.8}.dialog-info p{align-items:center;gap:9px;margin:0 0 9px;font-size:12px;display:flex}.dialog-info .badge{margin-top:5px}.dialog-info>svg{margin-right:5px}.copy-row{justify-content:space-between;align-items:center;padding:9px 0;font-size:12px;display:flex}.danger-text{color:#aa5b54;background:0 0;margin-top:20px;padding:0;font-size:11px;text-decoration:underline;display:block}.submission{border:1px solid var(--border);border-radius:10px;margin-top:15px;padding:15px}.submission p,.submission .card-head{font-size:12px}.submission .field{margin-top:15px}.feedback{color:#3e7558;background:#eef6f0;border-radius:6px;padding:10px}.pre-wrap{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.error-banner{color:#9e4b3b;background:#fff0ec;border:1px solid #f4d2c9;border-radius:8px;margin-bottom:16px;padding:12px 14px;font-size:12px;line-height:1.6}.info-callout{color:#4b7b61;background:#f0f7f2;border:1px solid #dcebe1;border-radius:10px;gap:12px;margin:17px 0;padding:15px;display:flex}.info-callout p{margin:0;font-size:12px}.toast{color:#fff;z-index:100;background:#0f4f3e;border-radius:10px;align-items:center;gap:9px;width:max-content;max-width:90%;padding:14px 21px;font-size:12px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 7px 22px #0003}.scrim{display:none}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.access-card{background:#fff;border-radius:18px;max-width:550px;margin:10vh auto;padding:35px;box-shadow:0 10px 25px #0b1c2e10}.access-card .brand-mark{margin-bottom:25px}.access-card h1{font-size:26px}.access-card p{color:var(--muted);font-size:14px}.access-card>a{margin-top:16px;font-size:13px;display:flex}.login-page{background:#fff;border-radius:22px;grid-template-columns:1.05fr 1fr;max-width:1180px;min-height:680px;margin:max(0px,50vh - 372px) auto 0;display:grid;overflow:hidden;box-shadow:0 18px 50px #0b1c2e18}.login-art{color:#fff;background:linear-gradient(140deg,#0b1c2e 15%,#124e3e 95%);min-height:680px;padding:35px 36px;position:relative;overflow:hidden}.login-art .brand{padding:0}.login-copy{z-index:1;margin-top:62px;position:relative}.overline{color:#a8c3b7;letter-spacing:2.3px;margin-bottom:20px;font-size:9px;display:block}.login-copy h1{letter-spacing:-2.4px;font-size:55px;font-weight:650;line-height:1.12}.login-copy h1 em{color:var(--lime);font-style:normal}.login-copy p{color:#a7c4b7;margin-top:23px;font-size:13px;line-height:1.7}.login-mascot{object-fit:contain;filter:drop-shadow(0 20px 30px #031c1740);width:260px;height:300px;position:absolute;bottom:45px;right:-4px;transform:rotate(-5deg)}.login-bottom{color:#b5d0c3;gap:25px;font-size:10px;display:flex;position:absolute;bottom:28px;left:36px;right:30px}.login-bottom span{align-items:center;gap:7px;display:flex}.login-form-area{justify-content:center;align-items:center;padding:45px;display:flex}.login-form{width:100%;max-width:380px}.login-form>.eyebrow{letter-spacing:2px;color:#7a9987;margin-bottom:16px;font-size:10px}.login-form>h2{letter-spacing:-1px;margin-bottom:10px;font-size:33px}.login-form>.muted{margin-bottom:34px;font-size:13px}.role-entry{background:#f8fbf9;border:1px solid #dce7e0;border-radius:13px;align-items:center;gap:15px;margin-bottom:15px;padding:20px 17px;transition:all .15s;display:flex}.role-entry:hover{background:#eff7ef;border-color:#5f9377;transform:translateY(-2px)}.role-entry .role-icon{color:#3b6f43;background:#e4f0df;border-radius:10px;padding:12px}.role-entry strong{margin-bottom:6px;font-size:13px;display:block}.role-entry small{color:#80908c;font-size:10px;line-height:1.5;display:block}.role-entry>svg{color:#567762;margin-left:auto}.teacher-entry{background:#fff;border-color:#e1e7ec}.teacher-entry .role-icon{color:#596e83;background:#edf1f5}.login-info{color:#94a29c;gap:10px;margin-top:27px;display:flex}.login-info svg{margin-top:3px}.login-info p{color:#8b9c94;margin:0;font-size:10px;line-height:1.8}.signed-in{color:#83938b;margin-top:24px;font-size:10px;line-height:1.8}.signed-in a{color:#397758;text-decoration:underline}.login-footer{color:#a4aea8;margin-top:40px;margin-bottom:0;font-size:9px}.badge.attended{color:#286541;background:#e2f0e5}.badge.late{color:#806322;background:#f6e9c6}.badge.absent{color:#9c4d49;background:#fae9e7}.attendance-card{border:1px solid var(--border);border-radius:10px;margin-top:15px;padding:15px}.attendance-card .card-head>div{flex-direction:column;gap:5px;display:flex}.attendance-card .card-head small{color:var(--muted);font-size:10px}.evaluation-form{border-top:1px solid var(--border);padding-top:14px}.evaluation-form .field{margin-bottom:12px}.evaluation-summary{background:#f4f8f6;border:1px solid #dcebe1;border-radius:10px;margin-top:18px;padding:16px}.evaluation-summary .card-head{margin-bottom:12px}.evaluation-summary dl{grid-template-columns:130px 1fr;gap:10px;margin:0 0 12px;font-size:12px;display:grid}.evaluation-summary dt{color:var(--muted)}.evaluation-summary dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.evaluation-summary>small{color:var(--muted);font-size:10px}.history-row{text-align:left;border-bottom:1px solid var(--border);background:0 0;justify-content:space-between;align-items:center;gap:18px;width:100%;padding:16px 4px;display:flex}.history-row:last-child{border-bottom:0}.history-row:hover{background:#f8fbf9}.history-row>div{flex-direction:column;gap:5px;display:flex}.history-row .subject-label{margin:0}.history-row strong{font-size:13px}.history-row small{color:var(--muted);font-size:10px}@media (min-width:1500px){body{padding:48px}.app{min-height:calc(100vh - 96px)}}@media (max-width:1199px){body{padding:22px}.sidebar{width:230px}.dashboard{padding:24px 20px 16px}.topbar{padding:0 20px}.brand strong{font-size:16px}.nav-link{font-size:11px}.bottom-grid{grid-template-columns:1fr 1fr}.mascot-area{display:none}.stat{padding:15px 12px}.stat span{font-size:10px}.login-form-area{padding:35px}.login-art{padding:30px}.login-mascot{width:220px;bottom:50px;right:-10px}.login-copy h1{font-size:49px}}@media (max-width:1023px){.stats{grid-template-columns:repeat(2,1fr)}.page-heading{align-items:flex-start}.heading-actions .primary{padding:9px 12px}.curriculum-grid,.two-col{grid-template-columns:1fr}.login-art,.login-page{min-height:630px}.login-copy h1{font-size:44px}.login-mascot{width:190px;height:230px}.login-copy p{max-width:180px}.login-bottom{flex-direction:column;gap:14px;left:30px}.login-form-area{padding:25px}.login-copy{margin-top:50px}.header-actions{gap:13px}.nav-group{margin-bottom:18px}.schedule-actions{align-items:flex-start}.schedule-actions .muted{margin-top:6px;font-size:11px;display:block}}@media (max-width:767px){body{padding:0}.app{box-shadow:none;border-radius:0;min-height:100vh}.sidebar{z-index:30;width:250px;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;overflow:auto;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.scrim.visible{z-index:29;background:#0b1c2e88;display:block;position:fixed;inset:0}.mobile-menu{display:flex}.topbar{padding:0 16px}.breadcrumb>span:first-of-type,.breadcrumb>b{display:none}.header-actions{gap:10px}.header-actions .role-pill{padding:5px 7px;font-size:7px}.dashboard{padding:24px 16px 14px}h1{font-size:24px}.page-heading{flex-wrap:wrap;gap:12px}.page-heading .eyebrow{font-size:8px}.page-heading p{font-size:12px}.announcement{align-items:flex-start;font-size:11px;line-height:1.6}.announcement>svg{margin-top:2px}.stats{gap:10px}.stat{padding:16px}.stat span{font-size:10px}.stat strong{font-size:25px}.card{padding:17px 15px}.card-head{gap:8px}.card-head h2{font-size:15px}.schedule-card .card-head{flex-wrap:wrap}.week-controls{margin-left:auto}.calendar-grid{min-width:720px}.compact .calendar-slots{min-height:100px}.bottom-grid{grid-template-columns:1fr}.mascot-area{justify-content:center;padding-top:18px;display:flex}.speech{width:145px;max-width:145px;font-size:12px}.mascot{width:195px;height:230px;margin-top:0}.bottom-grid .card{margin-bottom:0}.schedule-actions{flex-direction:column;gap:8px}.schedule-actions .muted{display:inline}.schedule-actions>.secondary{width:100%}.form-grid{grid-template-columns:1fr;gap:0}.form-grid .field{margin-bottom:18px}.table-toolbar{flex-wrap:wrap}.search-field{max-width:none}.filter{padding:8px 10px;font-size:10px}.source-note{font-size:9px}.content-footer>span{font-size:8px}.role-entry{padding:17px 13px}.toast{font-size:11px;bottom:17px}.login-page{border-radius:0;grid-template-columns:1fr;min-height:100vh;margin:0}.login-art{min-height:245px;padding:24px}.login-art .brand strong{font-size:17px}.login-copy{margin-top:27px}.login-copy .overline{display:none}.login-copy h1{letter-spacing:-1px;margin:0;font-size:32px;line-height:1.12}.login-copy h1 br:nth-of-type(2){display:none}.login-copy h1 em{margin-left:8px}.login-copy p,.login-bottom{display:none}.login-mascot{width:165px;height:190px;bottom:3px;right:14px}.login-form-area{padding:34px 25px}.login-form{max-width:450px}.login-form>h2{font-size:29px}.login-form>.muted{margin-bottom:24px}.login-footer{margin-top:25px}.login-form>.eyebrow{margin-bottom:12px;font-size:8px}.access-card{margin:25px 17px;padding:26px}.modal-head h2{font-size:20px}dialog{padding:22px}.form-actions{align-items:stretch}.info-list{grid-template-columns:80px 1fr;font-size:12px}.login-info{margin-top:22px}.nav-link{font-size:12px}.sidebar .brand strong{font-size:17px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.badge.makeup{color:#5b3f8f;background:#ece5f7;margin-left:6px}.badge.series{color:#2d5f86;background:#e3eef8;margin-left:6px}.dialog-info .badge.makeup,.dialog-info .badge.series{margin-left:0}.calendar-lesson .makeup-mark{color:#5b3f8f;font-weight:700}.makeup-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:13px 4px;display:flex}.makeup-row:last-of-type{border-bottom:0}.makeup-row strong{font-size:13px}.makeup-row small{color:#7c8f9b;margin-top:3px;font-size:11px;display:block}.makeup-row .secondary{flex-shrink:0}.series-callout{align-items:flex-start}.series-callout .form-actions{flex-wrap:wrap;margin-top:10px}.series-callout .danger-text{margin-top:0}@media (max-width:560px){.makeup-row{flex-direction:column;align-items:stretch}}.badge.revision{color:#9e5210;background:#fdf0e0}.badge.score-badge{color:#19623b;background:#e1f5eb;font-weight:700}.score-card{color:#135130;background:linear-gradient(135deg,#eef9f2,#e2f4ea);border:1px solid #bce6cf;border-radius:12px;align-items:center;gap:14px;margin:16px 0;padding:16px 18px;display:flex}.score-card strong{letter-spacing:-.5px;font-size:22px;line-height:1.2;display:block}.score-card p{color:#356f4d;margin:4px 0 0;font-size:11px}.attachment-button{color:#23587b;background:#f3f7fa;border:1px solid #d7e4ec;border-radius:8px;align-items:center;gap:8px;margin:10px 0;padding:10px 14px;font-size:12px;font-weight:600;transition:background .15s;display:inline-flex}.attachment-button:hover{color:#174360;background:#e7f0f6}.student-attachment-link{color:#286541;align-items:center;gap:6px;padding:4px 0;font-size:12px;font-weight:600;text-decoration:underline;display:inline-flex}.student-attachment-link:hover{color:#18422a}.attachment-dot{vertical-align:middle;color:#316c9a;margin-left:6px;display:inline-block}.homework-row-badges{flex-shrink:0;align-items:center;gap:8px;display:flex}.flex-gap{align-items:center;gap:6px;display:flex}.mt-1{margin-top:10px}.study-plan-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.student-filter-select{color:var(--navy);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.student-filter-select select{border:1px solid var(--border);background:#fff;border-radius:8px;padding:7px 12px;font-size:12px}.plan-summary-card{background:linear-gradient(135deg,#fff 0%,#f5faf7 100%);border:1px solid #d4e8de;border-radius:14px;margin-bottom:20px;padding:22px;box-shadow:0 6px 18px #0b1c2e0a}.plan-summary-grid{grid-template-columns:1.2fr 1fr;align-items:center;gap:24px;display:grid}.plan-target-col{flex-direction:column;gap:6px;display:flex}.plan-target-number{color:#185338;align-items:center;gap:10px;display:flex}.plan-target-number strong{letter-spacing:-.8px;font-size:26px}.plan-target-number svg{color:#2a835b}.plan-notes{color:#52675d;margin:6px 0 0;font-size:12px;line-height:1.6}.plan-progress-col{background:#fff;border:1px solid #dbe8e1;border-radius:12px;flex-direction:column;gap:8px;padding:16px 18px;display:flex}.plan-progress-header{justify-content:space-between;align-items:center;font-size:12px;font-weight:600;display:flex}.plan-progress-header span{color:#5b7367}.plan-progress-header strong{color:#154f35;font-size:13px}.progress-bar-bg{background:#e7f0eb;border-radius:999px;height:12px;position:relative;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#196d4f,#b8db1a);border-radius:999px;height:100%;transition:width .4s}.days-task-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:22px;display:grid}.day-tasks-card{border:1px solid var(--border);background:#fff;border-radius:12px;flex-direction:column;min-height:220px;padding:12px 10px;display:flex;box-shadow:0 3px 8px #00000004}.day-tasks-card.is-today{background:#fafdfb;border-color:#2a855d;box-shadow:0 4px 14px #1b6b4c1a}.day-tasks-head{border-bottom:1px solid #edf2f5;justify-content:space-between;align-items:flex-start;margin-bottom:10px;padding-bottom:8px;display:flex}.day-tasks-head strong{color:var(--navy);font-size:12px;display:block}.day-tasks-head small{color:var(--muted);margin-top:2px;font-size:10px;display:block}.today-badge{background:var(--green);color:#fff;border-radius:4px;padding:2px 5px;font-size:8px;font-weight:700}.day-tasks-list{flex-direction:column;flex:1;gap:7px;display:flex}.task-item{background:#f9fbfc;border:1px solid #e8edf2;border-radius:8px;align-items:flex-start;gap:8px;padding:8px;transition:all .15s;display:flex}.task-item:hover{background:#f4f8fb;border-color:#cfdce5}.task-item.completed{opacity:.88;background:#f1f8f4;border-color:#d4e9dc}.task-item.completed .task-title{color:#61776c;text-decoration:line-through}.task-check-box{cursor:pointer;background:#fff;border:2px solid #b2c4d1;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;padding:0;transition:all .15s;display:inline-flex}.task-check-box:hover{border-color:var(--green)}.task-check-box.checked{background:var(--green);border-color:var(--green);color:#fff}.task-content{flex:1;min-width:0}.task-title{overflow-wrap:anywhere;font-size:11px;font-weight:600;line-height:1.4;display:block}.task-meta{color:var(--muted);align-items:center;gap:6px;margin-top:4px;font-size:9px;display:flex}.task-type-badge{color:#2e647e;align-items:center;gap:3px;font-size:9px;display:inline-flex}.task-count{color:#185338;font-weight:700}.no-tasks-day{color:#a5b5c1;text-align:center;margin:auto 0;padding:30px 0;font-size:11px}.subject-actions{gap:10px;margin-top:10px;display:flex}.subject-resources{border-top:1px solid #edf1f4;margin-top:14px;padding-top:14px}.subject-resources h3{color:var(--navy);margin-bottom:10px;font-size:12px;font-weight:600}.resources-list{flex-direction:column;gap:8px;display:flex}.resource-item{background:#f7f9fb;border:1px solid #e7edf2;border-radius:8px;align-items:center;gap:10px;padding:9px 11px;display:flex}.resource-type-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.resource-type-icon.video{color:#d9383a;background:#feecee}.resource-type-icon.pdf{color:#d97706;background:#fef3e6}.resource-type-icon.link{color:#2563eb;background:#eaf3fe}.resource-info{flex:1;min-width:0}.resource-title{color:#12344d;align-items:center;gap:5px;font-size:12px;font-weight:600;display:inline-flex}.resource-title:hover{color:var(--green);text-decoration:underline}.resource-desc{color:var(--muted);margin-top:2px;font-size:11px;line-height:1.4;display:block}.resource-topic-tag{color:#536a7b;background:#e5ebf1;border-radius:4px;margin-top:4px;padding:2px 6px;font-size:9px;display:inline-block}.delete-btn{color:#9e4b3b;border-radius:6px;padding:6px}.delete-btn:hover{background:#fcebe8}.task-builder-section{border:1px solid var(--border);border-radius:10px;margin:15px 0;padding:14px}.task-builder-legend{justify-content:space-between;align-items:center;width:100%;padding:0 6px;font-size:12px;font-weight:600;display:flex}.task-builder-list{flex-direction:column;gap:8px;margin-top:10px;display:flex}.task-builder-row{align-items:center;gap:8px;display:flex}.task-builder-row select,.task-builder-row input{background:#fafcfd;border:1px solid #dce5eb;border-radius:6px;padding:8px 10px;font-size:12px}.task-builder-row input[type=text]{flex:1}@media (max-width:1199px){.days-task-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:767px){.days-task-grid{grid-template-columns:1fr}.plan-summary-grid{grid-template-columns:1fr;gap:14px}.task-builder-row{flex-wrap:wrap}.task-builder-row input[type=text]{width:100%}}.quiz-top-tabs{margin-bottom:14px}.tab-buttons{border-bottom:1px solid #dce5eb;gap:8px;padding-bottom:10px;display:flex}.tab-btn{color:#536a7b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:7px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.tab-btn.active{color:var(--green);background:#e7f3ee;border-color:#b9dfcf}.quiz-cards-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:12px;display:grid}.quiz-card{background:#fff;border:1px solid #dce5eb;border-radius:12px;flex-direction:column;justify-content:space-between;gap:12px;padding:16px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #00000008}.quiz-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.quiz-card-head{justify-content:space-between;align-items:center;display:flex}.quiz-kind-badge{color:#0b66c3;background:#e8f4fd}.quiz-title{color:#12344d;margin:2px 0 0;font-size:15px;font-weight:700;line-height:1.35}.quiz-topic{color:#536a7b;margin:0;font-size:12px}.quiz-meta-row{color:#536a7b;gap:14px;font-size:12px;display:flex}.quiz-meta-row span{align-items:center;gap:5px;display:inline-flex}.quiz-card-foot{justify-content:flex-end;margin-top:4px;display:flex}.quiz-card-foot button{justify-content:center;width:100%}.quiz-completed-list{flex-direction:column;gap:10px;margin-top:10px;display:flex}.quiz-completed-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.quiz-completed-info{flex:1;min-width:200px}.quiz-completed-info strong{color:#12344d;margin-top:2px;font-size:14px;display:block}.quiz-completed-info small{color:#64748b;font-size:11px}.quiz-score-pill{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:12px;padding:6px 14px;display:flex}.quiz-stat-box{flex-direction:column;align-items:center;font-size:11px;display:flex}.quiz-stat-box .stat-label{color:#64748b;font-size:10px;font-weight:500}.stat-correct{color:#15803d;font-weight:700}.stat-wrong{color:#b91c1c;font-weight:700}.stat-empty{color:#64748b;font-weight:600}.quiz-net-box{border-left:1px solid #e2e8f0;flex-direction:column;align-items:center;padding-left:10px;display:flex}.quiz-net-box .stat-label{color:#0b66c3;font-size:10px;font-weight:600}.net-number{color:#0b66c3;font-size:14px;font-weight:800}.stat-net{color:#0b66c3;font-weight:800}.quiz-admin-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:14px;display:grid}.quiz-admin-card{background:#fff;border:1px solid #dce5eb;border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex}.quiz-badge-group{gap:6px;display:flex}.questions-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:14px;display:grid}.question-card{background:#fff;border:1px solid #dce5eb;border-radius:12px;flex-direction:column;justify-content:space-between;gap:10px;padding:16px;display:flex}.question-card-head{justify-content:space-between;align-items:center;display:flex}.topic-text{color:#536a7b;font-size:12px}.diff-badge{text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700}.diff-badge.easy{color:#15803d;background:#dcfce7}.diff-badge.medium{color:#b45309;background:#fef3c7}.diff-badge.hard{color:#b91c1c;background:#fee2e2}.question-prompt{color:#1e293b;margin:4px 0;font-size:13px;line-height:1.5}.question-img-wrapper{border:1px solid #e2e8f0;border-radius:8px;max-height:180px;margin:6px 0;overflow:hidden}.question-img{object-fit:contain;width:100%;height:auto;display:block}.question-options-preview{flex-direction:column;gap:5px;margin:6px 0;display:flex}.preview-opt{background:#f8fafc;border:1px solid #edf2f7;border-radius:6px;align-items:baseline;gap:6px;padding:6px 8px;font-size:12px;display:flex}.preview-opt.is-correct{color:#065f46;background:#ecfdf5;border-color:#a7f3d0;font-weight:600}.question-explanation{background:#f0fdf4;border-left:3px solid #22c55e;border-radius:0 6px 6px 0;margin:4px 0;padding:6px 10px}.question-foot{border-top:1px solid #f1f5f9;justify-content:flex-end;gap:6px;padding-top:8px;display:flex}.opt-input-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.opt-key-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.opt-key-btn.active{background:var(--green);border-color:var(--green);color:#fff}.opt-input-row input{flex:1}.is-correct-target input{border-color:var(--green);background:#f0fdf4}.quiz-question-selector-list{flex-direction:column;gap:8px;max-height:240px;margin-top:8px;display:flex;overflow-y:auto}.quiz-question-pick{cursor:pointer;background:#fafbfc;border:1px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:10px;padding:10px;display:flex}.quiz-question-pick.selected{border-color:var(--green);background:#f0fdf4}.pick-content{flex:1;min-width:0}.pick-meta{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.pick-prompt{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;line-height:1.4;overflow:hidden}.quiz-solver-dialog{flex-direction:column;gap:14px;max-width:760px;margin:0 auto;display:flex}.solver-topbar{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.solver-info{flex-direction:column;gap:2px;display:flex}.solver-title{color:#0f172a;font-size:16px}.timer-badge{color:#0f172a;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:14px;font-weight:700;display:inline-flex}.timer-badge.timer-warning{color:#b91c1c;background:#fee2e2;border-color:#fca5a5;animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.solver-palette{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px;display:flex}.palette-label{color:#64748b;font-size:12px;font-weight:600}.palette-buttons{flex-wrap:wrap;gap:6px;display:flex}.palette-num{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:600;display:inline-flex}.palette-num.answered{color:#0369a1;background:#e0f2fe;border-color:#7dd3fc}.palette-num.current{border-color:var(--green);font-weight:800;box-shadow:0 0 0 2px #16653433}.solver-question-box{background:#fff;border:1px solid #e2e8f0;border-radius:12px;min-height:260px;padding:20px}.solver-q-head{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.q-number{color:var(--green);font-size:14px;font-weight:700}.q-topic{color:#64748b;font-size:12px}.solver-prompt{color:#1e293b;margin-bottom:16px;font-size:15px;line-height:1.6}.solver-img-wrapper{border:1px solid #e2e8f0;border-radius:8px;max-height:240px;margin-bottom:16px;overflow:hidden}.solver-img{object-fit:contain;width:100%;height:auto;display:block}.solver-options-list{flex-direction:column;gap:10px;display:flex}.solver-opt-card{cursor:pointer;text-align:left;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;align-items:center;gap:14px;padding:12px 16px;transition:all .15s;display:flex}.solver-opt-card:hover{background:#f8fafc;border-color:#94a3b8}.solver-opt-card.selected{border-color:var(--green);background:#f0fdf4;box-shadow:0 0 0 2px #16653426}.solver-opt-key{color:#334155;background:#f1f5f9;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:800;display:flex}.solver-opt-card.selected .solver-opt-key{background:var(--green);color:#fff}.solver-opt-text{color:#1e293b;flex:1;font-size:14px}.solver-footer{border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:12px;display:flex}.solver-nav-actions{align-items:center;gap:8px;display:flex}.submit-quiz-btn{font-weight:700;background:var(--green)!important}.quiz-review-dialog{flex-direction:column;gap:16px;display:flex}.quiz-result-hero{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:16px;display:flex}.result-stat-pill{background:#fff;border:1px solid #cbd5e1;border-radius:10px;flex-wrap:wrap;justify-content:center;gap:20px;padding:10px 20px;display:flex;box-shadow:0 2px 4px #0000000a}.result-stat-col{flex-direction:column;align-items:center;gap:2px;display:flex}.result-net-col{border-left:2px solid #e2e8f0;flex-direction:column;align-items:center;gap:2px;padding-left:14px;display:flex}.result-net-col .stat-net{color:#0b66c3;font-size:18px}.result-formula-note{color:#64748b;text-align:center;margin:0}.quiz-review-questions-list{flex-direction:column;gap:14px;display:flex}.review-q-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;padding:16px}.review-q-card.is-correct{background:#f0fdf4;border-color:#86efac}.review-q-card.is-wrong{background:#fef2f2;border-color:#fca5a5}.review-q-card.is-empty{background:#fafafa;border-color:#e2e8f0}.review-q-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.review-status-tag span{align-items:center;gap:4px;font-size:12px;font-weight:700;display:inline-flex}.tag-correct{color:#15803d}.tag-wrong{color:#b91c1c}.tag-empty{color:#64748b}.review-prompt{color:#1e293b;margin-bottom:12px;font-size:14px;line-height:1.5}.review-img-wrapper{border:1px solid #e2e8f0;border-radius:6px;max-height:200px;margin-bottom:12px;overflow:hidden}.review-img{object-fit:contain;width:100%;height:auto;display:block}.review-options-list{flex-direction:column;gap:8px;display:flex}.review-opt{background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.review-opt.opt-correct{color:#14532d;background:#dcfce7;border-color:#22c55e;font-weight:600}.review-opt.opt-wrong{color:#7f1d1d;background:#fee2e2;border-color:#ef4444}.pill-opt-tag{border-radius:999px;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:700}.pill-opt-tag.correct{color:#fff;background:#15803d}.pill-opt-tag.wrong{color:#fff;background:#b91c1c}.review-explanation-box{background:#fff;border:1px solid #cbd5e1;border-radius:8px;margin-top:12px;padding:10px 14px;font-size:13px;line-height:1.5}.review-explanation-box strong{color:var(--green);align-items:center;gap:5px;margin-bottom:4px;display:inline-flex}.review-explanation-box p{color:#334155;margin:2px 0 0}.parent-child-select{color:var(--text);border:1.5px solid var(--border);background:#fff;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.parent-child-select select{color:var(--primary);cursor:pointer;background:0 0;border:none;outline:none;font-weight:700}.parent-pill-list{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.parent-pill-list .badge{align-items:center;gap:4px;padding:3px 8px;font-size:11px;display:inline-flex}.analytics-page{flex-direction:column;gap:20px;display:flex}.analytics-toolbar{justify-content:flex-end;align-items:center;gap:12px;margin-bottom:4px;display:flex}.analytics-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.analytics-stats .stat small{color:#64748b;margin-top:4px;font-size:11px;display:block}.analytics-net-card{flex-direction:column;gap:16px;display:flex}.net-trend-container{flex-direction:column;gap:24px;display:flex}.net-trend-chart{background:linear-gradient(#f8fafc 0%,#fff 100%);border:1px solid #e2e8f0;border-radius:12px;align-items:flex-end;gap:20px;height:240px;padding:24px 16px 12px;display:flex;overflow-x:auto}.net-chart-col{flex-direction:column;flex:1;align-items:center;min-width:90px;height:100%;display:flex}.net-bar-wrapper{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;width:100%;display:flex;position:relative}.net-bar-val{color:var(--primary);margin-bottom:6px;font-size:12px;font-weight:700}.net-bar-fill{background:linear-gradient(180deg,var(--primary) 0%,#3b82f6 100%);border-radius:6px 6px 0 0;width:40px;transition:height .3s;box-shadow:0 2px 8px #0b66c340}.net-chart-col:hover .net-bar-fill{filter:brightness(1.1);width:44px}.net-chart-label{text-align:center;flex-direction:column;align-items:center;gap:2px;margin-top:10px;display:flex}.net-chart-label strong{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;max-width:110px;font-size:12px;overflow:hidden}.net-chart-label small{color:#64748b;font-size:11px}.net-diff{border-radius:4px;margin-top:2px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.net-diff.up{color:#15803d;background:#dcfce7}.net-diff.down{color:#b91c1c;background:#fee2e2}.gap-analysis-card{flex-direction:column;gap:14px;display:flex}.gaps-list{flex-direction:column;gap:10px;display:flex}.gap-item-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #f59e0b;border-radius:8px;padding:12px 14px}.gap-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.gap-topic strong{color:#0f172a;font-size:13px}.gap-head small{color:#64748b;font-size:11px}.gap-body p{margin:4px 0;font-size:12px;line-height:1.4}.gap-issue{color:#b91c1c}.gap-action{color:#15803d}.attendance-summary-card{flex-direction:column;gap:16px;display:flex}.attendance-breakdown{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.att-stat-pill{text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;padding:14px 8px;display:flex}.att-stat-pill.attended{background:#f0fdf4;border:1px solid #bbf7d0}.att-stat-pill.attended .att-count{color:#15803d}.att-stat-pill.late{background:#fffbeb;border:1px solid #fef3c7}.att-stat-pill.late .att-count{color:#b45309}.att-stat-pill.absent{background:#fef2f2;border:1px solid #fecaca}.att-stat-pill.absent .att-count{color:#b91c1c}.att-count{font-size:24px;font-weight:800;line-height:1}.att-name{color:#475569;margin-top:6px;font-size:11px;font-weight:600}.coaching-page{flex-direction:column;gap:20px;display:flex}.coaching-top-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.coaching-cards-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;display:grid}.coaching-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:12px;padding:18px;transition:box-shadow .2s,border-color .2s;display:flex;box-shadow:0 1px 3px #0000000d}.coaching-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014}.coaching-card.scheduled{border-top:4px solid var(--primary)}.coaching-card.completed{border-top:4px solid #10b981}.coaching-card.cancelled{opacity:.8;border-top:4px solid #94a3b8}.coaching-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.coaching-eyebrow{color:var(--primary);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.coaching-card-title{color:#0f172a;margin:2px 0 0;font-size:16px;font-weight:700}.coaching-participants{flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.coaching-tag{color:#334155;background:#f1f5f9;border-radius:6px;align-items:center;gap:5px;padding:4px 8px;display:inline-flex}.coaching-action-row{margin:4px 0}.coaching-notes-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;font-size:12px}.coaching-notes-box h4{color:#334155;align-items:center;gap:6px;margin:0 0 4px;font-size:12px;font-weight:700;display:flex}.coaching-notes-box p{color:#475569;margin:0;line-height:1.45}.coaching-action-plan-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:10px 12px;font-size:12px}.coaching-action-plan-box h4{color:#15803d;align-items:center;gap:6px;margin:0 0 4px;font-size:12px;font-weight:700;display:flex}.coaching-action-plan-box p{color:#166534;margin:0;line-height:1.45}.coaching-card-footer{border-top:1px solid #f1f5f9;align-items:center;gap:8px;margin-top:auto;padding-top:10px;display:flex}.parent-link-modal{flex-direction:column;gap:18px;display:flex}.student-info-strip{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;display:flex}.student-info-strip strong{color:#0f172a;font-size:14px;display:block}.student-info-strip small{color:#64748b}.current-parents-section h4{color:#334155;margin:0 0 8px;font-size:13px;font-weight:700}.parent-links-list{flex-direction:column;gap:8px;display:flex}.parent-link-item{background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.parent-link-item strong{font-size:13px;display:block}.parent-link-item small{color:#64748b}.parent-link-tabs{margin-top:6px}.messages-layout{border:1.5px solid #e2e8f0;grid-template-columns:320px 1fr;height:650px;max-height:80vh;padding:0;display:grid;overflow:hidden;box-shadow:0 4px 20px #0000000f}@media (max-width:860px){.messages-layout{grid-template-columns:1fr;height:auto;max-height:none}}.messages-sidebar{background:#f8fafc;border-right:1px solid #e2e8f0;flex-direction:column;display:flex;overflow:hidden}.messages-sidebar-head{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px;display:flex}.messages-sidebar-head h3{color:#0f172a;margin:0;font-size:16px;font-weight:700}.messages-search{background:#fff;border-bottom:1px solid #e2e8f0;align-items:center;gap:8px;padding:10px 14px;display:flex}.messages-search input{color:#0f172a;background:0 0;border:none;outline:none;width:100%;font-size:13px}.messages-search input::placeholder{color:#94a3b8}.contacts-list{flex-direction:column;flex:1;display:flex;overflow-y:auto}.contact-item{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #f1f5f9;align-items:center;gap:12px;width:100%;padding:12px 14px;transition:background .15s,border-color .15s;display:flex}.contact-item:hover{background:#f1f5f9}.contact-item.active{border-left:4px solid var(--primary);background:#eff6ff}.contact-item.has-unread{background:#f0fdf4}.contact-avatar{background:linear-gradient(135deg,var(--primary),#3b82f6);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:13px;font-weight:700;display:flex;box-shadow:0 2px 6px #3b82f640}.contact-info{flex:1;min-width:0}.contact-name-row{justify-content:space-between;align-items:center;margin-bottom:3px;display:flex}.contact-name-row strong{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.contact-name-row small{color:#94a3b8;flex-shrink:0;font-size:11px}.contact-preview-row{justify-content:space-between;align-items:center;gap:6px;margin-bottom:2px;display:flex}.contact-role-tag{color:#64748b;background:#e2e8f0;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600}.contact-item.active .contact-role-tag{color:var(--primary);background:#dbeafe}.unread-pill{color:#fff;text-align:center;background:#10b981;border-radius:10px;min-width:18px;padding:2px 6px;font-size:10px;font-weight:700}.last-message-snippet{color:#64748b;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:11.5px;overflow:hidden}.messages-chat-pane{background:#fff;flex-direction:column;height:100%;display:flex;overflow:hidden}.chat-header{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex;box-shadow:0 1px 3px #00000005}.chat-header-info{align-items:center;gap:12px;display:flex}.chat-header-info strong{color:#0f172a;font-size:15px;display:block}.chat-role-label{color:#64748b;font-size:12px;display:block}.secure-badge{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.chat-stream{background:#fbfcfe;flex-direction:column;flex:1;gap:14px;padding:20px;display:flex;overflow-y:auto}.chat-bubble-row{width:100%;display:flex}.chat-bubble-row.mine{justify-content:flex-end}.chat-bubble-row.theirs{justify-content:flex-start}.chat-bubble{word-break:break-word;border-radius:14px;flex-direction:column;gap:4px;max-width:72%;padding:10px 14px;display:flex;position:relative}.bubble-mine{background:linear-gradient(135deg,var(--primary),#1d4ed8);color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 8px #2563eb33}.bubble-theirs{color:#0f172a;background:#f1f5f9;border:1px solid #e2e8f0;border-bottom-left-radius:4px}.bubble-sender{color:var(--primary);margin-bottom:2px;font-size:11px;font-weight:700}.bubble-context-tag{border-radius:4px;align-items:center;width:fit-content;margin-bottom:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.bubble-mine .bubble-context-tag{color:#fff;background:#fff3}.bubble-theirs .bubble-context-tag{color:#334155;background:#e2e8f0}.bubble-text{white-space:pre-wrap;margin:0;font-size:13.5px;line-height:1.5}.bubble-meta{justify-content:flex-end;align-items:center;gap:4px;margin-top:2px;font-size:10.5px;display:flex}.bubble-mine .bubble-meta{color:#ffffffbf}.bubble-theirs .bubble-meta{color:#94a3b8}.seen-check{color:#38bdf8}.chat-empty,.chat-empty-selection{text-align:center;color:#64748b;flex-direction:column;justify-content:center;align-items:center;margin:auto;padding:40px 20px;display:flex}.chat-empty h4,.chat-empty-selection h3{color:#0f172a;margin:12px 0 6px}.chat-empty p,.chat-empty-selection p{max-width:380px;margin:0;font-size:13px}.chat-input-area{background:#fff;border-top:1px solid #e2e8f0;flex-direction:column;gap:8px;padding:12px 18px;display:flex}.chat-context-bar{align-items:center;gap:8px;font-size:12px;display:flex}.context-label{color:#64748b;font-weight:600}.context-select,.context-item-select{color:#334155;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;padding:4px 8px;font-size:12px}.chat-input-row{align-items:flex-end;gap:10px;display:flex}.chat-input-row textarea{resize:none;border:1.5px solid #cbd5e1;border-radius:10px;outline:none;flex:1;padding:10px 12px;font-family:inherit;font-size:13.5px;line-height:1.45;transition:border-color .2s}.chat-input-row textarea:focus{border-color:var(--primary)}.send-btn{border-radius:10px;justify-content:center;align-items:center;height:44px;padding:10px 16px;display:flex}.notifications-card .card-head{flex-wrap:wrap;gap:12px}.notif-filter-tabs{gap:6px;margin-top:6px;display:flex}.notices-list{flex-direction:column;gap:10px;margin-top:10px;display:flex}.notice{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:flex-start;gap:14px;padding:14px 16px;transition:transform .15s,box-shadow .15s;display:flex}.notice:hover{transform:translateY(-1px);box-shadow:0 3px 10px #0000000a}.notice.unread{border-color:#93c5fd;border-left:4px solid var(--primary);background:#f8fafc}.notice-title-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.unread-dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:8px;height:8px}.preference-toggles-list{flex-direction:column;gap:12px;margin:12px 0;display:flex}.pref-toggle-item{cursor:pointer;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.pref-toggle-item:hover{background:#f1f5f9;border-color:#cbd5e1}.pref-toggle-item strong{color:#0f172a;margin-bottom:2px;font-size:14px;display:block}.pref-toggle-item small{color:#64748b;font-size:12px}.pref-toggle-item input[type=checkbox]{cursor:pointer;width:20px;height:20px;accent-color:var(--primary)}.commerce-page{flex-direction:column;gap:18px;display:flex}.parent-child-banner{border:1px solid var(--border);background:#fff;border-radius:10px;align-items:center;padding:12px 16px;display:flex;box-shadow:0 2px 6px #00000008}.parent-child-select{color:var(--navy);align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.parent-child-select select{background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;padding:6px 12px;font-size:13px}.credit-alert-banner{color:#92400e;background:#fef3c7;border:1.5px solid #f59e0b;border-radius:12px;align-items:center;gap:14px;padding:14px 18px;display:flex;box-shadow:0 4px 12px #f59e0b1f}.credit-alert-banner .alert-icon{color:#d97706;flex-shrink:0}.credit-alert-banner strong{margin-bottom:2px;font-size:14px;display:block}.credit-alert-banner p{color:#78350f;margin:0;font-size:12.5px;line-height:1.45}.credit-alert-banner .mini{white-space:nowrap;color:#fff;background:#d97706;border-color:#0000;margin-left:auto}.credit-alert-banner .mini:hover{background:#b45309}.commerce-hero-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.credit-wallet-card{color:#fff;background:linear-gradient(135deg,#0b1c2e 0%,#133e33 100%);border-color:#1c4d40;flex-direction:column;display:flex;position:relative;overflow:hidden}.credit-wallet-card:before{content:"";pointer-events:none;background:#dcf06a0f;border-radius:50%;width:140px;height:140px;position:absolute;top:-30px;right:-30px}.credit-wallet-card .eyebrow{color:var(--lime)}.credit-wallet-card h3{color:#fff;margin:0}.wallet-badge{width:36px;height:36px;color:var(--lime);background:#ffffff1a;border-radius:10px;justify-content:center;align-items:center;display:flex}.wallet-metric{align-items:baseline;gap:10px;margin:16px 0 12px;display:flex}.wallet-number{letter-spacing:-1.5px;color:#fff;font-size:42px;font-weight:750;line-height:1}.wallet-unit{color:#b8c7d6;font-size:15px;font-weight:500}.wallet-breakdown{background:#ffffff0f;border-radius:10px;align-items:center;margin-bottom:14px;padding:10px 14px;display:flex}.breakdown-item{flex-direction:column;flex:1;gap:2px;display:flex}.breakdown-item small{color:#94a3b8;font-size:10.5px}.breakdown-item strong{color:#f1f5f9;font-size:13px}.breakdown-divider{background:#ffffff26;width:1px;height:28px;margin:0 12px}.pripuan-showcase-card{color:#fff;background:linear-gradient(135deg,#13372b 0%,#0e261f 100%);border-color:#1d4e3d;flex-direction:column;display:flex;position:relative;overflow:hidden}.pripuan-showcase-card:before{content:"";pointer-events:none;background:#d4f01a0d;border-radius:50%;width:120px;height:120px;position:absolute;bottom:-20px;right:-20px}.pripuan-showcase-card .eyebrow{color:var(--cta)}.pripuan-showcase-card h3{color:#fff;margin:0}.pripuan-badge{width:36px;height:36px;color:var(--cta);background:#ffffff1a;border-radius:10px;justify-content:center;align-items:center;display:flex}.pripuan-metric{align-items:baseline;gap:8px;margin:16px 0 10px;display:flex}.pripuan-number{letter-spacing:-1.5px;color:var(--cta);font-size:42px;font-weight:750;line-height:1}.pripuan-unit{color:#b8c7d6;font-size:15px;font-weight:500}.pripuan-progress-wrapper{flex-direction:column;gap:5px;margin-bottom:12px;display:flex}.progress-labels{color:#cbd5e1;justify-content:space-between;font-size:11px;display:flex}.pripuan-progress-bar{background:#ffffff1f;border-radius:999px;height:8px;overflow:hidden}.pripuan-progress-fill{background:linear-gradient(90deg,var(--cta),#6ee7b7);border-radius:999px;height:100%;transition:width .4s}.earned-badges-summary{background:#ffffff0f;border-radius:10px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.earned-badges-summary small{color:#94a3b8;font-size:11px}.mini-badges-row{gap:6px;display:flex}.mini-badge{border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;display:flex}.mini-badge.is-earned{border:1px solid var(--cta);background:#d4f01a2e}.mini-badge.is-locked{opacity:.6;background:#ffffff0d;border:1px solid #ffffff1a}.commerce-nav-tabs{border-bottom:1px solid var(--border);gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.tab-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;align-items:center;gap:8px;padding:9px 16px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.tab-btn:hover{color:var(--navy);background:#f8fafc}.tab-btn.active{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 3px 8px #0f4f3e2e}.packages-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;display:grid}.package-card{border:1.5px solid var(--border);flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;position:relative}.package-card:hover{border-color:#bbf7d0;transform:translateY(-3px);box-shadow:0 8px 24px #0b1c2e14}.package-card.is-inactive{opacity:.65;background:#f8fafc}.package-badge-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.pkg-lesson-badge{color:#0369a1;background:#e0f2fe;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:700}.pkg-subject-badge{color:#475569;background:#f1f5f9;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600}.pkg-title{color:var(--navy);margin:0 0 6px;font-size:17px;font-weight:700}.pkg-desc{color:var(--muted);flex-grow:1;margin:0 0 14px;font-size:12.5px;line-height:1.5}.pkg-price-row{border-top:1px dashed #e2e8f0;border-bottom:1px dashed #e2e8f0;margin-bottom:14px;padding:12px 0}.pkg-price{justify-content:space-between;align-items:baseline;display:flex}.pkg-price strong{color:var(--green);font-size:24px;font-weight:800}.pkg-price small{color:#64748b;font-size:11.5px}.pkg-features{flex-direction:column;gap:8px;margin:0 0 18px;padding:0;list-style:none;display:flex}.pkg-features li{color:#334155;align-items:center;gap:8px;font-size:12px;display:flex}.feature-check{color:#16a34a;flex-shrink:0}.badges-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.badge-card{border-radius:12px;gap:14px;padding:16px;transition:transform .18s;display:flex}.badge-card.earned{background:linear-gradient(135deg,#fff 0%,#f0fdf4 100%);border:1.5px solid #86efac;box-shadow:0 4px 14px #22c55e14}.badge-card.earned .badge-card-icon{color:#16a34a;background:linear-gradient(135deg,#dcfce7,#bbf7d0);box-shadow:0 0 12px #16a34a2e}.badge-card.locked{opacity:.75;background:#f8fafc;border:1px solid #e2e8f0}.badge-card.locked .badge-card-icon{color:#94a3b8;background:#e2e8f0}.badge-card-icon{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.badge-card-content{flex-direction:column;flex:1;display:flex}.badge-card-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.badge-card-head h4{color:var(--navy);margin:0;font-size:14px;font-weight:700}.badge-pts{color:#15803d;background:#dcfce7;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700}.badge-card-content p{color:var(--muted);flex:1;margin:0 0 10px;font-size:11.5px;line-height:1.45}.badge-status-tag{align-items:center;gap:5px;font-size:10.5px;font-weight:600;display:inline-flex}.badge-status-tag.earned{color:#15803d}.badge-status-tag.locked{color:#94a3b8}.ai-recs-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;display:grid}.ai-rec-card{background:linear-gradient(135deg,#fff 0%,#f5f3ff 100%);border:1.5px solid #c7d2fe;box-shadow:0 4px 16px #6366f10f}.ai-card-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:12px;display:flex}.ai-tag{color:#4f46e5;background:#e0e7ff;border-radius:999px;align-items:center;gap:6px;margin-bottom:6px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.ai-card-title-group h4{color:var(--navy);margin:0;font-size:15px}.ai-reason-box{background:#fffc;border:1px solid #e2e8f0;border-left:3px solid #6366f1;border-radius:8px;margin-bottom:10px;padding:10px 12px}.ai-reason-box strong{color:#4338ca;margin-bottom:3px;font-size:11.5px;display:block}.ai-reason-box p{color:#334155;margin:0;font-size:12px;line-height:1.45}.ai-plan-box{background:#ffffffe6;border:1px solid #e2e8f0;border-left:3px solid #10b981;border-radius:8px;margin-bottom:12px;padding:10px 12px}.ai-plan-box strong{color:#047857;margin-bottom:3px;font-size:11.5px;display:block}.ai-plan-box p{color:#1e293b;white-space:pre-wrap;margin:0;font-size:12.5px;line-height:1.5}.ai-card-foot{color:#64748b;border-top:1px solid #ede9fe;padding-top:10px;font-size:11px}.pending-ai-box{background:linear-gradient(135deg,#fff 0%,#fffbeb 100%);border:1.5px solid #fed7aa;margin-bottom:16px;padding:18px;box-shadow:0 4px 14px #f59e0b0f}.pending-ai-head{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.pending-ai-head h3{color:var(--navy);margin:2px 0 0;font-size:16px}.pending-ai-body{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.ai-reason-pill{background:#fff;border:1px solid #fed7aa;border-radius:8px;padding:10px 12px}.ai-reason-pill strong{color:#b45309;margin-bottom:2px;font-size:11.5px;display:block}.ai-reason-pill p{color:#334155;margin:0;font-size:12.5px;line-height:1.45}.ai-plan-pill{background:#fff;border:1px solid #cbd5e1;border-left:3px solid #3b82f6;border-radius:8px;padding:10px 12px}.ai-plan-pill strong{color:#1d4ed8;margin-bottom:2px;font-size:11.5px;display:block}.ai-plan-pill p{color:#1e293b;margin:0;font-size:13px;line-height:1.5}.pending-ai-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.section-header-actions{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.section-subheading{color:var(--navy);margin:16px 0 10px;font-size:14px;font-weight:700}.method-pill{color:#334155;background:#f1f5f9;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600}.stat-danger{color:#dc2626!important}.stat-warning{color:#d97706!important}.text-danger{color:#dc2626}.purchase-summary-banner{background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%);border:1px solid #86efac;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:14px 18px;display:flex}.summary-left h4{color:#14532d;margin:0 0 3px;font-size:16px}.summary-left p{color:#166534;margin:0;font-size:12px}.summary-price{color:#15803d;font-size:24px;font-weight:800}.payment-method-selector{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.method-option{cursor:pointer;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;transition:all .15s;display:flex}.method-option:hover{background:#f1f5f9;border-color:#94a3b8}.method-option.selected{border-color:var(--green);background:#f0fdf4}.method-option input{accent-color:var(--green);margin-top:2px}.method-option strong{color:var(--navy);font-size:13px;display:block}.method-option small{color:#64748b;margin-top:2px;font-size:11px;display:block}.mock-card-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.mock-card-preview{color:#fff;background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);border-radius:12px;margin-bottom:16px;padding:18px 20px;box-shadow:0 8px 20px #0f172a40}.card-chip{background:linear-gradient(135deg,#fcd34d,#fbbf24);border-radius:5px;width:36px;height:26px;margin-bottom:14px}.card-number-preview{letter-spacing:2.5px;color:#f8fafc;margin-bottom:14px;font-family:Courier New,Courier,monospace;font-size:17px}.card-preview-foot{justify-content:space-between;align-items:flex-end;display:flex}.card-label{letter-spacing:1px;color:#94a3b8;margin-bottom:2px;font-size:8.5px;display:block}.card-val{letter-spacing:.5px;font-size:12px;font-weight:600;display:block}.security-notice{color:#15803d;background:#dcfce7;border-radius:6px;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;font-size:11px;display:flex}.bank-transfer-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.copyable-iban{color:var(--navy);letter-spacing:1px;font-family:Courier New,Courier,monospace;font-size:13px;font-weight:700}@media (max-width:767px){.commerce-hero-grid,.payment-method-selector{grid-template-columns:1fr}.credit-alert-banner{flex-direction:column;align-items:flex-start}.credit-alert-banner .mini{margin-left:0}.report-grid-4{grid-template-columns:1fr}}.landing-apply-wrapper{width:100%;margin:12px 0 16px}.application-cta-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;padding:13px 18px;font-size:14px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 14px #0284c759}.application-cta-btn:hover{background:linear-gradient(135deg,#0369a1 0%,#075985 100%);transform:translateY(-1px);box-shadow:0 6px 20px #0284c773}.application-form{flex-direction:column;gap:14px;padding:16px 0;display:flex}.input-with-icon{background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.input-with-icon input{width:100%;font-size:13.5px;border:none!important;outline:none!important;padding:10px 0!important}.application-success{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:30px 20px;display:flex}.application-success .success-icon{color:#16a34a}.application-success h3{color:var(--navy);margin:0;font-size:19px}.application-success p{color:#64748b;max-width:400px;margin:0;font-size:14px}.reports-section{margin-top:24px}.report-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;padding:20px;box-shadow:0 2px 8px #0000000a}.report-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:12px;display:flex}.report-cycle-badge{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:700}.report-grid-4{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.report-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px}.report-box h4{color:#1e293b;align-items:center;gap:6px;margin:0 0 8px;font-size:13px;font-weight:700;display:flex}.report-box p{color:#475569;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.5}.report-box.recommendation-box{background:#f0fdf4;border-color:#bbf7d0;grid-column:1/-1}.report-box.recommendation-box h4{color:#166534}.report-box.recommendation-box p{color:#14532d}.status-pill-new{color:#1e40af;background:#dbeafe}.status-pill-contacted{color:#92400e;background:#fef3c7}.status-pill-intro_scheduled{color:#6b21a8;background:#f3e8ff}.status-pill-enrolled{color:#15803d;background:#dcfce7}.delta-pill{border-radius:999px;align-items:center;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.delta-pill.positive{color:#15803d;background:#dcfce7;border:1px solid #86efac}.delta-pill.negative{color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5}.chip-selector{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.chip-btn{color:var(--navy);cursor:pointer;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:8px;padding:7px 14px;font-size:12.5px;font-weight:600;transition:all .15s}.chip-btn:hover{border-color:var(--green);background:#f0fdf4}.chip-btn.active{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 2px 6px #0f4f3e33}.table-filter-tabs{align-items:center;gap:6px;display:flex}.public-actions{z-index:3;gap:10px;display:flex;position:absolute;top:24px;right:28px}.registration-page{color:#17253e;background:#f2f5fb;min-height:100vh;padding:36px 20px}.registration-page>.brand{max-width:780px;margin:0 auto 24px;display:block}.registration-card{background:#fff;border:1px solid #e1e7f0;border-radius:22px;max-width:780px;margin:auto;padding:32px;box-shadow:0 12px 38px #23395b0a}.registration-card h1{margin:12px 0;font-size:30px}.registration-card p{color:#56647a;line-height:1.7}.registration-steps{flex-wrap:wrap;gap:10px;margin:24px 0;padding:0;list-style:none;display:flex}.registration-steps li{background:#f1f4f9;border-radius:8px;padding:8px 12px;font-size:13px}.registration-steps .current{color:#174fab;background:#e1edff;font-weight:700}.registration-fields{grid-template-columns:1fr 1fr;gap:18px;display:grid}.registration-fields .helper-text{grid-column:1/-1}.registration-review>div{border-bottom:1px solid #edf0f5;grid-template-columns:1fr 1fr;gap:16px;padding:10px 0;display:grid}.registration-review dt{color:#56647a}.registration-review dd{overflow-wrap:anywhere;margin:0}.registration-links{flex-wrap:wrap;gap:18px;margin-top:24px;font-size:14px;display:flex}.consent{align-items:flex-start;gap:10px;margin:20px 0;display:flex}.admin-controls{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.admin-account{border-bottom:1px solid #e6eaf0;padding:20px 0}.admin-account header{justify-content:space-between;gap:12px;display:flex}.admin-account details{margin:12px 0}.admin-account .form-actions{flex-wrap:wrap;justify-content:flex-start}.admin-account input,.admin-controls input,.admin-controls select{border:1px solid #d8e0ed;border-radius:8px;max-width:100%;padding:10px}.admin-account dl{font-size:14px}.admin-account dd{overflow-wrap:anywhere}.admin-account small{color:#65738a;display:block}.approval-summary{flex-wrap:wrap;gap:14px;margin-bottom:20px;display:flex}.approval-summary a{color:#234b80;background:#edf4ff;border-radius:12px;padding:14px}@media (max-width:650px){.public-actions{background:#fff;grid-column:1/-1;justify-content:flex-end;padding:15px;position:relative;top:auto;right:auto}.registration-fields{grid-template-columns:1fr}.registration-card{padding:22px 18px}.registration-review>div{grid-template-columns:1fr;gap:4px}.registration-card h1{font-size:25px}.registration-steps{gap:5px}.registration-steps li{font-size:11px}.admin-account header{flex-direction:column}}
