.cal{margin:8px 0}
.cal-h,.cal-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal-h span{text-align:center;font:700 11px system-ui,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--mut,#4a5075);padding:4px 0}
.cal-d{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:46px;border:1px solid var(--line,#d3cfc4);border-radius:var(--r,8px);background:var(--card,#fff);color:var(--ink,#0b0f2a);text-decoration:none;font-size:14px}
.cal-d.x{border:0;background:none}
.cal-d.empty{opacity:.45;background:transparent}
.cal-d i{font-style:normal;font-size:11px;font-weight:700}
a.cal-d:hover{outline:2px solid var(--accent,#d4148a)}
.cal-d.ok{border-color:#2f9e6e;background:#e3f7ef;color:#0a4d36}
.cal-d.bad{border-color:#d4688f;background:#fde6f0;color:#8a0b4a}
.cal-d.sel{outline:3px solid var(--accent,#d4148a);outline-offset:1px}
.cal-d.today b{text-decoration:underline}
.cal-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 6px}
.cal-nav b{font-size:16px}
.pill{display:inline-block;border-radius:999px;padding:3px 12px;font-size:12px;font-weight:700}
.pill.ok{background:#d9f5ea;color:#0a6b4c}.pill.bad{background:#fde0ee;color:#a10f55}.pill.off{background:#e6e6ee;color:#3f4668}
