/* Shared campaign identity. Status colours keep their existing meaning. */
[data-campaign-accent="Medicare"],[data-campaign-accent="medicare"],[data-stats-campaign="Medicare"],[data-stats-campaign="medicare"]{--campaign-accent:#24AFD9;}
[data-campaign-accent="ACA"],[data-campaign-accent="aca"],[data-stats-campaign="ACA"],[data-stats-campaign="aca"]{--campaign-accent:#A68BEF;}
[data-campaign-accent="Medicaid Meals"],[data-campaign-accent="meals"],[data-stats-campaign="Medicaid Meals"],[data-stats-campaign="meals"]{--campaign-accent:#FFE36E;}
[data-campaign-accent="Oak Street"],[data-campaign-accent="oak-street"],[data-stats-campaign="Oak Street"],[data-stats-campaign="oak-street"]{--campaign-accent:#57C5A4;}
[data-campaign-accent="Pedicure"],[data-campaign-accent="pedicure"],[data-campaign-accent="Foot Care"],[data-campaign-accent="foot-care"],[data-stats-campaign="Pedicure"],[data-stats-campaign="pedicure"],[data-stats-campaign="Foot Care"],[data-stats-campaign="foot-care"]{--campaign-accent:#EC8FAB;}

.ov-hours-card h3,.ov-card-title h3{color:var(--ov-color,#edf7fc)}
.ov-sla-item{border-left:3px solid var(--ov-color,transparent);padding-left:12px}
.ov-hours-card .ov-unused-button{color:var(--ov-color,#24AFD9)!important}
.qo-schedule h3,.qo-identity h3{color:var(--qo-color,#edf7fc)}
.cw-campaign[data-campaign-accent],.tool-card[data-campaign-accent]:not([data-campaign-accent=""]),.admin-workspace-picker[data-campaign-accent]:not([data-campaign-accent=""]){border-top:3px solid var(--campaign-accent);}
.cw-campaign[data-campaign-accent] strong,.tool-card[data-campaign-accent] h2{color:var(--campaign-accent)}
.cw-campaign[data-campaign-accent] .cw-open-report{border-color:var(--campaign-accent);color:var(--campaign-accent)}
.stats-campaign[data-campaign-accent]{border-left:3px solid var(--campaign-accent);padding-left:16px}
.stats-campaign[data-campaign-accent] .stats-campaign-link{color:var(--campaign-accent)!important}
.stats-campaign-tabs [data-stats-campaign]:not([data-stats-campaign=""]){border-top:3px solid var(--campaign-accent)}
.stats-campaign-tabs [data-stats-campaign]:not([data-stats-campaign=""])[aria-pressed="true"]{background:var(--campaign-accent)!important;border-color:var(--campaign-accent)!important;color:#082332!important}
.rv-campaigns [data-campaign-accent]{border-top:3px solid var(--campaign-accent)!important}
.rv-campaigns [data-campaign-accent][aria-pressed="true"]{background:color-mix(in srgb,var(--campaign-accent) 18%,#102c3b)!important;border-color:var(--campaign-accent)!important;color:var(--campaign-accent)!important}
.rv-library[data-campaign-accent] .rv-intro{border-left:3px solid var(--campaign-accent);padding-left:14px}
.ce-editor[data-campaign-accent]{--ce-accent:var(--campaign-accent)}
.ce-editor[data-campaign-accent] .ce-header{border-bottom:3px solid var(--campaign-accent)!important;padding-bottom:18px;margin-bottom:10px}
.ce-editor[data-campaign-accent] .ce-campaign select{color:var(--campaign-accent)!important}
.ce-editor[data-campaign-accent] .ce-tabs [aria-selected="true"]{color:var(--campaign-accent)!important;border-bottom-color:var(--campaign-accent)!important}
.ce-editor[data-campaign-accent] .ce-add button{color:var(--campaign-accent);border-color:var(--campaign-accent)}
.ce-editor[data-campaign-accent] .ce-save button{background:var(--campaign-accent)!important;border-color:var(--campaign-accent)!important;color:#082332!important}
.ce-editor[data-campaign-accent] .ce-item[aria-selected="true"]{border-color:var(--campaign-accent)}

.work-period-switch{display:flex;flex-wrap:wrap;gap:8px}.work-period-switch button{padding:10px 16px;border:1px solid var(--ad-border,#547482);border-radius:8px;background:var(--ad-surface,#102c3b);color:var(--ad-text,#edf7fc);font:inherit;font-weight:700;cursor:pointer}.work-period-switch button[aria-pressed="true"]{background:#24AFD9;color:#082332;border-color:#24AFD9}.work-period-switch button:focus-visible{outline:3px solid #7adfff;outline-offset:3px}

/* Schedule cards use the full campaign colour; other reporting cards retain their status colours. */
#ov-hours-grid .ov-hours-card,.qo-schedule{
 --schedule-colour:var(--ov-color,var(--qo-color,#24AFD9));
 background:var(--schedule-colour);
 background:linear-gradient(145deg,var(--schedule-colour),color-mix(in srgb,var(--schedule-colour) 82%,white));
 border:1px solid var(--schedule-colour);border-top:4px solid var(--schedule-colour);
 color:#082332;box-shadow:0 7px 20px #00000016;
}
#ov-hours-grid .ov-hours-card :is(h3,strong,small),.qo-schedule :is(h3,strong,small){color:#082332}
#ov-hours-grid .ov-hours-card h3,.qo-schedule h3{font-weight:800}
#ov-hours-grid .ov-hours-card small,.qo-schedule small{color:#082332}

/* Campaign schedule identities: clear logos, one prominent time range and compact regular-day details. */
#ov-hours-grid .ov-hours-card,.qo-schedule{position:relative;display:flex;flex-direction:column;gap:0;padding:22px;border-radius:20px;border-top-width:1px;box-shadow:0 10px 26px #00000018,inset 0 1px 0 #ffffff50;overflow:hidden;min-width:0}
.campaign-schedule-identity{display:flex;align-items:center;gap:14px;margin-bottom:24px;min-height:64px}
.campaign-schedule-identity img{display:block;width:64px;height:64px;flex:0 0 64px;object-fit:contain;border-radius:16px;box-shadow:0 4px 12px #08233224;outline:1px solid #ffffff70}
#ov-hours-grid .campaign-schedule-identity h3,.qo-schedule .campaign-schedule-identity h3{margin:0;font-size:18px;font-weight:800;line-height:1.25;letter-spacing:-.02em;overflow-wrap:normal}
#ov-hours-grid .campaign-schedule-hours,.qo-schedule .campaign-schedule-hours{display:block;font-size:20px;font-weight:800;line-height:1.4;letter-spacing:-.025em;font-variant-numeric:tabular-nums;margin:0 0 18px}
.campaign-schedule-footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:14px;border-top:1px solid #08233228;min-height:40px}
.campaign-schedule-days{display:inline-flex;align-items:center;border-radius:8px;padding:5px 10px;background:#ffffff45;font-size:12px;line-height:1.4;font-weight:750;letter-spacing:.02em;color:#082332}
#ov-hours-grid .campaign-schedule-footer small,.qo-schedule .campaign-schedule-footer small{font-size:12px;line-height:1.5;margin:0}
#ov-hours-grid .campaign-schedule-note,.qo-schedule .campaign-schedule-note{font-size:12px;line-height:1.5;margin:0 0 14px}
@media(max-width:1240px){#ov-hours-grid,.qo-schedules{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){#ov-hours-grid,.qo-schedules{grid-template-columns:repeat(2,minmax(0,1fr))}#ov-hours-grid .ov-hours-card,.qo-schedule{padding:18px}.campaign-schedule-identity{gap:11px;margin-bottom:18px}.campaign-schedule-identity img{width:56px;height:56px;flex-basis:56px;border-radius:14px}#ov-hours-grid .campaign-schedule-identity h3,.qo-schedule .campaign-schedule-identity h3{font-size:17px}#ov-hours-grid .campaign-schedule-hours,.qo-schedule .campaign-schedule-hours{font-size:18px}}
@media(max-width:460px){#ov-hours-grid,.qo-schedules{grid-template-columns:1fr}}

/* Soft concentric curves echo the campaign overview banners. */
#ov-hours-grid .ov-hours-card,.qo-schedule{
 isolation:isolate;
 background:radial-gradient(ellipse at 12% 0%,#ffffff24,transparent 68%),linear-gradient(145deg,var(--schedule-colour),color-mix(in srgb,var(--schedule-colour) 92%,white));
 border-color:color-mix(in srgb,var(--schedule-colour) 78%,white);
 box-shadow:0 14px 28px #010d1647,0 3px 7px #010d1626,inset 0 1px 1px #ffffff75,inset 0 -1px 0 #0823321a;
}
#ov-hours-grid .ov-hours-card::before,.qo-schedule::before{
 content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;
 background:radial-gradient(circle at 112% -5%,transparent 0 105px,#08233217 106px,#ffffff0b 107px 155px,#08233214 156px,#ffffff12 157px 205px,#0823320e 206px,#ffffff0b 207px 255px,transparent 256px);
}
#ov-hours-grid .ov-hours-card>*,.qo-schedule>*{position:relative;z-index:1}
.campaign-schedule-identity img{box-shadow:0 7px 14px #08233232,0 2px 3px #0823321a;outline:1px solid #ffffff9c}
.campaign-schedule-days{background:linear-gradient(180deg,#ffffff60,#ffffff36);box-shadow:inset 0 1px 0 #ffffff75,0 2px 4px #08233212}

/* Mandatory lunch applies to Medicare and ACA only. */
.campaign-schedule-lunch{margin:0 0 14px;padding:10px 12px;border:1px solid #ffffff65;border-radius:11px;background:#ffffff40;box-shadow:inset 0 1px 0 #ffffff50;color:#082332}
.campaign-schedule-lunch>span{display:block;font-size:11px;font-weight:750;line-height:1.4;margin-bottom:3px}
#ov-hours-grid .campaign-schedule-lunch strong,.qo-schedule .campaign-schedule-lunch strong{font-size:15px;line-height:1.4;margin:0;font-weight:800}
#ov-hours-grid .campaign-schedule-lunch small,.qo-schedule .campaign-schedule-lunch small{font-size:11px;line-height:1.4;margin:3px 0 0}

/* Admin uses the same eligible below-target cohort as the QC overview. */
.ov-agent-support{border-top:1px solid var(--ad-border,#547589);margin-top:2px}
.ov-support-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px 8px}.ov-support-heading h4{font-size:14px;line-height:1.5;margin:0;color:var(--ad-ink,#edf6fb)}
.ov-support-toggle{border:1px solid var(--ad-border,#547589);border-radius:11px;color:var(--ad-ink,#edf6fb);background:var(--ad-panel,#112d3c);width:42px;height:42px;font-size:20px;font-weight:700;cursor:pointer}
.ov-support-order,.ov-support-empty{font-size:12px;line-height:1.6;color:var(--ad-muted,#b0c9d8);padding:0 22px 15px;margin:0}
.ov-support-table-wrap{overflow:auto}.ov-support-table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}.ov-support-table th{font-size:12px;background:#173648;color:var(--ad-muted,#b0c9d8);font-weight:700;text-align:left}.ov-support-table :is(th,td){padding:15px 18px;border-top:1px solid #54758955;line-height:1.45}.ov-support-table .ov-support-name{font-weight:700;width:45%;color:var(--ad-ink,#edf6fb)}.ov-support-table td{font-variant-numeric:tabular-nums}
.ov-support-table th button{font:inherit;color:inherit;background:none;border:0;padding:5px 0;cursor:pointer;text-align:left;white-space:nowrap}.ov-support-table th[aria-sort=ascending]{color:var(--ov-color,#24AFD9)}.ov-agent-support button:focus-visible{outline:3px solid #7adfff;outline-offset:3px}
