.student-pane{display:contents}.mobile-navigation,.mobile-report-details{display:none}@media screen and (width<768px){.mobile-app>aside,.mobile-app>.sidebar-toggle,.mobile-app>.sidebar-rail{display:none!important}.mobile-app main,.mobile-app.sidebar-collapsed main{padding:0 12px calc(90px + env(safe-area-inset-bottom));width:100%;min-width:0;margin:0}body:has(.mobile-app) .account-bar{overflow-wrap:anywhere;padding:8px 12px;font-size:11px}.mobile-app header{letter-spacing:0;height:50px}.mobile-app .heading{gap:8px;margin:22px 0}.mobile-app .heading h1{font-size:22px}.mobile-app .heading .eyebrow{display:none}.mobile-navigation{border-top:1px solid var(--line);z-index:8;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:#fff;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -4px 20px #233f3609}.mobile-navigation button{background:0 0;border:0;min-height:56px;padding:5px;font-size:12px}.mobile-navigation button span{margin-bottom:3px;font-size:21px;display:block}.mobile-navigation button[aria-current=page]{background:#edf1e9;font-weight:700}.mobile-app .workspace{height:auto;display:block;position:static}.mobile-app .workspace>.folders,.mobile-app .workspace>.records{height:auto;overflow:visible}.mobile-app .workspace>.records,.mobile-app.student-open .workspace>.folders{display:none}.mobile-app.student-open .workspace>.records{display:block}.mobile-app .student-list{display:block;overflow:visible}.mobile-app .student{padding:14px 8px}.mobile-app .metrics{grid-template-columns:1fr;gap:14px}.mobile-app .metrics>div{border:0;padding:8px 16px}.mobile-app .metrics strong{font-size:26px}.mobile-app .records,.mobile-app .folders{min-width:0;padding:16px}.mobile-app .row{flex-wrap:wrap}.mobile-app .actions,.mobile-app .schedule-tools{flex-wrap:wrap;gap:8px;display:flex}.mobile-app .filters{align-items:stretch;gap:8px}.mobile-app .filters label{flex:100%;min-width:0}.mobile-app .filters button{flex:auto;margin-bottom:6px}.mobile-app input,.mobile-app select,.mobile-app textarea{min-width:0;max-width:100%;font-size:16px}.mobile-app .calendar.week{grid-template-columns:1fr}.mobile-app .calendar{overflow:visible}.mobile-app .calendar>section{min-height:100px;max-height:none;overflow:visible}.mobile-app .schedule-card{padding:16px;font-size:16px}.mobile-app .pending-list{max-height:none;overflow:visible}.mobile-app .lesson{overflow-wrap:anywhere;flex-wrap:wrap;gap:12px}.mobile-app .lesson>span{min-width:0}.mobile-app .invoice-list .lesson,.mobile-app .invoice-print,.mobile-report-card{border:1px solid var(--line);background:#fcfcf9;border-radius:12px;margin:12px 0;padding:16px}.mobile-app .invoice-list .lesson{flex-direction:column;align-items:stretch;gap:12px;display:flex}.mobile-app .billing-materials{padding:12px}.mobile-app table{table-layout:fixed}.mobile-app td,.mobile-app th{overflow-wrap:anywhere;padding:12px 6px}.mobile-app .report-table{display:none}.mobile-report-details{display:block}.mobile-report-card p{overflow-wrap:anywhere;justify-content:space-between;gap:16px;display:flex}.mobile-report-card strong{text-align:right}.mobile-app .report-tabs{grid-template-columns:1fr 1fr;display:grid}.mobile-student-tabs{z-index:1;background:#fff;gap:6px;margin:16px -4px;padding:8px 0;display:flex;position:sticky;top:0;overflow-x:auto}.mobile-student-tabs button{white-space:nowrap;padding:10px}.mobile-student-tabs [aria-pressed=true],.mobile-sign-steps [aria-pressed=true]{background:var(--green);color:#fff}.mobile-pane-hidden{display:none}.mobile-more{gap:16px;display:grid}.mobile-more button{text-align:left}.mobile-app .overlay{z-index:20;align-items:stretch;padding:0}.mobile-app .dialog{width:100%;max-width:none;max-height:100dvh;padding:18px 16px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain;border-radius:0}.mobile-app .dialog.wide{width:100%}.mobile-app .sign-grid{display:block}.mobile-app .signature canvas{height:clamp(180px,36dvh,320px)}.mobile-sign-step-0>.signature:nth-child(2),.mobile-sign-step-1>.signature:first-child{display:none}.mobile-sign-steps{gap:8px;display:flex}.mobile-sign-steps button{flex:1}.mobile-app footer{line-height:1.8}body:has(.mobile-app .overlay){overflow:hidden}}:root{--ink:#233f36;--muted:#7d827a;--line:#e6e7df;--paper:#f6f5ef;--green:#294e44}*{box-sizing:border-box}body{background:var(--paper);color:#303c35;margin:0;font-family:Arial,PingFang TC,Microsoft JhengHei,sans-serif;font-size:15px}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;min-height:44px;padding:11px 16px}button:disabled{opacity:.45;cursor:default}button:hover:not(:disabled){filter:brightness(.97)}a{color:inherit;text-decoration:none}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #a4bda7}aside{border-right:1px solid var(--line);background:#fff;flex-direction:column;width:246px;padding:37px 22px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:1px;align-items:center;gap:12px;font-size:19px;font-weight:700;display:flex}.brand small{letter-spacing:1.4px;color:var(--muted);margin-top:7px;font-size:8px;display:block}.logo{background:var(--green);color:#fff;border-radius:12px;place-items:center;width:45px;height:48px;font-size:30px;display:grid}.aside-title{color:#a1a69b;letter-spacing:2px;margin:59px 14px 16px;font-size:11px}.nav{text-align:left;background:0 0;border:0;margin-bottom:9px;font-size:14px}.nav.active{background:#edf1e9;font-weight:700}.aside-bottom{margin-top:auto;padding:18px 12px;font-size:13px}.aside-bottom small{color:var(--muted);margin:13px 0 25px;display:block}.aside-bottom a{color:var(--muted);font-size:12px}.dot{background:#729178;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}main{max-width:1700px;margin-left:246px;padding:0 44px 30px}header{border-bottom:1px solid var(--line);letter-spacing:1.5px;height:79px;color:var(--muted);justify-content:space-between;align-items:center;font-size:10px;display:flex}.text{background:0 0;border:0;padding:8px;font-size:12px}.heading{justify-content:space-between;align-items:center;gap:20px;margin:42px 0 30px;display:flex}.eyebrow{letter-spacing:2.1px;color:#8d9985;margin:0 0 12px;font-size:10px}h1{letter-spacing:1px;margin:0 0 12px;font-size:30px;font-weight:600}h2{margin:0;font-size:19px;font-weight:600}h3{margin:28px 0 16px;font-size:14px}.muted{color:var(--muted);font-size:13px;line-height:1.8}.primary{background:var(--green);color:#fff;border-color:var(--green);padding:13px 20px}.metrics{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:1fr 1fr 1.3fr;margin-bottom:31px;padding:25px 0;display:grid}.metrics>div{border-right:1px solid var(--line);padding:0 30px}.metrics>div:last-child{border:0}.metrics span{color:var(--muted);font-size:12px;display:block}.metrics strong{letter-spacing:-.5px;margin-top:12px;font-size:29px;font-weight:500;display:block}.metrics small{color:var(--muted);margin-left:8px;font-size:11px;font-weight:400}.metrics>div>small{margin:9px 0 0;display:block}.workspace{grid-template-columns:320px minmax(0,1fr);gap:25px;display:grid}.folders,.records{border:1px solid var(--line);background:#fff;border-radius:13px;padding:25px}.folders{padding:23px 18px}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.badge{color:#8c967f;background:#f3f4ee;border-radius:5px;padding:5px 8px;font-size:11px}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fcfcf9;border-radius:8px;min-height:44px;margin:8px 0 16px;padding:12px;display:block}label{font-size:13px;line-height:1.5;display:block}.folders>input{margin-top:24px}.check{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.check input{width:16px;min-height:16px;margin:0}.student-list{margin-top:16px}.student{text-align:left;border:1px solid #0000;align-items:center;gap:11px;width:100%;margin:5px 0;padding:14px 9px;display:flex}.student.chosen{background:#f0f3ec;border-color:#dce4d5}.avatar{color:#8e906a;background:#e9e8dc;border-radius:10px;place-items:center;width:39px;height:42px;font-size:15px;display:grid}.student strong{font-size:13px;display:block}.student small,.lesson small{color:var(--muted);margin-top:7px;font-size:11px;display:block}.count{color:#909888;margin-left:auto;font-size:11px}.actions{gap:8px;margin-top:18px;display:flex}.actions button{padding:7px 12px;font-size:11px}.lesson{text-align:left;background:0 0;border:0;border-top:1px solid #eeeee7;border-radius:0;justify-content:space-between;align-items:center;width:100%;padding:18px 0;font-size:13px;display:flex}.lesson strong{font-weight:500}.empty{color:#92988b;text-align:center;padding:45px 10px;font-size:13px}.empty span{color:#9aa58e;margin-bottom:23px;font-size:40px;display:block}.big{min-height:300px;padding-top:70px}.big h2{color:#687660;font-size:17px}.filters{flex-wrap:wrap;align-items:end;gap:15px;display:flex}.filters label{flex:1;min-width:150px}.filters button{margin-bottom:16px}.stat-total{background:#f1f4ec;border-radius:10px;margin:15px 0 25px;padding:30px}.stat-total strong{margin:13px 0;font-size:32px;display:block}.stat-total small{color:var(--muted)}table{border-collapse:collapse;text-align:left;width:100%}td,th{border-bottom:1px solid var(--line);padding:17px 10px;font-size:13px}th{color:var(--muted);font-size:11px;font-weight:400}footer{text-align:center;color:#a2a797;letter-spacing:1px;margin-top:35px;font-size:10px}.alert{color:#925735;background:#fcf0e8;border-radius:8px;padding:13px;font-size:13px;line-height:1.7}.overlay{z-index:10;background:#152d2670;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dialog{background:#fff;border-radius:16px;width:560px;max-width:100%;max-height:92dvh;padding:28px;overflow:auto;box-shadow:0 20px 100px #10221933}.dialog.wide{width:960px}.dialog>.row{margin-bottom:23px}.dialog small{color:var(--muted);font-size:11px;line-height:1.7}.sign-grid{grid-template-columns:1fr 1fr;gap:18px;margin:22px 0;display:grid}.signature{border:1px solid var(--line);border-radius:10px;padding:13px}.signature strong{font-size:13px}.signature canvas{touch-action:none;border-bottom:1px solid var(--line);background:linear-gradient(#0000 95%,#e5e7df 95%);width:100%;height:180px;margin-bottom:10px;display:block}.full{width:100%;margin:8px 0 13px}.saved-sign img{border:1px solid var(--line);border-radius:8px;width:100%;margin:8px 0 15px}details{margin-top:22px;font-size:12px}summary{cursor:pointer;color:var(--muted);padding:12px 0}@media (width<=1100px){aside{width:200px;padding:30px 14px}.brand{font-size:16px}main{margin-left:200px;padding:0 25px 25px}.workspace{grid-template-columns:260px minmax(0,1fr);gap:15px}.records{padding:20px}.heading h1{font-size:26px}.metrics>div{padding:0 20px}}@media (width<=760px){aside{border-bottom:1px solid var(--line);flex-direction:row;align-items:center;gap:10px;width:auto;padding:15px 20px;display:flex;position:static}.brand{margin-right:auto}.brand small,.aside-title,.aside-bottom{display:none}.brand .logo{width:33px;height:38px;font-size:25px}.nav{margin:0;padding:8px;font-size:11px}.brand>span:last-child{display:none}main{margin:0;padding:0 17px 25px}header{height:55px}.heading{align-items:flex-start;margin:27px 0 22px}.heading h1{font-size:23px}.heading .primary{white-space:nowrap;padding:11px;font-size:12px}.eyebrow{letter-spacing:1px;font-size:8px}.metrics{gap:0;padding:20px 0}.metrics>div{padding:0 12px}.metrics strong{font-size:23px}.metrics span{font-size:10px}.metrics small{margin-left:3px;font-size:9px}.workspace{grid-template-columns:1fr}.student-list{grid-template-columns:1fr 1fr;gap:5px;display:grid}.student{padding:10px 5px}.avatar{width:32px}.count{font-size:10px}.sign-grid{grid-template-columns:1fr}.signature canvas{height:150px}.overlay{padding:10px}.dialog{padding:21px}.metrics>div:last-child strong{font-size:20px}}.login{place-items:center;min-height:100dvh;padding:25px;display:grid}.login .dialog{max-height:none}.calendar{gap:10px;margin:20px 0;display:grid;overflow-x:auto}.calendar.week{grid-template-columns:repeat(7,minmax(125px,1fr))}.calendar>section{border:1px solid var(--line);border-radius:10px;min-height:180px;padding:10px}.calendar h3{margin:5px 0 15px}.schedule-card{text-align:left;background:#f0f4ed;border-left:4px solid #6d8e74;flex-direction:column;align-items:flex-start;gap:8px;width:100%;margin-bottom:10px;padding:12px;display:flex}.schedule-card.leave{background:#fcf2e8;border-left-color:#c79562}.schedule-card.signed{background:#e7f1ee;border-left-color:#2c6955}.schedule-card.cancelled{color:#777;background:#f2f2f2;border-left-color:#999}.schedule-card small{font-size:11px;line-height:1.5}.schedule .actions{flex-wrap:wrap}.pending-list{max-height:320px;overflow:auto}.schedule button[aria-pressed=true]{background:var(--green);color:#fff}@media (width<=760px){aside{flex-wrap:wrap}.calendar.week{scroll-snap-type:x mandatory}.calendar>section{scroll-snap-align:start}}.account-bar{border-bottom:1px solid var(--line);z-index:1;background:#fff;margin-left:246px;padding:12px 24px;position:relative}.account{max-width:560px;margin:0}.account-bar>button{margin-top:8px}@media (width<=1100px){.account-bar{margin-left:200px}}@media (width<=760px){.account-bar{margin-left:0}}.account-table{overflow-x:auto}.account-directory td{overflow-wrap:anywhere;min-width:90px}.account-directory td:first-child{min-width:180px}.account-directory .dialog button{margin:8px}.student-schedule{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:20px;padding-bottom:18px}.student-schedule .row{flex-wrap:wrap}.student-schedule small{color:var(--muted);font-size:11px}.student-schedule .dialog button{margin-right:8px}aside[hidden]{display:none}.sidebar-hide{margin-bottom:20px;font-size:12px}.sidebar-show{letter-spacing:0;white-space:nowrap;font-size:12px}.sidebar-collapsed main{max-width:none;margin-left:0;padding-left:24px;padding-right:24px}.schedule-tools{flex-wrap:wrap;gap:10px;display:flex}.student-notes{border-bottom:1px solid var(--line);padding-bottom:22px}.student-notes textarea{resize:vertical}.student-notes small{color:var(--muted)}@media (width>=761px){.calendar.week{grid-template-columns:repeat(7,minmax(0,1fr));overflow-x:visible}.calendar>section{min-width:0}.schedule-card{overflow-wrap:anywhere;padding:10px 7px}.schedule-card strong{white-space:nowrap;font-size:12px}.sidebar-collapsed .calendar>section{min-height:calc(100dvh - 360px)}.sidebar-collapsed .heading{margin:22px 0}.sidebar-collapsed header{height:60px}.sidebar-collapsed .schedule{padding:18px}.sidebar-collapsed .filters{gap:8px}.sidebar-collapsed .filters button{padding:9px 11px}.sidebar-collapsed .calendar{gap:7px}.sidebar-collapsed .calendar>section{padding:7px}.sidebar-collapsed .calendar h3{font-size:12px}}@media (width<=760px){.sidebar-collapsed main{padding-left:12px;padding-right:12px}.sidebar-hide{margin:0}.schedule-tools button{padding:10px;font-size:12px}.schedule>.row{flex-wrap:wrap}header{flex-wrap:wrap;gap:8px}header>span{display:none}}@media (width>=761px){body:has(.sidebar-collapsed) .account-bar{padding:6px 24px}.sidebar-collapsed header{height:48px}.sidebar-collapsed .heading{margin:16px 0}.sidebar-collapsed .heading .eyebrow{display:none}.sidebar-collapsed .heading h1{margin-bottom:6px;font-size:24px}.sidebar-collapsed .heading .muted{margin:6px 0}.sidebar-collapsed .schedule>.muted{margin:10px 0}.sidebar-collapsed .calendar.week{height:max(280px,100dvh - 460px)}.sidebar-collapsed .calendar.week>section{height:100%;min-height:0;overflow-y:auto}.sidebar-collapsed .schedule-card span{font-size:12px}}.sidebar-toggle{z-index:9;place-items:center;width:44px;height:44px;padding:0;font-size:24px;display:grid;position:fixed;top:8px;left:8px;box-shadow:0 2px 8px #10221914}.sidebar-rail{border-right:1px solid var(--line);z-index:8;background:#fff;width:60px;position:fixed;inset:0 auto 0 0}.sidebar-rail[hidden]{display:none}.app>aside{padding-top:72px;overflow-y:auto}.sidebar-collapsed main{margin-left:60px;padding-left:18px;padding-right:18px}body:has(.sidebar-collapsed) .account-bar{margin-left:60px}@media (width>=761px){.workspace{align-items:stretch;height:calc(100dvh - 24px);position:sticky;top:12px}.workspace>.folders,.workspace>.records{height:100%;min-height:0}.workspace>.folders{flex-direction:column;display:flex;overflow:hidden}.workspace .student-list{overscroll-behavior-y:auto;scrollbar-gutter:stable;flex:1;min-height:0;overflow-y:auto}.workspace>.records{overscroll-behavior-y:auto;scrollbar-gutter:stable;overflow-y:auto}.workspace .folders>.row,.workspace .folders>input,.workspace .folders>.check{flex-shrink:0}}@media (width<=760px){.app>aside{padding:64px 16px 16px}.sidebar-collapsed main{margin-left:60px;padding-left:12px;padding-right:12px}body:has(.sidebar-collapsed) .account-bar{padding:8px 12px}body:not(:has(.sidebar-collapsed)) .account-bar{padding-left:64px}}@media (width>=761px) and (width<=900px){.sidebar-collapsed .schedule-card{border-left-width:3px;padding:8px 4px}.sidebar-collapsed .schedule-card strong{letter-spacing:-.3px;font-size:10px}}.billing-materials{border:1px solid #d9e2dd;border-radius:16px;margin:24px 0;padding:20px}.billing form,.billing details,.billing-materials details{margin:18px 0}.billing .lesson{text-align:left;width:100%}.billing td small{color:#65776e;display:block}.invoice-print{border:1px solid #d9e2dd;border-radius:16px;margin-top:24px;padding:24px}.invoice-print table{width:100%}.invoice-print td:last-child,.invoice-print th:last-child{text-align:right}@media print{@page{size:A4;margin:16mm}body *{visibility:hidden!important}.invoice-print,.invoice-print *{visibility:visible!important}.invoice-print{color:#000;box-sizing:border-box;background:#fff;border:0;width:100%;margin:0;padding:0;position:absolute;top:0;left:0}.no-print,.no-print *{display:none!important}.invoice-print table,.invoice-print tr,.invoice-print .lesson{break-inside:avoid}}.report-tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.report-table{overflow-x:auto}.report-table table{width:100%;min-width:520px}.report-definition{color:#566d62;background:#f1f5f2;border-radius:10px;padding:14px;line-height:1.7}.reports .filters{flex-wrap:wrap}.reports .metrics{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}@media print{:is(body:has(.report-print) .report-print,body:has(.report-print) .report-print *){visibility:visible!important}body:has(.report-print) .report-print{color:#000;background:#fff;width:100%;margin:0;padding:0;position:absolute;top:0;left:0}body:has(.report-print) .report-table{overflow:visible}body:has(.report-print) .report-table table{min-width:0;font-size:10pt}:is(body:has(.report-print) th,body:has(.report-print) td){overflow-wrap:anywhere;padding:8px 4px}body:has(.report-print) tr{break-inside:avoid}}@media screen{:root{--brand:#cd76ac;--brand-soft:#f9edf4;--brand-ink:#67364f;--ink:#302b33;--muted:#77717b;--line:#ebe6ec;--paper:#f7f8fb;--green:var(--brand);--surface:#fff;--field:#fff;--success-bg:#eaf5ee;--success-ink:#357650;--warning-bg:#fff4e5;--warning-ink:#95652b;--disabled-bg:#f1f1f5;--disabled-ink:#787582;--radius-card:20px;--radius-control:10px;--shadow-card:0 4px 24px #302b3304}body{color:var(--ink);letter-spacing:0;font-family:Microsoft JhengHei,PingFang TC,system-ui,sans-serif;line-height:1.6}button{background:var(--surface);color:var(--ink);border-radius:var(--radius-control);border-color:#e3dfe7;min-height:42px;font-size:13px;font-weight:600;line-height:1.4;transition:background-color .12s,border-color .12s,box-shadow .12s}button:hover:not(:disabled){filter:none;background:var(--brand-soft);border-color:#d6b3c9}button:active:not(:disabled){box-shadow:inset 0 0 0 1px var(--brand-ink)}button:disabled{opacity:1;color:var(--disabled-ink);background:var(--disabled-bg);border-color:var(--line)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--brand-ink);outline-offset:3px}input,select,textarea{background:var(--field);color:var(--ink);border-radius:var(--radius-control);border-color:#e3dfe7;line-height:1.5}input::placeholder,textarea::placeholder{color:#a09aa6;opacity:1}input[type=checkbox]{accent-color:var(--brand)}.primary,.schedule button[aria-pressed=true],.mobile-student-tabs [aria-pressed=true],.mobile-sign-steps [aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700;box-shadow:0 3px 8px #cd76ac1a}.primary:hover:not(:disabled),.schedule button[aria-pressed=true]:hover:not(:disabled),.mobile-student-tabs [aria-pressed=true]:hover:not(:disabled),.mobile-sign-steps [aria-pressed=true]:hover:not(:disabled){background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 4px 12px #cd76ac40}.primary:disabled{background:var(--disabled-bg);border-color:var(--line);color:var(--disabled-ink);box-shadow:none}.nav.active,.student.chosen,.mobile-navigation button[aria-current=page]{background:var(--brand-soft);color:var(--brand-ink)}.brand small,.aside-title,.eyebrow,footer,.count{color:var(--muted)}.brand{letter-spacing:0;white-space:nowrap;gap:10px;font-size:16px}.brand .logo{object-fit:contain;background:0 0;border-radius:0;flex-shrink:0;width:44px;height:44px}.brand small{letter-spacing:.9px;margin-top:3px;font-size:8px}.app>aside{border-right:1px solid var(--line);background:#fff;width:232px;padding:72px 20px 24px}.aside-title{letter-spacing:1px;margin:38px 12px 14px;font-size:11px}.nav{color:#77717b;border-radius:12px;align-items:center;gap:12px;margin-bottom:7px;padding:13px 14px;font-size:13px;font-weight:500;display:flex}.ui-nav-icon{flex-shrink:0;display:block}.nav.active{box-shadow:inset 3px 0 var(--brand);font-weight:700}main{overflow-anchor:none;margin-left:232px;padding:0 32px 32px}.account-bar{min-height:62px;color:var(--muted);justify-content:flex-end;align-items:center;gap:12px;margin-left:232px;padding:10px 32px;font-size:12px;display:flex}.account-bar>button{min-height:34px;margin-top:0;padding:7px 12px;font-size:12px}header{letter-spacing:1.1px;border-bottom:0;height:60px;font-size:10px}.heading{align-items:center;margin:16px 0 28px}.heading h1{letter-spacing:.3px;margin:0 0 7px;font-size:27px;font-weight:700;line-height:1.45}.heading .muted{color:var(--muted);margin:0;font-size:13px}.eyebrow{letter-spacing:1.7px;color:#a299a5;margin:0 0 6px;font-size:9px;font-weight:600}.records,.folders{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card)}.records{padding:26px}.muted{color:var(--muted);line-height:1.8}h2{font-size:19px;font-weight:700;line-height:1.5}h3{font-weight:700}.text{color:var(--muted);background:0 0}.ui-button{white-space:nowrap}.ui-section-heading{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.ui-section-heading .muted{margin:7px 0 0;font-size:12px}.ui-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.ui-status{color:#81758c;white-space:nowrap;background:#f2eff5;border-radius:6px;align-items:center;gap:5px;padding:4px 8px;font-size:10px;font-weight:600;line-height:1.5;display:inline-flex}.ui-status-planned{background:var(--brand-soft);color:var(--brand-ink)}.ui-status-signed{background:var(--success-bg);color:var(--success-ink)}.ui-status-leave{background:var(--warning-bg);color:var(--warning-ink)}.ui-status-cancelled{background:var(--disabled-bg);color:var(--disabled-ink)}.schedule-toolbar{border-top:1px solid #f1edf3;border-bottom:1px solid #f1edf3;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:24px 0 22px;padding:18px 0;display:flex}.date-navigation{align-items:flex-end;gap:7px;min-width:0;display:flex}.date-navigation button{padding:10px 13px;font-size:12px}.date-field{color:var(--muted);min-width:0;font-size:10px}.date-field input{width:155px;min-height:42px;margin:5px 0 0;padding:10px;font-size:12px}.calendar-view-tools{align-items:center;gap:9px;display:flex}.ui-segmented{background:#f3f2f6;border-radius:11px;gap:3px;padding:4px;display:flex}.ui-segmented button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:8px 14px;font-size:12px}.schedule .ui-segmented button[aria-pressed=true]{background:var(--brand);color:#fff;box-shadow:0 2px 6px #cd76ac28}.calendar{gap:10px;margin:0 0 24px}.calendar.week{grid-template-columns:repeat(7,minmax(0,1fr));overflow-x:visible}.calendar>section{border:1px solid var(--line);background:#fbfbfd;border-radius:13px;min-width:0;min-height:240px;padding:8px}.ui-day-heading{justify-content:space-between;align-items:center;gap:5px;padding:6px 4px 15px;display:flex}.ui-day-heading h3{color:var(--muted);margin:0;font-size:10px;line-height:1.6}.ui-day-heading h3 span{font-size:10px;font-weight:500;display:block}.ui-day-heading h3 strong{letter-spacing:.2px;color:var(--ink);font-variant-numeric:tabular-nums;font-size:13px}.ui-day-heading.is-today h3 strong{color:var(--brand-ink)}.ui-day-heading.is-today h3 span{color:var(--brand-ink);font-weight:700}.ui-day-count{white-space:nowrap;color:#a09aa6;font-size:9px}.schedule-card{border:1px solid #e9d6e3;border-left:3px solid var(--brand);text-align:left;width:100%;color:var(--ink);background:#fff;border-radius:10px;flex-direction:column;align-items:stretch;gap:10px;margin:0 0 10px;padding:13px 10px;display:flex;box-shadow:0 2px 8px #302b3303}.ui-lesson-top{justify-content:space-between;align-items:center;gap:3px;display:flex}.schedule-card strong{letter-spacing:-.3px;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px;font-weight:700;line-height:1.5}.ui-lesson-dot{background:var(--brand);border-radius:50%;flex-shrink:0;width:5px;height:5px}.schedule-card .ui-lesson-name{font-size:13px;font-weight:700;line-height:1.5}.schedule-card .ui-status{align-self:flex-start;padding:3px 6px;font-size:9px}.schedule-card small{color:var(--muted);font-size:10px;font-weight:400}.schedule-card.leave{color:var(--ink);background:#fff;border-color:#f0e3cf #f0e3cf #f0e3cf #d7a662}.schedule-card.signed{color:var(--ink);background:#fff;border-color:#dcebdd #dcebdd #dcebdd #77a486}.schedule-card.cancelled{border-color:var(--line);color:var(--disabled-ink);background:#f6f6f8;border-left-color:#c1bcc7}.schedule-card.signed .ui-lesson-dot{background:#77a486}.schedule-card.leave .ui-lesson-dot{background:#d7a662}.schedule-card.cancelled .ui-lesson-dot{background:#c1bcc7}.calendar>section>.muted{text-align:center;color:#b0aab5;margin-top:34px;font-size:10px}.calendar.day>section{background:#fbfbfd;min-height:200px;padding:18px}.calendar.day .ui-day-heading{padding:0 0 18px}.calendar.day .ui-day-heading h3{align-items:center;gap:12px;display:flex}.calendar.day .schedule-card{border-left-width:4px;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;padding:17px 20px;display:grid}.calendar.day .ui-lesson-top strong{font-size:16px}.calendar.day .ui-lesson-dot{display:none}.calendar.day .schedule-card .ui-status{align-self:center;font-size:11px}.schedule-followups{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:16px;padding-top:22px;display:grid}.ui-subsection{border:1px solid var(--line);background:#fbfbfd;border-radius:13px;min-width:0;padding:17px}.ui-subsection h2{font-size:13px}.ui-subsection .muted{color:#a09aa6;margin:15px 0 0;font-size:12px}.schedule>details{border-top:1px solid var(--line);margin-top:22px}.student-metrics{box-shadow:none;background:0 0;border:0;grid-template-columns:1fr 1fr 1.25fr;gap:16px;margin:0 0 24px;padding:0;display:grid}.student-metrics>div{border:1px solid var(--line);box-shadow:var(--shadow-card);background:#fff;border-radius:16px;padding:20px 22px}.student-metrics>div:last-child{border:1px solid var(--line)}.ui-metric{position:relative}.student-metrics .ui-metric-label{min-height:30px;color:var(--muted);padding-right:34px;font-size:12px;display:block}.ui-metric-icon{background:var(--brand-soft);width:30px;height:30px;color:var(--brand);border-radius:9px;place-items:center;font-size:16px;font-style:normal;display:grid;position:absolute;top:20px;right:22px}.student-metrics strong{letter-spacing:-.6px;font-variant-numeric:tabular-nums;margin-top:10px;font-size:30px;font-weight:700;line-height:1.4}.student-metrics strong small{color:#938b98;letter-spacing:0;margin-left:7px;font-size:12px}.student-metrics>div>small{margin-top:4px;font-size:10px}.student-workspace{grid-template-columns:284px minmax(0,1fr);gap:20px}.student-workspace .folders{padding:23px 18px}.student-workspace .folders h2{font-size:16px}.student-workspace .folders>input{background:#f8f8fb;margin:20px 0 14px;padding:11px 13px;font-size:12px}.student-workspace .check{color:#918a98;font-size:10px}.student-workspace .student-list{margin-top:18px}.student-workspace .student{border:1px solid #0000;border-radius:12px;gap:8px;min-width:0;margin:4px 0;padding:13px 10px}.student-workspace .student.chosen{background:var(--brand-soft);box-shadow:inset 3px 0 var(--brand);border-color:#edd4e4}.ui-identity{text-align:left;align-items:center;gap:12px;min-width:0;display:flex}.ui-identity-copy{min-width:0}.ui-identity .avatar{color:#9d809b;background:#f2eef5;border-radius:12px;flex-shrink:0;width:40px;height:40px;font-size:16px}.chosen .avatar{color:var(--brand-ink);background:#eed7e6}.ui-identity strong{color:var(--ink);font-size:13px;font-weight:700;display:block}.ui-identity small{color:#9b92a1;margin-top:4px;font-size:10px;line-height:1.6;display:block}.student .count{color:#a297a7;white-space:nowrap;font-size:9px}.student .count>span{vertical-align:middle;margin-left:5px;font-size:18px}.student-detail{padding:26px}.student-profile{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding-bottom:22px;display:flex}.student-profile .eyebrow{margin-bottom:14px}.ui-identity-large .avatar{background:var(--brand-soft);width:56px;height:56px;color:var(--brand);border-radius:16px;font-size:24px}.ui-identity-large .ui-identity-name{font-size:24px;font-weight:700;line-height:1.4;display:block}.ui-identity-large small{color:#918797;font-size:11px;line-height:1.8}.profile-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.student-detail>.actions{flex-wrap:wrap;gap:8px;margin:16px 0 24px}.student-detail>.actions button{color:#8c7d93;border-color:var(--line);background:#fbfafc;min-height:34px;padding:8px 12px;font-size:11px}.student-detail .student-schedule,.student-detail .student-notes,.student-detail .billing-materials{border:1px solid var(--line);background:#fdfcfd;border-radius:14px;margin:16px 0;padding:20px}.student-detail .student-schedule h3,.student-detail .student-notes h3{margin:0 0 18px;font-size:14px}.student-detail .student-schedule>strong{color:var(--muted);font-size:11px;font-weight:500}.student-detail .student-schedule>.row{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;margin:4px 0 14px;padding-bottom:12px}.student-detail .student-schedule p{font-size:12px}.student-detail .student-schedule button{min-height:34px;padding:8px 12px;font-size:11px}.student-detail .student-notes label{color:var(--muted);font-size:11px}.student-detail textarea{background:#fff;font-size:13px;line-height:1.8}.student-detail .billing-materials,.student-detail .empty{font-size:12px}.alert{background:var(--warning-bg);color:var(--warning-ink)}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#302b335c}.dialog{border:1px solid #ece7ee;border-radius:20px;box-shadow:0 24px 80px #302b3326}.signature{border-color:var(--line);background:#fdfcfd}.signature canvas{background:linear-gradient(#0000 98%,#e9e0eb 98%)}.billing-materials,.invoice-print{border-color:var(--line)}.billing td small{color:var(--muted)}.report-definition{background:var(--brand-soft);color:var(--brand-ink)}.login{background-color:#f7f8fb;background-image:none;min-width:0;padding:32px 20px}.login .dialog{border:1px solid var(--line);border-radius:24px;width:480px;min-width:0;max-width:100%;padding:36px 38px;position:relative;box-shadow:0 14px 60px #302b3308}.login-identity{align-items:center;gap:12px;margin-bottom:30px;display:flex}.login-brand{object-fit:contain;flex-shrink:0;width:52px;height:52px;position:static}.login-identity .eyebrow{color:#a393a5;letter-spacing:2px;margin-bottom:4px;font-size:9px}.login-identity span{font-size:14px;font-weight:700}.login h1{letter-spacing:0;margin-bottom:8px;font-size:23px;font-weight:700;line-height:1.55}.login .muted{margin:0 0 26px;font-size:12px}.login label{font-size:12px;font-weight:600}.login input{min-width:0;margin:8px 0 20px;padding:13px 14px;font-size:15px}.login .primary{padding:14px;font-size:14px}.login .full{margin:4px 0 14px}.login .dialog>small{border-top:1px solid var(--line);color:#a093a4;margin-top:14px;padding-top:20px;font-size:10px;line-height:1.9;display:block}.login small a{color:var(--brand-ink);margin-top:4px;display:inline-block}footer{color:#a99eae;letter-spacing:.5px;margin-top:28px;font-size:9px}}@media screen and (width>=768px) and (width<=1100px){.app>aside{width:184px;padding-left:12px;padding-right:12px}.brand{gap:8px;font-size:12px}.brand .logo{width:34px;height:34px}.brand small{letter-spacing:.2px;font-size:6px}main,.account-bar{margin-left:184px;padding-left:22px;padding-right:22px}.heading h1{font-size:24px}.student-workspace{grid-template-columns:208px minmax(0,1fr);gap:14px}.student-workspace .folders{padding:18px 12px}.student-detail{padding:18px}.student-profile{flex-wrap:wrap;align-items:flex-start}.profile-actions{justify-content:flex-start}.student-metrics{gap:10px}.student-metrics>div{padding:16px}.student-metrics strong{font-size:25px}.records.schedule{padding:20px}.calendar.week{gap:5px}.calendar.week>section{min-height:220px;padding:5px}.calendar.week .schedule-card{gap:8px;padding:10px 5px}.calendar.week .schedule-card strong{letter-spacing:-.6px;white-space:normal;font-size:9px}.calendar.week .schedule-card .ui-lesson-name{font-size:11px}.calendar.week .ui-lesson-dot,.calendar.week .ui-day-count{display:none}.calendar.week .ui-day-heading{padding:4px 0 12px}.calendar.week .ui-day-heading h3 strong{font-size:10px}.calendar.week .schedule-card .ui-status{white-space:normal;padding:2px 4px;font-size:9px}.app:not(.sidebar-collapsed) .calendar.week{scroll-snap-type:x proximity;grid-template-columns:repeat(7,minmax(100px,1fr));gap:8px;padding-bottom:8px;overflow-x:auto}.app:not(.sidebar-collapsed) .calendar.week>section{scroll-snap-align:start;padding:8px}.app:not(.sidebar-collapsed) .calendar.week .schedule-card{padding:11px 8px}.app:not(.sidebar-collapsed) .calendar.week .schedule-card strong{letter-spacing:-.4px;white-space:nowrap;font-size:11px}.app:not(.sidebar-collapsed) .calendar.week .ui-day-heading h3 strong{font-size:12px}}@media screen and (width>=768px){.sidebar-collapsed main{margin-left:60px;padding-left:26px;padding-right:26px}.sidebar-collapsed .calendar.week{height:max(240px,100dvh - 490px)}.sidebar-collapsed .calendar>section{min-height:0}.sidebar-collapsed .calendar.week>section{overflow-y:auto}}@media screen and (width<768px){.mobile-app main,.mobile-app.sidebar-collapsed main{padding:0 18px calc(92px + env(safe-area-inset-bottom))}body:has(.mobile-app) .account-bar{min-height:52px;margin:0;padding:10px 18px;font-size:10px}.mobile-app header{letter-spacing:0;background:0 0;height:52px}.mobile-app header>span{color:#a098a5;font-size:9px;display:block}.mobile-app header>button{margin-left:auto;font-size:10px}.mobile-app .heading{gap:12px;margin:8px 0 22px}.mobile-app .heading h1{font-size:23px;line-height:1.45}.mobile-app .heading .muted{font-size:11px;line-height:1.8}.mobile-app .heading .primary{flex-shrink:0;min-height:40px;padding:10px 12px;font-size:11px}.mobile-app .records,.mobile-app .folders{border-radius:18px;padding:20px 16px}.mobile-app .ui-section-heading{flex-wrap:wrap;align-items:flex-start;gap:12px}.mobile-app .ui-section-heading h2{font-size:18px}.mobile-app .ui-section-heading .muted{margin-top:10px;font-size:11px;line-height:1.9}.mobile-app .ui-heading-actions{flex-wrap:nowrap;justify-content:flex-start;width:100%}.mobile-app .ui-heading-actions button{flex:1;min-height:42px;padding:11px 9px;font-size:11px}.mobile-app .schedule-toolbar{gap:14px;margin:20px 0;padding:16px 0}.date-navigation{grid-template-columns:1fr 1fr 1fr;gap:8px;width:100%;display:grid}.date-field{grid-area:1/1/auto/-1;font-size:10px}.mobile-app .date-field input{width:100%;min-height:44px;margin:6px 0 4px;font-size:16px}.date-navigation button{min-width:0;padding:10px;font-size:12px}.calendar-view-tools{justify-content:space-between;width:100%}.ui-segmented{flex:1;max-width:205px}.ui-segmented button{flex:1;padding:8px 12px;font-size:12px}.calendar-view-tools>.text{padding:8px;font-size:11px}.mobile-app .calendar.week{grid-template-columns:1fr;gap:14px}.mobile-app .calendar>section{background:#f9fafc;border-radius:13px;min-height:100px;padding:14px}.ui-day-heading{padding:0 0 16px}.ui-day-heading h3{align-items:center;gap:10px;display:flex}.ui-day-heading h3 strong{font-size:14px}.ui-day-heading h3 span{font-size:11px}.ui-day-count{font-size:10px}.mobile-app .schedule-card,.mobile-app .calendar.day .schedule-card{border-left-width:3px;border-radius:11px;grid-template-columns:1fr auto;gap:8px 12px;margin-bottom:10px;padding:15px 13px;display:grid}.mobile-app .ui-lesson-top{grid-area:1/1}.mobile-app .schedule-card strong,.mobile-app .calendar.day .ui-lesson-top strong{letter-spacing:0;font-size:15px}.mobile-app .schedule-card .ui-lesson-name{grid-area:2/1;font-size:13px}.mobile-app .schedule-card .ui-status{grid-area:1/2/3;align-self:center;font-size:10px}.mobile-app .ui-lesson-dot{display:none}.mobile-app .schedule-card small{grid-column:1/-1;font-size:10px}.mobile-app .schedule-followups{grid-template-columns:1fr;gap:12px;padding-top:20px}.mobile-app .ui-subsection{padding:15px}.mobile-app .ui-subsection .ui-section-heading h2{font-size:12px}.mobile-app .student-metrics{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;display:grid}.mobile-app .student-metrics>div{border:1px solid var(--line);border-radius:14px;padding:14px}.mobile-app .student-metrics>div:last-child{grid-column:1/-1}.mobile-app.student-open .student-metrics{display:none}.mobile-app .student-metrics .ui-metric-label{min-height:26px;font-size:10px}.mobile-app .ui-metric-icon{border-radius:8px;width:26px;height:26px;font-size:14px;top:14px;right:14px}.mobile-app .student-metrics strong{margin-top:7px;font-size:27px}.mobile-app .student-metrics strong small{font-size:10px}.mobile-app .student-workspace .folders .ui-section-heading{flex-wrap:nowrap;align-items:center}.mobile-app .student-workspace .folders .ui-heading-actions{width:auto}.mobile-app .student-workspace .student{margin:5px 0;padding:15px 10px}.mobile-app .student-list .ui-identity .avatar{width:44px;height:44px;font-size:17px}.mobile-app .student-list .ui-identity strong{font-size:14px}.mobile-app .student-list .ui-identity small{font-size:11px}.mobile-app .student-list .count{font-size:10px}.mobile-app .student-profile{flex-wrap:wrap;gap:18px;padding:16px 0 20px}.mobile-app .ui-identity-large .ui-identity-name{font-size:23px}.mobile-app .ui-identity-large small{font-size:10px}.mobile-app .profile-actions{justify-content:space-between;width:100%}.mobile-app .profile-actions .primary{min-height:42px;font-size:12px}.mobile-app .student-detail>.actions{gap:6px;margin:14px 0 20px}.mobile-app .student-detail>.actions button{flex:1;min-height:36px;padding:8px;font-size:10px}.mobile-app .student-detail .student-schedule,.mobile-app .student-detail .student-notes,.mobile-app .student-detail .billing-materials{border-radius:12px;margin-top:18px;padding:16px}.mobile-app .student-detail .student-schedule .row{flex-wrap:wrap}.mobile-student-tabs{scrollbar-width:none;background:#f4f2f6;border-radius:11px;gap:5px;margin:0 0 6px;padding:6px;position:static}.mobile-student-tabs button{background:0 0;border:0;border-radius:8px;min-height:36px;padding:9px 10px;font-size:11px}.mobile-navigation{padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-color:var(--line);box-shadow:0 -6px 24px #302b3305}.mobile-navigation button{color:#655d69;min-height:54px;font-size:10px}.mobile-navigation button span{margin-bottom:2px;font-size:20px;line-height:1.4}.mobile-navigation .ui-nav-icon{width:22px;height:22px;margin:0 auto 5px}.mobile-navigation button[aria-current=page]{color:var(--brand-ink);border-radius:12px}.mobile-app .dialog{padding:22px 20px calc(24px + env(safe-area-inset-bottom));border-radius:0}.mobile-app .invoice-list .lesson,.mobile-app .invoice-print,.mobile-report-card{background:var(--field)}.login{justify-content:center;align-items:center;padding:28px 18px;display:flex}.login .dialog{border-radius:20px;width:100%;max-width:440px;padding:28px 24px}.login h1{font-size:22px}.login .muted{margin-bottom:24px;font-size:12px}.login-identity{margin-bottom:28px}.login input{font-size:16px}}@media (prefers-reduced-motion:reduce){button{transition:none}}@media print{.login-brand{display:none}}@media screen{.billing{--muted:#655d69;color:#302b33}.billing .eyebrow{color:#655d69;letter-spacing:1.2px;font-size:11px}.billing .ui-section-heading{border-bottom:1px solid var(--line);padding-bottom:20px}.billing .ui-section-heading .muted{max-width:680px;font-size:13px}.billing .billing-create{background:#faf6f9;border:1px solid #e9dae4;border-radius:14px;margin:22px 0;padding:20px}.billing label{color:#554b59;font-size:13px;font-weight:600}.billing .primary{background:var(--brand);color:#30202b;box-shadow:none;border-color:#b25c92}.billing .primary:hover:not(:disabled){color:#30202b;background:#d98dbb}.billing .primary:disabled{color:#655d69;background:#f1f1f5;border-color:#d9d3dc}.billing input,.billing select,.billing textarea{border-color:#aaa1af;font-size:15px}.billing input::placeholder{color:#716575}.billing .invoice-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 28px;display:grid}.billing .invoice-card{background:#fff;border:1px solid #ddd6e0;border-radius:14px;flex-direction:column;align-items:stretch;gap:20px;min-width:0;margin:0;padding:18px;display:flex}.billing .invoice-card:hover{background:#fcf7fa}.billing .invoice-card[aria-pressed=true]{background:#fcf6fa;border:2px solid #985378;padding:17px;box-shadow:0 3px 12px #67364f0d}.invoice-card-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.billing .ui-identity .avatar{color:#67364f;background:#f9edf4}.billing .ui-identity strong{font-size:15px}.billing .ui-identity small{color:#655d69;font-size:12px}.billing .ui-status{padding:4px 9px;font-size:12px;font-weight:700}.billing .ui-status-draft{color:#62516e;background:#f1eef5}.billing .ui-status-partial{color:#79511e;background:#fff1da}.billing .ui-status-cancelled{color:#605a65;background:#eeecef}.billing .ui-status-signed{color:#286441}.billing .invoice-card-amount{color:#655d69;border-top:1px solid #e9e1e8;align-items:center;gap:24px;padding-top:13px;font-size:12px;display:flex}.invoice-card-amount strong{color:#302b33;font-variant-numeric:tabular-nums;line-height:1.6;display:block;font-size:19px!important;font-weight:700!important}.invoice-card-amount>span:nth-child(2) strong{color:#655d69;font-size:15px!important}.invoice-card-arrow{color:#67364f;margin-left:auto;font-size:22px}.billing .invoice-print{background:#fff;border:1px solid #dfd6e0;border-radius:18px;min-width:0;margin:0;padding:28px}.invoice-heading{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-start;padding-bottom:24px}.invoice-heading .eyebrow{margin-bottom:12px}.invoice-heading-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.billing .invoice-id{color:#655d69;overflow-wrap:anywhere;margin-top:12px;font-size:11px;display:block}.billing-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 14px;display:grid}.billing-summary .ui-metric{background:#f8f7fa;border:1px solid #e6e0e9;border-radius:12px;min-width:0;padding:18px 16px}.billing-summary .ui-metric:last-child{background:#f9edf4;border-color:#e8cddf}.billing-summary .ui-metric-label{color:#655d69;padding-right:24px;font-size:13px;display:block}.billing-summary .ui-metric-icon{color:#67364f;background:0 0;width:25px;height:25px;font-size:16px;top:15px;right:12px}.billing-summary strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:12px;font-size:28px;font-weight:700;line-height:1.4;display:block}.billing-summary .ui-metric>small{color:#655d69;margin-top:8px;font-size:12px;display:block}.billing-balances{border-bottom:1px solid var(--line);color:#655d69;flex-wrap:wrap;gap:10px 28px;padding:4px 0 20px;font-size:13px;display:flex}.billing-balances strong{color:#302b33;font-variant-numeric:tabular-nums;margin-left:8px}.billing-detail-title{justify-content:space-between;align-items:center;gap:10px;font-size:16px;display:flex}.billing-detail-title span{color:#655d69;font-size:12px;font-weight:400}.billing table{table-layout:fixed;margin-bottom:18px}.billing th{color:#655d69;background:#f8f7fa;font-size:12px;font-weight:600}.billing td{overflow-wrap:anywhere;padding:18px 12px;font-size:14px;line-height:1.8}.billing th:last-child,.billing td:last-child{font-variant-numeric:tabular-nums;width:34%}.billing td small{color:#655d69;margin-top:4px;font-size:12px}.billing td .text{color:#7e355e;min-height:36px;margin:5px 0 0 auto;text-decoration:underline;display:block}.billing .actions{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;margin:20px 0 26px;padding-bottom:22px}.billing .actions button{min-height:44px;padding:11px 16px;font-size:13px}.billing .custom-fee-form,.billing .invoice-print>form{background:#faf6f9;border:1px solid #e5d7e0;border-radius:14px;margin:24px 0;padding:22px}.billing .invoice-print>form h3,.billing .custom-fee-form h3{margin-top:0;font-size:16px}.billing .invoice-print>form>.primary{min-width:160px}.billing .payment-record{border-color:var(--line);padding:16px 0}.billing .payment-record strong{font-size:19px;font-weight:700}.billing .payment-record small{color:#655d69;overflow-wrap:anywhere;font-size:12px}.billing-empty,.billing-payment-empty{color:#655d69;background:#f8f7fa;border-radius:12px;padding:20px;font-size:13px}.billing details{border-top:1px solid var(--line);padding-top:4px}.billing summary{color:#655d69;min-height:44px;font-size:13px}.billing button{min-height:44px}}@media screen and (width>=768px) and (width<=1279px){.billing .invoice-list{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-summary{gap:8px}.billing-summary .ui-metric{padding:16px 12px}.billing-summary strong{font-size:23px}}@media screen and (width<768px){.mobile-app .billing.records{padding:20px 14px}.billing .billing-create{margin:20px 0;padding:16px}.mobile-app .billing .invoice-list{grid-template-columns:1fr;gap:10px}.mobile-app .billing .invoice-card{gap:14px;margin:0;padding:16px}.mobile-app .billing .invoice-card[aria-pressed=true]{padding:15px}.mobile-app .billing .invoice-print{margin:0;padding:18px 12px}.billing .invoice-heading{gap:16px;padding-bottom:18px}.billing .invoice-heading .ui-identity-large .ui-identity-name{font-size:23px}.billing .invoice-heading .avatar{border-radius:12px;width:44px;height:44px}.billing .invoice-heading-actions{justify-content:space-between;width:100%}.billing-summary{grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.billing-summary .ui-metric{padding:14px 10px}.billing-summary .ui-metric:last-child{grid-column:1/-1}.billing-summary strong{font-size:24px}.billing-summary .ui-metric-label{padding:0;font-size:12px}.billing-summary .ui-metric-icon{display:none}.billing-balances{gap:8px;font-size:12px;display:grid}.billing-detail-title{flex-direction:column;align-items:flex-start;margin-top:24px;font-size:15px}.mobile-app .billing td,.mobile-app .billing th{padding:12px 6px;font-size:12px}.billing th:last-child,.billing td:last-child{width:39%}.billing .actions{grid-template-columns:1fr;display:grid}.billing .actions button{width:100%}.billing .custom-fee-form,.billing .invoice-print>form{padding:16px 12px}.billing .invoice-print>form>.primary{width:100%}.billing input,.billing select{font-size:16px}}@media print{.billing-summary{gap:24px;margin:18px 0;display:flex}.billing-summary .ui-metric-icon{display:none}.billing-summary .ui-metric-label,.billing-summary .ui-metric>strong,.billing-summary .ui-metric>small{display:block}.billing-summary .ui-metric>strong{font-size:18pt}.invoice-heading .avatar{display:none}.invoice-heading .ui-identity-name{font-size:20pt;font-weight:700}.invoice-id{overflow-wrap:anywhere;display:block}.billing-balances{margin:12px 0}.billing-balances>span{margin-right:20px}}@media screen{input[type=month],input[type=date]{appearance:none;box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-inline-size:0;max-inline-size:100%;min-height:44px}input[type=month]::-webkit-date-and-time-value{text-align:left;min-width:0;min-height:1.5em}input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0;min-height:1.5em}input[type=month]::-webkit-datetime-edit{min-width:0;padding:0}input[type=date]::-webkit-datetime-edit{min-width:0;padding:0}.billing .billing-create{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;display:grid}.billing .billing-create label{min-width:0;max-width:100%}}@media screen and (width<768px){.mobile-app .billing .billing-create{grid-template-columns:minmax(0,1fr)}.mobile-app .filters>label{min-width:0;max-width:100%}}@media screen{.billing-folders{background:#f3eff4;border:1px solid #e4dbe6;border-radius:12px;gap:8px;width:fit-content;max-width:100%;margin:24px 0 10px;padding:5px;display:flex}.billing-folders button{color:#655d69;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-size:14px;display:flex}.billing-folders button[aria-pressed=true]{color:#67364f;background:#fff;border-color:#d7b5ca;box-shadow:0 2px 6px #302b3309}.billing-folders button span{color:#655d69;font-variant-numeric:tabular-nums;background:#eee8ef;border-radius:6px;place-items:center;min-width:24px;padding:2px 6px;font-size:12px;display:inline-grid}.billing-folder-description{color:#655d69;margin:10px 0 20px;font-size:13px;line-height:1.8}.billing-notice{color:#67364f;background:#f9edf4;border:1px solid #d7b5ca;border-radius:10px;padding:14px 16px;font-size:14px}.billing-void-note{color:#554b59;overflow-wrap:anywhere;background:#f5f3f6;border:1px solid #dcd5df;border-radius:12px;margin:20px 0;padding:18px}.billing-void-note h3{margin:0 0 8px;font-size:15px}.billing-void-note p{margin:8px 0;font-size:14px}.billing-void-note small{font-size:12px}}@media screen and (width<768px){.billing-folders{gap:4px;width:100%}.billing-folders button{flex:1;gap:5px;padding:10px 6px;font-size:13px}}@media screen{.reports{background:0 0;border:0;min-width:0;padding:0}.report-intro{margin-bottom:20px}.report-intro p{color:var(--muted);margin:4px 0}.reports .report-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:20px;display:grid}.reports .report-tabs button{min-height:48px;padding:12px 8px;line-height:1.5}.reports .report-tabs .primary{background:var(--brand-soft);color:var(--brand-ink);border-color:var(--brand);box-shadow:inset 0 -3px var(--brand)}.report-filter-panel{border:1px solid var(--line);background:#fff;border-radius:18px;margin-bottom:24px;padding:22px}.report-section-heading{margin:0 0 18px}.report-section-heading h2{color:var(--ink);font-size:19px}.report-section-heading p{color:#68616d;overflow-wrap:anywhere;margin:6px 0 0;font-size:13px;line-height:1.8}.reports .filters{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));align-items:end;gap:12px;display:grid}.reports .filters label{min-width:0}.reports .filters input,.reports .filters select{width:100%;min-width:0;margin:6px 0 0}.reports .filters button{min-height:46px;margin:0}.reports .filters button:disabled{color:#68616d}.reports .filters button:not(:disabled){color:var(--brand-ink)}.report-print{border:1px solid var(--line);background:#fff;border-radius:20px;min-width:0;padding:24px}.report-updated{margin-top:-10px;font-size:12px}.reports .report-definition{border-left:3px solid var(--brand);margin:16px 0 24px;font-size:12px}.reports .metrics{background:0 0;border:0;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:20px 0;padding:0;display:grid}.reports .metrics>.report-metric{border:1px solid var(--line);background:#faf8fb;border-radius:15px;min-width:0;padding:20px}.reports .metrics>.report-metric:first-child{background:var(--brand-soft);border-top:3px solid var(--brand)}.reports .metrics span{color:#68616d;min-height:38px;font-size:12px;line-height:1.6}.reports .metrics strong{color:var(--ink);letter-spacing:-.5px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:10px;font-size:28px;font-weight:700}.reports .metrics small{color:#68616d}.report-note{background:#f7f8fb;border-radius:10px;padding:14px 16px;font-size:13px;line-height:1.9}.report-print>p{font-size:13px;line-height:1.9}.reports .report-table{border:1px solid var(--line);border-radius:12px;margin-top:12px}.reports th{color:#68616d;white-space:nowrap;background:#f7f8fb;font-weight:700}.reports td{color:var(--ink);line-height:1.7}.reports tbody tr:last-child td{border-bottom:0}.reports tbody tr:hover{background:#fcf7fa}.reports .report-number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.reports .ui-status{color:var(--brand-ink);background:var(--brand-soft);white-space:normal;font-size:12px}.reports .empty,.report-feedback{color:#68616d;text-align:center;background:#f7f8fb;border-radius:12px;padding:30px 16px}}@media screen and (width<768px){.mobile-app .reports{background:0 0;border:0;padding:0}.mobile-app .reports .report-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-app .reports .report-tabs button:last-child{grid-column:1/-1}.mobile-app .reports .report-print{border-radius:16px;padding:16px}.reports .mobile-report-controls{border:1px solid var(--line);background:#fff;border-radius:12px;margin:12px 0 18px;padding:0 12px}.reports summary{color:var(--brand-ink);min-height:44px;font-size:13px;font-weight:600}.reports .report-filter-panel{border:0;margin:0;padding:8px 0 16px}.reports .filters{grid-template-columns:minmax(0,1fr)}.mobile-app .reports .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-app .reports .metrics>.report-metric{border:1px solid var(--line);padding:14px 10px}.mobile-app .reports .metrics strong{font-size:22px}.reports .metrics span{min-height:40px}.reports .mobile-report-card{border-color:var(--line);background:#fff;border-radius:12px;padding:12px}.reports .mobile-report-card p{border-bottom:1px solid var(--line);align-items:baseline;margin:0;padding:8px 0}.reports .mobile-report-card p:last-of-type{border:0}.reports .mobile-report-card span{color:#68616d;flex:1}.reports .mobile-report-card strong{font-variant-numeric:tabular-nums;flex:1;min-width:0;font-size:13px}.reports .mobile-report-card button{width:100%;margin-top:10px}}@media print{.report-section-heading p{font-size:10pt;line-height:1.5}.report-number{text-align:right}.report-print .mobile-report-details{display:none!important}.report-print .report-table{display:block!important}.report-print .report-section-heading{break-after:avoid}.report-print .metrics>div{break-inside:avoid}.report-print thead{display:table-header-group}}@media screen{.reports .report-chart{border:1px solid var(--line);background:#fff;border-radius:16px;margin:20px 0 24px;padding:20px}.reports .report-chart h3{color:var(--ink);margin:0;font-size:15px}.reports .report-chart-heading,.reports .report-chart-legend{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.reports .report-chart-heading strong{color:var(--brand-ink);font-variant-numeric:tabular-nums;font-size:13px}.reports .report-track{background:#f0e6ee;border-radius:8px;height:12px;margin:12px 0;overflow:hidden}.reports .report-track>span{background:var(--brand);border-radius:8px;min-width:0;height:100%;display:block}.reports .report-chart-legend{color:#68616d;font-variant-numeric:tabular-nums;font-size:12px}.reports .report-chart p{color:#68616d;margin:12px 0 0;font-size:12px;line-height:1.8}.reports .report-chart ul{gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.reports .report-chart li{min-width:0}.reports .report-chart li span{overflow-wrap:anywhere}.reports .ui-status-paid{color:#285c3a;background:#eaf5ee}.reports .ui-status-partial{color:#754914;background:#fff4e5}.reports .ui-status-neutral{color:#56515c;background:#f1f1f5}.reports .report-table td:not(.report-number){overflow-wrap:anywhere;max-width:300px}.reports .metrics>.report-metric:nth-child(3) strong{color:#9a386f}.reports :is(.muted,.report-section-heading p,.report-updated,.metrics span,.metrics small){color:#68616d}.reports .alert{color:#75421e;background:#fff4e5}}@media screen and (width<768px){.reports .report-chart{padding:14px}.reports .report-chart-heading h3{font-size:14px}.reports .mobile-report-card strong{overflow-wrap:anywhere}.reports .report-chart-heading strong{font-size:12px}}@media print{.report-print .report-section-heading h2{font-size:14pt}.report-print .report-number{white-space:nowrap;font-variant-numeric:tabular-nums}.report-print .metrics{margin-bottom:12pt}.report-print .metrics strong{font-size:18pt}.report-print .report-definition{font-size:9pt;line-height:1.5}}@media screen{.reports .report-intro :is(.eyebrow,p){color:#68616d}}@media print{.report-print .metrics{grid-template-columns:repeat(3,minmax(0,1fr));padding:12pt 0}.report-print .metrics:has(>div:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}.report-print .metrics>div{min-width:0;padding:0 10pt}.report-print .metrics strong{white-space:nowrap;font-size:15pt}.report-print .metrics span,.report-print .metrics small{color:#333;font-size:9pt}.report-print :is(.report-definition,.report-updated,th){color:#333}.report-print .report-date{white-space:nowrap}.report-print tbody tr{break-inside:avoid;page-break-inside:avoid}}@media screen{.billing .filters>.billing-student-search{flex:1;min-width:150px;position:relative}.billing-student-search input{width:100%}.billing .billing-search-popup{z-index:5;overscroll-behavior:contain;background:#fff;border:1px solid #d6b3c9;border-radius:12px;max-height:280px;padding:5px;position:absolute;inset:calc(100% - 12px) 0 auto;overflow-y:auto;box-shadow:0 8px 24px #302b331a}.billing .billing-search-popup button{text-align:left;width:100%;min-height:44px;color:var(--ink);overflow-wrap:anywhere;background:#fff;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:10px 12px;display:flex}.billing .billing-search-popup button[aria-selected=true],.billing .billing-search-popup button:hover{background:var(--brand-soft);color:var(--brand-ink)}.billing .billing-search-popup small{color:#68616d;flex-shrink:0;font-size:11px}.billing .billing-search-empty{background:var(--brand-soft);color:var(--brand-ink);overflow-wrap:anywhere;border-radius:8px;margin:-8px 0 16px;padding:10px 12px;font-size:13px}}@media screen and (width<768px){.mobile-app .billing .filters>.billing-student-search{flex:100%;min-width:0}.billing .billing-search-popup{max-height:240px}}
