/* ==========================================================================
   IBSE — camada de IDENTIDADE (28/09/2026)
   Mesma linguagem do site www.ibse.com.br: grafite, papel, filete tricolor,
   Source Serif 4 (títulos) + IBM Plex Sans (texto) + IBM Plex Mono (rótulos).
   Carregada POR ÚLTIMO. Não remove nenhuma animação (radar, AO VIVO, REC,
   visor de câmera, varredura, tricolor) — só troca a "pele".
   ========================================================================== */
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/IBMPlexMono-normal-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/IBMPlexMono-normal-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/IBMPlexMono-normal-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/IBMPlexMono-normal-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/IBMPlexSans-normal-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/IBMPlexSans-normal-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/IBMPlexSans-normal-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/IBMPlexSans-normal-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/IBMPlexSans-normal-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/IBMPlexSans-normal-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/SourceSerif4-italic-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/SourceSerif4-italic-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:500;font-display:swap;src:url(fonts/SourceSerif4-italic-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:500;font-display:swap;src:url(fonts/SourceSerif4-italic-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/SourceSerif4-normal-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/SourceSerif4-normal-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/SourceSerif4-normal-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/SourceSerif4-normal-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
:root{
  --id-ink:#0d0f0e; --id-ink-2:#121513; --id-ink-3:#181c1a;
  --id-line:rgba(236,234,228,.10); --id-line-2:rgba(236,234,228,.20);
  --id-text:#eceae4; --id-mute:#9aa09c; --id-mute-2:#6f7571;
  --id-verde:#2f9e4f; --id-verde-vivo:#3fc46a; --id-vermelho:#d7193a; --id-branco:#f7f6f2;
  --id-serif:"Source Serif 4", Georgia, "Times New Roman", serif;
  --id-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --id-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --bg:var(--id-ink); --panel:var(--id-ink-2); --panel-border:var(--id-line-2);
  --text:var(--id-text); --muted:var(--id-mute);
}

/* ---- base ---- */
html body{ font-family:var(--id-sans) !important; color:var(--id-text); -webkit-font-smoothing:antialiased; background-color:var(--id-ink) !important; }
html body :is(button,input,select,textarea){ font-family:var(--id-sans); }
html body :is(h1,h2,h3){ font-family:var(--id-serif); font-weight:500; letter-spacing:-.01em; }
html body code, html body kbd, html body pre{ font-family:var(--id-mono); }

/* ---- topo ---- */
html body .topbar{ background:rgba(13,15,14,.96) !important; border-bottom:1px solid var(--id-line) !important; box-shadow:none !important; }
html body .brand{ font-family:var(--id-serif) !important; font-weight:500 !important; letter-spacing:0 !important; }
html body .brand .sub{ font-family:var(--id-mono) !important; font-size:10.5px !important; letter-spacing:.08em; color:var(--id-mute) !important; }
html body .logo-mark{ border-radius:50% !important; }
html body .ib-nome-marca{ font-family:var(--id-serif) !important; font-weight:500 !important; }
html body nav.mainnav a, html body .nav-group-btn{ font-family:var(--id-sans) !important; font-size:13.5px !important; font-weight:400 !important;
  color:var(--id-mute) !important; border-radius:2px !important; }
html body nav.mainnav a:hover, html body nav.mainnav a.active, html body nav.mainnav a.nv-nav-active,
html body .nav-group:hover .nav-group-btn, html body .nav-group.open .nav-group-btn{ color:var(--id-text) !important; background:transparent !important; border-color:transparent !important; }
html body .nav-dropdown{ border-radius:2px !important; border:1px solid var(--id-line-2) !important; box-shadow:0 30px 70px rgba(0,0,0,.55) !important; }
html body .nav-dropdown a{ font-size:13.5px !important; border-radius:0 !important; }
html body .ib-dd-cab{ font-family:var(--id-mono) !important; font-size:10.5px !important; letter-spacing:.14em !important; text-transform:uppercase; color:var(--id-mute) !important; }
html body .topbar-right .btn, html body .topbar-right button, html body .topbar-right a.btn{ border-radius:2px !important; }
html body .search-form input{ border-radius:2px !important; }

/* ---- cartões ---- */
html body :is(.card,.dx-card,.dx-tile,.dx-kpi,.quick-tile,.dx-hero,.saudacao,.stat,.kpi){
  border-radius:2px !important; border-color:var(--id-line) !important;
  background-color:var(--id-ink-2) !important; }
html body .card{ border:1px solid var(--id-line) !important; }
html body .card > :is(h2,h3), html body .card :is(h2,h3):first-child{
  font-family:var(--id-serif) !important; font-weight:500 !important; text-transform:none !important;
  letter-spacing:-.01em !important; font-size:22px !important; color:var(--id-text) !important; line-height:1.2; }
html body .card h3:not(:first-child){ font-size:17px !important; text-transform:none !important; color:var(--id-text) !important; font-family:var(--id-serif) !important; }
html body :is(.dx-h, .dx-rod, .dx-sub){ font-family:var(--id-sans); }
html body .dx-h{ font-family:var(--id-mono) !important; font-size:11px !important; letter-spacing:.12em !important; text-transform:uppercase !important; }
html body :is(.dx-kpi .n, .dx-tile .n, .dx-kpi b, .dx-v, .dx-relogio){ font-family:var(--id-serif) !important; font-weight:400 !important; letter-spacing:-.01em; }
html body .dx-hero h1, html body .dx-hero h2, html body .dx-marca{ font-family:var(--id-serif) !important; font-weight:500 !important; }
html body .saudacao__txt b, html body .saudacao__txt strong{ font-family:var(--id-mono) !important; letter-spacing:.12em; font-weight:500 !important; }
html body .muted{ color:var(--id-mute) !important; }

/* ---- botões ---- */
html body .btn, html body button.btn, html body a.btn{
  border-radius:2px !important; font-family:var(--id-sans) !important; font-weight:500 !important; letter-spacing:.01em;
  background:transparent !important; color:var(--id-text) !important; border:1px solid var(--id-line-2) !important;
  box-shadow:none !important; text-transform:none !important; }
html body .btn:hover{ border-color:var(--id-text) !important; background:rgba(236,234,228,.04) !important; filter:none !important; }
html body .btn.btn-solid, html body .btn-solid, html body button[type=submit]:not(.btn):not(.link):not([class*=icon]){
  background:var(--id-branco) !important; color:var(--id-ink) !important; border-color:var(--id-branco) !important; }
html body .btn.btn-solid:hover, html body .btn-solid:hover{ background:#fff !important; border-color:#fff !important; }
html body .btn.btn-danger, html body .btn-danger{ color:#f3b7c1 !important; border-color:rgba(215,25,58,.55) !important; background:transparent !important; }
html body .btn.btn-danger:hover{ background:rgba(215,25,58,.10) !important; }

/* ---- campos ---- */
html body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]), select, textarea){
  border-radius:2px !important; background:#0f1211 !important; border:1px solid var(--id-line-2) !important;
  color:var(--id-text) !important; font-family:var(--id-sans) !important; box-shadow:none !important; }
html body :is(input, select, textarea):focus{ border-color:var(--id-verde-vivo) !important; outline:none !important; box-shadow:0 0 0 3px rgba(63,196,106,.12) !important; }
html body label{ font-family:var(--id-mono); letter-spacing:.06em; }
html body input[type=checkbox], html body input[type=radio]{ accent-color:var(--id-verde); }

/* ---- tabelas ---- */
html body table th{ font-family:var(--id-mono) !important; font-weight:500 !important; font-size:10.5px !important; letter-spacing:.12em !important;
  color:var(--id-mute) !important; border-bottom:1px solid var(--id-line-2) !important; background:transparent !important; }
html body table td{ border-bottom:1px solid var(--id-line) !important; }
html body table tr:hover td{ background:rgba(236,234,228,.025); }

/* ---- selos, avisos, vazio ---- */
html body .badge{ border-radius:2px !important; font-family:var(--id-mono) !important; font-weight:500 !important; font-size:10.5px !important; letter-spacing:.1em !important; padding:4px 8px !important; }
html body .flash{ border-radius:0 !important; border:0 !important; border-left:2px solid var(--id-verde-vivo) !important; background:rgba(47,158,79,.09) !important; color:#cfeedb !important; }
html body .flash.error{ border-left-color:var(--id-vermelho) !important; background:rgba(215,25,58,.08) !important; color:#f3b7c1 !important; }
html body .empty{ border-radius:2px !important; border-color:var(--id-line-2) !important; font-family:var(--id-serif); font-style:italic; font-size:16px !important; color:var(--id-mute) !important; }

/* ---- modais e pop-ups ---- */
html body :is(.intg-aviso > div, .modal, .modal-box, .dialog, [role=dialog]){ border-radius:2px !important; }

/* ---- rodapé da rádio / barras fixas ---- */
html body :is(.radio-bar, .player, #radio-ibse){ border-radius:0 !important; }

/* ajustes finos */
html body .brand .sub{ font-family:var(--id-sans) !important; font-size:11px !important; letter-spacing:0 !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:260px; }
html body td .btn, html body td .btn-sm{ white-space:nowrap; }

/* portal do cliente */
html body .stat-row{ gap:0 !important; border-top:1px solid var(--id-line); }
html body .stat-box{ background:transparent !important; border:0 !important; border-radius:0 !important; text-align:left !important; padding:22px 20px 18px !important; box-shadow:none !important; }
html body .stat-box + .stat-box{ border-left:1px solid var(--id-line) !important; }
html body .stat-box .num{ font-family:var(--id-serif) !important; font-weight:400 !important; font-size:36px !important; color:var(--id-text) !important; line-height:1; }
html body .stat-box .lbl{ font-family:var(--id-mono) !important; font-size:10.5px !important; letter-spacing:.12em !important; color:var(--id-mute) !important; margin-top:10px !important; }
html body .brand{ color:var(--id-text) !important; }
html body .card > h2::before, html body .card > h3::before{ border-radius:0 !important; }
html body footer, html body .rodape-portal{ font-family:var(--id-mono); font-size:11px; letter-spacing:.08em; color:var(--id-mute-2); }
@media (max-width:640px){ html body .stat-box + .stat-box{ border-left:0 !important; border-top:1px solid var(--id-line) !important; } html body .stat-box{ flex-basis:100% !important; } }

/* documentos e páginas públicas (visita, proposta, contrato, fichas) */
body.id-doc{ position:relative; }
body.id-doc::before{ content:""; position:fixed; left:0; right:0; top:0; height:3px; z-index:50;
  background:linear-gradient(90deg,#2f9e4f 0 33.3%,#f7f6f2 33.3% 66.6%,#d7193a 66.6% 100%); }
body.id-doc :is(h1,h2){ color:var(--id-text) !important; }
body.id-doc h1{ font-size:clamp(28px,4vw,40px) !important; }
body.id-doc :is(h2,h3,.sec,.secao-titulo,.titulo-secao){ letter-spacing:.02em; }
body.id-doc :is(.card,.box,.bloco,section.painel){ border-radius:2px !important; }
body.id-doc a:not(.btn){ color:var(--id-text); }

/* app do colaborador */
html body .link-list > a, html body .link-list > div, html body .link-item, html body .link-list .link{ border-radius:2px !important; }
html body .link-icon{ border-radius:2px !important; }
html body .link-list a :is(b,strong,.link-title){ font-family:var(--id-sans); font-weight:500; }
html body .bottom-nav, html body .tabbar, html body nav.mobile-nav{ border-radius:0 !important; }

/* ==========================================================================
   CABEÇALHO — duas faixas: marca · busca · conta  /  menu completo
   ========================================================================== */
@media (min-width:1101px){
  html body .topbar{ display:grid !important; grid-template-columns:auto minmax(0,1fr) auto; grid-template-rows:64px 46px;
    column-gap:28px; align-items:center; padding:0 32px !important; position:sticky; top:0; z-index:60;
    backdrop-filter:saturate(140%) blur(10px); -webkit-backdrop-filter:saturate(140%) blur(10px); }
  html body .topbar .nav-toggle{ display:none !important; }
  html body .topbar-right{ display:contents !important; }
  html body .topbar .brand{ grid-row:1; grid-column:1; }
  html body .topbar .search-form{ grid-row:1; grid-column:2; justify-self:end; width:min(420px,100%); }
  html body .topbar-right > form:not(.search-form){ grid-row:1; grid-column:3; }
  html body .topbar nav.mainnav{ grid-row:2; grid-column:1 / -1; display:flex !important; flex-wrap:nowrap !important; gap:2px !important;
    align-self:stretch; align-items:stretch; margin:0 -12px; border-top:1px solid var(--id-line); }
  html body nav.mainnav > a, html body nav.mainnav .nav-group-btn{ display:flex !important; align-items:center; height:100%;
    padding:0 12px !important; border:0 !important; position:relative; white-space:nowrap; }
  html body nav.mainnav > a.nv-nav-active::after, html body nav.mainnav > a.active::after{
    content:""; position:absolute; left:12px; right:12px; bottom:-1px; height:2px; background:var(--id-verde-vivo); }
  html body .nav-group{ display:flex; align-items:stretch; }
}
/* marca */
html body .topbar .brand{ gap:14px !important; }
html body .topbar .brand .logo-mark{ width:40px !important; height:40px !important; margin:0 !important; }
html body .topbar .brand > span{ font-size:0 !important; display:flex; flex-direction:column; line-height:1; }
html body .topbar .brand .ib-nome-marca{ font:italic 500 25px/1 var(--id-serif) !important; letter-spacing:.06em !important;
  background:none !important; -webkit-background-clip:border-box !important; background-clip:border-box !important; color:var(--id-text) !important; }
html body .topbar .brand .sub{ font-size:0 !important; margin-top:6px !important; display:block !important; max-width:none !important; }
html body .topbar .brand .sub::before{ content:"Sistema de gestão · Acesso restrito"; font:500 9.5px/1 var(--id-mono); letter-spacing:.2em; text-transform:uppercase; color:var(--id-mute); }
/* busca */
html body .topbar .search-form{ display:flex; align-items:center; position:relative; }
html body .topbar .search-form input{ width:100% !important; height:38px; padding:0 40px 0 14px !important; font-size:13.5px !important;
  background:rgba(236,234,228,.04) !important; border:1px solid var(--id-line) !important; }
html body .topbar .search-form input::placeholder{ color:var(--id-mute-2); }
html body .topbar .search-form button{ position:absolute; right:4px; top:4px; bottom:4px; width:32px; border:0 !important; background:transparent !important;
  font-size:0 !important; cursor:pointer; box-shadow:none !important; }
html body .topbar .search-form button::before{ content:""; display:block; width:14px; height:14px; margin:auto; border:1.5px solid var(--id-mute); border-radius:50%;
  position:relative; left:-2px; top:-1px; }
html body .topbar .search-form button::after{ content:""; position:absolute; width:6px; height:1.5px; background:var(--id-mute); transform:rotate(45deg); left:18px; top:19px; }
/* conta */
html body .topbar-right > form:not(.search-form){ gap:6px !important; }
html body .topbar-right > form:not(.search-form) > .muted{ font-family:var(--id-mono) !important; font-size:11px !important; letter-spacing:.08em; text-transform:uppercase;
  padding-right:10px; margin-right:4px; border-right:1px solid var(--id-line); white-space:nowrap; }
html body .topbar-right > form:not(.search-form) .btn{ height:34px; min-height:0 !important; padding:0 12px !important; font-size:12.5px !important;
  display:inline-flex !important; align-items:center; gap:6px; white-space:nowrap; line-height:1 !important; }
/* filete tricolor fica embaixo da faixa do menu (já existia) */

/* ==========================================================================
   TELA INICIAL
   ========================================================================== */
/* saudação: faixa discreta, o astro animado continua */
html body .saudacao{ background:transparent !important; border:0 !important; border-bottom:1px solid var(--id-line) !important;
  border-radius:0 !important; box-shadow:none !important; padding:6px 2px 16px !important; margin-bottom:22px !important; }
html body .saudacao__txt strong{ font:italic 400 24px/1.2 var(--id-serif) !important; letter-spacing:0 !important; text-transform:none !important; color:var(--id-text) !important; }
html body .saudacao__txt span{ font-family:var(--id-mono) !important; font-size:11px !important; letter-spacing:.14em; text-transform:uppercase; color:var(--id-mute) !important; }
html body .saudacao__astro{ transform:scale(.8); }

/* hero da central */
html body .dx-hero{ padding:34px 36px 28px !important; border:1px solid var(--id-line-2) !important; background:
  linear-gradient(90deg, rgba(47,158,79,.06), transparent 40%), var(--id-ink-2) !important; }
html body .dx-hero h1{ font-size:clamp(30px,2.8vw,42px) !important; line-height:1.05 !important; letter-spacing:-.015em !important; }
html body .dx-hero .dx-marca{ font-style:italic !important; background:none !important; -webkit-background-clip:border-box !important; color:var(--id-text) !important; }
html body .dx-data{ font-family:var(--id-mono) !important; font-size:11px !important; letter-spacing:.14em !important; text-transform:uppercase !important; color:var(--id-mute) !important; }
html body .dx-rec{ font-family:var(--id-mono) !important; letter-spacing:.14em !important; }
html body .dx-res{ font-size:15px !important; color:var(--id-mute) !important; }
html body .dx-relogio{ font-size:52px !important; line-height:1 !important; color:var(--id-text) !important; }
html body .dx-relogio small, html body .dx-relogio span{ font-family:var(--id-mono) !important; font-size:14px !important; color:var(--id-mute) !important; }
html body .dx-acoes .btn, html body .dx-acao{ height:38px; font-size:13px !important; }
html body .dx-editar, html body .dx-editar a{ font-family:var(--id-mono) !important; font-size:10.5px !important; letter-spacing:.1em; text-transform:uppercase; color:var(--id-mute-2) !important; }

/* alertas (faixa de números grandes) */
html body .dx-alertas{ gap:0 !important; border:1px solid var(--id-line); background:var(--id-ink-2); }
html body .dx-tile{ border:0 !important; border-right:1px solid var(--id-line) !important; background:transparent !important; box-shadow:none !important;
  padding:22px 20px 20px !important; position:relative; }
html body .dx-tile:last-child{ border-right:0 !important; }
html body .dx-tile::before{ content:""; position:absolute; left:0; right:0; top:0; height:2px; background:var(--id-line-2); }
html body .dx-tile.vermelho::before{ background:var(--id-vermelho); }
html body .dx-tile.amarelo::before{ background:#c9a64a; }
html body .dx-tile.azul::before{ background:#6f93b8; }
html body .dx-tile .n{ font:400 44px/1 var(--id-serif) !important; color:var(--id-text) !important; display:block; margin-bottom:14px; }
html body .dx-tile.vermelho .n{ color:#f08a9b !important; }
html body .dx-tile .r{ font:500 10.5px/1.35 var(--id-mono) !important; letter-spacing:.12em !important; text-transform:uppercase; color:var(--id-text) !important; display:block; }
html body .dx-tile .d{ font-size:12.5px !important; color:var(--id-mute) !important; margin-top:6px; display:block; }
html body .dx-tile:hover{ background:rgba(236,234,228,.03) !important; transform:none !important; }

/* números menores (kpis com ícone) */
html body .dx-kpis{ gap:0 !important; border:1px solid var(--id-line); background:var(--id-ink-2); }
html body .dx-kpi{ border:0 !important; border-right:1px solid var(--id-line) !important; background:transparent !important; box-shadow:none !important; padding:16px 18px !important; }
html body .dx-kpi:last-child{ border-right:0 !important; }
html body .dx-kpi .ic{ border-radius:2px !important; background:rgba(236,234,228,.05) !important; border:1px solid var(--id-line) !important; }
html body .dx-kpi .v{ font:400 28px/1 var(--id-serif) !important; color:var(--id-text) !important; }
html body .dx-kpi .l{ font:500 10px/1.3 var(--id-mono) !important; letter-spacing:.12em !important; text-transform:uppercase; color:var(--id-mute) !important; margin-top:6px; }
html body .dx-kpi:hover{ background:rgba(236,234,228,.03) !important; transform:none !important; }

/* cartões de gráfico/listas */
html body .dx-card{ border:1px solid var(--id-line) !important; }
html body .dx-card .dx-h{ border-bottom:1px solid var(--id-line); padding-bottom:12px; margin-bottom:14px; }
html body .dx-card .dx-h h3{ font:500 18px/1.2 var(--id-serif) !important; text-transform:none !important; letter-spacing:-.005em !important; color:var(--id-text) !important; }
html body .dx-cont{ border-radius:2px !important; font-family:var(--id-mono) !important; font-size:10px !important; letter-spacing:.12em !important; }
html body .dx-ic, html body .dx-card .dx-ic{ border-radius:2px !important; }
html body .dx-tile::after{ opacity:.18 !important; }
html body .dx-kpis{ grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)) !important; }
html body .dx-alertas{ grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)) !important; }
@media (max-width:700px){
  html body .dx-tile, html body .dx-kpi{ border-right:0 !important; border-bottom:1px solid var(--id-line) !important; }
}
@media (max-width:1100px){
  html body .topbar{ display:flex !important; flex-wrap:wrap !important; align-items:center !important; padding:12px 18px !important; gap:0 12px; }
  html body .topbar .brand{ flex:1 1 auto; min-width:0; margin:0 !important; }
  html body .topbar .nav-toggle{ order:2; margin-left:auto !important; flex:none; width:44px; height:44px; border-radius:2px !important;
    border:1px solid var(--id-line-2) !important; background:transparent !important; color:var(--id-text) !important; display:inline-flex !important; align-items:center; justify-content:center; }
  html body .topbar-right{ order:3; flex-basis:100%; }
}
@media (max-width:480px){
  html body .topbar .brand .sub::before{ content:"Acesso restrito"; }
  html body .dx-relogio{ font-size:40px !important; }
}
html body .topbar .search-form button[type=submit]:not(.btn){ background:transparent !important; border-color:transparent !important; }

/* app do colaborador: itens do menu (inclusive "Sair") nunca como botão cheio; X sem cobrir o nome */
html body .menu-sheet .menu-link, html body .menu-sheet button.menu-link[type=submit]{ background:transparent !important; color:var(--id-text) !important; border-color:transparent !important; }
html body .menu-sheet .menu-link:hover{ background:rgba(236,234,228,.05) !important; }
html body .menu-sheet .menu-close{ left:auto !important; right:14px !important; }
html body .menu-sheet .who{ padding-right:44px; }

/* nome do portal ao lado da logo (cliente/colaborador): a regra do cabeçalho da administração não vale aqui */
html body .topbar .brand > span:not(:has(.ib-nome-marca)){ font:500 19px/1.1 var(--id-serif) !important; color:var(--id-text) !important; display:inline !important; letter-spacing:0; }

/* ==========================================================================
   MENUS (28/09): seções dentro dos menus, aviso e cadeado do cofre
   ========================================================================== */
html body .nav-dropdown .nav-sec{ grid-column:1 / -1; margin:10px 10px 2px; padding-top:8px; border-top:1px solid var(--id-line);
  font:500 10px/1 var(--id-mono); letter-spacing:.16em; text-transform:uppercase; color:var(--id-mute-2); }
html body .nav-dropdown .ib-dd-cab + .nav-sec, html body .nav-dropdown .ib-dd-dash + .nav-sec{ border-top:0; padding-top:4px; }
html body .nav-dropdown .nav-aviso{ grid-column:1 / -1; margin:4px 10px 6px; padding:8px 10px; border-left:2px solid var(--id-verde-vivo);
  background:rgba(47,158,79,.08); font:500 10.5px/1.3 var(--id-mono); letter-spacing:.06em; color:#cfeedb; }
html body .nav-dropdown a.nav-cofre::after{ content:""; margin-left:auto; flex:none; width:12px; height:12px; opacity:.55;
  background:currentColor; -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'><rect x='4' y='11' width='16' height='10' rx='1'/><path d='M8 11V7a4 4 0 0 1 8 0v4'/></svg>") center/contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'><rect x='4' y='11' width='16' height='10' rx='1'/><path d='M8 11V7a4 4 0 0 1 8 0v4'/></svg>") center/contain no-repeat; }
html body .nav-dropdown a{ display:flex !important; align-items:center; gap:10px; }
/* portal do cliente: atalho "Abrir chamado" e item ativo */
html body nav.portalnav a.active{ color:var(--id-text) !important; box-shadow:inset 0 -2px 0 var(--id-verde-vivo); }
html body nav.portalnav a.portal-cta{ margin-left:12px; color:var(--id-ink) !important; }
@media (max-width:760px){ html body nav.portalnav a.portal-cta{ margin:8px 0 0; justify-content:center; } }

/* contador no menu (pedidos de imagens aguardando) */
html body .nav-dropdown .nav-conta{ margin-left:auto; min-width:20px; height:20px; padding:0 6px; display:inline-grid; place-items:center;
  font:500 11px/1 var(--id-mono); background:var(--id-verde); color:#fff; }
/* títulos de cartão em qualquer posição + campos de data largos */
html body .card h2{ font-family:var(--id-serif) !important; font-weight:500 !important; text-transform:none !important; letter-spacing:-.01em !important; font-size:24px !important; color:var(--id-text) !important; }
html body input[type=datetime-local], html body input[type=date], html body input[type=time]{ width:100%; min-height:42px; color-scheme:dark; }
