/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@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-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:ui-sans-serif, system-ui, 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;--spacing:.25rem;--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,ui-sans-serif, system-ui, 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{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}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.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,)}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.linkButton{width:100%;color:var(--purple);background:0 0;border:0;padding:10px;font-weight:800;text-decoration:underline}.financeDashboard{background:linear-gradient(135deg,#fff 0%,#fbfaff 54%,#f4f1ff 100%);border:1px solid #e3defc;border-radius:18px;margin:0 0 22px;padding:22px;box-shadow:0 14px 34px #40327012}.financeHeading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.financeHeading span{color:#7257d0;letter-spacing:.12em;font-size:10px;font-weight:900;display:block}.financeHeading h2{letter-spacing:-.035em;margin:5px 0 6px;font-size:25px}.financeHeading p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.financeHeadingActions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.financeStats{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;display:grid}.financeStat{border:1px solid var(--line);background:#fff;border-radius:14px;min-height:126px;padding:17px}.financeStat span,.planCards span,.cashFlow span{color:var(--muted);font-size:11px;font-weight:800;line-height:1.3;display:block}.financeStat b{letter-spacing:-.035em;margin:11px 0 6px;font-size:24px;display:block}.financeStat small{color:var(--muted);font-size:11px;line-height:1.4;display:block}.financeStat.income{border-top:4px solid #159b70}.financeStat.income b{color:#128261}.financeStat.cost{border-top:4px solid #ef7b42}.financeStat.cost b{color:#c85c26}.financeStat.reserve{border-top:4px solid #7155e8}.financeStat.reserve b{color:#5942bf}.financeStat.gap{background:snow;border-top:4px solid #e33945}.financeStat.gap b{color:#c92733}.financeStat.safe{background:#f6fffb;border-top:4px solid #159b70}.financeStat.safe b{color:#128261}.financeCoverage{color:#fff;background:#2a2451;border-radius:13px;margin:16px 0 18px;padding:14px 16px}.financeCoverage>div:first-child{justify-content:space-between;gap:12px;font-size:13px;display:flex}.financeCoverage>div:first-child span{color:#f6cd69;font-weight:900}.coverageTrack{background:#ffffff26;border-radius:100px;height:10px;margin:10px 0 7px;overflow:hidden}.coverageTrack i{border-radius:inherit;background:linear-gradient(90deg,#ff7954,#ffd165);height:100%;transition:width .25s;display:block}.financeCoverage small{color:#d9d4ed;font-size:10px;display:block}.financeSettings,.financeExpenseForm{background:#f7f5ff;border:1px solid #ddd7fb;border-radius:13px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;margin:14px 0;padding:15px;display:grid}.financeSettings label,.financeExpenseForm label{margin:0;font-size:11px}.financeSettings input,.financeExpenseForm input,.financeExpenseForm select{margin-top:6px}.financeSettings>div{gap:8px;display:grid}.financeSettings small{color:var(--muted);font-size:10px;line-height:1.4}.financeGrid{grid-template-columns:1.2fr .8fr;gap:16px;margin-top:16px;display:grid}.planCards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:13px;display:grid}.planCards article{border:1px solid var(--line);background:#fff;border-left-width:4px;border-radius:11px;min-height:108px;padding:14px}.planCards article.monthly{border-left-color:#22a47a}.planCards article.quarterly{border-left-color:#6b56d9}.planCards article.semiannual{border-left-color:#ed953c}.planCards article.annual{border-left-color:#d84a67}.planCards b,.planCards strong{display:block}.planCards b{margin:9px 0 4px;font-size:18px}.planCards strong{color:var(--ink);font-size:13px}.planCards small{color:var(--muted);margin-top:6px;font-size:10px;display:block}.financeWarning{color:#805d08;background:#fff4d8;border-radius:9px;margin:0 0 12px;padding:10px 12px;font-size:11px;font-weight:750;line-height:1.45}.cashFlow{gap:9px;display:grid}.cashFlow>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;display:flex}.cashFlow>div:last-child{border-bottom:0}.cashFlow b{font-size:18px}.cashFlow .danger b{color:#d42c38}.financeCostList{gap:5px;display:grid}.financeCostList article{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 0;display:grid}.financeCostList article:last-child{border-bottom:0}.financeCostList b,.financeCostList small{display:block}.financeCostList b{font-size:13px}.financeCostList small{color:var(--muted);text-transform:capitalize;margin-top:2px;font-size:10px}.financeCostList strong{font-size:13px}.financeCostList .linkButton{width:auto;padding:5px 0;font-size:10px}.financeTotal{border-top:2px solid #dcd7ef;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;font-size:13px;display:flex}.financeTotal b{font-size:17px}.financeGrid .secondary{margin-top:13px}@media (width<=1150px){.financeStats{grid-template-columns:repeat(2,minmax(0,1fr))}.financeGrid{grid-template-columns:1fr}.financeSettings{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.financeDashboard{margin-bottom:18px;padding:16px}.financeHeading{flex-direction:column;gap:13px}.financeHeading h2{font-size:23px}.financeHeadingActions{justify-content:stretch;width:100%}.financeHeadingActions button{flex:1;padding-left:10px;padding-right:10px}.financeStats,.planCards,.financeSettings,.financeExpenseForm{grid-template-columns:1fr}.financeStat{min-height:106px}.financeStat b{font-size:23px}.financeSettings>div{grid-column:auto}.financeCostList article{grid-template-columns:minmax(0,1fr) auto}.financeCostList .linkButton{text-align:left;grid-column:1/-1;width:100%;padding:7px 0}.financeGrid{gap:12px}.cashFlow b{font-size:16px}}.mobileLogout{display:none}@media (width<=700px){.mobileLogout{z-index:80;background:var(--coral);color:#fff;border:0;border-radius:14px;align-items:center;gap:7px;min-height:46px;padding:10px 14px;font-size:13px;font-weight:850;display:inline-flex;position:fixed;bottom:12px;right:12px;box-shadow:0 12px 30px #d52d2d45}.mobileLogout:active{transform:translateY(1px)}}.brand{align-items:center;gap:11px;display:flex}.brand>b{background:linear-gradient(135deg, var(--coral), #ffad62);color:#fff;border-radius:13px;place-items:center;width:42px;height:42px;font-size:24px;font-style:italic;display:grid;box-shadow:0 8px 18px #ff68473d}.brand strong{letter-spacing:.08em;font-size:13px;display:block}.brand small{color:var(--coral);letter-spacing:.25em;margin-top:2px;font-size:9px;font-weight:800;display:block}.brand.light strong{color:#fff}.primary,.secondary{border-radius:10px;padding:11px 16px;font-size:12px;font-weight:800}.primary{background:var(--coral);color:#fff;border:0;box-shadow:0 8px 20px #ff68473b}.primary:hover{transform:translateY(-1px)}.secondary{border:1px solid var(--line);color:var(--ink);background:#fff}.wide{width:100%}.splash{text-align:center;place-content:center;justify-items:center;min-height:100vh;padding:25px;display:grid}.splash .brand{position:absolute;top:30px;left:30px}.splash>i{background:var(--coral2);width:54px;height:54px;color:var(--coral);border-radius:50%;place-items:center;font-style:normal;font-weight:900;display:grid}.splash>i.spinner{border:4px solid var(--coral2);border-top-color:var(--coral);background:0 0;animation:.8s linear infinite spin}.splash h1{margin:20px 0 7px}.splash p{color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}.auth{background:#fff;grid-template-columns:minmax(380px,1fr) minmax(450px,650px);min-height:100vh;display:grid}.authHero{color:#fff;background:radial-gradient(circle at 76% 38%,#ff765045,#0000 16%),radial-gradient(circle at 65% 44%,#7657e85d,#0000 29%),linear-gradient(145deg,#1a2545,#292c61 68%,#563e96);flex-direction:column;justify-content:space-between;min-height:100vh;padding:48px clamp(40px,6vw,90px);display:flex;position:relative;overflow:hidden}.authHero:after{content:"♫";background:linear-gradient(135deg,#ff7451,#ffb25f);border-radius:50%;place-items:center;width:170px;height:170px;font-size:84px;display:grid;position:absolute;top:31%;right:8%;transform:rotate(-10deg);box-shadow:0 0 0 25px #ffffff0a,0 0 80px #ff704b66}.authHero h1{letter-spacing:-.055em;max-width:700px;margin:18px 0;font-size:clamp(42px,5vw,75px);line-height:1.03}.authHero p{color:#d9daea;max-width:540px;font-size:16px;line-height:1.7}.authHero span,.authBox>span,.sent>span{letter-spacing:.16em;color:#bfc3da;font-size:10px;font-weight:850}.authHero footer{color:#daddf0;font-size:12px}.authBox{align-self:center;width:min(100%,550px);margin:auto;padding:50px clamp(30px,5vw,70px)}.authBox h2{letter-spacing:-.04em;margin:10px 0;font-size:31px}.authBox>p,.sent p{color:var(--muted);font-size:13px;line-height:1.6}.switch{background:#eef0f4;border-radius:11px;margin-bottom:35px;padding:4px;display:flex}.switch button{color:#858b9c;background:0 0;border:0;border-radius:8px;flex:1;padding:10px;font-size:12px;font-weight:800}.switch .active{color:var(--ink);background:#fff;box-shadow:0 3px 10px #1a223919}form label{color:#50596e;margin:14px 0 7px;font-size:11px;font-weight:800;display:block}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #dfe2e9;border-radius:10px;outline:none;padding:12px 13px}input:focus,select:focus,textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px #7155e819}.roles{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.roles button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:12px;padding:12px 7px;font-size:11px;font-weight:800}.roles button b{font-size:21px;display:block}.roles .chosen{border-color:var(--coral);background:var(--coral2);color:var(--coral)}.referralToggle{width:max-content;max-width:100%;color:var(--purple);text-align:left;background:0 0;border:0;margin:2px 0 1px;padding:3px 0;font-size:11px;font-weight:800}.referralToggle:hover,.referralToggle:focus-visible{color:var(--coral);text-decoration:underline}.authBox form>.primary{margin-top:21px}.privacy{text-align:center;color:#999faf;margin-top:17px;font-size:9px;line-height:1.5;display:block}.formError{color:#bd4a32;background:#fff1ed;border-radius:8px;margin-top:12px;padding:9px 11px;font-size:10px}.formSuccess{color:var(--green);margin-top:12px;font-size:10px}.sent{text-align:center}.sent>i{background:var(--coral2);width:74px;height:74px;color:var(--coral);border-radius:50%;place-items:center;margin:0 auto 24px;font-size:31px;font-style:normal;display:grid}.sent p{margin:15px 0 24px}.shell{min-height:100vh}.shell>aside{border-right:1px solid var(--line);z-index:20;background:#fff;flex-direction:column;width:250px;padding:27px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.shell>aside>.brand{padding:0 10px 30px}.shell nav{flex-direction:column;gap:4px;display:flex}.shell>aside button{background:0 0;border:0}.shell nav button,.asideBottom>button{color:#6f788c;text-align:left;border-radius:10px;align-items:center;gap:13px;padding:12px 14px;display:flex}.shell nav button>b,.asideBottom button>b{text-align:center;width:19px;font-size:17px}.shell nav button span,.asideBottom button span{font-size:12px;font-weight:750}.shell nav button i{background:var(--purple2);color:var(--purple);border-radius:10px;margin-left:auto;padding:3px 7px;font-size:9px;font-style:normal;font-weight:850}.shell>aside button.active{background:var(--coral2);color:var(--coral)}.asideBottom{margin-top:auto}.account{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:13px;padding:18px 5px 0;display:flex}.account>i,.avatar{color:#fff;background:linear-gradient(135deg,#ff7a58,#e5a089);border-radius:50%;place-items:center;width:39px;height:39px;font-size:11px;font-style:normal;display:grid}.account b,.account small{white-space:nowrap;text-overflow:ellipsis;max-width:150px;display:block;overflow:hidden}.account small{color:var(--muted);margin-top:3px;font-size:9px}.close,.hamb{display:none}.content{min-height:100vh;margin-left:250px;padding:28px clamp(22px,3.3vw,48px) 20px}.top{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.top>div:first-of-type{flex:1}.top>div:last-child{gap:10px;display:flex}.top span,.panel header span{letter-spacing:.14em;color:#9ba1b0;font-size:9px;font-weight:850}.top h1{letter-spacing:-.035em;margin:4px 0;font-size:26px}.bell{border:1px solid var(--line);background:#fff;border-radius:10px;width:40px;height:40px;position:relative}.bell i{background:var(--coral);color:#fff;border-radius:50%;place-items:center;width:17px;height:17px;font-size:8px;font-style:normal;display:grid;position:absolute;top:-5px;right:-5px}.logout{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:10px;padding:10px 13px;font-size:10px;font-weight:800}.alert{color:#805d0b;background:#fff4da;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 15px;font-size:11px;display:flex}.alert button{color:var(--purple);background:0 0;border:0;font-weight:800}.welcome{color:#fff;min-height:220px;box-shadow:var(--shadow);background:linear-gradient(115deg,#1b2647,#34346c 63%,#5d48a4);border-radius:21px;justify-content:space-between;align-items:center;padding:38px 42px;display:flex;overflow:hidden}.welcome>div>span{letter-spacing:.16em;color:#c2c5dc;font-size:9px;font-weight:850}.welcome h2{letter-spacing:-.04em;margin:11px 0 7px;font-size:30px}.welcome p{color:#d7d9e8;margin:0 0 22px;font-size:12px}.welcome button{background:var(--coral);color:#fff;border:0;border-radius:9px;padding:11px 15px;font-size:11px;font-weight:800}.welcome>i{background:linear-gradient(135deg,#ff7b57,#ffb25f);border-radius:50%;place-items:center;width:128px;height:128px;margin-right:7%;font-size:63px;font-style:normal;display:grid;transform:rotate(-8deg);box-shadow:0 0 0 22px #ffffff0a,0 0 50px #ff765061}.stats{grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0;display:grid}.adminCoreStats{grid-template-columns:repeat(4,1fr);margin-top:4px}.dashboardActions{flex-wrap:wrap;gap:10px;display:flex}.adminCoreStats .stat:nth-child(4)>i{color:#9b7200;background:#fff4d8}@media (width<=1050px){.adminCoreStats{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.adminCoreStats{grid-template-columns:1fr}}.roomWeekToolbar{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.roomWeekToolbar .secondary{font-size:.85rem}.roomWeekWrap{padding-bottom:6px;overflow-x:auto}.roomWeek{border-collapse:separate;border-spacing:0;width:100%;min-width:1050px}.roomWeek th,.roomWeek td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 8px}.roomWeek thead th{text-transform:uppercase;letter-spacing:.04em;background:#f7f8fb;font-size:10px}.roomWeek tbody th{background:#fff;min-width:130px;font-size:12px}.freeSlot,.busySlot,.occupiedSlot{white-space:normal;border-radius:7px;margin:0 0 5px;padding:5px 7px;font-size:10px;line-height:1.35;display:block}.freeSlot{color:#14724c;background:#e8f8f1;font-weight:750}.busySlot{color:#a94432;background:#fff0ed}.occupiedSlot{color:#223b7d;background:#eef3ff;border-left:3px solid #4469c6}.occupiedSlot.rental{color:#74400b;background:#fff4e5;border-left-color:#b16a15}.occupiedSlot.event{color:#563784;background:#f3edff;border-left-color:#8360bd}.occupiedSlot b{text-transform:uppercase;letter-spacing:.03em;font-size:9px}.occupiedSlot small{margin-top:2px;font-size:10px;font-weight:650;display:block}@media (width<=640px){.roomWeekToolbar{grid-template-columns:1fr;display:grid}.roomWeekToolbar .secondary{width:100%}}.dashboardHighlights{color:#fff;background:linear-gradient(135deg,#251d45,#40306d);border-radius:16px;margin:18px 0;padding:20px;box-shadow:0 12px 30px #2e25522b}.dashboardHighlights>header{justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px;display:flex}.dashboardHighlights>header span{letter-spacing:.12em;color:#ffd57b;font-size:9px;font-weight:850}.dashboardHighlights>header h3{margin:5px 0 0;font-size:20px}.dashboardHighlights .secondary{color:#2e2552;background:#fff;border-color:#fff}.highlightGrid{grid-template-columns:repeat(3,1fr);gap:11px;display:grid}.highlightCard{background:#ffffff12;border:1px solid #fff2;border-radius:12px;padding:14px}.highlightCard>span{text-transform:uppercase;letter-spacing:.06em;background:#ffffff1c;border-radius:20px;padding:4px 7px;font-size:8px;font-weight:850;display:inline-block}.highlightCard>b,.highlightCard>p,.highlightCard>small{display:block}.highlightCard>b{margin:9px 0 6px;font-size:14px}.highlightCard>p,.highlightCard>small{color:#eee8ff;margin:0;font-size:10px}.highlightCard.holiday{border-left:4px solid #ffcf5a}.highlightCard.concert{border-left:4px solid #ff806d}.highlightCard.workshop{border-left:4px solid #70d7af}@media (width<=900px){.highlightGrid{grid-template-columns:1fr 1fr}}@media (width<=600px){.dashboardHighlights>header{flex-direction:column;align-items:flex-start}.highlightGrid{grid-template-columns:1fr}}.googleCalendarButton{background:#fff;border:1px solid #d7e1f8;border-radius:9px;justify-content:center;align-items:center;min-height:38px;margin-top:10px;padding:8px 12px;font-weight:800;text-decoration:none;display:inline-flex;color:#2357c6!important;font-size:10px!important}.highlightCard .googleCalendarButton{background:#ffffffed;color:#2b55ad!important}@media (width<=600px){.googleCalendarButton{width:100%;min-height:46px;font-size:12px!important}}.practiceGrid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.metronomeDisplay,.tunerDisplay{text-align:center;background:linear-gradient(135deg,#f5f2ff,#fff);border-radius:15px;margin-bottom:18px;padding:22px}.metronomeDisplay>b,.tunerDisplay>b{color:#2f2555;font-size:58px;line-height:1;display:block}.metronomeDisplay>span,.tunerDisplay>span,.tunerDisplay>small{color:var(--muted);margin:7px 0;font-size:10px;font-weight:750;display:block}.metronomeDisplay>i{width:48px;height:48px;color:var(--coral);background:#ffede8;border-radius:50%;place-items:center;margin:15px auto 0;font-size:23px;font-style:normal;display:grid}.metronomeDisplay>i.pulse{animation:.35s ease-out metroPulse}@keyframes metroPulse{0%{background:var(--coral);color:#fff;transform:scale(.75)}to{transform:scale(1)}}.tempoButtons{flex-wrap:wrap;gap:7px;margin:12px 0 18px;display:flex}.tempoButtons button{min-width:48px}.tuningMeter{background:linear-gradient(90deg,#ffe8e3,#e4f8ef 42% 58%,#ffe8e3);border-radius:24px;height:48px;margin:20px 12px;position:relative}.tuningMeter:after{content:"";background:#1a9c69;width:2px;position:absolute;top:6px;bottom:6px;left:50%}.tuningMeter>i{background:#302558;border:4px solid #fff;border-radius:50%;width:30px;height:30px;margin-left:-15px;transition:left .12s;position:absolute;top:9px;box-shadow:0 3px 10px #0003}.tuningMeter>b,.tuningMeter>span{font-size:11px;position:absolute;bottom:-21px}.tuningMeter>b:first-of-type{left:0}.tuningMeter>b:last-of-type{right:0}.tuningMeter>span{left:50%;transform:translate(-50%)}.tuned{text-align:center;color:#16865c;margin:28px 0 14px;font-weight:850}@media (width<=800px){.practiceGrid{grid-template-columns:1fr}.metronomeDisplay>b,.tunerDisplay>b{font-size:48px}}.evaluationList{gap:11px;margin-top:15px;display:grid}.evaluationList>article{border:1px solid var(--line);background:#fff;border-radius:12px;padding:15px}.evaluationList>article>header{justify-content:space-between;gap:12px;display:flex}.evaluationList header span,.evaluationList header b,.evaluationList>article>small{display:block}.evaluationList header span,.evaluationList>article>small{color:var(--muted);font-size:9px}.evaluationList header b{color:#e8a800;letter-spacing:.05em;margin-top:5px}.evaluationList p{font-size:12px;line-height:1.55}.evaluationList aside{background:#f6f3ff;border-radius:8px;margin:8px 0;padding:10px;font-size:11px}.recommendedPracticeApp{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.recommendedPracticeApp>i{color:#fff;background:linear-gradient(135deg,#3ddc84,#2388ef);border-radius:16px;place-items:center;width:62px;height:62px;font-size:30px;font-style:normal;display:grid}.recommendedPracticeApp span{letter-spacing:.09em;color:#2c8f5c;font-size:8px;font-weight:850}.recommendedPracticeApp h3{margin:5px 0;font-size:18px}.recommendedPracticeApp p{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.googlePlayButton{background:#1f2530;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;font-size:11px;font-weight:850;text-decoration:none;display:inline-flex;color:#fff!important}@media (width<=700px){.recommendedPracticeApp{grid-template-columns:auto 1fr}.recommendedPracticeApp .googlePlayButton{grid-column:1/-1;width:100%}}.practiceAppGrid{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.practiceAppGrid>article{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:auto 1fr;column-gap:12px;padding:16px;display:grid}.practiceAppGrid i{color:#fff;border-radius:12px;grid-row:1/5;place-items:center;width:48px;height:48px;font-size:22px;font-style:normal;display:grid}.practiceAppGrid i.android{background:linear-gradient(135deg,#3ddc84,#12985a)}.practiceAppGrid i.apple{background:linear-gradient(135deg,#555,#111)}.practiceAppGrid i.web{background:linear-gradient(135deg,#7157d8,#3c2c78)}.practiceAppGrid span{letter-spacing:.08em;color:var(--muted);font-size:8px;font-weight:850}.practiceAppGrid h3{margin:4px 0;font-size:16px}.practiceAppGrid p{color:var(--muted);margin:0 0 10px;font-size:11px;line-height:1.5}.practiceAppGrid a{background:#2e2552;border-radius:8px;align-items:center;width:max-content;min-height:38px;padding:8px 12px;font-size:10px;font-weight:850;text-decoration:none;display:inline-flex;color:#fff!important}@media (width<=750px){.practiceAppGrid{grid-template-columns:1fr}.practiceAppGrid>article{grid-template-columns:auto 1fr}.practiceAppGrid a{min-height:44px}}.practiceAppGrid i.notation{background:linear-gradient(135deg,#2c6ca8,#15395e)}.notationApps{grid-template-columns:repeat(3,1fr)}@media (width<=1100px){.notationApps{grid-template-columns:1fr 1fr}}@media (width<=750px){.notationApps{grid-template-columns:1fr}.notationApps a{justify-content:center;width:100%}}.role-admin .content{font-size:16px}.role-admin aside nav button span,.role-admin .asideBottom button span,.role-admin .account b{font-size:14px}.role-admin .account small{font-size:12px}.role-admin .top>div>span{font-size:11px}.role-admin .top h1{font-size:25px}.role-admin .intro h2,.role-admin .welcome h2{font-size:27px}.role-admin .intro p,.role-admin .welcome p{font-size:15px;line-height:1.55}.role-admin .panel>header span,.role-admin .dashboardHighlights>header span{font-size:11px}.role-admin .panel>header h3,.role-admin .dashboardHighlights>header h3{font-size:20px}.role-admin .stat small{font-size:11px}.role-admin .stat b{font-size:25px}.role-admin .stat span{font-size:12px}.role-admin label{font-size:13px}.role-admin input,.role-admin select,.role-admin textarea{min-height:44px;font-size:15px}.role-admin textarea{min-height:100px}.role-admin button,.role-admin .secondary,.role-admin .primary{min-height:42px;font-size:14px}.role-admin .adminTable th{font-size:12px}.role-admin .adminTable td{font-size:14px}.role-admin .adminTable td small{font-size:11px}.role-admin .paymentList b,.role-admin .lessonCards h3,.role-admin .noticeList b{font-size:15px}.role-admin .paymentList small,.role-admin .lessonCards p,.role-admin .lessonCards span,.role-admin .noticeList p,.role-admin .noticeList small{font-size:12px;line-height:1.5}.role-admin .note,.role-admin .formSuccess,.role-admin .formError,.role-admin .alert{font-size:13px}.role-admin .status{font-size:11px}.role-admin .highlightCard>b{font-size:16px}.role-admin .highlightCard>p,.role-admin .highlightCard>small{font-size:12px}.role-admin .copyright{font-size:11px}@media (width<=700px){.role-admin .content{font-size:17px}.role-admin .top h1{font-size:23px}.role-admin .intro h2,.role-admin .welcome h2{font-size:25px}.role-admin input,.role-admin select,.role-admin textarea{font-size:16px}.role-admin button,.role-admin .secondary,.role-admin .primary{min-height:46px;font-size:15px}.role-admin .adminTable td{font-size:15px}}.shell nav{scrollbar-width:thin;padding-right:3px;overflow-y:auto}.navSection{flex-direction:column;gap:3px;display:flex}.navSection+.navSection{border-top:1px solid var(--line);margin-top:10px;padding-top:9px}.navSection>small{color:#9aa1b1;letter-spacing:.12em;text-transform:uppercase;padding:0 14px 4px;font-size:9px;font-weight:900}.quickLinks{flex-wrap:wrap;gap:10px;display:flex}.quickLinks button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:11px 14px;font-weight:800}.quickLinks button:hover{border-color:var(--coral);color:var(--coral)}@media (width<=700px){.navSection>small{font-size:10px}.quickLinks{display:grid}.quickLinks button{text-align:left;width:100%;min-height:46px}}.studentAdminToolbar{align-items:center;gap:16px;margin-bottom:18px;display:flex}.studentAdminToolbar>input{flex:1}.studentAdminGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.studentAdminGrid>article{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:70px minmax(0,1fr);gap:14px;padding:16px;display:grid}.studentAdminGrid>article.archived{opacity:.65;background:#f7f7f9}.studentAdminGrid img,.studentAdminGrid>article>.avatar{object-fit:cover;border-radius:14px;width:70px;height:70px}.studentAdminGrid h3{margin:3px 0 5px;font-size:18px}.studentAdminGrid span{color:var(--coral);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:900}.studentAdminGrid p{color:var(--muted);margin:0 0 7px;font-size:13px}.studentAdminGrid small{color:var(--muted);margin-top:3px;display:block}.studentAdminActions{border-top:1px solid var(--line);flex-wrap:wrap;grid-column:1/-1;gap:8px;padding-top:12px;display:flex}.studentAdminActions button{min-height:38px}.studentAdminForm textarea{min-height:78px}@media (width<=900px){.studentAdminGrid{grid-template-columns:1fr}}@media (width<=650px){.studentAdminToolbar{flex-direction:column;align-items:stretch}.studentAdminGrid>article{grid-template-columns:58px minmax(0,1fr)}.studentAdminGrid img,.studentAdminGrid>article>.avatar{width:58px;height:58px}.studentAdminActions{display:grid}.studentAdminActions button{width:100%;min-height:44px}}.overdueTuitionAlert{color:#7f1d1d;background:linear-gradient(135deg,#fff7f7 0%,#fff0f1 100%);border:2px solid #dc2626;border-radius:16px;margin:0 0 18px;padding:20px;box-shadow:0 12px 28px #b91c1c18}.overdueTuitionAlertHeading{justify-content:space-between;align-items:center;gap:14px;display:flex}.overdueTuitionAlertHeading>b{letter-spacing:.01em;font-size:18px;display:block}.overdueTuitionAlertHeading span{color:#b91c1c;background:#fee2e2;border-radius:999px;flex:none;padding:5px 9px;font-size:12px;font-weight:850}.overdueTuitionAlert p{margin:10px 0 0;font-size:15px;line-height:1.55}.overdueTuitionAlert dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 12px;display:grid}.overdueTuitionAlert dl>div{background:#fff;border:1px solid #fecaca;border-radius:11px;padding:12px 14px}.overdueTuitionAlert dt{color:#991b1b;margin-bottom:4px;font-size:12px;font-weight:800}.overdueTuitionAlert dd{color:#7f1d1d;margin:0;font-size:18px;font-weight:900}.overdueTuitionAlert>small{color:#991b1b;margin-bottom:14px;font-size:13px;line-height:1.45;display:block}.overdueTuitionAlert .primary{background:#b91c1c}.overdueTuitionAlert .primary:hover{background:#991b1b}.conditionsGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.conditionsGrid>article{border:1px solid var(--line);background:#fafbfc;border-radius:12px;padding:16px}.conditionsGrid>article>span{color:var(--navy);margin-bottom:10px;font-size:15px;font-weight:800;display:block}.conditionDetail{gap:6px;display:grid}.conditionDetail+.conditionDetail{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.conditionRows{gap:5px;margin:8px 0;display:grid}.conditionRows small{justify-content:space-between;gap:16px;font-size:13px;display:flex}.conditionRows small b{text-align:right;color:var(--ink)}.conditionsGrid .status{width:max-content;margin:8px 0;display:inline-flex}.secondaryLink{width:max-content;color:var(--navy);margin:6px 10px 0 0;font-weight:700;text-decoration:underline;display:inline-flex}.paymentBadge{letter-spacing:.02em;border-radius:999px;width:max-content;margin:4px 0 7px;padding:4px 8px;font-size:11px;font-style:normal;font-weight:800;display:inline-flex}.paymentBadge.overdue{color:#b91c1c;background:#fee2e2}.paymentBadge.upcoming{color:#c2410c;background:#ffedd5}.paymentBadge.paid{color:#15803d;background:#dcfce7}.studentDocumentSummary{background:#f5f7fb;border-radius:10px;margin:10px 0 14px;padding:12px 14px;font-size:13px;line-height:1.75}.studentDocumentSummary .paymentBadge{margin:0}@media (width<=700px){.conditionsGrid{grid-template-columns:1fr}.conditionRows small{display:block}.conditionRows small b{text-align:left;display:block}.overdueTuitionAlert{padding:16px}.overdueTuitionAlertHeading{flex-direction:column;align-items:flex-start}.overdueTuitionAlert dl{grid-template-columns:1fr}.overdueTuitionAlert .primary{width:100%;min-height:46px}}.teacherAdminGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.teacherAdminGrid>article{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:82px minmax(0,1fr);gap:15px;padding:17px;display:grid}.teacherAdminGrid>article.archived{opacity:.65;background:#f7f7f9}.teacherAdminGrid img,.teacherAdminGrid>article>.avatar{object-fit:cover;border-radius:15px;width:82px;height:82px}.teacherAdminGrid span{color:var(--purple);letter-spacing:.09em;font-size:10px;font-weight:900}.teacherAdminGrid h3{margin:4px 0;font-size:19px}.teacherAdminGrid p{color:var(--muted);margin:0 0 7px}.teacherAdminGrid small,.teacherAdminGrid strong,.teacherAdminGrid em{margin-top:5px;display:block}.teacherAdminGrid strong{color:var(--green);font-size:14px}.teacherAdminGrid em{color:var(--muted);font-size:11px;font-style:normal}.teacherAdminGrid .studentAdminActions{grid-column:1/-1}.teacherStudentPicker{border:1px solid var(--line);border-radius:12px;max-height:260px;padding:12px;overflow:auto}.teacherStudentPicker legend{padding:0 7px;font-size:12px;font-weight:850}.teacherStudentPicker>label{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:9px;display:flex}.teacherStudentPicker>label:last-child{border-bottom:0}.teacherStudentPicker input{width:19px;height:19px;min-height:0}.teacherStudentPicker span{display:grid}.teacherStudentPicker small{color:var(--muted);margin-top:2px}@media (width<=900px){.teacherAdminGrid{grid-template-columns:1fr}}@media (width<=650px){.teacherAdminGrid>article{grid-template-columns:62px minmax(0,1fr)}.teacherAdminGrid img,.teacherAdminGrid>article>.avatar{width:62px;height:62px}.teacherAdminGrid .studentAdminActions{display:grid}.teacherAdminGrid .studentAdminActions button{width:100%}}.validationSummary{color:#851f1f;background:#fff2f2;border:2px solid #d83c3c;border-radius:12px;grid-column:1/-1;margin-bottom:16px;padding:15px 17px}.validationSummary>b{font-size:14px;display:block}.validationSummary ul{margin:9px 0 0;padding-left:20px}.validationSummary li+li{margin-top:5px}.validationSummary button{color:#851f1f;text-align:left;background:0 0;border:0;padding:0;font-weight:750;text-decoration:underline}.studentAdminForm [aria-invalid=true],.teacherAdminForm [aria-invalid=true]{background:#fff8f8;border:2px solid #d83c3c;box-shadow:0 0 0 3px #d83c3c18}.studentAdminForm label>small{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.4;display:block}.scrollTarget{scroll-margin-top:20px}.agreementPdfButton{width:max-content;margin:4px 0 6px;display:block}.permanentDelete{font-weight:900;color:#fff!important;background:#8f1717!important;border-color:#8f1717!important}.permanentDelete:hover{background:#6f0f0f!important}.tuitionSuspensionControl{border:1px solid var(--line);background:#fff;border-radius:14px;margin:18px 0;padding:18px}.tuitionSuspensionControl.suspended{background:#fff5f5;border:2px solid #dc2626}.tuitionSuspensionControl.active{background:#f5fffb;border-color:#a7e2cc}.tuitionSuspensionControl header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.tuitionSuspensionControl header span{color:var(--muted);letter-spacing:.08em;font-size:11px;font-weight:850;display:block}.tuitionSuspensionControl h4{margin:4px 0 0;font-size:18px}.tuitionSuspensionFacts{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.tuitionSuspensionFacts small{border:1px solid var(--line);color:var(--muted);border-radius:10px;gap:4px;padding:10px;font-size:12px;display:grid}.tuitionSuspensionFacts b{color:var(--ink);font-size:14px}.tuitionSuspendToggle{align-items:center;gap:9px;color:var(--ink)!important;margin:12px 0!important;font-size:14px!important;font-weight:800!important;display:flex!important}.tuitionSuspendToggle input{width:20px;height:20px;min-height:0}.tuitionAutomation{background:#fff8f3;border:1px solid #f0d7c8;border-radius:12px;gap:8px;padding:14px;display:grid}.tuitionAutomation>b{font-size:15px}.tuitionAutomation small{color:var(--muted);font-size:12px;line-height:1.45}.tuitionDebtorsTable td{vertical-align:top}.tuitionStatus{border-radius:999px;padding:5px 8px;font-size:12px;font-style:normal;font-weight:850;display:inline-flex}.tuitionStatus.suspended{color:#b91c1c;background:#fee2e2}.tuitionStatus.active{color:#a04b00;background:#fff0d8}.lessonTuitionSuspended{background:#fff8f8!important;border-color:#f3aaaa!important}.lessonTuitionAlert{color:#b91c1c;margin-top:7px;font-size:12px;line-height:1.4;display:block}.studentTuitionSuspended{color:#b91c1c;background:#fff0f0;border-radius:10px;grid-column:1/-1;padding:9px 11px;font-size:13px;display:block}.lessonTuitionSuspended .tiny:disabled{color:#7f1d1d;opacity:1;background:#e5a5a5}@media (width<=800px){.tuitionSuspensionFacts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.tuitionSuspensionFacts{grid-template-columns:1fr}.tuitionSuspensionControl header{flex-direction:column}.tuitionSuspendToggle{align-items:flex-start}.tuitionDebtorsTable th,.tuitionDebtorsTable td{min-width:120px}}.replacementRequestActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.customReplacementTerm{background:#fff7f7;border:1px solid #f2c3c3;border-radius:12px;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;padding:14px;display:grid}.customReplacementTerm>b{color:#8c1d1d;grid-column:1/-1;font-size:14px}.customReplacementTerm label{color:#5a3440;margin:0;font-size:12px}.customReplacementTerm input{min-height:42px;margin-top:5px}.customReplacementTerm>div{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.customReplacementTerm .primary{background:#b91c1c}.customReplacementTerm .secondary{background:#fff}@media (width<=700px){.replacementRequestActions{justify-content:stretch}.replacementRequestActions button{flex:1;min-height:46px}.customReplacementTerm{grid-template-columns:1fr}.customReplacementTerm>div{display:grid}.customReplacementTerm>div button{width:100%;min-height:46px}}.requiredLegend{color:var(--muted);margin:0 0 14px;font-size:12px}.requiredLegend b,.requiredMark{color:#c82121;font-size:17px;font-weight:950;line-height:1}.requiredMark{margin-left:3px}.studentAdminForm input:required:invalid,.teacherAdminForm input:required:invalid{border-color:#d99}.studentAdminForm input:required:focus:invalid,.teacherAdminForm input:required:focus:invalid{border:2px solid #d83c3c;box-shadow:0 0 0 3px #d83c3c18}.recordTitleButton{cursor:pointer}.recordTitleButton:hover,.recordTitleButton:focus-visible{color:var(--coral);outline:0;text-decoration:underline}.formActions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:9px;display:flex}.inline .formActions,.inline .formActions button{margin-top:0}.stickyFormActions{z-index:8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;border:1px solid #d8d1f5;border-radius:12px;padding:10px 12px;position:sticky;top:10px;box-shadow:0 8px 22px #26335a18;margin:0!important}.formActionsBottom{border-top:1px solid var(--line);padding-top:14px;margin-top:16px!important}@media (width<=650px){.formActions{grid-template-columns:1fr;display:grid}.formActions button{width:100%}.stickyFormActions{top:6px}}.financeMonthFilter{color:var(--muted);gap:4px;font-size:10px;font-weight:800;display:grid}.financeMonthFilter input{min-height:36px;margin:0;padding:6px 8px;font-size:13px}.financeStat{text-align:left;width:100%;box-shadow:none}.financeStat:hover,.financeStat:focus-visible{outline:2px solid #7155e855;transform:translateY(-1px);box-shadow:0 8px 18px #34256b14}.planCards button{border:1px solid var(--line);text-align:left;min-height:108px;box-shadow:none;background:#fff;border-left-width:4px;border-radius:11px;padding:14px}.planCards button:hover,.planCards button:focus-visible{outline:2px solid #7155e855;transform:translateY(-1px);box-shadow:0 6px 14px #34256b12}.planCards button.monthly{border-left-color:#22a47a}.planCards button.quarterly{border-left-color:#6b56d9}.planCards button.semiannual{border-left-color:#ed953c}.planCards button.annual{border-left-color:#d84a67}.planCards button.other{border-left-color:#64748b}.studentLessonCredit{background:#f4f8ff;border:1px solid #dbe6f7;border-radius:10px;margin-top:10px;padding:9px 11px}.studentLessonCredit b{color:var(--navy);font-size:14px;display:block}.studentLessonCredit small{font-size:12px}.assignmentManager{background:#f7faff;border:1px solid #cfdae8;border-radius:14px;margin-top:18px;padding:16px}.assignmentManager h4{color:var(--navy);margin:0 0 5px;font-size:17px}.assignmentList{gap:8px;margin:12px 0;display:grid}.assignmentList article{background:#fff;border:1px solid #d9e3f0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.assignmentList b,.assignmentList small{display:block}.assignmentList small{color:var(--muted);margin-top:2px}.assignmentList .danger{min-height:36px;font-size:12px}.assignmentForm{border-top:1px solid #d9e3f0;margin-top:12px;padding-top:12px}@media (width<=650px){.assignmentList article{flex-direction:column;align-items:flex-start}.assignmentList .danger{width:100%}}.studentViewSwitch{border:1px solid var(--line);background:#f5f6f8;border-radius:10px;gap:4px;padding:4px;display:flex}.studentViewSwitch button{min-height:38px;color:var(--muted);background:0 0;border:0;padding:7px 10px;font-size:12px}.studentViewSwitch button.active{color:var(--navy);background:#fff;box-shadow:0 1px 5px #10213a20}.studentAdminGrid.view-rows{grid-template-columns:1fr}.studentAdminGrid.view-rows>article{grid-template-columns:70px minmax(240px,1fr) auto;align-items:start}.studentAdminGrid.view-rows .studentAdminActions{border:0;grid-area:1/3;justify-content:flex-end;max-width:310px;padding:0}.studentAdminGrid.view-list{grid-template-columns:1fr;gap:7px}.studentAdminGrid.view-list>article{border-radius:10px;grid-template-columns:44px minmax(190px,1fr) auto;align-items:center;padding:9px 12px}.studentAdminGrid.view-list img,.studentAdminGrid.view-list>article>.avatar{border-radius:9px;width:44px;height:44px}.studentAdminGrid.view-list h3{margin-right:8px;font-size:15px;display:inline}.studentAdminGrid.view-list p,.studentAdminGrid.view-list .studentLessonCredit{display:none}.studentAdminGrid.view-list small{margin-right:10px;font-size:11px;display:inline}.studentAdminGrid.view-list .studentAdminActions{border:0;grid-area:1/3;padding:0}.studentAdminGrid.view-list .studentAdminActions button{min-height:34px;padding:5px 8px;font-size:11px}@media (width<=900px){.studentAdminGrid.view-rows>article,.studentAdminGrid.view-list>article{grid-template-columns:58px minmax(0,1fr)}.studentAdminGrid.view-rows .studentAdminActions,.studentAdminGrid.view-list .studentAdminActions{border-top:1px solid var(--line);grid-area:auto/1/auto/-1;max-width:none;padding-top:10px}.studentAdminGrid.view-list p,.studentAdminGrid.view-list .studentLessonCredit{display:block}.studentViewSwitch{width:100%}.studentViewSwitch button{flex:1}}@media (width<=650px){.studentViewSwitch{grid-template-columns:repeat(3,1fr);display:grid}}.studentAdminToolbar>select{min-width:170px;max-width:230px}@media (width<=900px){.studentAdminToolbar{flex-wrap:wrap}.studentAdminToolbar>select{flex:1;max-width:none}}@media (width<=650px){.studentAdminToolbar>select{width:100%}}.linkRemoveButton{color:#b42318;background:0 0;border:0;min-height:30px;margin-top:6px;padding:4px 8px;font-size:11px;text-decoration:underline;display:block}.muted{color:var(--muted);font-size:12px}.partnerAllocation{grid-template-columns:repeat(5,1fr);gap:8px;margin-top:18px;display:grid}.partnerAllocation span{border:1px solid var(--line);color:var(--muted);background:#f7f9fc;border-radius:10px;padding:12px;font-size:12px}.partnerAllocation b{color:var(--navy);margin-top:4px;font-size:18px;display:block}.partnerScoreForm{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.partnerScoreForm label{font-size:12px;font-weight:750}.partnerScoreForm input,.partnerScoreForm textarea{margin-top:5px}.partnerChecks{border:1px solid var(--line);background:#f7f9fc;border-radius:10px;grid-column:1/-1;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px;display:grid}.partnerChecks label{align-items:center;gap:7px;display:flex}.partnerChecks input{width:auto;margin:0}@media (width<=900px){.partnerAllocation,.partnerScoreForm,.partnerChecks{grid-template-columns:repeat(2,1fr)}}@media (width<=650px){.partnerAllocation,.partnerScoreForm,.partnerChecks{grid-template-columns:1fr}}.stat{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:13px;padding:18px;display:flex}.stat>i{background:var(--coral2);width:43px;height:43px;color:var(--coral);border-radius:11px;place-items:center;font-style:normal;display:grid}.stat:nth-child(2)>i{background:var(--purple2);color:var(--purple)}.stat:nth-child(3)>i{color:var(--green);background:#e8f8f1}.stat small,.stat b,.stat span{display:block}.stat small{text-transform:uppercase;letter-spacing:.09em;color:#959cad;font-size:8px;font-weight:800}.stat b{margin:4px 0;font-size:21px}.stat span{color:var(--muted);font-size:9px}.columns{grid-template-columns:1fr 1fr;gap:17px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:15px;margin-bottom:17px;padding:21px}.panel>header{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.panel h3{margin:4px 0;font-size:16px}.panel>header button{color:var(--purple);background:0 0;border:0;font-size:9px;font-weight:800}.empty{background:#fbfbfd;border:1px dashed #dfe1e8;border-radius:12px;align-items:center;gap:14px;margin-bottom:17px;padding:22px;display:flex}.empty>i{background:var(--purple2);width:40px;height:40px;color:var(--purple);border-radius:10px;place-items:center;font-size:19px;font-style:normal;display:grid}.empty>div{flex:1}.empty p{color:var(--muted);margin:4px 0;font-size:10px;line-height:1.5}.list>article{border-top:1px solid #f0f1f4;align-items:center;gap:11px;padding:12px 0;display:flex}.list>article:first-child{border-top:0}.date{text-align:center;background:var(--coral2);width:43px;height:46px;color:var(--coral);border-radius:9px;place-content:center;font-style:normal;display:grid}.date b{font-size:16px;line-height:1}.date small{font-size:7px;font-weight:850}.list article>div{flex:1;min-width:0}.list article>div>b{font-size:11px}.list p{color:var(--muted);margin:3px 0;font-size:9px}.list article>div>small{color:#9097a8;white-space:nowrap;text-overflow:ellipsis;font-size:8px;display:block;overflow:hidden}.status{color:#70788c;white-space:nowrap;background:#f0f1f5;border-radius:10px;padding:5px 8px;font-size:8px;font-style:normal;font-weight:800}.status.confirmed,.status.completed,.status.paid,.status.reviewed{color:var(--green);background:#e8f8f1}.status.planned,.status.open,.status.pending{background:var(--purple2);color:var(--purple)}.status.cancelled,.status.missed,.status.overdue{background:var(--coral2);color:var(--coral)}.tiny{background:var(--coral2);color:var(--coral);border:0;border-radius:8px;padding:6px 8px;font-size:8px;font-weight:800}.check{color:#0000;background:#fff;border:1px solid #d4d7df;border-radius:50%;width:22px;height:22px}.check.done{background:var(--green);border-color:var(--green);color:#fff}.progress{background:#eceef2;border-radius:4px;height:4px;margin-top:8px;display:block;overflow:hidden}.progress i{background:linear-gradient(90deg, var(--coral), #ffab68);height:100%;display:block}.eventGrid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.event{border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;padding:13px;display:flex}.event>i{border-right:1px solid var(--line);text-align:center;padding-right:12px;font-style:normal}.event>i b,.event>i small{display:block}.event>i b{font-size:20px}.event>i small{color:var(--muted);font-size:8px;font-weight:800}.event>div{min-width:0}.event div>em{color:var(--purple);background:var(--purple2);border-radius:7px;padding:3px 6px;font-size:8px;font-style:normal}.event h3{margin:6px 0 3px;font-size:10px}.event p{color:var(--muted);margin:0;font-size:8px}.event.large{align-items:flex-start;padding:19px}.event.large p{margin:5px 0;font-size:10px}.event.large div>small{color:var(--muted);font-size:9px}.intro{justify-content:space-between;align-items:end;margin-bottom:20px;display:flex}.intro h2{letter-spacing:-.035em;margin:0 0 6px;font-size:25px}.intro p{color:var(--muted);margin:0;font-size:11px}.inline{grid-template-columns:repeat(3,1fr);align-items:end;gap:0 13px;display:grid}.inline label{margin-top:0}.inline button{height:41px;margin-top:14px}.inline .span2{grid-column:span 2}.formHint{color:var(--muted);background:#f4f7fb;border-radius:8px;align-self:end;padding:9px 11px;font-size:9px;line-height:1.45}.cards,.materialCards,.calendar,.help{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.cards article{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:13px;padding:18px;display:flex}.cards article>div{flex:1}.cards h3{margin:0;font-size:13px}.cards p{color:var(--muted);margin:4px 0;font-size:10px}.cards small{color:#939aaa;font-size:8px}.materialCards article,.help article{border:1px solid var(--line);background:#fff;border-radius:15px;padding:21px}.materialCards article>i,.help article>i{background:var(--purple2);width:43px;height:43px;color:var(--purple);border-radius:11px;place-items:center;font-size:20px;font-style:normal;display:grid}.materialCards article>small{color:var(--coral);text-transform:uppercase;letter-spacing:.1em;margin-top:17px;font-size:8px;font-weight:850;display:block}.materialCards h3,.help h3{margin:6px 0;font-size:14px}.materialCards p,.help p{color:var(--muted);font-size:10px;line-height:1.55}.materialCards a,.help a{color:var(--purple);font-size:9px;font-weight:850;text-decoration:none}.materialCards em{color:#a0a5b0;font-size:8px}.calendar{grid-template-columns:repeat(2,1fr)}.paymentList article{border-top:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:17px;padding:13px 0;display:grid}.paymentList article:first-child{border-top:0}.paymentList b,.paymentList small{font-size:11px;display:block}.paymentList small{color:var(--muted);margin-top:4px;font-size:8px}.note{color:var(--muted);font-size:11px;line-height:1.65}.noticeList article{border-top:1px solid var(--line);align-items:flex-start;gap:12px;padding:15px 0;display:flex}.noticeList article:first-child{border-top:0}.noticeList .read{opacity:.6}.noticeList article>i{color:var(--coral);font-size:9px}.noticeList article>div{flex:1}.noticeList b{font-size:11px}.noticeList p{color:var(--muted);margin:4px 0;font-size:9px}.noticeList small{color:#9ca2b0;font-size:8px}.noticeList button{color:var(--purple);background:0 0;border:0;font-size:8px;font-weight:800}.settings{max-width:560px}.settings button{margin-top:18px}.help article{min-height:180px}.copyright{text-align:center;color:#a1a7b3;padding:20px;font-size:8px}@media (width<=1060px){.auth{grid-template-columns:1fr 520px}.authHero:after{opacity:.4}.columns{grid-template-columns:1fr}.cards,.materialCards{grid-template-columns:repeat(2,1fr)}}@media (width<=820px){.auth{background:linear-gradient(160deg,#1a2545 0 260px,#fff 260px);display:block}.authHero{background:0 0;min-height:260px;padding:28px;display:block}.authHero>div:nth-child(2){margin-top:35px}.authHero h1{font-size:35px}.authHero p,.authHero>div>span,.authHero footer,.authHero:after{display:none}.authBox{background:#fff;border-radius:28px 28px 0 0;max-width:none;margin-top:-25px;position:relative}.shell>aside{box-shadow:var(--shadow);transition:all .25s;transform:translate(-100%)}.shell>aside.open{transform:translate(0)}.close{font-size:26px;position:absolute;top:18px;right:16px;display:block!important}.content{margin-left:0;padding:20px}.hamb{background:#fff;border:0;border-radius:10px;width:40px;height:40px;margin-right:12px;display:block}.stats,.eventGrid{grid-template-columns:1fr}.cards,.materialCards,.calendar,.help,.inline{grid-template-columns:1fr 1fr}.welcome>i{margin-right:1%}}@media (width<=560px){.authBox{padding:38px 22px}.content{padding:16px 12px}.top>div:first-of-type>span{display:none}.top h1{font-size:21px}.logout{display:none}.welcome{min-height:210px;padding:27px 24px}.welcome h2{font-size:24px}.welcome>i{display:none}.panel{padding:16px}.intro{align-items:flex-start;gap:15px}.intro h2{font-size:21px}.intro p{display:none}.cards,.materialCards,.calendar,.help,.inline{grid-template-columns:1fr}.inline .span2{grid-column:auto}.list>article{flex-wrap:wrap;align-items:flex-start}.list article>div{min-width:60%}.status{margin-left:auto}.empty{align-items:flex-start}.paymentList article{grid-template-columns:1fr auto}.paymentList .status{grid-column:1/-1;width:max-content}}:root{--ink:#191919;--muted:#6f737c;--line:#e8e8eb;--bg:#f6f6f7;--coral:#e60012;--coral2:#fff0f1;--purple:#a4000d;--purple2:#fbe7e9;--green:#16865f;--shadow:0 16px 42px #40000617}.brand{align-items:center;gap:0;width:100%;display:flex}.brand img{object-fit:contain;width:100%;height:auto;display:block}.brand>b,.brand>div{display:none}.authHero>.brand{background:#fff;border-radius:14px;max-width:390px;padding:13px 16px;box-shadow:0 14px 38px #61000a38}.shell>aside>.brand{max-width:210px;padding:0 4px 25px}.splash .brand{max-width:270px}.primary{background:#e60012;box-shadow:0 8px 20px #e6001233}.primary:hover{background:#c90010}.authHero{background:radial-gradient(circle at 78% 38%,#ffffff18,#0000 18%),radial-gradient(circle at 68% 44%,#ff758044,#0000 30%),linear-gradient(145deg,#87000b,#c90010 58%,#ed0013)}.authHero:after{color:#e60012;background:linear-gradient(135deg,#fff,#f3d9db);box-shadow:0 0 0 25px #ffffff10,0 0 80px #51000766}.authHero p{color:#ffe9eb}.authHero span,.authHero footer{color:#fff1f2}.authBox>span,.sent>span{color:#e60012}.welcome{background:linear-gradient(115deg,#85000b,#bd000f 63%,#e60012)}.welcome>i{color:#e60012;background:linear-gradient(135deg,#fff,#f5dadd);box-shadow:0 0 0 22px #ffffff12,0 0 50px #5f000866}.account>i,.avatar{background:linear-gradient(135deg,#e60012,#8b000b)}.progress i{background:linear-gradient(90deg,#e60012,#95000c)}@media (width<=820px){.auth{background:linear-gradient(160deg,#a9000e 0 260px,#fff 260px)}.authHero>.brand{max-width:300px;padding:9px 12px}.shell>aside>.brand{max-width:205px}}.adminSummary{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.adminSummary p{background:var(--bg);border-radius:11px;margin:0;padding:15px}.adminSummary b,.adminSummary span{display:block}.adminSummary b{color:var(--coral);font-size:18px}.adminSummary span{color:var(--muted);margin-top:5px;font-size:8px}.adminTableWrap{width:100%;overflow-x:auto}.adminTable{border-collapse:collapse;width:100%;min-width:680px}.adminTable th{text-align:left;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:10px 12px;font-size:8px}.adminTable td{border-bottom:1px solid #f0f0f2;padding:11px 12px;font-size:10px}.adminTable td b{font-size:11px}.adminTable select{min-width:125px;padding:8px;font-size:10px}.studentLessonOverviewTable{min-width:520px}.studentLessonOverviewTable th:first-child,.studentLessonOverviewTable td:first-child{text-align:center;width:54px}.studentLessonOverviewTable td:last-child b{min-width:64px;color:var(--green);background:#e8f8f1;border-radius:999px;justify-content:center;padding:6px 10px;display:inline-flex}.adminBadge{color:#fff;background:#191919;border-radius:12px;padding:6px 9px;font-size:8px;font-weight:800;display:inline-block}.stateButton{color:var(--green);background:#e8f8f1;border:0;border-radius:12px;padding:6px 9px;font-size:8px;font-weight:800}.stateButton.off{background:var(--coral2);color:var(--coral)}.adminSettings{grid-template-columns:repeat(3,1fr)}.danger{color:var(--coral);background:#fff;border:1px solid #f1c8cc;border-radius:8px;margin-top:14px;padding:7px 10px;font-size:8px;font-weight:800;display:block}.adminEvent{border:1px solid var(--line);background:#fff;border-radius:14px;padding:5px 14px 14px}.adminEvent .event{border:0;padding-left:0;padding-right:0}.eventConflictList{background:#fff7f7;border:1px solid #f1c8cc;border-radius:9px;margin:11px 0;padding:10px}.eventConflictList>b,.eventConflictList article b{color:var(--coral)}.eventConflictList article{justify-content:space-between;align-items:center;gap:9px;padding-top:8px;display:flex}.eventConflictList small,.conflictFlag{color:var(--coral);margin-top:2px;font-size:8px;display:block}.eventConflictList .secondary{flex-shrink:0}.materialCards .danger{width:max-content}.formSuccess,.formError{grid-column:1/-1}.shell nav{overflow-y:auto}.shell nav button{flex-shrink:0}.eventRange{background:var(--coral2);color:var(--coral);letter-spacing:.08em;border-radius:8px;margin-top:7px;padding:4px 7px;font-size:7px;font-weight:850;display:inline-block}.eventBlockNote{color:var(--coral);margin-top:7px;font-size:8px;font-weight:700;display:block}.noticeStrip{grid-template-columns:1fr 1fr;gap:12px;display:grid}.noticeStrip article{background:var(--coral2);border-left:3px solid var(--coral);border-radius:12px;padding:14px}.noticeStrip b{font-size:11px}.noticeStrip p{color:var(--muted);margin:5px 0 0;font-size:9px;line-height:1.5}.nextLesson{background:linear-gradient(120deg, var(--coral2), #fff);border-radius:13px;gap:7px;padding:14px;display:grid}.nextLesson b{color:var(--coral);font-size:11px}.nextLesson strong{font-size:18px}.nextLesson span{color:var(--muted);font-size:9px}.lessonCards{gap:14px;display:grid}.lessonCards>article{border:1px solid var(--line);background:#fff;border-radius:15px;padding:18px}.lessonCards>article>header{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.lessonCards h3{margin:5px 0;font-size:15px}.lessonCards header span,.lessonCards header p{color:var(--muted);margin:0;font-size:9px}.lessonDetail{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:8px 16px;margin-top:14px;padding-top:13px;display:grid}.lessonDetail p{color:var(--muted);margin:0;font-size:9px}.lessonDetail b{color:var(--ink)}.lessonDetail a{color:var(--coral);font-size:9px;font-weight:800}.attendanceActions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.attendanceActions button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:9px;padding:8px 10px;font-size:8px;font-weight:800}.attendanceActions button.selected{border-color:var(--coral);background:var(--coral2);color:var(--coral)}.filterTabs{flex-wrap:wrap;gap:7px;margin:-7px 0 18px;display:flex}.filterTabs button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:18px;padding:8px 12px;font-size:8px;font-weight:800}.filterTabs button.active{background:var(--coral);border-color:var(--coral);color:#fff}.materialDone{background:#f5fffa!important;border-color:#a9dec9!important}.completionButton{background:var(--coral2);color:var(--coral);border:0;border-radius:9px;margin-top:14px;padding:8px 10px;font-size:8px;font-weight:800;display:block}.materialDone .completionButton{color:var(--green);background:#e4f7ef}.paymentHero{justify-content:space-between;align-items:center;gap:25px;display:flex}.paymentHero span{letter-spacing:.1em;color:var(--coral);font-size:8px;font-weight:850}.paymentHero h3{margin:5px 0 12px;font-size:30px}.paymentHero p{color:var(--muted);font-size:10px}.qrBox{border:1px solid var(--line);background:#fff;border-radius:12px;justify-items:center;gap:7px;padding:12px;display:grid}.qrBox small{color:var(--muted);font-size:7px}.documentLinks{gap:8px;margin-top:7px;display:flex}.documentLinks a{color:var(--coral);font-size:8px;font-weight:800}.reminderBanner{color:#8b6300;background:#fff7df;border-radius:11px;margin-bottom:16px;padding:12px 14px;font-size:9px;font-weight:750}.calendarLessons{gap:8px;display:grid}.calendarLessons article{border:1px solid var(--line);border-radius:11px;align-items:center;gap:13px;padding:12px;display:flex}.calendarLessons article.cancelled{opacity:.55}.calendarLessons article>i{text-align:center;width:38px;font-size:16px;font-style:normal;font-weight:850}.calendarLessons article>i small{text-transform:uppercase;font-size:7px;display:block}.calendarLessons article>div{flex:1}.calendarLessons p{color:var(--muted);margin:3px 0;font-size:8px}.absenceDateList{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.absenceDateList span{color:var(--coral);background:#fff1f2;border-radius:999px;align-items:center;gap:6px;padding:7px 8px 7px 10px;font-size:9px;font-weight:800;display:inline-flex}.absenceDateList button{width:18px;height:18px;color:var(--coral);background:#fff;border-radius:50%;padding:0;font-size:14px;line-height:1}.monthCalendarToolbar{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.monthCalendarToolbar b{text-transform:capitalize;font-size:13px}.monthCalendar{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.monthCalendarWeekday{border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);text-align:center;text-transform:uppercase;background:#f7f8fb;padding:8px 5px;font-size:8px}.monthCalendarDay{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;min-height:115px;padding:6px}.monthCalendarDay.empty{background:#fafafa}.monthCalendarDate{margin-bottom:5px;font-size:9px;font-weight:850;display:block}.monthCalendarItem{color:#334155;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;margin:3px 0;padding:3px 4px;font-size:7px;font-weight:750;line-height:1.25;display:block;overflow:hidden}.monthCalendarItem.lesson{background:#e9f1ff}.monthCalendarItem.event{color:#950;background:#fff1df}.monthCalendarItem.cancelled{opacity:.55;text-decoration:line-through}.concertResponse{grid-template-columns:1fr 1fr;gap:3px;margin:3px 0 5px;display:grid}.concertResponse button{border:1px solid var(--line);min-width:0;color:var(--text);background:#fff;border-radius:4px;padding:4px 2px;font-size:6px;font-weight:800;line-height:1.15}.concertResponse button.selected{color:var(--green);background:#e8f8f1;border-color:#a9dec9}.toggleList{gap:5px;margin-bottom:15px;display:grid}.toggleList label{border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;margin:0;padding:10px;display:flex}.toggleList input{width:18px;height:18px}.toggleList span{gap:2px;display:grid}.toggleList small{color:var(--muted);font-size:8px}.panel hr{border:0;border-top:1px solid var(--line);margin:18px 0}@media (width<=820px){.adminSummary{grid-template-columns:1fr}.adminSettings{grid-template-columns:1fr 1fr}}@media (width<=560px){.adminSettings{grid-template-columns:1fr}.adminSettings .span2{grid-column:auto}}@media (width<=700px){.noticeStrip,.lessonDetail{grid-template-columns:1fr}.paymentHero{flex-direction:column;align-items:flex-start}.qrBox{width:100%}}.chatRecipientNote{min-height:48px;color:var(--green);background:#eef9f5;border:1px solid #b9d8cd;border-radius:10px;align-self:end;padding:13px 14px;font-size:14px}.messageList article.unread{border-left:4px solid var(--coral);background:#fff9f5}.messageList article.unread b{font-weight:900}.familyCards{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px;display:grid}.studySummary{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.studySummary article{background:linear-gradient(145deg,#fff,#faf9ff);border:1px solid #dfdff0;border-radius:13px;min-height:132px;padding:15px}.studySummary article:first-child{border-top:4px solid var(--green)}.studySummary article:nth-child(2){border-top:4px solid var(--coral)}.studySummary article:nth-child(3){border-top:4px solid var(--purple)}.studySummary article:nth-child(4){border-top:4px solid #377dbe}.studySummary article:nth-child(5){border-top:4px solid #b67830}.studySummary span{color:var(--muted);letter-spacing:.06em;font-size:10px;font-weight:900;display:block}.studySummary b{overflow-wrap:anywhere;margin:12px 0 7px;font-size:16px;line-height:1.3;display:block}.studySummary small{color:var(--muted);font-size:11px;line-height:1.4;display:block}@media (width<=1100px){.studySummary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.studySummary{grid-template-columns:1fr}.studySummary article{min-height:auto}}.familyCards article{border:1px solid var(--line);background:#fff;border-radius:15px;align-items:center;gap:12px;padding:17px;display:flex}.familyCards article>div{flex:1;min-width:0}.familyCards span{color:var(--coral);font-size:8px;font-weight:800}.familyCards h3{margin:4px 0;font-size:13px}.familyCards p,.familyCards small{color:var(--muted);margin:3px 0;font-size:8px;display:block}.familyCards button{color:var(--coral);background:0 0;border:0;font-size:8px;font-weight:850}.noticeStrip.single{grid-template-columns:1fr}.childSwitcher{gap:9px;margin-bottom:18px;padding-bottom:4px;display:flex;overflow-x:auto}.childSelect{max-width:380px;color:var(--muted);margin:0 0 10px;font-size:11px;font-weight:800;display:block}.childSelect select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;margin-top:6px;padding:10px 12px;display:block}.attendanceStat{text-align:left;background:0 0;border:0;border-radius:13px;width:100%;padding:0}.attendanceStat .stat{min-height:100%;transition:transform .16s,box-shadow .16s}.attendanceStat:hover .stat,.attendanceStat:focus-visible .stat{box-shadow:var(--shadow);outline:2px solid var(--coral);outline-offset:2px;transform:translateY(-2px)}.attendanceDetail>p{color:var(--muted);margin:0 0 15px;font-size:12px}.attendanceDetail>p b{color:var(--ink)}.attendanceTimeline{gap:9px;display:grid}.attendanceTimeline article{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:11px;padding:12px;display:flex}.attendanceTimeline article>i{border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-style:normal;font-weight:900;display:grid}.attendanceTimeline article.completed>i{color:var(--green);background:#e8f8f1}.attendanceTimeline article.planned>i{background:var(--purple2);color:var(--purple)}.attendanceTimeline article>div{flex:1;min-width:0}.attendanceTimeline b,.attendanceTimeline span,.attendanceTimeline small{display:block}.attendanceTimeline b{font-size:12px}.attendanceTimeline span,.attendanceTimeline small{color:var(--muted);margin-top:2px;font-size:10px}.attendanceTimeline em{background:var(--coral2);color:var(--coral);border-radius:99px;padding:5px 8px;font-size:9px;font-style:normal;font-weight:800}.attendanceTimeline article.completed em{color:var(--green);background:#e8f8f1}.childSwitcher button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:12px;align-items:center;gap:10px;min-width:190px;padding:10px;display:flex}.childSwitcher button>i{background:var(--bg);border-radius:50%;place-items:center;width:34px;height:34px;font-size:10px;font-style:normal;font-weight:850;display:grid}.childSwitcher button span{font-size:9px;font-weight:850}.childSwitcher button small{color:var(--muted);margin-top:3px;font-weight:500;display:block}.childSwitcher button.active{border-color:var(--coral);background:var(--coral2)}.contactRow{justify-content:space-between;align-items:center;gap:15px;display:flex}.contactRow b,.contactRow small{display:block}.contactRow b{font-size:12px}.contactRow small{color:var(--muted);margin-top:4px;font-size:8px}.contactRow a{color:var(--coral);font-size:9px;font-weight:850}.contactActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.contactActions .primary{min-height:34px;padding:8px 12px}.messageList article{cursor:pointer}.messageList article:focus-visible{outline:2px solid var(--coral);outline-offset:2px}.seriesReviewIntro{background:var(--purple2);border:1px solid #e1d9ff;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;padding:13px;display:flex}.seriesReviewIntro b{font-size:13px}.seriesReviewIntro p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.5}.seriesMoveControls{align-items:center;gap:8px;min-width:360px;display:flex}.seriesMoveControls input{min-width:170px}.moveHint{color:var(--green);margin-top:5px;font-size:10px;font-weight:750;display:block}.seriesTermList{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:7px;margin-top:12px;display:grid}.seriesTermList span{color:#267858;background:#f8fffb;border:1px solid #dceee6;border-radius:9px;padding:9px 10px;font-size:10px;font-weight:750}.slotGrid article.taken{opacity:.72;background:#f4f2f7}.slotGrid article.taken em{color:var(--purple);font-size:10px;font-weight:800}.feedbackTarget{color:var(--ink);margin-top:8px;font-size:10px;display:block}@media (width<=700px){.contactRow{flex-direction:column;align-items:flex-start}.contactActions{justify-content:flex-start}.seriesReviewIntro,.seriesMoveControls{flex-direction:column;align-items:stretch}.seriesMoveControls{min-width:250px}}.lessonCards.compact article{padding:13px}.miniMaterials{gap:8px;display:grid}.miniMaterials article{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:9px 0;display:flex}.miniMaterials b{flex:1;font-size:9px}.miniMaterials small{color:var(--muted);font-size:7px}.miniMaterials a{color:var(--coral);font-size:8px;font-weight:800}.eventReply{border:1px solid var(--line);border-radius:12px;padding:5px}.eventReply .event{border:0}.eventReply>div{gap:6px;padding:0 8px 8px;display:flex}.eventReply button{border:1px solid var(--line);background:#fff;border-radius:8px;flex:1;padding:7px;font-size:7px;font-weight:800}.eventReply button.selected{background:var(--coral2);border-color:var(--coral);color:var(--coral)}.standaloneSelect{max-width:310px;margin:0 0 17px;font-size:9px;font-weight:800;display:block}.standaloneSelect select{margin-top:6px}.absenceList{gap:8px;display:grid}.absenceList article{border:1px solid var(--line);border-radius:11px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.absenceList b{font-size:10px}.absenceList p{color:var(--muted);margin:4px 0;font-size:8px}.absenceList article>div:last-child{gap:6px;display:flex}.absenceList button,.slotGrid button{border:1px solid var(--line);color:var(--coral);background:#fff;border-radius:8px;padding:7px 9px;font-size:7px;font-weight:800}.weekControls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.weekControls b{font-size:10px}.teacherWeekGrid{grid-template-columns:repeat(7,minmax(145px,1fr));gap:8px;padding-bottom:4px;display:grid;overflow-x:auto}.mobileDayPager{display:none}.teacherWeekDay{border:1px solid var(--line);background:#fbfcff;border-radius:11px;min-height:200px;padding:9px}.teacherWeekDay h3{text-transform:capitalize;margin:0 0 8px;font-size:10px}.teacherWeekDay h3 small{color:var(--muted);margin-top:2px;font-size:8px;display:block}.teacherWeekDay article{background:#eaf2ff;border-radius:8px;gap:3px;margin:6px 0;padding:7px;display:grid}.teacherWeekDay article.needsChange{background:#fff1f1;border:1px solid #f1c8cc}.teacherWeekDay article b{font-size:8px}.teacherWeekDay article span{font-size:9px;font-weight:850}.teacherWeekDay article small{color:var(--muted);font-size:7px}.teacherWeekDay article i{color:var(--purple);font-size:7px;font-style:normal;font-weight:800}.teacherWeekDay .status{width:max-content;max-width:100%;font-size:7px}.teacherWeekDay .tiny{width:max-content;padding:4px 6px;font-size:7px}.weekAbsence,.weekEvent{border-radius:7px;margin:5px 0;padding:5px;font-size:7px;font-weight:800}.weekAbsence{color:var(--coral);background:#fff0f0}.weekEvent{color:#9a6200;background:#fff5df}.weekEmpty{color:var(--muted);font-size:8px}.teacherStudentSummary article.selectedStudent{border-color:var(--coral);box-shadow:0 0 0 2px var(--coral2)}.teacherStudentSummary article>small{color:var(--muted);margin-top:4px;font-size:8px;display:block}.monthEventToolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.monthEventToolbar>div:last-child,.calendarLegend{flex-wrap:wrap;gap:6px;display:flex}.calendarLegend span{border-radius:7px;padding:4px 7px;font-size:7px;font-weight:800}.calendarLegend .concert,.monthEventItem.concert{color:#b42318;background:#fee2e2}.calendarLegend .workshop,.monthEventItem.workshop{color:#6336b5;background:#ede9fe}.calendarLegend .rental,.monthEventItem.rental{color:#9a6200;background:#fff2d9}.calendarLegend .school,.monthEventItem.school{color:#175ea8;background:#e3f0ff}.monthEventCalendar{border:1px solid var(--line);background:#fff;border-radius:11px;max-width:100%;padding:9px}.monthEventCalendar h3{text-transform:capitalize;margin:0 0 8px;font-size:11px}.monthEventWeekdays,.monthEventDays{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.monthEventWeekdays b{color:var(--muted);text-align:center;padding:4px 1px;font-size:7px}.monthEventDay{border-top:1px solid var(--line);border-right:1px solid var(--line);min-height:92px;padding:3px;overflow:hidden}.monthEventDay:nth-child(7n){border-right:0}.monthEventDay.empty{background:#fafbfd}.monthEventDay>b{margin-bottom:3px;font-size:7px;display:block}.monthEventItem{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border:0;border-radius:4px;width:100%;margin:2px 0;padding:3px;font-size:7px;font-weight:800;line-height:1.25;display:block;overflow:hidden}.monthEventItem:hover,.monthEventItem:focus-visible{outline:2px solid var(--coral);outline-offset:1px}.monthEventDay small{color:var(--muted);font-size:7px;display:block}.calendarEventPreview{border:1px solid var(--purple);background:#faf8ff;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:16px;margin-top:13px;padding:13px;display:flex}.calendarEventPreview em{color:var(--purple);font-size:8px;font-style:normal;font-weight:800}.calendarEventPreview h3{margin:5px 0 3px;font-size:13px}.calendarEventPreview p,.calendarEventPreview small{color:var(--muted);margin:3px 0;font-size:9px;display:block}@media (width<=760px){.monthEventDay{min-height:76px}.monthEventItem{padding:2px;font-size:6px}.calendarEventPreview{display:grid}}.requestStatus{border-radius:12px;padding:6px 9px;font-size:8px;font-weight:850}.requestStatus.pending{color:#8a6400;background:#fff5d9}.requestStatus.approved{color:var(--green);background:#e7f8f1}.requestStatus.rejected{background:var(--coral2);color:var(--coral)}.slotGrid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.slotGrid article{border:1px solid var(--line);border-radius:11px;gap:5px;padding:13px;display:grid}.slotGrid b{font-size:10px}.slotGrid small{color:var(--muted);font-size:8px}.messageList{display:grid}.messageList article{border-bottom:1px solid var(--line);gap:11px;padding:14px 0;display:flex}.messageList article.unread{background:linear-gradient(90deg, var(--coral2), transparent);padding-left:9px}.messageList article>i{color:var(--coral);font-style:normal}.messageList article>div{gap:4px;display:grid}.messageList span,.messageList small{color:var(--muted);font-size:7px}.messageList b{font-size:10px}.messageList p{color:var(--muted);margin:0;font-size:9px;line-height:1.5}.replyContext{border-left:4px solid var(--coral);background:var(--coral2);border-radius:8px;gap:6px;margin:0 0 16px;padding:14px;display:grid}.replyContext span,.replyContext p{color:var(--muted);margin:0}.replyContext span{font-size:12px}.replyContext>b{font-size:15px}.replyContext p{font-size:14px;line-height:1.5}.parentAdminGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.parentAdminGrid article{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px;display:grid}.parentAdminGrid article.selected{border-color:var(--coral);box-shadow:0 0 0 2px var(--coral2)}.parentAdminGrid h3{margin:2px 0;font-size:16px}.parentAdminGrid p,.parentAdminGrid small{color:var(--muted);margin:2px 0;line-height:1.45;display:block}.parentAdminGrid p{font-size:13px}.parentAdminGrid small,.parentAdminGrid span,.parentDetailHeader span{font-size:11px}.parentDetailHeader{justify-content:space-between;align-items:end;gap:14px;margin-bottom:16px;display:flex}.parentDetailHeader>div{gap:5px;display:grid}.parentDetailHeader .parentAccountActions{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.parentStats .stat b{font-size:clamp(16px,2vw,25px)}.parentAssignForm{margin-bottom:16px}@media (width<=850px){.parentAdminGrid{grid-template-columns:1fr}}@media (width<=540px){.parentAdminGrid article{grid-template-columns:auto minmax(0,1fr)}.parentAdminGrid article>button{grid-column:1/-1}.parentDetailHeader{flex-direction:column;align-items:stretch}.parentDetailHeader .parentAccountActions{justify-content:stretch}}.documentCards{gap:8px;display:grid}.documentCards article{border:1px solid var(--line);border-radius:10px;align-items:center;gap:11px;padding:12px;display:flex}.documentCards article>i{background:var(--coral2);width:32px;height:32px;color:var(--coral);border-radius:8px;place-items:center;font-style:normal;display:grid}.documentCards article>div{flex:1;gap:3px;display:grid}.documentCards span{color:var(--muted);font-size:7px}.documentCards b{font-size:9px}.documentCards a,.documentCards small{color:var(--coral);font-size:8px;font-weight:800}@media (width<=1000px){.familyCards,.slotGrid{grid-template-columns:1fr 1fr}}@media (width<=650px){.familyCards,.slotGrid{grid-template-columns:1fr}.absenceList article{flex-direction:column;align-items:flex-start}.eventGrid{grid-template-columns:1fr}.contactRow{flex-direction:column;align-items:flex-start}}.toolbar{justify-content:flex-end;align-items:center;gap:9px;margin:-7px 0 16px;display:flex}.toolbar select{width:auto;min-width:160px}.templateGrid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.templateGrid form{border:1px solid var(--line);background:var(--bg);border-radius:12px;max-width:none;padding:15px}.roleMatrix{grid-template-columns:repeat(4,1fr);gap:11px;display:grid}.roleMatrix article{border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:15px}.roleMatrix b{color:var(--coral);font-size:11px}.roleMatrix p{color:var(--muted);font-size:9px;line-height:1.55}.adminTable td small{color:var(--muted);margin-top:3px;font-size:8px;display:block}.adminTable td .secondary,.adminTable td .danger{margin:3px 5px 3px 0;padding:6px 8px;display:inline-block}.historyRecordPick{min-height:36px;color:var(--purple);white-space:nowrap;background:#fff;border:1px solid #cfc8f4;border-radius:9px;padding:7px 11px;font-size:12px;font-weight:850}.historyRecordPick:hover:not(:disabled){border-color:var(--purple);background:var(--purple2)}.historyRecordPick.selected{border-color:var(--purple);background:var(--purple);color:#fff}.historyRecordSelected td{background:#faf8ff}.lessonPick{min-height:36px;color:var(--purple);white-space:nowrap;background:#fff;border:1px solid #cfc8f4;border-radius:9px;padding:7px 11px;font-size:12px;font-weight:850}.lessonPick:hover{border-color:var(--purple);background:var(--purple2)}.lessonPick.selected{border-color:var(--purple);background:var(--purple);color:#fff}.lessonRowSelected td{background:#faf8ff}.lessonSelectAll{min-height:32px;color:var(--purple);text-transform:none;letter-spacing:normal;white-space:nowrap;background:#fff;border:1px solid #cfc8f4;border-radius:8px;padding:5px 8px;font-size:11px;font-weight:850}.lessonSelectAll:hover:not(:disabled){border-color:var(--purple);background:var(--purple2)}.lessonSelectAll.selected{border-color:var(--purple);background:var(--purple);color:#fff}.panel .check{width:auto;height:auto;color:var(--ink);background:0 0;border:0;border-radius:0;align-items:center;gap:9px;display:flex}.panel .check input{width:18px;height:18px}.splash>.secondary{margin-top:14px}@media (width<=900px){.templateGrid,.roleMatrix{grid-template-columns:1fr 1fr}}@media (width<=560px){.templateGrid,.roleMatrix{grid-template-columns:1fr}.toolbar{flex-direction:column;align-items:stretch}.toolbar select,.toolbar button{width:100%}}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-size:16px}body{font-size:16px;line-height:1.55}button,input,select,textarea{font-size:15px;line-height:1.35}input,select,textarea{min-height:46px;padding:12px 14px}textarea{min-height:110px}.primary,.secondary{min-height:44px;padding:12px 17px;font-size:14px}.shell nav button,.asideBottom>button{min-height:48px}.shell nav button span,.asideBottom button span{font-size:14px}.shell nav button i{font-size:11px}.account b{font-size:13px}.account small,.top span,.panel header span{font-size:11px}.top h1{font-size:30px}.logout{min-height:42px;font-size:13px}.alert{font-size:14px}.welcome>div>span{font-size:11px}.welcome h2{font-size:34px}.welcome p{font-size:15px}.welcome button{min-height:44px;font-size:14px}.stat small{font-size:11px}.stat b{font-size:24px}.stat span{font-size:12px}.panel h3{font-size:19px}.panel>header button{min-height:40px;font-size:13px}.empty b{font-size:15px}.empty p{font-size:13px}.list article>div>b,.cards h3,.paymentList b,.paymentList small,.noticeList b{font-size:14px}.list p,.list article>div>small,.cards p,.cards small,.noticeList p,.noticeList small{font-size:12px}.status,.tiny,.adminBadge,.stateButton,.danger{padding:7px 10px;font-size:11px}.date small,.event>i small,.event div>em,.eventRange{font-size:10px}.event h3{font-size:14px}.event p{font-size:12px}.event.large h3{font-size:17px}.event.large p,.event.large div>small{font-size:13px}.intro h2{font-size:29px}.intro p,.note,form label{font-size:14px}.authBox>p,.sent p{font-size:15px}.switch button,.roles button{min-height:46px;font-size:14px}.privacy,.formError,.formSuccess{font-size:12px}.materialCards article>small,.materialCards em,.materialCards a,.help a{font-size:11px}.materialCards h3,.help h3{font-size:17px}.materialCards p,.help p{font-size:13px}.filterTabs button,.completionButton{min-height:40px;font-size:12px}.adminSummary span,.adminTable th,.adminTable td small{font-size:11px}.adminTable td,.adminTable td b,.adminTable select{font-size:13px}.roleMatrix b{font-size:14px}.roleMatrix p{font-size:12px}.noticeStrip b,.nextLesson b{font-size:14px}.noticeStrip p,.nextLesson span,.lessonCards header span,.lessonCards header p,.lessonDetail p,.lessonDetail a{font-size:12px}.attendanceActions button{min-height:40px;font-size:12px}.paymentHero span{font-size:11px}.paymentHero p{font-size:13px}.qrBox small,.documentLinks a{font-size:11px}.reminderBanner{font-size:13px}.calendarLessons b{font-size:14px}.calendarLessons p{font-size:12px}.calendarLessons article>i small{font-size:10px}.toggleList b{font-size:13px}.toggleList small,.familyCards span,.familyCards p,.familyCards small,.familyCards button,.childSwitcher button span,.contactRow small,.miniMaterials small{font-size:11px}.familyCards h3,.contactRow b,.miniMaterials b{font-size:14px}.contactRow a,.miniMaterials a,.standaloneSelect{font-size:12px}.absenceList b,.slotGrid b,.messageList b{font-size:13px}.absenceList p,.slotGrid small,.messageList p{font-size:12px}.absenceList button,.slotGrid button,.eventReply button{min-height:38px;font-size:11px}.requestStatus{font-size:11px}.messageList span,.messageList small,.documentCards span{font-size:10px}.documentCards b,.documentCards a,.documentCards small{font-size:12px}.copyright{font-size:11px}:focus-visible{outline-offset:2px;outline:3px solid #e60012}button,a,input,select,textarea{touch-action:manipulation}@media (width<=820px){body{font-size:17px}.content{padding:22px 18px}.hamb,.bell{width:46px;height:46px}.top h1{font-size:27px}.panel{border-radius:17px}.shell>aside{width:min(88vw,320px)}.shell nav button{min-height:52px}.shell nav button span{font-size:16px}}@media (width<=560px){.content{padding:18px 14px}.top{align-items:flex-start}.top h1{font-size:25px}.welcome{padding:30px 25px}.welcome h2{font-size:28px}.intro h2{font-size:25px}.intro p{font-size:13px;display:block}.panel{padding:18px}.primary,.secondary{width:100%;font-size:15px}.paymentList article{gap:12px}.adminTable{min-width:760px}.toolbar{margin-top:0}}.courseEditorList{gap:14px;margin-top:22px;display:grid}.courseEditorList>article{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px;position:relative}.courseEditorList>article.inactive{opacity:.78;background:#f4f4f5}.courseEditorList form{grid-template-columns:1.5fr 1fr .7fr .7fr;align-items:end;gap:12px;display:grid}.courseEditorList label{margin:0}.courseActions{flex-wrap:wrap;grid-column:1/-1;gap:9px;display:flex}.courseActions .primary,.courseActions .secondary,.courseActions .danger{width:auto;min-height:42px;margin:0}.courseState{color:var(--muted);background:#ececef;border-radius:12px;padding:6px 9px;font-size:11px;font-weight:800;position:absolute;top:14px;right:14px}.courseState.active{color:var(--green);background:#e8f8f1}.userList{gap:9px;margin-bottom:14px;display:grid}.userList article{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex}.userList b,.userList small{display:block}.userList small{color:var(--muted);margin-top:3px}.userList .courseState{flex:none;position:static}@media (width<=1050px){.courseEditorList form{grid-template-columns:1fr 1fr}.courseState{margin-top:12px;display:inline-block;position:static}}@media (width<=600px){.courseEditorList form{grid-template-columns:1fr}.courseActions{display:grid}.courseActions .primary,.courseActions .secondary,.courseActions .danger{width:100%}}.editActions{flex-wrap:wrap;grid-column:1/-1;gap:10px;display:flex}.editActions .primary,.editActions .secondary,.editActions .danger{width:auto;min-height:44px;margin:0}.adminTable td>.secondary,.adminTable td>.danger{margin:3px 5px 3px 0}.adminTable td>.danger{display:inline-block}@media (width<=600px){.editActions{display:grid}.editActions .primary,.editActions .secondary,.editActions .danger{width:100%}}.bookingList{gap:10px;display:grid}.bookingList article{border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:15px;display:grid}.bookingList p,.bookingList small{color:var(--muted);margin:4px 0;font-size:12px}.bookingActions{gap:6px;display:flex}.bookingActions button{border:1px solid var(--line);color:var(--coral);background:#fff;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:800}.feedbackGrid,.skillsGrid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.feedbackGrid article,.skillsGrid article{border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:16px}.feedbackGrid span,.skillsGrid span{color:var(--coral);font-size:12px;font-weight:850}.feedbackGrid p,.skillsGrid p{font-size:13px;line-height:1.55}.feedbackGrid small,.skillsGrid small{color:var(--muted);font-size:11px}.skillsGrid b{margin-top:6px;display:block}.newsGrid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.newsGrid article{border:1px solid var(--line);background:#fff;border-radius:15px;padding:18px;overflow:hidden}.newsGrid img{object-fit:cover;width:calc(100% + 36px);height:170px;margin:-18px -18px 16px}.newsGrid span{color:var(--coral);font-size:11px;font-weight:850}.newsGrid h3{margin:8px 0;font-size:19px}.newsGrid p{color:var(--muted);font-size:13px;line-height:1.6}.newsGrid small{color:var(--muted);font-size:11px}.eventSignup{gap:8px;display:grid}.eventSignup>.secondary{width:100%}.eventSignup>.selected{color:var(--green);background:#e8f8f1;border-color:#a9dec9}.meetingLink{color:var(--coral);font-size:12px;font-weight:850}.musicTools{background:var(--bg);border-radius:11px;gap:10px;margin:10px 0;padding:12px;display:grid}.musicTools label{align-items:center;gap:8px;margin:0;font-size:12px;display:flex}.musicTools input[type=range]{min-height:20px;padding:0}.musicTools button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 9px;font-weight:800}.musicTools button.active{background:var(--coral);color:#fff}.musicTools small{color:var(--muted);font-size:10px}.contrastMode{--ink:#000;--muted:#272727;--line:#707070;--bg:#fff;filter:contrast(1.08)}.contrastMode .panel,.contrastMode .stat,.contrastMode aside{border-color:#555}.contrastMode button:focus-visible,.contrastMode a:focus-visible{outline-width:4px}@media (width<=900px){.feedbackGrid,.skillsGrid,.newsGrid{grid-template-columns:1fr 1fr}.bookingList article{grid-template-columns:1fr auto}.bookingActions{grid-column:1/-1}}@media (width<=600px){.feedbackGrid,.skillsGrid,.newsGrid,.bookingList article{grid-template-columns:1fr}.bookingActions{display:grid}.bookingActions button{width:100%}}.referralCode{grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:12px;display:grid}.referralCode>b{letter-spacing:.08em;color:#8b6914;font-size:1.35rem}.referralCode input{margin:0}@media (width<=700px){.referralCode{grid-template-columns:1fr}.referralCode>b{font-size:1.2rem}body{font-size:17px;line-height:1.55}.content{font-size:17px}.top span,aside nav small{font-size:13px}.top h1{font-size:25px;line-height:1.2}.intro h2{font-size:27px;line-height:1.18}.intro p,.panel p,.note,.alert,.formError,.formSuccess{font-size:16px;line-height:1.55}label,input,select,textarea,button,a{font-size:16px}input,select,textarea{min-height:48px}button{min-height:46px;line-height:1.25}small,.panel small,.adminTable small,.studentAdminGrid small,.paymentList small,.noticeList small,.lessonList small{font-size:14px;line-height:1.45}aside nav button span,.asideBottom button span{font-size:16px}.panel h2,.panelHeader h2{font-size:21px;line-height:1.25}.stat label,.stat small{font-size:14px}.stat strong,.stat h3{font-size:25px}.adminTable th{font-size:13px}.adminTable td{font-size:15px;line-height:1.45}.status{font-size:13px}.studentAdminGrid h3,.newsGrid h3{font-size:20px}.studentAdminGrid p,.newsGrid p{font-size:15px}.studentLessonCredit b{font-size:16px}.studentLessonCredit small,.linkRemoveButton{font-size:14px}.partnerScoreForm label,.partnerChecks label,.partnerAllocation span{font-size:15px}}@media (width<=720px){body,.content{font-size:18px}.top h1{font-size:29px}.panel>header h3,.panel h3{font-size:25px;line-height:1.28}.panel>header button{min-height:48px;font-size:17px}.list>article{gap:14px;padding:18px 0}.date{border-radius:12px;flex:0 0 58px;width:58px;height:64px}.date b{font-size:22px}.date small{font-size:12px}.list article>div>b{font-size:20px;line-height:1.3}.list p{margin:6px 0;font-size:18px;line-height:1.55}.list article>div>small{white-space:normal;font-size:16px;line-height:1.5}.list .status{min-height:46px;padding:10px 13px;font-size:16px;line-height:1.25}.list .tiny{min-height:46px;padding:10px 13px;font-size:16px}.lessonTuitionAlert{font-size:16px;line-height:1.45}}.role-teacher .content,.role-teacher .panel{font-size:18px}.role-teacher .panel>header span{font-size:14px}.role-teacher .panel>header h3{font-size:28px}.role-teacher label{font-size:17px}.role-teacher input,.role-teacher select,.role-teacher textarea{min-height:52px;font-size:18px}.role-teacher textarea{min-height:130px}.role-teacher button,.role-teacher .primary,.role-teacher .secondary{min-height:50px;padding:12px 18px;font-size:17px}.role-teacher .weekControls{gap:14px;margin-bottom:20px}.role-teacher .weekControls b{font-size:18px}.role-teacher .teacherWeekGrid{gap:14px;padding-bottom:10px}.role-teacher .teacherWeekDay{border-radius:14px;min-height:310px;padding:16px}.role-teacher .teacherWeekDay h3{margin-bottom:14px;font-size:22px}.role-teacher .teacherWeekDay h3 small{margin-top:5px;font-size:16px}.role-teacher .teacherWeekDay article{border-radius:11px;gap:7px;margin:10px 0;padding:12px}.role-teacher .teacherWeekDay article b{font-size:17px}.role-teacher .teacherWeekDay article span{font-size:18px}.role-teacher .teacherWeekDay article small,.role-teacher .teacherWeekDay article i{font-size:15px;line-height:1.4}.role-teacher .teacherWeekDay .status{font-size:14px}.role-teacher .teacherWeekDay .tiny{min-height:38px;padding:8px 10px;font-size:14px}.role-teacher .weekAbsence,.role-teacher .weekEvent,.role-teacher .weekEmpty{padding:9px;font-size:15px;line-height:1.4}@media (width<=760px){.role-teacher .content{font-size:17px}.role-teacher .panel>header h3{font-size:25px}.role-teacher label{font-size:16px}.role-teacher input,.role-teacher select,.role-teacher textarea{min-height:50px;font-size:17px}.role-teacher button,.role-teacher .primary,.role-teacher .secondary{font-size:16px}}.role-admin .panel,.role-admin .lessonCards,.role-admin .monthEventCalendar{font-size:16px}.role-admin .monthEventCalendar h3{font-size:17px}.role-admin .monthEventWeekdays b,.role-admin .monthEventDay>b{font-size:11px}.role-admin .monthEventItem{min-height:27px;padding:5px 6px;font-size:10px}.role-admin .calendarLegend span{padding:6px 9px;font-size:10px}.role-admin .calendarEventPreview em{font-size:11px}.role-admin .calendarEventPreview h3{font-size:17px}.role-admin .calendarEventPreview p,.role-admin .calendarEventPreview small{font-size:13px;line-height:1.5}.seriesPlanningNotice{justify-content:space-between;align-items:center;gap:18px;display:flex}.seriesPlanningNotice b{font-size:16px;display:block}.seriesPlanningNotice p{max-width:760px;color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.55}.seriesPlanningNotice .primary{flex:none}.studentCountSummary{background:#fff7f5;border:1px solid #f5d1cb;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin:0 0 16px;padding:13px 15px;display:flex}.studentCountSummary>div{align-items:baseline;gap:10px;display:flex}.studentCountSummary span{color:var(--muted);font-size:12px;font-weight:800}.studentCountSummary b{color:var(--coral);font-size:25px}.studentCountSummary p{color:var(--muted);margin:0;font-size:12px}.studentCountSummary p b{font-size:inherit}.studentInstrument{align-items:center;gap:7px;display:flex!important}.studentInstrument i{background:var(--coral2);color:var(--coral);letter-spacing:0;border-radius:6px;padding:3px 6px;font-size:9px;font-style:normal}@media (width<=760px){.role-admin .content{font-size:18px}.role-admin .panel,.role-admin .lessonCards,.role-admin .monthEventCalendar{font-size:17px}.role-admin .monthEventCalendar{padding:12px 8px}.role-admin .monthEventCalendar h3{font-size:18px}.role-admin .monthEventWeekdays b,.role-admin .monthEventDay>b{font-size:10px}.role-admin .monthEventDay{min-height:88px;padding:4px}.role-admin .monthEventItem{white-space:normal;min-height:30px;padding:5px 4px;font-size:8px}.role-admin .calendarLegend span{font-size:11px}.seriesPlanningNotice{flex-direction:column;align-items:stretch}.seriesPlanningNotice b{font-size:18px}.seriesPlanningNotice p{font-size:16px}.seriesPlanningNotice .primary{width:100%}.studentCountSummary{flex-direction:column;align-items:flex-start}.studentCountSummary span,.studentCountSummary p{font-size:14px}.studentInstrument i{font-size:10px}}.role-teacher .monthCalendarToolbar,.role-teacher .monthCalendar{font-size:18px}.role-teacher .monthCalendarToolbar b{font-size:24px}.role-teacher .monthCalendarWeekday,.role-teacher .monthCalendarDate{font-size:17px}.role-teacher .monthCalendarDay{min-height:152px;padding:9px}.role-teacher .monthCalendarItem{white-space:normal;min-height:30px;padding:6px 8px;font-size:16px;line-height:1.35}.role-teacher .monthCalendarEvent .monthCalendarItem{font-size:15px}.role-teacher .inline label,.role-teacher .inline label small{font-size:18px;line-height:1.45}.role-teacher .inline input,.role-teacher .inline select,.role-teacher .inline textarea{min-height:58px;font-size:19px}.role-teacher .inline textarea{min-height:160px}.role-teacher .inline button{min-height:58px;font-size:19px}.role-teacher .messageList article{gap:20px;padding:22px 0}.role-teacher .messageList article>i{font-size:26px}.role-teacher .messageList b{font-size:36px;line-height:1.2}.role-teacher .messageList p{font-size:30px;line-height:1.45}.role-teacher .messageList span,.role-teacher .messageList small{font-size:24px;line-height:1.4}.reminderSettings{border:1px solid var(--line);background:#f8faff;border-radius:12px;gap:12px;margin:4px 0 12px 34px;padding:14px;display:grid}.reminderSettings>label{gap:7px;display:grid}.reminderSettings>label:not(:first-child){grid-template-columns:20px minmax(0,1fr);align-items:start}.reminderSettings input[type=checkbox]{width:19px;height:19px;min-height:0;margin-top:2px}.reminderSettings span{gap:3px;display:grid}@media (width<=760px){.mobileDayPager{grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;gap:10px;margin:0 0 14px;display:grid}.mobileDayPager b{text-align:center;text-transform:capitalize;font-size:20px;line-height:1.25}.mobileDayPager button{min-height:50px;padding:6px;font-size:24px}.role-teacher .teacherWeekGrid{padding:0;display:block;overflow:hidden}.role-teacher .teacherWeekDay{min-height:420px;padding:18px;display:none}.role-teacher .teacherWeekDay.mobileActive{display:block}.role-teacher .teacherWeekDay h3{font-size:28px}.role-teacher .teacherWeekDay h3 small{font-size:20px}.role-teacher .teacherWeekDay article{gap:10px;margin:14px 0;padding:16px}.role-teacher .teacherWeekDay article b{font-size:22px}.role-teacher .teacherWeekDay article span{font-size:23px}.role-teacher .teacherWeekDay article small,.role-teacher .teacherWeekDay article i{font-size:18px}.role-teacher .teacherWeekDay .status{font-size:17px}.role-teacher .teacherWeekDay .tiny{min-height:46px;padding:9px 12px;font-size:17px}.role-teacher .monthCalendar{overflow-x:auto}.role-teacher .monthCalendarDay{min-width:122px;min-height:135px}.role-teacher .monthCalendarItem{font-size:15px}.role-teacher .inline label,.role-teacher .inline label small{font-size:17px}.role-teacher .inline input,.role-teacher .inline select,.role-teacher .inline textarea,.role-teacher .inline button{font-size:18px}.role-teacher .messageList b{font-size:30px}.role-teacher .messageList p{font-size:25px}.role-teacher .messageList span,.role-teacher .messageList small{font-size:20px}.reminderSettings{margin-left:0}}.role-admin .notificationsPanel .panel>header span{font-size:18px}.role-admin .notificationsPanel .panel>header h3{font-size:34px}.role-admin .notificationsPanel .noticeList article{gap:18px;padding:20px 0}.role-admin .notificationsPanel .noticeList article>i{font-size:16px;line-height:1.4}.role-admin .notificationsPanel .noticeList b{font-size:25px;line-height:1.25}.role-admin .notificationsPanel .noticeList p{font-size:20px;line-height:1.5}.role-admin .notificationsPanel .noticeList small{font-size:19px;line-height:1.4}.role-admin .notificationsPanel .noticeList button{min-height:52px;font-size:22px}.role-admin .notificationsPanel .empty b{font-size:25px}.role-admin .notificationsPanel .empty p{font-size:20px}@media (width<=700px){.role-admin .notificationsPanel .panel>header span{font-size:16px}.role-admin .notificationsPanel .panel>header h3{font-size:29px}.role-admin .notificationsPanel .noticeList article{gap:12px;padding:18px 0}.role-admin .notificationsPanel .noticeList b{font-size:23px}.role-admin .notificationsPanel .noticeList p,.role-admin .notificationsPanel .noticeList small{font-size:18px}.role-admin .notificationsPanel .noticeList button{width:100%;font-size:20px}.role-admin .notificationsPanel .noticeList article{flex-wrap:wrap}.role-admin .notificationsPanel .noticeList article>div{min-width:calc(100% - 36px)}.role-admin .notificationsPanel .noticeList button{margin-left:32px}.role-admin .notificationsPanel .empty b{font-size:23px}.role-admin .notificationsPanel .empty p{font-size:18px}}.teacherQuickChat{border:1px solid var(--line);background:#f7f8fb;border-radius:15px;grid-template-columns:minmax(250px,32%) minmax(0,1fr);min-height:530px;display:grid;overflow:hidden}.chatThreads{border-right:1px solid var(--line);background:#fff;flex-direction:column;min-width:0;display:flex;overflow:auto}.chatThreadsHeader{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px;display:flex}.chatThreadsHeader b{font-size:16px}.chatThreadsHeader small,.chatThread small{color:var(--muted);font-size:11px}.chatThread{border:0;border-bottom:1px solid var(--line);width:100%;min-height:75px;color:var(--ink);text-align:left;background:#fff;border-radius:0;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;display:grid}.chatThread:hover,.chatThread.active{background:#fff1ef}.chatThread.active{box-shadow:inset 4px 0 0 var(--coral)}.chatThread>i{width:40px;height:40px;color:var(--purple);background:#eeeafd;border-radius:50%;place-items:center;font-size:15px;font-style:normal;font-weight:900;display:grid}.chatThread>span{gap:2px;min-width:0;display:grid}.chatThread b,.chatThread em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chatThread b{font-size:13px}.chatThread em{color:var(--muted);font-size:11px;font-style:normal}.chatThread strong{background:var(--coral);color:#fff;border-radius:999px;place-items:center;min-width:21px;height:21px;padding:0 5px;font-size:11px;display:grid}.chatWindow{background:linear-gradient(135deg,#fbfbfd,#f3f5fa);grid-template-rows:auto minmax(250px,1fr) auto;min-width:0;display:grid}.chatWindow>header{border-bottom:1px solid var(--line);background:#fff;padding:15px 20px}.chatWindow header>div{gap:2px;display:grid}.chatWindow header span{color:var(--coral);letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:850}.chatWindow header h3{margin:0;font-size:19px}.chatWindow header small{color:var(--muted);font-size:12px}.chatBubbles{flex-direction:column;gap:10px;padding:20px;display:flex;overflow:auto}.chatBubbles article{border-radius:15px;width:fit-content;max-width:min(78%,590px);padding:11px 13px 8px;box-shadow:0 2px 7px #19233c10}.chatBubbles article.incoming{color:var(--ink);background:#fff;border-bottom-left-radius:4px;align-self:flex-start}.chatBubbles article.outgoing{color:#144d38;background:#e8f8f1;border-bottom-right-radius:4px;align-self:flex-end}.chatBubbles b{color:var(--coral);margin-bottom:4px;font-size:11px;display:block}.chatBubbles p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.45}.chatBubbles small{color:#708176;text-align:right;margin-top:5px;font-size:10px;display:block}.chatComposer{border-top:1px solid var(--line);background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:14px;display:grid}.chatComposer textarea{resize:vertical;min-height:48px;max-height:140px;margin:0;padding:12px}.chatComposer button{min-height:48px;padding:10px 16px}@media (width<=800px){.teacherQuickChat{grid-template-columns:1fr;min-height:0}.chatThreads{border-right:0;border-bottom:1px solid var(--line);max-height:280px}.chatWindow{min-height:480px}}@media (width<=560px){.teacherQuickChat{border-radius:11px;margin:0 -3px}.chatThreads{max-height:250px}.chatThread{min-height:72px;padding:10px}.chatWindow{min-height:440px}.chatWindow>header,.chatBubbles,.chatComposer{padding:12px}.chatBubbles article{max-width:88%}.chatBubbles p{font-size:16px}.chatComposer{grid-template-columns:1fr}.chatComposer button{width:100%}}.legacyLessonDetail{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.legacyLessonDetail h4{margin:0 0 5px;font-size:17px}.legacyBalance{color:var(--muted);margin:0 0 4px}.legacyBalance b{color:var(--coral);margin-right:5px;font-size:30px}.legacyHistory td small{color:var(--muted);margin-top:3px;display:block}.bandRehearsalForm{margin:16px 0}.bandRehearsalSelect{max-width:620px;margin:18px 0 10px;display:block}.bandRehearsalSummary{background:#faf8ff;border:1px solid #e6dff7;border-radius:12px;gap:4px;padding:14px 16px;display:grid}.bandRehearsalSummary b{color:var(--purple);font-size:17px}.bandRehearsalSummary span{font-weight:800}.bandRehearsalSummary small{color:var(--muted)}.bandParticipantForm{border:1px solid var(--line);background:#fbfcff;border-radius:12px;align-items:end;margin:16px 0;padding:14px}.bandParticipantForm label{min-width:min(100%,420px)}.bandAttendanceList{gap:9px;display:grid}.bandAttendanceList>article{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:minmax(190px,1fr) minmax(165px,220px) auto;align-items:end;gap:14px;padding:14px;display:grid}.bandAttendanceList>article>div{gap:4px;padding-bottom:8px;display:grid}.bandAttendanceList b{font-size:16px}.bandAttendanceList small{color:var(--muted)}.bandAttendanceList strong{color:var(--coral)}.bandAttendanceList label{margin:0}.bandAttendanceList select{margin:5px 0 0}.bandAttendanceList button{white-space:nowrap;min-height:44px}.prepaidTuitionList{gap:14px;display:grid}.prepaidTuitionList>div>b{margin:0 0 7px;font-size:15px;display:block}.prepaidTuitionStatus{background:#f1fbf5;border:1px solid #bde8d1;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;padding:15px 16px;display:flex}.prepaidTuitionStatus>div{gap:4px;display:grid}.prepaidTuitionStatus>div:last-child{text-align:right;justify-items:end}.prepaidTuitionStatus span{color:#347557;letter-spacing:.07em;font-size:11px;font-weight:850}.prepaidTuitionStatus b{color:#1c6845;font-size:18px}.prepaidTuitionStatus strong{color:#1c6845;font-size:22px}.prepaidTuitionStatus small{color:#4e7866;font-size:13px}.prepaidTuitionStatus .status{margin:2px 0 0}.mobileAppSetup{display:none}.pwaInstallBanner{border:1px solid #f2bfc4;border-left:5px solid var(--coral);background:linear-gradient(120deg,#fff9fa 0%,#fff 54%,#fff6f6 100%);border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin:0 0 20px;padding:18px 20px;display:grid;box-shadow:0 10px 28px #8a253312}.pwaInstallSuccess{z-index:150;background:#f2fff7;border:1px solid #9bd7b9;border-radius:15px;align-items:flex-start;gap:16px;width:min(440px,100vw - 28px);padding:16px;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 16px 40px #1f5e3b29}.pwaInstallSuccess b{color:#176541;font-size:15px;display:block}.pwaInstallSuccess p{color:#357253;margin:5px 0 0;font-size:13px;line-height:1.45}.pwaInstallSuccess button{color:#397355;background:0 0;border:0;border-radius:8px;flex:none;width:32px;height:32px;padding:0;font-size:24px;line-height:1}.pwaInstallIcon{background:var(--coral);color:#fff;border-radius:12px;place-items:center;width:42px;height:42px;font-size:26px;font-weight:900;line-height:1;display:grid}.pwaInstallCopy b{color:var(--navy);font-size:17px;display:block}.pwaInstallCopy p{max-width:720px;color:var(--muted);margin:5px 0 0;font-size:14px;line-height:1.48}.pwaInstallCopy .pwaInstallStep{color:#7b3d10;font-weight:700}.pwaInstallCopy .pwaInstallHelp{color:#8f2631;background:#fff0f1;border-radius:9px;padding:9px 11px;font-weight:700}.pwaInstallActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.pwaInstallActions button,.pwaInstallActions a{white-space:nowrap;min-height:42px;padding:9px 13px;font-size:13px}.pwaInstallActions a{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.pwaInstallActions .pwaExternalBrowser{background:#1a73e8}.pwaInstallBanner-login{border-left-width:4px;grid-template-columns:auto minmax(0,1fr);margin:22px 0 0;padding:15px}.pwaInstallBanner-login .pwaInstallActions{grid-column:2;justify-content:flex-start}.pwaInstallBanner-login .pwaInstallCopy b{font-size:15px}.pwaInstallBanner-login .pwaInstallCopy p{font-size:13px}@media (width<=720px){.mobileAppSetup{z-index:120;background:#fff;border:1px solid #f1b7b7;border-radius:16px;gap:10px;padding:14px;display:grid;position:fixed;bottom:70px;left:12px;right:12px;box-shadow:0 16px 40px #27233b33}.mobileAppSetup>div:first-child{gap:3px;padding-right:24px;display:grid}.mobileAppSetup b{color:#22233a;font-size:16px}.mobileAppSetup small,.mobileAppSetup p{color:#616174;margin:0;font-size:13px;line-height:1.4}.mobileAppActions{align-items:center;gap:8px;display:flex}.mobileAppActions .primary,.mobileAppActions .secondary{min-height:42px;padding:8px 11px;font-size:13px}.mobileAppClose{color:#747488;background:0 0;border:0;min-width:32px;min-height:32px;padding:0;font-size:24px;line-height:1;position:absolute;top:7px;right:8px}.bandRehearsalForm,.bandParticipantForm{grid-template-columns:1fr;display:grid}.bandParticipantForm label{min-width:0}.bandAttendanceList>article{grid-template-columns:1fr;gap:10px}.bandAttendanceList>article>div{padding-bottom:0}.bandAttendanceList button{width:100%}.legacyHistory{margin:0 -3px}.legacyHistory .adminTable{min-width:710px}.legacyBalance b{font-size:28px}.prepaidTuitionStatus{flex-direction:column;align-items:flex-start;gap:12px}.prepaidTuitionStatus>div:last-child{text-align:left;justify-items:start}.pwaInstallBanner,.pwaInstallBanner-login{grid-template-columns:auto minmax(0,1fr);gap:12px;padding:15px}.pwaInstallIcon{border-radius:10px;width:38px;height:38px;font-size:23px}.pwaInstallCopy b{font-size:16px}.pwaInstallCopy p{font-size:13px}.pwaInstallActions,.pwaInstallBanner-login .pwaInstallActions{grid-column:1/-1;grid-template-columns:1fr 1fr;width:100%;display:grid}.pwaInstallActions button,.pwaInstallActions a{width:100%;min-height:44px}}.billingDetailsSection{background:snow;border:1px solid #eadde0;border-radius:14px;gap:10px;margin:8px 0;padding:16px;display:grid}.billingDetailsSection h4{color:#352d34;margin:0;font-size:16px}.billingDetailsSection .note{margin:0}.billingDetailsForm{width:100%}.invoiceBillingSummary{background:#fff6f7;border-left:4px solid #c8102e;border-radius:10px;gap:4px;margin:14px 0;padding:13px 15px;display:grid}.invoiceBillingSummary>span{color:#9d1630;letter-spacing:.05em;font-size:11px;font-weight:800}.invoiceBillingSummary b{color:#302733;font-size:15px}.invoiceBillingSummary small{color:#635864;white-space:pre-line}.pushSetup{z-index:120;background:#fff;border:1px solid #f1b7b7;border-radius:16px;gap:12px;width:min(390px,100vw - 36px);padding:17px;display:grid;position:fixed;bottom:18px;right:18px;box-shadow:0 16px 40px #27233b33}.pushSetup>div:first-child{gap:5px;display:grid}.pushSetup b{color:#22233a;font-size:16px}.pushSetup small,.pushSetup p{color:#616174;margin:0;font-size:13px;line-height:1.45}.pushSetup .mobileAppActions{gap:8px;display:flex}.agreementModule{border:1px solid #d9dee8;border-left:5px solid var(--coral);background:linear-gradient(135deg,#fff 0%,#fff9fa 100%);border-radius:16px;gap:16px;margin:0 0 20px;padding:20px;display:grid;box-shadow:0 8px 24px #1b244012}.agreementModule>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.agreementModule>header span{color:var(--coral);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:850;display:block}.agreementModule h4,.agreementModule h5{color:var(--navy);margin:0}.agreementModule h4{font-size:20px}.agreementModule h5{grid-column:1/-1;font-size:17px}.agreementCard{gap:14px;display:grid}.agreementFacts{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.agreementFacts small{min-height:62px;color:var(--muted);background:#fff;border:1px solid #e3e6ed;border-radius:11px;gap:3px;padding:11px 12px;display:grid}.agreementFacts b{color:var(--navy);font-size:14px}.agreementInstruction{color:#754b12;background:#fff3df;border-radius:10px;margin:0;padding:12px 14px;font-size:14px}.agreementAdminActions{border-top:1px solid #e4e7ed;flex-wrap:wrap;gap:9px;padding-top:4px;display:flex}.fileButton{min-height:42px;color:var(--navy);cursor:pointer;background:#fff;border:1px solid #cfd4df;border-radius:9px;align-items:center;padding:8px 14px;font-size:14px;font-weight:750;display:inline-flex}.fileButton input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.agreementForm{background:#fff;border:1px solid #dfe3eb;border-radius:13px;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:18px;display:grid}.agreementForm label{margin:0}.agreementHistory{border-top:1px solid #e1e5ec;padding-top:12px}.agreementHistory summary{color:var(--navy);cursor:pointer;font-weight:800}.agreementHistory>div{border-bottom:1px solid #edf0f4;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 0;display:grid}.agreementHistory span{color:var(--muted);font-size:13px}@media (width<=760px){.agreementModule{padding:15px}.agreementModule>header{flex-direction:column;align-items:stretch}.agreementFacts,.agreementForm{grid-template-columns:1fr}.agreementForm .span2,.agreementModule h5{grid-column:auto}.agreementHistory>div{grid-template-columns:1fr}}@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}
