/* Monitor BR · interface na identidade Arasys. Componentes portados do DS (ars-*) + layout do painel. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;background:var(--bg-base);color:var(--text-primary);font-family:var(--font-body);font-weight:400;font-size:var(--text-base-sm);line-height:var(--leading-body);
  background-image:var(--ambient-glow),var(--pcb-grid);background-size:auto,auto,var(--pcb-grid-size),var(--pcb-grid-size);background-repeat:no-repeat,no-repeat,repeat,repeat;background-attachment:fixed}
a{color:var(--accent-bright);text-decoration:none;transition:color var(--transition-fast)}
a:hover{color:var(--text-primary)}
::selection{background:var(--color-neuropurple);color:#fff}
button{font:inherit;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}
code{font-family:var(--font-mono);font-size:.92em;color:var(--signal-bright);background:var(--surface-signal-soft);padding:2px 7px;border-radius:var(--radius-xs)}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:700;letter-spacing:var(--tracking-tight);line-height:var(--leading-snug);color:var(--text-primary)}
p{margin:0}
.mono{font-family:var(--font-mono)}
.muted{color:var(--text-muted)}
.sec{color:var(--text-secondary)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ——— Tipos de texto da marca ——— */
.ars-tag{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-tag);text-transform:uppercase;color:var(--signal)}
.ars-tag--purple{color:var(--accent-bright)} .ars-tag--muted{color:var(--text-muted)}
.ars-sectiontag{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--signal);letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:12px}
.ars-sectiontag::before{content:'';width:24px;height:1px;background:var(--signal);flex-shrink:0}
.meta{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;color:var(--text-muted)}
.meta b{color:var(--text-secondary);font-weight:500}
.titulo-pagina{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:0 0 24px}
.titulo-pagina h2{font-size:var(--text-h2);letter-spacing:var(--tracking-display);margin-top:10px}
.titulo-pagina .lead{color:var(--text-secondary);max-width:720px;margin-top:6px}

/* ——— Status dot ——— */
.ars-status{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}
.ars-status__dot{width:6px;height:6px;border-radius:999px;flex-shrink:0;background:var(--color-lime);box-shadow:var(--glow-lime);animation:ars-pulse 2s ease-in-out infinite}
.ars-status--offline .ars-status__dot{background:var(--color-ash);box-shadow:none;animation:none}
.ars-status--error .ars-status__dot{background:var(--danger);box-shadow:0 0 6px var(--danger)}
.ars-status--processing .ars-status__dot{background:var(--color-purple-bright);box-shadow:0 0 6px var(--color-purple-bright)}
.ars-status__label{color:var(--text-primary)}
@keyframes ars-pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* ——— Botões ——— */
.ars-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.1em;border:1px solid transparent;border-radius:0;cursor:pointer;background:none;white-space:nowrap;color:var(--text-secondary);
  height:40px;padding:0 20px;font-size:var(--text-sm);transition:border-color var(--transition-standard),background var(--transition-standard),color var(--transition-standard),box-shadow var(--transition-standard)}
