@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.order-1{order:1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.resize{resize:both}.lowercase{text-transform:lowercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#241f28;--muted:#756e79;--line:#e8e3ea;--surface:#fff;--canvas:#f4f3f6;--teal:#7552b1;--teal-dark:#2b2034;--teal-soft:#f0eaf8;--accent-ink:#6545a5;--indigo:#7552b1;--orange:#e49a30;--danger:#d95757;--private-color:#e49a30;--private-soft:#fff0d8;--private-ink:#8a4600;--group-color:#7552b1;--shadow:0 14px 38px #2e1f3714}*{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}html,body{min-height:100%}body{background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Malgun Gothic,sans-serif;font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #2563eb47}svg{stroke-width:1.9px;width:19px;height:19px}.brand-lockup{align-items:center;gap:10px;display:flex}.classieum-mark{filter:drop-shadow(0 4px 5px #4c2b8f2e);flex:none;place-items:center;width:38px;height:38px;display:grid}.classieum-mark svg{width:100%;height:100%;overflow:visible}.classieum-ribbon{fill:none;stroke-width:120px;stroke-linecap:round;stroke-linejoin:round}.classieum-ribbon-highlight{fill:none;stroke-width:66px;stroke-linecap:round;opacity:.38}.classieum-node-ring{stroke:none}.classieum-node-ring.top{fill:#cf376b}.classieum-node-ring.bottom{fill:#5c3c9a}.brand-profile-image{object-fit:cover;border-radius:11px;flex:none;width:38px;height:38px}.brand-copy small,.brand-copy strong{display:block}.brand-copy small{color:#718087;margin-bottom:1px;font-size:13px}.brand-copy strong{letter-spacing:-.3px;font-size:17px}.login-page{background:#fff;grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.login-visual{color:#fff;background:radial-gradient(circle at 75% 25%,#4a90e259,#0000 32%),linear-gradient(145deg,#081a34,#164e9c);flex-direction:column;justify-content:space-between;padding:58px clamp(40px,7vw,104px);display:flex;position:relative;overflow:hidden}.login-visual:after{content:"";border:1px solid #ffffff26;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-170px;right:-150px;box-shadow:0 0 0 60px #ffffff0a,0 0 0 120px #ffffff08}.login-visual .brand-copy small{color:#c7d9f7}.login-visual .brand-copy strong{color:#fff}.login-visual .eyebrow{color:#b9d4ff;letter-spacing:.08em;font-size:15px;font-weight:800}.login-visual h2{letter-spacing:-2px;margin:18px 0;font-size:clamp(35px,3.6vw,50px);line-height:1.22}.login-visual>div>p:last-child{color:#cfddf4;max-width:500px;line-height:1.8}.login-panel{place-items:center;padding:32px;display:grid}.login-card{width:min(100%,410px)}.login-card>.brand-lockup{display:none}.login-card h1{letter-spacing:-1px;margin:0 0 8px;font-size:31px}.login-card .muted{color:var(--muted);margin:0 0 28px}.class-match-list{gap:10px;margin:20px 0 8px;display:grid}.class-match-option{border:1px solid var(--line);width:100%;min-height:72px;color:var(--ink);text-align:left;background:#fff;border-radius:12px;gap:4px;padding:14px 16px;transition:border-color .16s,background .16s,transform .16s;display:grid}.class-match-option:hover{border-color:var(--teal);background:var(--teal-soft);transform:translateY(-1px)}.class-match-option strong{font-size:16px}.class-match-option span{color:var(--muted);font-size:14px}.wide{justify-content:center;width:100%;min-height:50px;margin-top:10px}.primary,.secondary,.google,.approve,.reject,.today-button{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:9px 14px;font-weight:750;display:inline-flex}.primary{background:var(--teal);color:#fff;box-shadow:0 6px 16px #0f766e2e}.primary:hover{background:#0d6962}.secondary,.google,.today-button{color:#34434d;background:#fff;border-color:#d5dfe2}.secondary:hover,.google:hover{background:#f7f9fa}.divider{color:#98a3a9;align-items:center;gap:10px;margin:21px 0 11px;font-size:13px;display:flex}.divider:before,.divider:after{content:"";background:#e4e9eb;flex:1;height:1px}.text-button{color:var(--teal);background:0 0;border:0;margin:18px auto 0;font-weight:750;display:block}.notice{background:var(--teal-soft);color:#155e58;text-align:center;border-radius:8px;padding:10px 12px;font-size:14px}.login-card label,.modal-card label,.notes-card label{color:#52616b;gap:6px;margin:13px 0;font-size:14px;font-weight:700;display:grid}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #d6e0e3;border-radius:9px;padding:11px 12px}textarea{resize:vertical;min-height:105px}.signup-card h1{margin-top:20px}.center-page{background:linear-gradient(145deg,#edf7f5,#f7f9fa);place-items:center;min-height:100vh;padding:25px;display:grid}.pending-card{width:min(100%,520px);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:18px;padding:38px}.pending-card .brand-lockup{justify-content:center;margin-bottom:25px}.pending-icon{background:var(--teal-soft);width:62px;height:62px;color:var(--teal);border-radius:50%;place-items:center;margin:auto;font-size:32px;display:grid}.pending-card h1{font-size:27px}.pending-card p{color:var(--muted);line-height:1.8}.app-frame{background:var(--canvas);min-height:100vh}.app-loading{background:var(--canvas);min-height:100vh;color:var(--muted);place-content:center;justify-items:center;gap:18px;display:grid}.app-loading p{margin:0;font-size:15px}.sidebar{background:var(--teal-dark);color:#fff;z-index:30;flex-direction:column;width:224px;padding:23px 15px 17px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.sidebar .brand-copy small{color:#b2d4d6}.sidebar .brand-copy strong{color:#fff}.sidebar .classieum-mark{filter:drop-shadow(0 4px 7px #00000047)}.sidebar-head{justify-content:space-between;align-items:center;padding:0 8px;display:flex}.mobile-close{display:none!important}.side-nav{gap:5px;margin-top:31px;display:grid}.side-nav button{color:#cce0e2;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;width:100%;min-height:45px;padding:0 12px;display:flex}.side-nav button:hover,.side-nav button.active{color:#fff;background:#ffffff17}.side-nav em{color:#fff;background:#e25e58;border-radius:12px;margin-left:auto;padding:2px 7px;font-size:12px;font-style:normal}.sidebar-user{border-top:1px solid #ffffff1a;align-items:center;gap:9px;margin-top:auto;padding:16px 5px 0;display:flex}.avatar{color:#fff;background:#16847a;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-weight:850;display:grid}.avatar.small{width:31px;height:31px}.sidebar-user div{min-width:0}.sidebar-user strong,.sidebar-user small{white-space:nowrap;display:block}.sidebar-user strong{font-size:14px}.sidebar-user small{color:#aec8cc;margin-top:2px;font-size:12px}.sidebar-user .icon-button{color:#b9d2d4;margin-left:auto}.icon-button{width:38px;height:38px;color:inherit;background:0 0;border:0;border-radius:9px;place-items:center;padding:0;display:inline-grid;position:relative}.icon-button:hover{background:#7186911a}.icon-button.danger{color:var(--danger)}.app-main{min-height:100vh;margin-left:224px}.page{max-width:1480px;margin:auto;padding:28px clamp(22px,3vw,45px) 70px}.mobile-header,.mobile-bottom{display:none}.page-header{justify-content:space-between;align-items:center;gap:18px;min-height:58px;margin-bottom:18px;display:flex}.page-header h1{letter-spacing:-.7px;margin:0;font-size:27px}.page-header p{color:var(--muted);margin:5px 0 0;font-size:15px}.page-header .primary svg,.page-header .secondary svg{width:17px}.stats-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:17px;display:grid}.stats-grid article{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:15px 17px}.stats-grid small{color:var(--muted);font-size:13px}.stats-grid strong{margin-top:5px;font-size:25px;display:block}.stats-grid i{color:#7d8b94;margin-left:3px;font-size:13px;font-style:normal}.card,.calendar-card,.day-panel,.table-card,.request-card,.notification-list{border:1px solid var(--line);background:#fff;border-radius:13px}.dashboard-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.dashboard-page{max-width:1180px}.dashboard-page .card{box-shadow:0 12px 34px #1c34420f}.dashboard-month-nav{border:1px solid var(--line);background:var(--surface);border-radius:11px;align-items:center;gap:7px;min-height:42px;padding:3px;display:flex}.dashboard-month-nav strong{text-align:center;min-width:112px;font-size:14px}.dashboard-month-nav .icon-button{width:34px;height:34px}.monthly-overview{padding:23px}.analytics-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.analytics-heading>div>small{color:var(--teal);letter-spacing:.12em;margin-bottom:4px;font-size:11px;font-weight:850;display:block}.dashboard-page .analytics-heading h2{margin:0;font-size:21px}.analytics-heading p{color:var(--muted);margin:0;font-size:13px}.chart-legend{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.chart-legend i{border-radius:3px;width:9px;height:9px;margin-left:7px}.chart-legend i:first-child{margin-left:0}.chart-legend .private,.weekday-stack .private{background:var(--private-color)}.chart-legend .group,.weekday-stack .group{background:var(--group-color)}.monthly-overview-grid{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:stretch;gap:28px;display:grid}.monthly-kpi-hierarchy{gap:10px;display:grid}.monthly-total-kpi{color:#fff;background:linear-gradient(130deg, var(--teal-dark), var(--teal));border-radius:17px;min-height:126px;padding:22px 24px;position:relative;overflow:hidden}.monthly-total-kpi:after{content:"";border:24px solid #ffffff14;border-radius:50%;width:150px;height:150px;position:absolute;bottom:-70px;right:-45px}.monthly-total-kpi>span{color:#ffffffc2;font-size:13px;font-weight:800}.monthly-total-kpi strong{letter-spacing:-.06em;margin-top:4px;font-size:45px;line-height:1;display:block}.monthly-total-kpi strong small{color:#ffffffb8;letter-spacing:0;margin-left:5px;font-size:13px}.monthly-total-kpi p{color:#ffffffb8;margin:10px 0 0;font-size:12px}.monthly-type-metrics{grid-template-columns:1fr 1fr;gap:10px;display:grid}.monthly-type-metrics article{border:1px solid var(--line);background:var(--surface);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-height:72px;padding:13px 16px;display:flex}@supports (color:color-mix(in lab, red, red)){.monthly-type-metrics article{background:color-mix(in srgb, var(--surface) 90%, var(--canvas))}}.monthly-type-metrics article>span{color:var(--muted);align-items:center;gap:7px;font-size:12px;font-weight:750;display:flex}.monthly-type-metrics article>span i{border-radius:50%;width:8px;height:8px}.monthly-type-metrics article.private>span i{background:var(--private-color)}.monthly-type-metrics article.group>span i{background:var(--group-color)}.monthly-type-metrics strong{white-space:nowrap;letter-spacing:-.05em;font-size:25px}.monthly-type-metrics strong small{color:var(--muted);letter-spacing:0;margin-left:3px;font-size:11px}.lesson-donut-wrap{background:var(--canvas);border-radius:16px;place-items:center;min-height:206px;display:grid}@supports (color:color-mix(in lab, red, red)){.lesson-donut-wrap{background:color-mix(in srgb, var(--canvas) 72%, var(--surface))}}.lesson-donut{aspect-ratio:1;border-radius:50%;place-items:center;width:180px;display:grid;position:relative;box-shadow:0 15px 32px #1a394924}.lesson-donut:after{content:"";aspect-ratio:1;background:var(--surface);width:112px;box-shadow:inset 0 0 0 1px var(--line);border-radius:50%;position:absolute}.lesson-donut>div{z-index:1;text-align:center;position:relative}.lesson-donut strong,.lesson-donut small{display:block}.lesson-donut strong{letter-spacing:-.06em;font-size:36px;line-height:1}.lesson-donut small{color:var(--muted);margin-top:6px;font-size:12px;font-weight:750}.weekday-lesson-card{margin-top:15px;padding:23px 26px 20px}.weekday-chart-legend{color:var(--muted);gap:14px;font-size:12px;display:flex}.weekday-chart-legend span{align-items:center;gap:6px;display:inline-flex}.weekday-chart-legend i{background:var(--private-color);border-radius:4px;width:17px;height:7px}.weekday-chart-legend i.count{background:var(--teal);height:2px;position:relative}.weekday-chart-legend i.count:after{background:var(--teal);content:"";border-radius:50%;width:7px;height:7px;position:absolute;top:-2.5px;left:5px;box-shadow:0 2px 5px #2563eb4d}.weekday-combo-chart{position:relative}.weekday-chart{z-index:1;border-bottom:1px solid var(--line);background-image:repeating-linear-gradient(to top, transparent 0 49px, var(--line) 49px 50px);grid-template-columns:repeat(7,minmax(38px,1fr));align-items:end;column-gap:0;height:250px;padding:12px 10px 0;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.weekday-chart{background-image:repeating-linear-gradient(to top, transparent 0 49px, color-mix(in srgb, var(--line) 60%, transparent) 49px 50px)}}.weekday-column{grid-template-rows:24px minmax(0,1fr) 28px;place-items:end center;min-width:0;height:100%;display:grid}.weekday-column>strong{color:var(--muted);font-size:12px}.weekday-track{background:var(--line);border-radius:9px 9px 3px 3px;align-items:end;width:min(48px,72%);height:100%;display:flex;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.weekday-track{background:color-mix(in srgb, var(--line) 26%, transparent)}}.weekday-stack{border-radius:inherit;flex-direction:column;justify-content:flex-end;width:100%;min-height:2px;display:flex;overflow:hidden;box-shadow:0 7px 16px #1b3f531f}.weekday-stack i{width:100%;min-height:7px;display:block}.weekday-label{color:var(--ink);align-self:center;font-size:13px;font-weight:800}.weekday-line-chart{z-index:2;pointer-events:none;width:calc(100% - 20px);height:200px;position:absolute;top:22px;left:10px;overflow:visible}.weekday-line-chart polyline{fill:none;stroke:var(--teal);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 2px #2563eb24)}.weekday-line-chart circle{fill:var(--teal);stroke:none;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 3px #2563eb61)}.weekday-line-chart text{fill:var(--teal-dark);text-anchor:middle;paint-order:stroke;stroke:var(--surface);stroke-width:4px;vector-effect:non-scaling-stroke;font-size:13px;font-weight:850}.dashboard-requests{margin-top:15px;padding:20px 23px}.dashboard-requests .section-title h2{margin-bottom:2px}.dashboard-requests .section-title small{color:var(--muted);font-size:12px}.card{padding:17px}.card h2,.day-panel h2{margin:0 0 13px;font-size:17px}.section-title{justify-content:space-between;align-items:center;display:flex}.section-title button{color:var(--teal);background:0 0;border:0;font-size:13px;font-weight:750}.simple-row{border-top:1px solid #edf1f2;align-items:center;gap:11px;min-height:58px;padding:10px 2px;display:flex}.simple-row:first-of-type{border-top:0}.simple-row strong,.simple-row small{display:block}.simple-row strong{font-size:14px}.simple-row small{color:var(--muted);margin-top:3px;font-size:13px}.status-dot{background:#b7c0c5;border-radius:50%;flex:none;width:8px;height:8px}.status-dot.warning,.status-dot.pending{background:var(--orange)}.status-dot.approved{background:var(--teal)}.status-dot.rejected{background:var(--danger)}.calendar-layout{grid-template-columns:minmax(650px,1fr) 265px;gap:14px;display:grid}.calendar-card{overflow:hidden}.calendar-toolbar{border-bottom:1px solid var(--line);align-items:center;gap:14px;min-height:56px;padding:0 16px;display:flex}.calendar-toolbar>strong{font-size:19px}.calendar-toolbar>div{align-items:center;display:flex}.calendar-toolbar .today-button{min-height:32px;padding:4px 10px;font-size:13px}.calendar-legend{color:var(--muted);align-items:center;gap:10px;margin-left:auto;font-size:12px;display:flex}.calendar-legend>span{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.calendar-legend i{border-radius:50%;width:7px;height:7px;display:inline-block}.calendar-legend .private{background:var(--private-color)}.calendar-legend .group{background:var(--indigo)}.weekday-row,.month-grid{grid-template-columns:repeat(7,1fr);display:grid}.weekday-row span{color:#63727a;text-align:center;background:#fafcfc;padding:10px;font-size:15px;font-weight:750}.weekday-row span.holiday{color:#c43f4b;background:#fff7f8}.weekday-row span.saturday{color:#356fc1;background:#f5f9ff}.month-grid>.calendar-day{background:#fff;border-top:1px solid #edf1f2;border-right:1px solid #edf1f2;min-width:0;min-height:91px;padding:7px;overflow:hidden}.month-grid>.calendar-day:nth-child(7n){border-right:0}.month-grid>.calendar-day.clickable{cursor:pointer}.month-grid>.calendar-day.clickable:hover{background:#f5fbfa}.month-grid>.calendar-day.blank{background:#fafcfc}.month-grid>.calendar-day.selected{box-shadow:inset 0 0 0 2px var(--teal);background:#fbfefe}.calendar-day-number{background:0 0;border:0;padding:0;display:block}.calendar-day-number>b{place-items:center;width:26px;height:26px;font-size:15px;display:grid}.calendar-day.holiday .calendar-day-number:not(.today)>b{color:#c43f4b}.calendar-day.saturday .calendar-day-number:not(.today)>b{color:#356fc1}.holiday-label{color:#c43f4b;white-space:nowrap;text-overflow:ellipsis;margin:1px 0 2px;font-size:12px;font-weight:750;line-height:1.25;display:block;overflow:hidden}.calendar-day-number.today>b{color:#fff;background:var(--teal);border-radius:50%}.calendar-event{white-space:nowrap;text-overflow:ellipsis;text-align:left;border:0;border-left:3px solid;border-radius:4px;width:100%;margin-top:3px;padding:3px 4px;font-size:12px;display:block;overflow:hidden}.calendar-event small{opacity:.78;font-size:12px;font-weight:600}.calendar-event.private{background:var(--private-soft);border-color:var(--private-color);color:var(--private-ink)}.calendar-event.group{color:#56388f;background:#eee8fb;border-color:#8067b8}.day-panel{padding:16px}.lesson-list{display:grid}.lesson-row{border-top:1px solid #edf1f2;align-items:center;gap:9px;min-height:61px;padding:9px 0;display:flex}.lesson-row:first-child{border-top:0}.lesson-row time{color:var(--teal);flex:none;width:76px;font-size:12px;font-weight:800}.lesson-bar{background:var(--teal);border-radius:4px;width:4px;height:34px}.lesson-bar.private{background:var(--private-color)}.lesson-bar.group{background:var(--indigo)}.lesson-row>div{flex:1;min-width:0}.lesson-row strong,.lesson-row small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.lesson-row strong{font-size:13px}.lesson-row small{color:var(--muted);margin-top:3px;font-size:12px}.lesson-row-open{text-align:left;background:0 0;border:0;flex:1;grid-template-columns:76px 4px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:0;display:grid}.lesson-row-open>span{min-width:0}.lesson-row-open .lesson-comment{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.warning-box{color:#8f5b16;background:#fff5e7;border-radius:8px;padding:10px;font-size:12px}.empty{text-align:center;color:#87949b;padding:28px 10px}.empty svg{width:28px;height:28px}.empty p{font-size:13px}.day-panel{max-height:760px;overflow:auto}.day-panel-hint{color:var(--muted);margin:-7px 0 12px;font-size:12px}.time-slot-list{gap:5px;display:grid}.time-slot{color:#6f7f89;text-align:left;background:#fbfdfd;border:1px dashed #cfdadd;border-radius:8px;grid-template-columns:76px 1fr 18px;align-items:center;gap:7px;min-height:42px;padding:6px 9px;display:grid}.time-slot:hover{border-color:var(--teal);background:var(--teal-soft);color:var(--teal)}.time-slot time{font-size:12px;font-weight:800}.time-slot span{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.time-slot .session-number{opacity:.76;margin-top:2px;font-size:12px;font-weight:600;display:block}.time-slot svg{width:14px;height:14px}.time-slot.busy{cursor:pointer;border-style:solid}.time-slot.busy.private{border-color:var(--private-color);background:var(--private-soft);color:var(--private-ink)}.time-slot.busy.group{color:#56388f;background:#eee8fb;border-color:#aa96d6}.time-slot.busy.blocked,.time-slot.busy.blocked:hover{border-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.time-slot.busy.blocked,.time-slot.busy.blocked:hover{border-color:color-mix(in srgb, var(--muted) 48%, var(--line))}}.time-slot.busy.blocked,.time-slot.busy.blocked:hover{background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.time-slot.busy.blocked,.time-slot.busy.blocked:hover{background:color-mix(in srgb, var(--muted) 10%, var(--surface))}}.time-slot.busy.blocked,.time-slot.busy.blocked:hover{color:var(--muted);box-shadow:none;cursor:pointer;opacity:.88}.day-lessons{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.day-lessons h3{margin:0 0 6px;font-size:14px}.group-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.group-card{border:1px solid var(--line);background:#fff;border-radius:13px;padding:17px;box-shadow:0 7px 20px #1529340a}.group-card-head{justify-content:space-between;align-items:center;display:flex}.group-card-head>span{background:var(--teal-soft);width:40px;height:40px;color:var(--teal);border-radius:11px;place-items:center;display:grid}.group-card h2{margin:15px 0 7px;font-size:18px}.group-card p{color:#4d5d66;min-height:34px;margin:0 0 10px;font-size:13px;line-height:1.55}.group-card>small{color:var(--muted);font-size:12px}.student-picker{border:1px solid #d6e0e3;border-radius:10px;max-height:270px;margin:16px 0;padding:8px;overflow:auto}.student-picker legend{color:#52616b;padding:0 6px;font-size:14px;font-weight:750}.student-picker label{cursor:pointer;border-bottom:1px solid #edf1f2;grid-template-columns:none;align-items:center;gap:9px;margin:0;padding:9px;display:flex}.student-picker label:last-child{border-bottom:0}.student-picker input{width:17px;height:17px;accent-color:var(--teal);flex:none}.student-picker label>span:last-child{flex:1}.student-picker strong,.student-picker small{display:block}.student-picker strong{color:var(--ink);font-size:14px}.student-picker small{color:var(--muted);margin-top:2px;font-size:12px}.toolbar{margin-bottom:13px;display:flex}.student-page-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.student-compact-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.student-compact-list li{border:1px solid var(--line);background:var(--surface);border-radius:12px;overflow:hidden;box-shadow:0 5px 18px #1529340a}.student-compact-list li>button{width:100%;min-height:68px;color:var(--ink);text-align:left;background:0 0;border:0;grid-template-columns:40px minmax(0,1fr) auto 22px;align-items:center;gap:12px;padding:10px 15px;display:grid}.student-compact-list li>button:hover{background:var(--teal-soft)}@supports (color:color-mix(in lab, red, red)){.student-compact-list li>button:hover{background:color-mix(in srgb, var(--teal-soft) 45%, var(--surface))}}.student-compact-identity{min-width:0}.student-compact-identity strong,.student-compact-identity small,.student-compact-count small,.student-compact-count strong{display:block}.student-compact-identity strong{align-items:center;gap:6px;font-size:14px;display:flex}.student-compact-identity small{color:var(--muted);margin-top:2px;font-size:12px}.student-compact-count{text-align:right;min-width:72px}.student-compact-count small{color:var(--muted);font-size:10px}.student-compact-count strong{margin-top:1px;font-size:14px}.student-compact-list li>button>svg{width:17px;color:var(--muted)}.student-compact-list .avatar{border:1px solid var(--teal)}@supports (color:color-mix(in lab, red, red)){.student-compact-list .avatar{border:1px solid color-mix(in srgb, var(--teal) 42%, var(--line))}}.student-compact-list .avatar{background:linear-gradient(135deg, var(--teal), var(--group-color));box-shadow:0 7px 16px var(--teal);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.student-compact-list .avatar{box-shadow:0 7px 16px color-mix(in srgb, var(--teal) 18%, transparent)}}.student-detail-title .avatar{border:1px solid var(--teal)}@supports (color:color-mix(in lab, red, red)){.student-detail-title .avatar{border:1px solid color-mix(in srgb, var(--teal) 42%, var(--line))}}.student-detail-title .avatar{background:linear-gradient(135deg, var(--teal), var(--group-color));box-shadow:0 7px 16px var(--teal);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.student-detail-title .avatar{box-shadow:0 7px 16px color-mix(in srgb, var(--teal) 18%, transparent)}}.student-detail-card{width:min(92vw,540px)}.student-detail-title{align-items:center;gap:11px;display:flex}.student-detail-title h2,.student-detail-title p{margin:0}.student-detail-title h2{align-items:center;gap:8px;display:flex}.student-detail-title p{color:var(--muted);margin-top:2px;font-size:13px}.account-key-status{border-radius:999px;justify-content:center;align-items:center;width:25px;height:25px;display:inline-flex}.account-key-status svg{width:14px;height:14px}.account-key-status.completed{color:#087b54;background:#d9f7e9}.account-key-status.pending{color:#9a5a00;background:#fff0c8}.student-detail-grid{grid-template-columns:1fr 1fr;gap:9px;margin:18px 0;display:grid}.student-detail-grid>div{background:var(--canvas);border-radius:9px;padding:11px 13px}@supports (color:color-mix(in lab, red, red)){.student-detail-grid>div{background:color-mix(in srgb, var(--canvas) 65%, var(--surface))}}.student-detail-grid .wide{grid-column:1/-1;min-height:0;margin:0}.student-detail-grid dt{color:var(--muted);font-size:11px}.student-detail-grid dd{margin:3px 0 0;font-size:14px;font-weight:780}.student-detail-actions{border-top:1px solid var(--line);grid-template-columns:1fr 1fr auto;gap:8px;padding-top:15px;display:grid}.student-detail-actions :is(a,button){border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:8px 12px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.student-detail-actions .danger{border:1px solid var(--danger)}@supports (color:color-mix(in lab, red, red)){.student-detail-actions .danger{border:1px solid color-mix(in srgb, var(--danger) 45%, var(--line))}}.student-detail-actions .danger{color:var(--danger);background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.student-detail-actions .danger{background:color-mix(in srgb, var(--danger) 7%, var(--surface))}}.booking-ticket-manager{margin:4px 0 18px}.ticket-wallet-card{isolation:isolate;color:#fff;background:linear-gradient(145deg,#087d73 0%,#07565e 52%,#102f4e 100%);border:1px solid #ffffff3d;border-radius:22px;min-height:245px;padding:22px;position:relative;overflow:hidden;box-shadow:0 18px 42px #08414a40}.ticket-wallet-card:before,.ticket-wallet-card:after{content:"";background:var(--surface);z-index:-1;border-radius:999px;width:28px;height:28px;position:absolute;top:50%;transform:translateY(-50%)}.ticket-wallet-card:before{left:-15px}.ticket-wallet-card:after{right:-15px}.ticket-wallet-brand{border-bottom:1px dashed #ffffff75;justify-content:space-between;align-items:center;gap:12px;padding-bottom:15px;display:flex}.ticket-wallet-brand span{letter-spacing:.08em;align-items:center;gap:8px;font-size:12px;font-weight:850;display:inline-flex}.ticket-wallet-brand svg{width:19px;height:19px}.ticket-wallet-brand small{color:#ffffffc7;font-size:11px}.ticket-wallet-balances{grid-template-columns:repeat(3,1fr);gap:8px;padding:20px 0;display:grid}.ticket-wallet-balances div{border-right:1px solid #fff3;min-width:0;padding-right:8px}.ticket-wallet-balances div:last-child{border-right:0;padding-right:0}.ticket-wallet-balances small,.ticket-wallet-balances strong{display:block}.ticket-wallet-balances small{color:#ffffffc7;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:700;overflow:hidden}.ticket-wallet-balances strong{color:#fff;letter-spacing:-.04em;margin-top:5px;font-size:clamp(22px,5vw,30px);line-height:1}.ticket-wallet-actions{gap:8px;display:grid}.ticket-wallet-actions button{border-radius:11px;min-height:44px;font-weight:850}.ticket-manage-button{color:#064c51;background:#fff;border:1px solid #fff}.ticket-history-button{color:#fff;background:#ffffff1a;border:1px solid #ffffff73;justify-content:center;align-items:center;gap:7px;display:inline-flex}.ticket-history-button svg{width:17px;height:17px}.nested-modal-backdrop{z-index:1200}.ticket-management-modal,.ticket-history-modal,.ticket-issue-modal{width:min(92vw,520px)}.ticket-issue-primary{justify-content:center;align-items:center;gap:8px;min-height:52px;margin-top:16px;font-size:15px;display:inline-flex}.ticket-issue-primary svg{width:19px;height:19px}.ticket-issue-help{color:var(--muted);margin:8px 0 16px;font-size:12px;line-height:1.55}.ticket-active-batches{margin-top:20px}.ticket-active-batches h3{margin:0 0 9px;font-size:14px}.ticket-active-batches article{border:1px solid var(--line);background:var(--canvas);border-left:4px solid #168273;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin-top:9px;padding:14px;display:flex}@supports (color:color-mix(in lab, red, red)){.ticket-active-batches article{background:color-mix(in srgb, var(--canvas) 52%, var(--surface))}}.ticket-active-batches article.private{border-left-color:#3c78ad}.ticket-active-batches article.group{border-left-color:#9b6331}.ticket-batch-main{flex:1;min-width:0}.ticket-batch-main>span{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.ticket-batch-main strong{font-size:13px}.ticket-batch-main b{white-space:nowrap;font-size:18px}.ticket-batch-main small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.ticket-batch-main p{overflow-wrap:anywhere;color:var(--ink);margin:7px 0 0;font-size:11px;line-height:1.45}.ticket-active-batches button{min-height:36px;padding:6px 10px;font-size:11px}.ticket-active-batches .danger{color:#ae3d31;background:#fff7f5;border:1px solid #e0aaa2;border-radius:8px;font-weight:800}.ticket-empty-state{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:12px;padding:28px 12px}.ticket-revoke-policy{color:var(--muted);background:var(--canvas);border-radius:10px;margin:0 0 12px;padding:11px 12px}@supports (color:color-mix(in lab, red, red)){.ticket-revoke-policy{background:color-mix(in srgb, var(--canvas) 76%, var(--surface))}}.ticket-revoke-policy{word-break:keep-all;font-size:11px;line-height:1.55}.ticket-revoke-confirm{text-align:center;width:min(92vw,410px);padding:30px 28px 24px}.ticket-revoke-symbol{color:#a92f57;background:#fff0f5;border-radius:18px;place-items:center;width:58px;height:58px;margin:0 auto 16px;display:grid}.ticket-revoke-symbol svg{width:27px;height:27px}.ticket-revoke-confirm h2{color:var(--ink);letter-spacing:-.035em;word-break:keep-all;margin:0;font-size:21px}.ticket-revoke-confirm>p{color:var(--muted);word-break:keep-all;margin:12px 0 22px;font-size:13px;line-height:1.65}.ticket-revoke-actions{grid-template-columns:1fr 1fr;gap:9px;margin:0;display:grid}.ticket-revoke-actions button{justify-content:center;min-height:46px}.ticket-revoke-actions .danger{color:#fff;background:#a92f57;border:0}.ticket-issue-backdrop{padding-top:max(18px, env(safe-area-inset-top));padding-bottom:max(18px, env(safe-area-inset-bottom))}.ticket-issue-modal{width:min(94vw,620px);max-height:min(92dvh,900px);padding:0 28px calc(26px + env(safe-area-inset-bottom));background:var(--surface);border-radius:24px;overflow-y:auto}.ticket-issue-modal>.modal-close{z-index:3;float:right;color:var(--muted);background:var(--surface);margin:10px -14px -50px 0;position:sticky;top:10px}@supports (color:color-mix(in lab, red, red)){.ticket-issue-modal>.modal-close{background:color-mix(in srgb, var(--surface) 90%, transparent)}}.ticket-issue-modal>.modal-close{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ticket-issue-header{color:#fff;background:linear-gradient(135deg,#8f2448,#6545a5);align-items:center;gap:15px;margin:0 -28px 22px;padding:28px 64px 22px 28px;display:flex}.ticket-issue-icon{background:#ffffff21;border:1px solid #ffffff47;border-radius:16px;flex:none;place-items:center;width:52px;height:52px;display:grid}.ticket-issue-icon svg{width:25px}.ticket-issue-header small{color:#ffffffb8;letter-spacing:.12em;font-size:10px;font-weight:850}.ticket-issue-header h2{color:#fff;letter-spacing:-.04em;margin:2px 0 4px;font-size:24px}.ticket-issue-header p{color:#ffffffd6;margin:0;font-size:12px}.ticket-issue-header p strong{color:#fff}.ticket-issue-section{border:1px solid var(--line);background:var(--canvas);border-radius:16px;gap:13px;margin-top:18px;padding:18px;display:grid}@supports (color:color-mix(in lab, red, red)){.ticket-issue-section{background:color-mix(in srgb, var(--canvas) 58%, var(--surface))}}.ticket-issue-section-title{align-items:flex-start;gap:10px;display:flex}.ticket-issue-section-title>span{color:#fff;background:#6545a5;border-radius:8px;flex:none;place-items:center;width:25px;height:25px;font-size:11px;font-weight:900;display:grid}.ticket-issue-section-title h3{color:var(--ink);margin:0;font-size:15px}.ticket-issue-section-title p{color:var(--muted);margin:3px 0 0;font-size:11px;line-height:1.45}.ticket-type-native{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ticket-type-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.ticket-type-options button{border:1px solid var(--line);min-width:0;min-height:112px;color:var(--ink);background:var(--surface);text-align:left;border-radius:13px;flex-direction:column;align-items:flex-start;gap:5px;padding:13px 11px;display:flex;position:relative}.ticket-type-options button>span{color:#6545a5;background:#6545a5;border-radius:9px;place-items:center;width:31px;height:31px;display:grid}@supports (color:color-mix(in lab, red, red)){.ticket-type-options button>span{background:color-mix(in srgb, #6545a5 11%, var(--surface))}}.ticket-type-options button>span svg{width:16px}.ticket-type-options button>strong{font-size:12px}.ticket-type-options button>small{color:var(--muted);font-size:9px;line-height:1.4}.ticket-type-options button>svg{color:#6545a5;width:16px;position:absolute;top:10px;right:9px}.ticket-type-options button.selected{background:#6545a5;border-color:#6545a5}@supports (color:color-mix(in lab, red, red)){.ticket-type-options button.selected{background:color-mix(in srgb, #6545a5 7%, var(--surface))}}.ticket-type-options button.selected{box-shadow:0 0 0 2px #6545a524}.ticket-count-picker{border:0;grid-template-columns:repeat(4,1fr);gap:7px;margin:0;padding:0;display:grid}.ticket-count-picker legend{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.ticket-count-picker button{border:1px solid var(--line);min-height:42px;color:var(--ink);background:var(--surface);border-radius:10px;padding:8px 5px;font-weight:850}.ticket-count-picker button.selected{color:#503487;background:#6545a5;border-color:#6545a5}@supports (color:color-mix(in lab, red, red)){.ticket-count-picker button.selected{background:color-mix(in srgb, #6545a5 9%, var(--surface))}}.ticket-count-direct{color:var(--muted);grid-template-columns:auto minmax(0,150px);justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:800;display:grid}.ticket-count-direct>div{border:1px solid var(--line);background:var(--surface);border-radius:10px;align-items:center;display:flex}.ticket-count-direct input{text-align:right;background:0 0;border:0;width:100%;min-height:43px;font-weight:850}.ticket-count-direct b{color:var(--muted);padding-right:13px;font-size:12px}.ticket-note-section label{gap:7px;display:grid}.ticket-field-label{color:var(--muted);font-size:11px;font-weight:800}.ticket-note-section textarea{resize:vertical;min-height:74px}.ticket-issue-summary{color:#4e315c;background:linear-gradient(135deg,#fff0f5,#f4edfb);border-radius:14px;align-items:center;gap:12px;margin:16px 0 12px;padding:14px 16px;display:flex}.ticket-issue-summary>span{color:#8f2448;background:#fff;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.ticket-issue-summary svg{width:19px}.ticket-issue-summary small,.ticket-issue-summary strong,.ticket-issue-summary p{margin:0;display:block}.ticket-issue-summary small{letter-spacing:.06em;font-size:9px;font-weight:850}.ticket-issue-summary strong{color:#472552;margin-top:2px;font-size:14px}.ticket-issue-summary p{color:#765c7b;margin-top:2px;font-size:10px}.ticket-issue-submit{background:#a92f57;border:0;min-height:50px;font-size:14px;box-shadow:0 10px 24px #a92f5733}.ticket-issue-submit:hover{background:#8f2448}@media (max-width:620px){.ticket-issue-backdrop{align-items:end;padding:10px 0 0}.ticket-issue-modal{width:100%;max-height:94dvh;padding:0 16px calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}.ticket-issue-header{margin:0 -16px 18px;padding:23px 54px 19px 16px}.ticket-issue-icon{border-radius:14px;width:45px;height:45px}.ticket-issue-header h2{font-size:21px}.ticket-issue-section{border-radius:14px;gap:11px;padding:14px 12px}.ticket-type-options{grid-template-columns:1fr}.ticket-type-options button{grid-template-columns:34px minmax(0,1fr);align-content:center;column-gap:10px;min-height:66px;display:grid}.ticket-type-options button>span{grid-row:1/3}.ticket-type-options button>strong,.ticket-type-options button>small{grid-column:2}.ticket-count-direct{grid-template-columns:1fr}.ticket-count-direct>div{width:100%}.ticket-revoke-confirm{padding:26px 20px calc(20px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0}.ticket-revoke-backdrop{align-items:end;padding:0}}.ticket-ledger-list{gap:0;max-height:55vh;margin:14px 0 0;padding:0;list-style:none;display:grid;overflow-y:auto}.ticket-ledger-list li{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 2px;display:grid}.ticket-ledger-icon{color:#08704d;background:#dff7ec;border-radius:999px;justify-content:center;align-items:center;width:31px;height:31px;font-size:18px;font-weight:900;display:inline-flex}.ticket-ledger-icon.minus{color:#9b3e31;background:#ffe7e2}.ticket-ledger-list p{align-items:baseline;gap:7px;margin:0;display:flex}.ticket-ledger-list p span{color:var(--muted);font-size:11px}.ticket-ledger-list small{overflow-wrap:anywhere;color:var(--muted);margin-top:3px;font-size:10px;display:block}.ticket-ledger-list b{white-space:nowrap;font-size:14px}.student-page-actions>button,.file-upload-button{white-space:nowrap;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 12px;font-size:13px;font-weight:800;display:inline-flex}.file-upload-button{color:#40515a;cursor:pointer;background:#fff;border:1px solid #d1dcdf;border-radius:8px}.file-upload-button:hover{border-color:var(--teal);color:var(--teal)}.file-upload-button.disabled{cursor:wait;opacity:.65}.file-upload-button input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.file-upload-button svg{width:17px}.import-error{margin:-4px 0 13px}.search{border:1px solid var(--line);background:#fff;border-radius:9px;align-items:center;gap:8px;width:min(100%,390px);padding:0 11px;display:flex}.search svg{color:#839098;width:17px}.search input{border:0;padding-left:0}.table-card{overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th{color:#71808a;text-align:left;background:#f9fbfb;padding:12px 15px;font-size:12px}td{border-top:1px solid #eaf0f1;padding:13px 15px;font-size:13px}td>strong,td>small{display:block}td>small{color:var(--muted);line-height:1.55}.student-table table{min-width:1030px}.student-name-line{align-items:center;gap:6px;display:flex}.password-indicator{color:#9a661e;background:#fff1df;border-radius:50%;place-items:center;width:18px;height:18px;display:inline-grid}.password-indicator svg{width:11px;height:11px}.row-actions{gap:2px;display:flex}.row-actions .icon-button{width:31px;height:31px}.row-actions .install-sms-link{color:var(--teal);text-decoration:none}.row-actions .install-sms-link:hover{background:var(--teal-soft)}.row-actions svg{width:15px;height:15px}.confirm-card{text-align:center;max-width:410px}.confirm-card .warning-icon{width:54px;height:54px;color:var(--danger);background:#fdeaea;border-radius:50%;place-items:center;margin:0 auto 14px;display:grid}.confirm-card .warning-icon svg{width:25px;height:25px}.confirm-card h2{margin:0 0 10px}.confirm-card p{color:var(--muted);font-size:13px;line-height:1.65}.confirm-card .modal-actions{justify-content:center}.pill{color:#62717a;background:#edf1f2;border-radius:12px;padding:4px 8px;font-size:12px;font-weight:800;display:inline-block}.pill.approved{background:var(--teal-soft);color:#14675f}.pill.pending{color:#99621a;background:#fff1df}.pill.rejected{color:#a53e3e;background:#fdeaea}.inline-actions{gap:5px;display:flex}.approve,.reject{min-height:30px;padding:4px 9px;font-size:12px}.approve{background:var(--teal);color:#fff}.reject{color:var(--danger);background:#fff;border-color:#edcaca}.secondary.mini{min-height:30px;padding:4px 9px;font-size:12px}.attendance-register-layout{grid-template-columns:minmax(0,720px);justify-content:start;display:grid}.attendance-search{width:100%;margin:13px 0 8px}.attendance-sort-toggle{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0 0 10px;display:grid}.student-sort-toggle{width:min(100%,390px)}.attendance-sort-toggle button{border:1px solid var(--line);min-width:0;min-height:44px;color:var(--muted);background:var(--surface);white-space:nowrap;border-radius:8px;padding:5px 3px;font-size:11px;font-weight:750;line-height:1.2}.attendance-sort-toggle button[aria-pressed=true]{border-color:var(--teal);color:var(--accent-ink);background:var(--teal-soft);box-shadow:inset 0 0 0 1px var(--teal)}@supports (color:color-mix(in lab, red, red)){.attendance-sort-toggle button[aria-pressed=true]{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--teal) 30%, transparent)}}.attendance-student-results{border:1px solid var(--line);border-radius:10px;max-height:520px;overflow-y:auto}.attendance-student-results>button{border:0;border-bottom:1px solid var(--line);text-align:left;background:#fff;border-radius:0;align-items:center;gap:10px;width:100%;padding:11px;display:flex}.attendance-student-results>button:last-child{border-bottom:0}.attendance-student-results>button.selected{background:var(--teal-soft)}.attendance-student-results .attendance-student-avatar{border:1px solid var(--teal);width:36px;height:36px}@supports (color:color-mix(in lab, red, red)){.attendance-student-results .attendance-student-avatar{border:1px solid color-mix(in srgb, var(--teal) 42%, var(--line))}}.attendance-student-results .attendance-student-avatar{color:#fff;background:linear-gradient(135deg, var(--teal), var(--group-color));box-shadow:0 7px 16px var(--teal);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.attendance-student-results .attendance-student-avatar{box-shadow:0 7px 16px color-mix(in srgb, var(--teal) 18%, transparent)}}.attendance-student-results>button>span:nth-child(2){gap:2px;min-width:0;display:grid}.attendance-student-count{flex:none;margin-left:auto;font-weight:800;color:var(--accent-ink)!important}.attendance-student-results strong{font-size:14px}.attendance-student-results small{color:var(--muted);font-size:12px}.modal-backdrop.attendance-history-backdrop{padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.modal-card.attendance-history-modal{width:min(92vw,760px);max-height:calc(100dvh - max(32px, env(safe-area-inset-top)) - max(32px, env(safe-area-inset-bottom)));color:var(--ink);background:var(--surface);overflow-y:auto}.attendance-history-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding-bottom:16px;display:flex}.attendance-history-head>div:first-child{align-items:center;gap:10px;display:flex}.attendance-history-head h2,.attendance-history-head p{margin:0}.attendance-history-head h2{font-size:19px}.attendance-history-head p{color:var(--muted);margin-top:3px;font-size:12px}.attendance-history-actions{justify-items:end;gap:6px;display:grid}.attendance-summary{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.attendance-summary span,.attendance-status{border-radius:999px;padding:5px 8px;font-size:12px;font-weight:800}.attendance-summary .present,.attendance-status.present{color:#14675f;background:var(--teal-soft)}.attendance-summary .absent,.attendance-status.absent{color:#a63f3f;background:#fdeaea}.attendance-summary .unmarked,.attendance-status.unmarked{color:#66747c;background:#edf1f2}.theme-dark :is(.attendance-summary .present,.attendance-status.present){color:#93ead9;background:#173a42}.theme-dark :is(.attendance-summary .absent,.attendance-status.absent){color:#ffc4ca;background:#4a232c}.theme-dark :is(.attendance-summary .unmarked,.attendance-status.unmarked){color:#d4e0e7;background:#29384a}.attendance-history-list article{border-bottom:1px solid var(--line);grid-template-columns:135px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:72px;display:grid}.attendance-history-list article:last-child{border-bottom:0}.attendance-lesson-date strong,.attendance-lesson-date time,.attendance-lesson-copy strong,.attendance-lesson-copy small{display:block}.attendance-lesson-date strong,.attendance-lesson-copy strong{font-size:13px}.attendance-lesson-date time,.attendance-lesson-copy small{color:var(--muted);margin-top:3px;font-size:12px}.attendance-lesson-note{color:#596971;margin:6px 0 0;font-size:12px;line-height:1.55}.attendance-lesson-note b{color:var(--teal);margin-right:4px;font-size:11px}.theme-dark .attendance-lesson-note{color:#b9c5da}.theme-dark .attendance-lesson-note b{color:#d6c8ff}.request-grid{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.request-card{padding:16px}.request-head{align-items:center;gap:10px;display:flex}.request-head>div{flex:1}.request-head h2{margin:0;font-size:15px}.request-head p{color:var(--muted);margin:4px 0 0;font-size:12px}.request-icon{background:var(--teal-soft);width:37px;height:37px;color:var(--teal);border-radius:10px;place-items:center;display:grid}.request-icon.cancel{color:var(--danger);background:#fdeaea}.reason{background:#f8fafa;border-radius:9px;margin:13px 0;padding:11px}.reason small{color:var(--muted)}.reason p{margin:5px 0;font-size:13px}.request-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.request-actions button{width:100%;min-height:48px;font-size:16px}.notification-list{overflow:hidden}.notification-list article{border-top:1px solid #eaf0f1;align-items:center;gap:12px;min-height:78px;padding:14px 17px;display:flex;position:relative}.notification-list article:first-child{border-top:0}.notification-list article.read{opacity:.58}.notification-icon{background:var(--teal-soft);width:39px;height:39px;color:var(--teal);border-radius:50%;place-items:center;display:grid}.notification-list article>div{flex:1}.notification-list strong,.notification-list p,.notification-list small{display:block}.notification-list strong{font-size:14px}.notification-list p{color:#4d5d66;margin:4px 0;font-size:13px}.notification-list small{color:#8a969d;font-size:12px}.notification-list article>i{background:var(--teal);border-radius:50%;width:7px;height:7px}.request-compact-list,.notice-list{border:1px solid var(--line);background:var(--surface);border-radius:13px;overflow:hidden}.request-compact-list>[role=listitem]+[role=listitem],.notice-list>[role=listitem]+[role=listitem]{border-top:1px solid var(--line)}.request-compact-row,.notice-row{width:100%;min-height:72px;color:var(--ink);text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.request-compact-row:hover,.notice-row:hover{background:var(--teal-soft)}@supports (color:color-mix(in lab, red, red)){.request-compact-row:hover,.notice-row:hover{background:color-mix(in srgb, var(--teal-soft) 55%, transparent)}}.request-compact-copy,.notice-row>span:nth-child(2){gap:4px;min-width:0;display:grid}.request-compact-copy strong,.notice-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.request-compact-copy small,.notice-row small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px;overflow:hidden}.request-compact-row>svg,.notice-row>svg{width:18px;color:var(--muted)}.request-detail,.notice-detail,.notice-form{width:min(560px,100%)}.request-detail-grid{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;display:grid}.request-detail-grid>div{background:var(--canvas);border-radius:10px;padding:12px}.request-detail-grid .wide{grid-column:1/-1}.request-detail-grid dt{color:var(--muted);margin-bottom:5px;font-size:12px;font-weight:800}.request-detail-grid dd{margin:0;line-height:1.55}.notice-body{background:var(--canvas);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:11px;min-height:120px;margin:18px 0 0;padding:16px;line-height:1.75}.modal-backdrop{z-index:100;background:#0917209e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border-radius:16px;width:min(100%,520px);max-height:92vh;padding:22px;overflow:auto;box-shadow:0 24px 70px #00000040}.modal-backdrop.confirmation-modal-backdrop{place-items:center;padding:0}.modal-backdrop.confirmation-modal-backdrop>.modal-card{width:min(calc(100vw - max(16px, env(safe-area-inset-left), env(safe-area-inset-right)) - max(16px, env(safe-area-inset-left), env(safe-area-inset-right))), 410px);max-height:calc(100dvh - max(16px, env(safe-area-inset-top), env(safe-area-inset-bottom)) - max(16px, env(safe-area-inset-top), env(safe-area-inset-bottom)));border-radius:20px;overflow-y:auto}.modal-backdrop.confirmation-modal-backdrop>.ticket-revoke-confirm .ticket-revoke-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center;gap:10px;width:min(100%,280px);margin:22px auto 0;display:grid}.ticket-revoke-confirm .ticket-revoke-actions button{white-space:nowrap;border-radius:13px;justify-content:center;width:100%;min-width:0;min-height:48px;padding:10px 16px;font-size:15px;font-weight:850;line-height:1;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s}.ticket-revoke-confirm .ticket-revoke-actions .secondary{color:#344054;background:#fff;border:1px solid #d7dde5;box-shadow:0 4px 12px #0f172a12}.ticket-revoke-confirm .ticket-revoke-actions .secondary:hover{background:#f7f8fa;border-color:#b9c2ce}.ticket-revoke-confirm .ticket-revoke-actions .danger{color:#fff;background:linear-gradient(135deg,#b33461,#912447);border:1px solid #912447;box-shadow:0 8px 18px #9124473d}.ticket-revoke-confirm .ticket-revoke-actions .danger:hover{background:linear-gradient(135deg,#a42a55,#7d1f3e);box-shadow:0 10px 22px #9124474d}.ticket-revoke-confirm .ticket-revoke-actions button:active{box-shadow:none;transform:translateY(1px)}.ticket-revoke-confirm .ticket-revoke-actions button:focus-visible{outline-offset:2px;outline:3px solid #5267c9}.ticket-revoke-confirm .ticket-revoke-actions button:disabled{cursor:not-allowed;opacity:.58;box-shadow:none;transform:none}.import-result-card{width:min(100%,650px)}.import-summary{grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0;display:grid}.import-summary strong{color:#53636c;text-align:center;background:#f3f6f6;border-radius:9px;padding:13px 8px;font-size:14px}.import-summary strong.success{color:#14675f;background:var(--teal-soft)}.import-summary strong.error{color:#a63f3f;background:#fdeaea}.import-skipped{background:#f8fafa;border-radius:10px;max-height:240px;padding:13px;overflow:auto}.import-skipped h3{margin:0 0 8px;font-size:14px}.import-skipped ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.import-skipped li{color:#596970;font-size:12px;line-height:1.55}.import-skipped li strong{color:var(--ink)}.import-all-success{color:#14675f;background:var(--teal-soft);text-align:center;border-radius:9px;padding:14px;font-size:13px}.modal-title{justify-content:space-between;align-items:flex-start;display:flex}.modal-title h2{margin:0;font-size:22px}.modal-title h3{margin:0;font-size:20px}.modal-title p{color:var(--muted);margin:5px 0;font-size:13px}.lesson-type-picker{border:0;margin:16px 0 13px;padding:0}.lesson-type-picker legend{color:#52616b;margin-bottom:8px;font-size:14px;font-weight:800}.lesson-type-picker>div{grid-template-columns:1fr 1fr;gap:10px;display:grid}.lesson-type-picker button{border:2px solid var(--line);min-height:92px;color:var(--ink);text-align:left;background:#fff;border-radius:14px;align-items:center;gap:12px;padding:13px;display:flex}.lesson-type-picker button.private.selected{border-color:var(--private-color);background:#fff8ec;box-shadow:0 0 0 3px #e49a301f}.lesson-type-picker button.group.selected{border-color:var(--group-color);background:#f6f2fd;box-shadow:0 0 0 3px #7466c71f}.lesson-type-picker button>span:last-child{gap:3px;min-width:0;display:grid}.lesson-type-picker button strong{font-size:15px}.lesson-type-picker button small{color:var(--muted);font-size:11px;line-height:1.4}.lesson-type-visual{color:#9a570a;background:#fff0d8;border-radius:14px;flex:none;place-items:center;width:48px;height:48px;display:grid;position:relative}.lesson-type-picker .group .lesson-type-visual{color:#65479b;background:#eee8fb}.lesson-type-visual svg:first-child{width:25px;height:25px}.lesson-type-visual svg:last-child{background:inherit;border:2px solid #fff;border-radius:50%;width:19px;height:19px;padding:3px;position:absolute;bottom:-3px;right:-3px}.repeat-month-option{cursor:pointer;background:#fafcfc;border:1px solid #d6e0e3;border-radius:11px;align-items:center;min-height:58px;padding:10px 12px;grid-template-columns:none!important;gap:11px!important;display:flex!important}.repeat-month-option input{width:19px;height:19px;accent-color:var(--teal);flex:none;margin:0;padding:0}.repeat-month-option span{gap:2px;display:grid}.repeat-month-option strong{color:var(--ink);font-size:14px}.repeat-month-option small,.clock-preview{color:var(--muted);font-size:11px;font-weight:550}.clock-preview{color:#9a570a;margin-top:2px;display:block}.repeat-month-help{color:#596970;background:#f3f6f6;border-radius:8px;margin:-5px 0 12px;padding:9px 11px;font-size:12px}.nested-modal{z-index:180}.group-lesson-students-dialog{width:min(100%,540px)}.teacher-attendance-section .section-title .secondary{background:#fff;border:1px solid #d5dfe2;align-items:center;gap:5px;display:inline-flex}.teacher-attendance-section .section-title .secondary svg{width:15px}@media (max-width:600px){.lesson-form{padding:18px 15px}.lesson-type-picker>div{grid-template-columns:1fr}.lesson-type-picker button{min-height:72px}.lesson-type-visual{width:43px;height:43px}.lesson-form .form-grid{grid-template-columns:1fr}.teacher-attendance-section .section-title{align-items:flex-start;gap:8px}.teacher-attendance-section .section-title .secondary{flex:none}}.student-select-field{margin:13px 0}.student-select-field>span{color:#52616b;margin-bottom:6px;font-size:14px;font-weight:700;display:block}.student-select-trigger{text-align:left;background:#fff;border:1px solid #d6e0e3;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;display:flex}.student-select-trigger>span{gap:2px;display:grid}.student-select-trigger strong{color:var(--ink);font-size:14px}.student-select-trigger small{color:var(--muted);font-size:12px}.student-select-trigger svg{width:18px;color:var(--teal)}.student-picker-backdrop{z-index:140;background:#0917207a;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.student-search-dialog{background:#fff;border-radius:16px;width:min(100%,430px);max-height:min(680px,88vh);padding:20px;overflow:hidden;box-shadow:0 24px 70px #00000047}.student-search-input{margin:14px 0 10px!important}.student-search-input>div{position:relative}.student-search-input svg{width:17px;color:var(--teal);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.student-search-input input{padding-left:38px}.student-search-results{border:1px solid var(--line);border-radius:10px;max-height:360px;overflow-y:auto}.student-search-results>button{border:0;border-bottom:1px solid var(--line);text-align:left;background:#fff;border-radius:0;align-items:center;gap:10px;width:100%;padding:11px;display:flex}.student-search-results>button:last-of-type{border-bottom:0}.student-search-results>button.selected{background:#edf8f6}.student-search-results>button>span:nth-child(2){flex:1;gap:2px;display:grid}.student-search-results strong{font-size:14px}.student-search-results small{color:var(--muted);font-size:12px}.student-search-results svg{width:17px;color:var(--teal)}.form-grid{grid-template-columns:1fr 1fr;gap:0 10px;display:grid}.form-error{color:#a63f3f;background:#fdeaea;border-radius:8px;padding:9px;font-size:13px}.modal-actions{justify-content:flex-end;gap:7px;margin-top:18px;display:flex}.toast{z-index:150;color:#fff;box-shadow:var(--shadow);background:#17272e;border-radius:10px;align-items:center;gap:8px;padding:11px 16px;font-size:14px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.toast svg{color:#7ee0d3}.student-app{background:var(--canvas);min-height:100vh}.student-app>header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:70px;padding:0 clamp(18px,5vw,60px);display:flex}.student-app>header>div{gap:5px;display:flex}.student-app>main{max-width:1050px;margin:auto;padding:37px 25px 70px}.student-greeting p{color:var(--teal);margin:0 0 7px;font-weight:800}.student-greeting h1{letter-spacing:-1.5px;margin:0 0 25px;font-size:36px;line-height:1.25}.next-lesson{color:#fff;background:radial-gradient(circle at 90% 10%, #ffffff26, transparent 30%), linear-gradient(135deg, var(--teal-dark), var(--teal));border-radius:17px;padding:25px;box-shadow:0 15px 32px #0f4e582e}.next-lesson>small{color:#aee2dc}.next-lesson h2{margin:7px 0;font-size:25px}.next-lesson>p{color:#cbe3e0}.lesson-summary{background:#ffffff1c;border:1px solid #ffffff26;border-radius:11px;gap:11px;margin:17px 0;padding:13px;display:flex}.lesson-summary p{color:#d7e9e7;margin:4px 0 0;font-size:13px}.student-action{min-height:43px;color:var(--teal);background:#fff;border:0;border-radius:9px;padding:8px 13px;font-weight:800}.student-cards{grid-template-columns:repeat(2,1fr);gap:12px;margin:17px 0 25px;display:grid}.student-cards button{min-width:0;color:var(--ink);border:1px solid var(--line);text-align:left;background:#fff;border-radius:12px;padding:16px;transition:transform .16s,box-shadow .16s;position:relative}.student-cards button:hover{transform:translateY(-2px);box-shadow:0 10px 24px #1c39481f}.student-cards button:focus-visible{outline:3px solid var(--teal)}@supports (color:color-mix(in lab, red, red)){.student-cards button:focus-visible{outline:3px solid color-mix(in srgb, var(--teal) 48%, transparent)}}.student-cards button:focus-visible{outline-offset:2px}.student-cards button>svg:last-child{width:18px;color:var(--muted);position:absolute;top:50%;right:14px;transform:translateY(-50%)}.student-cards svg{color:var(--teal)}.student-cards small,.student-cards strong{display:block}.student-cards small{color:var(--muted);margin-top:13px}.student-cards strong{margin-top:5px}.student-section{border:1px solid var(--line);background:#fff;border-radius:13px;margin-top:18px;padding:17px}.student-section h2{margin:0 0 10px;font-size:17px}.login-help{color:var(--muted);text-align:center;margin:15px 0 0;font-size:12px;line-height:1.55}.credential-preview{color:#145d58;background:var(--teal-soft);border:1px solid #c6e4df;border-radius:10px;align-items:center;gap:11px;margin-top:16px;padding:13px;display:flex}.credential-preview svg{flex:none;width:22px}.credential-preview strong,.credential-preview p{margin:0;display:block}.credential-preview strong{font-size:14px}.credential-preview p{margin-top:3px;font-size:12px;line-height:1.5}.account-section .section-title{margin-bottom:13px}.account-section .section-title .secondary{align-items:center;gap:6px;display:inline-flex}.push-checkbox{border:1px solid var(--line);min-height:38px;color:var(--ink);cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:7px;padding:8px 11px;font-size:13px;font-weight:700;display:inline-flex}.push-checkbox input{appearance:auto;width:16px;height:16px;accent-color:var(--teal);margin:0;padding:0}.push-checkbox:has(input:disabled){opacity:.65;cursor:wait}.account-section .section-title svg{width:16px;height:16px}.account-readonly{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.account-readonly>div{background:#f5f8f8;border-radius:9px;padding:11px}.account-readonly small,.account-readonly strong{margin:0;display:block}.account-readonly small{color:var(--muted);font-size:12px}.account-readonly strong{margin-top:5px;font-size:13px}.account-section>p{color:var(--muted);margin:10px 0 0;font-size:12px}.student-notice-button{position:relative}.unread-notice-indicator{box-sizing:content-box;background:#e53935;border:2px solid;border-radius:50%;width:9px;height:9px;position:absolute;top:7px;right:7px}.notification-icon{position:relative}.notice-unread-dot{width:8px;height:8px;box-shadow:0 0 0 2px var(--surface);background:#e53935;border-radius:50%;position:absolute;top:-2px;right:-2px}.notice-row.unread strong{font-weight:900}.student-request-history>.section-title{align-items:center;margin-bottom:3px}.student-request-history>.section-title h2{margin:0}.student-request-row{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:14px 4px;display:grid}.student-request-row:first-child{border-top:0}.student-request-copy>div:first-child{justify-content:space-between;align-items:center;gap:12px;display:flex}.student-request-copy>div:first-child small{color:var(--muted)}.student-request-copy dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 0;display:grid}.student-request-copy dl>div{background:var(--teal-soft);border-radius:8px;min-width:0;padding:9px 10px}@supports (color:color-mix(in lab, red, red)){.student-request-copy dl>div{background:color-mix(in srgb, var(--teal-soft) 45%, transparent)}}.student-request-copy dt{color:var(--muted);font-size:11px}.student-request-copy dd{margin:4px 0 0;font-size:12px;font-weight:750;line-height:1.45}.student-main-nav{border-bottom:1px solid var(--line);background:#fff;justify-content:center;gap:6px;min-height:52px;padding:0 clamp(18px,5vw,60px);display:flex}.student-main-nav button{min-width:110px;color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:0 16px;font-weight:800}.student-main-nav button.active{color:var(--teal);border-bottom-color:var(--teal)}.student-section .section-title>div>h2{margin-bottom:3px}.student-section .section-title>div>small{color:var(--muted)}.more-lessons{min-width:76px}.student-lesson-list{display:grid}.student-lesson-item{border:0;border-top:1px solid var(--line);width:100%;min-height:74px;color:var(--ink);text-align:left;background:0 0;border-left:4px solid #0000;grid-template-columns:190px 1fr;align-items:center;gap:18px;padding:12px 10px;display:grid}button.student-lesson-item{cursor:pointer;transition:transform .16s,box-shadow .16s}button.student-lesson-item:hover{transform:translateY(-1px);box-shadow:0 7px 18px #1c394817}.student-lesson-item.private{background:linear-gradient(90deg,#fff8ec,#0000 42%);border-left-color:#d97706}.student-lesson-item.group{background:linear-gradient(90deg,#f6f2fd,#0000 42%);border-left-color:#7653b5}.student-lesson-item:first-child{border-top:0}.student-lesson-date{align-items:center;gap:10px;display:flex}.student-lesson-date>svg{box-sizing:border-box;width:30px;height:30px;color:var(--teal);background:var(--teal-soft);border-radius:9px;padding:7px}.student-lesson-date strong,.student-lesson-date time,.student-lesson-copy strong,.student-lesson-copy small{display:block}.student-lesson-date strong{font-size:14px}.student-lesson-date time{color:var(--teal);margin-top:4px;font-size:13px;font-weight:800}.student-lesson-copy small{color:var(--muted);margin-top:4px}.student-empty{color:var(--muted);text-align:center;background:#f6f9f9;border-radius:10px;margin:8px 0;padding:24px}.student-view-page{max-width:1050px;margin:auto;padding:32px 25px 70px}.student-view-heading{justify-content:space-between;align-items:flex-end;margin-bottom:18px;display:flex}.student-view-heading small{color:var(--teal);font-weight:800}.student-view-heading h1{margin:4px 0 0;font-size:30px}.student-view-heading>strong{color:var(--muted)}.student-month-nav{align-items:center;gap:8px;display:flex}.student-month-nav strong{text-align:center;min-width:88px;color:var(--ink)}.student-month-nav .icon-button{border:1px solid var(--line);background:#fff}.student-lesson-legend{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin:-8px 0 12px;padding:0;list-style:none;display:flex}.student-lesson-legend li{color:var(--muted);align-items:center;gap:5px;font-size:12px;font-weight:700;display:flex}.student-lesson-legend i{border-radius:50%;width:10px;height:10px}.student-lesson-legend i.private{background:var(--private-color)}.student-lesson-legend i.group{background:var(--indigo)}.student-calendar,.student-history{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.student-calendar-weekdays,.student-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.student-calendar-weekdays span{color:#63727a;text-align:center;background:#f8fafa;min-width:0;padding:11px 0;font-size:15px;font-weight:750}.student-calendar-weekdays span.holiday{color:#c43f4b;background:#fff7f8}.student-calendar-weekdays span.saturday{color:#356fc1;background:#f5f9ff}.student-calendar-grid>div{border-top:1px solid var(--line);border-right:1px solid var(--line);min-width:0;min-height:104px;padding:8px}.student-calendar-grid>div:nth-child(7n){border-right:0}.student-calendar-grid>button{border:0;border-top:1px solid var(--line);border-right:1px solid var(--line);min-width:0;min-height:104px;color:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:0;padding:8px}.student-calendar-grid>button:nth-child(7n){border-right:0}.student-calendar-grid>button:disabled{cursor:default}.student-calendar-grid>button.selected{box-shadow:inset 0 0 0 2px var(--teal);background:#e8f6f1}.student-calendar-grid>button.today>b{color:#fff;background:var(--teal)}.student-calendar-grid>button.holiday:not(.today)>b{color:#c43f4b}.student-calendar-grid>button.saturday:not(.today)>b{color:#356fc1}.student-calendar-grid>div.today>b{color:#fff;background:var(--teal)}.student-calendar-grid>div.holiday:not(.today)>b{color:#c43f4b}.student-calendar-grid>div.saturday:not(.today)>b{color:#356fc1}.student-calendar-grid b{border-radius:50%;place-items:center;width:26px;height:26px;font-size:15px;display:grid}.student-calendar-grid>button i.calendar-lesson-icon{vertical-align:top;border-radius:50%;width:7px;height:7px;margin:1px 1px 0 0;display:inline-block}.student-calendar-grid>button i.private{background:var(--private-color)}.student-calendar-grid>button i.group{background:var(--indigo)}.student-public-timetable{margin-top:28px}.student-public-timetable .time-slot.own-lesson{border-width:3px;border-color:currentColor}@supports (color:color-mix(in lab, red, red)){.student-public-timetable .time-slot.own-lesson{border-color:color-mix(in srgb, currentColor 72%, var(--line))}}.student-public-timetable .time-slot.own-lesson{box-shadow:0 4px 12px #1b3f461a}.student-public-timetable .time-slot.past{min-height:51px;color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.student-public-timetable .time-slot.past{color:color-mix(in srgb, var(--muted) 72%, transparent)}}.student-public-timetable .time-slot.past{background:var(--canvas)}@supports (color:color-mix(in lab, red, red)){.student-public-timetable .time-slot.past{background:color-mix(in srgb, var(--canvas) 58%, transparent)}}.student-public-timetable .time-slot.past{cursor:default}.student-calendar-event{text-align:left;border:1px solid #0000;border-radius:6px;width:100%;margin-top:5px;padding:5px;font-size:12px;font-weight:800;display:block}.student-calendar-event time,.student-calendar-event small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.student-calendar-event small{margin-top:2px;font-weight:500}.student-calendar-event.private{color:#8a4600;background:#fff0d8;border-color:#f0b564}.student-calendar-event.group{color:#56388f;background:#eee8fb;border-color:#aa96d6}.student-lesson-detail .modal-title h2,.teacher-lesson-detail .modal-title h2{margin-top:8px}.student-lesson-detail,.student-request-modal{border-top:5px solid #0f766e;overflow-y:auto}.student-request-modal{position:relative}.student-request-modal .modal-head{padding-right:46px}.student-request-modal .modal-head>.icon-button{position:absolute;top:18px;right:18px}.student-lesson-detail.private,.student-request-modal.private{border-top-color:#d97706}.student-lesson-detail.group,.student-request-modal.group{border-top-color:#7653b5}.request-datetime-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.request-availability{background:#f3f8f8;border:1px solid #cbdde1;border-radius:11px;gap:9px;padding:13px 14px;display:grid}.request-availability>strong{font-size:14px}.request-availability p{color:var(--muted);margin:0;font-size:13px}.request-availability ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.request-availability li{background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:13px;display:flex}.request-availability li time{color:var(--ink);font-weight:850}.request-availability li span{color:#76530a;font-size:12px;font-weight:750}.request-error{margin:0}.group-request-notice{color:#56388f;background:#f6f2fd;border:1px solid #cfc5e8;border-radius:10px;margin:16px 0 0;padding:12px 14px;font-size:13px;font-weight:750;line-height:1.55}.detail-request-action{width:100%;margin-top:16px}.detail-request-action.pending:disabled{cursor:wait;opacity:1;color:#49606d;box-shadow:none;background:#e9eff2}.student-attendance-status{border-radius:999px;width:fit-content;margin-top:8px;padding:4px 8px;font-size:12px;font-weight:850;display:inline-flex}.student-attendance-status.present{color:#14633d;background:#e1f5e9}.student-attendance-status.absent{color:#a2343f;background:#fde8eb}.student-attendance-status.unchecked{color:#687984;background:#edf1f3}.student-lesson-item.private .student-lesson-date>svg{color:#a45b08;background:#fff0d8}.student-lesson-item.group .student-lesson-date>svg{color:#65479b;background:#eee8fb}.next-lesson.private{background:radial-gradient(circle at 90% 10%,#ffffff26,#0000 30%),linear-gradient(135deg,#8a4600,#d97706)}.next-lesson.group{background:radial-gradient(circle at 90% 10%,#ffffff26,#0000 30%),linear-gradient(135deg,#493078,#7653b5)}.lesson-type-badge{border-radius:999px;padding:5px 8px;font-size:12px;font-weight:800;display:inline-flex}.lesson-type-badge.private{color:#8a4600;background:#fff0d8}.lesson-type-badge.group{color:#56388f;background:#eee8fb}.student-lesson-detail dl,.teacher-lesson-detail dl{grid-template-columns:1fr 1fr;gap:9px;margin:18px 0;display:grid}.student-lesson-detail dl>div,.teacher-lesson-detail dl>div{background:#f5f8f8;border-radius:10px;padding:12px}.student-lesson-detail dt,.teacher-lesson-detail dt{color:var(--muted);font-size:12px}.student-lesson-detail dd,.teacher-lesson-detail dd{margin:4px 0 0;font-size:15px;font-weight:800}.teacher-lesson-detail{border-top:4px solid var(--private-color);overflow-y:auto}.teacher-lesson-detail.private{border-top-color:var(--private-color)}.teacher-lesson-detail.group{border-top-color:var(--indigo)}.teacher-lesson-detail.private .session-count-panel{background:#fff9ef;border-color:#f0c68e}.teacher-lesson-detail.private .session-count-panel strong{color:#9a570a}.teacher-lesson-detail.group .session-count-panel{background:#f8f5fd;border-color:#cfc5e8}.teacher-lesson-detail.group .session-count-panel strong{color:#65479b}.lesson-notes-section{margin:0 0 18px}.lesson-notes-section .section-title{margin-bottom:8px}.lesson-notes-section h3{margin:0;font-size:17px}.lesson-notes-section .secondary.mini{align-items:center;gap:5px;display:inline-flex}.lesson-notes-section .secondary.mini svg{width:13px;height:13px}.lesson-notes-view{grid-template-columns:1fr 1fr;gap:8px;display:grid}.lesson-notes-view.single{grid-template-columns:1fr}.lesson-notes-view article{border:1px solid var(--line);background:#fbfdfd;border-radius:10px;min-width:0;padding:11px}.lesson-notes-view h4{margin:0 0 6px;font-size:13px}.lesson-notes-view h4 small{color:var(--muted);margin-left:4px;font-size:12px;font-weight:700}.lesson-notes-view p{color:#53636c;overflow-wrap:anywhere;min-height:34px;margin:0;font-size:12px;line-height:1.55}.lesson-notes-form{border:1px solid var(--line);background:#fbfdfd;border-radius:10px;gap:9px;padding:11px;display:grid}.lesson-notes-form label{color:#52616b;gap:5px;font-size:12px;font-weight:800;display:grid}.lesson-notes-form textarea{resize:vertical;width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #d6e0e3;border-radius:8px;padding:9px;line-height:1.5}.lesson-notes-form textarea:focus{outline:2px solid var(--teal)}@supports (color:color-mix(in lab, red, red)){.lesson-notes-form textarea:focus{outline:2px solid color-mix(in srgb, var(--teal) 24%, transparent)}}.lesson-notes-form textarea:focus{border-color:var(--teal)}.lesson-notes-form .inline-actions{justify-content:flex-end;gap:7px;display:flex}.lesson-detail-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;margin-top:16px;padding-top:13px;display:flex}.lesson-detail-actions :is(.secondary,.reject){justify-content:center;align-items:center;gap:6px;min-height:36px;padding:7px 12px;display:inline-flex}.lesson-detail-actions svg{width:14px;height:14px}.lesson-reschedule-form{width:min(100%,480px)}.session-count-panel{border:1px solid var(--line);background:#fbfdfd;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:-2px 0 18px;padding:10px 12px;display:flex}.session-count-panel small,.session-count-panel strong{display:block}.session-count-panel small{color:var(--muted);font-size:12px}.session-count-panel strong{color:var(--teal);margin-top:2px;font-size:14px}.detail-session-number{color:var(--muted);margin-top:5px;font-size:12px;font-weight:750;display:block}.teacher-attendance-section{padding-top:2px}.teacher-attendance-section .section-title{margin-bottom:4px}.teacher-attendance-section h3{margin:0;font-size:17px}.teacher-attendance-section .section-title small{color:var(--muted);font-size:12px}.teacher-attendance-list{border:1px solid var(--line);border-radius:11px;overflow:hidden}.teacher-attendance-row{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:64px;padding:9px 11px;display:grid}.teacher-attendance-row:last-child{border-bottom:0}.teacher-attendance-row strong,.teacher-attendance-row small{display:block}.teacher-attendance-row strong{font-size:14px}.teacher-attendance-row small{color:var(--muted);margin-top:3px;font-size:12px}.attendance-actions{gap:5px;display:flex}.attendance-actions button{background:#fff;border:1px solid #d8e1e4;border-radius:7px;min-height:32px;padding:5px 10px;font-size:12px;font-weight:800}.attendance-actions button.present{color:#14675f;background:var(--teal-soft);border-color:#bcded9}.attendance-actions button.absent{color:#ad4040;background:#fdeaea;border-color:#f0c6c6}.future-attendance-note{color:#6d747a;text-align:center;background:#f3f5f6;border-radius:8px;margin:10px 0 0;padding:10px;font-size:12px}.student-lesson-memo{background:#f3f8f7;border-radius:11px;padding:15px}.student-lesson-memo small{color:var(--teal);font-weight:800}.student-lesson-memo p{margin:7px 0 0;line-height:1.65}.student-history{padding:8px 18px}.settings-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:start;gap:18px;display:grid}.settings-form{gap:14px;display:grid}.settings-form h2{margin:5px 0 0;font-size:19px}.settings-form label{gap:7px;font-size:14px;font-weight:800;display:grid}.settings-form label.settings-checkbox{border:1px solid var(--line);background:var(--teal-soft);cursor:pointer;border-radius:10px;align-items:center;gap:10px;min-height:46px;padding:11px 13px;display:flex}.settings-form label.settings-checkbox input{width:18px;height:18px;accent-color:var(--accent-ink);margin:0}.settings-form input,.settings-form select{width:100%}.settings-note{color:#425d66;background:#f2f7f6;border-radius:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.5}.google-play-billing-dialog{width:min(100%,620px);overflow-y:auto}.google-play-billing-summary{border:1px solid var(--teal);margin:4px 0 16px;padding:14px 16px}@supports (color:color-mix(in lab, red, red)){.google-play-billing-summary{border:1px solid color-mix(in srgb, var(--teal) 28%, var(--line))}}.google-play-billing-summary{background:var(--teal-soft);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.google-play-billing-summary{background:color-mix(in srgb, var(--teal-soft) 72%, var(--surface))}}.google-play-billing-summary strong{color:var(--accent-ink);font-size:14px}.google-play-billing-summary p,.google-play-billing-terms{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.6}.google-play-billing-loading{min-height:120px;color:var(--muted);place-items:center;margin:0;display:grid}.google-play-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.google-play-plan-card{border:1px solid var(--line);min-height:120px;color:var(--ink);background:var(--surface);border-radius:14px;align-content:center;justify-items:start;gap:5px;padding:18px;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.google-play-plan-card{background:color-mix(in srgb, var(--surface) 92%, var(--canvas))}}.google-play-plan-card{text-align:left;transition:border-color .16s,transform .16s,box-shadow .16s}.google-play-plan-card:hover:not(:disabled){border-color:var(--teal);box-shadow:0 10px 24px var(--teal);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.google-play-plan-card:hover:not(:disabled){box-shadow:0 10px 24px color-mix(in srgb, var(--teal) 16%, transparent)}}.google-play-plan-card:focus-visible{outline:3px solid var(--accent-ink);outline-offset:3px}.google-play-plan-card:disabled{cursor:wait;opacity:.65}.google-play-plan-card span{color:var(--muted);font-size:13px;font-weight:800}.google-play-plan-card strong{color:var(--ink);letter-spacing:-.04em;font-size:25px}.google-play-plan-card small{color:var(--muted);font-size:12px}.google-play-plan-card em{color:#fff;background:var(--teal);border-radius:999px;padding:4px 7px;font-size:10px;font-style:normal;font-weight:850;position:absolute;top:10px;right:10px}.google-play-billing-message{margin:14px 0 0}.google-play-billing-terms{margin-top:16px}.google-play-billing-dialog>.modal-actions{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px;display:grid}.google-play-billing-dialog>.modal-actions button{width:100%;min-height:48px}@media (max-width:520px){.google-play-plan-grid{grid-template-columns:1fr}.google-play-plan-card{min-height:108px;padding:15px}.google-play-billing-dialog{max-height:92vh}}.profile-editor{border:1px solid var(--line);background:#f8fbfb;border-radius:12px;grid-template-columns:112px 1fr;align-items:center;gap:16px;padding:15px;display:grid}.profile-preview{color:#779099;background:var(--teal-soft);border-radius:50%;place-items:center;width:112px;height:112px;display:grid;overflow:hidden}.profile-preview img{object-fit:cover;width:100%;height:100%}.profile-preview>svg{width:45px;height:45px}.profile-editor strong{font-size:15px}.profile-editor p{color:var(--muted);margin:4px 0 11px;font-size:12px}.profile-upload-button{cursor:pointer;min-height:34px;padding:6px 10px;position:relative;font-size:12px!important}.profile-upload-button svg{width:15px}.profile-file-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;height:1px;position:absolute;overflow:hidden;width:1px!important}.teacher-contact-card{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px #1529340d}.teacher-contact-profile{color:#fff;background:linear-gradient(135deg, var(--teal-dark), var(--teal));align-items:center;gap:20px;padding:24px;display:flex}.teacher-contact-profile>img,.teacher-contact-profile>span{object-fit:cover;background:#dcefed;border:4px solid #ffffff59;border-radius:50%;flex:none;width:128px;height:128px;overflow:hidden}.teacher-contact-profile>span{color:var(--teal);place-items:center;display:grid}.teacher-contact-profile>span svg{width:52px;height:52px}.teacher-contact-profile small{color:#b6e1dc;font-weight:800}.teacher-contact-profile h2{margin:5px 0 8px;font-size:24px}.teacher-contact-profile p{color:#d9ece9;max-width:520px;margin:0;font-size:13px;line-height:1.6}.teacher-contact-actions{border-bottom:1px solid var(--line);background:#f8fbfb;flex-wrap:wrap;justify-content:center;gap:12px;padding:18px 20px;display:flex}.contact-action{color:#fff;border:1px solid #0000;border-radius:50%;place-items:center;width:46px;height:46px;transition:transform .15s,box-shadow .15s;display:grid;box-shadow:0 5px 14px #15293424}.contact-action svg{width:21px;height:21px}.contact-action:hover{transform:translateY(-2px);box-shadow:0 7px 18px #15293433}.contact-action:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.contact-action.kakao{color:#2f261d;background:#fee500}.contact-action.phone{background:#1f9d69}.contact-action.sms{background:#3578e5}.contact-action.email{background:#7657c8}.teacher-contact-grid{background:var(--line);grid-template-columns:1fr 1fr;gap:1px;display:grid}.teacher-contact-grid article{background:#fff;align-items:center;gap:13px;min-width:0;padding:19px;display:flex}.teacher-contact-grid article>svg{width:38px;height:38px;color:var(--teal);background:var(--teal-soft);border-radius:10px;flex:none;padding:9px}.teacher-contact-grid article>div{min-width:0}.teacher-contact-grid small,.teacher-contact-grid strong,.teacher-contact-grid a{display:block}.teacher-contact-grid small{color:var(--muted);margin-bottom:4px;font-size:12px}.teacher-contact-grid strong,.teacher-contact-grid a{overflow-wrap:anywhere;color:var(--ink);font-size:15px;font-weight:800;text-decoration:none}.teacher-contact-grid .teacher-operation-notes{grid-column:1/-1;align-items:flex-start}.teacher-contact-grid .teacher-operation-notes strong{white-space:pre-wrap;line-height:1.55}.teacher-contact-grid a:hover{color:var(--teal);text-decoration:underline}.teacher-contact-note{color:#6c5a31;background:#fff8e9;margin:0;padding:13px 19px;font-size:12px}.lesson-comment{color:#46616a;margin:5px 0 0;font-size:13px;line-height:1.45}.group-card-head>div{gap:4px;display:flex}.login-role-tabs{background:#edf4f3;border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.login-role-tabs button{color:#60757c;background:0 0;border:0;border-radius:7px;min-height:38px;font-weight:800}.login-role-tabs button.active{color:var(--teal);background:#fff;box-shadow:0 2px 8px #124e4917}.admin-login,.forced-password-page{background:radial-gradient(circle at 20% 0,#dff3ef,#0000 35%),linear-gradient(145deg,#f0f7f6,#f7f9fa);place-items:center;min-height:100vh;padding:28px;display:grid}.admin-auth-card,.forced-password-card{border:1px solid var(--line);width:min(100%,440px);box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:34px}.admin-auth-card>.brand-lockup,.forced-password-card>.brand-lockup{margin-bottom:24px}.admin-auth-card>p,.forced-password-card>p{color:var(--muted);line-height:1.7}.admin-auth-card h1,.forced-password-card h1{margin:10px 0 6px;font-size:27px}.admin-shield,.forced-password-icon{background:var(--teal-soft);width:58px;height:58px;color:var(--teal);border-radius:16px;place-items:center;display:grid}.admin-auth-card label,.forced-password-card label{color:#52616b;gap:6px;margin:13px 0;font-size:12px;font-weight:750;display:grid}.admin-shell{background:#f4f7f8;min-height:100vh}.admin-topbar{color:#fff;background:#123b4b;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(22px,5vw,70px);display:flex}.admin-topbar>div{align-items:center;gap:18px;display:flex}.admin-topbar .brand-copy small{color:#b8d7d8}.admin-topbar .brand-copy strong{color:#fff}.admin-topbar>div:first-child>span{color:#c4d8db;border-left:1px solid #fff3;padding-left:18px;font-size:12px}.admin-topbar .secondary{color:#fff;background:#ffffff12;border-color:#ffffff40;min-height:38px}.admin-content{max-width:1320px;margin:auto;padding:38px clamp(20px,4vw,52px) 80px}.admin-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.admin-heading .eyebrow{color:var(--teal);letter-spacing:.12em;margin:0 0 5px;font-size:12px;font-weight:850}.admin-heading h1{margin:0;font-size:29px}.admin-heading>div>p:last-child{color:var(--muted);margin:7px 0 0;font-size:13px}.admin-stats{grid-template-columns:repeat(3,1fr);gap:14px;margin:25px 0;display:grid}.admin-stats article{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:13px;padding:18px;display:flex}.admin-stats article>svg{background:var(--teal-soft);width:35px;height:35px;color:var(--teal);border-radius:10px;padding:8px}.admin-stats small,.admin-stats strong{display:block}.admin-stats small{color:var(--muted);font-size:13px}.admin-stats strong{margin-top:2px;font-size:22px}.admin-empty{text-align:center;background:#fff;border:1px dashed #cddadd;border-radius:16px;padding:65px 25px}.admin-empty>svg{color:#a4b3b8;width:45px;height:45px}.admin-empty h2{margin:15px 0 5px;font-size:18px}.admin-empty p{color:var(--muted);margin-bottom:18px;font-size:12px}.admin-class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.admin-class-card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:20px;box-shadow:0 8px 25px #1529340a}.admin-class-head{justify-content:space-between;align-items:center;display:flex}.admin-class-head span{border-radius:20px;padding:4px 8px;font-size:12px;font-weight:800}.status-active{color:#087167;background:#e0f4f0}.status-inactive{color:#6f7f89;background:#edf1f2}.admin-class-head code{color:var(--teal);font-size:13px}.admin-class-card h2{margin:17px 0;font-size:18px}.admin-class-card dl{gap:9px;margin:0;display:grid}.admin-class-card dl div{grid-template-columns:92px minmax(0,1fr);gap:8px;font-size:13px;display:grid}.admin-class-card dt{color:var(--muted)}.admin-class-card dd{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.admin-card-actions{border-top:1px solid #edf1f2;align-items:center;gap:7px;margin-top:19px;padding-top:15px;display:flex}.admin-card-actions .secondary{flex:1;min-height:36px;padding:7px 10px;font-size:12px}.admin-card-actions svg{width:15px}.admin-card-actions .suspend{color:#9b3b3b;background:#fff7f7;border-color:#edcaca}.admin-card-actions .restore{color:#126448;background:#f1fbf7;border-color:#b9ddce}.admin-service-tags{flex-wrap:wrap;gap:6px;margin:-7px 0 15px;display:flex}.admin-service-tags span{color:#245a88;background:#e9f3fd;border-radius:20px;padding:4px 8px;font-size:11px;font-weight:800}.admin-operation-icon{border-radius:15px;place-items:center;width:52px;height:52px;margin-bottom:13px;display:grid}.admin-operation-icon svg{width:25px}.admin-operation-icon.suspend{color:#a33e3e;background:#fff0f0}.admin-operation-icon.restore{color:#176847;background:#e7f7f0}.admin-operation-icon.support{color:#1769b7;background:#e7f2fd}.admin-status-modal>p{color:var(--muted);line-height:1.65}.admin-modal label small{color:var(--muted);font-weight:500}.admin-toggle{align-items:center;gap:9px!important;display:flex!important}.admin-toggle input{width:17px;height:17px}.delete-icon{width:52px;height:52px;color:var(--danger);background:#fff0f0;border-radius:14px;place-items:center;display:grid}.danger-button{color:#fff;background:var(--danger);border:0;border-radius:9px;min-height:42px;padding:9px 16px;font-weight:800}.danger-button:disabled{opacity:.4;cursor:not-allowed}@media (max-width:900px){.admin-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.admin-login,.forced-password-page{align-items:start;padding:16px}.admin-auth-card,.forced-password-card{margin-top:18px;padding:24px 20px}.admin-topbar{height:62px;padding:0 15px}.admin-topbar .brand-copy,.admin-topbar>div:first-child>span,.admin-topbar>div:last-child>strong{display:none}.admin-content{padding:25px 15px 70px}.admin-heading{align-items:flex-start}.admin-heading h1{font-size:24px}.admin-heading>.primary{padding:9px 11px;font-size:13px}.admin-stats{gap:7px}.admin-stats article{padding:11px 8px}.admin-stats article>svg{display:none}.admin-class-grid{grid-template-columns:1fr}.admin-card-actions{flex-wrap:wrap}.admin-card-actions .secondary{flex:115px}.admin-modal{max-height:92vh;overflow-y:auto}}.scrim{display:none}@media (max-width:980px){.calendar-layout{grid-template-columns:1fr}.day-panel{max-height:none;display:block}.group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-card{min-width:0}.month-grid>.calendar-day{min-height:76px}.request-grid{grid-template-columns:1fr}}@media (max-width:760px){body{background:#f4f7f7}.login-page{background:linear-gradient(#eaf5f3 0,#fff 34%);padding:25px 18px;display:block}.login-visual{display:none}.login-panel{min-height:calc(100vh - 50px);padding:0}.login-card{box-shadow:var(--shadow);background:#fff;border-radius:17px;padding:25px 20px}.login-card>.brand-lockup{margin-bottom:24px;display:flex}.login-card h1{font-size:26px}.sidebar{width:250px;transition:transform .22s;transform:translate(-105%)}.sidebar.open{transform:translate(0)}.mobile-close{display:inline-grid!important}.scrim{z-index:25;background:#05141c8c;border:0;display:block;position:fixed;inset:0}.app-main{margin-left:0;padding-top:61px;padding-bottom:64px}.mobile-header{z-index:20;border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:8px;height:61px;padding:0 12px;display:flex;position:fixed;inset:0 0 auto}.mobile-header strong{flex:1;font-size:16px}.mobile-header .icon-button i{background:#e25e58;border-radius:50%;width:6px;height:6px;position:absolute;top:5px;right:5px}.mobile-bottom{z-index:20;border-top:1px solid var(--line);background:#fff;justify-content:space-around;height:62px;display:flex;position:fixed;inset:auto 0 0}.mobile-bottom button{color:#74838c;background:#fff;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:12px;display:flex}.mobile-bottom button.active{color:var(--teal);font-weight:800}.mobile-bottom svg{width:20px;height:20px}.page{padding:18px 14px 30px}.page-header{align-items:flex-end}.page-header h1{font-size:23px}.page-header p{font-size:13px}.page-header .primary{min-width:46px;min-height:46px;padding:0 11px}.page-header .primary svg{width:20px}.dashboard-page .page-header{flex-direction:column;align-items:stretch}.dashboard-month-nav{justify-content:space-between;width:100%}.page-header:has(.student-page-actions){flex-direction:column;align-items:stretch}.student-page-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.student-page-actions .primary{grid-column:1/-1;width:100%}.student-page-actions>button,.file-upload-button{min-width:0;min-height:42px;padding:8px;font-size:12px}.import-summary{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stats-grid article{padding:13px}.stats-grid strong{font-size:22px}.dashboard-grid,.attendance-register-layout{grid-template-columns:1fr}.monthly-overview,.weekday-lesson-card,.dashboard-requests{padding:17px}.monthly-overview-grid{grid-template-columns:1fr;gap:14px}.lesson-donut-wrap{min-height:224px}.analytics-heading{margin-bottom:16px;display:block}.chart-legend{flex-wrap:wrap;margin-top:12px}.weekday-chart-legend{flex-wrap:wrap;margin-top:10px}.analytics-heading p{margin-top:5px}.weekday-chart{column-gap:0;height:225px}.weekday-track{width:min(38px,78%)}.attendance-student-results{max-height:280px}.modal-backdrop.attendance-history-backdrop{padding:max(10px, env(safe-area-inset-top)) 0 0;align-items:end}.modal-card.attendance-history-modal{width:100%;max-height:calc(100dvh - max(10px, env(safe-area-inset-top)) - env(safe-area-inset-bottom));padding-bottom:calc(22px + max(16px, env(safe-area-inset-bottom)));border-radius:20px 20px 0 0}.attendance-history-head{flex-direction:column;align-items:flex-start}.attendance-history-actions{flex-direction:row-reverse;justify-content:space-between;align-items:center;width:100%;display:flex}.attendance-summary{justify-content:flex-start}.attendance-history-list article{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px 0}.attendance-lesson-copy{grid-area:2/1/auto/-1}.attendance-status{grid-area:1/2}.group-grid{grid-template-columns:1fr}.calendar-toolbar{flex-wrap:wrap;padding:11px}.calendar-legend{width:100%;margin:0}.month-grid>.calendar-day{min-height:62px;padding:4px;line-height:0}.calendar-day-number>b{width:20px;height:20px;font-size:12px}.calendar-event{vertical-align:top;border:0;border-radius:50%;width:7px;height:7px;margin:1px 1px 0 0;padding:0;font-size:0;display:inline-block}.calendar-event.private{background:var(--private-color)!important}.calendar-event.group{background:var(--indigo)!important}.settings-grid{grid-template-columns:1fr}.profile-editor{grid-template-columns:82px 1fr;gap:12px;padding:12px}.profile-preview{width:82px;height:82px}.teacher-contact-profile{align-items:flex-start;gap:14px;padding:18px}.teacher-contact-profile>img,.teacher-contact-profile>span{border-width:3px;width:82px;height:82px}.teacher-contact-profile>span svg{width:38px;height:38px}.teacher-contact-profile h2{font-size:20px}.teacher-contact-grid{grid-template-columns:1fr}.teacher-contact-grid article{padding:15px}.account-section .section-title{flex-direction:column;align-items:flex-start;gap:10px}.account-section .inline-actions{flex-wrap:wrap;width:100%}.account-section .inline-actions button{flex:160px}.account-section .push-checkbox{flex:160px;justify-content:center}.table-card{border-radius:10px}.form-grid{grid-template-columns:1fr}.student-app>header{height:61px;padding:0 14px}.student-main-nav{z-index:10;justify-content:stretch;min-height:50px;padding:0 6px;position:sticky;top:0}.student-main-nav button{flex:1;min-width:0;padding:0 4px;font-size:12px}.student-app>main,.student-view-page{padding:25px 14px 75px}.student-view-heading h1{font-size:25px}.student-view-heading>strong{font-size:12px}.student-lesson-item{grid-template-columns:1fr;gap:7px;padding:13px 2px}.student-lesson-copy{padding-left:40px}.student-calendar-grid>div,.student-calendar-grid>button{min-height:68px;padding:4px}.student-calendar-grid b{width:20px;height:20px;font-size:12px}.student-calendar-event{text-align:center;padding:3px 2px;font-size:12px}.student-calendar-event time{text-overflow:ellipsis;overflow:hidden}.student-history{padding:5px 13px}.student-greeting h1{font-size:29px}.next-lesson{padding:19px}.next-lesson h2{font-size:21px}.student-cards{grid-template-columns:1fr;gap:8px}.account-readonly{grid-template-columns:repeat(2,1fr)}.student-cards button{grid-template-columns:30px 1fr;align-items:center;display:grid}.student-cards svg{grid-row:1/3}.student-cards small,.student-cards strong{margin:0}.student-request-copy dl{grid-template-columns:1fr}.modal-backdrop{align-items:end;padding:10px}.modal-card{border-radius:17px 17px 0 0;width:100%;max-height:90vh}.student-detail-grid{grid-template-columns:1fr 1fr}.ticket-wallet-card{border-radius:19px;min-height:234px;padding:18px}.ticket-wallet-balances{gap:6px}.ticket-wallet-balances small{font-size:10px}.ticket-wallet-balances strong{font-size:23px}.ticket-active-batches article{flex-direction:column;align-items:stretch}.ticket-active-batches button{width:100%;min-height:42px}.student-detail-actions{grid-template-columns:1fr 1fr}.student-detail-actions .danger{grid-column:1/-1}.lesson-notes-view{grid-template-columns:1fr}.lesson-notes-form .inline-actions,.lesson-detail-actions{grid-template-columns:1fr 1fr;display:grid}.lesson-detail-actions :is(.secondary,.reject){width:100%;min-height:42px}.teacher-attendance-row{grid-template-columns:auto minmax(0,1fr)}.teacher-attendance-row .attendance-actions{grid-column:1/-1}.teacher-attendance-row .attendance-actions button{flex:1;min-height:38px}.toast{white-space:nowrap;bottom:76px}}.settings-help{color:#68777e;margin:0;font-size:14px;line-height:1.55}.button-link{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.calendar-feed-settings>p:first-of-type{color:#53636a;margin-top:0;line-height:1.55}.calendar-feed-settings input[readonly]{background:#f7faf9;font-size:14px}.calendar-feed-settings .inline-actions{flex-wrap:wrap}.theme-settings{margin-bottom:18px;padding:19px}.theme-settings.compact{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px 0;padding:16px 0}.theme-settings-copy{justify-content:space-between;align-items:end;gap:18px;margin-bottom:14px;display:flex}.theme-settings-copy h2{margin:0;font-size:19px}.theme-settings-copy p{color:var(--muted);margin:0;font-size:13px}.theme-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;display:grid}.theme-option{border:2px solid var(--line);background:var(--surface);min-width:0;min-height:88px;color:var(--ink);text-align:left;border-radius:13px;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.theme-option:hover{border-color:var(--teal);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.theme-option:hover{border-color:color-mix(in srgb, var(--teal) 55%, var(--line))}}.theme-option.selected{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal)}@supports (color:color-mix(in lab, red, red)){.theme-option.selected{box-shadow:0 0 0 3px color-mix(in srgb, var(--teal) 14%, transparent)}}.theme-option>span:nth-child(2){min-width:0}.theme-option strong,.theme-option small{display:block}.settings-feature-dialog .theme-option :is(strong,small){word-break:keep-all}.theme-option strong{font-size:15px}.theme-option small{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.4}.theme-option em{min-width:42px;color:var(--teal);font-size:12px;font-style:normal;font-weight:800}.theme-preview{border:1px solid #dbe4e7;border-radius:8px;grid-template-rows:13px 1fr 1fr;grid-template-columns:18px 1fr;gap:4px;height:58px;padding:5px;display:grid;overflow:hidden;box-shadow:0 4px 10px #1427341a}.theme-preview i{border-radius:3px;display:block}.theme-preview i:first-child{grid-row:1/4}.theme-preview i:nth-child(2){grid-column:2}.theme-preview i:nth-child(3){grid-area:2/2/4}@media (min-width:761px){.settings-feature-dialog .theme-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.theme-settings-copy{display:block}.theme-settings-copy p{margin-top:4px}.theme-picker,.settings-feature-dialog .theme-picker{grid-template-columns:1fr}.theme-option{grid-template-columns:62px minmax(0,1fr) auto;min-height:76px}.theme-preview{height:50px}.theme-settings{padding:15px}.theme-settings.compact{padding:14px 0}.request-datetime-grid{grid-template-columns:1fr}.request-availability li{min-height:42px}.request-compact-row,.notice-row{grid-template-columns:auto minmax(0,1fr) auto;gap:9px;min-height:66px;padding:10px 12px}.request-compact-row>svg,.notice-row>svg{display:none}.request-detail-grid{grid-template-columns:1fr}.request-detail-grid .wide{grid-column:auto}.student-main-nav{scrollbar-width:none;justify-content:flex-start;overflow-x:auto}.student-main-nav::-webkit-scrollbar{display:none}.student-main-nav button{white-space:nowrap;flex:none;min-width:86px}.app-frame.theme-dark,.student-app.theme-dark{background:var(--canvas)}}.center-page.signup-page{background:linear-gradient(#f8faf9 0%,#f3f6f5 100%);place-items:center;min-height:100vh;padding:42px 18px;display:grid}.signup-card,.pending-card{background:#fff;border:1px solid #e0e7e5;border-radius:20px;width:min(100%,720px);padding:38px 42px 34px;box-shadow:0 18px 50px #213a3514}.signup-card-enter{animation:.48s cubic-bezier(.2,.72,.25,1) both signup-card-arrive}.signup-card>.brand-lockup,.pending-card>.brand-lockup{margin:18px 0 24px}.signup-card>.eyebrow{color:#32736b;letter-spacing:.02em;background:#edf7f5;border-radius:999px;width:fit-content;margin:0 0 10px;padding:5px 9px;font-size:11px;font-weight:850}.signup-card h1,.pending-card h1{color:#20302d;letter-spacing:-.035em;word-break:keep-all;margin:0 0 9px;font-size:30px;line-height:1.25}.signup-card>.muted{color:#65736f;margin:18px 0 0;font-size:14px;line-height:1.65}.signup-back{color:#687773;background:0 0;border:0;align-items:center;gap:6px;min-height:34px;padding:4px 2px;font-size:13px;font-weight:750;display:inline-flex}.signup-back:hover{color:#255f58}.signup-back svg{width:16px;height:16px}.signup-progress{background:#e8eeec;border-radius:999px;height:4px;margin:16px 0 0;overflow:hidden}.signup-progress span{border-radius:inherit;background:#3f8b82;height:100%;transition:width .28s;display:block}.signup-grid{grid-template-columns:1fr 1fr;gap:15px;margin-top:24px;display:grid}.signup-grid .full{grid-column:1/-1}.signup-grid label{color:#3f514d;gap:7px;font-size:13px;font-weight:780;display:grid}.signup-grid label small{color:#687874;font-size:11px;font-weight:550}.signup-grid input,.signup-grid select{border-color:#84938f;border-radius:10px;width:100%;min-height:46px}.signup-grid input:focus,.signup-grid select:focus{border-color:#5b9b93;outline:3px solid #3f8b821f}.signup-section-divider{color:#687874;align-items:center;gap:12px;margin:10px 0 2px;font-size:11px;font-weight:850;display:flex}.signup-section-divider:before,.signup-section-divider:after{content:"";background:#e2e8e6;flex:1;height:1px}.signup-section-divider span{white-space:nowrap}.signup-field,.class-code-field{gap:7px;display:grid}.signup-field>label,.class-code-field>label{color:#3f514d;font-size:13px;font-weight:780}.field-help{color:#687874;margin:0;font-size:12px;line-height:1.55}.field-help strong{color:#536761;font-weight:750}.class-code-check-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:9px;display:grid}.class-code-check-row>.secondary{white-space:nowrap;min-height:46px}.class-code-status{align-items:center;gap:6px;min-height:20px;margin:0;font-size:12px;font-weight:750;display:flex}.class-code-status svg{width:16px;height:16px}.class-code-status.available{color:#08765a}.class-code-status.unavailable,.class-code-status.error{color:#b13b42}.signup-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px;display:grid}.signup-mode-card{background:#fff;border:1px solid #dce4e2;border-radius:14px;flex-direction:column;min-width:0;padding:20px;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex}.signup-mode-card.selected{border-color:#4d9289;box-shadow:0 0 0 3px #3f8b821c}.signup-mode-card:hover{transform:translateY(-2px)}.signup-mode-kicker{color:#397b72;width:fit-content;margin-bottom:10px;font-size:11px;font-weight:850}.signup-mode-card h2{color:#243632;letter-spacing:-.02em;margin:0;font-size:18px}.signup-mode-card p{color:#687874;word-break:keep-all;min-height:66px;margin:9px 0 18px;font-size:13px;line-height:1.65}.signup-mode-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;display:grid}.signup-mode-actions button{min-height:40px;padding:9px 10px}.signup-mode-card .primary{background:#347b73}.signup-mode-card .primary:hover{background:#2d6d66}.signup-mode-card.selected .primary{background:#2f7068}.signup-mode-confirm{color:#52625e;background:#f4f7f6;border-radius:11px;align-items:flex-start;gap:10px;margin:18px 0 0;padding:14px 15px;font-size:12px;font-weight:650;line-height:1.55;display:flex}.signup-mode-confirm input{accent-color:#3f8b82;flex:none;width:17px;height:17px;margin-top:1px}.signup-after-note{color:#667672;text-align:center;margin:10px 0 0;font-size:12px}.signup-after-note strong{color:#32736b}.signup-consents{background:#f7f9f8;border:1px solid #e2e8e6;border-radius:11px;gap:10px;margin:18px 0;padding:15px;display:grid}.signup-consents label{color:#455752;align-items:center;gap:9px;font-size:13px;font-weight:750;display:flex}.signup-consents input{accent-color:#3f8b82;width:17px;height:17px}.signup-note{color:#687874;text-align:center;margin:13px 0 0;font-size:12px}.signup-card>.primary.wide{background:#347b73;min-height:46px;margin-top:4px;box-shadow:0 8px 18px #347b7329}.signup-card>.primary.wide:hover{background:#2d6d66}.teacher-signup-entry{margin-top:9px}.pending-card{text-align:center;max-width:520px}.pending-card>.brand-lockup{justify-content:center}.pending-icon{color:#397f76;background:#edf7f5;border-radius:20px;place-items:center;width:66px;height:66px;margin:6px auto 18px;display:grid}.pending-icon svg{width:32px;height:32px}.pending-card>p{color:#65736f;line-height:1.75}.signup-summary{background:#f8faf9;border:1px solid #dfe7e5;border-radius:13px;gap:10px;margin:22px 0 18px;padding:18px;display:grid}.signup-summary h2{color:#283a36;margin:0 0 3px;font-size:17px}.signup-summary dl{gap:0;margin:0;display:grid}.signup-summary dl>div{border-top:1px solid #e4e9e7;grid-template-columns:90px minmax(0,1fr);gap:14px;padding:10px 0;display:grid}.signup-summary dt{color:#65736f;font-size:12px}.signup-summary dd{color:#354843;margin:0;font-size:13px;font-weight:750}.signup-summary-guide{color:#3e6f68;background:#ebf5f3;border-radius:9px;margin:2px 0 0;padding:11px 12px;font-size:12px;line-height:1.55}.signup-summary small{color:#65736f}.signup-summary code{color:#32736b;font-size:16px;font-weight:850}.development-verify{margin-bottom:12px}.spin{animation:.85s linear infinite signup-spin}@keyframes signup-card-arrive{0%{opacity:0;transform:translateY(14px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes signup-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.signup-card-enter{animation:none}.signup-progress span,.signup-mode-card{transition:none}.signup-mode-card:hover{transform:none}}@media (max-width:620px){.center-page.signup-page{place-items:start center;padding:14px 10px 24px}.signup-card,.pending-card{border-radius:16px;padding:24px 19px;box-shadow:0 10px 30px #213a3512}.signup-card>.brand-lockup{margin:14px 0 20px}.signup-card h1,.pending-card h1{font-size:25px}.signup-grid,.signup-mode-grid{grid-template-columns:1fr}.signup-grid .full{grid-column:auto}.signup-mode-card p{min-height:auto}.class-code-check-row{grid-template-columns:1fr}.class-code-check-row>.secondary{width:100%}.signup-summary dl>div{grid-template-columns:74px minmax(0,1fr)}}.free-plan-upgrade-notice{border:1px solid var(--teal);justify-content:space-between;align-items:center;gap:16px;margin:0 0 18px;padding:13px 16px;display:flex}@supports (color:color-mix(in lab, red, red)){.free-plan-upgrade-notice{border:1px solid color-mix(in srgb, var(--teal) 30%, var(--line))}}.free-plan-upgrade-notice{color:var(--ink);background:var(--teal-soft);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.free-plan-upgrade-notice{background:color-mix(in srgb, var(--teal-soft) 72%, var(--surface))}}.free-plan-upgrade-notice p{margin:0;font-size:14px;font-weight:750;line-height:1.55}.free-plan-upgrade-notice .secondary{white-space:nowrap;min-height:38px;color:var(--teal);border-color:var(--teal);flex:none}@supports (color:color-mix(in lab, red, red)){.free-plan-upgrade-notice .secondary{border-color:color-mix(in srgb, var(--teal) 38%, var(--line))}}.free-plan-upgrade-notice .secondary{font-size:13px}.app-frame.has-ad-banner .page,.student-app.has-ad-banner main,.student-app.has-ad-banner .student-view-page{padding-bottom:150px}.admin-service-tags .plan-paid{color:#075f48;background:#dff8ee}.admin-service-tags .plan-free{color:#80500b;background:#fff1cf}@media (max-width:760px){.free-plan-upgrade-notice{flex-direction:column;align-items:stretch;gap:10px;font-size:13px}.free-plan-upgrade-notice .secondary{width:100%}.app-frame.has-ad-banner .page,.student-app.has-ad-banner main,.student-app.has-ad-banner .student-view-page{padding-bottom:160px}}.admin-primary-nav{background:#fff;border-bottom:1px solid #d7e2e8;gap:8px;padding:12px clamp(20px,4vw,52px);display:flex}.admin-primary-nav button{color:#526b7b;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;min-height:44px;padding:9px 18px;font-weight:800;display:inline-flex}.admin-primary-nav button svg{width:18px;height:18px}.admin-primary-nav button[aria-current=page]{color:#0a4d8b;background:#eaf4ff;border-color:#bad2e9}.admin-mobile-menu-toggle,.admin-mobile-drawer,.admin-mobile-scrim{display:none}.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-dashboard-panel{background:#fff;border:1px solid #d8e3e8;border-radius:17px;margin-top:18px;padding:22px;box-shadow:0 8px 28px #1531420d}.admin-panel-heading,.admin-panel-heading>div:first-child{justify-content:space-between;align-items:center;gap:13px;display:flex}.admin-panel-heading h2{margin:0;font-size:19px}.admin-panel-heading p{color:#6b7d88;margin:5px 0 0;font-size:12px}.admin-panel-icon{color:#155f9f;background:#e6f2fe;border-radius:12px;flex:none;place-items:center;width:43px;height:43px;display:grid}.admin-panel-icon svg{width:22px}.admin-month-controls{align-items:center;gap:5px;display:flex}.admin-month-controls button{color:#405e70;background:#fff;border:1px solid #cfdae0;border-radius:8px;place-items:center;min-height:36px;padding:7px 10px;font-weight:750;display:grid}.admin-month-controls svg{width:17px}.admin-calendar-legend{color:#596f7c;flex-wrap:wrap;gap:14px;margin:19px 0 11px;font-size:12px;font-weight:750;display:flex}.admin-calendar-legend span{align-items:center;gap:6px;display:inline-flex}.admin-calendar-legend i{border-radius:50%;width:9px;height:9px}.admin-calendar-legend .signup{background:#1674c5}.admin-calendar-legend .withdrawal{background:#d65b59}.admin-calendar-legend .paid{background:#169b70}.admin-analytics-calendar{border:1px solid #dbe4e9;border-radius:12px;overflow:hidden}.admin-calendar-weekdays,.admin-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.admin-calendar-weekdays span{color:#5e717c;text-align:center;background:#f1f6f9;padding:10px;font-size:12px;font-weight:850}.admin-calendar-weekdays span:first-child{color:#c54f4f}.admin-calendar-weekdays span:last-child{color:#276db0}.admin-calendar-grid article{background:#fff;border-top:1px solid #e2e9ed;border-right:1px solid #e2e9ed;min-height:112px;padding:9px}.admin-calendar-grid article:nth-child(7n){border-right:0}.admin-calendar-grid article.outside{color:#aab5bb;background:#f8fafb}.admin-calendar-grid article>strong{font-size:13px}.admin-calendar-grid article>div{gap:4px;margin-top:7px;display:grid}.calendar-count{border-radius:5px;align-items:center;gap:4px;min-width:0;padding:3px 5px;font-size:10px;font-weight:800;display:flex}.calendar-count svg{width:11px;height:11px}.calendar-count.signup{color:#115b98;background:#e7f2fc}.calendar-count.withdrawal{color:#a34444;background:#fff0ef}.calendar-count.paid{color:#08704f;background:#e5f7ef}.admin-category-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin-top:22px;display:grid}.admin-category-stats article>div:first-child{justify-content:space-between;gap:12px;margin-bottom:7px;font-size:13px;display:flex}.admin-category-stats article span{color:#667a86;font-size:12px}.admin-category-bar{background:#eaf0f3;border-radius:20px;height:10px;overflow:hidden}.admin-category-bar i{border-radius:inherit;background:linear-gradient(90deg,#155f9f,#3f8fd2);min-width:4px;height:100%;display:block}.admin-list-heading{align-items:center}.admin-search{background:#fff;border:1px solid #c8d7df;border-radius:11px;align-items:center;gap:8px;width:min(100%,430px);padding:0 12px;display:flex}.admin-search>svg{color:#6b7d88;width:19px}.admin-search input{min-height:46px;box-shadow:none;background:0 0;border:0;flex:1;padding:0}.admin-search-result{color:#687b87;margin:23px 0 12px;font-size:13px}.admin-subscriber-title{align-items:center;gap:12px;margin:16px 0;display:flex}.admin-subscriber-title .brand-lockup{flex:none}.admin-subscriber-title :is(.classieum-mark,.brand-profile-image){object-fit:cover;border-radius:14px;width:48px;height:48px}.admin-subscriber-title .classieum-mark svg{width:48px;height:48px}.admin-class-card .admin-subscriber-title h2{min-width:0;margin:0}.admin-modal select{width:100%;min-height:44px}.admin-support-meta{background:#edf5fc;border-radius:10px;margin:14px 0;padding:12px 14px}.admin-support-meta div{justify-content:space-between;gap:18px;display:flex}.admin-support-meta dt{color:#5d7485}.admin-support-meta dd{color:#0e548f;margin:0;font-weight:850}.admin-empty.compact{margin-top:18px;padding:30px}.admin-list-tools{justify-content:space-between;align-items:center;gap:15px;margin:22px 0 12px;display:flex}.admin-list-tools .admin-search-result{margin:0}.admin-filter-checks{flex-wrap:wrap;gap:9px;display:flex}.admin-filter-checks label{color:#435d6b;background:#fff;border:1px solid #c8d7df;border-radius:10px;align-items:center;gap:7px;min-height:40px;padding:8px 12px;font-size:13px;font-weight:800;display:flex}.admin-filter-checks input{accent-color:#1769b7;width:17px;height:17px}.admin-class-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-subscriber-card{width:100%;color:inherit;text-align:left;cursor:pointer;transition:border-color .18s,transform .18s,box-shadow .18s}.admin-subscriber-card:hover{border-color:#8bb6c7;transform:translateY(-2px);box-shadow:0 12px 28px #15293412}.admin-subscriber-card .admin-subscriber-title{margin-bottom:12px}.admin-subscriber-card .admin-subscriber-title p{color:var(--muted);margin:4px 0 0;font-size:13px}.admin-subscriber-card>small{color:#6b7e89}.admin-subscriber-detail{width:min(94vw,650px);max-height:92vh;overflow-y:auto}.admin-detail-identity{align-items:center;gap:14px;padding-right:42px;display:flex}.admin-detail-identity h2{margin:0}.admin-detail-identity p{color:var(--muted);margin:5px 0 0}.admin-detail-identity :is(.classieum-mark,.brand-profile-image){object-fit:cover;border-radius:16px;width:56px;height:56px}.admin-subscriber-detail .admin-service-tags{margin:16px 0}.admin-detail-list{background:#f4f8fa;border-radius:12px;grid-template-columns:1fr 1fr;gap:8px 18px;margin:0 0 18px;padding:15px;display:grid}.admin-detail-list div{min-width:0}.admin-detail-list dt{color:var(--muted);font-size:11px}.admin-detail-list dd{overflow-wrap:anywhere;margin:4px 0 0;font-size:13px;font-weight:800}.admin-plan-form{border:1px solid #cfe0e7;border-radius:13px;gap:11px;padding:16px;display:grid}.admin-plan-form h3{margin:0 0 2px;font-size:16px}.admin-plan-form label{color:#526975;gap:6px;font-size:12px;font-weight:800;display:grid}.admin-plan-form select,.admin-plan-form input{width:100%;min-height:44px}.admin-plan-dates{grid-template-columns:1fr 1fr;gap:10px;display:grid}.admin-detail-actions{grid-template-columns:repeat(4,1fr);gap:7px;margin-top:14px;display:grid}.admin-detail-actions button{min-height:42px;padding:8px;font-size:12px}.admin-detail-actions svg{width:15px}.admin-detail-actions .danger{color:#a13c3c;background:#fff8f8;border-color:#ecc9c9}.admin-subscriber-list{background:#fff;border:1px solid #d6e1e6;border-radius:13px;overflow:hidden;box-shadow:0 5px 18px #1531420a}.admin-subscriber-columns,.admin-subscriber-row{grid-template-columns:minmax(250px,2fr) minmax(130px,.9fr) minmax(90px,.65fr) minmax(100px,.75fr) 92px 20px;align-items:center;gap:10px;display:grid}.admin-subscriber-columns{color:#70818a;letter-spacing:.02em;background:#f2f6f8;min-height:34px;padding:6px 13px;font-size:10px;font-weight:850}.admin-subscriber-row{color:#28404c;text-align:left;cursor:pointer;background:#fff;border:0;border-top:1px solid #e7edef;border-radius:0;width:100%;min-height:52px;padding:6px 13px;transition:background .15s}.admin-subscriber-row:hover,.admin-subscriber-row:focus-visible{background:#f0f8fa}.admin-subscriber-row:focus-visible{z-index:1;outline-offset:-2px;outline:2px solid #2f7fa6;position:relative}.admin-subscriber-row>svg{color:#8ba0aa;width:16px}.admin-subscriber-row>time,.admin-row-category{color:#60747f;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.admin-row-identity{align-items:center;gap:9px;min-width:0;display:flex}.admin-row-identity>span:last-child{min-width:0;display:grid}.admin-row-identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.admin-row-identity small{color:#6c7f89;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.admin-row-identity .brand-copy{display:none}.admin-row-identity :is(.classieum-mark,.brand-profile-image){object-fit:cover;border-radius:9px;width:32px;height:32px}.admin-row-identity .classieum-mark svg{width:32px;height:32px}.admin-row-plan{align-items:center;gap:6px;min-width:0;display:flex}.admin-row-plan b,.admin-subscriber-row>:is(.status-active,.status-inactive){white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:10px}.admin-row-plan small{color:#70818a;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.admin-pagination{justify-content:center;align-items:center;gap:16px;margin-top:15px;display:flex}.admin-pagination button{min-height:36px;padding:7px 12px}.admin-pagination button svg{width:15px}.admin-pagination span{color:#61747e;font-size:12px}.admin-pagination span strong{color:#174f6d}.admin-plan-history{background:#fbfcfd;border:1px solid #d9e4e8;border-radius:12px;margin:0 0 14px;padding:14px 16px}.admin-history-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-history-heading h3{margin:0;font-size:15px}.admin-history-heading small{color:#7b8d96;font-size:10px}.admin-plan-history ol{gap:0;margin:12px 0 0;padding:0;list-style:none;display:grid}.admin-plan-history li{grid-template-columns:12px 1fr;gap:9px;padding-bottom:13px;display:grid;position:relative}.admin-plan-history li:not(:last-child):before{content:"";background:#d7e3e7;width:2px;position:absolute;top:12px;bottom:0;left:5px}.admin-plan-history li:last-child{padding-bottom:0}.admin-history-dot{z-index:1;background:#899aa3;border:2px solid #fff;border-radius:50%;width:11px;height:11px;margin-top:3px;box-shadow:0 0 0 1px #b7c7ce}.admin-history-dot.paid{background:#1a9770}.admin-plan-history li>div>div{align-items:center;gap:7px;display:flex}.admin-plan-history li strong{font-size:12px}.admin-plan-history li b{color:#17618b;background:#e8f4fb;border-radius:5px;padding:2px 6px;font-size:9px}.admin-plan-history li p{color:#5d727d;margin:3px 0;font-size:11px}.admin-plan-history li time{color:#8a99a0;font-size:9px}.admin-history-empty{color:#71838d;margin:12px 0 0;font-size:12px}@media (max-width:900px){.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-calendar-grid article{min-height:96px}.admin-category-stats{grid-template-columns:1fr}.admin-subscriber-columns,.admin-subscriber-row{grid-template-columns:minmax(220px,1.6fr) minmax(120px,.9fr) 90px 90px 18px}.admin-subscriber-columns span:nth-child(5),.admin-subscriber-row>time{display:none}}@media (max-width:640px){.admin-primary-nav{display:none}.admin-mobile-menu-toggle{color:#fff;background:#ffffff17;border:1px solid #ffffff38;border-radius:11px;flex:none;place-items:center;width:44px;height:44px;padding:0;display:inline-grid}.admin-mobile-menu-toggle svg{width:23px;height:23px}.admin-mobile-drawer{z-index:45;color:#fff;visibility:hidden;background:radial-gradient(circle at 10% 5%,#3d8ba63d,#0000 30%),linear-gradient(#123b4b 0%,#0d3140 100%);flex-direction:column;width:min(82vw,300px);padding:20px 14px 16px;transition:transform .22s,visibility 0s linear .22s;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-105%);box-shadow:14px 0 38px #05192247}.admin-mobile-drawer.open{visibility:visible;transition-delay:0s;transform:translate(0)}.admin-mobile-drawer-head{border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:10px;padding:0 7px 18px;display:flex}.admin-mobile-drawer .brand-copy strong{color:#fff}.admin-mobile-drawer .brand-copy small{color:#bad2dc}.admin-mobile-drawer .icon-button{color:#d8e8ed;min-width:44px;min-height:44px}.admin-mobile-drawer nav{gap:5px;margin-top:18px;display:grid}.admin-mobile-drawer nav button{color:#c9dce3;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;min-height:48px;padding:0 13px;font-weight:800;display:flex}.admin-mobile-drawer nav button svg{flex:none;width:20px;height:20px}.admin-mobile-drawer nav button[aria-current=page]{color:#fff;background:linear-gradient(90deg,#5db5d847,#ffffff12);box-shadow:inset 3px 0 #68c2e5}.admin-mobile-drawer-user{border-top:1px solid #ffffff1f;align-items:center;gap:9px;margin-top:auto;padding:16px 5px 0;display:flex}.admin-mobile-drawer-user>div{min-width:0}.admin-mobile-drawer-user strong,.admin-mobile-drawer-user small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-mobile-drawer-user small{color:#aec8d1;margin-top:2px;font-size:12px}.admin-mobile-drawer-user .icon-button{margin-left:auto}.admin-mobile-scrim{z-index:40;background:#05141c8c;border:0;border-radius:0;padding:0;display:block;position:fixed;inset:0}.admin-list-heading,.admin-panel-heading{align-items:stretch;display:grid}.admin-search{width:100%;margin-top:15px}.admin-month-controls{justify-content:space-between;margin-top:12px}.admin-list-tools{flex-direction:column;align-items:stretch}.admin-filter-checks label{flex:1;justify-content:center}.admin-class-grid.compact,.admin-detail-list,.admin-plan-dates{grid-template-columns:1fr}.admin-detail-actions{grid-template-columns:1fr 1fr}.admin-subscriber-columns{display:none}.admin-subscriber-row{grid-template-columns:minmax(0,1fr) auto 16px;gap:7px;min-height:62px;padding:7px 10px}.admin-subscriber-row>:is(.status-active,.status-inactive),.admin-subscriber-row>.admin-row-category,.admin-subscriber-row>time{display:none}.admin-row-identity small{max-width:52vw}.admin-row-plan{justify-items:end;gap:2px;display:grid}.admin-pagination{justify-content:space-between;gap:7px}.admin-pagination button{padding:7px 9px}.admin-dashboard-panel{margin-left:-4px;margin-right:-4px;padding:14px 10px}.admin-calendar-weekdays span{padding:8px 2px}.admin-calendar-grid article{min-height:82px;padding:5px 3px}.calendar-count{padding:2px 3px;font-size:9px}.calendar-count svg{display:none}}.verification-page{color:#3f234c;background:linear-gradient(150deg,#fff8ec 0%,#fff4ec 52%,#f6edf9 100%);place-items:center;min-height:100dvh;padding:32px 20px;display:grid}.verification-card{text-align:center;background:#ffffffeb;border:1px solid #873f941f;border-radius:28px;width:min(100%,520px);padding:38px 34px 30px;box-shadow:0 24px 70px #53285b24}.verification-card>.brand-lockup{justify-content:center;margin-bottom:30px}.verification-icon{border-radius:22px;place-items:center;width:68px;height:68px;margin:0 auto 18px;display:grid}.verification-icon svg{width:34px;height:34px}.verification-success .verification-icon{color:#14766f;background:#e5f5f1}.verification-invalid .verification-icon{color:#9b6818;background:#fff2d8}.verification-failed .verification-icon{color:#b6414b;background:#fdebed}.verification-card .eyebrow{color:#6b4a74;letter-spacing:.08em;margin:0 0 8px;font-size:13px;font-weight:850}.verification-card h1{color:#492351;letter-spacing:-.045em;word-break:keep-all;margin:0;font-size:clamp(27px,7vw,36px);line-height:1.3}.verification-description{color:#775c78;word-break:keep-all;margin:14px auto 24px;line-height:1.7}.verification-guidance{color:#3d3350;text-align:left;background:#f7f2f8;border-radius:16px;padding:18px}.verification-guidance strong{color:#492351;margin-bottom:6px;display:block}.verification-guidance p{word-break:keep-all;margin:0;line-height:1.75}.verification-close{color:#8b7a8e;margin:20px 0 0;font-size:13px}.verification-card .login-policy-links{justify-content:center;margin-top:20px}.app-only-page{color:#3f234c;background:linear-gradient(150deg,#fff8ec 0%,#fff4ec 52%,#f6edf9 100%);place-items:center;min-height:100dvh;padding:28px 20px;display:grid}.app-only-card{text-align:center;background:#ffffffd6;border:1px solid #873f941f;border-radius:28px;width:min(100%,460px);padding:42px 32px 30px;box-shadow:0 24px 70px #53285b24}.app-only-card>.brand-lockup{justify-content:center}.app-only-icon{color:#874393;background:#f4e9f6;border-radius:20px;place-items:center;width:64px;height:64px;margin:34px auto 20px;display:grid}.app-only-icon svg{width:30px;height:30px}.app-only-card h1{color:#492351;letter-spacing:-.045em;word-break:keep-all;margin:0;font-size:clamp(25px,6vw,32px);line-height:1.3}.app-only-card>p{color:#775c78;word-break:keep-all;margin:14px auto 28px;font-size:15px;line-height:1.7}.app-only-card .login-policy-links{justify-content:center;margin-top:0}.native-intro{z-index:1000;min-height:100dvh;padding:max(28px, env(safe-area-inset-top)) 24px max(30px, env(safe-area-inset-bottom));color:#3f234c;background:linear-gradient(150deg,#fff8ec 0%,#fff4ec 52%,#f6edf9 100%);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.native-intro-loading .brand-lockup{animation:.55s both native-intro-rise}.native-intro-glow{filter:blur(8px);opacity:.45;pointer-events:none;border-radius:50%;width:270px;height:270px;position:absolute}.native-intro-glow-one{background:#ffc7cf;top:-95px;right:-110px}.native-intro-glow-two{background:#d8c3ec;bottom:-130px;left:-100px}.native-intro-card{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;width:min(100%,430px);min-height:min(72dvh,610px);animation:.55s both native-intro-rise;display:flex;position:relative}.native-intro-card>.brand-lockup{flex-direction:column;gap:14px}.native-intro-card .classieum-mark{width:132px;height:132px}.native-intro-card .classieum-mark svg{filter:drop-shadow(0 18px 24px #69316f29);width:132px;height:132px}.native-intro-card .brand-copy strong{color:#5c2866;letter-spacing:-.04em;font-size:23px}.native-intro-card .brand-copy small{color:#a26080;letter-spacing:.18em;margin-top:3px;font-size:10px}.native-intro-copy{margin-top:40px}.native-intro-copy .eyebrow{color:#b14e74;letter-spacing:.08em;margin:0 0 9px;font-size:12px;font-weight:850}.native-intro-copy h1{color:#492351;letter-spacing:-.06em;margin:0;font-size:clamp(31px,9vw,42px);line-height:1.15}.native-intro-copy>p:last-child{color:#775c78;word-break:keep-all;margin:14px auto 0;font-size:15px;line-height:1.7}.native-intro-start{background:linear-gradient(135deg,#e9617f,#873f94);border-radius:17px;justify-content:center;width:100%;min-height:56px;margin-top:52px;font-size:15px;box-shadow:0 14px 30px #7b37823b}.native-intro-start svg{width:19px}.native-intro-version{color:#9a7f9b;letter-spacing:.02em;margin:14px 0 0;font-size:11px;font-weight:700}.native-exit-backdrop{z-index:1100;place-items:center;padding:24px;display:grid}.native-exit-dialog{text-align:center;border-radius:22px;width:min(100vw - 48px,340px);max-height:none;margin:auto;padding:28px 24px 22px;overflow:visible;box-shadow:0 24px 70px #23122b52}.native-exit-icon{color:#874393;background:#f4e9f6;border-radius:18px;place-items:center;width:54px;height:54px;margin:0 auto 15px;display:grid}.native-exit-icon svg{width:25px;height:25px}.native-exit-dialog h2{color:#42224b;margin:0;font-size:20px}.native-exit-dialog>p{color:#725e75;margin:8px 0 22px}.native-exit-actions{justify-content:center;align-items:center;gap:10px;width:100%;margin:0 auto;display:flex}.native-exit-dialog .native-exit-actions button{flex:0 132px;justify-content:center;min-width:112px;min-height:45px}@keyframes native-intro-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-height:670px){.native-intro-card{min-height:auto}.native-intro-card .classieum-mark,.native-intro-card .classieum-mark svg{width:98px;height:98px}.native-intro-copy{margin-top:24px}.native-intro-start{margin-top:30px}}.settings-page:has(+.settings-extension){padding-bottom:0}.app-frame.has-ad-banner .settings-page:has(+.settings-extension){padding-bottom:0}.settings-extension{margin-top:0;padding-top:18px}.promotion-card{gap:14px;margin:0;padding:17px;display:grid}.promotion-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.promotion-heading h2{margin:5px 0 7px}.promotion-heading .settings-help{max-width:520px}.promotion-form{align-items:end;gap:10px;padding-top:2px;display:flex}.promotion-form label{flex:1;margin:0}.promotion-form .primary{flex:none}.promotion-card .form-success,.promotion-card .form-error{margin:0}.plan-badge{border-radius:999px;flex:none;padding:5px 10px;font-size:12px;font-weight:850;display:inline-flex}.plan-badge.free{color:#52616b;background:#edf1f3}.feedback-layout{grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.feedback-form{padding:17px}.feedback-list{gap:12px;display:grid}.feedback-list>h2{margin:4px 0 1px;font-size:19px}.feedback-item{padding:17px}.feedback-item h3{margin:12px 0 8px;font-size:17px}.feedback-meta,.admin-feedback-head{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.feedback-meta>span:first-child{color:var(--teal);font-weight:800}.feedback-meta time,.admin-feedback-head time{white-space:nowrap;margin-left:auto}.feedback-meta .status{border-radius:999px;padding:4px 9px;font-weight:800}.feedback-meta .status.open{color:#8b5d0d;background:#fff4d7}.feedback-meta .status.answered{color:#176346;background:#e0f5e9}.feedback-body,.admin-feedback-body{white-space:pre-wrap;overflow-wrap:anywhere}.feedback-body{border:1px solid var(--line);background:var(--surface);border-radius:10px;margin:0;padding:13px 14px}@supports (color:color-mix(in lab, red, red)){.feedback-body{background:color-mix(in srgb, var(--surface) 82%, var(--canvas))}}.feedback-body{line-height:1.65}.admin-reply{border-left:4px solid var(--teal);background:var(--teal-soft);border-radius:9px;margin-top:13px;padding:13px 14px}.admin-reply strong{color:var(--teal);font-size:12px}.admin-reply p{white-space:pre-wrap;margin:6px 0 0;line-height:1.6}.theme-dark :is(.feedback-item,.feedback-form,.promotion-card){color:var(--ink);background:var(--surface);border-color:var(--line)}.theme-dark .feedback-body{background:#182433}.theme-dark .plan-badge.free{color:var(--muted);background:#303d4c}.theme-dark .plan-badge.paid{color:#8ee4c5;background:#173d40}.admin-feedback-list,.admin-promotion-grid{gap:16px;margin-top:22px;display:grid}.admin-feedback-card{margin-top:0;padding:0;overflow:hidden}.admin-feedback-head{background:#f7fafb;border-bottom:1px solid #e3eaee;min-height:48px;padding:10px 20px}.admin-feedback-head>div{align-items:center;gap:8px;display:flex}.admin-feedback-head>div>span:last-child{color:#155f9f;font-weight:800}.admin-feedback-title{padding:20px 22px 0}.admin-feedback-title h2{margin:0;font-size:20px}.admin-feedback-author{color:#667b87;margin:6px 0 0;font-size:13px}.admin-feedback-message{background:#f7fafb;border:1px solid #dce6eb;border-radius:11px;margin:18px 22px;padding:16px 18px}.admin-feedback-message>strong{color:#155f9f;font-size:12px}.admin-feedback-body{color:#304955;margin:7px 0 0;line-height:1.7}.admin-feedback-reply{background:#fff;border-top:1px solid #e3eaee;padding:18px 22px 21px}.admin-feedback-reply label,.admin-promotion-form label{color:#526975;gap:7px;margin:0;font-size:13px;font-weight:800;display:grid}.admin-feedback-reply textarea{resize:vertical;width:100%;margin-top:1px}.admin-feedback-actions{justify-content:space-between;align-items:center;gap:14px;margin-top:12px;display:flex}.admin-feedback-actions small{color:#758893;font-size:12px}.admin-feedback-actions .primary{flex:none;margin:0}.admin-promotion-form{margin-bottom:18px}.admin-promotion-form h2{margin-top:0}.admin-promotion-fields{grid-template-columns:1.2fr 1.2fr .7fr .7fr .85fr;align-items:end;gap:12px;display:grid}.admin-promotion-card{grid-template-columns:minmax(190px,.9fr) minmax(300px,1.25fr) minmax(220px,1fr) auto;align-items:center;gap:18px;display:grid}.admin-promotion-card h2{margin:10px 0 6px}.admin-promotion-card code{color:#155f9f;letter-spacing:.04em;background:#eaf4ff;border-radius:7px;padding:7px 10px;font-weight:800;display:inline-block}.admin-promotion-card dl{grid-template-columns:repeat(3,1fr);gap:10px;margin:0;display:grid}.admin-promotion-card dl div{background:#f6f8f9;border-radius:8px;padding:10px}.admin-promotion-card dt{color:var(--muted);font-size:12px}.admin-promotion-card dd{margin:3px 0 0;font-weight:750}.admin-promotion-users{background:#f9fbfc;border:1px solid #dbe6ea;border-radius:9px;min-width:0;padding:10px 12px}.admin-promotion-users summary{color:#245d78;cursor:pointer;font-size:12px;font-weight:850}.admin-promotion-users ul{gap:7px;max-height:210px;margin:10px 0 0;padding:0;list-style:none;display:grid;overflow-y:auto}.admin-promotion-users li{background:#fff;border-radius:7px;gap:2px;padding:8px 9px;display:grid}.admin-promotion-users li strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.admin-promotion-users li small,.admin-promotion-users li span,.admin-promotion-users p{color:#71838d;font-size:10px}.admin-promotion-users p{margin:9px 0 0}.upgrade-plan-dialog{text-align:center;width:min(92vw,540px);padding:28px;position:relative}.upgrade-plan-icon{color:#fff;background:linear-gradient(135deg,#177b5a,#36a985);border-radius:18px;place-items:center;width:56px;height:56px;margin:0 auto 12px;display:grid;box-shadow:0 10px 24px #177b5a38}.upgrade-plan-icon svg{width:27px}.upgrade-plan-dialog .eyebrow{color:#187456;letter-spacing:.08em;margin:0 0 7px;font-size:11px;font-weight:900}.upgrade-plan-dialog h2{max-width:430px;margin:0 auto;font-size:clamp(21px,4vw,28px);line-height:1.25}.upgrade-plan-copy{color:var(--muted);margin:13px auto 18px;font-size:13px;line-height:1.65}.upgrade-benefits{text-align:left;gap:8px;margin:0;padding:0;list-style:none;display:grid}.upgrade-benefits li{background:#f4faf7;border:1px solid #d8e7e0;border-radius:11px;grid-template-columns:28px 1fr;align-items:center;gap:10px;padding:11px 13px;display:grid}.upgrade-benefits li>svg{color:#fff;background:#21805f;border-radius:50%;width:20px;height:20px;padding:4px}.upgrade-benefits li span{gap:2px;display:grid}.upgrade-benefits strong{font-size:13px}.upgrade-benefits small{color:var(--muted);font-size:11px}.upgrade-plan-help{color:#536b76;text-align:left;background:#f2f6f8;border-radius:9px;margin:14px 0 0;padding:10px 12px;font-size:11px;line-height:1.55}.upgrade-plan-dialog .modal-actions{margin-top:16px}.theme-dark .upgrade-plan-dialog{background:#13251f;border-color:#314b43}.theme-dark .upgrade-benefits li{background:#19342b;border-color:#315248}.theme-dark .upgrade-plan-help{color:#b9c9c2;background:#1a3029}@media (max-width:900px){.feedback-layout{grid-template-columns:1fr}.admin-promotion-fields{grid-template-columns:1fr 1fr}.admin-promotion-card{grid-template-columns:1fr}.admin-promotion-card dl{grid-template-columns:repeat(3,1fr)}}@media (max-width:560px){.settings-extension{padding-top:14px}.promotion-heading,.promotion-form,.admin-feedback-actions{flex-direction:column;align-items:stretch}.promotion-form button,.admin-feedback-actions .primary{width:100%}.admin-promotion-fields,.admin-promotion-card dl{grid-template-columns:1fr}.feedback-item,.feedback-form,.promotion-card{padding:16px}.feedback-meta{flex-wrap:wrap}.feedback-meta time{width:100%;margin-left:0}.admin-feedback-head,.admin-feedback-title,.admin-feedback-reply{padding-left:16px;padding-right:16px}.admin-feedback-message{margin-left:16px;margin-right:16px}.upgrade-plan-dialog{padding:24px 18px 20px}.upgrade-plan-dialog .modal-actions{flex-direction:column;align-items:stretch}.upgrade-plan-dialog .modal-actions button{width:100%;min-height:46px}.upgrade-plan-dialog h2{font-size:21px}}.admin-history-toggle{color:#24434f;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;min-height:52px;padding:13px 16px;display:flex}.admin-history-toggle>span{align-items:baseline;gap:8px;display:flex}.admin-history-toggle small{color:#6d818b}.admin-history-toggle svg{width:19px;transition:transform .2s}.admin-plan-history.expanded .admin-history-toggle svg{transform:rotate(180deg)}.admin-plan-history.collapsed{padding:0;overflow:hidden}.admin-plan-history.expanded{padding-top:0}.admin-teacher-settings,.admin-subscriber-promotion{background:#f8fbfc;border:1px solid #dce7eb;border-radius:12px;margin:14px 0;padding:16px}.admin-detail-section-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.admin-detail-section-heading h3{margin:0;font-size:15px}.admin-detail-section-heading small{color:#71848d;font-size:11px}.admin-teacher-settings dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.admin-teacher-settings dl div{background:#fff;border-radius:8px;padding:9px 10px}.admin-teacher-settings dt{color:#71848d;font-size:11px}.admin-teacher-settings dd{overflow-wrap:anywhere;margin:3px 0 0;font-size:12px;font-weight:750}.admin-subscriber-promotion label{color:#526975;gap:7px;font-size:12px;font-weight:800;display:grid}.admin-subscriber-promotion>div:last-child{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.admin-subscriber-promotion p{color:#607580;margin:0;font-size:12px}.admin-list-heading .admin-search{width:min(420px,100%)}.admin-feedback-filters,.admin-promotion-tabs{background:#f4f7f8;border:1px solid #dbe6ea;border-radius:10px;gap:4px;padding:4px;display:inline-flex}.admin-feedback-filters button,.admin-promotion-tabs button{color:#637984;background:0 0;border:0;border-radius:7px;min-height:34px;padding:6px 13px;font-weight:800}.admin-feedback-filters button.active,.admin-promotion-tabs button.active{color:#fff;background:#245d78;box-shadow:0 3px 8px #245d782e}.admin-feedback-table,.feedback-table{background:#fff;border:1px solid #dce6ea;border-radius:12px;overflow:hidden}.admin-feedback-columns,.admin-feedback-row{grid-template-columns:130px minmax(180px,1fr) minmax(230px,1.15fr) 160px 24px;align-items:center;gap:12px;display:grid}.admin-feedback-columns{color:#71848d;background:#f3f7f8;min-height:36px;padding:0 14px;font-size:11px;font-weight:800}.admin-feedback-row{color:#27404b;text-align:left;background:#fff;border:0;border-top:1px solid #e8eef0;width:100%;min-height:58px;padding:8px 14px}.admin-feedback-row:hover{background:#f4faf8}.admin-feedback-row>span{gap:3px;min-width:0;display:grid}.admin-feedback-row small{color:#71848d;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.admin-feedback-row time{color:#607580;font-size:11px}.admin-feedback-row svg{color:#8da0a8;width:17px}.admin-feedback-detail{width:min(94vw,720px)}.admin-feedback-detail h2{margin:20px 22px 0}.admin-feedback-detail .admin-feedback-author{margin-inline:22px}.feedback-page-actions{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.feedback-page-actions p{color:var(--muted);margin:0;font-size:12px}.feedback-page-actions .primary{margin:0}.feedback-row{border:0;border-top:1px solid var(--line);width:100%;min-height:56px;color:var(--ink);background:var(--surface);text-align:left;grid-template-columns:120px minmax(0,1fr) 150px 22px;align-items:center;gap:12px;padding:8px 14px;display:grid}.feedback-row:first-child{border-top:0}.feedback-row>span{align-items:center;gap:7px;display:flex}.feedback-row small,.feedback-row time{color:var(--muted);font-size:11px}.feedback-row svg{width:17px;color:var(--muted)}.feedback-pagination{justify-content:center;align-items:center;gap:14px;margin-top:14px;display:flex}.feedback-pagination span{color:var(--muted);font-size:12px;font-weight:800}.feedback-detail{width:min(92vw,620px)}.admin-promotion-heading{align-items:center}.admin-promotion-heading .primary{flex:none;margin:0}.admin-promotion-tabs{margin-bottom:16px}.admin-promotion-form.modal-card{width:min(94vw,720px);margin-bottom:0}.admin-promotion-form.modal-card .admin-promotion-fields{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.admin-promotion-form.modal-card .admin-promotion-fields label:first-child{grid-column:1/-1}.admin-promotion-card{padding:18px;display:block}.admin-promotion-card-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.admin-promotion-card-head .secondary{flex:none}.admin-promotion-card dl{grid-template-columns:repeat(4,1fr);margin-top:16px}.admin-promotion-usage{gap:7px;display:grid}.admin-promotion-usage-row{background:#fff;border:1px solid #dce6ea;border-radius:10px;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.2fr) minmax(220px,1fr) 150px;align-items:center;gap:14px;min-height:62px;padding:10px 14px;display:grid}.admin-promotion-usage-row>span{gap:3px;min-width:0;display:grid}.admin-promotion-usage-row small{color:#71848d;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.admin-promotion-usage-row time{color:#607580;font-size:11px}@media (max-width:760px){.admin-feedback-columns{display:none}.admin-feedback-row{grid-template-columns:98px minmax(0,1fr) 22px}.admin-feedback-row>span:nth-of-type(2),.admin-feedback-row time{display:none}.admin-teacher-settings dl{grid-template-columns:1fr}.admin-promotion-heading,.feedback-page-actions,.admin-subscriber-promotion>div:last-child{flex-direction:column;align-items:stretch}.admin-promotion-heading .primary,.feedback-page-actions .primary,.admin-subscriber-promotion .primary{width:100%}.admin-promotion-card dl{grid-template-columns:repeat(2,1fr)}.admin-promotion-usage-row,.admin-promotion-form.modal-card .admin-promotion-fields{grid-template-columns:1fr}.admin-promotion-form.modal-card .admin-promotion-fields label:first-child{grid-column:auto}.feedback-row{grid-template-columns:92px minmax(0,1fr) 20px}.feedback-row time{display:none}.admin-detail-section-heading{flex-direction:column;align-items:flex-start}}.legal-page{color:#17222c;background:linear-gradient(145deg,#fff8ec 0%,#f3f7ff 55%,#f2eafb 100%);min-height:100vh;padding:56px 20px 72px}.legal-header,.legal-card,.legal-links{width:min(820px,100%);margin-inline:auto}.legal-header{text-align:center}.legal-header .classieum-mark{width:78px;height:78px;margin:0 auto 14px}.legal-header .eyebrow{color:#7a3fa3;letter-spacing:.15em;margin:0 0 8px;font-size:12px;font-weight:900}.legal-header h1{letter-spacing:-.04em;margin:0;font-size:clamp(30px,5vw,46px)}.legal-header>p:last-child{color:#60717b;max-width:620px;margin:14px auto 28px;line-height:1.7}.legal-card{background:#fffffff0;border:1px solid #63487721;border-radius:24px;padding:clamp(24px,5vw,48px);box-shadow:0 20px 70px #382a461a}.legal-card section+section{border-top:1px solid #e8e5ec;margin-top:34px;padding-top:30px}.legal-card h2{color:#273642;margin:0 0 13px;font-size:20px}.legal-card p,.legal-card li{color:#52636e;line-height:1.8}.legal-card ul,.legal-card ol{padding-left:22px}.legal-card a,.legal-links a{color:#5d34a1;font-weight:800}.policy-date{text-align:right;margin-top:0;font-size:13px;color:#7a8790!important}.danger-notice{background:#fff0f0;border-radius:10px;padding:14px 16px;font-weight:800;color:#9b2c2c!important}.legal-links{flex-wrap:wrap;justify-content:center;gap:10px 22px;padding-top:24px;font-size:13px;display:flex}.login-policy-links{flex-wrap:wrap;justify-content:center;gap:7px 14px;margin-top:14px;font-size:11px;display:flex}.login-policy-links a{color:var(--muted);text-underline-offset:3px;text-decoration:underline}.account-danger-zone{background:snow;border:1px solid #f2c8c8}.account-danger-zone h2{color:#a02f2f}.account-danger-zone .danger{color:#fff;background:#b93737}.delete-account-copy{color:#873333;background:#fff1f1;border-radius:9px;padding:12px 14px;line-height:1.65}@media (max-width:560px){.legal-page{padding:32px 14px 48px}.legal-card{border-radius:18px}.legal-links{flex-direction:column;align-items:center}}.marketing-page{--m-ink:#17131b;--m-muted:#706b72;--m-paper:#f8f6f1;--m-coral:#ef5b7f;--m-violet:#7152b7;color:var(--m-ink);background:var(--m-paper);font-family:Inter,Pretendard,Apple SD Gothic Neo,system-ui,sans-serif;overflow:clip}.marketing-page *,.marketing-page :before,.marketing-page :after{box-sizing:border-box}.marketing-page a{color:inherit;text-decoration:none}.marketing-shell{width:min(1180px,100% - 48px);margin-inline:auto}.marketing-header{z-index:50;-webkit-backdrop-filter:blur(22px)saturate(160%);backdrop-filter:blur(22px)saturate(160%);background:#f8f6f1d1;border-bottom:1px solid #17131b14;height:76px;position:sticky;top:0}.marketing-nav{justify-content:space-between;align-items:center;height:100%;display:flex}.marketing-brand .brand-lockup{gap:8px}.marketing-brand .classieum-mark{width:42px;height:42px}.marketing-brand .brand-copy small{color:#867b84;letter-spacing:.18em;font-size:8px}.marketing-brand .brand-copy strong{color:var(--m-ink);font-size:17px}.marketing-nav>nav{align-items:center;gap:34px;display:flex}.marketing-nav>nav a{color:#554f57;letter-spacing:-.02em;font-size:13px;font-weight:650}.marketing-nav>nav a:hover{color:var(--m-violet)}.marketing-play{background:#17131b;border-radius:12px;align-items:center;gap:11px;min-height:58px;padding:9px 19px;transition:transform .25s,box-shadow .25s;display:inline-flex;box-shadow:0 12px 24px #19111e21;color:#fff!important}.marketing-play:hover{transform:translateY(-2px);box-shadow:0 18px 34px #19111e33}.marketing-play-mark{place-items:center;width:25px;height:25px;font-size:14px;display:grid}.marketing-play span:last-child{text-align:left;display:grid}.marketing-play small{letter-spacing:.14em;font-size:8px;font-weight:700}.marketing-play strong{font-size:17px;line-height:1.1}.marketing-play.compact{border-radius:9px;min-height:42px;padding:7px 14px}.marketing-play.compact .marketing-play-mark{width:18px;height:18px;font-size:10px}.marketing-play.compact small{font-size:6px}.marketing-play.compact strong{font-size:13px}.marketing-hero{background:radial-gradient(circle at 83% 16%,#ee5b7f21,#0000 23%),radial-gradient(circle at 69% 56%,#7152b71a,#0000 30%);min-height:790px;padding:96px 0 90px;position:relative}.marketing-hero-grid{grid-template-columns:.88fr 1.12fr;align-items:center;gap:42px;display:grid}.marketing-hero-copy{z-index:2;position:relative}.marketing-kicker{color:#65469d;background:#ffffff94;border:1px solid #7152b72e;border-radius:100px;align-items:center;gap:8px;margin:0 0 22px;padding:8px 12px;font-size:12px;font-weight:750;display:inline-flex}.marketing-kicker svg{width:14px}.marketing-hero h1{letter-spacing:-.068em;text-wrap:balance;margin:0;font-size:clamp(52px,4.55vw,72px);font-weight:620;line-height:1.02}.marketing-hero h1 span{color:#0000;background:linear-gradient(112deg,#ed5e7f 12%,#7951b8 88%);-webkit-background-clip:text;background-clip:text}.marketing-lead{max-width:540px;color:var(--m-muted);letter-spacing:-.025em;margin:28px 0 0;font-size:18px;line-height:1.72}.marketing-hero-actions{align-items:center;gap:24px;margin-top:36px;display:flex}.marketing-text-cta{align-items:center;gap:8px;font-size:14px;font-weight:750;display:inline-flex}.marketing-text-cta svg{width:17px;transition:transform .2s}.marketing-text-cta:hover svg{transform:translate(4px)}.marketing-proof{color:#6f6870;flex-wrap:wrap;gap:14px 20px;margin-top:30px;font-size:11px;font-weight:650;display:flex}.marketing-proof span{align-items:center;gap:5px;display:flex}.marketing-proof svg{width:13px;color:var(--m-coral)}.marketing-product-stage{perspective:1100px;min-height:580px;position:relative}.marketing-orbit{border:1px solid #7152b729;border-radius:50%;position:absolute}.marketing-orbit.orbit-one{inset:4% 1% 4% 8%;transform:rotate(-12deg)}.marketing-orbit.orbit-two{inset:13% 9% 8% 0;transform:rotate(22deg)}.marketing-app-window{z-index:2;background:#fff;border:1px solid #1e16231f;border-radius:18px;grid-template-columns:165px 1fr;display:grid;position:absolute;inset:47px -78px 35px 0;overflow:hidden;transform:rotateY(-5deg)rotateX(2deg);box-shadow:0 45px 90px #4230462b,0 12px 30px #1d152017}.marketing-preview-nav{color:#fff;background:#211a27;flex-direction:column;padding:24px 17px 18px;display:flex}.marketing-preview-nav .brand-lockup{gap:5px}.marketing-preview-nav .classieum-mark{width:32px;height:32px}.marketing-preview-nav .brand-copy small{color:#a99eae;font-size:6px}.marketing-preview-nav .brand-copy strong{color:#fff;font-size:11px}.marketing-preview-links{gap:8px;margin-top:30px;display:grid}.marketing-preview-links span{color:#aaa1ae;border-radius:7px;align-items:center;gap:8px;padding:9px 10px;font-size:9px;font-weight:650;display:flex}.marketing-preview-links span.active{color:#fff;background:linear-gradient(100deg,#ee5b7f52,#7152b752)}.marketing-preview-links svg{width:13px}.marketing-preview-profile{align-items:center;gap:8px;margin-top:auto;display:flex}.marketing-preview-profile i{background:#ef6687;border-radius:8px;place-items:center;width:28px;height:28px;font-size:9px;font-style:normal;display:grid}.marketing-preview-profile span{display:grid}.marketing-preview-profile strong{font-size:8px}.marketing-preview-profile small{color:#9e95a2;font-size:6px}.marketing-preview-main{background:#fbfaf8;padding:27px}.marketing-preview-top{justify-content:space-between;align-items:center;display:flex}.marketing-preview-top span{display:grid}.marketing-preview-top small{color:#8c838d;font-size:7px}.marketing-preview-top strong{letter-spacing:-.04em;font-size:18px}.marketing-preview-top button{color:#fff;background:#7852b5;border:0;border-radius:7px;min-height:30px;padding:0 12px;font-size:8px}.marketing-preview-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:21px;display:grid}.marketing-preview-stats article{background:#fff;border:1px solid #ebe5eb;border-radius:9px;padding:12px}.marketing-preview-stats small{color:#908792;font-size:7px;display:block}.marketing-preview-stats strong{margin-top:3px;font-size:20px}.marketing-preview-stats em{color:#8a808b;margin-left:2px;font-size:7px;font-style:normal}.marketing-preview-schedule{grid-template-columns:39px 1fr;gap:9px;margin-top:16px;display:grid}.marketing-time-rail{color:#aaa2aa;text-align:right;flex-direction:column;justify-content:space-around;font-size:6px;display:flex}.marketing-lessons{gap:7px;display:grid}.marketing-lessons article{border-radius:8px;grid-template-columns:68px 1fr auto;align-items:center;min-height:48px;padding:9px 12px;display:grid}.marketing-lessons article.coral{background:#fff0f3}.marketing-lessons article.violet{background:#f2edfa}.marketing-lessons article.mint{background:#eaf7f2}.marketing-lessons time,.marketing-lessons small{color:#827882;font-size:6px}.marketing-lessons strong{font-size:8px}.marketing-floating-card{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffed;border:1px solid #1e162314;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;display:flex;position:absolute;box-shadow:0 18px 40px #36253d26}.marketing-floating-card.student{bottom:1px;right:-18px}.marketing-floating-card.reminder{top:13px;right:17px}.marketing-floating-card span:first-child{color:#fff;background:#7351ad;border-radius:9px;place-items:center;width:34px;height:34px;font-size:11px;font-style:normal;display:grid}.marketing-floating-card.student span:first-child{background:#ef6687}.marketing-floating-card div{min-width:86px;display:grid}.marketing-floating-card small{color:#8b818b;font-size:7px}.marketing-floating-card strong{font-size:10px}.marketing-floating-card b{color:#fff;background:#37a67a;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.marketing-floating-card b svg{width:12px}.marketing-hero-phone{z-index:2;color:#2d2631;background:#f5f2f6;border:8px solid #241d27;border-radius:42px;width:min(370px,78%);min-height:565px;position:absolute;top:15px;left:50%;overflow:hidden;transform:translate(-50%)rotate(2deg);box-shadow:0 45px 90px #33233a38}.marketing-hero-phone>header{background:#fff;justify-content:space-between;align-items:center;height:68px;padding:18px 19px 8px;display:flex}.marketing-hero-phone>header .classieum-mark{width:31px;height:31px}.marketing-hero-phone>header .brand-copy strong{font-size:10px}.marketing-hero-phone>header .brand-copy small{font-size:5px}.marketing-hero-phone>header>svg{width:17px}.marketing-hero-phone>main{padding:21px 18px 72px}.marketing-hero-phone>main>p{color:#8a808b;margin:0 0 4px;font-size:8px}.marketing-hero-phone-title{justify-content:space-between;align-items:center;display:flex}.marketing-hero-phone-title h3{letter-spacing:-.05em;margin:0;font-size:22px}.marketing-hero-phone-title button{color:#fff;background:#7552b1;border:0;border-radius:8px;min-height:30px;padding:0 10px;font-size:8px;font-weight:800}.marketing-hero-phone-kpis{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:15px;display:grid}.marketing-hero-phone-kpis span{background:#fff;border:1px solid #e7e1e8;border-radius:10px;gap:4px;padding:11px 9px;display:grid}.marketing-hero-phone-kpis small{color:#918792;font-size:6px}.marketing-hero-phone-kpis strong{font-size:18px}.marketing-hero-phone-ticket{color:#fff;background:linear-gradient(145deg,#6b49aa,#9367c2);border-radius:15px;margin-top:10px;padding:16px;box-shadow:0 14px 29px #64459e38}.marketing-hero-phone-ticket header,.marketing-hero-phone-ticket footer{justify-content:space-between;align-items:center;display:flex}.marketing-hero-phone-ticket header span{align-items:center;gap:5px;font-size:7px;font-weight:800;display:flex}.marketing-hero-phone-ticket header svg{width:13px}.marketing-hero-phone-ticket header b{background:#ffffff29;border-radius:99px;padding:4px 6px;font-size:6px}.marketing-hero-phone-ticket h4{margin:14px 0 2px;font-size:17px}.marketing-hero-phone-ticket time{color:#eadff3;font-size:8px}.marketing-hero-phone-ticket footer{border-top:1px solid #ffffff38;margin-top:13px;padding-top:11px;font-size:7px}.marketing-hero-phone-ticket footer strong{color:#fff}.marketing-hero-phone-list{background:#fff;border:1px solid #e8e2e9;border-radius:13px;margin-top:10px;padding:13px 14px}.marketing-hero-phone-list>header{justify-content:space-between;margin-bottom:5px;font-size:8px;display:flex}.marketing-hero-phone-list>header small{color:#7552b1}.marketing-hero-phone-list article{border-top:1px solid #eee9ef;grid-template-columns:4px 1fr;gap:8px;padding:9px 0;display:grid}.marketing-hero-phone-list i{background:#ed6384;border-radius:9px}.marketing-hero-phone-list i.violet{background:#7552b1}.marketing-hero-phone-list article span{gap:2px;display:grid}.marketing-hero-phone-list b{font-size:8px}.marketing-hero-phone-list small{color:#8a808b;font-size:6px}.marketing-hero-phone>nav{background:#fffffff5;border-top:1px solid #e8e2e9;grid-template-columns:repeat(4,1fr);padding:10px 8px 13px;display:grid;position:absolute;bottom:0;left:0;right:0}.marketing-hero-phone>nav span{color:#8b828c;justify-items:center;gap:3px;font-size:6px;display:grid}.marketing-hero-phone>nav span:first-child{color:#7552b1}.marketing-hero-phone>nav svg{width:14px;height:14px}.marketing-marquee{background:#fff;border-block:1px solid #1e162314;overflow:hidden}.marketing-marquee>div{color:#6e666f;justify-content:center;align-items:center;gap:34px;min-width:max-content;padding:19px 30px;font-size:12px;font-weight:650;display:flex}.marketing-marquee i{color:#d2a3bd;font-style:normal}.marketing-problem{color:#fff;background:#19141d;padding:150px 0}.marketing-problem-grid{grid-template-columns:1.08fr .92fr;gap:100px;display:grid}.marketing-section-label{color:#c4669b;letter-spacing:.18em;margin:0 0 19px;font-size:10px;font-weight:850}.marketing-problem h2,.marketing-section-head h2,.marketing-final h2{letter-spacing:-.058em;margin:0;font-size:clamp(39px,4.2vw,62px);font-weight:560;line-height:1.12}.marketing-problem-copy>p{color:#bdb5c1;max-width:450px;margin:35px 0 45px;font-size:17px;line-height:1.7}.marketing-problem-copy ul{margin:0;padding:0;list-style:none}.marketing-problem-copy li{color:#e5dfe8;border-top:1px solid #ffffff1f;grid-template-columns:38px 1fr;padding:19px 0;font-size:14px;display:grid}.marketing-problem-copy li span{color:#9b8da1;letter-spacing:.08em;font-size:10px}.marketing-features{background:#fff;padding:145px 0}.marketing-section-head{grid-template-columns:1fr .55fr;align-items:end;margin-bottom:62px;display:grid}.marketing-section-head .marketing-section-label{color:#8b5ab4;grid-column:1/-1}.marketing-section-head h2{font-size:clamp(42px,4.4vw,64px)}.marketing-section-head>p:last-child{color:var(--m-muted);margin:0 0 6px;line-height:1.7}.marketing-bento{grid-template-columns:1.18fr .82fr;gap:16px;display:grid}.marketing-feature-card{background:#faf9f6;border:1px solid #e8e3e8;border-radius:20px;min-height:330px;padding:34px;position:relative;overflow:hidden}.marketing-feature-card>small{color:#9a8c9a;letter-spacing:.12em;font-size:8px;font-weight:750}.marketing-feature-card h3{letter-spacing:-.04em;margin:13px 0 10px;font-size:25px}.marketing-feature-card p{color:#746d75;max-width:430px;margin:0;font-size:13px;line-height:1.65}.marketing-feature-icon{color:#fff;background:#231b27;border-radius:12px;place-items:center;width:42px;height:42px;margin-bottom:24px;display:grid}.marketing-feature-icon svg{width:19px}.marketing-feature-card.calendar{background:#f4effa;grid-template-columns:.8fr 1.2fr;align-items:center;min-height:420px;display:grid}.marketing-feature-card.calendar .marketing-feature-icon{background:#7954b7}.marketing-feature-card.students{background:#fff1f4}.marketing-feature-card.students .marketing-feature-icon{background:#ed6384}.marketing-feature-card.groups{background:#eef8f4}.marketing-feature-card.groups .marketing-feature-icon{background:#368d6c}.marketing-feature-card.communication{background:#f7f4ed}.marketing-mini-calendar{background:#fff;border-radius:15px;align-self:stretch;padding:25px;transform:rotate(2deg);box-shadow:0 25px 50px #5b42691f}.marketing-mini-calendar header{justify-content:space-between;align-items:baseline;display:flex}.marketing-mini-calendar header b{font-size:19px}.marketing-mini-calendar header span{color:#978c98;font-size:9px}.marketing-week,.marketing-days{text-align:center;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:17px;display:grid}.marketing-week{color:#aaa0aa;font-size:7px}.marketing-days{margin-top:10px}.marketing-days span{aspect-ratio:1;border-radius:50%;place-items:center;font-size:8px;display:grid;position:relative}.marketing-days span.has{color:#fff;background:#7451b0}.marketing-student-stack{gap:7px;margin-top:29px;display:grid}.marketing-student-stack span{background:#ffffffc7;border-radius:9px;grid-template-columns:31px 1fr auto;align-items:center;gap:10px;padding:9px 11px;display:grid}.marketing-student-stack i,.marketing-avatar-row i{color:#fff;background:#eb718e;border-radius:9px;place-items:center;width:31px;height:31px;font-size:9px;font-style:normal;display:grid}.marketing-student-stack b{font-size:10px}.marketing-student-stack em{color:#9b8c95;font-size:8px;font-style:normal}.marketing-avatar-row{margin-top:35px;display:flex}.marketing-avatar-row i{background:#559b80;border:3px solid #eef8f4;margin-right:-8px}.marketing-avatar-row i:nth-child(2n){background:#7157a4}.marketing-avatar-row span{color:#4a7765;background:#d9eee6;border-radius:50%;place-items:center;width:31px;height:31px;margin-left:5px;font-size:8px;display:grid}.marketing-message{background:#fff;border-left:3px solid #7352ae;gap:5px;margin-top:30px;padding:18px;display:grid}.marketing-message span,.marketing-message small{color:#958c95;font-size:8px}.marketing-message strong{font-size:12px}.marketing-flow{background:var(--m-paper);padding:135px 0}.marketing-section-head.compact{display:block}.marketing-section-head.compact h2{font-size:clamp(40px,4vw,58px)}.marketing-flow ol{border-top:1px solid #d9d3da;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.marketing-flow li{border-right:1px solid #d9d3da;grid-template-columns:45px 1fr;gap:10px;padding:28px 30px 10px 0;display:grid}.marketing-flow li+li{padding-left:30px}.marketing-flow li:last-child{border:0}.marketing-flow li>span{color:#a08fa2;font-size:10px;font-weight:800}.marketing-flow h3{letter-spacing:-.03em;margin:0 0 10px;font-size:18px}.marketing-flow li p{color:#756e76;margin:0;font-size:13px;line-height:1.7}.marketing-final{background:var(--m-paper);padding:40px 0 120px}.marketing-final-card{color:#fff;background:#1b1520;border-radius:28px;grid-template-columns:1fr auto;align-items:end;min-height:480px;padding:78px;display:grid;position:relative;overflow:hidden}.marketing-final h2{z-index:2;word-break:keep-all;font-size:clamp(45px,5vw,70px);position:relative}.marketing-final p:not(.marketing-section-label){z-index:2;color:#bdb4c0;margin:24px 0 0;line-height:1.7;position:relative}.marketing-final-action{z-index:3;justify-items:start;gap:12px;display:grid;position:relative}.marketing-final-action .marketing-play{background:#fff;color:#1c1620!important}.marketing-final-action small{color:#918893;font-size:9px}.marketing-final-orb{opacity:.72;filter:blur(2px);background:radial-gradient(circle at 34% 28%,#ef6a8a,#7653b5 52%,#0000 70%);border-radius:50%;width:540px;height:540px;position:absolute;bottom:-210px;right:-110px}.marketing-footer{background:var(--m-paper);border-top:1px solid #1e162317;padding:60px 0}.marketing-footer .marketing-shell{grid-template-columns:1fr 1fr;align-items:end;gap:34px 24px;display:grid}.marketing-footer .brand-lockup{width:fit-content}.marketing-footer .classieum-mark{width:48px;height:48px}.marketing-footer p{color:#776f78;margin:12px 0 0;font-size:12px}.marketing-footer nav{color:#655d66;justify-content:flex-end;gap:22px;font-size:11px;display:flex}.marketing-company-info{border-top:1px solid #1e162317;padding-top:28px}.marketing-company-info>strong{font-size:14px}.marketing-company-info dl{gap:7px;margin:18px 0 0;display:grid}.marketing-company-info dl div{grid-template-columns:64px 1fr;gap:10px;font-size:11px;display:grid}.marketing-company-info dt{color:#9d959d}.marketing-company-info dd{color:#655d66;margin:0}.marketing-company-info a{color:inherit}.marketing-footer>div>small{color:#9d959d;text-align:right;grid-column:2;font-size:9px}@media (max-width:980px){.marketing-nav>nav{display:none}.marketing-hero-grid{grid-template-columns:1fr}.marketing-hero-copy{max-width:680px}.marketing-product-stage{min-height:530px}.marketing-app-window{right:0}.marketing-problem-grid{grid-template-columns:1fr;gap:30px}.marketing-section-head{grid-template-columns:1fr;gap:25px}.marketing-bento{grid-template-columns:1fr}.marketing-final-card{grid-template-columns:1fr;gap:45px}.marketing-final-orb{opacity:.45}}@media (max-width:680px){.marketing-shell{width:min(100% - 32px,1180px)}.marketing-header{height:66px}.marketing-brand .brand-copy{display:none}.marketing-play.compact{min-height:44px}.marketing-hero{min-height:auto;padding:72px 0 50px}.marketing-hero h1{font-size:clamp(43px,13vw,59px)}.marketing-lead{font-size:16px}.marketing-hero-actions{flex-direction:column;align-items:flex-start}.marketing-product-stage{min-height:425px;margin-top:16px}.marketing-app-window{transform-origin:0;grid-template-columns:115px 1fr;inset:30px -118px 20px -3px;transform:rotateY(-4deg)scale(.78)}.marketing-preview-main{padding:19px}.marketing-floating-card.reminder{right:-7px}.marketing-floating-card.student{bottom:-4px;right:-5px}.marketing-marquee>div{justify-content:flex-start}.marketing-problem,.marketing-features,.marketing-flow{padding:92px 0}.marketing-problem h2,.marketing-section-head h2{font-size:41px}.marketing-feature-card{padding:25px}.marketing-feature-card.calendar{grid-template-columns:1fr;gap:28px}.marketing-mini-calendar{min-height:270px}.marketing-flow ol{grid-template-columns:1fr}.marketing-flow li,.marketing-flow li+li{border-bottom:1px solid #d9d3da;border-right:0;padding:22px 0}.marketing-final{padding-bottom:80px}.marketing-final-card{border-radius:20px;min-height:560px;padding:46px 28px}.marketing-final h2{font-size:42px}.marketing-footer .marketing-shell{grid-template-columns:1fr}.marketing-footer nav{flex-wrap:wrap;justify-content:flex-start}.marketing-footer>div>small{text-align:left;grid-column:1}}.marketing-download-strip{background:#fff;border-block:1px solid #1e162314}.marketing-download-strip .marketing-shell{justify-content:space-between;align-items:center;gap:30px;min-height:112px;display:flex}.marketing-download-strip .marketing-shell>div{gap:7px;display:grid}.marketing-download-strip small{color:#9a7296;letter-spacing:.17em;font-size:9px;font-weight:850}.marketing-download-strip strong{letter-spacing:-.035em;font-size:clamp(17px,2vw,24px);font-weight:650}.marketing-role-features{padding-bottom:80px}.marketing-feature-intro{align-items:end}.marketing-section-head h2{word-break:keep-all}.marketing-feature-intro>div h2{max-width:790px}.marketing-core-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:145px;display:grid}.marketing-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:-8px 0 78px;display:grid}.marketing-mode-grid article{background:linear-gradient(145deg,#fff5f7,#faf8f4);border:1px solid #e5dfe6;border-radius:22px;min-height:330px;padding:34px}.marketing-mode-grid article:last-child{background:linear-gradient(145deg,#f3eef9,#f8f6fb)}.marketing-mode-grid article>span{color:#a55778;letter-spacing:.12em;font-size:9px;font-weight:900}.marketing-mode-grid article:last-child>span{color:#694aa0}.marketing-mode-grid h3{letter-spacing:-.05em;margin:48px 0 12px;font-size:31px}.marketing-mode-grid p{color:#6f6870;word-break:keep-all;margin:0;font-size:13px;line-height:1.72}.marketing-mode-grid ul{gap:10px;margin:28px 0 0;padding:0;list-style:none;display:grid}.marketing-mode-grid li{color:#544d56;align-items:center;gap:8px;font-size:12px;display:flex}.marketing-mode-grid li svg{color:#df5c80;width:15px}.marketing-mode-grid article:last-child li svg{color:#7552b1}.marketing-core-grid article{background:#faf9f7;border:1px solid #e8e3e8;border-radius:18px;min-height:292px;padding:28px 25px}.marketing-core-grid article:nth-child(2){background:#fff2f4}.marketing-core-grid article:nth-child(3){background:#f3eff9}.marketing-core-grid article:nth-child(4){background:#edf7f3}.marketing-core-grid article:nth-child(5){background:#eef4fb}.marketing-core-grid article>div{color:#957f94;justify-content:space-between;align-items:center;display:flex}.marketing-core-grid article>div span{letter-spacing:.12em;font-size:9px;font-weight:850}.marketing-core-grid article>div svg{stroke-width:1.5px;width:27px;height:27px}.marketing-core-grid h3{letter-spacing:-.045em;word-break:keep-all;margin:65px 0 13px;font-size:22px;line-height:1.22}.marketing-core-grid p{color:#716a72;word-break:keep-all;margin:0;font-size:12px;line-height:1.75}.marketing-role-block{border-top:1px solid #e4dfe4;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:center;gap:clamp(58px,8vw,118px);padding:118px 0;display:grid}.marketing-role-block.student{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)}.marketing-role-copy h2{letter-spacing:-.06em;word-break:keep-all;max-width:610px;margin:0;font-size:clamp(42px,4.5vw,64px);font-weight:560;line-height:1.1}.marketing-role-copy>p:not(.marketing-section-label){max-width:540px;color:var(--m-muted);margin:22px 0 38px;font-size:15px;line-height:1.75}.marketing-role-copy ul{gap:0;margin:0;padding:0;list-style:none;display:grid}.marketing-role-copy li{border-top:1px solid #ebe6ea;grid-template-columns:37px 1fr;gap:14px;padding:17px 0;display:grid}.marketing-role-copy li>svg{width:20px;color:var(--m-coral);stroke-width:1.8px;margin-top:2px}.marketing-role-block.student .marketing-role-copy li>svg{color:var(--m-violet)}.marketing-role-copy li span{gap:5px;display:grid}.marketing-role-copy li strong{letter-spacing:-.02em;font-size:14px}.marketing-role-copy li small{color:#7a727a;font-size:11px;line-height:1.6}.marketing-teacher-panel{background:#f4f1f4;border:1px solid #e1dbe2;border-radius:23px;padding:20px;transform:rotate(1deg);box-shadow:0 34px 75px #442e481f}.marketing-teacher-panel>header{color:#756c77;justify-content:space-between;align-items:center;padding:5px 4px 18px;font-size:10px;display:flex}.marketing-teacher-panel>header span{color:#2b222d;align-items:center;gap:7px;font-weight:800;display:flex}.marketing-teacher-panel>header svg{width:15px}.marketing-teacher-kpis{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:9px;display:grid}.marketing-teacher-kpis span{background:#fff;border:1px solid #e7e2e6;border-radius:11px;gap:6px;padding:14px;display:grid}.marketing-teacher-kpis small{color:#8b828c;font-size:8px}.marketing-teacher-kpis strong{font-size:21px}.marketing-teacher-panel>article{background:#fff;border:1px solid #e5dfe5;border-radius:15px;overflow:hidden}.marketing-teacher-panel>article>div:first-child{padding:21px 22px 15px}.marketing-teacher-panel>article>div:first-child small{color:#8c828c;font-size:8px}.marketing-teacher-panel h3{letter-spacing:-.035em;margin:6px 0 0;font-size:18px}.marketing-attendance-choice{gap:7px;padding:0 22px 17px;display:flex}.marketing-attendance-choice span{color:#857c86;border:1px solid #e1dce2;border-radius:8px;align-items:center;gap:5px;padding:7px 11px;font-size:9px;font-weight:750;display:flex}.marketing-attendance-choice span.active{color:#197055;background:#ebf8f2;border-color:#a9d8c7}.marketing-attendance-choice svg{width:12px}.marketing-teacher-panel article>section{background:#f8f4f8;border-radius:10px;margin:0 22px 18px;padding:14px}.marketing-teacher-panel article>section small{color:#8b758c;font-size:8px}.marketing-teacher-panel article>section p{color:#493f4a;margin:7px 0 0;font-size:10px;line-height:1.55}.marketing-teacher-panel article>footer{background:#fbfafb;border-top:1px solid #ede8ed;grid-template-columns:30px 1fr auto;align-items:center;gap:9px;padding:13px 22px;display:grid}.marketing-teacher-panel article>footer>svg{color:#7652b3;width:17px}.marketing-teacher-panel article>footer span{display:grid}.marketing-teacher-panel article>footer small{color:#918793;font-size:7px}.marketing-teacher-panel article>footer strong{font-size:9px}.marketing-teacher-panel article>footer b{color:#694799;background:#eee7f7;border-radius:99px;padding:5px 7px;font-size:7px}.marketing-student-phone{color:#2d2631;background:#f5f2f6;border:8px solid #241d27;border-radius:42px;width:min(390px,78%);min-height:660px;margin:0 auto;position:relative;overflow:hidden;transform:rotate(-2deg);box-shadow:0 45px 90px #33233a38}.marketing-phone-speaker{z-index:4;background:#241d27;border-radius:0 0 12px 12px;width:82px;height:19px;position:absolute;top:9px;left:50%;transform:translate(-50%)}.marketing-student-phone>header{background:#fff;justify-content:space-between;align-items:center;height:67px;padding:17px 20px 8px;display:flex}.marketing-student-phone>header .classieum-mark{width:31px;height:31px}.marketing-student-phone>header .brand-copy strong{font-size:10px}.marketing-student-phone>header .brand-copy small{font-size:5px}.marketing-student-phone>header>svg{width:17px}.marketing-student-phone>nav{color:#9a919b;background:#fff;border-bottom:1px solid #ece7ed;justify-content:space-around;padding:12px 10px;font-size:7px;display:flex}.marketing-student-phone>nav strong{color:#7450aa}.marketing-student-phone>main{padding:24px 19px}.marketing-student-phone>main>p{color:#8a808b;margin:0 0 5px;font-size:9px}.marketing-student-phone h4{letter-spacing:-.055em;margin:0 0 19px;font-size:23px;line-height:1.15}.marketing-next-lesson{color:#fff;background:linear-gradient(145deg,#694aaa,#8c65c0);border-radius:17px;padding:20px;box-shadow:0 16px 32px #64459e3d}.marketing-next-lesson>small{color:#e9def4;margin-bottom:12px;font-size:8px;display:block}.marketing-next-lesson>strong{font-size:17px;display:block}.marketing-next-lesson>time{color:#eee4f5;margin-top:4px;font-size:9px;display:block}.marketing-next-lesson>div{border-top:1px solid #ffffff38;grid-template-columns:29px 1fr;gap:9px;margin-top:18px;padding-top:15px;display:grid}.marketing-next-lesson>div svg{width:18px}.marketing-next-lesson>div span{gap:4px;display:grid}.marketing-next-lesson>div small{color:#dccfeb;font-size:7px}.marketing-next-lesson>div b{font-size:8px;line-height:1.5}.marketing-student-metrics{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.marketing-student-metrics span{background:#fff;border:1px solid #e8e2e9;border-radius:12px;gap:5px;padding:14px;display:grid}.marketing-student-metrics svg{color:#7753ae;width:16px}.marketing-student-metrics small{color:#918792;font-size:7px}.marketing-student-metrics strong{font-size:10px}.marketing-push-toast{-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#ffffffe6;border:1px solid #ffffff8c;border-radius:14px;grid-template-columns:31px 1fr;align-items:center;gap:10px;padding:12px 14px;display:grid;position:absolute;bottom:18px;left:11px;right:11px;box-shadow:0 15px 36px #29192f33}.marketing-push-toast>svg{color:#ed5c7e;width:17px}.marketing-push-toast span{gap:3px;display:grid}.marketing-push-toast small{color:#948995;font-size:7px}.marketing-push-toast strong{font-size:9px}.marketing-audience{color:#f7f2f8;background:#19141d;padding:145px 0}.marketing-audience .marketing-section-head{max-width:850px}.marketing-audience .marketing-section-head h2{color:#fff}.marketing-audience .marketing-section-head>p:last-child{color:#b9b0bc;max-width:620px}.marketing-audience-grid{border-top:1px solid #ffffff29;border-left:1px solid #ffffff29;grid-template-columns:repeat(2,1fr);display:grid}.marketing-audience-grid article{border-bottom:1px solid #ffffff29;border-right:1px solid #ffffff29;min-height:240px;padding:34px}.marketing-audience-grid span{color:#ad8bb2;letter-spacing:.12em;font-size:9px}.marketing-audience-grid h3{letter-spacing:-.035em;margin:55px 0 10px;font-size:22px}.marketing-audience-grid p{color:#aaa1ad;max-width:430px;margin:0;font-size:12px;line-height:1.7}.marketing-field-line{color:#b5abb7;flex-wrap:wrap;justify-content:center;align-items:center;gap:13px 22px;margin-top:54px;font-size:11px;display:flex}.marketing-field-line svg{color:#ed6584;width:17px}.marketing-field-line i{color:#6a5c6b;font-style:normal}.marketing-plans{background:#fff;padding:145px 0}.marketing-plans .marketing-section-head{max-width:930px}.marketing-plan-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.marketing-plan-grid article{background:#faf9f7;border:1px solid #e3dde4;border-radius:22px;flex-direction:column;min-height:430px;padding:38px;display:flex}.marketing-plan-grid article.paid{color:#fff;background:#211a25;border-color:#211a25}.marketing-plan-grid header{border-bottom:1px solid #e2dce3;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:28px;display:flex}.marketing-plan-grid .paid header{border-color:#ffffff26}.marketing-plan-grid header small{color:#a66b98;letter-spacing:.15em;font-size:9px;font-weight:900}.marketing-plan-grid header h3{letter-spacing:-.05em;margin:8px 0 0;font-size:30px}.marketing-plan-grid header>span{color:#756c76;background:#eee9ed;border-radius:99px;padding:6px 9px;font-size:8px;font-weight:750}.marketing-plan-grid .paid header>span{color:#e6ddeb;background:#ffffff1a}.marketing-plan-grid ul{gap:16px;margin:31px 0 36px;padding:0;list-style:none;display:grid}.marketing-plan-grid li{color:#645d65;align-items:center;gap:10px;font-size:13px;display:flex}.marketing-plan-grid .paid li{color:#ddd5df}.marketing-plan-grid li svg{color:#df5c80;width:16px}.marketing-plan-grid .marketing-play{width:fit-content;margin-top:auto}.marketing-plan-grid .paid>p{color:#a99eac;margin:auto 0 0;font-size:11px;line-height:1.65}.marketing-plan-note{color:#877e87;text-align:center;margin:18px 0 0;font-size:10px}.marketing-trial-button{color:#291d31;background:#fff;border:1px solid #ffffff8c;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:52px;margin-top:auto;padding:10px 18px;font-weight:850;display:inline-flex}.marketing-trial-button svg{color:#a92f57;width:18px}.marketing-plan-grid .paid>.marketing-trial-button+p{margin:12px 0 0}.marketing-trial-backdrop{z-index:2000;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#140e17b8;place-items:center;display:grid;position:fixed;inset:0}.marketing-trial-dialog{color:#241f28;background:#fff;border-radius:24px;width:min(100%,520px);max-height:calc(100dvh - 36px);padding:34px;position:relative;overflow-y:auto;box-shadow:0 30px 90px #0000004d}.marketing-trial-close{color:#756e79;background:#f3f0f4;border:0;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;position:absolute;top:16px;right:16px}.marketing-trial-close svg{width:18px}.marketing-trial-icon{color:#fff;background:linear-gradient(135deg,#ed6384,#7552b1);border-radius:16px;place-items:center;width:52px;height:52px;margin-bottom:18px;display:grid}.marketing-trial-dialog>.marketing-section-label{margin-bottom:7px}.marketing-trial-dialog h2{letter-spacing:-.05em;margin:0;font-size:30px}.marketing-trial-dialog>p:not(.marketing-section-label):not(.marketing-trial-result){color:#706871;word-break:keep-all;margin:13px 0 22px;font-size:13px;line-height:1.7}.marketing-trial-fields{gap:13px;display:grid}.marketing-trial-fields label{color:#5e5660;gap:6px;font-size:12px;font-weight:800;display:grid}.marketing-trial-fields input{border-color:#dcd4de;border-radius:11px;min-height:48px}.marketing-trial-result{border-radius:11px;align-items:flex-start;gap:8px;margin:18px 0 0;padding:13px;font-size:13px;line-height:1.55;display:flex}.marketing-trial-result.error{color:#9f3548;background:#fff0f3}.marketing-trial-result.success{color:#17684e;background:#eaf8f2}.marketing-trial-result svg{flex:none;width:18px}.marketing-trial-actions{grid-template-columns:.75fr 1.25fr;gap:9px;margin-top:22px;display:grid}.marketing-trial-actions button{border-radius:11px;min-height:48px;font-weight:850}.marketing-trial-secondary{color:#554d57;background:#fff;border:1px solid #ddd6df}.marketing-trial-submit{color:#fff;background:linear-gradient(135deg,#a92f57,#6545a5);border:0}.marketing-trial-dialog>small{color:#8b838c;text-align:center;margin-top:14px;font-size:10px;line-height:1.55;display:block}@media (max-width:980px){.marketing-core-grid{grid-template-columns:repeat(2,1fr);margin-bottom:100px}.marketing-role-block,.marketing-role-block.student{grid-template-columns:1fr;gap:65px}.marketing-role-block.student .marketing-student-phone{order:2}.marketing-role-block.student .marketing-role-copy{order:1}.marketing-teacher-panel{width:min(680px,100%);margin-inline:auto}.marketing-student-phone{width:min(390px,92%)}}@media (max-width:680px){.marketing-brand .brand-copy{display:grid}.marketing-brand .classieum-mark{width:36px;height:36px}.marketing-brand .brand-copy strong{font-size:14px}.marketing-brand .brand-copy small{display:none}.marketing-nav>.marketing-play.compact{padding-inline:11px}.marketing-nav>.marketing-play.compact strong{font-size:11px}.marketing-download-strip .marketing-shell{flex-direction:column;justify-content:center;align-items:flex-start;gap:20px;min-height:174px}.marketing-download-strip strong{word-break:keep-all;line-height:1.45}.marketing-role-features,.marketing-audience,.marketing-plans{padding:92px 0}.marketing-feature-intro{gap:22px}.marketing-feature-intro>div h2{word-break:keep-all;font-size:39px}.marketing-mode-grid{grid-template-columns:1fr;margin-bottom:60px}.marketing-mode-grid article{min-height:290px;padding:27px 24px}.marketing-mode-grid h3{margin-top:36px}.marketing-core-grid{grid-template-columns:1fr;gap:10px;margin-bottom:75px}.marketing-core-grid article{min-height:230px}.marketing-core-grid h3{margin-top:42px}.marketing-role-block{padding:82px 0}.marketing-role-copy h2{font-size:39px}.marketing-role-copy>p:not(.marketing-section-label){margin-bottom:28px}.marketing-role-copy li{grid-template-columns:31px 1fr;gap:10px}.marketing-role-copy li small{font-size:10px}.marketing-teacher-panel{border-radius:17px;padding:11px;transform:none}.marketing-teacher-kpis span{padding:10px}.marketing-teacher-panel>article>div:first-child,.marketing-attendance-choice{padding-inline:15px}.marketing-teacher-panel article>section{margin-inline:15px}.marketing-teacher-panel article>footer{padding-inline:15px}.marketing-student-phone{border-width:7px;border-radius:35px;min-height:610px;transform:none}.marketing-student-phone>main{padding-inline:16px}.marketing-push-toast{bottom:12px}.marketing-audience-grid{grid-template-columns:1fr}.marketing-audience-grid article{min-height:205px;padding:27px}.marketing-audience-grid h3{margin-top:38px}.marketing-field-line{justify-content:flex-start}.marketing-plan-grid{grid-template-columns:1fr}.marketing-plan-grid article{min-height:410px;padding:28px 24px}.marketing-plan-grid header{flex-direction:column;align-items:flex-start}.marketing-plan-grid header>span{align-self:flex-start}.marketing-trial-dialog{padding:28px 20px calc(22px + env(safe-area-inset-bottom));border-radius:21px}.marketing-trial-actions{grid-template-columns:1fr}.marketing-trial-submit{grid-row:1}}@media (max-width:370px){.marketing-nav>.marketing-play.compact .marketing-play-mark,.marketing-nav>.marketing-play.compact small{display:none}.marketing-nav>.marketing-play.compact{justify-content:center;min-width:94px}.marketing-brand .brand-copy strong{font-size:13px}}@media (prefers-reduced-motion:reduce){.marketing-page *{scroll-behavior:auto!important;transition-duration:.01ms!important}}.marketing-primary-nav{align-items:center;gap:20px;display:flex}.marketing-primary-nav a{color:#554f57;letter-spacing:-.025em;white-space:nowrap;font-size:12px;font-weight:700}.marketing-primary-nav a:hover{color:var(--m-violet)}.marketing-menu-trigger,.marketing-menu-close,.marketing-menu-scrim{display:none}.marketing-header-trial{white-space:nowrap;background:linear-gradient(120deg,#ed5e7f,#7652b3);border-radius:10px;justify-content:center;align-items:center;min-height:42px;padding:0 16px;font-size:12px;font-weight:850;display:inline-flex;color:#fff!important}.marketing-primary-cta{background:#211a27;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:10px 20px;font-size:14px;font-weight:850;display:inline-flex;box-shadow:0 12px 24px #19111e24;color:#fff!important}.marketing-primary-cta svg{width:17px}.marketing-trial-link{align-items:center;min-height:48px;font-size:13px;font-weight:850;display:inline-flex;color:#764da8!important}.marketing-home-features{padding-bottom:105px}.marketing-home-features .marketing-core-grid{margin-bottom:0}.marketing-home-more{justify-content:center;align-items:center;gap:24px;margin-top:42px;display:flex}.marketing-subpage{min-height:70vh;color:var(--m-ink);background:var(--m-paper)}.marketing-subpage-hero{text-align:center;background:radial-gradient(circle at 50% 10%,#7152b71f,#0000 42%);padding:105px 0 78px}.marketing-subpage-hero h1{letter-spacing:-.065em;word-break:keep-all;max-width:920px;margin:0 auto;font-size:clamp(45px,6vw,76px);font-weight:590;line-height:1.06}.marketing-subpage-hero>.marketing-shell>p:last-child{max-width:720px;color:var(--m-muted);word-break:keep-all;margin:25px auto 0;font-size:16px;line-height:1.75}.marketing-about-modes{background:#fff;padding:85px 0 115px}.marketing-about-modes .marketing-mode-grid{margin:0 0 45px}.marketing-mode-grid h2{letter-spacing:-.05em;margin:48px 0 12px;font-size:31px}.marketing-booking-flow{background:#faf9f7;border:1px solid #e4dee5;border-radius:20px;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.marketing-booking-flow li{border-left:1px solid #e4dee5;grid-template-columns:42px 1fr;gap:14px;min-height:150px;padding:30px;display:grid}.marketing-booking-flow li:first-child{border-left:0}.marketing-booking-flow svg{color:#7552b1;width:26px}.marketing-booking-flow span{align-content:start;gap:9px;display:grid}.marketing-booking-flow b{font-size:17px}.marketing-booking-flow small{color:#756d76;font-size:12px;line-height:1.65}.marketing-about-details{background:#fff;padding:30px 0 90px}.marketing-detail-block{border-top:1px solid #e5dfe5;grid-template-columns:.85fr 1.15fr;gap:clamp(45px,8vw,110px);padding:105px 0;display:grid}.marketing-detail-block>div h2{letter-spacing:-.06em;word-break:keep-all;margin:0;font-size:clamp(40px,4.5vw,62px);line-height:1.08}.marketing-detail-block>div>p:last-child{color:var(--m-muted);line-height:1.75}.marketing-detail-block ul{margin:0;padding:0;list-style:none;display:grid}.marketing-detail-block li{border-top:1px solid #e9e4e9;grid-template-columns:34px 1fr;gap:14px;padding:20px 0;display:grid}.marketing-detail-block li:first-child{border-top:0}.marketing-detail-block li>svg{color:#ed5e7f;width:21px}.marketing-detail-block.student li>svg{color:#7552b1}.marketing-detail-block li span{gap:6px;display:grid}.marketing-detail-block li strong{font-size:15px}.marketing-detail-block li small{color:#736b74;font-size:12px;line-height:1.65}.marketing-about-cta{text-align:center;color:#fff;background:#1c1620;padding:95px 0}.marketing-about-cta h2{letter-spacing:-.055em;margin:0;font-size:clamp(38px,5vw,62px)}.marketing-about-cta p{color:#bdb4c0}.marketing-about-cta>div>div{justify-content:center;gap:22px;margin-top:30px;display:flex}.marketing-about-cta .marketing-primary-cta{background:#fff;color:#211a27!important}.marketing-about-cta .marketing-trial-link{color:#f2d9e6!important}.marketing-store-section{padding:25px 0 120px}.marketing-store-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.marketing-store-grid article{background:#fff;border:1px solid #e2dce4;border-radius:26px;min-height:440px;padding:42px;box-shadow:0 22px 55px #422d4814}.marketing-store-grid article:nth-child(2){background:linear-gradient(145deg,#f5f0fa,#fff)}.marketing-store-icon{color:#fff;background:linear-gradient(135deg,#ed6384,#7552b1);border-radius:17px;place-items:center;width:58px;height:58px;margin-bottom:58px;display:grid}.marketing-store-icon svg{width:27px}.marketing-store-grid article>small{color:#987698;letter-spacing:.15em;font-size:9px;font-weight:900}.marketing-store-grid h2{letter-spacing:-.05em;margin:10px 0 12px;font-size:36px}.marketing-store-grid p{color:#716a72;line-height:1.7}.marketing-store-grid button{color:#fff;cursor:pointer;background:#17131b;border:0;border-radius:13px;align-items:center;gap:12px;min-width:220px;min-height:62px;margin-top:50px;padding:10px 19px;display:inline-flex}.marketing-store-grid button>svg{width:27px}.marketing-store-grid button>span:last-child{text-align:left;display:grid}.marketing-store-grid button small{font-size:9px}.marketing-store-grid button strong{font-size:18px}.marketing-store-status{color:#68449a;background:#ede6f6;border-radius:12px;align-items:center;gap:9px;width:fit-content;margin:28px auto 0;padding:13px 18px;font-weight:800;display:flex}.marketing-store-status svg{width:19px}.marketing-trial-entry{padding:20px 0 120px}.marketing-trial-card{color:#fff;background:#211a25;border:1px solid #e1dbe3;border-radius:28px;grid-template-columns:110px 1fr;gap:34px;width:min(820px,100%);margin:auto;padding:clamp(30px,6vw,65px);display:grid;box-shadow:0 30px 80px #3220392e}.marketing-trial-card-icon{background:linear-gradient(135deg,#ed6384,#7552b1);border-radius:25px;place-items:center;width:92px;height:92px;display:grid}.marketing-trial-card-icon svg{width:40px}.marketing-trial-card h2{letter-spacing:-.055em;word-break:keep-all;margin:0;font-size:clamp(32px,4vw,48px)}.marketing-trial-card>div>p:not(.marketing-section-label){color:#bdb5c1;line-height:1.7}.marketing-trial-card ul{gap:0;margin:30px 0;padding:0;list-style:none;display:grid}.marketing-trial-card li{border-top:1px solid #ffffff21;grid-template-columns:32px 1fr;gap:12px;padding:16px 0;display:grid}.marketing-trial-card li>svg{color:#ec7895;width:20px}.marketing-trial-card li span{gap:4px;display:grid}.marketing-trial-card li small{color:#a99fac;line-height:1.55}.marketing-trial-card .marketing-trial-button{margin-top:8px}@media (max-width:1120px){.marketing-primary-nav{gap:12px}.marketing-primary-nav a{font-size:11px}.marketing-header-trial{padding-inline:12px}}@media (max-width:980px){.marketing-header.menu-open{-webkit-backdrop-filter:none;backdrop-filter:none}.marketing-nav>.marketing-primary-nav{z-index:101;overscroll-behavior:contain;background:#fff;flex-direction:column;align-items:stretch;gap:3px;width:min(86vw,360px);height:100dvh;padding:82px 22px 28px;transition:transform .24s;display:flex;position:fixed;top:0;bottom:auto;right:0;overflow-y:auto;transform:translate(105%);box-shadow:-20px 0 60px #20152538}.marketing-nav>.marketing-primary-nav.open{transform:translate(0)}.marketing-primary-nav a{border-radius:11px;align-items:center;min-height:50px;padding:0 14px;font-size:15px;display:flex}.marketing-primary-nav a:hover{background:#f3eef8}.marketing-menu-trigger{color:#3f3544;background:#eee9f0;border:0;border-radius:11px;place-items:center;width:44px;height:44px;margin-left:auto;display:grid}.marketing-menu-trigger svg,.marketing-menu-close svg{width:21px}.marketing-menu-close{background:#eee9f0;border:0;border-radius:11px;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:18px;right:18px}.marketing-menu-scrim{z-index:100;background:#150e188c;border:0;width:100vw;height:100dvh;display:block;position:fixed;inset:0 0 auto}.marketing-header-trial{margin-left:8px}.marketing-detail-block{grid-template-columns:1fr;gap:30px}.marketing-booking-flow{grid-template-columns:1fr}.marketing-booking-flow li{border-top:1px solid #e4dee5;border-left:0;min-height:auto}.marketing-booking-flow li:first-child{border-top:0}}@media (max-width:680px){.marketing-header-trial{display:none}.marketing-product-stage{min-height:650px}.marketing-subpage-hero{padding:72px 0 55px}.marketing-subpage-hero h1{font-size:42px}.marketing-subpage-hero>.marketing-shell>p:last-child{font-size:14px}.marketing-home-more,.marketing-about-cta>div>div{flex-direction:column;align-items:stretch}.marketing-home-more .marketing-primary-cta,.marketing-about-cta .marketing-primary-cta{width:100%}.marketing-about-modes{padding:65px 0 78px}.marketing-mode-grid h2{margin-top:36px;font-size:28px}.marketing-booking-flow li{padding:24px}.marketing-detail-block{padding:75px 0}.marketing-detail-block>div h2{font-size:39px}.marketing-store-grid{grid-template-columns:1fr}.marketing-store-grid article{min-height:360px;padding:30px 24px}.marketing-store-icon{margin-bottom:38px}.marketing-store-grid button{justify-content:center;width:100%;margin-top:34px}.marketing-trial-card{border-radius:21px;grid-template-columns:1fr;gap:22px}.marketing-trial-card-icon{border-radius:19px;width:68px;height:68px}.marketing-trial-card-icon svg{width:30px}}.recovery-card{max-width:520px}.recovery-tabs{background:#eef2f7;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0 18px;padding:5px;display:grid}.recovery-tabs button{color:#687383;background:0 0;border:0;border-radius:9px;min-height:42px;padding:7px 8px;font-size:12px;font-weight:750}.recovery-tabs button.active{color:#174a8b;background:#fff;box-shadow:0 4px 12px #1d3a581a}.recovery-result{color:#135a43;background:#edf9f4;border:1px solid #b9dfcf;border-radius:11px;grid-template-columns:24px 1fr;align-items:start;gap:10px;padding:13px 14px;display:grid}.recovery-result svg{width:20px}.recovery-result p{margin:0;line-height:1.55}.verification-retry{justify-content:center;margin-top:18px;text-decoration:none;display:flex}@media (max-width:520px){.recovery-tabs{grid-template-columns:1fr}.recovery-tabs button{min-height:38px}}.admin-deploy-layout{grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr);align-items:start;gap:20px;display:grid}.admin-deploy-form form{gap:15px;margin-top:20px;display:grid}.admin-deploy-form label{gap:7px;display:grid}.admin-deploy-form textarea{resize:vertical}.admin-deploy-form label small{color:#6e7885;font-size:11px;line-height:1.5}.admin-deploy-form .primary-action,.admin-deploy-form .danger-action{color:#fff;border:0;min-height:46px;font-weight:850}.admin-deploy-form .primary-action{background:linear-gradient(135deg,#2f8f70,#24755d)}.admin-deploy-form .danger-action{background:linear-gradient(135deg,#be4f46,#963b33)}.admin-deploy-form .form-success{color:#17684e;background:#e8f7f1;border-radius:10px;margin-top:14px;padding:11px 13px;font-weight:750}.admin-deploy-target{color:#17684e;background:#edf7f3;border-radius:11px;justify-content:space-between;margin-top:18px;padding:13px 15px;display:flex}.admin-deploy-target.production{color:#963b33;background:#fff0ee}.admin-deploy-target.disabled{color:#687383;background:#eef2f7}.admin-deploy-warning{color:#8a4a12;background:#fff7e5;border-radius:10px;grid-template-columns:24px 1fr;gap:10px;margin-top:12px;padding:12px;display:grid}.admin-deploy-warning svg{width:20px}.admin-deploy-warning p{margin:0}.admin-deploy-list{gap:12px;margin-top:18px;display:grid}.admin-deploy-list article{background:#fff;border:1px solid #e3e8ef;border-radius:13px;padding:18px}.admin-deploy-list header{justify-content:space-between;gap:18px;display:flex}.admin-deploy-list h3{margin:8px 0 0;font-size:16px}.admin-deploy-list header code{color:#586474;background:#eef2f7;border-radius:6px;margin-top:8px;padding:3px 7px;font-size:10px;display:inline-flex}.admin-deploy-list time{color:#7a8490;font-size:11px}.admin-deploy-list ul{color:#5d6672;margin:15px 0;padding-left:19px;font-size:12px;line-height:1.7}.admin-deploy-list footer{border:0;justify-content:flex-end;gap:8px;display:flex}.admin-deploy-list footer button{align-items:center;gap:6px;display:inline-flex}.admin-deploy-list footer svg{width:16px}.deploy-status{color:#72580d;background:#fff5ce;border-radius:99px;padding:5px 8px;font-size:10px;font-weight:800;display:inline-flex}.deploy-status.ready{color:#17684e;background:#e6f7f0}.deploy-status.published{color:#315a9e;background:#eaf1ff}.deploy-status.failed{color:#a13e37;background:#ffeded}.publish-actions input{max-width:170px}.marketing-updates-preview{background:#f4eff9;padding:105px 0}.marketing-updates-preview .marketing-section-head{margin-bottom:35px}.marketing-updates-preview .marketing-section-head p:last-child{margin-top:15px}.release-history{gap:20px;display:grid}.release-history.compact{grid-template-columns:1fr auto;align-items:end}.release-card{background:#fff;border:1px solid #e2dce5;border-radius:20px;padding:34px;box-shadow:0 18px 45px #48305014}.release-card header{align-items:center;gap:10px;display:flex}.release-version{color:#714ca7;font-size:14px;font-weight:900}.release-card header b{color:#fff;background:#ed6384;border-radius:99px;padding:4px 7px;font-size:8px}.release-card time{color:#817783;align-items:center;gap:5px;margin-left:auto;font-size:11px;display:inline-flex}.release-card time svg{width:14px}.release-card h2{letter-spacing:-.04em;margin:20px 0;font-size:27px}.release-card ul{gap:11px;margin:0;padding:0;list-style:none;display:grid}.release-card li{color:#625a64;grid-template-columns:19px 1fr;gap:9px;font-size:13px;line-height:1.6;display:grid}.release-card li svg{color:#3c9a75;width:17px}.updates-page{color:#241d27;background:#f8f6f1;min-height:100vh}.updates-page>header{justify-content:space-between;align-items:center;width:min(1120px,100% - 40px);height:82px;margin:auto;display:flex}.updates-page>header>a:last-child{align-items:center;gap:7px;font-size:13px;font-weight:750;display:inline-flex}.updates-page>header svg{width:17px}.updates-hero{text-align:center;padding:90px 20px 60px}.updates-hero>span{color:#fff;background:linear-gradient(135deg,#ed6384,#7552b1);border-radius:18px;place-items:center;width:58px;height:58px;margin:0 auto 20px;display:grid}.updates-hero h1{letter-spacing:-.06em;margin:0;font-size:clamp(44px,6vw,72px)}.updates-hero>p:last-child{color:#756c77}.updates-content{width:min(820px,100% - 40px);margin:auto;padding-bottom:110px}@media (max-width:900px){.admin-deploy-layout{grid-template-columns:1fr}.release-history.compact{grid-template-columns:1fr;justify-items:stretch}.marketing-updates-preview{padding:80px 0}}@media (max-width:560px){.admin-deploy-form .primary-action,.admin-deploy-form .danger-action{width:100%}.release-card{padding:24px 20px}.release-card header{flex-wrap:wrap}.release-card time{width:100%;margin-left:0}.release-card h2{font-size:22px}.admin-deploy-list header{flex-direction:column}.admin-deploy-list footer{flex-direction:column;align-items:stretch}.publish-actions input{max-width:none}}.notice-category{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;width:fit-content;padding:5px 9px;font-size:10px;font-weight:850;display:inline-flex}.notice-category.update{color:#315f9d;background:#e8f1ff}.notice-category.important{color:#a43e55;background:#ffebf0}.notice-category.other{color:#5d5571;background:#efedf4}.marketing-notices-preview{background:#fff;border-bottom:1px solid #1e162314;padding:92px 0 104px}.marketing-notices-preview .marketing-section-head{margin-bottom:30px}.marketing-notices-preview .marketing-section-head p:last-child{margin-top:15px}.notice-preview{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;display:grid}.notice-preview-list{background:#faf9f7;border:1px solid #e6e0e6;border-radius:17px;overflow:hidden}.notice-preview-row{border-top:1px solid #ebe6eb;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:18px;min-height:62px;padding:10px 20px;display:grid}.notice-preview-row:first-child{border-top:0}.notice-preview-title{color:#312a33;text-overflow:ellipsis;white-space:nowrap;min-width:0;min-height:44px;font-size:14px;font-weight:750;line-height:44px;display:block;overflow:hidden}.notice-preview-title:hover{color:#714ca7}.notice-preview-empty{color:#7d747e;align-items:center;gap:8px;min-height:62px;margin:0;padding:10px 20px;font-size:13px;display:flex}.notice-preview-empty svg{width:17px}.notice-preview-more{white-space:nowrap;align-items:center;min-height:44px}.admin-notice-list{background:#fff;border:1px solid #dce6ea;border-radius:12px;margin-top:22px;overflow:hidden}.admin-notice-columns,.admin-notice-row{grid-template-columns:120px minmax(180px,1fr) 80px 120px 82px;align-items:center;gap:12px;display:grid}.admin-notice-columns{color:#71848d;background:#f3f7f8;min-height:38px;padding:0 15px;font-size:11px;font-weight:800}.admin-notice-row{border-top:1px solid #e8eef0;min-height:62px;padding:9px 15px}.admin-notice-row>strong{color:#27404b;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.admin-notice-row time{color:#607580;font-size:11px}.admin-notice-actions{justify-content:flex-end;gap:5px;display:flex}.admin-notice-actions .icon-button{width:34px;height:34px}.admin-notice-actions .icon-button svg{width:16px}.admin-notice-actions .danger{color:#a74646}.admin-notice-editor{width:min(94vw,900px);max-height:92vh;overflow-y:auto}.admin-notice-fields{grid-template-columns:180px minmax(0,1fr);gap:12px;margin-top:19px;display:grid}.admin-notice-fields label,.admin-notice-body{color:#526975;gap:7px;font-size:12px;font-weight:800;display:grid}.admin-notice-body{margin-top:10px}.admin-notice-body textarea{resize:vertical;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.65}.notice-editor-toolbar{background:#f4f7f8;border:1px solid #dce6ea;border-radius:10px 10px 0 0;gap:5px;margin-top:13px;padding:6px;display:flex}.notice-editor-toolbar button{color:#526975;background:0 0;border:0;border-radius:7px;place-items:center;width:36px;height:34px;display:grid}.notice-editor-toolbar button:hover{color:#fff;background:#245d78}.notice-editor-toolbar svg{width:17px}.notice-editor-toolbar+.admin-notice-body{margin-top:0}.notice-editor-toolbar+.admin-notice-body textarea{border-radius:0 0 10px 10px}.notice-upload-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.notice-upload-button{cursor:pointer;align-items:center;gap:7px;min-height:38px;padding:7px 11px;display:inline-flex}.notice-upload-button svg{width:16px}.notice-upload-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.notice-upload-tools small{color:#758893;margin-left:auto;font-size:10px}.notice-attachment-editor{gap:7px;margin-top:12px;display:grid}.notice-attachment-editor>div{background:#f8fbfc;border:1px solid #dce6ea;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;min-height:45px;padding:7px 10px;display:flex}.notice-attachment-editor>div>span{align-items:center;gap:9px;min-width:0;display:flex}.notice-attachment-editor>div>span>svg{color:#7552b1;width:17px}.notice-attachment-editor>div>span>span{min-width:0;display:grid}.notice-attachment-editor strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.notice-attachment-editor small{color:#788b94;font-size:9px}.admin-notice-published{align-items:center;gap:7px;margin-top:13px;font-size:12px;font-weight:800;display:flex}.public-notice-page{color:#241d27;background:linear-gradient(#f8f6f1,#f5f2f7);min-height:100vh}.public-notice-header{justify-content:space-between;align-items:center;width:min(1080px,100% - 40px);min-height:82px;margin:auto;display:flex}.public-notice-header>a:first-child{color:inherit;text-decoration:none}.public-notice-header .secondary{align-items:center;gap:7px;display:inline-flex}.public-notice-header svg{width:17px}.public-notice-hero{text-align:center;padding:70px 20px 48px}.public-notice-hero .eyebrow{color:#8b5ab4}.public-notice-hero h1{letter-spacing:-.06em;margin:0;font-size:clamp(42px,6vw,68px)}.public-notice-hero>p:last-child{color:#756c77}.public-notice-list{background:#fff;border:1px solid #e2dce5;border-radius:18px;width:min(880px,100% - 40px);margin:0 auto 100px;overflow:hidden;box-shadow:0 20px 55px #48305014}.public-notice-list article{border-top:1px solid #eee9ef;grid-template-columns:112px minmax(0,1fr) 140px;align-items:center;gap:18px;min-height:70px;padding:12px 20px;display:grid}.public-notice-list article:first-child{border-top:0}.public-notice-list article>a{color:#312a33;text-overflow:ellipsis;white-space:nowrap;min-width:0;min-height:44px;font-size:14px;font-weight:780;line-height:44px;text-decoration:none;display:block;overflow:hidden}.public-notice-list article>a:hover{color:#714ca7}.public-notice-list time,.public-notice-detail time{color:#817783;justify-content:flex-end;align-items:center;gap:5px;font-size:11px;display:inline-flex}.public-notice-list time svg,.public-notice-detail time svg{width:14px}.public-notice-empty{text-align:center;background:#fff;border:1px dashed #d5cfd7;border-radius:18px;width:min(760px,100% - 40px);margin:50px auto;padding:65px 25px}.public-notice-empty>svg{color:#9b8ba2;width:44px;height:44px}.public-notice-empty .primary{margin-top:16px;text-decoration:none;display:inline-flex}.public-notice-detail{background:#fff;border:1px solid #e2dce5;border-radius:22px;width:min(820px,100% - 40px);margin:45px auto 100px;padding:clamp(26px,5vw,58px);box-shadow:0 24px 70px #48305017}.public-notice-back{color:#756c77;align-items:center;gap:6px;min-height:44px;font-size:12px;font-weight:750;text-decoration:none;display:inline-flex}.public-notice-back svg{width:16px}.public-notice-detail>header{border-bottom:1px solid #ebe6eb;gap:14px;margin-top:34px;padding-bottom:30px;display:grid}.public-notice-detail>header h1{letter-spacing:-.045em;word-break:keep-all;margin:0;font-size:clamp(30px,5vw,46px);line-height:1.2}.public-notice-detail>header time{justify-content:flex-start}.notice-markdown{color:#4d4650;padding:32px 0;font-size:15px;line-height:1.85}.notice-markdown h1,.notice-markdown h2,.notice-markdown h3{color:#29222c;line-height:1.35}.notice-markdown h1{font-size:29px}.notice-markdown h2{margin-top:28px;font-size:23px}.notice-markdown h3{margin-top:24px;font-size:19px}.notice-markdown p{margin:17px 0}.notice-markdown a{color:#65469d;text-underline-offset:3px;font-weight:750}.notice-markdown img{border-radius:14px;max-width:100%;height:auto;margin:24px auto;display:block;box-shadow:0 12px 35px #2a1c301f}.public-notice-attachments{border-top:1px solid #ebe6eb;gap:8px;padding-top:24px;display:grid}.public-notice-attachments h2{align-items:center;gap:7px;margin:0 0 5px;font-size:16px;display:flex}.public-notice-attachments h2 svg{width:17px}.public-notice-attachments>a{color:#514956;background:#faf9fb;border:1px solid #e2dce5;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:10px 13px;font-size:12px;font-weight:750;text-decoration:none;display:flex}.public-notice-attachments>a>span{align-items:center;gap:8px;min-width:0;display:flex}.public-notice-attachments svg{flex:none;width:16px}@media (max-width:760px){.notice-preview{grid-template-columns:1fr}.notice-preview-row{grid-template-columns:92px minmax(0,1fr);gap:10px;padding-inline:14px}.notice-preview-more{justify-self:start}.admin-notice-columns{display:none}.admin-notice-row{grid-template-columns:94px minmax(0,1fr) 70px}.admin-notice-row time{display:none}.admin-notice-actions{grid-column:2/-1;justify-content:flex-start}.admin-notice-fields{grid-template-columns:1fr}.notice-upload-tools{flex-direction:column;align-items:stretch}.notice-upload-button{justify-content:center}.notice-upload-tools small{margin-left:0}.public-notice-list article{grid-template-columns:94px minmax(0,1fr);gap:10px;padding-inline:14px}.public-notice-list time,.public-notice-header .brand-copy{display:none}}@media (max-width:560px){.marketing-notices-preview{padding:72px 0 80px}.admin-notice-editor{width:96vw;padding:23px 16px}.admin-notice-row{grid-template-columns:86px minmax(0,1fr)}.admin-notice-row>:is(.status-active,.status-inactive){display:none}.public-notice-detail{border-radius:17px;width:calc(100% - 24px);margin-top:20px;padding:25px 20px}.public-notice-hero{padding-top:45px}.public-notice-list{width:calc(100% - 24px)}.notice-markdown{font-size:14px}}.operations-settings{gap:17px;display:grid}.operations-settings>h2{margin:0}.operations-settings>label{color:#52616b;gap:7px;font-size:13px;font-weight:800;display:grid}.operations-settings>label textarea{resize:vertical;min-height:90px}.settings-section{border:0;border-top:1px solid var(--line);margin:4px 0 0;padding:20px 0 0}.settings-section>h2,.settings-section>legend{color:var(--ink);margin:0 0 13px;padding:0;font-size:18px;font-weight:850}.settings-button-grid{grid-template-columns:1fr;gap:9px;display:grid}.settings-button-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-button-grid.three-columns>legend{grid-column:1/-1}.settings-option-button{min-height:76px;color:var(--ink);cursor:pointer;background:#f7f9f9;border:1px solid #cfdadd;border-radius:16px;align-items:center;gap:13px;padding:15px 16px;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s;display:flex;position:relative}.settings-option-button:hover{border-color:var(--teal);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.settings-option-button:hover{border-color:color-mix(in srgb, var(--teal) 55%, var(--line))}}.settings-option-button:has(input:checked){border-width:2px;border-color:var(--teal);background:var(--surface);padding:14px 15px}@supports (color:color-mix(in lab, red, red)){.settings-option-button:has(input:checked){background:color-mix(in srgb, var(--surface) 72%, var(--teal-soft))}}.settings-option-button:has(input:checked){box-shadow:inset 4px 0 var(--teal), 0 8px 22px var(--teal)}@supports (color:color-mix(in lab, red, red)){.settings-option-button:has(input:checked){box-shadow:inset 4px 0 var(--teal), 0 8px 22px color-mix(in srgb, var(--teal) 14%, transparent)}}.settings-option-button:has(input:disabled){cursor:not-allowed;opacity:.78}.settings-option-button input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;min-height:1px;margin:0;padding:0;position:absolute;overflow:hidden}.settings-option-check{border:2px solid var(--muted);flex:none;place-items:center;width:26px;height:26px;display:grid}@supports (color:color-mix(in lab, red, red)){.settings-option-check{border:2px solid color-mix(in srgb, var(--muted) 72%, var(--line))}}.settings-option-check{color:#0000;background:var(--surface);border-radius:50%;transition:color .16s,border-color .16s,background .16s,transform .16s}.settings-option-check svg{stroke-width:3.2px;width:16px;height:16px}.settings-option-button input:checked+.settings-option-check{border-color:var(--teal);color:#fff;background:var(--teal);transform:scale(1.05)}.settings-option-button input:focus-visible+.settings-option-check{outline:3px solid var(--teal)}@supports (color:color-mix(in lab, red, red)){.settings-option-button input:focus-visible+.settings-option-check{outline:3px solid color-mix(in srgb, var(--teal) 30%, transparent)}}.settings-option-button input:focus-visible+.settings-option-check{outline-offset:3px}.settings-option-button>span:last-child{gap:4px;min-width:0;display:grid}.settings-option-button strong{font-size:15px;line-height:1.35}.settings-option-button small{color:var(--muted);font-size:12px;font-weight:550;line-height:1.55}.three-columns .settings-option-button{justify-content:center;min-height:72px}.three-columns .settings-option-button>span:last-child{font-weight:800;display:block}.lesson-type-picker>div{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-type-picker button.blocked.selected{background:#e7ebed;border-color:#6f7d84;box-shadow:0 0 0 3px #59687024}.lesson-type-picker .blocked .lesson-type-visual{color:#53636b;background:#e4e9eb}.blocked-repeat-select{color:#52616b;gap:6px;margin-top:4px;font-size:13px;font-weight:800;display:grid}.danger-zone{background:linear-gradient(135deg,snow,#fff4f4);border-color:#eccaca;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;display:grid}.danger-zone-icon{width:46px;height:46px;color:var(--danger);background:#fde5e5;border-radius:13px;place-items:center;display:grid}.danger-zone-icon svg,.danger-zone button svg{width:19px}.danger-zone .eyebrow{color:var(--danger);letter-spacing:.09em;margin:0 0 4px;font-size:10px;font-weight:900}.danger-zone h2,.danger-zone p{margin:0}.danger-zone h2{font-size:18px}.danger-zone div>p:last-child{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.5}.danger-zone button{align-items:center;gap:7px;min-height:42px;display:inline-flex}.student-request-row{border:0;border-top:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:0 0;border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.student-request-row:hover{background:var(--teal-soft)}@supports (color:color-mix(in lab, red, red)){.student-request-row:hover{background:color-mix(in srgb, var(--teal-soft) 48%, transparent)}}.student-request-history [role=listitem]:first-child .student-request-row{border-top:0}.student-request-row>.status-dot{margin-top:0}.student-request-row>svg{width:18px;color:var(--muted)}.student-request-copy{gap:3px;display:grid}.student-request-copy small{color:var(--muted);font-size:12px}.student-request-detail{width:min(100%,480px)}.student-request-detail dl{gap:8px;margin:18px 0 0;display:grid}.student-request-detail dl>div{background:var(--canvas);border-radius:10px;padding:12px}.student-request-detail dt{color:var(--muted);font-size:11px;font-weight:800}.student-request-detail dd{margin:5px 0 0;font-weight:750;line-height:1.55}.student-public-timetable .time-slot.busy svg[data-own-lesson-icon]{color:currentColor;width:18px;height:18px;margin-left:auto}@media (max-width:700px){.settings-button-grid.three-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-type-picker>div{grid-template-columns:1fr}.danger-zone{grid-template-columns:auto minmax(0,1fr)}.danger-zone button{grid-column:1/-1;justify-content:center}}.booking-mode-page{max-width:1120px}.booking-calendar-card{margin-top:18px}.booking-calendar-grid{display:block}.calendar-week{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.booking-calendar-grid .calendar-day{background:#fff;border-top:1px solid #edf1f2;border-right:1px solid #edf1f2;min-width:0;min-height:91px;padding:7px;overflow:hidden}.booking-calendar-grid .calendar-week>.calendar-day:last-child{border-right:0}.booking-calendar-grid .calendar-day.blank{background:#fafcfc}.booking-calendar-grid .booking-calendar-day{color:var(--ink);font:inherit;text-align:left;cursor:pointer;align-content:start;gap:6px;display:grid;position:relative}.booking-calendar-grid .booking-calendar-day:hover{background:#f3f9f8}.booking-calendar-grid .booking-calendar-day:focus-visible{z-index:1;outline-offset:-3px;outline:3px solid #347b73}.booking-calendar-grid .booking-calendar-day>b{border-radius:50%;place-items:center;width:28px;height:28px;font-size:14px;display:grid}.booking-calendar-grid .booking-calendar-day.today>b{color:#fff;background:#347b73}.booking-calendar-grid .booking-calendar-day.selected{background:#eef8f6;box-shadow:inset 0 0 0 2px #347b73}.booking-calendar-grid .booking-calendar-day small{color:#52666b;justify-self:end;font-size:11px;font-weight:800}.booking-calendar-events{align-items:center;gap:4px;min-height:8px;display:flex}.booking-calendar-events i{border-radius:50%;width:8px;height:8px}.booking-calendar-events .private{background:var(--private-color)}.booking-calendar-events .group{background:var(--indigo)}.opened-lessons-timetable{border:1px solid var(--line);background:#fff;border-radius:13px;margin-top:18px;padding:18px}.opened-lessons-timetable .section-title{margin-bottom:14px}.opened-lessons-timetable h2{margin:0;font-size:19px}.opened-lessons-timetable .section-title small{color:var(--muted);margin-top:4px;display:block}.opened-lesson-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.opened-lesson-card{min-width:0;color:var(--ink);text-align:left;background:#fff;border:1px solid #cbd7da;border-left:4px solid #a45b08;border-radius:11px;gap:8px;padding:14px;display:grid}.opened-lesson-card.group{border-left-color:#65479b}.opened-lesson-card:hover{background:#f8fbfb}.opened-lesson-card:focus-visible{outline-offset:2px;outline:3px solid #347b73}.opened-lesson-card strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.opened-lesson-card time,.opened-lesson-card>span:last-child{color:#506269;align-items:center;gap:6px;font-size:13px;display:flex}.opened-lesson-card svg{width:16px;height:16px}.booking-empty{min-height:150px}.booking-empty>svg{color:#5a7775;width:34px;height:34px}@media (max-width:760px){.booking-mode-page .page-header{align-items:flex-end}.booking-mode-page .page-header>.primary{white-space:nowrap;flex:none;min-width:108px}.booking-calendar-card{margin-top:13px}.booking-calendar-card .calendar-toolbar{flex-wrap:wrap;gap:8px;min-height:0;padding:10px}.booking-calendar-card .calendar-toolbar>strong{font-size:17px}.booking-calendar-card .calendar-legend{width:100%;margin-left:0;padding-top:2px}.booking-calendar-card .weekday-row span{padding:7px 2px;font-size:12px}.booking-calendar-grid .calendar-day{border-color:#dce4e5;min-height:54px;padding:4px}.booking-calendar-grid .booking-calendar-day{gap:2px}.booking-calendar-grid .booking-calendar-day>b{width:23px;height:23px;font-size:12px}.booking-calendar-grid .booking-calendar-day small{display:none}.booking-calendar-events{justify-content:center;gap:2px;min-height:7px}.booking-calendar-events i{width:6px;height:6px}.opened-lessons-timetable{margin-top:12px;padding:14px}.opened-lessons-timetable h2{font-size:17px}.opened-lesson-list{grid-template-columns:1fr}.opened-lesson-card{padding:12px}}.app-loading-screen{color:#2b2530;text-align:center;background:#fff;place-content:center;justify-items:center;gap:26px;min-height:100dvh;padding:32px;display:grid}.app-loading-brand{place-items:center;width:88px;height:88px;display:grid;position:relative}.app-loading-brand>.brand-lockup{place-items:center;width:100%;height:100%;display:grid;position:absolute;inset:0}.app-loading-brand .classieum-mark{filter:drop-shadow(0 8px 15px #6545a52e);width:50px;height:50px}.app-loading-orbit{border:2px solid #ef4778;border-color:#ef4778 #6545a5 #f1eaf4 #f1eaf4;border-radius:50%;animation:1.15s linear infinite classieum-loading-spin;position:absolute;inset:0}.app-loading-copy{gap:7px;display:grid}.app-loading-copy strong{letter-spacing:-.04em;font-size:20px}.app-loading-copy small{color:#837b87;font-size:13px}@keyframes classieum-loading-spin{to{transform:rotate(360deg)}}.login-page{background:#f7f4f7}.login-visual{background:radial-gradient(circle at 76% 20%,#ef477847,#0000 30%),radial-gradient(circle at 20% 78%,#6545a557,#0000 36%),linear-gradient(145deg,#261d2d,#4b2e5d 56%,#6a3b69)}.login-visual .eyebrow{color:#f4b2c8}.login-visual>div>p:last-child{color:#ded2e2}.login-panel{background:#f8f6f9}.login-card{background:#fff;border:1px solid #ece6ee;border-radius:26px;padding:34px;box-shadow:0 24px 70px #3b27411a}.login-card h1{letter-spacing:-.05em;font-size:30px}.login-role-tabs{background:#f3eff5;border-radius:13px}.login-role-tabs button{border-radius:10px}.login-role-tabs button.active{color:#6545a5;box-shadow:0 5px 15px #422b581a}.preview-rose .theme-preview{background:#fff3f6;border-color:#f2b6c7}.preview-rose .theme-preview i:first-child{background:linear-gradient(#4b2435,#7b2d4c)}.preview-rose .theme-preview i:nth-child(2){background:#ef4778}.preview-rose .theme-preview i:nth-child(3){background:#fff}.preview-purple .theme-preview{background:#f3eff9;border-color:#c8b8df}.preview-purple .theme-preview i:first-child{background:linear-gradient(#2b2034,#4d3371)}.preview-purple .theme-preview i:nth-child(2){background:#6545a5}.preview-purple .theme-preview i:nth-child(3){background:#fff}.preview-dark .theme-preview{background:#17131d;border-color:#5c5064}.preview-dark .theme-preview i:first-child{background:#0f0c13}.preview-dark .theme-preview i:nth-child(2){background:linear-gradient(135deg,#ef4778,#7552b1)}.preview-dark .theme-preview i:nth-child(3){background:#28222e}.theme-rose{--ink:#30252c;--muted:#7d7077;--line:#eee4e8;--surface:#fff;--canvas:#f7f3f5;--teal:#ef4778;--teal-dark:#4d2434;--teal-soft:#fff0f4;--accent-ink:#a92f57;--group-color:#7552b1;--primary-action:#a92f57;--primary-action-strong:#8f2448;--chrome:#2b2034;--chrome-muted:#d8cedd;--shadow:0 14px 34px #5d304014}.theme-purple{--ink:#292430;--muted:#756d7d;--line:#e8e2ed;--surface:#fff;--canvas:#f4f2f7;--teal:#6545a5;--teal-dark:#2b2034;--teal-soft:#f0eaf8;--accent-ink:#6545a5;--group-color:#6545a5;--primary-action:#6545a5;--primary-action-strong:#4f3486;--chrome:#2b2034;--chrome-muted:#d8cedd;--shadow:0 14px 34px #432c5d17}.theme-dark{--ink:#f7f8ff;--muted:#b7c0d9;--line:#556b96;--surface:#151d35;--canvas:#090e1c;--teal:#829dff;--teal-dark:#cbd5ff;--teal-soft:#222f59;--accent-ink:#aebcff;--group-color:#8d7ee8;--primary-action:#536bd8;--primary-action-strong:#4053ad;--chrome:#0d1428;--chrome-muted:#b7c0d9;--shadow:0 22px 60px #00000061;color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.theme-dark .sidebar{border-right:1px solid var(--line);background:linear-gradient(#0d1428 0%,#111a31 54%,#090e1c 100%);box-shadow:10px 0 34px #00000047}.theme-dark .sidebar .brand-copy small,.theme-dark .sidebar-user small,.theme-dark .side-nav button{color:var(--muted)}.theme-dark .side-nav button:hover,.theme-dark .side-nav button.active{color:var(--ink);background:linear-gradient(90deg, var(--teal-soft), var(--teal-soft))}@supports (color:color-mix(in lab, red, red)){.theme-dark .side-nav button:hover,.theme-dark .side-nav button.active{background:linear-gradient(90deg, var(--teal-soft), color-mix(in srgb, var(--teal-soft) 34%, transparent))}}.theme-dark .side-nav button:hover,.theme-dark .side-nav button.active{box-shadow:inset 3px 0 var(--teal)}.theme-dark .sidebar-user{border-top-color:var(--line)}.theme-dark .sidebar-user .avatar{border:1px solid var(--teal)}@supports (color:color-mix(in lab, red, red)){.theme-dark .sidebar-user .avatar{border:1px solid color-mix(in srgb, var(--teal) 42%, var(--line))}}.theme-dark .sidebar-user .avatar{background:linear-gradient(135deg, var(--teal), var(--group-color));border-radius:12px}.theme-dark .mobile-bottom button{color:var(--muted);background:0 0}.theme-dark .mobile-bottom button.active{color:var(--accent-ink);background:var(--teal-soft)}.theme-dark :is(.sidebar-user,.student-compact-list,.student-detail-title) .avatar{color:#0d1428}.theme-dark .toolbar .search{color:var(--ink);background:var(--surface);border-color:var(--line);box-shadow:inset 0 1px #ffffff08}.theme-dark .toolbar .search svg{color:var(--accent-ink)}.theme-dark .toolbar .search input{color:var(--ink);background:0 0}.theme-dark .toolbar .search input::placeholder{color:var(--muted);opacity:1}.theme-dark .toolbar .search:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal)}@supports (color:color-mix(in lab, red, red)){.theme-dark .toolbar .search:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--teal) 18%, transparent)}}.theme-dark .modal-card label,:is(.theme-rose,.theme-purple,.theme-dark) .attendance-student-search .section-title small{color:var(--muted)}:is(.theme-rose,.theme-purple,.theme-dark) .attendance-search{border-color:var(--line);background:var(--surface);border-radius:14px;min-height:50px;padding:0 14px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) .attendance-search{background:color-mix(in srgb, var(--surface) 86%, var(--canvas))}}:is(.theme-rose,.theme-purple,.theme-dark) .attendance-search{box-shadow:inset 0 1px #ffffff0a}:is(.theme-rose,.theme-purple,.theme-dark) .attendance-search svg{width:20px;height:20px;color:var(--accent-ink);flex:none}:is(.theme-rose,.theme-purple,.theme-dark) .attendance-search input{min-height:48px;color:var(--ink);box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}:is(.theme-rose,.theme-purple,.theme-dark) .attendance-search input::placeholder{color:var(--muted);opacity:1}:is(.theme-rose,.theme-purple,.theme-dark) .attendance-search:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal)}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) .attendance-search:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--teal) 18%, transparent)}}:is(.theme-rose,.theme-purple,.theme-dark) .attendance-student-results{scrollbar-color:var(--line) transparent;border:0;border-radius:0;gap:8px;padding:2px 4px 2px 0;display:grid}:is(.theme-rose,.theme-purple,.theme-dark) .attendance-student-results>button{border:1px solid var(--line);min-height:62px;color:var(--ink);background:var(--surface);border-radius:14px;padding:10px 12px}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) .attendance-student-results>button{background:color-mix(in srgb, var(--surface) 91%, var(--canvas))}}:is(.theme-rose,.theme-purple,.theme-dark) .attendance-student-results>button{transition:background .16s,transform .16s}:is(.theme-rose,.theme-purple,.theme-dark) .attendance-student-results>button:last-child{border-bottom:1px solid var(--line)}:is(.theme-rose,.theme-purple,.theme-dark) .attendance-student-results>button:hover{border-color:var(--teal)}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) .attendance-student-results>button:hover{border-color:color-mix(in srgb, var(--teal) 58%, var(--line))}}:is(.theme-rose,.theme-purple,.theme-dark) .attendance-student-results>button:hover{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) .attendance-student-results>button:hover{background:color-mix(in srgb, var(--surface) 82%, var(--teal-soft))}}:is(.theme-rose,.theme-purple,.theme-dark) .attendance-student-results>button:hover{transform:translateY(-1px)}:is(.theme-rose,.theme-purple,.theme-dark) .attendance-student-results>button.selected{border-color:var(--teal);background:var(--teal-soft);box-shadow:inset 4px 0 var(--teal)}.theme-dark .attendance-student-results>button.selected{border-color:var(--teal);box-shadow:inset 4px 0 var(--teal)}.theme-dark .attendance-student-results .attendance-student-avatar{color:#0d1428}.theme-dark .attendance-student-results strong{color:var(--ink);font-size:15px}.theme-dark .attendance-student-results small{color:var(--muted);font-size:12px}.theme-dark .toast{border:1px solid var(--line);max-width:min(430px,100vw - 28px);color:var(--ink);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.theme-dark .toast{background:color-mix(in srgb, var(--surface) 92%, var(--canvas))}}.theme-dark .toast{white-space:normal;text-align:center;box-shadow:0 16px 38px #00000057}.student-app.theme-rose{background:linear-gradient(#fff7f9 0%,#f8f1f5 58%,#f3edf2 100%)}.student-app.theme-purple{background:linear-gradient(#f7f4fb 0%,#ece9f6 58%,#e7e3f1 100%)}.student-app.theme-dark,.student-app.theme-rose .student-booking-portal,.student-app.theme-purple .student-booking-portal,.student-app.theme-dark .student-booking-portal,:is(.theme-rose,.theme-purple,.theme-dark) :is(.app-main,.student-main,.student-view-page,.student-booking-portal){background:var(--canvas)}:is(.theme-rose,.theme-purple) .sidebar{background:linear-gradient(#2b2034 0%,#3b2946 54%,#241b2a 100%);box-shadow:10px 0 32px #2b20341f}:is(.theme-rose,.theme-purple) .side-nav button{color:#d8cedd}:is(.theme-rose,.theme-purple) .side-nav button:hover,:is(.theme-rose,.theme-purple) .side-nav button.active{color:#fff;background:linear-gradient(90deg,#ef47783d,#6545a52e);box-shadow:inset 3px 0 #ef6d93}.student-app:is(.theme-rose,.theme-purple)>header{color:var(--ink);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;box-shadow:0 6px 22px #3222380f}.student-app:is(.theme-rose,.theme-purple)>header .brand-copy :is(small,strong){color:inherit}:is(.theme-rose,.theme-purple,.theme-dark) :is(.card,.calendar-card,.day-panel,.table-card,.request-card,.request-compact-list,.notice-list,.notification-list,.group-card,.student-section,.student-cards button,.student-calendar,.student-history,.teacher-contact-card,.stats-grid article,.opened-lessons-timetable,.student-ticket-wallet,.student-opened-lessons){color:var(--ink);background:var(--surface);border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) :is(.card,.calendar-card,.day-panel,.table-card,.request-card,.request-compact-list,.notice-list,.notification-list,.group-card,.student-section,.student-cards button,.student-calendar,.student-history,.teacher-contact-card,.stats-grid article,.opened-lessons-timetable,.student-ticket-wallet,.student-opened-lessons){border:1px solid color-mix(in srgb, var(--line) 72%, transparent)}}:is(.theme-rose,.theme-purple,.theme-dark) :is(.card,.calendar-card,.day-panel,.table-card,.request-card,.request-compact-list,.notice-list,.notification-list,.group-card,.student-section,.student-cards button,.student-calendar,.student-history,.teacher-contact-card,.stats-grid article,.opened-lessons-timetable,.student-ticket-wallet,.student-opened-lessons){box-shadow:var(--shadow);border-radius:20px}:is(.theme-rose,.theme-purple,.theme-dark) .card.attendance-student-search{border-color:var(--line);background:linear-gradient(145deg, var(--surface), var(--surface))}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) .card.attendance-student-search{background:linear-gradient(145deg, color-mix(in srgb, var(--surface) 96%, var(--teal-soft)), var(--surface))}}:is(.theme-rose,.theme-purple,.theme-dark) .card.attendance-student-search{box-shadow:0 16px 38px var(--canvas)}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) .card.attendance-student-search{box-shadow:0 16px 38px color-mix(in srgb, var(--canvas) 58%, transparent)}}:is(.theme-rose,.theme-purple,.theme-dark) :is(.card,.student-section,.student-ticket-wallet,.student-opened-lessons){padding:22px}:is(.theme-rose,.theme-purple,.theme-dark) .modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#17121bad}:is(.theme-rose,.theme-purple,.theme-dark) .modal-card{color:var(--ink);background:var(--surface);border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) .modal-card{border:1px solid color-mix(in srgb, var(--line) 75%, transparent)}}:is(.theme-rose,.theme-purple,.theme-dark) .modal-card{border-radius:26px;padding:28px;box-shadow:0 28px 80px #110c1442}.student-delete-blockers{text-align:left;gap:10px;margin:14px 0 4px;padding:0;list-style:none;display:grid}.student-delete-blockers li{border:1px solid var(--danger);gap:4px;padding:12px 14px;display:grid}@supports (color:color-mix(in lab, red, red)){.student-delete-blockers li{border:1px solid color-mix(in srgb, var(--danger) 18%, var(--line))}}.student-delete-blockers li{background:var(--surface);border-radius:14px}@supports (color:color-mix(in lab, red, red)){.student-delete-blockers li{background:color-mix(in srgb, var(--surface) 94%, var(--canvas))}}.student-delete-blockers li{overflow-wrap:anywhere}.student-delete-blockers strong,.student-delete-blockers span{display:block}.student-delete-blockers span{color:var(--muted);font-size:.88rem}:is(.theme-rose,.theme-purple,.theme-dark) :is(.primary,.approve){color:#fff;background:linear-gradient(135deg, var(--primary-action), var(--primary-action-strong));min-height:46px;box-shadow:0 9px 20px var(--primary-action);border:0;border-radius:12px}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) :is(.primary,.approve){box-shadow:0 9px 20px color-mix(in srgb, var(--primary-action) 25%, transparent)}}:is(.theme-rose,.theme-purple,.theme-dark) :is(.primary,.approve):hover{filter:brightness(.94)}:is(.theme-rose,.theme-purple,.theme-dark) :is(.secondary,.today-button,.google){border-color:var(--line);min-height:44px;color:var(--ink);background:var(--surface);border-radius:12px}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) :is(.secondary,.today-button,.google){background:color-mix(in srgb, var(--surface) 92%, var(--canvas))}}:is(.theme-rose,.theme-purple,.theme-dark) :is(input,select,textarea){border-color:var(--line);min-height:46px;color:var(--ink);background:var(--surface);border-radius:12px}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) :is(input,select,textarea){background:color-mix(in srgb, var(--surface) 94%, var(--canvas))}}:is(.theme-rose,.theme-purple,.theme-dark) :is(button,input,select,textarea):focus-visible{outline-color:var(--teal)}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) :is(button,input,select,textarea):focus-visible{outline-color:color-mix(in srgb, var(--teal) 34%, transparent)}}:is(.theme-rose,.theme-purple,.theme-dark) .settings-option-button{border-color:var(--line);color:var(--ink);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) .settings-option-button{background:color-mix(in srgb, var(--surface) 90%, var(--canvas))}}:is(.theme-rose,.theme-purple,.theme-dark) .settings-option-button:has(input:checked){border-color:var(--teal);background:var(--teal-soft)}:is(.theme-rose,.theme-purple,.theme-dark) .settings-option-button:has(input:disabled){color:var(--muted);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) .settings-option-button:has(input:disabled){background:color-mix(in srgb, var(--surface) 78%, var(--canvas))}}:is(.theme-rose,.theme-purple,.theme-dark) .settings-option-button:has(input:disabled){opacity:1}:is(.theme-rose,.theme-purple,.theme-dark) .settings-option-button input{width:1px;height:1px;min-height:1px;padding:0}:is(.theme-rose,.theme-purple,.theme-dark) .settings-option-button input:disabled+.settings-option-check{border-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) .settings-option-button input:disabled+.settings-option-check{border-color:color-mix(in srgb, var(--muted) 44%, var(--line))}}:is(.theme-rose,.theme-purple,.theme-dark) .settings-option-button input:disabled+.settings-option-check{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) .settings-option-button input:disabled+.settings-option-check{background:color-mix(in srgb, var(--surface) 72%, var(--canvas))}}:is(.theme-rose,.theme-purple,.theme-dark) .settings-option-button input:checked:disabled+.settings-option-check{border-color:var(--teal);color:#fff;background:var(--teal)}:is(.theme-rose,.theme-purple,.theme-dark) .page{padding-top:32px}:is(.theme-rose,.theme-purple,.theme-dark) .page-header{margin-bottom:22px}:is(.theme-rose,.theme-purple,.theme-dark) .page-header h1{letter-spacing:-.05em;font-size:30px;font-weight:850}:is(.theme-rose,.theme-purple,.theme-dark) .page-header p{color:var(--muted)}:is(.theme-rose,.theme-purple,.theme-dark) :is(.calendar-toolbar,.student-calendar-toolbar){background:var(--surface)}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) :is(.calendar-toolbar,.student-calendar-toolbar){background:color-mix(in srgb, var(--surface) 90%, var(--teal-soft))}}:is(.theme-rose,.theme-purple,.theme-dark) :is(.calendar-toolbar,.student-calendar-toolbar){border-color:var(--line)}:is(.theme-rose,.theme-purple,.theme-dark) :is(.weekday-row span,.student-calendar-weekdays span){color:var(--muted);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) :is(.weekday-row span,.student-calendar-weekdays span){background:color-mix(in srgb, var(--surface) 90%, var(--teal-soft))}}:is(.theme-rose,.theme-purple,.theme-dark) :is(.month-grid>.calendar-day,.student-calendar-grid>div,.student-calendar-grid>button){background:var(--surface);border-color:var(--line)}:is(.theme-rose,.theme-purple,.theme-dark) .month-grid>.calendar-day.blank{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) .month-grid>.calendar-day.blank{background:color-mix(in srgb, var(--surface) 70%, var(--canvas))}}:is(.theme-rose,.theme-purple,.theme-dark) .calendar-day.selected{background:var(--teal-soft);box-shadow:inset 0 0 0 2px var(--teal)}:is(.theme-rose,.theme-purple,.theme-dark) :is(.time-slot,.account-readonly>div){color:var(--muted);background:var(--surface);border-color:var(--line)}:is(.theme-rose,.theme-purple,.theme-dark) .lesson-donut-wrap{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) .lesson-donut-wrap{background:color-mix(in srgb, var(--surface) 55%, var(--canvas))}}:is(.theme-rose,.theme-purple,.theme-dark) .attendance-actions button{color:var(--ink);background:var(--surface);border-color:var(--line)}:is(.theme-rose,.theme-purple,.theme-dark) .attendance-actions button.present{color:var(--teal-dark);background:var(--teal-soft);border-color:var(--teal)}:is(.theme-rose,.theme-purple,.theme-dark) .attendance-actions button.absent{color:var(--danger);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) .attendance-actions button.absent{background:color-mix(in srgb, var(--surface) 84%, #ffd9df)}}:is(.theme-rose,.theme-purple,.theme-dark) .attendance-actions button.absent{border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) .attendance-actions button.absent{border-color:color-mix(in srgb, var(--danger) 52%, var(--line))}}.booking-attendance-button{justify-content:center;align-items:center;gap:6px;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s;display:inline-flex}.booking-attendance-button svg{stroke-width:3px;width:17px;height:17px}.booking-attendance-button.selected{border-width:2px;box-shadow:0 7px 18px}@supports (color:color-mix(in lab, red, red)){.booking-attendance-button.selected{box-shadow:0 7px 18px color-mix(in srgb, currentColor 16%, transparent)}}.booking-attendance-button.selected{transform:translateY(-1px)}.booking-attendance-button.present.selected{color:var(--teal-dark);border-color:var(--teal);background:var(--teal-soft)}.booking-attendance-button.absent.selected{color:var(--danger);border-color:var(--danger);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.booking-attendance-button.absent.selected{background:color-mix(in srgb, var(--surface) 78%, #ffd9df)}}.booking-removal-dialog{width:min(100%,520px)}.booking-removal-dialog>header{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:13px;display:grid}.booking-removal-dialog h2{letter-spacing:-.035em;margin:0;font-size:22px}.booking-removal-dialog p{color:var(--muted);margin:6px 0 0;line-height:1.55}.booking-removal-icon,.booking-removal-confirm-icon{width:48px;height:48px;color:var(--danger);background:var(--surface);border-radius:16px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.booking-removal-icon,.booking-removal-confirm-icon{background:color-mix(in srgb, var(--surface) 76%, #ffd9df)}}.booking-removal-confirm-icon{margin:0 auto 14px}.booking-removal-dialog>h2,.booking-removal-dialog>p{text-align:center}.booking-removal-options{gap:10px;margin-top:20px;display:grid}.booking-removal-options>button{border:1px solid var(--line);min-height:76px;color:var(--ink);background:var(--surface);border-radius:16px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:12px;padding:14px;display:grid}@supports (color:color-mix(in lab, red, red)){.booking-removal-options>button{background:color-mix(in srgb, var(--surface) 94%, var(--canvas))}}.booking-removal-options>button{text-align:left}.booking-removal-options>button.selected{border-color:var(--primary-action);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.booking-removal-options>button.selected{background:color-mix(in srgb, var(--surface) 84%, var(--primary-action))}}.booking-removal-options>button.selected{box-shadow:inset 0 0 0 1px var(--primary-action)}.booking-removal-option-check{border:2px solid var(--line);color:#fff;border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.booking-removal-options>button.selected .booking-removal-option-check{border-color:var(--primary-action);background:var(--primary-action)}.booking-removal-option-check svg{stroke-width:3px;width:16px;height:16px}.booking-removal-options strong,.booking-removal-options small{display:block}.booking-removal-options strong{font-size:15px}.booking-removal-options small{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.45}.booking-removal-dialog .modal-actions{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px;display:grid}.booking-removal-dialog .modal-actions button{width:100%;min-height:48px}@media (max-width:520px){.booking-removal-dialog{border-radius:22px;padding:22px}.booking-removal-options>button{min-height:82px}.booking-attendee-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-remove-attendee{grid-column:1/-1}}:is(.theme-rose,.theme-purple,.theme-dark) :is(.primary,.secondary,.approve,.reject,.today-button):disabled{color:var(--muted);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) :is(.primary,.secondary,.approve,.reject,.today-button):disabled{background:color-mix(in srgb, var(--surface) 75%, var(--canvas))}}:is(.theme-rose,.theme-purple,.theme-dark) :is(.primary,.secondary,.approve,.reject,.today-button):disabled{border-color:var(--line);box-shadow:none;cursor:not-allowed;opacity:1}.theme-dark :is(.profile-editor,.student-lesson-detail dl>div,.teacher-lesson-detail dl>div,.lesson-notes-view article,.lesson-notes-form,.lesson-notes-form textarea,.student-lesson-memo,.settings-note){color:var(--ink);background:var(--surface);border-color:var(--line)}.theme-dark :is(.student-lesson-item.private,.student-lesson-item.group,.reject){color:var(--ink);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.theme-dark :is(.student-lesson-item.private,.student-lesson-item.group,.reject){background:color-mix(in srgb, var(--surface) 88%, var(--canvas))}}.theme-dark :is(.student-lesson-item.private,.student-lesson-item.group,.reject){border-color:var(--line)}.theme-dark .monthly-total-kpi{background:linear-gradient(135deg, var(--primary-action), var(--primary-action-strong))}.theme-dark :is(.weekday-row span.holiday,.weekday-row span.saturday,.student-calendar-weekdays span.holiday,.student-calendar-weekdays span.saturday,.calendar-day.holiday .calendar-day-number:not(.today)>b,.calendar-day.saturday .calendar-day-number:not(.today)>b,.holiday-label){background:var(--surface)}.theme-dark :is(.weekday-row span.holiday,.student-calendar-weekdays span.holiday,.calendar-day.holiday .calendar-day-number:not(.today)>b,.holiday-label){color:#ffadb8}.theme-dark :is(.weekday-row span.saturday,.student-calendar-weekdays span.saturday,.calendar-day.saturday .calendar-day-number:not(.today)>b){color:#a9c8ff}:is(.theme-rose,.theme-purple,.theme-dark) .booking-calendar-grid .booking-calendar-day.today>b{background:var(--teal)}:is(.theme-rose,.theme-purple,.theme-dark) .booking-calendar-grid .booking-calendar-day:focus-visible,:is(.theme-rose,.theme-purple,.theme-dark) .opened-lesson-card:focus-visible{outline-color:var(--teal)}.student-booking-portal{gap:16px;min-height:100%;padding:24px clamp(16px,4vw,34px) 96px;display:grid}.student-ticket-wallet,.student-opened-lessons{width:min(920px,100%);margin-inline:auto}.student-ticket-wallet .section-title,.student-opened-lessons .section-title{align-items:flex-end;gap:16px;margin-bottom:18px}.student-ticket-wallet h2,.student-opened-lessons h2{letter-spacing:-.035em;margin:0;font-size:20px}.student-ticket-wallet .section-title small,.student-opened-lessons .section-title small{color:var(--muted);margin-top:5px;display:block}.student-opened-lessons .section-title label{min-width:160px;color:var(--muted);margin:0;font-size:11px}.student-opened-lessons .section-title input{margin-top:5px}.student-ticket-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.ticket-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:16px;display:grid}@supports (color:color-mix(in lab, red, red)){.ticket-card{background:color-mix(in srgb, var(--surface) 87%, var(--teal-soft))}}.ticket-card>svg{width:25px;height:25px;color:var(--teal)}.ticket-card div{min-width:0;display:grid}.ticket-card small,.ticket-card span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.ticket-card strong{margin:3px 0;font-size:22px;line-height:1.1}.student-booking-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.student-booking-calendar-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;margin-bottom:18px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.student-booking-calendar-card{background:color-mix(in srgb, var(--surface) 96%, var(--canvas))}}.student-booking-calendar-card .calendar-toolbar{border-bottom:1px solid var(--line)}.student-booking-calendar{padding:10px}.student-selected-lessons-heading{justify-content:space-between;align-items:center;gap:12px;margin:4px 0 12px;display:flex}.student-selected-lessons-heading strong{font-size:16px}.student-selected-lessons-heading small{color:var(--muted);font-size:12px}.student-booking-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;align-content:start;gap:10px;min-width:0;padding:18px;display:grid}@supports (color:color-mix(in lab, red, red)){.student-booking-card{background:color-mix(in srgb, var(--surface) 96%, var(--canvas))}}.student-booking-card h3{letter-spacing:-.025em;margin:0;font-size:18px}.student-booking-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.student-booking-card>span:not(.lesson-type-badge),.booking-status{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.student-booking-card>span svg,.booking-status svg{width:15px;height:15px}.student-booking-card .lesson-type-badge{width:fit-content}.student-shared-comment{border:1px solid var(--accent-ink);gap:5px;min-width:0;padding:12px 13px;display:grid}@supports (color:color-mix(in lab, red, red)){.student-shared-comment{border:1px solid color-mix(in srgb, var(--accent-ink) 24%, var(--line))}}.student-shared-comment{background:var(--accent-ink);border-radius:13px}@supports (color:color-mix(in lab, red, red)){.student-shared-comment{background:color-mix(in srgb, var(--accent-ink) 7%, var(--surface))}}.student-shared-comment{overflow-wrap:anywhere}.student-shared-comment strong{color:var(--ink);font-size:12px}.student-booking-card .student-shared-comment p{color:var(--ink);white-space:pre-wrap}.student-booking-card>button{width:100%;margin-top:auto}.booking-status.confirmed{color:var(--teal)}.booking-status.pending{color:#a16720}.student-empty{border:1px dashed var(--line);color:var(--muted);background:var(--surface);border-radius:16px;padding:42px 16px}@supports (color:color-mix(in lab, red, red)){.student-empty{background:color-mix(in srgb, var(--surface) 84%, var(--canvas))}}.student-empty{text-align:center}.credential-preview{color:var(--ink);background:var(--teal-soft);border-radius:16px;grid-template-columns:42px 1fr;align-items:start;gap:12px;margin:20px 0;padding:16px;display:grid}.credential-preview>svg{width:25px;height:25px;color:var(--teal)}.credential-preview p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.55}:is(.theme-rose,.theme-purple) .ticket-wallet-card{background:linear-gradient(145deg,#ef5a83 0%,#9a54ad 48%,#4a2d75 100%);border:0;box-shadow:0 18px 42px #6137763d}:is(.theme-rose,.theme-purple) .next-lesson,:is(.theme-rose,.theme-purple) .monthly-total-kpi{background:linear-gradient(135deg, var(--teal), #4b326d)}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple) .next-lesson,:is(.theme-rose,.theme-purple) .monthly-total-kpi{background:linear-gradient(135deg, color-mix(in srgb, var(--teal) 84%, #2b2034), #4b326d)}}.theme-dark .ticket-wallet-card{background:linear-gradient(145deg,#334b8c,#263669 55%,#131b35)}.student-app.theme-dark>header{color:var(--ink);border-bottom:1px solid var(--line);background:#0d1428;box-shadow:0 6px 22px #0000003d}.student-app.theme-dark>header .brand-copy :is(small,strong){color:inherit}:is(.theme-rose,.theme-purple,.theme-dark) :is(.student-main-nav,.mobile-header,.mobile-bottom){border-color:var(--line);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) :is(.student-main-nav,.mobile-header,.mobile-bottom){background:color-mix(in srgb, var(--surface) 94%, transparent)}}:is(.theme-rose,.theme-purple,.theme-dark) :is(.student-main-nav,.mobile-header,.mobile-bottom){-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}:is(.theme-rose,.theme-purple,.theme-dark) .student-main-nav button.active{color:var(--teal);border-bottom-color:var(--teal)}:is(.theme-rose,.theme-purple,.theme-dark) .mobile-bottom button.active{color:var(--teal);background:var(--teal-soft)}:is(.theme-rose,.theme-purple,.theme-dark) :is(.student-action,.push-checkbox){color:var(--teal);background:var(--teal-soft);border-color:var(--teal)}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) :is(.student-action,.push-checkbox){border-color:color-mix(in srgb, var(--teal) 34%, var(--line))}}:is(.theme-rose,.theme-purple,.theme-dark) .booking-calendar-grid .calendar-day{color:var(--ink);background:var(--surface);border-color:var(--line)}:is(.theme-rose,.theme-purple,.theme-dark) .booking-calendar-grid .booking-calendar-day:hover{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){:is(.theme-rose,.theme-purple,.theme-dark) .booking-calendar-grid .booking-calendar-day:hover{background:color-mix(in srgb, var(--surface) 78%, var(--teal-soft))}}:is(.theme-rose,.theme-purple,.theme-dark) .opened-lesson-card{color:var(--ink);background:var(--surface);border-color:var(--line);border-left-color:var(--private-color);border-radius:16px}:is(.theme-rose,.theme-purple,.theme-dark) .opened-lesson-card.group{border-left-color:var(--group-color)}:is(.theme-rose,.theme-purple,.theme-dark) .opened-lesson-card :is(time,span){color:var(--muted)}:is(.theme-rose,.theme-purple,.theme-dark) :is(.booking-status.confirmed,.student-main-nav button.active,.mobile-bottom button.active,.student-action,.push-checkbox,.student-greeting p,.student-lesson-date time,.student-view-heading small){color:var(--accent-ink)}.theme-dark .student-booking-card{background:#151d35}.theme-dark .student-empty{background:#10172a}@media (max-width:760px){.app-loading-copy strong{font-size:18px}:is(.theme-rose,.theme-purple,.theme-dark) .page{padding:20px 14px 94px}:is(.theme-rose,.theme-purple,.theme-dark) .page-header h1{font-size:24px}:is(.theme-rose,.theme-purple,.theme-dark) :is(.card,.student-section,.student-ticket-wallet,.student-opened-lessons){border-radius:18px;padding:18px}:is(.theme-rose,.theme-purple,.theme-dark) .modal-card{border-radius:24px;width:min(100%,520px);padding:24px 20px}:is(.theme-rose,.theme-purple,.theme-dark) .modal-card.attendance-history-modal{width:100%;padding-bottom:calc(22px + max(16px, env(safe-area-inset-bottom)));border-radius:20px 20px 0 0}.student-booking-portal{padding:16px 12px 94px}.student-ticket-wallet .section-title,.student-opened-lessons .section-title{flex-direction:column;align-items:stretch}.student-opened-lessons .section-title label{width:100%}.student-ticket-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.student-ticket-grid .ticket-card{text-align:center;grid-template-columns:1fr;align-content:center;justify-items:center;gap:5px;min-height:96px;padding:10px 5px}.student-ticket-grid .ticket-card>svg{width:21px;height:21px}.student-ticket-grid .ticket-card div{justify-items:center}.student-ticket-grid .ticket-card small,.student-ticket-grid .ticket-card span{width:100%;font-size:9px}.student-ticket-grid .ticket-card strong{font-size:19px}.student-booking-calendar{padding:7px}.student-booking-calendar .month-grid>.calendar-week>.calendar-day{min-height:54px;padding:4px 2px}.student-booking-calendar .booking-calendar-events{min-height:8px}.student-booking-list{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.app-loading-orbit{animation:none}}.booking-lesson-detail.modal-card{width:min(94vw,720px);padding:26px}.booking-lesson-header{align-items:flex-start;margin-bottom:18px}.booking-lesson-header>div{gap:5px;min-width:0;display:grid}.booking-lesson-header .lesson-type-badge{justify-self:start;width:max-content}.booking-lesson-header h2{letter-spacing:-.04em;margin:2px 0 0;font-size:26px}.booking-lesson-header p{color:var(--muted);margin:0;font-size:14px}.booking-lesson-summary{grid-template-columns:1.35fr 1fr .8fr;gap:10px;margin-bottom:16px;display:grid}.booking-lesson-summary>div{border:1px solid var(--line);background:var(--surface);border-radius:16px;grid-template-rows:auto auto;grid-template-columns:38px minmax(0,1fr);column-gap:10px;min-width:0;padding:14px;display:grid}@supports (color:color-mix(in lab, red, red)){.booking-lesson-summary>div{background:color-mix(in srgb, var(--surface) 72%, var(--teal-soft))}}.booking-lesson-summary svg{box-sizing:content-box;width:20px;height:20px;color:var(--accent-ink);background:var(--teal-soft);border-radius:12px;grid-row:1/3;align-self:center;padding:9px}.booking-lesson-summary span{color:var(--muted);font-size:12px;font-weight:750}.booking-lesson-summary strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.booking-detail-section{border:1px solid var(--line);background:var(--surface);border-radius:18px;margin-top:12px;padding:18px}.booking-memo-section textarea{resize:vertical;width:100%;min-height:92px;margin-top:8px}.booking-memo-save{width:100%;margin-top:10px}.booking-section-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:13px;display:flex}.booking-section-heading h3{color:var(--ink);margin:0;font-size:17px}.booking-section-heading p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.45}.booking-section-heading>strong{min-width:42px;color:var(--accent-ink);background:var(--teal-soft);text-align:center;border-radius:999px;padding:7px 10px;font-size:13px}.booking-direct-add{grid-template-columns:minmax(0,1fr) auto;gap:9px;display:grid}.booking-direct-add select{width:100%;min-width:0}.booking-direct-add button{min-width:104px}.booking-attendee-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.booking-attendee-list li{border:1px solid var(--line);background:var(--surface);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}@supports (color:color-mix(in lab, red, red)){.booking-attendee-list li{background:color-mix(in srgb, var(--surface) 88%, var(--canvas))}}.booking-attendee-person{align-items:center;gap:10px;min-width:0;display:flex}.booking-attendee-person .avatar{color:#fff;background:linear-gradient(135deg, var(--teal), var(--group-color));border-radius:12px;flex:none;place-items:center;width:36px;height:36px;font-size:14px;font-weight:900;display:grid}.booking-attendee-person>div{gap:3px;min-width:0;display:grid}.booking-attendee-person span:last-child{color:var(--muted);font-size:12px}.booking-attendee-actions{flex:none;gap:6px;display:flex}.booking-attendee-actions button{min-height:44px;padding:8px 11px}.booking-remove-attendee{border:1px solid #a92f57;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:9px 14px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.booking-remove-attendee{border:1px solid color-mix(in srgb, #a92f57 42%, var(--line))}}.booking-remove-attendee{color:#8f274b;background:var(--surface);border-radius:11px}@supports (color:color-mix(in lab, red, red)){.booking-remove-attendee{background:color-mix(in srgb, var(--surface) 90%, #ffe3ec)}}.booking-remove-attendee{font-weight:850;box-shadow:0 3px 10px #8f274b14}.booking-remove-attendee:hover{background:var(--surface);border-color:#a92f57}@supports (color:color-mix(in lab, red, red)){.booking-remove-attendee:hover{background:color-mix(in srgb, var(--surface) 78%, #ffd7e5)}}.booking-remove-attendee svg{width:17px;height:17px}.theme-dark .booking-remove-attendee{color:#ffd6e3;background:#3d2430;border-color:#b86280}.theme-dark .booking-remove-attendee:hover{color:#ffe5ed;background:#4b2938;border-color:#d17a99}.booking-detail-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:14px;justify-items:center;gap:6px;padding:24px 12px;display:grid}.booking-detail-empty svg{width:24px}.booking-detail-empty p{margin:0}.booking-detail-danger{border:1px solid #a92f57;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding:16px 18px;display:flex}@supports (color:color-mix(in lab, red, red)){.booking-detail-danger{border:1px solid color-mix(in srgb, #a92f57 28%, var(--line))}}.booking-detail-danger{background:var(--surface);border-radius:18px}@supports (color:color-mix(in lab, red, red)){.booking-detail-danger{background:color-mix(in srgb, var(--surface) 86%, #fff0f4)}}.booking-detail-danger [role=group]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;width:100%;display:grid}.booking-detail-danger [role=group] button{width:100%;min-width:0;min-height:48px}.booking-detail-danger strong{color:var(--ink)}.booking-detail-danger p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.45}.booking-detail-danger button{flex:none;min-width:98px}.booking-delete-lesson{color:#fff;background:linear-gradient(135deg,#bd3f68,#942544);border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:11px 18px;font-weight:900;display:inline-flex;box-shadow:0 8px 18px #94254438}.booking-delete-lesson:hover{background:linear-gradient(135deg,#a92f57,#7f1f3a)}.booking-delete-lesson svg{width:18px;height:18px}.modal-backdrop.confirmation-modal-backdrop.booking-delete-confirm-backdrop{z-index:190;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#16121c9e;place-items:center}.modal-backdrop.confirmation-modal-backdrop.booking-delete-confirm-backdrop>.booking-delete-confirm{width:min(100%,410px);max-height:calc(100dvh - max(32px, env(safe-area-inset-top)) - max(32px, env(safe-area-inset-bottom)));border:1px solid #bd3f68;padding:28px 24px 24px;overflow-y:auto}@supports (color:color-mix(in lab, red, red)){.modal-backdrop.confirmation-modal-backdrop.booking-delete-confirm-backdrop>.booking-delete-confirm{border:1px solid color-mix(in srgb, #bd3f68 22%, var(--line))}}.modal-backdrop.confirmation-modal-backdrop.booking-delete-confirm-backdrop>.booking-delete-confirm{background:var(--surface);text-align:center;border-radius:24px;box-shadow:0 24px 70px #23121d47}.booking-delete-confirm-icon{color:#a92f57;background:var(--surface);border-radius:18px;place-items:center;width:58px;height:58px;margin:0 auto 16px;display:grid}@supports (color:color-mix(in lab, red, red)){.booking-delete-confirm-icon{background:color-mix(in srgb, var(--surface) 72%, #ffdce8)}}.booking-delete-confirm-icon svg{width:28px;height:28px}.booking-delete-confirm h2{color:var(--ink);letter-spacing:-.035em;word-break:keep-all;margin:0;font-size:23px;line-height:1.35}.booking-delete-confirm-note{color:var(--muted);word-break:keep-all;margin:10px auto 0;font-size:12px;line-height:1.6}.booking-delete-confirm .form-error{text-align:left;margin:14px 0 0}.modal-backdrop.confirmation-modal-backdrop>.booking-delete-confirm .booking-delete-confirm-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;margin:22px 0 0;display:grid}.booking-delete-confirm-actions button{border-radius:12px;width:100%;min-width:0;min-height:48px;font-weight:900}.booking-delete-confirm-submit{color:#fff;background:linear-gradient(135deg,#bd3f68,#942544);border:0;box-shadow:0 8px 18px #94254433}.booking-delete-confirm-submit:hover:not([aria-disabled=true]){background:linear-gradient(135deg,#a92f57,#7f1f3a)}.booking-delete-confirm-submit[aria-disabled=true]{cursor:wait;opacity:.65}.booking-student-picker-trigger{border:1px solid var(--line);color:var(--ink);background:var(--surface);text-align:left;border-radius:12px;justify-items:start;gap:2px;padding:10px 13px;display:grid;min-width:0!important}.booking-student-picker-trigger span{font-weight:800}.booking-student-picker-trigger small{color:var(--muted);font-size:11px}.modal-backdrop.booking-student-picker-backdrop{z-index:180;background:#16121c94;place-items:center;padding:0;display:grid;position:fixed;inset:0}.booking-student-picker-dialog.modal-card{width:min(calc(100vw - max(16px, env(safe-area-inset-left), env(safe-area-inset-right)) - max(16px, env(safe-area-inset-left), env(safe-area-inset-right))), 480px);max-height:calc(100dvh - max(16px, env(safe-area-inset-top), env(safe-area-inset-bottom)) - max(16px, env(safe-area-inset-top), env(safe-area-inset-bottom)));border-radius:24px;padding:24px;overflow:hidden}.booking-student-picker-list{gap:8px;max-height:min(54dvh,480px);padding:2px;display:grid;overflow-y:auto}.booking-student-option{border:1px solid var(--line);width:100%;min-height:60px;color:var(--ink);background:var(--surface);text-align:left;border-radius:14px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.booking-student-option:not(:disabled):hover{border-color:var(--teal);background:var(--teal-soft)}.booking-student-option:disabled{cursor:not-allowed;opacity:.5;background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.booking-student-option:disabled{background:color-mix(in srgb, var(--surface) 80%, var(--canvas))}}.booking-student-option-copy{gap:3px;min-width:0;display:grid}.booking-student-option-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.booking-ticket-balance{color:var(--muted);font-size:12px;font-weight:650;line-height:1.35}.booking-ticket-unavailable{color:#8f274b;text-align:right;font-size:10px;font-weight:800}.theme-dark .booking-ticket-unavailable{color:#ffd6e3}.ad-diagnostic.toast{z-index:100;pointer-events:none;white-space:normal;text-align:center;width:max-content;max-width:min(88vw,460px)}@media (max-width:600px){.booking-lesson-detail.modal-card{width:100%;max-height:min(90dvh,760px);padding:20px 16px calc(18px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0}.booking-lesson-header{margin-bottom:14px}.booking-lesson-header h2{font-size:22px}.booking-lesson-summary{grid-template-columns:1fr 1fr;gap:8px}.booking-lesson-summary>div{border-radius:14px;grid-template-columns:32px minmax(0,1fr);column-gap:8px;padding:11px}.booking-lesson-summary>div:first-child{grid-column:1/-1}.booking-lesson-summary svg{border-radius:10px;width:18px;height:18px;padding:7px}.booking-lesson-summary strong{font-size:14px}.booking-detail-section{border-radius:16px;padding:15px}.booking-direct-add{grid-template-columns:1fr}.booking-direct-add button{width:100%;min-height:44px}.booking-attendee-list li{flex-direction:column;align-items:stretch}.booking-attendee-actions{grid-template-columns:1fr 1fr;display:grid}.booking-attendee-actions .danger{grid-column:1/-1}.booking-detail-danger{flex-direction:column;align-items:stretch}.booking-detail-danger button{width:100%;min-height:48px}.ad-diagnostic.toast{font-size:12px;line-height:1.4;bottom:82px}}.booking-create-dialog.modal-card{border-top:4px solid var(--private-color);width:min(94vw,640px);max-height:calc(100dvh - 32px);padding:26px;overflow-y:auto}.booking-create-dialog.group.modal-card{border-top-color:var(--group-color)}.booking-create-header{align-items:flex-start;margin-bottom:20px}.booking-create-header>div{gap:4px;min-width:0;display:grid}.booking-create-header .lesson-type-badge{width:max-content;margin-bottom:2px}.booking-create-header h2{letter-spacing:-.04em;margin:0;font-size:26px}.booking-create-header p{color:var(--muted);margin:0;font-size:13px}.booking-type-picker,.booking-capacity-card,.booking-repeat-picker,.booking-repeat-exclusions{border:0;min-width:0;margin:0;padding:0}.booking-type-picker>legend{width:100%;color:var(--ink);gap:2px;margin-bottom:10px;padding:0;display:grid}.booking-type-picker>legend strong{font-size:14px}.booking-type-picker>legend small{color:var(--muted);font-size:12px;font-weight:500}.booking-type-picker>[role=radiogroup]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.booking-type-toggle{border:1px solid var(--line);min-width:0;min-height:104px;color:var(--ink);background:var(--surface);text-align:left;border-radius:17px;grid-template-rows:1fr auto;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:7px 11px;padding:15px;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s;display:grid}.booking-type-toggle:hover{transform:translateY(-1px)}.booking-type-icon{border-radius:14px;grid-row:1/3;place-items:center;width:44px;height:44px;display:grid}.booking-type-icon svg{width:22px;height:22px}.booking-type-toggle.private .booking-type-icon{color:var(--private-ink);background:var(--private-soft)}.booking-type-toggle.group .booking-type-icon{color:var(--group-color);background:var(--group-color)}@supports (color:color-mix(in lab, red, red)){.booking-type-toggle.group .booking-type-icon{background:color-mix(in srgb, var(--group-color) 13%, var(--surface))}}.booking-type-copy{gap:2px;min-width:0;display:grid}.booking-type-copy strong{font-size:15px}.booking-type-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.booking-type-status{color:var(--muted);align-items:center;gap:4px;font-size:11px;font-weight:850;display:inline-flex}.booking-type-status svg{width:13px;height:13px}.booking-type-toggle.private.selected{border-color:var(--private-color);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.booking-type-toggle.private.selected{background:color-mix(in srgb, var(--surface) 68%, var(--private-soft))}}.booking-type-toggle.private.selected{box-shadow:0 8px 22px var(--private-color), inset 0 0 0 1px var(--private-color)}@supports (color:color-mix(in lab, red, red)){.booking-type-toggle.private.selected{box-shadow:0 8px 22px color-mix(in srgb, var(--private-color) 17%, transparent), inset 0 0 0 1px var(--private-color)}}.booking-type-toggle.private.selected .booking-type-status{color:var(--private-ink)}.booking-type-toggle.group.selected{border-color:var(--group-color);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.booking-type-toggle.group.selected{background:color-mix(in srgb, var(--surface) 89%, var(--group-color))}}.booking-type-toggle.group.selected{box-shadow:0 8px 22px var(--group-color), inset 0 0 0 1px var(--group-color)}@supports (color:color-mix(in lab, red, red)){.booking-type-toggle.group.selected{box-shadow:0 8px 22px color-mix(in srgb, var(--group-color) 18%, transparent), inset 0 0 0 1px var(--group-color)}}.booking-type-toggle.group.selected .booking-type-status{color:var(--group-color)}.booking-type-toggle.private:focus-visible{outline-color:var(--private-color)}@supports (color:color-mix(in lab, red, red)){.booking-type-toggle.private:focus-visible{outline-color:color-mix(in srgb, var(--private-color) 46%, transparent)}}.booking-type-toggle.group:focus-visible{outline-color:var(--group-color)}@supports (color:color-mix(in lab, red, red)){.booking-type-toggle.group:focus-visible{outline-color:color-mix(in srgb, var(--group-color) 46%, transparent)}}.booking-capacity-card{border:1px solid var(--group-color);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 18px;margin-top:14px;padding:15px 16px;display:grid}@supports (color:color-mix(in lab, red, red)){.booking-capacity-card{border:1px solid color-mix(in srgb, var(--group-color) 34%, var(--line))}}.booking-capacity-card{background:var(--surface);border-radius:17px}@supports (color:color-mix(in lab, red, red)){.booking-capacity-card{background:color-mix(in srgb, var(--surface) 93%, var(--group-color))}}.booking-capacity-card>legend{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.booking-capacity-copy{gap:2px;min-width:0;display:grid}.booking-capacity-copy strong{color:var(--ink);font-size:14px}.booking-capacity-copy small{color:var(--muted);font-size:11px}.booking-capacity-stepper{border:1px solid var(--group-color);grid-template-columns:46px 68px 46px;align-items:center;display:grid;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.booking-capacity-stepper{border:1px solid color-mix(in srgb, var(--group-color) 34%, var(--line))}}.booking-capacity-stepper{background:var(--surface);box-shadow:0 5px 14px var(--group-color);border-radius:14px}@supports (color:color-mix(in lab, red, red)){.booking-capacity-stepper{box-shadow:0 5px 14px color-mix(in srgb, var(--group-color) 10%, transparent)}}.booking-capacity-stepper button{width:46px;height:46px;color:var(--group-color);background:0 0;border:0;place-items:center;display:grid}.booking-capacity-stepper button:not(:disabled):hover{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.booking-capacity-stepper button:not(:disabled):hover{background:color-mix(in srgb, var(--surface) 86%, var(--group-color))}}.booking-capacity-stepper button:disabled{color:var(--muted);cursor:not-allowed;opacity:.35}.booking-capacity-stepper output{color:var(--ink);text-align:center;font-size:18px;font-weight:900}.booking-repeat-picker{margin:14px 0 10px}.booking-repeat-picker>legend{width:100%;color:var(--ink);gap:2px;margin-bottom:9px;padding:0;display:grid}.booking-repeat-picker>legend strong{font-size:14px}.booking-repeat-picker>legend small{color:var(--muted);font-size:12px;font-weight:500}.booking-repeat-picker>[role=radiogroup]{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.booking-repeat-option{border:1px solid var(--line);min-width:0;min-height:82px;color:var(--ink);background:var(--surface);border-radius:15px;align-content:center;justify-items:center;gap:3px;padding:13px 8px 11px;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.booking-repeat-option{background:color-mix(in srgb, var(--surface) 91%, var(--canvas))}}.booking-repeat-option{text-align:center;transition:background .16s,transform .16s}.booking-repeat-option:hover{background:var(--surface);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.booking-repeat-option:hover{background:color-mix(in srgb, var(--surface) 84%, var(--teal-soft))}}.booking-repeat-option strong{font-size:13px;line-height:1.25}.booking-repeat-option small{color:var(--muted);font-size:10px;line-height:1.25}.booking-repeat-check{border:1px solid var(--muted);place-items:center;width:18px;height:18px;display:grid;position:absolute;top:7px;right:7px}@supports (color:color-mix(in lab, red, red)){.booking-repeat-check{border:1px solid color-mix(in srgb, var(--muted) 62%, var(--line))}}.booking-repeat-check{color:#0000;background:var(--surface);border-radius:50%}.booking-repeat-check svg{stroke-width:3px;width:12px;height:12px}.booking-repeat-option.selected .booking-repeat-check{color:var(--surface)}.booking-create-dialog.private .booking-repeat-option.selected .booking-repeat-check{border-color:var(--private-color);background:var(--private-color)}.booking-create-dialog.group .booking-repeat-option.selected .booking-repeat-check{border-color:var(--group-color);background:var(--group-color)}.booking-create-dialog.private .booking-repeat-option.selected{border-color:var(--private-color);color:var(--private-ink);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.booking-create-dialog.private .booking-repeat-option.selected{background:color-mix(in srgb, var(--surface) 68%, var(--private-soft))}}.booking-create-dialog.private .booking-repeat-option.selected{box-shadow:inset 0 0 0 1px var(--private-color), 0 7px 18px var(--private-color)}@supports (color:color-mix(in lab, red, red)){.booking-create-dialog.private .booking-repeat-option.selected{box-shadow:inset 0 0 0 1px var(--private-color), 0 7px 18px color-mix(in srgb, var(--private-color) 14%, transparent)}}.booking-create-dialog.group .booking-repeat-option.selected{border-color:var(--group-color);color:var(--group-color);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.booking-create-dialog.group .booking-repeat-option.selected{background:color-mix(in srgb, var(--surface) 88%, var(--group-color))}}.booking-create-dialog.group .booking-repeat-option.selected{box-shadow:inset 0 0 0 1px var(--group-color), 0 7px 18px var(--group-color)}@supports (color:color-mix(in lab, red, red)){.booking-create-dialog.group .booking-repeat-option.selected{box-shadow:inset 0 0 0 1px var(--group-color), 0 7px 18px color-mix(in srgb, var(--group-color) 16%, transparent)}}.theme-dark .booking-create-dialog.private .booking-repeat-option.selected{color:#ffd08a;background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.theme-dark .booking-create-dialog.private .booking-repeat-option.selected{background:color-mix(in srgb, var(--surface) 82%, var(--private-color))}}.theme-dark .booking-create-dialog.group .booking-repeat-option.selected{color:var(--accent-ink)}.booking-repeat-option.selected small{color:currentColor;opacity:.76}.booking-repeat-option:focus-visible{outline:3px solid var(--teal)}@supports (color:color-mix(in lab, red, red)){.booking-repeat-option:focus-visible{outline:3px solid color-mix(in srgb, var(--teal) 36%, transparent)}}.booking-repeat-option:focus-visible{outline-offset:2px}.booking-repeat-exclusions{border:1px solid var(--line);background:var(--surface);border-radius:15px;margin:4px 0 14px;padding:14px 15px}@supports (color:color-mix(in lab, red, red)){.booking-repeat-exclusions{background:color-mix(in srgb, var(--surface) 82%, var(--canvas))}}.booking-repeat-exclusions>legend{color:var(--ink);padding:0 5px;font-size:13px;font-weight:850}.booking-repeat-exclusions>p{color:var(--muted);margin:0 0 10px;font-size:11px}.booking-repeat-exclusions>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.booking-repeat-exclusions label{border:1px solid var(--line);min-height:46px;color:var(--ink);background:var(--surface);border-radius:12px;align-items:center;gap:9px;margin:0;padding:10px 12px;font-size:13px;display:flex}.booking-repeat-exclusions input{width:19px;height:19px;accent-color:var(--group-color);flex:none;margin:0;min-height:19px!important}.booking-repeat-exclusions label:has(input:checked){border-color:var(--teal);background:var(--teal-soft);box-shadow:inset 0 0 0 1px var(--teal)}.booking-create-dialog.private .booking-repeat-exclusions input{accent-color:var(--private-color)}.booking-create-dialog.private .booking-repeat-exclusions label:has(input:checked){border-color:var(--private-color);background:var(--private-soft);box-shadow:inset 0 0 0 1px var(--private-color)}.theme-dark .booking-create-dialog.private .booking-repeat-exclusions label:has(input:checked){color:#ffd08a;background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.theme-dark .booking-create-dialog.private .booking-repeat-exclusions label:has(input:checked){background:color-mix(in srgb, var(--surface) 82%, var(--private-color))}}.booking-create-submit{min-height:52px;margin-top:16px}@media (max-width:600px){.booking-create-backdrop{align-items:end;padding:0}.booking-create-dialog.modal-card{width:100%;max-height:calc(94dvh - env(safe-area-inset-top));padding:20px 16px calc(18px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0}.booking-create-header h2{font-size:22px}.booking-type-picker>[role=radiogroup]{gap:8px}.booking-type-toggle{text-align:center;grid-template-rows:42px auto auto;grid-template-columns:1fr;justify-items:center;gap:5px;min-height:132px;padding:12px 8px}.booking-type-icon{border-radius:13px;grid-row:auto;width:42px;height:42px}.booking-type-copy small{white-space:normal;max-width:132px;line-height:1.3}.booking-type-status{justify-content:center}.booking-capacity-card{grid-template-columns:1fr;gap:12px}.booking-capacity-stepper{grid-template-columns:52px 1fr 52px;width:100%}.booking-capacity-stepper button{width:52px;height:48px}.booking-repeat-exclusions>div{grid-template-columns:1fr 1fr}.booking-repeat-exclusions label{justify-content:center;padding-inline:8px}}.settings-menu-page{width:min(100%,980px)}.settings-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.settings-feature-button{border:1px solid var(--line);grid-template-columns:58px 1fr 24px;align-items:center;gap:16px;min-height:142px;padding:22px;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.settings-feature-button{border:1px solid color-mix(in srgb, var(--line) 82%, var(--teal))}}.settings-feature-button{color:var(--ink);background:linear-gradient(145deg, var(--surface) 0%, var(--surface) 72%);border-radius:24px}@supports (color:color-mix(in lab, red, red)){.settings-feature-button{background:linear-gradient(145deg, color-mix(in srgb, var(--surface) 94%, var(--teal)) 0%, var(--surface) 72%)}}.settings-feature-button{box-shadow:0 12px 30px var(--ink)}@supports (color:color-mix(in lab, red, red)){.settings-feature-button{box-shadow:0 12px 30px color-mix(in srgb, var(--ink) 7%, transparent)}}.settings-feature-button{text-align:left;transition:transform .18s,border-color .18s,box-shadow .18s}.settings-feature-button:hover{border-color:var(--teal);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.settings-feature-button:hover{border-color:color-mix(in srgb, var(--teal) 48%, var(--line))}}.settings-feature-button:hover{box-shadow:0 17px 38px var(--teal)}@supports (color:color-mix(in lab, red, red)){.settings-feature-button:hover{box-shadow:0 17px 38px color-mix(in srgb, var(--teal) 15%, transparent)}}.settings-feature-button:focus-visible{outline:3px solid var(--teal)}@supports (color:color-mix(in lab, red, red)){.settings-feature-button:focus-visible{outline:3px solid color-mix(in srgb, var(--teal) 46%, transparent)}}.settings-feature-button:focus-visible{outline-offset:3px}.settings-feature-icon{width:58px;height:58px;color:var(--teal);background:var(--surface);border-radius:19px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.settings-feature-icon{background:color-mix(in srgb, var(--surface) 76%, var(--teal))}}.settings-feature-icon{box-shadow:inset 0 0 0 1px var(--teal)}@supports (color:color-mix(in lab, red, red)){.settings-feature-icon{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--teal) 22%, transparent)}}.settings-feature-icon svg{width:27px;height:27px}.settings-feature-copy{gap:7px;min-width:0;display:grid}.settings-feature-copy strong{letter-spacing:-.025em;word-break:keep-all;font-size:17px;font-weight:900}.settings-feature-copy small{color:var(--muted);word-break:keep-all;font-size:13px;font-weight:650;line-height:1.55}.settings-feature-arrow{width:20px;color:var(--muted)}.settings-feature-button.danger{border-color:#dc2626}@supports (color:color-mix(in lab, red, red)){.settings-feature-button.danger{border-color:color-mix(in srgb, #dc2626 26%, var(--line))}}.settings-feature-button.danger{background:linear-gradient(145deg, var(--surface) 0%, var(--surface) 74%)}@supports (color:color-mix(in lab, red, red)){.settings-feature-button.danger{background:linear-gradient(145deg, color-mix(in srgb, var(--surface) 92%, #ef4444) 0%, var(--surface) 74%)}}.settings-feature-button.danger .settings-feature-icon{color:#dc2626;background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.settings-feature-button.danger .settings-feature-icon{background:color-mix(in srgb, var(--surface) 80%, #ef4444)}}.settings-feature-button.danger:hover{border-color:#dc2626}@supports (color:color-mix(in lab, red, red)){.settings-feature-button.danger:hover{border-color:color-mix(in srgb, #dc2626 55%, var(--line))}}.settings-feature-button.danger:hover{box-shadow:0 17px 38px #dc262621}.settings-feature-dialog.modal-card{border-top:4px solid var(--teal);width:min(94vw,680px);max-height:calc(100dvh - 40px);padding:0 26px 26px;overflow-y:auto}.settings-feature-dialog.danger{border-top-color:#dc2626}.settings-dialog-header{z-index:2;border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:flex-start;gap:18px;margin:0 -26px 20px;padding:24px 26px 18px;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.settings-dialog-header{background:color-mix(in srgb, var(--surface) 96%, transparent)}}.settings-dialog-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.settings-dialog-header h2{color:var(--ink);letter-spacing:-.035em;margin:0;font-size:24px}.settings-dialog-header p{color:var(--muted);word-break:keep-all;margin:6px 0 0;font-size:13px;line-height:1.5}.settings-dialog-header .icon-button{flex:none}.settings-feature-dialog .settings-dialog-form{border:1px solid var(--line);background:var(--surface);border-radius:18px;gap:15px;padding:18px;display:grid}@supports (color:color-mix(in lab, red, red)){.settings-feature-dialog .settings-dialog-form{background:color-mix(in srgb, var(--surface) 76%, var(--canvas))}}.push-reminder-form{gap:12px!important}.reminder-offsets{border:1px solid var(--line);border-radius:16px;margin:0;padding:14px;grid-template-columns:repeat(5,minmax(0,1fr))!important}.reminder-offsets>legend{color:var(--ink);grid-column:1/-1;padding:0 6px;font-size:16px;font-weight:850}.reminder-offsets .settings-option-button{border-radius:14px;justify-content:center;gap:8px;min-height:72px;margin:0;padding:11px 8px}.reminder-offsets .settings-option-button span{white-space:nowrap;font-size:13px}.push-reminder-form .modal-actions{margin-top:2px}.settings-dialog-form .settings-section{border:0;margin:6px 0 0;padding:0}.settings-dialog-form .settings-section>legend{color:var(--ink);margin-bottom:12px;padding:0;font-size:17px;font-weight:900}.settings-feature-dialog .theme-settings,.settings-feature-dialog .calendar-feed-settings,.settings-feature-dialog .promotion-card{box-shadow:none;background:0 0;border:0;margin:0;padding:0}.settings-feature-dialog .theme-settings>h2,.settings-feature-dialog .calendar-feed-settings>h2,.settings-feature-dialog .promotion-heading h2{display:none}.settings-feature-dialog .modal-actions{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0 0;padding-top:16px;display:grid}.settings-feature-dialog .modal-actions :is(button,a){width:100%;min-height:48px}.settings-empty-panel{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:18px;justify-items:center;gap:10px;padding:34px 22px;display:grid}.settings-empty-panel svg{width:40px;height:40px;color:var(--teal)}.settings-empty-panel h3{color:var(--ink);margin:4px 0 0}.settings-empty-panel p{word-break:keep-all;max-width:430px;margin:0;line-height:1.65}.settings-danger-summary{border:1px solid #dc2626;grid-template-columns:42px 1fr;align-items:center;gap:12px;margin-bottom:18px;padding:14px;display:grid}@supports (color:color-mix(in lab, red, red)){.settings-danger-summary{border:1px solid color-mix(in srgb, #dc2626 34%, var(--line))}}.settings-danger-summary{color:#b91c1c;background:var(--surface);border-radius:16px}@supports (color:color-mix(in lab, red, red)){.settings-danger-summary{background:color-mix(in srgb, var(--surface) 90%, #ef4444)}}.theme-dark .settings-danger-summary{color:#ffc2c2;background:#3a202a;border-color:#c86f78}.settings-danger-summary svg{width:32px;height:32px}.settings-danger-summary p{margin:0;line-height:1.55}.settings-feature-dialog.danger>label,.settings-feature-dialog.danger>.danger-confirm-check{margin-top:14px}.danger-confirm-check{align-items:flex-start;gap:9px;grid-template-columns:none!important;display:flex!important}.danger-confirm-check input{flex:none;width:20px;height:20px;margin-top:2px;min-height:20px!important}.danger-action-toggle{border:1px solid #dc2626;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:18px;padding:5px;display:grid}@supports (color:color-mix(in lab, red, red)){.danger-action-toggle{border:1px solid color-mix(in srgb, #dc2626 25%, var(--line))}}.danger-action-toggle{background:var(--surface);border-radius:16px}@supports (color:color-mix(in lab, red, red)){.danger-action-toggle{background:color-mix(in srgb, var(--surface) 82%, var(--canvas))}}.danger-action-toggle button{min-height:52px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-weight:850;display:flex}.danger-action-toggle button[aria-pressed=true]{border-color:#dc2626}@supports (color:color-mix(in lab, red, red)){.danger-action-toggle button[aria-pressed=true]{border-color:color-mix(in srgb, #dc2626 52%, var(--line))}}.danger-action-toggle button[aria-pressed=true]{color:#b91c1c;background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.danger-action-toggle button[aria-pressed=true]{background:color-mix(in srgb, var(--surface) 82%, #ef4444)}}.danger-action-toggle button[aria-pressed=true]{box-shadow:0 6px 18px #dc26261f}.theme-dark .danger-action-toggle button[aria-pressed=true]{color:#ffc2c2;background:#3a202a}.danger-action-toggle svg{width:19px;height:19px}.danger-responsibility-notice{color:var(--ink);background:var(--surface);border-left:4px solid #dc2626;border-radius:8px;margin:0 0 16px;padding:12px 14px}@supports (color:color-mix(in lab, red, red)){.danger-responsibility-notice{background:color-mix(in srgb, var(--surface) 88%, #ef4444)}}.danger-responsibility-notice{word-break:keep-all;font-size:13px;font-weight:700;line-height:1.6}.settings-feature-dialog.danger>label>small{color:var(--muted);margin-top:7px;font-size:12px;font-weight:650;line-height:1.5;display:block}@media (max-width:600px){.settings-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.settings-feature-button{text-align:center;border-radius:19px;grid-template-rows:48px auto;grid-template-columns:1fr;align-content:start;justify-items:center;gap:10px;min-height:158px;padding:16px 10px}.settings-feature-icon{border-radius:15px;width:48px;height:48px}.settings-feature-icon svg{width:23px;height:23px}.settings-feature-copy{gap:5px}.settings-feature-copy strong{font-size:14px;line-height:1.35}.settings-feature-copy small{font-size:12px;line-height:1.4}.settings-feature-arrow{display:none}.settings-modal-backdrop{align-items:end;padding:0}.settings-feature-dialog.modal-card{width:100%;max-height:calc(94dvh - env(safe-area-inset-top));padding:0 16px calc(18px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0}.settings-feature-dialog.danger.modal-card{border-radius:22px;width:min(92vw,520px);max-height:calc(100dvh - 32px);margin:auto;padding:0 18px 20px}.settings-dialog-header{margin:0 -16px 18px;padding:19px 16px 18px}.settings-feature-dialog.danger .settings-dialog-header{margin-inline:-18px;padding-inline:18px}.danger-action-toggle button{flex-direction:column;gap:4px;min-height:56px;font-size:13px}.settings-dialog-header h2{font-size:21px}.settings-feature-dialog .form-grid{grid-template-columns:1fr}.settings-feature-dialog .settings-button-grid.three-columns{grid-template-columns:1fr 1fr}.settings-feature-dialog .push-reminder-form{padding:14px}.settings-feature-dialog .reminder-offsets.three-columns{gap:8px;padding:12px;grid-template-columns:repeat(6,minmax(0,1fr))!important}.settings-feature-dialog .reminder-offsets>.settings-option-button{grid-column:span 2;min-width:0}.settings-feature-dialog .reminder-offsets>.settings-option-button:nth-of-type(4){grid-column:2/span 2}.settings-feature-dialog .reminder-offsets>.settings-option-button:nth-of-type(5){grid-column:4/span 2}.settings-feature-dialog .reminder-offsets .settings-option-button{flex-direction:column;gap:5px;min-height:54px;padding:8px 4px}.settings-feature-dialog .reminder-offsets .settings-option-button span{font-size:12px}.attendance-student-search{border-radius:20px;padding:17px}.attendance-student-results{max-height:min(350px,42dvh)}.theme-dark .toast{width:calc(100vw - 28px);bottom:calc(72px + env(safe-area-inset-bottom));border-radius:14px;padding:10px 13px;font-size:12px;line-height:1.45}}.login-guide-links{flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:16px;display:flex}.login-guide-links .text-button{margin:0;padding:4px 0;font-size:13px}.login-guide-links .text-button+.text-button{color:#6f52b5}.guide-dialog,.app-guide-dialog,.plan-guide-dialog{width:min(100%,620px);padding:28px;position:relative;overflow-x:hidden}.guide-close,.app-guide-dialog .modal-close,.plan-guide-dialog .modal-close{z-index:1;color:var(--muted);position:absolute;top:16px;right:16px}.guide-step{text-align:center;justify-items:center;min-height:310px;padding:16px 10px 4px;display:grid}.guide-icon{color:#fff;background:linear-gradient(145deg,#2563eb,#7466c7);border-radius:23px;place-items:center;width:72px;height:72px;margin-bottom:20px;display:grid;box-shadow:0 15px 34px #4650b43d}.guide-icon svg{width:32px;height:32px}.guide-step .eyebrow,.plan-comparison .eyebrow{color:#5f54a5;letter-spacing:.12em;margin:0 0 8px;font-size:11px;font-weight:900}.guide-step h2,.plan-comparison h2{letter-spacing:-.04em;margin:0;font-size:clamp(23px,4vw,30px);line-height:1.3}.guide-step>p:last-child{max-width:470px;color:var(--muted);margin:14px auto 0;line-height:1.75}.guide-dots{justify-content:center;gap:7px;margin:16px 0 4px;display:flex}.guide-dots i{background:#d5dce0;border-radius:50%;width:7px;height:7px;transition:width .2s,background .2s}.guide-dots i.active{background:var(--teal);border-radius:8px;width:25px}.guide-dialog .modal-actions{justify-content:space-between;margin-top:18px}.guide-dialog .modal-actions>div{gap:8px;margin-left:auto;display:flex}.app-guide-dialog{text-align:center}.app-guide-dialog .guide-icon{margin:10px auto 18px}.app-guide-dialog .eyebrow,.plan-guide-dialog>.eyebrow{color:#5f54a5;letter-spacing:.12em;margin:0 0 8px;font-size:11px;font-weight:900}.app-guide-dialog h2,.plan-guide-dialog h2{letter-spacing:-.04em;margin:0;font-size:clamp(23px,4vw,30px);line-height:1.3}.guide-lead{max-width:500px;color:var(--muted);margin:12px auto 18px;line-height:1.7}.guide-progress{justify-content:center;gap:7px;margin:2px 0 14px;display:flex}.guide-progress i{background:#d5dce0;border-radius:8px;width:24px;height:5px}.guide-progress i.active{background:var(--teal)}.guide-points{text-align:left;gap:8px;max-width:440px;margin:0 auto;padding:0;list-style:none;display:grid}.guide-points li{color:#445660;background:#f4f7fb;border-radius:9px;align-items:center;gap:9px;padding:10px 12px;font-size:13px;font-weight:750;display:flex}.guide-points svg{color:#21805f;flex:none;width:17px}.guide-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.guide-actions>.text-button{margin:0}.guide-actions>div{gap:8px;margin-left:auto;display:flex}.plan-guide-dialog{padding:28px}.plan-comparison{border:1px solid var(--line);border-radius:13px;padding:0;overflow:hidden}.plan-comparison-row{border-top:1px solid var(--line);grid-template-columns:1.25fr 1fr 1fr;align-items:center;min-height:49px;display:grid}.plan-comparison-row:first-child{background:#f3f7ff;border-top:0}.plan-comparison-row span,.plan-comparison-row strong,.plan-comparison-row b{align-items:center;gap:4px;height:100%;margin:0;padding:11px 12px;font-size:12px;display:flex}.plan-comparison-row span{color:var(--muted)}.plan-comparison-row .paid{color:#5e3ea1}.plan-comparison-row svg{color:#21805f;width:14px}.plan-guide-current{color:#155e58;background:var(--teal-soft);border-radius:9px;margin:13px 0 0;padding:10px 12px;font-size:12px}.plan-guide-dialog .modal-actions{justify-content:flex-end;margin-top:16px}.plan-comparison>p:not(.eyebrow){color:var(--muted);margin:10px 0 20px}.plan-table{border:1px solid var(--line);border-radius:13px;overflow:hidden}.plan-table>div{border-top:1px solid var(--line);grid-template-columns:1.25fr 1fr 1fr;align-items:center;min-height:52px;display:grid}.plan-table>div:first-child{background:#f3f7ff;border-top:0}.plan-table span,.plan-table strong{padding:12px 14px;font-size:13px}.plan-table span:first-child,.plan-table strong:first-child{color:var(--muted)}.plan-table .recommended{color:#5e3ea1}.plan-current{color:#155e58;background:var(--teal-soft);border-radius:10px;margin:14px 0 0;padding:11px 13px;font-size:13px;font-weight:800}.plan-note{color:var(--muted);align-items:flex-start;gap:8px;margin:10px 0 0;font-size:12px;display:flex}.plan-note svg{color:var(--teal);flex:none}.teacher-start-checklist{background:linear-gradient(135deg,#fff,#f1f6ff);border:1px solid #cfe0fa;border-radius:16px;margin:28px clamp(22px,3vw,45px) 0;padding:22px;position:relative;box-shadow:0 12px 36px #204f9014}.checklist-close{color:var(--muted);position:absolute;top:12px;right:12px}.checklist-heading{justify-content:space-between;gap:20px;padding-right:35px;display:flex}.checklist-heading .eyebrow{color:#4569a7;letter-spacing:.08em;margin:0 0 4px;font-size:11px;font-weight:900}.checklist-heading h2{margin:0;font-size:21px}.checklist-heading p{color:var(--muted);margin:5px 0 0;font-size:13px}.checklist-heading>strong{color:#4f65a7;flex:none;align-self:center;font-size:13px}.checklist-progress{background:#dfe7f4;border-radius:9px;height:7px;margin:18px 0;overflow:hidden}.checklist-progress i{border-radius:inherit;background:linear-gradient(90deg,#2563eb,#7466c7);height:100%;transition:width .3s;display:block}.teacher-start-checklist ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:0;padding:0;list-style:none;display:grid}.teacher-start-checklist li{color:#52636e;align-items:center;gap:9px;font-size:13px;font-weight:700;display:flex}.teacher-start-checklist li>span{color:#9aa8b0;background:#fff;border:1px solid #cbd7e3;border-radius:50%;flex:none;place-items:center;width:23px;height:23px;display:grid}.teacher-start-checklist li>span svg{width:13px}.teacher-start-checklist li.complete{color:#236b57}.teacher-start-checklist li.complete>span{color:#fff;background:#2f9779;border-color:#2f9779}.checklist-actions{align-items:center;gap:12px;margin-top:19px;display:flex}.checklist-actions code{color:#45558d;background:#e8edfa;border-radius:8px;padding:8px 11px;font-weight:850}.help-guide-card{grid-column:1/-1;padding:20px}.help-guide-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.help-guide-heading h2{margin-top:0}.help-guide-heading p{margin-bottom:0}.help-guide-actions{flex-wrap:wrap;gap:9px;display:flex}.plan-badge{color:#8b5907;background:#fff0c7;border-radius:999px;flex:none;padding:5px 9px;font-size:11px;font-weight:900}.plan-badge.paid{color:#1f6955;background:#dff4eb}.theme-dark .teacher-start-checklist,.theme-dark .guide-dialog,.theme-dark .app-guide-dialog,.theme-dark .plan-guide-dialog{background:#13251f;border-color:#314b43}.theme-dark .teacher-start-checklist li,.theme-dark .guide-step>p:last-child,.theme-dark .plan-comparison>p:not(.eyebrow){color:#b9c9c2}.theme-dark .teacher-start-checklist li>span,.theme-dark .plan-table>div:first-child,.theme-dark .plan-comparison-row:first-child,.theme-dark .guide-points li{background:#1a3029}.theme-dark .plan-table,.theme-dark .plan-table>div,.theme-dark .plan-comparison,.theme-dark .plan-comparison-row{border-color:#314b43}.theme-dark .guide-points li{color:#d5e2dd}@media (max-width:560px){.login-guide-links{gap:4px 14px}.guide-dialog,.app-guide-dialog,.plan-guide-dialog{padding:22px 16px 18px}.guide-step{min-height:285px;padding-inline:0}.guide-dialog .modal-actions,.guide-dialog .modal-actions>div{width:100%}.guide-dialog .modal-actions{flex-direction:column-reverse;align-items:stretch}.guide-dialog .modal-actions>div{grid-template-columns:1fr 1fr;display:grid}.guide-dialog .modal-actions>div>:only-child{grid-column:1/-1}.guide-dialog .modal-actions button{min-height:46px}.guide-actions{flex-direction:column-reverse;align-items:stretch}.guide-actions>.text-button,.guide-actions>div{width:100%}.guide-actions>div{grid-template-columns:1fr 1fr;margin-left:0;display:grid}.guide-actions>div>:only-child{grid-column:1/-1}.guide-actions button{min-height:46px}.plan-comparison-row span,.plan-comparison-row strong,.plan-comparison-row b{padding:9px 6px;font-size:10px}.plan-table span,.plan-table strong{padding:10px 7px;font-size:11px}.teacher-start-checklist{margin:16px 12px 0;padding:18px 15px}.checklist-heading{flex-direction:column;align-items:flex-start;gap:8px}.teacher-start-checklist ul{grid-template-columns:1fr}.checklist-actions,.help-guide-heading,.help-guide-actions{flex-direction:column;align-items:stretch}.checklist-actions .primary,.checklist-actions .secondary,.help-guide-actions button{width:100%}.checklist-actions code{text-align:center}}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
