/* Calendar components inherit the shared ISOK administrator palette. */
.isok-calendar-app { --cal-school: 96,165,250; --cal-regional: 52,211,153; --cal-province: 251,191,36; --cal-break: 192,132,252; --cal-special: 251,113,133; }
.isok-calendar-app [hidden] { display: none !important; }
.isok-calendar-app button, .isok-calendar-app input, .isok-calendar-app select { font-family: inherit; }
.isok-calendar-app button:focus-visible, .isok-calendar-app a:focus-visible, .isok-calendar-app summary:focus-visible { outline: 2px solid var(--isok-blue-ink, #93c5fd); outline-offset: 3px; }
.isok-calendar-app .cal-modal .close, .isok-calendar-app .cal-modal .close:hover, .isok-calendar-app .cal-modal .close:focus { color: var(--isok-ink, #fff); opacity: 1; text-shadow: none; }
.isok-calendar-app .cal-modal .close:focus:not(:focus-visible) { outline: none; }
.isok-calendar-app .isok-page-heading { gap: 24px; }
.isok-calendar-app .isok-page-heading p { max-width: 660px; }
.cal-heading-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; flex-shrink: 0; }
.cal-heading-actions > label { margin: 0; color: var(--isok-muted); font-size: 12px; }
.cal-heading-actions > select { width: 145px; }
.cal-notification { border: 1px solid #10b98160; background: #10b98115; color: var(--isok-green-ink, #a7f3d0); border-radius: 9px; padding: 12px 16px; margin: 0 0 20px; font-size: 13px; }
.cal-notification.is-error { border-color: #ef444460; background: #ef444415; color: var(--isok-red-ink, #fecaca); }
.cal-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 24px 0; }
.cal-metrics > div { min-width: 0; display: flex; align-items: center; gap: 16px; padding: 18px 20px; background: linear-gradient(135deg,var(--isok-surface),var(--isok-surface-soft)); border: 1px solid var(--isok-border); border-radius: 12px; }
.cal-metrics > div > div { min-width: 0; }
.cal-metrics span:not(.cal-metric-icon), .cal-metrics small { display: block; color: var(--isok-muted); font-size: 11px; }
.cal-metrics strong { display: block; font-size: 28px; letter-spacing: -.03em; margin: 1px 0; font-weight: 750; line-height: 1.35; }
.cal-metrics .cal-metric-next { font-size: 21px; margin: 5px 0; white-space: nowrap; }
.cal-metrics small { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.cal-metric-icon { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: rgba(var(--cal-color),.12); color: rgb(var(--cal-color)); font-size: 19px; flex-shrink: 0; }
.cal-school { --cal-color: var(--cal-school); }.cal-regional { --cal-color: var(--cal-regional); }.cal-province { --cal-color: var(--cal-province); }.cal-break { --cal-color: var(--cal-break); }.cal-special { --cal-color: var(--cal-special); }
.cal-filters { margin: 0 0 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.cal-types { display: flex; flex-wrap: wrap; gap: 6px; }
.cal-types button { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--isok-muted); font-size: 12px; font-weight: 600; cursor: pointer; }
.cal-types button:hover { background: var(--isok-shade-soft, #ffffff06); color: var(--isok-ink, #fff); }
.cal-types button.is-active { color: var(--isok-ink, #dbeafe); background: #3b82f619; border-color: #3b82f640; }
.cal-types button > span { border-radius: 4px; font-size: 10px; background: #3b82f630; padding: 1px 5px; }
.cal-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: rgb(var(--cal-color)); flex-shrink: 0; }
.cal-search-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.cal-search { position: relative; margin: 0; }
.cal-search i { position: absolute; top: 50%; transform: translateY(-50%); left: 13px; color: var(--isok-ink-soft, #7d8fab); font-size: 12px; }
.isok-calendar-app .cal-search input { width: 265px; padding-left: 35px; min-height: 38px; font-size: 12px; }
.isok-calendar-app #cal-status { min-height: 38px; font-size: 12px; width: 170px; }
.cal-clear { padding: 4px; border: 0; background: transparent; color: var(--isok-blue-ink, #93c5fd); font-size: 11px; }
.cal-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 20px; align-items: start; }
.cal-workspace { min-width: 0; background: var(--isok-surface); border: 1px solid var(--isok-border); border-radius: 13px; overflow: hidden; }
.cal-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding: 18px 20px; border-bottom: 1px solid var(--isok-border); }
.cal-period-controls { display: flex; align-items: center; gap: 8px; }
.isok-calendar-app .cal-period-controls h2 { margin: 0 4px; font-size: 20px; letter-spacing: -.025em; min-width: 156px; text-align: center; }
.cal-icon-button { width: 28px; height: 30px; padding: 0; border: 1px solid var(--isok-border); border-radius: 7px; background: transparent; color: var(--isok-muted); font-size: 10px; cursor: pointer; }
.cal-icon-button:disabled { opacity: .3; cursor: default; }.cal-icon-button:hover:not(:disabled) { color: var(--isok-ink, #fff); background: #3b82f61a; }
.cal-today { border: 1px solid var(--isok-border); background: transparent; color: var(--isok-muted); padding: 5px 10px; border-radius: 7px; font-size: 11px; }
.cal-view-switch { display: flex; background: var(--isok-bg); padding: 3px; border-radius: 8px; gap: 2px; }
.cal-view-switch button { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border: 0; border-radius: 6px; background: transparent; color: var(--isok-muted); font-size: 11px; cursor: pointer; }
.cal-view-switch button.is-active { background: var(--isok-paper, #334155); color: var(--isok-ink, #f1f5f9); box-shadow: 0 1px 3px #0002; }
.cal-month { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.cal-weekday { padding: 12px 7px; text-align: center; font-size: 10px; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; color: var(--isok-muted); background: var(--isok-surface-soft); }
.cal-day { min-width: 0; min-height: 121px; padding: 7px 6px 9px; border-top: 1px solid var(--isok-border); border-right: 1px solid var(--isok-border); position: relative; }
.cal-day:nth-child(7n) { border-right: 0; }.cal-day.is-weekend { background: var(--isok-paper-soft, #0f172a35); }.cal-day.is-outside { background: var(--isok-paper-soft, #0f172a60); }.cal-day.is-outside .cal-day-number { color: var(--isok-ink-soft, #61718c); }
.cal-day.is-today { background: #3b82f60a; box-shadow: inset 0 0 0 1px var(--isok-shadow, #3b82f680); z-index: 1; }
.cal-day-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 5px; gap: 2px; }
.cal-day-number { padding: 0; width: 26px; height: 26px; font-size: 12px; font-weight: 600; color: var(--isok-ink, #cbd5e1); display: inline-grid; place-items: center; border: 0; border-radius: 50%; background: transparent; }
button.cal-day-number { cursor: pointer; }button.cal-day-number:hover { background: #3b82f62a; }
.is-today .cal-day-number { background: #3b82f6; color: #fff; }
.cal-day-today { color: var(--isok-blue-ink, #93c5fd); font-size: 8px; font-weight: 600; overflow: hidden; }
.cal-event { width: 100%; min-width: 0; display: flex; align-items: flex-start; gap: 5px; margin: 3px 0 0; padding: 5px 6px; border: 1px solid transparent; border-left: 2px solid rgb(var(--cal-color)); border-radius: 5px; background: rgba(var(--cal-color),.10); color: rgb(var(--cal-color)); text-align: left; font-size: 10px; line-height: 1.35; cursor: pointer; }
.cal-event:hover { background: rgba(var(--cal-color),.20); border-color: rgba(var(--cal-color),.4); }
.cal-event > span { overflow-wrap: anywhere; }.cal-event-time { font-size: 9px; white-space: nowrap; font-weight: 700; }
.cal-event.is-cancelled { opacity: .6; text-decoration: line-through; }.cal-event.is-confirmed::after { content: "✓"; margin-left: auto; }
.cal-workspace-footer { display: flex; justify-content: space-between; gap: 12px; padding: 13px 20px; border-top: 1px solid var(--isok-border); color: var(--isok-muted); font-size: 10px; }.cal-workspace-footer i { margin-right: 4px; }
.cal-sidebar { display: grid; gap: 16px; min-width: 0; }
.cal-side-card { border: 1px solid var(--isok-border); border-radius: 12px; padding: 20px; background: var(--isok-surface); min-width: 0; }
.cal-side-title { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; }.cal-side-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 9px; color: var(--isok-blue-ink, #93c5fd); background: #3b82f615; font-size: 16px; flex-shrink: 0; }
.isok-calendar-app .cal-side-card h2 { font-size: 15px; margin: 0 0 5px; }.cal-side-card p { font-size: 11px; color: var(--isok-muted); margin: 0; line-height: 1.7; }
.cal-upcoming-item { display: flex; width: 100%; gap: 12px; align-items: center; border: 0; border-bottom: 1px solid var(--isok-border); color: var(--isok-text); background: transparent; text-align: left; padding: 13px 0; cursor: pointer; }.cal-upcoming-item:last-child { border-bottom: 0; padding-bottom: 0; }.cal-upcoming-item:hover strong { color: var(--isok-blue-ink, #bfdbfe); }
.cal-date-tile { width: 39px; flex-shrink: 0; text-align: center; border: 1px solid rgba(var(--cal-color),.25); border-radius: 7px; background: rgba(var(--cal-color),.08); color: rgb(var(--cal-color)); padding: 4px 0; }.cal-date-tile b { display: block; font-size: 18px; line-height: 1.2; }.cal-date-tile small { font-size: 9px; text-transform: uppercase; }
.cal-upcoming-text { min-width: 0; }.cal-upcoming-text strong { display: block; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }.cal-upcoming-text small { display: block; margin-top: 3px; color: var(--isok-muted); font-size: 10px; }
.cal-export-card { background: linear-gradient(145deg,var(--isok-surface),var(--isok-paper, #1b2b48)); }.cal-export-card > p { margin: 9px 0 15px; }.cal-export-card .isok-button { display: flex; width: 100%; justify-content: flex-start; font-size: 11px; margin-top: 8px; min-height: 38px; }
.cal-data-note { display: flex; gap: 10px; color: var(--isok-ink-soft, #8092ae); font-size: 10px; padding: 0 7px; }.cal-data-note i { margin-top: 4px; }.cal-data-note p { margin: 0; line-height: 1.65; }
.cal-empty { text-align: center; padding: 30px 16px; color: var(--isok-muted); font-size: 12px; }.cal-empty i { display: block; font-size: 23px; color: var(--isok-ink-soft, #64748b); margin-bottom: 12px; }.cal-side-card .cal-empty { padding: 16px 0; font-size: 11px; }
.cal-year-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; padding: 20px; }.cal-mini-month { min-width: 0; border: 1px solid var(--isok-border); border-radius: 9px; padding: 12px; background: var(--isok-surface-soft); }
.cal-mini-title { display: flex; justify-content: space-between; align-items: center; gap: 7px; margin-bottom: 12px; }.cal-mini-title button { color: var(--isok-ink, #dbeafe); background: transparent; border: 0; text-align: left; font-size: 13px; font-weight: 650; padding: 0; }.cal-mini-title span { font-size: 10px; color: var(--isok-muted); }
.cal-mini-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 3px; }.cal-mini-grid > span { text-align: center; font-size: 9px; color: var(--isok-ink-soft, #8293ae); padding: 2px; }.cal-mini-day { min-width: 0; height: 27px; display: grid; align-content: center; justify-items: center; gap: 2px; border: 1px solid transparent; border-radius: 5px; color: var(--isok-ink, #cbd5e1); background: transparent; font-size: 10px; padding: 0; }.cal-mini-day:hover { background: #3b82f615; }.cal-mini-day.is-today { background: #3b82f630; border-color: var(--isok-blue-ink, #3b82f6); color: #fff; }.cal-mini-day > span { display: flex; gap: 2px; }.cal-mini-day .cal-dot { width: 3px; height: 3px; }.cal-mini-day.has-events { background: var(--isok-shade-soft, #ffffff05); }
.cal-mini-events { border-top: 1px solid var(--isok-border); margin-top: 10px; padding-top: 7px; display: grid; gap: 5px; }.cal-mini-event { border: 0; background: transparent; color: var(--isok-muted); display: flex; gap: 7px; align-items: baseline; padding: 0; text-align: left; font-size: 9px; line-height: 1.4; }.cal-mini-event > b { color: rgb(var(--cal-color)); font-size: 9px; white-space: nowrap; }.cal-mini-event > span { overflow-wrap: anywhere; }.cal-mini-event:hover span { color: var(--isok-ink, #fff); }
.cal-agenda { padding: 6px 20px 20px; }.cal-agenda-month { margin: 22px 0 13px; font-size: 14px !important; }.cal-agenda-event { display: grid; grid-template-columns: 75px minmax(0,1fr) auto; width: 100%; align-items: center; gap: 14px; text-align: left; background: transparent; color: var(--isok-text); border: 0; border-top: 1px solid var(--isok-border); padding: 14px 0; cursor: pointer; }.cal-agenda-event:hover { background: #3b82f607; }.cal-agenda-date { color: var(--isok-ink, #cbd5e1); font-size: 11px; font-weight: 600; }.cal-agenda-date small { display: block; color: var(--isok-muted); font-size: 10px; font-weight: 400; margin-top: 3px; }.cal-agenda-text { min-width: 0; }.cal-agenda-text strong { display: block; font-size: 12px; overflow-wrap: anywhere; }.cal-agenda-text small { display: block; margin-top: 5px; color: var(--isok-muted); font-size: 10px; overflow-wrap: anywhere; }.cal-type-badge { display: inline-flex; align-items: center; gap: 5px; font-size: 9px; white-space: nowrap; color: rgb(var(--cal-color)); background: rgba(var(--cal-color),.09); padding: 4px 7px; border-radius: 5px; }.cal-cancelled-label { color: var(--isok-red-ink, #fda4af); font-size: 10px; }.cal-agenda-event.is-cancelled strong { text-decoration: line-through; opacity: .65; }
.cal-mobile-list, .cal-print-title { display: none; }
.isok-calendar-app .cal-modal .modal-dialog { max-width: 750px; }.cal-modal .modal-header { padding: 20px 24px; align-items: center; }.isok-calendar-app .cal-modal .modal-title { font-size: 23px; margin: 5px 0 0; }.cal-modal .modal-body { padding: 22px 24px; }.cal-modal .modal-footer { padding: 16px 24px; gap: 8px; }.cal-modal .modal-footer > * { margin: 0; }
.cal-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px 18px; }.cal-form-grid .cal-full { grid-column: 1/-1; }.cal-form-grid label { font-size: 12px; font-weight: 600; margin: 0; color: var(--isok-ink, #cbd5e1); min-width: 0; }.cal-form-grid label > span, .cal-form-hint > span { color: var(--isok-blue-ink, #93c5fd); }.cal-form-grid label > small { color: var(--isok-ink-soft, #8092ae); margin-left: 4px; font-size: 9px; font-weight: 400; }.cal-form-grid .form-control { font-size: 13px; margin-top: 6px; padding: 9px 11px; min-height: 40px; border-radius: 7px; }.cal-form-grid textarea { resize: vertical; }.cal-form-hint { margin: 15px 0 0; font-size: 10px; color: var(--isok-muted); }
.cal-form-error { border: 1px solid #ef444450; color: var(--isok-red-ink, #fecaca); background: #ef444415; padding: 12px; border-radius: 7px; font-size: 12px; margin-bottom: 16px; }.cal-reload-button { font-size: 12px; color: var(--isok-blue-ink, #93c5fd); padding: 0 0 15px; border: 0; background: transparent; text-decoration: underline; }.cal-delete-button { margin-right: auto !important; padding: 7px 0; border: 0; background: transparent; color: var(--isok-red-ink, #fda4af); font-size: 11px; cursor: pointer; }.cal-delete-button i { margin-right: 5px; }.cal-delete-button:hover { color: var(--isok-red-ink, #fecdd3); }
.cal-history { border-top: 1px solid var(--isok-border); padding-top: 15px; margin-top: 20px; }.cal-history summary { font-size: 12px; cursor: pointer; color: var(--isok-blue-ink, #93c5fd); }.cal-history summary i { margin: 0 6px; }.cal-history-content { margin-top: 12px; }.cal-history-item { border-left: 2px solid var(--isok-border); padding: 0 0 14px 15px; margin: 10px 0 0 6px; }.cal-history-item strong { display: block; font-size: 11px; }.cal-history-item small { display: block; color: var(--isok-muted); font-size: 10px; margin-top: 4px; }.cal-history-item p { margin: 5px 0 0; font-size: 11px; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--isok-ink, #cbd5e1); }
@media (max-width: 1250px) { .cal-heading-actions { max-width: 310px; }.cal-heading-actions > button { width: 100%; }.cal-layout { grid-template-columns: minmax(0,1fr) 265px; gap: 16px; }.cal-metrics > div { gap: 12px; padding: 16px; }.cal-metric-icon { width: 37px; height: 37px; font-size: 17px; }.cal-period-controls { gap: 5px; }.isok-calendar-app .cal-period-controls h2 { min-width: 145px; font-size: 18px; }.cal-year-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 950px) { .cal-layout { grid-template-columns: minmax(0,1fr); }.cal-sidebar { grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); }.cal-data-note { grid-column: 1/-1; }.cal-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }.cal-metrics > div { padding: 16px 20px; }.cal-year-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }.cal-heading-actions { max-width: 255px; }.cal-search-row { flex: 1; }.cal-search { flex: 1; }.isok-calendar-app .cal-search input { width: 100%; } }
@media (max-width: 650px) { .isok-calendar-app .isok-page-heading { display: block; }.cal-heading-actions { max-width: none; justify-content: flex-start; margin-top: 20px; gap: 8px; }.cal-heading-actions > label { width: 100%; }.cal-heading-actions > button { flex: 1; width: auto; padding: 10px 12px; min-width: 0; }.cal-metrics { gap: 10px; margin: 20px 0; }.cal-metrics > div { padding: 13px 12px; gap: 10px; }.cal-metric-icon { width: 32px; height: 32px; font-size: 14px; border-radius: 8px; }.cal-metrics strong { font-size: 25px; }.cal-metrics span:not(.cal-metric-icon) { font-size: 10px; }.cal-metrics small { font-size: 9px; }.cal-metrics .cal-metric-next { font-size: 16px; }.cal-types { gap: 4px; }.cal-types button { padding: 7px 8px; font-size: 11px; }.cal-search-row { width: 100%; }.cal-search { width: 100%; flex-basis: 100%; }.isok-calendar-app #cal-status { width: 100%; flex: 1; }.cal-toolbar { padding: 15px 12px; justify-content: center; }.cal-period-controls { width: 100%; justify-content: space-between; }.isok-calendar-app .cal-period-controls h2 { margin: 0; min-width: 0; font-size: 18px; }.cal-view-switch { width: 100%; }.cal-view-switch button { flex: 1; justify-content: center; padding: 8px 10px; }.cal-weekday { font-size: 9px; padding: 10px 2px; }.cal-day { min-height: 69px; padding: 4px 2px; }.cal-day-heading { justify-content: center; margin-bottom: 4px; }.cal-day-number { font-size: 11px; width: 23px; height: 23px; }.cal-day-today { display: none; }.cal-day .cal-event { width: 7px; height: 7px; display: inline-block; border: 0; border-radius: 50%; padding: 0; margin: 2px 2px 0; background: rgb(var(--cal-color)); vertical-align: top; }.cal-day .cal-event > span, .cal-day .cal-event::after { display: none; }.cal-mobile-list { display: block; padding: 0 13px 10px; }.cal-mobile-list .cal-agenda-month { font-size: 13px !important; margin-top: 18px; }.cal-agenda-event { grid-template-columns: 53px minmax(0,1fr); gap: 10px; padding: 12px 0; }.cal-agenda-event .cal-type-badge { grid-column: 2; justify-self: start; margin-top: -5px; }.cal-agenda-text strong { font-size: 11px; }.cal-workspace-footer { padding: 12px; font-size: 9px; }.cal-workspace-footer > span:last-child { display: none; }.cal-sidebar { grid-template-columns: minmax(0,1fr); }.cal-side-card { padding: 18px; }.cal-year-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 12px; }.cal-mini-month { padding: 9px; }.cal-mini-title { flex-wrap: wrap; gap: 4px; }.cal-mini-title button { font-size: 12px; }.cal-mini-title span { font-size: 8px; }.cal-mini-grid { gap: 0; }.cal-mini-day { height: 27px; font-size: 9px; }.cal-agenda { padding: 0 13px 13px; }.cal-modal .modal-header, .cal-modal .modal-body { padding: 17px; }.cal-modal .modal-footer { padding: 15px 17px; gap: 8px; }.cal-modal .modal-footer .isok-button { padding: 10px; font-size: 12px; }.cal-delete-button { width: 100%; text-align: left; }.cal-form-grid { gap: 13px 11px; }.cal-form-grid label > small { display: block; margin: 2px 0 -2px; }.cal-form-grid .form-control { font-size: 12px; padding: 9px 7px; }.cal-form-grid label { font-size: 11px; } }
@media print {
    @page { size: A4 landscape; margin: 9mm; }
    .isok-calendar-app { max-width: none; padding: 0; --isok-border: #cbd5e1; --isok-text: #0f172a; --isok-muted: #475569; --isok-surface: #fff; --isok-surface-soft: #f1f5f9; --isok-bg: #fff; }
    .isok-calendar-app .isok-page-heading, .cal-metrics, .cal-filters, .cal-sidebar, .cal-toolbar, .cal-workspace-footer, .cal-mobile-list, .cal-modal, .cal-notification { display: none !important; }
    .cal-layout { display: block; }.cal-workspace { border: 0; overflow: visible; }.cal-print-title { display: block; text-align: center; margin: 0 0 5mm; font-size: 18px; font-weight: 700; color: #0f172a; }
    .cal-month { border: 1px solid var(--isok-border); }.cal-day { min-height: 23mm; padding: 1mm; break-inside: avoid; }.cal-day .cal-event { display: flex; width: 100%; height: auto; margin: 1mm 0 0; border-left: 2px solid rgb(var(--cal-color)); border-radius: 3px; font-size: 8px; padding: 1mm; color: #0f172a !important; background: rgba(var(--cal-color),.17) !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }.cal-weekday { color: #334155; background: #f1f5f9 !important; padding: 2mm; }.cal-day-number { color: #0f172a !important; font-size: 10px; }.cal-day.is-outside .cal-day-number { color: #64748b !important; }.cal-day.is-today { box-shadow: inset 0 0 0 1px #3b82f6; }.is-today .cal-day-number { background: #dbeafe !important; }.cal-event > span { display: initial !important; }
    .cal-year-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 3mm; padding: 0; }.cal-mini-month { padding: 2mm; break-inside: avoid; }.cal-mini-title { margin-bottom: 2mm; }.cal-mini-title button { color: #0f172a !important; font-size: 11px; }.cal-mini-grid > span { color: #475569; }.cal-mini-day { height: 5mm; color: #0f172a !important; }.cal-mini-events { gap: 1mm; margin-top: 2mm; padding-top: 1mm; }.cal-mini-event { color: #0f172a !important; font-size: 7px; }.cal-mini-event > b { color: #0f172a !important; font-size: 7px; }
    .cal-agenda { padding: 0; }.cal-agenda-event { break-inside: avoid; color: #0f172a; padding: 2mm 0; }.cal-agenda-month { break-after: avoid; color: #0f172a; }.cal-agenda-text strong, .cal-agenda-date { color: #0f172a; }.cal-type-badge { color: #0f172a; background: rgba(var(--cal-color),.17); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
