:root{--accent: #2563eb;--good: #10b981;--bad: #ef4444;--text: #1a1d23;--text-dim: #6b7280;--border: #e2e5ea;--bg: #ffffff;font-size:16px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}.auth-form{display:flex;flex-direction:column;gap:.75rem;max-width:420px;margin:0 auto;padding:1.5rem 1rem}.auth-form input{font-size:1rem;padding:.75rem;border:1px solid var(--border);border-radius:8px}.auth-form button{font-size:1rem;padding:.75rem;border-radius:8px;border:none;background:var(--accent);color:#fff}.dashboard-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.dashboard-nav a{display:inline-flex;align-items:center;min-height:44px;padding:.5rem .75rem;border-radius:8px;font-size:.95rem;color:var(--text);text-decoration:none}.dashboard-nav a.active{background:var(--accent);color:#fff}.dashboard-nav button{min-height:44px;margin-left:auto;padding:.5rem .75rem;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--text);font-size:.95rem}.dashboard-overview{display:flex;flex-direction:column;gap:.75rem;max-width:420px;margin:0 auto;padding:1.5rem 1rem}.dashboard-overview h1{margin:0;font-size:1.5rem}.dashboard-overview a{word-break:break-all;color:var(--accent)}.services-page{display:flex;flex-direction:column;gap:1.5rem;max-width:420px;margin:0 auto;padding:1.5rem 1rem}.services-page h1{margin:0 0 .75rem;font-size:1.5rem}.services-page ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.75rem}.service-item{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem;border:1px solid var(--border);border-radius:8px;font-size:.95rem}.service-item span{flex:1}.service-item button{font-size:.875rem;padding:.5rem 1rem;border-radius:6px;border:none;background:var(--accent);color:#fff;white-space:nowrap}.service-form{display:flex;flex-direction:column;gap:.75rem}.service-form label{font-weight:500;font-size:.95rem}.service-form input{font-size:1rem;padding:.75rem;border:1px solid var(--border);border-radius:8px}.service-form button{font-size:1rem;padding:.75rem;border-radius:8px;border:none;background:var(--accent);color:#fff}.services-page [role=alert]{padding:.75rem;border-radius:8px;background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;font-size:.95rem}.clients-page{display:flex;flex-direction:column;gap:1.5rem;max-width:420px;margin:0 auto;padding:1.5rem 1rem}.clients-page h1{margin:0 0 .75rem;font-size:1.5rem}.clients-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.75rem}.client-item{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border:1px solid var(--border);border-radius:8px;font-size:.95rem}.client-item p{margin:0}.client-item label{font-weight:500;font-size:.95rem}.client-item textarea{font-size:1rem;padding:.75rem;border:1px solid var(--border);border-radius:8px;font-family:inherit;resize:vertical;min-height:4.5rem}.client-item button{align-self:flex-start;font-size:.875rem;padding:.5rem 1rem;border-radius:6px;border:none;background:var(--accent);color:#fff}.clients-page [role=alert]{padding:.75rem;border-radius:8px;background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;font-size:.95rem}.workdays-page{display:flex;flex-direction:column;gap:1.5rem;max-width:420px;margin:0 auto;padding:1.5rem 1rem}.workdays-page h1{margin:0 0 .75rem;font-size:1.5rem}.workdays-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.75rem}.workday-item{padding:.75rem;border:1px solid var(--border);border-radius:8px;font-size:.95rem}.workday-form{display:flex;flex-direction:column;gap:.75rem}.workday-form label{font-weight:500;font-size:.95rem}.workday-form input{font-size:1rem;padding:.75rem;border:1px solid var(--border);border-radius:8px}.workday-form button{font-size:1rem;padding:.75rem;border-radius:8px;border:none;background:var(--accent);color:#fff}.workdays-page [role=alert]{padding:.75rem;border-radius:8px;background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;font-size:.95rem}.bookings-page{display:flex;flex-direction:column;gap:1.5rem;max-width:420px;margin:0 auto;padding:1.5rem 1rem}.bookings-page h1{margin:0 0 .75rem;font-size:1.5rem}.bookings-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.75rem}.booking-item{padding:.75rem;border:1px solid var(--border);border-radius:8px;font-size:.95rem;display:flex;flex-direction:column;gap:.5rem}.booking-info{margin:0}.booking-info p{margin:.25rem 0;font-size:.95rem}.booking-comment{margin:.5rem 0 0;font-size:.9rem;color:var(--text-dim)}.booking-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.booking-actions label{font-weight:500;font-size:.95rem}.booking-actions input{font-size:1rem;padding:.75rem;border:1px solid var(--border);border-radius:8px}.booking-buttons{display:flex;gap:.5rem}.booking-buttons button{flex:1;font-size:.95rem;padding:.75rem;border-radius:6px;border:none;color:#fff}.booking-confirm-btn{background:var(--good)}.booking-decline-btn{background:var(--bad)}.bookings-page [role=alert]{padding:.75rem;border-radius:8px;background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;font-size:.95rem}.public-booking-page{display:flex;flex-direction:column;gap:1.25rem;max-width:480px;margin:0 auto;padding:1.5rem 1rem}.public-booking-page h1{margin:0;font-size:1.5rem}.public-service-list,.public-slot-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.75rem}.public-service-button{width:100%;min-height:44px;font-size:1rem;padding:.875rem 1rem;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--text);text-align:left}.public-slot-list{flex-direction:row;flex-wrap:wrap}.public-slot-list li{flex:1 1 calc(50% - .375rem);min-width:100px}.public-slot-button{width:100%;min-height:44px;font-size:1rem;padding:.875rem;border-radius:8px;border:none;background:var(--accent);color:#fff}.public-booking-form{display:flex;flex-direction:column;gap:.75rem}.public-booking-form label{font-weight:500;font-size:.95rem}.public-booking-form input{width:100%;min-height:44px;font-size:1rem;padding:.75rem;border:1px solid var(--border);border-radius:8px}.public-booking-form button{width:100%;min-height:48px;font-size:1.05rem;font-weight:500;padding:.875rem;border-radius:8px;border:none;background:var(--accent);color:#fff}.public-no-slots-message,.public-upcoming-slots{margin:0;padding:.75rem;border-radius:8px;background:#f3f4f6;border:1px solid var(--border);color:var(--text-dim);font-size:.95rem}.public-booking-page [role=alert]{padding:.75rem;border-radius:8px;background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;font-size:.95rem}.status-page{display:flex;flex-direction:column;gap:1.25rem;max-width:480px;margin:0 auto;padding:1.5rem 1rem}.status-page h1{margin:0;font-size:1.5rem}.status-comment{margin:0;padding:.75rem;border-radius:8px;background:#f3f4f6;border:1px solid var(--border);color:var(--text-dim);font-size:.95rem}.status-page [role=alert]{padding:.75rem;border-radius:8px;background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;font-size:.95rem}.reschedule-toggle-button{width:100%;min-height:44px;font-size:1rem;padding:.875rem 1rem;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--text)}.reschedule-section{display:flex;flex-direction:column;gap:.75rem}.reschedule-section label{font-weight:500;font-size:.95rem}.reschedule-section input{width:100%;min-height:44px;font-size:1rem;padding:.75rem;border:1px solid var(--border);border-radius:8px}.reschedule-section>button{width:100%;min-height:44px;font-size:1rem;font-weight:500;padding:.875rem;border-radius:8px;border:none;background:var(--accent);color:#fff}.reschedule-slot-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem}.reschedule-slot-list li{flex:1 1 calc(50% - .375rem);min-width:100px}.reschedule-slot-button{width:100%;min-height:44px;font-size:1rem;padding:.875rem;border-radius:8px;border:none;background:var(--accent);color:#fff}.onboarding-page{display:flex;flex-direction:column;gap:1.5rem;max-width:420px;margin:0 auto;padding:1.5rem 1rem;text-align:center}.onboarding-page h1{margin:0;font-size:1.5rem}.onboarding-page>p{margin:0;color:var(--text-dim);font-size:.95rem}.onboarding-category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.onboarding-category-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:96px;padding:1rem .5rem;border:1px solid var(--border);border-radius:12px;background:#fff;font-size:.9rem;color:var(--text)}.onboarding-category-emoji{font-size:1.75rem}.onboarding-skip{color:var(--text-dim);font-size:.9rem;text-decoration:underline}.onboarding-services-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.75rem;text-align:left}.onboarding-services-list label{display:flex;align-items:center;gap:.5rem;min-height:44px;font-size:.95rem}.onboarding-hint{color:var(--text-dim);font-size:.85rem}.onboarding-durations-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.75rem;text-align:left}.onboarding-durations-list li{display:flex;align-items:center;gap:.5rem}.onboarding-durations-list label{flex:1;font-weight:500;font-size:.95rem}.onboarding-durations-list input{width:5rem;font-size:1rem;padding:.5rem;border:1px solid var(--border);border-radius:8px}.calendar{display:flex;flex-direction:column;gap:.5rem}.calendar-header{display:flex;align-items:center;justify-content:space-between}.calendar-header button{min-height:36px;min-width:36px;border-radius:8px;border:1px solid var(--border);background:#fff}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:.8rem;color:var(--text-dim)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.calendar-cell{min-height:40px;border-radius:8px;border:1px solid var(--border);background:#fff;font-size:.9rem;color:var(--text)}.calendar-cell-blank{border:none;background:transparent}.calendar-cell-highlighted{border-color:var(--good);background:#ecfdf5}.calendar-cell-selected{background:var(--accent);color:#fff;border-color:var(--accent)}.workday-time-picker{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border:1px solid var(--border);border-radius:8px}.time-stepper{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.time-stepper-label{font-weight:500;font-size:.95rem;width:2rem}.time-stepper button{min-height:36px;min-width:36px;border-radius:8px;border:1px solid var(--border);background:#fff;font-size:1.1rem}.time-stepper-value{font-size:1rem;font-weight:500;min-width:4.5rem;text-align:center}@media (min-width: 768px){.auth-form{margin-top:4rem}.dashboard-nav{padding:.75rem 2rem}.dashboard-overview,.services-page,.onboarding-page,.workdays-page,.bookings-page,.clients-page,.public-booking-page,.status-page{margin-top:4rem}.public-slot-list li,.reschedule-slot-list li{flex:1 1 calc(33.333% - .5rem)}}
