:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#0d0e11;font-synthesis:none;text-rendering:optimizelegibility;--ink:#0d0e11;--ink-soft:#2a2d35;--ink-400:#3d4149;--muted:#3d4149;--subtle:#4e525b;--line:#d6d7db;--line-soft:#e6e5e0;--line-strong:#b9bbc3;--card-line:color-mix(in srgb, var(--ink) 26%, transparent);--card-line-strong:color-mix(in srgb, var(--ink) 40%, transparent);--record-split:#8f929a;--canvas:#eceae5;--surface:#fff;--surface-soft:#eeece7;--surface-muted:#e2e0da;--green-950:#08090c;--green-900:#564f44;--green-700:#80796b;--green-100:#d4cfc4;--green-50:#e7e3d9;--coral-700:#4f5360;--coral-500:#6d7280;--coral-100:#e4e6ec;--coral-50:#f4f5f8;--blue-700:#4a5560;--blue-500:#6a7580;--blue-100:#dce2e6;--blue-50:#f3f5f7;--gold-700:#564f44;--gold-500:#80796b;--gold-100:#d4cfc4;--gold-50:#e7e3d9;--red-700:#b14b4b;--red-500:#c96a6a;--red-100:#f3d6d6;--red-50:#faf3f3;--wine:#b14b4b;--salon-theme-accent:#b8923f;--salon-theme-ink:#6f5318;--salon-theme-wash:#f6edd4;--salon-theme-line:#e4d09a;--salon-ticketed-accent:#c96a6a;--salon-ticketed-ink:#b14b4b;--salon-ticketed-wash:#faf3f3;--salon-ticketed-line:#f3d6d6;--salon-open-accent:#3d7a9e;--salon-open-ink:#24516d;--salon-open-wash:#e7f2f8;--salon-open-line:#b9d4e4;--salon-recital-accent:#3f8a58;--salon-recital-ink:#245c38;--salon-recital-wash:#e6f4ea;--salon-recital-line:#b5d8c0;--gold-ink:#e8e1d2;--gold-sheen:linear-gradient(180deg, #1c1d22 0%, #0e0f12 100%);--gold-sheen-hover:linear-gradient(180deg, #2a2b32 0%, #14151a 100%);--focus-ring:#80796b;--focus-halo:#564f442b;--shadow-sm:0 1px 2px #08090c0d;--shadow-md:0 18px 44px #08090c1f;--mobile-nav-height:calc(66px + env(safe-area-inset-bottom,0px));--visual-viewport-top:0px;--visual-viewport-left:0px;--visual-viewport-width:100%;--visual-viewport-height:100%;background:#eceae5;font-family:Microsoft YaHei,PingFang SC,Noto Sans CJK SC,Arial,sans-serif}*{box-sizing:border-box;letter-spacing:0}.brand-name{white-space:nowrap;vertical-align:baseline;padding:.34em .58em .08em 0;line-height:1.2;display:inline-block;overflow:visible}.brand-name-anchor{display:inline-block;position:relative}.brand-registered{font-size:.42em;font-weight:inherit;vertical-align:baseline;margin-left:.1em;line-height:1;position:absolute;top:.02em;left:100%;transform:none}html{overscroll-behavior-x:none;background:var(--canvas);width:100%;min-width:0;max-width:100%;min-height:100%;overflow-x:hidden}body{overscroll-behavior-x:none;background:var(--canvas);width:100%;min-width:0;max-width:100%;min-height:100dvh;color:var(--ink);margin:0;font-size:14px;line-height:1.5;overflow-x:hidden}body.modal-open{overscroll-behavior:none;overflow:hidden}body:has(.modal-backdrop){overscroll-behavior:none;overflow:hidden}body:has(.drawer.is-open){overscroll-behavior:none;overflow:hidden}@media (width>=681px){html{scrollbar-gutter:stable}}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:0}button{touch-action:manipulation;border:0}button:not(:disabled){cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:1px}button:disabled{cursor:not-allowed;opacity:.48}h1,h2,h3,h4,p{margin:0}svg{flex:none}#root{width:100%;min-width:0;max-width:100%;overflow-x:hidden}:is(html:has(.app-shell),body:has(.app-shell)){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#08090c}.app-shell{width:100%;min-width:0;max-width:100%;min-height:100dvh;color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f2f0ea;--ink-soft:#f2f0ead1;--ink-400:#f2f0eab8;--muted:#f2f0eab3;--subtle:#f2f0ea8f;--line:#ffffff1a;--line-soft:#ffffff0f;--line-strong:#ffffff29;--card-line:color-mix(in srgb, var(--ink) 26%, transparent);--card-line-strong:color-mix(in srgb, var(--ink) 40%, transparent);--record-split:#f2f0ea75;--canvas:#08090c;--surface:#16171d;--surface-soft:#121318;--surface-muted:#1c1d22;--green-900:#efe9dc;--green-700:#c9c0ad;--green-100:#efe9dc29;--green-50:#efe9dc14;--coral-700:#d8d2c6;--coral-500:#b4ab97;--coral-100:#efe9dc1f;--coral-50:#efe9dc0f;--blue-700:#d8d4cc;--blue-500:#b4ab97;--blue-100:#efe9dc1f;--blue-50:#efe9dc0f;--gold-700:#efe9dc;--gold-500:#c9c0ad;--gold-100:#efe9dc29;--gold-50:#efe9dc14;--red-700:#e8a0a0;--red-500:#d47a7a;--red-100:#b14b4b47;--red-50:#b14b4b29;--wine:#b14b4b;--salon-theme-accent:#d4b06a;--salon-theme-ink:#efd39a;--salon-theme-wash:#d4b06a29;--salon-theme-line:#d4b06a61;--salon-ticketed-accent:#d47a7a;--salon-ticketed-ink:#e8a0a0;--salon-ticketed-wash:#b14b4b29;--salon-ticketed-line:#b14b4b52;--salon-open-accent:#7aa8c9;--salon-open-ink:#b4d4ea;--salon-open-wash:#7aa8c929;--salon-open-line:#7aa8c95c;--salon-recital-accent:#6faf84;--salon-recital-ink:#a8d4b4;--salon-recital-wash:#6faf8429;--salon-recital-line:#6faf845c;--gold-ink:#08090c;--gold-sheen:linear-gradient(180deg, #efe9dc 0%, #c9c0ad 100%);--gold-sheen-hover:linear-gradient(180deg, #fff8e6 0%, #d8d0bd 100%);--focus-ring:#b4ab97;--focus-halo:#a89f8c38;--shadow-sm:0 1px 2px #00000047;--shadow-md:0 18px 44px #00000061;background:#08090c;overflow-x:hidden}.app-main{isolation:isolate;width:calc(100% - 252px);min-width:0;max-width:calc(100% - 252px);min-height:100dvh;color:var(--ink);background:linear-gradient(#16171d 0%,#0b0c10 58%,#08090c 100%);flex-direction:column;margin-left:252px;display:flex;position:relative}.app-main:before{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#0000,#efe9dc47,#0000);height:1px;position:absolute;top:0;left:0;right:0}.app-main>.brand-atmosphere{z-index:0;position:fixed;inset:0 0 0 252px}.app-main>.brand-atmosphere .brand-atmosphere__keys{opacity:.28;height:118px}.app-main>.brand-atmosphere .brand-atmosphere__note{color:#efe9dc47}.app-main>.page-content{z-index:1;flex:1 0 auto;padding-bottom:20px;position:relative}.app-main>.system-copyright{z-index:1;flex:none;margin-top:auto;padding:8px 24px 40px;font-size:10px;position:relative}body.modal-open .app-main>.page-content{z-index:60}body:has(.app-shell .modal-backdrop) .app-main>.page-content{z-index:60}body.modal-open .app-main>.system-copyright{visibility:hidden;pointer-events:none}body:has(.app-shell .modal-backdrop) .app-main>.system-copyright{visibility:hidden;pointer-events:none}.app-main>.topbar{z-index:40;position:relative}.app-shell .topbar{background:#16171dc7;border-bottom-color:#ffffff14}.app-shell .button-primary,.app-shell .student-primary-button{color:#08090c;background:linear-gradient(#efe9dc 0%,#c9c0ad 100%);border-color:#b4ab97}.app-shell .button-primary:not(:disabled):hover,.app-shell .student-primary-button:not(:disabled):hover{color:#08090c;background:linear-gradient(#fff8e6 0%,#d8d0bd 100%)}.app-shell .field input,.app-shell .field select,.app-shell .field textarea,.app-shell .global-search,.app-shell .search-field{color:#f2f0ea;background:#121318;border-color:#ffffff1a}.app-shell .field input::placeholder,.app-shell .field textarea::placeholder,.app-shell .global-search input::placeholder{color:#f2f0ea6b}.app-shell .modal{background:#16171d;border-color:#ffffff1f;box-shadow:0 24px 70px #00000073}.app-shell .drawer{background:#16171d;border-color:#ffffff1a}.app-shell .student-date-option.is-selected{color:#08090c;background:#c9c0ad;border-color:#b4ab97}.app-shell .student-date-option.is-selected span,.app-shell .student-date-option.is-selected small{color:#08090cad}.app-shell .system-copyright,.app-shell .system-copyright a{color:#f2f0ea8f}.app-shell .notification-panel,.app-shell .global-search-results{background:#16171d;border-color:#ffffff1a}.app-shell .global-search-group+.global-search-group{border-top-color:#ffffff14}.app-shell .global-search-group-title strong,.app-shell .global-search-group-title span,.app-shell .global-search-more{color:#f2f0ea7a}.app-shell .global-search-result{color:#f2f0ea}.app-shell .global-search-result:hover,.app-shell .global-search-result:focus-visible{background:#ffffff0f}.app-shell .global-search-result small{color:#f2f0ea7a}.app-shell .calendar-day.is-today>header strong,.app-shell .student-booking-step__title>span,.app-shell .student-calendar-date,.app-shell .student-course-badge>span,.app-shell .notification-button>span,.app-shell .salon-status-chip--paid,.app-shell .check-row.is-checked .check-box{color:#08090c}.app-shell .toast{color:#08090c;background:#c9c0ad;border-color:#b4ab97}.app-shell .toast-error,.app-shell .info-callout.danger{color:#f3d6d6;background:#b14b4b2e;border-color:#c96a6a52}.app-shell .info-callout.danger small,.app-shell .membership-status-card.is-danger p{color:#f2f0eacc}.app-shell .membership-status-card.is-danger{color:#f3d6d6;background:#b14b4b2e;border-color:#c96a6a52}.app-shell .toast-warning{color:#08090c;background:#efe9dc}.app-shell .student-membership-banner{color:#08090c;background:linear-gradient(#efe9dc 0%,#c9c0ad 100%);position:relative;overflow:hidden}.app-shell .student-membership-banner:after{content:"";z-index:2;mix-blend-mode:soft-light;pointer-events:none;background:linear-gradient(110deg,#0000 36%,#fff8e66b 50%,#0000 64%);animation:16s linear infinite login-button-sheen;position:absolute;inset:0;transform:translate(-120%)}.app-shell .student-membership-banner>*{z-index:1;position:relative}.app-shell .student-membership-banner span,.app-shell .student-membership-banner p{color:#08090cc7}.app-shell .student-membership-banner strong{color:#08090c}.app-shell .student-membership-banner__icon{color:#5f584d;width:auto;height:auto;box-shadow:none;background:0 0;border:0;border-radius:0}.app-shell .student-membership-banner__icon .brand-mark{background:linear-gradient(160deg,#8a8273 0%,#5f584d 40%,#c9c0ad 62%,#7a7163 100%);width:32px;height:32px}.app-shell .salon-share-qr{background:#fff}.app-shell .student-time-slot,.app-shell .schedule-time-slot,.app-shell .teacher-availability-slot{color:#f2f0ea;background:#121318;border-color:#ffffff1a}.app-shell .student-time-slot.is-locked:not(.is-occupied),.app-shell .student-time-slot.is-locked:not(.is-occupied) span,.app-shell .student-time-slot.is-locked:not(.is-occupied) .student-time-slot__status,.app-shell .student-course-option.is-blocked,.app-shell .student-course-option.is-blocked strong,.app-shell .student-course-option.is-blocked small,.app-shell .schedule-time-slot.is-blocked,.app-shell .schedule-time-slot:disabled{color:#f2f0ea75}.app-shell .student-time-slot.is-locked:not(.is-occupied),.app-shell .student-course-option.is-blocked,.app-shell .schedule-time-slot.is-blocked,.app-shell .schedule-time-slot:disabled{background:#0c0d11;border-color:#ffffff0f}.app-shell .student-time-slot.is-selected,.app-shell .schedule-time-slot.is-selected{color:#08090c;background:#c9c0ad;border-color:#b4ab97}.app-shell .student-time-slot.is-selected span,.app-shell .student-time-slot.is-selected small{color:#08090cad}.app-shell .teacher-availability-jump.is-closed,.app-shell .teacher-availability-jump.is-lessons:not(.is-empty){background:#121318}.app-shell .student-card-footer__meta,.app-shell .student-contact-list dt{align-items:center;gap:6px;line-height:1.3;display:inline-flex}.app-shell .student-card-footer__meta{color:#f2f0ea}.app-shell .student-card-footer__meta svg,.app-shell .student-contact-list dt svg{display:block}.sidebar{z-index:40;isolation:isolate;color:#f2f0ea;background:#08090c;border-right:1px solid #ffffff14;flex-direction:column;width:252px;height:100dvh;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden}.sidebar:before{content:"";z-index:3;pointer-events:none;background:linear-gradient(90deg,#0000,#efe9dc47,#0000);height:1px;position:absolute;top:0;left:0;right:0}.sidebar>*{z-index:1;position:relative}.sidebar>.brand-atmosphere{z-index:0;position:absolute}.sidebar-scrim{display:none}.brand{border-bottom:1px solid #ffffff14;align-items:center;gap:8px;min-height:72px;padding:15px 18px;display:flex}.brand>div{flex:1;min-width:0;display:flex}.brand-lockup{align-items:center;gap:10px;min-width:0;display:flex}.brand-lockup .brand-mark{background:linear-gradient(160deg,#efe9dc 0%,#a89f8c 50%,#5f584d 100%);flex:none;width:28px;height:28px}.brand-lockup>div{flex-direction:column;min-width:0;display:flex}.login-brand .brand-lockup .brand-mark{animation:18s linear infinite login-mark-glow}@property --login-flow-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.login-brand-lockup{align-items:center;gap:6px;padding-right:16px;position:relative}.login-brand-lockup:before{content:"";background:conic-gradient(from var(--login-flow-angle), transparent 0 78%, #fff8e629 86%, #fff8e6f2 91%, #c9c0ad59 95%, transparent 100%);-webkit-mask-composite:xor;pointer-events:none;border-radius:999px;padding:1.5px;animation:18s linear infinite login-brand-flow;position:absolute;inset:-7px -10px -7px -7px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.login-brand-mark{flex:none;place-items:center;display:grid;position:relative}.login-brand-title,.login-brand-title .brand-name{letter-spacing:.04em;color:#a89f8c;font-size:22px;font-weight:700;line-height:1.25;overflow:visible}.login-brand-title .brand-name,.login-brand-title .brand-name>span{-webkit-text-fill-color:transparent;background-image:linear-gradient(#efe9dc 0%,#a89f8c 55%,#8a8273 100%);-webkit-background-clip:text;background-clip:text}.login-brand-title .brand-name-anchor,.login-brand-title .brand-registered{color:#c9c0ad;-webkit-text-fill-color:#c9c0ad;background-image:none}.login-brand .brand-lockup .brand-mark{z-index:1;background:linear-gradient(160deg,#efe9dc 0%,#a89f8c 50%,#5f584d 100%);width:40px;height:40px;animation:18s linear infinite login-mark-glow;position:relative}.login-brand .brand-lockup .brand-mark:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 32%,#fff8e6b8 48%,#0000 64%);animation:18s linear infinite login-mark-sheen;position:absolute;inset:0;transform:translate(-130%)}.sidebar .login-brand-lockup{min-width:0;max-width:100%;display:inline-flex}.sidebar .login-brand-lockup:before{inset:-5px -9px -5px -8px}.sidebar .login-brand-title,.sidebar .login-brand-title .brand-name{z-index:1;letter-spacing:.01em;font-size:21px;font-weight:800;position:relative}.sidebar .login-brand-title:after{content:"";pointer-events:none;mix-blend-mode:screen;background:linear-gradient(115deg,#0000 32%,#fff8e6b8 48%,#0000 64%);animation:18s linear infinite login-mark-sheen;position:absolute;inset:-12% -6%;transform:translate(-130%)}.brand strong{font-family:Microsoft YaHei UI,Microsoft YaHei,PingFang SC,sans-serif;font-size:21px;font-weight:800;line-height:1.25;overflow:visible}.review-title-band strong,.print-header strong{font-family:Microsoft YaHei UI,Microsoft YaHei,PingFang SC,sans-serif;font-weight:800}.brand-lockup>div>span{color:#ffffffa8;margin-top:4px;font-size:13px}.sidebar-close{color:#fff!important;background:#ffffff14!important;display:none!important}.portal-switcher{margin:18px 16px 10px;position:relative}.portal-switcher>span{color:#ffffff94;margin:0 7px 7px;font-size:11px;display:block}.portal-current{color:#fff;background:#ffffff14;border:1px solid #ffffff1c;border-radius:6px;justify-content:space-between;align-items:center;width:100%;height:42px;padding:0 11px;display:flex}.portal-current>span{align-items:center;gap:8px;display:flex}.portal-menu{z-index:5;background:var(--surface);border:1px solid var(--line);width:100%;box-shadow:var(--shadow-md);border-radius:6px;padding:5px;display:none;position:absolute;top:69px;left:0}.portal-switcher:focus-within .portal-menu,.portal-switcher:hover .portal-menu,.portal-switcher.is-open .portal-menu{display:grid}.portal-menu button{color:var(--ink);text-align:left;background:0 0;border-radius:4px;padding:9px 10px}.portal-menu button:hover,.portal-menu button.is-active{color:var(--green-900);background:var(--green-50)}.side-nav{overscroll-behavior:contain;flex-direction:column;flex:1;gap:3px;min-height:0;padding:12px 13px;display:flex;overflow-y:auto}.nav-caption{color:#ffffff85;margin:6px 10px 7px;font-size:11px}.side-nav button{color:#ffffffbd;text-align:left;background:0 0;border-radius:5px;align-items:center;gap:12px;width:100%;height:43px;padding:0 12px;display:flex;position:relative}.side-nav button:hover,.side-nav button.is-active{color:#fff;background:#ffffff0f}.side-nav button.is-active:before{content:"";background:#b4ab97;border-radius:0;width:1px;height:18px;position:absolute;left:0}.side-nav button span{flex:1}.side-nav button small{color:#ffffffdb;background:#ffffff1f;border-radius:10px;place-items:center;min-width:21px;height:21px;padding:0 5px;font-size:11px;display:grid}.sidebar-footer{border-top:1px solid #ffffff17;padding:12px 14px 16px}.sidebar-profile{color:#fff;text-align:left;background:0 0;border-radius:5px;align-items:center;gap:9px;width:100%;padding:7px;display:flex}.sidebar-profile>span{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar-profile small{color:#ffffff9e;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.reset-demo{color:#ffffff94;background:0 0;align-items:center;gap:6px;margin:6px 8px 0;font-size:11px;display:flex}.reset-demo:hover{color:#fffc}.sync-indicator,.logout-button{align-items:center;gap:6px;margin:6px 8px 0;font-size:11px;display:flex}.sync-indicator{color:#ffffffa3}.sync-indicator.sync-saving svg{animation:.85s linear infinite session-spin}.sync-indicator.sync-offline,.sync-indicator.sync-error,.sync-indicator.sync-conflict{color:#e8d39e}.logout-button{color:#ffffffa8;background:0 0;padding:4px 0}.logout-button:hover{color:#fff}.login-shell,.session-loading{min-height:100dvh}:is(html:has(.login-shell),body:has(.login-shell)){background:#08090c}.login-shell{color:#f2f0ea;background:#08090c;grid-template-rows:minmax(0,1fr);grid-template-columns:1fr;display:grid;position:relative;overflow:hidden}.login-brand{z-index:0;isolation:isolate;color:#f2f0ea;pointer-events:none;background:linear-gradient(#16171d 0%,#0b0c10 58%,#08090c 100%);justify-content:flex-start;align-items:flex-start;padding:32px 40px 0;display:flex;position:absolute;inset:0;overflow:hidden}.login-brand:before{content:"";z-index:3;pointer-events:none;background:linear-gradient(90deg,#0000,#efe9dc47,#0000);height:1px;position:absolute;top:0;left:0;right:0}.login-brand>.brand-lockup{z-index:2;pointer-events:auto;animation:.72s cubic-bezier(.22,1,.36,1) both login-rise;display:flex;position:relative}.login-brand strong{font-size:22px;line-height:1.25}.brand-atmosphere{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.brand-atmosphere:after{content:"";background:radial-gradient(at 48% 42%,#0000 36%,#08090c6b 100%);position:absolute;inset:0}.login-brand .brand-atmosphere:after{background:radial-gradient(at 32% 38%,#0000 24%,#08090c47 100%)}.login-brand .brand-atmosphere__glow{width:140%;height:130%;top:-42%;left:-18%}.login-brand .brand-atmosphere__beam{width:42%;height:200%;top:-48%;left:-18%}.login-brand .brand-atmosphere__keys{opacity:.62;height:118px;left:0;right:0}.login-brand .brand-atmosphere__note{color:#efe9dc6b;font-size:18px}.login-brand .brand-atmosphere__note--a{bottom:148px;left:10%;right:auto}.login-brand .brand-atmosphere__note--b{bottom:118px;left:auto;right:12%}.login-brand .brand-atmosphere__note--c{bottom:86px;left:auto;right:24%}.brand-atmosphere__glow{background:radial-gradient(at 42% 46%,#efe9dc29 0%,#0000 58%),radial-gradient(at 78% 72%,#a89f8c1a 0%,#0000 52%);width:150%;height:88%;animation:18s linear infinite atmosphere-glow;position:absolute;top:-34%;left:-28%}.brand-atmosphere__beam{background:linear-gradient(108deg,#0000 38%,#fff8e612 50%,#0000 62%);width:46%;height:168%;animation:18s linear infinite atmosphere-beam-travel;position:absolute;top:-24%;left:-48%}.brand-atmosphere__keys{opacity:.58;background:repeating-linear-gradient(90deg,#f6f2e833 0 22px,#08090c80 22px 23px);height:82px;position:absolute;bottom:0;left:6%;right:6%;-webkit-mask-image:linear-gradient(#0000 0%,#000 38% 100%);mask-image:linear-gradient(#0000 0%,#000 38% 100%)}.brand-atmosphere__keys:before{content:"";mix-blend-mode:screen;pointer-events:none;background:linear-gradient(90deg,#0000 0%,#fff8e614 28%,#fff8e680 50%,#fff8e614 72%,#0000 100%);width:42%;animation:18s linear infinite atmosphere-key-travel;position:absolute;inset:0 auto 0 0}.brand-atmosphere__keys:after{content:"";background:repeating-linear-gradient(90deg,#0000 0 15px,#06070ae0 15px 29px,#0000 29px 38px,#06070ae0 38px 52px,#0000 52px 84px,#06070ae0 84px 98px,#0000 98px 107px,#06070ae0 107px 121px,#0000 121px 130px,#06070ae0 130px 144px,#0000 144px 161px);height:48%;position:absolute;top:16%;left:0;right:0}.brand-atmosphere__note{color:#efe9dc57;text-shadow:0 0 14px #efe9dc29;font-size:17px;line-height:1;animation:18s linear infinite atmosphere-note-a;position:absolute}.brand-atmosphere__note:before{content:"♪"}.brand-atmosphere__note--b:before{content:"♫"}.brand-atmosphere__note--a{animation:18s linear infinite atmosphere-note-a;bottom:28%;left:16%}.brand-atmosphere__note--b{animation:18s linear infinite atmosphere-note-b;bottom:36%;left:64%}.brand-atmosphere__note--c{font-size:14px;animation:18s linear infinite atmosphere-note-c;bottom:22%;left:40%}.brand-atmosphere.is-compact:after{background:radial-gradient(at 50% 88%,#0000 22%,#08090c6b 100%)}.brand-atmosphere.is-compact .brand-atmosphere__glow{opacity:.28;width:140%;height:28%;top:auto;bottom:-10%;left:-22%}.brand-atmosphere.is-compact .brand-atmosphere__beam{opacity:.28;width:58%;height:72%;top:auto;bottom:-18%}.brand-atmosphere.is-compact .brand-atmosphere__keys{opacity:.34;height:46px;left:8%;right:8%}.brand-atmosphere.is-compact .brand-atmosphere__note{font-size:13px}.brand-atmosphere.is-compact .brand-atmosphere__note--a{top:38%;bottom:auto;left:14%}.brand-atmosphere.is-compact .brand-atmosphere__note--b{top:56%;bottom:auto;left:68%}@keyframes login-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes atmosphere-glow{0%,to{opacity:.68}40%{opacity:1}}@keyframes atmosphere-beam-travel{0%,5%{opacity:0;transform:rotate(16deg)translate(0)}12%{opacity:.74}74%{opacity:.42}82%{opacity:0;animation-timing-function:step-end;transform:rotate(16deg)translate(280%)}to{opacity:0;transform:rotate(16deg)translate(0)}}@keyframes atmosphere-key-travel{0%,6%{opacity:0;transform:translate(-70%)}13%{opacity:1}74%{opacity:1}82%{opacity:0;animation-timing-function:step-end;transform:translate(177%)}to{opacity:0;transform:translate(-70%)}}@keyframes atmosphere-note-a{0%,6%,to{opacity:0;transform:translateY(8px)rotate(-8deg)}14%{opacity:.5}28%{opacity:.22;transform:translate(8px,-32px)rotate(8deg)}38%,82%{opacity:0;transform:translate(10px,-48px)rotate(12deg)}}@keyframes atmosphere-note-c{0%,24%,to{opacity:0;transform:translateY(8px)rotate(-6deg)}32%{opacity:.46}46%{opacity:.2;transform:translate(8px,-32px)rotate(8deg)}56%,82%{opacity:0;transform:translate(10px,-48px)rotate(12deg)}}@keyframes atmosphere-note-b{0%,48%,to{opacity:0;transform:translateY(8px)rotate(-6deg)}56%{opacity:.46}70%{opacity:.2;transform:translate(8px,-32px)rotate(10deg)}80%,82%{opacity:0;transform:translate(10px,-48px)rotate(12deg)}}@keyframes atmosphere-note-a-mobile{0%,50%,to{opacity:0;transform:translateY(6px)rotate(-6deg)}58%{opacity:.58}68%{opacity:.28;transform:translate(6px,-16px)rotate(8deg)}76%,82%{opacity:0;transform:translate(8px,-22px)rotate(10deg)}}@keyframes atmosphere-note-c-mobile{0%,40%,to{opacity:0;transform:translateY(6px)rotate(-6deg)}48%{opacity:.56}60%{opacity:.26;transform:translate(6px,-16px)rotate(8deg)}68%,82%{opacity:0;transform:translate(8px,-22px)rotate(10deg)}}@keyframes atmosphere-note-b-mobile{0%,60%,to{opacity:0;transform:translateY(6px)rotate(-6deg)}66%{opacity:.56}74%{opacity:.26;transform:translate(6px,-16px)rotate(8deg)}80%,82%{opacity:0;transform:translate(8px,-22px)rotate(10deg)}}@keyframes login-button-sheen{0%,6%{opacity:0;transform:translate(-120%)}13%{opacity:1}74%{opacity:1}82%{opacity:0;animation-timing-function:step-end;transform:translate(130%)}to{opacity:0;transform:translate(-120%)}}@keyframes login-mark-glow{0%,6%,to{filter:drop-shadow(0 0 #0000)}14%{filter:drop-shadow(0 0 10px #efe9dc4d)}28%,82%{filter:drop-shadow(0 0 #0000)}}@keyframes login-brand-flow{to{--login-flow-angle:360deg}}@keyframes login-mark-sheen{0%,6%{opacity:0;transform:translate(-130%)}13%{opacity:1}28%{opacity:0;transform:translate(130%)}82%,to{opacity:0;transform:translate(-130%)}}.login-shell>.page-content{z-index:1;background:0 0;place-items:center;min-width:0;padding:96px 48px 168px;display:grid;position:relative}.login-shell .content-section{width:min(400px,100%);box-shadow:none;background:0 0;border:0;padding:0}.login-shell .page-header{border-bottom:1px solid #efe9dc1a;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;min-height:0;margin-bottom:28px;padding-bottom:22px;animation:.64s cubic-bezier(.22,1,.36,1) both login-rise;display:flex}.login-shell .page-header>div{width:100%}.login-shell .page-eyebrow{color:#c9c0ad;letter-spacing:.08em;margin-bottom:10px;padding-top:.2em;font-size:13px;font-weight:600;line-height:1.45;display:block;overflow:visible}.login-shell .login-eyebrow-line{letter-spacing:.14em;align-items:center;gap:.7em;line-height:1;display:inline-flex}.login-shell .login-eyebrow-brand,.login-shell .login-eyebrow-rest{line-height:1}.login-shell .login-eyebrow-mark{vertical-align:super;letter-spacing:0;margin-left:.08em;font-size:.58em;font-weight:600;line-height:0;position:static}.login-shell .login-eyebrow-sep{letter-spacing:0;font-weight:500;line-height:1}.login-shell .page-header h1{color:#f7f3ea;letter-spacing:.01em;font-size:32px;font-weight:700;line-height:1.15}.login-shell .page-header p{color:#f2f0ead1;max-width:none;margin-top:8px;font-size:14px;line-height:1.55;display:block}.login-shell .content-section .field-label{color:#f2f0eae0;font-weight:600}.login-shell .content-section .field-hint{color:#f2f0eaad}.login-shell .form-grid{gap:16px}.login-shell .content-section .form-grid>*{animation:.56s cubic-bezier(.22,1,.36,1) both login-rise}.login-shell .content-section .form-grid>:first-child{animation-delay:50ms}.login-shell .content-section .form-grid>:nth-child(2){animation-delay:90ms}.login-shell .content-section .form-grid>:nth-child(3){animation-delay:.13s}.login-shell .content-section .form-grid>:nth-child(4){animation-delay:.17s}.login-shell .content-section .form-grid>:nth-child(5){animation-delay:.21s}.login-shell .content-section .form-grid>:nth-child(6){animation-delay:.25s}.login-shell .content-section .form-grid>:nth-child(7){animation-delay:.29s}.login-shell .content-section .field input{color:#f2f0ea;background:#121318;border-color:#ffffff1a;border-radius:8px;height:48px}.login-shell .content-section .field input:focus{border-color:#b4ab97;box-shadow:0 0 0 4px #a89f8c38}.login-shell .content-section .field input:-webkit-autofill{-webkit-text-fill-color:#f2f0ea;caret-color:#f2f0ea;transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 1000px #121318}.login-shell .content-section .field input:-webkit-autofill:hover{-webkit-text-fill-color:#f2f0ea;caret-color:#f2f0ea;transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 1000px #121318}.login-shell .content-section .field input:-webkit-autofill:focus{-webkit-text-fill-color:#f2f0ea;caret-color:#f2f0ea;transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 1000px #121318}.login-shell .check-row,.login-shell .login-remember-row,.login-shell .check-row.is-checked,.login-shell .login-remember-row.is-checked{color:#f2f0eae0;background:0 0;border-color:#0000;align-items:center;gap:8px;min-height:24px;margin-top:2px;padding:2px;font-size:13px;font-weight:600;line-height:16px}.login-shell .login-remember-row .check-box,.login-shell .check-row .check-box{width:16px;height:16px;margin-top:0}.login-shell .login-remember-row .check-box svg,.login-shell .check-row .check-box svg{width:11px;height:11px}.login-shell .check-row.is-checked .check-box{color:#08090c;background:#c9c0ad;border-color:#c9c0ad}.login-shell .login-remember-row{margin-top:0}.login-shell .login-remember-row>span:last-child,.login-shell .login-remember-copy{letter-spacing:0;word-spacing:0;flex-direction:row;align-items:baseline;gap:0;display:inline-flex}.login-shell .login-remember-days{font-style:normal;font-weight:inherit;margin-right:.08em}.login-shell .button-primary{color:#08090c;background:linear-gradient(#efe9dc 0%,#c9c0ad 100%);border-color:#b4ab97;border-radius:8px;min-height:48px;margin-top:6px}.login-shell .button-primary:not(:disabled):hover{color:#08090c;background:linear-gradient(#fff8e6 0%,#d8d0bd 100%)}.login-shell .login-recovery-link{color:#efe9dc;margin-top:2px}.login-shell .content-section .info-callout{color:#efe9dc;background:#ffffff0f;border-color:#ffffff1a}.login-shell .content-section .info-callout small{color:#f2f0eacc}.login-shell .content-section .info-callout.danger{color:#f3d6d6;background:#b14b4b2e;border-color:#c96a6a52}.login-shell .content-section .info-callout.success{color:#efe9dc;background:#a89f8c24;border-color:#b4ab9747}.login-shell .modal{color:var(--ink);background:var(--surface)}.login-shell .modal-header h2{color:var(--ink)}.login-shell .modal-header p{color:var(--ink-soft);font-size:13px;line-height:1.5}.login-shell .modal .field-label{color:var(--ink-soft);font-weight:700}.login-shell .modal .field input,.login-shell .modal .field textarea,.login-shell .modal .field select{color:var(--ink);background:var(--surface);border-color:var(--line-strong)}.login-shell .modal .field-hint,.login-shell .modal .account-login-note,.login-shell .modal .account-login-note small,.login-shell .modal .login-recovery-success,.login-shell .modal .login-recovery-success small{color:var(--ink-soft);font-size:13px}.login-shell .modal .account-login-note strong,.login-shell .modal .login-recovery-success strong,.login-shell .modal .button-secondary,.login-shell .modal .icon-button{color:var(--ink)}.login-shell>footer,.login-shell>footer a{z-index:2;color:#f2f0eaad}.login-shell>footer{left:0;right:0;bottom:max(18px, env(safe-area-inset-bottom));text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;font-size:10px;display:flex;position:absolute}body.modal-open .login-shell>footer{visibility:hidden;pointer-events:none}body:has(.login-shell .modal-backdrop) .login-shell>footer{visibility:hidden;pointer-events:none}body.modal-open .login-shell>.page-content{z-index:5}body:has(.login-shell .modal-backdrop) .login-shell>.page-content{z-index:5}.password-change-shell>.page-content{padding-bottom:188px}.login-shell>footer a:hover,.login-shell>footer a:focus-visible{color:#efe9dc}.legal-footer__filings{display:contents}.legal-footer a{color:inherit;text-decoration:none}.legal-footer a:hover,.legal-footer a:focus-visible{color:var(--green-700);text-decoration:underline}.legal-document-shell{z-index:80;background:var(--surface);color:var(--ink);position:fixed;inset:0;overflow:auto}.legal-document-bar{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.legal-document-back{color:var(--green-700);font-size:13px;font-weight:600;text-decoration:none}.legal-document-back:hover,.legal-document-back:focus-visible{text-decoration:underline}.legal-document{max-width:720px;margin:0 auto;padding:28px 24px 48px}.legal-document-kicker,.legal-document-meta{color:var(--muted);font-size:12px}.legal-document h1{margin:6px 0 8px;font-size:28px;line-height:1.25}.legal-document h2{margin:28px 0 8px;font-size:17px}.legal-document p{color:var(--ink-soft);margin:0 0 12px;line-height:1.75}.mlps-event-list{margin:0;padding-left:20px}.mlps-event-list li{flex-direction:column;gap:2px;margin:0 0 10px;display:flex}.mlps-event-list small{color:var(--muted)}.session-loading{text-align:center;background:var(--surface);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:28px;display:flex}.session-brand{color:var(--green-900);margin-bottom:4px;font-size:20px;font-weight:800}.session-loading>strong{font-size:18px}.session-loading>span{color:var(--muted)}.session-loading .brand-loader{margin-top:6px}.session-loading .page-enter-bar.is-inline{margin-top:8px}.brand-mark{background:currentColor;width:1em;height:1em;display:block;-webkit-mask:url(/assets/brand-mark-ByxlJItP.png) 50%/contain no-repeat;mask:url(/assets/brand-mark-ByxlJItP.png) 50%/contain no-repeat}.brand-loader{color:var(--green-700);flex:none;justify-content:center;align-items:center;display:inline-flex}.brand-loader-orbit{place-items:center;width:64px;height:64px;display:grid;position:relative;overflow:visible}.brand-loader-ring{border:2px solid #0000;border-top-color:var(--green-900);border-left-color:var(--green-100);opacity:.55;background:0 0;border-radius:50%;animation:1.1s linear infinite session-spin;position:absolute;inset:0}.brand-loader .brand-mark{z-index:1;background:linear-gradient(160deg,#efe9dc 0%,#a89f8c 50%,#5f584d 100%);width:40px;height:40px;animation:1.2s ease-in-out infinite brand-loader-pulse;position:relative}.brand-loader.is-compact .brand-loader-orbit{width:48px;height:48px}.brand-loader.is-compact .brand-mark{width:30px;height:30px}@keyframes session-spin{to{transform:rotate(360deg)}}@keyframes brand-loader-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.04)}}.topbar{z-index:30;background:color-mix(in srgb, var(--surface) 90%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex:0 0 64px;justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.topbar-left,.topbar-actions{align-items:center;gap:12px;display:flex}.menu-button{display:none!important}.global-search{width:min(380px,36vw);height:38px;color:var(--muted);background:var(--surface-soft);border:1px solid #0000;border-radius:5px;align-items:center;gap:9px;padding:0 11px;transition:border-color .18s,box-shadow .18s,background .18s;display:flex;position:relative}.global-search:focus-within{background:var(--surface);box-shadow:0 0 0 4px var(--focus-halo);border-color:#b4ab97}.global-search input{background:0 0;border:0;outline:0;flex:1;min-width:0;padding:0}.search-clear{width:26px;height:26px;color:var(--muted);background:0 0;border-radius:4px;flex:none;place-items:center;display:grid}.search-clear:hover{color:var(--ink);background:var(--surface-muted)}.global-search-results{z-index:80;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;background:var(--surface);border:1px solid var(--line);width:min(520px,100vw - 32px);max-height:min(560px,100dvh - 90px);box-shadow:var(--shadow-md);border-radius:6px;padding:6px;display:block;position:absolute;top:43px;left:0;overflow:hidden auto}.global-search-group+.global-search-group{border-top:1px solid var(--line-soft);margin-top:4px;padding-top:4px}.global-search-group-title{justify-content:space-between;align-items:center;gap:8px;padding:8px 10px 4px;display:flex}.global-search-group-title strong,.global-search-group-title span{min-width:0;display:block}.global-search-group-title strong{color:var(--muted);letter-spacing:.04em;font-size:11px;font-weight:700}.global-search-group-title span{color:var(--subtle);font-size:11px}.global-search-result{width:100%;min-height:52px;color:var(--ink);text-align:left;touch-action:pan-y;background:0 0;border:0;border-radius:4px;grid-template-columns:24px minmax(0,1fr) 16px;align-items:center;gap:8px;padding:8px 10px;display:grid}.global-search-result:hover,.global-search-result:focus-visible{background:var(--green-50)}.global-search-result>svg:first-child{color:var(--green-700)}.global-search-result>svg:last-child{color:var(--muted);transform:rotate(-90deg)}.global-search-result span,.global-search-result strong,.global-search-result small{min-width:0;display:block}.global-search-result strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.global-search-result small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.global-search-more{color:var(--subtle);margin:0;padding:4px 10px 8px;font-size:11px}.global-search-empty{color:var(--muted);text-align:center;padding:18px 12px;font-size:12px}.role-quick-switch{background:var(--surface-muted);border-radius:5px;align-items:center;height:34px;padding:3px;display:flex}.role-quick-switch button{height:28px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:3px;padding:0 10px;font-size:12px;font-weight:700}.role-quick-switch button.is-active{color:var(--green-900);background:var(--surface);border-color:var(--green-100);box-shadow:var(--shadow-sm)}.notification-button,.notification-wrap{position:relative}.notification-button>span{color:#fff;background:var(--blue-700);border:2px solid var(--surface);border-radius:9px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:9px;font-weight:800;line-height:1;display:grid;position:absolute;top:1px;right:0}.notification-panel{z-index:80;isolation:isolate;background:var(--surface);border:1px solid var(--line);width:min(390px,100vw - 24px);box-shadow:var(--shadow-md);border-radius:6px;position:absolute;top:44px;right:0;overflow:hidden}.notification-panel>header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;min-height:50px;padding:0 14px;display:flex}.notification-panel>header>span{gap:2px;display:grid}.notification-panel>header strong{font-size:14px}.notification-panel>header small{color:var(--muted);font-size:11px;display:block}.notification-read-all{min-height:30px;color:var(--blue-700);background:var(--blue-50);border-radius:4px;padding:0 8px;font-size:11px;font-weight:700}.notification-read-all:hover{background:var(--blue-100)}.notification-read-all:disabled,.notification-read-all:disabled:hover{color:var(--muted);background:var(--surface-muted);cursor:default}.notification-panel>div{max-height:min(520px,100dvh - 120px);padding:6px;display:grid;overflow:auto}.notification-section-title{min-height:32px;color:var(--ink-soft);border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:5px 10px;font-size:11px;display:flex}.notification-section-title>span{color:var(--muted);font-size:10px}.notification-section-title-history{border-top:1px solid var(--line);margin-top:5px}.notification-item,.notification-request>button{width:100%;min-height:56px;color:var(--ink);text-align:left;background:0 0;border-radius:4px;grid-template-columns:24px minmax(0,1fr) 16px;align-items:center;gap:8px;padding:8px 10px;display:grid}.notification-item:hover,.notification-request>button:hover{background:var(--green-50)}.notification-item>svg:first-child{color:var(--green-700)}.notification-item>svg:last-child{color:var(--muted);transform:rotate(-90deg)}.notification-item span,.notification-item strong,.notification-item small,.notification-request strong,.notification-request small{min-width:0;display:block}.notification-item strong,.notification-request strong{font-size:13px}.notification-item small,.notification-request small{color:var(--muted);margin-top:2px;font-size:11px}.notification-activity{border-bottom:1px solid var(--line-soft);align-items:start;min-height:68px}.notification-activity.is-unread{background:var(--blue-50)}.notification-activity.is-read{color:var(--ink-soft)}.notification-activity-mark{background:var(--blue-700);border-radius:50%;width:7px;height:7px;margin:7px auto 0}.notification-activity.is-read .notification-activity-mark{background:var(--line)}.notification-activity time{color:var(--ink-400);margin-top:5px;font-size:10px;display:block}.notification-request{border-bottom:1px solid var(--line-soft);padding:3px 0 9px}.notification-request>button{grid-template-columns:1fr}.notification-request>span{justify-content:flex-end;gap:6px;padding:0 10px;display:flex}.notification-empty{min-height:130px;color:var(--muted);align-content:center;place-items:center;gap:8px;font-size:12px;display:grid}.notification-empty svg{color:var(--green-700)}.page-content{flex:1;width:100%;min-width:0;max-width:1560px;min-height:0;margin:0 auto;padding:30px 30px 48px}.portal-loading{min-height:max(360px,100dvh - 190px);color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;display:flex}.portal-loading strong{color:var(--ink)}.page-enter{min-width:0;position:relative}.page-enter-bar{z-index:3;background:linear-gradient(90deg,#ddd9cf,#a89f8c 55%,#5f584d);border-radius:999px;width:0;height:2px;animation:.52s ease-out forwards page-enter-bar;position:absolute;top:0;left:0}.page-enter-bar.is-inline{width:min(180px,56vw);margin:0 auto;animation-name:page-enter-bar-loop;animation-duration:1.1s;animation-iteration-count:infinite;display:block;position:relative}.page-enter-indicator{z-index:2;min-height:min(280px,46dvh);color:var(--green-900);background:color-mix(in srgb, var(--canvas) 90%, transparent);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:13px;font-weight:650;animation:.42s ease-out forwards page-enter-veil;display:flex;position:absolute;inset:0}.page-enter-content{animation:.42s ease-out page-enter}.page-enter.is-entering .page-enter-content{opacity:.28}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes page-enter-bar{0%{opacity:1;width:0}72%{opacity:1;width:82%}to{opacity:0;width:100%}}@keyframes page-enter-bar-loop{0%{opacity:.4;width:12%}50%{opacity:1;width:88%}to{opacity:.4;width:12%}}@keyframes page-enter-veil{0%{opacity:1}58%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.page-enter-bar,.page-enter-bar.is-inline,.page-enter-indicator,.page-enter-content,.brand-loader-ring,.student-progress__fill,.student-course-option.is-selected,.student-date-option.is-selected,.student-time-slot.is-selected,.student-course-option.is-selected>svg:last-child,.student-home-view>section,.admin-dashboard>.alert-strip,.admin-dashboard>.stat-grid,.admin-dashboard>.dashboard-grid,.admin-dashboard>.content-section,.admin-dashboard>.rights-overview,.teacher-today-view>.teacher-home-rules,.teacher-today-view>.teacher-home-schedule,.teacher-today-view>.content-section,.salon-card-list>*,.mobile-nav button.is-active svg,.mobile-nav button.is-active:after,.student-booking-refresh,.student-booking-step>.student-segmented-control,.brand-atmosphere,.brand-atmosphere__glow,.brand-atmosphere__beam,.brand-atmosphere__keys,.brand-atmosphere__keys:before,.brand-atmosphere__note,.login-brand .brand-atmosphere__note,.login-brand .brand-lockup .brand-mark,.login-brand .brand-lockup .brand-mark:after,.login-brand-lockup:before,.sidebar .login-brand-title:after,.login-brand>.brand-lockup,.login-shell .page-header,.login-shell .form-grid>*,.button-primary:after,.student-primary-button:after,.app-shell .student-membership-banner:after,.app-shell .page-header h1,.student-page-header h1,.section-heading h2,.section-heading h3,.student-section__heading h2,.review-section-heading h3,.settings-section h2,.lesson-block.is-live,.timeline-row.is-in_progress,.timeline-row.is-live,.lesson-row.is-live,.teacher-upcoming-row.is-live,.teacher-schedule-row.is-live,.student-lesson-card.is-live,.student-dated-lesson.is-live,.lesson-detail-banner.is-live,.teacher-availability-slot.is-occupied.is-live,.timeline-row.is-in_progress .badge .badge-dot,.timeline-row.is-live .badge .badge-dot,.lesson-row.is-live .badge-dot,.teacher-upcoming-row.is-live .badge-dot,.teacher-schedule-row.is-live .badge-dot,.lesson-block.is-live .lesson-status-dot,.lesson-detail-banner.is-live .badge .badge-dot,.student-lesson-card.is-live .badge-dot,.student-dated-lesson.is-live .badge-dot,.student-status-pill.is-live .badge-dot,.teacher-availability-slot.is-occupied.is-live:after{animation:none}.app-shell .page-header h1,.student-page-header h1,.section-heading h2,.section-heading h3,.student-section__heading h2,.review-section-heading h3,.settings-section h2{-webkit-text-fill-color:unset;color:var(--ink);background-image:none}.page-enter-indicator{display:none}.page-enter.is-entering .page-enter-content{opacity:1}.student-course-option,.student-date-option,.student-time-slot,.segmented button,.student-segmented-control button,.mobile-nav button{transition:none}.student-course-option:active:not(:disabled):not(.is-blocked),.student-date-option:active,.student-time-slot:active:not(:disabled),.teacher-availability-slot:not(:disabled):active{transform:none}.teacher-availability-slot{box-shadow:none}.student-home-view>section,.admin-dashboard>.alert-strip,.admin-dashboard>.stat-grid,.admin-dashboard>.dashboard-grid,.admin-dashboard>.content-section,.admin-dashboard>.rights-overview,.teacher-today-view>.teacher-home-rules,.teacher-today-view>.teacher-home-schedule,.teacher-today-view>.content-section,.salon-card-list>*{opacity:1;transform:none}.brand-atmosphere__glow,.brand-atmosphere__beam{opacity:.55;transform:none}.brand-atmosphere__keys:before{opacity:0;transform:none}.brand-atmosphere__note,.login-brand .brand-atmosphere__note{opacity:.28;transform:none}.login-brand>.brand-lockup,.login-shell .page-header,.login-shell .form-grid>*{opacity:1;transform:none}.login-brand .brand-lockup .brand-mark:after,.login-brand-lockup:before,.sidebar .login-brand-title:after{content:none}.field input,.field select,.field textarea,.search-field,.global-search{transition:none}.button-primary:after,.student-primary-button:after{content:none}}.system-copyright{color:var(--ink-400);text-align:center;flex-wrap:wrap;flex:none;justify-content:center;gap:4px 12px;padding:0 24px 24px;font-size:11px;display:flex}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;min-height:66px;margin-bottom:23px;display:flex}.page-header>div:first-child,.student-page-header>div:first-child{flex:auto;min-width:0}.page-header h1,.student-page-header h1{color:var(--ink);white-space:nowrap;font-size:25px;font-weight:750;line-height:1.25}.page-header p,.student-page-header p{max-width:760px;color:var(--ink-soft);margin-top:6px;font-size:14px}.page-eyebrow,.student-page-header__eyebrow{color:var(--green-700);margin-bottom:5px;padding-top:.2em;font-size:11px;font-weight:700;line-height:1.45;overflow:visible}.page-actions,.button-group{flex:none;align-items:center;gap:8px;display:flex}.button{white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 14px;font-weight:650;transition:background .14s,border-color .14s,box-shadow .14s;display:inline-flex}.button>span{align-items:center;gap:.12em;line-height:1;display:inline-flex}.button>span>svg{flex:none;width:1em;height:1em;display:block}.button-sm{height:31px;padding:0 9px;font-size:12px}.button-primary,.student-primary-button{position:relative;overflow:hidden}.button-primary{color:var(--gold-ink);background:var(--gold-sheen);border-color:#a89f8c;box-shadow:inset 0 1px #ffffff0d,0 8px 18px #08090c1f}.button-primary>*,.student-primary-button>*{z-index:1;position:relative}.button-primary:after,.student-primary-button:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 32%,#fff8e629 48%,#0000 64%);animation:18s linear infinite login-button-sheen;position:absolute;inset:0;transform:translate(-120%)}.button-primary:disabled:after,.student-primary-button:disabled:after{opacity:0;animation:none}.button-primary:not(:disabled):hover{color:var(--gold-ink);background:var(--gold-sheen-hover);border-color:#b4ab97}.button-secondary{color:var(--ink-soft);background:var(--surface);border-color:var(--line-strong)}.button-secondary:not(:disabled):hover{background:var(--surface-soft);border-color:var(--subtle)}.button-ghost{height:auto;color:var(--green-700);background:0 0;padding:6px}.button-danger-ghost{color:var(--wine);border-color:var(--wine);background:0 0}.button-ghost:not(:disabled):hover{background:var(--surface-soft)}.button-danger-ghost:not(:disabled):hover{color:var(--wine);background:#b14b4b29;border-color:#c96a6a}.icon-button{width:36px;height:36px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:5px;flex:none;place-items:center;padding:0;display:inline-grid}.icon-button:not(:disabled):hover{color:var(--ink);background:var(--surface-soft);border-color:var(--line)}.badge{width:max-content;min-height:23px;color:var(--ink-soft);background:var(--surface-muted);white-space:nowrap;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:2px 8px;font-size:11px;font-weight:650;display:inline-flex}.badge-dot{transform-origin:50%;background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.badge-success{color:var(--green-900);background:var(--green-50);border-color:var(--green-100)}.badge-warning{color:var(--gold-700);background:var(--gold-50);border-color:var(--gold-100)}.badge-danger{color:var(--red-700);background:var(--red-50);border-color:var(--red-100)}.badge-info{color:var(--blue-700);background:var(--blue-50);border-color:var(--blue-100)}.badge-coral{color:var(--coral-700);background:var(--coral-50);border-color:var(--coral-100)}.course-badge,.student-course-badge{color:var(--ink-soft);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:650;display:inline-flex}.course-badge-mark{border:1px solid;border-radius:4px;place-items:center;width:25px;height:25px;display:inline-grid}.course-emerald .course-badge-mark,.student-course-badge--emerald{color:var(--green-700);background:var(--green-50)}.course-blue .course-badge-mark,.student-course-badge--blue{color:var(--blue-700);background:var(--blue-50)}.course-coral .course-badge-mark,.student-course-badge--coral{color:var(--coral-700);background:var(--coral-50)}.course-gold .course-badge-mark,.student-course-badge--gold{color:var(--gold-700);background:var(--gold-50)}.course-chip{border:1px solid #0000;border-radius:6px;flex-direction:column;gap:2px;min-width:0;padding:8px 9px;display:flex}.course-chip--emerald{color:var(--green-900);background:var(--green-50);border-color:var(--green-100)}.course-chip--blue{color:var(--blue-700);background:var(--blue-50);border-color:var(--blue-100)}.course-chip--coral{color:var(--coral-700);background:var(--coral-50);border-color:var(--coral-100)}.course-chip--gold{color:var(--gold-700);background:var(--gold-50);border-color:var(--gold-100)}.course-chip.is-closed{color:var(--muted);background:var(--surface-soft);border-color:var(--line)}.segmented,.student-segmented-control{background:0 0;border-radius:0;flex-wrap:wrap;align-items:center;gap:6px;height:auto;padding:0;display:inline-flex}.segmented button,.student-segmented-control button{height:34px;min-height:34px;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:0 12px;font-size:12px;font-weight:700;transition:background .16s,border-color .16s,box-shadow .16s,color .16s;display:inline-flex}.segmented button.is-active,.student-segmented-control button.is-selected{color:var(--green-900);background:var(--green-50);border-color:var(--green-100);box-shadow:var(--shadow-sm)}.segmented[data-count="5"],.segmented[data-count="6"],.record-tabs[data-count="5"],.record-tab-list[data-count="5"]{max-width:100%}@media (width<=1080px){.segmented[data-count="5"],.segmented[data-count="6"]{gap:6px;width:100%;height:auto;padding:0;display:grid}.segmented[data-count="6"]{grid-template-columns:repeat(3,minmax(0,1fr))}.segmented[data-count="5"]{grid-template-columns:repeat(6,minmax(0,1fr))}.segmented[data-count="5"]>button{grid-column:span 2}.segmented[data-count="5"]>button:nth-child(n+4){grid-column:span 3}.segmented[data-count="5"]>button,.segmented[data-count="6"]>button{white-space:nowrap;width:100%;min-width:0;height:36px}}.search-field{width:min(340px,100%);height:38px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:5px;align-items:center;gap:8px;padding:0 11px;transition:border-color .18s,box-shadow .18s;display:flex}.search-field:focus-within{box-shadow:0 0 0 4px var(--focus-halo);border-color:#b4ab97}.search-field input{background:0 0;border:0;outline:0;width:100%;min-width:0;padding:0}.select-field{flex-direction:column;gap:5px;display:inline-flex}.select-control{align-items:center;display:flex;position:relative}.select-control select{appearance:none;background:var(--surface);border:1px solid var(--line);border-radius:5px;min-width:130px;height:36px;padding:0 31px 0 10px}.select-control svg{pointer-events:none;position:absolute;right:9px}.progress-wrap{width:100%}.progress-track{background:var(--surface-muted);border-radius:3px;width:100%;height:5px;overflow:hidden}.progress-fill{border-radius:inherit;height:100%;display:block}.progress-emerald{background:var(--green-700)}.progress-coral{background:var(--coral-500)}.progress-gold{background:var(--gold-500)}.progress-blue{background:var(--blue-700)}.surface,.content-section,.student-section{background:var(--surface);border:1px solid var(--card-line);box-shadow:var(--shadow-sm);border-radius:10px}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:59px;padding:15px 18px;display:flex}.section-heading h2,.section-heading h3{margin:0;font-size:15px;font-weight:720;line-height:1}.section-heading p{color:var(--muted);margin:0;font-size:11px;line-height:1}.section-heading-copy{align-items:center;gap:10px;display:flex}.section-heading-copy>div{align-items:baseline;gap:10px;min-width:0;display:flex}.section-heading-icon{width:34px;height:34px;color:var(--green-700);background:var(--green-50);border-radius:5px;place-items:center;display:grid}.section-heading-icon svg,.alert-strip-icon svg,.metric-icon svg,.attention-icon svg,.rights-icon svg,.record-type-icon svg,.student-entitlement-card__icon svg,.empty-icon svg,.student-empty-state__icon svg,.info-callout>svg,.account-login-note>svg,.login-recovery-success>svg,.membership-status-card>svg,.form-summary>svg,.button>svg,.login-recovery-link>svg,.student-profile-panel__heading>svg{flex:none;display:block}.section-heading-actions{align-items:center;gap:8px;display:flex}.app-shell .page-header h1,.student-page-header h1,.section-heading h2,.section-heading h3,.student-section__heading h2,.review-section-heading h3,.settings-section h2{color:var(--ink);background-image:linear-gradient(110deg, var(--ink) 36%, #c9c0ad 50%, var(--ink) 64%);-webkit-text-fill-color:transparent;background-position:180%;background-size:240% 100%;-webkit-background-clip:text;background-clip:text;animation:18s linear infinite section-title-sheen;display:inline-block}@keyframes section-title-sheen{0%,8%{background-position:180%}24%{background-position:-40%}to{background-position:-40%}}.alert-strip{width:100%;min-height:58px;color:var(--ink-soft);text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--card-line);border-left:2px solid #5f584d;border-radius:6px;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;display:flex}.alert-strip:hover,.alert-strip:focus-visible{border-color:var(--card-line-strong)}.alert-strip-icon{width:34px;height:34px;color:var(--ink-soft);background:var(--surface-soft);border-radius:50%;flex:none;place-items:center;display:grid}.alert-strip-copy{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.alert-strip-copy strong{min-height:34px;color:var(--ink);align-items:center;line-height:1.2;display:flex}.alert-strip-copy>span{color:var(--muted);font-size:12px}.alert-strip-action{min-height:34px;color:var(--ink);border:1px solid var(--line-strong);white-space:nowrap;background:0 0;border-radius:6px;flex:none;align-items:center;gap:5px;margin-left:auto;padding:0 12px;font-weight:700;display:inline-flex}.alert-strip:hover .alert-strip-action,.alert-strip:focus-visible .alert-strip-action{background:var(--surface-soft)}.attendance-rule-copy{color:inherit;margin-top:4px;font-size:12px;line-height:1.55;display:block}.u-nowrap{white-space:nowrap}.attendance-jump-row{cursor:pointer;text-align:left;border:0;border-bottom:1px solid var(--line-soft);background:0 0;border-radius:0;width:100%}.attendance-jump-row:hover,.attendance-jump-row:focus-visible{background:var(--green-50)}.attendance-jump-action{color:var(--green-700);white-space:nowrap;font-size:12px;font-weight:700}.record-row.is-attendance-active{background:var(--green-50)}.stat-grid,.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px;display:grid}.teacher-home-schedule{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px;margin:0 0 15px;display:grid}.teacher-home-schedule>.content-section{flex-direction:column;min-width:0;min-height:0;margin-bottom:0;display:flex}.teacher-home-schedule .teacher-upcoming-list,.teacher-home-schedule .empty-state{flex:none}.teacher-home-schedule .empty-state{min-height:0;padding:22px 16px}.teacher-upcoming-list{flex-direction:column;display:flex}.teacher-upcoming-row{width:100%;min-width:0;color:inherit;border:0;border-top:1px solid var(--line);background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:0;display:grid}.teacher-upcoming-open{width:100%;min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;appearance:none;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"when main status";align-items:center;column-gap:14px;padding:14px 18px;display:grid}.teacher-upcoming-row:hover,.teacher-upcoming-open:hover{background:var(--surface-soft)}.teacher-upcoming-open:focus-visible{outline:2px solid var(--green-700);outline-offset:-2px}.teacher-upcoming-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;padding:0 16px 0 0;display:flex}.teacher-upcoming-row.is-live,.teacher-upcoming-row.is-live:hover{background:color-mix(in srgb, var(--green-50) 80%, var(--surface));box-shadow:inset 3px 0 0 var(--green-700);outline:none;animation:none}.teacher-upcoming-row.is-live .teacher-upcoming-open:hover{background:0 0}.teacher-upcoming-when,.teacher-upcoming-main{flex-direction:column;gap:2px;min-width:0;display:flex}.teacher-upcoming-when{text-align:center;grid-area:when;justify-content:center;align-items:center}.teacher-upcoming-main{text-align:center;flex-flow:row;grid-area:main;justify-content:center;align-items:center;gap:8px}.teacher-upcoming-when strong{white-space:nowrap;font-size:15px;font-weight:720;line-height:1.3;overflow:visible}.teacher-upcoming-main strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;font-weight:720;line-height:1.3;overflow:hidden}.teacher-upcoming-meta,.teacher-upcoming-status{white-space:nowrap;flex:none;font-size:13px;font-weight:550;line-height:1.3}.teacher-upcoming-meta{color:var(--muted)}.teacher-upcoming-status{text-align:right;grid-area:status;place-self:center end;font-weight:650}.teacher-upcoming-status.is-info{color:var(--blue-700)}.teacher-upcoming-status.is-success{color:var(--green-900)}.teacher-upcoming-status.is-warning{color:var(--gold-700)}.teacher-upcoming-status.is-danger{color:var(--red-700)}.teacher-upcoming-status.is-neutral{color:var(--ink)}.app-shell .teacher-upcoming-status.is-info{color:#c5d4e2}.app-shell .teacher-upcoming-status.is-warning{color:#efcf8a}.teacher-home-rules,.teacher-schedule-rules,.student-lesson-policy-rules,.admin-lesson-policy-rules{margin:0 0 16px}.member-lesson-policy-rules{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.member-lesson-policy-rule{background:var(--surface);border:1px solid var(--card-line);min-width:0;min-height:112px;box-shadow:var(--shadow-sm);border-radius:7px;margin:0;padding:17px;position:relative;overflow:hidden}.member-lesson-policy-rule:after{content:"";pointer-events:none;width:44px;height:3px;position:absolute;bottom:0;right:0}.member-lesson-policy-rule.is-reschedule:after{background:var(--blue-700)}.member-lesson-policy-rule.is-late_report:after{background:var(--gold-500)}.member-lesson-policy-rule__head{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;line-height:1;display:flex}.member-lesson-policy-rule__head svg{color:var(--subtle)}.member-lesson-policy-rule.is-reschedule .member-lesson-policy-rule__head svg{color:var(--blue-700)}.member-lesson-policy-rule.is-late_report .member-lesson-policy-rule__head svg{color:var(--gold-500)}.member-lesson-policy-rule__copy{color:var(--ink-soft);margin:10px 0 0;font-size:13px;line-height:1.55}.member-lesson-policy-rule .ui-copy-short{display:none}.teacher-home-rules.member-lesson-policy-rules{margin:0 0 15px}@media (width<=720px){.teacher-home-schedule{grid-template-columns:1fr}.teacher-home-schedule>.content-section{min-height:0}.teacher-upcoming-row{grid-template-columns:minmax(0,1fr);align-items:stretch}.teacher-upcoming-open{grid-template-columns:6.4rem minmax(0,1fr) auto;grid-template-areas:"when main status";align-items:center;padding:13px 16px}.teacher-upcoming-when{text-align:left;align-items:flex-start}.teacher-upcoming-main{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;width:100%;min-width:0;display:flex;overflow:hidden}.teacher-upcoming-main strong,.teacher-upcoming-meta{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.teacher-upcoming-status{white-space:nowrap;justify-self:end}.teacher-upcoming-row.has-actions .teacher-upcoming-open{padding-bottom:10px}.teacher-upcoming-actions{flex-wrap:nowrap;justify-content:stretch;gap:8px;width:100%;padding:0 16px 12px;display:flex}.teacher-upcoming-row.has-actions .teacher-upcoming-actions{border-top:1px solid var(--line);padding-top:10px}.teacher-upcoming-actions .button{flex:1 1 0;justify-content:center;min-width:0;height:36px;padding:0 10px}}@media (width>=721px){.teacher-upcoming-row{grid-template-columns:minmax(0,1fr) minmax(15rem,auto);align-items:stretch}.teacher-upcoming-open{grid-template-columns:7.6rem minmax(0,1fr) 6.5rem;justify-items:start;padding:14px 12px 14px 18px}.teacher-upcoming-when{text-align:left;align-items:flex-start}.teacher-upcoming-main{text-align:left;justify-content:flex-start;min-width:0;overflow:hidden}.teacher-upcoming-status{min-width:6.5rem}.teacher-upcoming-actions{flex-wrap:nowrap;justify-content:flex-end;min-width:15rem;padding:0 18px 0 8px}}.stat-card,.metric-card{background:var(--surface);border:1px solid var(--card-line);min-width:0;min-height:132px;box-shadow:var(--shadow-sm);border-radius:7px;padding:17px;position:relative;overflow:hidden}.stat-card:after,.metric-card:after{content:"";pointer-events:none;width:44px;height:3px;position:absolute;bottom:0;right:0}.stat-emerald:after,.metric-emerald:after{background:var(--green-700)}.stat-blue:after,.metric-blue:after{background:var(--blue-700)}.stat-coral:after,.metric-coral:after{background:var(--coral-500)}.stat-gold:after,.metric-gold:after{background:var(--gold-500)}.stat-card-head{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.stat-card-head svg{color:var(--subtle)}.stat-emerald .stat-card-head svg{color:var(--green-700)}.stat-blue .stat-card-head svg{color:var(--blue-700)}.stat-coral .stat-card-head svg{color:var(--coral-500)}.stat-gold .stat-card-head svg{color:var(--gold-500)}.stat-card-jump{align-items:center;gap:1px;display:inline-flex}.stat-card-jump>svg:last-child{color:var(--subtle)}.stat-card-button{width:100%;color:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.stat-card-button:not(:disabled):hover{border-color:var(--blue-500);box-shadow:var(--shadow-md)}.stat-card-button:not(:disabled):active{transform:translateY(1px)}.stat-card-button:focus-visible{border-color:var(--blue-700);box-shadow:0 0 0 3px var(--focus-halo);outline:0}.stat-value{margin-top:9px;font-size:30px;font-weight:760;line-height:1.15}.stat-value small{color:var(--muted);margin-left:5px;font-size:12px;font-weight:500}.stat-note,.metric-hint{color:var(--muted);margin-top:6px;font-size:11px;line-height:16px}.metric-card{align-items:center;gap:12px;min-height:92px;display:flex}.metric-icon{width:36px;height:36px;color:var(--green-700);background:var(--green-50);border-radius:5px;flex:none;place-items:center;display:grid}.metric-coral .metric-icon{color:var(--coral-700);background:var(--coral-50)}.metric-blue .metric-icon{color:var(--blue-700);background:var(--blue-50)}.metric-gold .metric-icon{color:var(--gold-700);background:var(--gold-50)}.metric-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.metric-hint{min-height:16px}.metric-copy strong{order:-1;font-size:25px;line-height:1.2}.metric-card.is-clickable{width:100%;color:inherit;text-align:left;transition:border-color .15s,box-shadow .15s,background .15s}.metric-card.is-clickable:hover{background:var(--surface-soft);border-color:var(--green-700);box-shadow:0 3px 12px #2021241a}.metric-card.is-clickable:focus:not(:focus-visible){background:var(--surface);border-color:var(--card-line);box-shadow:var(--shadow-sm);outline:0}.metric-entry-icon{color:var(--subtle);position:absolute;top:50%;right:13px;transform:translateY(-50%)}.metric-label{color:var(--muted);margin-top:2px;font-size:12px}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(330px,.7fr);gap:15px;margin-bottom:15px;display:grid}.timeline-list,.attention-list{flex-direction:column;display:flex}.timeline-row{background:var(--surface);border:1px solid var(--card-line);border-radius:10px;grid-template-columns:58px 28px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:67px;padding:9px 16px;display:grid}.timeline-row.is-clickable{cursor:pointer}.timeline-row.is-clickable:hover,.timeline-row.is-clickable:focus-visible{border-color:var(--card-line-strong)}.timeline-row+.timeline-row{margin-top:12px}.timeline-row.is-in_progress{background:var(--surface-soft);border-color:var(--green-700);box-shadow:inset 3px 0 0 var(--green-700);overflow:hidden}.timeline-row.is-pending_confirmation{background:var(--gold-50);border-color:var(--gold-100)}.timeline-row.is-completed{background:var(--green-100);border-color:var(--green-700);box-shadow:inset 3px 0 0 var(--green-700)}.timeline-row.is-completed .badge{color:var(--green-900);background:var(--surface);border-color:var(--green-700)}.timeline-row.is-canceled,.timeline-row.is-cancelled{background:var(--red-50);border-color:var(--red-100)}.timeline-time{flex-direction:column;display:flex}.timeline-time strong{font-size:13px}.timeline-time span{color:var(--ink-soft);font-size:12px}.timeline-main{flex-direction:column;justify-content:center;gap:2px;min-width:0;display:flex}.timeline-row>.badge{align-self:center}.timeline-main strong,.timeline-main>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timeline-main>span{color:var(--muted);font-size:11px}.timeline-main strong.timeline-members,.timeline-members{white-space:nowrap;flex-wrap:nowrap;align-items:center;min-width:0;display:flex;overflow:hidden}.timeline-member{align-items:center;display:inline-flex}.timeline-member-jump{min-height:28px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:1px;padding:0;font-weight:700;line-height:1.2;display:inline-flex}.timeline-member-jump svg{color:var(--subtle);flex:none}.timeline-member-more{color:var(--muted);font-weight:600}.attention-panel{scroll-margin-top:72px}.attention-panel.is-attention-target{border-color:var(--gold-500);box-shadow:inset 0 0 0 1px var(--gold-500)}.month-report-prompt{text-align:left;width:100%;color:inherit;background:var(--surface);border:1px solid var(--card-line);cursor:pointer;border-radius:12px;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:10px;margin:0 0 16px;padding:12px 14px;display:grid}.month-report-prompt small{color:var(--muted);font-size:12px;line-height:1.45;display:block}.month-report-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.month-report-toolbar .search-field{border-radius:6px;flex:220px;width:auto;min-width:180px;max-width:none;height:36px;margin-right:0}.month-report-toolbar .select-field{flex-direction:row;align-items:center;gap:8px;margin:0}.month-report-toolbar .field-label{color:var(--muted);white-space:nowrap;font-size:12px;line-height:1}.month-report-toolbar .select-control select{border-radius:6px;height:36px}.month-report-toolbar .segmented,.month-report-toolbar .segmented[data-count="5"]{flex:none;grid-template-columns:repeat(5,minmax(64px,1fr));grid-auto-flow:column;gap:6px;width:max-content;min-width:0;max-width:100%;display:inline-grid;overflow:visible}.month-report-toolbar .segmented>button,.month-report-toolbar .segmented[data-count="5"]>button,.month-report-toolbar .segmented[data-count="5"]>button:nth-child(n+4){grid-column:auto;width:100%;min-width:64px;height:36px;min-height:36px;padding:0 12px}.month-report-summary{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:2px 16px 14px;display:grid}.month-report-summary span{border-left:1px solid var(--line);gap:2px;min-width:0;padding:0 14px;display:grid}.month-report-summary span:first-child{border-left:0;padding-left:0}.month-report-summary small{color:var(--muted);font-size:12px;font-weight:700}.month-report-summary strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:18px;line-height:1.2}.month-report-summary em{color:var(--muted);margin-left:3px;font-size:12px;font-style:normal;font-weight:600}.month-report-list{gap:12px;padding:0 16px 16px;display:grid}.month-report-card{background:var(--surface);border:1px solid var(--card-line);border-radius:12px;gap:8px;padding:14px 16px;display:grid}.month-report-card header{justify-content:space-between;align-items:center;gap:8px;display:flex}.month-report-card header button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.month-report-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.month-report-dates{gap:8px;min-width:0;display:grid}.month-report-dates-toggle{width:100%;min-width:0;color:var(--muted);text-align:left;background:0 0;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:0;font-size:13px;line-height:1.5;display:flex}.month-report-dates-label{color:var(--ink);font-weight:700}.month-report-dates-toggle svg{flex:none;transition:transform .16s}.month-report-dates-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.month-report-gap{min-width:0}.month-report-date-groups{gap:6px;min-width:0;display:grid}.month-report-date-groups[hidden]{display:none}.month-report-date-groups p{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;margin:0;display:flex}.month-report-day{color:var(--ink);font-weight:700}.month-report-course{color:var(--ink-soft);background:var(--surface-muted);border-radius:4px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px}.month-report-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:0;display:grid}.month-report-metrics div{gap:2px;display:grid}.month-report-metrics dt{color:var(--muted);font-size:12px}.month-report-metrics dd{margin:0;line-height:1.45}@media (width<=720px){.month-report-metrics{grid-template-columns:1fr}.month-report-list,.month-report-summary{padding-left:12px;padding-right:12px}.month-report-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-bottom:12px}.month-report-summary span,.month-report-summary span:first-child,.month-report-summary span:nth-child(odd){border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;padding:8px 10px}}.attention-item{text-align:left;border-bottom:1px solid var(--line-soft);background:0 0;grid-template-columns:37px 1fr 18px;align-items:center;gap:10px;min-height:68px;padding:10px 15px;display:grid}.attention-item:last-child{border-bottom:0}.attention-item:hover{background:var(--surface-soft)}.attention-icon,.rights-icon{border-radius:5px;place-items:center;width:34px;height:34px;display:grid}.attention-icon.warning,.rights-icon.gold{color:var(--gold-700);background:var(--gold-50)}.attention-icon.coral,.rights-icon.coral{color:var(--coral-700);background:var(--coral-50)}.rights-icon.emerald{color:var(--green-700);background:var(--green-50)}.rights-icon.blue{color:var(--blue-700);background:var(--blue-50)}.attention-item>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.attention-item strong,.attention-item small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attention-item small{color:var(--muted);font-size:11px}.rights-overview{margin-bottom:10px}.rights-summary-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0;padding:16px 0;display:grid}.rights-summary-item{border-right:1px solid var(--line);grid-template-columns:38px 1fr;align-items:center;gap:9px 12px;padding:4px 20px;display:grid}.rights-summary-item:last-child{border-right:0}.rights-summary-item .progress-wrap{grid-column:2}.rights-summary-item>div{flex-direction:column;display:flex}.rights-summary-item span{color:var(--muted);font-size:11px}.rights-summary-item strong{font-size:18px}.rights-summary-item strong small{color:var(--muted);font-size:11px;font-weight:500}.rights-summary-item .rights-summary-detail{color:var(--ink-soft);margin-top:2px;font-size:12px}.rights-summary-item.is-action{width:100%;color:inherit;text-align:left;cursor:pointer;appearance:none;background:0 0;border-radius:0}.rights-summary-item.is-action>div>span{align-items:center;gap:2px;display:inline-flex}.rights-summary-item.is-action:hover{background:var(--surface-soft)}.rights-summary-item.is-action:focus-visible{box-shadow:inset 0 0 0 2px var(--blue-700);outline:0}.list-surface{background:var(--surface);overflow:hidden}.member-table{background:var(--surface-muted);flex-direction:column;gap:10px;padding:12px;display:flex}.list-toolbar,.standalone-toolbar,.calendar-toolbar{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:64px;padding:12px 16px;display:flex}.list-surface>.list-toolbar{border-bottom:2px solid var(--record-split)}.standalone-toolbar{border:0;min-height:auto;margin-bottom:14px;padding:0}.attendance-period-toolbar{flex-direction:column;align-items:stretch;gap:10px}.attendance-period-toolbar-main{justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-period-toolbar-main .segmented{flex:0 auto}.attendance-period-range{grid-template-columns:repeat(2,minmax(0,168px));gap:10px;max-width:100%;display:grid}.attendance-period-range .field{min-width:0}.list-toolbar .search-field{margin-right:auto}.member-sort-field{flex-direction:row;align-items:center;gap:8px}.member-sort-field .field-label{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:700}.member-sort-field .select-control select{min-width:132px}.member-initial-row{min-height:0;color:var(--muted);letter-spacing:.08em;background:0 0;align-items:center;padding:2px 8px;font-size:12px;font-weight:700;display:flex}.toolbar-count{color:var(--muted);margin-left:auto;font-size:12px}.restore-blocked-note{color:var(--coral-700);font-weight:700}.archive-filter-toolbar{background:var(--surface);border:1px solid var(--line);border-radius:6px;align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;display:flex}.archive-filter-toolbar>span{color:var(--muted);flex:none;font-size:11px;font-weight:700}.archive-filter-toolbar .segmented{flex:1;min-width:0;max-width:100%;overflow-x:auto}.data-table{width:100%}.data-table-head,.data-table-row{align-items:center;gap:16px;padding:0 17px;display:grid}.data-table-head{min-height:40px;color:var(--muted);background:var(--surface-soft);border-bottom:1px solid var(--card-line);font-size:11px}.data-table-row{text-align:left;background:var(--surface);border-bottom:1px solid var(--card-line);width:100%;min-height:72px}.data-table-row[role=button]{cursor:pointer}.data-table-row[role=button]:hover{background:var(--surface-soft)}.data-table-row[role=button]:focus-visible{z-index:1;outline:3px solid var(--focus-ring);outline-offset:-3px;position:relative}.data-table-row:last-child{border-bottom:0}.member-table .data-table-head,.member-table .data-table-row{border:1px solid var(--card-line);border-radius:10px;grid-template-columns:minmax(180px,1fr) minmax(120px,.7fr) minmax(240px,1.4fr) minmax(110px,.6fr) minmax(168px,1fr) 36px}.member-table .data-table-row,.member-table .data-table-row:last-child{border-bottom:1px solid var(--card-line)}.table-person,.teacher-cell{flex-direction:column;align-items:flex-start;gap:3px;min-width:0;display:flex}.teacher-cell small:not(.teacher-chip){max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal;word-break:keep-all;font-size:11px;line-height:1.4;overflow:hidden}.teacher-chip{width:fit-content;max-width:100%;color:var(--green-900);background:var(--green-50);border:1px solid var(--green-100);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:13px;font-weight:700;line-height:1.4;display:inline-flex;overflow:hidden}.teacher-chip.is-closed{color:var(--muted);background:var(--surface);border-color:var(--line);font-weight:650}.table-person>span{flex-direction:column;min-width:0;display:flex}.table-person strong,.table-person small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table-person small,.validity-cell small{color:var(--muted);font-size:11px}.member-service-cell{flex-direction:column;align-items:flex-start;gap:3px;min-width:0;display:flex}.member-service-cell>span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.member-service-cell>small{color:var(--muted);font-size:10px}.entitlement-mini{grid-template-columns:1fr 1fr;gap:10px;min-width:0;display:grid}.entitlement-mini .course-chip{border-radius:8px;grid-template-rows:16px minmax(24px,1fr) 16px;justify-content:stretch;align-items:stretch;min-height:74px;padding:10px 12px;font-weight:700;display:grid}.entitlement-mini .course-chip__label,.entitlement-mini .course-chip__caption{min-width:0;color:inherit;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.entitlement-mini .course-chip__label{opacity:.86;justify-content:space-between;align-items:baseline;gap:4px;font-size:12px;font-weight:700;line-height:16px;display:flex}.entitlement-mini .entitlement-balance-state{color:var(--green-700);opacity:1;flex:none;font-size:10px;font-weight:700}.entitlement-mini .entitlement-balance-state.state-not_open,.entitlement-mini .entitlement-balance-state.state-paused,.entitlement-mini .entitlement-balance-state.state-exhausted{color:var(--red-700)}.entitlement-mini .entitlement-balance-state.state-reserved,.entitlement-mini .entitlement-balance-state.state-partly_reserved{color:var(--blue-700)}.entitlement-mini .course-chip__caption{opacity:.7;font-size:11px;font-weight:550;line-height:16px}.entitlement-mini .course-chip__value,.entitlement-mini strong{white-space:nowrap;align-self:center;align-items:baseline;min-width:0;font-size:20px;line-height:1.15;display:flex;overflow:hidden}.entitlement-mini i{opacity:.72;flex:none;margin-left:2px;font-size:11px;font-style:normal;font-weight:550}.entitlement-mini .course-chip.is-closed strong{letter-spacing:0;opacity:.78;font-size:15px;font-weight:650}.validity-cell{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.mobile-cell-label{display:none}.table-footer{min-height:49px;color:var(--muted);background:var(--surface-soft);border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:7px 16px;font-size:11px;display:flex}.empty-state,.student-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:220px;padding:30px;display:flex}.empty-icon,.student-empty-state__icon{width:48px;height:48px;color:var(--green-700);background:var(--green-50);border-radius:50%;place-items:center;margin-bottom:10px;display:grid}.empty-state h3,.student-empty-state h3{font-size:15px}.empty-state p,.student-empty-state p{color:var(--ink-soft);margin-top:4px;font-size:13px}.teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.teacher-card{background:var(--surface);border:1px solid var(--card-line);min-width:0;box-shadow:var(--shadow-sm);border-radius:7px;padding:17px}.teacher-card-top{align-items:center;gap:11px;display:flex}.teacher-card-top>div{flex:1;min-width:0}.teacher-card-top h2{flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:16px;display:flex}.teacher-card-top p,.teacher-card-title{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0;font-size:11px;line-height:1.4;display:flex}.teacher-card-status{align-items:center;display:inline-flex}.teacher-card-status .badge{gap:4px;min-height:18px;padding:0 6px;font-size:10px}.teacher-card-status .badge-dot{width:5px;height:5px}.teacher-name-year-hours{color:var(--ink-soft);background:var(--surface-soft);border:1px solid var(--line);cursor:pointer;border-radius:999px;align-items:baseline;gap:4px;padding:2px 8px;font-size:12px;font-weight:700;line-height:1.2;display:inline-flex}.teacher-name-year-hours strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:14px}.teacher-name-year-hours:hover,.teacher-name-year-hours:focus-visible{color:var(--ink);background:var(--surface);border-color:var(--green-100)}.teacher-hours-toolbar{flex-wrap:wrap;align-items:flex-end;gap:8px;margin:-4px 0 14px;display:flex}.teacher-hours-toolbar .date-range-filter{flex:0 auto}.teacher-hours-toolbar-hint{color:var(--ink-soft);flex:100%;margin:0;font-size:12px}.teacher-card>.teacher-tags{margin-top:12px}.teacher-tags,.profile-course-tags,.student-course-tags{flex-wrap:wrap;gap:10px;margin:15px 0;display:flex}.teacher-metrics{background:var(--surface-soft);border-radius:5px;grid-template-columns:repeat(3,1fr);margin-bottom:12px;padding:11px 0;display:grid}.teacher-metrics>div,.teacher-metrics>button{color:inherit;border:0;border-right:1px solid var(--line);cursor:pointer;background:0 0;flex-direction:column;align-items:center;display:flex}.teacher-metrics>button:hover,.teacher-metrics>button:focus-visible{background:var(--surface)}.teacher-metrics>div:last-child,.teacher-metrics>button:last-child{border-right:0}.teacher-metrics strong{font-size:18px}.teacher-metrics span{color:var(--ink-soft);text-align:center;font-size:12px;line-height:1.3}.teacher-card-footer{color:var(--muted);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:13px;padding-top:10px;font-size:11px;display:flex}.teacher-card-footer>span{align-items:center;gap:5px;display:flex}.teacher-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;margin-left:auto;display:flex}.teacher-card--interactive{cursor:pointer}.teacher-card--interactive:hover,.teacher-card--interactive:focus-visible{border-color:var(--green-100);box-shadow:0 0 0 3px #245ea81f}.teacher-card__hint{color:var(--muted);margin:0 0 10px;font-size:11px}.teacher-roster{gap:8px;display:grid}.teacher-roster__row{width:100%;color:inherit;text-align:left;background:var(--surface-soft);border:1px solid var(--line);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.teacher-roster__row:hover,.teacher-roster__row:focus-visible{border-color:var(--green-100);background:var(--surface)}.teacher-roster__identity{gap:3px;min-width:0;display:grid}.teacher-roster__identity strong{font-size:15px}.teacher-roster__identity span{color:var(--muted);font-size:12px}.teacher-roster__meta{flex-shrink:0;align-items:center;gap:10px;display:flex}.teacher-roster__courses{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.teacher-availability-console{margin-bottom:15px;padding:17px}.teacher-availability-range{min-width:0;color:var(--ink-soft);align-items:center;gap:6px;font-size:10px;display:flex}.teacher-availability-range.has-error{color:var(--red-700)}.teacher-availability-error{color:var(--red-700);align-items:center;gap:7px;margin-top:10px;font-size:11px;display:flex}.teacher-availability-slot{text-align:left;background:var(--surface);border:1px solid var(--line);min-width:0;height:auto;min-height:78px;box-shadow:var(--shadow-sm);border-radius:7px;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:7px;padding:11px 11px 10px;transition:background .12s,border-color .12s,color .12s,box-shadow .12s;display:flex;position:relative;overflow:hidden}.teacher-availability-slot:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffffb8,#0000);height:1px;position:absolute;inset:0 0 auto}.teacher-availability-slot:after{content:"";opacity:.42;pointer-events:none;background:currentColor;border-radius:50%;width:6px;height:6px;position:absolute;top:12px;right:11px}.teacher-availability-slot:not(:disabled):active{transform:translateY(1px)}.teacher-availability-slot strong{letter-spacing:.02em;font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.teacher-availability-slot__status{text-overflow:ellipsis;white-space:nowrap;border:1px solid color-mix(in srgb, currentColor 28%, var(--line));background:color-mix(in srgb, var(--surface) 72%, transparent);border-radius:999px;align-items:center;max-width:100%;min-height:18px;padding:0 6px;font-size:10px;font-weight:700;line-height:1;display:inline-flex;overflow:hidden}.teacher-availability-slot small{max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.teacher-availability-slot.is-open{color:var(--green-900);background:var(--surface);border-color:var(--line)}.teacher-availability-slot.is-open:after{opacity:.4;background:0 0;box-shadow:inset 0 0 0 1.5px}.teacher-availability-slot.is-open .teacher-availability-slot__status{color:var(--green-700);background:var(--surface);border-color:var(--green-100)}.teacher-availability-slot.is-closed{color:var(--coral-700);background:var(--coral-50);border-color:var(--coral-100)}.teacher-availability-slot.is-closed:after{opacity:.55;background:0 0;box-shadow:inset 0 0 0 1.5px}.teacher-availability-slot.is-mixed{color:var(--blue-700);background:var(--blue-50);border-color:var(--blue-100)}.teacher-availability-slot.is-occupied{color:var(--green-700);background:color-mix(in srgb, var(--green-50) 70%, var(--surface));border-color:color-mix(in srgb, var(--green-700) 40%, var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--green-700) 8%, transparent)}.teacher-availability-slot.is-occupied>*{z-index:1;position:relative}.teacher-availability-slot.is-occupied.is-status-info{color:var(--ink);background:var(--surface);border-color:var(--line);box-shadow:inset 3px 0 0 var(--ink-400)}.teacher-availability-slot.is-occupied.is-status-danger{color:var(--red-700);background:var(--red-50);border-color:var(--red-100);box-shadow:inset 3px 0 0 var(--red-500)}.teacher-availability-slot.is-occupied.is-status-warning{color:var(--gold-700);background:var(--gold-50);border-color:var(--gold-100);box-shadow:inset 3px 0 0 var(--gold-500)}.teacher-availability-slot.is-occupied:before{opacity:1;background:repeating-linear-gradient(-45deg, color-mix(in srgb, var(--green-700) 22%, transparent) 0 1.5px, transparent 1.5px 6px);height:auto;inset:0}.teacher-availability-slot.is-occupied:after{z-index:1;background:var(--green-700);opacity:.62;border-radius:1.5px}.teacher-availability-slot.is-occupied.is-status-info:after{background:var(--ink-400)}.teacher-availability-slot.is-occupied.is-status-info:before{background:repeating-linear-gradient(-45deg, color-mix(in srgb, var(--ink-400) 14%, transparent) 0 1px, transparent 1px 7px)}.teacher-availability-slot.is-occupied.is-status-danger:before{background:repeating-linear-gradient(-45deg, color-mix(in srgb, var(--red-500) 18%, transparent) 0 1px, transparent 1px 7px)}.teacher-availability-slot.is-occupied.is-status-warning:before{background:repeating-linear-gradient(-45deg, color-mix(in srgb, var(--gold-500) 16%, transparent) 0 1px, transparent 1px 7px)}.teacher-availability-slot.is-occupied.is-status-danger:after{background:var(--red-500)}.teacher-availability-slot.is-occupied.is-status-warning:after{background:var(--gold-500)}.teacher-availability-slot.is-occupied .teacher-availability-slot__status{color:var(--green-900);background:color-mix(in srgb, var(--green-100) 58%, var(--surface));border-color:color-mix(in srgb, var(--green-700) 22%, var(--line))}.teacher-availability-slot.is-occupied.is-status-info .teacher-availability-slot__status{color:var(--ink-soft);background:var(--surface);border-color:var(--line)}.teacher-availability-slot.is-occupied.is-status-danger .teacher-availability-slot__status{color:var(--red-700);background:var(--red-50);border-color:var(--red-100)}.teacher-availability-slot.is-occupied small{color:var(--green-700)}.teacher-availability-slot.is-occupied.is-status-info small{color:var(--muted)}.teacher-availability-slot.is-occupied.is-status-danger small{color:var(--red-700)}.teacher-availability-slot.is-occupied:disabled{cursor:not-allowed;opacity:1}.teacher-availability-slot.is-pending{z-index:1;box-shadow:0 0 0 1px var(--green-900), 0 0 0 4px var(--focus-halo)}.teacher-availability-empty{color:var(--muted);text-align:center;grid-column:1/-1;padding:20px}.teacher-availability-overview{margin:0}.teacher-availability-overview-head{min-height:43px;color:var(--ink-soft);cursor:default;justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.teacher-availability-overview-meta{text-align:right;flex-direction:column;align-items:flex-end;display:flex}.teacher-availability-overview-meta>span{color:var(--ink-soft);font-size:12px}.teacher-availability-overview-meta>small{color:var(--subtle);font-size:9px}.teacher-availability-overview-list{--overview-cols:120px minmax(160px, 1fr) auto;--overview-actions:80px 108px;border:1px solid var(--line);border-radius:6px;overflow:hidden}.teacher-availability-overview-cols,.teacher-availability-overview-item{grid-template-columns:var(--overview-cols);align-items:center;column-gap:16px;min-height:52px;padding:10px 14px;display:grid}.teacher-availability-overview-cols{min-height:36px;color:var(--muted);background:var(--surface-soft);border-bottom:1px solid var(--line);padding-top:0;padding-bottom:0;font-size:10px;font-weight:650}.teacher-availability-overview-actions{grid-template-columns:var(--overview-actions);align-items:center;column-gap:10px;display:grid}.teacher-availability-overview-cols .teacher-availability-overview-actions>span{text-align:center}.teacher-availability-overview-item{background:var(--surface);border-bottom:1px solid var(--line-soft)}.teacher-availability-overview-item:last-child{border-bottom:0}.teacher-availability-overview-item.is-active{background:var(--green-50);box-shadow:inset 3px 0 0 var(--green-900)}.teacher-availability-overview-item>*{align-self:center;min-width:0}.teacher-availability-overview-select{text-align:left;background:0 0;border:1px solid #0000;border-radius:4px;width:fit-content;min-width:0;max-width:100%;padding:3px 8px;display:inline-flex}.teacher-availability-overview-item.is-active .teacher-availability-overview-select,.teacher-availability-overview-select[aria-pressed=true]{border-color:var(--green-900);background:var(--surface)}.teacher-availability-overview-name,.teacher-availability-overview-select strong,.teacher-availability-overview-base{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:650;line-height:18px;display:block;overflow:hidden}.teacher-availability-overview-base{color:var(--ink-soft);font-weight:550}.teacher-availability-person{align-items:center;gap:9px;min-width:0;display:flex}.teacher-availability-jump{border:1px solid var(--line);cursor:pointer;background:var(--surface);border-radius:4px;justify-content:center;align-items:center;width:100%;height:32px;padding:0 6px;font-size:11px;font-weight:650;line-height:1;display:inline-flex}.teacher-availability-jump.is-closed{color:var(--coral-700);background:var(--coral-50)}.teacher-availability-jump.is-lessons{color:var(--green-900);background:var(--surface)}.teacher-availability-jump.is-lessons:not(.is-empty){color:var(--green-900);background:var(--surface);border-color:var(--green-900)}.teacher-availability-jump.is-empty{color:var(--subtle);background:var(--surface);border-color:var(--line);box-shadow:none}.teacher-availability-overview-copy{width:108px;height:32px;min-height:32px;padding:0 8px}.teacher-availability-inspect-list{gap:12px;margin-top:14px;display:grid}.teacher-availability-inspect-day{gap:7px;display:grid}.teacher-availability-inspect-day>h3{color:var(--muted);margin:0;font-size:11px;font-weight:650}.teacher-availability-inspect-day>article{background:var(--surface-soft);border:1px solid var(--line-soft);border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.teacher-availability-inspect-day>article>div{flex-direction:column;gap:2px;min-width:0;display:flex}.teacher-availability-inspect-day>article strong{font-size:13px}.teacher-availability-inspect-day>article small{color:var(--ink-soft);font-size:12px}.teacher-availability-inspect-lesson .lesson-block{width:100%;min-height:72px}@media (hover:hover) and (pointer:fine){.teacher-availability-slot:not(:disabled):hover{border-color:color-mix(in srgb, var(--green-900) 28%, var(--line));box-shadow:0 6px 16px #08090c14}.teacher-availability-slot.is-pending:not(:disabled):hover{box-shadow:0 0 0 1px var(--green-900), 0 0 0 4px var(--focus-halo)}.teacher-availability-overview-item:hover{background:var(--green-50)}.teacher-availability-jump:hover{border-color:var(--ink-400)}}.theory-slot-console{margin-bottom:15px;padding:17px}.theory-slot-form{background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;align-items:end;gap:10px;width:100%;min-width:0;max-width:100%;padding:14px;display:grid;overflow:hidden}.theory-slot-form>.button{white-space:nowrap;height:40px}.theory-slot-error{color:var(--red-700);align-items:center;gap:7px;margin-top:10px;font-size:11px;display:flex}.theory-slot-list{gap:7px;margin-top:12px;display:grid}.theory-slot-list>article{border:1px solid var(--line-soft);border-radius:5px;grid-template-columns:minmax(150px,1fr) minmax(130px,.8fr) auto minmax(94px,auto);align-items:center;gap:12px;min-height:54px;padding:8px 10px;display:grid}.theory-slot-list>article>span:not(.badge){flex-direction:column;display:flex}.theory-slot-list>article small{color:var(--ink-soft);font-size:12px}.theory-slot-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.theory-slot-actions>.muted{white-space:nowrap;padding:0 4px;font-size:10px}.calendar-surface{overflow:hidden}.calendar-toolbar{justify-content:space-between}.week-switcher{align-items:center;gap:5px;display:flex}.week-title{background:0 0;flex-flow:wrap;justify-content:center;align-items:center;gap:6px 8px;min-width:0;height:auto;min-height:38px;padding:4px 10px;font-weight:700;display:flex}.week-title-range{line-height:1.2}.week-title-tags{justify-content:center;align-items:center;gap:6px;display:flex}.week-title small{color:var(--green-700);background:var(--green-50);white-space:nowrap;border-radius:3px;padding:2px 6px;font-size:10px}.week-calendar{grid-template-columns:repeat(7,minmax(0,1fr));min-height:530px;display:grid;overflow-x:auto}.calendar-day{border-right:1px solid var(--line);min-width:0}.calendar-day:last-child{border-right:0}.calendar-day>header{border-bottom:1px solid var(--line);flex-direction:column;justify-content:center;align-items:center;height:73px;display:flex}.calendar-day>header span{color:var(--ink-soft);text-align:center;font-size:10px;line-height:1}.calendar-day>header span em{display:none}.calendar-day>header strong{border-radius:50%;place-items:center;width:27px;height:27px;margin:2px 0;font-size:14px;line-height:1;display:grid}.calendar-day.is-today>header span{color:var(--ink-soft)}.calendar-day.is-today>header strong{color:#fff;background:var(--green-700)}.calendar-day>header small{max-width:100%;color:var(--subtle);text-align:center;text-overflow:ellipsis;white-space:nowrap;padding:0 4px;font-size:9px;line-height:1.2;overflow:hidden}.calendar-day-body{flex-direction:column;gap:7px;min-height:455px;padding:8px;display:flex}.lesson-block{min-height:72px;color:var(--ink);text-align:left;background:var(--surface-soft);border:1px solid var(--line);border-left:3px solid var(--green-700);border-radius:5px;flex-direction:column;gap:6px;padding:10px 10px 9px;display:flex;position:relative;overflow:hidden}.lesson-block:hover{box-shadow:0 5px 14px #0000001a}.lesson-emerald{background:var(--green-50);border-color:var(--green-100);border-left-color:var(--green-700)}.lesson-blue{background:var(--blue-50);border-color:var(--blue-100);border-left-color:var(--blue-700)}.lesson-coral{background:var(--coral-50);border-color:var(--coral-100);border-left-color:var(--coral-500)}.lesson-gold{background:var(--surface-soft);border-color:var(--gold-100);border-left-color:var(--gold-500)}.lesson-block.is-status-info{background:var(--surface);border-color:var(--line);border-left-color:var(--ink-400)}.lesson-block.is-status-success{background:var(--surface-soft);border-color:var(--green-100);border-left-color:var(--green-700)}.lesson-block.is-status-warning{background:var(--gold-50);border-color:var(--gold-100);border-left-color:var(--gold-500)}.lesson-block.is-status-danger{background:var(--red-50);border-color:var(--red-100);border-left-color:var(--red-500)}.lesson-block.is-status-neutral{background:var(--surface-muted);border-color:var(--line);border-left-color:var(--ink-400)}.lesson-block.is-settled.is-status-success{background:var(--green-100);border-color:var(--green-100);border-left-color:var(--green-700)}.lesson-block-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.lesson-time{color:var(--ink-soft);font-size:10px;font-weight:650}.lesson-course-type{color:var(--ink-soft);background:color-mix(in srgb, var(--surface) 82%, transparent);border:1px solid;border-radius:3px;flex:none;padding:1px 5px;font-size:9px;font-weight:700;line-height:1.35}.lesson-emerald .lesson-course-type{color:var(--green-700)}.lesson-blue .lesson-course-type{color:var(--blue-700)}.lesson-coral .lesson-course-type{color:var(--coral-700)}.lesson-gold .lesson-course-type{color:var(--gold-700)}.lesson-block strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.35;overflow:hidden}.lesson-block small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.lesson-block-meta,.lesson-block-status{flex-wrap:wrap;align-items:center;gap:5px 8px;min-width:0;display:flex}.lesson-block-status small,.lesson-block .lesson-block-quota{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;max-width:100%;line-height:1.35;overflow:visible}.lesson-block-outcome{border-radius:3px;align-items:center;min-height:18px;padding:0 6px;font-weight:700;display:inline-flex}.lesson-block-outcome.is-info{color:var(--blue-700);background:color-mix(in srgb, var(--surface) 78%, transparent)}.lesson-block-outcome.is-success{color:var(--green-900);background:color-mix(in srgb, var(--surface) 78%, transparent)}.lesson-block-outcome.is-warning{color:var(--gold-700);background:color-mix(in srgb, var(--surface) 78%, transparent)}.lesson-block-outcome.is-danger{color:var(--red-700);background:color-mix(in srgb, var(--surface) 78%, transparent)}.lesson-block-outcome.is-neutral{color:var(--ink);background:color-mix(in srgb, var(--surface) 78%, transparent)}.app-shell .lesson-block.is-status-info{border-left-color:#8aa3b8}.app-shell .lesson-block.is-status-warning{background:#c492401f;border-color:#c4924047 #c4924047 #c4924047 #d4a24a}.app-shell .lesson-block-outcome.is-info{color:#c5d4e2;background:#7a93a833}.app-shell .lesson-block-outcome.is-warning{color:#efcf8a;background:#d2a04633}.app-shell .lesson-status-dot.is-info{background:#8aa3b8}.app-shell .lesson-status-dot.is-warning{background:#d4a24a}.app-shell .lesson-row.is-status-info,.app-shell .teacher-schedule-row.is-status-info{background:#7a93a81a}.app-shell .lesson-row.is-status-warning,.app-shell .teacher-schedule-row.is-status-warning{background:#d2a0461f}.lesson-block-context{flex-wrap:wrap;align-items:center;gap:5px 8px;min-width:0;display:flex}.lesson-block-context>small:not(.lesson-block-lock){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lesson-block-lock{flex:none;align-items:center;font-weight:650;display:inline-flex}.lesson-block-lock.is-locked,.lesson-block-lock.is-pending{border:0;padding:0}.lesson-block-lock.is-unlocked,.lesson-block-lock.is-released{border:1px solid;border-radius:3px;padding:1px 4px;font-weight:700}.lesson-block-lock.is-locked{color:var(--green-700)}.lesson-block-lock.is-unlocked,.lesson-block-lock.is-released{color:var(--gold-700)}.lesson-block-lock.is-pending{color:var(--muted)}.lesson-status-dot{background:var(--green-700);border-radius:50%;width:6px;height:6px;position:absolute;top:8px;right:8px}.lesson-status-dot.is-info{background:var(--blue-700)}.lesson-status-dot.is-warning{background:var(--gold-500)}.lesson-status-dot.is-danger{background:var(--red-500)}.lesson-status-dot.is-neutral{background:var(--coral-500)}@keyframes lesson-live-ring{0%,to{outline-color:color-mix(in srgb, var(--green-700) 28%, transparent)}50%{outline-color:color-mix(in srgb, var(--green-700) 95%, transparent)}}@keyframes lesson-live-dot{0%,to{opacity:.45;box-shadow:0 0 0 2px color-mix(in srgb, var(--green-700) 10%, transparent);transform:scale(.78)}50%{opacity:1;box-shadow:0 0 0 5px color-mix(in srgb, var(--green-700) 42%, transparent);transform:scale(1.12)}}@keyframes lesson-live-bar{0%,to{border-left-color:var(--green-700);box-shadow:0 0 0 0 color-mix(in srgb, var(--green-700) 0%, transparent)}50%{border-left-color:color-mix(in srgb, var(--green-700) 30%, #fff);box-shadow:0 0 0 4px color-mix(in srgb, var(--green-700) 36%, transparent)}}.timeline-row.is-in_progress,.timeline-row.is-live,.lesson-row.is-live,.teacher-schedule-row.is-live,.student-lesson-card.is-live,.student-dated-lesson.is-live,.lesson-detail-banner.is-live{outline:2px solid color-mix(in srgb, var(--green-700) 28%, transparent);outline-offset:-2px;animation:1.4s ease-in-out infinite lesson-live-ring}.lesson-detail-banner.is-live{background:color-mix(in srgb, var(--green-50) 70%, var(--surface));outline-offset:0;border-color:#0000}.lesson-block.is-live{outline:2px solid color-mix(in srgb, var(--green-700) 28%, transparent);outline-offset:0;animation:1.4s ease-in-out infinite lesson-live-bar,1.4s ease-in-out infinite lesson-live-ring}@keyframes lesson-live-occupied-ring{0%,to{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--green-700) 8%, transparent), var(--shadow-sm)}50%{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--green-700) 42%, transparent), 0 0 0 3px color-mix(in srgb, var(--green-700) 16%, transparent)}}.teacher-availability-slot.is-occupied.is-live{outline:2px solid color-mix(in srgb, var(--green-700) 28%, transparent);outline-offset:-2px;animation:1.4s ease-in-out infinite lesson-live-occupied-ring,1.4s ease-in-out infinite lesson-live-ring}.timeline-row.is-in_progress .badge .badge-dot,.timeline-row.is-live .badge .badge-dot,.lesson-row.is-live .badge-dot,.teacher-upcoming-row.is-live .badge-dot,.teacher-schedule-row.is-live .badge-dot,.lesson-block.is-live .lesson-status-dot,.lesson-detail-banner.is-live .badge .badge-dot,.student-lesson-card.is-live .badge-dot,.student-dated-lesson.is-live .badge-dot,.student-status-pill.is-live .badge-dot,.teacher-availability-slot.is-occupied.is-live:after{width:8px;height:8px;animation:1.4s ease-in-out infinite lesson-live-dot}.calendar-empty{color:var(--ink-soft);margin:auto;font-size:12px}.record-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;min-height:0;padding:14px 18px 12px;display:flex}.record-tabs button{height:36px;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);border-radius:6px;align-items:center;gap:7px;padding:0 13px;font-weight:700;display:flex;position:relative}.record-tabs button.is-active{color:var(--green-900);background:var(--green-50);border-color:var(--green-100)}.record-tabs button.is-active:after{display:none}.record-tabs button span{min-width:20px;height:20px;color:var(--ink-soft);background:var(--surface-muted);border-radius:10px;place-items:center;padding:0 5px;font-size:12px;display:grid}.record-tabs.attendance-subject-tabs{width:100%;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;align-items:center;gap:6px;margin-bottom:16px;padding:0;overflow:visible}.record-tabs.attendance-subject-tabs button{flex:none;height:36px}.record-list{flex-direction:column;display:flex}.record-row{border-bottom:1px solid var(--line-soft);grid-template-columns:40px minmax(240px,1.4fr) minmax(190px,.8fr) auto minmax(90px,auto);align-items:center;gap:13px;min-height:77px;padding:10px 17px;display:grid}.record-row:last-child{border-bottom:0}.record-type-icon{width:38px;height:38px;color:var(--green-700);background:var(--green-50);border-radius:5px;place-items:center;display:grid}.record-primary{flex-direction:column;min-width:0;display:flex}.record-primary strong,.record-primary span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.record-primary span{color:var(--muted);font-size:11px}.signature-progress{color:var(--subtle);justify-content:center;align-items:center;gap:7px;display:flex}.signature-progress span{align-items:center;gap:4px;font-size:10px;display:flex}.signature-progress span.is-done{color:var(--green-700)}.signature-progress i{background:var(--line-strong);width:24px;height:1px}.row-actions{justify-content:flex-end;align-items:center;display:flex}.completion-cell{color:var(--ink-soft);flex-direction:column;gap:5px;font-size:12px;display:flex}.rights-ledger{min-width:0;container:rights-ledger/inline-size}.rights-toolbar{flex-wrap:wrap;align-items:flex-end}.rights-toolbar-primary{display:contents}.rights-toolbar .search-field{flex:220px;min-width:200px}.rights-toolbar .rights-year-field,.rights-toolbar .rights-month-field{width:168px;margin:0}.rights-toolbar .rights-year-field .select-control,.rights-toolbar .rights-month-field .select-control,.rights-toolbar .rights-year-field .select-control select,.rights-toolbar .rights-month-field .select-control select{width:100%;min-width:0}.rights-toolbar .segmented{flex:auto}@container rights-ledger (width<=860px){.ledger-table{overflow:visible}.ledger-table .data-table-head{display:none}.ledger-table .data-table-head,.ledger-table .data-table-row{min-width:0}.ledger-table .data-table-row{border:1px solid var(--card-line);border-radius:6px;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;width:auto;min-height:0;margin:10px;padding:12px;display:grid}.ledger-table .data-table-row>span{min-width:0}.ledger-table .data-table-row>span:first-child,.ledger-table .data-table-row>span:last-child{grid-column:1/-1}.ledger-table .data-table-row>span:last-child{overflow-wrap:anywhere;white-space:normal}.rights-page .ledger-table .data-table-row>span:first-child,.rights-page .ledger-table .data-table-row>span:last-child{grid-column:auto}}.entitlement-booking-restriction{width:100%;min-width:0;color:var(--gold-700);white-space:normal;overflow-wrap:anywhere;background:var(--gold-50);border:1px solid var(--gold-100);border-radius:4px;align-items:flex-start;gap:7px;margin:8px 0;padding:7px 8px;font-size:10px;line-height:1.4;display:flex}.entitlement-booking-restriction>svg{flex:none;margin-top:1px}.entitlement-booking-restriction>span{flex-direction:column;gap:1px;min-width:0;display:flex}.entitlement-booking-restriction strong{font-size:inherit}.entitlement-booking-restriction small{color:inherit;font-size:inherit}.entitlement-booking-restriction--inline{align-items:center;margin:2px 0 0}.ledger-table .data-table-head,.ledger-table .data-table-row{grid-template-columns:135px 100px 120px 80px 100px minmax(200px,1fr)}.ledger-table .data-table-row>span,.data-table-row.static>span{flex-direction:column;align-items:flex-start;display:flex}.ledger-table .data-table-row>span small,.data-table-row.static>span small{color:var(--subtle);font-size:9px}.amount-negative{color:var(--red-700);font-weight:700}.amount-positive{color:var(--green-700);font-weight:700}.amount-neutral{color:var(--muted);font-weight:700}.settings-layout{grid-template-columns:205px minmax(0,1fr);align-items:start;gap:15px;display:grid}.settings-nav{background:var(--surface);border:1px solid var(--line);border-radius:7px;flex-direction:column;gap:3px;padding:6px;display:flex}.settings-nav button{height:40px;color:var(--muted);text-align:left;background:0 0;border-radius:4px;align-items:center;gap:9px;padding:0 10px;display:flex}.settings-nav button.is-active{color:var(--green-900);background:var(--green-50);font-weight:700}.settings-panel{overflow:hidden}.settings-error{color:var(--red-700);background:var(--red-50);border:1px solid var(--red-100);border-radius:5px;align-items:center;gap:9px;margin:14px 20px 0;padding:10px 12px;display:flex}.settings-error>span{flex-direction:column;display:flex}.settings-error small{font-size:11px}.settings-section{border-bottom:1px solid var(--line);padding:20px}.settings-section:last-child{border-bottom:0}.settings-section h2{font-size:16px}.settings-section>p{color:var(--muted);margin-top:4px;font-size:12px}.rule-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.rule-grid article{background:var(--surface-soft);border:1px solid var(--card-line);border-radius:5px;flex-direction:column;gap:7px;min-height:112px;padding:13px;display:flex}.rule-grid article strong{margin-top:4px}.rule-grid article>span:last-child{color:var(--muted);overflow-wrap:anywhere;font-size:11px}.setting-row{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:20px;min-height:65px;margin-top:12px;padding:10px 0;display:flex}.setting-row>span{flex-direction:column;display:flex}.setting-row small{color:var(--muted);font-size:11px}.toggle{background:var(--line-strong);width:40px;height:23px;box-shadow:inset 0 0 0 1px var(--ink-400);border-radius:12px;flex:0 0 40px;align-items:center;padding:2px;display:flex}.toggle i{background:var(--surface);border-radius:50%;width:19px;height:19px;transition:transform .15s;box-shadow:0 1px 3px #0003}.toggle.is-on{background:var(--green-700);box-shadow:inset 0 0 0 1px var(--green-900)}.toggle.is-on i{transform:translate(17px)}.number-control{background:var(--surface);border:1px solid var(--line);border-radius:5px;align-items:center;height:35px;display:flex;overflow:hidden}.number-control input{text-align:right;border:0;outline:0;width:58px;height:100%;padding:0 8px}.number-control span{color:var(--muted);padding-right:9px;font-size:11px}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field-label{color:var(--ink-soft);font-size:11px;font-weight:700}.field input,.field select,.field textarea{width:100%;min-width:0;max-width:100%;background:var(--surface);border:1px solid var(--line-strong);border-radius:5px;outline:0;min-inline-size:0;max-inline-size:100%}.field input[type=date],.field input[type=time],.field input[type=datetime-local],.field input[type=month],.field input[type=week]{box-sizing:border-box;appearance:none;min-width:0;overflow:hidden}.field input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}.field input[type=time]::-webkit-date-and-time-value{text-align:left;min-width:0}.field input[type=datetime-local]::-webkit-date-and-time-value{text-align:left;min-width:0}.field input[type=date]::-webkit-calendar-picker-indicator{flex-shrink:0;margin-inline-start:0}.field input[type=time]::-webkit-calendar-picker-indicator{flex-shrink:0;margin-inline-start:0}.field input[type=datetime-local]::-webkit-calendar-picker-indicator{flex-shrink:0;margin-inline-start:0}.field input,.field select{height:40px;padding:0 10px}.field textarea{resize:vertical;min-height:86px;padding:10px;line-height:1.65}.field input,.field select,.field textarea{transition:border-color .18s,box-shadow .18s}.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 4px var(--focus-halo);border-color:#b4ab97}.field input:-webkit-autofill{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 9999s ease-out}.field input:-webkit-autofill:hover{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 9999s ease-out}.field input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 9999s ease-out}.global-search input:-webkit-autofill{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 9999s ease-out}.field input[readonly],.field textarea[readonly],.field select:disabled{color:var(--ink-soft);background:var(--surface-soft);border-color:var(--line)}.record-view-bar{width:100%;height:auto;min-height:40px;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);border-left:3px solid var(--green-700);overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap;border-radius:5px;padding:12px 14px;line-height:1.75;overflow:visible}.record-view-bar.is-multiline{min-height:180px}.record-view-bar.is-empty{color:var(--muted)}.field .record-view-input,.field textarea.record-view-input{height:auto;min-height:40px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--green-700);resize:none;overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap;field-sizing:content;border-radius:5px;padding:12px 14px;line-height:1.75;overflow:visible}.field textarea.record-view-input,.field textarea.record-view-input.is-multiline{min-height:180px}.review-fields.record-readout,.practice-form.record-readout{grid-template-columns:1fr}.issue-view{flex-wrap:wrap;gap:7px;display:flex}.issue-view span{min-height:30px;color:var(--green-900);background:var(--green-50);border:1px solid var(--green-100);border-radius:4px;align-items:center;padding:0 10px;display:inline-flex}.field-hint,.field-error{color:var(--ink-soft);font-size:13px}.field-error{color:var(--red-700)}.field.has-error input,.field.has-error select{border-color:var(--red-500)}.form-grid,.review-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.form-grid>*,.review-fields>*,.theory-slot-form>*{min-width:0;max-width:100%}.span-2{grid-column:1/-1}.form-summary{color:var(--green-900);background:var(--green-50);border:1px solid var(--green-100);border-radius:5px;align-items:flex-start;gap:10px;padding:12px;display:flex}.form-summary>div,.info-callout>span{flex-direction:column;gap:4px;display:flex}.info-callout>svg,.account-login-note>svg,.login-recovery-success>svg,.form-summary>svg{margin-top:.32em}.form-summary span,.info-callout small{color:var(--ink-soft);font-size:13px}.modal-backdrop{z-index:100;top:var(--visual-viewport-top,0px);left:var(--visual-viewport-left,0px);width:var(--visual-viewport-width,100%);height:var(--visual-viewport-height,100%);max-height:var(--visual-viewport-height,100%);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14141480;place-items:center;min-height:0;padding:22px;animation:.13s ease-out fade-in;display:grid;position:fixed;overflow:hidden}.modal-backdrop--stacked{z-index:120}.modal{width:min(560px,100%);min-height:0;max-height:calc(var(--visual-viewport-height,100dvh) - 44px);background:var(--surface);border:1px solid #ffffff6b;border-radius:8px;flex-direction:column;animation:.17s ease-out modal-enter;display:flex;overflow:hidden;box-shadow:0 24px 70px #0000003d}.modal-lg{width:min(760px,100%)}.modal-xl{width:min(980px,100%)}.modal-header-tools{flex:none;align-items:center;gap:2px;display:flex}.modal-header{background:var(--surface);border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:18px;min-width:0;min-height:67px;padding:14px 18px;display:flex;overflow:hidden}.modal-header>div{min-width:0}.modal-header h2{font-size:18px;line-height:1.3}.modal-header p,.modal-lead{color:var(--ink-soft);margin:0 0 12px;font-size:13px;line-height:1.5}.modal-header p{margin-top:6px;margin-bottom:0}.teacher-hours-modal .modal-header{grid-template-columns:1fr auto;align-items:start;display:grid}.teacher-hours-modal .modal-header>div{display:contents}.teacher-hours-modal .modal-header h2{grid-area:1/1}.teacher-hours-modal .modal-header p,.teacher-hours-modal .modal-lead{text-align:center;grid-area:2/1/auto/-1;margin-top:8px}.teacher-hours-modal .modal-header>.icon-button{grid-area:1/2}.modal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:20px;overflow-y:auto}.modal-xl .modal-body{padding:0}.modal-footer{background:var(--surface-soft);border-top:1px solid var(--line);flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;min-height:62px;padding:11px 18px;display:flex}.modal-footer .button-danger-ghost{height:38px;padding:0 14px}.record-compose-secondary{display:contents}.record-compose-modal .modal-header-tools>.icon-button:not(:last-child){display:none}.drawer-scrim{z-index:70;top:var(--visual-viewport-top,0px);left:var(--visual-viewport-left,0px);width:var(--visual-viewport-width,100%);height:var(--visual-viewport-height,100%);visibility:hidden;opacity:0;background:#1414144d;transition:opacity .18s,visibility .18s;display:block;position:fixed}.drawer-scrim.is-open{visibility:visible;opacity:1}.drawer{z-index:80;top:var(--visual-viewport-top,0px);width:min(520px,100vw);height:var(--visual-viewport-height,100dvh);max-height:var(--visual-viewport-height,100dvh);background:var(--surface);border-left:1px solid var(--line);flex-direction:column;transition:transform .21s;display:flex;position:fixed;right:0;transform:translate(102%);box-shadow:-16px 0 48px #00000029}.drawer.is-open{transform:translate(0)}.drawer-header{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;min-height:64px;padding:0 18px;display:flex}.drawer-header h2{font-size:17px}.drawer-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.drawer-footer{background:var(--surface-soft);border-top:1px solid var(--line);flex:none;justify-content:flex-end;align-items:center;gap:8px;min-height:65px;padding:12px 18px;display:flex}.member-detail-hero{background:var(--surface-soft);border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:23px 20px;display:flex}.member-detail-hero>div{flex-direction:column;align-items:flex-start;display:flex}.member-detail-hero h3{font-size:20px}.member-detail-hero p{color:var(--muted);margin:2px 0 8px;font-size:11px}.drawer-section{border-bottom:1px solid var(--line);padding:19px 20px}.drawer-section-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.drawer-section-title h4{font-size:14px}.drawer-section-title span{color:var(--ink-soft);font-size:12px}.drawer-section-title button{color:var(--green-700);background:0 0;align-items:center;gap:5px;font-size:11px;display:inline-flex}.detail-rights-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.detail-rights-grid article{grid-row:span 4;grid-template-rows:subgrid;background:var(--surface-soft);border:1px solid var(--line);border-radius:5px;align-items:stretch;gap:7px;min-width:0;padding:12px;display:grid}.detail-rights-grid article.course-chip{padding:12px}.detail-rights-grid article.course-chip--emerald{color:var(--green-900);background:var(--green-50);border-color:var(--green-100)}.detail-rights-grid article.course-chip--blue{color:var(--blue-700);background:var(--blue-50);border-color:var(--blue-100)}.detail-rights-grid article.course-chip--coral{color:var(--coral-700);background:var(--coral-50);border-color:var(--coral-100)}.detail-rights-grid article.course-chip--gold{color:var(--gold-700);background:var(--gold-50);border-color:var(--gold-100)}.detail-rights-grid article.full{grid-column:1/-1}.detail-rights-grid article>span{justify-content:space-between;align-items:center;display:flex}.detail-rights-grid article>span small,.detail-rights-grid article>small{color:var(--ink-soft);font-size:12px}.detail-rights-grid article strong{overflow-wrap:anywhere;min-width:0;font-size:20px}.detail-rights-grid article strong i{color:var(--ink-soft);font-size:12px;font-style:normal;font-weight:500}.detail-list{gap:0;margin:0;display:grid}.detail-list>div{border-bottom:1px dashed var(--line);grid-template-columns:90px 1fr;gap:14px;padding:9px 0;display:grid}.detail-list>div:last-child{border-bottom:0}.detail-list dt{color:var(--muted);font-size:11px}.detail-list dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:550}.detail-list.compact{margin-top:10px}.assignment-list{flex-direction:column;gap:9px;display:flex}.assignment-list>div{grid-template-columns:26px 1fr;align-items:center;gap:9px;display:grid}.assignment-list>div>span:last-child{flex-direction:column;display:flex}.assignment-list small{color:var(--ink-soft);font-size:12px}.teaching-archive-list{flex-direction:column;gap:8px;display:flex}.teaching-archive-summary{width:100%;min-width:0;color:inherit;text-align:left;background:var(--surface-soft);border:1px solid var(--line);border-radius:5px;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.teaching-archive-summary>span{flex-direction:column;min-width:0;display:flex}.teaching-archive-summary small{color:var(--ink-soft);font-size:11px}.teaching-archive-summary strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.teaching-archive-summary svg{color:var(--ink-soft);transition:transform .15s}.teaching-archive-list.is-open .teaching-archive-summary svg{transform:rotate(180deg)}.teaching-archive-list.is-collapsible:not(.is-open) .teaching-archive-rows{display:none}.teaching-archive-rows{flex-direction:column;gap:8px;display:flex}.teaching-archive-row{min-width:0}.teaching-archive-row.is-editing{background:var(--surface-soft);border-color:var(--line);flex-direction:column;gap:8px;padding:10px;display:flex}.teaching-archive-row__trigger,.teaching-archive-row__head{width:100%;min-width:0;color:inherit;text-align:left;background:var(--surface-soft);border:1px solid var(--line);border-radius:5px;grid-template-columns:26px 1fr;align-items:center;gap:9px;padding:8px 10px;display:grid}.teaching-archive-row.is-editing .teaching-archive-row__head{background:0 0;border:0;padding:0}.teaching-archive-row__trigger:hover{border-color:var(--green-100)}.teaching-archive-row__head>span,.teaching-archive-row__trigger>span{flex-direction:column;min-width:0;display:flex}.teaching-archive-row small{color:var(--ink-soft);font-size:11px}.teaching-archive-row strong{overflow-wrap:anywhere;min-width:0;font-size:13px;font-weight:600}.teaching-archive-row__input{width:100%;min-height:36px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:7px 10px}.teaching-archive-row__actions{justify-content:flex-end;gap:8px;display:flex}.teaching-archive-row__actions button{color:var(--green-700);background:0 0;font-size:12px}.teaching-archive-row__actions button.is-ghost{color:var(--ink-soft)}.student-card .teaching-archive-list{padding:0 16px 12px}.student-section .teaching-archive-list{padding:12px 16px 16px}.member-learning-list{flex-direction:column;display:flex}.member-learning-row{border:0;border-bottom:1px solid var(--line-soft);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.member-learning-row:last-child{border-bottom:0}.member-learning-row>span{flex-direction:column;gap:2px;min-width:0;display:flex}.member-learning-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;overflow:hidden}.member-learning-row small{color:var(--muted);font-size:10px}.member-learning-row:hover strong{color:var(--green-700)}.member-learning-archive-toggle,.member-learning-more{width:100%;color:var(--ink-soft);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin-top:4px;padding:8px 0;font-size:12px;display:inline-flex}.member-learning-archive-toggle svg{transition:transform .16s}.member-learning-archive-toggle.is-open svg{transform:rotate(180deg)}.member-learning-more{color:var(--green-700)}.mini-ledger{flex-direction:column;display:flex}.mini-ledger>div{border-bottom:1px solid var(--line-soft);grid-template-columns:8px 1fr auto;align-items:center;gap:8px;padding:9px 0;display:grid}.mini-ledger>div:last-child{border-bottom:0}.mini-ledger>div>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.mini-ledger strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.mini-ledger small{color:var(--muted);font-size:9px}.mini-ledger b{font-size:11px}.ledger-dot{background:var(--green-700);border-radius:50%;width:7px;height:7px}.ledger-dot.practice{background:var(--coral-500)}.ledger-dot.theory{background:var(--gold-500)}.muted{color:var(--ink-soft);font-size:13px}.lesson-detail-banner{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:8px 12px;display:flex}.lesson-detail-banner .course-badge{color:var(--ink);gap:8px;font-size:15px;font-weight:700}.lesson-detail-banner .course-badge-mark{width:28px;height:28px;font-size:13px;font-weight:700}.lesson-detail-banner .badge{min-height:28px;padding:4px 10px;font-size:13px;font-weight:700}.lesson-people{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.lesson-people>div{background:var(--surface-soft);border-radius:5px;flex-direction:column;gap:3px;padding:12px;display:flex}.lesson-people span,.lesson-people small{color:var(--ink-soft);font-size:12px}.lesson-people strong{font-size:16px;font-weight:700;line-height:1.3}.info-callout{color:var(--blue-700);background:var(--blue-50);border:1px solid var(--blue-100);border-radius:5px;align-items:flex-start;gap:10px;margin-top:15px;padding:11px 12px;display:flex}.info-callout.success{color:var(--green-700);background:var(--green-50);border-color:var(--green-100)}.info-callout.danger{color:var(--red-700);background:var(--red-50);border-color:var(--red-100)}.info-callout.warning{color:var(--gold-700);background:var(--gold-50);border-color:var(--gold-100)}.teacher-portal>.teacher-duty-banner{margin-top:0}.membership-control{gap:16px;display:grid}.membership-status-stack{gap:10px;display:grid}.membership-status-card{color:var(--ink);background:var(--surface-muted);border:1px solid var(--card-line);border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:start;column-gap:12px;margin:0;padding:12px 14px;display:grid}.membership-status-card>svg{color:var(--muted);margin-top:2px}.membership-status-card>div{gap:8px;min-width:0;display:grid}.membership-status-card strong{font-size:14px;font-weight:700;line-height:1.35}.membership-status-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.membership-status-card ul{gap:6px;margin:2px 0 0;padding:0;list-style:none;display:grid}.membership-status-card li{color:var(--ink-soft);flex-wrap:wrap;align-items:baseline;gap:8px;font-size:13px;line-height:1.45;display:flex}.membership-status-card li em{color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 7px;font-size:12px;font-style:normal;line-height:1.4}.membership-status-card.is-danger{color:var(--red-700);background:var(--red-50);border-color:var(--red-100)}.membership-status-card.is-danger>svg,.membership-status-card.is-danger p{color:inherit}.export-save-panel{gap:14px;display:grid}.record-export-range-grid{align-items:start}.record-export-type-field{border:0;min-width:0;margin:2px 0 0;padding:0}.record-export-type-field legend{color:var(--ink-soft);margin-bottom:8px;font-size:12px;font-weight:700}.record-export-type-toolbar{gap:12px;margin:0 0 10px;display:flex}.record-export-type-toolbar button{color:var(--green-900);background:0 0;padding:0;font-size:12px;font-weight:650}.record-export-type-toolbar button:disabled{color:var(--muted)}.record-export-type-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.record-export-type-option{border:1px solid var(--line);background:var(--surface-soft);min-width:0;min-height:42px;color:var(--ink);cursor:pointer;border-radius:6px;align-items:center;gap:9px;padding:9px 11px;display:flex}.record-export-type-option:has(input:checked){border-color:var(--green-700);background:var(--green-50)}.record-export-type-option input{width:16px;height:16px;accent-color:var(--green-700);flex:0 0 16px}.record-export-type-option span{overflow-wrap:anywhere;min-width:0;font-size:13px;font-weight:650}.record-export-button-loading svg{animation:.85s linear infinite session-spin}.record-export-range-error{color:var(--red-700);margin:-3px 0 0;font-size:12px}@media (width<=480px){.record-export-type-options{grid-template-columns:1fr}}.export-save-panel>.info-callout{align-items:flex-start;margin:0}.export-save-panel>.info-callout strong{overflow-wrap:anywhere}.export-save-guidance{border:1px solid var(--line);background:var(--surface-soft);border-radius:6px}.export-save-guidance p{color:var(--muted);grid-template-columns:76px minmax(0,1fr);gap:12px;margin:0;padding:11px 13px;font-size:13px;line-height:1.55;display:grid}.export-save-guidance p+p{border-top:1px solid var(--line)}.export-save-guidance strong{color:var(--ink);font-size:13px}.export-save-fallback{color:var(--muted);line-height:1.6}.fixed-week-confirmation,.share-review-panel{gap:14px;display:grid}.fixed-week-confirmation>.info-callout,.share-review-panel>.info-callout{margin:0}.fixed-week-confirmation>p{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.fixed-week-teacher-list{border:1px solid var(--line);border-radius:6px;flex-direction:column;display:flex;overflow:hidden}.fixed-week-teacher-row{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.fixed-week-teacher-row:last-child{border-bottom:0}.fixed-week-teacher-row.is-preferred{background:var(--green-50)}.fixed-week-teacher-row>div{flex-direction:column;gap:2px;min-width:0;display:flex}.fixed-week-teacher-row strong{font-size:13px}.fixed-week-teacher-row small{color:var(--muted);font-size:11px}.fixed-week-teacher-empty{color:var(--muted);margin:0;padding:16px 12px;font-size:13px}.share-review-text{resize:vertical;width:100%;min-height:230px;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;padding:14px;font:13px/1.75 Microsoft YaHei UI,Microsoft YaHei,PingFang SC,sans-serif}.share-review-text:focus{border-color:var(--green-700);outline:none;box-shadow:0 0 0 3px #3578c41f}.course-picker{grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:17px;display:grid}.course-picker>button{text-align:left;background:var(--surface-soft);border:1px solid var(--line);border-radius:5px;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:7px;height:100%;min-height:75px;padding:11px;display:flex}.course-picker>button:not(:disabled):hover{border-color:var(--line-strong)}.course-picker>button.is-active{background:var(--green-50);border-color:var(--green-700);box-shadow:0 0 0 1px var(--green-700)}.course-picker small{min-height:2.8em;color:var(--ink-soft);font-size:12px;line-height:1.4}.schedule-form .info-callout{margin-bottom:0}.theory-member-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px;display:grid}.theory-member-picker button{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:6px;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-height:52px;padding:8px 10px;display:flex}.theory-member-picker button.is-active{color:var(--green-900);background:var(--green-50);border-color:var(--green-100)}.theory-member-picker button:disabled{opacity:.72}.theory-member-picker button small{color:var(--muted);font-size:10px}.schedule-time-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.schedule-time-slot{min-height:40px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:8px 4px;font-size:13px}.schedule-time-slot.is-selected{color:var(--green-900);background:var(--green-50);border-color:var(--green-700)}.schedule-time-slot.is-blocked,.schedule-time-slot:disabled{color:#d4d6d9;cursor:not-allowed;opacity:1;background:#5a5e64;border-color:#4a4e54}@media (width<=1260px){.schedule-time-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=720px){.schedule-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.review-sheet{color:var(--ink);background:var(--surface)}.review-title-band{min-height:68px;color:var(--ink);background:var(--surface);border-top:3px solid var(--gold-500);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;display:flex}.review-title-band>div{align-items:center;display:flex}.review-title-band>div>span{flex-direction:column;display:flex}.review-title-band strong{color:var(--ink)}.review-title-band small{color:var(--ink-soft);font-size:12px}.review-title-band .badge{color:var(--green-900);background:var(--green-50);border-color:var(--green-100)}.review-title-band .badge-warning{color:var(--gold-700);background:var(--gold-50);border-color:var(--gold-100)}.review-title-band .badge-danger{color:var(--red-700);background:var(--red-50);border-color:var(--red-100)}.review-title-band .badge-success{color:var(--green-900);background:var(--green-50);border-color:var(--green-100)}.review-sheet>.info-callout{margin:14px 22px 0}.review-meta-grid{background:var(--surface);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.review-meta-grid>div{border-right:1px solid var(--line);flex-direction:column;min-width:0;padding:13px 17px;display:flex}.review-meta-grid>div:last-child{border-right:0}.review-meta-grid span,.review-meta-grid small{color:var(--ink-soft);font-size:12px}.review-meta-grid strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 1px;overflow:hidden}.consume-summary{min-height:45px;color:var(--green-900);background:var(--green-50);border:1px solid var(--green-100);border-left:3px solid var(--green-700);border-radius:5px;align-items:center;gap:9px;margin:15px 22px 0;padding:9px 12px;display:flex}.consume-summary>span{color:var(--muted);font-size:11px}.consume-summary strong{margin-left:auto}.consume-summary small{color:var(--ink-soft);font-size:12px}.consume-summary.coral{color:var(--coral-700);background:var(--coral-50);border-color:var(--coral-100)}.review-section{border-bottom:1px solid var(--line);padding:20px 22px}.review-section:last-child{border-bottom:0}.review-section-heading{align-items:center;gap:10px;margin-bottom:15px;display:flex}.review-section-heading>span{width:29px;height:29px;color:var(--green-700);background:var(--surface);border:1px solid var(--green-100);border-radius:50%;place-items:center;font-size:10px;font-weight:700;display:grid}.review-section-heading h3{margin:0;font-size:14px;line-height:1.2}.review-section-heading p{color:var(--ink-soft);margin-top:4px;font-size:12px;line-height:1.4}.score-grid{grid-template-columns:repeat(2,1fr);gap:10px 20px;display:grid}.score-row{background:var(--surface);border:1px solid var(--line-soft);border-radius:5px;grid-template-columns:48px 1fr 27px;align-items:center;gap:7px;padding:8px 10px;display:grid}.score-row>div{gap:1px;display:flex}.score-row button{width:24px;height:24px;color:var(--line-strong);background:0 0;place-items:center;padding:0;display:grid}.score-row button.is-active{color:var(--gold-500)}.score-row strong{text-align:right;font-size:11px}.student-confirm-section,.teacher-sign-section{background:var(--surface)}.student-confirm-section{border-left:3px solid var(--green-700)}.teacher-sign-section{border-left:3px solid var(--gold-500)}.teacher-sign-section .review-section-heading>span{color:var(--gold-700);background:var(--gold-50);border-color:var(--gold-100)}.check-row{width:100%;color:var(--muted);text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:5px;align-items:flex-start;gap:9px;margin-top:13px;padding:11px;display:flex}.check-row .check-box{margin-top:.12em}.check-row>span:last-child{flex-direction:column;gap:4px;display:flex}.check-row.is-checked{color:var(--green-900);background:var(--green-50);border-color:var(--green-100)}.check-box{color:#fff;background:var(--surface);border:1px solid var(--line-strong);border-radius:3px;flex:none;place-items:center;width:19px;height:19px;display:grid}.check-row.is-checked .check-box{background:var(--green-700);border-color:var(--green-700)}.signature-section{grid-template-columns:1fr 1fr;gap:15px;display:grid}.signature-display{background:var(--surface-soft);border:1px solid var(--line);border-radius:5px;flex-direction:column;justify-content:center;align-items:center;min-height:110px;padding:12px;display:flex}.signature-display>span{color:var(--ink-soft);font-size:12px}.signature-display strong{margin:10px 0 5px;font-size:15px}.signature-display small{color:var(--subtle);font-size:9px}.practice-summary{background:var(--surface-soft);border:1px solid var(--line);border-radius:5px;grid-template-columns:minmax(180px,1fr) 120px 100px auto;align-items:center;gap:13px;margin-bottom:18px;padding:13px;display:grid}.practice-summary>div{flex-direction:column;display:flex}.practice-summary>div:first-child{flex-direction:row;align-items:center;gap:9px}.practice-summary>div:first-child>span{flex-direction:column;display:flex}.practice-summary span,.practice-summary small{color:var(--ink-soft);font-size:12px}.practice-form textarea{min-height:180px}.duration-input{align-items:center;gap:8px;min-height:40px;display:flex}.duration-input input[type=number]{flex:0 0 88px;width:88px}.duration-input>span{color:var(--muted);font-size:12px}.duration-input button{height:30px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--line);border-radius:4px;padding:0 10px}.duration-input button.is-active,.practice-sheet .issue-picker button.is-active{color:var(--green-900);background:var(--green-50);border-color:var(--green-100)}.course-record-confirmation .signature-section{margin-top:15px}.course-record-confirmation-action{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:13px;display:flex}.issue-picker{flex-wrap:wrap;gap:7px;display:flex}.issue-picker button{height:30px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--line);border-radius:4px;padding:0 10px}.issue-picker button.is-active{color:var(--coral-700);background:var(--coral-50);border-color:var(--coral-100)}.toast{z-index:200;color:#fff;background:var(--green-900);min-width:280px;max-width:min(430px,100vw - 32px);min-height:48px;box-shadow:var(--shadow-md);border:1px solid #ffffff29;border-radius:6px;align-items:center;gap:9px;padding:10px 14px;animation:.18s ease-out toast-in;display:flex;position:fixed;bottom:24px;right:24px}.toast-error{background:var(--red-700)}.toast-warning{background:var(--gold-700)}@keyframes fade-in{0%{opacity:0}}@keyframes modal-enter{0%{opacity:0;transform:translateY(8px)scale(.99)}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.teacher-portal,.teacher-view{width:100%}.content-section{margin-bottom:15px;overflow:hidden}.lesson-list{flex-direction:column;display:flex}.lesson-row{background:var(--surface);border-bottom:1px solid var(--line-soft);grid-template-columns:72px 5px minmax(240px,1fr) auto;align-items:center;gap:13px;min-height:84px;padding:12px 17px;display:grid;position:relative}.lesson-row:last-child{border-bottom:0}.lesson-row.lesson-scheduled{background:var(--blue-50)}.lesson-row.lesson-in_progress{background:var(--surface-soft)}.lesson-row.lesson-completed{background:var(--green-100)}.lesson-row.lesson-pending_confirmation{background:var(--gold-50)}.lesson-row.lesson-canceled{background:var(--red-50)}.lesson-row.is-clickable,.teacher-schedule-row.is-clickable{cursor:pointer}.lesson-row.is-clickable:hover,.teacher-schedule-row.is-clickable:hover{filter:brightness(.99)}.lesson-row.is-status-info{background:var(--blue-50)}.lesson-row.is-status-success{background:var(--surface-soft)}.lesson-row.is-settled.is-status-success{background:var(--green-100)}.lesson-row.is-status-warning{background:var(--gold-50)}.lesson-row.is-status-danger{background:var(--red-50)}.lesson-time-block{flex-direction:column;display:flex}.lesson-time-block strong{font-size:16px}.lesson-time-block>span{color:var(--ink-soft);font-size:12px}.lesson-time-block .lesson-date{color:var(--green-700);margin-bottom:3px;font-weight:700}.lesson-course-mark{background:var(--green-700);border-radius:2px;width:4px;height:44px}.lesson-course-mark[data-tone=coral]{background:var(--coral-500)}.lesson-course-mark[data-tone=gold]{background:var(--gold-500)}.lesson-course-mark[data-tone=blue]{background:var(--blue-700)}.lesson-main{flex-direction:column;gap:6px;min-width:0;display:flex}.lesson-title-line,.lesson-meta-line{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.lesson-title-line h3{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.lesson-meta-line{color:var(--ink-soft);font-size:12px}.lesson-meta-line>span{align-items:center;gap:4px;display:flex}.lesson-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.schedule-groups{flex-direction:column;display:flex}.schedule-day{border-bottom:1px solid var(--line)}.schedule-day:last-child{border-bottom:0}.schedule-day-header{background:var(--surface-soft);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:43px;padding:8px 17px;display:flex}.schedule-day-header h2{font-size:13px}.schedule-day-header span{color:var(--ink-soft);font-size:12px}.teacher-schedule-toolbar,.student-schedule-toolbar{background:var(--surface-soft);border-bottom:1px solid var(--line);align-items:center;gap:12px 18px;padding:13px 16px;display:grid}.teacher-schedule-toolbar{grid-template-columns:auto minmax(0,1fr) minmax(200px,280px)}.student-schedule-toolbar{grid-template-columns:auto minmax(0,1fr)}.student-schedule-filter{grid-column:2}.teacher-schedule-toolbar .week-switcher,.student-schedule-toolbar .week-switcher{grid-column:1}.teacher-schedule-filter-group{grid-column:2}.teacher-schedule-search-group{grid-column:3}.teacher-schedule-toolbar .schedule-focus-controls,.student-schedule-toolbar .schedule-focus-controls{border-top:1px solid var(--line);grid-column:1/-1;padding-top:10px}.teacher-schedule-week-hint,.student-schedule-week-hint{color:var(--ink-soft);background:var(--gold-50);border-bottom:1px solid var(--gold-100);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:12px;display:flex}.teacher-week-calendar .calendar-day-body{min-height:390px}.teacher-week-calendar .lesson-block{min-height:72px}.teacher-schedule-filter-group,.teacher-schedule-search-group{flex-direction:row;align-items:center;gap:8px;min-width:0;display:flex}.teacher-schedule-filter-group{flex:1}.teacher-schedule-filter-label{color:var(--ink-soft);white-space:nowrap;flex:none;font-size:12px;font-weight:700;line-height:1}.teacher-schedule-type-filter{background:0 0;border:0;border-radius:0;flex:1;grid-template-columns:repeat(5,minmax(80px,1fr));gap:6px;width:min(760px,100%);min-width:0;padding:0;display:grid}.teacher-schedule-type-filter button{min-width:0;min-height:38px;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 9px;display:flex}.teacher-schedule-type-filter button i{background:var(--ink);border-radius:2px;flex:none;width:7px;height:7px}.teacher-schedule-type-filter button[data-tone=emerald] i{background:var(--green-700)}.teacher-schedule-type-filter button[data-tone=blue] i{background:var(--blue-700)}.teacher-schedule-type-filter button[data-tone=coral] i{background:var(--coral-500)}.teacher-schedule-type-filter button[data-tone=gold] i{background:var(--gold-500)}.teacher-schedule-type-filter button span{font-size:12px;font-weight:700;overflow:visible}.teacher-schedule-type-filter button small{color:var(--muted);font-size:9px}.teacher-schedule-type-filter button:not(:disabled):not(.is-active):hover{background:var(--surface);border-color:var(--line-strong)}.teacher-schedule-type-filter button.is-active{color:var(--green-900);background:var(--green-50);border-color:var(--green-700);box-shadow:var(--shadow-sm)}.teacher-schedule-search-group{align-items:center;width:min(280px,100%)}.teacher-schedule-search{width:100%;height:38px}.teacher-schedule-search:focus-within{border-color:var(--green-700);box-shadow:0 0 0 2px var(--focus-halo)}.teacher-schedule-result-count{color:var(--ink-soft);font-size:12px}.teacher-schedule-toolbar .schedule-focus-controls,.student-schedule-filter .schedule-focus-controls{flex:1 0 100%}.date-range-filter{grid-template-columns:repeat(2,minmax(210px,240px));gap:10px;max-width:100%;display:grid}.date-range-filter .field{min-width:0}.schedule-focus-controls{flex-wrap:wrap;align-items:flex-end;gap:8px;min-width:0;display:flex}.schedule-focus-chip{min-width:0;min-height:36px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;align-items:center;gap:8px;margin:0;padding:0 12px;display:flex}.schedule-focus-chip--locator,.schedule-focus-chip--month{flex:none}.schedule-hours-banner{border-bottom:1px solid var(--line);align-items:baseline;padding:16px 18px 14px;display:flex}.schedule-total-hours{color:var(--ink);white-space:nowrap;align-items:baseline;gap:10px;margin:0;display:flex}.schedule-total-hours span{color:var(--ink-soft);font-size:13px;font-weight:700}.schedule-total-hours strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:32px;font-weight:720;line-height:1}.schedule-total-hours small{color:var(--ink-soft);font-size:13px;font-weight:700}.schedule-focus-chip>span,.schedule-focus-month>span{color:var(--ink-soft);white-space:nowrap;font-size:12px;font-weight:700}.schedule-focus-chip input,.schedule-focus-month input{width:132px;min-width:0;height:28px;color:var(--ink);background:0 0;border:0;padding:0;font-size:13px;font-weight:700}.schedule-focus-chip input:focus,.schedule-focus-month input:focus{outline:none}.schedule-focus-value strong{font-size:20px;font-weight:700;line-height:40px}.schedule-focus-month{align-items:center;gap:8px;min-width:0;display:flex}.schedule-focus-value{white-space:nowrap;flex-direction:column;flex:none;justify-content:flex-end;align-self:stretch;align-items:flex-start;gap:8px;width:max-content;min-width:52px;min-height:0;margin:0;padding-bottom:0;display:flex}.schedule-focus-value>span:first-child{color:var(--ink-soft);font-size:11px;font-weight:700}.schedule-focus-value-amount{white-space:nowrap;flex-wrap:nowrap;align-items:baseline;gap:4px;min-height:40px;display:flex}.schedule-focus-value small{color:var(--ink-soft);font-size:12px;font-weight:700}.schedule-hours-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.schedule-week-count{color:var(--ink-soft);font-size:12px}.calendar-day.is-focused>header span{color:var(--ink-soft)}.calendar-day.is-focused>header strong{color:#fff;background:var(--coral-700)}.calendar-day.is-today.is-focused>header strong{box-shadow:0 0 0 2px var(--coral-100)}.admin-schedule-toolbar{grid-template-columns:auto minmax(0,1fr) minmax(160px,220px);align-items:end;gap:12px 18px;padding:13px 16px;display:grid}.admin-schedule-toolbar .week-switcher{grid-column:1;width:auto}.admin-schedule-filter-group{flex-direction:column;grid-column:2;gap:6px;min-width:0;display:flex}.admin-schedule-filter-label,.admin-schedule-toolbar .field-label{color:var(--ink-soft);font-size:10px;font-weight:700}.admin-schedule-toolbar .segmented{grid-template-columns:repeat(5,minmax(0,1fr));width:100%;display:grid}.admin-schedule-toolbar .segmented button{width:100%;min-width:0}.admin-schedule-toolbar .admin-schedule-teacher,.admin-schedule-toolbar .select-field{grid-column:3;width:100%}.admin-schedule-toolbar .select-control,.admin-schedule-toolbar .select-control select{width:100%}.teacher-own-availability{margin-bottom:15px;overflow:hidden}.teacher-own-availability>.section-heading{border-bottom:1px solid var(--line);min-height:64px;padding:12px 16px}.teacher-own-availability-controls{background:var(--surface-soft);border-bottom:1px solid var(--line);grid-template-columns:minmax(160px,.55fr) minmax(220px,1fr) auto;align-items:center;gap:14px;padding:12px 16px;display:grid}.teacher-own-availability-date,.teacher-own-availability-base{flex-direction:column;gap:5px;min-width:0;display:flex}.teacher-own-availability-date>span,.teacher-own-availability-base>span{color:var(--ink-soft);font-size:12px}.teacher-own-availability-date input{width:100%;height:36px}.teacher-own-availability-base strong{overflow-wrap:anywhere;font-size:12px}.teacher-own-availability-counts{color:var(--ink-soft);justify-content:flex-end;align-items:center;gap:12px;font-size:10px;display:flex}.teacher-own-availability-counts span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.teacher-own-availability-counts i{border-radius:2px;width:8px;height:8px}.teacher-own-availability-counts .is-open{background:var(--green-700)}.teacher-own-availability-counts .is-closed{background:var(--coral-500)}.teacher-own-availability-counts .is-locked{background:var(--line-strong)}.teacher-own-availability-counts .is-occupied{background:var(--gold-500)}.teacher-own-availability-slots{padding:14px 16px 16px}.teacher-own-availability-slot{cursor:default}.teacher-own-availability-slot.is-open:hover{border-color:var(--green-100)}.teacher-own-availability-slot.is-closed{color:var(--coral-700);background:var(--coral-50);border-color:var(--coral-100)}.teacher-own-availability-slot.is-closed:hover{border-color:var(--coral-100)}.teacher-own-availability-slot.is-locked:hover{color:var(--ink-soft);border-color:var(--line-strong)}.teacher-own-availability-slot.is-occupied:hover{border-color:var(--gold-100)}@media (width<=760px){.teacher-own-availability-controls{grid-template-columns:1fr;align-items:stretch;gap:10px;padding:12px}.teacher-own-availability-counts{flex-wrap:wrap;justify-content:flex-start}.teacher-own-availability-slots{padding:12px}}.teacher-schedule-weeks{flex-direction:column;display:flex}.teacher-schedule-week{padding:0 16px 18px}.teacher-schedule-week+.teacher-schedule-week{border-top:1px solid var(--line);padding-top:4px}.teacher-schedule-week-header{justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:9px 2px;display:flex}.teacher-schedule-week-header>div{align-items:baseline;gap:10px;min-width:0;display:flex}.teacher-schedule-week-header strong{font-size:13px}.teacher-schedule-week-header .teacher-schedule-week-range{color:var(--ink);font-size:17px;line-height:1.25}.teacher-schedule-week-header span{color:var(--ink-soft);font-size:12px}.teacher-schedule-table{background:var(--surface);border:1px solid var(--card-line);border-radius:6px;overflow:hidden}.teacher-schedule-columns,.teacher-schedule-row{grid-template-columns:76px minmax(112px,.55fr) minmax(150px,1fr) minmax(96px,.5fr) minmax(280px,auto);align-items:center;gap:12px;padding-inline:12px;display:grid}.teacher-schedule-columns{min-height:31px;color:var(--muted);background:var(--surface-soft);border-bottom:1px solid var(--line);font-size:10px}.teacher-schedule-columns span:last-child{text-align:right}.teacher-schedule-date+.teacher-schedule-date{border-top:1px solid var(--line)}.teacher-schedule-date-header{background:var(--surface);border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:10px;min-height:38px;padding:7px 12px;display:flex}.teacher-schedule-date-header>div{align-items:center;gap:8px;min-width:0;display:flex}.teacher-schedule-date-header strong{font-size:12px}.teacher-schedule-date-header>span{color:var(--ink-soft);font-size:12px}.teacher-schedule-row{border-bottom:1px solid var(--line-soft);min-height:59px;padding-block:8px}.teacher-schedule-row:last-child{border-bottom:0}.teacher-schedule-row.lesson-scheduled{background:var(--blue-50)}.teacher-schedule-row.lesson-in_progress{background:var(--surface-soft)}.teacher-schedule-row.lesson-completed{background:var(--green-100)}.teacher-schedule-row.lesson-pending_confirmation{background:var(--gold-50)}.teacher-schedule-row.lesson-canceled{background:var(--red-50)}.teacher-schedule-row.is-status-info{background:var(--blue-50)}.teacher-schedule-row.is-status-success{background:var(--surface-soft)}.teacher-schedule-row.is-settled.is-status-success{background:var(--green-100)}.teacher-schedule-row.is-status-warning{background:var(--gold-50)}.teacher-schedule-row.is-status-danger{background:var(--red-50)}.teacher-schedule-row>*{min-width:0}.teacher-schedule-time,.teacher-schedule-course,.teacher-schedule-member{flex-direction:column;min-width:0;display:flex}.teacher-schedule-time strong{font-size:14px}.teacher-schedule-time span,.teacher-schedule-course small,.teacher-schedule-member small{color:var(--muted);font-size:9px}.teacher-schedule-course{align-items:flex-start;gap:2px}.teacher-schedule-member strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.teacher-schedule-state{align-items:center;display:flex}.teacher-schedule-actions{flex-wrap:wrap}.teacher-schedule-no-action{color:var(--ink-soft);font-size:12px}@media (width<=900px){.teacher-schedule-columns{display:none}.teacher-schedule-row{grid-template-columns:72px minmax(0,1fr) auto;gap:7px 10px;padding:10px 12px}.teacher-schedule-time{grid-area:1/1/span 2;align-self:start}.teacher-schedule-course{grid-area:1/2}.teacher-schedule-member{grid-area:2/2/auto/4}.teacher-schedule-state{grid-area:1/3;justify-self:end}.teacher-schedule-actions{border-top:1px solid var(--line-soft);grid-area:3/1/auto/-1;justify-content:flex-end;padding-top:8px}}.student-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.student-card-grid .member-initial-row{grid-column:1/-1}.student-card{background:var(--surface);border:1px solid var(--card-line);min-width:0;box-shadow:var(--shadow-sm);border-radius:7px;overflow:hidden}.student-card-header{justify-content:space-between;align-items:center;gap:12px;padding:15px 16px 10px;display:flex}.student-identity{align-items:center;gap:10px;min-width:0;display:flex}.student-identity>div{min-width:0}.student-name-line{align-items:center;gap:8px;display:flex}.student-name-line h2{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.student-identity p,.student-identity>div>span{color:var(--ink-soft);font-size:12px}.student-course-tags{margin:0;padding:0 16px 11px}.student-card-summary{color:var(--ink-soft);margin:0;padding:0 16px 12px;font-size:12px;line-height:1.45;display:none}.student-contact-list,.profile-detail-list{background:var(--surface-soft);border-block:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:0 18px;margin:0;padding:10px 16px;display:grid}.student-contact-list>div,.profile-detail-list>div{align-items:center;gap:6px;min-width:0;padding:4px 0;display:flex}.student-contact-list dt,.profile-detail-list dt{color:var(--subtle);align-items:center;display:flex}.student-contact-list dd,.profile-detail-list dd{min-width:0;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;overflow:hidden}.student-entitlements{background:var(--surface-muted);grid-template-columns:1fr 1fr;gap:8px;padding:12px;display:grid}.entitlement-line{flex-direction:column;gap:5px;min-width:0;display:flex}.entitlement-line.course-chip{padding:9px}.entitlement-line>div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px;min-width:0;display:flex}.entitlement-line>div>small{overflow-wrap:anywhere;width:100%;min-width:0}.entitlement-line span{overflow-wrap:anywhere;min-width:0;color:var(--ink-soft);font-size:10px}.entitlement-line strong{overflow-wrap:anywhere;min-width:0;font-size:12px}.student-card-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:8px 16px;display:flex}.student-card-footer>span,.student-card-footer__meta{color:var(--ink);font-size:12px}.task-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.list-surface .student-review-card{border:0;border-bottom:1px solid var(--line-soft);box-shadow:none;background:0 0;border-radius:0;padding:15px 17px}.list-surface .student-review-card:last-child{border-bottom:0}.task-list{flex-direction:column;display:flex}.task-row{border-bottom:1px solid var(--line-soft);grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:77px;padding:11px 17px;display:grid}.task-row:last-child{border-bottom:0}.task-icon{width:38px;height:38px;color:var(--gold-700);background:var(--gold-50);border-radius:5px;place-items:center;display:grid}.task-copy{flex-direction:column;min-width:0;display:flex}.task-title-line{align-items:center;gap:8px;display:flex}.task-title-line h3{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.task-copy>p{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;overflow:hidden}.task-actions{align-items:center;gap:6px;display:flex}.profile-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:15px;display:grid}.profile-primary,.profile-stats{background:var(--surface);border:1px solid var(--card-line);box-shadow:var(--shadow-sm);border-radius:7px;overflow:hidden}.profile-hero{background:var(--surface-soft);border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:22px;display:flex}.profile-name-line{align-items:center;gap:9px;display:flex}.profile-name-line h2{font-size:20px}.profile-hero p{color:var(--muted);font-size:11px}.profile-course-tags{margin:8px 0 0}.profile-detail-list{background:var(--surface);border:0;grid-template-columns:1fr;padding:15px 22px;display:grid}.profile-detail-list>div{border-bottom:1px dashed var(--line);grid-template-columns:90px 1fr;padding:8px 0;display:grid}.profile-detail-list dt{color:var(--muted);font-size:11px}.profile-detail-list dd{color:var(--ink);font-size:12px}.profile-stats{padding:0 16px 16px}.profile-stats .section-heading{min-height:0;margin:0 -16px 14px;padding:12px 16px}.profile-stats .section-heading-copy{align-items:center;min-height:34px}.profile-stats .section-heading h2{margin:0;font-size:15px;line-height:34px}.profile-stat-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.profile-stat-grid>div,.profile-stat-grid>button{min-height:82px;color:inherit;background:var(--surface-soft);border:1px solid var(--line);border-radius:5px;flex-direction:column;justify-content:center;align-items:center;padding:10px 8px;display:flex}.profile-stat-grid>button{cursor:pointer;text-align:center}.profile-stat-grid>button:hover{background:#efe9dc1a;border-color:#b4ab97}.profile-stat-grid>div{text-align:center;cursor:default}.profile-stat-grid strong{font-size:24px}.profile-stat-grid span{color:var(--ink-soft);font-size:12px}.profile-stat-grid small{color:var(--muted);font-size:11px}.student-portal{width:min(1040px,100%);margin:0 auto}.student-page-header{justify-content:space-between;align-items:flex-end;gap:20px;min-height:68px;margin-bottom:18px;display:flex}.ui-copy-short{display:none}.student-page-profile-action{align-items:center;gap:9px;display:flex}.student-status-pill{min-height:23px;color:var(--muted);background:var(--surface-muted);white-space:nowrap;border-radius:11px;align-items:center;gap:5px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.student-status-pill--active,.student-status-pill--completed,.student-status-pill--in_progress,.student-status-pill--both_signed,.student-status-pill--member_confirmed,.student-status-pill--admin_confirmed{color:var(--green-700);background:var(--green-50)}.student-status-pill--expiring,.student-status-pill--pending,.student-status-pill--service_pending,.student-status-pill--teacher_pending,.student-status-pill--teacher_draft{color:var(--gold-700);background:var(--gold-50)}.student-status-pill--scheduled,.student-status-pill--student_pending,.student-status-pill--member_pending,.student-status-pill--pending_confirmation{color:var(--blue-700);background:var(--blue-50)}.student-status-pill--temporary_leave_refunded,.student-status-pill--late_reported{color:var(--gold-700);background:var(--gold-50)}.student-status-pill--frozen{color:var(--muted);background:var(--surface-muted)}.student-status-pill--canceled,.student-status-pill--returned,.student-status-pill--expired,.student-status-pill--temporary_leave_absence{color:var(--red-700);background:var(--red-50)}.student-status-pill--temporary_leave_absence{white-space:normal;text-align:center;max-width:100%}.student-lesson-card>.student-card-actions{flex-wrap:wrap}.student-alert-card{box-sizing:border-box;min-width:0;min-height:70px;color:var(--gold-700);background:var(--gold-50);border:1px solid var(--gold-100);border-left:3px solid var(--gold-500);border-radius:7px;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:12px;margin-bottom:14px;padding:13px 14px;display:grid;overflow:hidden}.student-alert-card__icon{width:32px;height:32px;color:var(--gold-700);background:var(--surface);border:1px solid var(--gold-100);border-radius:50%;place-items:center;margin-top:1px;display:grid}.student-alert-card__content{min-width:0}.student-alert-card__heading{justify-content:space-between;align-items:flex-start;gap:8px 10px;min-width:0;display:flex}.student-alert-card__content strong{overflow-wrap:anywhere;flex:1;min-width:0;line-height:1.4;display:block}.student-alert-card__hint{color:var(--gold-700);background:var(--gold-50);border-radius:4px;flex:none;padding:2px 8px;font-size:11px;font-weight:700;line-height:1.35}.student-alert-card__content p{color:var(--ink-soft);margin-top:4px;font-size:11px;line-height:1.55}.student-attendance-rule{text-align:center;grid-template-columns:none;justify-content:center;padding:16px 18px;display:flex}.student-attendance-rule .student-alert-card__content{flex-direction:column;align-items:center;width:100%;max-width:36rem;display:flex}.student-attendance-rule .student-alert-card__heading{justify-content:center}.student-attendance-rule .student-alert-card__icon{width:28px;height:28px;margin-top:0}.student-attendance-rule .student-alert-card__content p{text-align:center;margin-top:8px}.student-alert-card--action{grid-template-columns:36px minmax(0,1fr) 38px;align-items:center}.student-icon-action{width:34px;height:34px;color:var(--gold-700);background:var(--gold-50);border-radius:50%;place-items:center;display:grid}.student-cancellation-choice{background:var(--blue-50);border:1px solid var(--blue-100);border-left:3px solid var(--blue-700);border-radius:6px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:14px;padding:13px 14px;display:grid}.student-cancellation-choice__icon{width:39px;height:39px;color:var(--blue-700);background:var(--surface);border-radius:50%;place-items:center;display:grid}.student-cancellation-choice p{color:var(--ink-soft);margin-top:3px;font-size:11px}.student-cancellation-choice__actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.student-cancellation-choice__actions button{min-height:34px;padding:7px 11px;font-size:12px}@media (width<=680px){.student-cancellation-choice{grid-template-columns:42px minmax(0,1fr)}.student-cancellation-choice__actions{grid-column:1/-1}.student-cancellation-choice__actions button{flex:1}}.student-section,.student-home-view>.content-section{margin-bottom:14px;overflow:hidden}.student-section>.empty-state,.student-section>.student-empty-state,.student-section .salon-home-empty{text-align:center;min-height:132px;margin:0;padding:22px 16px}.student-section__heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:13px 16px;display:flex}.student-section__heading>div:not(.section-heading-copy){flex-direction:column;gap:4px;display:flex}.student-section__heading .section-heading-copy{align-items:center;min-height:34px}.student-section__heading .section-heading-copy>div{flex-direction:column;align-items:flex-start;gap:4px}.student-section__heading h2{margin:0;font-size:15px;line-height:1}.student-section__heading>span{color:var(--ink-soft);text-align:right;font-size:12px;line-height:1}.student-section__heading--action{width:100%;color:inherit;text-align:left;background:0 0;transition:background .15s}.student-section__heading--action:hover{background:var(--surface-soft)}.student-section__heading--action>span{align-items:center;gap:.12em;line-height:1;display:inline-flex}.student-section__heading--action>span>svg{flex:none;width:1em;height:1em;display:block}.student-section__eyebrow{margin-bottom:2px;font-weight:700;color:var(--green-700)!important;font-size:9px!important}.student-entitlement-grid{background:var(--surface-muted);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:15px;display:grid}.student-entitlement-grid--full{grid-template-columns:repeat(4,minmax(0,1fr))}.student-entitlement-card{background:var(--green-50);border:1px solid var(--green-100);border-radius:6px;flex-direction:column;min-width:0;height:100%;padding:14px;display:flex;position:relative}.student-entitlement-card--main,.student-entitlement-card--emerald{background:var(--green-50);border-color:var(--green-100)}.student-entitlement-card--improvisation{background:var(--blue-50);border-color:var(--blue-100)}.student-entitlement-card--practice{background:var(--coral-50);border-color:var(--coral-100)}.student-entitlement-card--theory{background:var(--gold-50);border-color:var(--gold-100)}.student-entitlement-card.is-clickable{width:100%;color:inherit;text-align:left;padding-right:28px;transition:border-color .15s,box-shadow .15s,background .15s}.student-entitlement-card.is-clickable:hover{box-shadow:var(--shadow-sm);filter:brightness(.99)}.student-entitlement-card__entry{color:var(--subtle);position:absolute;top:20px;right:12px}.student-entitlement-card__header{min-height:31px;color:var(--muted);align-items:center;gap:8px;font-size:11px;display:flex}.student-entitlement-card__title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;line-height:1.2;overflow:hidden}.student-entitlement-card__icon{width:31px;height:31px;color:var(--green-700);background:var(--green-50);border-radius:5px;place-items:center;display:grid}.student-entitlement-card--practice .student-entitlement-card__icon{color:var(--coral-700);background:var(--coral-50)}.student-entitlement-card--improvisation .student-entitlement-card__icon{color:var(--blue-700);background:var(--blue-50)}.student-entitlement-card--theory .student-entitlement-card__icon{color:var(--gold-700);background:var(--gold-50)}.student-entitlement-card__value{flex-wrap:nowrap;align-items:baseline;gap:6px;min-width:0;min-height:34px;margin:12px 0 8px;display:flex}.student-entitlement-card__caption{color:var(--muted);font-size:11px;font-weight:550}.student-entitlement-card__value strong{white-space:nowrap;font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;min-width:0;font-size:19px;line-height:1.25;display:inline-flex;overflow:hidden}.student-entitlement-card__unit{font-size:12px;font-weight:650}.student-entitlement-card>small{min-height:1.45em;color:var(--ink-soft);margin-top:7px;font-size:10px;display:block}.student-entitlement-card>.student-entitlement-card__quota{color:var(--green-900);margin-top:auto;padding-top:7px;font-weight:700}.student-progress{background:var(--surface-muted);border-radius:3px;width:100%;height:5px;overflow:hidden}.student-progress__fill{transform-origin:0;background:var(--green-700);border-radius:inherit;height:100%;animation:.72s cubic-bezier(.22,1,.36,1) both student-progress-fill;display:block}.student-entitlement-card--practice .student-progress__fill{background:var(--coral-500)}.student-entitlement-card--improvisation .student-progress__fill{background:var(--blue-700)}.student-entitlement-card--theory .student-progress__fill{background:var(--gold-500)}@keyframes student-progress-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes student-select-pop{0%{transform:scale(1)}45%{transform:scale(1.025)}to{transform:scale(1)}}@keyframes student-select-check{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes student-home-card-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes mobile-nav-icon{0%{transform:translateY(0)}40%{transform:translateY(-2px)}to{transform:translateY(0)}}@keyframes mobile-nav-underline{0%{opacity:0;transform:translate(-50%)scaleX(0)}to{opacity:1;transform:translate(-50%)scaleX(1)}}.student-home-view>section,.admin-dashboard>.alert-strip,.admin-dashboard>.stat-grid,.admin-dashboard>.dashboard-grid,.admin-dashboard>.content-section,.admin-dashboard>.rights-overview,.teacher-today-view>.teacher-home-rules,.teacher-today-view>.teacher-home-schedule,.teacher-today-view>.content-section,.salon-card-list>*{animation:.38s cubic-bezier(.22,1,.36,1) both student-home-card-enter}.student-home-view>section:first-of-type,.admin-dashboard>.alert-strip,.teacher-today-view>.teacher-home-rules,.salon-card-list>:first-child{animation-delay:0s}.student-home-view>section:nth-of-type(2),.admin-dashboard>.stat-grid,.teacher-today-view>.teacher-home-schedule,.salon-card-list>:nth-child(2){animation-delay:50ms}.student-home-view>section:nth-of-type(3),.admin-dashboard>.dashboard-grid,.teacher-today-view>.content-section,.salon-card-list>:nth-child(3){animation-delay:.1s}.student-home-view>section:nth-of-type(4),.admin-dashboard>.content-section,.salon-card-list>:nth-child(4){animation-delay:.15s}.student-home-view>section:nth-of-type(5),.admin-dashboard>.rights-overview{animation-delay:.2s}.student-home-view>section:nth-of-type(6){animation-delay:.25s}.student-lesson-list{flex-direction:column;display:flex}.student-lesson-card{background:var(--surface);border-bottom:1px solid var(--line-soft);grid-template-columns:62px minmax(0,1fr);gap:13px;min-height:86px;padding:13px 15px;display:grid}.student-lesson-card:last-child{border-bottom:0}.student-lesson-card.is-status-info{background:var(--blue-50)}.student-lesson-card.is-status-success{background:var(--surface-soft)}.student-lesson-card.is-settled.is-status-success{background:var(--green-100)}.student-lesson-card.is-status-warning{background:var(--gold-50)}.student-lesson-card.is-status-danger{background:var(--red-50)}.student-lesson-card__time{color:var(--green-900);background:var(--green-50);border-radius:5px;flex-direction:column;justify-content:center;align-items:center;display:flex}.student-lesson-card__time strong{font-size:15px}.student-lesson-card__time span{color:var(--ink-soft);font-size:9px}.student-lesson-card__body{flex-direction:column;justify-content:center;min-width:0;display:flex}.student-lesson-card__body>strong{text-overflow:ellipsis;white-space:nowrap;margin:5px 0 3px;overflow:hidden}.student-lesson-card__body p{color:var(--ink-soft);align-items:center;gap:4px;font-size:12px;display:flex}.student-lesson-card__heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.student-lesson-card>.student-card-actions{grid-column:2;justify-content:flex-end;margin-top:0}.student-dated-lesson{border-bottom:1px solid var(--line);grid-template-columns:62px minmax(0,1fr);align-items:stretch;display:grid}.student-dated-lesson:last-child{border-bottom:0}.student-dated-lesson__date{background:var(--surface-soft);border-right:1px solid var(--line);flex-direction:column;justify-content:center;align-items:center;display:flex}.student-dated-lesson__date strong{font-size:18px}.student-dated-lesson__date span{color:var(--muted);text-align:center;font-size:9px}.student-dated-lesson .student-lesson-card{border-bottom:0}.student-dated-lesson--action{width:100%;color:inherit;text-align:left;font:inherit;background:0 0;padding:0;transition:background .15s,filter .15s}.student-dated-lesson--action:hover,.student-dated-lesson--action:focus-visible{filter:brightness(.99)}.student-dated-lesson.is-live .student-lesson-card.is-live{outline:none;animation:none}.student-course-badge{border-radius:4px;gap:5px;padding:3px 7px 3px 3px}.student-course-badge>span{color:#fff;background:var(--green-700);border-radius:3px;place-items:center;width:20px;height:20px;font-size:9px;display:grid}.student-course-badge--coral>span{background:var(--coral-500)}.student-course-badge--blue>span{background:var(--blue-700)}.student-course-badge--gold>span{background:var(--gold-500)}.student-booking-form{background:var(--surface);border:1px solid var(--card-line);box-shadow:var(--shadow-sm);border-radius:7px;overflow:hidden}.student-reschedule-status{min-height:56px;color:var(--blue-700);background:var(--blue-50);border:1px solid var(--blue-100);border-left:3px solid var(--blue-700);border-radius:5px;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:8px 12px;margin-bottom:14px;padding:12px 14px;display:grid}.student-booking-form>.student-reschedule-status{border-top:0;border-right:0;border-bottom-color:var(--line);border-radius:0;margin-bottom:0}.student-reschedule-status__copy{flex-direction:column;gap:4px;min-width:0;display:flex}.student-reschedule-status__title{justify-content:space-between;align-items:baseline;gap:12px;min-width:0;display:flex}.student-reschedule-status__title small{color:var(--ink-soft);font-size:12px}.student-reschedule-status__title strong{font-size:15px;line-height:1.3}.student-reschedule-status__hint{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.5}.student-reschedule-status.is-used{color:var(--ink);background:var(--surface-muted);border-color:var(--line-strong)}.student-booking-step{border:0;border-bottom:1px solid var(--line);min-width:0;margin:0;padding:16px}.student-booking-step__title{align-items:center;gap:8px;width:100%;margin:0 0 12px;padding:0;font-size:13px;font-weight:700;line-height:1.3;display:flex}.student-booking-step__title>span{color:#fff;background:var(--green-700);border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font-size:10px;display:grid}.student-course-picker{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;gap:10px;margin-top:0;display:grid}.student-course-option,.student-date-option,.student-time-slot{transition:background .16s,border-color .16s,box-shadow .16s,color .16s,transform .16s}.student-course-option:active:not(:disabled):not(.is-blocked),.student-date-option:active,.student-time-slot:active:not(:disabled){transform:scale(.985)}.student-course-option.is-selected,.student-date-option.is-selected,.student-time-slot.is-selected{animation:.18s ease-out student-select-pop}.student-course-option{box-sizing:border-box;width:100%;min-width:0;height:100%;min-height:108px;color:var(--muted);text-align:left;background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;flex-direction:column;justify-content:flex-start;align-self:stretch;align-items:flex-start;gap:4px;padding:13px;display:flex;position:relative}.student-course-option>svg:first-child{color:var(--green-700);margin-bottom:3px}.student-course-option[data-tone=blue]>svg:first-child{color:var(--blue-700)}.student-course-option strong{color:var(--ink);overflow-wrap:anywhere}.student-course-option small{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.8em;font-size:10px;line-height:1.4;display:-webkit-box;overflow:hidden}.student-course-option>svg:last-child{color:var(--green-700);position:absolute;top:10px;right:10px}.student-course-option.is-selected>svg:last-child{animation:.18s ease-out student-select-check}.student-course-option.is-selected{background:var(--green-50);border-color:var(--green-700);box-shadow:0 0 0 1px var(--green-700)}.student-course-option.is-blocked{background:var(--surface-muted);border-color:var(--line);color:var(--subtle);cursor:not-allowed;opacity:1}.student-course-option.is-blocked>svg,.student-course-option.is-blocked strong,.student-course-option.is-blocked small{color:var(--subtle)}.student-booking-step>.student-segmented-control{margin-top:12px;animation:.22s ease-out student-booking-refresh}.student-booking-refresh{min-width:0;animation:.22s ease-out student-booking-refresh}@keyframes student-booking-refresh{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.student-date-scroller{grid-template-columns:repeat(8,minmax(58px,1fr));gap:7px;margin-top:0;display:grid;overflow-x:auto}.student-date-option{background:var(--surface-soft);border:1px solid var(--line);border-radius:5px;flex-direction:column;justify-content:center;align-items:center;min-width:66px;min-height:73px;display:flex}.student-date-option span,.student-date-option small{color:var(--muted);font-size:9px}.student-date-option strong{margin:2px 0;font-size:17px}.student-date-option.is-selected{color:#fff;background:var(--green-900);border-color:var(--green-900)}.student-date-option.is-selected span,.student-date-option.is-selected small{color:#ffffffbd}.student-booking-teacher{background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;align-items:center;gap:10px;margin-top:0;padding:12px;display:flex}.student-booking-teacher>div{flex-direction:column;flex:1;display:flex}.student-booking-teacher small{color:var(--muted);font-size:9px}.student-booking-teacher>span:last-child{color:var(--ink-soft);font-size:12px}.student-time-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;margin-top:12px;display:grid}.student-booking-step>.student-alert-card{box-shadow:none;margin:0 0 12px}.student-booking-step .student-empty-state{background:var(--surface-soft);border:1px dashed var(--line-strong);border-radius:6px;min-height:128px;margin:0;padding:18px 12px}.student-time-empty{color:var(--muted);text-align:center;background:var(--surface-soft);border:1px dashed var(--line-strong);border-radius:6px;grid-column:1/-1;padding:18px}.student-time-slot:disabled{opacity:1}.student-time-slot.is-booked.is-occupied{box-shadow:inset 3px 0 0 var(--green-700), inset 0 0 0 1px color-mix(in srgb, var(--green-700) 8%, transparent)}.student-time-slot.is-limited.is-occupied{box-shadow:none}.student-time-slot.is-selected{color:var(--green-900);background:var(--green-50);border-color:var(--green-700);box-shadow:none}.student-time-slot.is-selected:before{opacity:1;background:linear-gradient(90deg,#0000,#ffffffb8,#0000);height:1px;inset:0 0 auto}.student-time-slot.is-selected:after{opacity:.55;background:0 0;border-radius:50%;box-shadow:inset 0 0 0 1.5px}.student-time-slot.is-selected span,.student-time-slot.is-selected small{color:inherit}.student-booking-submit{background:var(--surface-soft);justify-content:space-between;align-items:center;gap:16px;min-height:74px;padding:12px 18px;display:flex}.student-booking-summary{flex-direction:column;min-width:0;display:flex}.student-booking-summary span{color:var(--ink-soft);font-size:12px}.student-primary-button,.student-secondary-button,.student-text-button{border-radius:5px;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 14px;font-weight:700;display:inline-flex}.student-primary-button{color:var(--gold-ink);background:var(--gold-sheen);border:1px solid #a89f8c}.student-secondary-button{color:var(--green-900);background:var(--surface);border:1px solid var(--line-strong)}.student-text-button{height:auto;color:var(--green-700);background:0 0;padding:6px;font-size:11px}.student-primary-button:not(:disabled):hover{color:var(--gold-ink);background:var(--gold-sheen-hover)}.student-secondary-button:not(:disabled):hover{background:var(--surface-soft);border-color:var(--subtle)}.student-text-button:not(:disabled):hover{background:var(--green-50)}.student-tab-list,.record-tab-list{background:0 0;border:0;border-radius:0;flex-wrap:wrap;align-items:center;gap:6px;min-height:43px;margin-bottom:13px;padding:0;display:flex}.student-tab-list button,.record-tab-list button{height:36px;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);border-radius:6px;align-items:center;gap:6px;padding:0 13px;font-weight:700;display:flex}.student-tab-list button.is-selected,.record-tab-list button.is-selected{color:var(--green-900);background:var(--green-50);border-color:var(--green-100)}.student-tab-list button span,.record-tab-list button span{min-width:19px;height:19px;color:var(--muted);background:var(--surface-muted);border-radius:10px;place-items:center;padding:0 5px;font-size:9px;display:grid}.student-schedule-filter{flex-wrap:wrap;flex:1;justify-content:space-between;align-items:flex-end;gap:12px;min-width:0;display:flex}.student-schedule-filter .segmented{flex:1;min-width:0}.student-schedule-result-count{color:var(--ink-soft);font-size:12px}.student-week-calendar{min-height:0}.student-week-calendar .calendar-day>header small{color:#0000;background:var(--gold-500);border:0;border-radius:50%;width:5px;height:5px;margin-top:3px;padding:0;font-size:0;line-height:0;display:block;overflow:hidden}.student-week-calendar .calendar-day>header small.is-idle{background:0 0}.student-week-calendar .calendar-day>header small.is-emptied{box-shadow:inset 0 0 0 1.5px var(--subtle);background:0 0}.student-week-calendar .calendar-day-body{min-height:160px;padding:18px 10px 12px}.student-lesson-block{justify-content:center;gap:4px;min-height:0;padding:12px 11px}.student-lesson-block .lesson-time{color:var(--ink-soft);letter-spacing:.02em;white-space:nowrap;font-size:11px;font-weight:700;line-height:1.3}.student-lesson-block>strong{font-size:14px;font-weight:700;line-height:1.3}.student-lesson-block__meta{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:2px 8px;font-size:11px;font-weight:500;line-height:1.4;display:flex}.student-lesson-block__status,.student-lesson-block .lesson-block-outcome{background:0 0;min-height:0;padding:0;font-size:12px}.app-shell .student-lesson-block .lesson-time{color:#f2f0eab3}.app-shell .student-lesson-block>strong{color:#f2f0ea}.app-shell .student-lesson-block__meta{color:#f2f0ea80}.student-schedule-list{flex-direction:column;gap:12px;display:flex}.student-schedule-day{background:var(--surface);border:1px solid var(--line);border-radius:7px;overflow:hidden}.student-schedule-day__header{background:var(--surface-soft);border-bottom:1px solid var(--line);align-items:center;gap:11px;min-height:65px;padding:10px 15px;display:flex}.student-calendar-date{color:#fff;background:var(--green-700);border-radius:5px;flex-direction:column;justify-content:center;align-items:center;width:38px;height:45px;display:flex}.student-calendar-date strong{font-size:16px}.student-calendar-date span{font-size:8px}.student-schedule-day__header h2{font-size:13px}.student-schedule-day__header p{color:var(--ink-soft);font-size:12px}.student-review-list,.student-practice-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.student-review-card,.student-practice-card{background:var(--surface);border:1px solid var(--card-line);min-width:0;box-shadow:var(--shadow-sm);border-radius:7px;overflow:hidden}.student-review-card{border-top:2px solid var(--green-700);padding:15px}.student-review-card__topline{justify-content:space-between;align-items:center;gap:10px;display:flex}.student-review-card__heading{justify-content:space-between;align-items:flex-start;gap:10px;margin:14px 0;display:flex}.student-review-card__heading>div{min-width:0}.student-review-card__heading small{color:var(--muted);font-size:9px}.student-review-card__heading h3{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:14px;overflow:hidden}.student-review-card__heading>span{color:var(--ink-soft);font-size:12px}.student-review-card__meta{border-block:1px solid var(--line);grid-template-columns:1fr 1fr;margin:0;padding:9px 0;display:grid}.student-review-card__meta>div{flex-direction:column;display:flex}.student-review-card__meta dt{color:var(--muted);font-size:9px}.student-review-card__meta dd{margin:0;font-size:11px;font-weight:650}.student-review-card__homework{color:var(--green-700);background:var(--green-50);border-left:2px solid var(--green-700);border-radius:5px;align-items:flex-start;gap:8px;margin-top:11px;padding:9px;display:flex}.student-review-card__homework>div{min-width:0}.student-review-card__homework small{font-size:9px}.student-review-card__homework p{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.student-card-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:12px;display:flex}.student-practice-card__header{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) 42px;align-items:start;gap:10px;padding:14px;display:grid}.student-practice-card__date{width:52px;height:48px;color:var(--coral-700);background:var(--coral-50);border-radius:5px;flex-direction:column;justify-content:center;align-items:center;display:flex}.student-practice-card__date strong{font-size:17px}.student-practice-card__date span{text-align:center;font-size:8px;line-height:1.2}.student-practice-card__header>div:nth-child(2){min-width:0}.student-practice-card__header small{color:var(--muted);font-size:9px}.student-practice-card__header h3,.student-practice-card__header p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-practice-card__header .student-status-pill{margin-top:6px;display:inline-flex}.student-practice-card__header h3{font-size:13px}.student-practice-card__header p{color:var(--muted);font-size:9px}.student-tag-list{flex-wrap:wrap;gap:5px;padding:10px 14px 0;display:flex}.student-tag-list span{color:var(--coral-700);background:var(--coral-50);border-radius:3px;padding:3px 7px;font-size:9px}.student-practice-card__notes{grid-template-columns:1fr;gap:13px;padding:12px 14px;display:grid}.student-practice-card__notes small{color:var(--muted);font-size:9px}.student-practice-card__notes p{margin-top:3px;font-size:10px}.student-practice-card footer{color:var(--muted);background:var(--surface-soft);border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 14px;font-size:9px;display:flex}.student-membership-banner{color:#fff;background:var(--green-900);border-radius:7px;align-items:center;gap:14px;min-height:105px;margin-bottom:14px;padding:18px;display:flex}.student-membership-banner__icon{width:48px;height:48px;color:var(--gold-100);background:#ffffff1a;border-radius:50%;flex:none;place-items:center;display:grid}.student-membership-banner>div:last-child{flex-direction:column;display:flex}.student-membership-banner span{color:#ffffffb3;font-size:10px}.student-membership-banner strong{margin:3px 0;font-size:16px}.student-membership-banner p{color:#ffffffc7;max-width:38em;font-size:10px;line-height:1.45}.student-teacher-list,.student-ledger-list{flex-direction:column;display:flex}.student-ledger-toolbar{border-bottom:1px solid var(--line-soft);flex-direction:column;gap:10px;padding:10px 15px;display:flex}.student-ledger-toolbar__search{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.student-ledger-toolbar .search-field{width:100%}.student-ledger-toolbar__meta{white-space:nowrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.student-ledger-toolbar__meta>span{color:var(--ink-soft);font-size:12px}.student-ledger-more{color:var(--green-900);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:700}.student-ledger-filters{flex-direction:column;gap:8px;display:flex}.student-ledger-filters .segmented,.student-ledger-filters .select-field,.student-ledger-filters .select-control,.student-ledger-filters .select-control select{width:100%}.student-ledger-year{flex-direction:column;display:flex}.student-ledger-year__title{color:var(--ink-soft);margin:0;padding:10px 15px 2px;font-size:12px;font-weight:600}.student-teacher-row{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:72px;padding:12px 15px;display:grid}.student-teacher-row:last-child{border-bottom:0}.student-teacher-row__identity{flex-direction:column;gap:2px;min-width:0;display:flex}.student-teacher-row small{color:var(--muted);font-size:9px}.student-teacher-row strong{font-size:15px}.student-teacher-row__identity>span{color:var(--ink-soft);font-size:12px}.student-ledger-row{border-bottom:1px solid var(--line-soft);grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:60px;padding:9px 15px;display:grid}.student-ledger-row:last-child{border-bottom:0}.student-ledger-row__marker{background:var(--green-700);border-radius:50%;width:7px;height:7px}.student-ledger-row__marker--improvisation{background:var(--blue-700)}.student-ledger-row__marker--practice{background:var(--coral-500)}.student-ledger-row__marker--theory{background:var(--gold-500)}.student-ledger-row>div{flex-direction:column;min-width:0;display:flex}.student-ledger-row>div:nth-child(2) strong,.student-ledger-row>div:nth-child(2) small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-ledger-row small{color:var(--muted);font-size:9px}.student-ledger-row>div:last-child{align-items:flex-end}.student-ledger-row .is-positive{color:var(--green-700)}.student-ledger-row .is-negative{color:var(--red-700)}.student-ledger-row .is-neutral{color:var(--muted)}.student-profile-panel{background:var(--surface);border:1px solid var(--card-line);border-radius:7px;margin-bottom:14px;overflow:hidden}.student-profile-panel__heading{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:0;padding:12px 16px;display:flex}.student-profile-panel__heading .section-heading-icon{flex:none}.student-profile-panel__heading h2{margin:0;font-size:15px;line-height:34px}.student-profile-panel__heading>span:not(.section-heading-icon){color:var(--ink-soft);margin-left:auto;padding-left:12px;font-size:12px;line-height:1}.profile-identity-static{background:var(--surface-soft);border-bottom:1px solid var(--line);align-items:center;padding:15px;display:flex}.profile-identity-static>span{flex-direction:column;min-width:0;display:flex}.profile-identity-static strong{font-size:15px}.profile-identity-static small{color:var(--ink-soft);margin-top:1px;font-size:12px}.settings-account-profile{justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;padding:0 18px 0 0;display:flex}.settings-account-profile .profile-identity-static{background:0 0;border:0;flex:1}.settings-account-profile dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-width:260px;margin:0;display:grid}.settings-account-profile dl>div{flex-direction:column;display:flex}.settings-account-profile dt{color:var(--ink-soft);font-size:12px}.settings-account-profile dd{margin:2px 0 0;font-size:11px}.student-profile-panel dl{grid-template-columns:1fr 1fr;gap:0 24px;margin:0;padding:10px 15px;display:grid}.student-profile-panel dl>div{border-bottom:1px dashed var(--line);grid-template-columns:75px 1fr;gap:10px;padding:8px 0;display:grid}.student-profile-panel dt{color:var(--ink-soft);font-size:12px}.student-profile-panel dd{overflow-wrap:anywhere;margin:0;font-size:11px}.activation-form{flex-direction:column;gap:10px;display:flex}.activation-form>.info-callout{margin:0 0 3px}.qualification-form{gap:14px;display:grid}.qualification-form>.field-error{margin-top:-7px}.activation-option{background:var(--surface-soft);border:1px solid var(--line);border-radius:5px;grid-template-columns:minmax(0,1fr) repeat(2,minmax(130px,150px));align-items:center;gap:14px;padding:10px;display:grid}.activation-option.is-enabled{background:var(--green-50);border-color:var(--green-100)}.activation-option .check-row{background:0 0;border:0;margin:0;padding:7px}.activation-option .check-row>span:last-child{flex-direction:column;display:flex}.activation-option .check-row small{color:var(--ink-soft);font-size:12px}.activation-option>.field:nth-child(2):last-child{grid-column:3}.activation-option>.badge{justify-self:end}.mobile-nav,.print-root{display:none}@media (width<=1260px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.record-row{grid-template-columns:40px minmax(220px,1.2fr) minmax(160px,.8fr) auto}.record-row>:last-child{grid-column:4}.record-row>.badge{display:none}.student-time-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=1080px){body:has(.sidebar.is-open){overscroll-behavior:none;overflow:hidden}.app-main{width:100%;max-width:100%;margin-left:0}.app-main>.brand-atmosphere{inset:0}.app-main>.system-copyright{padding-left:24px;padding-right:24px}.sidebar{transition:transform .19s;transform:translate(-102%)}.sidebar.is-open{transform:translate(0);box-shadow:18px 0 50px #0000003b}.sidebar-close{display:inline-grid!important}.sidebar-scrim{z-index:35;visibility:hidden;opacity:0;background:#1414145c;padding:0;transition:opacity .18s,visibility .18s;display:block;position:fixed;inset:0}.sidebar-scrim.is-open{visibility:visible;opacity:1}.menu-button{display:inline-grid!important}.week-calendar{grid-template-columns:repeat(7,minmax(0,1fr))}.rule-grid{grid-template-columns:1fr}}@media (width>=681px) and (width<=1080px){.account-table{overscroll-behavior-inline:contain;scrollbar-gutter:stable;overflow-x:auto}.account-table .data-table-head,.account-table .data-table-row{min-width:900px}}@media (width>=681px) and (width<=1024px){.member-table,.ledger-table,.account-recovery-table{overscroll-behavior-inline:contain;scrollbar-gutter:stable;overflow-x:auto}.member-table .data-table-head,.member-table .data-table-row{min-width:930px}.ledger-table .data-table-head,.ledger-table .data-table-row{min-width:850px}.account-recovery-table .data-table-head,.account-recovery-table .data-table-row{min-width:860px}}@media (width<=820px){.page-content{padding:22px 18px 42px}.topbar{padding:0 18px}.global-search{width:min(330px,48vw)}.global-search kbd{display:none}.page-header,.student-page-header{flex-direction:column;align-items:flex-start}.page-actions{flex-wrap:wrap;width:100%}.dashboard-grid{grid-template-columns:1fr}.rights-summary-grid{grid-template-columns:1fr;padding:4px 0}.rights-summary-item{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:38px 1fr;padding:12px 16px}.rights-summary-item.is-action{border-right:0;border-bottom:1px solid var(--line)}.rights-summary-item:last-child{border-bottom:0}.teacher-grid,.student-card-grid,.student-review-list,.student-practice-list,.settings-layout{grid-template-columns:1fr}.settings-nav{flex-direction:row;overflow-x:auto}.settings-nav button{flex:none}.teacher-availability-overview-list{--overview-cols:96px minmax(140px, 1fr) auto;--overview-actions:72px 96px}.teacher-availability-overview-cols,.teacher-availability-overview-item{column-gap:10px;padding-inline:10px}.teacher-availability-overview-copy{width:96px}.theory-slot-form{grid-template-columns:1fr 1fr}.theory-slot-form>.button{grid-column:1/-1;width:100%}.theory-slot-list>article{grid-template-columns:1fr auto}.theory-slot-list>article>:nth-child(2){grid-column:1}.theory-slot-actions{flex-wrap:wrap}.calendar-toolbar{flex-wrap:wrap;align-items:flex-start}.admin-schedule-toolbar{grid-template-columns:minmax(0,1fr)}.admin-schedule-toolbar .week-switcher,.admin-schedule-filter-group,.admin-schedule-toolbar .admin-schedule-teacher,.admin-schedule-toolbar .select-field{grid-column:1;width:100%}.week-switcher{justify-content:space-between;width:100%}.week-title{flex:1;min-width:0}.record-row{grid-template-columns:40px minmax(0,1fr) auto}.record-row .signature-progress,.record-row .completion-cell{grid-column:2/-1;justify-content:flex-start;display:flex}.record-row>.badge{grid-column:2/-1;justify-self:start;display:inline-flex}.record-row>.row-actions{grid-area:1/3}.record-row>.button{grid-column:auto}.record-row>.form-grid{grid-area:2/2/auto/-1;width:100%;grid-template-columns:minmax(0,1fr)!important}.record-row>.form-grid+.badge+.button{grid-area:3/2/auto/-1;justify-self:end}.ledger-table{overflow-x:auto}.ledger-table .data-table-head,.ledger-table .data-table-row{min-width:850px}.profile-layout{grid-template-columns:1fr}.student-entitlement-grid--full{grid-template-columns:1fr 1fr}.student-entitlement-card__value strong{font-size:15px}.student-entitlement-card__unit{font-size:11px}.student-course-picker,.student-date-scroller{grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}.student-date-option{min-width:0}.review-meta-grid{grid-template-columns:1fr 1fr}.review-meta-grid>div:nth-child(2){border-right:0}.review-meta-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (width<=1024px){.rights-page .ledger-table{overflow:visible}.rights-page .ledger-table .data-table-head,.rights-page .ledger-table .data-table-row{min-width:0}}@media (width<=680px){html,body{overscroll-behavior-y:none}body{font-size:13px}.login-brand{padding:22px 22px 0}.login-brand .brand-lockup .brand-mark{width:32px;height:32px}.login-brand-lockup{gap:6px}.login-brand-title,.login-brand-title .brand-name,.login-brand strong{font-size:18px}.login-brand .brand-atmosphere__glow{width:160%;height:150%;top:-48%;left:-24%}.login-brand .brand-atmosphere__beam{width:62%;height:220%;top:-60%;left:-30%}.login-brand .brand-atmosphere__keys{height:92px}.login-brand .brand-atmosphere__note{color:#efe9dc7a;font-size:16px}.login-brand .brand-atmosphere__note--a{animation:18s linear infinite atmosphere-note-a-mobile;bottom:108px;left:auto;right:18%}.login-brand .brand-atmosphere__note--b{animation:18s linear infinite atmosphere-note-b-mobile;bottom:78px;left:auto;right:8%}.login-brand .brand-atmosphere__note--c{animation:18s linear infinite atmosphere-note-c-mobile;display:block;bottom:64px;left:auto;right:30%}.login-shell>.page-content{padding:118px 22px calc(156px + env(safe-area-inset-bottom));align-items:start}.login-shell .page-header{margin-bottom:22px;padding-bottom:18px}.login-shell .page-eyebrow{letter-spacing:.08em;margin-bottom:10px;display:block!important}.password-change-shell>.page-content{padding-bottom:calc(128px + env(safe-area-inset-bottom))}.login-shell .page-header h1{font-size:26px}.login-shell .page-header p{font-size:12px;display:block!important}.login-shell>footer,.system-copyright{flex-direction:column}.app-main>.system-copyright{padding:6px 16px 0;font-size:9px}.login-shell>footer{left:22px;right:22px;bottom:calc(24px + env(safe-area-inset-bottom));gap:4px;font-size:9px}.legal-footer__filings,.login-shell>footer .legal-footer__filings{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;display:flex}html{scroll-padding-top:68px;scroll-padding-bottom:calc(var(--mobile-nav-height) + 16px)}input,select,textarea{font-size:16px}.role-admin .page-content,.role-teacher .page-content,.role-student .page-content{padding-bottom:calc(var(--mobile-nav-height) + 16px)}.topbar{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;flex-basis:56px;gap:8px;height:56px;padding:0 12px}.topbar-left{flex:1;gap:8px;min-width:0}.topbar-actions{flex:none;gap:8px}.notification-panel{width:auto;max-height:calc(100dvh - 64px);position:fixed;top:56px;left:8px;right:8px}.notification-panel>div{max-height:calc(100dvh - 122px)}.role-admin .notification-panel,.role-teacher .notification-panel,.role-student .notification-panel{max-height:calc(100vh - 64px - var(--mobile-nav-height));max-height:calc(100dvh - 64px - var(--mobile-nav-height))}.role-admin .notification-panel>div,.role-teacher .notification-panel>div,.role-student .notification-panel>div{max-height:calc(100vh - 122px - var(--mobile-nav-height));max-height:calc(100dvh - 122px - var(--mobile-nav-height));scroll-padding-bottom:12px}.role-quick-switch{display:none}.global-search{width:100%;min-width:0}.global-search-results{width:auto;max-height:calc(var(--visual-viewport-height,100dvh) - 64px);position:fixed;top:56px;left:8px;right:8px}.page-content{padding:18px 12px 34px}.portal-loading{min-height:max(320px, calc(100dvh - 164px - var(--mobile-nav-height)))}.page-header,.student-page-header{min-height:0;margin-bottom:12px}.page-header h1,.student-page-header h1{font-size:21px}.page-header p,.student-page-header p{font-size:11px}.page-eyebrow,.student-page-header__eyebrow,.student-section__eyebrow,.page-header p{display:none}.ui-copy-long{display:none!important}.ui-copy-short{display:inline}.attendance-rule-copy.ui-copy-short,.member-lesson-policy-rule .ui-copy-short{display:block!important}.member-lesson-policy-rules{grid-template-columns:minmax(0,1fr)}.student-practice-card__notes,.student-practice-card .student-tag-list,.student-review-card__homework,.student-review-card__meta,.student-entitlement-card__caption,.student-entitlement-card>small:not(.student-entitlement-card__quota),.student-empty-state p,.empty-state p,.metric-hint,.section-heading p,.archive-filter-toolbar>span,.teacher-schedule-filter-label,.admin-schedule-filter-label,.reserved-line,.student-rights-view .student-section__heading:not(.student-section__heading--action)>span:not(.section-heading-icon),.student-profile-panel__heading>span:not(.section-heading-icon){display:none}.student-attendance-rule{padding:12px 14px}.lesson-block-outcome{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.member-lesson-policy-rule{min-height:0;padding:14px}.student-dated-lesson__date span{display:none}.page-actions{grid-template-columns:1fr 1fr;display:grid}.page-actions .button{width:100%}.stat-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-card,.metric-card{min-height:112px;padding:13px}.stat-value{font-size:25px}.metric-card{flex-direction:column;gap:7px;display:flex}.alert-strip{flex-wrap:wrap;align-items:flex-start}.alert-strip-action{border:0;border-top:1px solid var(--gold-100);border-radius:0;justify-content:center;width:100%;min-height:32px;margin-left:0;padding-top:8px}.timeline-row{grid-template-columns:58px 26px minmax(0,1fr) auto;gap:7px 8px;padding:10px 12px}.timeline-row>.badge{justify-self:end}.timeline-member-jump{min-height:32px}.attention-item{padding-inline:12px}.list-toolbar{flex-wrap:wrap;align-items:stretch}.list-toolbar .search-field{width:100%}.list-toolbar .segmented{max-width:100%;overflow-x:auto}.data-table-head{display:none}.member-table{background:var(--surface-muted);padding:10px 10px 16px}.member-table .data-table-head,.member-table .data-table-row{min-width:0}.member-table .data-table-row{background:var(--surface);border:1px solid var(--card-line);width:auto;min-height:0;box-shadow:var(--shadow-sm);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:0;padding:14px;display:grid}.member-table .member-initial-row{background:0 0;min-height:0;margin:4px 0 2px;padding:2px 4px}.member-table .data-table-row[role=button]:hover{background:var(--surface)}.member-table .data-table-row>span{grid-column:1}.member-table .data-table-row>.icon-button{grid-area:1/2;align-self:start}.member-table .data-table-row>.member-service-cell,.member-table .data-table-row>.entitlement-mini,.member-table .data-table-row>.validity-cell,.member-table .data-table-row>.teacher-cell{grid-column:1/-1}.member-table .data-table-row>span:nth-child(2){display:flex}.member-table .table-person strong{font-size:16px}.member-table .table-person small{font-size:12px}.member-table .member-service-cell{background:var(--surface-muted);border-radius:8px;flex-flow:wrap;align-items:center;gap:6px 8px;padding:10px 12px}.member-table .teacher-cell{background:var(--blue-50);border:1px solid var(--blue-100);border-radius:8px;grid-template-columns:1fr 1fr;align-items:stretch;gap:6px;padding:10px 12px;display:grid}.member-table .mobile-cell-label{color:var(--muted);grid-column:1/-1;font-size:11px;font-weight:700;display:inline-flex}.member-table .teacher-chip{white-space:nowrap;max-width:100%}.member-table .entitlement-mini{grid-template-columns:1fr 1fr;gap:8px;display:grid}.member-table .entitlement-mini>span{min-width:0}.member-table .entitlement-mini .course-chip{min-height:76px;padding:10px}.member-table .entitlement-mini strong{font-size:22px}.member-table .validity-cell{background:var(--blue-50);border:1px solid var(--blue-100);border-radius:8px;flex-direction:row;align-items:center;gap:8px;padding:10px 12px}.table-footer{padding-inline:12px}.teacher-grid{grid-template-columns:1fr}.teacher-metrics{margin-inline:-4px}.teacher-hours-toolbar{margin-inline:0}.teacher-hours-toolbar .date-range-filter,.teacher-hours-toolbar .segmented{flex:100%}.teacher-roster__row{flex-direction:column;align-items:flex-start}.teacher-roster__meta{justify-content:space-between;width:100%}.teacher-roster__courses{justify-content:flex-start}.teacher-availability-console{padding:14px}.teacher-availability-overview-head{flex-direction:column;justify-content:center;align-items:flex-start;gap:1px}.teacher-availability-overview-meta{text-align:left;align-items:flex-start}.teacher-availability-overview-cols{display:none}.teacher-availability-overview-item{grid-template-columns:minmax(0,1fr) auto;row-gap:8px;padding:10px}.teacher-availability-overview-base{color:var(--muted);text-align:right;justify-self:end;font-size:11px}.teacher-availability-overview-actions{grid-column:1/-1;grid-template-columns:minmax(72px,auto) minmax(0,1fr);column-gap:8px}.teacher-availability-jump{height:44px;min-height:44px}.teacher-availability-overview-copy{width:100%;height:44px;min-height:44px}.teacher-availability-inspect-day>article{grid-template-columns:1fr}.fixed-week-teacher-row{grid-template-columns:1fr;gap:8px}.fixed-week-teacher-row .button{width:100%;min-height:44px}.admin-schedule-toolbar .segmented{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;width:100%;display:grid;overflow:visible}.admin-schedule-toolbar .segmented button{flex:none;grid-column:span 2;width:100%;min-width:0}.admin-schedule-toolbar .segmented button:nth-child(n+4){grid-column:span 3}.admin-schedule-toolbar .select-field{width:100%;display:flex}.admin-schedule-toolbar .select-control,.admin-schedule-toolbar .select-control select{width:100%}.theory-slot-form{grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;padding:11px;overflow:hidden}.theory-slot-form>.field,.theory-slot-form>.button{grid-column:1;width:100%;max-width:100%}.theory-slot-form>.field{min-width:0;overflow:hidden}.theory-slot-form input,.theory-slot-form select{width:100%;min-width:0;max-width:100%;inline-size:100%;min-inline-size:0;display:block}.theory-slot-form input[type=date]{appearance:none}.week-calendar{grid-template-columns:repeat(7,minmax(0,1fr))}.record-row{grid-template-columns:36px minmax(0,1fr) auto;gap:9px;min-height:76px;padding:9px 11px}.record-type-icon{width:34px;height:34px}.record-row .signature-progress{grid-column:2/-1;justify-content:flex-start;display:flex}.record-row .completion-cell{grid-column:2/-1;display:flex}.record-row>.badge{grid-column:2/-1;justify-self:start;display:inline-flex}.record-row>.row-actions{grid-area:1/3}.record-row>.form-grid+.badge+.button{justify-self:stretch;width:100%}.settings-section{padding:16px}.settings-account-profile{flex-direction:column;align-items:stretch;padding:0}.settings-account-profile dl{min-width:0;padding:0 15px 15px}.setting-row{align-items:flex-start}.form-grid,.review-fields,.score-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.modal-backdrop{top:var(--visual-viewport-top,0px);left:var(--visual-viewport-left,0px);width:var(--visual-viewport-width,100%);height:var(--visual-viewport-height,100dvh);max-height:var(--visual-viewport-height,100dvh);-webkit-backdrop-filter:none;backdrop-filter:none;place-items:stretch stretch;padding:0;overflow:hidden}.modal{border-radius:8px 8px 0 0;width:100%;height:100%;min-height:0;max-height:100%}.modal-body{padding:16px}.modal-header{background:var(--surface);flex:none;align-items:center;min-height:0;padding:12px 14px;overflow:hidden}.modal-header>div{min-width:0}.modal-footer{min-height:62px;padding:10px 12px max(12px, env(safe-area-inset-bottom,0px));flex-wrap:wrap;flex:none;justify-content:flex-start;overflow:visible}.modal-footer .button{white-space:normal;flex:calc(50% - 4px);min-width:0;height:auto;min-height:38px;padding-block:7px;line-height:1.3}.record-compose-modal .modal-header{gap:10px;padding:10px 12px}.record-compose-modal .modal-header h2{font-size:15px;line-height:1.3}.record-compose-modal .modal-header-tools>.icon-button:not(:last-child){display:inline-grid}.record-compose-modal .record-compose-secondary,.record-compose-modal .record-compose-dismiss{display:none}.record-compose-modal .modal-footer{padding:8px 12px max(10px, env(safe-area-inset-bottom,0px));flex-wrap:nowrap;gap:8px}.record-compose-modal .modal-footer>.button{flex:100%}.record-compose-modal .modal-footer:not(:has(.button:not(.record-compose-dismiss))){display:none}:is(.record-compose-modal:has(textarea:focus,input:focus) .modal-lead,.record-compose-modal:has(textarea:focus,input:focus) .review-title-band,.record-compose-modal:has(textarea:focus,input:focus) .review-meta-grid,.record-compose-modal:has(textarea:focus,input:focus) .consume-summary,.record-compose-modal:has(textarea:focus,input:focus) .info-callout,.record-compose-modal:has(textarea:focus,input:focus) .review-section-heading){display:none}.record-compose-modal .field textarea,.record-compose-modal .field textarea.record-view-input,.record-compose-modal .field textarea.record-view-input.is-multiline{min-height:132px;scroll-margin-bottom:20px}.modal-footer .button>svg{flex:none}.modal-footer .button>span{overflow-wrap:anywhere;min-width:0}.modal-footer .salon-share-actions{justify-content:stretch}.modal-footer .salon-share-actions .button{flex:calc(50% - 4px)}.salon-share-poster figcaption{display:block}.course-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.course-picker>button{min-height:58px}.drawer{width:100%;max-width:none}.drawer-footer{flex-wrap:wrap;flex:none;min-height:65px;padding:10px 12px}.drawer-footer .button{white-space:normal;flex:calc(50% - 4px);min-width:0;height:auto;min-height:38px;padding:7px 10px;line-height:1.3}.drawer-footer .button>svg{flex:none}.drawer-footer .button>span{overflow-wrap:anywhere;min-width:0}.detail-rights-grid{grid-template-columns:1fr}.detail-rights-grid article.full{grid-column:auto}.review-title-band{padding-inline:15px}.review-meta-grid{grid-template-columns:1fr 1fr}.consume-summary{flex-wrap:wrap;align-items:flex-start;margin-inline:14px}.consume-summary strong{margin-left:0}.consume-summary small{width:100%}.review-section{padding:17px 14px}.record-view-bar.is-multiline,.field textarea.record-view-input,.field textarea.record-view-input.is-multiline,.practice-form textarea{min-height:180px}.signature-section{grid-template-columns:1fr}.practice-summary{grid-template-columns:1fr 1fr}.practice-summary>div:first-child{grid-column:1/-1}.activation-option{grid-template-columns:1fr}.activation-option>.field:nth-child(2):last-child{grid-column:auto}.activation-option>.badge{justify-self:start}.lesson-detail-banner{gap:10px;min-height:44px;padding:8px 10px}.lesson-detail-banner .course-badge{font-size:14px}.lesson-detail-banner .course-badge-mark{width:26px;height:26px;font-size:12px}.lesson-detail-banner .badge{min-height:26px;font-size:12px}.lesson-people{grid-template-columns:1fr}.lesson-people strong{font-size:15px}.lesson-row:not(.teacher-upcoming-row){grid-template-columns:64px 4px minmax(0,1fr);gap:9px;padding:11px}.lesson-actions{border-top:1px solid var(--line);grid-column:1/-1;justify-content:flex-end;padding-top:8px}.lesson-title-line h3{order:-1;width:100%}.teacher-schedule-toolbar,.student-schedule-toolbar{grid-template-columns:1fr;gap:11px;padding:12px 10px}.teacher-schedule-toolbar .week-switcher,.teacher-schedule-filter-group,.teacher-schedule-search-group,.teacher-schedule-toolbar .schedule-focus-controls,.student-schedule-toolbar .week-switcher,.student-schedule-filter,.student-schedule-toolbar .schedule-focus-controls{grid-area:auto/1}.schedule-hours-banner{padding:14px 12px 12px}.teacher-schedule-week-hint,.student-schedule-week-hint{flex-wrap:wrap}.student-schedule-filter{flex-direction:column;align-items:stretch;width:100%}.student-schedule-filter .segmented{flex-wrap:wrap;width:100%}.student-schedule-result-count,.teacher-schedule-result-count,.schedule-focus-controls{width:100%}.date-range-filter{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.schedule-focus-chip--locator,.schedule-focus-stats{flex:100%}.schedule-focus-chip--month{flex:auto}.schedule-focus-chip input,.schedule-focus-month input{width:min(148px,100%)}.teacher-schedule-type-filter{grid-template-columns:repeat(6,minmax(0,1fr));width:100%}.teacher-schedule-type-filter button{grid-column:span 2;gap:5px;padding-inline:6px}.teacher-schedule-type-filter button:nth-child(n+4){grid-column:span 3}.teacher-schedule-search-group{align-items:stretch;width:100%}.teacher-schedule-result-count{text-align:right}.teacher-schedule-week{padding:0 10px 14px}.teacher-schedule-week-header{align-items:flex-start;min-height:49px;padding-block:9px}.teacher-schedule-week-header>div{flex-direction:column;align-items:flex-start;gap:2px}.teacher-schedule-date-header{padding-inline:10px}.teacher-schedule-row{grid-template-columns:72px minmax(0,1fr) auto;gap:7px 8px;padding:10px}.teacher-schedule-actions{flex-wrap:wrap}.teacher-schedule-actions .button{flex:112px;min-width:0}.teacher-schedule-actions .icon-button{flex:0 0 34px}.student-contact-list{grid-template-columns:1fr}.student-entitlements{grid-template-columns:1fr 1fr}.student-card-footer{flex-direction:column;align-items:flex-start}.teacher-students-view .student-card-summary{display:block}.teacher-students-view .student-contact-list,.teacher-students-view .student-entitlements,.teacher-students-view .student-card .teaching-archive-list{display:none}.task-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.task-row{grid-template-columns:36px minmax(0,1fr);padding:10px 12px}.task-actions{grid-column:1/-1;justify-content:flex-end;justify-self:end}.student-page-header{flex-direction:column;align-items:flex-start}.student-entitlement-grid,.student-entitlement-grid--full{grid-template-columns:1fr 1fr;padding:11px}.student-course-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.student-course-option{min-height:108px;padding:12px}.student-alert-card .ui-copy-short{display:block}.student-booking-step{padding:15px 12px}.student-booking-form>.student-booking-step:last-of-type{padding-bottom:89px}.student-time-grid{grid-template-columns:repeat(2,1fr)}.student-time-slot{scroll-margin-bottom:calc(var(--mobile-nav-height) + 84px)}.student-booking-submit{z-index:3;bottom:calc(var(--mobile-nav-height) + 2px);padding:10px 12px;position:sticky}.student-booking-summary{max-width:55%}.student-reschedule-status{grid-template-columns:24px minmax(0,1fr)}.student-reschedule-status__title{flex-direction:column;align-items:flex-start;gap:2px}.student-reschedule-status__hint.ui-copy-short{display:block}.student-primary-button{min-width:122px}.student-tab-list,.record-tab-list{overflow-x:auto}.student-tab-list button,.record-tab-list button{flex:none}.student-review-list,.student-practice-list,.student-practice-card__notes,.student-profile-panel dl{grid-template-columns:1fr}.student-membership-banner{min-height:96px;padding:14px}.student-membership-banner strong{font-size:14px}.student-teacher-row{grid-template-columns:minmax(0,1fr) auto}.teacher-card-top{align-items:flex-start}.teacher-card-footer{flex-direction:column;align-items:flex-start}.teacher-card-actions{grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-left:0;display:grid}.teacher-card-actions .button{justify-content:center;width:100%;height:36px;min-height:36px}.mobile-nav{z-index:32;height:var(--mobile-nav-height);grid-template-columns:repeat(var(--mobile-nav-count,5), 1fr);padding:6px max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));background:var(--surface);border-top:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none;grid-auto-rows:minmax(0,1fr);transition:opacity .12s,transform .12s;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 22px #00000012}.role-admin .system-copyright,.role-teacher .system-copyright,.role-student .system-copyright{padding-bottom:calc(var(--mobile-nav-height) + 4px)}.role-admin .toast,.role-teacher .toast,.role-student .toast{bottom:calc(var(--mobile-nav-height) + 12px)}.mobile-nav[data-count="6"]{--mobile-nav-count:6}.mobile-nav button{color:var(--muted);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding-bottom:5px;font-size:9px;transition:color .16s;display:flex;position:relative}.mobile-nav button.is-active{color:var(--green-700);font-weight:700}.mobile-nav button.is-active svg{animation:.18s ease-out mobile-nav-icon}.mobile-nav button.is-active:after{content:"";background:currentColor;border-radius:999px;width:14px;height:2px;animation:.18s ease-out mobile-nav-underline;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}:is(.app-shell:has(input:focus,select:focus,textarea:focus) .mobile-nav,.app-shell:has(.global-search-results) .mobile-nav){pointer-events:none;opacity:0;transform:translateY(100%)}body.modal-open .app-main>.topbar,body.modal-open .mobile-nav{visibility:hidden;pointer-events:none}body:has(.modal-backdrop) .app-main>.topbar{visibility:hidden;pointer-events:none}body:has(.modal-backdrop) .mobile-nav{visibility:hidden;pointer-events:none}}.account-console{overflow:hidden}.admin-self-profile{background:var(--surface);min-height:360px}.admin-self-profile-heading{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:76px;padding:16px 20px;display:flex}.admin-self-profile-heading>span:last-child{flex-direction:column;min-width:0;display:flex}.admin-self-profile-heading strong{font-size:15px}.admin-self-profile-heading small{color:var(--ink-soft);margin-top:3px;font-size:12px}.admin-self-profile-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:760px;padding:20px;display:grid}.admin-self-profile-scope,.admin-self-profile-form>.info-callout,.admin-self-profile-actions{grid-column:1/-1}.admin-self-profile-actions{justify-content:flex-end;display:flex}.admin-self-password{border-top:1px solid var(--line)}.admin-self-password-heading{background:var(--surface-soft)}.account-primary-tabs{background:var(--surface);border-bottom:1px solid var(--line);align-items:center;min-height:58px;padding:10px 16px;display:flex}.account-role-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:62px;padding:11px 16px;display:flex}.account-role-bar>span{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.account-summary{background:var(--surface-soft);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.account-summary>div{border-right:1px solid var(--line);flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:78px;display:flex}.account-summary>div:last-child{border-right:0}.account-summary small{color:var(--muted);font-size:11px}.account-summary strong{margin-top:2px;font-size:22px;line-height:1.2}.account-page-error{min-height:58px;color:var(--red-700);background:var(--red-50);border-bottom:1px solid var(--red-100);align-items:center;gap:10px;padding:10px 16px;display:flex}.account-page-error>span{flex-direction:column;flex:1;min-width:0;display:flex}.account-page-error small{color:var(--ink-soft);font-size:12px}.account-toolbar{min-height:66px}.account-table .data-table-head,.account-table .data-table-row{grid-template-columns:minmax(190px,1.1fr) minmax(190px,1fr) 82px 78px minmax(245px,1.25fr)}.account-table .data-table-row{min-height:76px}.account-table .table-person{flex-direction:row;align-items:center}.account-login-cell{min-width:0}.account-login-cell strong,.account-login-cell small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.account-login-cell strong{font-size:12px}.account-login-cell small{color:var(--ink-soft);font-size:12px}.account-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;flex-direction:row!important;align-items:center!important;display:flex!important}.account-status-switch{background:var(--line-strong);width:42px;height:24px;box-shadow:inset 0 0 0 1px var(--ink-400);border-radius:12px;flex:0 0 42px;align-items:center;padding:2px;transition:background .15s,box-shadow .15s;display:flex}.account-status-switch>span{background:var(--surface);border-radius:50%;width:20px;height:20px;transition:transform .15s;box-shadow:0 1px 3px #0003}.account-status-switch.is-on{background:var(--green-700);box-shadow:inset 0 0 0 1px var(--green-900)}.account-status-switch.is-on>span{transform:translate(18px)}.account-login-note,.account-confirm-panel,.account-batch-summary,.account-secret-warning{background:var(--green-50);border:1px solid var(--green-100);border-radius:6px;align-items:flex-start;gap:10px;padding:13px;display:flex}.account-download-warning{color:var(--red-700);background:var(--red-50);border-color:var(--red-100)}.account-login-note>span,.account-confirm-panel>span,.account-batch-summary>span,.account-secret-warning>span{flex-direction:column;gap:4px;min-width:0;display:flex}.account-login-note small,.account-confirm-panel small,.account-batch-summary small,.account-secret-warning small{color:var(--ink-soft);font-size:13px}.account-create-form .info-callout{margin:0}.account-confirm-panel+.info-callout{margin-top:12px}.account-readonly-aliases{background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;display:grid}.account-readonly-aliases>div{border-right:1px solid var(--line);min-width:0;padding:11px 12px}.account-readonly-aliases>div:last-child{border-right:0}.account-readonly-aliases dt{color:var(--muted);font-size:9px}.account-readonly-aliases dd{text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:11px;overflow:hidden}.account-batch-progress{background:var(--surface-soft);border:1px solid var(--line);border-radius:5px;height:29px;margin-top:13px;position:relative;overflow:hidden}.account-batch-progress>span{background:var(--green-100);transition:width .15s;position:absolute;inset:0 auto 0 0}.account-batch-progress>small{z-index:1;height:100%;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;align-items:center;padding:0 9px;font-size:10px;display:flex;position:relative;overflow:hidden}.account-batch-progress.is-indeterminate>span{width:38%;animation:1.1s ease-in-out infinite alternate account-batch-loading}.account-batch-progress+.info-callout,.account-batch-summary+.info-callout{margin-top:12px}@keyframes account-batch-loading{0%{transform:translate(-20%)}to{transform:translate(185%)}}.account-secret-warning{color:var(--gold-700);background:var(--gold-50);border-color:var(--gold-100);margin-bottom:14px}.account-secret-list{border:1px solid var(--line);border-radius:6px;overflow:hidden}.account-secret-row{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(125px,1fr) minmax(145px,1fr) minmax(160px,1fr) 36px;align-items:center;gap:11px;min-height:65px;padding:9px 11px;display:grid}.account-secret-row:last-child{border-bottom:0}.account-secret-row>span{flex-direction:column;min-width:0;display:flex}.account-secret-row small{color:var(--muted);font-size:9px}.account-secret-row code{text-overflow:ellipsis;white-space:nowrap;font-family:Consolas,Courier New,monospace;font-size:12px;overflow:hidden}.account-copy-feedback{color:var(--green-700);align-items:center;gap:6px;margin-top:10px;font-size:11px;display:flex}.account-batch-failures{color:var(--red-700);background:var(--red-50);border:1px solid var(--red-100);border-radius:6px;flex-direction:column;align-items:flex-start;gap:3px;margin-top:12px;padding:11px 12px;font-size:11px;display:flex}.account-recovery-heading{background:var(--surface-soft);border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:72px;padding:12px 16px;display:flex}.account-recovery-heading-icon{width:38px;height:38px;color:var(--gold-700);background:var(--gold-50);border:1px solid var(--gold-100);border-radius:6px;place-items:center;display:grid}.account-recovery-heading>span:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.account-recovery-heading small{color:var(--ink-soft);font-size:12px}.account-recovery-table .data-table-head,.account-recovery-table .data-table-row{grid-template-columns:minmax(220px,1.25fr) minmax(190px,1fr) 150px 80px 120px}.account-credentials-view>.account-secret-warning{margin:14px 16px}.account-credentials-table .data-table-head,.account-credentials-table .data-table-row{grid-template-columns:minmax(220px,1.2fr) minmax(240px,1.25fr) 120px minmax(180px,.8fr)}.account-recovery-table .data-table-row{min-height:76px}.account-recovery-table .table-person{flex-direction:row;align-items:center}.account-recovery-table .data-table-row>span:nth-child(3) small{color:var(--muted);font-size:9px}.account-recovery-detail{flex-direction:column;gap:13px;display:flex}.account-recovery-detail .info-callout{margin:0}.login-recovery-link{min-height:34px;color:var(--green-700);background:0 0;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.login-recovery-link:hover{text-decoration:underline}.login-recovery-success{color:var(--green-700);background:var(--green-50);border:1px solid var(--green-100);border-radius:6px;align-items:flex-start;gap:11px;padding:15px;display:flex}.login-recovery-success>span{flex-direction:column;display:flex}.login-recovery-success small{color:var(--ink-soft);margin-top:2px;font-size:13px}.login-recovery-form .info-callout{margin:0}@media (width<=680px){.account-primary-tabs{padding:10px 11px;overflow-x:auto}.account-primary-tabs .segmented{width:max-content;min-width:100%}.account-primary-tabs .segmented button{flex:1 0 auto;min-width:92px}.account-primary-tabs .segmented span{white-space:nowrap}.admin-self-profile-heading{align-items:flex-start;padding:14px 12px}.admin-self-profile-form{grid-template-columns:1fr;padding:14px 12px}.admin-self-profile-scope,.admin-self-profile-form>.info-callout,.admin-self-profile-actions{grid-column:1}.admin-self-profile-actions .button{width:100%}.account-role-bar{flex-direction:column;align-items:stretch;gap:8px;padding:11px}.account-role-bar .segmented{width:100%}.account-role-bar .segmented button{flex:1}.account-role-bar>span{padding-inline:2px}.account-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.account-summary>div{min-height:68px}.account-summary>div:nth-child(2){border-right:0}.account-summary>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.account-page-error{flex-wrap:wrap;align-items:flex-start;padding:11px 12px}.account-page-error>svg{margin-top:2px}.account-page-error .button{margin-left:28px}.account-toolbar .segmented{width:100%}.account-toolbar .segmented button{flex:1}.account-table .data-table-head{display:none}.account-table .data-table-row{border:1px solid var(--card-line);border-radius:6px;grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;width:auto;min-height:0;margin:10px;padding:13px;display:grid}.account-table .data-table-row>span{min-width:0}.account-table .data-table-row>.table-person{grid-column:1/-1}.account-table .account-login-cell{grid-column:1}.account-table .data-table-row>span:nth-child(3),.account-table .data-table-row>span:nth-child(4){grid-column:1;align-items:flex-start}.account-table .account-row-actions{grid-area:auto/1/auto/-1;justify-content:flex-start;align-self:center}.account-table .table-footer{margin-top:0}.account-secret-row{grid-template-columns:minmax(0,1fr) 36px;gap:8px 10px;padding:11px}.account-secret-row>span:first-child{grid-column:1}.account-secret-row>span:nth-child(2),.account-secret-row>span:nth-child(3){grid-column:1/-1}.account-secret-row>.icon-button{grid-area:1/2}.account-secret-row code{overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.account-readonly-aliases{grid-template-columns:1fr}.account-readonly-aliases>div{border-right:0;border-bottom:1px solid var(--line)}.account-readonly-aliases>div:last-child{border-bottom:0}.account-recovery-heading{flex-wrap:wrap;align-items:flex-start;padding:12px}.account-recovery-heading>.badge{margin-left:48px}.account-recovery-table .data-table-head{display:none}.account-recovery-table .data-table-row{border:1px solid var(--card-line);border-radius:6px;grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;width:auto;min-height:0;margin:10px;padding:13px;display:grid}.account-recovery-table .data-table-row>.table-person{grid-column:1/-1}.account-recovery-table .account-login-cell,.account-recovery-table .data-table-row>span:nth-child(3),.account-recovery-table .data-table-row>span:nth-child(4){grid-column:1;align-items:flex-start}.account-recovery-table .account-row-actions{grid-area:2/2/5;align-self:center}.app-main,.page-content,.page-content>*,.settings-layout,.settings-panel,.settings-section,.surface,.student-booking-form{width:100%;min-width:0;max-width:100%}.list-surface{width:100%;min-width:0;max-width:100%;overflow-x:clip}.page-actions .button{white-space:normal;min-width:0;height:auto;min-height:38px;padding-block:7px;line-height:1.3}.settings-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;padding:5px;display:grid;overflow:visible}.settings-nav button{text-align:center;justify-content:center;width:100%;min-width:0;padding-inline:6px}.settings-section>p,.setting-row>span,.setting-row strong,.setting-row small{overflow-wrap:anywhere;min-width:0}.setting-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;display:grid}.list-toolbar .segmented,.account-primary-tabs .segmented,.account-role-bar .segmented,.account-toolbar .segmented{flex-wrap:wrap;width:100%;min-width:0;max-width:100%;height:auto;display:flex;overflow:visible}.attendance-period-toolbar-main{flex-direction:column;align-items:stretch}.attendance-period-toolbar-main .segmented{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.attendance-period-toolbar-main .segmented button{width:100%;min-width:0;padding:0 6px}.attendance-period-range{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-period-range .field{width:100%;max-width:100%;overflow:hidden}.member-toolbar,.rights-toolbar{grid-template-columns:minmax(0,1fr);gap:12px;width:100%;padding-bottom:4px;display:grid}.member-toolbar .search-field,.rights-toolbar .search-field,.rights-toolbar .rights-year-field,.rights-toolbar .rights-month-field,.rights-toolbar .segmented{width:100%;height:auto;margin-right:0}.rights-toolbar>.button{display:none}.rights-toolbar{gap:10px;min-height:0;padding:12px}.rights-toolbar-primary{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:8px;width:100%;display:grid}.rights-toolbar .search-field{grid-column:1/-1}.rights-toolbar .search-field,.rights-toolbar .rights-year-field,.rights-toolbar .rights-month-field{width:100%;min-width:0}.rights-toolbar .rights-year-field .select-control select,.rights-toolbar .rights-month-field .select-control select{height:42px}.rights-toolbar .segmented,.rights-toolbar .segmented[data-count="5"]{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;height:auto;display:grid}.rights-toolbar .segmented[data-count="5"]>button{grid-column:auto;width:100%;min-width:0;height:36px}.rights-ledger>.section-heading{display:none}.rights-page .ledger-table .data-table-row{border:0;border-bottom:1px solid var(--line);border-radius:0;grid-template-areas:"time amount""member action""detail detail";gap:4px 12px;margin:0;padding:14px 12px}.rights-page .ledger-table .data-table-row>span:nth-child(5){grid-area:amount;justify-self:end;align-items:flex-end;font-weight:700}.rights-page .ledger-table .data-table-row>span:first-child small{display:none}.rights-page.is-member-ledger .ledger-table .data-table-row>span:nth-child(2){display:none}.member-toolbar .member-sort-field,.member-toolbar .member-sort-field .select-control,.member-toolbar .member-sort-field .select-control select{width:100%}.list-toolbar .segmented button,.account-primary-tabs .segmented button,.account-role-bar .segmented button,.account-toolbar .segmented button{white-space:normal;flex:74px;min-width:0}.member-toolbar .segmented{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;height:auto;padding:0;display:grid}.member-toolbar .segmented button{white-space:nowrap;border-radius:7px;flex:none;width:100%;min-width:0;height:38px;font-size:13px}.segmented[data-count="2"],.segmented[data-count="3"],.segmented[data-count="4"],.student-segmented-control{gap:6px;width:100%;height:auto;padding:0;display:grid}.segmented[data-count="2"],.student-segmented-control[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.segmented[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented[data-count="2"]>button,.segmented[data-count="3"]>button,.segmented[data-count="4"]>button,.student-segmented-control button{white-space:nowrap;width:100%;min-width:0;height:38px}.account-primary-tabs{overflow:visible}.account-primary-tabs .segmented{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.account-primary-tabs .segmented button{width:100%;min-width:0}.record-tabs,.record-tabs.attendance-subject-tabs{background:0 0;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:6px;width:100%;min-height:0;padding:0;display:grid;overflow:visible}.record-tabs button,.record-tabs.attendance-subject-tabs button{width:100%;min-width:0;height:38px;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);white-space:nowrap;border-radius:6px;justify-content:center;padding:0 7px}.record-tabs button.is-active,.record-tabs.attendance-subject-tabs button.is-active{color:var(--green-900);background:var(--green-50);border-color:var(--green-100)}.record-tabs button.is-active:after{display:none}.student-tab-list,.record-tab-list{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid;overflow:visible}.student-tab-list button,.record-tab-list button{justify-content:center;width:100%;min-width:0;padding-inline:7px}.record-tabs[data-count="5"],.record-tab-list[data-count="5"]{grid-template-columns:repeat(6,minmax(0,1fr))}.record-tabs[data-count="5"]>button,.record-tab-list[data-count="5"]>button{grid-column:span 2}.record-tabs[data-count="5"]>button:nth-child(n+4),.record-tab-list[data-count="5"]>button:nth-child(n+4){grid-column:span 3}.week-calendar{flex-direction:column;grid-template-columns:1fr;gap:8px;min-height:0;padding:10px;display:flex;overflow:visible}.teacher-week-calendar .calendar-day-body,.student-week-calendar .calendar-day-body{min-height:0}.calendar-day{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head head""body body";align-items:center;gap:0;min-width:0;padding:14px 16px 12px;display:grid}.calendar-day.is-empty{grid-template-areas:"head empty";min-height:0;padding:14px 16px}.calendar-day:last-child{border-right:1px solid var(--line)}.calendar-day.is-today,.calendar-day.is-focused{background:var(--surface);border-color:var(--line)}.calendar-day>header{border-bottom:1px solid var(--line-soft);flex-direction:row;grid-area:head;justify-content:flex-start;align-items:center;gap:0;width:100%;height:auto;min-height:28px;padding:0 0 12px}.calendar-day.is-empty>header{border-bottom:0;padding-bottom:0}.calendar-day>header span{color:var(--ink);align-items:center;gap:6px;font-size:13px;font-weight:700;line-height:1;display:inline-flex}.calendar-day>header span em{color:inherit;font-size:inherit;font-style:normal;font-weight:inherit;line-height:inherit;margin:0;display:inline}.calendar-day.is-today>header span:before,.calendar-day.is-focused>header span:before{content:"";background:var(--green-700);border-radius:50%;flex:none;width:6px;height:6px}.calendar-day.is-focused>header span:before{background:var(--coral-700)}.calendar-day>header strong,.calendar-day.is-today>header strong{display:none}.calendar-day>header small{height:22px;color:var(--muted);background:var(--surface-muted);border-radius:999px;align-items:center;margin-left:auto;padding:0 8px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.calendar-day.is-empty>header small{display:none}.student-week-calendar .calendar-day>header small{background:var(--gold-500);border-radius:50%;width:6px;height:6px;margin:0 0 0 auto;padding:0}.student-week-calendar .calendar-day>header small.is-emptied{box-shadow:inset 0 0 0 1.5px var(--subtle);background:0 0}.calendar-day-body{grid-area:body;justify-content:flex-start;gap:8px;min-height:0;padding:12px 0 0}.calendar-day.is-empty .calendar-day-body{grid-area:empty;justify-content:center;align-items:center;min-height:0;padding:0}.calendar-empty{height:26px;color:var(--muted);background:var(--surface-muted);border:1px solid var(--line);border-radius:999px;align-items:center;margin:0;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.calendar-day.is-today>header span{color:var(--ink)}.week-calendar .lesson-block{box-sizing:border-box;flex-direction:column;align-items:stretch;gap:6px;width:100%;min-width:0;min-height:0;padding:10px 12px 10px 14px;display:flex;overflow:hidden}.week-calendar .lesson-block-head{justify-content:space-between;align-items:center;gap:8px;width:100%}.week-calendar .lesson-block>strong{overflow-wrap:anywhere;white-space:normal;width:100%;min-width:0;line-height:1.35;overflow:hidden}.week-calendar .lesson-block-meta,.week-calendar .lesson-block-status{flex-flow:wrap;align-items:center;gap:5px 8px;width:100%}.week-calendar .lesson-block-context{flex-wrap:wrap}.week-calendar .lesson-block-quota,.week-calendar .lesson-block>small{overflow-wrap:anywhere;white-space:normal;width:auto}.week-calendar .lesson-status-dot{display:none}.week-calendar .lesson-block.is-live .lesson-status-dot{display:block}.week-calendar .lesson-block-outcome{min-height:20px;padding:0 7px;font-size:11px}.week-calendar .student-lesson-block .lesson-block-outcome{background:0 0;min-height:0;padding:0;font-size:12px}.week-calendar .lesson-block-outcome.is-info{color:var(--blue-700);background:var(--blue-50)}.week-calendar .lesson-block-outcome.is-success{color:var(--green-900);background:var(--green-100)}.week-calendar .lesson-block-outcome.is-warning{color:var(--gold-700);background:var(--gold-50)}.app-shell .week-calendar .lesson-block-outcome.is-info{color:#c5d4e2;background:#7a93a838}.app-shell .week-calendar .lesson-block-outcome.is-warning{color:#efcf8a;background:#d2a04638}.week-calendar .lesson-block-outcome.is-danger{color:var(--red-700);background:var(--red-50)}.week-calendar .lesson-block-outcome.is-neutral{color:var(--ink-soft);background:var(--surface-muted)}.ledger-table{overflow:visible}.ledger-table .data-table-row{border:1px solid var(--card-line);border-radius:6px;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;width:auto;min-width:0;min-height:0;margin:10px;padding:12px;display:grid}.ledger-table .data-table-row>span{min-width:0}.ledger-table .data-table-row>span:first-child,.ledger-table .data-table-row>span:last-child{grid-column:1/-1}.ledger-table .data-table-row>span:last-child{overflow-wrap:anywhere;white-space:normal}.rights-page .ledger-table .data-table-row{border:0;border-bottom:1px solid var(--line);border-radius:0;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"time amount""member action""detail detail";gap:4px 12px;margin:0;padding:14px 12px}.rights-page .ledger-table .data-table-row>span:first-child,.rights-page .ledger-table .data-table-row>span:last-child{grid-column:auto}.rights-page .ledger-table .data-table-row>span:first-child{grid-area:time}.rights-page .ledger-table .data-table-row>span:nth-child(2){grid-area:member}.rights-page .ledger-table .data-table-row>span:nth-child(3){display:none}.rights-page .ledger-table .data-table-row>span:nth-child(4){grid-area:action;justify-self:end;align-items:flex-end}.rights-page .ledger-table .data-table-row>span:nth-child(5){grid-area:amount;justify-self:end;align-items:flex-end}.rights-page .ledger-table .data-table-row>span:nth-child(6){grid-area:detail}.rights-page.is-member-ledger .ledger-table .data-table-row{grid-template-areas:"time amount""detail action"}.student-course-picker{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;overflow:visible}.student-course-option{min-width:0;padding:10px}.theory-member-picker{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.theory-member-picker button{min-width:0;padding:8px}.student-course-option small{overflow-wrap:anywhere}.student-date-scroller{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;overflow:visible}.student-date-option{min-width:0}.teacher-schedule-actions,.theory-slot-actions{flex-wrap:wrap;justify-content:center;width:100%}.student-card-actions{flex-wrap:wrap;justify-content:flex-end;width:100%}}@media (width<=390px){.page-content{padding-inline:9px}.teacher-availability-overview-item{padding:11px 9px}.stat-grid{grid-template-columns:1fr 1fr}.stat-card{min-height:108px;padding:11px}.stat-note{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-booking-summary{display:none}.student-primary-button{width:100%}.practice-summary{grid-template-columns:1fr}.practice-summary>div:first-child{grid-column:auto}.course-record-confirmation-action .button{width:100%}}.salon-table .data-table-head,.salon-table .data-table-row{grid-template-columns:88px minmax(140px,1.3fr) minmax(180px,1.3fr) 96px 72px 110px auto}.salon-table .data-table-row small{color:var(--subtle);font-size:10px;display:block}.data-table-row.is-selected{background:var(--surface-soft)}.salon-detail,.salon-card{flex-direction:column;gap:14px;display:flex}.salon-card,.salon-home-item{--salon-accent:var(--green-700);--salon-ink:var(--green-900);--salon-wash:var(--green-50);--salon-line:var(--green-100);background:var(--surface);border:1px solid var(--card-line);box-shadow:var(--shadow-sm);border-radius:16px;position:relative;overflow:hidden}.salon-card{padding:0}.salon-card:before{content:"";background:var(--salon-accent);width:3px;position:absolute;inset:0 auto 0 0}.salon-card--theme,.salon-home-item--theme{--salon-accent:var(--salon-theme-accent);--salon-ink:var(--salon-theme-ink);--salon-wash:var(--salon-theme-wash);--salon-line:var(--salon-theme-line)}.salon-card--ticketed,.salon-home-item--ticketed{--salon-accent:var(--salon-ticketed-accent);--salon-ink:var(--salon-ticketed-ink);--salon-wash:var(--salon-ticketed-wash);--salon-line:var(--salon-ticketed-line)}.salon-card--open_class,.salon-home-item--open_class{--salon-accent:var(--salon-open-accent);--salon-ink:var(--salon-open-ink);--salon-wash:var(--salon-open-wash);--salon-line:var(--salon-open-line)}.salon-card--recital,.salon-home-item--recital{--salon-accent:var(--salon-recital-accent);--salon-ink:var(--salon-recital-ink);--salon-wash:var(--salon-recital-wash);--salon-line:var(--salon-recital-line)}.salon-card.is-canceled{--salon-accent:var(--salon-ticketed-accent);--salon-ink:var(--salon-ticketed-ink);--salon-wash:var(--salon-ticketed-wash);--salon-line:var(--salon-ticketed-line)}.salon-card__body{flex-direction:column;gap:14px;padding:16px 16px 16px 18px;display:flex}.salon-card__meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.salon-card__type,.salon-card__signup-state{border-radius:8px;align-items:center;min-height:24px;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.salon-card__type{color:var(--salon-ink);background:var(--salon-wash);border:1px solid var(--salon-line)}.salon-card__signup-state{color:var(--ink-400);background:var(--surface-soft);border:1px solid var(--line)}.salon-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.salon-fact{min-width:0;color:var(--muted);background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;align-items:flex-start;gap:10px;padding:11px 12px;display:flex}.salon-fact__icon{width:28px;height:28px;color:var(--salon-ink);background:var(--salon-wash);border-radius:8px;flex:none;place-items:center;display:grid}.salon-fact small{letter-spacing:.02em;font-size:10px;font-weight:700;display:block}.salon-fact strong{color:var(--ink);overflow-wrap:anywhere;margin-top:3px;font-size:13px;font-weight:700;line-height:1.4;display:block}.salon-notes,.salon-home-empty{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.salon-proxy,.salon-signup-list{color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;padding:12px}.salon-proxy{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.salon-signup-list{flex-direction:column;gap:8px;display:flex}.salon-signup-list h3{color:var(--ink);margin:0;font-size:13px}.salon-signup-row{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.salon-signup-row small{color:var(--subtle);font-size:10px;display:block}.salon-signup-row__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.salon-payment-dialog{text-align:center;flex-direction:column;gap:12px;display:flex}.salon-payment-amount{font-size:28px;line-height:1.2}.salon-payment-dialog p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.salon-payment-qr{background:var(--surface);border:1px solid var(--line);border-radius:12px;width:min(280px,100%);height:auto;margin:0 auto;display:block}.settings-qr-control{flex-direction:column;align-items:flex-end;gap:8px;min-width:180px;display:flex}.settings-qr-preview{object-fit:contain;background:var(--surface);border:1px solid var(--line);border-radius:12px;width:148px;height:220px;padding:8px}.salon-card-list,.salon-home-list{flex-direction:column;gap:12px;display:flex}.content-section .salon-card-list,.student-section .salon-card-list{padding:14px}button.salon-card{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;appearance:none;padding:0}.salon-card h2,.salon-home-item strong{min-width:0;color:var(--salon-ink);background:var(--salon-wash);border-radius:10px;margin:0;padding:8px 12px;font-size:17px;font-weight:780;line-height:1.4}.salon-card.is-focus{border-color:var(--salon-line);box-shadow:0 0 0 3px color-mix(in srgb, var(--salon-accent) 16%, transparent)}.salon-card__head,.salon-card__toggle,.salon-card__details{flex-direction:column;align-items:stretch;gap:10px;display:flex}.salon-card__details[hidden]{display:none}.salon-card.is-collapsed .salon-card__body{gap:10px}.salon-card.is-collapsed .salon-facts{gap:6px}.salon-card.is-collapsed .salon-fact{align-items:center;padding:8px 9px}.salon-card.is-collapsed .salon-fact small{display:none}.salon-card.is-collapsed .salon-fact strong{margin-top:0;font-size:12px}.salon-card.is-collapsed .salon-fact__icon{width:22px;height:22px}.salon-card__toggle{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.salon-card__toggle-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.salon-card__chevron{color:var(--salon-ink);flex:none;margin-top:2px;transition:transform .18s}.salon-card.is-expanded .salon-card__chevron{transform:rotate(180deg)}.salon-card__hint{color:var(--muted);margin:0;font-size:12px;font-weight:650;line-height:1.4}.salon-card__toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:10px}.salon-card__actions{grid-template-columns:1fr 1fr;align-items:stretch;gap:8px;display:grid}.salon-card__actions .button,.salon-card__actions .button-ghost,.salon-card__actions .button-danger-ghost{border-radius:12px;justify-content:center;width:100%;height:40px;min-height:40px;padding:0 10px}.salon-card__actions .button-ghost{color:var(--ink-soft);background:var(--surface);border:1px solid var(--line-strong)}.salon-card__actions .button-danger-ghost{color:var(--wine);border-color:var(--wine);background:0 0}.salon-card__actions .button-secondary{background:var(--surface);border-color:var(--line-strong)}.salon-status-chip{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:26px;padding:3px 10px;font-size:12px;font-weight:700;line-height:1.2;display:inline-flex}.salon-status-chip--paid{color:#fff;background:var(--green-900);border-color:var(--green-900)}.salon-status-chip--unpaid{color:var(--gold-700);background:var(--gold-50);border-color:var(--gold-100)}.salon-status-chip--signed{color:var(--blue-700);background:var(--blue-50);border-color:var(--blue-100)}.salons-page .standalone-toolbar{flex-direction:column;align-items:stretch;gap:10px;display:flex}.salons-page .segmented{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.salons-page .segmented button{width:100%}@media (width>=861px){.salons-page .standalone-toolbar{flex-direction:column;align-items:stretch}.salons-page .segmented,.salons-page .segmented[data-count="6"]{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.salons-page .segmented button{width:100%}}.salon-card__badges,.salon-row-actions,.salon-detail__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.salon-share-dialog{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex;position:relative}.salon-share-dialog p{color:var(--muted);margin:4px 0 0;font-size:13px}.salon-share-qr{background:var(--surface);border:1px solid var(--line);border-radius:12px;width:min(220px,100%);padding:10px}.salon-share-qr svg{width:100%;height:auto;display:block}.salon-share-poster-preload{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.salon-share-poster{width:min(280px,100%);margin:0}.salon-share-poster img{background:var(--surface);border:1px solid var(--line);border-radius:12px;width:100%;height:auto;display:block}.salon-share-poster figcaption{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.4;display:none}.salon-share-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;width:100%;display:flex}.salon-share-actions .button{flex:none}.salon-share-link{text-align:left;gap:6px;width:100%;display:grid}.salon-share-link span{color:var(--muted);font-size:12px}.salon-share-link input,.salon-share-text{width:100%}.salon-share-text{resize:vertical;min-height:7.5em;padding:10px 12px;line-height:1.6}.salon-home-item{text-align:left;cursor:pointer;flex-direction:column;gap:6px;width:100%;padding:0 14px 14px;display:flex;overflow:hidden}.salon-home-item__type{color:var(--salon-ink);background:var(--salon-wash);align-self:flex-start;margin:0 -14px 2px;padding:8px 14px;font-size:11px;font-weight:700;display:inline-flex}.salon-home-item small{color:var(--muted);font-size:11px}.salon-form textarea{resize:vertical;width:100%}@media (width<=860px){.salon-table .data-table-head{display:none}.salon-table .data-table-row{background:var(--surface);border:1px solid var(--card-line);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:12px;padding:0 14px 14px;display:grid;overflow:hidden}.salon-table .data-table-row>span{grid-column:1}.salon-table .data-table-row>span:first-child{background:var(--green-50);grid-column:1/-1;margin:0 -14px 4px;padding:10px 14px}.salon-table-row--theme>span:first-child{background:var(--salon-theme-wash)}.salon-table-row--ticketed>span:first-child{background:var(--salon-ticketed-wash)}.salon-table-row--open_class>span:first-child{background:var(--salon-open-wash)}.salon-table-row--recital>span:first-child{background:var(--salon-recital-wash)}.salon-table .data-table-row>span:nth-child(2){font-size:16px}.salon-table .data-table-row>span:last-child{grid-area:auto/1/auto/-1;justify-content:stretch}.salon-table .data-table-row>span:last-child .button{flex:1}.salon-facts{grid-template-columns:1fr 1fr;gap:8px}.salon-detail .section-heading{flex-direction:column;align-items:stretch;gap:12px}.salon-detail__summary-extra{display:none}.salon-detail__actions{grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.salon-proxy,.salon-signup-row,.salon-signup-row__actions{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.salon-card__actions{grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.salon-card__actions .button,.salon-detail__actions .button,.salon-signup-row__actions .button{justify-content:center;width:100%}.salons-page .list-toolbar.standalone-toolbar .segmented,.salons-page .list-toolbar.standalone-toolbar .segmented[data-count="6"]{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.salons-page .list-toolbar.standalone-toolbar .segmented>button,.salons-page .list-toolbar.standalone-toolbar .segmented[data-count="6"]>button{flex:none;grid-column:auto;width:100%}}@media (width<=680px){.month-report-toolbar .search-field{flex-basis:100%;width:100%;min-width:0}.month-report-toolbar .select-field{flex:auto}.month-report-toolbar .select-control,.month-report-toolbar .select-control select{width:100%;min-width:0}.month-report-toolbar .segmented,.month-report-toolbar .segmented[data-count="5"]{flex:100%;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-flow:row;width:100%;display:grid}.month-report-toolbar .segmented>button,.month-report-toolbar .segmented[data-count="5"]>button,.month-report-toolbar .segmented[data-count="5"]>button:nth-child(n+4){flex:none;grid-column:auto;min-width:0;padding:0 4px}}@media (width>=681px) and (width<=1080px){.admin-schedule-toolbar{grid-template-columns:minmax(0,1fr) minmax(132px,176px);align-items:center;gap:8px 10px}.admin-schedule-toolbar .week-switcher{grid-column:1/-1;justify-content:space-between;width:100%}.admin-schedule-filter-group{grid-column:1;width:100%}.admin-schedule-toolbar .admin-schedule-teacher,.admin-schedule-toolbar .select-field{grid-column:2;width:100%}.admin-schedule-filter-label,.admin-schedule-toolbar .field-label{display:none}.admin-schedule-toolbar .segmented{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-schedule-toolbar .segmented button,.admin-schedule-toolbar .segmented button:nth-child(n+4){grid-column:auto;width:100%;min-width:0;padding-inline:4px}}@media print{@page{size:A4;margin:13mm}html,body{background:#fff!important}body *{visibility:hidden!important}#print-root,#print-root *{visibility:visible!important}#print-root.print-root{color:#111;background:#fff;width:100%;display:block;position:absolute;top:0;left:0}.print-sheet{font-family:Microsoft YaHei,PingFang SC,sans-serif;font-size:10.5pt;line-height:1.6}.print-header{border-bottom:1.5pt solid var(--green-900);justify-content:space-between;align-items:center;padding-bottom:7mm;display:flex}.print-header>div{align-items:center;display:flex}.print-header>div>span{flex-direction:column;display:flex}.print-header strong{color:var(--green-900);font-size:15pt}.print-header small,.print-header>span{color:#666;font-size:8pt}.print-sheet>h1{text-align:center;margin:9mm 0 1mm;font-size:20pt}.print-number{color:#666;text-align:center;margin-bottom:8mm;font-size:8pt}.print-meta,.score-table,.print-list{border-collapse:collapse;width:100%}.print-meta th,.print-meta td,.score-table th,.score-table td,.print-list th,.print-list td{text-align:left;vertical-align:top;border:.7pt solid #c9c9c9;padding:2.5mm 3mm}.print-meta th,.score-table th,.print-list th{color:#44474b;background:#f5f5f5;font-weight:700}.print-sheet>section{break-inside:avoid;border:.7pt solid #d0d0d0;min-height:18mm;margin-top:5mm;padding:3.5mm}.print-sheet section h2{color:var(--green-900);margin-bottom:2mm;font-size:10pt}.print-sheet section p{white-space:pre-wrap}.print-two-column{grid-template-columns:1fr 1fr;gap:4mm;display:grid}.print-two-column section{break-inside:avoid;border:.7pt solid #d0d0d0;min-height:29mm;margin-top:5mm;padding:3.5mm}.print-signatures{break-inside:avoid;grid-template-columns:1fr 1fr;gap:6mm;margin-top:8mm;display:grid}.print-signatures>div{border-bottom:.7pt solid #909090;flex-direction:column;justify-content:center;align-items:center;min-height:27mm;display:flex}.print-signatures span{color:#666;align-self:flex-start;font-size:8pt}.print-signatures strong{margin:3mm 0 1mm;font-size:11pt}.print-signatures small{color:#777;font-size:7.5pt}.print-sheet>footer{color:#777;text-align:center;border-top:.7pt solid #bbb;margin-top:10mm;padding-top:3mm;font-size:7.5pt}.print-list{font-size:8pt}.print-list td small{color:#666;display:block}}