.ars-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}
.ars-btn--sm{height:32px;padding:0 14px;font-size:var(--text-xs)}
.ars-btn--xs{height:26px;padding:0 10px;font-size:var(--text-2xs)}
.ars-btn--lg{height:48px;padding:0 28px;font-size:13px}
.ars-btn--primary{background:var(--accent);color:var(--text-on-accent)}
.ars-btn--primary:hover:not(:disabled){box-shadow:var(--glow-purple-sm);border-color:var(--accent-bright)}
.ars-btn--secondary{border-color:var(--border-bright);color:var(--accent-bright)}
.ars-btn--secondary:hover:not(:disabled){color:var(--text-primary);border-color:var(--accent-bright);box-shadow:var(--glow-purple-sm)}
.ars-btn--ghost{color:var(--text-secondary)}
.ars-btn--ghost:hover:not(:disabled){color:var(--text-primary);border-color:var(--border)}
.ars-btn--danger{border-color:rgba(239,68,68,.4);color:var(--danger-soft)}
.ars-btn--danger:hover:not(:disabled){background:var(--surface-danger-soft);color:#fff}
.ars-btn--block{display:flex;width:100%}
.ars-btn:focus-visible,.ars-input:focus-visible,.ars-select:focus-visible{outline:none;box-shadow:var(--glow-purple-sm);border-color:var(--accent)}

/* ——— Campos ——— */
.ars-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.ars-field__label{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted)}
.ars-input,.ars-select,.ars-textarea{height:40px;padding:0 14px;background:var(--bg-elev);border:1px solid var(--border);border-radius:0;color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base-sm);width:100%;transition:border-color var(--transition-standard)}
.ars-textarea{height:auto;min-height:88px;padding:10px 14px;resize:vertical;line-height:1.5}
.ars-input--mono{font-family:var(--font-mono);font-size:13px}
.ars-input::placeholder,.ars-textarea::placeholder{color:var(--text-muted)}
.ars-input:hover:not(:disabled),.ars-select:hover:not(:disabled),.ars-textarea:hover:not(:disabled){border-color:var(--border-bright)}
.ars-input:focus,.ars-select:focus,.ars-textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--glow-purple-sm)}
.ars-input:disabled,.ars-select:disabled{opacity:.4;cursor:not-allowed}
.ars-input--error{border-color:rgba(239,68,68,.5)}
.ars-field__hint{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.05em;color:var(--text-muted)}
.ars-field__hint--error{color:var(--danger-soft)}
.ars-select-wrap{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0}
.ars-select{appearance:none;padding-right:36px;cursor:pointer}
.ars-select option{color:var(--text-primary);background:var(--bg-elev)}
.ars-select-chev{position:absolute;right:14px;bottom:15px;width:8px;height:8px;border-right:1.5px solid var(--text-muted);border-bottom:1.5px solid var(--text-muted);transform:rotate(45deg);pointer-events:none}
.ars-select--sm{height:32px;font-size:13px;padding:0 30px 0 10px}
.ars-select-wrap--sm .ars-select-chev{bottom:12px;right:11px}
.ars-check{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none;font-size:13px;color:var(--text-secondary)}
.ars-check input{appearance:none;width:16px;height:16px;margin:0;border:1px solid var(--border-bright);background:var(--bg-elev);display:grid;place-items:center;cursor:pointer;flex:none}
.ars-check input:checked{background:var(--accent);border-color:var(--accent)}
.ars-check input:checked::after{content:'';width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.ars-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none}
.ars-switch input{position:absolute;opacity:0;width:0;height:0}
.ars-switch__track{width:36px;height:20px;flex-shrink:0;background:var(--bg-elev);border:1px solid var(--border);position:relative;transition:border-color var(--transition-fast),background var(--transition-fast)}
.ars-switch__track::after{content:'';position:absolute;top:3px;left:3px;width:12px;height:12px;background:var(--color-ash);transition:left var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}
.ars-switch:hover .ars-switch__track{border-color:var(--border-bright)}
.ars-switch input:checked+.ars-switch__track{border-color:var(--border-signal);background:rgba(163,255,18,.06)}
.ars-switch input:checked+.ars-switch__track::after{left:19px;background:var(--color-lime);box-shadow:var(--glow-lime)}
.ars-switch__label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.ars-switch input:checked~.ars-switch__label{color:var(--text-primary)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-grid .col-2{grid-column:1/-1}
.form-acoes{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}

/* ——— Badges / chips ——— */
.ars-badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 10px;font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--border);border-radius:0;color:var(--text-secondary);background:var(--bg-elev);white-space:nowrap;vertical-align:middle}
.ars-badge--purple{color:var(--accent-bright);background:var(--surface-accent-soft);border-color:var(--border-bright)}
.ars-badge--lime{color:var(--signal-bright);background:var(--surface-signal-soft);border-color:var(--border-signal)}
.ars-badge--danger{color:var(--danger-soft);background:var(--surface-danger-soft);border-color:rgba(239,68,68,.3)}
.ars-badge--pos{color:var(--sent-pos);background:var(--sent-pos-soft);border-color:var(--sent-pos-border)}
.ars-badge--neg{color:var(--sent-neg);background:var(--sent-neg-soft);border-color:var(--sent-neg-border)}
.ars-badge--neu{color:var(--sent-neu);background:var(--sent-neu-soft);border-color:var(--sent-neu-border)}
.ars-badge--ghost{background:transparent;color:var(--text-muted);border-style:dashed}
.ars-badge--btn{cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}
.ars-badge--btn:hover{border-color:var(--accent-bright);color:var(--text-primary)}

