.month-calendar{margin:36px 0;padding-top:24px;border-top:1px solid var(--border);min-width:0}
.calendar-toolbar,.calendar-options,.calendar-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.calendar-toolbar label{display:flex;align-items:center;gap:6px;font-size:13px}.calendar-toolbar select{min-width:0;padding:8px}
.calendar-toolbar button{min-height:40px}.calendar-options{padding:14px;margin:20px 0 8px;border:1px solid var(--border);border-radius:8px}
.calendar-options legend{font-size:13px;padding:0 6px}.calendar-options label{display:flex;align-items:center;gap:7px;font-size:13px;min-height:32px}.calendar-options input{accent-color:var(--accent)}
.calendar-status{font-size:12px;color:var(--muted);margin:12px 0;min-height:1.5em}
.calendar-region-options{margin:12px 0}.calendar-region-options label{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px}.calendar-region-options select{max-width:100%;min-width:0}.calendar-region-options select:disabled{opacity:.55}.badge-GB{background:#eae5f8;color:#5b3685}.badge-CA{background:#e3f1e9;color:#285b43}
.month-table{width:100%;table-layout:fixed;border-collapse:collapse;background:var(--white)}
.month-table caption{text-align:left;font-size:22px;font-weight:600;padding:12px 0}.month-table th{font-size:12px;padding:12px 0;background:var(--paper)}
.month-table td{border:1px solid var(--border);vertical-align:top;height:116px;padding:0}.month-table th:first-child,.month-table td:first-child .calendar-number{color:#af3030}.month-table th:last-child,.month-table td:last-child .calendar-number{color:#2856a1}
.calendar-day{display:flex;flex-direction:column;gap:5px;width:100%;min-height:116px;padding:10px;background:transparent;color:var(--ink);text-align:left;border:2px solid transparent;border-radius:0;overflow-wrap:anywhere}
.calendar-day:hover{background:var(--paper)}.calendar-day[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.calendar-day:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}.calendar-day[aria-current=date] .calendar-number{background:var(--accent);color:white;border-radius:20px;min-width:24px;text-align:center}
.calendar-number{font-size:15px;font-weight:600}.calendar-lunar{font-size:11px;color:var(--muted)}.calendar-badges{display:flex;gap:3px;flex-wrap:wrap;min-height:16px}.calendar-badge{font-size:10px;padding:1px 4px;border-radius:3px;background:#f4e7df;color:#753e20}.badge-US{background:#e6edf9;color:#284979}.badge-JP{background:#f5e4ec;color:#8d3454}
.calendar-holiday-name{font-size:11px;line-height:1.5}.calendar-detail{padding:20px;margin-top:16px;border:1px solid var(--border);border-radius:10px;background:var(--paper)}.calendar-detail h3{font-size:17px}.calendar-detail p,.calendar-detail li{font-size:13px;margin:8px 0}.calendar-detail ul{padding-left:20px}.calendar-actions{margin-top:16px}.calendar-actions button{font-size:12px}.calendar-list-heading{font-size:16px;margin:24px 0 12px}.calendar-holiday-list{padding-left:20px;font-size:13px}.calendar-holiday-list li{margin:8px 0}.calendar-holiday-list button{text-align:left;white-space:normal;overflow-wrap:anywhere;line-height:1.6}.calendar-notes{margin-top:24px;font-size:12px;color:var(--muted);line-height:1.8}.calendar-notes summary{cursor:pointer;font-size:14px}.calendar-notes p{margin-top:12px}.calendar-notes a{color:var(--accent);text-decoration:underline}
@media(max-width:600px){.calendar-toolbar{gap:8px}.calendar-toolbar label{font-size:12px}.calendar-toolbar select{padding:7px}.month-table td{height:94px}.calendar-day{padding:5px 2px;min-height:94px;gap:4px}.calendar-lunar{font-size:9px;letter-spacing:-.3px}.calendar-badge{font-size:8px;padding:1px 2px}.calendar-holiday-name{display:none}.calendar-number{font-size:13px}.calendar-detail{padding:14px}.calendar-options{gap:8px 14px}}
