
.cv-calendar{--cv-gridline:#344054;--cv-ink:#f2f6fe}
.cv-calendar .caltoolbar{margin:10px 0 13px;display:flex;justify-content:space-between;align-items:center}
.cv-month-title{font-size:clamp(21px,2.2vw,29px);font-weight:750;letter-spacing:-.04em;color:var(--text);padding:5px 2px;cursor:pointer}
.cv-month-title:hover{text-decoration:underline;text-underline-offset:5px}
.cv-calendar .calactions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.cv-calendar .calgrid{display:block!important;min-height:calc(100dvh - 180px);border-left:1px solid var(--line)}
.cv-calendar .calweekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cv-week{position:relative;isolation:isolate}
.cv-weekcells{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cv-calendar .calday{position:relative;min-height:max(118px,calc((100dvh - 235px)/6));padding:5px 5px 8px;overflow:hidden;cursor:crosshair;border-right:1px solid var(--cv-gridline);border-bottom:1px solid var(--cv-gridline);background:#151c2a}
.cv-calendar .calday.out{background:#101723;color:#7b879b}
.cv-calendar .calday.today{background:#1c2b45}
.cv-calendar .calday:hover{background:#222c3e}
.cv-calendar .daynum{margin:0 0 3px auto;font-size:13px;min-width:34px;height:34px;width:34px;position:relative;z-index:2}
.cv-calendar .calday.today .daynum{background:#9fbeff;color:#101c38}
.cv-calendar .calday:focus-within{outline:1px solid #a1c2ff;outline-offset:-1px}
.cv-empty{position:relative;min-height:var(--cv-spanhead,30px);margin-top:0;touch-action:pan-y;cursor:crosshair}
.cv-day-entries{position:relative;z-index:1}
.cv-calendar .cv-entry{display:flex;align-items:center;gap:3px;min-width:0;background:color-mix(in srgb,var(--cv-accent) 30%,#202a3d);color:var(--cv-ink);border-left:3px solid var(--cv-accent);border-radius:6px;font-size:12px;line-height:1.25;padding:3px 4px;cursor:grab}
.cv-calendar .cv-entry.calitem{font-size:clamp(10px,1vw,12px);width:100%;min-height:26px;max-height:35px;margin:3px 0;white-space:nowrap}
.cv-entry:active,.cv-span:active,.cv-agenda-item:active{cursor:grabbing}
.cv-entry .cv-check,.cv-poprow .cv-check,.cv-agenda-item .cv-check{flex:none;width:29px;height:29px;display:grid;place-items:center;border-radius:50%;color:#edf4ff;position:relative;z-index:2}
.cv-check:hover{background:#ffffff22}
.cv-entry .cv-open,.cv-poprow .cv-open,.cv-agenda-item .cv-open{flex:1;min-width:0;padding:1px 2px;text-align:left;color:inherit;display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.cv-entry .cv-open:hover,.cv-poprow .cv-open:hover{text-decoration:underline;text-decoration-color:#ffffff90}
.cv-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-weight:600}
.cv-rolled{display:block;width:100%;font-size:10px;color:#c9d4e7;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cv-completed{opacity:.57!important;filter:saturate(.52);background:#273144!important}
.cv-completed .cv-title{text-decoration:line-through;text-decoration-thickness:1.4px}
.cv-entrytime,.cv-subtime{font-size:10px;color:#e0ecff;white-space:nowrap;flex:none}
.cv-symbol{display:grid;place-items:center;flex:none}
.cv-spanlayer{position:absolute;pointer-events:none;z-index:3;left:0;right:0;top:41px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:24px;column-gap:0}
.cv-span{grid-column:var(--cv-column)/span var(--cv-span);grid-row:calc(var(--cv-lane) + 1);pointer-events:auto;display:block;min-width:0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-align:left;padding:3px 8px;background:color-mix(in srgb,var(--cv-accent) 76%,#202a3c);border:1px solid var(--cv-accent);border-left:4px solid var(--cv-accent);border-radius:5px;color:#111724;font-size:11px;font-weight:650;margin:1px 2px;cursor:grab}
.cv-calendar .moreevents{color:#b7d0ff;position:relative;z-index:3;font-size:11px;min-height:27px;padding:0 5px;border-radius:6px}
.cv-calendar .moreevents:hover{background:#2e3e5a}
#dayPop[data-testid="month-overflow-popup"]{width:min(460px,calc(100vw - 20px));max-height:min(480px,74dvh);background:#20293d;border-color:#7184ad;overflow:auto;box-shadow:0 24px 75px #000c;z-index:50}
.cv-poprow{display:flex;align-items:center;gap:6px;border-left:4px solid var(--cv-accent);padding:6px 8px;margin:5px 0;border-radius:7px;background:color-mix(in srgb,var(--cv-accent) 20%,#283248);min-width:0}
.cv-poprow .cv-open{flex-direction:column;align-items:start;gap:0}
.cv-poprow .cv-rolled{font-size:10px}
.cv-location{color:#c7d7ee;display:inline-flex;gap:3px;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;max-width:180px;min-width:0}
.cv-video{display:inline-grid;place-items:center;min-width:30px;min-height:30px;border-radius:8px;color:#b7d2ff;flex:none}
.cv-video:hover{background:#ffffff20}
.cv-timegrid{height:calc(100dvh - 175px);min-height:420px;max-height:none!important;overflow:hidden!important;display:flex;flex-direction:column;background:#131c2b}
.cv-timehead,.cv-allday{display:grid;grid-template-columns:64px repeat(var(--cv-cols,7),minmax(0,1fr));border-bottom:1px solid #3d495d}
.cv-timehead{flex:none;min-height:47px;background:#202b3c;position:relative;z-index:5}
.cv-timehead .cv-time-day{padding:8px 3px;border-left:1px solid #37465e;font-size:12px;text-align:center;color:#c3d0e5}
.cv-timehead .cv-time-day.today{background:#35578b;color:#fff;font-weight:700;border-bottom:3px solid #a7c6ff}
.cv-allday{flex:none;max-height:152px;overflow-y:auto;background:#192338;min-height:46px}
.cv-alllabel{padding:11px 4px;font-size:11px;color:#a6b9d3}
.cv-allcell{border-left:1px solid #344054;min-height:46px;min-width:0;padding:3px}
.cv-allcell .cv-entry{max-height:30px;overflow:hidden;margin:3px 0}
.cv-scrolltime{flex:1;min-height:0;overflow:auto;display:flex;position:relative;overscroll-behavior:contain;scrollbar-gutter:stable}
.cv-hourlabels{width:64px;min-width:64px;height:1440px;position:sticky;left:0;z-index:3;background:#151c2a}
.cv-hourlabels span{position:absolute;right:6px;font-size:10px;color:#8fa1b9;transform:translateY(-50%)}
.cv-timecolumns{display:flex;min-width:0;flex:1}
.cv-daycolumn{position:relative;height:1440px;min-width:55px;flex:1;border-left:1px solid #354055;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 14px,#2b3b5275 14px,#2b3b5275 15px,transparent 15px,transparent 59px,#43516a80 59px,#43516a80 60px)}
.cv-quarterslot{position:absolute;left:0;right:0;height:15px;z-index:0;cursor:crosshair}
.cv-quarterslot:hover{background:#567cae55}
.cv-timeevent{position:absolute;left:3px;right:3px;min-height:26px;z-index:2;display:flex;align-items:start;gap:3px;padding:3px 5px;background:color-mix(in srgb,var(--cv-accent) 34%,#243452);border:1px solid color-mix(in srgb,var(--cv-accent) 70%,#5b6b80);border-left:4px solid var(--cv-accent);border-radius:6px;overflow:hidden;cursor:grab;color:#f5f8ff}
.cv-timeevent .cv-open{font-size:11px;font-weight:650;min-width:0;flex:1;text-align:left;padding:0;line-height:1.25;overflow:hidden}
.cv-timeevent .cv-title{font-weight:650}
.cv-timeevent .cv-check{width:24px;height:24px;padding:0}
.cv-timeevent .cv-location{font-size:10px;max-width:90px}
.cv-timeevent .cv-video{min-width:20px;min-height:23px}
.cv-agenda{max-width:100%;padding-bottom:28px}
.cv-agenda .agendaday{padding:9px 0;border-bottom:1px solid #2d3c52}
.cv-agenda .dateheading{color:#d4e2f8;font-size:15px;margin:0 0 9px}
.cv-agenda-item{border-left:4px solid var(--cv-accent);border-radius:9px;background:color-mix(in srgb,var(--cv-accent) 14%,#1b2637);margin:5px 0;padding:10px 12px;display:flex;align-items:center;gap:10px;min-height:48px}
.cv-agenda-item .cv-open{text-align:left;display:flex;flex-direction:column;align-items:start;min-width:0}
.cv-agenda-item .cv-open b{font-size:13px}
.cv-agenda-item .when{width:55px;min-width:55px;text-align:center;font-variant-numeric:tabular-nums}
.cv-agenda-item .cv-recurs{font-size:11px;color:#b5c5dd}
.cv-agenda-item .cv-agenda-marker{color:var(--cv-accent)}
.cv-agenda-prev,.cv-agenda-next{display:flex;margin:12px auto}
.cv-backdrop{position:fixed;inset:0;z-index:210;background:#050916ca;display:grid;place-items:center;padding:14px}
.cv-confirm,.cv-time-popup{background:#202a40;border:1px solid #6c80a9;box-shadow:0 28px 90px #000c;border-radius:17px;padding:18px;width:min(440px,calc(100vw - 28px));max-height:80dvh;overflow:auto}
.cv-confirm h3{margin:0 0 12px}
.cv-confirm .cv-scopeoptions{display:grid;gap:10px;margin:14px 0}
.cv-time-popup{display:flex;flex-direction:column;gap:12px}
.cv-time-options{height:min(260px,45dvh);overflow:auto;border:1px solid #394863;border-radius:9px;padding:4px}
.cv-time-options button{display:block;width:100%;padding:9px 12px;text-align:left;border-radius:6px;min-height:36px}
.cv-time-options button:hover,.cv-time-options [aria-selected="true"]{background:#3d5681}
.cv-time-search{min-height:43px}
.cv-colors{display:flex;flex-wrap:wrap;gap:10px}
.cv-colors .colorcircle{width:39px;height:39px;box-shadow:inset 0 0 0 1px #ffffff70}
.cv-colors .colorcircle[aria-pressed="true"]{outline:3px solid white;outline-offset:3px}
.cv-editor-menu{position:absolute;top:62px;right:18px;z-index:14;display:grid;width:220px;padding:6px;background:#25334c;border:1px solid #65799d;border-radius:12px;box-shadow:0 16px 40px #0008}
.cv-editor-menu button{display:flex;gap:10px;align-items:center;text-align:left;border-radius:8px;padding:12px}
.cv-editor-menu button:hover{background:#354969}
.cv-pin-glyph{width:24px;height:24px;display:grid;place-items:center;overflow:visible}
.cv-pin-glyph .icon{width:20px;height:20px;overflow:visible}
.cv-history summary{cursor:pointer;padding:10px 0}
.cv-priority-dot{width:14px;height:14px;border-radius:5px;flex:none}
@media(min-width:651px){.cv-timegrid .cv-timehead,.cv-timegrid .cv-allday{--cv-cols:7}}
@media(max-width:650px){
 .cv-calendar .caltoolbar{align-items:flex-start;gap:8px}
 .cv-calendar .cv-weekcells .calday{min-height:max(92px,calc((100dvh - 245px)/6));padding:3px 2px}
 .cv-calendar .calday .daynum{height:27px;width:27px;font-size:11px}
 .cv-empty{min-height:var(--cv-spanhead,30px)}
 .cv-calendar .cv-entry.calitem{font-size:10px;min-height:24px;padding:1px 2px}
 .cv-calendar .cv-entry .cv-check{width:23px;height:23px}
 .cv-entry .cv-symbol{display:none}
 .cv-spanlayer{top:35px;grid-auto-rows:24px}
 .cv-span{font-size:10px;padding:3px}
 .cv-timegrid{height:calc(100dvh - 188px)}
 .cv-timegrid:has(.cv-timehead .cv-time-day:nth-child(8)) .cv-timecolumns{min-width:560px}
 .cv-timegrid:has(.cv-timehead .cv-time-day:nth-child(8)) .cv-timehead,.cv-timegrid:has(.cv-timehead .cv-time-day:nth-child(8)) .cv-allday{min-width:624px}
 .cv-agenda-item{gap:5px;padding:7px 5px}
 .cv-agenda-item .when{width:42px;min-width:42px;font-size:10px}
 .cv-agenda-item .cv-location{max-width:70px}
}
@media(prefers-reduced-motion:reduce){.cv-calendar *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.cv-allday{position:relative;padding-bottom:calc(var(--cv-weeklanes,0)*25px);overflow:visible}
.cv-allday .cv-allcell{position:relative;z-index:1}
.cv-weekspans{position:absolute;left:64px;right:0;top:3px;display:grid;grid-template-columns:repeat(var(--cv-cols),minmax(0,1fr));grid-auto-rows:24px;pointer-events:none;z-index:4}
.cv-weekspans .cv-span{pointer-events:auto}
.cv-timegrid .cv-weekspans{min-height:0}
