.calendar-dialog{max-width:390px;padding:28px 20px 20px}.calendar-dialog h2{font-size:22px;padding-inline:15px;margin-bottom:20px}.calendar-mode{border:0;padding:8px;background:var(--surface);display:flex;justify-content:center;gap:25px;border-radius:8px;margin:0 0 15px}.calendar-mode label{cursor:pointer}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0}.calendar-heading h3{font-size:18px}.calendar-heading button{width:40px;height:40px;border:1px solid var(--border);border-radius:50%;background:white;font-size:25px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}.calendar-weekdays{font-size:13px;color:var(--muted);margin:12px 0}.calendar-days button{padding:0;aspect-ratio:1;border:0;border-radius:7px;background:#f5f7f7;font-size:15px}.calendar-days button:hover:not(:disabled){background:var(--sand)}.calendar-days button[aria-pressed=true]{background:var(--primary);color:white}.calendar-days button[aria-current=date]{box-shadow:inset 0 0 0 1px var(--accent)}.calendar-days button:disabled{opacity:.3}.calendar-days .calendar-blank{visibility:hidden}.calendar-selection{font-size:13px;min-height:24px;text-align:center;margin-top:15px}.calendar-help{font-size:11px;text-align:center;color:var(--muted)}.calendar-actions{display:flex;gap:10px;justify-content:space-between;margin-top:16px}
@media(max-width:700px){.calendar-dialog{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;padding:calc(22px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom));border-radius:0;overflow-y:auto}.calendar-dialog[open]{display:flex;flex-direction:column}.calendar-dialog h2{font-size:22px;margin-bottom:18px;padding-inline:20px}.calendar-dialog .dialog-close{top:calc(12px + env(safe-area-inset-top));left:16px;min-width:40px;min-height:40px}.calendar-mode{padding:12px}.calendar-heading,.calendar-weekdays,.calendar-days{width:100%;max-width:480px;margin-inline:auto}.calendar-heading{margin-top:18px;margin-bottom:18px}.calendar-weekdays{margin-bottom:12px}.calendar-days{gap:5px}.calendar-days button{font-size:18px;border-radius:8px}.calendar-selection{margin-top:20px;font-size:14px}.calendar-actions{margin-top:auto;padding-top:20px;position:sticky;bottom:0;background:#fff;gap:12px}.calendar-actions .button{min-height:46px;flex:1}.calendar-help{font-size:12px}}
@media(max-width:600px){.calendar-days button{font-size:16px}}
.calendar-dialog [hidden]{display:none!important}.calendar-direct{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.calendar-heading .calendar-direct button{width:auto;height:auto;min-height:44px;border-radius:8px;padding:4px 10px;font-size:16px}.calendar-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-height:52dvh;overflow-y:auto;padding:4px}.calendar-choice-grid button{min-height:44px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font:inherit}.calendar-choice-grid button[aria-pressed=true]{background:var(--brand);color:white}.calendar-choice-grid button[aria-current=true]{box-shadow:inset 0 0 0 2px var(--accent)}.calendar-choice-grid button:disabled{opacity:.35}.calendar-year-paging{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-block:12px}.calendar-year-paging button{min-width:44px;min-height:44px;border:1px solid var(--border);border-radius:8px;background:white}.calendar-dialog button:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
