.calendar-range-control{display:grid;gap:9px;min-width:235px;max-width:100%;font-size:12px;color:#63748b}
.calendar-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:45px;padding:10px 14px;background:#fff;border:1px solid #d9e2ef;border-radius:9px;color:#30435e;font-size:14px;font-weight:550;text-align:left;white-space:nowrap}
.calendar-trigger:hover{border-color:var(--accent);background:var(--panel-head)}.calendar-trigger-icon{font-size:20px;color:var(--accent-text)}
dialog.range-calendar-dialog{width:min(820px,calc(100vw - 32px));max-width:820px;max-height:92dvh;margin:auto;padding:26px 30px 22px;border:1px solid #dbe1ee;border-radius:19px;color:#28374e;box-shadow:0 24px 95px #13204138;overflow:auto}
.range-calendar-dialog::backdrop{background:#16213d66;backdrop-filter:blur(3px)}
.calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.calendar-heading h2{font-size:25px;letter-spacing:-.6px;line-height:1.4;margin:3px 0 0}.calendar-source{font-size:12px;color:var(--accent-text);font-weight:650}.calendar-heading>button{border:0;background:#f2f4f8;border-radius:50%;width:36px;height:36px;font-size:25px;color:#6a7b92;flex-shrink:0}
.calendar-explanation{color:#64758c;font-size:13px;line-height:1.8;max-width:690px;margin:13px 0 18px}
.calendar-presets{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:19px;border-bottom:1px solid #e8edf4}.calendar-presets .secondary{padding:9px 12px;font-size:12px;color:var(--accent-text);background:var(--panel-head);border-color:#e1dff0}
.calendar-navigation{display:flex;justify-content:space-between;align-items:center;margin:18px 0 6px;gap:12px}.calendar-navigation>button{border:1px solid #e0e5ef;border-radius:9px;background:#fff;color:#415c80;min-width:36px;min-height:36px;font-size:18px}.calendar-navigation>div{display:flex;gap:8px}.calendar-navigation select{border:1px solid #dce3ef;background:#fff;color:#30445f;border-radius:8px;padding:8px 11px;font-size:13px}
.calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:32px}.calendar-month{min-width:0}.calendar-month h3{margin:15px 0 18px;font-size:15px;font-weight:700;text-transform:capitalize}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekdays span{font-size:11px;text-align:center;color:#8b98ab;padding:0 0 9px}.calendar-day,.calendar-day-spacer{min-width:0;height:40px}
.calendar-day{position:relative;display:grid;place-items:center;border:0;border-radius:9px;background:#fff;color:#324965;font-size:14px;font-weight:600;padding:0;outline-offset:1px}.calendar-day.has-data{background:#f1f4fb}.calendar-day i{position:absolute;width:4px;height:4px;bottom:5px;left:calc(50% - 2px);border-radius:50%;background:#178877}.calendar-day.in-range{background:var(--accent-soft);border-radius:4px}.calendar-day.selected{background:var(--accent);color:#fff;border-radius:9px;box-shadow:0 3px 9px color-mix(in srgb,var(--accent) 22%,transparent)}.calendar-day.selected i{background:#fff}.calendar-day:hover:enabled{box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent-text)}.calendar-day.selected:hover:enabled{color:#fff}.calendar-day:disabled{color:#b5bfcd;background:#f8f9fb;opacity:1;cursor:default;font-weight:450;box-shadow:none}.calendar-day:disabled i{background:#bbc4d0}
.calendar-saved-periods{margin-top:20px;border-top:1px solid #e6ebf2;padding-top:17px}.calendar-saved-periods>strong{font-size:12px;color:#5c6f88}.calendar-saved-periods>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.calendar-saved-periods button{font-size:11px;padding:8px 10px;text-align:left;min-height:46px}.calendar-saved-periods small{display:block;margin-top:4px;color:#8796a9;font-size:10px}
.calendar-legend{display:flex;gap:19px;flex-wrap:wrap;color:#78889b;font-size:11px;margin:21px 0 15px}.calendar-legend>span{display:flex;gap:7px;align-items:center}.calendar-legend i{width:7px;height:7px;border-radius:50%;display:inline-block}.stored-dot{background:#178877}.missing-dot{background:#c6ced9}
.calendar-selection{border-top:1px solid #e4eaf3;padding-top:16px}.calendar-selection strong{font-size:17px;font-weight:650;font-variant-numeric:tabular-nums}.calendar-selection p{font-size:12px;color:#687c96;line-height:1.7;margin:7px 0 0;min-height:20px}.calendar-actions{display:flex;justify-content:flex-end;gap:10px;background:#fff;padding-top:17px}.calendar-actions button{min-height:44px;font-size:13px}
@media(max-width:820px){.filters .calendar-range-control{grid-column:1/-1;min-width:0}.calendar-range-control{min-width:0;grid-column:1/-1}.calendar-trigger{font-size:13px}.report-settings .calendar-range-control{grid-column:1/-1}dialog.range-calendar-dialog{padding:22px 18px 18px;width:calc(100vw - 22px);border-radius:15px}.calendar-months{gap:20px}.calendar-heading h2{font-size:22px}.calendar-day{height:37px;font-size:13px}.calendar-days{gap:3px}}
@media(max-width:620px){.calendar-months{grid-template-columns:1fr}.calendar-month+.calendar-month{border-top:1px solid #e7edf5;padding-top:9px}.calendar-day{height:41px}.calendar-actions{position:sticky;bottom:-18px;padding:15px 0 6px;box-shadow:0 -8px 14px #fff}.calendar-actions .primary{flex:1}.calendar-explanation{font-size:12px}.calendar-presets{gap:6px}.calendar-presets .secondary{font-size:11px;padding:9px}.calendar-month h3{font-size:16px}.calendar-trigger{min-height:46px}}
@media(max-width:820px){.filters>label:nth-child(3),.filters>#apply-dates{grid-column:1/-1}}
