:root{--primary:#8b5cf6;--primary-dark:#7c3aed;--primary-light:#a78bfa;--accent:#ec4899;--accent-dark:#db2777;--background:#fff;--surface:#f9fafb;--border:#e5e7eb;--text:#111827;--text-secondary:#6b7280;--error:#ef4444;--success:#10b981}*,:before,:after{box-sizing:border-box}body{color:var(--text);background-color:var(--background);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app-container{flex-direction:column;max-width:1200px;height:100vh;margin:0 auto;display:flex}.screen{flex:1;padding:1.5rem;overflow-y:auto}.tab-bar{border-top:1px solid var(--border);background-color:var(--background);display:flex;box-shadow:0 -2px 10px #0000000d}.tab-button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:.25rem;padding:1rem;font-size:.75rem;font-weight:500;transition:all .2s;display:flex}.tab-button:hover{background-color:var(--surface);color:var(--primary)}.tab-button.active{color:var(--primary)}.tab-icon{font-size:1.5rem}.button{cursor:pointer;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.button-primary{background-color:var(--primary);color:#fff}.button-primary:hover{background-color:var(--primary-dark)}.button-primary:disabled{background-color:var(--border);cursor:not-allowed}.button-secondary{background-color:var(--surface);color:var(--text);border:1px solid var(--border)}.button-secondary:hover{background-color:var(--border)}.button-danger{background-color:var(--error);color:#fff}.button-danger:hover{background-color:#dc2626}.button-small{padding:.5rem 1rem;font-size:.875rem}.form-group{margin-bottom:1.25rem}.label{color:var(--text);margin-bottom:.5rem;font-weight:600;display:block}.input,.select,.textarea{border:1px solid var(--border);border-radius:.5rem;width:100%;padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #8b5cf61a}.textarea{resize:vertical;min-height:100px}.card{background-color:var(--background);border:1px solid var(--border);border-radius:.75rem;margin-bottom:1rem;padding:1.25rem;transition:all .2s}.card:hover{box-shadow:0 4px 12px #0000001a}.card-header{justify-content:space-between;align-items:start;margin-bottom:.75rem;display:flex}.card-title{color:var(--text);margin:0;font-size:1.125rem;font-weight:700}.card-subtitle{color:var(--text-secondary);margin:.25rem 0 0;font-size:.875rem}.card-body{color:var(--text-secondary)}.card-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.service-card{cursor:pointer;border:2px solid var(--border)}.service-card.selected{border-color:var(--primary);background-color:#8b5cf60d}.service-card:hover{border-color:var(--primary-light)}.service-price{color:var(--primary);font-size:1.5rem;font-weight:700}.service-duration{color:var(--text-secondary);font-size:.875rem}.time-slots{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin-top:1rem;display:grid}.time-slot{border:2px solid var(--border);background-color:var(--background);cursor:pointer;text-align:center;border-radius:.5rem;padding:1rem;font-weight:600;transition:all .2s}.time-slot:hover{border-color:var(--primary-light);background-color:var(--surface)}.time-slot.selected{border-color:var(--primary);color:var(--primary);background-color:#8b5cf61a}.time-slot.disabled{opacity:.5;cursor:not-allowed}.badge{text-transform:uppercase;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-confirmed{color:var(--success);background-color:#10b9811a}.badge-pending{color:#f59e0b;background-color:#fbbf241a}.badge-cancelled{color:var(--error);background-color:#ef44441a}.empty-state{text-align:center;padding:3rem 1.5rem}.empty-state-icon{opacity:.3;margin-bottom:1rem;font-size:4rem}.empty-state-title{color:var(--text);margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.empty-state-message{color:var(--text-secondary);margin-bottom:1.5rem}.screen-header{margin-bottom:1.5rem}.screen-title{color:var(--text);margin:0 0 .5rem;font-size:1.75rem;font-weight:800}.screen-subtitle{color:var(--text-secondary);margin:0;font-size:1rem}.services-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.loading{text-align:center;color:var(--text-secondary);padding:2rem}.error-message{border:1px solid var(--error);color:var(--error);background-color:#ef44441a;border-radius:.5rem;margin-bottom:1rem;padding:1rem}.section{margin-bottom:2rem}.section-title{color:var(--text);margin-bottom:1rem;font-size:1.25rem;font-weight:700}.booking-details{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem;margin:.75rem 0;display:grid}.booking-detail{flex-direction:column;display:flex}.booking-detail-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.booking-detail-value{color:var(--text);margin-top:.25rem;font-size:1rem}.date-input-wrapper{position:relative}.date-input-wrapper input[type=date]{cursor:pointer}@media (width<=768px){.screen{padding:1rem}.services-grid{grid-template-columns:1fr}.time-slots{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.booking-details{grid-template-columns:1fr}}
