/* ==========================================================================
   Multiempresa: tela de acesso, seleção da empresa, marca no menu, chip do usuário
   ========================================================================== */
.side-brand img{height:30px;width:auto;max-width:200px;display:block}
.brand-txt{font:800 20px var(--f-title);color:#fff;letter-spacing:-.01em}
.brand-txt.dark{color:var(--ink)}
.brand-mark{display:inline-flex;align-items:center;gap:6px}
.brand-mark img{height:16px;width:auto;border-radius:2px}
.brand-mark b{font:800 12px var(--f-title);color:var(--brand)}
.rec-logo img{height:14px;width:auto;display:block}

.user-chip{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;min-width:0}
.uc-co{font:800 12px var(--f-title);color:var(--brand)}
.uc-u{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.top-acts{display:flex;gap:6px}

/* tela de acesso */
#gate{display:none}
body.gated .app{display:none}
body.gated #gate{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:32px 16px;background:linear-gradient(135deg,#0F1114,#2A2D35)}
.gate-box{background:var(--card);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.35);padding:30px;width:100%;max-width:560px}
.gate-box.wide{max-width:980px}
.gate-h{margin-bottom:20px}
.gate-h h1{font-size:26px;margin-top:8px}
.gate-h p{color:var(--muted);margin-top:4px}
.gate-box h2{font-size:15px;margin-bottom:4px}
.gate-list{display:flex;flex-direction:column;gap:8px}
.gate-user{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:12px 14px;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}
.gate-user:hover,.gate-user:focus-visible{border-color:var(--ink-2);transform:translateY(-1px);box-shadow:var(--shadow-lg);outline:none}
.gate-user>span:not(.av){flex:1;min-width:0}
.gate-user b{display:block;font-size:14px;color:var(--ink)}
.gate-user small{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.gate-user i{font-style:normal;color:var(--muted);font-weight:700}
.gate-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.gate-co{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card);padding:0;text-align:left;cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;flex-direction:column}
.gate-co:hover,.gate-co:focus-visible{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.18);border-color:var(--c,var(--ink-2));outline:none}
.gate-ban{height:150px;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:18px}
.gate-ban img{height:34px;width:auto;max-width:230px}
/* Visão regional: mescla das duas marcas (vermelho NE Máquinas à esquerda, azul NE Caminhões à direita) */
.gate-ban.reg{position:relative;overflow:hidden;background:#111416;padding:0}
.gate-ban.reg .reg-a,.gate-ban.reg .reg-b{position:absolute;top:0;bottom:0;background-size:cover;background-position:center;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.gate-ban.reg .reg-a{left:0;width:60%;clip-path:polygon(0 0,100% 0,72% 100%,0 100%)}
.gate-ban.reg .reg-b{right:0;width:60%;clip-path:polygon(28% 0,100% 0,100% 100%,0 100%);background-position:70% 40%}
.gate-ban.reg .reg-a::after,.gate-ban.reg .reg-b::after{content:"";position:absolute;inset:0}
.gate-ban.reg .reg-a::after{background:linear-gradient(180deg,rgba(185,20,44,.35),rgba(17,20,22,.92))}
.gate-ban.reg .reg-b::after{background:linear-gradient(180deg,rgba(11,60,140,.40),rgba(8,43,102,.94))}
.gate-ban.reg .reg-cut{position:absolute;top:0;bottom:0;left:50%;width:3px;transform:translateX(-50%) skewX(-12.5deg);background:linear-gradient(180deg,#E31837,#19B6D6);box-shadow:0 0 18px rgba(25,182,214,.35)}
.gate-ban.reg .reg-txt{position:absolute;left:18px;right:18px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:1}
.gate-ban.reg .reg-logos{display:flex;align-items:center;gap:10px}
.gate-ban.reg .reg-logos img{height:20px;width:auto;max-width:44%}
.gate-ban.reg .reg-logos i{width:1px;height:18px;background:rgba(255,255,255,.45)}
.gate-ban.reg .brand-txt{font-size:22px;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.gate-co.reg:hover .reg-a{transform:translateX(-6px)}
.gate-co.reg:hover .reg-b{transform:translateX(6px)}
.gate-co.reg .gate-co-b i{background:linear-gradient(90deg,#E31837,#0B3C8C);-webkit-background-clip:text;background-clip:text;color:transparent}
.gate-co.reg:hover,.gate-co.reg:focus-visible{border-color:#2A2D35}
.gate-co-b{padding:16px 18px 18px;display:flex;flex-direction:column;gap:4px}
.gate-co-b b{font:800 18px var(--f-title);color:var(--ink)}
.gate-co-b small{font-size:12px;color:var(--muted)}
.gate-co-b i{font-style:normal;font-weight:800;font-size:13px;color:var(--c,var(--ink-2));margin-top:8px}
.reg-co{text-decoration:none}

@media (max-width:1280px){.user-chip{display:none}}
