@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-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}.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}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.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:#17222c;--muted:#6f7f89;--line:#dde6e8;--surface:#fff;--canvas:#eef4ff;--teal:#2563eb;--teal-dark:#0b1f3a;--teal-soft:#e7efff;--indigo:#6675c7;--orange:#e49a30;--danger:#d95757;--regular-color:#16877f;--irregular-color:#e49a30;--group-color:#7466c7;--shadow:0 16px 45px #15293417}*{box-sizing:border-box}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:url(#classieum-ribbon);stroke-width:120px;stroke-linecap:round;stroke-linejoin:round}.classieum-ribbon-highlight{fill:none;stroke:url(#classieum-highlight);stroke-width:66px;stroke-linecap:round;opacity:.38}.classieum-node-ring{stroke:none}.classieum-node-ring.top{fill:#cf376b}.classieum-node.top{fill:url(#classieum-top-node)}.classieum-node-ring.bottom{fill:#5c3c9a}.classieum-node.bottom{fill:url(#classieum-bottom-node)}.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}.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}.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 .regular-private,.weekday-stack .regular-private{background:var(--regular-color)}.chart-legend .irregular-private,.weekday-stack .irregular-private{background:var(--irregular-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-metrics{grid-template-columns:1fr 1fr;gap:10px;display:grid}.monthly-metrics article{border:1px solid var(--line);background:var(--surface);border-radius:14px;justify-content:space-between;align-items:center;gap:15px;min-height:92px;padding:17px 19px;display:flex}@supports (color:color-mix(in lab, red, red)){.monthly-metrics article{background:color-mix(in srgb, var(--surface) 90%, var(--canvas))}}.monthly-metrics article.total{color:#fff;background:linear-gradient(130deg, var(--teal-dark), var(--teal));border-color:#0000}.monthly-metrics article>span{color:var(--muted);align-items:center;gap:9px;font-size:13px;font-weight:750;display:flex}.monthly-metrics article.total>span{color:#ffffffc7}.monthly-metrics article>span i{background:var(--line);border-radius:50%;width:9px;height:9px}.monthly-metrics article.regular-private>span i{background:var(--regular-color)}.monthly-metrics article.irregular-private>span i{background:var(--irregular-color)}.monthly-metrics article.group>span i{background:var(--group-color)}.monthly-metrics strong{white-space:nowrap;letter-spacing:-.05em;font-size:30px}.monthly-metrics strong small{color:var(--muted);letter-spacing:0;margin-left:4px;font-size:12px}.monthly-metrics article.total strong{font-size:38px}.monthly-metrics article.total strong small{color:#ffffffb3}.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{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;gap:clamp(9px,2.5vw,28px);height:250px;padding:12px 10px 0;display:grid}@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}.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 .regular-private{background:var(--teal)}.calendar-legend .irregular-private{background:var(--orange)}.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.regular-private{color:#155e58;background:#dff4f0;border-color:#159689}.calendar-event.irregular-private{color:#8a4600;background:#fff0d8;border-color:#e79a32}.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.irregular-private{background:var(--orange)}.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.regular-private{color:#155e58;background:#dff4f0;border-color:#79c8bd}.time-slot.busy.irregular-private{color:#8a4600;background:#fff0d8;border-color:#f0b564}.time-slot.busy.group{color:#56388f;background:#eee8fb;border-color:#aa96d6}.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-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(250px,.75fr) minmax(0,1.65fr);align-items:start;gap:15px;display:grid}.attendance-search{width:100%;margin:13px 0 10px}.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>button>span:last-child{gap:2px;display:grid}.attendance-student-results strong{font-size:14px}.attendance-student-results small{color:var(--muted);font-size:12px}.attendance-history{min-height:430px}.attendance-empty{text-align:center;min-height:370px;color:var(--muted);align-content:center;place-items:center;display:grid}.attendance-empty svg{color:#9bb4b5;width:42px;height:42px}.attendance-empty h2{color:var(--ink);margin:14px 0 4px;font-size:19px}.attendance-empty p{margin:0;font-size:13px}.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-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}.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}.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{justify-content:flex-end;gap:7px;display:flex}.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}.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}.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}.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 article{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px}.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-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.regular-private{background:linear-gradient(90deg,#effaf8,#0000 42%);border-left-color:#0f766e}.student-lesson-item.irregular-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:3px;width:10px;height:10px}.student-lesson-legend i.regular-private{background:#0f766e}.student-lesson-legend i.irregular-private{background:#d97706}.student-lesson-legend i.group{background:#7653b5}.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>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-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.regular-private{color:#155e58;background:#dff4f0;border-color:#79c8bd}.student-calendar-event.irregular-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.irregular-private,.student-request-modal.irregular-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.irregular-private .student-lesson-date>svg{color:#a45b08;background:#fff0d8}.student-lesson-item.group .student-lesson-date>svg{color:#65479b;background:#eee8fb}.next-lesson.irregular-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.regular-private{color:#155e58;background:#dff4f0}.lesson-type-badge.irregular-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(--teal);overflow-y:auto}.teacher-lesson-detail.irregular-private{border-top-color:var(--orange)}.teacher-lesson-detail.group{border-top-color:var(--indigo)}.teacher-lesson-detail.regular-private .session-count-panel{background:#f3fbf9;border-color:#b9ddd8}.teacher-lesson-detail.irregular-private .session-count-panel{background:#fff9ef;border-color:#f0c68e}.teacher-lesson-detail.irregular-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;margin-top:16px;padding-top:13px;display:flex}.lesson-detail-actions .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}.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(--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(--primary);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}.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-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 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}.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}.analytics-heading p{margin-top:5px}.weekday-chart{gap:7px;height:225px;padding-inline:0}.weekday-track{width:min(38px,78%)}.attendance-student-results{max-height:280px}.attendance-history{min-height:0}.attendance-history-head{flex-direction:column;align-items:flex-start}.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}.calendar-day-number>b{width:20px;height:20px;font-size:12px}.calendar-event{border:0;border-radius:50%;width:7px;height:7px;margin:3px 2px 0 0;padding:0;font-size:0;display:inline-block;background:var(--teal)!important}.calendar-event.irregular-private{background:var(--orange)!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{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 article{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}.modal-backdrop{align-items:end;padding:10px}.modal-card{border-radius:17px 17px 0 0;width:100%;max-height:90vh}.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 .reject{grid-column:2;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}.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}.preview-white .theme-preview{background:#f4f7f7}.preview-white .theme-preview i:first-child{background:#164e63}.preview-white .theme-preview i:nth-child(2){background:#dce7e8}.preview-white .theme-preview i:nth-child(3){background:#fff}.preview-dark .theme-preview{background:#111827;border-color:#435164}.preview-dark .theme-preview i:first-child{background:#0b1824}.preview-dark .theme-preview i:nth-child(2){background:#4fd1c5}.preview-dark .theme-preview i:nth-child(3){background:#253142}.preview-blue .theme-preview{background:#dce9f7;border-color:#9bb9da}.preview-blue .theme-preview i:first-child{background:linear-gradient(#071d3b,#0c4078)}.preview-blue .theme-preview i:nth-child(2){background:#1f6fcd}.preview-blue .theme-preview i:nth-child(3){background:#f4f8fd}.theme-blue{--ink:#102a43;--muted:#5c7188;--line:#bfd0e2;--surface:#f8fbff;--canvas:#e5eef8;--teal:#1f6fcd;--teal-dark:#0a3564;--teal-soft:#d9e9fb;--shadow:0 18px 46px #13406f24;--regular-color:#158c83;--irregular-color:#dd8c27;--group-color:#6c61c9;background:var(--canvas);color:var(--ink)}.theme-blue .app-main,.student-app.theme-blue>main,.student-app.theme-blue .student-view-page{background:radial-gradient(circle at 92% 3%,#5191d32e,#0000 30%),linear-gradient(145deg,#f1f6fc 0%,#e4edf7 58%,#dce9f5 100%)}.theme-blue .sidebar{background:radial-gradient(circle at 10% 5%,#367fca47,#0000 30%),linear-gradient(#071d3b 0%,#0a315d 55%,#082744 100%);box-shadow:12px 0 34px #061f3b29}.theme-blue .sidebar .classieum-mark,.student-app.theme-blue .classieum-mark{filter:drop-shadow(0 4px 7px #041d3952)}.theme-blue .side-nav button{color:#c4d7ec}.theme-blue .side-nav button:hover,.theme-blue .side-nav button.active{color:#fff;background:linear-gradient(90deg,#3989da47,#ffffff12);box-shadow:inset 3px 0 #56a7f3}.theme-blue :is(.card,.calendar-card,.day-panel,.table-card,.request-card,.notification-list,.group-card,.student-section,.student-cards article,.student-calendar,.student-history,.teacher-contact-card,.modal-card,.theme-option){background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.theme-blue :is(.card,.calendar-card,.day-panel,.table-card,.request-card,.notification-list,.group-card,.student-section,.student-cards article,.student-calendar,.student-history,.teacher-contact-card,.modal-card,.theme-option){background:color-mix(in srgb, var(--surface) 94%, #dceafa)}}.theme-blue :is(.card,.calendar-card,.day-panel,.table-card,.request-card,.notification-list,.group-card,.student-section,.student-cards article,.student-calendar,.student-history,.teacher-contact-card,.modal-card,.theme-option){border-color:var(--line);box-shadow:0 12px 32px #16487a14}.theme-blue :is(.mobile-header,.mobile-bottom,.student-main-nav){border-color:var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f8fbfff0}.student-app.theme-blue>header{color:#fff;background:radial-gradient(circle at 80% 0,#4b9deb59,#0000 34%),linear-gradient(110deg,#071d3b,#0b447e 70%,#1264ad);box-shadow:0 8px 24px #05274a33}.student-app.theme-blue>header .brand-copy small,.student-app.theme-blue>header .brand-copy strong{color:#fff}.theme-blue :is(input,select,textarea){background:#f4f8fd;border-color:#b5c9de}.theme-blue :is(.secondary,.today-button){color:#174f86;background:#f7fbff;border-color:#a9c1dc}.theme-blue .primary{background:linear-gradient(135deg,#155ca8,#287fd5);box-shadow:0 8px 18px #1662b33d}.theme-blue .next-lesson{background:radial-gradient(circle at 92% 5%,#69b5f759,#0000 30%),linear-gradient(135deg,#08294c,#0e5799 58%,#1c73bd);position:relative;overflow:hidden;box-shadow:0 20px 42px #07356038}.theme-blue .next-lesson:after{content:"";aspect-ratio:1;pointer-events:none;border:1px solid #ffffff2e;border-radius:50%;width:170px;position:absolute;bottom:-100px;right:-80px;box-shadow:0 0 0 34px #ffffff0a}.theme-blue .student-main-nav button.active{color:#155ea9;border-bottom-color:#267bd0}.theme-blue .mobile-bottom button{color:#60758b;background:0 0}.theme-blue .mobile-bottom button.active{color:#155ea9;background:#e8f2fd}.theme-blue .calendar-toolbar,.theme-blue .student-calendar-toolbar{background:linear-gradient(90deg,#edf5fd,#f8fbff)}.theme-blue .calendar-day.selected{background:#dcecff;box-shadow:inset 0 0 0 2px #448dd4}.theme-blue .month-grid>.calendar-day,.theme-blue .student-calendar-grid>div{border-color:#ccdae9}.theme-blue .monthly-metrics article.total{background:linear-gradient(135deg,#082d55,#1769b7)}.theme-blue .lesson-donut-wrap{background:linear-gradient(145deg,#dbe9f7,#eff6fd)}.theme-blue .account-readonly>div{background:#eef5fc;border:1px solid #d4e1ee}.theme-dark{--ink:#edf3f8;--muted:#aebdca;--line:#3a4858;--surface:#202b39;--canvas:#111827;--teal:#4fd1c5;--teal-dark:#0b1824;--teal-soft:#173d40;--indigo:#9d8ce0;--orange:#f2ad50;--danger:#f77;--regular-color:#4fd1c5;--irregular-color:#f2ad50;--group-color:#a995ee;--shadow:0 16px 45px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--canvas);color:var(--ink)}.theme-dark .app-main,.student-app.theme-dark>main,.student-app.theme-dark .student-view-page{background:linear-gradient(180deg, #151e2b, var(--canvas))}.theme-dark :is(.card,.calendar-card,.day-panel,.table-card,.request-card,.notification-list,.group-card,.student-section,.student-cards article,.student-calendar,.student-history,.teacher-contact-card,.modal-card,.theme-option){color:var(--ink);background:var(--surface);border-color:var(--line)}.theme-dark :is(.mobile-header,.mobile-bottom,.student-main-nav,.student-app>header){color:var(--ink);border-color:var(--line);background:#182332}.theme-dark :is(input,select,textarea){color:var(--ink);background:#151f2c;border-color:#4a5a6c}.theme-dark :is(.secondary,.google,.today-button,.icon-button){color:var(--ink);background-color:#263344;border-color:#4a5a6c}.theme-dark :is(.profile-editor,.account-readonly>div,.student-lesson-detail dl>div,.teacher-lesson-detail dl>div,.lesson-notes-view article,.lesson-notes-form,.student-lesson-memo,.settings-note){color:var(--ink);border-color:var(--line);background:#182433}.theme-dark :is(.page-header p,.theme-settings-copy p,.theme-option small,.student-view-heading>strong,.student-lesson-copy small,.student-section small,.account-section>p,.settings-help,.day-panel-hint,.calendar-feed-settings>p:first-of-type){color:var(--muted)}.theme-dark .mobile-bottom button{color:var(--muted);border-color:var(--line);background:#182332}.theme-dark .mobile-bottom button.active{color:var(--teal);background:#182332}.theme-dark .weekday-row span,.theme-dark .student-calendar-weekdays span{color:var(--muted);background:#182433}.theme-dark .weekday-row span.holiday,.theme-dark .student-calendar-weekdays span.holiday{color:#ff8c96;background:#2b2029}.theme-dark .weekday-row span.saturday,.theme-dark .student-calendar-weekdays span.saturday{color:#80b8ff;background:#19283c}.theme-dark .month-grid>.calendar-day,.theme-dark .student-calendar-grid>div{border-color:var(--line);background:#202b39}.theme-dark .month-grid>.calendar-day.blank{background:#18222f}.theme-dark .month-grid>.calendar-day.selected{background:#17383b}.theme-dark .calendar-day.holiday .calendar-day-number:not(.today)>b,.theme-dark .student-calendar-grid>div.holiday:not(.today)>b,.theme-dark .holiday-label{color:#ff8c96}.theme-dark .calendar-day.saturday .calendar-day-number:not(.today)>b,.theme-dark .student-calendar-grid>div.saturday:not(.today)>b{color:#80b8ff}.theme-dark .calendar-event.regular-private,.theme-dark .student-calendar-event.regular-private,.theme-dark .time-slot.busy.regular-private{color:#9ce9df;background:#153f3b;border-color:#49a99d}.theme-dark .calendar-event.irregular-private,.theme-dark .student-calendar-event.irregular-private,.theme-dark .time-slot.busy.irregular-private{color:#ffd08d;background:#47331f;border-color:#d79a49}.theme-dark .calendar-event.group,.theme-dark .student-calendar-event.group,.theme-dark .time-slot.busy.group{color:#d6c8ff;background:#342a4b;border-color:#9580cc}.theme-dark .time-slot{color:var(--muted);background:#182433;border-color:#536174}.theme-dark .next-lesson{background:linear-gradient(135deg,#163b48,#235968)}.theme-dark .simple-row,.theme-dark .student-lesson-item{border-color:var(--line)}@media (max-width:760px){.theme-settings-copy{display:block}.theme-settings-copy p{margin-top:4px}.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}.app-frame.theme-dark,.student-app.theme-dark{background:var(--canvas)}}.center-page.signup-page{background:radial-gradient(circle at 12% 5%,#dcecff 0,#0000 34%),linear-gradient(145deg,#eef6ff,#f8fbff 52%,#e8f2ff);place-items:center;min-height:100vh;padding:36px 18px;display:grid}.signup-card,.pending-card{background:#fff;border:1px solid #cbddef;border-radius:22px;width:min(100%,680px);padding:34px;box-shadow:0 24px 70px #072d5521}.signup-card>.brand-lockup,.pending-card>.brand-lockup{margin:12px 0 22px}.signup-card h1,.pending-card h1{color:#082d55;margin:5px 0 8px;font-size:28px}.signup-back{color:#516b84;background:0 0;border:0;align-items:center;gap:6px;padding:4px 0;font-weight:750;display:inline-flex}.signup-back svg{width:17px;height:17px}.signup-grid{grid-template-columns:1fr 1fr;gap:13px;margin-top:23px;display:grid}.signup-grid .full{grid-column:1/-1}.signup-grid label{color:#415a72;gap:6px;font-size:13px;font-weight:800;display:grid}.signup-grid label small{color:#75889a;font-size:11px;font-weight:550}.signup-grid input,.signup-grid select{width:100%;min-height:45px}.signup-consents{background:#f1f7fe;border-radius:11px;gap:9px;margin:20px 0;padding:15px;display:grid}.signup-consents label{color:#405a73;align-items:center;gap:9px;font-size:13px;font-weight:750;display:flex}.signup-consents input{accent-color:#1769b7;width:17px;height:17px}.signup-note{color:#6f8192;text-align:center;margin:13px 0 0;font-size:12px}.teacher-signup-entry{margin-top:9px}.pending-card{text-align:center;max-width:520px}.pending-card>.brand-lockup{justify-content:center}.pending-icon{color:#1769b7;background:#e2effd;border-radius:22px;place-items:center;width:70px;height:70px;margin:6px auto 18px;display:grid}.pending-icon svg{width:34px;height:34px}.pending-card>p{color:#65788a;line-height:1.75}.signup-summary{background:#f7fbff;border:1px solid #d5e4f2;border-radius:12px;gap:6px;margin:22px 0;padding:15px;display:grid}.signup-summary small{color:#74889b}.signup-summary code{color:#0d5da8;font-size:16px;font-weight:850}.development-verify{margin-bottom:12px}.spin{animation:.85s linear infinite signup-spin}@keyframes signup-spin{to{transform:rotate(360deg)}}@media (max-width:620px){.center-page.signup-page{place-items:start center;padding:16px 12px}.signup-card,.pending-card{border-radius:17px;padding:23px 18px}.signup-card h1,.pending-card h1{font-size:24px}.signup-grid{grid-template-columns:1fr}.signup-grid .full{grid-column:auto}}.plan-limit-notice{color:#714c08;background:#fff8e7;border:1px solid #f0c36a;border-radius:12px;margin:0 0 18px;padding:13px 16px;font-weight:750}.ad-banner{z-index:19;bottom:14px;right:18px;left:calc(var(--sidebar-width,260px) + 18px);color:#23405d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border:1px solid #b9cce0;border-radius:14px;justify-content:center;align-items:center;gap:12px;min-height:58px;padding:8px 14px;display:flex;position:fixed;box-shadow:0 8px 28px #1132522e}.ad-banner>small{color:#61778c;background:#edf3f8;border-radius:5px;padding:3px 6px;font-size:10px}.ad-banner>div{align-items:center;gap:10px;display:flex}.ad-banner strong{color:#0c4f91}.ad-banner span{color:#65798c;font-size:13px}.student-app .ad-banner{left:18px}.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){.ad-banner,.student-app .ad-banner{border-radius:10px;min-height:50px;bottom:74px;left:8px;right:8px}.ad-banner span{display:none}.plan-limit-notice{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: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-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}@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}}@media (max-width:640px){.admin-primary-nav{z-index:8;padding:8px 10px;position:sticky;top:0}.admin-primary-nav button{flex:1;justify-content:center;padding:8px}.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-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}}.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-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-extension{margin-top:-70px;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}.plan-badge.paid{color:#176346;background:#e0f5e9}.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(220px,1fr) minmax(320px,1.3fr) auto;align-items:center;gap:20px;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}@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}}@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}
