.planner-workspace{display:grid;grid-template-columns:minmax(250px,300px) minmax(0,1fr);gap:24px;align-items:start}.planner-workspace>*{min-width:0}.planner-editor{padding:22px}.planner-editor label{margin-top:14px}.planner-editor select,.planner-editor input,.planner-editor textarea{width:100%;min-width:0}.planner-editor .check input{width:20px;flex:none}.planner-editor .fields{gap:12px}.planner-editor details{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.planner-editor button{white-space:normal;max-width:100%}.planner-actions{display:flex;gap:8px;flex-wrap:wrap}.planner-actions button{font-size:12px;white-space:normal;max-width:100%}.calendar-sheet{padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--panel);min-width:0}.calendar-sheet>header{margin-bottom:24px}.calendar-sheet h2{font-size:26px;overflow-wrap:anywhere}.calendar-sheet header p{font-size:12px;overflow-wrap:anywhere}.holiday-pending{color:var(--muted);font-size:12px;border-left:3px solid var(--accent);padding-left:10px}.calendar-months{display:grid;gap:24px}.calendar-sheet[data-view=year] .calendar-months{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-month{min-width:0}.calendar-month h3{text-transform:capitalize;font-size:16px;margin:0 0 12px}.calendar-month table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px}.calendar-month th{font-weight:600;color:var(--muted);font-size:11px;padding:8px 1px;text-align:center;overflow-wrap:anywhere}.calendar-month td{padding:1px;border:1px solid var(--line);vertical-align:top;height:72px}.calendar-month td.outside-month{color:var(--muted);opacity:.5;text-align:center;padding-top:10px}.calendar-month .iso-week{width:26px;font-size:10px}.calendar-day{border:0;border-radius:7px;display:flex;flex-direction:column;align-items:stretch;gap:5px;min-height:70px;padding:8px 4px;width:100%;font-size:13px;background:var(--panel);color:var(--text);min-width:0}.calendar-day .day-number{font-weight:700;text-align:center}.calendar-day .day-entry{font-size:10px;text-align:left;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.calendar-day.marked{background:var(--soft);box-shadow:inset 0 0 0 2px var(--accent)}.calendar-day[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:-2px}.calendar-day:hover{background:var(--soft)}.calendar-sheet[data-view=year] td{height:46px}.calendar-sheet[data-view=year] .calendar-day{min-height:44px;padding:5px 1px;gap:0}.calendar-sheet[data-view=year] .day-entry{text-align:center}.planner-full-entries{margin-top:30px;border-top:1px solid var(--line);padding-top:24px}.planner-full-entries h2{font-size:19px}.planner-entry{border-bottom:1px solid var(--line);padding:12px 0 20px}.planner-entry h3{font-size:14px}.entry-title,.entry-notes{white-space:pre-wrap;overflow-wrap:anywhere}.planner-entry .actions button{font-size:12px}.planner-error{padding:12px;border-left:3px solid var(--error);font-size:13px;overflow-wrap:anywhere}#cal-status{font-size:12px;color:var(--muted)}
@media(max-width:1050px){.planner-workspace{grid-template-columns:minmax(0,1fr)}.planner-editor .fields{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-month td{height:64px}.calendar-day{min-height:62px}}
@media(max-width:650px){.calendar-sheet[data-view=year] .calendar-months{grid-template-columns:minmax(0,1fr)}.calendar-sheet{padding:16px}.planner-editor{padding:18px}.calendar-day{font-size:12px}.calendar-month th{font-size:10px}}
@page calendar-a4-portrait{size:A4 portrait;margin:12mm}@page calendar-a4-landscape{size:A4 landscape;margin:12mm}@page calendar-a3-portrait{size:A3 portrait;margin:12mm}@page calendar-a3-landscape{size:A3 landscape;margin:12mm}@page calendar-letter-portrait{size:Letter portrait;margin:12mm}@page calendar-letter-landscape{size:Letter landscape;margin:12mm}
@media print{body>*:not(main),main>*:not(.planner-workspace),.planner-editor,.planner-preview>*:not(.calendar-sheet){display:none!important}html,body,main,.planner-workspace,.planner-preview{display:block!important;margin:0!important;padding:0!important;width:auto!important;max-width:none!important;background:#fff!important;color:#111!important}.calendar-sheet{page:calendar-a4-portrait;display:block!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;color:#111!important}.calendar-sheet[data-paper=A4][data-orientation=landscape]{page:calendar-a4-landscape}.calendar-sheet[data-paper=A3][data-orientation=portrait]{page:calendar-a3-portrait}.calendar-sheet[data-paper=A3][data-orientation=landscape]{page:calendar-a3-landscape}.calendar-sheet[data-paper=Letter][data-orientation=portrait]{page:calendar-letter-portrait}.calendar-sheet[data-paper=Letter][data-orientation=landscape]{page:calendar-letter-landscape}.calendar-sheet>header{margin-bottom:6mm}.calendar-sheet h2{font-size:18pt;color:#111!important;margin:0 0 3mm}.calendar-sheet p{color:#333!important}.calendar-sheet .holiday-pending{font-size:7pt;border-color:#095a47}.calendar-sheet .calendar-months{gap:6mm}.calendar-sheet[data-view=year] .calendar-months{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-sheet[data-view=year][data-orientation=landscape] .calendar-months{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-month{break-inside:avoid;page-break-inside:avoid}.calendar-month h3{font-size:10pt;margin:0 0 2mm}.calendar-month table{font-size:8pt}.calendar-month th,.calendar-month .iso-week{font-size:7pt;color:#333!important}.calendar-month td{height:18mm;border-color:#bbb}.calendar-day{min-height:17mm;padding:2mm 1mm;background:#fff!important;color:#111!important;border:0!important;border-radius:0!important;outline:none!important;font-size:10pt}.calendar-day.marked{background:#e3f3e9!important;box-shadow:inset 0 0 0 1px #095a47;print-color-adjust:exact;-webkit-print-color-adjust:exact}.calendar-day .day-entry{font-size:7pt}.calendar-sheet[data-view=year] td{height:5mm}.calendar-sheet[data-view=year] .calendar-day{min-height:4.5mm;padding:.4mm 0;display:block;font-size:7pt}.calendar-sheet[data-view=year] .day-entry{display:inline;font-size:6pt}.calendar-sheet[data-view=year] .day-number{margin-right:1px}.calendar-sheet[data-view=year] .outside-month{font-size:6pt;padding-top:1mm}.planner-full-entries{margin-top:6mm;padding-top:4mm}.planner-full-entries h2{font-size:12pt;break-after:avoid}.planner-entry h3{font-size:10pt;break-after:avoid}.planner-entry p{font-size:9pt;orphans:3;widows:3}.planner-entry .actions{display:none!important}.planner-entry{padding:2mm 0;border-color:#bbb}}
/* Public holiday dates remain distinct from private annotations, including in print. */
.calendar-day.has-holiday{box-shadow:inset 0 -3px 0 var(--accent)}.calendar-day .day-holiday{font-size:10px;line-height:1.25;text-align:left;overflow-wrap:anywhere}.calendar-sheet[data-view=year] .day-holiday{display:inline;font-size:10px;text-align:center}.planner-holidays{font-size:12px;overflow-wrap:anywhere;margin-top:20px}.planner-holidays ul{padding-left:18px}.planner-holidays li{margin:6px 0;break-inside:avoid}#cal-holiday-source{font-size:11px;overflow-wrap:anywhere}#cal-holiday-source p{margin:6px 0}#cal-holiday-source a{color:inherit;text-decoration:underline}
@media print{.calendar-day.has-holiday{box-shadow:none!important;border-bottom:1pt solid #111!important}.calendar-day .day-holiday{display:block!important;font-size:7pt;color:#111!important;overflow:visible}.calendar-sheet[data-view=year] .day-holiday{display:inline!important;font-size:6pt}.planner-holidays{font-size:8pt;color:#111!important}.planner-holidays h3{font-size:10pt}.planner-holidays li{break-inside:avoid}.calendar-sheet #cal-holiday-source p,.calendar-sheet #cal-holiday-source a{font-size:7pt;color:#333!important}}
