:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}body{color:#e5e7eb;background:#0f172a;margin:0;font-family:Arial,sans-serif}.app{max-width:1200px;margin:auto;padding:30px}.login-page{place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:#111827;border:1px solid #334155;border-radius:8px;gap:12px;width:100%;max-width:420px;padding:28px;display:grid}.login-card h1,.login-card h2{margin:0}.login-error{color:#fecaca;background:#7f1d1d;border-radius:6px;padding:10px}.session-bar{color:#cbd5e1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.admin-form{gap:10px;max-width:520px;margin:0 auto;display:grid}.role-options,.password-reset-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.role-options label{align-items:center;gap:6px;display:flex}h1{text-align:center;margin-bottom:10px;font-size:42px}h2{text-align:center;margin-top:10px}.controls{flex-wrap:wrap;justify-content:center;gap:12px;margin:20px 0;display:flex}button,select,input{color:#fff;background:#1e293b;border:1px solid #334155;border-radius:8px;padding:10px 14px;font-size:14px}button:hover,select:hover,input:hover{cursor:pointer;background:#334155}table{border-collapse:collapse;background:#111827;width:100%}th,td{text-align:center;border:1px solid #334155;padding:10px}th{background:#1e293b}.status,.confirmation-status{border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-block}.scheduled{color:#fff;background:#1d4ed8}.completed{color:#fff;background:#15803d}.called-out{color:#fff;background:#ca8a04}.cancelled{color:#fff;background:#b91c1c}.no-show{color:#fff;background:#c2410c}.rescheduled{color:#fff;background:#7c3aed}.confirmation-not-started{color:#fff;background:#475569}.confirmation-sent{color:#fff;background:#2563eb}.confirmation-confirmed{color:#fff;background:#15803d}.confirmation-issue{color:#fff;background:#b91c1c}.daily-list{gap:16px;display:grid}.schedule-block-list{gap:10px;display:grid}.schedule-block{background:#111827;border:1px solid #334155;border-radius:8px;grid-template-columns:140px 1fr;align-items:start;gap:14px;padding:14px;display:grid}.schedule-block.available{border-color:#15803d}.schedule-block.booked{border-color:#2563eb}.schedule-block-time{color:#93c5fd;font-weight:700}.available-block-label{color:#bbf7d0;font-weight:700}.available-block-panel,.assign-block-form{gap:10px;display:grid}.student-search-results{gap:8px;max-height:280px;display:grid;overflow:auto}.student-search-results button{text-align:left;gap:4px;display:grid}.student-search-results span{color:#cbd5e1;font-size:13px}.student-search-results .selected-student-result{background:#14532d;border-color:#22c55e}.schedule-block-lesson{gap:6px;display:grid}.instructor-block{grid-template-columns:140px minmax(0,1fr)}.instructor-lesson{background:#1e293b;border:1px solid #334155;border-radius:8px;padding:12px}.instructor-student-button{justify-self:start;padding:0;font-size:18px}.instructor-lesson-meta,.instructor-student-notes,.instructor-lesson-notes{color:#cbd5e1;line-height:1.4}.instructor-student-notes strong,.instructor-lesson-notes strong{color:#e5e7eb}.lesson-card{background:#111827;border:1px solid #334155;border-radius:12px;padding:18px}.lesson-time{color:#93c5fd;font-size:16px;font-weight:700}.lesson-student{margin:8px 0;font-size:24px;font-weight:700}.lesson-details{color:#cbd5e1;margin-bottom:12px}.lesson-credits{color:#bbf7d0;margin-bottom:12px;font-weight:700}.inline-payment-form{border-top:1px solid #334155;gap:10px;margin-top:12px;padding-top:12px;display:grid}.status-row,.confirmation-actions{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.google-voice-contact{align-items:start;gap:6px;display:grid}.google-voice-contact span{color:#cbd5e1;font-size:13px}.template-help{color:#cbd5e1;margin:10px 0;font-size:13px}textarea{color:#fff;resize:vertical;background:#1e293b;border:1px solid #334155;border-radius:8px;width:100%;min-height:90px;margin-top:12px;padding:10px;font-size:14px}.search-box{color:#fff;background:#1e293b;border:1px solid #334155;border-radius:8px;width:100%;max-width:500px;margin:20px auto;padding:12px;font-size:16px;display:block}.link-button{color:#93c5fd;cursor:pointer;background:0 0;border:none;font-size:15px;font-weight:700}.link-button:hover{text-decoration:underline}.lesson-student-button{padding:0;font-size:24px}.detail-card{background:#111827;border:1px solid #334155;border-radius:12px;margin:20px 0;padding:20px}.student-row{border-top:1px solid #334155;padding:12px 0}.guardian-list,.guardian-form{gap:12px;display:grid}.guardian-row{border-top:1px solid #334155;gap:8px;padding:12px 0;display:grid}.guardian-actions,.checkbox-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.checkbox-row input{width:auto}.student-time-block-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:14px;display:grid}.student-time-block{color:#bbf7d0;border-color:#15803d;font-weight:700}.student-time-block:hover{background:#14532d}.allocation-table{margin:18px 0}.allocation-table h4{color:#cbd5e1;margin:0 0 10px}.move-student-row{flex-wrap:wrap;align-items:end;gap:10px;margin-top:12px;display:flex}.move-student-row label{gap:6px;display:grid}.weekly-actions{gap:8px;min-width:150px;display:grid}.weekly-actions input{box-sizing:border-box;width:100%}h3{text-align:center;margin-top:28px}.report-filters{grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px;margin:20px 0;display:grid}.report-date-filters{grid-template-columns:repeat(2,minmax(180px,1fr));max-width:620px;margin-left:auto;margin-right:auto}.report-filters label{color:#cbd5e1;gap:8px;font-weight:700;display:grid}.report-total{color:#cbd5e1;justify-content:center;align-items:center;gap:12px;margin:16px 0;display:flex}.report-total strong{color:#93c5fd;font-size:28px}.summary-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px;margin:22px 0;display:grid}.summary-panel{text-align:center;background:#111827;border:1px solid #334155;border-radius:8px;padding:18px}.summary-panel span{color:#cbd5e1;margin-bottom:8px;display:block}.summary-panel strong{color:#93c5fd;font-size:30px}.report-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin:24px 0;display:flex}.error-message{color:#fca5a5;text-align:center;font-weight:700}@media (width<=760px){.app{padding:18px}h1{font-size:32px}.report-filters,.summary-grid{grid-template-columns:1fr}table{font-size:13px}th,td{padding:8px}}
