.estimate-calendar{min-width:0}
.option-grid.quote-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.quote-options .option{text-align:center}
.estimate-calendar .cal-banner{background:#e7f5ee;color:var(--success);border-radius:13px;padding:10px 14px;font-weight:700;font-size:14px;margin-bottom:14px;overflow-wrap:anywhere}
.estimate-calendar .cal-note{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 12px}
.estimate-calendar .cal-note a{color:var(--brand2);text-decoration:underline}
.estimate-calendar .cal-days,.estimate-calendar .cal-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;margin-top:4px}
.estimate-calendar .cal-times{margin-top:12px}
.estimate-calendar .cal-opt{min-height:44px;padding:8px 6px;font-size:13px;text-align:center}
.estimate-calendar .cal-opt:disabled{opacity:.4;cursor:not-allowed;transform:none}
.estimate-calendar .cal-saved{background:#f5fbfa;border:1.5px solid var(--brand2);border-radius:14px;padding:16px;font-size:14px;line-height:1.5}
.estimate-calendar .cal-saved small{display:block;color:var(--muted);margin-top:4px}
.estimate-calendar .cal-error{color:var(--danger);font-size:13px;min-height:18px;margin-top:8px}
.estimate-calendar .cal-actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:12px}
.estimate-calendar .cal-actions .btn{display:inline-block;flex:1 1 140px}
.estimate-calendar .btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
@media(max-width:600px){.estimate-calendar .cal-days{grid-template-columns:repeat(3,1fr)}.estimate-calendar .cal-times{grid-template-columns:repeat(3,1fr)}}