/* ——— Cards ——— */
.ars-card{background:var(--bg-card);border:1px solid var(--border);border-radius:0;padding:24px;min-width:0;transition:border-color var(--transition-standard)}
.ars-card--interactive{cursor:pointer}.ars-card--interactive:hover{border-color:var(--border-bright)}
.ars-card--accent{border-left:2px solid var(--accent)}
.ars-card--signal{border-left:2px solid var(--signal)}
.ars-card--danger{border-left:2px solid var(--danger)}
.ars-card--sm{padding:16px 20px}
.ars-card__tag{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--signal);letter-spacing:var(--tracking-tag);text-transform:uppercase;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.ars-card__tag .acoes{display:flex;gap:8px}
.ars-card__title{font-family:var(--font-display);font-weight:600;font-size:var(--text-h3);letter-spacing:-.01em;margin:0 0 10px}
.ars-card__body{font-size:var(--text-base-sm);line-height:1.55;color:var(--text-secondary)}
.ars-card__body p{margin:0 0 12px}.ars-card__body p:last-child{margin-bottom:0}

/* ——— KPI ——— */
.kpi .num{font-family:var(--font-display);font-weight:700;font-size:40px;letter-spacing:var(--tracking-display);line-height:1;color:var(--text-primary)}
.kpi .num small{font-size:18px;color:var(--text-muted);font-weight:500;margin-left:4px}
.kpi .rot{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-top:10px}
.kpi--pos .num{color:var(--sent-pos)} .kpi--neg .num{color:var(--sent-neg)} .kpi--purple .num{color:var(--accent-bright)}

/* ——— Tabs (navegação interna) ——— */
.ars-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}
.ars-tabs::-webkit-scrollbar{display:none}
.ars-tab{position:relative;background:none;border:none;cursor:pointer;padding:10px 16px 12px;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);transition:color var(--transition-fast);white-space:nowrap}
.ars-tab:hover{color:var(--text-secondary)}
.ars-tab--active{color:var(--text-primary)}
.ars-tab--active::after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--accent);box-shadow:var(--glow-purple-sm)}
.ars-tab__count{color:var(--signal);margin-left:6px}

