.hero-visual[data-v-e1c14949]{width:100%;max-width:440px;margin-inline:auto}.hero-visual[data-v-e1c14949] *{box-sizing:border-box}.hero-visual p[data-v-e1c14949]{color:var(--home-muted);margin:0}.hero-visual h2[data-v-e1c14949],.hero-visual h3[data-v-e1c14949]{color:var(--home-ink);font-weight:var(--weight-bold);margin:0}.hero-visual svg[data-v-e1c14949]{stroke-width:1.8px;flex-shrink:0;width:19px;height:19px}.preview-brand img[data-v-e1c14949]{border-radius:7px;display:block}.visual-backdrop[data-v-e1c14949]{place-items:center;display:grid;position:absolute;inset:0;overflow:clip}.hero-visual[data-v-e1c14949]{background:radial-gradient(#e9f3ff 0%,#f6faff 50%,#0000 73%);place-items:center;min-height:490px;display:grid;position:relative}.visual-orbit[data-v-e1c14949]{border:1px solid #e2edfc;border-radius:50%;width:min(410px,100%);height:410px;position:absolute;transform:rotate(-25deg)}.orbit-two[data-v-e1c14949]{width:100%;height:330px;transform:rotate(-35deg)}.floating-note[data-v-e1c14949]{border-radius:15px;place-items:center;width:46px;height:46px;display:grid;position:absolute;box-shadow:0 7px 24px #26579a10}.note-one[data-v-e1c14949]{color:#4389ee;background:#eaf2ff;top:15px;left:35px;transform:rotate(-12deg)}.app-preview[data-v-e1c14949]{z-index:1;background:#fff;border:1px solid #e5edf9;border-radius:23px;width:min(322px,100% - 20px);min-height:414px;padding:21px 20px 0;transform:rotate(-3deg);box-shadow:0 24px 70px #28569415,0 4px 12px #28569406}.preview-top[data-v-e1c14949]{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.preview-brand[data-v-e1c14949]{font-weight:var(--weight-bold);letter-spacing:-.5px;font-size:var(--text-body);align-items:center;gap:7px;display:flex}.preview-avatar[data-v-e1c14949]{color:#a67b52;width:29px;height:29px;font-size:var(--glyph-xs);background:#fff1e4;border:3px solid #fff;border-radius:50%;place-items:center;display:grid}.preview-greeting[data-v-e1c14949]{font-size:var(--text-caption);color:#7d8ba0;margin-bottom:3px}.app-preview h2[data-v-e1c14949]{font-size:var(--text-section);letter-spacing:-.6px;font-weight:var(--weight-semibold);line-height:var(--leading-heading)}.preview-week[data-v-e1c14949]{font-size:var(--text-caption);text-align:center;color:#8c99ac;justify-content:space-between;margin:19px 0 21px;display:flex}.preview-week>span[data-v-e1c14949]{border-radius:10px;flex:1;min-width:0;padding:6px 0}.preview-week b[data-v-e1c14949]{font-size:var(--text-caption);color:#51647e;margin-top:4px;display:block}.preview-week .day-active[data-v-e1c14949]{color:#cfe2ff;background:#1677ff;box-shadow:0 4px 10px #1677ff25}.preview-week .day-active b[data-v-e1c14949]{color:#fff}.preview-lesson[data-v-e1c14949]{background:#f0f6ff;border:1px solid #deebfc;border-radius:12px;align-items:center;gap:10px;padding:13px 10px;display:flex}.lesson-icon[data-v-e1c14949]{color:#1677ff;background:#fff;border-radius:8px;place-items:center;width:35px;height:42px;display:grid}.lesson-tag[data-v-e1c14949]{font-size:var(--text-caption);color:#4b8add;font-weight:var(--weight-bold);letter-spacing:.6px}.preview-lesson h3[data-v-e1c14949]{font-size:var(--text-subheading);font-weight:var(--weight-semibold);line-height:var(--leading-heading);margin:2px 0}.preview-lesson p[data-v-e1c14949]{font-size:var(--text-body)}.preview-lesson>svg[data-v-e1c14949]{color:#8db5e7;width:13px;margin-left:auto}.preview-task[data-v-e1c14949]{border:1px solid #eef0f6;border-radius:12px;margin-top:17px;padding:14px 12px}.task-heading[data-v-e1c14949]{font-size:var(--text-caption);color:#7b8aa0;justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.task-heading>span[data-v-e1c14949]:first-child{align-items:center;gap:5px;display:flex}.task-heading svg[data-v-e1c14949]{width:12px;height:12px}.task-chip[data-v-e1c14949]{color:#9370c5;font-size:var(--text-caption);background:#f1ecff;border-radius:4px;padding:2px 6px}.preview-task h3[data-v-e1c14949]{font-size:var(--text-subheading);font-weight:var(--weight-semibold);line-height:var(--leading-heading);margin-bottom:3px}.preview-task p[data-v-e1c14949]{font-size:var(--text-body)}.practice-wave[data-v-e1c14949]{color:#78a9ee;align-items:center;gap:4px;height:37px;margin-top:10px;display:flex}.practice-wave i[data-v-e1c14949]{background:#bbd7ff;border-radius:2px;width:4px;height:12px}.practice-wave i[data-v-e1c14949]:nth-child(3n){background:#7eaff1;height:27px}.practice-wave i[data-v-e1c14949]:nth-child(4n){height:18px}.practice-wave i[data-v-e1c14949]:nth-child(5n){height:33px}.practice-wave span[data-v-e1c14949]{background:#eef5ff;border-radius:50%;place-items:center;width:27px;height:27px;margin-left:auto;display:grid}.practice-wave span svg[data-v-e1c14949]{fill:#78a9ee;width:11px;height:11px}.preview-bottom[data-v-e1c14949]{font-size:var(--text-caption);color:#8a98ab;border-top:1px solid #edf2f8;justify-content:space-around;margin-top:18px;padding:12px 0 14px;display:flex}.preview-bottom>span[data-v-e1c14949]{flex-direction:column;align-items:center;gap:4px;display:flex}.preview-bottom svg[data-v-e1c14949]{width:15px;height:15px}.preview-tab-active[data-v-e1c14949]{color:#1677ff}.community-float[data-v-e1c14949]{z-index:2;background:#fff;border:1px solid #e7eef8;border-radius:12px;align-items:center;gap:10px;padding:13px 17px;display:flex;position:absolute;bottom:37px;left:0;transform:rotate(2deg);box-shadow:0 10px 30px #28569413}.heart-icon[data-v-e1c14949]{color:#e997aa;background:#fff0f2;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.heart-icon svg[data-v-e1c14949]{fill:#e997aa;width:17px}.community-float strong[data-v-e1c14949]{font-size:var(--text-caption);font-weight:var(--weight-semibold);display:block}.community-float small[data-v-e1c14949]{font-size:var(--text-caption);color:#8d9aae;margin-top:2px}.preview-caption[data-v-e1c14949]{text-align:center;color:#9cacc0;font-size:var(--text-caption);letter-spacing:2px;position:absolute;bottom:-6px;left:0;right:0}@media (width<=600px){.hero-visual[data-v-e1c14949]{margin-top:8px}.floating-note[data-v-e1c14949]{border-radius:12px;width:38px;height:38px}.note-one[data-v-e1c14949]{left:0}.community-float[data-v-e1c14949]{gap:8px;padding:11px 12px;bottom:29px}.preview-caption[data-v-e1c14949]{font-size:var(--text-caption);letter-spacing:1.5px;bottom:-4px}}.guitar-intro[data-v-1b760169],.guitar-courses[data-v-1b760169]{gap:16px;padding-block:28px;scroll-margin-top:90px;display:grid}.guitar-intro h1[data-v-1b760169]{font-size:var(--text-page);font-weight:var(--weight-bold);line-height:var(--leading-heading)}.guitar-courses h2[data-v-1b760169]{font-size:var(--text-section);font-weight:var(--weight-semibold);line-height:var(--leading-heading)}.guitar-actions[data-v-1b760169]{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.home-page .guitar-actions .admin-link[data-v-1b760169]{color:#fff}.guitar-intro small[data-v-1b760169]{font-size:var(--text-caption);line-height:var(--leading-caption)}.guitar-courses details[data-v-1b760169]{border:1px solid var(--line);border-radius:10px;padding:16px}.guitar-courses summary[data-v-1b760169]{cursor:pointer;font-weight:var(--weight-semibold);justify-content:space-between;gap:12px;display:flex}.guitar-courses details p[data-v-1b760169]{margin-top:12px}.course-description[data-v-1b760169]{white-space:pre-line}.home-page[data-v-1b760169]{--home-ink:#263b53;--home-muted:#718096;--home-blue:#1677ff;min-height:100dvh;color:var(--home-ink);font-family:var(--font-family-ui);font-size:var(--text-body);line-height:var(--leading-body);background:#fff;flex-direction:column;display:flex}.home-page a[data-v-1b760169]{color:inherit;text-decoration:none}.home-page a[data-v-1b760169]:focus-visible,.home-page summary[data-v-1b760169]:focus-visible{outline-offset:4px;outline:3px solid #a8ceff}.home-page svg[data-v-1b760169]{stroke-width:1.8px;flex-shrink:0;width:19px;height:19px}.home-page h1[data-v-1b760169],.home-page h2[data-v-1b760169],.home-page h3[data-v-1b760169]{color:var(--home-ink);margin:0}.home-page p[data-v-1b760169]{color:var(--home-muted);margin:0}.home-container[data-v-1b760169]{width:min(1040px,100% - 48px);margin-inline:auto}.home-header[data-v-1b760169]{z-index:10;background:#fff;border-bottom:1px solid #eef2f7;position:sticky;top:0}.header-inner[data-v-1b760169]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding-block:12px;display:flex}.home-nav[data-v-1b760169]{align-items:center;gap:24px;display:flex}.home-brand[data-v-1b760169]{font-size:var(--text-section);font-weight:var(--weight-bold);letter-spacing:-.7px;align-items:center;gap:9px;display:inline-flex}.home-brand img[data-v-1b760169]{border-radius:9px;display:block}.home-brand>span>span[data-v-1b760169]{color:var(--home-blue)}.admin-link[data-v-1b760169]{border:1px solid var(--home-blue);background:var(--home-blue);height:44px;font-size:var(--text-body);font-weight:var(--weight-semibold);line-height:var(--leading-body);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 18px;display:inline-flex}.home-page .admin-link[data-v-1b760169]{color:#fff}.admin-link span[data-v-1b760169]{display:block}.home-page .admin-link svg[data-v-1b760169]{flex:0 0 16px;width:16px;height:16px;display:block}.home-page .admin-link[data-v-1b760169]:hover{background:#0969df;border-color:#0969df}.home-main[data-v-1b760169]{flex:1;max-width:1040px;padding:28px 0 0}.home-banner[data-v-1b760169]{background:#f5f9ff;border-radius:18px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:28px;padding:32px;scroll-margin-top:92px;display:grid}.home-banner h2[data-v-1b760169]{font-size:var(--text-display);letter-spacing:-1px;font-weight:var(--weight-bold);line-height:var(--leading-heading)}.home-banner h2 span[data-v-1b760169]{color:var(--home-blue)}.home-information[data-v-1b760169]{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:48px;padding:36px 0;display:grid}.audience-section[data-v-1b760169]{gap:20px;display:grid}.audience-section h2[data-v-1b760169]{font-size:var(--text-section);letter-spacing:-.2px;font-weight:var(--weight-semibold);line-height:var(--leading-heading);margin-bottom:4px}.audience-section p[data-v-1b760169]{font-size:var(--text-body);line-height:var(--leading-relaxed)}.download-section[data-v-1b760169]{min-width:0}.home-page .download-intro[data-v-1b760169]{max-width:450px;font-size:var(--text-body);line-height:var(--leading-relaxed);margin-top:12px}.download-options[data-v-1b760169]{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px;display:grid}.download-card[data-v-1b760169]{background:#fff;border:1px solid #e0e9f6;border-radius:14px;min-width:0;padding:18px}.platform-heading[data-v-1b760169]{align-items:center;gap:13px;display:flex}.platform-icon[data-v-1b760169]{color:#5a94df;background:#f1f7ff;border-radius:10px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.platform-icon svg[data-v-1b760169]{width:22px;height:22px}.platform-heading h3[data-v-1b760169]{font-size:var(--text-subheading);letter-spacing:-.2px;font-weight:var(--weight-semibold);line-height:var(--leading-heading)}.platform-heading p[data-v-1b760169]{font-size:var(--text-body);margin-top:2px}.home-page .download-button[data-v-1b760169]{color:#176cda;width:100%;min-height:43px;font-size:var(--text-caption);font-weight:var(--weight-semibold);line-height:var(--leading-control);background:#edf5ff;border:1px solid #cfe2fc;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-top:18px;padding:10px 12px;display:flex}.home-page a.download-button[data-v-1b760169]:hover{background:#e2efff;border-color:#accdf7}.home-page .download-button[data-v-1b760169]:disabled{opacity:1;cursor:not-allowed;color:#8793a3;box-shadow:none;background:#f7f9fc;border-color:#e9edf3}.faq-section[data-v-1b760169]{border-left:1px solid #e9eff7;min-width:0;padding-left:32px}.faq-section h2[data-v-1b760169]{font-size:var(--text-section);letter-spacing:-.4px;font-weight:var(--weight-semibold);line-height:var(--leading-heading);margin-bottom:10px}.faq-section details[data-v-1b760169]{border-bottom:1px solid #e9eff7;padding:17px 0}.faq-section summary[data-v-1b760169]{font-size:var(--text-body);font-weight:var(--weight-semibold);cursor:pointer;justify-content:space-between;align-items:center;gap:14px;list-style:none;display:flex}.faq-section summary[data-v-1b760169]::-webkit-details-marker{display:none}.faq-section summary svg[data-v-1b760169]{color:#8793a3;width:16px;height:16px}.faq-section details[open] summary svg[data-v-1b760169]{transform:rotate(180deg)}.faq-section p[data-v-1b760169]{font-size:var(--text-body);line-height:var(--leading-relaxed);margin-top:12px}.home-footer[data-v-1b760169]{background:#f8faff;border-top:1px solid #e9eff7;padding:32px 0 0}.footer-grid[data-v-1b760169]{grid-template-columns:1.3fr minmax(0,1fr);align-items:start;gap:28px;display:grid}.footer-brand[data-v-1b760169]{font-size:var(--text-section);gap:8px}.footer-about p[data-v-1b760169]{font-size:var(--text-caption);line-height:var(--leading-relaxed);margin-top:12px}.footer-branch h2[data-v-1b760169]{font-size:var(--text-section);font-weight:var(--weight-semibold);line-height:var(--leading-heading);margin:5px 0 8px}.footer-branch address[data-v-1b760169],.home-page .branch-phone[data-v-1b760169]{color:var(--home-muted);font-size:var(--text-caption);font-style:normal;line-height:var(--leading-relaxed);align-items:flex-start;gap:8px;display:flex}.footer-branch svg[data-v-1b760169]{color:#7295bf;width:14px;height:14px;margin-top:4px}.home-page .branch-phone[data-v-1b760169]{margin-top:4px}.footer-bottom[data-v-1b760169]{color:#8492a5;font-size:var(--text-caption);border-top:1px solid #e6edf7;justify-content:space-between;gap:12px;margin-top:26px;padding-block:16px;display:flex}.skip-link[data-v-1b760169]{z-index:100;background:#fff;padding:12px;position:fixed;top:8px;left:16px;transform:translateY(-150%)}.skip-link[data-v-1b760169]:focus{transform:none}@media (width>=801px) and (width<=1000px){.home-banner[data-v-1b760169]{gap:16px;padding:24px}.home-banner h2[data-v-1b760169]{font-size:var(--text-display);font-weight:var(--weight-bold);line-height:var(--leading-heading)}.download-options[data-v-1b760169]{grid-template-columns:1fr;gap:12px}.download-card[data-v-1b760169]{padding:15px}}@media (width<=800px){.home-banner[data-v-1b760169]{grid-template-columns:1fr;gap:30px}.download-section[data-v-1b760169]{width:100%;max-width:580px;margin-inline:auto}.home-information[data-v-1b760169]{gap:28px}.faq-section[data-v-1b760169]{padding-left:24px}.footer-grid[data-v-1b760169]{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px}}@media (width<=600px){.home-container[data-v-1b760169]{width:calc(100% - 32px)}.header-inner[data-v-1b760169]{gap:12px;min-height:64px}.home-brand[data-v-1b760169]{font-size:var(--text-section);gap:7px}.home-brand img[data-v-1b760169]{width:30px;height:30px}.admin-link[data-v-1b760169]{font-size:var(--text-caption);gap:6px}.home-main[data-v-1b760169]{padding-top:20px}.home-banner[data-v-1b760169]{border-radius:14px;gap:20px;padding:28px 20px;scroll-margin-top:84px}.home-banner h2[data-v-1b760169]{font-size:var(--text-display);letter-spacing:-.8px;font-weight:var(--weight-bold);line-height:var(--leading-heading)}.home-information[data-v-1b760169]{grid-template-columns:1fr;gap:28px;padding:28px 0}.audience-section[data-v-1b760169]{gap:18px}.download-options[data-v-1b760169]{grid-template-columns:1fr;gap:12px;max-width:380px;margin-top:20px}.download-card[data-v-1b760169]{padding:18px}.faq-section[data-v-1b760169]{border:0;border-top:1px solid #e9eff7;padding:24px 0 0}.footer-grid[data-v-1b760169]{grid-template-columns:1fr;gap:24px}.footer-about[data-v-1b760169]{max-width:360px}.footer-branch h2[data-v-1b760169]{margin:0 0 8px}.footer-bottom[data-v-1b760169]{flex-direction:column;gap:4px;margin-top:24px}}.required-mark[data-v-dd40cf73]{color:#b42318}.login-home[data-v-dd40cf73]{color:var(--ink,#20324e);font-size:var(--text-body);align-items:center;gap:7px;margin-bottom:24px;text-decoration:none;display:inline-flex}.login-home svg[data-v-dd40cf73]{width:16px;height:16px}.login-home[data-v-dd40cf73]:hover{color:#1677ff}.login-card[data-v-dd40cf73]{text-align:left}.login-card>.brand-mark[data-v-dd40cf73]{margin-inline:auto}.login-card>h1[data-v-dd40cf73],.login-card>p[data-v-dd40cf73]{text-align:center}.login-card h1[data-v-dd40cf73]{margin-bottom:24px}.login-card>p[data-v-dd40cf73]{line-height:var(--leading-body);margin-bottom:24px}.login-card label[data-v-dd40cf73]{font-weight:var(--weight-semibold);color:var(--ink);flex-direction:column;gap:7px;margin-bottom:16px;display:flex}.login-card input[data-v-dd40cf73]{width:100%;min-height:44px}.login-card .primary[data-v-dd40cf73]{width:100%;margin-top:8px;display:flex}.login-card>small[data-v-dd40cf73]{text-align:center}.login-error[data-v-dd40cf73]{font-size:var(--text-body);background:#fff1f2;border:1px solid #e7a8b0;border-radius:8px;padding:10px 12px;color:#a9283a!important;margin:0 0 12px!important}.login-options[data-v-dd40cf73]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin-bottom:6px;display:flex}.login-card .remember-option[data-v-dd40cf73]{font-size:var(--text-caption);font-weight:var(--weight-medium);cursor:pointer;flex-direction:row;align-items:center;gap:8px;margin:0;display:inline-flex}.login-card .remember-option input[data-v-dd40cf73]{width:16px;height:16px;min-height:16px;accent-color:var(--blue,#1677ff);flex-shrink:0;margin:0}.login-card .saved-password-button[data-v-dd40cf73]{min-height:32px;box-shadow:none;color:var(--blue,#1677ff);font-size:var(--text-caption);font-weight:var(--weight-semibold);background:0 0;border:0;border-radius:4px;align-items:center;gap:5px;padding:6px 0;display:inline-flex}.saved-password-button svg[data-v-dd40cf73]{width:14px;height:14px}.login-card .password-manager-help[data-v-dd40cf73]{text-align:left;color:var(--muted,#718096);font-size:var(--text-caption);line-height:var(--leading-body);margin:0 0 16px}.login-card .password-manager-message[data-v-dd40cf73]{text-align:left;color:var(--ink);font-size:var(--text-caption);line-height:var(--leading-body);margin:0 0 12px}.password-rules[data-v-5e789fca]{font-size:var(--text-caption);line-height:var(--leading-body);color:var(--secondary);margin:-4px 0 16px}.password-rules ul[data-v-5e789fca]{gap:5px;margin:0;padding:0;list-style:none;display:grid}.password-rules li[data-v-5e789fca]{align-items:flex-start;gap:7px;display:flex}.password-rules li svg[data-v-5e789fca]{flex-shrink:0;width:14px;height:14px;margin-top:2px}.password-rules .met[data-v-5e789fca]{color:var(--ink)}.password-rule-line[data-v-5e789fca]{display:block}.required-mark[data-v-d30631b8]{color:#b42318}.register-card .username-help[data-v-d30631b8]{line-height:var(--leading-body);align-items:flex-start;gap:7px;display:flex}.username-help svg[data-v-d30631b8]{flex-shrink:0;width:14px;height:14px;margin-top:2px}.register-card[data-v-d30631b8]{text-align:left}.register-card>.brand-mark[data-v-d30631b8]{margin-inline:auto}.register-card h1[data-v-d30631b8]{text-align:center;font-size:var(--text-page);font-weight:var(--weight-bold);line-height:var(--leading-heading);margin-bottom:24px}.register-card label[data-v-d30631b8]{font-weight:var(--weight-semibold);gap:7px;margin-bottom:16px;display:grid}.register-card input[data-v-d30631b8]{width:100%;min-height:44px}.register-card p[data-v-d30631b8]{font-size:var(--text-body);line-height:var(--leading-relaxed)}.register-card .field-help[data-v-d30631b8]{font-size:var(--text-caption);color:var(--secondary);margin:-7px 0 16px}.register-card .field-help.error[data-v-d30631b8]{color:var(--danger,#b42318)}.register-card .primary[data-v-d30631b8]{width:100%;margin-top:16px;display:flex}.register-card small[data-v-d30631b8]{text-align:center;margin-top:18px;display:block}.register-home[data-v-d30631b8]{font-size:var(--text-body);color:var(--ink);align-items:center;gap:7px;margin-bottom:24px;text-decoration:none;display:inline-flex}.register-home svg[data-v-d30631b8]{width:16px}.captcha-field[data-v-d30631b8]{border:1px solid var(--line);border-radius:12px;min-width:0;margin:0;padding:16px}.captcha-field legend[data-v-d30631b8]{font-size:var(--text-label);font-weight:var(--weight-semibold);padding:0 6px}.captcha-image-row[data-v-d30631b8]{--captcha-control-height:44px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:16px;display:grid}.captcha-image-row img[data-v-d30631b8]{width:auto;max-width:100%;height:var(--captcha-control-height);aspect-ratio:20/7;object-fit:contain;background:#fff;border-radius:6px}.captcha-image-row span[data-v-d30631b8]{font-size:var(--text-caption)}.captcha-refresh[data-v-d30631b8]{height:var(--captcha-control-height);min-height:var(--captcha-control-height);font-size:var(--text-caption);white-space:nowrap;align-items:center;gap:6px;display:flex}.captcha-refresh svg[data-v-d30631b8]{width:15px;height:15px}.captcha-field label[data-v-d30631b8]{font-size:var(--text-label);margin-bottom:0}.account-page[data-v-f9bc3a67]{max-width:1000px;margin:auto;padding:40px 24px}.account-page.embedded[data-v-f9bc3a67]{padding:0}.account-card[data-v-f9bc3a67]{gap:14px;min-width:0;margin-bottom:20px;padding:24px;display:grid}.account-card h2[data-v-f9bc3a67]{font-size:var(--text-section);font-weight:var(--weight-semibold);line-height:var(--leading-heading);margin:0}.account-card p[data-v-f9bc3a67]{font-size:var(--text-body);color:var(--secondary);line-height:var(--leading-body)}.account-card>button[data-v-f9bc3a67]{justify-self:start;max-width:100%}.account-card>button.primary[data-v-f9bc3a67]{min-height:var(--action-size-form)}.account-card label[data-v-f9bc3a67]{gap:7px;min-width:0;max-width:420px;display:grid}.device-row[data-v-f9bc3a67]{gap:var(--action-group-gap);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;padding-top:16px;display:flex}.device-row>div[data-v-f9bc3a67]{flex:260px;min-width:0}.device-row button[data-v-f9bc3a67]{flex:0 auto;max-width:100%}.device-row strong[data-v-f9bc3a67]{overflow-wrap:anywhere}.device-row small[data-v-f9bc3a67]{overflow-wrap:anywhere;color:var(--secondary);margin-top:7px;display:block}@media (width<=600px){.account-page[data-v-f9bc3a67]{padding:24px 16px}.account-card[data-v-f9bc3a67]{padding:18px}.device-row>div[data-v-f9bc3a67]{flex-basis:100%}}.site-loading[data-v-0aa76839]{text-align:center;place-content:center;gap:16px;min-height:100vh;display:grid}@font-face{font-family:Inter;src:url(/fonts/InterVariable.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{--font-family-ui:Inter, "Segoe UI", Arial, sans-serif;--text-page:28px;--text-section:20px;--text-subheading:16px;--text-body:14px;--text-label:13px;--text-caption:12px;--text-timetable:9px;--text-display:32px;--text-metric:28px;--text-brand:24px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-heading:1.3;--leading-body:1.6;--leading-control:1.45;--leading-caption:1.5;--leading-relaxed:1.75;--glyph-xs:16px;--glyph-sm:20px;--glyph-md:24px;--glyph-lg:28px;--glyph-xl:32px}@media (width<=600px){:root{--text-page:24px;--text-display:28px}}:root{--control-border:#d9e2ec;--control-bg:#fff;--control-text:#20324e;--control-hover:#f3f7fc;--control-selected:#eaf3ff;--control-muted:#748399}html[data-theme=dark]{--control-border:#414c60;--control-bg:#18243c;--control-text:#e4edff;--control-hover:#263750;--control-selected:#203e66;--control-muted:#a5b3c9}html body input:not([type=checkbox]):not([type=radio]):not(.ui-native-proxy),html body textarea,html body .ui-field{appearance:none;box-sizing:border-box;min-height:var(--field-size,40px);border:1px solid var(--control-border);background:var(--control-bg);color:var(--control-text);font:inherit;font-size:var(--text-body);line-height:var(--leading-control);padding:8px var(--action-pad-x,14px);border-radius:11px;transition:border-color .15s,box-shadow .15s}html body textarea{resize:vertical;min-height:96px}html body :is(input,textarea,.ui-field):hover:not(:disabled){border-color:#93b9e5}html body :is(input,textarea,.ui-field):focus-visible,html body .ui-field[aria-expanded=true]{border-color:#1677ff;outline:0;box-shadow:0 0 0 3px #1677ff1a}html body :is(input,textarea,.ui-field):disabled{opacity:.55;cursor:not-allowed;background:var(--control-hover)}html body :is(input,textarea,.ui-field)[aria-invalid=true]{border-color:#d85565;box-shadow:0 0 0 3px #d8556515}html body input:user-invalid{border-color:#d85565;box-shadow:0 0 0 3px #d8556515}.ui-select{vertical-align:middle;min-width:0;font:inherit;flex:1;display:inline-flex;position:relative}html body .ui-select-trigger{text-align:left;width:100%;font-weight:var(--weight-medium);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;display:flex}.ui-select-trigger>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:var(--leading-control);padding-block:2px;display:block;overflow:hidden}.ui-select-trigger>svg{flex-shrink:0}html body .ui-native-proxy{clip-path:inset(50%);opacity:0!important;pointer-events:none!important;border:0!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;position:absolute!important}.ui-popover{z-index:1000;background:var(--control-bg);color:var(--control-text);border:1px solid var(--control-border);font-size:var(--text-body);font-weight:var(--weight-regular);text-align:left;border-radius:12px;padding:5px;box-shadow:0 10px 32px #10264024}.ui-options{overscroll-behavior:contain;padding-bottom:0;scroll-padding-bottom:6px;overflow:visible}.ui-options:after{content:"";height:6px;min-height:6px;display:block}.ui-options.scrollable{overflow:hidden auto}.ui-options>[role=option]{cursor:pointer;min-height:40px;line-height:var(--leading-control);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex}.ui-options>[role=option]>span{padding-block:1px}.ui-options>[role=option].highlighted{background:var(--control-hover)}.ui-options>[role=option].chosen{background:var(--control-selected);color:#1677ff}.ui-options>[role=option].disabled{opacity:.45;cursor:not-allowed}.ui-options{min-width:200px;max-width:calc(100vw - 16px)}.ui-options>[role=option]{white-space:normal;overflow-wrap:break-word}.filters>.ui-select{min-width:155px}.filters{flex-wrap:wrap}.ui-select.toolbar-select{background:0 0;border:0;padding:0}html body .search input{border-radius:0;box-shadow:none!important;background:0 0!important;border:0!important}html body .ui-native-proxy{display:none!important}.ui-input{vertical-align:middle;align-items:center;gap:10px;min-width:0;max-width:100%;display:inline-flex;position:relative}.ui-input>.ui-field,.form-grid .ui-input,.form-grid .ui-select,.filter-field .ui-select{width:100%}.ui-input:has(.ui-upload){flex-wrap:wrap;width:100%;margin-block:6px;display:flex}.ui-input .ui-filename{flex:100px;min-width:100px;display:block}.avatar-upload>label{flex:1;min-width:0}.ui-calendar-toggle{place-items:center;display:grid}html body input[type=number]{appearance:textfield}input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}html body .ui-upload{white-space:nowrap;cursor:pointer;flex:none;justify-content:center;align-items:center;gap:8px;width:auto;display:inline-flex}.ui-filename{font-size:var(--text-caption);color:var(--control-muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}html body .ui-calendar-toggle{width:var(--field-size);height:auto;min-height:var(--field-size);color:var(--control-text);font-size:var(--glyph-md);background:0 0;border:0;border-radius:8px;padding:0;position:absolute;top:0;bottom:0;right:0}.ui-input:has(.ui-calendar-toggle)>input{padding-right:calc(var(--field-size) + 4px)}.ui-calendar{width:280px;max-width:calc(100vw - 32px);position:absolute;top:calc(100% + 5px);right:0}.ui-calendar header{justify-content:space-between;align-items:center;padding:4px;display:flex}.ui-calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.ui-calendar-grid small{text-align:center;color:var(--control-muted);padding:6px}html body .ui-calendar button{min-height:34px;color:var(--control-text);background:0 0;border:0;border-radius:8px;padding:5px}.ui-calendar button:hover{background:var(--control-hover)}html body .ui-calendar button.chosen{color:#fff;background:#1677ff}.ui-calendar button.muted{opacity:.45}html body input:is([type=checkbox],[type=radio]){appearance:none;border:1.5px solid var(--control-border);background:var(--control-bg);vertical-align:middle;cursor:pointer;border-radius:5px;flex-shrink:0;place-content:center;width:18px;min-width:18px;height:18px;min-height:18px;margin:0 5px 0 0;padding:0;display:inline-grid}html body input[type=radio]{border-radius:50%}html body input:is([type=checkbox],[type=radio]):checked{background:#1677ff;border-color:#1677ff}input[type=checkbox]:checked:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:8px;height:4px;transform:rotate(-45deg)translateY(-1px)}input[type=radio]:checked:after{content:"";background:#fff;border-radius:50%;width:7px;height:7px}html body input[role=switch]{border-radius:20px;justify-content:start;width:36px;min-width:36px;padding:2px}input[role=switch]:after{content:"";background:var(--control-muted);border:0;border-radius:50%;width:12px;height:12px;transform:none}input[role=switch]:checked:after{background:#fff;transform:translate(16px)}html body .search{border:1px solid var(--control-border);background:var(--control-bg);border-radius:11px}html body .search input{box-shadow:none;background:0 0;border:0}.search:focus-within{border-color:#1677ff;box-shadow:0 0 0 3px #1677ff1a}html body .sidebar .brand .brand-mark,html body .app-shell.sidebar-collapsed .sidebar .brand .brand-mark,html body .app-shell.sidebar-collapsed .sidebar .brand .brand-image{flex:0 0 37px;width:37px;height:39px}html body .app-shell.sidebar-collapsed .sidebar .brand{flex:0 0 39px;width:37px;height:39px;min-height:39px}html body .sidebar-toggle svg{width:20px;height:20px}html body .sidebar-collapsed .sidebar-toggle svg{width:24px;height:24px}html body .search-input{position:relative}html body .search-input>svg{pointer-events:none;width:18px;height:18px;position:absolute;top:50%;left:15px;transform:translateY(-50%)}html body .search-input>input{width:100%;padding-left:44px!important;padding-right:14px!important}html body .search{align-items:center;gap:10px;padding-inline:12px;display:flex;position:relative}html body .search>svg{pointer-events:none;flex:0 0 18px;width:18px;height:18px;position:static;transform:none}html body .search>input{flex:1;min-width:0;padding-left:4px!important;padding-right:12px!important}html body .ui-input.date-pill{background:0 0;border:0;justify-content:stretch;width:100%;padding:0;display:flex}html body .ui-input.date-pill>.ui-field{width:100%;min-width:0;padding:10px 44px 10px 14px}html body .toolbar-bottom .filter-field>.ui-select,html body .toolbar-bottom .filter-field .ui-select-trigger,html body .toolbar-bottom>.ui-input.date-pill,html body .toolbar-bottom>.ui-input.date-pill>.ui-field,html body .toolbar-bottom>.segmented{box-sizing:border-box;height:auto;min-height:var(--field-size)}html body .toolbar-bottom .filter-field .ui-select-trigger{padding-block:7px}:root{font-family:var(--font-family-ui);color:#20324e;font-synthesis:none;font-size:var(--text-body);line-height:var(--leading-body);background:#f7f9fc}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:#334761;font-weight:var(--weight-semibold);background:#fff;border:1px solid #e1e7ef;border-radius:8px;padding:10px 15px;transition:background .15s}button:hover:not(:disabled){background:#f1f6ff}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #8bbfff}input,select,textarea{color:#334761;background:#fff;border:1px solid #dfe6ef;border-radius:8px;min-width:0;padding:10px 12px}input::placeholder{color:#8c99ab}small{font-size:var(--text-caption);color:#79869a;display:block}h1,h2,h3,p{margin-top:0}h1{font-size:var(--text-page);letter-spacing:-.8px;color:#142640;font-weight:var(--weight-bold);line-height:var(--leading-heading);margin-bottom:10px}h2{font-size:var(--text-section);letter-spacing:-.2px;font-weight:var(--weight-semibold);line-height:var(--leading-heading);margin-bottom:14px}h3{font-size:var(--text-subheading);font-weight:var(--weight-semibold);line-height:var(--leading-heading);margin:26px 0 14px}p{color:#738196;margin-bottom:16px}.primary{color:#fff;background:#1677ff;border-color:#1677ff;padding:12px 18px;box-shadow:0 3px 7px #1677ff1c}.primary:hover:not(:disabled){background:#0868e9}.app-shell{min-height:100vh;display:flex}.sidebar{background:#fff;border-right:1px solid #e6ecf3;flex-direction:column;width:242px;padding:30px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#20334d;font-size:var(--text-brand);font-weight:var(--weight-bold);letter-spacing:-1px;align-items:center;margin:0 12px 34px;text-decoration:none;display:flex;position:relative}.brand>span:not(.brand-mark){color:#1677ff}.brand-mark{color:#fff;width:37px;height:39px;font-size:var(--glyph-lg);background:#1677ff;border-radius:11px;place-items:center;margin-right:10px;display:grid;box-shadow:0 4px 8px #1677ff25}.brand small{font-size:var(--text-caption);letter-spacing:2px;position:absolute;top:32px;left:48px}.workspace{font-size:var(--text-caption);background:#f8fafc;border:1px solid #e9eef5;border-radius:10px;align-items:center;gap:9px;margin-bottom:27px;padding:12px 9px;display:flex}.workspace small{font-size:var(--text-caption);margin-top:3px}.workspace-icon{color:#1677ff;font-weight:var(--weight-bold);background:#fff;border:1px solid #dce6f3;border-radius:6px;padding:4px 9px}.nav-label{font-size:var(--text-caption);font-weight:var(--weight-bold);letter-spacing:1.15px;color:#919caf;margin:0 12px 12px}.nav-item,.nav-muted{font-size:var(--text-label);text-align:left;width:100%;font-weight:var(--weight-medium);white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;margin:2px 0;padding:12px 13px;display:flex}.nav-item span,.nav-muted span{font-size:var(--glyph-sm);text-align:center;width:20px;line-height:20px}.nav-muted{color:#7d8a9c}.nav-item.active{color:#1677ff;font-weight:var(--weight-semibold);background:#eaf3ff}.settings-label{margin-top:30px}.sidebar-bottom{font-size:var(--text-caption);margin-top:auto;padding:30px 12px 0}.sidebar-bottom p{font-size:var(--text-body);line-height:var(--leading-relaxed);margin:8px 0 20px}.secure-icon{color:#1677ff;font-size:var(--glyph-lg)}.version{font-size:var(--text-caption);color:#9aa6b5}.main-shell{width:calc(100% - 242px);min-width:0;margin-left:242px}.topbar{background:#fff;border-bottom:1px solid #e6ecf3;justify-content:space-between;align-items:center;height:80px;padding:0 32px;display:flex}.breadcrumb{font-size:var(--text-caption);color:#8692a3}.breadcrumb span{color:#b5becb;margin:0 14px}.breadcrumb strong{font-weight:var(--weight-medium);color:#465570}.account{font-size:var(--text-caption);align-items:center;gap:10px;display:flex}.account small{font-size:var(--text-caption)}.top-divider{border-left:1px solid #e7ebf2;height:28px;margin:0 12px}.demo-dot{background:#27b17d;border-radius:50%;width:6px;height:6px}main{max-width:1800px;margin:auto;padding:32px}.eyebrow{font-size:var(--text-caption);letter-spacing:1.5px;color:#8795a7;font-weight:var(--weight-semibold);margin-bottom:9px}.page-heading{justify-content:space-between;align-items:center;gap:18px;margin:3px 0 27px;display:flex}.page-heading p{font-size:var(--text-body);margin:0}.stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px;display:grid}.stats article{background:#fff;border:1px solid #e6ecf3;border-radius:12px;align-items:center;gap:15px;padding:22px 18px;display:flex;box-shadow:0 2px 4px #19395903}.stat-icon{width:44px;height:44px;font-size:var(--glyph-md);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.blue{color:#247cf0;background:#edf4ff}.green{color:#21895e;background:#edf9f2}.amber{color:#b87a15!important;background:#fff7e8!important}.rose{color:#c65b6d;background:#fff0f2}.stats strong{font-size:var(--text-metric);line-height:var(--leading-body);color:#172d4b;display:block}.stats strong span{font-size:var(--text-caption);font-weight:var(--weight-regular);color:#8794a7;margin-left:10px}.stats small{font-size:var(--text-caption);margin-bottom:6px}.card{background:#fff;border:1px solid #e6ecf3;border-radius:13px;overflow:hidden;box-shadow:0 3px 7px #1a355205}.card-heading{justify-content:space-between;align-items:center;padding:23px 22px 0;display:flex}.card-heading h2{margin:0}.card-heading>.muted{font-size:var(--text-caption)}.count{color:#477fc4;font-size:var(--text-caption);vertical-align:middle;background:#eef4fc;border-radius:6px;margin-left:6px;padding:2px 7px;display:inline-block}.filters{gap:10px;padding:22px;display:flex}.filters select{font-size:var(--text-caption);flex:1;padding:10px 8px}.search{background:#fff;border:1px solid #dfe6ef;border-radius:8px;align-items:center;gap:9px;padding:0 11px;display:flex}.search span{font-size:var(--glyph-md);color:#8997aa}.search input{width:100%;font-size:var(--text-caption);background:0 0;border:0;outline:none;padding:11px 0}.filters .search{flex:2.5;min-width:220px}.table-scroll{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:var(--text-caption)}thead{color:#7c8a9e;font-size:var(--text-caption);background:#f8fafc}th{font-weight:var(--weight-semibold);white-space:nowrap;border-block:1px solid #ecf0f5;padding:13px 15px}td{vertical-align:middle;border-bottom:1px solid #eef2f6;padding:17px 15px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdff}.user-table{white-space:nowrap}.user-table td:first-child,.user-table th:first-child{padding-left:22px}.person{text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.person strong{font-size:var(--text-caption);color:#273d59}.person small{font-size:var(--text-caption);font-weight:var(--weight-regular);margin-top:3px}.avatar{color:#6680b9;width:36px;height:36px;font-size:var(--glyph-xs);font-weight:var(--weight-semibold);object-fit:cover;background:#edf2ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.avatar.small{width:33px;height:33px}.avatar.large{width:64px;height:64px;font-size:var(--glyph-sm)}.tone-1{color:#b9896e;background:#fff0e9}.tone-2{color:#7f8fbc;background:#eef2fd}.tone-3{color:#a080b1;background:#f5eefa}.tone-4{color:#679d99;background:#e8f5f4}.contact{font-size:var(--text-caption)}.contact small{font-size:var(--text-caption);margin-top:4px}.chip{font-size:var(--text-caption);font-weight:var(--weight-medium);color:#5b7db5;background:#edf3ff;border:0;border-radius:5px;margin:2px 3px 2px 0;padding:4px 8px;display:inline-block}.chip.teacher{color:#8b70c5;background:#f1edff}.chip.academic{color:#548cb9;background:#eaf5ff}.chip.student{color:#5c9c83;background:#e9f6f1}.chip.parent{color:#bc8970;background:#fff2eb}.chip.accountant{color:#b48a3f;background:#fff7e7}.chip.manager{color:#7584b3;background:#eef1ff}.chip.neutral{color:#7c899a;background:#f3f5f9}.muted{color:#8693a5}.status{font-size:var(--text-caption);white-space:nowrap}.green-text{color:#25976a!important}.red-text{color:#c66771!important}.icon-button{font-size:var(--glyph-xs);color:#7f8da1;background:0 0;border:0;padding:5px 8px}.table-footer{color:#8a96a7;font-size:var(--text-caption);border-top:1px solid #eef2f6;justify-content:space-between;align-items:center;padding:17px 22px;display:flex}.table-footer strong{color:#51647d;font-weight:var(--weight-medium)}.pagination{gap:6px;display:flex}.pagination button{font-size:var(--text-caption);font-weight:var(--weight-regular);border-color:#e7edf4;padding:4px 10px}.pagination .selected{color:#1677ff;background:#f2f7ff;border-color:#1677ff}.info-line{font-size:var(--text-caption);color:#8694a6;align-items:center;gap:8px;padding:19px 3px;display:flex}.info-line span{color:#6f96c8;font-size:var(--text-body)}.page-footer{font-size:var(--text-caption);color:#98a4b3;border-top:1px solid #e8edf3;justify-content:space-between;margin-top:36px;padding:20px 0 0;display:flex}.role-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.role-card{padding:24px}.role-card h2{font-size:var(--text-section);font-weight:var(--weight-semibold);line-height:var(--leading-heading);margin-top:20px}.role-card p{min-height:44px;font-size:var(--text-body)}.role-numbers{color:#8090a4;font-size:var(--text-caption);gap:22px;padding:12px 0 22px;display:flex}.role-numbers strong{font-size:var(--text-subheading);color:#28405e}.role-card footer{border-top:1px solid #edf1f6;justify-content:space-between;padding-top:16px;display:flex}.text-button{color:#1677ff;font-size:var(--text-caption);background:0 0;border:0;padding:8px 0}.notice{color:#4f729e;font-size:var(--text-caption);background:#eef5ff;border:1px solid #dceaff;border-radius:10px;gap:12px;margin:0 0 22px;padding:16px 18px;display:flex}.notice p{color:#6f86a4;margin:5px 0 0}.row-between{justify-content:space-between;align-items:center;gap:15px;display:flex}.row-between h2{margin:0}.padded{margin-bottom:22px;padding:25px}.profile-heading{align-items:center;gap:20px;padding:26px;display:flex}.profile-heading button{margin-left:auto}.tabs{border-bottom:1px solid #e1e8f1;gap:24px;margin:20px 0;display:flex}.tabs button{color:#8090a4;background:0 0;border:0;border-radius:0;padding:14px 2px}.tabs button.active{color:#1677ff;border-bottom:2px solid #1677ff}.detail-grid{grid-template-columns:repeat(3,1fr);gap:30px;margin-top:25px;display:grid}.detail-grid small{margin-bottom:8px}.detail-grid strong{font-size:var(--text-body);font-weight:var(--weight-medium)}.role-summary{font-size:var(--text-caption);color:#7c8b9f;align-items:center;gap:14px;margin-top:20px;display:flex}.custom-card{background:#fffdf9;border-color:#f0dcba}.custom-card>p{margin-top:14px}.override-row,.scope-row{font-size:var(--text-caption);border-bottom:1px solid #edf0f5;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;display:flex}.override-row strong{font-weight:var(--weight-medium);margin-right:auto}.permission-sections{grid-template-columns:1fr 1fr;gap:24px;display:grid}.effective-row{font-size:var(--text-caption);border-bottom:1px solid #edf0f5;align-items:center;gap:10px;padding:12px 0;display:flex}.effective-row small{font-size:var(--text-caption);margin-top:4px}.scope-label{font-size:var(--text-caption);color:#8390a2;margin-left:auto}.overlay{z-index:20;background:#16284055;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:#fff;outline:none;flex-direction:column;width:min(650px,100%);height:100%;display:flex;box-shadow:-10px 0 50px #10254620}.drawer.wide{width:min(1000px,95%)}.drawer-head{border-bottom:1px solid #e6ecf3;justify-content:space-between;align-items:center;padding:24px 28px;display:flex}.drawer-head h2{font-size:var(--text-section);font-weight:var(--weight-semibold);line-height:var(--leading-heading);margin:0}.drawer-content{flex:1;padding:26px 28px;overflow:auto}.drawer-content h3:first-child{margin-top:0}.drawer-footer{border-top:1px solid #e6ecf3;justify-content:flex-end;align-items:center;gap:12px;padding:18px 28px;display:flex}.drawer-footer>.muted{font-size:var(--text-caption);margin-right:auto}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-grid label{font-size:var(--text-caption);font-weight:var(--weight-semibold);flex-direction:column;gap:8px;display:flex}.full{grid-column:1/-1}.avatar-upload{align-items:center;gap:16px;margin:20px 0;display:flex}.avatar-upload input{font-size:var(--glyph-xs);width:100%;margin:6px 0;padding:6px;display:block}.avatar-upload label{font-size:var(--glyph-xs)}.role-options{grid-template-columns:1fr 1fr;gap:12px;margin:20px 0;display:grid}.role-options label{font-size:var(--text-caption);border:1px solid #e4eaf3;border-radius:8px;align-items:center;gap:9px;padding:12px;display:flex}input[type=checkbox],input[type=radio]{accent-color:#1677ff;flex-shrink:0;width:15px;height:15px}.granted-list{max-height:200px;font-size:var(--text-caption);grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid;overflow:auto}.permission-group h3{background:#f6f8fb;border-radius:8px;margin:24px 0 0;padding:12px}.permission-row{border-bottom:1px solid #edf1f6;grid-template-columns:1fr 150px 205px;align-items:center;gap:14px;padding:14px 10px;display:grid}.permission-row strong{font-size:var(--text-caption);font-weight:var(--weight-medium)}.permission-row small{font-size:var(--text-caption);margin-top:4px}.permission-row select{font-size:var(--text-caption)}.permission-row.sensitive strong>span{color:#d7877f}.matrix table{min-width:780px}.matrix td{vertical-align:top;padding:14px 10px}.matrix td:first-child{width:155px}.matrix label{font-size:var(--text-caption);align-items:center;gap:6px;margin:0 0 9px;display:flex}.matrix .text-button{font-size:var(--text-caption);display:block}.scope-row select{font-size:var(--text-caption);width:235px}.radio-line{font-size:var(--text-body);gap:10px;margin:22px 0;display:flex}.action-list{gap:12px;margin-bottom:20px;display:grid}.action-list button{text-align:left}.danger-button{color:#c45f6a}.error{color:#ba4255;background:#fff0f2;border-radius:8px;margin-top:20px;padding:12px}.empty{text-align:center;color:#8996a8;padding:50px 20px}.audit-item{border-bottom:1px solid #edf1f6;gap:15px;padding:20px 0;display:flex}.audit-item p{margin:8px 0}.audit-dot{background:#1677ff;border-radius:50%;width:9px;height:9px;margin-top:6px}.toast{color:#fff;z-index:50;background:#183b33;border-radius:10px;padding:15px 25px;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #0002}.back{margin-bottom:15px}@media (width>=1550px){main{padding:42px}.user-table td{padding-block:21px}}@media (width<=1250px){.sidebar{width:218px;padding-inline:12px}.main-shell{width:calc(100% - 218px);margin-left:218px}main{padding:24px}.stats article{gap:10px;padding:17px 12px}.stats strong span{margin:0;display:block}.filters{flex-wrap:wrap}.filters .search{flex-basis:100%}.card-heading>.muted{display:none}.role-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=800px){.sidebar{width:72px;padding:22px 9px}.brand{margin:0 7px 26px;font-size:0}.brand-mark{font-size:var(--glyph-md);flex-shrink:0;margin:0}.brand small,.workspace,.nav-label,.nav-muted,.sidebar-bottom{display:none}.nav-item{justify-content:center;padding:12px;font-size:0}.nav-item span{font-size:var(--glyph-md)}.main-shell{width:calc(100% - 72px);margin-left:72px}.topbar{height:65px;padding:0 18px}.breadcrumb{display:none}.account{margin-left:auto}main{padding:20px}.page-heading{align-items:flex-start}.page-heading h1{font-size:var(--text-page);font-weight:var(--weight-bold);line-height:var(--leading-heading)}.page-heading p{max-width:260px}.page-heading .primary{font-size:var(--text-caption)}.stats{grid-template-columns:1fr 1fr}.role-grid,.permission-sections{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr 1fr}.page-footer{flex-direction:column;gap:15px}.permission-row{grid-template-columns:1fr 125px}.permission-row>.scope-label,.permission-row>select:last-child{grid-column:2}.drawer.wide{width:100%}.profile-heading{flex-wrap:wrap}.profile-heading button{margin-left:0}.tabs{white-space:nowrap;gap:12px;overflow:auto}.override-row{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.drawer-content,.drawer-head{padding:20px}.drawer-head h2{font-size:var(--text-section);font-weight:var(--weight-semibold);line-height:var(--leading-heading)}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.lucide{stroke-width:1.8px;vertical-align:middle;flex-shrink:0;width:18px;height:18px}button:has(>.lucide){justify-content:center;align-items:center;gap:7px;display:inline-flex}.brand-mark .lucide{stroke-width:2px;width:24px;height:24px}.nav-item>.lucide,.nav-muted>.lucide{width:20px;height:20px}.nav-item:has(>.lucide){justify-content:flex-start}.stat-icon .lucide{width:23px;height:23px}.chip .lucide{width:13px;height:13px}.search>.lucide{color:#8a99ac}.notice>.lucide{margin-top:1px}.secure-icon .lucide{width:27px;height:27px}.custom-card h2>.lucide{color:#bd8727;margin-right:5px}.sensitive .lucide{width:13px;height:13px}.account{position:relative}.account-trigger{background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:8px;display:flex}.account-copy{text-align:left}.account-copy small{font-weight:var(--weight-regular);margin-top:3px}.account-trigger>.lucide{color:#8796a9;width:15px}.account-dropdown{z-index:12;background:#fff;border:1px solid #e6ecf3;border-radius:12px;width:235px;padding:7px;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 12px 35px #18304e1c}.account-summary{border-bottom:1px solid #edf1f6;margin-bottom:6px;padding:12px}.account-summary small{margin-top:4px}.account-dropdown button{color:#c35c66;width:100%;font-size:var(--text-body);border:0;justify-content:flex-start}.account-dropdown button:hover:not(:disabled){background:#fff2f3}.menu-dismiss{z-index:11;cursor:default;border:0;border-radius:0;position:fixed;inset:0;background:0 0!important}.signed-out{background:radial-gradient(at top,#eaf3ff,#f7f9fc 65%);place-items:center;min-height:100vh;padding:24px;display:grid}.signout-card{text-align:center;background:#fff;border:1px solid #e6ecf3;border-radius:20px;width:100%;max-width:460px;padding:44px;box-shadow:0 16px 60px #173b6310}.signout-card>.brand-mark{margin:0 auto 12px}.signout-card h1{font-size:var(--text-page);font-weight:var(--weight-bold);line-height:var(--leading-heading);margin-bottom:32px}.signout-symbol{color:#1677ff;background:#edf5ff;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 20px;display:grid}.signout-symbol .lucide{width:28px;height:28px}.signout-card small{font-size:var(--text-caption);line-height:var(--leading-caption);margin-top:24px}.signout-card .primary{width:100%}.toast{align-items:center;gap:8px;display:flex}@media (width<=800px){.nav-item:has(>.lucide){justify-content:center}.account-trigger{padding:5px}.signout-card{padding:30px}}.sidebar-account{border-top:1px solid #e6ecf3;margin-top:auto;padding-top:20px}.sidebar-account .account{width:100%}.sidebar-account .account-trigger{gap:10px;width:100%;padding:10px 8px}.sidebar-account .account-copy{flex:1;min-width:0}.sidebar-account .account-copy strong{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.sidebar-account .account-dropdown{width:100%;min-width:200px;inset:auto auto calc(100% + 10px) 0}.sidebar-account .account-trigger>.lucide{transform:rotate(180deg)}.role-card footer{flex-wrap:wrap;gap:10px}.role-card footer>button{white-space:nowrap;flex-shrink:0;min-height:40px}.role-card footer>.text-button{border-radius:8px;justify-content:center;min-width:112px;padding:10px 14px}.role-card footer>.text-button:hover:not(:disabled){color:#0868e9;background:#eaf3ff}@media (width<=800px){.sidebar-account{padding-top:12px}.sidebar-account .account-copy,.sidebar-account .account-trigger>.lucide{display:none}.sidebar-account .account-trigger{justify-content:center;padding:8px 0}.sidebar-account .account-dropdown{width:220px;left:0}.topbar{justify-content:flex-start}}@media (height<=740px) and (width>=801px){.sidebar{padding-top:20px;padding-bottom:14px}.nav-muted,.nav-item{padding-top:9px;padding-bottom:9px}.settings-label{margin-top:18px}.sidebar-account{padding-top:12px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface:#fff;--canvas:#f4f7fe;--ink:#15245c;--secondary:#52658e;--line:#e1e9f8;--tint:#edf4ff;background:var(--canvas);color:var(--ink);font-size:var(--text-body)}body{background:var(--canvas);color:var(--ink)}h1,h2,h3,.person strong,.stats strong,.role-numbers strong{color:var(--ink)}p,small,.muted,.breadcrumb,.nav-muted{color:var(--secondary)}.sidebar,.topbar,.card,.drawer,.account-dropdown{background:var(--surface);border-color:var(--line)}h1{font-size:var(--text-page);font-weight:var(--weight-bold);line-height:var(--leading-heading)}h2{font-size:var(--text-section);font-weight:var(--weight-semibold);line-height:var(--leading-heading)}h3{font-size:var(--text-subheading);font-weight:var(--weight-semibold);line-height:var(--leading-heading)}.nav-item,.nav-muted,.page-heading p,table,.contact,.person strong{font-size:var(--text-body)}.person small,.contact small,.stats small,.status,.chip,thead,.filters select,.search input,.table-footer,.account-copy strong{font-size:var(--text-label)}.stats strong span,.info-line,.card-heading>.muted,.eyebrow,.nav-label,.page-footer,.account-copy small{font-size:var(--text-caption)}.role-card p,.role-numbers,.text-button,.detail-grid strong,.role-summary,.override-row,.scope-row,.effective-row,.form-grid label,.role-options label,.permission-row strong,.permission-row select,.matrix label,.notice{font-size:var(--text-body)}.scope-label,.effective-row small,.permission-row small,.granted-list{font-size:var(--text-caption)}.person:hover,.person:active,.user-table tbody tr:hover{background:0 0}.person:hover{color:inherit;cursor:pointer}.person:hover strong{color:var(--ink);text-decoration:none}.primary{background:#0868ff;border-color:#0868ff}.nav-item.active{color:#075cdd;background:#e6efff}.theme-toggle{color:#2756a0;background:var(--surface);border-color:var(--line);align-items:center;gap:9px;margin-left:auto;padding:10px 14px;display:inline-flex}.theme-toggle:hover{background:var(--tint)}.user-table td{padding-block:18px}.role-card footer>button{font-size:var(--text-body)}.role-card footer>.text-button{min-width:120px}.account-trigger{color:var(--ink)}.account-copy strong{font-size:var(--text-body)}.account-copy small{font-size:var(--text-caption)}.role-card p{min-height:63px}.card-heading,.topbar{gap:15px}.profile-heading h1{font-size:var(--text-page);font-weight:var(--weight-bold);line-height:var(--leading-heading)}.tabs button{font-size:var(--text-body)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface:#18243c;--canvas:#10192c;--ink:#e4edff;--secondary:#acbad5;--line:#30415e;--tint:#223756}html[data-theme=dark] .main-shell,html[data-theme=dark] .app-shell{background:var(--canvas)}html[data-theme=dark] button,html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:var(--surface);color:var(--ink);border-color:var(--line)}html[data-theme=dark] button:hover:not(:disabled){background:#253a5a}html[data-theme=dark] .primary{color:#fff;background:#287bff;border-color:#287bff}html[data-theme=dark] .primary:hover:not(:disabled){background:#428dff}html[data-theme=dark] .stats article,html[data-theme=dark] .search,html[data-theme=dark] .signout-card{background:var(--surface);border-color:var(--line)}html[data-theme=dark] .search input,html[data-theme=dark] .person,html[data-theme=dark] .person:hover,html[data-theme=dark] .user-table tbody tr:hover{background:0 0}html[data-theme=dark] th,html[data-theme=dark] td,html[data-theme=dark] .table-footer,html[data-theme=dark] .page-footer,html[data-theme=dark] .tabs,html[data-theme=dark] .drawer-head,html[data-theme=dark] .drawer-footer,html[data-theme=dark] .sidebar-account,html[data-theme=dark] .role-card footer,html[data-theme=dark] .account-summary,html[data-theme=dark] .permission-row,html[data-theme=dark] .effective-row,html[data-theme=dark] .scope-row,html[data-theme=dark] .override-row,html[data-theme=dark] .audit-item{border-color:var(--line)}html[data-theme=dark] thead,html[data-theme=dark] .permission-group h3{color:#b9c9e5;background:#1d2e49}html[data-theme=dark] .nav-item,html[data-theme=dark] .text-button{background:0 0}html[data-theme=dark] .nav-item.active,html[data-theme=dark] .notice{color:#b4d1ff;background:#20395a;border-color:#33547d}html[data-theme=dark] .notice p,html[data-theme=dark] .breadcrumb strong,html[data-theme=dark] .table-footer strong{color:#bbceee}html[data-theme=dark] .custom-card{background:#2c2930;border-color:#62533d}html[data-theme=dark] .chip,html[data-theme=dark] .count,html[data-theme=dark] .blue{color:#b6d1ff;background:#233e66}html[data-theme=dark] .amber{color:#ffd181!important;background:#453823!important}html[data-theme=dark] .green{color:#98dec2;background:#203f38}html[data-theme=dark] .rose,html[data-theme=dark] .error{color:#ffb3c1;background:#462d3b}html[data-theme=dark] .red-text,html[data-theme=dark] .danger-button,html[data-theme=dark] .account-dropdown button{color:#fda2b2!important}html[data-theme=dark] .brand{color:var(--ink)}html[data-theme=dark] .text-button,html[data-theme=dark] .tabs button.active{color:#89b9ff}html[data-theme=dark] .signed-out{background:var(--canvas)}html[data-theme=dark] .role-card footer>.text-button:hover:not(:disabled){color:#bcd7ff;background:#284368}html[data-theme=dark] .brand-mark{color:#fff}html[data-theme=dark] .search input::placeholder{color:#a3b1cb}@media (width<=800px){.nav-item,.nav-muted{font-size:0}.theme-toggle{font-size:var(--text-body)}.page-heading h1{font-size:var(--text-page);font-weight:var(--weight-bold);line-height:var(--leading-heading)}.account-copy{display:none}.page-heading{flex-wrap:wrap}}@media (height<=820px) and (width>=801px){.sidebar .nav-item,.sidebar .nav-muted{padding-block:8px}.sidebar .settings-label{margin-top:16px}.sidebar .brand{margin-bottom:24px}}.sidebar{padding-top:54px;transition:width .22s}.sidebar-toggle{color:#64748b;background:0 0;border:0;place-items:center;width:34px;height:34px;padding:7px;display:grid;position:absolute;top:14px;right:12px}.sidebar-toggle:hover{background:#edf4ff}.sidebar-toggle svg{width:18px}.app-shell.sidebar-collapsed .sidebar{width:68px;padding-inline:10px}.app-shell.sidebar-collapsed .main-shell{width:calc(100% - 68px);margin-left:68px}.app-shell.sidebar-collapsed .brand{width:38px;margin-inline:auto;overflow:hidden}.app-shell.sidebar-collapsed .brand>span:not(.brand-mark),.app-shell.sidebar-collapsed .brand small,.app-shell.sidebar-collapsed .workspace,.app-shell.sidebar-collapsed .nav-label,.app-shell.sidebar-collapsed .nav-item:not(.active):after,.app-shell.sidebar-collapsed .nav-item{font-size:0}.app-shell.sidebar-collapsed .nav-item{justify-content:center;gap:0;padding-inline:0;position:relative}.app-shell.sidebar-collapsed .nav-item svg{width:24px;height:24px}.app-shell.sidebar-collapsed .sidebar-toggle{right:17px}.app-shell.sidebar-collapsed .sidebar-account .account-copy,.app-shell.sidebar-collapsed .account-trigger>svg{display:none}.app-shell.sidebar-collapsed .account-trigger{justify-content:center;padding:8px}.app-shell.sidebar-collapsed .sidebar-bottom{display:none}@media (width<=760px){.sidebar-toggle{right:8px}}.app-shell.sidebar-collapsed .brand{place-items:center;width:46px;height:46px;margin:0 auto 28px;font-size:0;display:grid}.app-shell.sidebar-collapsed .brand .brand-mark{width:46px;height:46px;font-size:var(--glyph-xl);border-radius:13px;margin:0}.app-shell.sidebar-collapsed .brand>span:not(.brand-mark),.app-shell.sidebar-collapsed .brand small{display:none}button{min-height:var(--action-size,40px);padding:8px var(--action-pad-x,14px);border-radius:var(--action-radius,9px)}.sidebar{overscroll-behavior:contain;overflow-y:auto}button.text-button{padding:8px var(--action-pad-x,14px);min-height:var(--action-size,40px);white-space:normal}:is(.nav-item,.nav-item:has(>.lucide)){width:100%;min-height:var(--action-size);padding:8px var(--action-pad-x);border-radius:var(--action-radius);justify-content:flex-start;gap:12px;display:flex}.account-dropdown{padding:8px}:is(.account-dropdown button,.action-list button,.action-list button:has(>.lucide)){width:100%;min-height:var(--action-size);padding:8px var(--action-pad-x);text-align:left;border-radius:var(--action-radius);justify-content:flex-start;display:flex}.sidebar-account .account-trigger{border-radius:10px;width:100%;min-height:48px;padding:10px 12px}.icon-button,.pagination button{min-width:var(--action-size);min-height:var(--action-size);border-radius:var(--action-radius);justify-content:center;align-items:center;padding:0;display:inline-flex}button.chip{min-height:var(--action-size-compact);padding:5px var(--action-pad-x-compact);gap:var(--action-gap);border-radius:8px}.tabs button{min-height:var(--action-size-form);padding:10px var(--action-pad-x);flex-shrink:0}.role-card footer{gap:var(--action-group-gap)}.role-card footer>button,.role-card footer>.text-button{min-height:var(--action-size);padding:8px var(--action-pad-x)}.matrix .text-button{width:100%;min-height:var(--action-size-compact);padding:5px var(--action-pad-x-compact);text-align:left;border-radius:8px}.matrix label{width:100%;min-height:var(--action-size-compact);padding:5px var(--action-pad-x-compact);gap:var(--action-gap);cursor:pointer;border-radius:8px;margin:0}.role-options label{width:100%;min-height:var(--action-size-form);padding:10px var(--action-pad-x);border-radius:var(--action-radius);cursor:pointer}.radio-line{min-height:var(--action-size);padding:8px var(--action-pad-x);border-radius:var(--action-radius);cursor:pointer;align-items:center}.filters select,.permission-row select,.scope-row select{min-height:var(--field-size);padding:8px var(--action-pad-x);border-radius:var(--action-radius)}.search{min-height:var(--field-size);padding-inline:var(--action-pad-x)}.permission-row{padding:12px 14px}.person,.person:hover,.person:active{min-height:var(--action-size);text-align:left;background:0 0;border-radius:8px;justify-content:flex-start;width:100%;padding:0}.menu-dismiss{border-radius:0;min-height:0;padding:0}@media (width<=800px){:is(.nav-item,.nav-item:has(>.lucide)){min-width:var(--action-size);min-height:var(--action-size);justify-content:center;padding:8px}.sidebar-account .account-trigger{min-width:var(--action-size);min-height:var(--action-size-form);justify-content:center;padding:8px}.tabs{gap:var(--action-gap)}}@media (height<=820px) and (width>=801px){.sidebar .nav-item{min-height:var(--action-size);padding:8px var(--action-pad-x)}}.collection-toolbar{flex-wrap:wrap;align-items:center;gap:14px;margin:0 0 22px;display:flex}.collection-toolbar .search{flex:1;min-width:220px}.collection-toolbar select{min-height:42px;padding:10px 14px}.collection-toolbar>.muted{font-size:var(--text-body)}.empty>.lucide{width:30px;height:30px;margin-bottom:16px}.empty h2{margin-bottom:10px}.clear-filters{flex-shrink:0}.unsaved-notice{background:var(--tint);border-bottom:1px solid var(--line);gap:14px;padding:20px 26px;display:flex}.unsaved-notice>.lucide{color:#b7832b;width:23px;height:23px;margin-top:4px}.unsaved-notice h3{margin:0 0 8px}.unsaved-notice p{margin:0 0 16px}.unsaved-actions{flex-wrap:wrap;gap:10px;display:flex}.drawer-content[inert],.drawer-footer[inert]{opacity:.45}.action-menu-overlay{z-index:30;position:fixed;inset:0}.user-action-menu{border:1px solid var(--line);background:var(--surface);width:min(270px,100vw - 24px);max-height:calc(100vh - 24px);color:var(--ink);border-radius:12px;padding:8px;position:fixed;overflow:auto;box-shadow:0 12px 40px #10223e26}.action-menu-title{font-size:var(--text-body);font-weight:var(--weight-semibold);overflow-wrap:anywhere;border-bottom:1px solid var(--line);margin-bottom:5px;padding:10px 14px 12px}:is(.user-action-menu button,.user-action-menu button:has(>.lucide)){text-align:left;width:100%;min-height:42px;font-size:var(--text-body);font-weight:var(--weight-medium);background:0 0;border:0;border-radius:8px;justify-content:flex-start;align-items:center;gap:12px;padding:10px 14px;display:flex}.user-action-menu button:hover:not(:disabled){background:var(--tint)}.menu-separator{border-top:1px solid var(--line);margin:6px 8px}.protected-note{font-size:var(--text-caption);padding:6px 14px}.schedule-page{--schedule-blue:#1677ff;--schedule-border:#e4ebf5;color:#15245c}.schedule-heading{margin-bottom:20px}.heading-actions{gap:10px;display:flex}.heading-actions button{white-space:nowrap}.schedule-stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px;display:grid}.schedule-stats article{border:1px solid var(--schedule-border);background:#fff;border-radius:9px;align-items:center;gap:13px;min-height:90px;padding:13px 14px;display:flex}.schedule-stat-icon{border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.schedule-stat-icon svg{width:23px}.schedule-stat-icon.blue{color:#1677ff;background:#e6f1ff}.schedule-stat-icon.sky{color:#2487e8;background:#e4f2ff}.schedule-stat-icon.amber{color:#e89a13;background:#fff1dc}.schedule-stat-icon.rose{color:#ee3564;background:#ffe9f0}.schedule-stats article div{min-width:0}.schedule-stats small{color:#344c78;font-size:var(--text-caption)}.schedule-stats strong{font-size:var(--text-metric);line-height:var(--leading-body);color:#15245c;margin:3px 0;display:block}.schedule-stats em{font-style:normal;font-size:var(--text-caption);color:#6e82a9;white-space:nowrap}.schedule-stats em.up{color:#11a875}.schedule-stats em.danger{color:#ed4563}.capacity{background:#e7eef7;border-radius:8px;width:128px;height:7px;margin-top:5px;display:block}.capacity b{background:#16b985;border-radius:8px;width:75%;height:100%;display:block}.schedule-layout{grid-template-columns:minmax(0,1fr) 284px;gap:14px;display:grid}.schedule-layout main{min-width:0}.schedule-toolbar{border:1px solid var(--schedule-border);background:#fff;border-radius:9px;align-items:end;gap:8px;margin-bottom:12px;padding:10px;display:flex;overflow:auto}.schedule-toolbar label{color:#5c6f93;font-size:var(--text-caption);flex-direction:column;gap:4px;min-width:82px;display:flex}.schedule-toolbar select,.schedule-toolbar input{height:34px;font-size:var(--text-caption);border-radius:6px;padding:6px 8px}.schedule-search{position:relative;min-width:210px!important}.schedule-search svg{color:#7083a5;width:15px;position:absolute;bottom:9px;left:8px}.schedule-search input{padding-left:29px}.date-filter{white-space:nowrap;height:34px;font-size:var(--text-caption);padding:6px 9px}.date-filter svg{width:14px}.view-switch{gap:0;display:flex}.view-switch button{height:34px;font-size:var(--text-caption);border-radius:0;padding:6px 9px}.view-switch button:first-child{border-radius:6px 0 0 6px}.view-switch button:last-child{border-radius:0 6px 6px 0}.view-switch .active{color:#fff;background:#1677ff;border-color:#1677ff}.schedule-calendar{padding:0;overflow:hidden}.schedule-calendar>header{border-bottom:1px solid var(--schedule-border);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.schedule-calendar h2{font-size:var(--text-section);font-weight:var(--weight-semibold);line-height:var(--leading-heading);margin:0 0 3px}.schedule-calendar header span{font-size:var(--text-caption);color:#7587a8}.calendar-nav{gap:5px;display:flex}.calendar-nav button{font-size:var(--text-caption);padding:7px 9px}.calendar-nav svg{width:15px}.calendar-grid{min-width:720px}.calendar-days{border-bottom:1px solid var(--schedule-border);grid-template-columns:52px repeat(7,1fr);display:grid}.calendar-days>div{text-align:center;border-left:1px solid var(--schedule-border);font-size:var(--text-caption);padding:8px 3px}.calendar-days b,.calendar-days small{display:block}.calendar-days small{font-size:var(--text-caption);color:#7889aa;margin-top:2px}.calendar-days .today{color:#0868ff;background:#eff6ff}.calendar-scroll{height:570px;display:flex;overflow:auto}.calendar-times{background:#fbfcfe;flex:0 0 52px;width:52px}.calendar-times span{text-align:right;height:60px;font-size:var(--text-caption);color:#8293b2;padding:4px 5px 0;display:block}.calendar-days-body{flex:1;grid-template-columns:repeat(7,minmax(100px,1fr));min-width:700px;display:grid}.calendar-day{border-left:1px solid var(--schedule-border);background:repeating-linear-gradient(#0000 0 59px,#edf1f7);position:relative}.calendar-day.today{background-color:#fafdff}.calendar-day>i{border-bottom:1px solid #edf1f7;height:60px;display:block}.schedule-event{z-index:1;text-align:left;font-size:var(--text-caption);line-height:var(--leading-body);border:0;border-left:3px solid;border-radius:5px;padding:6px 7px;display:block;position:absolute;left:4px;right:4px;overflow:hidden;box-shadow:0 2px 4px #5c78a21c}.schedule-event b,.schedule-event strong,.schedule-event small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.schedule-event strong{font-size:var(--text-caption);color:inherit;margin:2px 0}.schedule-event small{font-size:var(--text-caption);color:inherit;opacity:.84}.schedule-event.guitar{color:#1760a5;background:#e6f4ff;border-color:#1681ef}.schedule-event.piano{color:#7342a4;background:#f0e9ff;border-color:#9847e7}.schedule-event.organ{color:#ae2f6d;background:#ffe8f3;border-color:#ed4290}.schedule-event.electric{color:#218654;background:#e1faeb;border-color:#20b765}.schedule-event.group{color:#9d711e;background:#fff0d7;border-color:#f6a821}.schedule-event.conflict{box-shadow:0 0 0 1px #ff9e10,0 2px 5px #5c78a21c}.schedule-event.conflict svg{color:#f04455;width:13px;position:absolute;top:5px;right:5px}.schedule-legend{border-top:1px solid var(--schedule-border);font-size:var(--text-caption);color:#627496;gap:18px;padding:10px 16px;display:flex}.schedule-legend span{align-items:center;gap:5px;display:flex}.schedule-legend i,.color-note em{border-radius:50%;width:10px;height:10px;display:inline-block}.schedule-legend .guitar,.color-note .guitar{background:#1681ef}.schedule-legend .piano,.color-note .piano{background:#9847e7}.schedule-legend .organ,.color-note .organ{background:#ed4290}.schedule-legend .electric,.color-note .electric{background:#20b765}.schedule-legend .group,.color-note .group{background:#f6a821}.schedule-side{flex-direction:column;gap:12px;display:flex}.schedule-side-card{border:1px solid var(--schedule-border);background:#fff;border-radius:9px;padding:12px;overflow:hidden}.schedule-side-card>header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.schedule-side-card h2{font-size:var(--text-section);font-weight:var(--weight-semibold);line-height:var(--leading-heading);margin:0}.schedule-side-card header a{font-size:var(--text-caption);color:#0872ed;white-space:nowrap}.issue-item{text-align:left;width:100%;font-size:var(--text-caption);border:0;border-top:1px solid #edf1f6;border-radius:0;align-items:flex-start;gap:8px;padding:10px 0 7px;display:flex}.issue-icon{border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;display:grid}.issue-icon svg{width:13px}.issue-icon.rose{color:#ef4761;background:#ffe7ec}.issue-icon.amber{color:#ee9917;background:#fff0d9}.issue-icon.blue{color:#1681ef;background:#e5f1ff}.issue-item>span:nth-child(2){flex:1;min-width:0}.issue-item b,.issue-item small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.issue-item b{color:#1a2c5d}.issue-item small{font-size:var(--text-caption);color:#7890b5;margin-top:2px}.issue-item em,.selected-title em{font-style:normal;font-size:var(--text-caption);white-space:nowrap;border-radius:12px;padding:4px 6px}.issue-item em.rose,.selected-title em.rose{color:#ed4765;background:#fff0f2}.issue-item em.amber,.selected-title em.amber{color:#de8d08;background:#fff2dc}.issue-item em.blue{color:#1681ef;background:#e8f3ff}.selected-title{border-left:2px solid #e546ba;align-items:flex-start;gap:8px;margin:5px 0 11px;padding-left:7px;display:flex}.selected-title>span{display:none}.selected-title div{flex:1;min-width:0}.selected-title h3{font-size:var(--text-subheading);color:#24376c;font-weight:var(--weight-semibold);line-height:var(--leading-heading);margin:0 0 4px}.selected-title b{font-size:var(--text-caption);color:#6e81a5;font-weight:var(--weight-medium)}.selected-detail p{font-size:var(--text-body);color:#52698e;align-items:center;gap:7px;margin:8px 0;display:flex}.selected-detail p svg{color:#7185a8;width:15px}.selected-detail footer{border-top:1px solid #edf1f6;gap:5px;margin-top:10px;padding-top:10px;display:flex}.selected-detail footer button{font-size:var(--text-caption);white-space:nowrap;flex:1;padding:7px 8px}.selected-detail footer .primary{flex:1.2}.selected-detail footer .primary svg{width:13px}.color-note>h2{margin-bottom:9px}.color-note>div{grid-template-columns:1fr 1fr;gap:10px;display:grid}.color-note>div>span{flex-direction:column;gap:6px;display:flex}.color-note b{font-size:var(--text-caption)}.color-note i{font-style:normal;font-size:var(--text-caption);color:#65799e;align-items:center;gap:6px;display:flex}.form-label{font-size:var(--text-label);flex-direction:column;gap:6px;margin-bottom:15px;display:flex}.form-label input{width:100%}@media (width<=1100px){.schedule-stats{grid-template-columns:repeat(2,1fr)}.schedule-layout{grid-template-columns:1fr}.schedule-side{grid-template-columns:repeat(2,1fr);display:grid}.color-note{grid-column:span 2}}@media (width<=720px){.schedule-heading{flex-direction:column;align-items:flex-start}.schedule-stats{grid-template-columns:1fr}.schedule-side{display:flex}.color-note{grid-column:auto}.heading-actions{width:100%}.heading-actions button{flex:1}.schedule-toolbar{flex-wrap:wrap;align-items:stretch}.schedule-toolbar label{flex:1}.schedule-search{flex-basis:100%}.date-filter,.view-switch{flex:1}.schedule-calendar>header{flex-direction:column;align-items:flex-start;gap:9px}}.class-note{margin-top:30px}.inbox{grid-template-columns:320px minmax(0,1fr);min-height:570px;display:grid}.conversation-list{border-right:1px solid var(--line);padding:14px}.channel-tabs{gap:6px;margin-bottom:14px;display:flex}.channel-tabs button{flex:1;padding:10px 12px}.conversation-list>.search{margin-bottom:14px}.conversation-item{text-align:left;background:0 0;border:0;gap:12px;width:100%;min-height:98px;margin-bottom:6px;justify-content:flex-start!important;align-items:flex-start!important;padding:14px!important;display:flex!important}.conversation-copy{flex:1;min-width:0}.conversation-copy strong{font-size:var(--text-body)}.conversation-copy small{text-overflow:ellipsis;white-space:nowrap;font-weight:var(--weight-regular);margin-top:5px;overflow:hidden}.conversation-item.selected,.channel-tabs .selected{background:var(--tint);color:var(--ink)}.conversation{flex-direction:column;min-width:0;display:flex}.conversation>header{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:18px;display:flex}.message-stream{background:var(--canvas);flex-direction:column;flex:1;gap:16px;max-height:420px;padding:24px;display:flex;overflow:auto}.conversation-date{text-align:center;color:var(--secondary);font-size:var(--text-caption)}.message-bubble{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-self:flex-start;max-width:85%;padding:14px 18px}.message-bubble p{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:6px}.message-bubble.outgoing{background:var(--tint);align-self:flex-end}.message-bubble small{text-align:right;font-size:var(--text-caption)}.composer{border-top:1px solid var(--line);padding:18px}.composer label{font-size:var(--text-label);margin-bottom:8px;display:block}.composer textarea{resize:vertical;width:100%}.composer>div{justify-content:space-between;align-items:center;gap:14px;margin-top:12px;display:flex}.composer small{font-size:var(--text-caption)}.inbox-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex}.inbox-empty>.lucide{width:42px;height:42px;color:var(--secondary);margin-bottom:20px}@media (width<=1050px){.inbox{grid-template-columns:260px minmax(0,1fr)}.composer>div{flex-direction:column;align-items:flex-start}}@media (width<=800px){.inbox{grid-template-columns:1fr}.inbox.has-conversation .conversation-list,.inbox:not(.has-conversation) .inbox-empty{display:none}.conversation-list{border-right:0}.channel-tabs{flex-wrap:wrap}}@media (height<=820px) and (width>=801px){.sidebar .nav-item,.sidebar .nav-muted{min-height:36px;padding-block:6px}.sidebar .nav-label{margin-bottom:6px}.sidebar .settings-label{margin-top:12px}.sidebar .brand{margin-bottom:18px}}.brand-mark .brand-image{object-fit:contain;border-radius:inherit;width:100%;height:100%;display:block}.app-shell.sidebar-collapsed .sidebar-toggle{margin-inline:0;left:50%;right:auto;transform:translate(-50%)}.app-shell.sidebar-collapsed .sidebar .brand{letter-spacing:0;flex:0 0 46px;justify-content:center;align-self:center;align-items:center;width:46px;height:46px;min-height:46px;margin:0 auto 28px;padding:0;font-size:0;line-height:0;display:flex;overflow:visible}.app-shell.sidebar-collapsed .sidebar .brand .brand-mark{flex:0 0 46px;width:46px;height:46px;margin:0;padding:0;display:block}.app-shell.sidebar-collapsed .sidebar .brand .brand-image{object-fit:contain;width:46px;max-width:none;height:46px;display:block}html body .sidebar{scrollbar-gutter:stable both-edges;overflow-x:hidden}html body .main-shell{transition:margin-left .22s,width .22s}html body .app-shell.sidebar-collapsed .sidebar{padding-inline:0}html body .app-shell.sidebar-collapsed .sidebar .nav-item{justify-content:center;width:100%;margin-inline:0;padding-inline:0;display:flex}html body .app-shell.sidebar-collapsed .sidebar .brand{margin-inline:auto}@media (prefers-reduced-motion:reduce){html body .main-shell,html body .sidebar{transition:none}}@media (width<=800px){html body .sidebar{padding-inline:0}html body .sidebar .brand{letter-spacing:0;justify-content:center;align-items:center;width:37px;height:39px;margin-inline:auto;font-size:0;display:flex}html body .sidebar .brand>span:not(.brand-mark){display:none}html body .sidebar .nav-item{justify-content:center;gap:0;width:100%;padding-inline:0}html body .sidebar-toggle{left:50%;right:auto;transform:translate(-50%)}}@media (width>=801px){html body .app-shell:not(.sidebar-collapsed) .sidebar{scrollbar-gutter:stable;padding-left:10px;padding-right:12px}html body .app-shell:not(.sidebar-collapsed) .sidebar .brand,html body .app-shell:not(.sidebar-collapsed) .sidebar .nav-label{margin-left:0;margin-right:0}html body .app-shell:not(.sidebar-collapsed) .sidebar .nav-item,html body .app-shell:not(.sidebar-collapsed) .sidebar .nav-muted{padding-left:0;padding-right:10px}html body .app-shell:not(.sidebar-collapsed) .sidebar .sidebar-account{padding-inline:0}html body .app-shell:not(.sidebar-collapsed) .sidebar .account-trigger{padding-left:0}}html body .app-shell.sidebar-collapsed .sidebar .brand,html body .app-shell.sidebar-collapsed .sidebar .nav-item,html body .app-shell.sidebar-collapsed .sidebar .nav-muted,html body .app-shell.sidebar-collapsed .sidebar .nav-item.active,html body .app-shell.sidebar-collapsed .sidebar .account-trigger{transform:translate(-10px)}html body .app-shell.sidebar-collapsed .sidebar .sidebar-toggle{transform:translate(calc(-50% - 10px))}@media (width>=801px){html body .app-shell:not(.sidebar-collapsed) .sidebar .nav-item{isolation:isolate;background:0 0;position:relative}html body .app-shell:not(.sidebar-collapsed) .sidebar .nav-item:before{content:"";z-index:-1;background:0 0;border-radius:8px;transition:background-color .15s;position:absolute;inset:0 0 0 -40px}html body .app-shell:not(.sidebar-collapsed) .sidebar .nav-item:hover:before{background:#f1f6ff}html body .app-shell:not(.sidebar-collapsed) .sidebar .nav-item.active:before,html body .app-shell:not(.sidebar-collapsed) .sidebar .nav-item.active:hover:before{background:#e6efff}html[data-theme=dark] body .app-shell:not(.sidebar-collapsed) .sidebar .nav-item:hover:before{background:#253a5a}html[data-theme=dark] body .app-shell:not(.sidebar-collapsed) .sidebar .nav-item.active:before{background:#20395a}}.sidebar-brand-header,.brand-copy{display:contents}.brand-name{color:var(--ink)}.brand-name>span{color:#1677ff}@media (width>=801px){html body .app-shell:not(.sidebar-collapsed) .sidebar{padding-top:24px}html body .app-shell:not(.sidebar-collapsed) .sidebar .sidebar-brand-header{justify-content:center;align-items:center;gap:12px;margin-bottom:24px;display:flex}html body .app-shell:not(.sidebar-collapsed) .sidebar .brand{align-items:center;min-height:54px;margin:0}html body .app-shell:not(.sidebar-collapsed) .sidebar .brand-copy{color:var(--ink);line-height:var(--leading-heading);flex-direction:column;justify-content:center;display:flex}html body .app-shell:not(.sidebar-collapsed) .sidebar .brand-copy small{line-height:var(--leading-caption);margin:0;position:static}html body .app-shell:not(.sidebar-collapsed) .sidebar .sidebar-toggle{flex:0 0 34px;order:2;margin:0;position:static;transform:none}}html body .app-shell .sidebar .sidebar-toggle:is(:hover,:active){box-shadow:none;background:0 0;border:0}html body .app-shell .sidebar .sidebar-toggle:focus:not(:focus-visible){box-shadow:none;outline:none}html:root[data-theme=dark]{--canvas:#0d1117;--surface:#161b22;--ink:#e6edf3;--secondary:#9da7b3;--line:#30363d;--tint:#21262d;--hover:#292e36;--accent:#58a6ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=dark] :is(.sidebar,.topbar,.card,.drawer,.stats article,.account-dropdown,.user-action-menu,.search,.signout-card){background:var(--surface);border-color:var(--line);color:var(--ink)}html[data-theme=dark] :is(button,input,select,textarea){background:var(--tint);border-color:var(--line);color:var(--ink)}html[data-theme=dark] :is(button,.text-button,.nav-item,.account-trigger,.account-dropdown button,.user-action-menu button,.role-card footer>button,.role-card footer>.text-button,.pagination button,.channel-tabs button,.conversation-item):not(:disabled):is(:hover,:active){background:var(--hover);color:var(--ink);border-color:#484f58}html[data-theme=dark] :is(.nav-item,.text-button,.icon-button,.account-trigger,.user-action-menu button,.conversation-item){background:0 0}html[data-theme=dark] :is(.primary,.primary:hover:not(:disabled),.primary:active){color:#fff;background:#1f6feb;border-color:#388bfd}html[data-theme=dark] :is(.primary:hover:not(:disabled),.primary:active){background:#388bfd}html[data-theme=dark] :is(.person,.person:hover,.person:active,.user-table tbody tr:hover,.search input,.menu-dismiss){background:0 0!important}html[data-theme=dark] :is(thead,.permission-group h3){color:var(--secondary);background:#21262d}html[data-theme=dark] :is(p,small,.muted,.breadcrumb,.breadcrumb strong,.nav-muted,.scope-label,.stats strong span,.info-line,.page-footer){color:var(--secondary)}html[data-theme=dark] :is(h1,h2,h3,.person strong,.stats strong,.role-numbers strong,.account-copy strong){color:var(--ink)}html[data-theme=dark] :is(.notice,.unsaved-notice){color:#79c0ff;background:#15243a;border-color:#26456d}html[data-theme=dark] .notice p{color:#a2b8d3}html[data-theme=dark] :is(.custom-card,.amber){border-color:#57492a;color:#e3b341!important;background:#2b2517!important}html[data-theme=dark] :is(.chip,.count,.blue,.avatar){color:#a5cfff;background:#203047}html[data-theme=dark] :is(.green,.chip.student){color:#7ee2a0;background:#183526}html[data-theme=dark] :is(.rose,.error){color:#ffa198;background:#3a2025}html[data-theme=dark] :is(.chip.teacher,.chip.manager){color:#d2a8ff;background:#2e2540}html[data-theme=dark] :is(.chip.parent,.chip.accountant){color:#e3b341;background:#342b1d}html[data-theme=dark] .chip.neutral{color:#b1bac4;background:#272e36}html[data-theme=dark] .green-text{color:#7ee2a0!important}html[data-theme=dark] :is(.red-text,.danger-button,.account-dropdown button){color:#ff938a!important}html[data-theme=dark] .tabs button.active{color:#79c0ff;border-bottom-color:#58a6ff}html[data-theme=dark] .brand-mark{color:#fff;background:#1f6feb}html[data-theme=dark] .overlay{background:#010409b3}html[data-theme=dark] :is(.drawer,.user-action-menu,.account-dropdown){box-shadow:0 12px 38px #01040966}html:root[data-theme=light]{--canvas:#eef3f9;--surface:#fff;--ink:#10233f;--secondary:#405674;--line:#c8d4e3;--tint:#e3edfb;--hover:#d9e6f7;--accent:#075fd8}html[data-theme=light] :is(button,input,select,textarea,.search,.card,.stats article,.drawer,.account-dropdown,.user-action-menu){border-color:var(--line)}html[data-theme=light] :is(input,textarea)::placeholder{color:#667a96}html[data-theme=light] thead{color:#354c6c;background:#e9eff7}html[data-theme=light] tbody tr:hover{background:#f3f7fc}html[data-theme=light] :is(.nav-item.active,.pagination .selected,.channel-tabs .selected,.conversation-item.selected){color:#064fae;background:#dbe9fb}html[data-theme=light] :is(button,.nav-item,.account-trigger,.user-action-menu button,.conversation-item):hover{border-color:#9eb1c9}html[data-theme=light] .primary{color:#fff;background:#075fd8;border-color:#075fd8}html[data-theme=light] .primary:hover:not(:disabled){background:#064fac;border-color:#064fac}html:root[data-theme=dark]{--canvas:#0d1117;--surface:#161b22;--ink:#f0f6fc;--secondary:#b7c2ce;--line:#484f58;--tint:#21262d;--hover:#30363d;--accent:#58a6ff}html[data-theme=dark] :is(input,textarea)::placeholder{color:#8c98a5}html[data-theme=dark] thead{color:#c1cad4;background:#21262d}html[data-theme=dark] tbody tr:hover{background:#242a32}html[data-theme=dark] :is(.nav-item.active,.pagination .selected,.channel-tabs .selected,.conversation-item.selected){color:#9acbff;background:#263a52}html[data-theme=dark] .lesson-status-select.ready{color:#8ce6ad;background:#173b2a;border-color:#347d55}html[data-theme=dark] .lesson-status-select.warning{color:#ffd27a;background:#3d3018;border-color:#8a6d2f}:root{--action-size:40px;--action-size-compact:32px;--action-size-form:44px;--field-size:var(--action-size);--action-pad-x:14px;--action-pad-x-compact:10px;--action-gap:8px;--action-group-gap:10px;--action-radius:9px}:where(.app-shell,.drawer,.unsaved-confirmation,.user-action-menu,.account-dropdown,.ui-popover,.schedule-student-picker,.schedule-teacher-picker,.font-panel,.student-menu,.remove-student-dialog,.account-page) button{min-block-size:var(--action-size);max-inline-size:100%;padding:8px var(--action-pad-x);border-radius:var(--action-radius);line-height:var(--leading-control);white-space:normal;overflow-wrap:break-word;vertical-align:middle;transition:background-color .15s,border-color .15s,box-shadow .15s}:where(.app-shell,.drawer,.unsaved-confirmation,.user-action-menu,.account-dropdown,.ui-popover,.account-page) button:not(:where(.person,.conversation-item,.schedule-event,.nav-item,.account-trigger)){justify-content:center;align-items:center;gap:var(--action-gap);display:inline-flex}html body :is(.icon-button,.pagination button,.sidebar-toggle){inline-size:var(--action-size);min-inline-size:var(--action-size);min-block-size:var(--action-size);aspect-ratio:1;flex:none;justify-content:center;align-items:center;gap:0;block-size:auto;padding:0;display:inline-flex}html body :is(.app-shell,.drawer) td button:not(:where(.person,.ui-select-trigger,.ui-calendar-toggle)){min-block-size:var(--action-size-compact);padding:5px var(--action-pad-x-compact);line-height:var(--leading-control)}html body :is(.app-shell,.drawer) td :is(.icon-button,.row-actions-trigger){inline-size:var(--action-size-compact);min-inline-size:var(--action-size-compact);min-block-size:var(--action-size-compact);padding:0}html body :is(.app-shell,.drawer) td .person{min-block-size:var(--action-size);white-space:nowrap;overflow-wrap:normal;min-inline-size:max-content;padding:0}html body :is(.drawer-footer,.unsaved-confirmation-actions){justify-content:flex-end;align-items:center;gap:var(--action-group-gap);flex-wrap:wrap;display:flex}html body :is(.drawer-footer,.unsaved-confirmation-actions) button{min-block-size:var(--action-size-form);block-size:auto;padding:10px var(--action-pad-x);white-space:normal}html body .drawer-head{gap:var(--action-group-gap)}.drawer-head>div{overflow-wrap:anywhere;min-width:0}.drawer-footer>.muted{flex:180px}html body :is(.heading-actions,.collection-toolbar,.filters,.role-card footer,.row-between,.composer>div,.table-footer){gap:var(--action-group-gap);flex-wrap:wrap}html body :is(.heading-actions,.collection-toolbar,.filters){align-items:center}html body .heading-actions button{white-space:normal}html body .role-card footer>.text-button{min-width:0}html body .role-card footer>button{min-height:var(--action-size);padding:8px var(--action-pad-x)}html body .collection-toolbar .search,html body .filters .search{min-width:min(220px,100%)}html body .tabs{gap:var(--action-gap)}html body .tabs button{min-height:var(--action-size-form);height:auto;padding:10px var(--action-pad-x);border-radius:0}:where(.app-shell,.drawer,.account-page) button.primary{height:auto;padding:8px var(--action-pad-x)}html body .drawer-footer button.primary{min-height:var(--action-size-form);padding-block:10px}html body :is(.account-dropdown,.user-action-menu,.action-list) button{text-align:left;min-height:var(--action-size);padding:8px var(--action-pad-x);justify-content:flex-start}html body .drawer :is(input:not([type=checkbox]):not([type=radio]):not(.ui-native-proxy),.ui-field){min-height:var(--field-control-min-height,var(--field-size));height:var(--field-control-height,auto);padding-block:var(--field-control-padding-y,8px);line-height:var(--leading-control)}html body:has(.app-shell) :is(input:not([type=checkbox]):not([type=radio]):not(.ui-native-proxy),.ui-field){min-height:var(--field-control-min-height,var(--field-size));height:var(--field-control-height,auto);padding-block:var(--field-control-padding-y,8px);line-height:var(--leading-control)}html body:has(.app-shell) textarea{min-height:96px}:is(.filters,.collection-toolbar,.explorer-filters,.lesson-filters,.makeup-filters,.conflict-filters,.guide-search){--field-control-height:var(--field-size)}html body .search{box-sizing:border-box;height:var(--field-size);min-height:var(--field-size);--field-control-height:100%;--field-control-min-height:0px;--field-control-padding-y:0px}html body .ui-select-trigger>span{padding-block:0}html body .ui-calendar-toggle{inline-size:var(--field-size);min-inline-size:var(--field-size);block-size:auto;min-block-size:var(--field-size);padding:0;top:0;bottom:0;right:0}html body .ui-input:has(.ui-calendar-toggle)>input{padding-right:calc(var(--field-size) + 4px)}html body .ui-input .ui-calendar-toggle:hover:not(:disabled){background:0 0}html body .ui-input .ui-calendar-toggle:active:not(:disabled){box-shadow:none;background:0 0}html body .ui-input .ui-calendar-toggle:focus:not(:focus-visible){outline:none}html body .ui-calendar header button{min-width:var(--action-size-compact)}html body .ui-calendar button{min-height:var(--action-size-compact);padding:4px}html body .ui-calendar{overflow-x:auto}html body .toolbar-bottom>:is(.ui-input.date-pill,.segmented),html body .toolbar-bottom .filter-field :is(.ui-select,.ui-select-trigger),html body .toolbar-bottom>.ui-input.date-pill>.ui-field{height:auto;min-height:var(--field-size)}html body .ui-options>[role=option]{min-height:var(--action-size)}:where(.app-shell,.drawer,.user-action-menu,.ui-popover,.account-page) button:focus-visible{outline-offset:2px;outline:3px solid #8bbfff}:where(.app-shell,.drawer,.user-action-menu,.ui-popover,.account-page) button:active:not(:disabled):not(.account-trigger){box-shadow:inset 0 0 0 1px}:where(.app-shell,.drawer,.user-action-menu,.ui-popover,.account-page) button:disabled{cursor:not-allowed;box-shadow:none}button[aria-busy=true]{cursor:progress}html body button.danger-primary{color:#fff;background:#b83b4c;border-color:#b83b4c}html body button.danger-primary:hover:not(:disabled){background:#a22e3e;border-color:#a22e3e}html[data-theme=dark] body button.danger-primary{color:#fff;background:#a63143;border-color:#d76b7b}html[data-theme=dark] body button.danger-primary:hover:not(:disabled){background:#ba4052}@media (pointer:coarse),(width<=600px){:root{--action-size:44px;--action-size-compact:44px}html body :is(.app-shell,.drawer,.user-action-menu,.ui-popover,.schedule-student-picker,.schedule-teacher-picker,.font-panel,.student-menu,.remove-student-dialog,.account-page) button:not(.schedule-event){min-block-size:var(--action-size);min-inline-size:var(--action-size)}html body .ui-calendar{width:min(340px,100vw - 16px)}html body .ui-calendar-grid{min-width:calc(7 * var(--action-size) + 12px)}}@media (width<=600px){html body .app-shell main{padding:16px 12px}html body .page-heading{align-items:flex-start;gap:var(--action-group-gap)}html body .heading-actions{width:100%}html body .filters{padding:16px}html body .filters>:is(.search,.ui-select),html body .collection-toolbar>:is(.search,.ui-select){flex:100%;min-width:0}html body .drawer-footer{padding:14px 16px}html body .drawer-footer>button{flex:0 auto}html body .drawer-footer>.muted{flex-basis:100%}html body .permission-row{grid-template-columns:minmax(0,1fr)}html body .permission-row>*{grid-column:1;min-width:0}html body .scope-row{flex-wrap:wrap}html body .scope-row>.ui-select{flex-basis:100%;width:100%}html body .table-footer{align-items:flex-start}html body .pagination{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){:where(.app-shell,.drawer,.ui-popover) button{transition:none}}html body :is(.user-action-menu,.student-menu,.student-context-menu) button[role=menuitem]{text-align:left;justify-content:flex-start;align-items:center;gap:10px;display:flex}html body :is(.user-action-menu,.student-menu,.student-context-menu) button[role=menuitem]>.lucide{stroke-width:1.8px;width:18px;height:18px;color:inherit;flex:0 0 18px}html,body{font-family:var(--font-family-ui);font-size:var(--text-body);font-weight:var(--weight-regular);line-height:var(--leading-body)}html body h1{font-size:var(--text-page);font-weight:var(--weight-bold);line-height:var(--leading-heading);overflow-wrap:anywhere}html body h2{font-size:var(--text-section);font-weight:var(--weight-semibold);line-height:var(--leading-heading);overflow-wrap:anywhere}html body :is(h3,h4,h5,h6){font-size:var(--text-subheading);font-weight:var(--weight-semibold);line-height:var(--leading-heading);overflow-wrap:anywhere}html body :is(small,.muted,.eyebrow,.breadcrumb,.table-footer,.page-footer){font-size:var(--text-caption);line-height:var(--leading-caption)}html body :is(#app,.overlay,.unsaved-overlay,.confirm-overlay,[role=dialog],[role=alertdialog],.ui-popover,.ui-select-popover,[role=menu]) :is(button:not(.nav-item):not(.nav-muted):not(.brand),[role=tab],[role=menuitem]){font-family:var(--font-family-ui);font-size:var(--text-body);font-weight:var(--weight-semibold);line-height:var(--leading-control)}html body :is(input:not([type=checkbox]):not([type=radio]):not(.ui-native-proxy),textarea,select,.ui-field,.ui-select-trigger,.ui-option,[role=option]){font-family:var(--font-family-ui);font-size:var(--text-body);font-weight:var(--weight-regular);line-height:var(--leading-control)}html body :is(#app,[role=dialog],[role=alertdialog]) :is(.form-grid,.sales-form,.personnel-form) label{font-size:var(--text-label);font-weight:var(--weight-semibold);line-height:var(--leading-caption)}html body :is(#app,[role=dialog]) table{font-size:var(--text-body);line-height:var(--leading-body)}html body :is(#app,[role=dialog]) th{font-size:var(--text-label);font-weight:var(--weight-semibold);line-height:var(--leading-caption)}html body :is(#app,[role=dialog]) :is(.person strong,.contact){font-size:var(--text-body);line-height:var(--leading-body)}html body :is(#app,[role=dialog]) .person strong{font-weight:var(--weight-semibold)}html body :is(#app,[role=dialog]) :is(.person small,.contact small,.chip,.status){font-size:var(--text-caption);line-height:var(--leading-caption)}html body :is(#app,[role=dialog],[role=alertdialog]) :is(.page-heading h1,.profile-heading h1){font-size:var(--text-page);font-weight:var(--weight-bold);line-height:var(--leading-heading)}html body :is(#app,[role=dialog],[role=alertdialog]) :is(.card-heading h2,.drawer-head h2,.unsaved-confirmation h2,.confirm-title){font-size:var(--text-section);font-weight:var(--weight-semibold);line-height:var(--leading-heading)}html body :is(.page-heading,.card-heading,.drawer-head,.drawer-footer,.form-grid)>*{min-width:0}html body :is(.page-heading,.card-heading,.drawer-head) :is(h1,h2,p){overflow-wrap:anywhere}html body :is(.drawer-footer,.unsaved-confirmation-actions) button{white-space:normal;height:auto}html body textarea{overflow-wrap:anywhere}@media (width<=600px){html body :is(.page-heading,.card-heading){flex-wrap:wrap;row-gap:12px}html body :is(.drawer-head,.drawer-content,.drawer-footer){padding:16px}html body .form-grid{grid-template-columns:minmax(0,1fr)}html body :is(.drawer,.centered-dialog){max-width:100vw}}html body :is(#app,[role=dialog]) .schedule-page :is(.schedule-actions-panel button,.toolbar-panel .ui-select-trigger,.toolbar-panel input,.toolbar-panel select){font-size:var(--filter-font-size,var(--text-body))}html body #app .schedule-page .schedule-event-card[data-event-id] :is(button,small){font-size:var(--lesson-labels-size,var(--text-timetable))}html body #app .schedule-page .schedule-event-card[data-event-id] :is(.student-chip,.student-tile){font-size:var(--lesson-students-size,var(--text-timetable))}html body #app .schedule-page .schedule-event-card[data-event-id] .teacher-chip{font-size:var(--lesson-teachers-size,var(--text-timetable))}html body #app .schedule-page .schedule-event-card[data-event-id] .focus-subject{font-size:var(--lesson-subject-size,var(--text-timetable))}html body #app .schedule-page .schedule-event-card[data-event-id] :is(.student-tile small,.teacher-summary small){font-size:var(--lesson-datetime-size,var(--text-timetable))}
