:root{--primary:#c1009d;--primary-dark:#a0007f;--primary-light:#d633b3;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--white:#fff;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--radius-md:.5rem;--radius-lg:.75rem;--shadow-sm:0 1px 2px 0 #0000000d}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--gray-50);color:var(--gray-900);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;overflow-x:hidden}.page-header{margin-bottom:var(--spacing-xl)}.page-title{color:var(--gray-900);font-size:1.875rem;font-weight:700}.page-subtitle{color:var(--gray-500);margin-top:var(--spacing-xs)}.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}.card-body{padding:var(--spacing-lg)}.card input:focus,.card select:focus,.card textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #c1009d1f}.card input::placeholder,.card textarea::placeholder{color:var(--gray-400)}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;border:none;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary{background:var(--primary);color:var(--white)}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--white);color:var(--gray-700);border:1px solid var(--gray-300)}.btn-secondary:hover{background:var(--gray-50)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem}.btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:1rem}.loading-spinner{border:2px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.flex{display:flex}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.text-sm{font-size:.875rem}.text-muted{color:var(--gray-500)}.font-semibold{font-weight:600}@media (width<=768px){.page-title{font-size:1.5rem}.page-subtitle{font-size:.9rem}.page-header{margin-bottom:var(--spacing-lg)}.card-body{padding:var(--spacing-md)}}@media (width<=480px){.page-title{font-size:1.35rem}.card-body{padding:var(--spacing-sm)}}.intake-page{max-width:680px;margin:0 auto;padding:2rem}@media (width<=768px){.intake-page{padding:1.25rem}}@media (width<=480px){.intake-page{padding:1rem}}.match-results-page{max-width:680px;margin:0 auto;padding:2rem}@media (width<=768px){.match-results-page{padding:1.25rem}}@media (width<=480px){.match-results-page{padding:1rem}}.lesson-table-wrap{-webkit-overflow-scrolling:touch;margin:0 -.5rem;overflow-x:auto}.lesson-table-wrap table{min-width:420px}.coach-card-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}@media (width<=480px){.coach-card-row{flex-direction:column;align-items:flex-start}}.lesson-submit-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}@media (width<=480px){.lesson-submit-row{text-align:center;flex-direction:column;align-items:stretch}.lesson-submit-row button{width:100%}}.completion-screen{justify-content:center;align-items:center;min-height:calc(100vh - 120px);padding:2rem;display:flex}@media (width<=480px){.completion-screen{padding:1rem}}.submitting-screen{text-align:center;max-width:600px;margin:4rem auto;padding:2rem}@media (width<=480px){.submitting-screen{margin:2rem auto;padding:1.5rem}}.availability-time-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.4rem;display:grid}@media (width<=480px){.availability-time-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}.detail-heading{font-size:2rem}@media (width<=480px){.detail-heading{font-size:1.5rem}}.match-overview-heading{font-size:2.25rem}@media (width<=480px){.match-overview-heading{font-size:1.5rem}}
