.calendar{margin:20px auto;padding:20px;border:1px solid var(--line);border-radius:16px;max-width:520px}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin:16px 0;gap:10px}.calendar-header strong{font-family:Manrope,sans-serif;font-size:17px}.calendar-nav{display:flex;gap:8px}.calendar-nav button{width:44px;height:44px;background:#f2f6fa;border:0;border-radius:9px;color:var(--navy);font-size:22px}.calendar-nav button:disabled{opacity:.35;cursor:default}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekday{font-size:12px;text-align:center;color:var(--muted);padding:7px 0}.calendar-day{border:0;border-radius:9px;min-height:49px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#edf5f4;color:#234d4c;font-weight:600;font-size:14px}.calendar-day::after{content:'';display:block;width:4px;height:4px;border-radius:50%;background:#6c9690}.calendar-day.soon{background:#fff0c8;color:#6e4a03}.calendar-day.soon::after{background:#bb8527}.calendar-day:hover:not(:disabled){box-shadow:0 0 0 2px #9db7cf}.calendar-day[aria-pressed=true]{background:var(--navy);color:white;box-shadow:0 0 0 2px #123b6122}.calendar-day[aria-pressed=true]::after{background:var(--gold)}.calendar-day:disabled{background:#f7f8fa;color:#bbc5cf;cursor:default}.calendar-day:disabled::after{visibility:hidden}.calendar-day.closed{background:#edf0f3;color:#8b98a5;text-decoration:line-through}.calendar-legend{display:flex;flex-wrap:wrap;gap:15px;margin:16px 0 10px;font-size:12px;color:var(--muted)}.legend-key{display:flex;align-items:center;gap:7px}.legend-key i{width:11px;height:11px;border-radius:3px;background:#c9e1dc}.legend-key.amber i{background:#f3ca6b}.legend-key.closed i{background:#d8dfe5}.date-feedback{margin-top:14px;border-radius:10px;padding:13px 15px;background:#eef5fb;font-size:14px;line-height:1.5}.date-feedback.soon{background:#fff4d7}.date-feedback strong{display:block;margin-bottom:3px}.priority-box{margin:18px auto;max-width:520px;padding:1px 16px;border-radius:12px;background:#edf5fc;border:1px solid #d2e4f3}.priority-box .checkbox-label{align-items:center;justify-content:center;text-align:center}.priority-box .note{display:inline-block;margin:4px 0 0;font-size:13px}@media(max-width:400px){.calendar{padding:13px}.calendar-grid{gap:4px}.calendar-day{min-height:44px}.weekday{font-size:11px}.calendar-header strong{font-size:16px}}