/* ——— Diálogo e toast ——— */
.ars-dialog-overlay{position:fixed;inset:0;background:rgba(10,10,15,.82);display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}
.ars-dialog{background:var(--bg-elev);border:1px solid var(--border-bright);max-width:560px;width:100%;max-height:calc(100vh - 48px);overflow:auto;position:relative}
.ars-dialog--wide{max-width:760px}
.ars-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 28px 0}
.ars-dialog__tag{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--signal);letter-spacing:var(--tracking-tag);text-transform:uppercase;margin-bottom:8px}
.ars-dialog__title{font-family:var(--font-display);font-weight:600;font-size:var(--text-h3);letter-spacing:-.01em;margin:0}
.ars-dialog__close{background:none;border:1px solid transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:14px;width:32px;height:32px;cursor:pointer;flex-shrink:0;transition:color var(--transition-fast),border-color var(--transition-fast)}
.ars-dialog__close:hover{color:var(--text-primary);border-color:var(--border)}
.ars-dialog__body{padding:16px 28px 24px;font-size:var(--text-base-sm);line-height:1.55;color:var(--text-secondary)}
.ars-dialog__footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 28px;border-top:1px solid var(--border)}
.toasts{position:fixed;bottom:24px;right:24px;z-index:200;display:flex;flex-direction:column;gap:10px}
.ars-toast{display:flex;gap:14px;align-items:flex-start;background:var(--bg-card);border:1px solid var(--border);border-left-width:2px;padding:14px 18px;max-width:420px;min-width:260px}
.ars-toast--success{border-left-color:var(--color-lime)} .ars-toast--info{border-left-color:var(--accent)} .ars-toast--error{border-left-color:var(--danger)}
.ars-toast__glyph{font-family:var(--font-mono);font-size:12px;font-weight:700;width:22px;height:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-sm)}
.ars-toast--success .ars-toast__glyph{color:var(--signal);background:var(--surface-signal-soft)}
.ars-toast--info .ars-toast__glyph{color:var(--accent-bright);background:var(--surface-accent-soft)}
.ars-toast--error .ars-toast__glyph{color:var(--danger-soft);background:var(--surface-danger-soft)}
.ars-toast__title{font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--text-primary);margin:0 0 2px}
.ars-toast__msg{font-size:13px;line-height:1.5;color:var(--text-secondary);margin:0}

/* ——— Tabela ——— */
.tabela{width:100%;border-collapse:collapse;font-size:13px}
.tabela th{text-align:left;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-weight:500;padding:10px 10px;border-bottom:1px solid var(--border);white-space:nowrap}
.tabela td{padding:10px;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text-secondary)}
.tabela td:first-child,.tabela th:first-child{padding-left:0}
.tabela td:last-child,.tabela th:last-child{padding-right:0}
.tabela tr:last-child td{border-bottom:0}
.tabela tbody tr:hover td{background:rgba(255,255,255,.015)}
.tabela .num,.tabela .mono{font-family:var(--font-mono);font-size:12px;color:var(--text-primary)}
.tabela .num{text-align:right}
.tabela .forte{color:var(--text-primary);font-weight:500}
.tabela .acoes{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap}
.tabela-rolagem{overflow-x:auto}
.st-ok{color:var(--signal)} .st-falhou{color:var(--danger-soft)} .st-parcial,.st-rodando{color:var(--accent-bright)}

/* ——— Login ——— */
.tela-login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;align-items:stretch}
.login-hero{position:relative;border-right:1px solid var(--border);background:var(--bg-base) url('../assets/logo-hero.jpg') center/cover no-repeat;min-height:320px}
.login-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,15,.1),rgba(10,10,15,.75))}
.login-hero .hero-legenda{position:absolute;left:48px;bottom:40px;z-index:1;max-width:520px}
.login-hero .hero-legenda p{font-family:var(--font-display);font-weight:500;font-size:22px;letter-spacing:.02em;color:var(--text-primary);margin:12px 0 0;line-height:1.3}
.login-hero .hero-legenda p em{font-style:normal;color:var(--text-secondary);font-weight:300}
.login-painel{display:flex;flex-direction:column;justify-content:center;padding:64px 72px;gap:28px}
.login-painel h1{font-size:var(--text-h1);letter-spacing:var(--tracking-display)}
.login-painel .sub{color:var(--text-secondary);font-size:15px;margin-top:8px;max-width:420px}
.login-form{display:flex;flex-direction:column;gap:16px;max-width:420px}
.login-alt{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}
.login-alt::before,.login-alt::after{content:'';flex:1;height:1px;background:var(--border)}
.msg{min-height:1.4em;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--text-secondary)}
.msg--erro{color:var(--danger-soft)} .msg--ok{color:var(--signal)}
.rodape-login{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);line-height:2}
@media (max-width:900px){.tela-login{grid-template-columns:1fr}.login-hero{min-height:200px;border-right:0;border-bottom:1px solid var(--border)}.login-hero .hero-legenda{left:20px;bottom:16px}.login-hero .hero-legenda p{display:none}.login-painel{padding:32px 20px 48px}}

