.schedule-coverage { margin-top:24px; min-width:0; }
.coverage-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.coverage-heading h2 { margin:0; font-size:18px; }
.coverage-heading p:not(.eyebrow),.coverage-footnote { color:var(--muted,#64748b); font-size:11px; line-height:1.5; }
.coverage-days { display:flex; flex-wrap:wrap; gap:4px; }
.coverage-days button { border:0; background:#f1f5fa; color:#52647e; padding:9px 10px; font-size:11px; font-weight:700; border-radius:8px; cursor:pointer; }
.coverage-days button[aria-pressed=true] { color:#fff; background:var(--color-primary,#416eec); }
.coverage-options { display:flex; gap:16px; align-items:center; flex-wrap:wrap; margin:15px 0; }
.coverage-options label { display:flex; gap:8px; align-items:center; font-size:12px; }
.coverage-options select { width:190px; }
.coverage-options > span { font-size:10px; color:#64748b; }
.coverage-scroll { overflow:auto; border:1px solid #e1e8f2; border-radius:10px; max-height:650px; }
.coverage-grid { display:grid; grid-template-columns:230px minmax(700px,1fr); min-width:960px; }
.coverage-label { position:sticky; left:0; z-index:1; background:#fff; padding:7px 10px; border-bottom:1px solid #e5eaf2; border-right:1px solid #e1e8f2; min-height:42px; min-width:0; }
.coverage-label strong { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:11px; margin-top:3px; }
.coverage-sector-tag { color:var(--sector-color); font-size:9px; font-weight:700; text-transform:uppercase; }
.coverage-axis { display:grid; grid-template-columns:repeat(var(--hours),1fr); background:#f4f7fb; font-size:10px; align-items:center; }
.coverage-axis span { padding-left:3px; }
.coverage-axis-label { background:#f4f7fb; font-size:10px; font-weight:700; display:flex; align-items:center; }
.coverage-track { position:relative; min-height:42px; border-bottom:1px solid #e5eaf2; background:repeating-linear-gradient(to right,#e7edf5 0 1px,transparent 1px calc(100% / var(--hours))); }
.coverage-block { position:absolute; top:7px; bottom:7px; background:var(--sector-color); border-radius:3px; color:white; font-size:10px; display:flex; align-items:center; justify-content:center; overflow:hidden; min-width:1px; }
.coverage-row-note { display:block; padding:13px; color:#8a96a9; font-size:10px; }
.coverage-summary-title { background:#f4f7fb; padding:12px 10px; font-size:10px; font-weight:700; color:#52647e; }
.coverage-sector-label { color:var(--sector-color); font-size:11px; font-weight:700; display:flex; align-items:center; }
.coverage-week { display:grid; grid-template-columns:150px repeat(7,minmax(105px,1fr)); min-width:900px; }
.coverage-week-head { padding:12px; background:#f4f7fb; font-size:11px; font-weight:700; }
.coverage-week-head small { display:block; margin-top:5px; font-weight:400; font-size:9px; color:#64748b; }
.coverage-week > .coverage-sector-label { padding:12px; border-bottom:1px solid #e5eaf2; }
.coverage-week-day { padding:12px 6px; background:white; border:0; border-left:1px solid #e5eaf2; border-bottom:1px solid #e5eaf2; cursor:pointer; }
.coverage-mini { display:block; height:26px; position:relative; background:#f2f5f9; border-radius:4px; }
.coverage-mini .coverage-block { top:5px; bottom:5px; }
.coverage-week-day small { display:block; margin-top:6px; font-size:9px; color:#64748b; }
.coverage-warning { background:#fff5df; padding:10px; color:#79570f; font-size:11px; }
.coverage-empty { padding:25px; text-align:center; color:#64748b; }
.schedule-coverage :is(button,select,.coverage-scroll):focus-visible { outline:2px solid var(--color-primary,#416eec); outline-offset:2px; }
@media(max-width:720px){.schedule-coverage { padding:16px; }.coverage-days button{padding:8px;}.coverage-grid {grid-template-columns:170px minmax(700px,1fr);min-width:870px;}.coverage-options > span {max-width:100%;}}

.coverage-mini .coverage-block { font-size:0; }
.coverage-options select { border:1px solid var(--line,#d9e0e9); background:white; color:inherit; padding:8px 12px; font:inherit; border-radius:var(--ui-control-radius,20px); }

/* Subabas da página, sem um segundo card empilhado sob a lista. */
#jornadas :is(#scheduleListPanel,#scheduleCoverage,.page-heading-actions)[hidden] { display:none!important; }
#jornadas .schedule-coverage { margin:0; padding:0; }
#jornadas .coverage-heading { gap:8px; align-items:center; }
#jornadas .coverage-heading .eyebrow { display:none; }
#jornadas .coverage-heading h2 { font-size:15px; }
#jornadas .coverage-heading p { margin:4px 0; font-size:10px; }
#jornadas .coverage-options { margin:8px 0; gap:10px; }
#jornadas .coverage-options select { padding:5px 10px; font-size:11px; }
#jornadas .coverage-scroll { max-height:none; }
#jornadas .coverage-grid { grid-template-columns:230px minmax(510px,1fr); min-width:740px; }
#jornadas .coverage-label { padding:4px 7px; min-height:28px; display:flex; align-items:center; gap:6px; }
#jornadas .coverage-sector-tag { flex:none; width:64px; overflow:hidden; text-overflow:ellipsis; font-size:8px; }
#jornadas .coverage-label strong { flex:1; min-width:0; margin:0; font-size:10px; }
#jornadas .coverage-track { min-height:28px; overflow:hidden; }
#jornadas .coverage-block { top:4px; bottom:4px; }
#jornadas .coverage-row-note { padding:7px 10px; }
#jornadas .coverage-summary-title { padding:7px; font-size:9px; }
#jornadas .coverage-week { grid-template-columns:130px repeat(7,minmax(80px,1fr)); min-width:690px; }
#jornadas .coverage-week-head { padding:8px; }
#jornadas .coverage-week > .coverage-sector-label { padding:8px; }
#jornadas .coverage-week-day { padding:6px; }
#jornadas .coverage-mini { height:20px; }
#jornadas .coverage-footnote { margin:8px 0 0; font-size:10px; }

#jornadas > .page-heading { margin-bottom:6px; min-height:0; }
#jornadas .schedule-page-tabs { margin:0 0 10px; }
#jornadas .schedule-page-tabs button:focus-visible { outline:2px solid var(--color-primary,#416eec); outline-offset:2px; }

/* Cabeçalho compacto da aba Distribuições: título + dica ⓘ à esquerda;
   setor e dias na mesma linha à direita. Legenda, rodapé e aviso de horários
   deixam de ficar abertos o tempo todo (dica ⓘ e selo "a conferir"). */
#jornadas .coverage-heading { flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px; margin-bottom:8px; }
#jornadas .coverage-title { display:flex; align-items:center; gap:6px; min-width:0; }
#jornadas .coverage-alert { margin-left:4px; padding:3px 8px; border-radius:999px; background:#fff5df; color:#79570f; font-size:10px; font-weight:700; white-space:nowrap; cursor:help; }
#jornadas .coverage-alert[hidden] { display:none; }
#jornadas .coverage-controls { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-left:auto; }
#jornadas .coverage-controls :is(.coverage-sector-field,.j-floating-field,.j-floating-control) { width:210px; margin-top:0; flex:none; }
@media(max-width:720px){ #jornadas .coverage-controls { margin-left:0; width:100%; } #jornadas .coverage-controls :is(.coverage-sector-field,.j-floating-field,.j-floating-control) { width:100%; } }

/* Revisão visual 23/09 — setor agrupa as linhas: a linha do setor mostra a
   cobertura simultânea (tom proporcional ao pico) e as pessoas vêm abaixo,
   sem repetir a etiqueta do setor em cada linha. Substitui o bloco
   "Preenchimento dos setores" que ficava separado no fim da grade. */
#jornadas .coverage-controls { --ui-control-height:36px; gap:8px; }
#jornadas .coverage-controls .select-menu,#jornadas .coverage-controls .j-floating-control { width:200px; margin:0; flex:none; }
#jornadas .coverage-days button { height:36px; padding:0 11px; }
#jornadas .coverage-heading { margin-bottom:10px; }
#jornadas .coverage-scroll { border-color:#e3e9f2; background:#fff; }
#jornadas .coverage-grid { grid-template-columns:220px minmax(510px,1fr); }
#jornadas .coverage-axis,#jornadas .coverage-axis-label { position:sticky; top:0; z-index:2; background:#f6f8fb; border-bottom:1px solid #e3e9f2; min-height:30px; }
#jornadas .coverage-axis-label { z-index:3; color:#5b6b82; letter-spacing:.02em; }
#jornadas .coverage-axis span { font-size:10px; color:#6b7a90; font-variant-numeric:tabular-nums; }
#jornadas .coverage-row { display:contents; }
#jornadas .coverage-row > * { transition:background-color .15s; }
#jornadas .coverage-row:not(.coverage-group):hover > * { background-color:#f5f8fd; }
#jornadas .coverage-row.is-highlight > * { background-color:#fff3d6; }
#jornadas .coverage-track { border-bottom-color:#eef2f7; }
#jornadas .coverage-label { border-bottom-color:#eef2f7; border-right-color:#e3e9f2; }
/* Linha do setor */
#jornadas .coverage-group > * { background:#fafbfd; border-top:1px solid #e3e9f2; min-height:34px; }
#jornadas .coverage-group > .coverage-label { gap:7px; padding-left:10px; }
#jornadas .coverage-dot { flex:none; width:8px; height:8px; border-radius:50%; background:var(--sector-color); }
#jornadas .coverage-group-name { font-size:12px; font-weight:750; color:#1f2f45; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#jornadas .coverage-group small { margin-left:auto; flex:none; font-size:10px; color:#7a889c; font-variant-numeric:tabular-nums; }
#jornadas .coverage-group .coverage-block { top:7px; bottom:7px; border-radius:4px; font-weight:750; font-size:10px; color:color-mix(in srgb,var(--sector-color) 70%,#000); background:color-mix(in srgb,var(--sector-color) calc(14% + var(--k) * .3),#fff); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sector-color) 30%,transparent); }
#jornadas .coverage-group .coverage-block + .coverage-block { border-top-left-radius:0; border-bottom-left-radius:0; }
/* Linhas das pessoas */
#jornadas .coverage-person { padding-left:25px; gap:8px; }
#jornadas .coverage-code { flex:none; font-size:10px; color:#8391a5; font-variant-numeric:tabular-nums; }
#jornadas .coverage-person strong { font-weight:600; color:#2a3a50; }
#jornadas .coverage-flag { flex:none; color:#b7791f; font-size:11px; cursor:help; }
#jornadas .coverage-row:not(.coverage-group) .coverage-block { top:6px; bottom:6px; border-radius:4px; font-size:9.5px; font-weight:600; letter-spacing:.01em; white-space:nowrap; font-variant-numeric:tabular-nums; }
#jornadas .coverage-row.is-flagged .coverage-row-note { color:#a86a12; }
/* Aviso "a conferir" + lista */
#jornadas .coverage-pop-wrap { position:relative; display:inline-flex; }
#jornadas .coverage-pop-wrap[hidden] { display:none !important; }
#jornadas .coverage-pop-wrap:has(.coverage-pop:not([hidden])) { z-index:20; }
#jornadas .coverage-alert { margin-left:4px; border:1px solid #f3d99b; background:#fff6e0; color:#7a560c; padding:3px 9px; border-radius:999px; font:inherit; font-size:10.5px; font-weight:700; cursor:pointer; }
#jornadas .coverage-alert:hover,#jornadas .coverage-alert[aria-expanded=true] { background:#ffedc2; }
#jornadas .coverage-alert:focus-visible { outline:2px solid var(--color-primary,#416eec); outline-offset:2px; }
#jornadas .coverage-pop { position:absolute; z-index:20; top:calc(100% + 6px); left:0; width:290px; padding:11px 12px; border-radius:10px; background:#fff; border:1px solid #e3e9f2; box-shadow:0 12px 28px #10233d26; display:grid; grid-template-columns:minmax(0,1fr); gap:6px; }
#jornadas .coverage-pop[hidden] { display:none !important; }
/* O selo fica à direita do cabeçalho, ao lado de "+ Nova jornada".
   Alinhado à esquerda, o balão sairia da janela. */
#jornadas .page-heading-actions .coverage-pop { left:auto; right:0; }
#jornadas .coverage-pop > strong { font-size:12px; color:#1f2f45; }
#jornadas .coverage-alert-pop > span { font-size:11px; color:#64748b; line-height:1.45; }
#jornadas .coverage-alert-pop ul { list-style:none; margin:2px 0 0; padding:0; display:grid; gap:2px; min-width:0; }
#jornadas .coverage-alert-pop li { min-width:0; }
#jornadas .coverage-alert-pop li button { width:100%; min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; border:0; background:none; padding:6px 7px; border-radius:6px; text-align:left; cursor:pointer; font:inherit; }
#jornadas .coverage-alert-pop li button:hover,#jornadas .coverage-alert-pop li button:focus-visible { background:#f3f6fb; outline:none; }
#jornadas .coverage-alert-pop li b { font-size:11px; font-weight:650; color:#2a3a50; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#jornadas .coverage-alert-pop li small { font-size:10px; font-weight:700; color:#a86a12; }
@media(max-width:720px){ #jornadas .coverage-controls .select-menu,#jornadas .coverage-controls .j-floating-control { width:100%; } #jornadas .coverage-grid { grid-template-columns:170px minmax(510px,1fr); } #jornadas .coverage-person { padding-left:12px; } #jornadas .coverage-code { display:none; } #jornadas .coverage-pop { width:min(290px,calc(100vw - 40px)); } }
#jornadas .coverage-grid { grid-template-columns:240px minmax(510px,1fr); }
#jornadas .coverage-week > .coverage-sector-label { gap:7px; color:#1f2f45; font-size:12px; }
#jornadas .coverage-week-head { color:#5b6b82; font-size:10.5px; border-bottom:1px solid #e3e9f2; }
#jornadas .coverage-week-day { transition:background-color .15s; }
#jornadas .coverage-week-day:hover { background:#f5f8fd; }
#jornadas .coverage-mini .coverage-block { background:color-mix(in srgb,var(--sector-color) calc(25% + var(--k) * .75),#fff); border-radius:0; }
#jornadas .coverage-mini .coverage-block:first-child { border-radius:3px 0 0 3px; }
@media(max-width:720px){ #jornadas .coverage-grid { grid-template-columns:150px minmax(510px,1fr); } #jornadas .coverage-group small { display:none; } }

/* 23/09 — dias em pílula; dica ⓘ vira balão próprio (abaixo); SEMANA no recorte de
   horas das escalas. */
#jornadas .coverage-days button { border-radius:999px; padding:0 14px; }
#jornadas .coverage-week-head small { display:block; margin-top:2px; font-size:9.5px; font-weight:600; color:#8391a5; font-variant-numeric:tabular-nums; }

/* Balão "Como ler a cobertura" — mesmo componente do "a conferir". */
#jornadas .coverage-info { display:inline-grid; place-items:center; width:17px; height:17px; padding:0; border:1px solid #a8bbd3; border-radius:50%; background:#fff; color:#56708f; font:inherit; font-size:10px; font-weight:850; line-height:1; cursor:help; }
#jornadas .coverage-info:hover,#jornadas .coverage-info[aria-expanded=true] { border-color:var(--color-primary,#416eec); color:var(--color-primary,#416eec); }
#jornadas .coverage-info:focus-visible { outline:2px solid var(--color-primary,#416eec); outline-offset:2px; }
#jornadas #coverageInfoPop { width:min(330px,calc(100vw - 40px)); gap:8px; padding:12px 14px; }
#jornadas .coverage-pop-section { margin-top:2px; font-size:9.5px; font-weight:750; letter-spacing:.06em; text-transform:uppercase; color:#8391a5; }
#jornadas .coverage-legend,#jornadas .coverage-notes { display:grid; gap:7px; }
#jornadas .coverage-legend > span { display:flex; align-items:flex-start; gap:10px; font-size:11px; line-height:1.4; color:#5b6b82; }
#jornadas .coverage-legend b { display:block; font-weight:700; color:#2a3a50; }
#jornadas .coverage-swatch { flex:none; width:30px; height:14px; margin-top:2px; border-radius:4px; font-style:normal; }
#jornadas .coverage-swatch.is-work { background:#8662bb; }
#jornadas .coverage-swatch.is-gap { background:repeating-linear-gradient(to right,#e7edf5 0 1px,#fff 1px 10px); box-shadow:inset 0 0 0 1px #dfe6ef; }
#jornadas .coverage-swatch.is-sum { display:grid; place-items:center; font-size:9px; font-weight:750; color:#553d7a; background:color-mix(in srgb,#8662bb 34%,#fff); box-shadow:inset 0 0 0 1px color-mix(in srgb,#8662bb 30%,transparent); }
#jornadas .coverage-notes > span { position:relative; padding-left:12px; font-size:11px; line-height:1.45; color:#5b6b82; }
#jornadas .coverage-notes > span::before { content:""; position:absolute; left:2px; top:.6em; width:4px; height:4px; border-radius:50%; background:#a8b5c7; }
