/* ====== RESET ====== */
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{
    font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;
    background:#f1f5f9;color:#1e293b;font-size:14px;line-height:1.4;
}
a{color:inherit;text-decoration:none}

/* ====== LOGIN (legado) ====== */
.login-bg{
    background:linear-gradient(135deg,#0f172a 0%,#1e3a8a 50%,#0ea5e9 100%);
    min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;
}
.login-card{
    background:#fff;border-radius:16px;padding:40px;width:100%;max-width:400px;
    box-shadow:0 25px 60px rgba(0,0,0,.3);text-align:center;
}
.login-logo{font-size:60px;margin-bottom:10px}
.login-card h1{color:#0f172a;margin-bottom:6px;font-size:24px}
.login-sub{color:#64748b;font-size:13px;margin-bottom:25px}
.login-rodape{margin-top:25px;font-size:11px;color:#94a3b8}

/* ============================================================
   AUTHENTICATION TERMINAL — Login industrial
   ============================================================ */
.auth-body{
    margin:0;min-height:100vh;
    background:radial-gradient(ellipse at 30% 20%,#0d1320 0%,#0a0e16 60%,#06090f 100%);
    color:#cbd5e1;
    font-family:'Manrope',sans-serif;
    overflow-x:hidden;position:relative;
    display:flex;flex-direction:column;
}

/* Background grid técnico (blueprint) */
.auth-grid{
    position:fixed;inset:0;pointer-events:none;z-index:0;
    background-image:
        linear-gradient(rgba(250,204,21,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(250,204,21,.04) 1px, transparent 1px);
    background-size:60px 60px;
    mask-image:radial-gradient(ellipse at center, #000 30%, transparent 80%);
    -webkit-mask-image:radial-gradient(ellipse at center, #000 30%, transparent 80%);
}
.auth-glow{
    position:fixed;inset:0;pointer-events:none;z-index:0;
    background:
        radial-gradient(ellipse 60% 40% at 18% 35%, rgba(250,204,21,.10), transparent 70%),
        radial-gradient(ellipse 50% 35% at 82% 70%, rgba(34,197,94,.06),  transparent 70%);
}
.auth-noise{
    position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.04;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/></filter><rect width='200' height='200' filter='url(%23n)' opacity='.5'/></svg>");
}

/* Hazard stripes nas bordas */
.auth-hazard{
    position:fixed;left:0;right:0;height:6px;z-index:5;pointer-events:none;
    background:repeating-linear-gradient(-45deg,#FACC15 0 12px,#0a0e16 12px 24px);
    box-shadow:0 0 0 1px #0a0e16;
}
.auth-hazard-top{top:0}
.auth-hazard-bottom{bottom:0;background:repeating-linear-gradient(45deg,#FACC15 0 12px,#0a0e16 12px 24px)}

/* HUD topo */
.auth-hud{
    position:relative;z-index:10;
    display:flex;justify-content:space-between;align-items:center;
    padding:18px 30px;gap:20px;flex-wrap:wrap;
    border-bottom:1px solid rgba(250,204,21,.08);
    font-size:10.5px;letter-spacing:.14em;
    background:linear-gradient(180deg, rgba(10,14,22,.6), transparent);
}
.auth-hud-left,.auth-hud-right{display:flex;gap:10px;align-items:center;color:#94a3b8}
.auth-hud-sep{color:#334155}
.auth-hud .dim{color:#475569}
.auth-hud-center{
    display:flex;gap:9px;align-items:center;color:#22c55e;
    font-weight:600;
}
.auth-online-dot{
    width:8px;height:8px;border-radius:50%;background:#22c55e;
    box-shadow:0 0 0 0 rgba(34,197,94,.6);
    animation:pulse-dot 1.8s ease-in-out infinite;
}
.auth-clock{
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:22px;letter-spacing:.05em;color:#FACC15;line-height:1;
    text-shadow:0 0 14px rgba(250,204,21,.35);
}

/* ===== MAIN — 2 colunas ===== */
.auth-main{
    position:relative;z-index:5;flex:1;
    display:grid;grid-template-columns:1.25fr 1fr;gap:60px;
    padding:50px 60px;align-items:center;max-width:1500px;width:100%;margin:0 auto;
}

/* ===== LEFT: Branding ===== */
.auth-brand{
    min-width:0;display:flex;flex-direction:column;gap:18px;
    animation:fade-up .7s ease forwards;opacity:0;
}
@keyframes fade-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

.auth-brand-eyebrow{
    display:flex;align-items:center;gap:12px;
    font-family:'JetBrains Mono',monospace;
    font-size:11px;color:#FACC15;letter-spacing:.22em;font-weight:600;
}
.auth-bar{
    flex:0 0 60px;height:1px;background:#FACC15;
    box-shadow:0 0 8px rgba(250,204,21,.6);
}

.auth-bigname{
    margin:0;padding:0;line-height:.82;
    font-family:'Bebas Neue',Impact,sans-serif;
    letter-spacing:.02em;
    color:#f1f5f9;
    display:flex;gap:2px;
    font-size:clamp(90px, 16vw, 220px);
}
.auth-bigname span{
    display:inline-block;
    background:linear-gradient(180deg, #fff 0%, #cbd5e1 60%, #94a3b8 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
    animation:char-reveal .55s cubic-bezier(.34,1.56,.64,1) backwards;
    text-shadow:0 6px 30px rgba(0,0,0,.5);
}
.auth-bigname .bn-1{animation-delay:.05s}
.auth-bigname .bn-2{animation-delay:.12s}
.auth-bigname .bn-3{animation-delay:.19s;
    background:linear-gradient(180deg, #FACC15 0%, #EAB308 100%);
    -webkit-background-clip:text;background-clip:text;
    text-shadow:0 0 40px rgba(250,204,21,.5);
}
.auth-bigname .bn-4{animation-delay:.26s}
.auth-bigname .bn-5{animation-delay:.33s}
@keyframes char-reveal{
    from{opacity:0;transform:translateY(40px) rotate(-6deg)}
    to{opacity:1;transform:none}
}

.auth-bar-yellow{
    width:160px;height:5px;
    background:linear-gradient(90deg,#FACC15 0%, #FACC15 60%, transparent 100%);
    box-shadow:0 0 18px rgba(250,204,21,.5);
    margin-top:8px;
}

.auth-tagline{
    font-family:'Manrope',sans-serif;font-size:15px;color:#94a3b8;
    max-width:520px;line-height:1.65;margin:6px 0 8px;
}
.auth-tagline b{color:#FACC15;font-weight:700}

.auth-meta-cards{display:flex;gap:14px;margin-top:8px;flex-wrap:wrap}
.auth-meta-card{
    background:linear-gradient(155deg,#0e1422 0%, #0a0e16 100%);
    border:1px solid #1a2030;border-radius:9px;
    padding:12px 16px;display:flex;align-items:center;gap:12px;
    min-width:140px;flex:1;position:relative;overflow:hidden;
    transition:border-color .25s ease, transform .25s ease;
}
.auth-meta-card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent, rgba(250,204,21,.5), transparent);
}
.auth-meta-card:hover{border-color:rgba(250,204,21,.35);transform:translateY(-2px)}
.auth-meta-num{
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:34px;color:#FACC15;letter-spacing:.04em;line-height:1;
    text-shadow:0 0 16px rgba(250,204,21,.3);
}
.auth-meta-sub{font-size:18px;opacity:.65}
.auth-meta-lbl{
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:14px;color:#cbd5e1;letter-spacing:.1em;line-height:1.1;
}
.auth-meta-lbl .dim{color:#475569;display:block;font-size:10px;letter-spacing:.14em}

.auth-truck{
    width:100%;max-width:340px;height:auto;margin-top:10px;
    color:rgba(250,204,21,.55);
    filter:drop-shadow(0 0 18px rgba(250,204,21,.15));
}

/* ===== RIGHT: Terminal ===== */
.auth-terminal{
    min-width:0;display:flex;flex-direction:column;gap:12px;
    animation:fade-up .7s .2s ease backwards;
}
.auth-term-frame{
    background:linear-gradient(180deg,#0c1220 0%, #08101c 100%);
    border:1px solid #1a2030;border-radius:14px;
    position:relative;overflow:hidden;
    box-shadow:
        0 30px 80px rgba(0,0,0,.55),
        0 0 0 1px rgba(250,204,21,.04),
        inset 0 1px 0 rgba(255,255,255,.04);
}
.auth-term-frame::after{
    content:'';position:absolute;inset:0;pointer-events:none;
    background:repeating-linear-gradient(0deg, rgba(255,255,255,.012) 0 1px, transparent 1px 3px);
}

/* Terminal head */
.auth-term-head{
    display:flex;align-items:center;gap:12px;
    padding:12px 16px;border-bottom:1px solid #1a2030;
    background:#0a0f1a;
}
.auth-term-dots{display:flex;gap:5px}
.auth-term-dots span{
    width:10px;height:10px;border-radius:50%;background:#1f2937;
    border:1px solid #2a3344;
}
.auth-term-dots span:nth-child(2){background:#EAB30866}
.auth-term-dots span:nth-child(3){background:#22c55e66}
.auth-term-id{flex:1;text-align:center;font-size:10.5px;color:#64748b;letter-spacing:.16em}
.auth-term-led{
    width:8px;height:8px;border-radius:50%;background:#FACC15;
    box-shadow:0 0 8px #FACC15;
    animation:pulse-dot 1.6s ease-in-out infinite;
}

/* Hazard line dentro do terminal */
.auth-term-hazard{
    height:4px;
    background:repeating-linear-gradient(-45deg,#FACC15 0 8px,#0a0e16 8px 16px);
    opacity:.75;
}

/* Title block */
.auth-term-titleblock{padding:24px 28px 14px}
.auth-term-tag{
    font-size:10px;color:#FACC15;letter-spacing:.18em;font-weight:700;margin-bottom:10px;
}
.auth-term-title{
    margin:0;font-family:'Bebas Neue',Impact,sans-serif;
    font-size:38px;line-height:.92;color:#f1f5f9;letter-spacing:.04em;
}
.auth-term-sub{
    font-size:12px;color:#64748b;margin-top:10px;letter-spacing:.06em;
}

/* Erro */
.auth-error{
    margin:0 28px 16px;padding:11px 14px;
    background:linear-gradient(135deg, rgba(239,68,68,.12), rgba(239,68,68,.04));
    border:1px solid rgba(239,68,68,.35);border-radius:8px;
    display:flex;align-items:center;gap:10px;
    font-family:'Manrope',sans-serif;font-size:12.5px;color:#fca5a5;
}
.auth-error-led{
    width:8px;height:8px;border-radius:50%;background:#EF4444;
    box-shadow:0 0 10px #EF4444;flex-shrink:0;
    animation:pulse-warn 1.2s ease-in-out infinite;
}
.auth-error-code{font-size:10px;color:#EF4444;letter-spacing:.16em;font-weight:700}
.auth-error-msg{flex:1}

/* Form */
.auth-form{padding:6px 28px 26px;display:flex;flex-direction:column;gap:18px}
.auth-field{display:flex;flex-direction:column;gap:8px}
.auth-field label{
    font-family:'JetBrains Mono',monospace;font-size:20px;
    color:#94a3b8;letter-spacing:.18em;font-weight:600;
    display:flex;align-items:center;gap:14px;text-transform:uppercase;
}
.auth-field-num{
    display:inline-grid;place-items:center;
    width:36px;height:36px;border:1px solid #1a2030;border-radius:6px;
    background:#0c1117;color:#FACC15;font-size:16px;font-weight:700;
}

.auth-input-wrap{
    display:flex;align-items:center;gap:10px;
    background:#0a0f1a;border:1px solid #1a2030;border-radius:8px;
    padding:0 14px;transition:all .2s ease;
}
.auth-input-wrap:hover{border-color:#2a3344}
.auth-input-wrap.focused{
    border-color:#FACC15;
    box-shadow:0 0 0 3px rgba(250,204,21,.14), inset 0 0 16px rgba(250,204,21,.04);
}
.auth-input-pre{
    font-size:18px;color:#FACC15;font-weight:700;line-height:1;
    text-shadow:0 0 8px rgba(250,204,21,.5);
}
.auth-input{
    flex:1;background:transparent;border:none;outline:none;
    padding:14px 0;color:#f1f5f9;font-size:15px;
    font-family:'JetBrains Mono',monospace;letter-spacing:.04em;
}
.auth-input::placeholder{color:#334155;letter-spacing:.1em}

/* LEDs senha 8 dígitos */
.auth-leds{
    display:grid;grid-template-columns:repeat(8, 1fr);gap:6px;
    padding-top:6px;
}
.auth-led{
    height:6px;border-radius:2px;background:#1a2030;
    transition:background .2s ease, box-shadow .2s ease;
    position:relative;
}
.auth-led.on{
    background:#FACC15;
    box-shadow:0 0 10px #FACC15, 0 0 2px #FACC15;
}

/* Submit */
.auth-submit{
    position:relative;display:flex;align-items:center;justify-content:center;
    gap:14px;padding:16px 22px;margin-top:6px;
    background:#FACC15;color:#0a0e16;border:none;cursor:pointer;
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:17px;letter-spacing:.16em;font-weight:normal;
    border-radius:8px;overflow:hidden;
    transition:all .25s cubic-bezier(.4,0,.2,1);
    box-shadow:0 6px 24px rgba(250,204,21,.35), 0 0 0 1px #FACC15;
}
.auth-submit:hover{
    background:#FDE047;
    transform:translateY(-1px);
    box-shadow:0 10px 30px rgba(250,204,21,.55), 0 0 0 1px #FACC15;
}
.auth-submit:active{transform:translateY(0)}
.auth-submit-line{
    width:18px;height:2px;background:#0a0e16;border-radius:1px;
}
.auth-submit-arrow{font-size:18px;line-height:1;transition:transform .25s ease}
.auth-submit:hover .auth-submit-arrow{transform:translateX(4px)}

/* Terminal foot - log preview */
.auth-term-foot{
    border-top:1px solid #1a2030;background:#080d18;
    padding:12px 28px;display:flex;flex-direction:column;gap:5px;
}
.auth-log-line{
    display:flex;align-items:center;gap:10px;
    font-size:11px;color:#94a3b8;font-family:'Manrope',sans-serif;
}
.auth-log-time{color:#475569;font-size:10.5px}
.auth-log-tag{font-size:10px;font-weight:700;letter-spacing:.1em;padding:1px 6px;border-radius:3px}
.auth-log-tag.log-info{background:rgba(56,189,248,.1);color:#38bdf8}
.auth-log-tag.log-ok{background:rgba(34,197,94,.1);color:#22c55e}
.auth-log-tag.log-err{background:rgba(239,68,68,.12);color:#EF4444}
.auth-log-msg b{color:#FACC15}

/* Aux line abaixo do terminal */
.auth-term-aux{
    display:flex;align-items:center;gap:12px;
    padding:0 4px;font-size:10px;letter-spacing:.16em;
    color:#475569;
}
.auth-term-aux .dim{color:#334155}
.auth-term-aux-sep{
    flex:1;height:1px;
    background:linear-gradient(90deg, #1a2030 0%, transparent 100%);
}

/* Footer global */
.auth-foot{
    position:relative;z-index:5;
    display:flex;align-items:center;gap:16px;
    padding:14px 30px 18px;
    font-size:10px;color:#475569;letter-spacing:.16em;
}
.auth-foot-coords{color:#94a3b8}
.auth-foot-coords .dim{color:#475569;font-weight:600}
.auth-foot-tech{color:#94a3b8;text-align:right}
.auth-foot-tech .dim{color:#475569;font-weight:600}
.auth-foot-stripe{
    flex:1;height:1px;
    background:repeating-linear-gradient(90deg, #1a2030 0 6px, transparent 6px 14px);
}

/* ===== Responsivo ===== */
@media (max-width:1100px){
    .auth-main{grid-template-columns:1fr;padding:30px;gap:34px}
    .auth-bigname{font-size:clamp(80px, 22vw, 160px)}
    .auth-meta-cards{flex-wrap:wrap}
}
@media (max-width:680px){
    .auth-hud{padding:14px 18px;font-size:9px;gap:12px}
    .auth-hud-center{order:-1;flex-basis:100%;justify-content:center}
    .auth-clock{font-size:18px}
    .auth-main{padding:20px;gap:24px}
    .auth-term-titleblock{padding:18px 20px 8px}
    .auth-term-title{font-size:30px}
    .auth-form{padding:6px 20px 20px}
    .auth-foot{flex-wrap:wrap;justify-content:center;text-align:center;padding:12px 18px 18px}
    .auth-foot-stripe{display:none}
}

.campo{margin-bottom:16px;text-align:left}
.campo label{display:block;margin-bottom:6px;font-weight:600;color:#334155;font-size:13px}
.campo input,.campo select,.campo textarea{
    width:100%;padding:11px 14px;border:1.5px solid #cbd5e1;border-radius:8px;
    font-size:14px;transition:.2s;font-family:inherit;background:#fff;
}
.campo input:focus,.campo select:focus,.campo textarea:focus{
    outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px rgba(14,165,233,.15);
}

/* ====== BUTTONS ====== */
.btn{
    display:inline-block;padding:9px 18px;border-radius:7px;border:none;cursor:pointer;
    font-weight:600;font-size:13px;transition:.2s;text-decoration:none;
}
.btn-primary{background:#0ea5e9;color:#fff}
.btn-primary:hover{background:#0284c7}
.btn-block{width:100%;padding:13px;font-size:15px}
.btn-sair{background:#ef4444;color:#fff}
.btn-sair:hover{background:#dc2626}
.btn-novo{background:#10b981;color:#fff}
.btn-novo:hover{background:#059669}
.btn-editar{background:#f59e0b;color:#fff;padding:6px 12px;font-size:12px}
.btn-editar:hover{background:#d97706}
.btn-excluir{background:#ef4444;color:#fff;padding:6px 12px;font-size:12px}
.btn-excluir:hover{background:#dc2626}
.btn-voltar{background:#64748b;color:#fff}
.btn-voltar:hover{background:#475569}
.btn-disabled{background:#cbd5e1;color:#64748b;cursor:not-allowed}

/* ====== LAYOUT ====== */
:root{
    --sb-bg-1:#0a0e16;
    --sb-bg-2:#0f1420;
    --sb-edge:#1c2333;
    --sb-text:#cbd5e1;
    --sb-text-mute:#64748b;
    --sb-text-soft:#94a3b8;
    --yellow:#FACC15;
    --yellow-soft:#FDE047;
    --yellow-deep:#EAB308;
    --amber:#F59E0B;
    --hazard-dark:#1a1f2e;
    --online:#22c55e;
}
.layout{display:flex;min-height:100vh}

/* ====== SIDEBAR — Industrial Cabin Panel ====== */
.sidebar{
    width:268px;
    background:linear-gradient(180deg,var(--sb-bg-1) 0%,var(--sb-bg-2) 50%,#080c14 100%);
    color:var(--sb-text);
    display:flex;flex-direction:column;
    position:fixed;left:0;top:0;height:100vh;
    overflow-y:auto;overflow-x:hidden;
    border-right:1px solid var(--sb-edge);
    box-shadow:4px 0 32px rgba(0,0,0,.55), inset -1px 0 0 rgba(250,204,21,.04);
    scrollbar-width:thin;
    scrollbar-color:#1f2937 transparent;
    z-index:50;
}
.sidebar::-webkit-scrollbar{width:6px}
.sidebar::-webkit-scrollbar-thumb{background:#1f2937;border-radius:3px}
.sidebar::-webkit-scrollbar-thumb:hover{background:var(--yellow-deep)}

/* Background texture/noise — sutil */
.sidebar-bg-deco{
    position:absolute;inset:0;pointer-events:none;z-index:0;
    background:
        radial-gradient(ellipse 80% 40% at 50% 0%, rgba(250,204,21,.06), transparent 70%),
        radial-gradient(ellipse 60% 30% at 50% 100%, rgba(250,204,21,.04), transparent 70%),
        repeating-linear-gradient(135deg, transparent 0 22px, rgba(250,204,21,.012) 22px 23px);
}
.sidebar > *:not(.sidebar-bg-deco){position:relative;z-index:1}

/* ====== Sidebar HEAD — Brand + Stats ====== */
.sidebar-head{padding:18px 18px 0;border-bottom:1px solid var(--sb-edge)}
.brand{display:flex;align-items:center;gap:12px;padding-bottom:14px}
.brand-mark{
    width:46px;height:46px;border-radius:11px;
    background:linear-gradient(135deg,var(--yellow) 0%,var(--yellow-deep) 100%);
    color:#0a0e16;display:grid;place-items:center;flex-shrink:0;
    box-shadow:0 6px 20px rgba(250,204,21,.35), inset 0 -2px 0 rgba(0,0,0,.2), inset 0 2px 0 rgba(255,255,255,.25);
    transform:rotate(-3deg);
    transition:transform .35s cubic-bezier(.34,1.56,.64,1);
}
.brand:hover .brand-mark{transform:rotate(0deg) scale(1.05)}
.brand-text{flex:1;min-width:0}
.brand-name{
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:26px;letter-spacing:.06em;line-height:.95;
    color:#fff;
}
.brand-name span{color:var(--yellow)}
.brand-meta{
    display:flex;align-items:center;gap:6px;margin-top:4px;
    font-family:'JetBrains Mono',monospace;font-size:9.5px;
    color:var(--sb-text-mute);letter-spacing:.08em;text-transform:uppercase;
}
.mono{font-family:'JetBrains Mono',monospace;letter-spacing:.05em}
.mono-sep{opacity:.4}
.status-dot{
    width:7px;height:7px;border-radius:50%;background:var(--online);
    box-shadow:0 0 0 0 rgba(34,197,94,.6);
    animation:pulse-dot 2s ease-in-out infinite;
}
@keyframes pulse-dot{
    0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}
    50%{box-shadow:0 0 0 6px rgba(34,197,94,0)}
}

/* Hazard stripe — faixa diagonal preto/amarelo (placa industrial) */
.hazard-bar{
    height:6px;margin:0 -18px;
    background:repeating-linear-gradient(
        -45deg,
        var(--yellow) 0 10px,
        #0a0e16 10px 20px
    );
    opacity:.85;
    box-shadow:0 1px 0 rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.08);
}

/* Stats strip — painel de instrumentos */
.stats-strip{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;margin:14px -18px 0}
.stat{
    text-align:center;padding:12px 6px;
    border-right:1px solid var(--sb-edge);
    position:relative;
}
.stat:last-child{border-right:none}
.stat-num{
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:24px;line-height:1;color:#fff;letter-spacing:.04em;
    text-shadow:0 1px 0 rgba(0,0,0,.5);
}
.stat-lbl{
    font-family:'JetBrains Mono',monospace;
    font-size:8.5px;letter-spacing:.12em;color:var(--sb-text-mute);
    margin-top:4px;text-transform:uppercase;
}
.stat-warn .stat-num{color:var(--yellow);text-shadow:0 0 18px rgba(250,204,21,.45)}
.stat-warn::before{
    content:'';position:absolute;top:6px;right:6px;
    width:6px;height:6px;border-radius:50%;background:var(--yellow);
    box-shadow:0 0 8px var(--yellow);
    animation:pulse-warn 1.4s ease-in-out infinite;
}
@keyframes pulse-warn{
    0%,100%{opacity:1}
    50%{opacity:.35}
}

/* ====== MENU ====== */
.menu{padding:10px 0 14px;flex:1}

/* Títulos de grupo — AMARELOS, condensados, 30%+ maiores */
.menu-grupo{
    display:flex;align-items:center;gap:10px;
    margin:18px 18px 8px;
    font-family:'Bebas Neue',Impact,sans-serif;
    color:var(--yellow);
    font-size:18px;          /* itens em 13px → 18px = +38% (atende +30%) */
    letter-spacing:.16em;
    text-transform:uppercase;
    line-height:1;
    text-shadow:0 0 22px rgba(250,204,21,.25);
}
.grupo-dot{
    width:7px;height:7px;background:var(--yellow);
    box-shadow:0 0 10px rgba(250,204,21,.7);
    flex-shrink:0;
    transform:rotate(45deg);
}
.grupo-txt{flex-shrink:0}
.grupo-line{
    flex:1;height:1px;
    background:linear-gradient(90deg,
        rgba(250,204,21,.45) 0%,
        rgba(250,204,21,.15) 40%,
        transparent 100%);
}

/* Itens do menu */
.menu-item{
    display:flex;align-items:center;gap:11px;
    padding:9px 18px 9px 22px;margin:1px 10px;
    border-radius:8px;
    color:var(--sb-text);
    font-family:'Manrope',sans-serif;
    font-size:13px;font-weight:500;
    letter-spacing:.005em;
    position:relative;
    transition:background .18s ease, color .18s ease, transform .18s ease;
    overflow:hidden;
}
.menu-item::before{
    content:'';
    position:absolute;left:0;top:50%;transform:translateY(-50%);
    width:3px;height:0;background:var(--yellow);border-radius:0 2px 2px 0;
    box-shadow:0 0 12px var(--yellow);
    transition:height .22s cubic-bezier(.4,0,.2,1);
}
.menu-item:hover{
    background:rgba(250,204,21,.06);
    color:#fff;
}
.menu-item:hover::before{height:60%}
.menu-item:hover .mi-icon{
    color:var(--yellow);
    background:rgba(250,204,21,.12);
    border-color:rgba(250,204,21,.35);
}
.menu-item:hover .mi-arrow{opacity:1;transform:translateX(2px);color:var(--yellow)}

/* Item ATIVO — destaque amarelo industrial */
.menu-item.active{
    background:linear-gradient(90deg, rgba(250,204,21,.14) 0%, rgba(250,204,21,.03) 100%);
    color:#fff;
}
.menu-item.active::before{
    height:80%;width:4px;
    background:var(--yellow);
    box-shadow:0 0 16px var(--yellow), 0 0 4px var(--yellow);
}
.menu-item.active .mi-icon{
    color:#0a0e16;background:var(--yellow);
    border-color:var(--yellow);
    box-shadow:0 0 14px rgba(250,204,21,.45);
}
.menu-item.active .mi-label{font-weight:700}
.menu-item.active .mi-arrow{opacity:1;color:var(--yellow)}

/* Itens — ícone em chip */
.mi-icon{
    width:26px;height:26px;
    display:grid;place-items:center;
    flex-shrink:0;
    border:1px solid var(--sb-edge);
    border-radius:7px;
    background:#0c1220;
    color:var(--sb-text-soft);
    font-size:13px;
    transition:all .18s ease;
}
.mi-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mi-arrow{
    color:var(--sb-text-mute);
    font-size:18px;line-height:1;font-weight:700;
    opacity:.35;transition:all .2s ease;
}
.mi-badge{
    font-family:'JetBrains Mono',monospace;
    font-size:10px;font-weight:700;
    background:var(--yellow);color:#0a0e16;
    padding:2px 6px;border-radius:4px;
    min-width:18px;text-align:center;line-height:1.2;
    box-shadow:0 0 10px rgba(250,204,21,.35);
}

/* Item Dashboard — destaque diferenciado */
.menu-item.dash{
    margin:6px 18px 14px;
    padding:11px 14px;
    background:linear-gradient(135deg, rgba(250,204,21,.08), rgba(250,204,21,.02));
    border:1px solid rgba(250,204,21,.18);
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:16px;letter-spacing:.1em;
    color:#fff;
}
.menu-item.dash::before{display:none}
.menu-item.dash .mi-icon{
    color:var(--yellow);
    border-color:rgba(250,204,21,.35);
    background:rgba(250,204,21,.08);
}
.menu-item.dash:hover{background:linear-gradient(135deg, rgba(250,204,21,.16), rgba(250,204,21,.04));border-color:rgba(250,204,21,.4)}
.menu-item.dash.active{background:linear-gradient(135deg, var(--yellow) 0%, var(--yellow-deep) 100%);color:#0a0e16;border-color:var(--yellow)}
.menu-item.dash.active .mi-icon{background:#0a0e16;color:var(--yellow);border-color:#0a0e16}
.menu-item.dash.active .mi-arrow{color:#0a0e16}

/* ====== Sidebar FOOT ====== */
.sidebar-foot{padding:0 0 8px;border-top:1px solid var(--sb-edge);background:rgba(0,0,0,.2)}
.foot-tech{
    display:flex;justify-content:space-between;align-items:center;
    padding:10px 18px 6px;
    font-family:'JetBrains Mono',monospace;
    font-size:9px;letter-spacing:.12em;
    color:var(--sb-text-mute);text-transform:uppercase;
}

/* ====== CONTEUDO ====== */
.conteudo{flex:1;margin-left:268px;display:flex;flex-direction:column;min-height:100vh}
.topbar{
    background:#fff;padding:15px 25px;border-bottom:1px solid #e2e8f0;
    display:flex;justify-content:space-between;align-items:center;
    box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.topbar h1{font-size:18px;color:#0f172a}
.user-info{display:flex;align-items:center;gap:15px;font-size:13px;color:#475569}
.conteudo-inner{padding:25px;flex:1}

/* ====== ALERTAS ====== */
.alerta{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:13px;font-weight:500}
.alerta.sucesso{background:#d1fae5;color:#065f46;border-left:4px solid #10b981}
.alerta.erro{background:#fee2e2;color:#991b1b;border-left:4px solid #ef4444}
.alerta.aviso{background:#fef3c7;color:#92400e;border-left:4px solid #f59e0b}

/* ====== CARDS (legacy — usadas em outras páginas) ====== */
.filtro-ano{margin-bottom:20px;display:flex;align-items:center;gap:10px}
.filtro-ano select{padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;background:#fff}

.cards-mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:25px}
.card-mini{
    background:#fff;border-radius:10px;padding:16px;display:flex;align-items:center;gap:14px;
    box-shadow:0 1px 3px rgba(0,0,0,.05);
}
.card-mini span{font-size:28px}
.card-mini b{display:block;font-size:22px;color:#0f172a}
.card-mini small{color:#64748b;font-size:12px}
.card-mini.alerta-mini{border-left:4px solid #f59e0b}

.secao{font-size:16px;margin:20px 0 12px;color:#334155}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px;margin-bottom:25px}
.card{
    border-radius:12px;padding:20px;color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.08);
    position:relative;overflow:hidden;
}
.card::after{
    content:'';position:absolute;right:-20px;top:-20px;width:90px;height:90px;
    background:rgba(255,255,255,.1);border-radius:50%;
}
.card-titulo{font-size:12px;text-transform:uppercase;letter-spacing:1px;opacity:.95;margin-bottom:6px}
.card-valor{font-size:24px;font-weight:bold}
.card.azul{background:linear-gradient(135deg,#0ea5e9,#0369a1)}
.card.verde{background:linear-gradient(135deg,#10b981,#047857)}
.card.vermelho{background:linear-gradient(135deg,#ef4444,#b91c1c)}
.card.laranja{background:linear-gradient(135deg,#f97316,#c2410c)}
.card.roxo{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}
.card.cinza{background:linear-gradient(135deg,#64748b,#334155)}
.card.azul-claro{background:linear-gradient(135deg,#38bdf8,#0ea5e9)}

/* ============================================================
   DASHBOARD INDUSTRIAL — Painel de cabine
   ============================================================ */

/* Dashboard ocupa o espaço dark para destacar a instrumentação */
body:has(.hud-strip){background:#0a0e16}
body:has(.hud-strip) .topbar{background:linear-gradient(180deg,#0c1117 0%,#0a0e16 100%);border-bottom:1px solid #1a2030}
body:has(.hud-strip) .topbar h1{color:#f1f5f9;font-family:'Bebas Neue',Impact,sans-serif;font-size:24px;letter-spacing:.08em}
body:has(.hud-strip) .user-info{color:#94a3b8}
body:has(.hud-strip) .btn-sair{background:#1a2030;color:#FACC15;border:1px solid #2a3344}
body:has(.hud-strip) .btn-sair:hover{background:#FACC15;color:#0a0e16;border-color:#FACC15}

.conteudo-inner:has(.hud-strip){padding:20px 28px 40px}

/* ====== HUD STRIP — Cabeçalho ====== */
.hud-strip{
    display:flex;justify-content:space-between;align-items:flex-end;
    gap:30px;padding:8px 0 22px;flex-wrap:wrap;
}
.hud-left{flex:1;min-width:280px}
.hud-code{font-size:10px;color:#475569;letter-spacing:.15em}
.hud-title{
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:46px;line-height:.95;letter-spacing:.04em;
    color:#f1f5f9;margin:6px 0 4px;
}
.hud-title span{color:#FACC15;text-shadow:0 0 24px rgba(250,204,21,.6)}
.hud-sub{font-size:10.5px;color:#64748b;letter-spacing:.18em;text-transform:uppercase}

.hud-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.hud-clock{
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:38px;color:#FACC15;letter-spacing:.08em;line-height:1;
    text-shadow:0 0 18px rgba(250,204,21,.4);
}
.hud-anos{display:flex;align-items:center;gap:12px}
.hud-anos > .mono{font-size:9.5px;color:#64748b;letter-spacing:.18em}
.anos-pills{display:flex;gap:4px}
.ano-pill{
    display:inline-block;
    padding:5px 12px;
    font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;
    color:#64748b;border:1px solid #1a2030;border-radius:4px;
    background:#0c1117;transition:.18s ease;letter-spacing:.05em;
}
.ano-pill:hover{color:#FACC15;border-color:#FACC15}
.ano-pill.on{background:#FACC15;color:#0a0e16;border-color:#FACC15;box-shadow:0 0 14px rgba(250,204,21,.45)}

/* Hazard divisor */
.hazard-divider{
    height:8px;margin:0 0 24px;
    background:repeating-linear-gradient(-45deg,#FACC15 0 12px,#0a0e16 12px 24px);
    box-shadow:0 1px 0 rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.06);
}
.hazard-divider.mini{height:4px;margin:24px 0;opacity:.55}

/* ====== HERO KPI ====== */
.hero-kpi{
    display:grid;grid-template-columns:1.05fr 1.4fr;gap:24px;
    margin-bottom:28px;
    background:linear-gradient(135deg,#0d1320 0%,#0a0e16 100%);
    border:1px solid #1a2030;border-radius:14px;
    padding:28px 30px;position:relative;overflow:hidden;
}
.hero-kpi::before{
    content:'';position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent 0%,#FACC15 20%,#FACC15 80%,transparent 100%);
    opacity:.55;
}
.hero-kpi::after{
    content:'CTRL.MASTER';position:absolute;top:14px;right:18px;
    font-family:'JetBrains Mono',monospace;font-size:9.5px;color:#334155;letter-spacing:.18em;
}
.hero-left{display:flex;flex-direction:column;justify-content:center;min-width:0}
.hero-tag{
    display:flex;align-items:center;gap:8px;
    font-family:'JetBrains Mono',monospace;font-size:10px;
    color:#94a3b8;letter-spacing:.15em;margin-bottom:14px;
}
.hero-tag .dim{color:#475569}
.led-dot{
    width:8px;height:8px;border-radius:50%;
    background:#22c55e;flex-shrink:0;
}
.led-dot.live{
    box-shadow:0 0 0 0 rgba(34,197,94,.6);
    animation:pulse-dot 1.8s ease-in-out infinite;
}
.hero-value{display:flex;align-items:baseline;gap:10px;line-height:.9;margin-bottom:18px}
.hero-cur{
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:36px;color:#64748b;letter-spacing:.05em;
}
.hero-num{
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:88px;color:#f1f5f9;letter-spacing:.01em;
    text-shadow:0 4px 24px rgba(250,204,21,.18);
    background:linear-gradient(180deg,#fff 0%,#cbd5e1 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-meta{display:flex;gap:28px;flex-wrap:wrap;padding-top:14px;border-top:1px dashed #1a2030}
.hero-meta-item{display:flex;flex-direction:column;gap:2px;font-size:13px}
.hero-meta-item .dim{font-size:9.5px;letter-spacing:.15em;text-transform:uppercase}
.hero-meta-item .mono{color:#cbd5e1}

.hero-right{display:flex;flex-direction:column}
.chart-header{
    display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;
}
.chart-title{
    font-family:'Bebas Neue',Impact,sans-serif;font-size:16px;color:#94a3b8;letter-spacing:.12em;
}
.chart-legend{display:flex;gap:14px;font-family:'JetBrains Mono',monospace;font-size:10px;color:#64748b;letter-spacing:.1em}
.chart-legend i{display:inline-block;width:10px;height:10px;border-radius:1px;margin-right:5px;vertical-align:middle}
.lg-ant{background:#334155}
.lg-atu{background:#FACC15;box-shadow:0 0 6px rgba(250,204,21,.6)}
.chart-wrap{flex:1;background:#080c14;border:1px solid #1a2030;border-radius:8px;padding:6px}
.bar-chart{display:block}

/* Delta indicators */
.delta{
    font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;
    letter-spacing:.08em;display:inline-flex;align-items:center;gap:3px;
}
.delta.up{color:#EF4444}      /* gasto subiu = ruim */
.delta.down{color:#22C55E}    /* gasto desceu = bom */
.delta.flat,.delta.flat *{color:#64748b}

/* ====== INSTRUMENTS — Gauges ====== */
.instruments{
    display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
    margin-bottom:36px;
}
.instrument{
    display:flex;align-items:center;gap:16px;
    background:linear-gradient(135deg,#0d1320 0%,#0a0e16 100%);
    border:1px solid #1a2030;border-radius:12px;
    padding:18px 18px 18px 14px;position:relative;
    transition:transform .25s ease,border-color .25s ease;
}
.instrument:hover{transform:translateY(-2px);border-color:#2a3344}
.instrument::before{
    content:'';position:absolute;top:8px;right:10px;
    width:5px;height:5px;border-radius:50%;background:#22c55e;
    box-shadow:0 0 6px #22c55e;
}
.instrument-warn::before{background:#EF4444;box-shadow:0 0 6px #EF4444;animation:pulse-dot 1.2s ease-in-out infinite}
.inst-gauge{position:relative;flex-shrink:0}
.inst-gauge .gauge{display:block}
.inst-center{
    position:absolute;inset:0;display:grid;place-items:center;
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:30px;color:#f1f5f9;letter-spacing:.04em;
}
.inst-meta{display:flex;flex-direction:column;gap:6px;min-width:0}
.inst-meta .dim{color:#475569;font-size:9.5px;letter-spacing:.14em}
.inst-label{
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:18px;color:#cbd5e1;letter-spacing:.06em;line-height:1.05;
}
.inst-label .dim{display:block;font-size:11px;color:#64748b;font-family:inherit;letter-spacing:.1em}

/* ====== SECTION BLOCKS ====== */
.section-block{margin-bottom:32px}
.block-head{
    display:flex;align-items:center;gap:12px;margin-bottom:16px;
}
.block-num{
    font-size:10px;color:#64748b;letter-spacing:.18em;
    padding:3px 8px;border:1px solid #1a2030;border-radius:3px;
    background:#0c1117;
}
.block-title{
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:22px;color:#f1f5f9;letter-spacing:.08em;
    margin:0;line-height:1;
}
.block-line{
    flex:1;height:1px;
    background:linear-gradient(90deg,#1a2030 0%,#1a2030 70%,transparent 100%);
}
.block-head.warn .block-title{color:#fca5a5}
.warn-pulse{font-size:10px;color:#EF4444;letter-spacing:.14em;animation:pulse-warn 1.4s ease-in-out infinite}

/* ====== MODULES — 6 cards de TOTAIS ====== */
.modules{
    display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
}
.mod{
    background:linear-gradient(155deg,#0e1422 0%,#0a0e16 100%);
    border:1px solid #1a2030;border-radius:12px;padding:18px 18px 14px;
    position:relative;overflow:hidden;
    transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
    opacity:0;transform:translateY(8px);
    animation:mod-in .5s cubic-bezier(.34,1.56,.64,1) forwards;
    animation-delay:var(--mod-delay);
}
@keyframes mod-in{to{opacity:1;transform:translateY(0)}}
.mod::before{
    content:'';position:absolute;top:0;left:0;right:0;height:2px;
    background:var(--mod-color);opacity:.7;
    box-shadow:0 0 12px var(--mod-color);
}
.mod:hover{
    transform:translateY(-3px);
    border-color:color-mix(in srgb,var(--mod-color) 40%,#1a2030);
    box-shadow:0 12px 28px rgba(0,0,0,.4),0 0 24px color-mix(in srgb,var(--mod-color) 12%,transparent);
}
.mod-head{
    display:flex;align-items:center;gap:8px;margin-bottom:10px;
    font-size:9.5px;letter-spacing:.13em;
}
.mod-code{color:var(--mod-color);font-weight:700}
.mod-led{
    width:6px;height:6px;border-radius:50%;background:var(--mod-color);
    box-shadow:0 0 6px var(--mod-color);
    animation:pulse-dot 2.2s ease-in-out infinite;
}
.mod-head .dim{color:#475569;margin-left:auto}
.mod-name{
    font-family:'Manrope',sans-serif;font-weight:700;
    font-size:11.5px;color:#94a3b8;letter-spacing:.12em;text-transform:uppercase;
    margin-bottom:6px;
}
.mod-value{display:flex;align-items:baseline;gap:6px;line-height:.9;margin-bottom:6px}
.mod-cur{
    font-family:'Bebas Neue',Impact,sans-serif;font-size:18px;color:#64748b;letter-spacing:.05em;
}
.mod-num{
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:42px;color:#f1f5f9;letter-spacing:.02em;
    text-shadow:0 2px 12px color-mix(in srgb,var(--mod-color) 20%,transparent);
}
.mod-spark{margin:6px -2px 8px;height:32px}
.mod-spark .spark{display:block}
.mod-foot{
    display:flex;justify-content:space-between;align-items:center;
    font-size:10px;
}
.mod-foot .dim{color:#475569;letter-spacing:.06em}
.mod-pct-bar{
    position:absolute;left:0;right:0;bottom:0;
    height:3px;background:#0c1117;
}
.mod-pct-bar span{
    display:block;height:100%;
    background:linear-gradient(90deg,var(--mod-color) 0%,color-mix(in srgb,var(--mod-color) 70%,#0a0e16) 100%);
    box-shadow:0 0 8px var(--mod-color);
    transition:width 1s cubic-bezier(.4,0,.2,1);
}

/* ====== AVG RAIL — Médias ====== */
.avg-rail{
    display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
}
.avg-card{
    background:#0c1117;border:1px solid #1a2030;border-radius:10px;
    padding:14px 16px;position:relative;
    opacity:0;transform:translateY(6px);
    animation:mod-in .45s ease forwards;
    animation-delay:var(--mod-delay);
    transition:border-color .2s ease;
}
.avg-card:hover{border-color:var(--mod-color)}
.avg-head{display:flex;justify-content:space-between;align-items:center;font-size:9.5px;color:#475569;letter-spacing:.14em;margin-bottom:8px}
.avg-tick{
    width:8px;height:8px;background:var(--mod-color);
    box-shadow:0 0 8px var(--mod-color);
    transform:rotate(45deg);
}
.avg-name{
    font-family:'Manrope',sans-serif;font-weight:600;
    font-size:13px;color:#cbd5e1;margin-bottom:8px;
}
.avg-value{
    font-family:'Bebas Neue',Impact,sans-serif;font-size:30px;
    color:#f1f5f9;letter-spacing:.03em;line-height:1;margin-bottom:10px;
}
.avg-bar{
    height:4px;background:#1a2030;border-radius:2px;overflow:hidden;
}
.avg-bar span{
    display:block;height:100%;background:var(--mod-color);
    box-shadow:0 0 8px var(--mod-color);
    transition:width 1s cubic-bezier(.4,0,.2,1);
}

/* ====== WARN PANEL — Pneus em alerta ====== */
.warn-panel{
    background:linear-gradient(135deg,#1a0d12 0%,#0a0e16 100%);
    border:1px solid #3f1a1a;border-radius:12px;
    overflow:hidden;position:relative;
}
.warn-strip{
    height:5px;
    background:repeating-linear-gradient(-45deg,#EF4444 0 10px,#0a0e16 10px 20px);
    opacity:.7;
}
.warn-grid{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:1px;background:#1a0d12;
}
.warn-item{
    background:#0c1117;padding:14px 16px;position:relative;
    transition:background .2s ease;
}
.warn-item:hover{background:#0e1320}
.warn-item.critical{background:linear-gradient(135deg,#1a0d12 0%,#0c1117 100%)}
.warn-item.critical::before{
    content:'CRÍTICO';position:absolute;top:8px;right:10px;
    font-family:'JetBrains Mono',monospace;font-size:8.5px;color:#EF4444;
    letter-spacing:.18em;font-weight:700;
    animation:pulse-warn 1.2s ease-in-out infinite;
}
.warn-item.warn::before{
    content:'AVISO';position:absolute;top:8px;right:10px;
    font-family:'JetBrains Mono',monospace;font-size:8.5px;color:#FACC15;
    letter-spacing:.18em;font-weight:700;
}
.warn-item-head{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.warn-item-head .code{
    color:#FACC15;font-size:13px;font-weight:700;letter-spacing:.06em;
}
.warn-item-placa{font-size:10.5px;color:#64748b;letter-spacing:.1em}
.warn-item-modelo{
    font-family:'Manrope',sans-serif;font-size:12px;
    color:#cbd5e1;margin-bottom:10px;
}
.warn-progress{margin-bottom:10px}
.warn-progress-bar{height:6px;background:#1a2030;border-radius:3px;overflow:hidden;margin-bottom:4px}
.warn-progress-bar span{
    display:block;height:100%;
    background:linear-gradient(90deg,#22c55e 0%,#FACC15 60%,#EF4444 100%);
    transition:width 1s cubic-bezier(.4,0,.2,1);
}
.warn-progress-lbl{font-size:9px;color:#475569;letter-spacing:.12em}
.warn-item-foot{display:flex;justify-content:space-between;gap:8px;font-size:10px}
.warn-item-foot > div{display:flex;flex-direction:column;gap:2px}
.warn-item-foot .dim{color:#475569;font-size:8.5px;letter-spacing:.12em}
.warn-item-foot .mono{color:#cbd5e1;font-size:11px;font-weight:600}
.warn-item-foot .restam{color:#FACC15}
.warn-item.critical .warn-item-foot .restam{color:#EF4444}

/* ====== Responsivo do Dashboard ====== */
@media (max-width:1100px){
    .hero-kpi{grid-template-columns:1fr}
    .modules{grid-template-columns:repeat(2,1fr)}
    .instruments{grid-template-columns:repeat(2,1fr)}
    .avg-rail{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:680px){
    .hud-title{font-size:34px}
    .hero-num{font-size:54px}
    .hero-cur{font-size:24px}
    .modules{grid-template-columns:1fr}
    .instruments{grid-template-columns:1fr}
    .avg-rail{grid-template-columns:1fr}
}

/* ====== TABELAS ====== */
.tabela-box{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.06);margin-bottom:20px}
.tabela{width:100%;border-collapse:collapse}
.tabela th{
    background:#f8fafc;padding:12px;text-align:left;font-size:12px;
    text-transform:uppercase;color:#475569;border-bottom:2px solid #e2e8f0;
}
.tabela td{padding:12px;border-bottom:1px solid #f1f5f9;font-size:13px}
.tabela tr:hover{background:#f8fafc}
.tabela .acoes{display:flex;gap:6px}
.linha-vermelha{background:#fef2f2!important}
.linha-amarela{background:#fffbeb!important}

/* ====== FORMULÁRIO BOX ====== */
.form-box{
    background:#fff;border-radius:10px;padding:25px;box-shadow:0 1px 3px rgba(0,0,0,.06);
    margin-bottom:20px;
}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px}
.form-grid .full{grid-column:1/-1}
.form-actions{margin-top:20px;display:flex;gap:10px;justify-content:flex-end}

/* ====== ACAO BAR ====== */
.acao-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:10px}
.busca-bar{display:flex;gap:8px;flex:1;max-width:400px}
.busca-bar input{flex:1;padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px}

/* ====== BADGES ====== */
.badge{
    display:inline-block;padding:3px 10px;border-radius:20px;
    font-size:11px;font-weight:600;text-transform:uppercase;
}
.badge.ativo{background:#d1fae5;color:#065f46}
.badge.inativo{background:#fee2e2;color:#991b1b}
.badge.protegido{background:#fef3c7;color:#92400e}
.badge.preventiva{background:#dbeafe;color:#1e40af}
.badge.corretiva{background:#fee2e2;color:#991b1b}
.badge.novo{background:#d1fae5;color:#065f46}
.badge.em_uso{background:#dbeafe;color:#1e40af}
.badge.em_manutencao{background:#fef3c7;color:#92400e}
.badge.retirado{background:#e2e8f0;color:#475569}
.badge.sucateado{background:#fee2e2;color:#991b1b}

/* ====== Botão hamburger + overlay (mobile) ====== */
.menu-toggle{
    display:none;
    width:42px;height:42px;flex-shrink:0;
    background:#0f172a;border:1px solid #2a3344;border-radius:8px;
    cursor:pointer;padding:0;
    flex-direction:column;align-items:center;justify-content:center;gap:5px;
    transition:.2s ease;
}
.menu-toggle:hover{background:#1a2030;border-color:#FACC15}
.menu-toggle span{
    display:block;width:20px;height:2px;background:#FACC15;border-radius:2px;
    box-shadow:0 0 6px rgba(250,204,21,.5);
}
.sidebar-overlay{
    display:none;position:fixed;inset:0;z-index:48;
    background:rgba(0,0,0,.65);backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
}
.sidebar-overlay.on{display:block}

/* ====== RESPONSIVO ====== */
@media (max-width:900px){
    .sidebar{
        width:260px;transform:translateX(-100%);
        transition:transform .28s cubic-bezier(.4,0,.2,1);
        z-index:50;
    }
    .sidebar.open{transform:translateX(0);box-shadow:6px 0 30px rgba(0,0,0,.6)}
    .conteudo{margin-left:0}
    .menu-toggle{display:flex}
    .form-grid{grid-template-columns:1fr}
    .topbar{gap:12px;align-items:center}
    .topbar h1{font-size:16px}
    .user-info{font-size:12px;gap:8px}
    .user-info span{display:none}
}
@media (max-width:520px){
    .topbar{padding:12px 14px}
    .conteudo-inner{padding:16px}
}

/* ============================================================
   DB CONFIG — Conexão MySQL (estética industrial dark)
   ============================================================ */
body:has(.dbcfg-wrap){background:#0a0e16}
body:has(.dbcfg-wrap) .topbar{background:linear-gradient(180deg,#0c1117,#0a0e16);border-bottom:1px solid #1a2030}
body:has(.dbcfg-wrap) .topbar h1{color:#f1f5f9;font-family:'Bebas Neue',Impact,sans-serif;font-size:24px;letter-spacing:.08em}
body:has(.dbcfg-wrap) .user-info{color:#94a3b8}
body:has(.dbcfg-wrap) .btn-sair{background:#1a2030;color:#FACC15;border:1px solid #2a3344}
body:has(.dbcfg-wrap) .btn-sair:hover{background:#FACC15;color:#0a0e16}
body:has(.dbcfg-wrap) .alerta{background:#1a0d12;color:#fca5a5;border-left:4px solid #EF4444;border-radius:8px;padding:14px 18px}
body:has(.dbcfg-wrap) .alerta.sucesso{background:#0d1a14;color:#86efac;border-left-color:#22c55e}

.dbcfg-wrap{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;padding-top:8px}
.dbcfg-form{display:flex;flex-direction:column;gap:18px;min-width:0}
.dbcfg-status{display:flex;flex-direction:column;gap:18px;min-width:0}

.dbcfg-card{
    background:linear-gradient(155deg,#0e1422 0%,#0a0e16 100%);
    border:1px solid #1a2030;border-radius:12px;
    padding:20px 22px;position:relative;overflow:hidden;
}
.dbcfg-card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:2px;
    background:linear-gradient(90deg,transparent 0%,#FACC15 40%,#FACC15 60%,transparent 100%);
    opacity:.55;
}
.dbcfg-card-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.dbcfg-card-head .code{font-size:10px;color:#64748b;letter-spacing:.18em;
    padding:3px 8px;border:1px solid #1a2030;border-radius:3px;background:#0c1117}
.dbcfg-card-head h3{
    font-family:'Bebas Neue',Impact,sans-serif;font-size:18px;color:#f1f5f9;
    letter-spacing:.1em;margin:0;line-height:1;flex:1;
}
.dbcfg-card-head .led-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.dbcfg-card-head .led-dot.live{animation:pulse-dot 1.8s ease-in-out infinite}

.dbcfg-warn{
    display:flex;gap:12px;align-items:flex-start;
    background:rgba(250,204,21,.05);border:1px solid rgba(250,204,21,.18);
    border-radius:8px;padding:12px 14px;margin-bottom:18px;
    font-family:'Manrope',sans-serif;font-size:12.5px;color:#cbd5e1;line-height:1.55;
}
.dbcfg-warn b{color:#FACC15;font-weight:700}
.dbcfg-warn-ico{font-size:20px;color:#FACC15;flex-shrink:0;line-height:1.1}

/* form fields */
.dbcfg-fields .form-grid{grid-template-columns:repeat(4,1fr);gap:14px}
.dbcfg-fields .campo label{
    color:#94a3b8;font-family:'JetBrains Mono',monospace;
    font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
}
.dbcfg-fields .campo input{
    background:#0c1117;border:1px solid #1a2030;color:#f1f5f9;
    font-family:'JetBrains Mono',monospace;font-size:13px;
    padding:10px 12px;border-radius:6px;
}
.dbcfg-fields .campo input:focus{
    outline:none;border-color:#FACC15;
    box-shadow:0 0 0 3px rgba(250,204,21,.15);
}

.dbcfg-passwrap{position:relative}
.dbcfg-passwrap input{width:100%;padding-right:42px}
.dbcfg-eye{
    position:absolute;right:6px;top:50%;transform:translateY(-50%);
    width:32px;height:32px;border:none;background:transparent;color:#64748b;
    cursor:pointer;font-size:15px;border-radius:5px;
}
.dbcfg-eye:hover{background:#1a2030;color:#FACC15}

.dbcfg-fields .form-actions{
    margin-top:18px;padding-top:16px;border-top:1px dashed #1a2030;
    display:flex;justify-content:flex-end;gap:10px;
}
.dbcfg-fields .btn-primary{
    background:#FACC15;color:#0a0e16;
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:15px;letter-spacing:.12em;padding:11px 22px;
    box-shadow:0 0 18px rgba(250,204,21,.35);
}
.dbcfg-fields .btn-primary:hover{background:#FDE047;box-shadow:0 0 24px rgba(250,204,21,.55)}
.dbcfg-fields .btn-voltar{background:#1a2030;color:#cbd5e1;border:1px solid #2a3344}
.dbcfg-fields .btn-voltar:hover{background:#2a3344;color:#fff}

/* tips card */
.dbcfg-tips ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.dbcfg-tips li{
    position:relative;padding-left:22px;
    font-family:'Manrope',sans-serif;font-size:12.5px;color:#94a3b8;line-height:1.55;
}
.dbcfg-tips li::before{
    content:'›';position:absolute;left:6px;top:-1px;
    color:#FACC15;font-weight:700;font-size:18px;line-height:1;
}
.dbcfg-tips li b{color:#cbd5e1}
.dbcfg-tips code{
    font-family:'JetBrains Mono',monospace;font-size:11.5px;
    background:#0c1117;color:#FACC15;padding:1px 6px;border-radius:3px;
    border:1px solid #1a2030;
}

/* status table */
.dbcfg-table{width:100%;border-collapse:collapse}
.dbcfg-table th{
    text-align:left;padding:9px 0;
    font-family:'JetBrains Mono',monospace;font-size:9.5px;
    color:#475569;letter-spacing:.16em;font-weight:600;width:42%;
    border-bottom:1px dashed #1a2030;
}
.dbcfg-table td{
    padding:9px 0;text-align:right;
    color:#f1f5f9;font-size:12.5px;font-weight:600;
    border-bottom:1px dashed #1a2030;
}
.dbcfg-table td.mono{font-family:'JetBrains Mono',monospace;color:#FACC15}
.dbcfg-table tr:last-child th,.dbcfg-table tr:last-child td{border-bottom:none}

/* presets */
.dbcfg-presets-list{display:flex;flex-direction:column;gap:8px}
.dbcfg-preset{
    display:flex;align-items:center;gap:12px;
    background:#0c1117;border:1px solid #1a2030;border-radius:8px;
    padding:10px 14px;cursor:pointer;text-align:left;
    transition:all .18s ease;color:#cbd5e1;
}
.dbcfg-preset:hover{border-color:#FACC15;background:rgba(250,204,21,.05);transform:translateX(2px)}
.dbcfg-preset-ico{font-size:22px;flex-shrink:0}
.dbcfg-preset div{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}
.dbcfg-preset b{
    font-family:'Bebas Neue',Impact,sans-serif;font-size:14px;
    color:#f1f5f9;letter-spacing:.08em;font-weight:normal;
}
.dbcfg-preset .dim{color:#64748b;font-size:10.5px;letter-spacing:.06em}

/* ============================================================
   OP — Estações Operacionais (Viagens, Manutenções, Programadas)
   ============================================================ */
body:has(.op-wrap){background:#0a0e16}
body:has(.op-wrap) .topbar{background:linear-gradient(180deg,#0c1117,#0a0e16);border-bottom:1px solid #1a2030}
body:has(.op-wrap) .topbar h1{color:#f1f5f9;font-family:'Bebas Neue',Impact,sans-serif;font-size:24px;letter-spacing:.08em}
body:has(.op-wrap) .user-info{color:#94a3b8}
body:has(.op-wrap) .btn-sair{background:#1a2030;color:#FACC15;border:1px solid #2a3344}
body:has(.op-wrap) .btn-sair:hover{background:#FACC15;color:#0a0e16}
body:has(.op-wrap) .alerta{background:#1a0d12;color:#fca5a5;border-left:4px solid #EF4444;border-radius:8px;padding:14px 18px}
body:has(.op-wrap) .alerta.sucesso{background:#0d1a14;color:#86efac;border-left-color:#22c55e}

.op-wrap{display:flex;flex-direction:column;gap:20px}

/* ====== HUD comum (cabeçalho das páginas) ====== */
.op-hud{
    display:flex;justify-content:space-between;align-items:flex-end;
    gap:24px;padding:8px 0 16px;flex-wrap:wrap;
    border-bottom:1px solid rgba(250,204,21,.1);
}
.op-hud-left{flex:1;min-width:260px}
.op-hud-code{font-size:10px;color:#FACC15;letter-spacing:.22em;font-weight:700;margin-bottom:8px}
.op-hud-title{
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:42px;line-height:.92;letter-spacing:.04em;
    color:#f1f5f9;margin:0;
}
.op-hud-title span{color:#FACC15;text-shadow:0 0 22px rgba(250,204,21,.55)}
.op-hud-sub{font-size:10.5px;color:#64748b;letter-spacing:.14em;text-transform:uppercase;margin-top:4px}
.op-btn-primary{
    display:inline-block;padding:13px 22px;
    background:#FACC15;color:#0a0e16;
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:15px;letter-spacing:.14em;
    border-radius:8px;text-decoration:none;
    box-shadow:0 0 18px rgba(250,204,21,.4);
    transition:.2s ease;
}
.op-btn-primary:hover{background:#FDE047;transform:translateY(-1px);box-shadow:0 0 26px rgba(250,204,21,.6)}

/* ====== KPIs ====== */
.op-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.op-kpi{
    background:linear-gradient(155deg,#0e1422,#0a0e16);
    border:1px solid #1a2030;border-radius:10px;
    padding:14px 16px;position:relative;overflow:hidden;
    transition:transform .22s ease, border-color .22s ease;
}
.op-kpi::before{
    content:'';position:absolute;top:0;left:0;right:0;height:2px;
    background:var(--c);opacity:.75;
    box-shadow:0 0 12px var(--c);
}
.op-kpi:hover{transform:translateY(-2px);border-color:color-mix(in srgb, var(--c) 40%, #1a2030)}
.op-kpi-led{
    position:absolute;top:10px;right:10px;
    width:6px;height:6px;border-radius:50%;background:var(--c);
    box-shadow:0 0 8px var(--c);
}
.op-kpi-live .op-kpi-led{animation:pulse-warn 1.3s ease-in-out infinite}
.op-kpi-num{
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:30px;color:#f1f5f9;letter-spacing:.04em;line-height:1;
    margin-bottom:5px;
    text-shadow:0 0 14px color-mix(in srgb, var(--c) 30%, transparent);
}
.op-kpi-suf{font-size:14px;color:#64748b;letter-spacing:.06em}
.op-kpi-lbl{
    font-family:'Bebas Neue',Impact,sans-serif;font-size:12px;
    color:#cbd5e1;letter-spacing:.1em;line-height:1.2;
}
.op-kpi-lbl .dim{display:block;font-size:9.5px;color:#475569;letter-spacing:.14em;margin-top:2px}

/* ====== Filtros ====== */
.op-filters{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;
    background:linear-gradient(135deg,#0d1320,#0a0e16);
    border:1px solid #1a2030;border-radius:10px;padding:14px 18px;
}
.op-filters .campo{margin:0;display:flex;flex-direction:column;gap:6px}
.op-filters .campo label{
    font-family:'JetBrains Mono',monospace;font-size:9.5px;
    color:#94a3b8;letter-spacing:.14em;font-weight:700;text-transform:uppercase;
}
.op-filters .campo input,
.op-filters .campo select{
    background:#0a0f1a;border:1px solid #1a2030;color:#f1f5f9;
    font-family:'Manrope',sans-serif;font-size:13px;
    padding:9px 11px;border-radius:6px;
}
.op-filters .campo input:focus,
.op-filters .campo select:focus{outline:none;border-color:#FACC15;box-shadow:0 0 0 3px rgba(250,204,21,.14)}
.op-filter-btn{align-self:end}
.op-filter-btn .btn-primary{
    width:100%;background:#FACC15;color:#0a0e16;
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:13px;letter-spacing:.12em;padding:9px 14px;
}
.op-filter-btn .btn-primary:hover{background:#FDE047}

/* ====== Hazard divider ====== */
.op-hazard{
    height:4px;
    background:repeating-linear-gradient(-45deg,#FACC15 0 8px,#0a0e16 8px 16px);
    opacity:.65;border-radius:2px;
}

/* ====== Empty state ====== */
.op-empty{
    text-align:center;padding:60px 20px;
    background:#0c1117;border:1px dashed #1a2030;border-radius:12px;
}
.op-empty-ico{font-size:54px;opacity:.6;margin-bottom:12px}
.op-empty-tit{
    font-family:'Bebas Neue',Impact,sans-serif;font-size:22px;
    color:#cbd5e1;letter-spacing:.12em;margin-bottom:6px;
}
.op-empty-sub{font-size:11px;color:#475569;letter-spacing:.14em}

/* ====== Action icons ====== */
.op-icon-btn{
    width:30px;height:30px;display:inline-grid;place-items:center;
    background:#0c1117;border:1px solid #1a2030;border-radius:6px;
    color:#94a3b8;text-decoration:none;font-size:13px;
    transition:.15s ease;
}
.op-icon-btn:hover{background:rgba(250,204,21,.1);border-color:#FACC15;color:#FACC15}
.op-icon-btn.danger:hover{background:rgba(239,68,68,.1);border-color:#EF4444;color:#EF4444}

/* ====== LED utilitário ====== */
.op-led-pulse{
    display:inline-block;width:7px;height:7px;border-radius:50%;
    background:currentColor;margin-right:6px;
    box-shadow:0 0 0 0 currentColor;animation:pulse-dot 1.4s ease-in-out infinite;
}

/* ====== Form cards (Nova/Editar) ====== */
.op-form-card{
    background:linear-gradient(180deg,#0c1220,#08101c);
    border:1px solid #1a2030;border-radius:14px;
    overflow:hidden;position:relative;
    box-shadow:0 16px 40px rgba(0,0,0,.4);
}
.op-form-card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:2px;
    background:linear-gradient(90deg,transparent,#FACC15 40%,#FACC15 60%,transparent);
}
.op-form-head{
    display:flex;align-items:center;gap:12px;
    padding:16px 22px;border-bottom:1px solid #1a2030;background:#0a0f1a;
}
.op-form-head .code{
    font-size:10px;color:#64748b;letter-spacing:.18em;
    padding:3px 8px;border:1px solid #1a2030;border-radius:3px;background:#0c1117;
}
.op-form-head h3{
    flex:1;margin:0;
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:20px;letter-spacing:.1em;color:#f1f5f9;
}
.op-form{padding:22px;}
.op-form .form-grid .full{grid-column:1/-1}
.op-form .campo label{
    font-family:'JetBrains Mono',monospace;font-size:10.5px;
    color:#94a3b8;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
}
.op-form .campo input,
.op-form .campo select,
.op-form .campo textarea{
    background:#0a0f1a;border:1px solid #1a2030;color:#f1f5f9;
    font-family:'Manrope',sans-serif;font-size:13px;
    padding:10px 12px;border-radius:6px;
}
.op-form .campo input:focus,
.op-form .campo select:focus,
.op-form .campo textarea:focus{outline:none;border-color:#FACC15;box-shadow:0 0 0 3px rgba(250,204,21,.14)}
.op-form-actions{
    display:flex;justify-content:flex-end;gap:10px;
    margin-top:18px;padding-top:18px;border-top:1px dashed #1a2030;
}
.op-form-actions .btn-primary{
    background:#FACC15;color:#0a0e16;
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:14px;letter-spacing:.12em;padding:11px 22px;
    box-shadow:0 0 14px rgba(250,204,21,.35);
}
.op-form-actions .btn-primary:hover{background:#FDE047}
.op-form-actions .btn-voltar{background:#1a2030;color:#cbd5e1;border:1px solid #2a3344;padding:10px 18px}
.op-form-actions .btn-voltar:hover{background:#2a3344;color:#fff}

/* =========================================================
   PNEUS — Tire Telemetry / Pressure Console
   ========================================================= */

/* Filtros: pills + busca */
.pn-filters{
    display:flex;flex-direction:column;gap:12px;
    background:linear-gradient(135deg,#0d1320,#0a0e16);
    border:1px solid #1a2030;border-radius:10px;padding:14px;
}
.pn-pills{display:flex;gap:6px;flex-wrap:wrap}
.pn-pill{
    display:inline-flex;align-items:center;gap:8px;
    padding:7px 14px;border-radius:6px;
    background:#0c1117;border:1px solid #1a2030;
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:12px;letter-spacing:.14em;
    color:#cbd5e1;text-decoration:none;
    transition:.18s ease;
}
.pn-pill:hover{border-color:var(--c);color:#fff;background:rgba(250,204,21,.04)}
.pn-pill.on{
    background:color-mix(in srgb, var(--c) 18%, #0c1117);
    border-color:var(--c);color:#fff;
    box-shadow:0 0 10px color-mix(in srgb, var(--c) 35%, transparent);
}
.pn-pill-num{
    display:inline-grid;place-items:center;min-width:22px;height:20px;
    padding:0 6px;background:var(--c);color:#0a0e16;border-radius:3px;
    font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:0;
}
.pn-search{
    display:grid;grid-template-columns:auto 1fr auto;gap:8px;
    align-items:center;
}
.pn-search select,.pn-search input{
    background:#0a0f1a;border:1px solid #1a2030;color:#f1f5f9;
    font-family:'JetBrains Mono',monospace;font-size:12.5px;
    padding:9px 12px;border-radius:6px;
}
.pn-search select:focus,.pn-search input:focus{
    outline:none;border-color:#FACC15;box-shadow:0 0 0 3px rgba(250,204,21,.14);
}
.pn-search .op-btn-primary{padding:9px 18px;font-size:13px}

/* Grid de cards */
.pn-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px;
}

/* Card individual */
.pn-card{
    background:linear-gradient(135deg,#0d1320,#0a0e16);
    border:1px solid #1a2030;border-radius:12px;
    overflow:hidden;position:relative;
    opacity:0;transform:translateY(8px);
    animation:op-card-in .45s cubic-bezier(.34,1.56,.64,1) forwards;
    animation-delay:var(--delay);
    transition:border-color .22s ease, transform .22s ease;
}
.pn-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb, var(--st-c) 45%, #1a2030)}
.pn-card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:2px;
    background:var(--st-c);
    box-shadow:0 0 10px var(--st-c);
}
.pn-critico::before{animation:pulse-warn 1.2s ease-in-out infinite}
.pn-critico::after{
    content:'CRÍTICO';position:absolute;top:8px;right:9px;
    background:#EF4444;color:#fff;
    padding:1px 7px;border-radius:3px;
    font-family:'JetBrains Mono',monospace;font-size:8.5px;font-weight:700;letter-spacing:.16em;
    box-shadow:0 0 10px rgba(239,68,68,.55);
    animation:pulse-warn 1.2s ease-in-out infinite;
}

/* Header do card */
.pn-head{
    display:flex;align-items:center;gap:10px;
    padding:12px 14px;border-bottom:1px dashed #1a2030;
    background:#0a0f1a;
}
.pn-code{
    font-size:10px;color:#FACC15;font-weight:700;letter-spacing:.1em;
    padding:2px 7px;border:1px solid rgba(250,204,21,.3);border-radius:3px;background:rgba(250,204,21,.05);
}
.pn-codigo{
    font-size:13px;color:#f1f5f9;font-weight:700;letter-spacing:.06em;
    padding:2px 8px;background:#0c1117;border:1px solid #2a3344;border-radius:4px;
}
.pn-status{
    font-size:9.5px;color:var(--st-c);letter-spacing:.16em;font-weight:700;
    padding:2px 8px;background:color-mix(in srgb, var(--st-c) 15%, transparent);
    border:1px solid color-mix(in srgb, var(--st-c) 40%, transparent);border-radius:3px;
}
.pn-actions{margin-left:auto;display:flex;gap:6px}
.pn-actions .op-icon-btn,
.pn-card .pn-actions .op-icon-btn{
    width:39px !important;height:39px !important;
    font-size:17px !important;font-weight:900 !important;
    border-radius:8px !important;
    color:#FACC15 !important;border-color:#FACC15 !important;
}

/* Corpo: gauge + side info */
.pn-body{
    display:grid;grid-template-columns:auto 1fr;gap:18px;
    padding:18px 16px;align-items:center;
}

/* Gauge */
.pn-gauge{
    position:relative;width:140px;height:140px;flex-shrink:0;
}
.pn-gauge-svg{display:block}
.pn-gauge-center{
    position:absolute;inset:0;display:flex;flex-direction:column;
    align-items:center;justify-content:center;text-align:center;
    pointer-events:none;
}
.pn-gauge-pct{
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:38px;line-height:.9;color:#f1f5f9;letter-spacing:.02em;
    text-shadow:0 0 14px color-mix(in srgb, var(--g-c) 50%, transparent);
}
.pn-gauge-status{
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:34px;line-height:.9;color:var(--g-c);
    text-shadow:0 0 14px color-mix(in srgb, var(--g-c) 60%, transparent);
}
.pn-gauge-lbl{
    font-size:9px;color:#475569;letter-spacing:.18em;line-height:1.2;margin-top:4px;font-weight:700;
}

/* Side info */
.pn-side{display:flex;flex-direction:column;gap:10px;min-width:0}
.pn-marca-nome{
    font-family:'Manrope',sans-serif;font-weight:700;
    font-size:14px;color:#f1f5f9;line-height:1.2;
}
.pn-medida{
    font-size:10.5px;color:#94a3b8;letter-spacing:.08em;margin-top:2px;
    display:inline-block;padding:1px 7px;background:#0c1117;border:1px solid #1a2030;border-radius:3px;
}

.pn-km-rest{
    display:flex;align-items:baseline;gap:8px;
    padding:8px 10px;background:#080d18;border-radius:6px;
    border-left:3px solid var(--g-c);
}
.pn-km-rest-lbl{
    font-size:9px;color:#475569;letter-spacing:.16em;font-weight:700;
}
.pn-km-rest-num{
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:26px;color:var(--g-c);letter-spacing:.04em;line-height:.9;
    text-shadow:0 0 12px color-mix(in srgb, var(--g-c) 40%, transparent);
}
.pn-km-rest-suf{font-size:11px;color:#475569;letter-spacing:.12em;margin-left:3px}

/* Alocação */
.pn-aloc{
    display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;
    padding:8px 10px;background:#080d18;border-radius:6px;border:1px solid #1a2030;
}
.pn-aloc-placa{
    font-size:13px;font-weight:700;color:#FACC15;letter-spacing:.06em;
}
.pn-aloc-placa.dim{color:#64748b;font-size:11px;letter-spacing:.1em}
.pn-aloc-pos{
    font-family:'Manrope',sans-serif;font-size:10.5px;color:#94a3b8;margin-top:2px;
}
.pn-chassi{flex-shrink:0}
.pn-chassi-svg{display:block;width:78px;height:42px;color:#334155}

/* Footer técnico */
.pn-foot{
    display:grid;grid-template-columns:repeat(4,1fr);gap:0;
    border-top:1px dashed #1a2030;background:#080d18;
}
.pn-stat{
    display:flex;flex-direction:column;gap:2px;
    padding:9px 12px;border-right:1px solid #1a2030;
    font-size:11px;
}
.pn-stat:last-child{border-right:none}
.pn-stat .dim{font-size:8.5px;color:#475569;letter-spacing:.15em;font-weight:700}
.pn-stat .mono{color:#cbd5e1;font-size:11.5px;font-weight:600}
.pn-stat-valor .mono{color:#FACC15}

@media (max-width:1100px){
    .pn-search{grid-template-columns:1fr}
    .pn-body{grid-template-columns:120px 1fr;gap:14px;padding:14px 12px}
    .pn-gauge{width:120px;height:120px}
    .pn-gauge-svg{width:120px;height:120px}
    .pn-gauge-pct{font-size:32px}
    .pn-gauge-status{font-size:28px}
}
@media (max-width:640px){
    .pn-body{grid-template-columns:1fr;justify-items:center;text-align:center}
    .pn-aloc{justify-items:center}
    .pn-foot{grid-template-columns:repeat(2,1fr)}
    .pn-stat:nth-child(2){border-right:none}
    .pn-stat:nth-child(-n+2){border-bottom:1px solid #1a2030}
}

/* =========================================================
   VIAGENS — Roadmap Cards
   ========================================================= */
.vi-log{display:flex;flex-direction:column;gap:14px}
.vi-card{
    background:linear-gradient(135deg,#0d1320,#0a0e16);
    border:1px solid #1a2030;border-radius:12px;
    padding:16px 18px;position:relative;overflow:hidden;
    opacity:0;transform:translateY(8px);
    animation:op-card-in .45s cubic-bezier(.34,1.56,.64,1) forwards;
    animation-delay:var(--delay);
    transition:border-color .22s ease, transform .22s ease;
}
@keyframes op-card-in{to{opacity:1;transform:none}}
.vi-card:hover{transform:translateY(-1px);border-color:#2a3344}
.vi-card::before{
    content:'';position:absolute;top:0;left:0;bottom:0;width:3px;
    background:#22C55E;
}
.vi-card.vi-em-rota::before{background:#F97316;animation:pulse-warn 1.6s ease-in-out infinite}

.vi-card-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.vi-code{
    font-size:11px;color:#FACC15;font-weight:700;letter-spacing:.1em;
    padding:3px 8px;border:1px solid rgba(250,204,21,.3);border-radius:3px;background:rgba(250,204,21,.05);
}
.vi-status-live{
    display:inline-flex;align-items:center;color:#F97316;
    font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.16em;font-weight:700;
}
.vi-status-done{
    color:#22C55E;font-family:'JetBrains Mono',monospace;
    font-size:10.5px;letter-spacing:.14em;font-weight:700;
}
.vi-actions{margin-left:auto;display:flex;gap:9px}
.vi-actions .op-icon-btn,
.vi-card .vi-actions .op-icon-btn{
    width:45px !important;height:45px !important;
    font-size:20px !important;font-weight:900 !important;
    border-radius:9px !important;
    color:#FACC15 !important;border-color:#FACC15 !important;
}

.vi-route{
    display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;
    padding:16px;background:#080d18;border-radius:8px;margin-bottom:14px;
}
.vi-pt{text-align:center}
.vi-pt-lbl{
    font-size:9.5px;color:#475569;letter-spacing:.15em;font-weight:700;margin-bottom:4px;
}
.vi-pt-data{
    font-family:'Bebas Neue',Impact,sans-serif;font-size:24px;color:#f1f5f9;
    line-height:1;letter-spacing:.04em;
}
.vi-pt-data.dim{color:#475569;font-size:18px}
.vi-pt-data-y{font-size:10px;color:#64748b;letter-spacing:.14em;margin-top:2px}
.vi-pt-data-y.dim{color:#334155}
.vi-pt-start{color:#22C55E}
.vi-pt-end{color:#3B82F6}
.vi-em-rota .vi-pt-end{color:#F97316}

.vi-line{position:relative;text-align:center;color:#FACC15}
.vi-line-svg{width:100%;height:24px;display:block;color:rgba(250,204,21,.6)}
.vi-dest{
    margin-top:6px;color:#cbd5e1;font-family:'Manrope',sans-serif;
    font-size:13px;font-weight:600;
}
.vi-dur{font-size:10px;color:#64748b;letter-spacing:.12em;margin-top:2px}

.vi-meta{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}
.vi-km-big{display:flex;flex-direction:column;align-items:flex-start;line-height:.9}
.vi-km-num{
    font-family:'Bebas Neue',Impact,sans-serif;font-size:42px;
    color:#FACC15;letter-spacing:.02em;
    text-shadow:0 0 18px rgba(250,204,21,.3);
}
.vi-km-suf{font-size:10px;color:#64748b;letter-spacing:.18em;font-weight:700;margin-top:2px}
.vi-meta-info{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.vi-chip{
    display:flex;flex-direction:column;gap:2px;
    background:#0c1117;border:1px solid #1a2030;border-radius:6px;
    padding:6px 12px;font-family:'Manrope',sans-serif;font-size:12px;color:#cbd5e1;
}
.vi-chip .dim{font-size:8.5px;color:#475569;letter-spacing:.15em}
.vi-chip-placa{
    border-color:rgba(250,204,21,.3);color:#FACC15;
    font-family:'JetBrains Mono',monospace;font-weight:700;
}
.vi-chip-num{font-family:'JetBrains Mono',monospace}
.vi-obs{
    margin-top:10px;padding-top:10px;border-top:1px dashed #1a2030;
    font-size:12px;color:#94a3b8;line-height:1.5;
}
.vi-obs .dim{color:#64748b;font-size:10px;letter-spacing:.12em}

/* =========================================================
   MANUTENÇÕES — OS Cards
   ========================================================= */
.os-grid{display:flex;flex-direction:column;gap:12px}
.os-card{
    display:grid;grid-template-columns:6px 1fr;
    background:linear-gradient(135deg,#0d1320,#0a0e16);
    border:1px solid #1a2030;border-radius:12px;overflow:hidden;
    opacity:0;transform:translateY(8px);
    animation:op-card-in .45s cubic-bezier(.34,1.56,.64,1) forwards;
    animation-delay:var(--delay);
    transition:border-color .22s ease, transform .22s ease;
}
.os-card:hover{transform:translateY(-1px);border-color:#2a3344}
.os-card-side{
    background:linear-gradient(180deg, var(--tipo-c), color-mix(in srgb, var(--tipo-c) 50%, #000));
    box-shadow:inset -1px 0 0 rgba(255,255,255,.1);
}
.os-card-body{padding:14px 18px}
.os-card-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.os-code{
    font-size:11px;color:#FACC15;font-weight:700;letter-spacing:.1em;
    padding:3px 8px;border:1px solid rgba(250,204,21,.3);border-radius:3px;background:rgba(250,204,21,.05);
}
.os-chip{
    display:inline-block;padding:3px 10px;border-radius:4px;
    font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.12em;
}
.os-chip-tipo{
    background:color-mix(in srgb, var(--tipo-c) 18%, transparent);
    color:var(--tipo-c);border:1px solid color-mix(in srgb, var(--tipo-c) 50%, transparent);
}
.os-chip-cat{
    background:color-mix(in srgb, var(--cat-c) 18%, transparent);
    color:var(--cat-c);border:1px solid color-mix(in srgb, var(--cat-c) 50%, transparent);
}
.os-data{
    font-size:11px;color:#94a3b8;letter-spacing:.08em;
    padding:3px 8px;border:1px dashed #1a2030;border-radius:3px;
}
.os-status{
    font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;font-weight:700;
    padding:3px 8px;border-radius:3px;
}
.os-st-concluida{background:rgba(34,197,94,.12);color:#22C55E}
.os-st-agendada{background:rgba(59,130,246,.12);color:#3B82F6}
.os-st-em_andamento{background:rgba(250,204,21,.12);color:#FACC15}
.os-st-cancelada{background:rgba(239,68,68,.12);color:#EF4444}
.os-actions{margin-left:auto;display:flex;gap:9px}
.os-actions .op-icon-btn,
.os-card .os-actions .op-icon-btn{
    width:45px !important;height:45px !important;
    font-size:20px !important;font-weight:900 !important;
    border-radius:9px !important;
    color:#FACC15 !important;border-color:#FACC15 !important;
}

.os-body{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.os-placa-row{display:flex;align-items:baseline;gap:10px;margin-bottom:6px;flex-wrap:wrap}
.os-placa{
    font-family:'JetBrains Mono',monospace;font-size:16px;font-weight:700;
    color:#f1f5f9;letter-spacing:.04em;
    padding:2px 9px;background:#0c1117;border:1px solid #1a2030;border-radius:4px;
}
.os-marca{font-size:12px;color:#94a3b8}
.os-desc{
    font-family:'Manrope',sans-serif;font-size:13px;
    color:#cbd5e1;line-height:1.5;margin-bottom:8px;
}
.os-tags{display:flex;gap:6px;flex-wrap:wrap}
.os-tag{
    display:flex;flex-direction:column;gap:1px;
    background:#0c1117;border:1px solid #1a2030;border-radius:6px;padding:5px 10px;
    font-family:'Manrope',sans-serif;font-size:11.5px;color:#cbd5e1;
}
.os-tag .dim{font-size:8.5px;color:#475569;letter-spacing:.15em}

.os-right{text-align:right}
.os-custo-lbl{font-size:9.5px;color:#475569;letter-spacing:.18em;font-weight:700;margin-bottom:2px}
.os-custo{display:flex;align-items:baseline;gap:6px;justify-content:flex-end;line-height:.9}
.os-custo-cur{
    font-family:'Bebas Neue',Impact,sans-serif;font-size:18px;color:#64748b;letter-spacing:.04em;
}
.os-custo-val{
    font-family:'Bebas Neue',Impact,sans-serif;font-size:36px;color:#f1f5f9;letter-spacing:.02em;
    text-shadow:0 0 14px rgba(250,204,21,.18);
}

/* =========================================================
   MANUTENÇÕES PROGRAMADAS — Schedule Radar
   ========================================================= */
.prog-zona{
    background:linear-gradient(135deg, color-mix(in srgb, var(--zona-c) 8%, #0a0e16) 0%, #0a0e16 70%);
    border:1px solid color-mix(in srgb, var(--zona-c) 25%, #1a2030);
    border-radius:12px;padding:18px 20px;
    position:relative;
}
.prog-zona::before{
    content:'';position:absolute;top:0;left:0;right:0;height:3px;
    background:var(--zona-c);box-shadow:0 0 12px var(--zona-c);
    border-radius:12px 12px 0 0;
}
.prog-zona-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.prog-zona-head .block-num{
    font-size:10px;color:#fff;letter-spacing:.18em;
    padding:3px 8px;border-radius:3px;background:var(--zona-c);font-weight:700;
}
.prog-zona-head .block-title{
    font-family:'Bebas Neue',Impact,sans-serif;font-size:20px;
    color:var(--zona-c);letter-spacing:.1em;margin:0;line-height:1;
    text-shadow:0 0 16px color-mix(in srgb, var(--zona-c) 25%, transparent);
}
.prog-zona-line{
    flex:1;height:1px;
    background:linear-gradient(90deg, color-mix(in srgb, var(--zona-c) 30%, transparent) 0%, transparent 100%);
}
.prog-zona-tag{
    font-size:10px;color:var(--zona-c);letter-spacing:.16em;font-weight:700;
    padding:3px 8px;border:1px solid color-mix(in srgb, var(--zona-c) 50%, transparent);border-radius:3px;
}
.prog-zona-vencido .prog-zona-head .block-title{animation:pulse-warn 1.4s ease-in-out infinite}

.prog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.prog-grid-compact{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}

.prog-card{
    display:grid;grid-template-columns:5px 1fr;
    background:#0c1117;border:1px solid #1a2030;border-radius:10px;overflow:hidden;
    transition:transform .18s ease, border-color .18s ease;
}
.prog-card:hover{transform:translateY(-1px);border-color:var(--z-c)}
.prog-card-side{background:var(--z-c);box-shadow:0 0 8px var(--z-c)}
.prog-z-vencido .prog-card-side{animation:pulse-warn 1.4s ease-in-out infinite}
.prog-card-body{padding:11px 13px}
.prog-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.prog-code{
    font-size:9.5px;color:#FACC15;font-weight:700;letter-spacing:.1em;
    padding:2px 6px;border:1px solid rgba(250,204,21,.3);border-radius:3px;
}
.prog-cat{
    font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:700;
    letter-spacing:.12em;padding:2px 7px;border-radius:3px;
}
.prog-actions{margin-left:auto;display:flex;gap:6px}
.prog-actions .op-icon-btn,
.prog-card .prog-actions .op-icon-btn{
    width:36px !important;height:36px !important;
    font-size:17px !important;font-weight:900 !important;
    border-radius:8px !important;
    color:#FACC15 !important;border-color:#FACC15 !important;
}

.prog-placa-row{display:flex;align-items:baseline;gap:8px;margin-bottom:4px;flex-wrap:wrap}
.prog-placa{
    font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:700;
    color:#f1f5f9;letter-spacing:.04em;
}
.prog-marca{font-size:11px;color:#64748b}
.prog-desc{
    font-family:'Manrope',sans-serif;font-size:12.5px;color:#cbd5e1;
    line-height:1.4;margin-bottom:10px;
}
.prog-counts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.prog-count{
    display:flex;flex-direction:column;gap:2px;
    background:#0a0f1a;border:1px solid #1a2030;border-radius:6px;padding:6px 9px;
}
.prog-count .dim{font-size:8.5px;color:#475569;letter-spacing:.15em;font-weight:700}
.prog-count-val{font-size:13px;color:#cbd5e1;font-weight:600}
.prog-count-diff{font-size:10px;color:var(--z-c);font-weight:700;letter-spacing:.08em}

.prog-historico{
    background:#0c1117;border:1px solid #1a2030;border-radius:10px;padding:14px 18px;
}
.prog-historico summary{
    display:flex;align-items:center;gap:12px;cursor:pointer;
    list-style:none;
}
.prog-historico summary::-webkit-details-marker{display:none}
.prog-historico summary .code{
    font-size:10px;color:#64748b;letter-spacing:.18em;
    padding:3px 8px;border:1px solid #1a2030;border-radius:3px;background:#0c1117;
}
.prog-historico summary h3{
    flex:1;margin:0;font-family:'Bebas Neue',Impact,sans-serif;
    font-size:16px;letter-spacing:.1em;color:#94a3b8;
}
.prog-historico summary .dim{color:#475569;font-size:10.5px;letter-spacing:.1em}
.prog-historico[open] summary{margin-bottom:14px}
.prog-historico .prog-card{opacity:.65}
.prog-historico .prog-card:hover{opacity:1}

/* ====== Responsivo ====== */
@media (max-width:900px){
    .op-hud-title{font-size:32px}
    .vi-route{grid-template-columns:1fr;text-align:center}
    .vi-line-svg{transform:rotate(90deg);height:40px}
    .vi-meta{grid-template-columns:1fr}
    .vi-meta-info{justify-content:flex-start}
    .os-body{grid-template-columns:1fr}
    .os-right{text-align:left}
    .os-custo{justify-content:flex-start}
    .os-custo-val{font-size:28px}
}
@media (max-width:680px){
    .op-hud{flex-direction:column;align-items:stretch;gap:12px}
    .op-hud-title{font-size:28px}
    .vi-km-num{font-size:32px}
}

/* ====== Painel de Lavagens Pendentes (Dashboard) ====== */
.block-head.warn-yellow .block-title{color:#FACC15}
.warn-pulse.yellow{color:#FACC15;animation:pulse-warn 1.4s ease-in-out infinite}

.lav-pend-panel{
    background:linear-gradient(135deg,#1a1408 0%, #0a0e16 100%);
    border:1px solid rgba(250,204,21,.25);border-radius:12px;
    overflow:hidden;position:relative;
}
.lav-pend-strip{
    height:5px;
    background:repeating-linear-gradient(-45deg,#FACC15 0 10px,#0a0e16 10px 20px);
    opacity:.75;
}
.lav-pend-summary{
    display:flex;align-items:center;gap:24px;
    padding:18px 22px;border-bottom:1px solid rgba(250,204,21,.15);
    flex-wrap:wrap;
}
.lav-pend-stats{display:flex;align-items:center;gap:24px;flex:1;min-width:240px}
.lav-pend-stat{display:flex;align-items:center;gap:14px}
.lav-pend-num{
    font-family:'Bebas Neue',Impact,sans-serif;font-size:54px;color:#FACC15;
    line-height:.9;letter-spacing:.04em;
    text-shadow:0 0 20px rgba(250,204,21,.4);
}
.lav-pend-lbl{
    font-family:'Bebas Neue',Impact,sans-serif;font-size:14px;
    color:#cbd5e1;letter-spacing:.1em;line-height:1.15;
}
.lav-pend-lbl .dim{color:#64748b;display:block;font-size:10.5px;letter-spacing:.14em}
.lav-pend-progress{flex:1;min-width:220px}
.lav-pend-progress-info{
    display:flex;justify-content:space-between;align-items:center;
    font-family:'JetBrains Mono',monospace;font-size:11px;
    color:#cbd5e1;letter-spacing:.06em;margin-bottom:6px;
}
.lav-pend-progress-info .dim{color:#64748b}
.lav-pend-bar{height:6px;background:#1a2030;border-radius:3px;overflow:hidden}
.lav-pend-bar span{
    display:block;height:100%;
    background:linear-gradient(90deg,#22c55e 0%, #FACC15 100%);
    box-shadow:0 0 10px rgba(250,204,21,.45);
    transition:width 1s cubic-bezier(.4,0,.2,1);
}
.lav-pend-cta{
    background:#FACC15;color:#0a0e16;
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:14px;letter-spacing:.14em;
    padding:11px 22px;border-radius:8px;text-decoration:none;
    box-shadow:0 0 18px rgba(250,204,21,.4);
    transition:.2s ease;flex-shrink:0;
}
.lav-pend-cta:hover{background:#FDE047;transform:translateY(-1px)}

.lav-pend-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
    gap:8px;padding:16px 18px 18px;
}
.lav-pend-card{
    display:flex;flex-direction:column;gap:3px;
    background:#0c1117;border:1px solid #1a2030;border-radius:7px;
    padding:9px 12px;text-decoration:none;
    transition:all .18s ease;cursor:pointer;
    border-left:3px solid rgba(250,204,21,.5);
}
.lav-pend-card:hover{
    background:rgba(250,204,21,.06);border-color:#FACC15;
    border-left-color:#FACC15;transform:translateX(2px);
}
.lav-pend-placa{
    font-size:13px;font-weight:700;color:#f1f5f9;letter-spacing:.04em;
}
.lav-pend-modelo{
    font-family:'Manrope',sans-serif;font-size:10.5px;color:#94a3b8;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.lav-pend-more{
    background:transparent;border-style:dashed;border-left:1px dashed #FACC15;
    text-align:center;align-items:center;justify-content:center;
}
.lav-pend-more .lav-pend-placa{color:#FACC15;font-family:'Bebas Neue';font-size:18px}
.lav-pend-more .lav-pend-modelo{color:#FACC15;letter-spacing:.12em;font-size:9.5px;font-weight:700}

@media (max-width:680px){
    .lav-pend-summary{flex-direction:column;align-items:stretch}
    .lav-pend-num{font-size:42px}
}

/* ============================================================
   LAVAGEM — Agenda mensal de lavagens por placa
   ============================================================ */
body:has(.lav-wrap){background:#0a0e16}
body:has(.lav-wrap) .topbar{background:linear-gradient(180deg,#0c1117,#0a0e16);border-bottom:1px solid #1a2030}
body:has(.lav-wrap) .topbar h1{color:#f1f5f9;font-family:'Bebas Neue',Impact,sans-serif;font-size:24px;letter-spacing:.08em}
body:has(.lav-wrap) .user-info{color:#94a3b8}
body:has(.lav-wrap) .btn-sair{background:#1a2030;color:#FACC15;border:1px solid #2a3344}
body:has(.lav-wrap) .btn-sair:hover{background:#FACC15;color:#0a0e16}
body:has(.lav-wrap) .alerta{background:#1a0d12;color:#fca5a5;border-left:4px solid #EF4444;border-radius:8px;padding:14px 18px}
body:has(.lav-wrap) .alerta.sucesso{background:#0d1a14;color:#86efac;border-left-color:#22c55e}

/* Cores de status — uma paleta central que vale na legenda, items, badges */
.st-agendado   { --st-c:#3B82F6; --st-bg:rgba(59,130,246,.12);  --st-border:rgba(59,130,246,.45);  }
.st-confirmado { --st-c:#22C55E; --st-bg:rgba(34,197,94,.12);   --st-border:rgba(34,197,94,.45);   }
.st-realizado  { --st-c:#FACC15; --st-bg:rgba(250,204,21,.12);  --st-border:rgba(250,204,21,.5);   }
.st-faltou     { --st-c:#F97316; --st-bg:rgba(249,115,22,.12);  --st-border:rgba(249,115,22,.45);  }
.st-cancelado  { --st-c:#EF4444; --st-bg:rgba(239,68,68,.12);   --st-border:rgba(239,68,68,.45);   }

.lav-wrap{display:flex;flex-direction:column;gap:18px}

/* ====== Cabeçalho navegação + KPIs ====== */
.lav-head{
    display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;
    background:linear-gradient(135deg,#0d1320 0%,#0a0e16 100%);
    border:1px solid #1a2030;border-radius:14px;padding:18px 22px;position:relative;overflow:hidden;
}
.lav-head::before{
    content:'';position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent,#FACC15 30%,#FACC15 70%,transparent);
    opacity:.5;
}

.lav-nav{display:flex;align-items:center;gap:14px}
.lav-nav-btn{
    width:42px;height:42px;display:grid;place-items:center;
    background:#0c1117;border:1px solid #1a2030;border-radius:8px;
    color:#FACC15;font-size:14px;transition:.18s ease;
    text-decoration:none;
}
.lav-nav-btn:hover{background:#FACC15;color:#0a0e16;border-color:#FACC15;box-shadow:0 0 14px rgba(250,204,21,.4)}
.lav-mes-ano{text-align:center;min-width:200px}
.lav-mes{
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:38px;line-height:.92;color:#f1f5f9;letter-spacing:.08em;
    text-shadow:0 0 20px rgba(250,204,21,.18);
}
.lav-ano{
    font-size:13px;color:#FACC15;letter-spacing:.2em;margin-top:2px;
}
.lav-nav-hoje{
    background:#FACC15;color:#0a0e16;border:none;border-radius:6px;
    padding:9px 18px;font-family:'Bebas Neue',Impact,sans-serif;
    font-size:14px;letter-spacing:.18em;text-decoration:none;
    box-shadow:0 0 14px rgba(250,204,21,.35);transition:.18s ease;
}
.lav-nav-hoje:hover{background:#FDE047;transform:translateY(-1px)}

.lav-kpis{display:flex;gap:14px}
.lav-kpi{
    background:#0c1117;border:1px solid #1a2030;border-radius:10px;
    padding:10px 16px;min-width:130px;
    display:flex;flex-direction:column;gap:4px;
}
.lav-kpi-num{
    font-family:'Bebas Neue',Impact,sans-serif;font-size:22px;
    color:#FACC15;line-height:1;letter-spacing:.04em;
    text-shadow:0 0 12px rgba(250,204,21,.25);
}
.lav-kpi-lbl{
    font-family:'Bebas Neue',Impact,sans-serif;font-size:11px;
    color:#cbd5e1;letter-spacing:.12em;line-height:1.15;
}
.lav-kpi-lbl .dim{display:block;color:#475569;font-size:9px;letter-spacing:.14em}

/* ====== Legenda + botão ====== */
.lav-toolbar{
    display:flex;justify-content:space-between;align-items:center;
    flex-wrap:wrap;gap:14px;
}
.lav-legenda{display:flex;gap:18px;flex-wrap:wrap}
.lav-leg{
    display:inline-flex;align-items:center;gap:7px;
    font-family:'JetBrains Mono',monospace;font-size:11px;
    color:#94a3b8;letter-spacing:.08em;
}
.lav-leg-dot{
    width:10px;height:10px;border-radius:50%;
    background:var(--st-c);
    box-shadow:0 0 8px var(--st-c);
}
.lav-toolbar-actions{display:flex;gap:10px;flex-wrap:wrap}
.lav-btn-novo{
    background:#FACC15;color:#0a0e16;
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:14px;letter-spacing:.14em;padding:11px 22px;
    box-shadow:0 0 16px rgba(250,204,21,.35);
}
.lav-btn-novo:hover{background:#FDE047;transform:translateY(-1px)}
.lav-btn-print{
    background:#1a2030;color:#FACC15;border:1px solid #2a3344;
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:14px;letter-spacing:.14em;padding:11px 18px;
}
.lav-btn-print:hover{background:#2a3344;color:#FDE047;border-color:#FACC15}

/* ====== Área de impressão (escondida em tela) ====== */
.lav-print{display:none}

@media print{
    /* Esconde tudo que não é a área de impressão */
    body{background:#fff!important;color:#000!important}
    .sidebar,.sidebar-overlay,.topbar,.lav-head,.lav-toolbar,.lav-cal,.lav-modal-bg,
    .menu-toggle,.alerta{display:none!important}
    .conteudo{margin-left:0!important}
    .conteudo-inner{padding:0!important}
    .lav-wrap{gap:0}

    .lav-print{display:block;font-family:Arial,Helvetica,sans-serif;color:#000;padding:0 8px}
    .lav-print-head{
        display:flex;justify-content:space-between;align-items:flex-start;
        border-bottom:3px solid #000;padding:10px 0 12px;margin-bottom:14px;
    }
    .lav-print-brand{display:flex;gap:14px;align-items:center}
    .lav-print-logo{font-size:38px;line-height:1}
    .lav-print-head h1{margin:0;font-size:20px;letter-spacing:.02em}
    .lav-print-head p{margin:2px 0 0;font-size:11px;color:#555}
    .lav-print-period{text-align:right}
    .lav-print-period h2{margin:0;font-size:24px;letter-spacing:.04em}
    .lav-print-period p{margin:2px 0 0;font-size:11px;color:#555}

    .lav-print-resumo{
        background:#f7f7f7;border:1px solid #d4d4d4;border-radius:4px;
        padding:8px 12px;margin-bottom:12px;font-size:12px;
    }
    .lav-print-resumo b{color:#000}

    .lav-print-tbl{
        width:100%;border-collapse:collapse;font-size:11px;
        border:1px solid #999;
    }
    .lav-print-tbl th{
        background:#222;color:#fff;text-align:left;padding:6px 7px;
        font-size:10px;letter-spacing:.04em;
    }
    .lav-print-tbl td{
        padding:6px 7px;border-bottom:1px solid #ddd;vertical-align:top;
    }
    .lav-print-tbl tbody tr:nth-child(even){background:#fafafa}
    .lav-print-tbl tbody tr{page-break-inside:avoid}
    .lav-print-tbl tfoot td{background:#eee;font-weight:bold;border-top:2px solid #000}

    .lav-print-status{
        display:inline-block;padding:2px 7px;border-radius:3px;
        font-size:9.5px;font-weight:bold;letter-spacing:.04em;
    }
    .print-st-agendado  {background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}
    .print-st-confirmado{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}
    .print-st-realizado {background:#fef3c7;color:#854d0e;border:1px solid #fde047}
    .print-st-faltou    {background:#fed7aa;color:#9a3412;border:1px solid #fdba74}
    .print-st-cancelado {background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}

    .lav-print-foot{
        margin-top:14px;padding-top:8px;border-top:1px dashed #999;
        font-size:9px;color:#666;text-align:center;
    }

    @page{margin:14mm;size:A4 landscape}
}

/* ====== Calendário ====== */
.lav-cal{
    background:linear-gradient(135deg,#0d1320 0%,#0a0e16 100%);
    border:1px solid #1a2030;border-radius:14px;overflow:hidden;
}
.lav-cal-head{
    display:grid;grid-template-columns:repeat(7,1fr);
    background:#0a0f1a;border-bottom:1px solid #1a2030;
}
.lav-dow{
    text-align:center;padding:11px 0;
    font-family:'JetBrains Mono',monospace;font-size:10.5px;
    color:#64748b;letter-spacing:.18em;font-weight:700;
}
.lav-cal-grid{
    display:grid;grid-template-columns:repeat(7,1fr);
    gap:1px;background:#1a2030;
}
.lav-cel{
    min-height:120px;background:#0c1117;
    padding:8px 8px 6px;position:relative;
    transition:background .15s ease;
    cursor:pointer;display:flex;flex-direction:column;gap:4px;
}
.lav-cel:hover:not(.lav-cel-off){background:#0e1320}
.lav-cel-off{background:#080c14;cursor:default}
.lav-cel-num{
    font-family:'Bebas Neue',Impact,sans-serif;font-size:18px;
    color:#94a3b8;line-height:1;letter-spacing:.04em;
}
.lav-cel.tem .lav-cel-num{color:#FACC15}
.lav-cel-hoje{background:linear-gradient(135deg,#1a1408,#0c1117)}
.lav-cel-hoje .lav-cel-num{color:#FACC15;font-size:22px;text-shadow:0 0 10px rgba(250,204,21,.5)}
.lav-cel-hoje-tag{
    position:absolute;top:8px;right:8px;
    background:#FACC15;color:#0a0e16;
    padding:1px 6px;border-radius:3px;
    font-size:8.5px;font-weight:700;letter-spacing:.15em;
}
.lav-cel-items{display:flex;flex-direction:column;gap:3px;flex:1;margin-top:4px}
.lav-item{
    display:flex;justify-content:space-between;align-items:center;gap:6px;
    padding:4px 7px;border-radius:4px;
    background:var(--st-bg);border:1px solid var(--st-border);
    border-left:3px solid var(--st-c);
    cursor:pointer;transition:transform .12s ease, background .15s ease;
    font-family:'JetBrains Mono',monospace;
}
.lav-item:hover{transform:translateX(2px);background:color-mix(in srgb, var(--st-c) 18%, transparent)}
.lav-item-placa{
    font-size:11px;font-weight:700;color:#f1f5f9;
    letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.lav-item-valor{font-size:10px;color:var(--st-c);font-weight:700;flex-shrink:0}
.lav-cel-add{
    position:absolute;bottom:4px;right:6px;
    width:22px;height:22px;display:grid;place-items:center;
    background:transparent;color:#475569;border:none;font-size:16px;
    cursor:pointer;border-radius:4px;opacity:0;transition:opacity .15s ease;
}
.lav-cel:not(.lav-cel-off):hover .lav-cel-add{opacity:1;color:#FACC15;background:rgba(250,204,21,.1)}

/* ====== Modal ====== */
.lav-modal-bg{
    display:none;position:fixed;inset:0;z-index:200;
    background:rgba(0,0,0,.75);backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    align-items:center;justify-content:center;padding:24px;
}
.lav-modal-bg.on{display:flex;animation:lav-fade .2s ease}
@keyframes lav-fade{from{opacity:0}to{opacity:1}}
.lav-modal{
    background:linear-gradient(180deg,#0c1220,#08101c);
    border:1px solid #1a2030;border-radius:14px;
    width:100%;max-width:640px;
    box-shadow:0 30px 80px rgba(0,0,0,.6);
    animation:lav-slide .25s cubic-bezier(.34,1.56,.64,1);
    overflow:hidden;position:relative;
}
@keyframes lav-slide{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}
.lav-modal::before{
    content:'';position:absolute;top:0;left:0;right:0;height:2px;
    background:linear-gradient(90deg,transparent,#FACC15 40%,#FACC15 60%,transparent);
}
.lav-modal-head{
    display:flex;align-items:center;gap:12px;
    padding:16px 22px;border-bottom:1px solid #1a2030;
    background:#0a0f1a;
}
.lav-modal-head .code{
    font-size:10px;color:#64748b;letter-spacing:.18em;
    padding:3px 8px;border:1px solid #1a2030;border-radius:3px;background:#0c1117;
}
.lav-modal-head h3{
    flex:1;margin:0;
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:20px;letter-spacing:.1em;color:#f1f5f9;
}
.lav-modal-x{
    width:32px;height:32px;border:none;background:transparent;
    color:#64748b;font-size:22px;cursor:pointer;border-radius:5px;
    transition:.15s ease;
}
.lav-modal-x:hover{background:#1a2030;color:#FACC15}

.lav-modal .form-grid{
    grid-template-columns:repeat(2,1fr);gap:14px;padding:20px 22px;
}
.lav-modal .form-grid .full{grid-column:1/-1}
.lav-modal .campo label{
    font-family:'JetBrains Mono',monospace;font-size:10.5px;
    color:#94a3b8;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
}
.lav-modal .campo input,
.lav-modal .campo select,
.lav-modal .campo textarea{
    background:#0a0f1a;border:1px solid #1a2030;color:#f1f5f9;
    font-family:'Manrope',sans-serif;font-size:13px;
    padding:10px 12px;border-radius:6px;
}
.lav-modal .campo input:focus,
.lav-modal .campo select:focus,
.lav-modal .campo textarea:focus{
    outline:none;border-color:#FACC15;box-shadow:0 0 0 3px rgba(250,204,21,.14);
}
.lav-alerta{
    display:none;margin-top:6px;
    padding:8px 10px;border-radius:6px;
    background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.35);
    color:#fca5a5;font-size:11.5px;letter-spacing:.04em;
}
.lav-modal-foot{
    display:flex;gap:10px;align-items:center;
    padding:16px 22px;border-top:1px solid #1a2030;background:#0a0f1a;
}
.lav-modal-foot .btn-primary{
    background:#FACC15;color:#0a0e16;
    font-family:'Bebas Neue',Impact,sans-serif;
    font-size:14px;letter-spacing:.12em;padding:10px 20px;
}
.lav-modal-foot .btn-primary:hover{background:#FDE047}
.lav-modal-foot .btn-voltar{background:#1a2030;color:#cbd5e1;border:1px solid #2a3344;padding:9px 18px}
.lav-modal-foot .btn-voltar:hover{background:#2a3344;color:#fff}
.lav-modal-foot .btn-excluir{padding:9px 14px}

/* Responsivo Lavagem */
@media (max-width:900px){
    .lav-head{grid-template-columns:1fr;gap:14px}
    .lav-kpis{justify-content:flex-start}
    .lav-mes{font-size:30px}
    .lav-cel{min-height:90px}
    .lav-cel-num{font-size:15px}
    .lav-item-placa{font-size:10px}
    .lav-item-valor{font-size:9.5px}
}
@media (max-width:640px){
    .lav-modal .form-grid{grid-template-columns:1fr}
    .lav-kpi{min-width:auto;padding:8px 12px}
    .lav-kpi-num{font-size:18px}
    .lav-cal-head .lav-dow{font-size:9px;letter-spacing:.1em}
    .lav-cel{min-height:70px;padding:5px 5px 4px}
    .lav-cel-items{gap:2px}
    .lav-item{padding:2px 4px}
    .lav-item-valor{display:none}
}

.exporter-actions{display:flex;gap:12px;flex-wrap:wrap}
.exp-btn-big{
    flex:1;min-width:220px;text-align:center;padding:18px 20px;
    font-family:'Bebas Neue',Impact,sans-serif;font-size:18px;letter-spacing:.1em;
}
.exp-btn-big.btn-primary{background:#FACC15;color:#0a0e16;box-shadow:0 0 20px rgba(250,204,21,.35)}
.exp-btn-big.btn-primary:hover{background:#FDE047;box-shadow:0 0 30px rgba(250,204,21,.55)}
.exp-btn-big.btn-voltar{background:#1a2030;color:#cbd5e1;border:1px solid #2a3344}
.exp-btn-big.btn-voltar:hover{background:#2a3344;color:#FACC15;border-color:#FACC15}

@media (max-width:1100px){
    .dbcfg-wrap{grid-template-columns:1fr}
    .dbcfg-fields .form-grid{grid-template-columns:repeat(2,1fr)}
    .dbcfg-fields .form-grid .campo[style*="span 3"],
    .dbcfg-fields .form-grid .campo[style*="span 2"]{grid-column:span 2 !important}
}
@media (max-width:600px){
    .dbcfg-fields .form-grid{grid-template-columns:1fr}
    .dbcfg-fields .form-grid .campo[style*="span"]{grid-column:span 1 !important}
}

/* ============================================================
   ORDENS DE COMPRA — itens master-detail, totais, autocomplete
   ============================================================ */
.oc-itens-head{
    display:flex;align-items:center;gap:14px;margin:24px 0 10px;
}
.oc-itens-head h4{
    margin:0;font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:2px;color:#cbd5e1;
}
.oc-itens-head .block-line{
    flex:1;height:1px;background:linear-gradient(90deg,#334155,transparent);
}
.oc-itens-head .btn{padding:8px 14px;font-size:12px}

.oc-itens-wrap{
    background:#0b1220;border:1px solid #1f2937;border-radius:10px;overflow-x:auto;
    box-shadow:inset 0 0 30px rgba(6,182,212,.05);
}
.oc-itens-tbl{
    width:100%;border-collapse:collapse;min-width:920px;
}
.oc-itens-tbl thead th{
    background:#0f172a;color:#64748b;font-family:'JetBrains Mono',monospace;
    font-size:10px;letter-spacing:1.5px;text-align:left;padding:10px 8px;
    border-bottom:1px solid #1f2937;text-transform:uppercase;font-weight:600;
}
.oc-itens-tbl tbody td{
    padding:6px 6px;border-bottom:1px solid #111827;vertical-align:middle;
}
.oc-itens-tbl tbody tr:hover{background:rgba(6,182,212,.04)}
.oc-itens-tbl input,
.oc-itens-tbl select{
    width:100%;background:#0f172a;border:1px solid #1f2937;color:#e5e7eb;
    padding:7px 8px;font-size:12.5px;border-radius:6px;font-family:inherit;
}
.oc-itens-tbl input:focus,
.oc-itens-tbl select:focus{border-color:#06B6D4;outline:none;box-shadow:0 0 0 2px rgba(6,182,212,.18)}
.oc-itens-tbl .oc-it-num{
    color:#475569;font-family:'JetBrains Mono',monospace;font-size:11px;text-align:center;
}
.oc-itens-tbl .oc-it-sub{
    color:#FACC15;font-weight:600;text-align:right;font-size:13px;white-space:nowrap;
}
.oc-itens-tbl .op-icon-btn{padding:6px 8px;font-size:13px}

/* Totais */
.oc-totais{
    margin-top:18px;display:grid;grid-template-columns:repeat(4, 1fr);gap:14px;
    background:linear-gradient(135deg,rgba(6,182,212,.08),transparent);
    padding:18px;border:1px solid #1f2937;border-radius:10px;
}
.oc-tot-row{
    display:flex;flex-direction:column;gap:6px;
}
.oc-tot-row label{
    font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:1.5px;color:#64748b;
}
.oc-tot-row input{
    background:#0f172a;border:1px solid #1f2937;color:#e5e7eb;
    padding:9px 12px;font-size:14px;border-radius:6px;font-family:inherit;
}
.oc-tot-row input:focus{border-color:#06B6D4;outline:none;box-shadow:0 0 0 2px rgba(6,182,212,.18)}
.oc-tot-val{color:#cbd5e1;font-size:18px;font-weight:600;padding:8px 0}
.oc-tot-final{
    grid-column:span 1;justify-content:center;
    background:linear-gradient(135deg,#FACC15,#F59E0B);
    border-radius:8px;padding:10px 16px;color:#111827;
    box-shadow:0 0 20px rgba(250,204,21,.25);
}
.oc-tot-final label{color:rgba(17,24,39,.7) !important}
.oc-tot-final-val{font-size:22px;font-weight:800;color:#111827}

/* Autocomplete popover */
.ac-box{
    position:absolute;display:none;z-index:9999;
    background:#0b1220;border:1px solid #06B6D4;border-radius:8px;
    box-shadow:0 12px 30px rgba(0,0,0,.55),0 0 0 1px rgba(6,182,212,.15);
    max-height:300px;overflow-y:auto;
}
.ac-item{
    padding:10px 12px;border-bottom:1px solid #111827;cursor:pointer;
    transition:background .12s;
}
.ac-item:last-child{border-bottom:none}
.ac-item:hover{background:rgba(6,182,212,.12)}
.ac-desc{color:#e5e7eb;font-size:13px;font-weight:500;margin-bottom:3px}
.ac-meta{
    display:flex;gap:10px;align-items:center;font-size:11px;color:#94a3b8;
    flex-wrap:wrap;
}
.ac-meta .ac-val{color:#FACC15;margin-left:auto;font-weight:600}

/* Vínculo OS no card */
.oc-link-os{
    display:inline-flex;align-items:center;gap:4px;
    background:rgba(168,85,247,.15);border:1px solid rgba(168,85,247,.4);
    color:#c084fc;padding:3px 8px;border-radius:4px;font-size:10.5px;
    letter-spacing:1px;text-decoration:none;
}
.oc-tot-detail{
    margin-top:6px;font-size:10.5px;color:#64748b;line-height:1.4;text-align:right;
}

@media (max-width:900px){
    .oc-totais{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
    .oc-totais{grid-template-columns:1fr}
    .oc-itens-tbl{min-width:760px}
}

/* ============================================================
   QUEIXAS — chips de prioridade, status, cards, banner
   ============================================================ */
.qx-prio{
    display:inline-flex;align-items:center;gap:4px;
    padding:3px 10px;border-radius:4px;font-size:10.5px;font-weight:700;
    letter-spacing:1.2px;font-family:'JetBrains Mono',monospace;
    border:1px solid transparent;
}
.qx-prio-baixa   { background:rgba(34,197,94,.15);  color:#86efac; border-color:rgba(34,197,94,.35) }
.qx-prio-media   { background:rgba(250,204,21,.15); color:#fde047; border-color:rgba(250,204,21,.35) }
.qx-prio-alta    { background:rgba(249,115,22,.18); color:#fdba74; border-color:rgba(249,115,22,.45) }
.qx-prio-urgente { background:rgba(239,68,68,.22);  color:#fca5a5; border-color:rgba(239,68,68,.55);
    animation: qxPulse 1.4s ease-in-out infinite;
    box-shadow:0 0 12px rgba(239,68,68,.4);
}
@keyframes qxPulse{
    0%,100%{ box-shadow:0 0 12px rgba(239,68,68,.4) }
    50%   { box-shadow:0 0 24px rgba(239,68,68,.8) }
}

.qx-status{
    display:inline-flex;align-items:center;
    padding:3px 10px;border-radius:4px;font-size:10.5px;font-weight:600;
    letter-spacing:1.2px;font-family:'JetBrains Mono',monospace;
}
.qx-st-aberta     { background:rgba(249,115,22,.18); color:#fdba74 }
.qx-st-em_analise { background:rgba(59,130,246,.18); color:#93c5fd }
.qx-st-resolvida  { background:rgba(34,197,94,.18);  color:#86efac }
.qx-st-descartada { background:rgba(100,116,139,.2); color:#94a3b8 }

.qx-card.qx-urgente{
    border:1px solid rgba(239,68,68,.5);
    box-shadow:0 0 0 1px rgba(239,68,68,.2), 0 0 24px rgba(239,68,68,.18);
}
.qx-desc{
    background:rgba(15,23,42,.6); border-left:3px solid #F97316;
    padding:10px 14px; border-radius:4px; margin:10px 0;
    color:#cbd5e1; font-size:13.5px; line-height:1.5;
}
.qx-resolucao{
    background:rgba(34,197,94,.08); border-left:3px solid #22C55E;
    padding:10px 14px; border-radius:4px; margin-top:10px;
    color:#cbd5e1; font-size:12.5px; line-height:1.45;
}
.qx-resolucao strong{display:block;margin-bottom:4px;font-size:10px;letter-spacing:1.5px}

.qx-actions{
    display:flex;flex-direction:column;gap:8px;min-width:160px;
    align-items:stretch;justify-content:flex-start;padding-top:6px;
}
.qx-btn{
    display:inline-block;text-align:center;cursor:pointer;
    padding:8px 12px;font-size:11.5px;font-weight:600;letter-spacing:1px;
    border-radius:6px;border:1px solid #1f2937;text-decoration:none;
    font-family:'JetBrains Mono',monospace;
    transition:all .15s;
}
.qx-btn:hover{ transform:translateY(-1px); filter:brightness(1.15) }
.qx-btn-os       { background:rgba(250,204,21,.12); color:#fde047; border-color:rgba(250,204,21,.4) }
.qx-btn-oc       { background:rgba(6,182,212,.12);  color:#67e8f9; border-color:rgba(6,182,212,.4) }
.qx-btn-resolver { background:rgba(34,197,94,.12);  color:#86efac; border-color:rgba(34,197,94,.4) }
.qx-btn-descartar{ background:rgba(100,116,139,.15);color:#94a3b8; border-color:rgba(100,116,139,.45) }
.qx-btn-reabrir  { background:rgba(59,130,246,.15); color:#93c5fd; border-color:rgba(59,130,246,.4) }

.qx-resolver{ list-style:none }
.qx-resolver summary{ list-style:none; cursor:pointer }
.qx-resolver summary::-webkit-details-marker{ display:none }
.qx-resolver[open] summary{ margin-bottom:8px }
.qx-resolver textarea{
    width:100%; background:#0f172a; border:1px solid #1f2937; color:#e5e7eb;
    padding:8px 10px; font-size:12px; border-radius:5px; font-family:inherit;
    resize:vertical; margin-bottom:6px;
}
.qx-resolver textarea:focus{ border-color:#22C55E; outline:none }
.qx-resolver button{ width:100%; padding:7px 10px; font-size:11.5px }

.qx-origem-banner{
    background:linear-gradient(90deg, rgba(249,115,22,.18), rgba(249,115,22,.04));
    border:1px solid rgba(249,115,22,.4);
    border-left:4px solid #F97316;
    padding:12px 16px; border-radius:6px; margin-bottom:16px;
    color:#fed7aa; font-size:13px; line-height:1.5;
}
.qx-origem-banner b{ color:#fff }
.qx-origem-banner .mono.dim{ display:block; margin-top:4px; font-size:11px; color:#94a3b8 }

/* Bloco no dashboard */
.qx-dash-panel{
    background:#0b1220; border:1px solid #1f2937; border-radius:10px;
    padding:18px; position:relative; overflow:hidden;
}
.qx-dash-grid{
    display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:12px;
}
.qx-dash-card{
    background:#0f172a; border:1px solid #1e293b; border-left:3px solid var(--qx-c, #64748B);
    border-radius:8px; padding:12px; text-decoration:none; color:inherit;
    transition:all .15s; display:flex; flex-direction:column; gap:8px;
}
.qx-dash-card:hover{ transform:translateY(-2px); border-color:var(--qx-c); box-shadow:0 4px 16px rgba(0,0,0,.4) }
.qx-dash-card.qx-dash-urg{
    box-shadow:inset 0 0 0 1px rgba(239,68,68,.3), 0 0 18px rgba(239,68,68,.15);
}
.qx-dash-head{ display:flex; justify-content:space-between; align-items:center; gap:8px }
.qx-dash-num{ color:#94a3b8; font-size:11px }
.qx-dash-veic{ display:flex; gap:8px; align-items:baseline; font-size:13px }
.qx-dash-veic .mono{ color:#fde047; font-weight:600 }
.qx-dash-veic .dim{ color:#94a3b8; font-size:11.5px }
.qx-dash-desc{ color:#cbd5e1; font-size:12.5px; line-height:1.45 }
.qx-dash-foot{ display:flex; gap:10px; justify-content:space-between; font-size:10.5px; color:#94a3b8; flex-wrap:wrap }

/* ============ ANEXOS DE FOTOS ============ */
.qx-anexos-block{ margin-top:24px }
.qx-anexos-head{
    display:flex; align-items:center; gap:14px; margin-bottom:14px;
}
.qx-anexos-head h4{
    margin:0; font-family:'Bebas Neue',sans-serif; font-size:20px; letter-spacing:2px; color:#cbd5e1;
}
.qx-anexos-head .block-line{
    flex:1; height:1px; background:linear-gradient(90deg,#334155,transparent);
}

.qx-anx-drop{
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:8px; padding:28px 20px; cursor:pointer;
    border:2px dashed #1f2937; border-radius:10px; background:#0b1220;
    transition:all .15s; text-align:center;
}
.qx-anx-drop:hover{ border-color:#F97316; background:rgba(249,115,22,.05) }
.qx-anx-drop input[type=file]{ display:none }
.qx-anx-drop-ico{ font-size:32px; opacity:.85 }
.qx-anx-drop-lbl{
    font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:1.5px; color:#94a3b8;
}
.qx-anx-drop-lbl small{ font-size:10px; display:block; margin-top:4px; letter-spacing:1px }

.qx-anx-grid{
    display:grid; grid-template-columns:repeat(auto-fill, minmax(120px,1fr));
    gap:10px; margin:14px 0;
}
.qx-anx-grid-card{
    grid-template-columns:repeat(auto-fill, minmax(140px,1fr));
    gap:8px; margin-top:8px;
}
.qx-anx-card-block{
    margin-top:14px;
    background:rgba(15,23,42,.5);
    border:1px solid rgba(249,115,22,.25);
    border-radius:8px;
    padding:10px 12px 12px;
}
.qx-anx-card-head{
    font-size:10.5px; letter-spacing:1.5px; color:#fdba74;
    padding-bottom:6px; border-bottom:1px dashed rgba(249,115,22,.25);
    margin-bottom:4px; font-weight:600;
}
.qx-anx-broken{
    display:none;
    width:100%; height:100%;
    align-items:center; justify-content:center;
    flex-direction:column; text-align:center;
    background:rgba(239,68,68,.12); color:#fca5a5;
    font-size:18px; font-family:'JetBrains Mono',monospace; gap:4px;
}
.qx-anx-thumb.broken{ background:rgba(239,68,68,.08); border-color:rgba(239,68,68,.4); cursor:not-allowed }
.qx-anx-thumb.broken .qx-anx-broken{ display:flex }
.qx-anx-thumb.broken img{ display:none }
.qx-anx-broken small{ font-size:9px; color:#94a3b8; letter-spacing:.5px }

/* Badge "📷 N fotos" no cabeçalho do card */
.qx-foto-badge{
    display:inline-flex; align-items:center; gap:4px;
    background:rgba(249,115,22,.16); border:1px solid rgba(249,115,22,.4);
    color:#fdba74; padding:3px 9px; border-radius:4px;
    font-size:10.5px; letter-spacing:1px; font-weight:700;
}
.qx-anx-item{ position:relative; display:flex; flex-direction:column; gap:4px }
.qx-anx-thumb{
    display:block; aspect-ratio:1/1; overflow:hidden; border-radius:6px;
    border:1px solid #1f2937; background:#0f172a; cursor:zoom-in;
    transition:transform .15s;
}
.qx-anx-thumb:hover{ transform:scale(1.03); border-color:#F97316 }
.qx-anx-thumb img{ width:100%; height:100%; object-fit:cover; display:block }
.qx-anx-del{
    position:absolute; top:4px; right:4px;
    background:rgba(239,68,68,.85); color:#fff; padding:3px 7px; border-radius:4px;
    text-decoration:none; font-size:11px; line-height:1;
    opacity:0; transition:opacity .12s;
}
.qx-anx-item:hover .qx-anx-del{ opacity:1 }
.qx-anx-meta{ font-size:9.5px; color:#64748b; text-align:center; letter-spacing:1px }

/* Lightbox */
.qx-lightbox{
    position:fixed; inset:0; background:rgba(0,0,0,.92); z-index:9999;
    display:none; align-items:center; justify-content:center; padding:30px;
    cursor:zoom-out;
}
.qx-lightbox.on{ display:flex }
.qx-lightbox img{
    max-width:96vw; max-height:92vh; border-radius:8px;
    box-shadow:0 30px 80px rgba(0,0,0,.7);
}