/* ——— Casca do app ——— */
.topo{position:sticky;top:0;z-index:20;background:rgba(10,10,15,.88);border-bottom:1px solid var(--border);backdrop-filter:none}
.topo-int{max-width:1280px;margin:0 auto;padding:0 32px;display:flex;align-items:center;gap:24px;min-height:60px}
.marca{display:flex;align-items:center;gap:14px;flex:none}
.marca img{height:22px;width:auto;display:block}
.marca .produto{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary);padding-left:14px;border-left:1px solid var(--border);line-height:1}
.nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin-left:8px}
.nav::-webkit-scrollbar{display:none}
.nav a{position:relative;display:block;padding:20px 10px;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}
.nav a:hover{color:var(--text-secondary)}
.nav a.ativa{color:var(--text-primary)}
.nav a.ativa::after{content:'';position:absolute;left:10px;right:10px;bottom:-1px;height:2px;background:var(--accent);box-shadow:var(--glow-purple-sm)}
.topo-dir{margin-left:auto;display:flex;align-items:center;gap:14px;flex:none}
@media (max-width:1460px){.topo .ars-status .ars-status__label{display:none}}
@media (max-width:1240px){.marca .produto{display:none}}
.usuario{position:relative}
.usuario > button{background:none;border:1px solid transparent;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;padding:6px 10px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:border-color var(--transition-fast),color var(--transition-fast)}
.usuario > button:hover,.usuario.aberto > button{border-color:var(--border);color:var(--text-primary)}
.usuario-menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--bg-elev);border:1px solid var(--border-bright);min-width:200px;display:none;z-index:30}
.usuario.aberto .usuario-menu{display:block}
.usuario-menu a,.usuario-menu button{display:block;width:100%;text-align:left;background:none;border:0;padding:10px 14px;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary)}
.usuario-menu a:hover,.usuario-menu button:hover{color:var(--text-primary);background:var(--surface-accent-soft)}
.usuario-menu .quem{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text-muted);font-size:var(--text-2xs);text-transform:none;letter-spacing:.04em;word-break:break-all}
.contexto{background:var(--bg-elev);border-bottom:1px solid var(--border)}
.contexto .topo-int{min-height:52px;gap:16px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.contexto .ars-select-wrap{min-width:240px}
.periodos{display:flex;border:1px solid var(--border)}
.periodos{max-width:100%;overflow-x:auto;scrollbar-width:none}
.periodos::-webkit-scrollbar{display:none}
.periodos button{background:none;border:0;border-right:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;padding:0 12px;height:32px;white-space:nowrap;flex:none;transition:color var(--transition-fast),background var(--transition-fast)}
.periodos button:last-child{border-right:0}
.periodos button:hover{color:var(--text-secondary)}
.periodos button.ativa{color:var(--text-primary);background:var(--surface-accent-soft);box-shadow:inset 0 -2px 0 var(--accent)}
.intervalo{display:flex;align-items:center;gap:8px}
.intervalo input{height:32px;padding:0 10px;font-family:var(--font-mono);font-size:12px;width:140px}
.intervalo input::-webkit-calendar-picker-indicator{filter:invert(.6)}
.atualizado{margin-left:auto}
.conteudo{max-width:1280px;margin:0 auto;padding:32px 32px 80px}
.secao{margin-top:24px}
.grade{display:grid;gap:24px}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))} .g3{grid-template-columns:repeat(3,minmax(0,1fr))} .g2{grid-template-columns:repeat(2,minmax(0,1fr))} .g21{grid-template-columns:2fr 1fr} .g12{grid-template-columns:1fr 2fr}
@media (max-width:1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.g4,.g3,.g2,.g21,.g12{grid-template-columns:1fr}.topo-int{padding:0 16px}.conteudo{padding:20px 16px 60px}.marca .produto{display:none}.form-grid{grid-template-columns:1fr}
  .topo > .topo-int{flex-wrap:wrap;min-height:0;padding-top:10px;gap:0 12px}
  .nav{order:3;flex-basis:100%;margin:0 -16px;padding:0 10px;border-top:1px solid var(--border)}
  .nav a{padding:12px 10px}
  .nav a.ativa::after{bottom:0}
  .topo-dir{gap:10px}
  .usuario > button{max-width:110px}
  .contexto .ars-select-wrap{min-width:0;flex:1 1 100%}
  .atualizado{margin-left:0;flex-basis:100%}}
