.cal-page{display:grid;gap:18px;min-width:0;color:var(--ink)}
.cal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cal-header h2{margin:0;font-size:24px;letter-spacing:-.025em;text-transform:none;color:var(--ink)}
.cal-nav,.cal-views,.cal-toolbar,.cal-google-actions{display:flex;align-items:center;gap:8px}
.cal-heading{min-width:190px;text-align:center;text-transform:capitalize;font-size:16px}
.cal-views{margin-left:auto}
.cal-page button{font:inherit;cursor:pointer}
.cal-page button:disabled{opacity:.55;cursor:wait}
.cal-views .is-active{background:color-mix(in srgb,var(--accent) 11%,var(--card));border-color:var(--accent);color:var(--accent)}
.cal-toolbar{justify-content:flex-end;flex-wrap:wrap}
.cal-filter{display:grid;gap:4px;min-width:180px}
.cal-filter select{min-height:42px;padding:8px 34px 8px 11px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font:inherit;max-width:100%}
.cal-board{min-width:0}
.cal-weekdays,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cal-weekdays{padding:0 0 8px;color:var(--muted);font-size:12px;text-align:center}
.cal-cell{min-width:0;min-height:132px;padding:8px;border:1px solid var(--line);margin:-.5px 0 0 -.5px;background:var(--card);overflow:hidden}
.cal-cell.is-outside{background:color-mix(in srgb,var(--muted) 4%,var(--card));color:var(--muted)}
.cal-cell.is-today{box-shadow:inset 0 0 0 2px var(--accent)}
.cal-date{display:block;margin-bottom:6px;font-size:12px;font-weight:650;font-variant-numeric:tabular-nums}
.cal-event{display:grid;gap:2px;margin:4px 0;padding:5px 7px;border-radius:6px;background:color-mix(in srgb,var(--accent) 9%,var(--card));color:var(--ink);text-decoration:none;font-size:11px;line-height:1.3;overflow-wrap:anywhere}
.cal-event:hover{text-decoration:underline;text-underline-offset:2px}
.cal-event:focus-visible,.cal-page button:focus-visible,.cal-filter select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.cal-doc{background:color-mix(in srgb,var(--green) 10%,var(--card))}
.cal-event-detail,.cal-event-customer,.cal-event-state,.cal-event-contract{color:var(--muted);font-size:10px}
.cal-conditions{border:1px solid var(--line);border-radius:10px;background:var(--card);padding:10px 14px}
.cal-conditions-summary{cursor:pointer;color:var(--ink);font-size:13px;font-weight:650}
.cal-condition-contract{margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}
.cal-condition-heading{margin:0 0 5px;font-size:12px;color:var(--ink)}
.cal-condition-contract .cal-event{margin-left:8px}
.cal-more,.cal-no-events{display:block;color:var(--muted);font-size:11px;padding:4px}
.cal-more{border:0;background:transparent;text-align:left;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line)}
.cal-mobile-agenda{display:none}
.cal-day{min-width:0;min-height:240px;padding:10px;border:1px solid var(--line);margin-left:-1px}
.cal-day-head{font-size:12px;font-weight:650;margin-bottom:10px}
.cal-empty,.cal-error{padding:22px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--muted);text-align:center}
.cal-error p{margin:0 0 12px;color:var(--ink)}
.cal-google{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--card)}
.cal-google-copy{display:grid;gap:4px}.cal-google-copy strong{font-size:14px}.cal-google-actions{flex-wrap:wrap;justify-content:flex-end}
.cal-page :focus-visible{outline-offset:3px}
@media(max-width:800px){.cal-cell{min-height:100px;padding:5px}.cal-event{font-size:10px;padding:4px}.cal-day{min-height:210px;padding:7px}}
@media(max-width:600px){
 .cal-page{gap:14px}.cal-header{align-items:flex-start}.cal-header h2{font-size:21px}
 .cal-nav{width:100%;justify-content:space-between;order:2}.cal-heading{min-width:0;flex:1;font-size:14px}.cal-views{margin-left:auto;order:1}.cal-views .chip{min-height:40px;padding:8px 10px;font-size:12px}
 .cal-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cal-filter{min-width:0}.cal-filter select{width:100%;font-size:12px}
 .cal-board:not(.is-week) .cal-weekdays,.cal-board:not(.is-week) .cal-grid{display:none}.cal-board:not(.is-week) .cal-mobile-agenda{display:block}
 .cal-agenda-date{font-size:13px;margin:16px 0 7px}.cal-agenda-date:first-child{margin-top:0}.cal-mobile-agenda .cal-event{font-size:12px;padding:9px 10px;margin:6px 0}
 .cal-week{display:block}.cal-day{min-height:0;padding:10px 0;border:0;border-bottom:1px solid var(--line);margin:0}.cal-day-head{font-size:13px;margin:0 0 7px}.cal-day .cal-event{font-size:12px;padding:8px 10px;margin:6px 0}
 .cal-google{align-items:flex-start;flex-direction:column}.cal-google-actions{width:100%;justify-content:flex-start}.cal-google-actions .chip{min-height:44px}
}
@media(prefers-reduced-motion:reduce){.cal-page *{scroll-behavior:auto!important;transition:none!important}}
