@import "https://fonts.googleapis.com/css2?family=Noto+Kufi+Arabic:wght@400;500;600;700;800&display=swap";.upcoming-panel{--up-violet:#7751b9;--up-blue:#3278bd;--up-amber:#aa7417;--up-teal:#20806d;--up-rose:#b95579;background:#fff;border:1px solid #dedfea;border-radius:25px;min-width:0;box-shadow:0 12px 36px #40365b0b}.upcoming-header{background:radial-gradient(at 0 0,#d6ecee88,#0000 55%),linear-gradient(110deg,#f4f0fc,#faf8ff 55%,#f1f9fa);border-bottom:1px solid #e8e5ef;border-radius:24px 24px 0 0;justify-content:space-between;align-items:center;gap:20px;padding:25px 27px;display:flex;position:relative}.upcoming-title-group{align-items:center;gap:14px;min-width:0;display:flex}.upcoming-title-icon{color:#fff;background:linear-gradient(145deg,#8462c7,#6952ac);border-radius:17px;flex-shrink:0;place-items:center;width:52px;height:52px;display:grid;box-shadow:0 8px 18px #7751b929}.upcoming-eyebrow{color:#8365a7;font-size:10px;font-weight:800}.upcoming-header h3{color:#33334f;margin:4px 0 6px;font-size:23px;line-height:1.5}.upcoming-title-line{align-items:center;gap:9px;display:flex;position:relative}.upcoming-info{flex-shrink:0;display:inline-flex}.upcoming-info-button{width:30px;height:30px;color:var(--up-violet);cursor:pointer;background:#fff9;border:1px solid #dcd0ee;border-radius:50%;place-items:center;padding:0;display:grid}.upcoming-info-button:hover,.upcoming-info-button[aria-expanded=true]{background:#ede5fa;border-color:#bda7da}.upcoming-info-tooltip{inset-inline-start:0;z-index:5;color:#596077;text-align:start;background:#fff;border:1px solid #d8c9ec;border-radius:16px;gap:12px;width:min(480px,100vw - 112px);padding:20px;font-size:12px;font-weight:400;line-height:1.9;display:grid;position:absolute;top:calc(100% + 8px);box-shadow:0 12px 40px #49366326}.upcoming-info-tooltip:before{content:"";inset-inline:0;height:12px;position:absolute;top:-12px}.upcoming-info-heading{color:#65458e;font-size:14px}.upcoming-info-tooltip b{color:#5d4b77}.upcoming-info-example{background:#fffaee;border:1px solid #ecdbaf;border-radius:11px;gap:6px;padding:12px 14px;display:grid}.upcoming-info-example>b{color:#8c661e}.upcoming-info-example>strong{color:#806123;font-size:11px}@media (width<=560px){.upcoming-header{border-radius:19px 19px 0 0}.upcoming-info-tooltip{gap:10px;padding:15px;font-size:11px}.upcoming-info-heading{font-size:13px}.upcoming-info-example{padding:10px}}.upcoming-header p{color:#6a7284;flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:11px;display:flex}.upcoming-header p>span{color:#7c6b96;background:#fff9;border:1px solid #ded8ec;border-radius:7px;padding:3px 8px;font-size:9px}.upcoming-header-actions{flex-shrink:0;justify-items:end;gap:8px;display:grid}.upcoming-header-actions small{color:#7e7d8d;font-size:9px}.upcoming-header-actions button{color:#6d5197;background:#fff;border:1px solid #d9d2e7;border-radius:11px;align-items:center;gap:7px;padding:9px 13px;font-size:11px;font-weight:800;display:flex;box-shadow:0 3px 9px #6952ac08}.upcoming-panel button:disabled{opacity:.6;cursor:wait}.upcoming-panel button:focus-visible,.upcoming-panel select:focus-visible,.upcoming-heatmap summary:focus-visible{outline-offset:3px;outline:3px solid #b4a0dd}.upcoming-body{min-width:0;padding:23px 25px 20px}.upcoming-summary-label{color:#7b8391;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;font-size:10px;display:flex}.upcoming-summary-label>strong{white-space:nowrap;align-items:center;gap:9px;font-weight:500;display:flex}.upcoming-summary-label b{color:#7251a7;direction:ltr;background:#f7f1ff;border:1px solid #e3d8f5;border-radius:8px;padding:4px 9px;font-size:15px;font-weight:800;line-height:1.5}.upcoming-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.upcoming-metric{--accent:var(--up-violet);--tint:#f2ebfc;background:linear-gradient(150deg,#fbf9ff,#f1ecfa);border:1px solid #e3d9f1;border-radius:17px;padding:17px;position:relative;overflow:hidden}.upcoming-metric:after{content:"";border:16px solid var(--accent);opacity:.045;pointer-events:none;border-radius:50%;width:88px;height:88px;position:absolute;bottom:-29px;left:-16px}.upcoming-metric.blue{--accent:var(--up-blue);--tint:#e1eefb;background:linear-gradient(150deg,#f8fbff,#eaf2fc);border-color:#d5e4f4}.upcoming-metric.amber{--accent:var(--up-amber);--tint:#faedcd;background:linear-gradient(150deg,#fffdf8,#fcf3df);border-color:#ecdfbc}.upcoming-metric.teal{--accent:var(--up-teal);--tint:#d9f0e8;background:linear-gradient(150deg,#f5fcf9,#e7f5ee);border-color:#cfe7dc}.upcoming-metric>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.upcoming-metric>div>span{color:var(--accent);font-size:11px;font-weight:800}.upcoming-metric i{background:var(--tint);width:33px;height:33px;color:var(--accent);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.upcoming-metric>strong{color:var(--accent);align-items:baseline;gap:7px;margin:10px 0 3px;font-size:33px;line-height:1.3;display:flex}.upcoming-metric>strong small{font-size:10px;font-weight:500}.upcoming-metric p{color:#697586;margin:0;font-size:10px;line-height:1.8;position:relative}.upcoming-controls{background:#f8f9fc;border:1px solid #e9ebf1;border-radius:15px;flex-wrap:wrap;align-items:end;gap:11px;margin:24px 0 21px;padding:15px;display:flex}.upcoming-filter-label{color:#686780;align-self:center;align-items:center;gap:7px;margin-left:auto;font-size:11px;font-weight:800;display:flex}.upcoming-controls label{flex:1;gap:6px;min-width:155px;max-width:225px;display:grid}.upcoming-controls label>span{color:#7c8290;font-size:9px;font-weight:700}.upcoming-controls select{color:#454b60;background:#fff;border:1px solid #dfe2eb;border-radius:9px;width:100%;min-height:37px;padding:8px 10px;font-size:10px}.upcoming-clear{color:#766685;background:0 0;border:0;align-items:center;gap:4px;padding:10px 0;font-size:9px;display:flex}.upcoming-results-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.upcoming-results-heading h4{color:#41485a;align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.upcoming-results-heading h4>span{color:#8668a9;background:#f0edf8;border-radius:7px;place-items:center;min-width:23px;min-height:23px;padding:2px 5px;font-size:10px;display:inline-grid}.upcoming-legend{color:#76808d;flex-wrap:wrap;gap:11px;font-size:9px;display:flex}.upcoming-legend>span{align-items:center;gap:5px;display:flex}.upcoming-legend>span:before{content:"";background:var(--up-blue);border-radius:50%;width:7px;height:7px}.upcoming-legend>.amber:before{background:#e6b148}.upcoming-legend>.teal:before{background:#58b5a0}.upcoming-table-scroll{scrollbar-width:thin;border:1px solid #e7e8ef;border-radius:14px;max-height:560px;overflow:auto}.upcoming-table{border-collapse:collapse;text-align:right;width:100%;min-width:870px;font-size:11px}.upcoming-table thead th{z-index:1;color:#717a8b;white-space:nowrap;background:#f6f7fa;border-bottom:1px solid #e7e8ef;padding:12px 13px;font-size:10px;font-weight:700;position:sticky;top:0}.upcoming-table th small{color:#9b9faf;margin-top:3px;font-size:8px;font-weight:500;display:block}.upcoming-table td,.upcoming-table tbody th{border-bottom:1px solid #eef0f5;padding:14px 13px}.upcoming-table tbody tr:last-child>*{border-bottom:0}.upcoming-table tbody tr:nth-child(2n){background:#fcfcfe}.upcoming-table tbody tr:hover{background:#f9f7ff}.upcoming-table td>strong{color:#48556b;font-size:15px;font-weight:800}.upcoming-table td>small{color:#9a9fae;margin-top:4px;font-size:8px;display:block}.upcoming-subject{--accent:var(--up-violet);--tint:#f0eafa;align-items:center;gap:10px;min-width:145px;max-width:235px;display:flex}.upcoming-subject.blue{--accent:var(--up-blue);--tint:#e7f0fa}.upcoming-subject.teal{--accent:var(--up-teal);--tint:#e3f3ed}.upcoming-subject.rose{--accent:var(--up-rose);--tint:#f9eaf0}.upcoming-subject.amber{--accent:var(--up-amber);--tint:#fbf0d9}.upcoming-subject>span{background:var(--tint);width:34px;height:36px;color:var(--accent);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.upcoming-subject>div{gap:5px;min-width:0;display:grid}.upcoming-subject strong{color:#444b62;overflow-wrap:anywhere;font-size:11px;font-weight:800;line-height:1.7}.upcoming-subject small{background:var(--tint);color:var(--accent);border-radius:5px;justify-self:start;padding:2px 6px;font-size:8px;font-weight:500;margin:0!important}.upcoming-table .upcoming-count{border-radius:8px;place-items:center;min-width:31px;min-height:28px;padding:3px 7px;font-size:13px;display:inline-grid}.upcoming-table .upcoming-count.blue{color:var(--up-blue);background:#edf3fc}.upcoming-table .upcoming-count.amber{color:var(--up-amber);background:#fff4d8}.upcoming-table .upcoming-count.teal{color:var(--up-teal);background:#e9f7f1}.upcoming-teachers{color:#828b9b;align-items:center;gap:6px;font-size:12px;display:flex}.upcoming-booking-bar{gap:7px;min-width:145px;max-width:220px;display:grid}.upcoming-booking-bar>div{justify-content:space-between;align-items:center;gap:9px;display:flex}.upcoming-booking-bar strong{color:#5d567c;direction:ltr;font-size:13px}.upcoming-booking-bar small{color:#9395a6;font-size:8px}.upcoming-slots{background:#eef0f5;border-radius:999px;width:100%;height:7px;display:flex;overflow:hidden}.upcoming-slots i{flex-shrink:0;height:100%;display:block}.upcoming-slots .blue{background:#5e98d3}.upcoming-slots .amber{background:#e6b148}.upcoming-slots .teal{background:#64baa8}.upcoming-heatmap{border:1px solid #e7e8ef;border-radius:15px;margin-top:21px;overflow:hidden}.upcoming-heatmap summary{cursor:pointer;color:#76748e;background:#f9faff;justify-content:space-between;align-items:center;gap:12px;padding:15px 16px;list-style:none;display:flex}.upcoming-heatmap summary::-webkit-details-marker{display:none}.upcoming-heatmap summary>span{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.upcoming-heatmap summary strong{color:#555c76;font-size:11px}.upcoming-heatmap summary small{color:#9297a8;margin-right:8px;font-size:9px}.upcoming-heatmap[open] summary>svg{transform:rotate(180deg)}.upcoming-heatmap-scroll{scrollbar-width:thin;max-height:370px;padding:8px 10px 12px;overflow:auto}.upcoming-heatmap table{border-collapse:separate;border-spacing:5px;text-align:right;width:100%;min-width:860px}.upcoming-heatmap thead th{z-index:1;text-align:center;color:#818c9c;background:#fff;padding:8px 3px;font-size:9px;position:sticky;top:-8px}.upcoming-heatmap thead th:first-child{text-align:right;min-width:185px}.upcoming-heatmap thead strong,.upcoming-heatmap thead small{display:block}.upcoming-heatmap thead small{color:#9ca4b1;margin-top:3px;font-size:8px;font-weight:500}.upcoming-heatmap td{min-width:72px;padding:0}.upcoming-heatmap tbody th{padding:2px 0;font-weight:500}.upcoming-heatmap .upcoming-subject>span{border-radius:8px;width:27px;height:29px}.upcoming-heatmap .upcoming-subject strong{font-size:9px}.upcoming-heatmap .upcoming-subject small{font-size:7px}.upcoming-heat-cell{background:color-mix(in srgb,#608bc9 calc(var(--heat)*64%),#eef5fa);border:1px solid color-mix(in srgb,#6c87b0 calc(var(--heat)*50%),#e2ebf1);color:#203854;border-radius:9px;align-content:center;justify-items:center;gap:5px;min-height:55px;padding:7px 3px;display:grid}.upcoming-heat-cell strong{direction:ltr;font-size:12px}.upcoming-heat-cell small{white-space:nowrap;color:#25435f;font-size:8px}.upcoming-heat-cell.no-capacity{color:#b0b5c0;background:#f5f6f8;border-color:#eceef2}.upcoming-heat-cell.no-capacity small{color:#a4abba}.upcoming-note{color:#7a7e90;border-top:1px solid #eeedf4;gap:6px;margin-top:18px;padding:15px 0 0;font-size:10px;line-height:1.9;display:grid}.upcoming-error{color:#9e593c;overflow-wrap:anywhere;background:#fff3ed;border:1px solid #f3d9c8;border-radius:10px;justify-content:space-between;align-items:center;gap:15px;margin:18px 25px 0;padding:12px 16px;font-size:10px;display:flex}.upcoming-error button,.upcoming-empty button{color:#75549c;background:#fff;border:1px solid #d8cbeb;border-radius:8px;flex-shrink:0;padding:7px 10px;font-size:10px}.upcoming-empty{text-align:center;color:#9a8aaf;background:#fbf9fe;border:1px dashed #ded6e9;border-radius:14px;justify-items:center;gap:9px;padding:38px 15px;display:grid}.upcoming-empty strong{color:#786a8f;font-size:12px}.upcoming-empty span{color:#9594a2;font-size:10px}.upcoming-skeleton{gap:12px;padding:24px 25px;display:grid}.upcoming-skeleton>div{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px;display:grid}.upcoming-skeleton span{background:linear-gradient(90deg,#f1edf7,#f9f7fb,#f1edf7) 0 0/200% 100%;border-radius:13px;height:54px;animation:1.3s infinite stats-shimmer;display:block}.upcoming-skeleton>div>span{height:125px}.upcoming-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=1100px){.upcoming-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.upcoming-filter-label{width:100%}.upcoming-controls label{max-width:none}}@media (width<=720px){.upcoming-header{flex-direction:column;align-items:flex-start;gap:14px;padding:20px}.upcoming-header h3{font-size:21px}.upcoming-header-actions{justify-content:space-between;align-items:center;width:100%;display:flex}.upcoming-header-actions small{order:2}.upcoming-body{padding:18px 16px}.upcoming-controls{gap:12px;padding:12px}.upcoming-controls label{min-width:calc(50% - 12px)}.upcoming-controls label:last-of-type{max-width:none}.upcoming-results-heading{flex-wrap:wrap;align-items:flex-start}.upcoming-heatmap summary small{width:100%;margin-right:25px}.upcoming-summary-label{align-items:flex-start;font-size:9px}.upcoming-summary-label b{font-size:13px}.upcoming-error{flex-wrap:wrap;align-items:flex-start;margin-inline:16px}.upcoming-skeleton>div{grid-template-columns:repeat(2,1fr)}.upcoming-note{font-size:9px}}@media (width<=560px){.upcoming-panel{border-radius:20px}.upcoming-title-icon{border-radius:13px;width:43px;height:43px}.upcoming-title-group{gap:10px}.upcoming-header{padding:19px 16px}.upcoming-header h3{font-size:19px}.upcoming-header p{font-size:9px}.upcoming-metrics{gap:9px}.upcoming-metric{border-radius:13px;padding:13px 11px}.upcoming-metric>div>span{font-size:9px}.upcoming-metric i{width:27px;height:27px}.upcoming-metric i svg{width:16px}.upcoming-metric>strong{margin-top:9px;font-size:27px}.upcoming-metric p{font-size:8px}.upcoming-summary-label>span{max-width:45%;line-height:1.8}.upcoming-summary-label>strong{gap:6px;font-size:9px}.upcoming-table-scroll{border:0;border-radius:0;max-height:none;overflow:visible}.upcoming-table{min-width:0;display:block}.upcoming-table thead{display:none}.upcoming-table tbody{gap:12px;display:grid}.upcoming-table tr{border:1px solid #e6e7ef;border-radius:13px;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 13px 13px;display:grid;overflow:hidden;background:#fff!important}.upcoming-table tbody th{grid-column:1/-1;margin-bottom:3px;padding:14px 0;border-bottom:1px solid #eeedf5!important}.upcoming-table td{border:0;min-width:0;padding:10px 0 5px}.upcoming-table td:before{content:attr(data-label);color:#979cac;margin-bottom:7px;font-size:9px;display:block}.upcoming-table td:last-child{border-top:1px solid #eeedf5;grid-column:1/-1;margin-top:7px;padding-top:12px}.upcoming-table td:last-child:before{display:none}.upcoming-booking-bar{gap:9px;max-width:none}.upcoming-booking-bar small{font-size:9px}.upcoming-subject{max-width:none}.upcoming-subject strong{font-size:12px}.upcoming-subject small{font-size:9px}.upcoming-teachers{min-height:28px}.upcoming-slots{height:9px}}@media (prefers-reduced-motion:reduce){.upcoming-skeleton span,.upcoming-header-actions .spin{animation:none}}.event-history{gap:20px;display:grid}.event-hero{background:radial-gradient(at 10% 0,#e4efeb,#0000 60%),linear-gradient(120deg,#fff,#f3f8f6);border:1px solid #dbe8e7;border-radius:24px;align-items:center;gap:20px;padding:30px;display:flex;box-shadow:0 8px 30px #173b4e08}.event-hero-mark{color:#23746b;background:#dceee7;border:1px solid #c7e3d8;border-radius:21px;flex-shrink:0;place-items:center;width:65px;height:65px;display:grid}.event-eyebrow{color:#43867b;font-size:11px;font-weight:700}.event-hero h2{margin:5px 0 8px;font-size:25px}.event-hero p{color:var(--muted);margin:0;font-size:12px}.event-hero-status{white-space:nowrap;gap:8px;margin-inline-start:auto;display:grid}.event-hero-status>span{align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.event-hero-status i{background:#4c9981;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #4c998117}.event-hero-status small{color:var(--muted);font-size:10px}.event-controls{border:1px solid var(--line);background:#fff;border-radius:20px;padding:18px}.event-category-tabs{border-bottom:1px solid #edf1ef;gap:5px;padding-bottom:16px;display:flex;overflow:auto}.event-category-tabs button{white-space:nowrap;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:9px 13px;font-size:11px;font-weight:700;display:inline-flex}.event-category-tabs button:hover{background:#f4f7f6}.event-category-tabs .selected{color:#256c5e;background:#e9f3ef;border-color:#cde5da}.event-filter-grid{grid-template-columns:minmax(220px,1.6fr) minmax(160px,1fr) minmax(140px,.8fr) auto;align-items:end;gap:14px;padding-top:16px;display:grid}.event-controls label{color:#5f757e;gap:7px;font-size:10px;font-weight:700;display:grid}.event-controls label>span{align-items:center;gap:6px;display:flex}.event-controls input,.event-controls select{border:1px solid var(--line);width:100%;min-width:0;height:43px;color:var(--navy);background:#fbfcfb;border-radius:11px;padding:9px 11px;font-size:11px}.event-search{border:1px solid var(--line);color:#91a29f;background:#fbfcfb;border-radius:11px;align-items:center;gap:8px;padding-inline:12px;display:flex}.event-search input{background:0 0;border:0;outline:none;padding-inline:0}.event-search button{color:var(--muted);background:0 0;border:0;place-items:center;padding:3px;display:grid}.event-filter-buttons{gap:7px;height:43px;display:flex}.event-filter-buttons>button,.event-reset{border:1px solid var(--line);min-width:43px;color:var(--navy);white-space:nowrap;background:#f5f8f6;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:10px;display:inline-flex}.event-custom-dates{gap:12px;max-width:420px;padding-top:14px;display:flex}.event-custom-dates label{flex:1}.event-history button:focus-visible,.event-controls input:focus-visible,.event-controls select:focus-visible,.event-search:focus-within{outline-offset:3px;outline:3px solid #9bbfae}.event-list-top{justify-content:space-between;align-items:center;padding-inline:5px;display:flex}.event-list-top>span{align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.event-list-top small{color:var(--muted);font-size:10px}.event-feed{border:1px solid var(--line);background:#fff;border-radius:20px;overflow:hidden}.event-column-head,.event-row{grid-template-columns:145px minmax(150px,1fr) minmax(230px,1.4fr) minmax(170px,1.1fr);align-items:center;gap:18px;display:grid}.event-column-head{color:var(--muted);border-bottom:1px solid var(--line);background:#f8faf9;padding:14px 24px;font-size:10px;font-weight:700}.event-entry{content-visibility:auto;contain-intrinsic-size:auto 108px}.event-day{color:#789087;background:#fff;align-items:center;gap:8px;padding:16px 24px 9px;font-size:10px;font-weight:700;display:flex}.event-day span{background:#edf1ef;flex:1;height:1px;margin-inline-start:10px}.event-row{border-bottom:1px solid #eef2f0;padding:20px 24px;transition:background .15s}.event-row:hover{background:#fbfdfc}.event-time{gap:5px;display:grid}.event-time strong{font-variant-numeric:tabular-nums;text-align:right;direction:ltr;font-size:15px}.event-time small{color:#899a9b;font-size:9px;line-height:1.9}.event-person{align-items:center;gap:9px;min-width:0;display:flex}.event-avatar{color:#52748e;background:#edf1f5;border-radius:13px;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:11px;font-weight:800;display:grid}.event-avatar.role-admin{color:#947640;background:#f4eddc}.event-avatar.role-teacher{color:#7c5aa7;background:#ede8f7}.event-avatar.role-parent{color:#51805e;background:#e9f2ea}.event-avatar.role-system{color:#778780;background:#eef0ef}.event-person>div{gap:4px;min-width:0;display:grid}.event-person strong{overflow-wrap:anywhere;font-size:11px}.event-person small{color:var(--muted);font-size:9px}.event-related{flex-wrap:wrap;gap:12px;display:flex}.event-person.compact .event-avatar{border-radius:10px;width:29px;height:29px;font-size:9px}.event-person.compact{gap:6px}.event-person.compact strong{font-size:10px}.event-person.compact small{font-size:8px}.event-no-participants{color:#b6c0c2}.event-action-cell{justify-items:start;gap:8px;min-width:0;display:grid}.event-action-badge{background:var(--event-bg);color:var(--event-color);border:1px solid var(--event-border);text-align:right;border-radius:10px;align-items:center;gap:7px;padding:7px 10px;font-size:10px;font-weight:700;display:inline-flex}.event-tone-blue{--event-bg:#eaf2fd;--event-color:#326bb0;--event-border:#d5e5fb}.event-tone-green{--event-bg:#e7f5ed;--event-color:#2e8257;--event-border:#cfebdb}.event-tone-teal{--event-bg:#e4f4f1;--event-color:#267f74;--event-border:#cce8e1}.event-tone-red{--event-bg:#fcece9;--event-color:#b65548;--event-border:#f3d9d2}.event-tone-amber{--event-bg:#fff4dc;--event-color:#98711d;--event-border:#f1e3ba}.event-tone-purple{--event-bg:#f1eafa;--event-color:#825cac;--event-border:#e2d6f3}.event-tone-indigo{--event-bg:#edf0fc;--event-color:#636eb0;--event-border:#dde1f8}.event-tone-slate{--event-bg:#eff2f3;--event-color:#657d89;--event-border:#dee6e9}.event-summary{color:#7c8d92;overflow-wrap:anywhere;max-width:100%;font-size:9px;line-height:1.9}.event-detail{border-bottom:1px solid var(--line);background:#f8faf9;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:20px 24px;display:grid}.event-detail>div{gap:7px;min-width:0;font-size:11px;display:grid}.event-detail span{color:var(--muted);font-size:10px}.event-detail code{overflow-wrap:anywhere;justify-self:start;font-size:11px}.event-loading,.event-end{color:var(--muted);justify-content:center;align-items:center;gap:9px;padding:24px;font-size:11px;display:flex}.event-end{color:#82a091}.event-empty{text-align:center;justify-items:center;gap:9px;padding:60px 22px;display:grid}.event-empty>div{color:#739487;background:#eff5f1;border-radius:24px;place-items:center;width:78px;height:78px;margin-bottom:9px;display:grid}.event-empty h3{margin:0;font-size:15px}.event-empty p{color:var(--muted);max-width:450px;margin:0;font-size:11px;line-height:2}.event-empty button,.event-load-more,.event-error button{border:1px solid var(--line);color:#347562;background:#edf5f1;border-radius:10px;margin-top:8px;padding:9px 13px;font-size:11px}.event-load-more{align-items:center;gap:7px;margin:15px auto;display:flex}.event-error{color:#a35c50;background:#fff6f3;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:20px;font-size:11px;display:flex}.event-error button{color:inherit;background:#fff;margin:0}.event-sentinel{height:1px}.event-footnote{color:#91a29d;text-align:center;justify-content:center;align-items:center;gap:7px;margin:0;font-size:10px;line-height:1.9;display:flex}@media (width<=1150px){.event-hero-status{display:none}.event-column-head,.event-row{grid-template-columns:110px minmax(130px,1fr) minmax(180px,1.3fr) minmax(140px,1fr);gap:12px}.event-filter-grid{grid-template-columns:1fr 1fr}.event-filter-buttons{justify-content:flex-end}.event-row{padding:18px}.event-column-head{padding-inline:18px}.event-related{gap:8px;display:grid}}@media (width<=760px){.event-hero{gap:14px;padding:23px}.event-hero-mark{border-radius:16px;width:48px;height:48px}.event-hero h2{font-size:21px}.event-hero p{font-size:10px;line-height:2}.event-controls{padding:14px}.event-column-head{display:none}.event-row{grid-template-columns:85px minmax(0,1fr);align-items:start;gap:14px;padding:18px}.event-time{grid-row:1/3}.event-row>.event-person,.event-action-cell{grid-column:2}.event-related{grid-column:2;display:flex}.event-day{padding-inline:18px}.event-detail{grid-template-columns:1fr;padding:18px}.event-footnote{align-items:flex-start}.event-time small{font-size:8px}}@media (width<=450px){.event-filter-grid{grid-template-columns:1fr}.event-filter-buttons{justify-content:flex-start}.event-hero{padding:20px 16px}.event-hero-mark{display:none}}.event-history>*{min-width:0}.event-controls,.event-feed{max-width:100%}.event-category-tabs{min-width:0}.lesson-create-overlay{z-index:110;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0b2035b8;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.lesson-create-dialog{color:#18354c;background:#f6f8fc;border-radius:26px;outline:none;width:min(1160px,98vw);max-height:94vh;overflow:auto;box-shadow:0 28px 90px #06172270}.lesson-create-header{color:#fff;background:linear-gradient(110deg,#153954,#25546a);align-items:center;gap:16px;padding:26px 30px;display:flex}.lesson-create-mark{background:#ffffff20;border:1px solid #ffffff35;border-radius:19px;flex-shrink:0;place-items:center;width:60px;height:60px;display:grid}.lesson-create-header h2{margin:3px 0;font-size:25px}.lesson-create-header p,.lesson-create-header span{color:#d8e9f0;margin:0;font-size:12px}.lesson-create-header>button{color:#fff;background:#ffffff1c;border:0;border-radius:12px;place-items:center;width:38px;height:38px;margin-inline-start:auto;display:grid}.lesson-create-fields{border:0;grid-template-columns:minmax(0,1.65fr) minmax(285px,1fr);gap:20px;min-width:0;margin:0;padding:24px;display:grid}.lesson-create-main{align-content:start;gap:18px;min-width:0;display:grid}.lesson-create-section,.lesson-create-review{background:#fff;border:1px solid #dce5ef;border-radius:19px;min-width:0;padding:20px}.lesson-create-section.people{border-top:4px solid #5883cf}.lesson-create-section.schedule{border-top:4px solid #27a2a0}.lesson-create-section h3,.lesson-create-review h3{align-items:center;gap:9px;margin:0 0 18px;font-size:15px;display:flex}.lesson-create-section h3>span{color:#3e63ad;background:#e9f0ff;border-radius:9px;place-items:center;width:27px;height:27px;font-size:13px;display:grid}.schedule h3>span{color:#168380;background:#e0f6f1}.lesson-create-people{grid-template-columns:1fr 1fr;gap:15px;display:grid}.lesson-create-dialog label{gap:8px;font-size:12px;font-weight:700;display:grid}.lesson-create-people>div>label{align-items:center;gap:7px;min-height:33px;margin-bottom:11px;display:flex}.lesson-create-dialog input:not([type=checkbox]),.lesson-create-dialog select,.lesson-create-dialog textarea{width:100%;font:inherit;color:#18354c;background:#f9fbfd;border:1px solid #d7e0eb;border-radius:10px;min-width:0;padding:11px}.lesson-create-dialog input[type=date],.lesson-create-dialog input[type=number]{font-variant-numeric:tabular-nums;direction:ltr}.lesson-create-dialog textarea{resize:vertical;line-height:1.8}.lesson-create-dialog input[type=checkbox]{accent-color:#6750ab;flex-shrink:0;width:17px;height:17px;margin:3px 0 0}.lesson-create-dialog :focus-visible,.email-history-page :focus-visible{outline-offset:3px;outline:3px solid #4e91d9}.lesson-create-dialog button{cursor:pointer;font:inherit}.lesson-create-dialog button:disabled{cursor:not-allowed;opacity:.48}.lesson-person-search .search{background:#f9fbfd;border:1px solid #d7e0eb;width:100%;min-width:0;padding:0 9px}.lesson-person-search .search input{background:0 0;border:0;padding:10px 3px;font-size:11px}.lesson-person-results{gap:5px;max-height:198px;margin-top:9px;display:grid;overflow:auto}.lesson-person-results>button{text-align:right;color:#18354c;background:#f6f8fc;border:1px solid #0000;border-radius:11px;align-items:center;gap:8px;width:100%;padding:9px 7px;display:flex}.lesson-person-results>button:hover{background:#edf3ff;border-color:#9ab6e5}.lesson-person-results strong,.lesson-person-selected strong{font-size:12px}.lesson-person-results small,.lesson-person-selected small{color:#6d7f91;overflow-wrap:anywhere;font-size:9px;display:block}.lesson-person-results>button>span:nth-child(2){min-width:0}.lesson-person-avatar{color:#456db0;background:#e5edff;border-radius:10px;flex-shrink:0;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.lesson-person-pick{color:#4a70b2;margin-inline-start:auto;font-size:9px}.lesson-person-selected{background:#eff6fc;border:1px solid #a9c5df;border-radius:12px;align-items:center;gap:9px;min-width:0;padding:13px 10px;display:flex}.lesson-person-selected>div{min-width:0}.lesson-person-selected button{color:#607792;background:#fff;border:0;border-radius:7px;margin-inline-start:auto;padding:5px;display:flex}.lesson-learner-switch{background:#edf1f8;border-radius:10px;gap:4px;margin-bottom:11px;padding:4px;display:flex}.lesson-learner-switch button{color:#6a7d93;background:0 0;border:0;border-radius:7px;flex:1;padding:7px;font-size:10px;font-weight:700}.lesson-learner-switch button.active{color:#385f9b;background:#fff;box-shadow:0 2px 5px #102a4c0f}.lesson-child-select{margin-top:16px}.lesson-create-controls{grid-template-columns:1fr 1fr;gap:15px;display:grid}.lesson-date-preview{color:#16756e;background:#ebf7f5;border:1px solid #c7e7df;border-radius:12px;align-items:center;gap:10px;margin:17px 0;padding:13px;display:flex}.lesson-date-preview strong{font-variant-numeric:tabular-nums;font-size:17px}.lesson-date-preview span{font-size:12px}.lesson-date-preview small{margin-inline-start:auto;font-size:10px}.lesson-slot-legend{color:#6a7d93;flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:9px;display:flex}.lesson-slot-legend>span:before{content:"";background:#d7dee9;border-radius:3px;width:8px;height:8px;margin-inline-end:5px;display:inline-block}.lesson-slot-legend>.free:before{background:#30aa8c}.lesson-slot-legend>.outside:before{background:#d1a245}.lesson-slot-grid{direction:ltr;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;display:grid}.lesson-slot-grid button{color:#237459;background:#f0faf5;border:1px solid #c8e6db;border-radius:10px;place-items:center;gap:3px;padding:10px 3px;display:grid}.lesson-slot-grid button.outside{color:#96721f;background:#fffaf0;border-color:#eedcb2}.lesson-slot-grid button.selected{color:#fff;background:#236c65;border-color:#236c65;box-shadow:0 0 0 3px #73c1af55}.lesson-slot-grid button:disabled{color:#8893a3;opacity:1;background:#f0f2f6;border-color:#e5e8ee}.lesson-slot-grid strong{font-variant-numeric:tabular-nums;font-size:14px}.lesson-slot-grid small{opacity:.75;font-size:9px}.lesson-create-hint{color:#7a8898;text-align:center;background:#f5f7fa;border-radius:11px;padding:18px;font-size:12px}.lesson-create-dialog .lesson-outside-warning{color:#8c6522;background:#fff7e7;border:1px solid #eed5a0;border-radius:12px;align-items:flex-start;gap:10px;margin-top:15px;padding:13px;line-height:1.8;display:flex}.lesson-outside-warning strong{font-size:11px;display:block}.lesson-outside-warning span{font-size:10px}.lesson-create-review{background:linear-gradient(160deg,#fff,#f8f6ff);border-top:4px solid #8c68bf;align-self:start;gap:14px;display:grid}.lesson-create-review h3{color:#60488e;margin:0}.lesson-review-facts{gap:0;display:grid}.lesson-review-facts>span{color:#7b7890;border-bottom:1px solid #e6e4ef;justify-content:space-between;align-items:center;gap:16px;padding:9px 0;font-size:11px;display:flex}.lesson-review-facts strong{color:#273d54;text-align:left;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-size:12px;display:flex}.lesson-review-facts>span:first-child strong{color:#218365}.lesson-credit-review{color:#718092;background:#f2f4f8;border:1px solid #dbe0e9;border-radius:12px;align-items:flex-start;gap:10px;padding:13px;display:flex}.lesson-credit-review.covered{color:#237455;background:#e9f7ef;border-color:#bddfcd}.lesson-credit-review.insufficient{color:#946c29;background:#fff6e8;border-color:#efdcba}.lesson-credit-review strong{font-size:12px}.lesson-credit-review p{margin:5px 0 0;font-size:10px;font-weight:500;line-height:1.8}.lesson-create-dialog .lesson-gift-choice,.lesson-create-dialog .lesson-email-choice{color:#6c4998;background:#f7f3fc;border:1px solid #dbd4eb;border-radius:12px;align-items:flex-start;gap:10px;padding:13px;display:flex}.lesson-create-dialog .lesson-email-choice{color:#227689;background:#eff8fa;border-color:#c9e3e9}.lesson-gift-choice.selected{background:#f0e7fa!important;border-color:#9270bc!important}.lesson-gift-choice span,.lesson-email-choice span{gap:5px;display:grid}.lesson-gift-choice strong,.lesson-email-choice strong{font-size:11px;line-height:1.7}.lesson-gift-choice small,.lesson-email-choice small{font-size:10px;font-weight:500;line-height:1.8}.lesson-gift-reason{color:#6c4998}.lesson-gift-summary{color:#64468d;background:#ebe1f9;border-radius:9px;align-items:center;gap:8px;padding:10px;font-size:11px;font-weight:800;display:flex}.lesson-create-footer{background:#fff;border-top:1px solid #e0e5ee;align-items:center;gap:10px;padding:18px 25px;display:flex;position:sticky;bottom:0}.lesson-create-footer>span{color:#7b8798;align-items:center;gap:7px;margin-inline-end:auto;font-size:10px;display:flex}.lesson-create-footer button{color:#526b81;background:#fff;border:1px solid #d7dfe9;border-radius:11px;align-items:center;gap:8px;padding:12px 16px;font-size:12px;font-weight:700;display:flex}.lesson-create-footer .primary{color:#fff;background:#244e63;border-color:#244e63}.lesson-create-error{color:#9e3b2f;background:#ffebe8;border:1px solid #e8bcb5;border-radius:11px;align-items:center;gap:8px;margin:0 24px 17px;padding:14px;font-size:12px;display:flex}.payment-badge.gift{color:#754e9e;background:#eee5fa}.lesson-gift-detail{background:#fbf8ff;border-color:#d9caeb}.lesson-gift-detail p{color:#785596;font-size:12px}.email-history-page{gap:18px;display:grid}.email-history-hero{color:#fff;background:linear-gradient(115deg,#233e63,#655386);border-radius:23px;align-items:center;gap:19px;padding:27px;display:flex}.email-history-icon{background:#ffffff1c;border:1px solid #ffffff25;border-radius:20px;flex-shrink:0;place-items:center;width:62px;height:62px;display:grid}.email-history-hero h2{margin:5px 0;font-size:25px}.email-history-hero p,.email-history-hero span{color:#e2e2f0;margin:0;font-size:12px}.email-history-total{text-align:center;border:1px solid #ffffff25;border-radius:13px;gap:5px;min-width:110px;margin-inline-start:auto;padding:12px 23px;display:grid}.email-history-total strong{font-variant-numeric:tabular-nums;font-size:30px}.email-history-filters{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.email-history-filters label{color:#5f7186;flex:1;gap:7px;min-width:135px;font-size:11px;font-weight:700;display:grid}.email-history-filters label svg{display:none}.email-history-filters input,.email-history-filters select{width:100%;min-width:0;font:inherit;color:#244058;background:#f8fafc;border:1px solid #dbe3ed;border-radius:10px;padding:11px}.email-history-filters input[type=date]{font-variant-numeric:tabular-nums;direction:ltr}.email-history-filters .email-history-search{flex:1.4;min-width:195px}.email-history-search .search{background:#f8fafc;border:1px solid #dbe3ed;width:100%;min-width:0;padding:0 10px}.email-history-search input{background:0 0;border:0}.email-history-filters>button{color:#576d8b;background:#edf1f8;border:0;border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.email-history-note{color:#748399;margin:0;font-size:11px;line-height:1.9}.email-history-list{gap:11px;display:grid}.email-history-row{border:1px solid #dfe5ef;border-inline-start:4px solid var(--email-color);background:#fff;border-radius:15px;grid-template-columns:45px minmax(0,1fr) 110px 170px;align-items:center;gap:17px;padding:20px;display:grid}.email-history-row-icon{background:var(--email-bg);width:42px;height:42px;color:var(--email-color);border-radius:12px;place-items:center;display:grid}.email-history-message{gap:6px;min-width:0;display:grid}.email-history-message h3{overflow-wrap:anywhere;margin:0;font-size:13px}.email-history-recipient{color:#5d738b;text-align:right;overflow-wrap:anywhere;font-size:12px}.email-history-message small{color:#94a0b0;overflow-wrap:anywhere;font-size:9px}.email-type-badge{background:var(--email-bg);width:max-content;max-width:100%;color:var(--email-color);border-radius:7px;padding:4px 8px;font-size:9px;font-weight:800}.email-history-date{text-align:center;font-variant-numeric:tabular-nums;gap:5px;font-size:12px;display:grid}.email-history-date span{color:#6c7b8f}.email-history-date small{color:#96a3b2;font-size:9px}.email-history-result{justify-items:start;gap:8px;display:grid}.email-history-result small{color:#a3756c;overflow-wrap:anywhere;font-size:9px}.email-status{border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800}.status-sent{color:#2a7750;background:#e7f6ed}.status-failed{color:#a1493d;background:#fbe7e4}.status-unknown{color:#937022;background:#fff3dd}.status-sending{color:#4c72a0;background:#e9f0fb}.type-blue{--email-color:#3d7aca;--email-bg:#eaf2fe}.type-red{--email-color:#b85353;--email-bg:#fcecec}.type-purple{--email-color:#8a60b4;--email-bg:#f1eaf9}.type-amber{--email-color:#bd8a2c;--email-bg:#fff6e3}.type-teal{--email-color:#279c97;--email-bg:#e5f7f4}.type-slate{--email-color:#75879c;--email-bg:#eef2f6}.type-indigo{--email-color:#636dc2;--email-bg:#eceffc}.type-green{--email-color:#419366;--email-bg:#e8f6ec}.type-pink{--email-color:#b16393;--email-bg:#faecf4}.email-history-empty{color:#8794a7;background:#f9fbfd;border:1px dashed #cfd9e7;border-radius:18px;justify-items:center;gap:13px;padding:65px 20px;font-size:12px;display:grid}.email-history-empty strong{color:#486079;font-size:15px}.email-history-pagination{color:#6a7d92;justify-content:center;align-items:center;gap:18px;font-size:12px;display:flex}.email-history-pagination button{color:#49657e;font:inherit;background:#fff;border:1px solid #dce4ef;border-radius:10px;align-items:center;gap:6px;padding:10px 16px;display:flex}.email-history-pagination button:disabled{opacity:.4;cursor:not-allowed}@media (width<=1050px){.lesson-create-fields{grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr);gap:14px;padding:18px}.lesson-create-people{grid-template-columns:1fr}.lesson-person-results{max-height:130px}.lesson-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.email-history-row{grid-template-columns:42px minmax(0,1fr) 100px}.email-history-result{grid-column:2/4;align-items:center;display:flex}}@media (width<=760px){.lesson-create-overlay{padding:8px}.lesson-create-dialog{border-radius:19px;max-height:97vh}.lesson-create-fields{grid-template-columns:1fr}.lesson-create-header{padding:20px}.lesson-create-header h2{font-size:20px}.lesson-create-header p{font-size:10px}.lesson-create-mark{width:45px;height:45px}.lesson-create-review{grid-column:1}.lesson-create-people{grid-template-columns:1fr 1fr}.lesson-create-footer{flex-wrap:wrap;padding:14px}.lesson-create-footer>span{width:100%;font-size:9px}.lesson-create-footer button{flex:1;justify-content:center}.lesson-date-preview{flex-wrap:wrap}.lesson-slot-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.email-history-hero{flex-wrap:wrap;padding:22px}.email-history-hero h2{font-size:21px}.email-history-total{justify-content:space-between;align-items:center;width:100%;display:flex}.email-history-total strong{font-size:24px}.email-history-row{grid-template-columns:35px minmax(0,1fr);gap:11px;padding:15px}.email-history-row-icon{width:34px;height:34px}.email-history-date{grid-column:2;align-items:center;gap:12px;display:flex}.email-history-result{grid-column:2}.email-history-filters label{min-width:120px}.email-history-filters .email-history-search{order:1;min-width:100%}}@media (width<=480px){.lesson-create-people{grid-template-columns:1fr}.lesson-create-section,.lesson-create-review{padding:15px}.lesson-create-controls{gap:10px}.lesson-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.lesson-create-mark{display:none}.lesson-create-header{gap:10px}}:root{color:#193040;font-synthesis:none;--navy:#142f43;--navy2:#1e485e;--gold:#c7aa6b;--cream:#f8f5ed;--line:#dfe6e5;--muted:#6f818a;background:#f3f5f4;font-family:Noto Kufi Arabic,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}.shell{grid-template-columns:270px 1fr;min-height:100vh;display:grid}.sidebar{background:linear-gradient(175deg,var(--navy),#0c202e);color:#fff;z-index:30;flex-direction:column;height:100vh;padding:26px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:0 10px 30px;display:flex}.brand-mark{background:linear-gradient(145deg,var(--gold),#eed9a3);width:43px;height:43px;color:var(--navy);border-radius:15px;place-items:center;display:grid;box-shadow:0 10px 30px #0003}.brand-mark.large{border-radius:20px;width:58px;height:58px;margin-bottom:20px}.brand div:last-child{display:grid}.brand strong{font-size:20px}.brand span{color:#bdd0d9;font-size:11px}.sidebar nav{gap:6px;display:grid}.sidebar nav button,.sidebar-foot button{color:#c7d5db;text-align:right;background:0 0;border:0;border-radius:13px;align-items:center;gap:12px;padding:12px 14px;display:flex}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#ffffff13}.sidebar nav button.active{box-shadow:inset -3px 0 var(--gold)}.sidebar-foot{color:#91aab5;border-top:1px solid #ffffff18;gap:6px;margin-top:auto;padding:18px 8px 0;font-size:11px;display:grid}.sidebar-foot code{text-align:right;text-overflow:ellipsis;direction:ltr;overflow:hidden}.sidebar-foot button{color:#f0c9bd;margin-top:8px;padding-inline:0}main{min-width:0}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:10;background:#f8faf9aa;align-items:center;height:112px;padding:20px 36px;display:flex;position:sticky;top:0}.topbar h1{margin:3px 0 0;font-size:27px}.eyebrow{color:#927946;letter-spacing:.08em;font-size:11px;font-weight:800;display:block}.eyebrow.light{color:#e7cd91}.admin-chip{border:1px solid var(--line);background:#fff;border-radius:30px;align-items:center;gap:7px;margin-right:auto;padding:9px 14px;font-size:12px;display:flex}.menu{background:0 0;border:0;display:none}.content{max-width:1500px;margin:auto;padding:30px 36px 60px}.hero{background:linear-gradient(125deg,var(--navy),var(--navy2));color:#fff;border-radius:28px;justify-content:space-between;align-items:center;padding:34px;display:flex;overflow:hidden;box-shadow:0 22px 55px #173b4e21}.hero h2{margin:8px 0;font-size:32px;line-height:1.5}.hero p{color:#d5e0e4;max-width:650px}.hero>svg{color:#ffffff16;transform:rotate(-10deg)}.stats{grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0;display:grid}.stats article,.panel,.table-wrap,.course,.toolbar,.notice{border:1px solid var(--line);background:#fff;border-radius:20px}.stats article{grid-template-columns:auto 1fr;align-items:center;gap:4px 13px;padding:20px;display:grid}.stat-icon{width:44px;height:44px;color:var(--navy2);background:#e9f1f2;border-radius:14px;grid-row:1/3;place-items:center;display:grid}.stats span{color:var(--muted);font-size:12px}.stats strong{font-size:25px}.panel{padding:23px}.panel-title h3{margin:0}.panel-title span{color:var(--muted);font-size:12px}.health-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px;display:grid}.health{background:#f5f7f6;border-radius:15px;gap:4px;padding:15px;display:grid}.health span{color:var(--muted);font-size:11px}.health strong{font-size:13px}.health.good{color:#24623c;background:#edf7f0}.toolbar{align-items:center;gap:10px;margin-bottom:16px;padding:12px;display:flex}.toolbar input,.toolbar select,.search{border:1px solid var(--line);background:#f8faf9;border-radius:12px;min-height:43px;padding:8px 12px}.search{align-items:center;gap:8px;min-width:min(420px,70vw);display:flex}.search input{background:0 0;border:0;outline:0;width:100%;padding:0}.toolbar .refresh{background:#eaf0f1;border:0;border-radius:13px;place-items:center;width:43px;height:43px;margin-right:auto;display:grid}.date{align-items:center;gap:10px;font-size:12px;display:flex}.table-wrap{overflow:auto}.table-wrap table{border-collapse:collapse;width:100%;min-width:780px}.table-wrap th{color:var(--muted);text-align:right;background:#f7f9f8;font-size:11px;font-weight:700}.table-wrap th,.table-wrap td{border-bottom:1px solid #edf0ef;padding:15px}.table-wrap tr:last-child td{border:0}.table-wrap td{font-size:13px}.pill{background:#e9eef0;border-radius:30px;padding:5px 9px;font-size:10px;font-weight:800;display:inline-flex}.pill.ok{color:#237041;background:#e5f5ea}.pill.warn{color:#8b6515;background:#fff3d8}.pill.bad{color:#9c3928;background:#fbe7e3}.pill.role{color:#315d87;background:#e8eff8}.text-btn{color:#236987;background:0 0;border:0;font-weight:700}.loading,.error-box,.empty{min-height:260px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.spin{animation:1s linear infinite spin}.error-box{color:#a43f2f}.error-box button{background:#fff;border:1px solid #e5c7c0;border-radius:10px;padding:7px 12px}@keyframes spin{to{transform:rotate(360deg)}}.course-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.course{overflow:hidden}.course-cover{background:linear-gradient(140deg,var(--navy2),#668d91);color:#ffffff80;background-position:50%;background-size:cover;justify-content:space-between;height:145px;padding:14px;display:flex}.course-body{padding:17px}.course-body>span{color:#947b45;font-size:11px}.course h3{margin:5px 0}.course p{color:var(--muted);height:40px;font-size:12px;overflow:hidden}.course-meta,.row{justify-content:space-between;align-items:center;gap:8px;display:flex}.course-meta{border-top:1px solid var(--line);padding-top:12px;font-size:11px}.row{justify-content:flex-start;margin-top:12px}.approve,.reject,.primary,.drawer-actions button{border:0;border-radius:10px;padding:8px 14px;font-weight:700}.approve{color:#276a3d;background:#dff3e5}.reject,.danger{color:#9c3928!important;background:#f9e4df!important}.primary{background:var(--navy);color:#fff;justify-content:center;align-items:center;gap:8px;display:flex}.primary.small{padding:9px 17px}.chips{flex-wrap:wrap;gap:10px;display:flex}.chips span{border:1px solid var(--line);background:#fff;border-radius:40px;padding:10px 16px}.notice{align-items:center;gap:12px;margin-bottom:16px;padding:15px 18px;display:flex}.notice div{display:grid}.notice span{color:var(--muted);font-size:11px}.drawer-wrap{z-index:50;position:fixed;inset:0}.scrim{z-index:20;background:#0b1f2b88;border:0;position:fixed;inset:0}.drawer{z-index:51;background:#f8faf9;width:min(520px,92vw);height:100%;padding:32px;position:absolute;top:0;left:0;overflow:auto;box-shadow:30px 0 80px #0004}.close{background:#e9eeee;border:0;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:22px;left:22px}.details{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:120px 1fr;padding:14px;display:grid}.details dt,.details dd{border-bottom:1px solid #edf0ef;margin:0;padding:9px}.details dt{color:var(--muted);font-size:11px}.details dd{font-size:12px}.profile-block{border:1px solid var(--line);background:#fff;border-radius:16px;margin-top:14px;padding:16px}.profile-block h3{margin-top:0}.profile-block div{border-top:1px solid #edf0ef;grid-template-columns:130px 1fr;gap:10px;padding:8px 0;font-size:11px;display:grid}.profile-block span{color:var(--muted)}.drawer-actions{gap:8px;margin-top:16px;display:flex}.login-page{background:var(--cream);grid-template-columns:1.15fr .85fr;min-height:100vh;display:grid}.login-art{color:#fff;background:linear-gradient(140deg,#102b3e,#25566c);align-items:end;padding:8vw;display:grid;position:relative;overflow:hidden}.login-copy{z-index:2;max-width:600px;position:relative}.login-copy h1{margin:15px 0;font-size:clamp(40px,5vw,72px);line-height:1.35}.login-copy p{color:#d3e0e4;line-height:2}.kicker{letter-spacing:.22em;color:#ddc080;font-size:11px}.orb{filter:blur(2px);border-radius:50%;position:absolute}.orb.one{background:#d0b27325;width:420px;height:420px;top:-100px;right:-80px}.orb.two{border:1px solid #ffffff28;width:320px;height:320px;bottom:80px;left:-90px}.login-card{align-self:center;gap:16px;width:min(430px,86%);margin:auto;display:grid}.login-card h2{margin:0 0 8px;font-size:28px}.login-card label{gap:7px;font-size:12px;font-weight:700;display:grid}.login-card input{background:#fff;border:1px solid #d8dfdc;border-radius:13px;outline:0;padding:13px}.login-card input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c7aa6b22}.login-card .primary{padding:13px}.login-card small{color:var(--muted);text-align:center}.login-card .error{color:#9c3928;background:#f9e4df;border-radius:10px;padding:10px;font-size:12px}@media (width<=1100px){.stats,.health-grid,.course-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=800px){.shell{grid-template-columns:1fr}.sidebar{width:270px;transition:all .25s;position:fixed;right:-285px}.sidebar.open{right:0}.menu{margin-left:12px;display:grid}.topbar{height:94px;padding:15px 18px}.admin-chip{display:none}.content{padding:20px 15px}.login-page{grid-template-columns:1fr}.login-art{display:none}.login-card{align-content:center;min-height:100vh}.hero>svg{display:none}}@media (width<=560px){.stats,.health-grid,.course-grid{grid-template-columns:1fr}.hero{padding:25px}.hero h2{font-size:25px}.topbar h1{font-size:22px}.toolbar{flex-wrap:wrap;align-items:stretch}.search{min-width:100%}}textarea{font:inherit}.stats.compact{grid-template-columns:repeat(3,1fr)}.check{align-items:center;gap:8px;font-size:12px;display:flex}.check input{min-height:auto}.form-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px;display:grid}.form-panel{gap:14px;display:grid}.form-panel label{gap:7px;font-size:12px;font-weight:700;display:grid}.form-panel input,.form-panel select,.form-panel textarea{border:1px solid var(--line);background:#f8faf9;border-radius:12px;outline:0;width:100%;padding:11px}.form-panel textarea{resize:vertical;line-height:1.8}.form-panel input:focus,.form-panel select:focus,.form-panel textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c7aa6b22}.row-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.news-list{padding:0;overflow:hidden}.news-list>.panel-title{padding:22px 22px 8px}.news-list .table-wrap{border:0}.success{color:#237041;background:#e5f5ea;border:1px solid #c9e8d2;border-radius:14px;margin-bottom:15px;padding:12px 16px}@media (width<=800px){.form-grid{grid-template-columns:1fr}}@media (width<=560px){.stats.compact,.row-fields{grid-template-columns:1fr}}.managed-course{cursor:pointer;transition:transform .18s,box-shadow .18s}.managed-course:hover{transform:translateY(-3px);box-shadow:0 16px 35px #173b4e1c}.workspace-note{color:var(--muted);font-size:12px}.course-drawer{width:min(680px,96vw)}.course-form,.inline-form{gap:12px;display:grid}.course-form label{gap:6px;font-size:12px;font-weight:700;display:grid}.course-form input,.course-form select,.course-form textarea,.inline-form input{border:1px solid var(--line);background:#fff;border-radius:11px;padding:11px}.course-headline{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.course-tabs{border-bottom:1px solid var(--line);gap:7px;margin:22px 0 16px;display:flex}.course-tabs button{color:var(--muted);background:0 0;border:0;padding:10px 13px}.course-tabs button.active{color:var(--navy);border-bottom:3px solid var(--gold)}.workspace-section{gap:13px;display:grid}.inline-form{border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px}.workspace-list,.learner-options{gap:8px;display:grid}.workspace-list>div,.learner-options>button{border:1px solid var(--line);text-align:right;background:#fff;border-radius:13px;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.workspace-list span,.learner-options span{gap:3px;display:grid}.workspace-list small,.learner-options small{color:var(--muted);font-size:10px}.learner-options button:disabled{opacity:.62}.icon-danger{color:#9c3928;background:#f9e4df;border:0;border-radius:9px;padding:7px}.error{color:#9c3928;background:#f9e4df;border-radius:10px;padding:10px;font-size:12px}.subject-admin{margin-bottom:18px}.subject-admin .panel-title{margin-bottom:16px}.assignment-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.assignment-form label,.level-prices label{gap:6px;font-size:12px;font-weight:700;display:grid}.assignment-form input,.assignment-form select,.level-prices input{border:1px solid var(--line);background:#fff;border-radius:11px;min-width:0;padding:11px}.wide{grid-column:1/-1}.level-prices{grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;display:grid}.assignment-prices{gap:8px;min-width:520px;display:grid}.assignment-prices .level-prices{grid-template-columns:repeat(4,120px)}.assignment-prices input{padding:8px}.assignment-prices .approve{justify-self:start}.error-text{color:#9c3928}.subject-create{border:1px solid var(--line);background:#fff;border-radius:20px;margin-bottom:16px;padding-bottom:14px}.subject-create .toolbar{border:0;margin-bottom:4px}.subject-level-checks{flex-wrap:wrap;gap:9px;padding:0 14px;display:flex}.subject-level-checks label{cursor:pointer}.subject-level-checks input{opacity:0;pointer-events:none;position:absolute}.subject-level-checks span,.subject-level-tags span{border:1px solid var(--line);background:#f8faf9;border-radius:999px;align-items:center;padding:7px 12px;font-size:11px;display:inline-flex}.subject-level-checks input:checked+span{color:var(--navy);background:#e4eff2;border-color:#9dbbc5;font-weight:800}.subject-list{gap:10px;display:grid}.subject-row{border:1px solid var(--line);background:#fbfcfc;border-radius:15px;gap:12px;padding:15px;display:grid}.subject-row.archived{opacity:.68;background:#f3f4f3}.subject-row-main{justify-content:space-between;align-items:center;gap:12px;display:flex}.subject-row-main>div:first-child{align-items:center;gap:9px;display:flex}.subject-row-main>input{border:1px solid var(--line);border-radius:10px;min-width:min(320px,55vw);padding:9px 11px}.subject-row-actions{gap:7px;display:flex}.subject-row-actions button{border:0;border-radius:9px;align-items:center;gap:5px;padding:7px 11px;font-weight:700;display:inline-flex}.subject-row-actions button:not(.approve):not(.danger){color:var(--navy);background:#e9eeee}.subject-row-actions button:disabled{opacity:.5;cursor:not-allowed}.subject-level-tags{flex-wrap:wrap;gap:7px;display:flex}.subject-level-tags span{background:#fff;padding:5px 9px}.subject-row .pill{align-items:center;gap:4px}.success,.error{border-radius:10px;margin:10px 0;padding:10px 12px;font-size:12px}.success{color:#237041;background:#e5f5ea}.error{color:#9c3928;background:#fbe7e3}@media (width<=600px){.subject-row-main{align-items:stretch;display:grid}.subject-row-actions{flex-wrap:wrap}.subject-row-main>input{min-width:100%}}@media (width<=800px){.assignment-form{grid-template-columns:1fr}.wide{grid-column:auto}.level-prices{grid-template-columns:repeat(2,minmax(120px,1fr))}}.schedule-builder{border:1px solid var(--line);background:#f8faf9;border-radius:14px;gap:10px;padding:14px;display:grid}.schedule-row{grid-template-columns:1.1fr 1fr .8fr 1.5fr auto;gap:8px;display:grid}.schedule-row input,.schedule-row select{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:0;padding:9px}.schedule-actions{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}@media (width<=650px){.schedule-row{grid-template-columns:1fr 1fr}.schedule-row input:last-of-type{grid-column:1/-1}}.detail-page{gap:16px;display:grid}.page-back{color:var(--navy2);background:#fff;border:0;border-radius:12px;justify-self:start;align-items:center;gap:8px;padding:10px 14px;font-weight:700;display:flex}.page-back svg{transform:rotate(180deg)}.detail-hero{background:linear-gradient(125deg,var(--navy),var(--navy2));color:#fff;border-radius:24px;justify-content:space-between;align-items:center;gap:20px;padding:27px 30px;display:flex}.detail-hero h2{margin:6px 0;font-size:28px}.detail-hero p{color:#d4e1e5;margin:0}.detail-grid,.lesson-detail-grid{grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr);align-items:start;gap:16px;display:grid}.teacher-admin{gap:16px;display:grid}.teacher-subject-panel{grid-column:1/-1}.summary-cards{grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0;display:grid}.summary-cards>div{border:1px solid var(--line);background:#f5f8f7;border-radius:14px;gap:5px;padding:15px;display:grid}.summary-cards span,.subject-card-head small,.muted-copy{color:var(--muted);font-size:11px}.summary-cards strong{font-size:20px}.teacher-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.teacher-form label{gap:7px;font-size:12px;font-weight:700;display:grid}.teacher-form input,.teacher-form textarea,.password-form input{border:1px solid var(--line);background:#f8faf9;border-radius:12px;padding:11px}.password-row,.password-form{align-items:stretch;gap:9px;display:flex}.password-row input,.password-form input{flex:1;min-width:0}.password-row button,.password-form button:not(.primary){color:var(--navy);background:#eaf0f1;border:0;border-radius:10px;padding:8px 13px}.subject-cards{gap:12px;margin-top:18px;display:grid}.subject-cards article{border:1px solid var(--line);background:#f8faf9;border-radius:16px;gap:12px;padding:16px;display:grid}.subject-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.subject-card-head>div{display:grid}.lesson-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.full-span{grid-column:1/-1}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.info-card,.attachment-card{border:1px solid var(--line);color:var(--navy);background:#f7f9f8;border-radius:15px;gap:7px;padding:16px;text-decoration:none;display:grid}.info-card span{color:var(--muted);font-size:11px}.info-card strong{font-size:13px;line-height:1.8}.attachment-card{grid-template-columns:auto 1fr;align-items:center}.attachment-card small{color:var(--muted);grid-column:2}.structured-data{gap:0;margin-top:14px;display:grid}.structured-data>div{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;padding:10px;font-size:12px;display:grid}.structured-data span{color:var(--muted)}@media (width<=900px){.detail-grid,.lesson-detail-grid{grid-template-columns:1fr}.full-span{grid-column:auto}.teacher-form{grid-template-columns:1fr}.teacher-form .wide{grid-column:auto}.report-grid{grid-template-columns:1fr}}@media (width<=560px){.detail-hero,.password-form,.password-row{flex-direction:column;align-items:stretch}.detail-hero{display:grid}.level-prices,.summary-cards{grid-template-columns:1fr}}.credential-box{border:1px solid var(--line);background:#f7f9f8;border-radius:16px;margin:22px 0;padding:18px}.lessons-toolbar-note{color:var(--muted);align-items:center;gap:7px;margin-right:auto;font-size:11px;display:flex}.lesson-actions{background:linear-gradient(135deg,#fffdf7,#f5f8f7);border-color:#eadfbe;gap:16px;display:grid}.lesson-actions-copy{align-items:center;gap:12px;display:flex}.lesson-actions-copy h3{margin:0 0 3px}.lesson-actions-copy span{color:var(--muted);font-size:11px}.action-icon,.dialog-icon{color:#80662d;background:#f3ead0;border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.lesson-action-buttons{flex-wrap:wrap;gap:9px;display:flex}.lesson-action-buttons button,.dialog-actions button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.action-overlay{z-index:100;background:#0b1f2b99;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.action-dialog{background:#f8faf9;border:1px solid #fff;border-radius:24px;width:min(560px,96vw);max-height:92vh;padding:32px;position:relative;overflow:auto;box-shadow:0 28px 90px #06172266}.action-dialog h2{margin:7px 0}.action-dialog p{color:var(--muted);font-size:12px;line-height:2}.action-dialog label{gap:7px;margin-top:14px;font-size:12px;font-weight:700;display:grid}.action-dialog input,.action-dialog textarea{border:1px solid var(--line);background:#fff;border-radius:12px;outline:0;width:100%;padding:11px}.action-dialog textarea{resize:vertical;line-height:1.8}.action-dialog input:focus,.action-dialog textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c7aa6b22}.dialog-icon.danger-icon{color:#9c3928;background:#f9e4df}.dialog-actions{justify-content:flex-start;gap:9px;margin-top:20px;display:flex}.dialog-actions button{color:var(--navy);background:#e9eeee;border:0;border-radius:10px;padding:10px 16px;font-weight:700}.dialog-actions .primary,.dialog-actions .danger{color:#fff}.action-dialog .close{z-index:1}@media (width<=700px){.lessons-toolbar-note{width:100%;margin-right:0}.lesson-actions-copy{align-items:flex-start}.lesson-action-buttons button{flex:1}.action-dialog{padding:24px}}.status-control{align-items:center;gap:7px;min-width:132px;display:inline-flex}.status-select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 14px),calc(100% - 9px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;border:1px solid #0000;border-radius:999px;padding:6px 28px 6px 11px;font-size:11px;font-weight:800}.status-select.ok{color:#237041;background-color:#e5f5ea}.status-select.warn{color:#8b6515;background-color:#fff3d8}.status-select.bad{color:#9c3928;background-color:#fbe7e3}.status-select:disabled{cursor:wait;opacity:.65}.status-control:not(.compact) .status-select{padding:9px 32px 9px 14px;font-size:12px}.status-saving,.status-error{color:var(--muted);white-space:nowrap;font-size:10px}.status-error{color:#9c3928}.status-control.compact{min-width:0}.status-control.compact .status-select{font-size:10px}.dialog-actions .primary{background:var(--navy);color:#fff}.dialog-actions .primary:hover{background:var(--navy2)}.dialog-actions .primary:disabled{opacity:.6;cursor:wait}.requests-intro{background:linear-gradient(135deg,#fffdf7,#f5f8f7);justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}.requests-intro h2{margin:6px 0}.requests-intro p{color:var(--muted);margin:0;font-size:12px}.request-legend,.diff-legend,.schedule-legend{flex-wrap:wrap;gap:8px;display:flex}.type-badge,.diff-legend span,.schedule-legend span{border-radius:999px;align-items:center;padding:6px 10px;font-size:10px;font-weight:800;display:inline-flex}.type-badge.availability,.schedule-legend .schedule-available{color:#28628b;background:#e4f0fb}.type-badge.dayoff,.schedule-legend .schedule-off{color:#a46119;background:#fff0dd}.type-badge.request-other{color:#674b91;background:#eee8fb}.requests-toolbar-note{color:var(--muted);align-items:center;gap:7px;margin-right:auto;font-size:11px;display:flex}.requests-table{padding:0;overflow:hidden}.request-row-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.request-actions{flex-wrap:wrap;align-items:center;gap:7px;margin-top:14px;display:flex}.request-actions.compact{margin-top:0}.request-actions button{cursor:pointer;align-items:center;gap:5px;display:inline-flex}.request-actions button:disabled{opacity:.6;cursor:wait}.request-action-error{color:#9c3928;max-width:180px;font-size:10px}.request-hero{align-items:flex-start}.request-hero.availability{box-shadow:inset -4px 0 #3b83b7}.request-hero.dayoff{box-shadow:inset -4px 0 #c98732}.request-hero-side{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.request-meta{padding:16px}.request-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.request-meta .info-card{min-height:76px}.availability-diff{overflow:hidden}.diff-legend{margin:16px 0}.diff-legend span{border:1px solid #0000}.diff-added{color:#25703d;background:#e1f4e7;border-color:#b9e2c5!important}.diff-removed{color:#a23c2d;background:#fbe6e1;border-color:#efc0b8!important}.diff-same{color:#718087;background:#f0f3f2}.availability-diff-grid{gap:11px;display:grid}.availability-diff-day{grid-template-columns:100px 1fr;align-items:center;gap:12px;display:grid}.availability-diff-day>strong{font-size:12px}.hour-grid{grid-template-columns:repeat(24,minmax(25px,1fr));gap:4px;display:grid}.hour-cell{color:#78878d;background:#f0f3f2;border-radius:7px;place-items:center;min-height:29px;font-size:9px;font-weight:800;display:grid}.hour-cell.added{color:#247241;background:#d9f0df}.hour-cell.removed{color:#a33e31;background:#f8dcd6}.dayoff-columns{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.dayoff-columns>div{border:1px solid var(--line);background:#f7f9f8;border-radius:15px;padding:14px}.dayoff-columns h4{margin:0 0 10px}.dayoff-line{border-right:3px solid var(--gold);background:#fff;border-radius:12px;gap:4px;margin-bottom:8px;padding:12px;font-size:11px;display:grid}.dayoff-line.remove{border-right-color:#b64e3f}.dayoff-line.update{border-right-color:#4778a3}.dayoff-line span,.dayoff-line small{color:var(--muted)}.conflict-panel{background:#fffaf9;border-color:#efc0b8}.conflict-list{gap:8px;margin-top:14px;display:grid}.conflict-item{background:#fff;border:1px solid #f0d4ce;border-radius:12px;gap:4px;padding:11px 13px;display:grid}.conflict-item span{color:var(--muted);font-size:11px}.warning-text{color:#96621b;font-size:12px}.error-text{color:#9c3928;font-size:12px}.schedule-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.schedule-nav{white-space:nowrap;align-items:center;gap:7px;display:flex}.schedule-nav button{border:1px solid var(--line);color:var(--navy);background:#f6f8f7;border-radius:9px;place-items:center;width:31px;height:31px;display:grid}.schedule-nav strong{font-size:11px}.schedule-legend{margin:17px 0}.schedule-legend span{border:1px solid #0000}.schedule-legend .schedule-reserved{color:#355b83;background:#e7eef8}.schedule-legend .schedule-completed{color:#317050;background:#e7f4ee}.week-calendar{grid-template-columns:repeat(7,minmax(135px,1fr));gap:8px;padding-bottom:4px;display:grid;overflow:auto}.week-day{border:1px solid var(--line);background:#f8faf9;border-radius:14px;min-width:135px;overflow:hidden}.week-day-head{border-bottom:1px solid var(--line);background:#fff;gap:3px;padding:11px;display:grid}.week-day-head strong{font-size:12px}.week-day-head small{color:var(--muted);font-size:10px}.schedule-items{gap:6px;min-height:130px;padding:8px;display:grid}.schedule-item{border-right:3px solid;border-radius:9px;gap:3px;padding:8px;font-size:10px;display:grid}.schedule-item span{font-size:9px;font-weight:800}.schedule-item strong{font-size:10px}.schedule-item small{color:inherit;opacity:.75;line-height:1.5}.schedule-item.available{color:#28628b;background:#eaf5fb}.schedule-item.off{color:#a46119;background:#fff0dd}.schedule-item.reserved{color:#355b83;background:#e7eef8}.schedule-item.completed{color:#317050;background:#e7f4ee}.schedule-empty{text-align:center;color:var(--muted);padding:20px 5px;font-size:10px}.parent-admin-panel{grid-column:1/-1}.children-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.child-card{border:1px solid var(--line);background:#f8faf9;border-radius:16px;gap:14px;padding:16px;display:grid}.child-card-heading{align-items:center;gap:11px;display:flex}.child-card-heading h3{margin:0 0 3px}.child-card-heading span{color:var(--muted);font-size:11px}.child-avatar{color:#765d2d;background:#f2e8ce;border-radius:13px;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.child-meta{gap:8px;display:grid}.child-meta>div{border-top:1px solid var(--line);gap:4px;padding-top:8px;display:grid}.child-meta small{color:var(--muted);font-size:10px}.child-meta strong{font-size:11px;line-height:1.8}@media (width<=900px){.request-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-diff-day{grid-template-columns:80px 1fr}.hour-grid{min-width:690px}.availability-diff-day{overflow:auto}.week-calendar{grid-template-columns:repeat(7,135px)}.children-cards{grid-template-columns:1fr}}@media (width<=600px){.requests-intro,.schedule-heading{display:grid}.request-hero-side{align-items:flex-start}.dayoff-columns,.request-meta-grid{grid-template-columns:1fr}}.support-workspace{gap:20px;display:grid}.support-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.support-copy{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f7fb;border-radius:12px;padding:18px}.support-workspace textarea{width:100%}.support-workspace small{overflow-wrap:anywhere}.support-workspace button{border:1px solid var(--line);color:var(--navy);background:#fff;border-radius:10px;min-height:40px;padding:9px 15px;font-size:12px;font-weight:700}.support-workspace button.primary{background:var(--navy);color:#fff;border-color:var(--navy)}.support-workspace button:disabled{opacity:.45;cursor:not-allowed}.support-workspace button:not(:disabled):hover{box-shadow:0 0 0 2px #c7aa6b55}.support-workspace .error{color:#972f23;background:#fff0ed;border:1px solid #edc0b8;border-radius:12px;padding:16px}.support-workspace textarea{font:inherit;border:1px solid var(--line);resize:vertical;border-radius:12px;padding:14px}.course-form input[type=file]{padding:8px}.course-form label small{font-weight:500}.course-image-preview{object-fit:cover;border:1px solid var(--line);border-radius:12px;width:100%;margin-top:6px;display:block}.course-image-preview.cover{height:140px}.course-image-preview.banner{height:160px}.admin-edit-note{color:#24623c;background:#edf7f0;border-radius:12px;padding:11px 13px;font-size:12px}.payment-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.payment-tabs button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:12px;align-items:center;gap:7px;padding:10px 14px;font-weight:700;display:flex}.payment-tabs button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.payment-form-panel{gap:22px;display:grid}.payment-form-panel h2{margin:5px 0}.payment-form-panel p{color:var(--muted);font-size:12px}.payment-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.payment-form label{gap:7px;font-size:12px;font-weight:700;display:grid}.payment-form input,.payment-form select,.payment-form textarea,.payment-method-setting textarea{border:1px solid var(--line);background:#f8faf9;border-radius:12px;outline:0;width:100%;padding:11px}.payment-form .wide{grid-column:1/-1}.payment-user-results{z-index:5;border:1px solid var(--line);background:#fff;border-radius:14px;width:min(600px,100% - 46px);max-height:260px;margin-top:72px;padding:7px;position:absolute;overflow:auto;box-shadow:0 18px 40px #173b4e26}.payment-user-results button{text-align:right;background:#fff;border:0;border-radius:9px;gap:2px;width:100%;padding:10px;display:grid}.payment-user-results button:hover{background:#f1f5f4}.payment-user-results span,.selected-account{color:var(--muted);font-size:10px}.selected-account{color:#237041;align-items:center;gap:5px;display:flex}.payment-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.payment-summary-grid>div{border:1px solid var(--line);background:#fff;border-radius:13px;gap:5px;padding:14px;display:grid}.payment-summary-grid small{color:var(--muted)}.payment-success{text-align:center}.payment-success-icon{color:#237041;background:#e5f5ea;border-radius:50%;place-items:center;width:55px;height:55px;margin:auto;display:grid}.payment-success .row{justify-content:center}.panel-heading{justify-content:space-between;align-items:center;gap:15px;display:flex}.panel-heading h2{margin:0}.panel-heading p{color:var(--muted);font-size:11px}.panel-heading button{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:6px;padding:8px 11px;display:flex}.payment-ledger,.payment-allocations,.unpaid-list{gap:8px;margin-top:16px;display:grid}.payment-ledger>button,.payment-allocations>div,.unpaid-list>div{border:1px solid var(--line);text-align:right;background:#f8faf9;border-radius:13px;grid-template-columns:1.3fr 1fr auto;align-items:center;gap:12px;padding:13px;display:grid}.payment-ledger span,.payment-allocations span,.unpaid-list span{gap:3px;display:grid}.payment-ledger small,.payment-allocations small,.unpaid-list small{color:var(--muted);font-size:10px}.payment-ledger .paid,.payment-badge.paid{color:#237041;background:#e5f5ea}.payment-ledger .void,.payment-badge.unpaid{color:#9c3928;background:#fbe7e3}.payment-ledger .paid,.payment-ledger .void,.payment-badge{white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:800}.payment-allocations>div.reversed{opacity:.6}.payment-allocations button{color:#9c3928;background:#f9e4df;border:0;border-radius:9px;align-items:center;gap:5px;padding:7px;display:flex}.allocation-choice{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:10px;font-size:12px;display:flex}.unpaid-list b{color:#9c3928;font-size:10px}.payment-method-setting{border:1px solid var(--line);background:#f8faf9;border-radius:14px;gap:8px;padding:13px;display:grid}.payment-method-setting .check{display:flex}.payment-method-setting textarea:disabled{opacity:.55}.workspace-list>div .payment-badge{margin-right:auto}@media (width<=750px){.payment-form{grid-template-columns:1fr}.payment-form .wide{grid-column:auto}.payment-summary-grid{grid-template-columns:repeat(2,1fr)}.payment-ledger>button,.payment-allocations>div,.unpaid-list>div{grid-template-columns:1fr}.panel-heading{align-items:flex-start}.payment-user-results{width:100%;margin-top:0;position:static}}.payment-coverage-preview{background:#f3f8f5;border:1px solid #d8e5df;border-radius:14px;gap:8px;padding:14px;display:grid}.payment-coverage-preview>div{border-top:1px solid #dfe9e3;justify-content:space-between;gap:12px;padding-top:8px;font-size:11px;display:flex}.payment-coverage-preview small{color:var(--muted)}.payment-cell{justify-items:start;gap:4px;display:grid}.payment-cell small{color:var(--muted);direction:ltr;font-size:9px}.payment-ledger>button{grid-template-columns:1.25fr 1.1fr 1fr auto}.payment-payer-cell{min-width:0}.payment-payer-cell small{text-overflow:ellipsis;white-space:nowrap;text-align:right;direction:ltr;overflow:hidden}.payment-date-time{white-space:nowrap;direction:ltr;align-items:center;gap:6px;display:inline-flex}.payment-date-time time{border-radius:8px;align-items:center;gap:4px;padding:5px 7px;font-size:10px;font-weight:800;display:inline-flex}.payment-date-time time:first-child{color:#315d87;background:#e8eff8}.payment-date-time time:last-child{color:#237041;background:#e5f5ea}.payment-date-time.compact time{padding:2px 5px;font-size:9px}.payment-date-empty{color:var(--muted);font-size:11px}.payment-load-more{width:100%;color:var(--navy);background:#eef6f7;border:1px solid #bfd4da;border-radius:11px;justify-content:center;align-items:center;margin-top:14px;padding:10px 14px;font-weight:800;display:flex}.payment-load-more:disabled{opacity:.6;cursor:wait}.payment-ledger-toolbar{border:1px solid var(--line);background:linear-gradient(135deg,#f8faf9,#fffdf7);border-radius:16px;grid-template-columns:1.2fr auto minmax(170px,220px) auto;align-items:end;gap:12px;margin-top:20px;padding:16px;display:grid}.payment-period-heading{color:var(--navy);align-items:center;gap:10px;display:flex}.payment-period-heading>div{gap:3px;display:grid}.payment-period-heading small{color:var(--muted);font-size:10px;font-weight:400}.payment-period-switch{background:#eaf0f1;border-radius:11px;gap:4px;padding:4px;display:flex}.payment-period-switch button{color:var(--muted);background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:8px 11px;font-size:11px;font-weight:800;display:flex}.payment-period-switch button.active{color:var(--navy);background:#fff;box-shadow:0 2px 8px #173b4e18}.payment-period-input{color:var(--muted);gap:5px;font-size:10px;font-weight:800;display:grid}.payment-period-input input{border:1px solid var(--line);width:100%;min-height:38px;color:var(--navy);direction:ltr;background:#fff;border-radius:10px;outline:0;padding:9px 10px}.payment-period-input input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c7aa6b22}.payment-period-reset{border:1px solid var(--line);color:var(--navy);white-space:nowrap;background:#fff;border-radius:10px;padding:9px 12px;font-size:10px;font-weight:800}.payment-period-reset:hover{border-color:var(--gold);background:#fffdf7}.payment-ledger-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:12px;display:flex}.payment-ledger-search{min-width:0;color:var(--muted);flex:260px;gap:5px;font-size:11px;font-weight:700;display:grid}.payment-ledger-search>div{border:1px solid var(--line);min-height:44px;color:var(--navy);background:#f8faf9;border-radius:10px;align-items:center;gap:8px;padding:8px 11px;display:flex}.payment-ledger-search>div:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px #c7aa6b22}.payment-ledger-search input{width:100%;min-width:0;color:var(--navy);background:0 0;border:0;outline:0;font-size:12px}.payment-ledger-search input::-webkit-search-cancel-button{display:none}.payment-ledger-search button{color:var(--muted);background:0 0;border:0;border-radius:5px;place-items:center;padding:3px;display:grid}.payment-ledger-search button:focus-visible{outline:2px solid var(--gold)}.payment-remaining-filter{border:1px solid var(--line);cursor:pointer;background:#f8faf9;border-radius:10px;align-items:center;gap:9px;min-height:44px;padding:8px 12px;display:flex}.payment-remaining-filter.active{color:#286641;background:#edf7f0;border-color:#b1d5bf}.payment-remaining-filter input{accent-color:#317652;flex-shrink:0;width:17px;height:17px;margin:0}.payment-remaining-filter span{gap:3px;display:grid}.payment-remaining-filter strong{font-size:11px}.payment-remaining-filter small{color:var(--muted);font-size:10px}@media (width<=560px){.payment-remaining-filter{width:100%}}.payment-ledger-summary{grid-template-columns:1.4fr 1fr 1fr;gap:10px;margin:12px 0;display:grid}.payment-ledger-summary>div{border:1px solid var(--line);background:#fff;border-radius:13px;gap:4px;padding:15px;display:grid}.payment-ledger-summary small{color:var(--muted);font-size:10px}.payment-ledger-summary strong{color:var(--navy);font-size:21px}.payment-ledger-summary span{color:var(--muted);font-size:10px}.payment-total-card{background:linear-gradient(135deg,#edf7f0,#f8fbf8)!important;border-color:#cfe6d6!important}.payment-total-card strong{color:#237041!important}.payment-ledger-caption{color:var(--navy);justify-content:space-between;align-items:center;gap:12px;margin:16px 2px 0;font-size:11px;font-weight:800;display:flex}.payment-ledger-caption small{color:var(--muted);font-size:10px;font-weight:400}.payment-ledger-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:14px;place-items:center;gap:8px;margin-top:16px;padding:46px 20px;display:grid}.payment-ledger-empty strong{color:var(--navy);font-size:13px}.payment-ledger-empty span{font-size:11px}@media (width<=850px){.payment-ledger-toolbar{grid-template-columns:1fr 1fr}.payment-period-heading{grid-column:1/-1}.payment-period-reset{justify-self:start}.payment-ledger-summary{grid-template-columns:1fr 1fr}.payment-total-card{grid-column:1/-1}}@media (width<=560px){.payment-ledger-toolbar{grid-template-columns:1fr}.payment-period-heading{grid-column:auto}.payment-period-switch{justify-self:start}.payment-period-reset{justify-self:stretch}.payment-ledger-summary{grid-template-columns:1fr}.payment-total-card{grid-column:auto}.payment-ledger-caption{flex-direction:column;align-items:flex-start}}@media (width<=750px){.payment-ledger>button{grid-template-columns:1fr}}.statistics-dashboard{gap:22px;display:grid}.statistics-hero{background:radial-gradient(circle at 10% 20%,#c7aa6b33,transparent 30%),linear-gradient(125deg,var(--navy),#1e526a);color:#fff;border-radius:28px;justify-content:space-between;align-items:flex-end;gap:24px;padding:30px 34px;display:flex;box-shadow:0 22px 55px #173b4e21}.statistics-hero h2{margin:7px 0;font-size:34px}.statistics-hero p{color:#d5e0e4;max-width:650px;margin:0}.statistics-refresh{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.statistics-refresh small{color:#cad8dd}.statistics-refresh button,.income-month-controls button,.inline-error button,.statistics-error button{color:inherit;background:#ffffff14;border:1px solid #ffffff35;border-radius:11px;align-items:center;gap:7px;padding:9px 13px;font-weight:700;display:inline-flex}.statistics-refresh button:disabled{opacity:.55}.statistics-section{border:1px solid var(--line);background:#fff;border-radius:23px;padding:23px;box-shadow:0 10px 30px #173b4e0a}.statistics-heading{align-items:center;gap:12px;margin-bottom:18px;display:flex}.statistics-heading>span{width:44px;height:44px;color:var(--navy2);background:#edf3f3;border-radius:14px;place-items:center;display:grid}.statistics-heading h3{margin:0 0 3px;font-size:17px}.statistics-heading p{color:var(--muted);margin:0;font-size:11px}.activity-grid,.people-grid,.new-users-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.activity-card{background:linear-gradient(145deg,#f8faf9,#edf4f3);border:1px solid #dde9e7;border-radius:18px;gap:4px;padding:19px;display:grid}.activity-card>span,.new-users-grid span{color:var(--muted);font-size:11px;font-weight:700}.activity-card>strong,.new-users-grid strong{color:var(--navy);font-size:30px}.activity-card>small,.new-users-grid small{color:var(--muted);font-size:10px}.activity-card>div{border-top:1px solid var(--line);color:#3e6577;align-items:center;gap:6px;margin-top:10px;padding-top:10px;font-size:11px;display:flex}.landing-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;display:grid}.landing-grid article{background:#fffdf7;border:1px solid #eadfbe;border-radius:15px;gap:5px;padding:17px;display:grid}.landing-grid span{color:#8b7441;font-size:10px}.landing-grid strong{color:var(--navy);font-size:25px}.people-card{border:1px solid var(--line);border-radius:17px;align-items:center;gap:13px;padding:18px;display:flex}.people-card>span{color:#80662d;background:#f2e8ce;border-radius:14px;place-items:center;width:43px;height:43px;display:grid}.people-card div{display:grid}.people-card small{color:var(--muted)}.people-card strong{font-size:25px}.demographics-grid{grid-template-columns:minmax(270px,.75fr) minmax(400px,1.5fr);gap:14px;margin-top:14px;display:grid}.distribution-card{border:1px solid var(--line);background:#f9fbfa;border-radius:17px;padding:18px}.distribution-card h3{margin:0 0 16px;font-size:13px}.distribution-row{gap:5px;margin:10px 0;display:grid}.distribution-row>div{justify-content:space-between;gap:12px;font-size:10px;display:flex}.distribution-row b{color:var(--navy)}.distribution-row>i{background:#e7edec;border-radius:999px;height:7px;display:block;overflow:hidden}.distribution-row em{border-radius:inherit;background:var(--navy);height:100%;display:block}.distribution-row em.blue{background:#4d87a8}.distribution-row em.gold{background:#c7aa6b}.distribution-row em.gray{background:#aab5b8}.grade-list{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:18px;display:grid}.new-users-grid article{border:1px solid var(--line);background:linear-gradient(145deg,#fff,#f6f8f7);border-radius:16px;gap:3px;padding:19px;display:grid}.lesson-period-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.lesson-stat-card{border:1px solid var(--line);border-radius:17px;overflow:hidden}.lesson-stat-card header{background:linear-gradient(145deg,var(--navy),var(--navy2));color:#fff;grid-template-columns:1fr auto;align-items:end;padding:17px;display:grid}.lesson-stat-card header span{grid-column:1;font-size:11px}.lesson-stat-card header strong{grid-area:1/2/3;font-size:28px}.lesson-stat-card header small{color:#bfd0d8;font-size:9px}.lesson-stat-card>div{padding:10px 13px}.lesson-status{border-bottom:1px solid #eef1f0;justify-content:space-between;align-items:center;margin:0;padding:7px 0;font-size:10px;display:flex}.lesson-status:last-child{border-bottom:0}.lesson-status span{align-items:center;gap:7px;display:flex}.lesson-status span:before{content:"";background:#d5a437;border-radius:50%;width:8px;height:8px}.lesson-status.approved span:before{background:#4d87a8}.lesson-status.completed span:before{background:#3c8b61}.lesson-status.cancelled span:before{background:#b55242}.lesson-status.no_show span:before{background:#7e6aa1}.income-section{background:linear-gradient(135deg,#fffdf7,#fff)}.income-card{color:#fff;background:linear-gradient(125deg,#142f43,#1e526a);border-radius:18px;justify-content:space-between;align-items:center;gap:22px;padding:22px;display:flex}.income-month-controls{align-items:end;gap:9px;display:flex}.income-month-controls button{place-items:center;width:42px;height:42px;padding:0;display:grid}.income-month-controls label{color:#cddadf;gap:5px;font-size:10px;display:grid}.income-month-controls input{color:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;direction:ltr;background:#ffffff12;border:1px solid #ffffff35;border-radius:11px;height:42px;padding:8px 11px}.income-value{text-align:left;gap:3px;min-width:210px;display:grid}.income-value>span{color:#d3e0e4;font-size:11px}.income-value strong{color:#f0d797;direction:ltr;font-size:38px}.income-value strong small{margin-right:7px;font-size:20px}.income-skeleton{background:linear-gradient(90deg,#ffffff10,#ffffff2b,#ffffff10) 0 0/200% 100%;border-radius:10px;width:160px;height:45px;animation:1.3s infinite stats-shimmer}.inline-error{gap:7px;font-size:10px;display:grid}.inline-error button{justify-self:start;padding:6px 9px}.dashboard-skeleton{grid-template-columns:repeat(4,1fr);gap:13px;display:grid}.dashboard-skeleton span{background:linear-gradient(90deg,#e9eeee,#f7f9f8,#e9eeee) 0 0/200% 100%;border-radius:18px;height:125px;animation:1.3s infinite stats-shimmer}.statistics-error{color:#913b2d;text-align:center;background:#fff8f6;border:1px solid #efcdc5;border-radius:20px;justify-items:center;gap:9px;padding:42px;display:grid}.statistics-error span{font-size:11px}.statistics-error button{color:#913b2d;background:#fff;border-color:#dbaaa1}.finance-note{background:#fffdf7;border-color:#eadfbe;align-items:center;gap:12px;margin-bottom:15px;padding:16px;display:flex}.finance-note>svg{color:#927946}.finance-note>div{gap:3px;display:grid}.finance-note span{color:var(--muted);font-size:10px}@keyframes stats-shimmer{to{background-position:-200% 0}}.lesson-report{background:linear-gradient(145deg,#fffdf7,#fff);margin-bottom:16px}.lesson-report-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.lesson-report-heading h2{margin:4px 0;font-size:20px}.lesson-report-heading p{color:var(--muted);margin:0;font-size:11px}.lesson-report-heading>svg{color:var(--gold);background:#f5eddc;border-radius:14px;width:45px;height:45px;padding:9px}.lesson-report-cards{grid-template-columns:repeat(7,minmax(100px,1fr));gap:9px;display:grid}.lesson-report-cards article{border:1px solid var(--line);border-radius:14px;align-content:space-between;gap:7px;min-height:84px;padding:12px;display:grid}.lesson-report-cards article span{color:var(--muted);font-size:10px;font-weight:700}.lesson-report-cards article strong{text-align:right;direction:ltr;font-size:22px}.lesson-report-cards .report-total{background:#edf3f3;border-color:#d7e4e4}.lesson-report-cards .report-total strong{color:var(--navy)}.lesson-report-cards .report-price{background:#fff8e7;border-color:#eddfb8}.lesson-report-cards .report-price strong{color:#856622;font-size:17px}.lesson-report-cards .report-status.ok{background:#e7f5eb;border-color:#c8e6d0}.lesson-report-cards .report-status.ok strong{color:#2b7a48}.lesson-report-cards .report-status.warn{background:#fff4db;border-color:#eedcae}.lesson-report-cards .report-status.warn strong{color:#956b18}.lesson-report-cards .report-status.bad{background:#fbe9e5;border-color:#efc9c1}.lesson-report-cards .report-status.bad strong{color:#a74738}@media (width<=1100px){.lesson-report-cards{grid-template-columns:repeat(4,minmax(110px,1fr))}}@media (width<=650px){.lesson-report-cards{grid-template-columns:repeat(2,minmax(120px,1fr))}.lesson-report-heading{align-items:flex-start}.lesson-report-heading>svg{display:none}}@media (width<=1100px){.lesson-period-grid,.grade-list{grid-template-columns:repeat(2,1fr)}.demographics-grid{grid-template-columns:1fr}.landing-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.statistics-hero,.income-card{align-items:stretch;display:grid}.statistics-refresh{justify-content:flex-start}.activity-grid,.people-grid,.new-users-grid,.lesson-period-grid{grid-template-columns:1fr}.dashboard-skeleton{grid-template-columns:repeat(2,1fr)}.income-value{text-align:right}.income-month-controls{justify-content:space-between}.statistics-section{padding:17px}.statistics-heading{align-items:flex-start}}@media (width<=470px){.landing-grid,.grade-list,.dashboard-skeleton{grid-template-columns:1fr}.statistics-hero{padding:24px}.income-month-controls label{flex:1}.income-month-controls input{width:100%}}.admin-toast{z-index:100;pointer-events:none;text-align:right;direction:rtl;border-radius:12px;max-width:min(560px,100vw - 32px);padding:13px 18px;font-size:13px;font-weight:700;animation:.18s ease-out admin-toast-in;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 14px 35px #173b4e33}.admin-toast-error{color:#972f23;background:#fff0ed;border:1px solid #edc0b8}@keyframes admin-toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.payment-restrictions{border:1px solid var(--line);background:#f8faf9;border-radius:16px;gap:14px;min-width:0;margin:0;padding:18px;display:grid}.payment-restrictions legend{color:var(--navy);padding:0 8px;font-size:13px;font-weight:800}.payment-field-label{font-size:12px;font-weight:700}.payment-level-buttons{flex-wrap:wrap;gap:8px;display:flex}.payment-level-buttons button{border:1px solid var(--line);min-width:90px;color:var(--navy);background:#fff;border-radius:11px;flex:1;padding:11px;font-weight:700}.payment-level-buttons button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:inset 0 -3px 0 var(--gold)}.payment-restrictions button:focus-visible,.payment-teacher-picker input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.payment-teacher-picker{gap:9px;display:grid}.payment-teacher-selection{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px;font-size:12px;display:flex}.payment-teacher-selection>div{flex-wrap:wrap;gap:8px;display:flex}.payment-teacher-selection button,.payment-teacher-options>button,.payment-teacher-options .error button{border:1px solid var(--line);color:var(--navy);background:#f8faf9;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:9px;font-size:11px;display:inline-flex}.payment-teacher-options{border:1px solid var(--line);background:#fff;border-radius:12px;gap:12px;padding:14px;display:grid}.payment-teacher-options .search{width:100%;min-width:0}.payment-teacher-results{gap:6px;max-height:260px;display:grid;overflow:auto}.payment-teacher-results>button{text-align:start;border:1px solid var(--line);width:100%;color:var(--navy);background:#f8faf9;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.payment-teacher-results>button:hover,.payment-teacher-results>button[aria-pressed=true]{border-color:var(--gold);background:#faf7ef}.payment-teacher-results>button:disabled{opacity:.55}.payment-teacher-results span{gap:4px;display:grid}.payment-teacher-results strong{font-size:12px}.payment-teacher-results small,.payment-restrictions>small{color:var(--muted);font-size:11px;line-height:1.9}.payment-restriction-summary{background:#edf4f0;border-radius:10px;padding:12px;font-size:12px;line-height:2;color:var(--navy)!important;margin:0!important}@media (width<=750px){.payment-teacher-selection{flex-direction:column;align-items:flex-start}.payment-level-buttons button{flex:28%}.payment-restrictions{padding:14px}}.payment-manual-panel,.payment-allocation-panel{padding:16px;container:payment-cards/inline-size}.payment-detail-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.payment-detail-section-heading h3{margin:0;font-size:16px}.payment-detail-section-heading p{color:var(--muted);margin:4px 0 0;font-size:11px}.payment-detail-section-heading>span{color:var(--muted);font-size:12px}.payment-allocation-list,.payment-lesson-choices{gap:8px;display:grid}.payment-allocation-card,.payment-lesson-choice{background:#fff;border:1px solid #dce5e7;border-radius:10px;min-width:0;padding:10px}.payment-allocation-card>header,.payment-lesson-choice>header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px;display:flex}.payment-lesson-choice.selected{background:#fcfffd;border-color:#438e6a;box-shadow:0 0 0 2px #438e6a24}.payment-lesson-choice.insufficient{background:#fafafa;border-style:dashed}.payment-lesson-choice>header label{color:var(--navy);cursor:pointer;align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.payment-lesson-choice input[type=checkbox]{accent-color:#317652;cursor:pointer;width:17px;height:17px;margin:0}.payment-lesson-choice input:disabled{cursor:not-allowed}.payment-lesson-choice input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.payment-hours{color:#34536a;white-space:nowrap;background:#edf2f5;border-radius:6px;align-items:center;gap:4px;padding:3px 7px;font-size:10px;font-weight:700;display:inline-flex}.payment-lesson-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;display:grid}.payment-fact{border:1px solid #0000;border-radius:7px;align-content:start;gap:3px;min-width:0;padding:6px 8px;display:grid}.payment-fact dt{opacity:.85;align-items:center;gap:4px;font-size:10px;font-weight:700;display:flex}.payment-fact dt svg{flex-shrink:0;width:12px;height:12px}.payment-fact dd{overflow-wrap:anywhere;text-align:start;margin:0;font-size:12px;font-weight:700;line-height:1.5}.payment-fact dd[dir=ltr]{text-align:right;font-variant-numeric:tabular-nums}.payment-fact.subject{color:#2f4777;background:#eef2fb;border-color:#dce4f5}.payment-fact.learner{color:#226156;background:#eaf7f5;border-color:#cee9e3}.payment-fact.teacher{color:#75591d;background:#fff6e4;border-color:#f0dfb7}.payment-fact.level{color:#684287;background:#f3edfa;border-color:#e3d7f2}.payment-fact.date{color:#2d5d94;background:#e9f1fc;border-color:#d3e2f6}.payment-fact.time{color:#2a683d;background:#eaf6eb;border-color:#cee8d1}.payment-allocation-status{border-radius:6px;align-items:center;gap:4px;padding:3px 7px;font-size:10px;font-weight:800;display:inline-flex}.payment-allocation-status.active{color:#286840;background:#e6f4ea}.payment-allocation-status.reversed{color:#875618;background:#fff1de}.payment-allocation-card.reversed{background:#fffdf8;border-color:#e8d3ae}.payment-allocation-finance{border:1px solid var(--line);background:#f8faf9;border-radius:7px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:7px;padding:6px 8px;display:flex}.payment-allocation-finance>div{flex-wrap:wrap;flex:1;align-items:center;gap:5px;min-width:120px;display:flex}.payment-allocation-finance small{color:var(--muted);font-size:10px}.payment-allocation-finance strong{color:var(--navy);text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.payment-reverse-button{color:#973c2a;background:#fff0eb;border:1px solid #e6beb4;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:5px 8px;font-size:11px;font-weight:700;display:inline-flex}.payment-reverse-button:hover{background:#fbe2d9}.payment-reverse-button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.payment-allocation-audit{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:7px;padding-top:6px;font-size:10px;display:flex}.payment-allocation-audit .payment-date-time,.payment-reversal-note .payment-date-time{flex-wrap:wrap;width:auto;display:inline-flex}.payment-reversal-note{color:#80541f;overflow-wrap:anywhere;background:#fff1de;border-radius:7px;flex-wrap:wrap;align-items:center;gap:7px;margin-top:6px;padding:6px 8px;font-size:10px;display:flex}.payment-reversal-note>strong{flex:200px}.payment-credit-badge,.payment-ledger .payment-credit-badge{white-space:nowrap;border:1px solid #0000;border-radius:10px;align-items:center;gap:7px;padding:9px 12px;font-size:12px;font-weight:800;display:inline-flex}.payment-credit-badge.exhausted{color:#95470c;background:#fff0df;border-color:#e9b67b}.payment-credit-badge.available{color:#286641;background:#e9f5ee;border-color:#cce5d4}.payment-ledger>button.credit-exhausted{background:#fffaf3;border-inline-start:5px solid #c9772f}.payment-ledger .payment-ledger-state{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.payment-ledger .payment-ledger-state .paid,.payment-ledger .payment-ledger-state .void{align-items:center;display:inline-flex}.payment-exhausted-note{color:#95470c;background:#fff0df;border:1px solid #e9b67b;border-radius:12px;align-items:center;gap:9px;padding:13px;font-size:12px;line-height:1.9;display:flex}.payment-insufficient-note{color:#95470c;margin:6px 0 0;font-size:11px}.payment-empty-note{border:1px dashed var(--line);color:var(--muted);background:#f8faf9;border-radius:12px;padding:18px;font-size:12px;line-height:1.9}.payment-apply-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:10px;display:flex}.payment-apply-footer>span{color:var(--muted);font-size:11px}.payment-apply-footer button{min-width:130px;padding:7px 11px;font-size:12px}@container payment-cards (width>=850px){.payment-lesson-facts{grid-template-columns:repeat(6,minmax(0,1fr))}}@container payment-cards (width<=420px){.payment-lesson-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-fact dd{font-size:11px}}@media (width<=480px){.payment-manual-panel,.payment-allocation-panel{padding:12px}.payment-detail-section-heading{flex-wrap:wrap;align-items:flex-start}.payment-allocation-finance>div{min-width:100px}.payment-apply-footer{flex-direction:column;align-items:stretch}.payment-apply-footer button{width:100%}}.payment-reversal-form{background:#fff6ed;border:1px solid #e9d2bb;border-radius:8px;gap:8px;margin-top:8px;padding:10px;display:grid}.payment-reversal-form label{color:#80541f;gap:5px;font-size:11px;font-weight:700;display:grid}.payment-reversal-form textarea{width:100%;color:var(--navy);font:inherit;resize:vertical;background:#fff;border:1px solid #dfc8b5;border-radius:7px;padding:7px;line-height:1.6}.payment-reversal-form>div{flex-wrap:wrap;gap:9px;display:flex}.payment-reversal-form button{color:#80541f;background:#fff;border:1px solid #dfc8b5;border-radius:7px;padding:6px 10px;font-size:11px;font-weight:700}.payment-reversal-form button[type=submit]{color:#fff;background:#973c2a;border-color:#973c2a}.payment-reversal-form textarea:focus-visible,.payment-reversal-form button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.admin-toast-success{color:#1e6338;background:#e8f7ed;border:1px solid #8bc79f}.payment-notice{pointer-events:auto;align-items:center;gap:10px;line-height:1.8;display:flex}.payment-notice>svg{flex-shrink:0}.payment-notice>span{overflow-wrap:anywhere;flex:1}.payment-notice button{width:28px;height:28px;color:inherit;background:0 0;border:0;border-radius:6px;flex-shrink:0;place-items:center;padding:0;display:grid}.payment-notice button:hover{background:#0000000c}.payment-notice button:focus-visible{outline-offset:2px;outline:2px solid}.lessons-toolbar{flex-wrap:wrap}.lessons-toolbar .date{flex-wrap:wrap;gap:6px;font-size:11px}.lessons-toolbar select,.lessons-toolbar input{min-width:0;padding:8px 10px;font-size:11px}.lessons-toolbar .lessons-toolbar-note{flex:100%;order:2;margin-right:0}.lessons-toolbar .refresh{flex-shrink:0}.lessons-toolbar select:focus-visible,.lessons-toolbar input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (width<=650px){.lessons-toolbar .date{flex-direction:column;flex:42%;align-items:flex-start}.lessons-toolbar .date select,.lessons-toolbar .date input{width:100%}}.payment-closure-dialog{text-align:right;width:min(820px,100vw - 32px);max-width:820px;max-height:calc(100dvh - 48px);overflow-y:auto}.payment-closure-dialog form{gap:16px;display:grid}.payment-closure-dialog .payment-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.payment-closure-dialog label{gap:7px;font-weight:700;display:grid}.payment-closure-dialog input,.payment-closure-dialog textarea,.payment-closure-dialog select{box-sizing:border-box;width:100%}.payment-closure-impact,.payment-closure-adjustment{background:#fffaf0;border:1px solid #e6cf98;border-radius:12px;padding:14px}.payment-closure-lessons{gap:8px;margin-top:10px;display:grid}.payment-closure-lessons>div{border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:11px;display:flex}.payment-closure-lessons strong{flex:200px}.payment-closure-history{border-color:#d8c28e}.payment-closure-history .payment-summary-grid{margin-block:16px}@media (width<=600px){.payment-closure-dialog{max-height:calc(100dvh - 24px);padding:22px 16px}.payment-closure-dialog .payment-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-closure-dialog .dialog-actions{flex-wrap:wrap}.payment-closure-dialog .dialog-actions button{flex:140px}}.payment-closure-dialog select{border:1px solid var(--line);font:inherit;background:#fff;border-radius:12px;padding:11px}.payment-closure-dialog .dialog-actions button{min-height:42px;font-size:13px}