.vazio{color:var(--text-secondary);padding:28px;text-align:center;border:1px dashed var(--border-bright);line-height:1.6}
.vazio b{color:var(--text-primary);font-family:var(--font-display);font-size:18px;font-weight:600;display:block;margin-bottom:6px}
.carregando{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);padding:48px;text-align:center}
.carregando::before{content:'';display:inline-block;width:6px;height:6px;background:var(--accent-bright);margin-right:12px;vertical-align:middle;animation:ars-pulse 1s ease-in-out infinite}
.acoes-linha{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* ——— Gráficos ——— */
.barras{display:flex;align-items:flex-end;gap:3px;height:150px;padding-top:12px}
.barra{flex:1;background:var(--accent);min-height:2px;position:relative;opacity:.8;transition:opacity var(--transition-fast)}
.barra:hover{opacity:1;box-shadow:var(--glow-purple-sm)}
.barra.hoje{background:var(--signal);opacity:.9}
.barra .dica{display:none;position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:var(--bg-base);border:1px solid var(--border-bright);color:var(--text-primary);font-family:var(--font-mono);font-size:10px;padding:3px 7px;white-space:nowrap;margin-bottom:6px;z-index:2}
.barra:hover .dica{display:block}
.eixo{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;color:var(--text-muted);margin-top:8px}
.linha-h{display:grid;grid-template-columns:minmax(0,150px) 1fr auto;gap:12px;align-items:center;margin:9px 0;font-size:13px}
.linha-h .nome{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}
.linha-h .trilho{background:var(--bg-elev);height:8px;overflow:hidden}
.linha-h .enche{background:var(--accent);height:100%}
.linha-h .enche.pos{background:var(--signal)} .linha-h .enche.neg{background:var(--danger)} .linha-h .enche.neu{background:var(--color-ash)}
.linha-h .val{text-align:right;font-family:var(--font-mono);font-size:12px;color:var(--text-primary);white-space:nowrap;min-width:48px}
.sentbar{display:flex;height:10px;overflow:hidden;background:var(--bg-elev)}
.sentbar span{display:block;height:100%}
.legenda{display:flex;gap:16px;flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-top:12px}
.legenda i{display:inline-block;width:8px;height:8px;margin-right:6px;vertical-align:1px}

/* ——— Matéria ——— */
.materia{display:grid;grid-template-columns:1fr auto;gap:6px 16px;padding:16px 0;border-bottom:1px solid var(--border)}
.materia:last-child{border-bottom:0}
.materia.ignorada{opacity:.45}
.materia .tit{font-family:var(--font-display);font-weight:600;font-size:16px;line-height:1.3;color:var(--text-primary);letter-spacing:-.005em}
.materia .tit:hover{color:var(--accent-bright)}
.materia .lado{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.materia .meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;grid-column:1/-1}
.materia .meta .fonte{color:var(--text-primary);font-weight:500;letter-spacing:.02em}
.materia .resumo{grid-column:1/-1;color:var(--text-secondary);font-size:13px;line-height:1.5}
.materia .acoes{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:2px}
.materia .acoes .sep{width:1px;height:14px;background:var(--border)}
.trechos{grid-column:1/-1;border-left:2px solid var(--accent);padding-left:12px;font-size:13px;color:var(--text-secondary)}
.trechos div{margin:4px 0}
.trechos a{font-family:var(--font-mono);font-size:11px;margin-right:6px;white-space:nowrap}
.materia .capa{grid-column:1/-1;display:block;width:120px;border:1px solid var(--border)}
.materia .capa img{display:block;width:100%;height:auto}
@media print{.materia .capa{width:90px}}
.trechos .player{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.trechos .player:empty{display:none}
.trechos audio{height:32px;max-width:360px;filter:invert(1) hue-rotate(180deg) opacity(.85)}
.texto-completo{grid-column:1/-1;white-space:pre-wrap;font-size:13px;line-height:1.6;color:var(--text-secondary);background:var(--bg-elev);padding:16px;border:1px solid var(--border);max-height:420px;overflow:auto}
.filtros{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px;align-items:flex-end}
.filtros .ars-field,.filtros .ars-select-wrap{flex:1;min-width:160px}
.filtros .ars-field.busca{flex:2;min-width:240px}
.paginacao{display:flex;justify-content:center;gap:10px;padding:20px 0 0}

/* ——— Case ——— */
.case-topo{position:relative;overflow:hidden;background:var(--bg-card) url('../assets/bg-pcb.jpg') right center/cover no-repeat;border:1px solid var(--border);padding:40px}
.case-topo::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,26,34,.97) 45%,rgba(26,26,34,.6))}
.case-topo > *{position:relative}
.case-topo h2{font-size:34px;letter-spacing:var(--tracking-display);max-width:760px;margin:14px 0 12px}
.case-topo h2 em{font-style:normal;color:var(--accent-bright)}
.case-topo p{color:var(--text-secondary);max-width:760px;font-size:15px;line-height:1.65}
.case-num{display:flex;gap:40px;flex-wrap:wrap;margin-top:28px}
.case-num div b{display:block;font-family:var(--font-display);font-size:34px;font-weight:700;letter-spacing:var(--tracking-display);line-height:1;color:var(--text-primary)}
.case-num div span{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);display:block;margin-top:8px}
.lista-passos{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.lista-passos li{display:grid;grid-template-columns:40px 1fr;gap:12px;color:var(--text-secondary);line-height:1.55}
.lista-passos li b{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--signal);letter-spacing:.12em;padding-top:3px}

