.availability-panel{max-width:760px}.availability-switch{display:flex;align-items:center;gap:12px;background:#e6f6f3;border:1px solid #c6ebe4;border-radius:14px;padding:16px;margin-bottom:24px;cursor:pointer}.availability-switch>span:nth-child(2){flex:1;min-width:0}.availability-switch strong,.availability-switch small{display:block}.availability-switch small{color:#0a7a6c;margin-top:4px;font-size:12px}.availability-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;background:var(--teal,#0fb3a1);border-radius:10px}.availability-switch input{width:24px;height:24px;accent-color:#0a7a6c}.availability-days{border:0;padding:0;margin:0 0 24px}.availability-days legend{font-weight:600;margin-bottom:12px}.availability-days>div{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.availability-days label,.appointment-slots label{position:relative;cursor:pointer}.availability-days input,.appointment-slots input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.availability-days span{display:flex;justify-content:center;align-items:center;min-height:44px;border:1px solid var(--border);border-radius:24px;font-size:12px;background:white}.availability-days input:checked+span,.appointment-slots input:checked+span{background:#0fb3a1;border-color:#0a7a6c;color:#0c1e34;font-weight:600}.availability-days input:focus-visible+span,.appointment-slots input:focus-visible+span{outline:3px solid #0a7a6c;outline-offset:3px}.availability-time{display:flex;align-items:center;gap:8px}.availability-time input{min-width:0;flex:1}.availability-time img{flex-shrink:0}.availability-panel .button{gap:8px;display:inline-flex;align-items:center}.availability-panel textarea{width:100%;max-width:100%;resize:vertical}.availability-panel .form-grid>label{min-width:0}.availability-panel select,.availability-panel input{max-width:100%}
.appointment-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.appointment-heading h2{margin:0}.appointment-heading small{color:var(--muted)}.appointment-card{border:1px solid var(--border);border-radius:16px;padding:18px;margin:16px 0}.appointment-card h3{font-size:15px;line-height:1.8;margin:16px 0;overflow-wrap:anywhere}.appointment-card p{overflow-wrap:anywhere}.appointment-proposal{background:#e6f6f3;border:1px solid #c6ebe4;border-radius:14px;padding:16px;margin-top:16px}.appointment-proposal .eyebrow{font-size:10px;letter-spacing:1px;color:#0a7a6c}.appointment-proposal strong{font-size:14px;line-height:1.8}.appointment-proposal small{display:block;line-height:1.8;color:#52657c}.appointment-proposal form+form{margin-top:18px}.appointment-actions{margin:16px 0 0;padding-top:16px;border-top:1px solid var(--border)}.appointment-actions summary{cursor:pointer;font-size:13px;font-weight:600}.appointment-actions[open] summary{margin-bottom:16px}.appointment-picker h2{font-size:22px;line-height:30px}.appointment-picker>p{font-size:14px;line-height:22px}.appointment-date-filter{display:flex;align-items:flex-end;gap:12px;margin:20px 0;flex-wrap:wrap}.appointment-date-filter .field{flex:1;margin:0;min-width:170px}.appointment-date-filter .button{margin-bottom:0}.appointment-slots{padding:0;border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0}.appointment-slots legend{font-size:13px;font-weight:600;margin-bottom:12px}.appointment-slots span{display:block;padding:13px;border:1px solid var(--border);background:white;border-radius:12px;font-size:12px;line-height:1.7;height:100%}.appointment-empty{background:#f7f8fa;border-radius:14px;padding:18px;margin-top:20px}.appointment-empty h3{font-size:14px}.appointment-picker .button.primary{min-height:48px;border-radius:16px}.appointment-section>.muted{font-size:12px;line-height:1.8}.service-scheduled,.service-completed{background:#e6f6f3;color:#0a655b}
@media(max-width:600px){.availability-days>div{gap:5px}.availability-days span{font-size:10px}.availability-switch{padding:12px;gap:10px}.availability-switch strong{font-size:13px}.availability-switch small{font-size:11px}.appointment-card{padding:14px}.appointment-picker h2{font-size:20px}.appointment-proposal{padding:14px}.appointment-slots{grid-template-columns:1fr}.appointment-date-filter .button{width:100%}}
