.dc-calendar{--cal-line:#53708655;--cal-accent:#38bdf8;--cal-fill:#102335;border:1px solid var(--cal-line);border-radius:16px;padding:16px;margin:12px 0;background:var(--cal-fill);color:#e6eff7}.light-mode .dc-calendar{--cal-line:#b5c8d8;--cal-fill:#fff;color:#132c40}.dc-cal-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.dc-cal-heading h2,.dc-cal-heading h3{margin:0}.dc-cal-heading h2{font-size:18px}.dc-cal-heading small,.dc-cal-caption{opacity:.75;font-size:12px}.dc-cal-heading small{display:block;margin-top:5px}.dc-cal-modes,.dc-cal-radar{display:flex;gap:6px;flex-wrap:wrap}.dc-cal-radar{margin:16px 0}.dc-cal-radar b{margin-left:5px}.dc-cal-navigation{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:14px 0}.dc-cal-navigation h3{margin:0;text-align:center;font-size:17px}.dc-cal-navigation button{min-width:44px;min-height:44px;font-size:24px}.dc-cal-weekdays,.dc-cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.dc-cal-weekdays span{text-align:center;font-size:11px;padding:6px 0;opacity:.7}.dc-cal-day{font:inherit;color:inherit;background:transparent;border:1px solid var(--cal-line);border-radius:9px;padding:8px;min-width:0;min-height:82px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px}.dc-cal-day>span:first-child{display:flex;justify-content:space-between;font-size:12px;gap:2px}.dc-cal-day i{font-style:normal}.dc-cal-day>b{font-size:18px}.dc-cal-day.today{border-color:var(--cal-accent)}.dc-cal-day.today>span:first-child{color:#38bdf8;font-weight:800}.light-mode .dc-cal-day.today>span:first-child{color:#08628b}.dc-cal-day.selected{background:#38bdf822;outline:2px solid var(--cal-accent);outline-offset:-2px}.dc-cal-day.outside{opacity:.5}.dc-cal-day.selected.outside{opacity:1}.dc-cal-load{height:4px;background:#53708633;border-radius:3px;margin-top:auto;display:block;overflow:hidden}.dc-cal-load i{display:block;height:100%;background:var(--cal-accent)}.dc-cal-alert{color:#ff987c}.light-mode .dc-cal-alert{color:#b52d11}.dc-cal-agenda{border-top:1px solid var(--cal-line);margin-top:14px;padding-top:16px}.dc-cal-agenda>.dc-cal-heading{margin-bottom:10px}.dc-cal-agenda h3{font-size:16px}.dc-cal-job{display:flex;align-items:center;justify-content:space-between;gap:12px;font:inherit;text-align:left;color:inherit;background:transparent;border:1px solid var(--cal-line);border-left:4px solid #38bdf8;border-radius:10px;width:100%;padding:12px;margin:8px 0;cursor:pointer}.dc-cal-job.progress{border-left-color:#fb923c}.dc-cal-job.done{border-left-color:#4ade80}.dc-cal-job.cancelled{border-left-color:#94a3b8}.dc-cal-job-main{min-width:0;display:grid;gap:5px;overflow-wrap:anywhere}.dc-cal-job-main span,.dc-cal-job small{font-size:12px;opacity:.8}.dc-cal-job-meta{display:grid;gap:5px;text-align:right;flex-shrink:0;font-size:11px}.dc-cal-job-meta b{font-size:11px}.dc-calendar button:focus-visible{outline:3px solid #fb923c;outline-offset:2px}.dc-calendar button:hover{filter:brightness(1.12)}@media(max-width:500px){.dc-calendar{padding:10px}.dc-cal-day{padding:5px;min-height:69px}.dc-cal-weekdays,.dc-cal-days{gap:3px}.dc-cal-day>span:first-child{font-size:11px}.dc-cal-day>b{font-size:16px}.dc-cal-heading h2{font-size:16px}.dc-cal-navigation h3{font-size:15px}.dc-cal-job{gap:8px;padding:10px}.dc-cal-job-main strong{font-size:13px}.dc-cal-job-meta{max-width:100px}.telus-view-toggle{flex-wrap:wrap}}

/* Compact calendar controls and a readable weekly overview. */
.dc-cal-top{align-items:flex-start;flex-wrap:nowrap}.dc-cal-filters{position:relative;flex:0 0 auto}.dc-cal-filters>summary{list-style:none;cursor:pointer;border:1px solid var(--cal-line);border-radius:10px;background:#142b40;color:inherit;padding:9px 12px;font-size:12px;font-weight:750;white-space:nowrap}.dc-cal-filters>summary::-webkit-details-marker{display:none}.dc-cal-filter-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:25;width:min(290px,80vw);padding:14px;border:1px solid var(--cal-line);border-radius:12px;background:#102335;box-shadow:0 12px 30px #0008}.dc-cal-filter-panel>strong{display:block;font-size:11px;letter-spacing:.04em;margin-bottom:8px}.dc-cal-filter-panel>strong:not(:first-child){margin-top:15px}.dc-cal-filter-panel .dc-cal-radar{margin:0}.dc-cal-filter-panel .btn{min-height:38px}.light-mode .dc-cal-filters>summary,.light-mode .dc-cal-filter-panel{background:#fff;color:#132c40}.dc-cal-week-view .dc-cal-day{min-height:95px}.dc-cal-week-view .dc-cal-day>b{font-size:20px}.dc-cal-week-view .dc-cal-day.today{background:#38bdf81b}.dc-cal-week-view .dc-cal-agenda{margin-top:8px}.dc-cal-caption{margin:9px 0}.dc-cal-navigation{margin:12px 0 5px}@media(max-width:500px){.dc-cal-week-view .dc-cal-day{min-height:78px;padding:6px 4px}.dc-cal-week-view .dc-cal-day>b{font-size:18px}.dc-cal-week-view .dc-cal-weekdays span{font-size:10px}.dc-cal-top h2{font-size:17px}.dc-cal-top small{font-size:11px}}

/* Calendar clarity and compact day details */
.dc-calendar{position:relative;--cal-tile:#1c3548}.light-mode .dc-calendar{--cal-tile:#e8f0f6}
.dc-cal-day{background:var(--cal-tile);border-color:#7791a777;transition:background .14s,border-color .14s;min-height:76px}
.dc-cal-day>span:first-child{font-size:15px;font-weight:750}
.dc-cal-day>b{align-self:flex-start;background:#314f66;border-radius:7px;padding:2px 7px;font-size:17px;line-height:1.35}
.light-mode .dc-cal-day>b{background:#c9dce9;color:#153449}
.dc-cal-day.today{border:2px solid var(--cal-accent);background:#1b4155}
.light-mode .dc-cal-day.today{background:#d8edf8}
.dc-cal-day.selected{outline:2px solid var(--cal-accent)}
.dc-cal-summary{border:1px solid var(--cal-line);border-radius:10px;margin-top:12px;background:#ffffff08}
.dc-cal-summary>summary{cursor:pointer;list-style:none;padding:9px 12px;font-size:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.dc-cal-summary>summary::-webkit-details-marker{display:none}
.dc-cal-summary>summary b{color:var(--cal-accent)}
.dc-cal-summary>summary span{margin-left:auto}
.dc-cal-summary-actions{display:flex;gap:6px;padding:0 10px 10px;flex-wrap:wrap}
.dc-cal-popover{position:relative;z-index:3;background:#193247;border:1px solid #7898ad;border-radius:14px;box-shadow:0 12px 28px #0005;margin:12px 0;padding:12px}
.light-mode .dc-cal-popover{background:#f4f9fc;color:#132c40}
.dc-cal-popover .dc-cal-heading{margin-bottom:4px}
.dc-cal-popover h3{font-size:15px}
.dc-cal-dismiss{background:transparent;border:0;color:inherit;font-size:26px;line-height:1;min-width:36px;min-height:36px;cursor:pointer}
.dc-cal-popover-list{max-height:310px;overflow-y:auto;overscroll-behavior:contain}
.dc-cal-popover .dc-cal-job{padding:9px;margin:6px 0}
@media(max-width:500px){.dc-cal-day{padding:5px 3px;min-height:67px}.dc-cal-day>span:first-child{font-size:13px}.dc-cal-day>b{font-size:14px;padding:2px 5px}.dc-cal-load{height:3px}.dc-cal-summary>summary{font-size:11px}}

/* Contemporary light calendar tiles with date-first hierarchy. */
.dc-calendar{--cal-ink:#183044;--cal-tile:#f1eee5}
.dc-cal-day,.light-mode .dc-cal-day{position:relative;background:#f1eee5;color:var(--cal-ink);border:1px solid #d5d5d0;min-height:88px;padding:9px;gap:4px}
.dc-cal-day.dc-cal-empty,.light-mode .dc-cal-day.dc-cal-empty{background:#e8e7e1;color:#536474}
.dc-cal-day.dc-cal-upcoming,.light-mode .dc-cal-day.dc-cal-upcoming{background:#e0edf3;border-color:#b8d2df}
.dc-cal-day.dc-cal-due-today,.light-mode .dc-cal-day.dc-cal-due-today{background:#d7eddf;border-color:#9fc8ae}
.dc-cal-day.dc-cal-overdue,.light-mode .dc-cal-day.dc-cal-overdue{background:#f4dfd8;border-color:#dfb4a7}
.dc-cal-day.dc-cal-completed,.light-mode .dc-cal-day.dc-cal-completed{background:#e0eee3;border-color:#b4d2bc}
.dc-cal-day>span:first-child,.light-mode .dc-cal-day>span:first-child{font-size:clamp(19px,3vw,26px);line-height:1.05;font-weight:800;color:#183044}
.dc-cal-day.today,.light-mode .dc-cal-day.today{border:2px solid #2a829e}
.dc-cal-day.today>span:first-child,.light-mode .dc-cal-day.today>span:first-child{color:#125a74}
.dc-cal-day>b,.light-mode .dc-cal-day>b{position:absolute;bottom:9px;right:8px;align-self:auto;background:#ffffffb8;color:#1b3547;border:1px solid #a4b4bd99;border-radius:8px;padding:2px 6px;font-size:15px;font-weight:800;line-height:1.2;min-width:23px;text-align:center}
.dc-cal-day.dc-cal-empty>b{display:none}
.dc-cal-day .dc-cal-load{display:none}
.dc-cal-day.outside{opacity:.65}
.dc-cal-day.selected{outline:2px solid #227ca2;outline-offset:-3px}
@media(max-width:500px){.dc-cal-day,.light-mode .dc-cal-day,.dc-cal-week-view .dc-cal-day{min-height:70px;padding:6px 4px}.dc-cal-day>span:first-child,.light-mode .dc-cal-day>span:first-child{font-size:21px}.dc-cal-day>b,.light-mode .dc-cal-day>b{bottom:5px;right:4px;font-size:13px;padding:2px 4px;min-width:19px}.dc-cal-day i{font-size:10px}}

/* Month-first header and tighter grid spacing. */
.dc-cal-header{display:flex;align-items:center;gap:8px;justify-content:space-between}
.dc-cal-header .dc-cal-navigation{flex:1;min-width:0;margin:0;justify-content:flex-start;gap:7px}
.dc-cal-header .dc-cal-navigation h3{font-size:17px;flex:0 1 auto;white-space:nowrap}
.dc-cal-header .dc-cal-navigation button{min-width:34px;min-height:36px;padding:2px 8px;font-size:22px}
.dc-cal-header .dc-cal-filters{margin-left:auto}
.dc-cal-header .dc-cal-filters>summary{padding:8px 10px}
.dc-cal-weekdays span{padding:4px 0}
.dc-cal-weekdays,.dc-cal-days{gap:4px}
.dc-cal-summary{margin-top:8px}
.dc-cal-caption{margin:6px 0}
@media(max-width:500px){.dc-calendar{padding:8px}.dc-cal-header .dc-cal-navigation{gap:3px}.dc-cal-header .dc-cal-navigation h3{font-size:14px}.dc-cal-header .dc-cal-navigation button{min-width:28px;min-height:32px;padding:0 5px}.dc-cal-header .dc-cal-filters>summary{padding:7px;font-size:11px}.dc-cal-weekdays,.dc-cal-days{gap:3px}}

/* Centered calendar navigation and optional theme-aware pastel palettes. */
.dc-cal-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:5px}
.dc-cal-header .dc-cal-navigation{grid-column:2;justify-content:center;min-width:0;gap:12px}
.dc-cal-header .dc-cal-navigation h3{font-size:18px;font-weight:800}
.dc-cal-header .dc-cal-header-actions{grid-column:3;justify-self:end;display:flex;align-items:center;gap:5px;min-width:0}
.dc-cal-palette-button{min-width:32px;min-height:34px;border:1px solid var(--cal-line);border-radius:9px;background:#ffffff15;color:inherit;font-size:19px;cursor:pointer}
.dc-calendar{--cal-neutral:#e4edf3;--cal-border:#b8cad6;--cal-upcoming:#f8e8d7;--cal-upcoming-border:#e3c7a7}
.dc-cal-palette-blue{--cal-neutral:#dcebf7;--cal-border:#a8c6db}
.dc-cal-palette-slate{--cal-neutral:#dfe6ea;--cal-border:#b5c3cc}
.dc-cal-palette-sand{--cal-neutral:#f0e8da;--cal-border:#d4c5ad}
.dc-cal-day.dc-cal-empty,.light-mode .dc-cal-day.dc-cal-empty{background:var(--cal-neutral);border-color:var(--cal-border)}
.dc-cal-day.dc-cal-upcoming,.light-mode .dc-cal-day.dc-cal-upcoming{background:var(--cal-upcoming);border-color:var(--cal-upcoming-border)}
.dc-cal-day.dc-cal-due-today,.light-mode .dc-cal-day.dc-cal-due-today{background:#d9eee2}
.dc-cal-day.dc-cal-overdue,.light-mode .dc-cal-day.dc-cal-overdue{background:#f3dcd7}
.dc-cal-day.dc-cal-completed,.light-mode .dc-cal-day.dc-cal-completed{background:#dceee2}
@media(max-width:500px){.dc-cal-header .dc-cal-navigation{gap:3px}.dc-cal-header .dc-cal-navigation h3{font-size:14px}.dc-cal-palette-button{min-width:27px;min-height:30px;font-size:16px}.dc-cal-header .dc-cal-header-actions{gap:3px}}

/* Date-anchored floating agenda, not an inline section. */
.dc-cal-popover,.light-mode .dc-cal-popover{position:fixed;z-index:10050;margin:0;max-height:65dvh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 18px 45px #0009;border:1px solid #91b1c5}
.dc-cal-popover-list{min-height:0;max-height:none;overflow-y:auto}
.dc-cal-popover .dc-cal-job{flex-shrink:0}


/* Keep navigation and tone/filter controls in independent, non-overlapping rows. */
.dc-cal-header{grid-template-columns:minmax(0,1fr);gap:8px}
.dc-cal-header .dc-cal-navigation{grid-column:1;grid-row:1;width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:8px;box-sizing:border-box}
.dc-cal-header .dc-cal-navigation h3{min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:center;line-height:1.25}
.dc-cal-header .dc-cal-navigation button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px;margin:0;padding:0;line-height:1}
.dc-cal-header .dc-cal-header-actions{grid-column:1;grid-row:2;justify-self:end;gap:8px}
.dc-cal-palette-button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;line-height:1}
@media(min-width:620px){.dc-cal-header{grid-template-columns:minmax(0,1fr) auto;gap:12px}.dc-cal-header .dc-cal-header-actions{grid-column:2;grid-row:1}}


/* Quiet, date-first calendar matching the compact board controls. */
.dc-calendar{--cal-fill:#101c35;--cal-line:#ffffff0d;--cal-tile:#111b32;--cal-ink:#b8c0d0;--cal-accent:#efb437;border-radius:20px;padding:16px;color:#e7ebf3}
.light-mode .dc-calendar{--cal-fill:#f4f6fa;--cal-line:#21395718;--cal-tile:#e9edf4;--cal-ink:#48576b;--cal-accent:#a76b00;color:#203049}
.dc-cal-palette-blue{--cal-fill:#10253a;--cal-tile:#142b42}
.dc-cal-palette-slate{--cal-fill:#202833;--cal-tile:#26313e}
.dc-cal-palette-sand{--cal-fill:#302b25;--cal-tile:#383127}
.light-mode .dc-cal-palette-blue{--cal-fill:#edf5fc;--cal-tile:#dfeaf5}
.light-mode .dc-cal-palette-slate{--cal-fill:#edf0f3;--cal-tile:#e1e6eb}
.light-mode .dc-cal-palette-sand{--cal-fill:#f6f1e8;--cal-tile:#ece5d9}
.dc-cal-header{grid-template-columns:minmax(0,1fr) auto;gap:10px}
.dc-cal-header .dc-cal-navigation{grid-template-columns:36px minmax(0,1fr) 36px;gap:6px}
.dc-cal-header .dc-cal-navigation button{width:36px;min-width:36px;max-width:36px;height:38px;min-height:38px;border:1px solid var(--cal-line);border-radius:14px;background:#0002;color:inherit}
.dc-cal-header .dc-cal-navigation h3{font-size:clamp(11px,2.9vw,16px);line-height:1.3;overflow-wrap:normal}
.dc-cal-header .dc-cal-header-actions{grid-column:2;grid-row:1}
.dc-cal-header .dc-cal-filters>summary{display:flex;align-items:center;gap:5px;padding:10px 12px;font-size:12px;border-radius:15px;background:#0002}
.dc-cal-filters>summary span{color:var(--cal-accent)}
.dc-cal-filter-panel{background:var(--cal-fill)}
.dc-cal-filter-panel .dc-cal-palette-button{float:right;margin-top:-24px}
.dc-cal-summary{margin:14px 0 18px;border-radius:16px;background:#0001}
.dc-cal-summary>summary{padding:10px 12px;gap:4px;font-size:12px}
.dc-cal-summary>summary b:nth-of-type(2){color:#e77b85}
.dc-cal-summary>summary b:nth-of-type(3){color:#80a9e5}
.dc-cal-weekday{display:none}
.dc-cal-days,.dc-cal-weekdays{gap:6px}
.dc-cal-day,.light-mode .dc-cal-day,
.dc-cal-day:is(.dc-cal-empty,.dc-cal-upcoming,.dc-cal-due-today,.dc-cal-overdue,.dc-cal-completed),
.light-mode .dc-cal-day:is(.dc-cal-empty,.dc-cal-upcoming,.dc-cal-due-today,.dc-cal-overdue,.dc-cal-completed){background:var(--cal-tile);border:1px solid var(--cal-line);color:var(--cal-ink);border-radius:13px}
.dc-cal-day>span:first-of-type,.light-mode .dc-cal-day>span:first-of-type{color:inherit;font-size:22px;font-weight:800;line-height:1.15}
.dc-cal-day>b,.light-mode .dc-cal-day>b{background:#ffffff0c;border:0;color:inherit;border-radius:999px;font-size:12px}
.dc-cal-day.dc-cal-overdue>b,.light-mode .dc-cal-day.dc-cal-overdue>b{color:#e77b85}
.dc-cal-day:is(.today,.selected),.light-mode .dc-cal-day:is(.today,.selected){border:2px solid var(--cal-accent);background:color-mix(in srgb,var(--cal-accent) 9%,var(--cal-tile));outline:none;color:var(--cal-accent)}
.dc-cal-day.today>span:first-of-type,.light-mode .dc-cal-day.today>span:first-of-type{color:var(--cal-accent)}
.dc-cal-day:is(.today,.selected)>b,.light-mode .dc-cal-day:is(.today,.selected)>b{background:var(--cal-accent);color:var(--cal-fill)}
.dc-cal-week-view .dc-cal-weekdays{display:none}
.dc-cal-week-view .dc-cal-day{min-height:100px;align-items:center;justify-content:flex-start;gap:12px;padding:12px 2px;border-radius:18px}
.dc-cal-week-view .dc-cal-weekday{display:block;font-size:10px;font-weight:700;text-transform:uppercase;line-height:1}
.dc-cal-week-view .dc-cal-day>b{position:static;align-self:center;margin-top:auto;min-width:20px;padding:2px 5px;font-size:12px;box-sizing:border-box}
.dc-cal-week-view .dc-cal-day.outside{opacity:1}
.dc-cal-caption{text-align:center;margin:16px 0 0;font-size:12px}
.dc-cal-caption+.dc-cal-caption{margin-top:5px;font-size:10px;opacity:.5}
@media(max-width:380px){.dc-calendar{padding:10px}.dc-cal-header{gap:5px}.dc-cal-header .dc-cal-navigation{grid-template-columns:28px minmax(0,1fr) 28px;gap:3px}.dc-cal-header .dc-cal-navigation button{width:28px;min-width:28px;max-width:28px}.dc-cal-header .dc-cal-filters>summary{padding:10px 7px;font-size:11px}.dc-cal-days{gap:4px}.dc-cal-week-view .dc-cal-day{min-height:90px;border-radius:14px}.dc-cal-week-view .dc-cal-weekday{font-size:9px}.dc-cal-summary>summary{font-size:10px;padding:9px 7px;gap:3px}}