/* ——— Cadastros ——— */
.cad-topo{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.lista-chips{display:flex;gap:8px;flex-wrap:wrap}
.chip-rem{cursor:pointer;margin-left:4px;color:var(--text-muted)} .chip-rem:hover{color:var(--danger-soft)}

/* ——— Relatório: na tela é um documento escuro; impresso vira a variação formal clara da marca ——— */
.rel-acoes{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:20px}
.relatorio{background:var(--bg-card);border:1px solid var(--border);padding:48px;max-width:960px;margin:0 auto;color:var(--text-secondary)}
.relatorio .capa{border-bottom:1px solid var(--border);padding-bottom:28px;margin-bottom:32px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end}
.relatorio .capa img{height:28px;width:auto}
.relatorio .capa h1{font-size:34px;letter-spacing:var(--tracking-display);margin:14px 0 6px}
.relatorio .capa .periodo{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}
.relatorio h2{font-size:var(--text-h3);margin:36px 0 14px;display:flex;align-items:center;gap:12px}
.relatorio h2::before{content:'';width:20px;height:2px;background:var(--accent)}
.relatorio h3{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--signal);margin:24px 0 8px;font-weight:500}
.relatorio .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.relatorio .kpis div{border:1px solid var(--border);padding:16px}
.relatorio .kpis b{display:block;font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:var(--tracking-display);color:var(--text-primary);line-height:1}
.relatorio .kpis span{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);display:block;margin-top:8px}
.relatorio .resumo-exec{font-size:15px;line-height:1.7;color:var(--text-secondary);border-left:2px solid var(--accent);padding-left:16px}
.relatorio .mat{padding:12px 0;border-bottom:1px solid var(--border);break-inside:avoid}
.relatorio .mat .t{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--text-primary);line-height:1.3}
.relatorio .mat .m{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.06em;color:var(--text-muted);margin:4px 0;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.relatorio .mat .r{font-size:13px;line-height:1.5;color:var(--text-secondary)}
.relatorio .mat .u{font-family:var(--font-mono);font-size:10px;color:var(--accent-bright);word-break:break-all}
.relatorio .rodape{margin-top:40px;padding-top:16px;border-top:1px solid var(--border);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.relatorio svg text{font-family:var(--font-mono)}
@media (max-width:760px){.relatorio{padding:24px}.relatorio .kpis{grid-template-columns:repeat(2,1fr)}.relatorio .capa{grid-template-columns:1fr}}

@media print{
  /* margem zero na página e a margem do documento vem do padding: assim a largura de layout e a de pintura coincidem em qualquer motor */
  @page{margin:0}
  html,body{background:#fff!important;color:#0A0A0F!important;font-size:11pt;color-scheme:light}
  body{background-image:none!important}
  .topo,.contexto,.rel-acoes,.toasts,.ars-dialog-overlay,.nao-imprimir{display:none!important}
  .conteudo{padding:0;max-width:none}
  .relatorio{border:0;padding:14mm 12mm;max-width:none;margin:0;background:#fff;color:#2a2a33;overflow:hidden;
    --text-primary:#0A0A0F;--text-secondary:#2a2a33;--text-muted:#5C5C68;--border:#d9d9e0;--accent:#7C3AED;--accent-bright:#4C1D95;--signal:#4a7a00;--bg-card:#fff;--bg-elev:#f3f3f6;
    --sent-pos:#3f7a00;--sent-neg:#b91c1c;--sent-neu:#5C5C68;--sent-pos-soft:#eef7df;--sent-neg-soft:#fde8e8;--sent-neu-soft:#eeeef1;--sent-pos-border:#b9d98a;--sent-neg-border:#f1b5b5;--sent-neu-border:#cfcfd6}
  .relatorio .kpis div{border-color:#d9d9e0}
  .relatorio .capa img{filter:none}
  .relatorio a{color:#4C1D95}
  .ars-badge{border-color:#cfcfd6;background:#f3f3f6;color:#2a2a33}
  .ars-badge--pos{color:#3f7a00;background:#eef7df;border-color:#b9d98a}.ars-badge--neg{color:#b91c1c;background:#fde8e8;border-color:#f1b5b5}.ars-badge--neu{color:#5C5C68;background:#eeeef1;border-color:#cfcfd6}
  .ars-badge--purple{color:#4C1D95;background:#efe9fb;border-color:#c9b8f3}.ars-badge--danger{color:#b91c1c;background:#fde8e8;border-color:#f1b5b5}
  .relatorio h2{break-after:avoid}
  .quebra{break-before:page}
}

/* Coleta: quadro de saúde dos robôs (batimentos) e avisos de operação */
.robos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.robo{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--border);background:var(--bg-elev)}
.robo b{display:block;font-family:var(--font-display);font-weight:600;font-size:var(--text-base-sm);color:var(--text-primary)}
.robo .meta{display:block;margin-top:4px;line-height:1.4}
.robo__dot{width:8px;height:8px;border-radius:999px;flex-shrink:0;margin-top:6px;background:var(--color-lime);box-shadow:var(--glow-lime)}
.robo--parado{border-color:var(--danger)} .robo--parado .robo__dot{background:var(--danger);box-shadow:0 0 6px var(--danger)}
.robo--nunca{border-style:dashed} .robo--nunca .robo__dot{background:var(--color-ash);box-shadow:none}
.ars-card--alerta{border-color:var(--danger)}
.avisos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.aviso{display:grid;grid-template-columns:150px 1fr;gap:4px 12px;font-size:var(--text-sm);line-height:1.45}
.aviso .meta:last-child{grid-column:2}
.aviso--robo_parado>span:nth-child(2),.aviso--backup_falhou>span:nth-child(2){color:var(--danger-soft)}
@media (max-width:760px){.aviso{grid-template-columns:1fr}.aviso .meta:last-child{grid-column:1}}
