.cal-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#fff;padding:18px;border-radius:12px;margin:20px 0}.cal-toolbar label{display:flex;gap:8px;align-items:center}.cal-toolbar select{padding:9px;border:1px solid #bccddd;border-radius:8px}.cal-grid,.cal-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#dce5ee}.cal-weekdays span{text-align:center;padding:12px;color:#435a70;background:#f5f8fc;font-weight:600}.cal-day{min-height:140px;background:#fff;padding:8px;min-width:0}.cal-current{background:#eef6ff;box-shadow:inset 0 0 0 2px #1475cc}.cal-outside{background:#f4f5f7}.cal-date{border:0;background:transparent;color:#243b53;font-weight:700;padding:6px}.cal-event{display:block;width:100%;text-align:left;padding:8px;border:0;border-left:4px solid;margin:6px 0;border-radius:6px;color:#19354c;white-space:normal;overflow-wrap:anywhere}.cal-event strong,.cal-event small{display:block;font-size:12px}.cal-event small{margin-top:4px;font-size:11px}.cal-blue{background:#e2f0ff;border-color:#0072b2}.cal-green{background:#dcf4ed;border-color:#007a5b}.cal-orange{background:#fff1d9;border-color:#a46600}.cal-purple{background:#f0eafa;border-color:#7852a8}.cal-legend{display:flex;gap:18px;flex-wrap:wrap;color:#435a70;font-size:12px;margin-top:16px}.cal-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;background:#fff;border:1px solid #dce5ee;border-radius:12px;padding:24px;margin:20px 0}.cal-form h2,.cal-form p,.cal-form>div{grid-column:1/-1}.cal-form label{display:flex;flex-direction:column;gap:7px}.cal-form input,.cal-form select,.cal-form textarea{padding:10px;border:1px solid #bccddd;border-radius:7px;min-width:0}.cal-agenda>div{display:flex;gap:20px;align-items:center;background:white;padding:12px;border-bottom:1px solid #dce5ee}.cal-agenda time{min-width:100px}@media(max-width:800px){#cal-board{overflow-x:auto}.cal-grid,.cal-weekdays{min-width:850px}.cal-form{grid-template-columns:1fr}.cal-agenda>div{flex-direction:column;align-items:stretch}}

.cal-day{max-height:240px;overflow-y:auto}.cal-weekdays{position:sticky;top:0}.cal-grid{align-items:stretch}

.cal-toolbar label,.cal-toolbar strong{min-width:0}.cal-toolbar strong{overflow-wrap:anywhere}
.cal-form label{min-width:0}.cal-date{min-width:44px;min-height:44px}
@media(max-width:560px){.cal-toolbar label{flex:1 1 130px;flex-direction:column;align-items:stretch}.cal-toolbar strong{flex-basis:100%}.cal-toolbar select{width:100%;min-width:0}.cal-form{padding:16px}.cal-legend{gap:10px}}

.cal-selected{margin-top:18px;padding:16px;background:#fff;border:1px solid #dce5ee;border-radius:10px}.cal-selected h2{font-size:18px}.cal-selected .muted{margin:16px 0 0}.cal-count{display:block;text-align:center;font-size:12px;color:#1469b8;font-weight:700}.cal-date[aria-pressed=true]{background:#1475cc;color:#fff;border-radius:7px}
@media(max-width:800px){#cal-board{overflow-x:visible}.cal-grid,.cal-weekdays{min-width:0}.cal-day{min-height:72px;max-height:none;overflow:visible;padding:2px}.cal-weekdays span{padding:9px 0;font-size:12px}.cal-date{display:block;width:100%;min-width:0;min-height:44px;padding:6px 0}.cal-toolbar{gap:8px;padding:12px}.cal-toolbar label{flex:1 1 110px;flex-direction:column;align-items:stretch}.cal-toolbar strong{flex-basis:100%}.cal-toolbar select{width:100%;min-width:0}.cal-selected .cal-event{min-height:44px}.cal-form>div{display:flex;gap:8px;flex-wrap:wrap}}

.cal-filters{flex:1 1 100%}.cal-filters summary{cursor:pointer;min-height:44px;padding:12px;color:#1469b8;font-weight:600}.cal-filter-fields{display:flex;gap:12px;flex-wrap:wrap}.cal-filter-fields label{flex:1 1 140px}.cal-help{font-size:12px;line-height:1.5}@media(max-width:800px){.cal-filter-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cal-toolbar{margin:12px 0}.cal-help{margin-bottom:10px}.cal-toolbar>button{padding:8px;min-height:44px}}

.cal-count .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cal-date:disabled{opacity:.5;cursor:default}@media(max-width:800px){.cal-selected h2{overflow-wrap:anywhere}.cal-day{position:relative}}
