:root{--tenant-primary:#e30613;--tenant-secondary:#ff2734;--tenant-deep:#050608}
html[data-tenant]{--red:var(--tenant-primary);--red-glow:var(--tenant-secondary);--red-dark:var(--tenant-deep);--red-soft:color-mix(in srgb,var(--tenant-primary) 9%,white)}
html[data-tenant] body{background:radial-gradient(circle at 92% 3%,color-mix(in srgb,var(--tenant-primary) 10%,transparent),transparent 27rem),linear-gradient(rgba(24,27,35,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(24,27,35,.025) 1px,transparent 1px),#eef0f4;background-size:auto,32px 32px,32px 32px,auto}
html[data-tenant] .topbar{background:color-mix(in srgb,var(--tenant-deep) 96%,transparent);border-bottom-color:color-mix(in srgb,var(--tenant-primary) 70%,transparent)}
html[data-tenant] .auth-shell{background:radial-gradient(circle at 78% 18%,color-mix(in srgb,var(--tenant-primary) 32%,transparent),transparent 28rem),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),var(--tenant-deep);background-size:auto,34px 34px,34px 34px,auto}
html[data-tenant] .hero{background:linear-gradient(125deg,var(--tenant-deep),color-mix(in srgb,var(--tenant-deep) 88%,var(--tenant-primary)) 70%,color-mix(in srgb,var(--tenant-deep) 65%,var(--tenant-primary)))}
html[data-tenant] .hero:after{border-color:color-mix(in srgb,var(--tenant-secondary) 52%,transparent);box-shadow:0 0 70px color-mix(in srgb,var(--tenant-primary) 30%,transparent),inset 0 0 55px color-mix(in srgb,var(--tenant-primary) 18%,transparent)}
html[data-tenant] .brand-logo{background:transparent}
html[data-tenant="gea"] .brand-logo{background:#000}
html[data-tenant="installdapper"] .login-logo{background:#08255d;padding:18px 34px;border-radius:18px}
html[data-tenant="installdapper"] .header-logo{padding:5px 14px}
html[data-tenant="wmb"] .login-logo{padding:8px 22px}
html[data-tenant="wmb"] .header-logo{width:150px;height:64px;padding:6px 10px;background:#fff;border:1px solid rgba(88,166,255,.42);border-radius:12px;object-fit:contain;box-shadow:0 8px 22px rgba(0,0,0,.2)}
html[data-tenant]:not([data-tenant="gea"]) .header-logo{width:118px;height:62px}

/* Páginas internas com layout próprio, como Documentos da equipe. */
html[data-tenant] .docs-header{background:var(--tenant-deep);border-bottom-color:var(--tenant-primary)}
html[data-tenant] .docs-brand small,html[data-tenant] .docs-hero .eyebrow{color:var(--tenant-secondary)}
html[data-tenant] .docs-hero{background:radial-gradient(circle at 90%,color-mix(in srgb,var(--tenant-primary) 38%,transparent),transparent 42%),linear-gradient(135deg,color-mix(in srgb,var(--tenant-deep) 88%,#20242c),var(--tenant-deep));box-shadow:0 20px 45px color-mix(in srgb,var(--tenant-deep) 28%,transparent)}
html[data-tenant] .docs-hero .button.primary{background:linear-gradient(135deg,var(--tenant-secondary),var(--tenant-primary));border-color:var(--tenant-primary)}
html[data-tenant] .docs-stats .danger{border-bottom-color:var(--tenant-primary)}
html[data-tenant] .class-card{border-left-color:var(--tenant-primary)}
html[data-tenant] .field input:focus,html[data-tenant] .field select:focus,html[data-tenant] .field textarea:focus{border-color:var(--tenant-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--tenant-primary) 14%,transparent)}
html[data-tenant] .toast{border-left-color:var(--tenant-primary)}
html[data-tenant]:not([data-tenant="gea"]) .docs-brand img{width:118px;height:62px;background:transparent;object-fit:contain}

@media(max-width:600px){html[data-tenant="installdapper"] .login-logo{padding:14px 24px}html[data-tenant]:not([data-tenant="gea"]) .header-logo{width:94px;height:52px}html[data-tenant="wmb"] .header-logo{width:112px;height:52px;padding:5px 8px}html[data-tenant]:not([data-tenant="gea"]) .docs-brand img{width:88px;height:50px}}

/* Preserva a proporção original das marcas no login. A classe genérica de
   cabeçalho não deve impor largura e altura fixas à logo principal. */
html[data-tenant] .auth-card .login-logo.tenant-brand-image{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:160px;
  margin:0 auto 25px;
  object-fit:contain;
  object-position:center;
  aspect-ratio:auto;
}
html[data-tenant="wmb"] .auth-card .login-logo.tenant-brand-image{
  padding:12px 28px;
  background:#fff;
}
html[data-tenant="installdapper"] .auth-card .login-logo.tenant-brand-image{
  padding:16px 30px;
}

/* Identidade multiempresa nas páginas internas que ainda usam cores próprias. */
html[data-tenant] .fleet-tabs button.active,
html[data-tenant] .ack-alert{
  color:#fff;
  background:linear-gradient(135deg,var(--tenant-secondary),var(--tenant-primary));
}
html[data-tenant] .tire-wheel{
  background:conic-gradient(var(--tenant-primary) var(--wear),#303440 0);
}
html[data-tenant] .fleet-header .eyebrow,
html[data-tenant] .ops-header .eyebrow{
  color:var(--tenant-secondary);
}

@media(max-width:600px){
  html[data-tenant] .auth-card .login-logo.tenant-brand-image{max-height:130px}
  html[data-tenant="wmb"] .auth-card .login-logo.tenant-brand-image{padding:10px 22px}
}

/* Padrão visual da Central nas páginas operacionais legadas.
   Telas de TV permanecem com o tratamento escuro próprio para exibição. */
html[data-tenant] :is(.ops-shell,.fleet-shell,.monitor-shell,.bi-shell){
  color:#16171b;
}
html[data-tenant] :is(.ops-header,.fleet-header,.monitor-header,.bi-top){
  color:#fff;
  border-color:color-mix(in srgb,var(--tenant-primary) 42%,#2b3039);
  background:
    radial-gradient(circle at 92% 12%,color-mix(in srgb,var(--tenant-primary) 30%,transparent),transparent 35%),
    linear-gradient(135deg,#11141b,#080a0f 72%);
  box-shadow:0 18px 44px rgba(8,10,15,.18);
}
html[data-tenant] :is(.ops-header,.fleet-header,.monitor-header,.bi-top) :is(p,small,.muted){
  color:#c5cad3;
}
html[data-tenant] :is(.ops-nav,.fleet-tabs,.monitor-nav){
  color:#20232a;
  border-color:#d9dce2;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 26px rgba(24,31,43,.07);
}
html[data-tenant] :is(.ops-nav,.fleet-tabs,.monitor-nav) button{
  color:#3f4652;
}
html[data-tenant] :is(.ops-nav,.fleet-tabs,.monitor-nav) button:is(.active,[aria-current="page"]){
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,var(--tenant-secondary),var(--tenant-primary));
}
html[data-tenant] :is(.ops-shell .ops-panel,.ops-shell .view,.fleet-shell .fleet-panel,.monitor-shell .monitor-view,.bi-shell .bi-panel,.bi-shell .client-welcome){
  color:var(--user-panel-text,#16171b);
  border-color:#d9dce2;
  background:var(--user-panel-bg,rgba(255,255,255,.97));
  box-shadow:0 16px 38px rgba(24,31,43,.08);
}
html[data-tenant] :is(
  .ops-shell .ops-kpis article,
  .ops-shell .item-card,
  .ops-shell .panel-card,
  .fleet-shell .fleet-kpis article,
  .fleet-shell .report-cards article,
  .fleet-shell .vehicle-card,
  .fleet-shell .tire-card,
  .fleet-shell .fleet-row,
  .monitor-shell .monitor-metrics article,
  .monitor-shell .agent-card,
  .monitor-shell .device-card,
  .monitor-shell .event,
  .bi-shell .bi-summary article,
  .bi-shell .panel-card
){
  color:#171a20;
  border-color:#dfe2e7;
  background:#f7f8fb;
}
html[data-tenant] :is(.ops-shell,.fleet-shell,.monitor-shell,.bi-shell) :is(.muted,.empty,small){
  color:#68707c;
}
html[data-tenant] :is(.ops-shell,.fleet-shell,.monitor-shell,.bi-shell) :is(input,select,textarea){
  color:#171a20;
  border-color:#cfd3da;
  background:#fff;
}
html[data-tenant] :is(.ops-shell,.fleet-shell,.monitor-shell,.bi-shell) :is(input,select,textarea)::placeholder{
  color:#858b95;
}
html[data-tenant] :is(.ops-shell,.fleet-shell,.monitor-shell,.bi-shell) :is(.tag,.fact,.badge,.status-pill){
  color:#303641;
  border-color:#d9dce2;
  background:#eef0f4;
}
html[data-tenant] :is(.ops-shell,.fleet-shell,.monitor-shell,.bi-shell) :is(table,thead,tbody,tr,th,td){
  border-color:#e1e4e9;
}
html[data-tenant] :is(.ops-shell,.fleet-shell,.monitor-shell,.bi-shell) th{
  color:#4d5562;
  background:#f2f4f7;
}


/* Quadro de atividades: identidade visual e contraste por empresa. */
html[data-tenant]{--red2:var(--tenant-secondary)}
html[data-tenant] body.activities-page{
  background:
    radial-gradient(circle at 78% 0,color-mix(in srgb,var(--tenant-primary) 24%,transparent),transparent 34rem),
    linear-gradient(140deg,var(--tenant-deep),color-mix(in srgb,var(--tenant-deep) 88%,var(--tenant-primary)) 58%,var(--tenant-deep));
  color:#f6f7fb;
}
html[data-tenant] .activities-page .topbar{
  background:color-mix(in srgb,var(--tenant-deep) 95%,transparent);
  border-bottom-color:color-mix(in srgb,var(--tenant-primary) 72%,transparent);
}
html[data-tenant] .activities-page .brand small,
html[data-tenant] .activities-page .eyebrow{color:var(--tenant-secondary)}
html[data-tenant] .activities-page .button.primary{
  background:linear-gradient(135deg,var(--tenant-secondary),var(--tenant-primary));
  border-color:var(--tenant-primary);
  box-shadow:0 10px 24px color-mix(in srgb,var(--tenant-primary) 22%,transparent);
}
html[data-tenant] .activities-page .toolbar-actions input:focus,
html[data-tenant] .activities-page .dialog-form input:focus,
html[data-tenant] .activities-page .dialog-form textarea:focus,
html[data-tenant] .activities-page .dialog-form select:focus{
  border-color:var(--tenant-secondary);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--tenant-primary) 18%,transparent);
}
html[data-tenant] .activities-page .column-head{border-top-color:var(--tenant-primary)}
html[data-tenant] .activities-page .column.private{border-color:color-mix(in srgb,var(--tenant-primary) 42%,#2c3039)}
html[data-tenant] .activities-page .card-list.drag-over{background:color-mix(in srgb,var(--tenant-primary) 10%,transparent)}
html[data-tenant] .activities-page .add-card:hover{border-color:var(--tenant-secondary)}
html[data-tenant] .activities-page #board-select,
html[data-tenant] .activities-page .empty h2{color:#fff}
html[data-tenant="wmb"] .activities-page .task-card.priority-urgente::before,
html[data-tenant="installdapper"] .activities-page .task-card.priority-urgente::before{background:#ed101d}


/* WMB: base clara para preservar a leitura da marca azul-marinho no cabeçalho. */
html[data-tenant="wmb"] .activities-page .brand img{
  width:150px;
  height:64px;
  padding:6px 10px;
  border:1px solid rgba(88,166,255,.42);
  border-radius:12px;
  background:#fff;
  object-fit:contain;
  box-shadow:0 8px 22px rgba(0,0,0,.2);
}
@media(max-width:850px){
  html[data-tenant="wmb"] .activities-page .brand img{width:112px;height:52px;padding:5px 8px}
}

/* Identidade visual consistente em todas as páginas internas. */
html[data-tenant] .tenant-brand-image{display:block;object-fit:contain;border-radius:10px}
html[data-tenant="wmb"] .tenant-brand-image{width:150px;height:64px;padding:6px 10px;background:#fff;border:1px solid rgba(88,166,255,.42);box-shadow:0 8px 22px rgba(0,0,0,.2)}
html[data-tenant="installdapper"] .tenant-brand-image{width:132px;height:68px;padding:7px 14px;background:#08255d;border:1px solid rgba(255,121,0,.5);box-shadow:0 8px 22px rgba(0,0,0,.2)}
html[data-tenant="gea"] .tenant-brand-image{background:#000}
@media(max-width:600px){html[data-tenant="wmb"] .tenant-brand-image{width:112px;height:52px;padding:5px 8px}html[data-tenant="installdapper"] .tenant-brand-image{width:104px;height:56px;padding:5px 10px}}

/* Modo TV da escala: substitui os destaques fixos da G&A pela empresa ativa. */
html[data-tenant] .tv-header{
  background:linear-gradient(125deg,var(--tenant-deep),color-mix(in srgb,var(--tenant-deep) 82%,var(--tenant-primary)));
  border-bottom-color:var(--tenant-primary);
}
html[data-tenant] .tv-nav,
html[data-tenant] .tv-view,
html[data-tenant] .map-toolbar{
  border-color:color-mix(in srgb,var(--tenant-primary) 28%,#303642);
}
html[data-tenant] .tv-brand small,
html[data-tenant] .map-layout aside header small{
  color:var(--tenant-secondary);
}
html[data-tenant] .tv-nav button.active{
  color:#fff;
  background:linear-gradient(135deg,var(--tenant-secondary),var(--tenant-primary));
  border-color:var(--tenant-primary);
  box-shadow:0 10px 25px color-mix(in srgb,var(--tenant-primary) 28%,transparent);
}
html[data-tenant] .tv-shell button:focus-visible,
html[data-tenant] .tv-shell a:focus-visible{
  outline:3px solid color-mix(in srgb,var(--tenant-secondary) 58%,white);
  outline-offset:2px;
}
html[data-tenant] .calendar-head button:hover,
html[data-tenant] .map-toolbar button:hover{
  border-color:var(--tenant-secondary);
  color:var(--tenant-secondary);
}
html[data-tenant] .tv-calendar .today,
html[data-tenant] .tv-calendar .is-today,
html[data-tenant] .destination-card.active{
  border-color:var(--tenant-primary);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--tenant-primary) 24%,transparent);
}
html[data-tenant] .tv-calendar .schedule-card,
html[data-tenant] .destination-card{
  border-left-color:var(--tenant-primary);
}
html[data-tenant="wmb"] .tv-brand img{
  width:150px;
  height:64px;
  padding:6px 10px;
  background:#fff;
  border:1px solid rgba(88,166,255,.42);
  border-radius:12px;
  object-fit:contain;
}
html[data-tenant="installdapper"] .tv-brand img{
  width:132px;
  height:68px;
  padding:7px 14px;
  background:#08255d;
  border:1px solid rgba(255,121,0,.5);
  border-radius:12px;
  object-fit:contain;
}


/* Alpha 50 — contraste consistente entre Chrome, Safari e Edge.
   Evita fundos lavados causados por composição/transparência no cabeçalho e hero. */
html[data-tenant] .topbar{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  opacity:1!important;
}
html[data-tenant="gea"] .topbar{
  background:#050608!important;
  border-bottom-color:#e30613!important;
}
html[data-tenant="installdapper"] .topbar{
  background:#061d49!important;
  border-bottom-color:#ff7900!important;
}
html[data-tenant="wmb"] .topbar{
  background:#04172a!important;
  border-bottom-color:#2d8cff!important;
}

html[data-tenant="gea"] .hero{
  background:linear-gradient(125deg,#08090c 0%,#15171d 70%,#23070b 100%)!important;
  color:#fff!important;
}
html[data-tenant="installdapper"] .hero{
  background:linear-gradient(125deg,#061d49 0%,#0b2e6b 72%,#5a2500 100%)!important;
  color:#fff!important;
}
html[data-tenant="wmb"] .hero{
  background:linear-gradient(125deg,#04172a 0%,#0a2745 72%,#0d3a63 100%)!important;
  color:#fff!important;
}
html[data-tenant] .hero :is(h1,h2,h3,strong,.eyebrow){color:#fff!important}
html[data-tenant] .hero :is(p,.muted,small){color:#d9dde5!important}

/* Cabeçalhos internos seguem a mesma base sólida para evitar variação por navegador. */
html[data-tenant] :is(.ops-header,.fleet-header,.monitor-header,.bi-top){
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  opacity:1!important;
}
html[data-tenant="gea"] :is(.ops-header,.fleet-header,.monitor-header,.bi-top){
  background:linear-gradient(135deg,#11141b,#080a0f 72%)!important;
}
html[data-tenant="installdapper"] :is(.ops-header,.fleet-header,.monitor-header,.bi-top){
  background:linear-gradient(135deg,#0a214d,#06152f 72%)!important;
}
html[data-tenant="wmb"] :is(.ops-header,.fleet-header,.monitor-header,.bi-top){
  background:linear-gradient(135deg,#0a243f,#04172a 72%)!important;
}


/* Alpha 77 — escala visual global de desktop. Mobile/tablet touch permanece em 100%. */
@media (min-width:900px) and (hover:hover) and (pointer:fine){
  html{
    zoom:.90;
  }
}
