/* Contato Analytics 2.0: preferências de aparência e modo apresentação */
:root{--sidebar-expanded:251px;--sidebar-compact:78px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.topbar-left,.topbar-actions{display:flex;align-items:center;gap:19px;min-width:0}
.topbar-actions{gap:22px;margin-left:auto}
.topbar-left .top-location{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-toggle,.top-control{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex:none;background:var(--card-2);border:1px solid var(--border);border-radius:10px;color:var(--txt);height:39px;transition:background .18s,border-color .18s,transform .18s}
.menu-toggle{display:inline-flex;width:39px;font-size:22px;line-height:1}
.menu-toggle:hover,.top-control:hover{background:#243955;border-color:#5179aa;transform:translateY(-1px)}
.top-control{padding:0 13px;font-size:12px;font-weight:750;white-space:nowrap}
.theme-icon{font-size:18px;line-height:1}
.theme-toggle{min-width:123px}
.sidebar{transition:width .22s ease,min-width .22s ease,transform .22s ease,padding .22s ease}
.main-shell{transition:margin-left .22s ease}
.sidebar-collapsed .sidebar{width:var(--sidebar-compact);min-width:var(--sidebar-compact);padding-left:12px;padding-right:12px}
.sidebar-collapsed .main-shell{margin-left:var(--sidebar-compact)}
.sidebar-collapsed .brand{justify-content:center;padding:0}
.sidebar-collapsed .sidebar .brand-name,.sidebar-collapsed .sidebar-caption,.sidebar-collapsed .nav-label,.sidebar-collapsed .system-tile,.sidebar-collapsed .creator{display:none!important}
.sidebar-collapsed .nav{margin-top:54px}
.sidebar-collapsed .nav-link{justify-content:center;padding:0;min-height:48px}
.sidebar-collapsed .nav-icon{width:auto;font-size:22px}
.sidebar-collapsed .nav-current{right:-10px}
.sidebar-collapsed .sidebar-bottom{gap:0}
/* Mantém o botão de saída visível durante a apresentação, inclusive em fullscreen. */
.exit-presentation{display:none;position:fixed;right:25px;top:17px;z-index:200;padding:11px 17px;border:1px solid #3764ad;border-radius:12px;background:#2354a9;color:#fff;font-size:13px;font-weight:800;box-shadow:0 12px 32px #081a3447;align-items:center;gap:10px}
.exit-presentation:hover{background:#19438f}
.escape-hint{opacity:.8;font-size:10px;border:1px solid #ffffff80;border-radius:5px;padding:2px 6px}
html.presentation-mode .sidebar,html.presentation-mode .sidebar-overlay,html.presentation-mode .topbar,html.presentation-mode .footer,html.presentation-mode .presentation-actions{display:none!important}
html.presentation-mode .main-shell{margin:0!important;width:100%;min-height:100vh}
html.presentation-mode .content{max-width:none;width:100%;padding:83px clamp(24px,3.5vw,70px) 65px}
html.presentation-mode .exit-presentation{display:inline-flex}
html.presentation-mode .page-header{margin-bottom:28px}
html.presentation-mode .plot{height:315px}
html.presentation-mode,html.presentation-mode:fullscreen{background:var(--bg)}
html.presentation-mode .report-section{break-inside:auto}
.auth-preferences{display:flex;justify-content:flex-end;margin:-13px 0 13px}
.auth-preferences .theme-toggle{min-width:125px}
/* Tema claro: substitui todos os fundos rígidos escuros do CSS original por cores claras. */
@media screen{
  html[data-theme="light"]{color-scheme:light;--bg:#f4f7fc;--side:#fff;--card:#fff;--card-2:#edf3fa;--border:#dbe3ef;--border-soft:#e3e9f2;--txt:#17263c;--muted:#596a81;--sub:#3c5169;--cyan:#087d82;--blue:#2563bd;--orange:#a85118;--red:#ba3e51;--shadow:0 9px 30px #253e6310}
  html[data-theme="light"] body{background:var(--bg);color:var(--txt)}
  html[data-theme="light"] .sidebar{background:linear-gradient(180deg,#fff 0%,#f0f5fb 100%);border-right-color:#dce5f1}
  html[data-theme="light"] .brand small{color:#516987}
  html[data-theme="light"] .sidebar-caption{color:#59728b}
  html[data-theme="light"] .nav-link{color:#435773}
  html[data-theme="light"] .nav-link:hover{background:#e6effb;color:#174c8d}
  html[data-theme="light"] .nav-link.selected{background:#ddf1f1;color:#096c75}
  html[data-theme="light"] .system-tile{background:#e7f7f1;border-color:#cce6da}
  html[data-theme="light"] .system-tile small{color:#4f716f}
  html[data-theme="light"] .creator{color:#66778f}
  html[data-theme="light"] .creator a{color:#25508a}
  html[data-theme="light"] .topbar{background:#ffffffed;border-bottom-color:#dce5f0}
  html[data-theme="light"] .top-location,html[data-theme="light"] .top-date{color:#4e637f}
  html[data-theme="light"] .top-location span{color:#9aa9bc}
  html[data-theme="light"] .avatar{background:#e4efff;border-color:#bad2ee;color:#1d528d}
  html[data-theme="light"] .user-info small{color:#63758b}
  html[data-theme="light"] .menu-toggle,html[data-theme="light"] .top-control{background:#edf3fa;color:#25415f;border-color:#d0def0}
  html[data-theme="light"] .menu-toggle:hover,html[data-theme="light"] .top-control:hover{background:#dcebf9;border-color:#a3bfdb}
  html[data-theme="light"] .eyebrow{color:#087e7a}
  html[data-theme="light"] .live-label{color:#50687d}
  html[data-theme="light"] .context-strip{background:#e8f2fe;border-color:#c9dffa}
  html[data-theme="light"] .tiny-overline{color:#4d678b}
  html[data-theme="light"] .btn.soft{background:#edf3fb;color:#284664;border-color:#cddbed}
  html[data-theme="light"] .btn.soft:hover{background:#dbe9f8}
  html[data-theme="light"] .stat-card{background:linear-gradient(145deg,#fff,#f9fbff);border-color:#dbe5f1;box-shadow:var(--shadow)}
  html[data-theme="light"] .stat-card.teal{border-color:#9bd1cc}
  html[data-theme="light"] .stat-card.orange{border-color:#f3c9a4}
  html[data-theme="light"] .stat-meta{color:#536881}
  html[data-theme="light"] .stat-icon{background:#e8f2ff;color:#2567ad}
  html[data-theme="light"] .stat-card.teal .stat-icon{background:#e0f5f0;color:#147d74}
  html[data-theme="light"] .stat-card.orange .stat-icon{background:#fff1e4;color:#b35f2a}
  html[data-theme="light"] .stat-info{color:#63768f}
  html[data-theme="light"] .panel,html[data-theme="light"] .table-card{background:#fff;box-shadow:var(--shadow);border-color:#dbe3ee}
  html[data-theme="light"] .pill{background:#e4f3f6;border-color:#b9dfe7;color:#116a81}
  html[data-theme="light"] .plot-grid{stroke:#dfe7f2}
  html[data-theme="light"] .plot-tick{fill:#5b708b}
  html[data-theme="light"] .plot-dot{stroke:#fff}
  html[data-theme="light"] .metric-list>div{border-color:#e5eaf2}
  html[data-theme="light"] .metric-list span{color:#526781}
  html[data-theme="light"] .table-wrap{border-color:#d9e3ef}
  html[data-theme="light"] .data-table th{background:#ebf2fa;color:#42607d}
  html[data-theme="light"] .data-table td{border-top-color:#e5edf5;color:#30455d}
  html[data-theme="light"] .data-table tbody tr:hover{background:#f1f6fc}
  html[data-theme="light"] .rank-num{color:#4d6889}
  html[data-theme="light"] .rank-head,html[data-theme="light"] .rank-head b{color:#28445e}
  html[data-theme="light"] .rank-track{background:#e4ebf4}
  html[data-theme="light"] .filter-bar{background:#fff;border-color:#dce5ef}
  html[data-theme="light"] .filter-bar label,html[data-theme="light"] .stack-form label,html[data-theme="light"] .form-grid label{color:#405c78}
  html[data-theme="light"] .stack-form label>small{color:#61758a}
  html[data-theme="light"] input:not([type=checkbox]),html[data-theme="light"] select,html[data-theme="light"] textarea{background:#fdfefe;border-color:#bdcde0;color:#1b324d}
  html[data-theme="light"] input[type=file]::file-selector-button{background:#e2ecfa;color:#254766}
  html[data-theme="light"] .note{background:#eff6ff;border-color:#ccddf2;color:#486581}
  html[data-theme="light"] .feature-list>div>span{background:#def3f1;color:#087b78}
  html[data-theme="light"] .empty-state{color:#61768c}
  html[data-theme="light"] .empty-state span{color:#227e94}
  html[data-theme="light"] .status-badge.ok{background:#dff6ee;color:#116a50}
  html[data-theme="light"] .status-badge.warn{background:#fff0dd;color:#8d501a}
  html[data-theme="light"] .status-badge.info{background:#e3edff;color:#245aa6}
  html[data-theme="light"] .alert{background:#e1f9f0;color:#185d48;border-color:#b6e5d1}
  html[data-theme="light"] .alert.error{background:#fff0f1;border-color:#f0bec4;color:#983747}
  html[data-theme="light"] .presentation-tag{color:#597089}
  html[data-theme="light"] .report-section{border-bottom-color:#dce5ef}
  html[data-theme="light"] .report-index>span{background:#e0f5f0;border-color:#b0ded6;color:#14776e}
  html[data-theme="light"] .capacity-number{color:#087f79}
  html[data-theme="light"] .capacity-number small{color:#5e7588}
  html[data-theme="light"] .criteria-grid div{background:#fbfdff;border-color:#d7e3f0;color:#3a526a}
  html[data-theme="light"] .criteria-grid span{color:#14867a}
  html[data-theme="light"] .methodology{background:#edf4fc;border-color:#ccddf0}
  html[data-theme="light"] .methodology p{color:#435c75}
  html[data-theme="light"] .methodology b{color:#243b56}
  html[data-theme="light"] .divider{border-color:#e1e7ef}
  html[data-theme="light"] .action-card{background:#fff;border-color:#d7e2ee;box-shadow:var(--shadow)}
  html[data-theme="light"] .action-card>p{color:#526983}
  html[data-theme="light"] .action-meta span{color:#2c4764}
  html[data-theme="light"] .action-meta b{color:#667f97}
  html[data-theme="light"] .action-update{border-color:#e0e7f0}
  html[data-theme="light"] .footer{border-color:#dce5f0;color:#62738b}
  html[data-theme="light"] .footer a{color:#25639c}
  html[data-theme="light"] .auth-body{background:radial-gradient(ellipse at 35% 15%,#dce9fa 0%,#f4f7fc 52%,#e9f0f9 100%)}
  html[data-theme="light"] .auth-panel{background:#fff;border-color:#d7e2ef;box-shadow:0 24px 70px #2b497022}
  html[data-theme="light"] .auth-panel .muted{color:#536a85}
  html[data-theme="light"] .auth-footer{color:#5b7089}
  html[data-theme="light"] .auth-footer a{color:#14758a}
}
@media(max-width:1000px){.topbar-left,.topbar-actions{gap:12px}.theme-toggle{min-width:39px;padding:0 11px}.theme-text{display:none}}
@media(max-width:760px){
  .sidebar-collapsed .sidebar{width:251px;min-width:251px;padding:30px 18px 18px}
  .sidebar-collapsed .main-shell{margin-left:0}
  .sidebar-collapsed .brand{justify-content:flex-start;padding:0 10px}
  .sidebar-collapsed .sidebar .brand-name,.sidebar-collapsed .sidebar-caption,.sidebar-collapsed .nav-label,.sidebar-collapsed .system-tile,.sidebar-collapsed .creator{display:flex!important}
  .sidebar-collapsed .sidebar-caption,.sidebar-collapsed .creator{display:block!important}
  .sidebar-collapsed .nav{margin-top:0}
  .sidebar-collapsed .nav-link{justify-content:flex-start;padding:0 15px;min-height:45px}
  .sidebar-collapsed .nav-icon{width:21px;font-size:19px}
  .sidebar-collapsed .nav-current{right:0}
  .sidebar{transform:translateX(-105%)}
  .sidebar.opened{transform:translateX(0)}
  .topbar{justify-content:space-between}
  .topbar-left{gap:10px;flex:1}
  .topbar-actions{gap:10px;margin-left:0}
  .top-location{max-width:160px}
  .theme-toggle{width:39px;height:39px}
  .exit-presentation{right:13px;top:12px;padding:10px 12px;font-size:11px}
  html.presentation-mode .content{padding:75px 16px 40px}
  html.presentation-mode .plot{height:240px}
}
@media(max-width:420px){.top-location{font-size:8px;max-width:116px}.escape-hint{display:none}}
@media (prefers-reduced-motion:reduce){.sidebar,.main-shell,.top-control,.menu-toggle{transition:none}}
@media print{.exit-presentation,.auth-preferences{display:none!important}html.presentation-mode .content{padding:0!important}.sidebar-collapsed .main-shell{margin-left:0!important}}

/* Versão 2.2: atalhos de tópicos disponíveis apenas em modo apresentação. */
.presentation-shortcut-hint{display:none;position:fixed;bottom:20px;left:24px;z-index:200;align-items:center;gap:9px;padding:9px 13px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--muted);box-shadow:0 7px 27px #04112622;font-size:11px;font-weight:700;pointer-events:none}
.presentation-shortcut-hint kbd{font:inherit;font-weight:800;color:var(--txt);border:1px solid var(--border);border-radius:5px;background:var(--card-2);padding:3px 7px}
html.presentation-mode .presentation-shortcut-hint{display:inline-flex}
html.presentation-mode .report-section{scroll-margin-top:82px}
html.presentation-mode .report-section:focus{outline:none}
@media(max-width:760px){.presentation-shortcut-hint{left:13px;bottom:12px;font-size:10px}html.presentation-mode .report-section{scroll-margin-top:76px}}
@media print{.presentation-shortcut-hint{display:none!important}}

/* v2.8 — números permanentemente visíveis nos gráficos da Apresentação */
.report-section .plot-value{
 fill:var(--txt);font-family:Manrope,'DM Sans',Arial,sans-serif;font-weight:800;
 paint-order:stroke fill;stroke:var(--card);stroke-width:5px;stroke-linejoin:round;
}
html[data-theme="light"] .report-section .plot-value{stroke:#fff}
@media print{.report-section .plot-value{stroke-width:4px}}

/* Dá mais largura aos gráficos com muitas barras (ex.: 24 horários). */
@media (min-width:900px){.report-section .panel-grid>.panel.panel-chart-expanded{grid-column:1/-1}}
@media (max-width:899px){
 .report-section .panel-chart-expanded{overflow-x:auto}
 .report-section .plot.plot-dense{min-width:740px}
}
