:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#19191d;background:#f5f5f2}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #d8d8d1;background:#fff;border-radius:10px;padding:10px 14px}button:hover{background:#f1f1ed}.primary{background:#19191d;color:#fff;border-color:#19191d}.layout{display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{background:#17171b;color:#fff;padding:28px 18px;display:flex;flex-direction:column;gap:7px}.brand{font-weight:800;letter-spacing:.06em;font-size:18px;margin:0 8px 28px}.brand span{display:block;font-size:11px;letter-spacing:.22em;color:#aaa;margin-top:4px}.brand.dark{color:#17171b;margin-left:0}.nav{border:0;text-align:left;background:transparent;color:#cfcfd3;padding:12px}.nav:hover,.nav.active{background:#2a2a31;color:#fff}.signout{margin-top:auto}main{padding:34px;max-width:1300px;width:100%}header{display:flex;justify-content:space-between;margin-bottom:24px}h1{font-size:32px;margin:0 0 4px}header p{margin:0;color:#707078}.card{background:#fff;border:1px solid #e3e3de;border-radius:16px;padding:20px;box-shadow:0 1px 2px #00000008;margin-bottom:18px}.statGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{display:flex;flex-direction:column;gap:10px}.stat span{text-transform:capitalize;color:#777}.stat strong{font-size:32px}.toolbar,.formGrid{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.formGrid label,.toolbar label,.login label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#555}.full{width:100%}.checks{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px}.checks label{display:flex;flex-direction:row;align-items:center}.list{padding:0}.row{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border-bottom:1px solid #eee}.row:last-child{border-bottom:0}.row small{display:block;color:#777;margin-top:4px}.tableWrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:12px;border-bottom:1px solid #eee;font-size:14px}th{color:#666;font-weight:600}input,select{border:1px solid #d7d7d2;border-radius:9px;padding:10px;background:#fff;min-width:180px}.loginWrap,.center{min-height:100vh;display:grid;place-items:center;padding:24px}.login{width:min(420px,100%)}.login h1{font-size:28px}.login label{margin:12px 0}.login button{width:100%;margin-top:8px}.error{color:#a12a2a;background:#fff1f1;padding:10px;border-radius:8px}@media(max-width:850px){.layout{grid-template-columns:1fr}aside{position:static;flex-direction:row;overflow:auto;padding:12px}.brand{display:none}.signout{margin-left:auto}main{padding:20px}.statGrid{grid-template-columns:repeat(2,1fr)}}.success{background:#eef8f0;border:1px solid #b8ddc0;padding:10px 12px;border-radius:8px;color:#245f31}.textButton{background:transparent;border:0;padding:10px 0;color:inherit;text-decoration:underline;cursor:pointer}.login p{line-height:1.45}.teacherRow{padding:16px 18px;border-bottom:1px solid #eee}.teacherRow:last-child{border-bottom:0}.teacherHeader{display:flex;justify-content:space-between;align-items:center;gap:14px}.teacherHeader small{display:block;color:#777;margin-top:4px}.checks.compact{margin-top:12px;padding-top:10px;border-top:1px dashed #e4e4df}.studentAdmin{padding:14px 0;border-top:1px solid #e7e7e7}.studentAdmin:first-of-type{border-top:0}.guardianList{margin-top:10px;padding-left:12px}.muted{opacity:.65}.formGrid h2{margin:0 0 4px}.modalBackdrop{position:fixed;inset:0;background:#0008;display:grid;place-items:center;padding:20px;z-index:1000}.modal{width:min(580px,100%);margin:0}.modal h2{margin-top:0}.modalActions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px}.danger{background:#9d2525;color:#fff;border-color:#9d2525}.danger:hover{background:#842020}.actionGroup{display:flex;gap:6px;flex-wrap:wrap}.status{display:inline-block;padding:3px 8px;border-radius:999px;background:#ecece8;text-transform:capitalize;margin-right:6px}.status.cancelled{background:#f4dddd}.status.scheduled{background:#e1eee2}.tableWrap td small{display:block;margin-top:4px;color:#777}.splitGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.modal label{display:block;margin:12px 0}.modal select,.modal input{width:100%;margin-top:6px}@media(max-width:900px){.splitGrid{grid-template-columns:1fr}}textarea{font:inherit;border:1px solid #d7d7d2;border-radius:9px;padding:10px;background:#fff;width:100%;resize:vertical}.checkLine{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important}.checkLine input{min-width:auto}.attendance{display:inline-block;padding:3px 8px;border-radius:999px;background:#ecece8;text-transform:capitalize}.attendance.present{background:#e1eee2}.attendance.absent{background:#f4dddd}.attendance.excused{background:#fff1cf}.attendance.teacher_cancelled{background:#e7e2f4}.attendance.unmarked{background:#ecece8;color:#666}.billingStatus{display:inline-block;padding:3px 8px;border-radius:999px;text-transform:capitalize;background:#ecece8}.billingStatus.paid{background:#e1eee2}.billingStatus.due{background:#fff1cf}.billingStatus.overdue{background:#f4dddd}.billingStatus.void{background:#ecece8;color:#777}.billingStats strong{font-size:26px}.tableWrap td>small{display:block;color:#777;margin-top:4px}@media(max-width:700px){.billingStats{grid-template-columns:1fr 1fr}}.guardianReady .card{width:min(520px,100%);text-align:center}.guardianReady .brand{margin:0 0 24px}.publicTrial{min-height:100vh;background:#f5f3ee;padding:28px 18px 60px}.trialShell{max-width:960px;margin:0 auto}.trialBrand{font-weight:900;letter-spacing:.09em;font-size:22px;margin:10px 0 32px}.trialBrand span{display:block;font-size:12px;font-weight:600;letter-spacing:.18em;color:#777;margin-top:5px}.trialIntro{margin:0 0 24px}.trialIntro h1{font-size:42px;max-width:650px}.trialIntro p{font-size:18px;color:#64646c;max-width:680px}.trialChoices{display:flex;flex-wrap:wrap;gap:10px}.choice.active,.slot.active{background:#19191d;color:#fff;border-color:#19191d}.trialDays{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.trialDay{border:1px solid #e4e2dc;border-radius:12px;padding:14px}.trialDay h3{margin:0 0 10px;font-size:15px}.trialSlots{display:flex;gap:8px;flex-wrap:wrap}.slot{display:flex;flex-direction:column;align-items:flex-start;min-width:110px}.slot small{opacity:.75;margin-top:2px}.trialForm h2,.publicTrial .card h2{margin-top:0}.trialSummary{background:#f1f1ed;border-radius:10px;padding:12px;margin:18px 0}.trialSubmit{margin-top:18px;padding:13px 20px}.trialSuccess{text-align:center;padding:46px 24px}.successMark{width:62px;height:62px;border-radius:50%;background:#e1eee2;display:grid;place-items:center;font-size:30px;margin:0 auto 18px}.trialStatus{display:inline-block;padding:4px 9px;border-radius:999px;background:#ecece8;text-transform:capitalize}.trialStatus.confirmed,.trialStatus.completed,.trialStatus.converted{background:#e1eee2}.trialStatus.no_show,.trialStatus.cancelled,.trialStatus.not_interested{background:#f4dddd}.trialStatus.follow_up{background:#fff1cf}@media(max-width:700px){.trialDays{grid-template-columns:1fr}.trialIntro h1{font-size:34px}.publicTrial{padding:18px 12px 40px}}.toolsIntro h2{margin-top:0}.toolsIntro p{max-width:760px;color:#666}.toolsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.toolCard{margin-bottom:0;min-height:150px}.toolCardHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.toolCard h3{margin:0}.toolCard p{color:#666;line-height:1.5}.toolBadge{font-size:12px;padding:4px 8px;border-radius:999px;background:#ecece8;color:#666;white-space:nowrap}@media(max-width:850px){.toolsGrid{grid-template-columns:1fr}}.passwordField{display:flex;align-items:center;gap:8px}.passwordField input{flex:1;min-width:0}.login .passwordToggle{width:auto;margin-top:0;white-space:nowrap;padding:10px 12px}.makeupOption{display:flex!important;align-items:flex-start!important;gap:12px!important;margin:14px 0 10px!important;padding:14px 16px;border:1px solid #d7d7d2;border-radius:10px;background:#fafaf8;cursor:pointer}.makeupOption input{width:20px!important;height:20px!important;min-width:20px!important;margin:2px 0 0!important;flex:0 0 auto;cursor:pointer}.makeupOption span{display:flex;flex-direction:column;gap:3px;line-height:1.35}.makeupOption b{color:#19191d;font-size:14px}.makeupOption small{color:#666;font-size:12px}.makeupOption:has(input:disabled){opacity:.55;cursor:not-allowed}.makeupOption:has(input:disabled) input{cursor:not-allowed}.makeupWarning{margin:0 0 12px;padding:10px 12px;border-radius:8px;background:#fff4e5;color:#7a4b00;font-size:13px;line-height:1.4}.tableWrap .actionGroup button{white-space:nowrap}
