.past-dot{background:#cbd5e1!important}
.day.past{background:#f3f4f6;color:#c2c8d0;cursor:not-allowed}
.day.today{outline:2px solid #94a3b8;outline-offset:1px}
.appointment.pending{border-left:4px solid #f59e0b;padding-left:14px;background:#fffbeb}
.appointment.diagnostic{box-shadow:inset 0 0 0 1px #7c3aed33;background:#faf7ff}
.diagnostic-alert,.confirmation-warning{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;text-transform:uppercase;margin-top:7px}
.diagnostic-alert{background:#ede9fe;color:#6d28d9}.confirmation-warning{background:#fef3c7;color:#92400e}
.panel-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.panel-tools input{min-width:240px}
.today-panel{margin-bottom:20px;border:2px solid #cbd5e1}.today-panel .appointment:last-child{border-bottom:0}
.tomorrow-stat{background:#fff7ed!important;border-color:#fdba74!important}.tomorrow-stat strong{color:#c2410c!important}
.tomorrow-panel{margin-bottom:20px;border:2px solid #fb923c;background:linear-gradient(135deg,#fff7ed 0,#fff 58%);box-shadow:0 10px 30px #f9731614}.tomorrow-panel .eyebrow{color:#c2410c}.tomorrow-list{display:grid;gap:10px}.tomorrow-card{display:grid;grid-template-columns:88px 1fr auto;gap:14px;align-items:center;padding:15px;border:1px solid #d8dee2;border-radius:13px;background:#fff}.tomorrow-card.needs-confirmation{border-color:#fb923c;background:#fffaf5}.tomorrow-card.diagnostic{box-shadow:inset 4px 0 #7c3aed}.tomorrow-time{display:grid;place-items:center;min-height:56px;border-radius:10px;background:#eaf0f3;color:#263f4a;font-weight:900;font-size:14px}.tomorrow-details h3{margin:0 0 5px;font-size:16px}.tomorrow-details h3 span{color:#63717a;font-weight:600}.tomorrow-details p{margin:0 0 7px;color:#63717a}.tomorrow-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.tomorrow-actions a{text-decoration:none}.confirmed-reminder{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;text-transform:uppercase;background:#dcfce7;color:#166534}.tomorrow-empty{display:flex;flex-direction:column;gap:4px;padding:22px;border:1px dashed #fdba74;border-radius:12px;background:#fff}.tomorrow-empty span{color:#63717a}.whatsapp-action{background:#15803d!important;color:#fff!important;border-color:#15803d!important;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.manual-notice{background:#ecfdf5!important;border-color:#86efac!important}.notification-button{white-space:nowrap}
.history-list{display:grid;gap:10px;max-height:55vh;overflow:auto;margin-top:16px}.history-item{border:1px solid #d8dee2;border-radius:10px;padding:12px}.history-item p{margin:5px 0;color:#56636b}.history-dialog,.reschedule-dialog{width:min(680px,calc(100% - 32px));border:0;border-radius:18px;padding:24px;box-shadow:0 24px 80px #0004}.history-dialog::backdrop,.reschedule-dialog::backdrop{background:#10182888}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.account-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.account-actions button{padding:8px 12px}.status-text{font-weight:800}.status-text.pending{color:#b45309}.status-text.confirmed{color:#15803d}.status-text.cancelled{color:#b91c1c}
.field-hint{color:#6b7881;font-size:11px;font-weight:500;line-height:1.35}
.form-message{margin:16px 0 0;padding:14px 16px;border:1px solid #e1a4a7;border-radius:10px;background:#fff1f1;color:#9f252b;font-size:13px;font-weight:750;line-height:1.45}
.form-message.info{border-color:#a9c4d2;background:#eef6fa;color:#315a70}
input.field-error,textarea.field-error{border-color:#d4474e!important;box-shadow:0 0 0 3px #d4474e1f!important}
@media(max-width:800px){.legend{flex-wrap:wrap}.panel-tools{align-items:stretch}.panel-tools input,.panel-tools select{min-width:0;width:100%}.history-dialog,.reschedule-dialog{padding:18px}.today-panel{margin-top:16px}.tomorrow-panel .panel-head{align-items:flex-start}.tomorrow-card{grid-template-columns:70px 1fr}.tomorrow-actions{grid-column:1/-1;justify-content:stretch}.tomorrow-actions>*{flex:1}.notification-button{width:100%;margin-top:10px}.toast{left:14px;right:14px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:60;text-align:center}.booking-card{margin-bottom:16px}}
