.school-shell{min-height:100vh;color:var(--navy);background:#f4f6f8;font-size:16px;line-height:1.55}.s-topup-filters{grid-template-columns:minmax(0,2fr) minmax(160px,1fr);gap:16px;margin:24px 0;display:grid}.s-topup-list{gap:16px;display:grid}.s-topup{border:1px solid #dce3e9;border-radius:16px;padding:20px}.s-topup h3,.s-topup p{margin:0 0 8px}.s-topup details{margin:12px 0}.s-topup summary{cursor:pointer;padding:8px 0;font-weight:650}.s-payment-details{background:#f4f7f9;border-radius:12px;grid-template-columns:1fr 1fr;gap:16px;padding:16px;display:grid}.s-payment-details dt{color:#526174;font-size:14px}.s-payment-details dd{margin:4px 0 0;font-weight:650}.s-vs{letter-spacing:.06em;font-family:ui-monospace,monospace}.s-iban{overflow-wrap:anywhere}.s-login{text-align:left;max-width:480px;margin:24px auto}.s-login .s-field{margin-bottom:16px}.s-login .s-button.primary{width:100%}.s-login-code{letter-spacing:.2em;font-family:ui-monospace,monospace;font-size:26px}.s-auth-status{flex-wrap:wrap;align-items:center;gap:12px;display:flex}@media (max-width:640px){.s-topup-filters,.s-payment-details{grid-template-columns:1fr}.s-topup{padding:16px}.s-topup .s-inline-actions{flex-direction:column;align-items:stretch}}.s-field>label{font-size:.875rem;font-weight:650}.school-shell input,.school-shell select,.school-shell textarea,.s-dialog input,.s-dialog select,.s-dialog textarea{background:#fff;border:1px solid #c9d4df;border-radius:8px;width:100%;min-height:44px;padding:10px 12px;font-size:1rem}.school-shell textarea,.s-dialog textarea{resize:vertical}.s-toolbar,.s-filter-group,.s-inline-actions,.s-row-title,.s-section-head,.s-calendar-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.s-toolbar{justify-content:space-between;margin-bottom:26px}.s-filter-group>label{align-items:center;gap:10px;font-size:.875rem;font-weight:650;display:flex}.s-filter-group select{width:auto;max-width:280px;font-size:.875rem}.s-row-title,.s-section-head{justify-content:space-between;align-items:flex-start}.s-section-head h2{margin:0}.s-section-head{margin-bottom:20px}.s-space{margin-top:24px}.s-space-bottom{margin-bottom:24px}.s-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:26px;display:grid}.s-stats section{background:#fff;border:1px solid #dfe5ec;border-radius:14px;flex-direction:column;gap:6px;padding:24px;display:flex}.s-stats section>span{color:#5b6a80;font-size:.875rem}.s-stats strong{letter-spacing:-.025em;font:700 clamp(28px,3vw,40px) Georgia,serif}.s-stats small{color:#5b6a80;font-size:.8125rem}.s-stats section.s-stat-credit{background:var(--navy);color:#fff;border-color:var(--navy)}.s-stats .s-stat-credit>span{color:#c6d5e6}.s-stat-credit a{color:var(--mint);margin-top:auto;font-size:.875rem}.s-overview-grid{grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);align-items:start;gap:24px;display:grid}.s-overview-side{gap:20px;display:grid}.s-lesson{border-bottom:1px solid #e5eaf0;gap:20px;padding:22px 0;display:flex}.s-lesson:last-child{border-bottom:0}.s-lesson-time{flex-direction:column;flex:none;width:58px;display:flex}.s-lesson-time b{font-size:1rem}.s-lesson-time span{color:#68788b;font-size:.8125rem}.s-lesson-body{flex:1;min-width:0}.s-lesson-body p{color:#5b6a80;margin:5px 0 14px;font-size:.875rem}.s-lesson-body h3{overflow-wrap:anywhere;margin:0;font-size:1rem}.s-lesson.cancelled h3{text-decoration:line-through}.s-badge{color:#536278;white-space:nowrap;background:#edf0f4;border-radius:20px;padding:4px 9px;font-size:.75rem;font-weight:700;display:inline-block}.s-badge.mint{color:#22654e;background:#dff4eb}.s-badge.amber{color:#775407;background:#fff1cf}.s-badge.coral{color:#903c2b;background:#ffe6de}.s-badge.blue{color:#285b8c;background:#e3effc}.s-lesson .s-button{padding:8px 12px;font-size:.8125rem}.s-text-danger{color:#9c3929;background:0 0;border:0;padding:8px;font-size:.875rem;text-decoration:underline}.s-notice{border-top:1px solid #e5eaf0;padding:15px 0;display:block}.s-notice b{font-size:.875rem}.s-notice p{color:#61718a;margin:4px 0;font-size:.875rem}.s-notice.urgent b{color:#964d27}.s-study-note{background:#d3ece5;border-radius:16px;padding:26px}.s-study-note h2{margin:8px 0;font:700 28px Georgia,serif}.s-study-note p{color:#355f55;font-size:.875rem}.s-callout{background:#eaf1f7;border:1px solid #d6e2ed;border-radius:12px;margin-bottom:20px;padding:20px 22px}.s-callout p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0;font-size:.875rem}.s-callout span{font-size:.875rem}.s-callout h2{margin:0;font:700 26px Georgia,serif}.s-task-preview{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.s-task{background:#fff;border:1px solid #dfe5ec;border-radius:14px;min-width:0;padding:24px}.s-task .school-overline{letter-spacing:.02em;text-transform:none;margin-bottom:6px;font-size:.75rem}.s-task .s-row-title h3{margin:0;font-size:1.125rem}.s-due{color:#576880;margin:14px 0;font-size:.875rem;font-weight:650}.s-task-list{gap:20px;display:grid}.s-submission{background:#f5faf8;border-left:3px solid #b5d6c8;margin-block:20px;padding:18px}.s-submission>b{margin-bottom:8px;font-size:.875rem;display:block}.s-feedback{border-top:1px solid #d5e4dd;margin-top:16px;padding-top:14px}.s-feedback>b{font-size:.875rem}.s-preserve{white-space:pre-wrap;overflow-wrap:anywhere}.s-files{flex-wrap:wrap;gap:8px;margin-block:14px;display:flex}.s-file{overflow-wrap:anywhere;background:#fff;border:1px solid #d2dce6;border-radius:8px;align-items:center;gap:10px;max-width:100%;padding:9px 12px;font-size:.875rem;display:flex}.s-file small{color:#61718a;font-size:.75rem;display:block}.s-history{margin:18px 0;font-size:.875rem}.s-history summary{cursor:pointer;font-weight:650}.s-history section{border:1px solid #dee6ef;border-radius:8px;margin-top:10px;padding:14px}.s-chips{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.s-chips button{background:#fff;border:1px solid #d6dfe8;border-radius:24px;min-height:44px;padding:10px 18px;font-size:.875rem;font-weight:650}.s-chips button.selected{background:var(--navy);color:#fff;border-color:var(--navy)}.s-calendar-toolbar{justify-content:space-between;margin-bottom:26px}.s-calendar-toolbar b{font-size:.875rem}.s-week{border:1px solid #dce4ed;border-radius:12px;grid-template-columns:repeat(7,minmax(0,1fr));min-height:290px;display:grid;overflow:hidden}.s-day{background:#fafbfc;border-right:1px solid #e1e8ef;min-width:0}.s-day:last-child{border-right:0}.s-day h3{color:#5f7087;border-bottom:1px solid #e1e8ef;align-items:center;gap:7px;padding:12px 10px;display:flex;margin:0!important;font-size:.875rem!important}.s-day h3 span{width:28px;height:28px;color:var(--navy);border-radius:50%;place-items:center;display:grid}.s-day.today h3 span{background:var(--navy);color:#fff}.s-day.today{background:#f1f7f6}.s-no-event{color:#8995a4;margin:0;padding:10px;font-size:.75rem}.s-calendar-event{text-align:left;overflow-wrap:anywhere;background:#dff1eb;border:0;border-left:3px solid #378571;border-radius:6px;flex-direction:column;align-items:flex-start;gap:6px;width:calc(100% - 12px);margin:8px 6px;padding:12px 8px;display:flex}.s-calendar-event b{font-size:.75rem}.s-calendar-event strong{font-size:.875rem;line-height:1.3}.s-calendar-event span,.s-calendar-event small{font-size:.75rem;line-height:1.4}.s-calendar-event.proposed{background:#fff0d6;border-color:#c6983d}.s-calendar-event.completed{background:#eaf0f5;border-color:#8194a8}.s-calendar-event.cancelled{color:#786b6b;background:#f0eeee;border-color:#a19494;text-decoration:line-through}.s-calendar-services{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-block:20px;display:grid}.s-calendar-services a{background:#f2f6fa;border:1px solid #e0e7ef;border-radius:10px;padding:16px;font-size:.875rem}.s-calendar-services span{color:#637287;margin-top:6px;font-size:.8125rem;display:block}.s-material-filters{flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:26px;display:flex}.s-search{flex:1;min-width:180px;display:block}.s-search>span{margin-bottom:8px;font-size:.875rem;font-weight:650;display:block}.s-material-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.s-material-top{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.s-document-icon{color:#2e558b;background:#e7edf8;border-radius:6px 14px 6px 6px;place-items:center;width:48px;height:58px;font-size:26px;display:grid}.s-material>h2{overflow-wrap:anywhere;font-size:26px}.s-material>small{color:#6c7b8f;margin-top:20px;font-size:.8125rem;display:block}.s-credit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.s-balance-card{background:var(--navy);color:#fff;border-radius:14px;flex-direction:column;gap:6px;padding:26px;display:flex}.s-balance-card p{margin:0}.s-balance-card strong{font:700 34px Georgia,serif}.s-balance-card span{color:#b4c5db;font-size:.875rem}.s-table-scroll{max-width:100%;overflow-x:auto}.s-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.s-table th{color:#61718a;white-space:nowrap;border-bottom:1px solid #dbe3ed;padding:12px 14px;font-weight:650}.s-table td{vertical-align:top;border-bottom:1px solid #e8edf2;padding:16px 14px}.s-table td span{margin-top:4px;font-size:.8125rem;display:block}.s-table td b{display:block}.s-table td:last-child{white-space:nowrap}.s-positive{color:#217052;font-weight:700}.s-settings-row{border-bottom:1px solid #e5ebf1;justify-content:space-between;align-items:center;gap:24px;padding:20px 0;display:flex}.s-settings-row:last-child{border-bottom:0}.s-settings-row p{color:#5d6e84;max-width:680px;margin:6px 0 0;font-size:.875rem}.s-settings-row .s-badge{flex:none}.s-success{color:#24674d;background:#e2f5ec;border:1px solid #bfe1d1;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;padding:12px 18px;display:flex}.s-invitation{background:#fff3d7;border:1px solid #e8d7a8;border-radius:12px;flex-wrap:wrap;gap:14px;margin-bottom:24px;padding:24px;display:flex}.s-invitation>div{width:100%}.s-invitation p{margin:6px 0;font-size:.875rem}.s-invitation input{font-family:monospace;font-size:.875rem}.s-gate-form{gap:16px;margin-block:26px;display:grid}.s-gate-form h3{margin:0}.s-setup summary{cursor:pointer;font-size:.875rem}.s-dialog{width:min(720px,100% - 28px);max-height:calc(100vh - 40px);color:var(--navy);background:#fff;border:1px solid #d2dce7;border-radius:18px;padding:0;font-size:16px;overflow:auto;box-shadow:0 30px 100px #0b162d55}.s-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0e1c38a8}.s-dialog form{padding:28px}.s-dialog-head{justify-content:space-between;gap:20px;margin-bottom:24px;display:flex}.s-dialog-head h2{margin:0;font:700 30px/1.2 Georgia,serif}.s-dialog-head .school-overline{margin-bottom:8px}.s-close{cursor:pointer;background:0 0;border:0;min-width:40px;min-height:40px;padding:0;font-size:24px}.s-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.s-field{flex-direction:column;gap:8px;min-width:0;display:flex}.s-field>span{font-size:.875rem;font-weight:650}.s-field small{color:#61718a;font-size:.8125rem}.s-field input[type=file]{background:#f5f8fb;padding:12px;font-size:.875rem}.s-field input[type=file]::file-selector-button{color:var(--navy);cursor:pointer;background:#e2e9f3;border:0;border-radius:6px;margin-right:12px;padding:8px 10px}.full{grid-column:1/-1}.s-checkbox{align-items:flex-start;gap:12px;font-size:.875rem;display:flex}.s-checkbox input{width:18px;height:18px;min-height:18px;accent-color:var(--navy);flex:none;margin-top:3px}.s-dialog-actions{border-top:1px solid #e2e8ef;justify-content:flex-end;gap:12px;margin-top:28px;padding-top:20px;display:flex}.s-dialog :focus-visible{outline-offset:3px;outline:3px solid #2e80d1}@media (max-width:1200px){.s-overview-grid{grid-template-columns:1fr}.s-overview-side{grid-template-columns:1fr 1fr}.s-task-preview{grid-template-columns:1fr}.s-week{grid-template-columns:repeat(7,minmax(110px,1fr));overflow-x:auto}.s-calendar-services{grid-template-columns:1fr}.s-credit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:800px){.s-stats{grid-template-columns:1fr}.s-stats section{grid-template-columns:1fr auto;gap:8px;display:grid}.s-stats strong{grid-area:1/2/3}.s-stats small,.s-stat-credit a{grid-column:1}.s-overview-side,.s-material-grid,.s-credit-grid{grid-template-columns:1fr}.s-toolbar{align-items:flex-start}.s-filter-group{width:100%}.s-filter-group>label{flex:1}.s-filter-group select{flex:1;width:100%;max-width:none}.s-week{grid-template-columns:1fr;overflow:visible}.s-day{border-bottom:1px solid #e1e8ef;border-right:0}.s-day:last-child{border-bottom:0}.s-no-event{padding:8px 12px}.s-calendar-event{padding:14px}.s-calendar-event strong{font-size:1rem}.s-day h3{justify-content:flex-start}.s-lesson{gap:12px}.s-settings-row{flex-wrap:wrap;align-items:flex-start}.s-settings-row>div{width:100%}.s-form-grid{grid-template-columns:1fr}.s-dialog form{padding:20px}.s-dialog-head h2{font-size:26px}.s-row-title{gap:8px}.s-task{padding:20px}.s-table th,.s-table td{padding:12px 10px}.s-material-filters>a{width:100%}.s-lesson .s-button{font-size:.875rem}}.school-top{background:#fff;border-bottom:1px solid #dde3eb;align-items:center;gap:30px;min-height:84px;padding:16px 32px;display:flex}.school-top nav{color:#57647b;gap:24px;margin-left:auto;font-size:.875rem;display:flex}.school-current{border-left:1px solid #dce2e9;padding-left:30px;font-weight:750}.school-identity{color:#236654;background:#e8f4f0;border-radius:24px;padding:6px 14px;font-size:.875rem}.school-layout{grid-template-columns:248px minmax(0,1fr);max-width:1600px;min-height:calc(100vh - 84px);margin:auto;display:grid}.school-sidebar{border-right:1px solid #dfe5ec;flex-direction:column;padding:36px 18px;display:flex}.school-overline{letter-spacing:.12em;color:#68788b;margin:0 0 14px;font-size:.75rem;font-weight:750}.school-sidebar>.school-overline{padding:0 14px}.school-sidebar nav{gap:6px;display:grid}.school-sidebar nav a{color:#546379;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;font-size:.875rem;font-weight:650;display:flex}.school-sidebar nav a span{text-align:center;width:20px;font-size:20px}.school-sidebar nav a[aria-current=page]{background:var(--navy);color:#fff;box-shadow:0 5px 15px #14213d18}.school-sidebar nav a:hover:not([aria-current=page]){background:#e7edf1}.school-sidebar-note{color:#65758b;border-top:1px solid #d9e1e9;margin:44px 14px 0;padding-top:24px;font-size:.875rem}.school-sidebar-note b{color:var(--navy)}.school-sidebar-note span{font-size:.75rem}.school-main{min-width:0;padding:40px clamp(20px,3vw,52px) 70px}.school-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.school-heading h1{letter-spacing:-.035em;margin:0;font:700 clamp(30px,3vw,44px)/1.1 Georgia,serif}.school-heading .school-overline{margin-bottom:8px}.school-account{background:#fff;border:1px solid #dfe5ec;border-radius:30px;padding:9px 16px;font-size:.875rem}.school-card{background:#fff;border:1px solid #dfe5ec;border-radius:16px;padding:26px;box-shadow:0 4px 20px #14213d03}.school-card h2{margin:0 0 18px;font:700 25px/1.2 Georgia,serif}.school-card h3{margin:0 0 8px;font-size:1rem}.school-welcome{max-width:720px;margin:20px auto;padding:48px}.school-welcome h2{margin-top:24px;font-size:36px}.school-welcome-mark{background:var(--mint);color:var(--navy);border-radius:16px;place-items:center;width:56px;height:56px;font:700 32px Georgia,serif;display:grid}.school-welcome>p{color:#53637a}.school-muted{color:#637287;font-size:.875rem}.school-error{color:#903c2b;background:#fff0ed;border:1px solid #f2c4b7;border-radius:10px;margin:16px 0;padding:14px 16px}.school-empty{color:#637287;border:1px dashed #c9d4df;border-radius:12px;padding:34px;font-size:.875rem}.s-button{cursor:pointer;background:#fff;border:1px solid #ccd6e2;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-size:.875rem;font-weight:750;display:inline-flex}.s-button.primary{background:var(--navy);border-color:var(--navy);color:#fff}.s-button.accent{background:var(--coral);border-color:var(--coral);color:#172238}.s-button:disabled{opacity:.5;cursor:wait}.s-button:hover:not(:disabled){filter:brightness(.96)}.school-text-link{color:#215e9f;font-size:.875rem;font-weight:700}.school-shell :focus-visible{outline-offset:3px;outline:3px solid #2e80d1}@media (max-width:1000px){.school-top{gap:20px}.school-top nav{display:none}.school-identity{margin-left:auto}.school-layout{grid-template-columns:210px minmax(0,1fr)}.school-sidebar{padding:28px 10px}.school-main{padding:30px 20px}.school-sidebar nav a{padding:10px}}@media (max-width:700px){.school-top{gap:16px;padding:16px}.school-current{display:none}.school-top .brand{font-size:18px}.school-identity{font-size:.75rem}.school-layout{display:block}.school-sidebar{border-bottom:1px solid #dfe5ec;border-right:0;padding:12px 14px}.school-sidebar>.school-overline,.school-sidebar-note{display:none}.school-sidebar nav{display:flex;overflow:auto}.school-sidebar nav a{white-space:nowrap}.school-sidebar nav a span{display:none}.school-main{padding:26px 16px}.school-heading{align-items:flex-start}.school-account{overflow-wrap:anywhere;max-width:140px}.school-card{padding:20px}.school-welcome{padding:28px}.school-welcome h2{font-size:30px}}.s-notification-form fieldset{border:1px solid var(--s-border,#dce3e9);border-radius:12px;margin:20px 0;padding:20px}.s-notification-form legend{padding:0 8px;font-weight:700}.s-notification-form .s-checkbox{align-items:flex-start}.s-notification-form .s-checkbox input{flex-shrink:0;margin-top:4px}.s-table td small{color:#526174;margin-top:5px;display:block}.school-success{color:#18543b;background:#e8f6ef;border-radius:10px;padding:14px 18px}
