.cal-controls .clean-calendar-button{border-color:var(--appearance-border,#f1cb69);background:var(--appearance-raised,#fff9e8);color:var(--appearance-text,#132968);font-size:14px;white-space:nowrap;padding:10px 12px}.clean-calendar-button:hover{background:var(--appearance-gold-surface,#fff0be)}
#clean-calendar-dialog{width:min(980px,calc(100% - 28px));padding:24px;max-height:90vh}#clean-calendar-dialog [hidden]{display:none!important}.clean-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.clean-heading h2{font-size:24px;margin:0 0 8px}.clean-heading p{font-size:14px;color:var(--muted);margin:0 0 18px}.clean-close{background:none;border:0;font-size:26px;color:var(--navy);padding:0 6px}.clean-badge{display:inline-block;font-size:12px;color:var(--appearance-gold,#76520c);background:var(--appearance-gold-surface,#fff1bc);padding:4px 8px;border-radius:4px;margin-bottom:8px}.clean-access{background:var(--appearance-raised,#f0f7ff);border:1px solid var(--appearance-border,#d1e4ff);border-radius:7px;padding:12px 14px;margin-bottom:18px;font-size:14px;line-height:1.5}.clean-access p{margin:4px 0}.clean-access a{display:inline-block;margin:4px 16px 0 0}.clean-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.clean-options fieldset{min-width:0;border:0;padding:0;margin:0 0 14px}.clean-options legend{font-size:16px;font-weight:bold;margin-bottom:4px}.clean-options .clean-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.clean-options label{margin:8px 0;color:var(--navy);font-size:14px}.clean-options select,.clean-options input[type=month],.clean-options input[type=number]{font-size:15px;background:var(--appearance-surface,white);min-height:42px;color:var(--navy)}.clean-options .clean-check{display:flex;align-items:center;gap:9px;margin:10px 0}.clean-options .clean-check input{width:18px;height:18px;margin:0;accent-color:var(--blue);flex:0 0 auto}.clean-help{font-size:12px;color:var(--muted);line-height:1.45;margin:7px 0}.clean-preview{background:var(--appearance-raised,#f4f9ff);border:1px solid var(--appearance-border,#d6e6fc);border-radius:8px;padding:18px;align-self:start}.clean-preview h3{margin:0 0 12px;font-size:16px}.clean-sheet{background:var(--appearance-surface,white);border:1px solid var(--appearance-border,#d1dbea);box-shadow:0 3px 12px var(--appearance-shadow,#13296813);padding:14px;display:flex;flex-direction:column;aspect-ratio:11/8.5}.clean-sheet.portrait{aspect-ratio:8.5/11;max-width:290px;margin:auto}.clean-sheet h4{font-size:17px;margin:0 0 5px}.clean-sheet p{font-size:10px;margin:0 0 8px;color:var(--appearance-muted,#526483)}.clean-mini-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--appearance-border,#cbd8e9);border-left:1px solid var(--appearance-border,#cbd8e9);flex:1}.clean-mini-grid.with-weeks{grid-template-columns:18px repeat(7,minmax(0,1fr))}.clean-mini-grid span{font-size:9px;border-right:1px solid var(--appearance-border,#cbd8e9);border-bottom:1px solid var(--appearance-border,#cbd8e9);padding:3px;min-height:14px}.clean-mini-grid .mini-week{color:var(--appearance-muted,#6c7890);background:var(--appearance-raised,#f6f8fb)}.clean-mini-brand{font-size:8px;color:var(--appearance-muted,#718098);margin-top:8px}.clean-year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;flex:1}.portrait .clean-year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clean-year-grid.spacious{grid-template-columns:repeat(2,minmax(0,1fr))}.clean-year-month{min-width:0;display:flex;flex-direction:column}.clean-year-month b{font-size:9px;margin-bottom:4px}.clean-year-month .clean-mini-grid span{font-size:5px;padding:1px;min-height:8px}.clean-year-month .clean-mini-grid.with-weeks{grid-template-columns:10px repeat(7,minmax(0,1fr))}.clean-preview-summary{font-size:14px;color:var(--navy);line-height:1.5;margin:14px 0 0}.clean-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--appearance-border,#d5e6fa);padding-top:16px;margin-top:16px}.clean-footer button{border:1px solid var(--appearance-border,#c5dcfa);background:var(--appearance-surface,white);color:var(--blue);border-radius:6px;padding:11px 16px;font-size:15px}.clean-footer .primary{background:var(--appearance-primary,var(--blue));color:var(--appearance-inverse,white);margin:0}.clean-footer button:disabled{opacity:.5;cursor:not-allowed}.clean-actions{display:flex;gap:10px;flex-wrap:wrap}.clean-status{font-size:14px;line-height:1.4;color:var(--muted);margin:12px 0 0}.clean-status.error{color:var(--appearance-red,#a33436)}.clean-result{font-size:14px;background:var(--appearance-raised,#ecf9f2);padding:12px;border:1px solid var(--appearance-border,#bfe4d0);border-radius:6px;line-height:1.5;margin-top:14px}.clean-result a{margin-right:14px}.clean-options input:focus-visible,.clean-options select:focus-visible,#clean-calendar-dialog button:focus-visible{outline:3px solid var(--appearance-border,#a3c9ff);outline-offset:2px}@media(max-width:700px){.clean-layout{grid-template-columns:1fr}.clean-preview{max-width:450px;width:100%;margin:auto}#clean-calendar-dialog{padding:18px}.clean-heading h2{font-size:21px}}@media print{#clean-calendar-dialog,.clean-calendar-button{display:none!important}}

.clean-options .clean-range-label{grid-column:1/-1}
.clean-options select:disabled{color:var(--appearance-muted,#526483);background:var(--appearance-raised,#f3f6fa);opacity:1}
.clean-year-grid.four-months{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.clean-year-grid.all-months{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:7px}
.clean-year-grid .clean-year-month{min-height:0}
.clean-year-grid .clean-mini-grid{grid-auto-rows:minmax(0,1fr);min-height:0}
.clean-year-grid.all-months .clean-mini-grid span{font-size:5px;line-height:1;min-height:0;padding:0;display:flex;align-items:center;justify-content:center}
.clean-year-grid.all-months .clean-mini-grid.with-weeks{grid-template-columns:9px repeat(7,minmax(0,1fr))}
.clean-year-grid.all-months .clean-year-month b{font-size:8px;line-height:1;margin-bottom:3px}
.clean-sheet.one-page-year{padding:12px;overflow:hidden}
.clean-sheet.one-page-year h4{font-size:15px;margin-bottom:3px}
.clean-sheet.one-page-year p{font-size:8px;margin-bottom:6px}
.clean-sheet.one-page-year .clean-mini-brand{margin-top:6px;font-size:7px}

.clean-mini-grid .clean-holiday-date{background:var(--appearance-gold-surface,#fff5d6);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.clean-mini-grid .clean-holiday-name{display:block;font-size:6px;line-height:1.2;font-weight:400;margin-top:3px;overflow-wrap:anywhere;text-decoration:none}
#clean-preview-holidays.error{color:var(--appearance-red,#a33436)}
