/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.end\!{inset-inline-end:var(--spacing)!important}.table{display:table}}.pwa-install-button{z-index:1000;color:#fff;cursor:pointer;background:#ed542d;border:0;border-radius:10px;padding:12px 16px;font-weight:900;position:fixed;bottom:18px;right:18px;box-shadow:0 10px 28px #163e6340}.pwa-install-button:hover{background:#163e63}@media (width<=600px){.pwa-install-button{bottom:12px;right:12px}}.half-hour-summary{color:#176451;background:#e8f7f1;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-top:-4px;padding:10px 12px;display:flex}.half-hour-summary b{font-size:18px}.half-hour-summary span{text-align:right;font-size:10px;font-weight:800}.hour-entry-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.hour-entry-actions button{width:100%;margin:0}.hour-entry-actions .submit-lock{color:#fff;cursor:pointer;background:#167a67;border:0;border-radius:10px;padding:12px 14px;font-weight:800}@media (width<=620px){.hour-entry-actions{grid-template-columns:1fr}}.daily-records-summary{color:#fff;background:#163e63;border-radius:12px;align-items:center;gap:14px;margin:18px 0;padding:16px 20px;display:flex}.daily-records-summary strong{font:700 28px Georgia,serif}.daily-records-summary span{font-size:12px}.daily-records-table{background:#fff;border:1px solid #d6e4ea;border-radius:12px;overflow-x:auto}.daily-record-row{border-bottom:1px solid #e4edf1;grid-template-columns:110px 140px minmax(150px,1.2fr) 125px 80px 85px 90px 105px;align-items:center;min-width:985px;display:grid}.daily-record-row:last-child{border-bottom:0}.daily-record-row>*{padding:13px 10px;font-size:11px}.daily-record-row.header{color:#fff;text-transform:uppercase;letter-spacing:.04em;background:#21486d;font-weight:900}.daily-record-row strong{color:#167a67}.teacher-total-cell{color:#176451;text-align:center;background:#e8f7f1;border-radius:999px;font-weight:900}.teacher-monthly-summary{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin:0 0 18px;display:grid}.teacher-monthly-summary article{background:#fff;border:1px solid #d8e6eb;border-radius:11px;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:12px 14px;display:grid}.teacher-monthly-summary .avatar{width:42px;height:42px}.teacher-monthly-summary div{gap:3px;display:grid}.teacher-monthly-summary small{color:#71858f;text-transform:uppercase;font-size:9px}.teacher-monthly-summary strong{color:#167a67;font:700 21px Georgia,serif}.islw-login-page{background:linear-gradient(145deg,#eaf3f7,#dcebe8);place-items:center;min-height:100vh;padding:24px;display:grid}.islw-login-card{text-align:center;background:#fff;border:1px solid #d4e2e6;border-radius:22px;justify-items:center;gap:13px;width:min(100%,560px);padding:42px;display:grid;box-shadow:0 24px 70px #163e6324}.islw-login-card img{object-fit:contain;width:230px;height:90px}.islw-login-card h1{color:#163e63;margin:2px 0;font:700 36px Georgia,serif}.islw-login-card p:not(.eyebrow){color:#58717d;max-width:440px;margin:0;line-height:1.6}.islw-login-card small{color:#71858e}.islw-login-button{color:#fff;background:#163e63;border-radius:9px;margin-top:8px;padding:13px 20px;font-weight:900;text-decoration:none;box-shadow:0 8px 20px #163e6330}.islw-login-button:hover{background:#ed542d}@media (width<=560px){.islw-login-card{padding:30px 22px}.islw-login-card h1{font-size:29px}}.student-timetable-picker{color:#4e6773;gap:6px;font-size:12px;font-weight:800;display:grid}.student-timetable-picker select{color:#163e63;background:#fff;border:1px solid #c7d9df;border-radius:8px;min-width:230px;padding:10px}.student-timetable-summary{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px;display:grid}.student-timetable-summary>div{color:#58717d;background:#edf6f5;border-radius:14px;gap:6px;padding:18px;display:grid}.student-timetable-summary span{text-transform:uppercase;font-size:12px;font-weight:800}.student-timetable-summary strong{color:#163e63;font-size:23px}.student-timetable-list{gap:10px;display:grid}.student-timetable-list article{background:#fff;border:1px solid #d7e4e7;border-radius:12px;grid-template-columns:180px 1fr 90px;align-items:center;gap:18px;padding:16px 18px;display:grid}.student-timetable-list time{color:#237d73;gap:3px;font-weight:800;display:grid}.student-timetable-list h4{color:#163e63;margin:0 0 4px}.student-timetable-list span{color:#6a8089}.student-timetable-list>article>strong{color:#ed542d;text-align:right;font-size:19px}.student-timetable-note{color:#805500;background:#fff5df;border-radius:9px;margin-top:18px;padding:12px;font-weight:700}@media (width<=700px){.student-timetable-summary,.student-timetable-list article{grid-template-columns:1fr}.student-timetable-list>article>strong{text-align:left}}.clients-section{min-height:600px}.client-security{color:#176451;background:#eaf7f3;border:1px solid #b7ddd2;border-radius:10px;margin:0 0 20px;padding:13px 16px;font-weight:800}.client-notice{color:#805500;background:#fff5df;border-radius:9px;margin:0 0 16px;padding:12px 15px;font-weight:700}.client-layout{grid-template-columns:minmax(290px,370px) 1fr;align-items:start;gap:24px;display:grid}.client-form{background:#f8fbfb;border:1px solid #d7e4e7;border-radius:16px;gap:14px;padding:22px;display:grid;position:sticky;top:16px}.client-form h4{color:#163e63;margin:0;font-size:21px}.client-form label,.client-toolbar label{color:#4e6773;gap:6px;font-size:12px;font-weight:800;display:grid}.client-form input,.client-form textarea,.client-toolbar input{color:#163e63;background:#fff;border:1px solid #c7d9df;border-radius:8px;width:100%;padding:11px 12px}.client-form textarea{resize:vertical;min-height:100px}.client-form-actions{gap:9px;display:flex}.client-form-actions button{border:0;border-radius:8px;padding:11px 14px;font-weight:800}.client-directory{min-width:0}.client-toolbar{justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px;display:flex}.client-toolbar label{width:min(100%,420px)}.client-toolbar strong{color:#237d73;white-space:nowrap}.client-table{border:1px solid #d7e4e7;border-radius:14px;overflow:hidden}.client-row{background:#fff;border-bottom:1px solid #e4edef;grid-template-columns:1.15fr 1.2fr 1.5fr 150px;align-items:center;gap:14px;padding:14px 16px;display:grid}.client-row:last-child{border-bottom:0}.client-row>div{gap:4px;min-width:0;display:grid}.client-row b{color:#163e63}.client-row small{color:#71858e;overflow-wrap:anywhere}.client-row a{color:#237d73;overflow-wrap:anywhere;text-decoration:none}.client-header{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:#163e63;font-size:12px;font-weight:900}.client-actions{grid-template-columns:1fr 1fr;gap:7px!important;display:flex!important}.client-actions button{color:#163e63;background:#e7f0f3;border:0;border-radius:7px;padding:8px;font-weight:800}.client-actions .danger{color:#a43d29;background:#fde8e4}@media (width<=1050px){.client-layout{grid-template-columns:1fr}.client-form{position:static}.client-row{grid-template-columns:1fr 1fr}.client-header{display:none}}@media (width<=620px){.client-row{grid-template-columns:1fr}.client-toolbar{flex-direction:column;align-items:stretch}.client-form .field-pair{grid-template-columns:1fr}}.attendance-qr-card{background:#f6fbfa;border:1px solid #d7e5e7;border-radius:16px;align-items:center;gap:22px;margin:0 0 22px;padding:20px;display:flex}.attendance-qr-card>img{background:#fff;border-radius:10px;width:150px;height:150px;padding:8px}.attendance-qr-card h4{color:#163e63;margin:3px 0 7px;font-size:20px}.attendance-qr-card p{color:#58717d;margin:0 0 12px}.qr-actions{gap:9px;display:flex}.qr-actions a{color:#fff;background:#163e63;border-radius:8px;padding:9px 12px;font-weight:800;text-decoration:none}.qr-actions a:last-child{background:#ed542d}@media (width<=620px){.attendance-qr-card{flex-direction:column;align-items:flex-start}.attendance-qr-card>img{width:180px;height:180px}}.student-checkin-page{background:linear-gradient(145deg,#eaf3f7,#dcebe8);place-items:center;min-height:100vh;padding:24px;display:grid}.checkin-card{background:#fff;border-radius:20px;width:min(100%,580px);padding:32px;box-shadow:0 22px 70px #163e6326}.checkin-card>img{object-fit:contain;object-position:left;width:220px;height:80px}.checkin-card h1{color:#163e63;margin:9px 0 10px;font:700 34px Georgia,serif}.checkin-intro{color:#58717d;line-height:1.55}.checkin-card form{gap:15px;margin-top:22px;display:grid}.checkin-card label{color:#4e6773;gap:6px;font-size:12px;font-weight:800;display:grid}.checkin-card input,.checkin-card select,.checkin-card textarea{color:#163e63;background:#fff;border:1px solid #c7d9df;border-radius:9px;padding:12px}.checkin-card textarea{resize:vertical;min-height:90px}.checkin-times{grid-template-columns:1fr 1fr;gap:12px;display:grid}.checkin-card form>button{color:#fff;background:#ed542d;border:0;border-radius:9px;padding:13px;font-weight:900}.checkin-card form>button:disabled{opacity:.6}.checkin-notice{color:#176451;background:#e6f6ef;border-radius:9px;margin-top:15px;padding:12px;font-weight:700}.checkin-card>small{color:#7a8b92;margin-top:15px;display:block}@media (width<=560px){.checkin-card{padding:23px}.checkin-card h1{font-size:28px}.checkin-times{grid-template-columns:1fr}}.schedule-not-counted,.worked-hours-rule{color:#78561c;background:#fff7e8;border:1px solid #efd3a4;border-radius:11px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-bottom:22px;padding:15px 17px;display:grid}.schedule-not-counted span,.worked-hours-rule span{font-size:12px;line-height:1.45}.schedule-not-counted button{color:#fff;background:#163e63;border:0;border-radius:7px;padding:9px 11px;font-size:11px;font-weight:800}.worked-hours-rule{color:#176451;background:#e8f7f1;border-color:#b8ddcf;grid-template-columns:auto 1fr}.worked-hours-rule b{white-space:nowrap}@media (width<=700px){.schedule-not-counted,.worked-hours-rule{grid-template-columns:1fr}.schedule-not-counted button{width:100%}}.schedule-hour-controls{justify-content:space-between;align-items:stretch;gap:16px;margin-bottom:22px;display:flex}.automatic-hours-cards{flex:1;grid-template-columns:repeat(3,minmax(130px,1fr));gap:9px;display:grid}.automatic-hours-cards article{background:#fff;border:1px solid #d5e4ea;border-radius:11px;gap:7px;padding:16px;display:grid}.automatic-hours-cards span{color:#6b808b;text-transform:uppercase;font-size:10px;font-weight:900}.automatic-hours-cards strong{color:#163e63;font:700 25px Georgia,serif}.schedule-hour-controls>label{color:#5d7480;text-transform:uppercase;background:#edf4f7;border-radius:11px;align-content:center;gap:7px;min-width:210px;padding:12px 15px;font-size:10px;font-weight:900;display:grid}.schedule-hour-controls select{color:#163e63;background:#fff;border:1px solid #c9dbe2;border-radius:7px;padding:9px}.administrator-hours-table{background:#fff;border:1px solid #d5e4ea;border-radius:14px;margin-top:28px;overflow-x:auto}.hours-table-head,.hours-table-row{grid-template-columns:minmax(150px,1.4fr) repeat(6,minmax(65px,.6fr)) minmax(90px,.8fr);align-items:center;min-width:750px;display:grid}.hours-table-head{color:#fff;background:#163e63}.hours-table-head b,.hours-table-row>*{text-align:center;padding:12px 10px;font-size:11px}.hours-table-head b:first-child,.hours-table-row strong{text-align:left}.hours-table-row{border-top:1px solid #e2eaee}.hours-table-row span{color:#58717d}.hours-table-row>b{color:#17806f}.administrator-hours-table footer{color:#176b5e;background:#e8f5f1;justify-content:space-between;gap:15px;padding:15px 18px;display:flex}.administrator-hours-table>small{color:#6c7e87;padding:11px 18px;display:block}@media (width<=750px){.schedule-hour-controls{flex-direction:column}.automatic-hours-cards{grid-template-columns:1fr}.schedule-hour-controls>label{min-width:0}}.schedule-admin-actions{background:#f4f9fb;border:1px solid #cfe0e7;border-radius:11px;flex-wrap:wrap;gap:8px;margin:-8px 0 20px;padding:13px;display:flex}.schedule-admin-actions button,.timeline-actions button{color:#205d7a;background:#fff;border:1px solid #bcd3dc;border-radius:7px;padding:8px 11px;font-size:11px;font-weight:800}.schedule-admin-actions button:first-child{color:#fff;background:#357fc0;border-color:#357fc0}.schedule-admin-actions .danger,.timeline-actions button:last-child{color:#b1432c;background:#fff1ed;border-color:#efc0b7}.timeline-class>span:first-child{gap:4px;display:grid}.timeline-class small{font-size:10px;font-weight:500}.timeline-actions{gap:6px;display:flex}.timeline-actions button{padding:6px 8px}@media (width<=650px){.schedule-admin-actions button{flex:45%}.timeline-class{gap:9px}.timeline-actions{width:100%}.timeline-actions button{flex:1}}.form-mode{color:#163e63;background:#edf3f6;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.form-mode button{color:#526d7a;background:#fff;border:1px solid #c5d7df;border-radius:7px;padding:7px 9px;font-size:11px;font-weight:800}.editing-form{box-shadow:0 0 0 4px #357fc018;border:2px solid #357fc0!important}.mini-class-list>div.editing-assignment{background:#edf6fc;border-color:#357fc0}.selected-room-status span{border-radius:8px;padding:11px 12px;font-size:11px;font-weight:800;display:block}.selected-room-status .free{color:#176b43;background:#e2f6eb}.selected-room-status .busy{color:#9b3c33;background:#ffe5e2}.room-results span.free{color:#176b43;background:#def5e8}.room-results span.busy{color:#a23f34;background:#ffe3e0}.room-board{border:1px solid var(--line);background:#fff;border-radius:15px;margin-top:28px;padding:22px}.room-board-title{justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px;display:flex}.room-board-title h4{margin:0;font:700 23px Georgia,serif}.room-board-title span{color:#637985;align-items:center;gap:6px;font-size:11px;font-weight:800;display:flex}.green-dot,.red-dot{background:#2eae72;border-radius:50%;width:10px;height:10px}.red-dot{background:#df5b50;margin-left:7px}.room-grid{grid-template-columns:80px repeat(3,minmax(150px,1fr));gap:6px;display:grid;overflow-x:auto}.room-grid>b{color:#fff;text-align:center;background:#163e63;border-radius:8px;padding:11px;font-size:11px}.room-grid>time{color:#526c79;background:#edf3f6;border-radius:8px;place-items:center;min-height:66px;font-size:11px;font-weight:800;display:grid}.room-cell{border:1px solid;border-radius:9px;align-content:center;gap:3px;min-height:66px;padding:9px 11px;display:grid}.room-cell.free{color:#176b43;background:#e4f7ed;border-color:#a9dec3}.room-cell.busy{color:#9b3c33;background:#ffe5e2;border-color:#efaaa4}.room-cell span,.room-cell small{font-size:10px}.assignment-actions{gap:6px;display:flex}.mini-class-list .edit-assignment{color:#205d7a;background:#edf7fa}.form-intro .mini-class-list{max-height:520px;padding-right:4px;overflow:auto}@media (width<=700px){.room-board{padding:14px}.room-board-title{flex-direction:column;align-items:flex-start}.room-grid{grid-template-columns:65px repeat(3,145px)}}.events-layout{grid-template-columns:1.4fr .65fr;align-items:start;gap:22px;display:grid}.event-feed{gap:18px;display:grid}.event-card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:22px}.event-card>header{align-items:center;gap:9px;display:flex}.event-card>header time{color:#285c87;background:#e5eef8;border-radius:6px;padding:5px 8px;font-size:11px;font-weight:700}.event-card>header span{color:#71807e;font-size:11px}.event-card>header button{color:#ad4329;background:#fff0ea;border:0;border-radius:6px;margin-left:auto;padding:7px 9px}.event-card h4{margin:16px 0 7px;font:700 26px Georgia,serif}.event-card>p{color:#536363;line-height:1.55}.event-gallery{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px;display:grid}.event-gallery figure{background:#152f43;border-radius:10px;margin:0;overflow:hidden}.event-gallery img,.event-gallery video{object-fit:cover;width:100%;height:240px;display:block}.event-gallery .video{grid-column:1/-1}.event-gallery .video video{height:auto;max-height:480px}.event-no-media{border:1px dashed var(--line);color:#7b8787;border-radius:9px;margin-top:14px;padding:18px;font-size:12px}.event-form small{color:#71807e;font-weight:400}@media (width<=850px){.events-layout{grid-template-columns:1fr}.event-gallery img,.event-gallery video{height:190px}}@media (width<=550px){.event-gallery{grid-template-columns:1fr}.event-gallery .video{grid-column:auto}}.topbar{background:#fff;border-bottom:1px solid #e4edf2;height:106px;padding:0 4%}.brand-lockup{align-items:center;gap:22px;min-width:0;display:flex}.brand-lockup h1{letter-spacing:-.02em;color:var(--ink);margin:5px 0 0;font:800 25px/1.1 Segoe UI,Arial,sans-serif}.brand-lockup .eyebrow{color:#678095;letter-spacing:.12em}.notification-bell{background:#f5f9fb;border-color:#d6e5ed;margin-left:auto;transition:all .2s}.notification-bell:hover{transform:translateY(-2px);box-shadow:0 7px 18px #173e6220}.admin-pill{color:#315e78;background:#f2f8fb;border:1px solid #d8e7ee;margin-left:0;padding:11px 15px}.professional-hero{background:linear-gradient(135deg,#123a5e 0%,#175472 62%,#16786f 100%);grid-template-columns:1.02fr .98fr;min-height:400px;padding:0;display:grid;position:relative;overflow:hidden}.professional-hero:before{content:"";border:80px solid #ffffff0b;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-280px;left:-180px}.hero-copy{z-index:1;flex-direction:column;justify-content:center;padding:54px 8% 50px 9%;display:flex;position:relative}.hero-copy h2{letter-spacing:-.04em;margin:14px 0 15px;font:700 clamp(40px,5vw,66px)/.98 Georgia,serif}.hero-meta span{color:#e9f4f6;letter-spacing:.04em;background:#ffffff10;border:1px solid #ffffff2b;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:700}.hero-visual:after{content:"";background:linear-gradient(90deg,#175472 0%,#0000 35%);position:absolute;inset:0}.hero-visual>img{object-fit:cover;object-position:center;width:100%;height:100%}.hero-visual .hero-stat{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#123a5edb;border:1px solid #ffffff42;border-radius:14px;padding:16px 20px;position:absolute;bottom:25px;right:28px;box-shadow:0 12px 30px #09253b48}.hero-visual .hero-stat strong{color:#ff8a61}.permission-banner{padding:13px 4%}.tabs{background:#fff;gap:4px;padding:11px 4% 0;box-shadow:0 8px 24px #173e620a}.tabs button{border-radius:9px 9px 0 0;padding:15px 17px;transition:all .18s}.tabs button:hover{color:var(--ink);background:#f1f7fa}.tabs button.active{color:#245c7c;background:#eef6fa}.section-head h3,.form-intro h3{color:#153f60;letter-spacing:-.025em}.schedule-note{background:#f3f8fa;border:1px solid #dbe8ee}.timeline,.teacher-card,.calendar-month,.planning-card,.pdf-card,.event-card,.student-table,.record-list article,.chat-list article{box-shadow:0 7px 25px #173e620a}.timeline-head{background:linear-gradient(90deg,#173f60,#226d7d)}.submit{background:linear-gradient(135deg,#ef6540,#e94c28);transition:all .18s;box-shadow:0 7px 17px #ed542d30}.submit:hover{transform:translateY(-1px);box-shadow:0 9px 23px #ed542d42}footer{background:#f4f8fa;align-items:center;padding:28px 4%}.footer-brand{align-items:center;gap:15px;display:flex}.footer-brand img{object-fit:contain;background:#fff;border-radius:7px;width:112px;height:54px}.footer-brand div,.footer-contact{gap:5px;display:grid}.footer-brand b{color:var(--ink)}.footer-brand span,.footer-contact span{font-size:11px}.footer-contact{text-align:right}@media (width<=900px){.brand-lockup img{width:170px}.brand-lockup .eyebrow{display:none}.professional-hero{grid-template-columns:1fr}.hero-copy{padding:46px 6%}.hero-visual{min-height:300px}.hero-visual:after{background:linear-gradient(#175472 0%,#0000 40%)}}@media (width<=700px){.topbar{height:88px}.brand-lockup{gap:10px}.brand-lockup img{width:125px;height:55px}.brand-lockup h1{font-size:19px}.professional-hero{min-height:auto}.hero-copy{padding:38px 20px}.hero-copy h2{font-size:42px}.hero-intro{font-size:14px}.hero-meta{margin-top:21px}.hero-visual{min-height:250px}.hero-visual .hero-stat{display:flex;bottom:16px;right:16px}.admin-pill{display:none}.content{padding-left:20px;padding-right:20px}footer{flex-direction:column;align-items:flex-start;gap:18px}.footer-contact{text-align:left}}.add-team-member{background:#f3f6f3;border-radius:9px;gap:7px;margin:12px 0;padding:12px;display:grid}.add-team-member input{border:1px solid #ccd5d2;border-radius:7px;width:100%;padding:9px}.add-team-member .submit{margin:0;padding:10px}.phone-directory .member-actions{align-items:center;gap:5px;display:flex}.phone-directory .remove-member{color:#ad4329;background:#fff0ea}.chat-notice{color:#17645b;background:#e7f5ef;border-radius:8px;justify-content:space-between;margin-bottom:15px;padding:11px 14px;font-size:12px;font-weight:700;display:flex}.chat-notice button{background:0 0;border:0}.team-chat-layout{grid-template-columns:.65fr 1.35fr .75fr;align-items:start;gap:16px;display:grid}.chat-sidebar,.chat-panel,.phone-directory{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.chat-sidebar,.phone-directory{padding:18px}.chat-sidebar h4,.phone-directory h4,.chat-panel h4{margin:0;font:700 21px Georgia,serif}.chat-sidebar>button{text-align:left;border:1px solid var(--line);width:100%;color:var(--ink);background:#f8faf7;border-radius:8px;gap:3px;margin-top:8px;padding:11px;display:grid}.chat-sidebar>button.active{border-color:var(--teal);background:#e8f5f1}.chat-sidebar>button span{color:#788583;font-size:10px}.chat-sidebar>p{color:#788583;font-size:12px}.chat-sidebar form{border-top:1px solid var(--line);gap:10px;margin-top:18px;padding-top:16px;display:grid}.chat-sidebar h5{margin:0}.chat-sidebar input[type=text],.chat-sidebar form>input{border:1px solid #ccd5d2;border-radius:7px;width:100%;padding:10px}.member-checks{gap:5px;max-height:165px;display:grid;overflow:auto}.member-checks label{align-items:center;gap:7px;font-size:11px;display:flex}.chat-panel>header{background:var(--ink);color:#fff;justify-content:space-between;gap:15px;padding:17px 20px;display:flex}.chat-panel>header span{color:#b9cdd5;margin-top:5px;font-size:10px;display:block}.chat-panel>header>b{color:#17653c;text-transform:uppercase;background:#dff4e9;border-radius:999px;align-self:start;padding:5px 8px;font-size:9px}.group-thread{background:#f7f8f5;align-content:start;gap:9px;min-height:380px;max-height:520px;padding:18px;display:grid;overflow:auto}.group-thread article{border:1px solid var(--line);background:#fff;border-radius:10px 10px 10px 2px;max-width:82%;padding:11px 13px}.group-thread article.mine{background:#e5f4ee;border-color:#bcded5;border-radius:10px 10px 2px;justify-self:end}.group-thread article b{color:#687777;font-size:10px}.group-thread article p{margin:5px 0 0;line-height:1.4}.chat-panel>form{grid-template-columns:1fr auto;gap:9px;padding:14px;display:grid}.chat-panel textarea{resize:vertical;border:1px solid #ccd5d2;border-radius:8px;min-height:54px;padding:11px}.chat-panel .submit{margin:0}.phone-directory>div{border-top:1px solid var(--line);justify-content:space-between;gap:8px;padding:11px 0;display:flex}.phone-directory>div:first-of-type{margin-top:10px}.phone-directory span{gap:4px;min-width:0;display:grid}.phone-directory b{font-size:11px}.phone-directory small{color:#71807e;overflow-wrap:anywhere}.phone-directory button{color:#17645b;background:#edf8f4;border:0;border-radius:6px;align-self:center;padding:6px 8px;font-size:10px;font-weight:700}@media (width<=950px){.team-chat-layout{grid-template-columns:1fr 1.8fr}.phone-directory{grid-column:1/-1}}@media (width<=700px){.team-chat-layout{grid-template-columns:1fr}.phone-directory{grid-column:auto}.group-thread{min-height:280px}.chat-panel>form{grid-template-columns:1fr}}.month-selector{color:#5c6c6c;gap:6px;font-size:12px;font-weight:700;display:grid}.month-selector select{min-width:210px;color:var(--ink);background:#fff;border:1px solid #ccd5d2;border-radius:8px;padding:11px}.monthly-total-banner{background:var(--ink);color:#fff;border-radius:15px;justify-content:space-between;align-items:center;gap:25px;margin-bottom:22px;padding:25px 28px;display:flex}.monthly-total-banner>div{gap:5px;display:grid}.monthly-total-banner span{color:#aac5d0;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700}.monthly-total-banner strong{color:#f0a178;font:700 42px Georgia,serif}.monthly-total-banner p{color:#c8d7dd;max-width:350px;margin:0;line-height:1.5}.monthly-hours-grid{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.monthly-hours-grid article{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:58px 1fr auto;align-items:center;gap:15px;padding:20px;display:grid}.monthly-hours-grid h4{margin:0 0 5px;font:700 19px Georgia,serif}.monthly-hours-grid span{color:#71807e;font-size:11px}.monthly-hours-grid article>strong{text-align:right;color:var(--teal);font:700 31px Georgia,serif;display:grid}.monthly-hours-grid article>strong small{text-transform:uppercase;letter-spacing:.08em;font:700 10px Arial,sans-serif}.monthly-hours-note{color:#6c7978;margin:18px 0 0;font-size:12px;font-style:italic}@media (width<=700px){.monthly-total-banner{flex-direction:column;align-items:flex-start}.monthly-hours-grid{grid-template-columns:1fr}.month-selector,.month-selector select{width:100%}}:root{--ink:#15324a;--cream:#f5f1e8;--paper:#fffdf8;--orange:#eb6b43;--teal:#207d72;--line:#d9ddd7}*{box-sizing:border-box}body{color:var(--ink);background:#dfe6e4;margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{background:var(--paper);max-width:1180px;min-height:100vh;margin:0 auto;box-shadow:0 0 60px #203a4730}.topbar{border-bottom:1px solid var(--line);align-items:center;gap:16px;height:92px;padding:0 5%;display:flex}.brand-mark{background:var(--ink);color:#fff;border-radius:14px 4px;place-items:center;width:48px;height:48px;font:700 28px Georgia,serif;display:grid}.topbar h1{margin:2px 0 0;font:700 28px Georgia,serif}.eyebrow{color:#6c7b7a;letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.open-pill{color:#17645b;background:#edf8f4;border:1px solid #b9d8d1;border-radius:999px;margin-left:auto;padding:10px 15px;font-size:13px;font-weight:700}.open-pill span{background:#2aa879;border-radius:50%;width:8px;height:8px;margin-right:7px;display:inline-block}.hero{background:var(--ink);color:#fff;background-image:radial-gradient(circle at 80% 20%,#2d566c 0,#0000 34%);justify-content:space-between;align-items:end;min-height:250px;padding:48px 5%;display:flex}.hero h2{letter-spacing:-.03em;margin:12px 0 0;font:700 clamp(35px,5vw,58px)/1.02 Georgia,serif}.light{color:#a9c7d2}.hero-stat{align-items:center;gap:12px;padding-bottom:4px;display:flex}.hero-stat strong{color:#f0a178;font:700 58px Georgia,serif}.hero-stat span{color:#c8d7dd;font-size:13px;line-height:1.35}.tabs{background:var(--cream);border-bottom:1px solid var(--line);gap:8px;padding:18px 5% 0;display:flex}.tabs button{color:#667575;background:0 0;border:0;border-bottom:3px solid #0000;padding:14px 22px;font-weight:700}.tabs button.active{color:var(--ink);border-color:var(--orange)}.content{padding:38px 5% 56px}.section-head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px;display:flex}.section-head h3,.form-intro h3{margin:6px 0 0;font:700 34px Georgia,serif}.schedule-note{color:#536666;background:#edf3f3;border-radius:8px;padding:9px 13px;font-size:12px}.day-strip{grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:22px;display:grid}.day-strip button{border:1px solid var(--line);color:#667575;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;padding:14px;display:flex}.day-strip button b{background:#edf0ed;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.day-strip button.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.day-strip button.selected b{background:var(--orange)}.lesson-list{gap:10px;display:grid}.lesson-card{border:1px solid var(--line);border-left:5px solid var(--teal);background:#fff;border-radius:12px;grid-template-columns:100px 1fr 100px;align-items:center;min-height:110px;display:grid;overflow:hidden}.time{border-right:1px solid var(--line);flex-direction:column;padding:22px;display:flex}.time strong{font:700 22px Georgia,serif}.time span{color:#798585;margin-top:3px;font-size:12px}.lesson-main{padding:18px 24px}.lesson-main h4,.teacher-card h4{margin:8px 0 4px;font:700 20px Georgia,serif}.lesson-main p,.teacher-card p{color:#6a7777;margin:0;font-size:13px}.lesson-top{color:#768181;align-items:center;gap:10px;font-size:12px;display:flex}.type{text-transform:uppercase;letter-spacing:.06em;border-radius:4px;padding:4px 8px;font-weight:700}.type.group{color:#17695f;background:#e6f3ef}.type.individual{color:#a84a2f;background:#fff0e7}.room{background:var(--cream);align-self:stretch;place-items:center;font-size:13px;font-weight:700;display:grid}.empty{text-align:center;color:#7b8787;border:1px dashed #bcc7c5;border-radius:12px;padding:40px}.teacher-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.teacher-card{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:18px;padding:24px;display:flex;position:relative}.teacher-card>b{color:#d7ddda;font:700 30px Georgia,serif;position:absolute;top:16px;right:20px}.avatar{color:#fff;border-radius:50%;place-items:center;width:58px;height:58px;font-weight:700;display:grid}.teacher-card span{color:var(--teal);margin-top:10px;font-size:12px;font-weight:700;display:block}.form-layout{grid-template-columns:.8fr 1.2fr;gap:54px;display:grid}.form-intro>p:not(.eyebrow){color:#687777;line-height:1.7}.rules{background:var(--ink);color:#fff;border-radius:14px;gap:6px;margin-top:28px;padding:22px;display:grid}.rules b{color:#f0a178;text-transform:uppercase;letter-spacing:.08em;margin-top:8px;font-size:12px}.rules span{font-size:14px}.hours-form{border:1px solid var(--line);background:#fff;border-radius:16px;gap:15px;padding:28px;display:grid}.hours-form label{color:#526262;gap:7px;font-size:12px;font-weight:700;display:grid}.hours-form input,.hours-form select{width:100%;color:var(--ink);background:#fbfcfa;border:1px solid #cdd5d2;border-radius:8px;padding:12px 13px}.field-pair{grid-template-columns:1fr 1fr;gap:14px;display:grid}.submit{background:var(--orange);color:#fff;border:0;border-radius:8px;margin-top:5px;padding:14px;font-weight:700}.notice{color:#17645b;background:#edf8f4;border-radius:7px;margin:0;padding:10px;font-size:13px}footer{border-top:1px solid var(--line);color:#758181;justify-content:space-between;padding:24px 5%;font-size:12px;display:flex}@media (width<=700px){.topbar{height:76px;padding:0 18px}.brand-mark{width:40px;height:40px}.topbar h1{font-size:22px}.topbar .eyebrow{display:none}.open-pill{padding:10px;font-size:0}.open-pill span{margin:0}.hero{align-items:flex-start;min-height:220px;padding:36px 20px}.hero-stat{display:none}.tabs{padding-left:14px;overflow:auto}.tabs button{white-space:nowrap;padding:13px 16px}.content{padding:28px 18px 42px}.section-head{flex-direction:column;align-items:flex-start}.schedule-note{line-height:1.5}.day-strip{padding-bottom:4px;display:flex;overflow:auto}.day-strip button{min-width:86px}.lesson-card{grid-template-columns:78px 1fr}.time,.lesson-main{padding:16px}.room{grid-column:1/-1;padding:9px}.teacher-grid,.form-layout{grid-template-columns:1fr}.form-layout{gap:28px}.field-pair{grid-template-columns:1fr 1fr}footer{flex-direction:column;gap:6px}}.teacher-layout{grid-template-columns:1.5fr .7fr;align-items:start;gap:22px;display:grid}.add-teacher-card{background:var(--ink);color:#fff;border-radius:15px;gap:15px;padding:25px;display:grid}.add-teacher-card h4{margin:0;font:700 25px Georgia,serif}.add-teacher-card label{color:#d6e2e5;gap:7px;font-size:12px;font-weight:700;display:grid}.add-teacher-card input{color:#fff;background:#23445c;border:1px solid #587083;border-radius:8px;width:100%;padding:12px}.add-teacher-card input::placeholder{color:#9eb1bc}.add-teacher-card .eyebrow{color:#f0a178}@media (width<=900px){.teacher-layout{grid-template-columns:1fr}.add-teacher-card{max-width:520px}}.delete-teacher{color:#b64b32;z-index:2;background:#fff5f2;border:1px solid #efc6bc;border-radius:50%;width:31px;height:31px;font-size:21px;line-height:1;position:absolute;bottom:14px;right:14px}.delete-teacher:hover,.delete-teacher:focus-visible{color:#fff;outline-offset:2px;background:#b64b32;outline:2px solid #f1b5a6}.admin-pill{color:#3f6263;background:#edf3f3;border-radius:8px;margin-left:auto;padding:9px 13px;font-size:12px;font-weight:700}.hero.compact{min-height:210px}.tabs.wide{overflow-x:auto}.tabs.wide button{white-space:nowrap}.global-notice{color:#17645b;background:#e7f5ef;justify-content:space-between;align-items:center;padding:12px 5%;font-size:13px;font-weight:700;display:flex}.global-notice button{color:inherit;background:0 0;border:0;font-size:20px}.control-row{gap:12px;margin-bottom:20px;display:flex}.control-row label,.availability-card label,.side-form label{color:#5c6c6c;gap:6px;font-size:12px;font-weight:700;display:grid}.control-row select,.availability-card select,.availability-card input,.side-form input,.side-form select,.side-form textarea{min-width:180px;color:var(--ink);background:#fff;border:1px solid #ccd5d2;border-radius:8px;padding:11px}.schedule-layout{grid-template-columns:1.5fr .7fr;align-items:start;gap:22px;display:grid}.timeline{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.timeline-head{background:var(--ink);color:#fff;justify-content:space-between;padding:17px 20px;display:flex}.timeline-row{border-top:1px solid #e3e7e3;grid-template-columns:75px 1fr;min-height:54px;display:grid}.timeline-row time{color:#677777;border-right:1px solid #e3e7e3;padding:18px;font-size:12px}.available{color:#9ba7a4;padding:18px;font-size:12px}.timeline-class{color:#17645b;background:#e6f3ef;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.timeline-class span{font-size:12px}.availability-card,.side-form{border:1px solid var(--line);background:#f9faf7;border-radius:14px;gap:14px;padding:24px;display:grid}.availability-card h4,.side-form h4{margin:0;font:700 25px Georgia,serif}.room-results{gap:8px;margin-top:6px;display:grid}.room-results span{color:#17645b;background:#e5f4ee;border-radius:8px;padding:12px;font-weight:700}.student-layout,.record-layout,.message-layout{grid-template-columns:1.5fr .6fr;align-items:start;gap:22px;display:grid}.student-table{border:1px solid var(--line);border-radius:12px;overflow:hidden}.student-row{border-top:1px solid var(--line);grid-template-columns:1.2fr 1.2fr .6fr .7fr .6fr 1.5fr;align-items:center;gap:8px;padding:14px 16px;font-size:12px;display:grid}.student-row.header{background:var(--ink);color:#fff;border:0;font-weight:700}.student-row strong{color:var(--orange)}.student-row small{color:#6c7979}.side-form textarea{resize:vertical;min-height:100px}.record-list,.chat-list{gap:10px;display:grid}.record-list article,.chat-list article{border:1px solid var(--line);background:#fff;border-radius:11px;padding:17px}.record-list article>div,.chat-list article>div{justify-content:space-between;gap:10px;display:flex}.record-list p,.chat-list p{color:#536363;margin:10px 0}.record-list small,.chat-list span{color:#82908e;font-size:11px}.status{color:#a8442d;text-transform:uppercase;background:#ffe8df;border-radius:999px;padding:4px 8px;font-size:10px}.admin-message{border-left:4px solid var(--orange)!important}.teacher-message{border-left:4px solid var(--teal)!important}.mini-class-list{gap:8px;margin-top:20px;display:grid}.mini-class-list>div{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;padding:11px;display:flex}.mini-class-list span{gap:3px;display:grid}.mini-class-list small{color:#748180}.mini-class-list button{color:#ad4329;background:#fff0ea;border:0;border-radius:6px;padding:7px 10px}@media (width<=900px){.schedule-layout,.student-layout,.record-layout,.message-layout{grid-template-columns:1fr}.student-table{overflow-x:auto}.student-row{min-width:760px}.availability-card,.side-form{max-width:none}}@media (width<=700px){.admin-pill{padding:10px;font-size:0}.admin-pill:after{content:"Admin";font-size:11px}.hero.compact{min-height:190px}.control-row{grid-template-columns:1fr 1fr;display:grid}.control-row select{width:100%;min-width:0}.timeline-class{flex-direction:column;align-items:flex-start;gap:4px}.student-layout,.record-layout,.message-layout{gap:16px}}.student-row{grid-template-columns:1.15fr 1.05fr .55fr .65fr .55fr 1.35fr .65fr}.delete-student{color:#b64b32;background:#fff5f2;border:1px solid #efc6bc;border-radius:7px;padding:7px 9px;font-size:11px;font-weight:700}.delete-student:hover,.delete-student:focus-visible{color:#fff;outline-offset:2px;background:#b64b32;outline:2px solid #f1b5a6}.permission-banner{border-bottom:1px solid;padding:12px 5%;font-size:13px;font-weight:700}.admin-access{color:#17645b;background:#e7f5ef;border-color:#b9d8d1}.teacher-access{color:#285c87;background:#e8f0fa;border-color:#bfd0e4}.readonly-access{color:#815d18;background:#fff4df;border-color:#efd7aa}.read-only .delete-teacher,.read-only .delete-student,.read-only .edit-name,.read-only .add-teacher-card,.read-only .side-form,.read-only .hours-form,.read-only .mini-class-list button{display:none}.read-only .teacher-layout,.read-only .student-layout,.read-only .record-layout,.read-only .message-layout{grid-template-columns:1fr}.read-only .student-row{grid-template-columns:1.2fr 1.1fr .6fr .7fr .6fr 1.5fr}.read-only .student-row>:last-child,.teacher-mode .teacher-card .teacher-actions,.teacher-mode .add-teacher-card{display:none}.teacher-mode .side-form label:has(input[type=number]){display:none}.teacher-mode .teacher-layout{grid-template-columns:1fr}.teacher-actions{z-index:2;align-items:center;gap:7px;display:flex;position:absolute;bottom:14px;right:14px}.teacher-actions .delete-teacher{position:static}.edit-name{color:#17645b;background:#edf8f4;border:1px solid #bad5cf;border-radius:7px;padding:7px 9px;font-size:11px;font-weight:700}.edit-name:hover,.edit-name:focus-visible{color:#fff;outline-offset:2px;background:#17645b;outline:2px solid #a8d8ce}.student-actions{align-items:center;gap:6px;display:flex}.calendar-legend{flex-wrap:wrap;gap:9px;margin-bottom:24px;display:flex}.calendar-legend span{border-radius:999px;padding:7px 10px;font-size:11px;font-weight:700}.calendar-legend .school,.event-row.school{color:#285c87;background:#e5eef8}.calendar-legend .polish,.event-row.polish{color:#a5432f;background:#ffe8e2}.calendar-legend .saudi,.event-row.saudi{color:#17653c;background:#e3f3e9}.calendar-legend .islamic,.event-row.islamic{color:#68469a;background:#efe8fa}.calendar-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.calendar-month{border:1px solid var(--line);background:#fff;border-radius:13px;padding:17px}.calendar-month h4{margin:0 0 13px;font:700 18px Georgia,serif}.weekday-row,.month-days{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.weekday-row b{text-align:center;color:#899593;padding:3px;font-size:9px}.calendar-day,.blank{border-radius:7px;place-items:center;min-height:31px;font-size:11px;display:grid;position:relative}.calendar-day{background:#f7f8f5}.calendar-day i{background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px}.calendar-day.school{color:#285c87;background:#e5eef8}.calendar-day.polish{color:#a5432f;background:#ffe8e2}.calendar-day.saudi{color:#17653c;background:#e3f3e9}.calendar-day.islamic{color:#68469a;background:#efe8fa}.calendar-events{gap:7px;margin-top:28px;display:grid}.calendar-events>h4{margin:0 0 6px;font:700 24px Georgia,serif}.event-row{border-radius:8px;grid-template-columns:230px 1fr;gap:15px;padding:10px 13px;font-size:12px;display:grid}.event-row time{font-variant-numeric:tabular-nums}.calendar-disclaimer{color:#6d7a79;margin:16px 0 0;font-size:12px;font-style:italic}@media (width<=900px){.calendar-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.calendar-grid{grid-template-columns:1fr}.event-row{grid-template-columns:1fr;gap:4px}}.planning-layout{grid-template-columns:1.4fr .7fr;align-items:start;gap:22px;display:grid}.planning-list{gap:12px;display:grid}.planning-card{border:1px solid var(--line);background:#fff;border-radius:13px;padding:20px;position:relative}.planning-card>div:first-child{align-items:center;gap:10px;display:flex}.planning-card>div:first-child small{color:#788583;margin-left:auto}.month-badge{color:#285c87;background:#e5eef8;border-radius:6px;padding:5px 8px;font-size:11px;font-weight:700}.planning-card>p{color:#40575a;margin:14px 0;line-height:1.55}.planning-card dl{grid-template-columns:100px 1fr;gap:6px 12px;margin:0;font-size:12px;display:grid}.planning-card dt{color:#7c8886;font-weight:700}.planning-card dd{margin:0}.record-delete{color:#ad4329;background:#fff0ea;border:0;border-radius:6px;padding:7px 10px;position:absolute;bottom:14px;right:14px}.planning-form{max-height:76vh;overflow:auto}.planning-form textarea{min-height:76px}@media (width<=900px){.planning-layout{grid-template-columns:1fr}.planning-form{max-height:none}}.template-buttons{gap:9px;margin:-8px 0 22px;display:flex}.template-buttons button,.resource-actions button{color:#17645b;background:#edf8f4;border:1px solid #bad5cf;border-radius:7px;padding:8px 11px;font-weight:700}.resource-actions{justify-content:flex-end;gap:7px;margin-top:16px;display:flex}.resource-actions button:last-child{color:#ad4329;background:#fff0ea;border-color:#efc6bc}.preserve-lines{white-space:pre-line;line-height:1.55}.resource-card a{color:#17645b;font-weight:700}.pdf-list{gap:10px;display:grid}.pdf-card{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:48px 1fr auto auto;align-items:center;gap:13px;padding:15px;display:grid}.pdf-icon{color:#a5432f;background:#ffe8e2;border-radius:7px;place-items:center;width:45px;height:50px;font-size:11px;font-weight:800;display:grid}.pdf-card>div:nth-child(2){gap:5px;display:grid}.pdf-card span{color:#778482;font-size:11px}.pdf-card a,.pdf-card button{color:#17645b;background:#edf8f4;border:0;border-radius:6px;padding:8px 10px;font-size:12px;font-weight:700;text-decoration:none}.pdf-card button{color:#ad4329;background:#fff0ea}@media (width<=600px){.pdf-card{grid-template-columns:44px 1fr}.pdf-card a,.pdf-card button{grid-column:auto}}.notification-bell{background:#f6f8f6;border:1px solid #d7dfdc;border-radius:50%;width:42px;height:42px;margin-left:auto;position:relative}.notification-bell b{background:var(--orange);color:#fff;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 4px;font-size:10px;display:grid;position:absolute;top:-5px;right:-4px}.notification-bell+.admin-pill{margin-left:0}.notification-layout{grid-template-columns:1.35fr .7fr;align-items:start;gap:22px;display:grid}.reminder-card{background:var(--ink);color:#fff;border-radius:14px;padding:24px}.reminder-card>span{color:#17653c;text-transform:uppercase;background:#dff4e9;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;display:inline-block}.reminder-card h4,.email-directory h4,.notification-feed h4{margin:13px 0 7px;font:700 23px Georgia,serif}.reminder-card p{color:#c9d9df;margin:0;line-height:1.55}.notification-feed{margin-top:22px}.notification-feed>button{text-align:left;border:1px solid var(--line);border-left:4px solid var(--orange);width:100%;color:var(--ink);background:#fff;border-radius:9px;gap:5px;margin-top:9px;padding:15px;display:grid}.notification-feed>button>span{color:var(--orange);text-transform:uppercase;font-size:10px;font-weight:800}.notification-feed small{color:#6f7d7b;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.email-directory{border:1px solid var(--line);background:#f8faf7;border-radius:14px;gap:10px;padding:23px;display:grid}.email-directory>div{border-top:1px solid #e0e5e0;gap:4px;padding:11px 0;display:grid}.email-directory b{overflow-wrap:anywhere;font-size:12px}.email-directory span{color:#758280;font-size:11px}@media (width<=800px){.notification-layout{grid-template-columns:1fr}.notification-bell{margin-left:auto}.topbar .admin-pill{display:none}}:root{--ink:#163e63;--cream:#f3f7fa;--paper:#fff;--orange:#ed542d;--teal:#23a68e;--blue:#357fc0;--line:#dce7ee}body{background:linear-gradient(135deg,#eef4f7,#dfe9ee);font-family:Inter,Segoe UI,Arial,sans-serif}.app-shell{background:#fbfdff;max-width:1380px;box-shadow:0 20px 80px #173e6226}.app-shell .topbar{background:#fff;height:106px;padding:0 4%}.brand-lockup{align-items:center;gap:22px;display:flex}.brand-lockup img{object-fit:contain;object-position:left;width:220px;height:76px}.brand-lockup h1{color:var(--ink);margin:5px 0 0;font:800 25px Segoe UI,Arial,sans-serif}.brand-lockup .eyebrow{color:#678095}.app-shell .professional-hero{background:linear-gradient(135deg,#123a5e,#175472 62%,#16786f);grid-template-columns:1.02fr .98fr;align-items:stretch;min-height:400px;padding:0;display:grid;overflow:hidden}.hero-copy{flex-direction:column;justify-content:center;padding:54px 8% 50px 9%;display:flex}.hero-copy h2{margin:14px 0 15px;font:700 clamp(40px,5vw,66px)/.98 Georgia,serif}.hero-copy h2 em{color:#f47a53;font-weight:400}.hero-intro{color:#d5e4eb;max-width:570px;margin:0;font-size:16px;line-height:1.65}.hero-meta{flex-wrap:wrap;gap:9px;margin-top:27px;display:flex}.hero-meta span{color:#e9f4f6;background:#ffffff10;border:1px solid #ffffff2b;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:700}.hero-visual{min-height:400px;position:relative;overflow:hidden}.hero-visual>img{object-fit:cover;width:100%;height:100%}.hero-visual .hero-stat{z-index:2;background:#123a5edb;border-radius:14px;padding:16px 20px;position:absolute;bottom:25px;right:28px}.team-announcement{border:1px solid #cfe3ea;border-left:6px solid var(--orange);background:linear-gradient(135deg,#fff 0%,#f2f9fb 100%);border-radius:16px;grid-template-columns:76px 1fr;gap:24px;margin:26px 4%;padding:27px 30px;display:grid;box-shadow:0 12px 35px #173e6212}.announcement-mark{background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;letter-spacing:.08em;border-radius:18px 5px;place-items:center;width:66px;height:66px;font-size:14px;font-weight:900;display:grid}.announcement-copy h3{color:var(--ink);margin:6px 0 12px;font:700 29px Georgia,serif}.announcement-copy>p:not(.eyebrow){color:#506b79;max-width:1000px;margin:7px 0;font-size:14px;line-height:1.62}.announcement-footer{color:#587383;border-top:1px solid #dce9ee;justify-content:space-between;align-items:center;gap:18px;margin-top:19px;padding-top:16px;font-size:12px;display:flex}.announcement-footer>div{gap:8px;display:flex}.announcement-footer button{color:#205c79;background:#fff;border:1px solid #bcd6df;border-radius:8px;padding:9px 12px;font-size:11px;font-weight:800}.announcement-footer .request-button{border-color:var(--orange);background:var(--orange);color:#fff}.app-shell .tabs{background:#fff;gap:4px;padding:11px 4% 0}.app-shell .tabs button{padding:15px 17px}.app-shell .content{padding:42px 4% 62px}@media (width<=900px){.brand-lockup img{width:170px}.app-shell .professional-hero{grid-template-columns:1fr}.hero-visual{min-height:300px}}@media (width<=700px){.app-shell .topbar{height:88px}.brand-lockup img{width:125px;height:55px}.brand-lockup h1{font-size:19px}.hero-copy{padding:38px 20px}.hero-copy h2{font-size:42px}.hero-visual{min-height:250px}.team-announcement{grid-template-columns:1fr;margin:18px;padding:22px}.announcement-mark{width:54px;height:54px}.announcement-copy h3{font-size:25px}.announcement-footer{flex-direction:column;align-items:flex-start}.announcement-footer>div{flex-wrap:wrap;width:100%}.announcement-footer button{flex:1}.app-shell .content{padding-left:20px;padding-right:20px}}.readonly-access,.teacher-access{justify-content:space-between;align-items:center;gap:16px;display:flex}.permission-banner a{font-weight:800}.team-signin{color:#fff;background:#163e63;border-radius:8px;flex:none;padding:10px 15px;text-decoration:none;box-shadow:0 5px 14px #163e6330}.team-signin:hover{background:#ed542d}.teacher-access a{color:#285c87;margin-left:8px}@media (width<=700px){.readonly-access,.teacher-access{flex-direction:column;align-items:flex-start}.team-signin{text-align:center;width:100%}}.login-access-panel{background:linear-gradient(135deg,#f4f9fb,#fff);border:1px solid #cfe1e9;border-radius:15px;grid-template-columns:.55fr 1.45fr;gap:24px;margin-bottom:24px;padding:24px;display:grid;box-shadow:0 8px 25px #163e630b}.login-access-panel h4{margin:7px 0 6px;font:700 24px Georgia,serif}.login-access-panel>div:first-child>span{color:#6b7e88;font-size:12px}.login-access-list{gap:8px;display:grid}.login-access-list>div{background:#fff;border:1px solid #dce7ec;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;display:flex}.login-access-list span{gap:3px;min-width:0;display:grid}.login-access-list b{font-size:12px}.login-access-list small{color:#657b88;overflow-wrap:anywhere}.login-access-list button{color:#205c79;background:#edf7fa;border:1px solid #b9d5df;border-radius:7px;flex:none;padding:8px 10px;font-size:11px;font-weight:800}.login-access-list button:hover{color:#b64325;background:#fff2ed;border-color:#ed542d}@media (width<=800px){.login-access-panel{grid-template-columns:1fr}.login-access-list>div{flex-direction:column;align-items:flex-start}.login-access-list button{width:100%}}.hours-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0;display:grid}.hours-summary article{border:1px solid var(--line);background:#fff;border-radius:13px;gap:8px;padding:20px;display:grid;box-shadow:0 7px 22px #163e630b}.hours-summary span{color:#6e818b;text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:800}.hours-summary strong{color:var(--ink);font:700 31px Georgia,serif}.hours-summary article:nth-child(2) strong{color:#17806f}.hours-summary article:nth-child(3) strong{color:#d65a37}.hours-filter{justify-content:space-between;align-items:center;gap:16px;margin:18px 0;display:flex}.hours-filter>div{background:#edf3f6;border-radius:10px;gap:5px;padding:4px;display:flex}.hours-filter button{color:#607681;background:0 0;border:0;border-radius:7px;padding:9px 13px;font-size:11px;font-weight:800}.hours-filter button.active{color:#fff;background:#163e63;box-shadow:0 4px 10px #163e6328}.hours-filter label{color:#617681;align-items:center;gap:9px;font-size:11px;font-weight:800;display:flex}.hours-filter input{background:#fff;border:1px solid #cddde4;border-radius:7px;padding:9px}.teacher-hour-totals{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.teacher-hour-totals span{color:#536f7d;background:#fff;border:1px solid #d8e6eb;border-radius:999px;gap:10px;padding:9px 12px;font-size:11px;display:flex}.teacher-hour-totals b{color:#163e63}.hours-workspace{grid-template-columns:1.45fr .62fr;align-items:start;gap:22px;display:grid}.hours-records{gap:10px;display:grid}.hours-record{border:1px solid var(--line);background:#fff;border-left:5px solid #d79d42;border-radius:12px;padding:18px 20px;box-shadow:0 6px 20px #163e6309}.hours-record.submitted{border-left-color:#22a18d}.hours-record>div:first-child{justify-content:space-between;align-items:center;display:flex}.hours-record time{color:#647b87;font-size:11px;font-weight:800}.lock-state{color:#9a671c;text-transform:uppercase;background:#fff3df;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900}.submitted .lock-state{color:#176b5e;background:#e5f5f0}.hours-record h4{margin:12px 0 7px;font:700 20px Georgia,serif}.hours-record>p{color:#516b79;justify-content:space-between;margin:0;display:flex}.hours-record>p strong{color:#163e63}.hours-record>small{color:#778990;margin-top:8px;display:block}.hour-actions{border-top:1px solid #e8eef1;justify-content:flex-end;gap:7px;margin-top:15px;padding-top:12px;display:flex}.hour-actions button{color:#205d7a;background:#eff7fa;border:1px solid #bfd6df;border-radius:7px;padding:7px 9px;font-size:10px;font-weight:800}.hour-actions .submit-lock{color:#fff;background:#20917f;border-color:#20917f}.hour-actions .delete-hour{color:#b5472d;background:#fff2ee;border-color:#efc8bd}.hours-entry>small{color:#72858e;line-height:1.45}@media (width<=850px){.hours-workspace,.hours-summary{grid-template-columns:1fr}.hours-filter{flex-direction:column;align-items:flex-start}.hours-filter>div{width:100%}.hours-filter button{flex:1}.hours-record>p{flex-direction:column;gap:8px}}.hour-actions .unlock-hours{color:#8a5a10;background:#fff4df;border-color:#d69a38}.record-correction-form{background:#fffaf0;border:1px solid #e2b767;border-radius:10px;gap:10px;margin-top:14px;padding:15px;display:grid}.record-correction-form h5{color:#7d5412;margin:0;font:700 17px Georgia,serif}.record-correction-form label{color:#536d79;gap:5px;font-size:10px;font-weight:800;display:grid}.record-correction-form input,.record-correction-form textarea{color:#173c5d;background:#fff;border:1px solid #c9dbe2;border-radius:7px;width:100%;padding:9px 10px}.record-correction-form textarea{resize:vertical;min-height:65px}.record-correction-form>div:last-child{justify-content:flex-end;gap:8px;display:flex}.record-correction-form button{color:#365d70;cursor:pointer;background:#fff;border:1px solid #c8d9df;border-radius:7px;padding:9px 12px;font-weight:800}.record-correction-form .save-correction{color:#fff;background:#187b68;border-color:#187b68}.administrator-mode .daily-record-row{grid-template-columns:105px 130px minmax(145px,1.2fr) 120px 75px 80px 85px 100px 120px;min-width:1080px}.daily-record-row .edit-name{color:#fff;cursor:pointer;background:#ed6a45;border:0;border-radius:8px;margin:8px;padding:9px 10px;font-weight:800}.manual-room-box{min-height:132px;font-size:15px;font-weight:800;border:2px solid var(--teal)!important;background:#fff!important}.manual-room-box option{color:var(--ink);border-radius:7px;margin:2px;padding:12px}.manual-room-box option:checked{background:var(--teal);color:#fff}.edit-period-total{color:#205c79;cursor:pointer;background:#edf7fa;border:1px solid #b9d5df;border-radius:7px;justify-self:start;padding:8px 11px;font-size:11px;font-weight:800}.edit-period-total:hover,.edit-period-total:focus-visible{border-color:var(--orange);color:#b64325;background:#fff2ed;outline:none}.monthly-hours-grid article:has(.edit-monthly-teacher-hours){grid-template-columns:58px minmax(120px,1fr) auto auto}.edit-monthly-teacher-hours{color:#205c79;cursor:pointer;background:#edf7fa;border:1px solid #b9d5df;border-radius:7px;padding:9px 11px;font-size:11px;font-weight:800}.edit-monthly-teacher-hours:hover,.edit-monthly-teacher-hours:focus-visible{border-color:var(--orange);color:#b64325;background:#fff2ed;outline:none}@media (width<=700px){.monthly-hours-grid article:has(.edit-monthly-teacher-hours){grid-template-columns:58px 1fr auto}.edit-monthly-teacher-hours{grid-column:2/-1;width:100%}}.teacher-hour-totals span button{color:#205c79;cursor:pointer;background:#edf7fa;border:1px solid #b9d5df;border-radius:999px;margin:-4px -6px -4px 0;padding:5px 8px;font-size:10px;font-weight:800}.teacher-hour-totals span button:hover,.teacher-hour-totals span button:focus-visible{border-color:var(--orange);color:#b64325;background:#fff2ed;outline:none}.header-account{align-items:center;gap:10px;margin-left:auto;display:flex}.header-account .notification-bell{margin-left:0}.settings-button,.admin-access button{color:#fff;cursor:pointer;background:#163e63;border:0;border-radius:9px;font-weight:800}.settings-button:hover,.settings-button:focus-visible,.admin-access button:hover,.admin-access button:focus-visible{outline-offset:2px;background:#ed542d;outline:3px solid #ed542d33}.admin-access button{padding:9px 13px}.settings-intro{color:#627984;max-width:650px;margin:9px 0 0;line-height:1.55}.administrator-badge{color:#17685c;background:#e4f4ef;border-radius:999px;padding:10px 13px;font-size:11px;font-weight:900}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px;display:grid}.settings-card{background:#fff;border:1px solid #d7e5eb;border-radius:14px;grid-template-columns:52px 1fr auto;align-items:center;gap:15px;padding:20px;display:grid;box-shadow:0 7px 24px #163e6309}.settings-icon{background:linear-gradient(135deg,#e8f2f8,#e4f5f0);border-radius:13px;place-items:center;width:52px;height:52px;font-size:22px;display:grid}.settings-card h4{color:#163e63;margin:0;font:700 19px Georgia,serif}.settings-card p{color:#6b7f88;margin:6px 0 0;font-size:12px;line-height:1.45}.settings-card button{color:#205d79;cursor:pointer;background:#eff7fa;border:1px solid #b9d6df;border-radius:8px;padding:9px 12px;font-size:11px;font-weight:800}.settings-card button:hover{color:#b64325;background:#fff2ed;border-color:#ed542d}.configured-state{color:#17685c;text-transform:uppercase;background:#e7f5ef;border-radius:999px;padding:7px 9px;font-size:10px;font-weight:900}@media (width<=850px){.settings-grid{grid-template-columns:1fr}.header-account .admin-pill{display:none}.app-shell .topbar{padding-left:20px;padding-right:20px}.settings-button{padding:11px;font-size:0}.settings-button:first-letter{font-size:18px}}@media (width<=560px){.settings-card{grid-template-columns:44px 1fr}.settings-icon{width:44px;height:44px}.settings-card button,.configured-state{grid-column:2;justify-self:start}.administrator-badge{display:none}}.general-settings-form{gap:18px;max-width:820px;margin-top:28px;display:grid}.general-settings-form fieldset{background:#fff;border:1px solid #d7e5eb;border-radius:14px;gap:14px;padding:20px;display:grid}.general-settings-form legend{color:#163e63;padding:0 8px;font:700 18px Georgia,serif}.general-settings-form label{color:#405c69;gap:7px;font-size:12px;font-weight:800;display:grid}.general-settings-form input,.general-settings-form textarea{color:#173e62;font:inherit;background:#fbfdfe;border:1px solid #bfd2da;border-radius:9px;padding:12px}.general-settings-form textarea{resize:vertical;min-height:100px}.general-settings-form .submit{color:#fff;cursor:pointer;background:#163e63;border:0;border-radius:9px;justify-self:start;padding:12px 18px;font-weight:800}.general-settings-form .submit:disabled{opacity:.6;cursor:wait}.settings-button,.admin-access>a{color:#fff;cursor:pointer;background:#163e63;border:0;border-radius:9px;justify-content:center;align-items:center;font-weight:800;text-decoration:none;display:inline-flex}.settings-button{padding:12px 15px;box-shadow:0 6px 18px #163e6326}.settings-button:hover,.settings-button:focus-visible,.admin-access>a:hover,.admin-access>a:focus-visible{outline-offset:2px;background:#ed542d;outline:3px solid #ed542d33}.admin-access>a{padding:9px 13px}.monthly-ledger{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:26px;overflow:hidden}.monthly-ledger-row{border-top:1px solid var(--line);grid-template-columns:130px 1fr 1.2fr 100px 130px;align-items:center;gap:12px;padding:13px 16px;font-size:12px;display:grid}.monthly-ledger-row.header{background:var(--ink);color:#fff;letter-spacing:.06em;text-transform:uppercase;border-top:0;font-size:10px;font-weight:900}.monthly-ledger-row time{font-variant-numeric:tabular-nums;color:#566f7b}.monthly-ledger-row strong{color:#17685c}.ledger-locked{color:#17685c;text-transform:uppercase;background:#e7f5ef;border-radius:999px;width:max-content;padding:6px 9px;font-size:9px;font-weight:900}.hours-record.submitted .hour-actions{display:none}.student-package-ledger .monthly-ledger-row{grid-template-columns:105px minmax(120px,1fr) minmax(120px,1fr) 82px 82px 90px 82px 120px}.teacher-mode .student-actions,.teacher-mode .student-layout>.side-form{display:none}.teacher-mode .student-layout{grid-template-columns:1fr}@media (width<=760px){.monthly-ledger{overflow-x:auto}.monthly-ledger-row{min-width:680px}}
