:root {
  --orange: #c94d18;
  --orange-dark: #ad3b10;
  --shadow: 0 2px 8px rgba(22,35,63,.04);
  --radius: 12px;
  --sidebar-width: 232px;
}
body { background:#f5f7fa; }
.app-header { position:sticky; top:0; z-index:50; min-height:76px; padding:14px 28px; gap:16px; flex-direction:row; align-items:center; }
.brand { gap:16px; }
.brand img { width:130px; max-height:46px; }
.brand h1 { font-size:20px; }
.brand p { margin-top:3px; text-transform:none; letter-spacing:0; font-size:13px; }
.header-actions { margin-left:auto; align-items:center; }
#navigationToggle { display:none; }
#navigationToggle.button-ghost { color:#fff; border-color:#ffffff66; background:transparent; }
#mainNavigation { position:fixed; top:76px; bottom:0; left:0; width:var(--sidebar-width); z-index:40; display:flex; flex-direction:column; gap:6px; overflow-y:auto; padding:20px 14px; background:#fff; border-right:1px solid var(--line); border-bottom:0; backdrop-filter:none; }
.nav-group { margin-top:8px; }
.nav-group>summary { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:44px; padding:11px 12px; color:var(--navy); font-size:14px; font-weight:700; border-radius:8px; cursor:pointer; list-style:none; }
.nav-group>summary::-webkit-details-marker { display:none; }
.nav-group>summary::after { content:'›'; font-size:22px; line-height:1; }
.nav-group[open]>summary::after { transform:rotate(90deg); }
.nav-group>summary:hover { background:#f1f5f9; }
.nav-group>.tab { margin-top:3px; }
#mainNavigation .tab { width:100%; min-height:44px; padding:11px 12px; text-align:left; border-radius:8px; font-size:14px; font-weight:500; }
#mainNavigation .nav-main { font-weight:700; margin-top:8px; }
#mainNavigation .tab.is-active { background:#fff0e8; color:#983b12; font-weight:700; box-shadow:inset 3px 0 0 var(--orange); }
#mainContent { width:calc(100% - var(--sidebar-width)); max-width:1500px; margin-left:var(--sidebar-width); padding:24px clamp(20px,3vw,44px) 64px; outline:none; }
.route-context { margin:0 0 20px; color:var(--muted); font-size:13px; }
.page-heading h2,.v141-heading h2 { font-size:28px; margin:4px 0 8px; letter-spacing:-.025em; }
.page-heading,.v141-heading { align-items:center; gap:16px; }
.import-export-menu { position:relative; }
.import-export-menu summary { cursor:pointer; list-style:none; }
.import-export-menu summary::-webkit-details-marker { display:none; }
.import-export-items { position:absolute; z-index:20; display:grid; gap:8px; padding:12px; background:#fff; border:1px solid var(--line); border-radius:8px; box-shadow:0 8px 24px rgba(0,0,0,.12); min-width:200px; right:0; top:calc(100% + 6px); }
.page-heading p,.v141-heading p { line-height:1.5; }
.panel,.stat-card { box-shadow:var(--shadow); }
.button,.mini-button { min-height:44px; border-radius:8px; font-size:14px; }
.button-primary,.mini-button.primary { background:var(--orange); color:#fff; box-shadow:none; }
.button:hover { transform:none; }
:where(button,a,input,select,textarea,summary):focus-visible { outline:3px solid #245f9e; outline-offset:3px; }
.skip-link { position:fixed; top:8px; left:16px; z-index:2000; padding:12px; background:#fff; color:var(--navy); transform:translateY(-160%); }
.skip-link:focus { transform:none; }
#homeStats { grid-template-columns:repeat(3,minmax(0,1fr)); }
.stat-link { cursor:pointer; text-align:left; font:inherit; }
.stat-link:hover,.stat-link:focus-visible { border-color:var(--accent, #0f4c5c); }
.home-agenda { margin-top:28px; }
.home-event { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 0; border-bottom:1px solid var(--line); }
.home-event h4 { margin:0 0 7px; font-size:16px; }
.home-event p { margin:0; color:var(--muted); font-size:14px; }
.home-event a,.home-agenda a { color:var(--blue); font-size:14px; }
.v141-filters { align-items:end; gap:12px; }
.v141-filters label { min-width:150px; flex:1; font-size:13px; }
.v141-filters label:has(input[type=search]) { flex:2; min-width:190px; }
.v141-filters label:has(select) { min-width:min(210px,100%); }
.v141-filters label:has(select) select { width:100%; min-width:0; }
.account-menu { display:inline-block; position:relative; margin-left:14px; }
.account-menu summary { cursor:pointer; list-style:none; color:#fff; text-decoration:underline; }
.account-menu-items a,.account-menu-items button { color:var(--ink,#16233f); text-align:left; }
.account-menu-items { position:absolute; right:0; top:100%; z-index:20; display:grid; gap:10px; min-width:250px; padding:12px; background:#fff; border:1px solid var(--line); border-radius:8px; box-shadow:0 12px 40px #16233f1f; }
.v141-filters input,.v141-filters select { min-height:44px; font-size:16px; }
.v141-segments { align-self:end; }
.v141-segments button { min-height:44px; font-size:14px; }
#plannerFilterSummary { color:var(--muted); font-size:13px; line-height:1.5; }
#calendarControls141 { margin-bottom:20px; }
#plannerContent141 { overflow-x:auto; }
.v141-calendar .v141-day { height:auto; min-height:160px; overflow:visible; }
.v141-calendar .compact-task { height:auto; min-height:58px; grid-template-rows:auto auto; padding:8px; }
.v141-calendar .compact-title { height:auto; min-height:24px; white-space:normal; font-size:12px; line-height:1.4; }
.v141-task.compact-task { height:auto; grid-template-rows:auto auto auto; align-content:start; }
.v141-task.compact-task small { grid-column:2; grid-row:2; font-size:11px; color:#536b7f; }
.v141-task.compact-task .v141-state { grid-row:3; }
.v141-task[draggable="true"] { cursor:grab; }
.v141-calendar .v141-state { height:auto; line-height:1.4; white-space:normal; }
.schedule-row { display:flex; align-items:center; gap:18px; padding:20px; margin:12px 0; background:#fff; border:1px solid var(--line); border-radius:10px; }
.schedule-row-main { display:flex; align-items:center; gap:12px; flex:1; min-width:0; }
.schedule-row h3 { font-size:16px; margin:0 0 8px; overflow-wrap:anywhere; }
.schedule-row p { color:var(--muted); font-size:14px; margin:0; line-height:1.5; }
.schedule-row input[type=checkbox] { flex:none; width:22px; height:22px; }
.status-tag { color:#475569; background:#f1f5f9; border-radius:6px; padding:6px 10px; font-size:12px; font-weight:700; white-space:nowrap; }
.schedule-row.status-encerrada { border-color:#18794e; }
.status-encerrada .status-tag { color:#14603e; background:#eaf7ef; }
.schedule-row.status-aberta { border-color:#245f9e; }
.status-aberta .status-tag { color:#245f9e; background:#edf4fc; }
.schedule-row.status-atrasado { border-color:#ad4a08; }
.status-atrasado .status-tag { color:#93400b; background:#fff1e5; }
.agenda-day>h3 { font-size:16px; margin-top:24px; color:var(--navy); }
.v141-card-actions { display:flex; flex-wrap:wrap; gap:8px; }
.report-pages { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.report-pages .selected { background:var(--navy); color:white; }
[data-report-pane] { min-width:0; padding-top:20px; }
[data-report-pane]>.button { margin-bottom:16px; }
.report-panel { display:block; }
.report-panel .dashboard-controls { margin-top:12px; }
.data-table { font-size:14px; }
#view-attendance-lists .data-table th, #view-attendance-lists .data-table td { border:1px solid #e4e9f0; }
.data-table td code { font-size:12px; overflow-wrap:anywhere; }
.login-overlay { background:#f5f7fa; backdrop-filter:none; overflow:auto; }
.login-card { border:1px solid var(--line); box-shadow:0 12px 40px #16233f12; }
body:not([data-role])>.app-header,body:not([data-role])>#mainNavigation,body:not([data-role])>#mainContent { visibility:hidden; }
@media(max-width:1100px) {
  .schedule-row { flex-wrap:wrap; }
  .schedule-row-main { flex-basis:65%; }
  .schedule-row .v141-card-actions { flex-basis:100%; }
  .v141-heading { flex-direction:row; flex-wrap:wrap; }
}
@media(max-width:700px) {
  .app-header { position:relative; padding:16px; flex-wrap:wrap; min-height:76px; }
  .brand img { width:94px; max-height:38px; }
  .brand { flex-direction:row; align-items:center; gap:10px; }
  .brand h1 { font-size:17px; }
  .brand p { font-size:12px; }
  #navigationToggle { display:inline-flex; margin-left:auto; }
  .header-actions { width:100%; justify-content:space-between; flex-direction:row; }
  .header-actions .button { flex:none; }
  .profile-badge { min-width:0; font-size:12px; }
  #mainNavigation { display:none; position:relative; top:auto; width:100%; max-height:60dvh; border-bottom:1px solid var(--line); }
  .navigation-open #mainNavigation { display:flex; }
  #mainContent { width:100%; margin:0; padding:20px 16px 48px; }
  .route-context { margin-bottom:16px; }
  .page-heading h2,.v141-heading h2 { font-size:25px; }
  .v141-heading { align-items:center; }
  .v141-heading>div { width:100%; }
  .v141-filters { display:grid; grid-template-columns:1fr 1fr; }
  .v141-filters>* { min-width:0!important; width:100%; }
  .v141-filters .v141-segments,.v141-filters label:has(input[type=search]) { grid-column:1/-1; }
  .v141-segments { display:flex; }
  .v141-segments button { flex:1; }
  #calendarControls141 { display:flex; flex-wrap:wrap; }
  #calendarControls141>* { width:auto; }
  #homeStats { grid-template-columns:1fr; gap:12px; }
  .stat-card { padding:18px; }
  .stat-card strong { font-size:26px; }
  .home-event { align-items:start; flex-direction:column; gap:12px; }
  .schedule-row { gap:12px; padding:16px; }
  .schedule-row-main { flex-basis:100%; }
  .schedule-row .v141-card-actions { width:100%; }
  .schedule-row .mini-button { flex:1; }
  .report-pages { flex-wrap:nowrap; overflow-x:auto; }
  .report-pages > * { flex:none; }
  .report-panel { padding:16px; }
  input,select,textarea { font-size:16px; }
}
@media print {
  #mainNavigation,.app-header,.route-context,.report-pages,#navigationToggle,.skip-link { display:none!important; }
  #mainContent { margin:0; width:100%; padding:0; max-width:none; }
}
#mainNavigation a.nav-link { display:block; box-sizing:border-box; text-decoration:none; }
.company-label { font-size:.85rem; }
#firstSteps { padding:24px; }
.first-steps { display:grid; gap:12px; padding-left:24px; }
.first-steps a { color:var(--blue); }
.first-steps p { margin:4px 0 0; color:var(--muted); line-height:1.5; }
.session-extra-themes .extra-content{display:block;margin-top:.25rem;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9em}
.v141-help{font-size:.85em;color:#5b6472;margin-top:.25rem}
.home-glossary{margin:1rem 0}
.home-glossary summary{cursor:pointer;font-weight:600}
.home-glossary dt{font-weight:600;margin-top:.6rem}
.home-glossary dd{margin:0;color:#5b6472}
/* Relatórios: filtros do painel só onde se aplicam; Listas com filtros em uma linha; botão de mostrar mais. */
#view-reports .report-panel[data-page="colaborador"] > :not([data-report-pane]),
#view-reports .report-panel[data-page="listas"] > :not([data-report-pane]) { display: none; }
#attendanceListFilters { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; align-items: end; }
#attendanceListFilters label { display: grid; gap: 4px; }
.data-table .more-row td { text-align: center; }
.absence-bulk { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; align-items: end; padding: 12px; margin: 8px 0; border: 1px solid #d5dbe5; border-radius: 10px; background: #f7f9fc; }
.absence-bulk label, .absence-search { display: grid; gap: 4px; }
.absence-bulk [role=status] { grid-column: 1 / -1; margin: 0; }

/* Cronograma, Apresentações e Início: cabeçalho agrupado, sem título repetido, botão desabilitado legível, KPI de alerta. */
#view-schedule .v141-heading { align-items: flex-start; }
#view-schedule .v141-heading > div:first-child { flex: 1; }
#view-schedule .v141-heading > .mini-button:not(#balancePending141) { order: 1; }
#view-schedule .v141-heading > #balancePending141 { order: 2; }
#view-schedule .v141-heading > #newScheduleButton { order: 3; }
#view-schedule .v141-day { min-height: 100px; }
.button-primary:disabled, .button-primary[disabled] { background: #c9ced8; color: #4b5565; opacity: 1; box-shadow: none; }
#view-live .live-stage { min-height: 220px; }
#firstSteps { padding: 16px 20px; }
.home-glossary { margin-top: 10px; padding: 10px 14px; }
#homeStats .stat-alert strong { color: var(--red); }
/* Relatórios: tipografia e campos compactos, filtros em uma barra, KPIs logo abaixo. */
#view-reports .page-heading h2 { font-size: 22px; margin: 0 0 4px; }
#view-reports .page-heading p { font-size: 13px; }
#view-reports .report-panel { gap: 12px; padding: 16px; }
#view-reports .report-panel h3 { font-size: 15px; margin: 4px 0 0; }
#view-reports label { gap: 4px; font-size: 12px; font-weight: 600; }
#view-reports input, #view-reports select { padding: 6px 9px; font-size: 13px; border-radius: 8px; }
#view-reports .mini-button { padding: 5px 9px; font-size: 12px; }
#view-reports .dashboard-controls { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; margin: 0 0 4px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fafbfc; }
#view-reports .dashboard-controls small { font-size: 11px; color: var(--muted); font-weight: 400; }
#view-reports .stats-grid { gap: 10px; margin-bottom: 12px; }
#view-reports .stat-card { padding: 12px 14px; border-radius: 12px; box-shadow: none; }
#view-reports .stat-card p { margin: 0 0 4px; font-size: 12px; }
#view-reports .stat-card strong { font-size: 1.35rem; }
#view-reports .stat-card small { font-size: 11px; }
#view-reports .dashboard-kpis .stat-card { border-top-width: 3px; }
#view-reports .data-table th { padding: 8px 12px; font-size: 11px; }
#view-reports .data-table td { padding: 8px 12px; font-size: 13px; }
#view-reports #reportStats { gap: 10px; }
#view-reports #reportStats .stat-card { padding: 12px 14px; border-radius: 12px; box-shadow: none; }
#view-reports #reportStats .stat-card strong { font-size: clamp(1.15rem, 2vw, 1.5rem); }
#view-reports .team-selector { margin: 0; padding: 6px 10px 8px; border-radius: 10px; }
#view-reports .team-selector legend { font-size: 12px; padding: 0 4px; }
#view-reports #reportStatus, #view-reports #reportNoBase { margin: 0; font-size: 12px; line-height: 1.4; }
#view-reports .report-search { max-width: 360px; }
#view-reports th.sortable { cursor: pointer; user-select: none; white-space: nowrap; }
#view-reports th.sortable::after { content: " \2195"; opacity: .35; font-size: 11px; }
#view-reports th[aria-sort="ascending"]::after { content: " \2191"; opacity: 1; }
#view-reports th[aria-sort="descending"]::after { content: " \2193"; opacity: 1; }
#view-reports .report-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 8px; }
#view-reports .report-chip { border: 1px solid var(--orange); background: #fdeee6; color: var(--orange-dark); border-radius: 999px; padding: 3px 10px; font-size: 12px; font-weight: 600; cursor: pointer; }
#view-reports .report-chip:hover { background: #fbdccd; }
#view-reports #reportTeams141 { border: 0; padding: 0; margin: 0 0 8px; }
#view-reports #reportTeams141 legend { float: left; padding: 0 8px 0 0; line-height: 30px; font-size: 12px; color: var(--muted); }
#view-reports #reportTeams141 .check-label { position: relative; display: inline-flex; margin: 0 6px 6px 0; padding: 4px 12px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink); font-size: 12px; cursor: pointer; }
#view-reports #reportTeams141 .check-label input { position: absolute; opacity: 0; pointer-events: none; }
#view-reports #reportTeams141 .check-label:has(input:checked) { border-color: var(--orange); background: #fdeee6; color: var(--orange-dark); font-weight: 600; }
#view-reports #reportTeams141 .check-label:has(input:focus-visible) { outline: 2px solid var(--blue); outline-offset: 2px; }

/* Painel compacto: cards sempre abertos, com barras, rosca e barra empilhada. */
#view-reports #reportIndicators { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
#view-reports #reportIndicators .dashboard-card { grid-column: span 2; }
#view-reports #reportIndicators .report-comparison, #view-reports #reportIndicators .report-fulfillment { grid-column: span 3; }
#view-reports #reportIndicators .report-people-cards, #view-reports #reportIndicators .report-export { grid-column: span 6; }
#view-reports #reportIndicators .dashboard-card { padding: 12px 14px; }
#view-reports #reportIndicators .dashboard-card h3 { margin: 0 0 2px; font-size: 14px; }
#view-reports #reportIndicators .dashboard-card p { margin: 0 0 8px; font-size: 11.5px; }
#view-reports .mini-bars { display: grid; gap: 6px; }
#view-reports .mini-bar { display: grid; grid-template-columns: minmax(70px, 38%) 1fr auto; gap: 8px; align-items: center; font-size: 12px; }
#view-reports .mini-bar span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view-reports .mini-bar .report-track { height: 8px; margin: 0; }
#view-reports .mini-bar b { font-size: 11px; color: var(--muted); white-space: nowrap; }
#view-reports .donut-row { display: grid; grid-template-columns: 84px 1fr; gap: 12px; align-items: center; margin-bottom: 8px; }
#view-reports .donut { width: 84px; height: 84px; border-radius: 50%; display: grid; place-content: center; text-align: center; background: conic-gradient(var(--green) calc(var(--p) * 1%), #e9edf3 0); position: relative; }
#view-reports .donut::before { content: ""; position: absolute; inset: 10px; border-radius: 50%; background: #fbfcfe; }
#view-reports .donut b, #view-reports .donut small { position: relative; line-height: 1.1; }
#view-reports .donut b { font-size: 16px; color: var(--navy); }
#view-reports .donut small { font-size: 10px; color: var(--muted); }
#view-reports .stack { display: flex; height: 10px; border-radius: 5px; overflow: hidden; background: #e9edf3; }
#view-reports .stack i { display: block; min-width: 3px; }
#view-reports .stack-legend { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 6px; font-size: 11px; color: var(--muted); }
#view-reports .stack-legend i { display: inline-block; width: 8px; height: 8px; border-radius: 2px; margin-right: 4px; }
#view-reports .stack-legend b { color: var(--ink); }
#view-reports .c-ok { background: var(--green); }
#view-reports .c-late { background: #d99a1c; }
#view-reports .c-bad { background: var(--red); }
#view-reports .c-wait { background: #98a2b3; }
#view-reports .scroll-table { max-height: 170px; overflow: auto; border-top: 1px solid var(--line); }
#view-reports .scroll-table .data-table { font-size: 11px; }
@media (max-width: 900px) { #view-reports #reportIndicators { grid-template-columns: minmax(0, 1fr); } #view-reports #reportIndicators .dashboard-card { grid-column: auto !important; } }

/* Campo de colaborador: pesquisa com sugestões ao digitar; sem seleção vale todos. */
#view-reports .report-people-field { position: relative; min-width: 0; grid-column: span 2; }
#view-reports .report-people-field label span { display: block; }
#view-reports .report-people-field small { display: none; }
#view-reports .report-people-field input[type="search"] { width: 100%; min-height: 32px; font-size: 12px; }
#view-reports .report-people-field .report-person-options { position: absolute; left: 0; right: 0; top: 100%; z-index: 5; max-height: 220px; overflow: auto; margin: 2px 0 0; padding: 4px; background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }
#view-reports .report-people-field .report-person-options:empty { display: none; }
#view-reports .report-people-field .report-person-options .check-label { display: flex; align-items: center; gap: 8px; padding: 5px 8px; border-radius: 6px; font-size: 12px; cursor: pointer; }
#view-reports .report-people-field .report-person-options .check-label:hover { background: #fdeee6; }
#view-reports .report-people-field .report-person-options small { margin-left: 4px; }
#view-reports .report-people-field #reportPeopleTags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
#view-reports .report-people-field #reportPeopleTags:empty { display: none; }
#view-reports .report-people-field .report-person-options { right: auto; min-width: 100%; width: max-content; max-width: 360px; }
#view-reports .report-people-field .report-person-options .check-label input { width: 14px; height: 14px; min-height: 0; flex: none; margin: 0; padding: 0; }
#view-reports .report-people-field .report-person-options .check-label span { white-space: nowrap; }

/* Indicadores das abas Execuções, Emocionograma e Por colaborador. */
#view-reports .report-insights, #view-reports .collab-insights { margin: 0 0 12px; }
#view-reports .kpi-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; margin-bottom: 8px; }
#view-reports .kpi { padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
#view-reports .kpi p { margin: 0; font-size: 11px; color: var(--muted); }
#view-reports .kpi strong { display: block; font-size: 20px; color: var(--navy); line-height: 1.2; }
#view-reports .kpi small { font-size: 11px; color: var(--muted); }
#view-reports .insight-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
#view-reports .insight-grid .dashboard-card { padding: 12px 14px; }
#view-reports .insight-grid .dashboard-card h3 { margin: 0 0 2px; font-size: 14px; }
#view-reports .insight-grid .dashboard-card p { margin: 0 0 8px; font-size: 11.5px; }

/* Gráficos: colunas, linha e rosca de várias fatias. */
#view-reports .cols { display: flex; align-items: flex-end; gap: 6px; height: 140px; padding-top: 4px; }
#view-reports .col { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; height: 100%; font-size: 11px; }
#view-reports .col b { font-size: 11px; color: var(--muted); font-weight: 600; white-space: nowrap; }
#view-reports .col-track { flex: 1; width: 100%; max-width: 34px; display: flex; align-items: flex-end; background: #f1f4f9; border-radius: 4px 4px 0 0; margin: 2px 0; }
#view-reports .col-track i { display: block; width: 100%; background: var(--blue); border-radius: 4px 4px 0 0; }
#view-reports .col span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink); }
#view-reports .line-chart { width: 100%; height: auto; display: block; }
#view-reports .line-chart .grid { stroke: #e3e7ee; stroke-width: 1; }
#view-reports .line-chart .area { fill: rgba(36, 95, 158, .12); }
#view-reports .line-chart .stroke { fill: none; stroke: var(--blue); stroke-width: 2; stroke-linejoin: round; }
#view-reports .line-chart circle { fill: #fff; stroke: var(--blue); stroke-width: 1.6; }
#view-reports .line-chart text { font-size: 11px; fill: var(--muted); }
#view-reports .line-chart text.last { fill: var(--navy); font-weight: 700; }
#view-reports .donut-multi::before { inset: 11px; }
#view-reports .donut-multi { flex: none; }
#view-reports .donut-legend { list-style: none; margin: 0; padding: 0; display: grid; gap: 3px; font-size: 11.5px; min-width: 0; }
#view-reports .donut-legend li { display: flex; align-items: center; gap: 6px; min-width: 0; }
#view-reports .donut-legend li i { width: 9px; height: 9px; border-radius: 2px; flex: none; }
#view-reports .donut-legend small { color: var(--muted); margin-left: 6px; }

/* Hierarquia visual: KPI principal com estado, barras com meta, títulos de seção e estado vazio. */
#view-reports .report-section { margin: 14px 0 6px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
#view-reports #reportStats .stat-card small { display: block; margin-top: 2px; font-size: 11px; color: var(--muted); }
#view-reports #reportStats .stat-primary strong { font-size: 30px; }
#view-reports #reportStats .stat-primary.s-ok strong { color: var(--green); }
#view-reports #reportStats .stat-primary.s-warn strong { color: #a96f00; }
#view-reports #reportStats .stat-primary.s-bad strong { color: var(--red); }
#view-reports .report-track { position: relative; overflow: visible; }
#view-reports .report-track i.s-ok { background: var(--green); }
#view-reports .report-track i.s-warn { background: #d99a1c; }
#view-reports .report-track i.s-bad { background: var(--red); }
#view-reports .report-track .goal { position: absolute; top: -3px; bottom: -3px; width: 2px; background: var(--navy); border-radius: 1px; text-decoration: none; }
#view-reports .report-empty { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0 0 8px; padding: 10px 14px; border: 1px dashed #c4ccd8; border-radius: 10px; background: #f8fafc; font-size: 12.5px; }
#view-reports .report-empty strong { color: var(--navy); }
#view-reports .report-empty span { flex: 1 1 260px; color: var(--muted); }

#view-reports .kpi.s-ok strong { color: var(--green); }
#view-reports .kpi.s-warn strong { color: #a96f00; }
#view-reports .kpi.s-bad strong { color: var(--red); }

/* Auditoria visual: respiro, estado vazio, meta legível, alvos de toque e desabilitados. */
#view-reports #reportIndicators { align-items: start; }
#view-reports .report-stat-hint { display: block; margin-top: 2px; font-size: 11px; color: var(--muted); }
#view-reports .report-bars-empty { margin: 8px 0 0; font-size: 12px; color: var(--muted); }
#view-reports [data-report-pane] > h3, #view-reports #executionHistory > h3 { margin: 16px 0 8px; }
#view-reports #executionHistory { padding: 14px 16px; margin-top: 12px; }
.button-secondary:disabled, .mini-button:disabled, .button:disabled:not(.button-primary) { color: #5b6472; border-color: #c9ced8; opacity: 1; }
a:not([class]) { color: var(--blue); text-underline-offset: 2px; }
@media (max-width: 700px) { #view-reports .check-label { min-height: 44px; } #view-reports .report-chip { min-height: 32px; } }
/* Altura fixa: o texto do arraste não pode deslocar o calendário. */
#plannerDragStatus { min-height: 24px; line-height: 24px; margin: 4px 0; }
#plannerSelection141:empty { display: none; }
