  :root {
    /* Brand kit Grupo Vilarouca: navy #074866 (Pantone 2210 C) + laranja #E05E3B (Pantone 7579 C) + creme #F0E6D6 (Pantone 7527 C) */
    --primary: #074866;
    --primary-dark: #053447;
    --primary-light: #0A5F84;
    --accent: #E05E3B;
    --accent-dark: #C04A2A;
    --accent-light: #FBE7DE;
    --cream: #F0E6D6;
    --success: #057a55;
    --success-bg: #def7ec;
    --danger: #c81e1e;
    --danger-bg: #fde8e8;
    --warning: #9f580a;
    --warning-bg: #feecdc;
    --info: #074866;
    --info-bg: #E1EAEE;
    --gray-50: #f9fafb;
    --gray-100: #f3f4f6;
    --gray-200: #e5e7eb;
    --gray-300: #d1d5db;
    --gray-400: #9ca3af;
    --gray-500: #6b7280;
    --gray-600: #4b5563;
    --gray-700: #374151;
    --gray-800: #1f2937;
    --gray-900: #111827;
    --sidebar-w: 250px;
    --radius: 8px;
    --radius-lg: 14px;
    --bg: #f4f5f7;                       /* fundo do sistema (ressalva do projeto) */
    --display: "Montserrat", system-ui, sans-serif; /* títulos/números — brand-kit: família única Montserrat */
    --shadow: 0 1px 2px rgba(7,72,102,.06);
    --shadow-md: 0 14px 32px -22px rgba(7,72,102,.30);
  }
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  body { font-family: 'Montserrat', 'Segoe UI', system-ui, sans-serif; font-weight: 400; background: var(--bg); color: var(--gray-800); min-height: 100vh; }

  .hidden { display: none !important; }
  .flex { display: flex; }
  .items-center { align-items: center; }
  .gap-2 { gap: 8px; }
  .gap-3 { gap: 12px; }
  .gap-4 { gap: 16px; }
  .mt-1 { margin-top: 4px; }
  .mt-2 { margin-top: 8px; }
  .mt-3 { margin-top: 12px; }
  .mt-4 { margin-top: 16px; }
  .mb-2 { margin-bottom: 8px; }
  .text-sm { font-size: 13px; }
  .text-xs { font-size: 11px; }
  .text-lg { font-size: 18px; }
  .text-xl { font-size: 22px; }
  .font-bold { font-weight: 700; }
  .font-semibold { font-weight: 600; }
  .text-gray { color: var(--gray-500); }
  .text-right { text-align: right; }
  .w-full { width: 100%; }
  .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
  .grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }

  .badge { display: inline-flex; align-items: center; gap: 4px; padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 500; }
  .badge-pending  { background: var(--warning-bg); color: var(--warning); }
  .badge-ai       { background: #ede9fe; color: #6d28d9; }
  .badge-analysis { background: var(--info-bg); color: var(--info); }
  .badge-ok       { background: var(--success-bg); color: var(--success); }
  .badge-invalid  { background: var(--danger-bg); color: var(--danger); }
  .badge-draft    { background: var(--gray-100); color: var(--gray-600); }
  .badge-reopen   { background: #fff7ed; color: #c2410c; }
  /* status com indicador (dot) — padrão frontend-gv */
  .badge-pending::before, .badge-ai::before, .badge-analysis::before,
  .badge-ok::before, .badge-invalid::before, .badge-draft::before, .badge-reopen::before {
    content:""; width:6px; height:6px; border-radius:50%; background:currentColor; flex:none;
  }

  .btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: var(--radius); font-size: 14px; font-weight: 600; border: none; cursor: pointer; transition: filter .15s; }
  .btn:hover { filter: brightness(.93); }
  .btn-primary  { background: var(--primary); color: #fff; }
  .btn-accent   { background: var(--accent); color: #fff; }
  .btn-success  { background: var(--success); color: #fff; }
  .btn-danger   { background: var(--danger); color: #fff; }
  .btn-ghost    { background: transparent; color: var(--gray-700); border: 1px solid var(--gray-300); }
  .btn-sm       { padding: 5px 12px; font-size: 13px; }
  .btn-lg       { padding: 12px 24px; font-size: 16px; }

  .form-group { display: flex; flex-direction: column; gap: 4px; }
  label { font-size: 13px; font-weight: 600; color: var(--gray-700); }
  input[type=text], input[type=password], input[type=number], input[type=date], select, textarea {
    width: 100%; padding: 8px 12px; border: 1px solid var(--gray-300); border-radius: var(--radius);
    font-size: 14px; color: var(--gray-800); background: #fff; transition: border-color .15s; font-family: inherit;
  }
  input:focus, select:focus, textarea:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(7,72,102,.15); }
  .field-hint { font-size: 12px; color: var(--gray-500); }
  textarea { resize: vertical; min-height: 80px; }

  .card { background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); border: 1px solid rgba(7,72,102,.10); padding: 20px; }
  .card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
  .card-title { font-family: var(--display); font-size: 17px; font-weight: 600; color: var(--primary); }

  /* ===== LOGIN (redesign 2026 — painel navy + form em card flutuante) ===== */
  #page-login{ min-height:100dvh; background:#e9edf1; display:grid; place-items:center; padding:clamp(14px,3vw,40px); }
  #page-login .lgx-card{ width:100%; max-width:1000px; min-height:min(88dvh,652px); display:grid; grid-template-columns:1fr 1fr; align-items:stretch; background:#fff; border-radius:22px; overflow:hidden; box-shadow:0 46px 100px -50px rgba(7,72,102,.45), 0 10px 26px -18px rgba(7,72,102,.22); }
  /* showcase navy (esquerda) */
  #page-login .lgx-show{ position:relative; overflow:hidden; color:#dfe9ef; background:linear-gradient(150deg,var(--primary-light) -10%,var(--primary) 40%,#052f42 100%); display:flex; flex-direction:column; justify-content:space-between; padding:clamp(34px,3.4vw,54px); animation:rise .5s both; }
  /* Foto (mãos conferindo dinheiro) integrada à metade direita do painel navy.
     ::before = foto com a borda esquerda esfumada (mask) p/ fundir sem costura;
     ::after = degradê navy p/ manter o texto legível; conteúdo fica acima (z-index). */
  #page-login .lgx-show::before{ content:""; position:absolute; inset:0 0 0 auto; width:56%; z-index:0; background:url(../img/login-hero.jpg) 42% center / cover no-repeat; -webkit-mask-image:linear-gradient(to right, transparent 0%, transparent 6%, #000 46%); mask-image:linear-gradient(to right, transparent 0%, transparent 6%, #000 46%); }
  #page-login .lgx-show::after{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(100deg, #063a54 0%, #063a54 32%, rgba(6,42,66,.62) 50%, rgba(6,42,66,.16) 78%, rgba(6,42,66,0) 100%); }
  #page-login .lgx-show > *{ position:relative; z-index:2; }
  #page-login .lgx-geo{ display:none; }
  #page-login .lgx-geo{ position:absolute; top:-70px; right:-70px; width:360px; height:360px; opacity:.5; pointer-events:none; }
  #page-login .lgx-geo rect{ fill:none; stroke:#fff; stroke-opacity:.10; stroke-width:1.4; }
  #page-login .lgx-dots{ position:absolute; left:34px; bottom:34px; opacity:.5; pointer-events:none; }
  #page-login .lgx-dots circle{ fill:#fff; fill-opacity:.14; }
  #page-login .lgx-logo{ position:relative; display:flex; align-items:center; gap:13px; }
  #page-login .lgx-shield{ width:38px; height:38px; flex:none; }
  #page-login .lgx-symimg{ width:54px; height:54px; flex:none; object-fit:contain; display:block; }
  #page-login .lgx-wm{ font-family:var(--display); font-weight:700; font-size:18px; color:#fff; line-height:1.05; }
  #page-login .lgx-wm small{ display:block; font-weight:500; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.55); margin-top:3px; }
  #page-login .lgx-lead{ position:relative; max-width:380px; }
  #page-login .lgx-lead h2{ font-family:var(--display); font-size:clamp(24px,2.7vw,34px); font-weight:800; line-height:1.16; letter-spacing:-.01em; color:#fff; margin:0 0 20px; text-wrap:balance; }
  #page-login .lgx-lead .ac{ color:var(--accent); }
  #page-login .lgx-tick{ width:52px; height:4px; border-radius:3px; background:var(--accent); display:block; }
  #page-login .lgx-feats{ position:relative; display:flex; flex-direction:column; max-width:430px; }
  #page-login .lgx-feat{ display:flex; gap:15px; align-items:flex-start; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.11); }
  #page-login .lgx-feat:first-child{ border-top:1px solid rgba(255,255,255,.11); }
  #page-login .lgx-feat .fic{ width:42px; height:42px; flex:none; border-radius:11px; display:grid; place-items:center; background:rgba(255,255,255,.07); color:#fff; }
  #page-login .lgx-feat b{ display:block; font-weight:600; font-size:15px; color:#fff; margin-bottom:3px; }
  #page-login .lgx-feat p{ margin:0; font-size:12.5px; color:rgba(223,233,239,.7); line-height:1.45; max-width:34ch; }
  #page-login .lgx-credit{ position:relative; font-size:12px; color:rgba(255,255,255,.62); }
  #page-login .lgx-credit .gv{ color:var(--accent); font-weight:700; letter-spacing:.01em; }
  /* form (direita, branco) */
  #page-login .lgx-form-side{ display:flex; flex-direction:column; justify-content:center; align-items:center; background:#fff; padding:clamp(28px,3.4vw,52px); }
  #page-login .lgx-form{ width:100%; max-width:392px; animation:rise .5s .08s both; }
  #page-login .lgx-flogo{ display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:30px; }
  #page-login .lgx-flogo .lgx-shield{ width:34px; height:34px; }
  #page-login .lgx-flogo .lgx-wm{ color:var(--primary); font-size:17px; }
  #page-login .lgx-flogo .lgx-wm small{ color:var(--gray-400); }
  #page-login .lgx-welcome{ text-align:center; margin-bottom:28px; }
  #page-login .lgx-welcome h1{ font-family:var(--display); font-size:25px; font-weight:700; letter-spacing:-.01em; margin:0 0 7px; color:var(--primary); }
  #page-login .lgx-welcome p{ margin:0; color:var(--gray-500); font-size:14px; }
  #page-login .lgx-field{ margin-bottom:16px; }
  #page-login .lgx-field > label{ display:block; font-size:10.5px; font-weight:600; letter-spacing:.11em; text-transform:uppercase; color:var(--gray-500); margin:0 0 7px; }
  #page-login .lgx-ctl{ position:relative; display:flex; align-items:center; }
  #page-login .lgx-ctl .ic{ position:absolute; left:14px; color:var(--gray-400); display:grid; place-items:center; pointer-events:none; }
  #page-login .lgx-ctl input{ width:100%; height:50px; border:1.5px solid var(--gray-300); border-radius:12px; background:#fff; padding:0 44px; font:inherit; font-size:15px; color:var(--gray-800); transition:border-color .15s, box-shadow .15s; }
  #page-login .lgx-ctl input::placeholder{ color:var(--gray-400); }
  #page-login .lgx-ctl input:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 4px var(--accent-light); }
  #page-login .lgx-eye{ position:absolute; right:8px; width:36px; height:36px; border:0; background:none; color:var(--gray-400); border-radius:9px; cursor:pointer; display:grid; place-items:center; }
  #page-login .lgx-eye:hover{ color:var(--primary); background:#f4f6f8; }
  #page-login .lgx-opts{ display:flex; align-items:center; justify-content:space-between; margin:4px 0 22px; font-size:13px; }
  #page-login .lgx-opts label{ display:flex; align-items:center; gap:8px; color:var(--gray-600); cursor:pointer; user-select:none; font-weight:400; }
  #page-login .lgx-opts input{ width:16px; height:16px; accent-color:var(--accent); }
  #page-login .lgx-opts a{ color:var(--accent); font-weight:600; text-decoration:none; }
  #page-login .lgx-opts a:hover{ text-decoration:underline; }
  #page-login .lgx-cta{ width:100%; height:52px; border:0; border-radius:12px; cursor:pointer; background:var(--accent); color:#fff; font:inherit; font-weight:600; font-size:15px; display:flex; align-items:center; justify-content:center; gap:9px; box-shadow:0 14px 26px -14px rgba(224,94,59,.75); transition:transform .12s, box-shadow .2s, background .15s; }
  #page-login .lgx-cta:hover{ background:var(--accent-dark); transform:translateY(-1px); }
  #page-login .lgx-cta:active{ transform:translateY(0); }
  #page-login .lgx-cta svg{ transition:transform .18s; }
  #page-login .lgx-cta:hover svg{ transform:translateX(3px); }
  #page-login .lgx-divider{ display:flex; align-items:center; gap:14px; margin:26px 0 14px; font-size:10.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--gray-400); }
  #page-login .lgx-divider::before, #page-login .lgx-divider::after{ content:""; height:1px; flex:1; background:var(--gray-200); }
  #page-login .lgx-secure{ display:flex; align-items:center; justify-content:center; gap:7px; font-size:12.5px; color:var(--gray-500); font-weight:500; }
  #page-login .lgx-secure svg{ color:var(--success); }
  #page-login .lgx-error{ margin:14px 0 0; text-align:center; font-size:13px; font-weight:600; color:var(--danger); }
  #page-login .lgx-foot{ text-align:center; margin-top:26px; font-size:12.5px; color:var(--gray-400); }
  @media (max-width:860px){ #page-login .lgx-card{ grid-template-columns:1fr; max-width:440px; min-height:auto; } #page-login .lgx-show{ display:none; } }

  /* ── DEMO PANEL ── */
  .demo-panel { width: 380px; flex-shrink: 0; }
  .demo-panel-title { font-size: 13px; font-weight: 700; color: rgba(255,255,255,.5); letter-spacing: .08em; text-transform: uppercase; margin-bottom: 14px; }
  .demo-card {
    background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.15);
    border-radius: 12px; padding: 18px 20px; display: flex; align-items: center; gap: 16px;
    cursor: pointer; transition: background .2s, transform .15s; margin-bottom: 12px;
    color: #fff;
  }
  .demo-card:hover { background: rgba(255,255,255,.18); transform: translateY(-2px); }
  .demo-card:last-child { margin-bottom: 0; }
  .demo-card-icon { width: 44px; height: 44px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 22px; }
  .demo-card-body .demo-card-title { font-size: 15px; font-weight: 700; }
  .demo-card-body .demo-card-desc  { font-size: 12px; color: rgba(255,255,255,.65); margin-top: 2px; }
  .demo-card-body .demo-card-creds { font-size: 11px; color: rgba(255,255,255,.45); margin-top: 4px; font-family: monospace; }
  .demo-badge { margin-left: auto; background: rgba(255,255,255,.2); border-radius: 999px; padding: 3px 10px; font-size: 11px; font-weight: 700; flex-shrink: 0; }

  /* ── GUIDED TOUR ── */
  #tour-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.55); z-index: 500; pointer-events: all; }
  #tour-spotlight {
    position: fixed; z-index: 501; border-radius: 10px;
    
    box-shadow: 0 0 0 4px #fff, 0 0 0 8px rgba(224,94,59,.7), 0 0 0 9999px rgba(0,0,0,.55);
    transition: all .35s cubic-bezier(.4,0,.2,1);
    pointer-events: none;
  }
  #tour-tooltip {
    position: fixed; z-index: 502; background: #fff; border-radius: 12px;
    padding: 20px 22px; width: 320px; box-shadow: 0 20px 60px rgba(0,0,0,.25);
    transition: all .3s ease;
  }
  .tour-step-label { font-size: 11px; font-weight: 700; color: var(-2-primary); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 6px; }
  .tour-title { font-size: 16px; font-weight: 700; color: var(--gray-800); margin-bottom: 6px; }
  .tour-text  { font-size: 13px; color: var(--gray-600); line-height: 1.6; }
  .tour-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 16px; }
  .tour-dots  { display: flex; gap: 5px; }
  .tour-dot   { width: 7px; height: 7px; border-radius: 50%; background: var(--gray-200); transition: background .2s; }
  .tour-dot.active { background: var(--primary); }
  .tour-nav   { display: flex; gap: 8px; }
  .tour-btn   { padding: 6px 14px; border-radius: 6px; font-size: 13px; font-weight: 600; border: none; cursor: pointer; }
  .tour-btn-skip  { background: var(--gray-100); color: var(--gray-500); }
  .tour-btn-prev  { background: var(--gray-100); color: var(--gray-700); }
  .tour-btn-next  { background: var(--primary); color: #fff; }
  .tour-btn:hover { filter: brightness(.93); }
  #tour-role-badge { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 999px; font-size: 11px; font-weight: 700; margin-bottom: 10px; }

  #page-app { display: flex; min-height: 100vh; }

  .sidebar { width: var(--sidebar-w); background: linear-gradient(185deg, var(--primary-light) -30%, var(--primary) 45%, var(--primary-dark) 130%); color: #fff; display: flex; flex-direction: column; flex-shrink: 0; position: fixed; top: 0; left: 0; height: 100vh; z-index: 100; overflow-y: auto; }
  .sidebar-brand { padding: 24px 20px 18px; border-bottom: 1px solid rgba(255,255,255,.10); display: flex; flex-direction: column; align-items: center; gap: 8px; }
  .sidebar-brand svg { width: 186px; height: auto; }
  .sidebar-brand .brand-role { font-size: 9.5px; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.5); text-align: center; font-weight: 600; }
  .sidebar-nav { padding: 14px 12px; flex: 1; display: flex; flex-direction: column; gap: 2px; }
  .nav-item { display: flex; align-items: center; gap: 12px; padding: 10px 13px; border-radius: 10px; cursor: pointer; font-size: 13.5px; font-weight: 500; color: rgba(255,255,255,.72); transition: background .15s, color .15s; position: relative; }
  .nav-item svg { width: 18px; height: 18px; flex: none; opacity: .9; }
  .nav-item:hover { background: rgba(255,255,255,.06); color: #fff; }
  .nav-item.active { background: rgba(255,255,255,.10); color: #fff; font-weight: 600; }
  .nav-item.active::before { content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; border-radius: 0 3px 3px 0; background: var(--accent); }
  .sidebar-footer { padding: 12px; border-top: 1px solid rgba(255,255,255,.10); }
  .sidebar-user { display: flex; align-items: center; gap: 11px; padding: 6px 8px 10px; }
  .avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--accent); display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; color: #fff; flex-shrink: 0; }
  .sidebar-user .user-name  { font-size: 13px; font-weight: 600; color: #fff; }
  .sidebar-user .user-email { font-size: 11px; color: rgba(255,255,255,.55); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 150px; }
  #btn-logout { width: 100%; background: rgba(255,255,255,.07); color: rgba(255,255,255,.82); border: none; padding: 10px; border-radius: 9px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 7px; transition: background .15s, color .15s; }
  #btn-logout:hover { background: rgba(224,94,59,.9); color: #fff; }

  .main { margin-left: var(--sidebar-w); flex: 1; display: flex; flex-direction: column; min-height: 100vh; }
  .topbar { background: #fff; border-bottom: 1px solid var(--gray-200); padding: 15px 30px; display: flex; align-items: center; gap: 14px; position: sticky; top: 0; z-index: 50; }
  .topbar h2 { font-family: var(--display); font-size: 20px; font-weight: 700; color: var(--primary); letter-spacing: -.01em; line-height: 1.15; }
  .content { padding: 24px 30px 40px; flex: 1; }

  .stat-card { background: #fff; border-radius: var(--radius-lg); padding: 20px; box-shadow: var(--shadow-md); border: 1px solid rgba(7,72,102,.10); display: flex; flex-direction: column; gap: 6px; }
  .stat-card .stat-label { font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--gray-500); font-weight: 600; }
  .stat-card .stat-value { font-family: var(--display); font-size: 28px; font-weight: 700; color: var(--primary); font-variant-numeric: tabular-nums; }
  .stat-card .stat-sub   { font-size: 12px; color: var(--gray-400); }
  .stat-card .stat-icon  { width: 40px; height: 40px; border-radius: 8px; display: flex; align-items: center; justify-content: center; margin-bottom: 4px; }

  .table-wrap { overflow-x: auto; }
  table { width: 100%; border-collapse: collapse; font-size: 14px; }
  th { text-align: left; font-size: 10.5px; font-weight: 600; color: var(--gray-500); text-transform: uppercase; letter-spacing: .09em; padding: 11px 14px; border-bottom: 1px solid var(--gray-200); background: #fafbfc; }
  td { padding: 12px 14px; border-bottom: 1px solid var(--gray-100); vertical-align: middle; }
  tr:last-child td { border-bottom: none; }
  tbody tr:hover { background: var(--gray-50); }
  .clickable-row { cursor: pointer; }

  .filters { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
  .filters input, .filters select { padding: 7px 12px; font-size: 13px; width: auto; flex: 1; min-width: 140px; }
  /* Combobox de loja (busca com autocomplete) */
  .combo-drop { position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 200; background: #fff; border: 1px solid var(--gray-200); border-radius: 8px; box-shadow: var(--shadow-md); max-height: 300px; overflow-y: auto; padding: 4px; }
  .combo-opt { padding: 8px 10px; border-radius: 6px; cursor: pointer; font-size: 13px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
  .combo-opt:hover, .combo-opt.active { background: var(--gray-100); }
  .combo-opt.all { color: var(--primary); font-weight: 600; }
  .combo-opt .cod { font-family: ui-monospace, monospace; font-size: 11px; color: var(--gray-500); white-space: nowrap; }

  .section-title { font-family: var(--display); font-size: 15px; font-weight: 600; color: var(--primary); padding-bottom: 8px; border-bottom: 1px solid var(--gray-200); margin-bottom: 16px; display: flex; align-items: center; gap: 8px; }

  /* ===== Topbar (título + subtítulo + ações) ===== */
  .topbar-head { margin-right: auto; min-width: 0; }
  .topbar-sub { font-size: 12.5px; color: var(--gray-500); font-weight: 400; margin-top: 2px; }
  .topbar-actions { display: flex; align-items: center; gap: 10px; }
  .tb-chip { display: inline-flex; align-items: center; gap: 8px; background: var(--bg); border: 1px solid var(--gray-200); border-radius: 10px; padding: 8px 13px; font-size: 12.5px; font-weight: 600; color: var(--primary); white-space: nowrap; }
  .tb-chip svg { color: var(--gray-400); }
  .tb-chip span::first-letter { text-transform: uppercase; }
  .tb-bell { width: 38px; height: 38px; border-radius: 10px; background: var(--bg); border: 1px solid var(--gray-200); color: var(--gray-500); cursor: pointer; display: grid; place-items: center; transition: .15s; position: relative; }
  .tb-bell:hover { color: var(--primary); border-color: var(--gray-300); }
  .tb-bell::after { content: ""; position: absolute; top: 9px; right: 10px; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); border: 2px solid var(--bg); }

  /* ===== Dashboard — KPI cards ricos ===== */
  .adash-kpis { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-bottom: 20px; }
  .kpi { background:#fff; border:1px solid rgba(7,72,102,.10); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); padding: 18px 20px; animation: rise .5s both; }
  .kpi:nth-child(2){animation-delay:.06s} .kpi:nth-child(3){animation-delay:.12s} .kpi:nth-child(4){animation-delay:.18s}
  .kpi-top { display:flex; align-items:center; gap:10px; margin-bottom: 14px; }
  .kpi-ico { width:38px; height:38px; border-radius:11px; display:grid; place-items:center; flex-shrink:0; }
  .kpi-lab { font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--gray-500); font-weight:600; }
  .kpi-val { font-family:var(--display); font-size:26px; font-weight:700; color:var(--primary); font-variant-numeric:tabular-nums; line-height:1; }
  .kpi-sub { font-size:12px; color:var(--gray-400); margin-top:8px; }
  /* KPI card âncora (azul cheio) — padrão frontend-gv */
  .kpi.anchor { background:linear-gradient(155deg,var(--primary-light),var(--primary)); border:0; color:#fff; }
  .kpi.anchor .kpi-lab { color:rgba(255,255,255,.72); }
  .kpi.anchor .kpi-val { color:#fff; }
  .kpi.anchor .kpi-ico { background:rgba(255,255,255,.14); color:#fff; }
  .kpi.anchor .kpi-sub { color:rgba(255,255,255,.72); }
  /* barras "Status do dia" */
  .sbar { padding:10px 0; } .sbar + .sbar { border-top:1px solid var(--gray-100); }
  .sbar .l { display:flex; align-items:center; justify-content:space-between; font-size:12.5px; margin-bottom:7px; }
  .sbar .l b { font-weight:600; color:var(--gray-700); } .sbar .l span { color:var(--gray-400); font-variant-numeric:tabular-nums; }
  .sbar .track { height:8px; border-radius:999px; background:var(--gray-100); overflow:hidden; }
  .sbar .fill { height:100%; border-radius:999px; }

  /* ===== Volume por loja (lista) ===== */
  .vol-row { display:flex; align-items:center; gap:12px; padding:12px 0; border-top:1px solid var(--gray-100); }
  .vol-row:first-child { border-top:0; }
  .vol-ico { width:34px; height:34px; border-radius:9px; background:var(--info-bg); color:var(--primary); display:grid; place-items:center; flex-shrink:0; }
  .vol-meta { flex:1; min-width:0; }
  .vol-meta b { font-size:13.5px; font-weight:500; color:var(--gray-800); display:block; }
  .vol-meta small { font-size:11.5px; color:var(--gray-400); }
  .vol-val { font-weight:600; font-variant-numeric:tabular-nums; color:var(--gray-800); }

  /* ===== Mini-stats (Conferência) ===== */
  .mini3 { display:flex; gap:12px; }
  .mini3 > div { flex:1; text-align:center; border-radius:11px; padding:14px 8px; }
  .mini3 .n { font-family:var(--display); font-size:22px; font-weight:700; line-height:1; }
  .mini3 .t { font-size:11px; margin-top:5px; }
  .mini3 .s { font-size:10px; color:var(--gray-400); margin-top:2px; }

  .upload-area { border: 2px dashed var(--gray-300); border-radius: var(--radius); padding: 20px; text-align: center; cursor: pointer; transition: border-color .15s, background .15s; background: var(--gray-50); }
  .upload-area:hover { border-color: var(--primary); background: #eff6ff; }
  .upload-area.drag-over { border-color: var(--primary); background: #dbeafe; }
  .upload-area input[type=file] { display: none; }
  .upload-area p { font-size: 13px; color: var(--gray-500); margin-top: 4px; }
  .file-list { margin-top: 8px; display: flex; flex-direction: column; gap: 4px; }
  .file-item { display: flex; align-items: center; justify-content: space-between; background: var(--gray-100); border-radius: 6px; padding: 6px 10px; font-size: 13px; }
  .file-item .file-remove { color: var(--danger); cursor: pointer; background: none; border: none; font-size: 16px; line-height: 1; padding: 0 2px; }

  .row-list { display: flex; flex-direction: column; gap: 8px; }
  .row-entry { background: var(--gray-50); border: 1px solid var(--gray-200); border-radius: var(--radius); padding: 12px; }
  .row-entry .row-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .row-entry .row-remove { color: var(--danger); cursor: pointer; background: none; border: none; font-size: 13px; font-weight: 600; padding: 0; margin-top: 6px; }
  .btn-add-row { background: none; border: 1px dashed var(--gray-300); border-radius: var(--radius); width: 100%; padding: 8px; font-size: 13px; color: var(--gray-500); cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 6px; transition: border-color .15s, color .15s; }
  .btn-add-row:hover { border-color: var(--primary); color: var(--primary); }

  .ia-report { border-radius: var(--radius); padding: 16px; margin-bottom: 20px; }
  .ia-report.ok       { background: var(--success-bg); border: 1px solid #a7f3d0; }
  .ia-report.minor    { background: var(--warning-bg); border: 1px solid #fcd34d; }
  .ia-report.critical { background: var(--danger-bg);  border: 1px solid #fca5a5; }
  .ia-report-header   { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
  .ia-report-title    { font-size: 15px; font-weight: 700; }
  .ia-item            { background: rgba(255,255,255,.7); border-radius: 6px; padding: 10px 12px; margin-top: 8px; }
  .ia-item-header     { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
  .ia-item-severity   { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; }
  .sev-info     { background: var(--info-bg); color: var(--info); }
  .sev-alert    { background: var(--warning-bg); color: var(--warning); }
  .sev-critical { background: var(--danger-bg); color: var(--danger); }
  .ia-item p    { font-size: 13px; color: var(--gray-700); }
  .ia-actions   { display: flex; gap: 8px; margin-top: 8px; }
  .ia-confirm   { background: none; border: 1px solid var(--success); color: var(--success); padding: 3px 10px; border-radius: 6px; font-size: 12px; cursor: pointer; font-weight: 600; }
  .ia-dismiss   { background: none; border: 1px solid var(--gray-300); color: var(--gray-500); padding: 3px 10px; border-radius: 6px; font-size: 12px; cursor: pointer; }
  .ia-confirm:hover { background: var(--success-bg); }
  .ia-dismiss:hover { background: var(--gray-100); }
  .ia-confirmed { opacity:.6; text-decoration: line-through; }

  .modal-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.4); display: flex; align-items: center; justify-content: center; z-index: 200; padding: 20px; }
  .modal { background: #fff; border-radius: 12px; padding: 28px; width: 100%; max-width: 480px; box-shadow: var(--shadow-md); max-height: 90vh; overflow-y: auto; }
  .modal h3 { font-size: 17px; font-weight: 700; margin-bottom: 16px; }
  .modal-footer { display: flex; gap: 10px; justify-content: flex-end; margin-top: 20px; }

  /* Lightbox de comprovantes — abre imagem inline sem sair da tela de análise */
  .lightbox-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.88); z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 24px; cursor: zoom-out; animation: fadeIn .15s ease-out; }
  @keyframes fadeIn { from { opacity: 0 } to { opacity: 1 } }
  .lightbox-content { position: relative; max-width: 92vw; max-height: 92vh; display: flex; flex-direction: column; align-items: center; cursor: default; }
  .lb-imgwrap { overflow: hidden; max-width: 92vw; max-height: 82vh; display: flex; align-items: center; justify-content: center; border-radius: 8px; }
  .lb-img { max-width: 92vw; max-height: 82vh; object-fit: contain; box-shadow: 0 8px 32px rgba(0,0,0,.6); background: #fff; transform-origin: center center; will-change: transform; cursor: zoom-in; user-select: none; -webkit-user-drag: none; }
  .lightbox-toolbar { position: absolute; top: -44px; left: 0; right: 0; display: flex; gap: 8px; align-items: center; justify-content: flex-end; }
  .lb-zoomctl { display: flex; align-items: center; gap: 6px; margin-right: auto; }
  .lb-zoom-pct { color: #fff; font-size: 12px; min-width: 44px; text-align: center; }
  .lightbox-btn { background: rgba(255,255,255,.12); color: #fff; border: 1px solid rgba(255,255,255,.25); border-radius: 6px; padding: 6px 12px; font-size: 13px; cursor: pointer; font-family: inherit; transition: background .15s; }
  .lightbox-btn:hover { background: rgba(255,255,255,.22); }
  .lightbox-close { background: none; border: none; color: #fff; font-size: 28px; cursor: pointer; padding: 0 6px; line-height: 1; }
  .lightbox-caption { color: #fff; font-size: 12px; margin-top: 14px; max-width: 80vw; text-align: center; word-break: break-all; opacity: .8; }
  .lb-nav { position: fixed; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,.14); color: #fff; border: 1px solid rgba(255,255,255,.28); width: 46px; height: 68px; border-radius: 10px; font-size: 34px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 1001; transition: background .15s; }
  .lb-nav:hover { background: rgba(255,255,255,.28); }
  .lb-prev { left: 18px; } .lb-next { right: 18px; }
  .comprov-link { color: var(--primary); cursor: pointer; text-decoration: none; font-weight: 500; user-select: none; }
  .comprov-link:hover { text-decoration: underline; }

  .analysis-split { display: grid; grid-template-columns: 1fr 384px; gap: 20px; align-items: start; }
  .analysis-side { position: sticky; top: 80px; align-self: start; max-height: calc(100vh - 96px); overflow: auto; display: flex; flex-direction: column; gap: 16px; }
  /* Loja — Novo Fechamento (stepper + resumo) */
  .lf-steps { display:flex; gap:8px; margin-bottom:18px; }
  .lf-step { flex:1; background:#fff; border:1px solid rgba(7,72,102,.10); border-radius:12px; padding:11px 13px; display:flex; align-items:center; gap:10px; box-shadow:var(--shadow-md); cursor:pointer; }
  .lf-step .n { width:25px; height:25px; border-radius:50%; display:grid; place-items:center; font-size:12px; font-weight:700; background:var(--gray-100); color:var(--gray-500); flex:none; }
  .lf-step.cur .n { background:var(--accent); color:#fff; }
  .lf-step .t { font-size:12.5px; font-weight:600; color:var(--gray-600); line-height:1.2; }
  .lf-step .t small { display:block; font-size:10.5px; color:var(--gray-400); font-weight:400; }
  .lf-termo { display:flex; gap:11px; align-items:flex-start; background:var(--warning-bg); border:1px solid #f6c98a; border-radius:11px; padding:13px 15px; margin:14px 0; cursor:pointer; }
  .lf-termo input { accent-color:var(--accent); width:17px; height:17px; margin-top:1px; flex:none; }
  .lf-termo span { font-size:12.5px; color:var(--warning); line-height:1.5; }
  .lf-total { display:flex; justify-content:space-between; align-items:baseline; padding-top:6px; }
  .lf-total span.l { font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--gray-500); font-weight:600; }
  .lf-total b { font-family:var(--display); font-size:24px; font-weight:700; color:var(--primary); font-variant-numeric:tabular-nums; }
  @media (max-width:860px){ .lf-steps{flex-wrap:wrap} .lf-step{flex:1 1 45%} }
  .doc-viewer { background: var(--gray-100); border-radius: var(--radius); padding: 12px; min-height: 120px; display: flex; flex-direction: column; gap: 8px; }
  .doc-thumb { background: #fff; border: 1px solid var(--gray-200); border-radius: 6px; padding: 10px; display: flex; align-items: center; gap: 10px; cursor: pointer; transition: border-color .15s; }
  .doc-thumb:hover { border-color: var(--primary); }
  .doc-thumb .doc-icon { font-size: 22px; }
  .doc-thumb .doc-name { font-size: 13px; font-weight: 600; color: var(--gray-700); }
  .doc-thumb .doc-type { font-size: 11px; color: var(--gray-500); }
  /* Figuras tabulares nas colunas numéricas (R$) das tabelas dentro de cards —
     mantém os dígitos alinhados verticalmente, essencial numa tela financeira. */
  .card table td[style*="text-align:right"], .card table th[style*="text-align:right"] { font-variant-numeric: tabular-nums; }

  .audit-log { display: flex; flex-direction: column; }
  .audit-item { display: flex; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--gray-100); }
  .audit-item:last-child { border-bottom: none; }
  .audit-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--primary); flex-shrink: 0; margin-top: 4px; }
  .audit-time  { font-size: 11px; color: var(--gray-400); }
  .audit-text  { font-size: 13px; color: var(--gray-700); }

  #toast-container { position: fixed; bottom: 24px; right: 24px; z-index: 300; display: flex; flex-direction: column; gap: 10px; }
  .toast { background: var(--gray-900); color: #fff; padding: 12px 18px; border-radius: 8px; font-size: 14px; box-shadow: var(--shadow-md); display: flex; align-items: center; gap: 10px; animation: slideIn .25s ease; }
  .toast.toast-success { background: var(--success); }
  .toast.toast-danger  { background: var(--danger); }
  @keyframes slideIn { from { transform: translateX(100px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }

  .ai-processing { background: #ede9fe; border: 1px solid #c4b5fd; border-radius: var(--radius); padding: 14px 16px; display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
  .spinner { width: 20px; height: 20px; border: 2px solid #c4b5fd; border-top-color: #7c3aed; border-radius: 50%; animation: spin 1s linear infinite; flex-shrink: 0; }
  @keyframes spin { to { transform: rotate(360deg); } }

  .card + .card { margin-top: 16px; }

  .toggle-switch { position:relative; display:inline-block; width:36px; height:20px; flex-shrink:0; }
  .toggle-switch input { opacity:0; width:0; height:0; }
  .toggle-switch .slider { position:absolute; cursor:pointer; inset:0; background:var(--gray-300); border-radius:999px; transition:.2s; }
  .toggle-switch .slider:before { content:''; position:absolute; height:14px; width:14px; left:3px; bottom:3px; background:#fff; border-radius:50%; transition:.2s; }
  .toggle-switch input:checked + .slider { background:var(--primary); }
  .toggle-switch input:checked + .slider:before { transform:translateX(16px); }

  /* ── HAMBURGER ─────────────────────────────────────── */
  #btn-sidebar-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    cursor: pointer;
    padding: 7px;
    border-radius: 6px;
    color: var(--gray-700);
    transition: background .15s;
    flex-shrink: 0;
  }
  #btn-sidebar-toggle:hover { background: var(--gray-100); }

  #sidebar-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 99;
  }
  #sidebar-overlay.active { display: block; }

  /* ── TABLET (≤1024px) ──────────────────────────────── */
  @media (max-width: 1024px) {
    .grid-4 { grid-template-columns: repeat(2, 1fr); }
    .grid-3 { grid-template-columns: 1fr 1fr; }
    .content { padding: 20px 20px; }
  }

  /* ── MOBILE (≤768px) ───────────────────────────────── */
  @media (max-width: 768px) {
    #btn-sidebar-toggle { display: flex; }

    .sidebar {
      transform: translateX(-100%);
      transition: transform .28s cubic-bezier(.4,0,.2,1);
    }
    .sidebar.sidebar-open { transform: translateX(0); }

    .main { margin-left: 0; }

    .topbar { padding: 11px 16px; gap: 10px; }
    .topbar h2 { font-size: 16px; }

    .content { padding: 14px 14px; }

    .grid-2 { grid-template-columns: 1fr; }
    .grid-3 { grid-template-columns: 1fr; }
    .grid-4 { grid-template-columns: 1fr 1fr; }

    .analysis-split { grid-template-columns: 1fr; }
    .row-entry .row-fields { grid-template-columns: 1fr; }

    .modal-backdrop { align-items: flex-end; padding: 0; }
    .modal {
      max-width: 100%;
      width: 100%;
      border-radius: 16px 16px 0 0;
      padding: 24px 16px 28px;
      max-height: 92vh;
    }

    #page-login { flex-direction: column; gap: 24px; padding: 24px 16px; align-items: center; }
    .login-box   { width: 100%; max-width: 420px; padding: 28px 20px; }
    .demo-panel  { width: 100%; max-width: 420px; }

    #toast-container { bottom: 14px; right: 12px; left: 12px; }
    .toast { font-size: 13px; }

    .filters { flex-direction: column; }
    .filters input, .filters select { min-width: unset; width: 100%; }

    th, td { padding: 9px 10px; font-size: 13px; }
  }

  /* ── SMALL MOBILE (≤480px) ─────────────────────────── */
  @media (max-width: 480px) {
    .grid-4 { grid-template-columns: 1fr; }
    .btn-lg { padding: 11px 18px; font-size: 15px; }
    .content { padding: 12px 10px; }
    .card { padding: 14px; }
  }

  /* ===== DASHBOARD ADMIN (redesign 2026) — escopado em .dsh ===== */
  .dsh{ --f:var(--gray-400); --mut:var(--gray-500); --ln:var(--gray-200); --ln2:var(--gray-100); }
  .dsh .tnum{ font-variant-numeric:tabular-nums }
  .dsh .kpis{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:20px }
  .dsh .kpi{ background:#fff; border:1px solid var(--ln); border-radius:14px; padding:17px 18px; box-shadow:0 1px 2px rgba(7,72,102,.05) }
  .dsh .kpi .r{ display:flex; align-items:center; gap:10px; margin-bottom:13px }
  .dsh .kpi .ico{ width:38px; height:38px; border-radius:11px; display:grid; place-items:center; flex:none }
  .dsh .kpi .lab{ font-size:10.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--f) }
  .dsh .kpi .val{ font-family:var(--display); font-size:27px; font-weight:700; color:var(--primary); line-height:1; letter-spacing:-.02em }
  .dsh .kpi .sb{ font-size:12px; color:var(--mut); margin-top:8px }
  .dsh .kpi.anchor{ background:linear-gradient(150deg,var(--primary-light),var(--primary) 70%,var(--primary-dark)); border:0; color:#fff }
  .dsh .kpi.anchor .lab{ color:rgba(255,255,255,.62) } .dsh .kpi.anchor .val{ color:#fff } .dsh .kpi.anchor .sb{ color:rgba(255,255,255,.7) }
  .dsh .kpi.anchor .ico{ background:rgba(255,255,255,.14); color:#fff }
  .dsh .ins{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:20px }
  .dsh .ins-card{ background:#fff; border:1px solid var(--ln); border-radius:14px; padding:15px 18px; box-shadow:0 1px 2px rgba(7,72,102,.05); display:flex; align-items:center; gap:15px }
  .dsh .ins-card .ico{ width:44px; height:44px; border-radius:12px; display:grid; place-items:center; flex:none }
  .dsh .ins-body{ flex:1; min-width:0 }
  .dsh .ins-card .lab{ font-size:10.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--f) }
  .dsh .ins-card .big{ font-family:var(--display); font-size:22px; font-weight:700; color:var(--primary); line-height:1; letter-spacing:-.01em; margin-top:6px }
  .dsh .ins-card .sm{ font-size:11.5px; color:var(--mut); margin-top:5px }
  .dsh .donut{ width:64px; height:64px; flex:none; position:relative }
  .dsh .donut svg{ transform:rotate(-90deg) }
  .dsh .donut .pct{ position:absolute; inset:0; display:grid; place-items:center; font-size:14px; font-weight:700; color:var(--primary) }
  .dsh .mini-track{ height:7px; border-radius:5px; background:var(--ln2); overflow:hidden; margin-top:9px }
  .dsh .mini-fill{ height:100%; border-radius:5px; background:linear-gradient(90deg,var(--success),#13b981) }
  .dsh .grid2{ display:grid; grid-template-columns:1.55fr 1fr; gap:18px; align-items:start; margin-bottom:18px }
  .dsh .stack{ display:flex; flex-direction:column; gap:16px }
  .dsh .card{ background:#fff; border:1px solid var(--ln); border-radius:14px; box-shadow:0 1px 2px rgba(7,72,102,.05) }
  .dsh .card .h{ display:flex; align-items:center; justify-content:space-between; padding:15px 18px 11px }
  .dsh .card .h .t{ font-family:var(--display); font-size:14px; font-weight:700; color:var(--primary) }
  .dsh .link{ font-size:12px; font-weight:600; color:var(--accent); cursor:pointer }
  .dsh .pad{ padding:15px 18px }
  .dsh table{ width:100%; border-collapse:collapse }
  .dsh thead th{ text-align:left; font-size:10px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:var(--f); padding:8px 18px; border-bottom:1px solid var(--ln) }
  .dsh tbody td{ padding:12px 18px; border-bottom:1px solid var(--ln2); font-size:13px; color:var(--gray-800) }
  .dsh tbody tr:last-child td{ border-bottom:0 }
  .dsh .r-al{ text-align:right; white-space:nowrap }
  .dsh .pill{ display:inline-flex; align-items:center; gap:5px; font-size:10.5px; font-weight:700; padding:3px 9px; border-radius:20px }
  .dsh .pill.ok{ background:var(--success-bg); color:var(--success) }
  .dsh .pill.wait{ background:var(--warning-bg); color:var(--warning) }
  .dsh .pill.an{ background:#e7eef2; color:var(--primary) }
  .dsh .pill.inv{ background:var(--danger-bg); color:var(--danger) }
  .dsh .canal{ display:inline-block; font-size:10px; font-weight:700; padding:2px 8px; border-radius:6px }
  .dsh .canal.loja{ background:#e7eef2; color:var(--primary) } .dsh .canal.vd{ background:var(--accent-light); color:var(--accent-dark) }
  .dsh .sbar{ margin-bottom:13px } .dsh .sbar:last-child{ margin-bottom:0 }
  .dsh .sbar .l{ display:flex; justify-content:space-between; font-size:12.5px; margin-bottom:6px }
  .dsh .sbar .l b{ font-weight:600; color:var(--gray-800) } .dsh .sbar .l span{ color:var(--f); font-weight:600 }
  .dsh .track{ height:8px; border-radius:6px; background:var(--ln2); overflow:hidden }
  .dsh .fill{ height:100%; border-radius:6px }
  .dsh .vrow{ display:flex; align-items:center; gap:12px; padding:11px 18px; border-top:1px solid var(--ln2) }
  .dsh .vrow:first-of-type{ border-top:0 }
  .dsh .vrow .vi{ width:34px; height:34px; border-radius:9px; background:var(--accent-light); color:var(--accent-dark); display:grid; place-items:center; flex:none }
  .dsh .vrow .vm{ flex:1; min-width:0 } .dsh .vrow .vm b{ display:block; font-size:13px; font-weight:600; color:var(--gray-800) } .dsh .vrow .vm small{ font-size:11px; color:var(--f) }
  .dsh .vrow .vv{ font-family:var(--display); font-size:13.5px; font-weight:700; color:var(--primary) }
  .dsh .rk{ display:flex; align-items:center; gap:12px; padding:11px 18px; border-top:1px solid var(--ln2) }
  .dsh .rk:first-of-type{ border-top:0 }
  .dsh .rk .pos{ width:20px; font-weight:700; font-size:13px; color:var(--f); text-align:center; flex:none }
  .dsh .rk .pos.top{ color:var(--accent) }
  .dsh .rk .av{ width:32px; height:32px; border-radius:50%; background:#e7eef2; color:var(--primary); display:grid; place-items:center; font-weight:700; font-size:12px; flex:none }
  .dsh .rk .m{ flex:1; min-width:0 } .dsh .rk .m b{ display:block; font-size:13px; font-weight:600; color:var(--gray-800) } .dsh .rk .m small{ font-size:11px; color:var(--f) }
  .dsh .rk .cnt{ font-family:var(--display); font-size:15px; font-weight:700; color:var(--primary); text-align:right }
  .dsh .rk .cnt small{ display:block; font-size:10px; font-weight:600; color:var(--f); text-transform:uppercase; letter-spacing:.05em; margin-top:1px }
  .dsh .trend{ display:flex; align-items:flex-end; gap:10px; height:104px }
  .dsh .trend .b{ flex:1; display:flex; flex-direction:column; align-items:center; gap:7px; height:100%; justify-content:flex-end }
  .dsh .trend .bar{ width:100%; max-width:36px; border-radius:6px 6px 0 0; background:linear-gradient(180deg,var(--primary-light),var(--primary)); min-height:3px }
  .dsh .trend .b.today .bar{ background:linear-gradient(180deg,var(--accent),var(--accent-dark)) }
  .dsh .trend .b small{ font-size:10.5px; color:var(--f); font-weight:600 }
  .dsh .sev{ display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:700 }
  .dsh .sev .d{ width:8px; height:8px; border-radius:50%; flex:none }
  .dsh .sev.crit{ color:var(--danger) } .dsh .sev.crit .d{ background:var(--danger); box-shadow:0 0 0 3px var(--danger-bg) }
  .dsh .sev.warn{ color:var(--warning) } .dsh .sev.warn .d{ background:var(--warning); box-shadow:0 0 0 3px var(--warning-bg) }
  .dsh .neg{ color:var(--danger) }
  @media (max-width:1080px){ .dsh .kpis{ grid-template-columns:repeat(2,1fr) } .dsh .grid2{ grid-template-columns:1fr } .dsh .ins{ grid-template-columns:1fr } }

  /* ===== TODOS OS CAIXAS / FILA (redesign 2026) — escopado em .cxl ===== */
  .cxl .tnum{font-variant-numeric:tabular-nums}
  .cxl .toolbar{background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:0 1px 2px rgba(7,72,102,.05);padding:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
  .cxl .search{position:relative;display:flex;align-items:center}
  .cxl .search>svg{position:absolute;left:12px;width:17px;height:17px;color:var(--gray-400);pointer-events:none;z-index:1}
  .cxl .search input[type=text]{width:100%;padding:10px 12px 10px 37px;border:1px solid var(--gray-200);border-radius:10px;font:inherit;font-size:13.5px;color:var(--gray-800);background:var(--bg)}
  .cxl .search input[type=text]:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px rgba(7,72,102,.12)}
  .cxl .selw{position:relative;display:flex;align-items:center}
  .cxl .selw>svg{position:absolute;right:11px;width:15px;height:15px;color:var(--gray-400);pointer-events:none}
  .cxl .toolbar select{appearance:none;-webkit-appearance:none;padding:10px 32px 10px 13px;border:1px solid var(--gray-200);border-radius:10px;font:inherit;font-size:13px;font-weight:500;color:var(--gray-800);background:#fff;cursor:pointer}
  .cxl .toolbar input[type=date]{padding:10px 13px;border:1px solid var(--gray-200);border-radius:10px;font:inherit;font-size:13px;color:var(--gray-500);background:#fff;cursor:pointer}
  .cxl .toolbar select:focus,.cxl .toolbar input[type=date]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(7,72,102,.12)}
  .cxl .daterange{display:flex;align-items:center;gap:7px;color:var(--gray-400);font-size:12px}
  .cxl .btn-clear{padding:10px 14px;border:1px solid var(--gray-200);border-radius:10px;background:#fff;font:inherit;font-size:13px;font-weight:600;color:var(--gray-500);cursor:pointer}
  .cxl .btn-clear:hover{color:var(--primary);border-color:var(--primary)}
  .cxl .sum{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
  .cxl .sc{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:13px 16px;display:flex;align-items:center;gap:12px}
  .cxl .sc .dot{width:9px;height:9px;border-radius:50%;flex:none}
  .cxl .sc .m{flex:1;min-width:0}
  .cxl .sc .lab{font-size:11px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em}
  .cxl .sc .val{font-size:22px;font-weight:700;color:var(--primary);line-height:1.05;margin-top:2px;font-family:var(--display)}
  .cxl .sc .pc{font-size:11.5px;color:var(--gray-400);font-weight:600}
  .cxl .panel{background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:0 1px 2px rgba(7,72,102,.05);overflow:hidden}
  .cxl .ch{display:flex;align-items:center;justify-content:space-between;padding:15px 20px 12px;border-bottom:1px solid var(--gray-100)}
  .cxl .ch .t{font-size:14px;font-weight:700;color:var(--primary);font-family:var(--display)}
  .cxl .count{font-size:12px;color:var(--gray-500);font-weight:600;background:var(--bg);border:1px solid var(--gray-200);border-radius:20px;padding:3px 11px}
  .cxl .tbl-wrap{overflow-x:auto}
  .cxl table{width:100%;border-collapse:collapse}
  .cxl thead th{text-align:left;font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--gray-400);padding:11px 20px;border-bottom:1px solid var(--gray-200);white-space:nowrap;background:#fff}
  .cxl thead th.r-al{text-align:right}
  .cxl tbody td{padding:13px 20px;border-bottom:1px solid var(--gray-100);font-size:13px;color:var(--gray-800);white-space:nowrap}
  .cxl tbody tr{cursor:pointer;transition:background .12s}
  .cxl tbody tr:hover{background:#fafbfc}
  .cxl tbody tr:last-child td{border-bottom:0}
  .cxl td.cid{font-weight:700;color:var(--primary)}
  .cxl td.cod{font-family:ui-monospace,"SF Mono",monospace;font-size:12px;color:var(--gray-500)}
  .cxl .r-al{text-align:right}
  .cxl .canal{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:20px}
  .cxl .canal .d{width:5px;height:5px;border-radius:50%;background:currentColor}
  .cxl .canal.loja{background:#e7eef2;color:var(--primary)}
  .cxl .canal.vd{background:var(--accent-light);color:var(--accent-dark)}
  .cxl .pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:4px 11px;border-radius:20px}
  .cxl .pill .d{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
  .cxl .pill.ok{background:var(--success-bg);color:var(--success)}
  .cxl .pill.wait{background:var(--warning-bg);color:var(--warning)}
  .cxl .pill.an{background:var(--info-bg);color:var(--primary)}
  .cxl .pill.ia{background:#ede9fe;color:#6d28d9}
  .cxl .pill.inv{background:var(--danger-bg);color:var(--danger)}
  .cxl .pill.reab{background:#fff7ed;color:#c2410c}
  .cxl .analisar{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#fff;border:0;border-radius:8px;padding:7px 13px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
  .cxl .analisar:hover{background:var(--accent-dark)}
  .cxl .verb{display:inline-flex;align-items:center;gap:5px;background:var(--bg);color:var(--primary);border:1px solid var(--gray-200);border-radius:8px;padding:7px 13px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
  .cxl .verb:hover{border-color:var(--primary)}
  .cxl .foot{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;font-size:12.5px;color:var(--gray-500);flex-wrap:wrap;gap:10px}
  .cxl .pg{display:flex;align-items:center;gap:5px}
  .cxl .pg button{min-width:34px;height:34px;padding:0 9px;border:1px solid var(--gray-200);background:#fff;border-radius:9px;font:inherit;font-size:13px;font-weight:600;color:var(--gray-500);cursor:pointer}
  .cxl .pg button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}
  .cxl .pg button.on{background:var(--primary);color:#fff;border-color:var(--primary)}
  .cxl .pg button:disabled{opacity:.45;cursor:default}
  .cxl .pg .dots{padding:0 4px;color:var(--gray-400)}
  .cxl .empty{padding:34px 20px;text-align:center;color:var(--gray-500);font-size:13px}
  @media(max-width:1080px){.cxl .sum{grid-template-columns:repeat(2,1fr)}}

  /* ===== DETALHE / CONFERÊNCIA DO CAIXA (redesign 2026) — escopado em .cxd ===== */
  .cxd .tnum{font-variant-numeric:tabular-nums}
  .cxd .mut{color:var(--gray-400)}
  /* topo: voltar + navegação por dia */
  .cxd .cxd-nav{display:flex;align-items:center;gap:10px;margin-bottom:14px}
  .cxd .cxd-back{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--gray-200);border-radius:10px;padding:8px 14px;font:inherit;font-size:13px;font-weight:600;color:var(--gray-700);cursor:pointer}
  .cxd .cxd-back:hover{border-color:var(--primary);color:var(--primary)}
  .cxd .cxd-daynav{margin-left:auto;display:flex;gap:8px}
  .cxd .cxd-daynav button{background:#fff;border:1px solid var(--gray-200);border-radius:9px;padding:8px 13px;font:inherit;font-size:12.5px;font-weight:600;color:var(--gray-500);cursor:pointer}
  .cxd .cxd-daynav button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}
  .cxd .cxd-daynav button:disabled{opacity:.45;cursor:default}
  /* header do caixa */
  .cxd .cxd-head{background:linear-gradient(135deg,var(--primary) 0%,#0a5677 60%,var(--primary-light) 130%);color:#fff;border-radius:16px;padding:18px 22px;display:flex;align-items:center;gap:18px;margin-bottom:18px;box-shadow:0 14px 30px -20px rgba(7,72,102,.5)}
  .cxd .cxd-head .hico{width:50px;height:50px;border-radius:13px;background:rgba(255,255,255,.12);display:grid;place-items:center;flex:none}
  .cxd .cxd-head .htitle{font-size:20px;font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;gap:11px;flex-wrap:wrap}
  .cxd .cxd-head .hsub{font-size:12.5px;color:rgba(255,255,255,.72);margin-top:4px;display:flex;gap:14px;flex-wrap:wrap}
  .cxd .cxd-head .hsub b{color:#fff;font-weight:600}
  .cxd .cxd-head .hstatus{margin-left:auto}
  .cxd .cxd-head .canal{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;background:rgba(255,255,255,.16);color:#fff}
  .cxd .hstatus .pill{background:rgba(255,255,255,.15);color:#fff}
  /* pills de status */
  .cxd .pill{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;padding:6px 13px;border-radius:22px}
  .cxd .pill .d{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}
  /* split + cards */
  .cxd .analysis-split{display:grid;grid-template-columns:1fr 372px;gap:18px;align-items:start}
  .cxd .analysis-split>div:first-child{display:flex;flex-direction:column;gap:16px;min-width:0}
  .cxd .analysis-side{position:sticky;top:18px;display:flex;flex-direction:column;gap:16px}
  .cxd .card{background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:0 1px 2px rgba(7,72,102,.05);padding:18px 20px}
  .cxd .section-title,.cxd .card-title{display:flex;align-items:center;gap:9px;font-family:var(--display);font-size:14px;font-weight:700;color:var(--primary);margin-bottom:14px}
  .cxd .section-title svg{color:var(--accent)}
  /* tabelas */
  .cxd table{width:100%;border-collapse:collapse}
  .cxd thead th{text-align:left;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-400);padding:9px 10px;border-bottom:1px solid var(--gray-200);white-space:nowrap}
  .cxd tbody td{padding:11px 10px;border-bottom:1px solid var(--gray-100);font-size:13px;color:var(--gray-800)}
  .cxd tbody tr:last-child td{border-bottom:0}
  .cxd tfoot th,.cxd tfoot td{padding:11px 10px;font-weight:700;font-size:13px}
  /* reconciliação (amarra) */
  .cxd .recon{margin-top:16px;border:1px solid var(--gray-200);border-radius:12px;overflow:hidden}
  .cxd .recon .rtop{display:flex;justify-content:space-between;padding:11px 16px;background:var(--gray-50);font-size:13px}
  .cxd .recon .rtop b{color:var(--primary)}
  .cxd .recon .rbody{padding:14px 16px}
  .cxd .recon .rh{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--gray-700);font-size:12.5px;margin-bottom:8px}
  .cxd .recon .fl{display:flex;justify-content:space-between;padding:4px 0;font-size:13px}
  .cxd .recon .fl .op{display:inline-block;width:14px;color:var(--gray-400)}
  .cxd .recon .fl.eq{margin-top:6px;padding-top:9px;border-top:1px dashed var(--gray-300);font-weight:700}
  .cxd .recon .fl.eq .v{color:var(--primary)}
  .cxd .recon .fl.tot{margin-top:8px;padding-top:10px;border-top:2px solid var(--gray-300);font-weight:700;font-size:14px}
  .cxd .divbar{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding:12px 15px;border-radius:10px}
  .cxd .divbar .lab{font-weight:700;display:flex;align-items:center;gap:8px}
  .cxd .divbar .val{font-weight:800;font-size:17px}
  .cxd .divbar.ok{background:var(--success-bg)} .cxd .divbar.ok .lab,.cxd .divbar.ok .val{color:var(--success)}
  .cxd .divbar.warn{background:var(--warning-bg)} .cxd .divbar.warn .lab,.cxd .divbar.warn .val{color:var(--warning)}
  .cxd .divbar.crit{background:var(--danger-bg)} .cxd .divbar.crit .lab,.cxd .divbar.crit .val{color:var(--danger)}
  .cxd .recon-warn{margin-top:10px;font-size:12.5px;color:var(--warning);font-weight:600}
  /* colapsáveis */
  .cxd details{margin-top:10px;border:1px solid var(--gray-200);border-radius:10px;overflow:hidden}
  .cxd summary{list-style:none;cursor:pointer;padding:11px 15px;font-size:12.5px;font-weight:600;color:var(--gray-700);background:#fff}
  .cxd summary::-webkit-details-marker{display:none}
  .cxd details[open]>summary{border-bottom:1px solid var(--gray-100)}
  .cxd details>*:not(summary){padding:6px 15px 12px}
  /* IA report */
  .cxd .ia-report{border:1px solid var(--gray-200);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(7,72,102,.05);padding:0}
  .cxd .ia-report.minor{border-color:#f0c98a} .cxd .ia-report.critical{border-color:#f0a0a0} .cxd .ia-report.ok{border-color:#a7dcc4}
  .cxd .ia-report-header{display:flex;gap:12px;align-items:flex-start;padding:16px 18px}
  .cxd .ia-report.minor .ia-report-header{background:linear-gradient(180deg,var(--warning-bg),#fff)}
  .cxd .ia-report.critical .ia-report-header{background:linear-gradient(180deg,var(--danger-bg),#fff)}
  .cxd .ia-report.ok .ia-report-header{background:linear-gradient(180deg,var(--success-bg),#fff)}
  .cxd .ia-report-title{font-size:14px;font-weight:700}
  .cxd .ia-item{border:1px solid var(--gray-200);border-radius:11px;padding:13px 14px;margin:0 18px 12px}
  .cxd .ia-item-header{display:flex;align-items:center;gap:9px;margin-bottom:6px}
  .cxd .ia-item p{font-size:12.5px;color:var(--gray-500);line-height:1.5}
  .cxd .ia-item-severity{font-size:9.5px;font-weight:800;letter-spacing:.05em;padding:3px 8px;border-radius:6px}
  .cxd .ia-item-severity.sev-alert{background:var(--warning-bg);color:var(--warning)}
  .cxd .ia-item-severity.sev-critical{background:var(--danger-bg);color:var(--danger)}
  .cxd .ia-item-severity.sev-info{background:var(--info-bg);color:var(--primary)}
  .cxd .ia-actions{display:flex;gap:8px;margin-top:11px}
  .cxd .ia-confirm{background:var(--success);color:#fff;border:0;border-radius:8px;padding:7px 13px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
  .cxd .ia-dismiss{background:#fff;color:var(--gray-500);border:1px solid var(--gray-200);border-radius:8px;padding:7px 13px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
  /* docs */
  .cxd .doc-viewer{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
  .cxd .doc-thumb{display:flex;align-items:center;gap:11px;border:1px solid var(--gray-200);border-radius:10px;padding:10px 12px;cursor:pointer}
  .cxd .doc-thumb:hover{border-color:var(--primary)}
  .cxd .doc-icon{width:36px;height:36px;border-radius:8px;background:var(--bg);display:grid;place-items:center;flex:none;font-size:16px}
  .cxd .doc-name{font-size:12px;font-weight:600;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}
  .cxd .doc-type{font-size:11px;color:var(--gray-400)}
  /* histórico */
  .cxd .audit-log{display:flex;flex-direction:column}
  .cxd .audit-item{display:flex;gap:12px;padding:9px 0}
  .cxd .audit-dot{width:9px;height:9px;border-radius:50%;background:var(--primary);margin-top:4px;flex:none;box-shadow:0 0 0 4px rgba(7,72,102,.10)}
  .cxd .audit-time{font-size:11px;color:var(--gray-400)}
  .cxd .audit-text{font-size:13px;color:var(--gray-800);font-weight:500}
  @media(max-width:980px){.cxd .analysis-split{grid-template-columns:1fr}.cxd .analysis-side{position:static}}

  /* ===== LOJAS (redesign 2026) — escopado em .ljs ===== */
  .ljs .tnum{font-variant-numeric:tabular-nums}
  .ljs .toolbar{background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:0 1px 2px rgba(7,72,102,.05);padding:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
  .ljs .search{flex:1;min-width:240px;position:relative;display:flex;align-items:center}
  .ljs .search>svg{position:absolute;left:12px;width:17px;height:17px;color:var(--gray-400);pointer-events:none}
  .ljs .search input{width:100%;padding:10px 12px 10px 37px;border:1px solid var(--gray-200);border-radius:10px;font:inherit;font-size:13.5px;color:var(--gray-800);background:var(--bg)}
  .ljs .search input:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px rgba(7,72,102,.12)}
  .ljs .selw{position:relative;display:flex;align-items:center}
  .ljs .selw>svg{position:absolute;right:11px;width:15px;height:15px;color:var(--gray-400);pointer-events:none}
  .ljs .toolbar select{appearance:none;-webkit-appearance:none;padding:10px 32px 10px 13px;border:1px solid var(--gray-200);border-radius:10px;font:inherit;font-size:13px;font-weight:500;color:var(--gray-800);background:#fff;cursor:pointer}
  .ljs .toolbar select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(7,72,102,.12)}
  .ljs .nova{display:inline-flex;align-items:center;gap:7px;background:var(--accent);color:#fff;border:0;border-radius:10px;padding:10px 16px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}
  .ljs .nova:hover{background:var(--accent-dark)}
  .ljs .sum{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
  .ljs .sc{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:13px 16px;display:flex;align-items:center;gap:12px}
  .ljs .sc .ico{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex:none}
  .ljs .sc .m{flex:1;min-width:0}
  .ljs .sc .lab{font-size:11px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em}
  .ljs .sc .val{font-size:22px;font-weight:700;color:var(--primary);line-height:1.05;margin-top:2px;font-family:var(--display)}
  .ljs .panel{background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:0 1px 2px rgba(7,72,102,.05);overflow:hidden}
  .ljs .ch{display:flex;align-items:center;justify-content:space-between;padding:15px 20px 12px;border-bottom:1px solid var(--gray-100)}
  .ljs .ch .t{font-size:14px;font-weight:700;color:var(--primary);font-family:var(--display)}
  .ljs .count{font-size:12px;color:var(--gray-500);font-weight:600;background:var(--bg);border:1px solid var(--gray-200);border-radius:20px;padding:3px 11px}
  .ljs table{width:100%;border-collapse:collapse}
  .ljs thead th{text-align:left;font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--gray-400);padding:11px 20px;border-bottom:1px solid var(--gray-200);white-space:nowrap}
  .ljs thead th.r-al{text-align:right}
  .ljs tbody td{padding:12px 20px;border-bottom:1px solid var(--gray-100);font-size:13px;color:var(--gray-800);white-space:nowrap;vertical-align:middle}
  .ljs tbody tr:hover{background:#fafbfc}
  .ljs tbody tr:last-child td{border-bottom:0}
  .ljs td.r-al{text-align:right}
  .ljs .loja{display:flex;align-items:center;gap:12px}
  .ljs .lav{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex:none;font-weight:700;font-size:12px}
  .ljs .lav.loja{background:#e7eef2;color:var(--primary)}
  .ljs .lav.vd{background:var(--accent-light);color:var(--accent-dark)}
  .ljs .lnome{font-weight:600;color:var(--gray-800)}
  .ljs .lcod{font-family:ui-monospace,"SF Mono",monospace;font-size:11px;color:var(--gray-400);margin-top:1px}
  .ljs .canal{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:20px}
  .ljs .canal .d{width:5px;height:5px;border-radius:50%;background:currentColor}
  .ljs .canal.loja{background:#e7eef2;color:var(--primary)}
  .ljs .canal.vd{background:var(--accent-light);color:var(--accent-dark)}
  .ljs .grvo{font-size:12px;color:var(--gray-500)}
  .ljs .pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:4px 11px;border-radius:20px}
  .ljs .pill .d{width:6px;height:6px;border-radius:50%;background:currentColor}
  .ljs .pill.ativa{background:var(--success-bg);color:var(--success)}
  .ljs .pill.inativa{background:var(--gray-100);color:var(--gray-500)}
  .ljs .acts{display:flex;gap:7px;justify-content:flex-end}
  .ljs .ab{display:inline-flex;align-items:center;gap:5px;border-radius:8px;padding:6px 12px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;border:1px solid var(--gray-200);background:#fff;color:var(--gray-700)}
  .ljs .ab:hover{border-color:var(--primary);color:var(--primary)}
  .ljs .ab.warn:hover{border-color:var(--warning);color:var(--warning)}
  .ljs .ab.on:hover{border-color:var(--success);color:var(--success)}
  .ljs .empty{padding:34px 20px;text-align:center;color:var(--gray-500);font-size:13px}
  @media(max-width:1080px){.ljs .sum{grid-template-columns:repeat(2,1fr)}}

  /* ===== USUÁRIOS (redesign 2026) — escopado em .usr ===== */
  .usr .tnum{font-variant-numeric:tabular-nums}
  .usr .toolbar{background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:0 1px 2px rgba(7,72,102,.05);padding:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
  .usr .search{flex:1;min-width:240px;position:relative;display:flex;align-items:center}
  .usr .search>svg{position:absolute;left:12px;width:17px;height:17px;color:var(--gray-400);pointer-events:none}
  .usr .search input{width:100%;padding:10px 12px 10px 37px;border:1px solid var(--gray-200);border-radius:10px;font:inherit;font-size:13.5px;color:var(--gray-800);background:var(--bg)}
  .usr .search input:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px rgba(7,72,102,.12)}
  .usr .selw{position:relative;display:flex;align-items:center}
  .usr .selw>svg{position:absolute;right:11px;width:15px;height:15px;color:var(--gray-400);pointer-events:none}
  .usr .toolbar select{appearance:none;-webkit-appearance:none;padding:10px 32px 10px 13px;border:1px solid var(--gray-200);border-radius:10px;font:inherit;font-size:13px;font-weight:500;color:var(--gray-800);background:#fff;cursor:pointer}
  .usr .toolbar select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(7,72,102,.12)}
  .usr .nova{display:inline-flex;align-items:center;gap:7px;background:var(--accent);color:#fff;border:0;border-radius:10px;padding:10px 16px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}
  .usr .nova:hover{background:var(--accent-dark)}
  .usr .sum{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
  .usr .sc{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:13px 16px;display:flex;align-items:center;gap:12px}
  .usr .sc .ico{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex:none}
  .usr .sc .m{flex:1;min-width:0}
  .usr .sc .lab{font-size:11px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em}
  .usr .sc .val{font-size:22px;font-weight:700;color:var(--primary);line-height:1.05;margin-top:2px;font-family:var(--display)}
  .usr .panel{background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:0 1px 2px rgba(7,72,102,.05);overflow:hidden}
  .usr .ch{display:flex;align-items:center;justify-content:space-between;padding:15px 20px 12px;border-bottom:1px solid var(--gray-100)}
  .usr .ch .t{font-size:14px;font-weight:700;color:var(--primary);font-family:var(--display)}
  .usr .count{font-size:12px;color:var(--gray-500);font-weight:600;background:var(--bg);border:1px solid var(--gray-200);border-radius:20px;padding:3px 11px}
  .usr table{width:100%;border-collapse:collapse}
  .usr thead th{text-align:left;font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--gray-400);padding:11px 14px;border-bottom:1px solid var(--gray-200);white-space:nowrap}
  .usr thead th:first-child,.usr tbody td:first-child{padding-left:20px}
  .usr thead th:last-child,.usr tbody td:last-child{padding-right:20px}
  .usr thead th.r-al{text-align:right}
  .usr tbody td{padding:12px 14px;border-bottom:1px solid var(--gray-100);font-size:13px;color:var(--gray-800);white-space:nowrap;vertical-align:middle}
  .usr tbody tr:hover{background:#fafbfc}
  .usr tbody tr:last-child td{border-bottom:0}
  .usr td.r-al{text-align:right}
  .usr td.uemail{max-width:230px;overflow:hidden;text-overflow:ellipsis}
  .usr .user{display:flex;align-items:center;gap:12px}
  .usr .uav{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex:none;font-weight:700;font-size:12px}
  .usr .uav.admin{background:var(--accent-light);color:var(--accent-dark)}
  .usr .uav.conferente{background:var(--info-bg);color:var(--primary)}
  .usr .uav.loja{background:var(--gray-100);color:var(--gray-600)}
  .usr .unome{font-weight:600;color:var(--gray-800)}
  .usr .uuser{font-size:11px;color:var(--gray-400);margin-top:1px}
  .usr .uemail{font-size:12.5px;color:var(--gray-500)}
  .usr .uloja{font-size:12.5px;color:var(--gray-700)}
  .usr .rp{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;padding:3px 10px;border-radius:20px}
  .usr .rp .d{width:6px;height:6px;border-radius:50%;background:currentColor}
  .usr .rp.admin{background:var(--accent-light);color:var(--accent-dark)}
  .usr .rp.conferente{background:var(--info-bg);color:var(--primary)}
  .usr .rp.loja{background:var(--gray-100);color:var(--gray-600)}
  .usr .pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:4px 11px;border-radius:20px}
  .usr .pill .d{width:6px;height:6px;border-radius:50%;background:currentColor}
  .usr .pill.ativo{background:var(--success-bg);color:var(--success)}
  .usr .pill.inativo{background:var(--gray-100);color:var(--gray-500)}
  .usr .acts{display:flex;gap:6px;justify-content:flex-end;align-items:center}
  .usr .ab{display:inline-flex;align-items:center;gap:5px;border-radius:8px;padding:6px 12px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;border:1px solid var(--gray-200);background:#fff;color:var(--gray-700)}
  .usr .ab:hover{border-color:var(--primary);color:var(--primary)}
  .usr .ib{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--gray-200);background:#fff;color:var(--gray-500);cursor:pointer}
  .usr .ib:hover{border-color:var(--primary);color:var(--primary)}
  .usr .ib.warn:hover{border-color:var(--warning);color:var(--warning)}
  .usr .ib.on:hover{border-color:var(--success);color:var(--success)}
  .usr .empty{padding:34px 20px;text-align:center;color:var(--gray-500);font-size:13px}
  @media(max-width:1080px){.usr .sum{grid-template-columns:repeat(2,1fr)}}

  /* ===== PLANOS DE CONTAS (redesign 2026) — escopado em .pln ===== */
  .pln .tnum{font-variant-numeric:tabular-nums}
  .pln .toolbar{background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:0 1px 2px rgba(7,72,102,.05);padding:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
  .pln .search{flex:1;min-width:240px;position:relative;display:flex;align-items:center}
  .pln .search>svg{position:absolute;left:12px;width:17px;height:17px;color:var(--gray-400);pointer-events:none}
  .pln .search input{width:100%;padding:10px 12px 10px 37px;border:1px solid var(--gray-200);border-radius:10px;font:inherit;font-size:13.5px;color:var(--gray-800);background:var(--bg)}
  .pln .search input:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px rgba(7,72,102,.12)}
  .pln .selw{position:relative;display:flex;align-items:center}
  .pln .selw>svg{position:absolute;right:11px;width:15px;height:15px;color:var(--gray-400);pointer-events:none}
  .pln .toolbar select{appearance:none;-webkit-appearance:none;padding:10px 32px 10px 13px;border:1px solid var(--gray-200);border-radius:10px;font:inherit;font-size:13px;font-weight:500;color:var(--gray-800);background:#fff;cursor:pointer}
  .pln .toolbar select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(7,72,102,.12)}
  .pln .nova{display:inline-flex;align-items:center;gap:7px;background:var(--accent);color:#fff;border:0;border-radius:10px;padding:10px 16px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}
  .pln .nova:hover{background:var(--accent-dark)}
  .pln .sum{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
  .pln .sc{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:13px 16px;display:flex;align-items:center;gap:12px}
  .pln .sc .ico{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex:none}
  .pln .sc .m{flex:1;min-width:0}
  .pln .sc .lab{font-size:11px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em}
  .pln .sc .val{font-size:22px;font-weight:700;color:var(--primary);line-height:1.05;margin-top:2px;font-family:var(--display)}
  .pln .panel{background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:0 1px 2px rgba(7,72,102,.05);overflow:hidden}
  .pln .ch{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:15px 20px 13px;border-bottom:1px solid var(--gray-100)}
  .pln .ch .t{font-size:14px;font-weight:700;color:var(--primary);font-family:var(--display)}
  .pln .ch .hint{font-size:11.5px;color:var(--gray-500);font-weight:400;margin-top:3px;max-width:640px;line-height:1.5}
  .pln .count{font-size:12px;color:var(--gray-500);font-weight:600;background:var(--bg);border:1px solid var(--gray-200);border-radius:20px;padding:3px 11px;white-space:nowrap;flex:none}
  .pln .row{display:flex;align-items:flex-start;gap:16px;padding:16px 20px;border-bottom:1px solid var(--gray-100)}
  .pln .row:last-child{border-bottom:0}
  .pln .row.off{background:#fcfcfd}
  .pln .row.off .pnome{color:var(--gray-500)}
  .pln .tgl{position:relative;width:38px;height:22px;flex:none;margin-top:2px}
  .pln .tgl input{position:absolute;opacity:0;width:0;height:0}
  .pln .tgl .sl{position:absolute;inset:0;background:var(--gray-300);border-radius:22px;transition:.2s;cursor:pointer}
  .pln .tgl .sl::before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
  .pln .tgl input:checked + .sl{background:var(--success)}
  .pln .tgl input:checked + .sl::before{transform:translateX(16px)}
  .pln .pbody{flex:1;min-width:0}
  .pln .phead{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .pln .pnome{font-size:14px;font-weight:600;color:var(--gray-800)}
  .pln .tag{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;padding:2px 9px;border-radius:20px}
  .pln .tag.auth{background:var(--danger-bg);color:var(--danger)}
  .pln .tag.nocaixa{background:var(--warning-bg);color:var(--warning)}
  .pln .tag.per{background:var(--gray-100);color:var(--gray-600)}
  .pln .tag.unit{background:var(--info-bg);color:var(--primary)}
  .pln .pdesc{font-size:12.5px;color:var(--gray-500);margin-top:5px;line-height:1.5}
  .pln .limits{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
  .pln .lim{display:inline-flex;align-items:center;gap:6px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:7px;padding:3px 9px;font-size:11.5px;color:var(--gray-700)}
  .pln .lim b{font-family:var(--display);color:var(--primary);font-weight:700}
  .pln .lim .g{font-size:9px;font-weight:800;letter-spacing:.03em;color:var(--gray-400);text-transform:uppercase}
  .pln .nolim{font-size:11.5px;color:var(--gray-400);margin-top:9px}
  .pln .pacts{display:flex;gap:7px;flex:none;align-items:center}
  .pln .ab{display:inline-flex;align-items:center;gap:5px;border-radius:8px;padding:6px 12px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;border:1px solid var(--gray-200);background:#fff;color:var(--gray-700)}
  .pln .ab:hover{border-color:var(--primary);color:var(--primary)}
  .pln .ib{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--gray-200);background:#fff;color:var(--gray-400);cursor:pointer}
  .pln .ib:hover{border-color:var(--danger);color:var(--danger)}
  .pln .empty{padding:34px 20px;text-align:center;color:var(--gray-500);font-size:13px}
  @media(max-width:1080px){.pln .sum{grid-template-columns:repeat(2,1fr)}}

  /* ===== RELATÓRIOS (redesign 2026) — escopado em .rel ===== */
  .rel .tnum{font-variant-numeric:tabular-nums}
  .rel .rbar{background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:0 1px 2px rgba(7,72,102,.05);padding:16px 18px;margin-bottom:18px}
  .rel .frow{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}
  .rel .fld{display:flex;flex-direction:column;gap:5px}
  .rel .fld label{font-size:11px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em}
  .rel .selw{position:relative;display:flex;align-items:center}
  .rel .selw>svg{position:absolute;right:11px;width:15px;height:15px;color:var(--gray-400);pointer-events:none}
  .rel .rbar select,.rel .rbar input[type=date]{appearance:none;-webkit-appearance:none;padding:9px 13px;border:1px solid var(--gray-200);border-radius:9px;font:inherit;font-size:13px;font-weight:500;color:var(--gray-800);background:#fff;cursor:pointer;height:38px}
  .rel .rbar select{padding-right:32px}
  .rel .rbar select:focus,.rel .rbar input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(7,72,102,.12)}
  .rel .fld.rel-tipo select{min-width:280px}
  .rel .fld.rel-loja select{min-width:170px}
  .rel .spacer{flex:1;min-width:12px}
  .rel .gerar{display:inline-flex;align-items:center;gap:7px;background:var(--primary);color:#fff;border:0;border-radius:9px;padding:0 18px;height:38px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}
  .rel .gerar:hover{background:var(--primary-dark)}
  .rel .export{display:inline-flex;align-items:center;gap:7px;background:#fff;color:var(--gray-700);border:1px solid var(--gray-200);border-radius:9px;padding:0 15px;height:38px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
  .rel .export:hover{border-color:var(--success);color:var(--success)}
  /* restyle dos cards/tabelas dos 6 relatórios */
  .rel .card{background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:0 1px 2px rgba(7,72,102,.05);padding:0;overflow:hidden}
  .rel .card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px 13px;border-bottom:1px solid var(--gray-100);margin-bottom:0}
  .rel .card-title{font-family:var(--display);font-size:14px;font-weight:700;color:var(--primary)}
  .rel table{width:100%;border-collapse:collapse}
  .rel thead th{text-align:left;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-400);padding:11px 20px;border-bottom:1px solid var(--gray-200);white-space:nowrap;background:#fff}
  .rel tbody td{padding:12px 20px;border-bottom:1px solid var(--gray-100);font-size:13px;color:var(--gray-800);white-space:nowrap}
  .rel tbody tr:last-child td{border-bottom:0}
  .rel tbody tr:hover{background:#fafbfc}
  .rel .mbadge{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;border-radius:20px;padding:4px 11px}
  .rel .mbadge.neutral{background:var(--bg);border:1px solid var(--gray-200);color:var(--gray-500)}
  .rel .mbadge.warn{background:var(--warning-bg);color:var(--warning)}
  .rel .mbadge.crit{background:var(--danger-bg);color:var(--danger)}
  .rel .pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:4px 11px;border-radius:20px}
  .rel .pill .d{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
  .rel .pill.ok{background:var(--success-bg);color:var(--success)}
  .rel .pill.wait{background:var(--warning-bg);color:var(--warning)}
  .rel .pill.an{background:var(--info-bg);color:var(--primary)}
  .rel .pill.ia{background:#ede9fe;color:#6d28d9}
  .rel .pill.inv{background:var(--danger-bg);color:var(--danger)}
  .rel .pill.reab{background:#fff7ed;color:#c2410c}
  .rel .sev{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-variant-numeric:tabular-nums;justify-content:flex-end}
  .rel .sev .d{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
  .rel .sev.ok{color:var(--success)} .rel .sev.warn{color:var(--warning)} .rel .sev.crit{color:var(--danger)}
  .rel .empty{padding:34px 20px;text-align:center;color:var(--gray-500);font-size:13px}
  @media(max-width:1080px){.rel .fld.rel-tipo select{min-width:200px}}

  /* ===== PRODUTIVIDADE (redesign 2026) — escopado em .prd ===== */
  .prd .tnum{font-variant-numeric:tabular-nums}
  .prd .tbar{background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:0 1px 2px rgba(7,72,102,.05);padding:14px 18px;display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}
  .prd .tbar .ic{width:34px;height:34px;border-radius:10px;background:var(--info-bg);color:var(--primary);display:grid;place-items:center;flex:none}
  .prd .tbar label{font-size:13px;font-weight:600;color:var(--gray-700);white-space:nowrap}
  .prd .selw{position:relative;display:flex;align-items:center;flex:1;max-width:320px;min-width:220px}
  .prd .selw>svg{position:absolute;right:11px;width:15px;height:15px;color:var(--gray-400);pointer-events:none}
  .prd .tbar select{appearance:none;-webkit-appearance:none;width:100%;padding:9px 32px 9px 13px;border:1px solid var(--gray-200);border-radius:9px;font:inherit;font-size:13px;font-weight:500;color:var(--gray-800);background:#fff;cursor:pointer;height:38px}
  .prd .tbar select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(7,72,102,.12)}
  .prd .tbar .note{margin-left:auto;font-size:12px;color:var(--gray-400)}
  .prd .kpis{display:grid;gap:16px;margin-bottom:18px;grid-template-columns:repeat(4,1fr)}
  .prd .kpis.g3{grid-template-columns:repeat(3,1fr)}
  .prd .kpi{background:#fff;border:1px solid var(--gray-200);border-radius:14px;padding:17px 18px;box-shadow:0 1px 2px rgba(7,72,102,.05)}
  .prd .kpi .r{display:flex;align-items:center;gap:10px;margin-bottom:12px}
  .prd .kpi .ico{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none}
  .prd .kpi .lab{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-400)}
  .prd .kpi .val{font-size:26px;font-weight:700;color:var(--primary);line-height:1;letter-spacing:-.02em;font-family:var(--display)}
  .prd .kpi .sb{font-size:12px;color:var(--gray-500);margin-top:8px}
  .prd .card{background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:0 1px 2px rgba(7,72,102,.05);overflow:hidden;margin-bottom:16px}
  .prd .ch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px 12px;border-bottom:1px solid var(--gray-100)}
  .prd .ch .t{font-size:14px;font-weight:700;color:var(--primary);font-family:var(--display)}
  .prd .ch .hint{font-size:11.5px;color:var(--gray-400)}
  .prd table{width:100%;border-collapse:collapse}
  .prd thead th{font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--gray-400);padding:11px 16px;border-bottom:1px solid var(--gray-200);white-space:nowrap;text-align:center}
  .prd thead th.l{text-align:left}
  .prd tbody td{padding:12px 16px;border-bottom:1px solid var(--gray-100);font-size:13px;color:var(--gray-800);white-space:nowrap;text-align:center}
  .prd tbody td.l{text-align:left}
  .prd thead th:first-child,.prd tbody td:first-child{padding-left:20px}
  .prd thead th:last-child,.prd tbody td:last-child{padding-right:20px}
  .prd tbody tr:last-child td{border-bottom:0}
  .prd .rank tbody tr{cursor:pointer;transition:background .12s}
  .prd .rank tbody tr:hover{background:#fafbfc}
  .prd .pos{font-weight:700;font-size:14px;color:var(--gray-400);width:26px;display:inline-block;text-align:center}
  .prd .pos.top{color:var(--accent)}
  .prd .conf{display:flex;align-items:center;gap:11px}
  .prd .cav{width:34px;height:34px;border-radius:50%;background:var(--info-bg);color:var(--primary);display:grid;place-items:center;font-weight:700;font-size:12px;flex:none}
  .prd .cnome{font-weight:600;color:var(--gray-800)}
  .prd .cmail{font-size:11px;color:var(--gray-400)}
  .prd .big{font-weight:700;color:var(--primary);font-size:15px}
  .prd .tm{font-variant-numeric:tabular-nums;font-weight:600;color:var(--gray-700)}
  .prd .pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:4px 11px;border-radius:20px}
  .prd .pill .d{width:6px;height:6px;border-radius:50%;background:currentColor}
  .prd .pill.ok{background:var(--success-bg);color:var(--success)}
  .prd .pill.warn{background:var(--warning-bg);color:var(--warning)}
  .prd .pill.crit{background:var(--danger-bg);color:var(--danger)}
  .prd .pill.inv{background:var(--danger-bg);color:var(--danger)}
  .prd .ver{width:32px;height:32px;display:grid;place-items:center;background:#fff;color:var(--gray-400);border:1px solid var(--gray-200);border-radius:8px;cursor:pointer;margin:0 auto}
  .prd .ver:hover{border-color:var(--primary);color:var(--primary)}
  .prd .phead{display:flex;align-items:center;gap:12px;margin-bottom:16px}
  .prd .pav{width:46px;height:46px;border-radius:50%;background:linear-gradient(150deg,var(--primary-light),var(--primary));color:#fff;display:grid;place-items:center;font-weight:700;font-size:18px;flex:none}
  .prd .pnome{font-size:16px;font-weight:700;color:var(--gray-800)}
  .prd .pmail{font-size:12.5px;color:var(--gray-500)}
  .prd .days{display:flex;gap:8px;flex-wrap:wrap;padding:16px 20px}
  .prd .day{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:9px;padding:9px 14px;text-align:center;min-width:74px}
  .prd .day .dd{font-size:11px;color:var(--gray-400);margin-bottom:4px}
  .prd .day .dn{font-family:var(--display);font-size:21px;font-weight:700;color:var(--primary)}
  .prd .empty{padding:20px;color:var(--gray-500);font-size:13px}
  @media(max-width:1080px){.prd .kpis,.prd .kpis.g3{grid-template-columns:repeat(2,1fr)}}

/* ──────────────────────────────────────────────────────────
   MANUTENÇÃO DE CAIXAS  (escopo .mnt)
   ────────────────────────────────────────────────────────── */
  .mnt select{appearance:none;padding:9px 32px 9px 13px;border:1px solid var(--gray-200);border-radius:9px;font:inherit;font-size:13px;font-weight:500;color:var(--gray-800);background:#fff;cursor:pointer;height:40px}
  .mnt select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(7,72,102,.12)}
  .mnt input{padding:9px 13px;border:1px solid var(--gray-200);border-radius:9px;font:inherit;font-size:13px;font-weight:500;color:var(--gray-800);background:#fff;height:40px}
  .mnt input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(224,94,59,.14)}
  .mnt .fg{display:flex;flex-direction:column;gap:6px}
  .mnt .fg label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-500)}
  .mnt .btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;border-radius:9px;font:inherit;font-size:13px;font-weight:600;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
  .mnt .btn svg{width:16px;height:16px}
  .mnt .btn-primary{background:var(--primary);color:#fff}
  .mnt .btn-primary:hover{background:var(--primary-dark)}
  .mnt .btn-danger{background:var(--danger);color:#fff}
  .mnt .btn-danger:hover{background:#a51818}
  .mnt .btn-ghost{background:#fff;color:var(--gray-600);border-color:var(--gray-200)}
  .mnt .btn-ghost:hover{border-color:var(--primary);color:var(--primary)}
  .mnt .btn-ok{background:var(--success);color:#fff}
  .mnt .btn-ok:hover{background:#046c4c}
  .mnt .btn-del{background:#fff;color:var(--danger);border-color:#f0caca}
  .mnt .btn-del:hover{background:var(--danger-bg)}
  .mnt .btn-sm{height:32px;padding:0 12px;font-size:12px}
  .mnt .btn-sm svg{width:14px;height:14px}

  .mnt .ctx{background:linear-gradient(120deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:16px;padding:18px 22px;display:flex;align-items:center;gap:18px;color:#fff;box-shadow:0 8px 24px -12px rgba(7,72,102,.5);margin-bottom:22px}
  .mnt .ctx .lav{width:52px;height:52px;border-radius:13px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;font-weight:700;font-size:17px;flex:none}
  .mnt .ctx .ci{flex:none}
  .mnt .ctx .cl{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6)}
  .mnt .ctx .cn{font-size:18px;font-weight:700;margin-top:2px;display:flex;align-items:center;gap:10px}
  .mnt .ctx .cpill{font-size:10px;font-weight:700;letter-spacing:.05em;padding:3px 9px;border-radius:20px;background:rgba(255,255,255,.16);color:#fff}
  .mnt .ctx .cmeta{font-size:12px;color:rgba(255,255,255,.7);margin-top:4px}
  .mnt .ctx .csel{margin-left:auto}
  .mnt .ctx select{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:#fff;font-weight:600;min-width:280px}
  .mnt .ctx select option{color:var(--gray-800)}

  .mnt .opgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}
  .mnt .op{background:#fff;border:1px solid var(--gray-200);border-radius:16px;box-shadow:0 1px 2px rgba(7,72,102,.05);overflow:hidden;display:flex;flex-direction:column}
  .mnt .op .oh{display:flex;align-items:center;gap:13px;padding:18px 20px 14px}
  .mnt .op .oico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex:none}
  .mnt .op .oico svg{width:21px;height:21px}
  .mnt .op .ot{font-size:15px;font-weight:700;color:var(--primary);line-height:1.1}
  .mnt .op .os{font-size:11.5px;color:var(--gray-400);margin-top:3px}
  .mnt .op .obody{padding:0 20px 20px;display:flex;flex-direction:column;gap:14px;flex:1}
  .mnt .op p.desc{font-size:12.5px;line-height:1.55;color:var(--gray-600)}
  .mnt .op p.desc b{color:var(--gray-800);font-weight:600}
  .mnt .op .row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-top:auto}
  .mnt .op .row .fg{flex:1;min-width:130px}
  .mnt .op.seed .oico{background:var(--info-bg);color:var(--primary)}
  .mnt .op.danger{border-color:#f3cccc}
  .mnt .op.danger .oh{background:linear-gradient(180deg,#fef4f4,#fff)}
  .mnt .op.danger .oico{background:var(--danger-bg);color:var(--danger)}
  .mnt .op.danger .ot{color:var(--danger)}
  .mnt .op .tagx{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:6px;background:var(--danger-bg);color:var(--danger);margin-left:auto}

  .mnt .trash{background:#fff;border:1px solid var(--gray-200);border-radius:16px;box-shadow:0 1px 2px rgba(7,72,102,.05);overflow:hidden}
  .mnt .trash .th{display:flex;align-items:center;gap:12px;padding:16px 20px 13px;border-bottom:1px solid var(--gray-100)}
  .mnt .trash .th .ico{width:34px;height:34px;border-radius:10px;background:var(--gray-100);color:var(--gray-500);display:grid;place-items:center;flex:none}
  .mnt .trash .th .ico svg{width:18px;height:18px}
  .mnt .trash .th .t{font-size:15px;font-weight:700;color:var(--primary);display:flex;align-items:center;gap:9px}
  .mnt .trash .th .cnt{font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;background:var(--gray-100);color:var(--gray-600)}
  .mnt .trash .th .hint{font-size:11.5px;color:var(--gray-400);margin-top:2px}
  .mnt .trash .th .rf{margin-left:auto}
  .mnt table{width:100%;border-collapse:collapse}
  .mnt thead th{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-400);padding:11px 16px;border-bottom:1px solid var(--gray-200);white-space:nowrap;text-align:left}
  .mnt thead th.r{text-align:right}
  .mnt tbody td{padding:13px 16px;border-bottom:1px solid var(--gray-100);font-size:13px;color:var(--gray-800);white-space:nowrap}
  .mnt thead th:first-child,.mnt tbody td:first-child{padding-left:20px}
  .mnt thead th:last-child,.mnt tbody td:last-child{padding-right:20px}
  .mnt tbody tr:last-child td{border-bottom:0}
  .mnt tbody tr:hover{background:#fafbfc}
  .mnt td .dt{font-weight:700;color:var(--gray-800);font-variant-numeric:tabular-nums}
  .mnt td .rel{font-size:12px;color:var(--gray-400)}
  .mnt .acts{display:flex;gap:8px;justify-content:flex-end}
  .mnt .disb{opacity:.45;cursor:not-allowed}
  .mnt .disb:hover{border-color:var(--gray-200);color:var(--gray-600)}
  .mnt .empty{padding:38px 20px;text-align:center;color:var(--gray-400);font-size:13px}
  .mnt .empty svg{width:38px;height:38px;color:var(--gray-300);margin-bottom:10px;display:inline-block}
  .mnt .pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:4px 11px;border-radius:20px}
  .mnt .pill .d{width:6px;height:6px;border-radius:50%;background:currentColor}
  .mnt .pill.ok{background:var(--success-bg);color:var(--success)}
  .mnt .pill.inv{background:var(--danger-bg);color:var(--danger)}
  .mnt .pill.wait{background:var(--warning-bg);color:var(--warning)}
  .mnt .pill.reab{background:var(--warning-bg);color:var(--warning)}
  .mnt .pill.an{background:var(--info-bg);color:var(--primary)}
  .mnt .pill.ia{background:#ede9fe;color:#6d28d9}
  @media(max-width:1080px){.mnt .opgrid{grid-template-columns:1fr}.mnt .ctx{flex-wrap:wrap}.mnt .ctx .csel{margin-left:0;width:100%}.mnt .ctx select{width:100%;min-width:0}}

/* ──────────────────────────────────────────────────────────
   DASHBOARDS CONFERENTE / LOJISTA  (escopo .cdash)
   ────────────────────────────────────────────────────────── */
  .cdash .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}
  .cdash .kpi{background:#fff;border:1px solid var(--gray-200);border-radius:14px;padding:16px 18px;box-shadow:0 1px 2px rgba(7,72,102,.05)}
  .cdash .kpi .r{display:flex;align-items:center;gap:10px;margin-bottom:12px}
  .cdash .kpi .ico{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none}
  .cdash .kpi .ico svg{width:19px;height:19px}
  .cdash .kpi .lab{font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--gray-400)}
  .cdash .kpi .val{font-size:28px;font-weight:700;color:var(--primary);line-height:1;letter-spacing:-.02em}
  .cdash .kpi .sb{font-size:12px;color:var(--gray-500);margin-top:8px}

  .cdash .cols{display:grid;grid-template-columns:1.55fr 1fr;gap:18px;align-items:start}
  .cdash .panel{background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:0 1px 2px rgba(7,72,102,.05);overflow:hidden}
  .cdash .ph{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px 12px;border-bottom:1px solid var(--gray-100)}
  .cdash .ph .t{font-size:14px;font-weight:700;color:var(--primary)}
  .cdash .ph .date{font-size:11.5px;color:var(--gray-400);font-weight:500}
  .cdash .lnk{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--primary);background:none;border:none;cursor:pointer}
  .cdash .lnk:hover{color:var(--accent)}
  .cdash .lnk svg{width:13px;height:13px}
  .cdash table{width:100%;border-collapse:collapse}
  .cdash thead th{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-400);padding:11px 16px;border-bottom:1px solid var(--gray-200);white-space:nowrap;text-align:left}
  .cdash thead th.r{text-align:right}
  .cdash tbody td{padding:12px 16px;border-bottom:1px solid var(--gray-100);font-size:13px;color:var(--gray-800);white-space:nowrap}
  .cdash thead th:first-child,.cdash tbody td:first-child{padding-left:20px}
  .cdash thead th:last-child,.cdash tbody td:last-child{padding-right:20px}
  .cdash tbody tr{cursor:pointer;transition:background .12s}
  .cdash tbody tr:hover{background:#fafbfc}
  .cdash tbody tr:last-child td{border-bottom:0}
  .cdash td.r{text-align:right}
  .cdash .loja{font-weight:600;color:var(--gray-800)}
  .cdash .money{font-weight:700;color:var(--gray-800);font-variant-numeric:tabular-nums}
  .cdash .canal{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px}
  .cdash .canal .d{width:6px;height:6px;border-radius:50%;background:currentColor}
  .cdash .canal.loja{background:#e7eef2;color:var(--primary)}
  .cdash .canal.vd{background:var(--accent-light);color:var(--accent-dark)}
  .cdash .pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:4px 11px;border-radius:20px}
  .cdash .pill .d{width:6px;height:6px;border-radius:50%;background:currentColor}
  .cdash .pill.ok{background:var(--success-bg);color:var(--success)}
  .cdash .pill.inv{background:var(--danger-bg);color:var(--danger)}
  .cdash .pill.wait{background:var(--warning-bg);color:var(--warning)}
  .cdash .pill.reab{background:var(--warning-bg);color:var(--warning)}
  .cdash .pill.an{background:var(--info-bg);color:var(--primary)}
  .cdash .pill.ia{background:#ede9fe;color:#6d28d9}
  .cdash .btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 15px;border-radius:9px;font:inherit;font-size:12.5px;font-weight:600;border:1px solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .15s,border-color .15s,color .15s}
  .cdash .btn svg{width:15px;height:15px}
  .cdash .btn-accent{background:var(--accent);color:#fff}.cdash .btn-accent:hover{background:var(--accent-dark)}
  .cdash .btn-primary{background:var(--primary);color:#fff}.cdash .btn-primary:hover{background:var(--primary-dark)}
  .cdash .btn-ghost{background:#fff;color:var(--gray-600);border-color:var(--gray-200)}.cdash .btn-ghost:hover{border-color:var(--primary);color:var(--primary)}
  .cdash .btn-sm{height:30px;padding:0 12px;font-size:12px}
  .cdash .btn-sm svg{width:13px;height:13px}

  .cdash .lojas{padding:6px 20px 16px}
  .cdash .lrow{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--gray-100)}
  .cdash .lrow:last-of-type{border-bottom:0}
  .cdash .lrow .nm{display:flex;align-items:center;gap:13px;font-size:13px;font-weight:600;color:var(--gray-800)}
  .cdash .sdot{width:9px;height:9px;border-radius:50%;flex:none;position:relative}
  .cdash .sdot::after{content:"";position:absolute;inset:-4px;border-radius:50%;background:currentColor;opacity:.16}
  .cdash .sdot.on{background:var(--success);color:var(--success)}
  .cdash .sdot.off{background:var(--danger);color:var(--danger)}
  .cdash .sdot.wknd{background:var(--gray-300);color:var(--gray-300)}
  .cdash .banner{display:flex;align-items:center;gap:9px;border-radius:10px;padding:11px 14px;margin-top:14px;font-size:12.5px;font-weight:600}
  .cdash .banner svg{width:17px;height:17px;flex:none}
  .cdash .banner.good{background:var(--success-bg);color:var(--success)}
  .cdash .banner.warn{background:var(--warning-bg);color:var(--warning)}
  .cdash .empty{text-align:center;padding:46px 20px;color:var(--gray-400)}
  .cdash .empty .ei{width:52px;height:52px;border-radius:50%;background:var(--success-bg);color:var(--success);display:grid;place-items:center;margin:0 auto 12px}
  .cdash .empty .ei svg{width:26px;height:26px}
  .cdash .empty b{display:block;color:var(--gray-700);font-size:14px;margin-bottom:3px}
  .cdash .empty span{font-size:12.5px}

  .cdash .hero{display:flex;align-items:center;gap:18px;background:linear-gradient(120deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:16px;padding:22px 24px;color:#fff;box-shadow:0 10px 28px -14px rgba(7,72,102,.55);margin-bottom:20px}
  .cdash .hero.pend{background:linear-gradient(120deg,#8a3a22 0%,var(--accent) 120%)}
  .cdash .hero .hi{width:56px;height:56px;border-radius:15px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.24);display:grid;place-items:center;flex:none}
  .cdash .hero .hi svg{width:28px;height:28px}
  .cdash .hero .hl{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.65)}
  .cdash .hero .ht{font-size:19px;font-weight:700;margin-top:3px}
  .cdash .hero .hs{font-size:12.5px;color:rgba(255,255,255,.75);margin-top:4px}
  .cdash .hero .cta{margin-left:auto}
  .cdash .hero .btn-white{background:#fff;color:var(--accent-dark);height:40px;padding:0 20px;font-size:13px;font-weight:700;border:none}
  .cdash .hero .btn-white:hover{background:#fff5f1}
  .cdash .hero .done{margin-left:auto;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600}
  .cdash .hero .done .pill{background:rgba(255,255,255,.9)}
  @media(max-width:1080px){.cdash .kpis{grid-template-columns:repeat(2,1fr)}.cdash .cols{grid-template-columns:1fr}.cdash .hero{flex-wrap:wrap}.cdash .hero .cta,.cdash .hero .done{margin-left:0;width:100%}.cdash .hero .btn-white{width:100%;justify-content:center}}

/* ──────────────────────────────────────────────────────────
   NOVO FECHAMENTO DE CAIXA  (escopo .lnf — loja + VD)
   ────────────────────────────────────────────────────────── */
  .lnf .card{background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:0 1px 2px rgba(7,72,102,.05);padding:20px;margin-bottom:16px}
  .lnf .section-title{font-family:var(--display);font-size:14px;font-weight:700;color:var(--primary);padding-bottom:11px;border-bottom:1px solid var(--gray-100);margin-bottom:16px;display:flex;align-items:center;gap:9px}
  .lnf .section-title svg{width:16px;height:16px;color:var(--accent)}
  .lnf .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .lnf .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
  .lnf .form-group{display:flex;flex-direction:column;gap:6px}
  .lnf .form-group label{font-size:11.5px;font-weight:600;color:var(--gray-700)}
  .lnf input,.lnf select,.lnf textarea{font:inherit;font-size:13px;font-weight:500;color:var(--gray-800);background:#fff;border:1px solid var(--gray-200);border-radius:9px;padding:9px 12px;height:40px;width:100%}
  .lnf textarea{height:auto;min-height:74px;resize:vertical;line-height:1.5}
  .lnf select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 11px center;padding-right:34px}
  .lnf input:focus,.lnf select:focus,.lnf textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(224,94,59,.14)}
  .lnf input[readonly],.lnf input[disabled]{background:var(--gray-50);color:var(--gray-600);cursor:not-allowed;font-weight:600}
  .lnf .field-hint{font-size:11.5px;color:var(--gray-500);line-height:1.45}
  .lnf .row-lab{font-size:11.5px;font-weight:600;color:var(--gray-700)}
  .lnf .lock{color:var(--gray-400)}

  .lnf .fhero{display:flex;align-items:center;gap:16px;background:linear-gradient(120deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:16px;padding:18px 22px;color:#fff;box-shadow:0 10px 28px -14px rgba(7,72,102,.55);margin-bottom:18px}
  .lnf .fhero .hi{width:48px;height:48px;border-radius:13px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.24);display:grid;place-items:center;flex:none}
  .lnf .fhero .hi svg{width:24px;height:24px}
  .lnf .fhero .hl{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62)}
  .lnf .fhero .ht{font-size:17px;font-weight:700;margin-top:2px}
  .lnf .fhero .hmeta{margin-left:auto;text-align:right}
  .lnf .fhero .hmeta .k{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6)}
  .lnf .fhero .hmeta .v{font-size:16px;font-weight:700;margin-top:2px;font-variant-numeric:tabular-nums}

  .lnf .lf-steps{display:flex;gap:10px;margin-bottom:18px}
  .lnf .lf-step{flex:1;background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:11px;box-shadow:0 1px 2px rgba(7,72,102,.05);cursor:pointer;transition:border-color .15s,box-shadow .15s}
  .lnf .lf-step:hover{border-color:var(--gray-300)}
  .lnf .lf-step .n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--gray-100);color:var(--gray-500);flex:none}
  .lnf .lf-step.cur{border-color:var(--accent);box-shadow:0 4px 14px -6px rgba(224,94,59,.4)}
  .lnf .lf-step.cur .n{background:var(--accent);color:#fff}
  .lnf .lf-step .t{font-size:12.5px;font-weight:600;color:var(--gray-700);line-height:1.2}
  .lnf .lf-step .t small{display:block;font-size:10.5px;color:var(--gray-400);font-weight:400;margin-top:1px}

  .lnf .analysis-split{display:grid;grid-template-columns:1fr 372px;gap:20px;align-items:start}
  .lnf .analysis-side{position:sticky;top:88px;display:flex;flex-direction:column;gap:16px}

  .lnf .form-group.mono-ro{grid-column:1/-1;background:var(--info-bg);border:1px solid #cfe0e7;border-radius:11px;padding:12px 16px;gap:2px}
  .lnf .mono-ro input{background:transparent;border:none;height:auto;padding:2px 0;font-size:22px;font-weight:700;color:var(--primary);font-variant-numeric:tabular-nums}
  .lnf .mono-ro input:focus{box-shadow:none}
  .lnf .mono-ro label{color:var(--gray-600)}

  .lnf .row-list{display:flex;flex-direction:column;gap:12px}
  .lnf .row-entry{position:relative;border:1px solid var(--gray-200);border-radius:12px;padding:15px;background:var(--gray-50)}
  .lnf .row-entry .row-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .lnf .row-remove{position:absolute;top:11px;right:12px;background:#fff;border:1px solid var(--gray-200);color:var(--gray-500);border-radius:8px;font:inherit;font-size:11px;font-weight:600;padding:4px 9px;cursor:pointer;z-index:1}
  .lnf .row-remove:hover{border-color:var(--danger);color:var(--danger)}
  .lnf .btn-add-row{background:none;border:1px dashed var(--gray-300);border-radius:11px;width:100%;padding:11px;font:inherit;font-size:13px;font-weight:600;color:var(--gray-500);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:12px;transition:border-color .15s,color .15s,background .15s}
  .lnf .btn-add-row:hover{border-color:var(--accent);color:var(--accent);background:#fff}

  .lnf .upload-area{border:1.5px dashed var(--gray-300);border-radius:11px;padding:16px;text-align:center;cursor:pointer;background:#fff;transition:border-color .15s,background .15s;margin-top:6px}
  .lnf .upload-area:hover,.lnf .upload-area.drag-over{border-color:var(--accent);background:#fffaf8}
  .lnf .upload-area svg{margin:auto;color:var(--gray-400)}
  .lnf .upload-area p{font-size:12px;color:var(--gray-500);margin-top:5px}
  .lnf .file-list{margin-top:8px;display:flex;flex-direction:column;gap:5px}
  .lnf .file-item{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;padding:6px 10px;font-size:12px}
  .lnf .file-remove{background:none;border:none;color:var(--gray-400);cursor:pointer;font-size:12px}
  .lnf .file-remove:hover{color:var(--danger)}

  .lnf .sumcard{background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:0 4px 18px -8px rgba(7,72,102,.18);overflow:hidden}
  .lnf .sumcard .sh{background:linear-gradient(120deg,var(--primary),var(--primary-light));color:#fff;padding:18px 20px}
  .lnf .sumcard .sh .k{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.66)}
  .lnf .sumcard .sh .tot{display:block;font-family:var(--display);font-size:30px;font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums}
  .lnf .sumcard .sb{padding:16px 20px 20px}
  .lnf .lf-termo{display:flex;gap:11px;align-items:flex-start;background:var(--warning-bg);border:1px solid #f6c98a;border-radius:11px;padding:13px 14px;margin-bottom:14px;cursor:pointer}
  .lnf .lf-termo input{width:18px;min-width:18px;height:18px;accent-color:var(--accent);margin-top:1px;flex:none;padding:0}
  .lnf .lf-termo span{font-size:12px;color:var(--warning);line-height:1.5}
  .lnf .btn-lg{width:100%;justify-content:center;height:46px;border-radius:11px;background:var(--accent);color:#fff;border:none;font:inherit;font-size:14px;font-weight:700;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:background .15s}
  .lnf .btn-lg:disabled{background:var(--gray-300);cursor:not-allowed}
  .lnf .btn-lg:not(:disabled):hover{background:var(--accent-dark)}
  .lnf .btn-lg svg{width:16px;height:16px}
  .lnf .ainote{font-size:11.5px;color:var(--gray-500);margin-top:11px;text-align:center;display:flex;align-items:center;gap:6px;justify-content:center}
  .lnf .ainote svg{width:14px;height:14px;color:var(--primary)}

  /* já enviado / VD extras */
  .lnf .je-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
  .lnf .je-stats .st{background:#fff;border:1px solid var(--gray-200);border-radius:14px;padding:16px 18px;box-shadow:0 1px 2px rgba(7,72,102,.05)}
  .lnf .je-stats .st .ico{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;margin-bottom:10px}
  .lnf .je-stats .st .ico svg{width:18px;height:18px}
  .lnf .je-stats .st .v{font-size:22px;font-weight:700;color:var(--primary);font-variant-numeric:tabular-nums;line-height:1}
  .lnf .je-stats .st .l{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-400);font-weight:600;margin-top:7px}
  .lnf .ia-dot{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none}
  .lnf .ia-dot svg{width:18px;height:18px}
  .lnf .ia-dot.ok{background:var(--success-bg);color:var(--success)}
  .lnf .ia-dot.warn{background:var(--warning-bg);color:var(--warning)}
  .lnf .ia-dot.crit{background:var(--danger-bg);color:var(--danger)}
  .lnf .je-motivo{background:var(--danger-bg);border:1px solid #f3c0c0;border-radius:12px;padding:14px 16px;margin-top:16px}
  .lnf .je-motivo .mt{display:flex;align-items:center;gap:8px;font-weight:700;font-size:12.5px;color:var(--danger);margin-bottom:5px}
  .lnf .je-motivo .mt svg{width:16px;height:16px}
  .lnf .je-motivo p{font-size:13px;color:var(--gray-700);line-height:1.5}
  .lnf .btn-je{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 18px;border-radius:10px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;background:#fff;color:var(--gray-700);border:1px solid var(--gray-200);transition:border-color .15s,color .15s,background .15s}
  .lnf .btn-je svg{width:15px;height:15px}
  .lnf .btn-je:hover{border-color:var(--primary);color:var(--primary)}
  .lnf .btn-je.primary{background:var(--primary);color:#fff;border-color:var(--primary)}
  .lnf .btn-je.primary:hover{background:var(--primary-dark)}
  .lnf .je-wait{display:inline-grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--info-bg);color:var(--primary)}
  .lnf .je-wait svg{width:30px;height:30px}
  .lnf .je-info{display:flex;align-items:flex-start;gap:9px;background:var(--info-bg);border:1px solid #cfe0e7;color:var(--primary);border-radius:10px;padding:11px 14px;margin-top:12px;font-size:12.5px;line-height:1.5}
  .lnf .je-info svg{width:16px;height:16px;flex:none;margin-top:1px;color:var(--success)}
  .lnf .je-submitbar{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid var(--gray-200);border-radius:14px;padding:14px 20px;box-shadow:0 1px 2px rgba(7,72,102,.05)}
  .lnf .je-submitbar .k{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-400)}
  .lnf .je-submitbar .tot{font-size:22px;font-weight:700;color:var(--primary);font-variant-numeric:tabular-nums;margin-top:2px}

  @media(max-width:1080px){.lnf .analysis-split{grid-template-columns:1fr}.lnf .analysis-side{position:static}.lnf .lf-steps{flex-wrap:wrap}.lnf .lf-step{flex:1 1 45%}.lnf .je-stats{grid-template-columns:1fr}}

/* ──────────────────────────────────────────────────────────
   NOTIFICAÇÕES  (escopo .ntf)
   ────────────────────────────────────────────────────────── */
  .ntf{max-width:760px}
  .ntf .hero{display:flex;align-items:flex-start;gap:16px;background:linear-gradient(120deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:16px;padding:20px 22px;color:#fff;box-shadow:0 10px 28px -14px rgba(7,72,102,.55);margin-bottom:18px}
  .ntf .hero .hi{width:46px;height:46px;border-radius:13px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.24);display:grid;place-items:center;flex:none}
  .ntf .hero .hi svg{width:23px;height:23px}
  .ntf .hero .ht{font-size:16px;font-weight:700}
  .ntf .hero .hs{font-size:12.5px;color:rgba(255,255,255,.8);margin-top:5px;line-height:1.55;max-width:560px}

  .ntf .card{background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:0 1px 2px rgba(7,72,102,.05);margin-bottom:16px}
  .ntf .toggle{display:flex;align-items:center;gap:14px;padding:16px 20px}
  .ntf .toggle .ti{width:40px;height:40px;border-radius:11px;background:var(--success-bg);color:var(--success);display:grid;place-items:center;flex:none;transition:background .2s,color .2s}
  .ntf .toggle .ti svg{width:20px;height:20px}
  .ntf .toggle.off .ti{background:var(--gray-100);color:var(--gray-400)}
  .ntf .toggle b{font-size:14px;font-weight:700;color:var(--gray-800)}
  .ntf .toggle .d{font-size:12px;color:var(--gray-500);margin-top:2px}
  .ntf .toggle .sw{margin-left:auto}
  .ntf .sw input{display:none}
  .ntf .sw label{display:block;width:46px;height:26px;border-radius:20px;background:var(--gray-300);position:relative;cursor:pointer;transition:background .2s}
  .ntf .sw label::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
  .ntf .sw input:checked+label{background:var(--success)}
  .ntf .sw input:checked+label::after{transform:translateX(20px)}

  .ntf .ch{padding:15px 20px 4px;font-size:13px;font-weight:700;color:var(--primary);display:flex;align-items:center;gap:8px}
  .ntf .ch svg{width:16px;height:16px;color:var(--accent)}
  .ntf .cfg{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:8px 20px 18px}
  .ntf .fg{display:flex;flex-direction:column;gap:6px}
  .ntf .fg label{font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--gray-500)}
  .ntf .fld{position:relative;display:flex;align-items:center}
  .ntf .fld>svg{position:absolute;left:12px;width:16px;height:16px;color:var(--gray-400);pointer-events:none}
  .ntf input[type=time],.ntf input[type=number]{font:inherit;font-size:14px;font-weight:600;color:var(--gray-800);background:#fff;border:1px solid var(--gray-200);border-radius:9px;padding:10px 12px 10px 36px;height:44px;width:100%;font-variant-numeric:tabular-nums}
  .ntf input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(224,94,59,.14)}
  .ntf .unit{position:absolute;right:12px;font-size:12px;color:var(--gray-400);font-weight:600;pointer-events:none}

  .ntf .tlwrap{padding:4px 20px 18px}
  .ntf .tl{position:relative;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:12px;padding:26px 20px 20px}
  .ntf .tl .track{position:relative;height:4px;border-radius:4px;margin:26px 6px 0}
  .ntf .tl .node{position:absolute;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center}
  .ntf .tl .dot{width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--primary)}
  .ntf .tl .dot.ping{width:9px;height:9px;border-width:2px;border-color:var(--primary-light);background:var(--primary-light)}
  .ntf .tl .dot.ping.late{border-color:var(--danger);background:var(--danger)}
  .ntf .tl .dot.lim{border-color:var(--danger);width:14px;height:14px;background:#fff}
  .ntf .tl .cap{position:absolute;bottom:calc(100% + 8px);white-space:nowrap;font-size:10.5px;font-weight:700;color:var(--primary);text-align:center;font-variant-numeric:tabular-nums}
  .ntf .tl .cap.lim{color:var(--danger)}
  .ntf .tl .cap small{display:block;font-weight:500;color:var(--gray-400);font-size:9.5px;letter-spacing:.04em;text-transform:uppercase}
  .ntf .tllegend{display:flex;flex-wrap:wrap;gap:18px;margin-top:34px;padding-left:6px}
  .ntf .tllegend span{font-size:11px;color:var(--gray-500);display:flex;align-items:center;gap:6px}
  .ntf .tllegend .b{width:9px;height:9px;border-radius:2px}
  .ntf .exemplo{font-size:12px;color:var(--gray-500);line-height:1.55;padding:0 20px 6px}
  .ntf .exemplo b{color:var(--gray-700);font-weight:600}

  .ntf .actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--gray-100)}
  .ntf .btn{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 22px;border-radius:10px;font:inherit;font-size:13.5px;font-weight:700;border:1px solid transparent;cursor:pointer;transition:background .15s}
  .ntf .btn svg{width:16px;height:16px}
  .ntf .btn-primary{background:var(--accent);color:#fff}
  .ntf .btn-primary:hover{background:var(--accent-dark)}
  .ntf .btn:disabled{opacity:.6;cursor:not-allowed}
  @media(max-width:1080px){.ntf .cfg{grid-template-columns:1fr}}

/* ──────────────────────────────────────────────────────────
   PAINEL IA  (escopo .iap)
   ────────────────────────────────────────────────────────── */
  .iap .kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}
  .iap .kpi{background:#fff;border:1px solid var(--gray-200);border-radius:14px;padding:17px 18px;box-shadow:0 1px 2px rgba(7,72,102,.05)}
  .iap .kpi .r{display:flex;align-items:center;gap:10px;margin-bottom:12px}
  .iap .kpi .ico{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none}
  .iap .kpi .ico svg{width:19px;height:19px}
  .iap .kpi .lab{font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--gray-400)}
  .iap .kpi .val{font-size:27px;font-weight:700;color:var(--primary);line-height:1;letter-spacing:-.02em}
  .iap .kpi .sb{font-size:12px;color:var(--gray-500);margin-top:8px}

  .iap .panel{background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:0 1px 2px rgba(7,72,102,.05);margin-bottom:18px;overflow:hidden}
  .iap .ph{display:flex;align-items:center;gap:12px;padding:15px 20px 13px;border-bottom:1px solid var(--gray-100)}
  .iap .ph .pi{width:34px;height:34px;border-radius:10px;background:#ede9fe;color:#6d28d9;display:grid;place-items:center;flex:none}
  .iap .ph .pi svg{width:18px;height:18px}
  .iap .ph .t{font-size:14px;font-weight:700;color:var(--primary)}
  .iap .ph .hint{font-size:11.5px;color:var(--gray-400);margin-top:2px}
  .iap .ph .act{margin-left:auto}
  .iap .btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;border-radius:9px;font:inherit;font-size:12.5px;font-weight:600;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
  .iap .btn svg{width:15px;height:15px}
  .iap .btn-primary{background:var(--primary);color:#fff}.iap .btn-primary:hover{background:var(--primary-dark)}
  .iap .btn-sm{height:30px;padding:0 11px;font-size:12px}

  .iap .sw input{display:none}
  .iap .sw label{display:block;width:44px;height:25px;border-radius:20px;background:var(--gray-300);position:relative;cursor:pointer;transition:background .2s;flex:none}
  .iap .sw label::after{content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
  .iap .sw input:checked+label{background:var(--success)}
  .iap .sw input:checked+label::after{transform:translateX(19px)}

  .iap .regra{display:flex;align-items:flex-start;gap:14px;padding:15px 20px;border-bottom:1px solid var(--gray-100)}
  .iap .regra:last-child{border-bottom:0}
  .iap .regra .sw{margin-top:2px}
  .iap .regra .body{flex:1;min-width:0}
  .iap .regra .hd{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
  .iap .regra .ti{font-size:13.5px;font-weight:700;color:var(--gray-800)}
  .iap .regra .cat{font-size:10.5px;font-weight:700;letter-spacing:.03em;background:var(--info-bg);color:var(--primary);border-radius:20px;padding:2px 9px}
  .iap .regra .off{font-size:10.5px;font-weight:700;background:var(--gray-100);color:var(--gray-500);border-radius:20px;padding:2px 9px}
  .iap .regra .desc{font-size:12.5px;color:var(--gray-500);line-height:1.5;margin-top:5px;white-space:pre-wrap}
  .iap .regra.inact{background:var(--gray-50)}
  .iap .regra.inact .ti{color:var(--gray-500)}
  .iap .regra .acts{display:flex;gap:6px;flex-shrink:0}
  .iap .ib{width:32px;height:32px;display:grid;place-items:center;background:#fff;color:var(--gray-500);border:1px solid var(--gray-200);border-radius:8px;cursor:pointer;transition:border-color .15s,color .15s}
  .iap .ib svg{width:15px;height:15px}
  .iap .ib:hover{border-color:var(--primary);color:var(--primary)}
  .iap .ib.dl:hover{border-color:var(--danger);color:var(--danger)}

  .iap .cfgrow{display:flex;align-items:flex-start;gap:14px;padding:16px 20px}
  .iap .cfgrow .ci{width:40px;height:40px;border-radius:11px;background:var(--warning-bg);color:var(--warning);display:grid;place-items:center;flex:none}
  .iap .cfgrow .ci svg{width:20px;height:20px}
  .iap .cfgrow b{font-size:13.5px;font-weight:700;color:var(--gray-800)}
  .iap .cfgrow .d{font-size:12px;color:var(--gray-500);margin-top:3px;line-height:1.55}
  .iap .cfgrow .d b{font-weight:600;color:var(--gray-700)}
  .iap .cfgrow .sw{margin-left:auto;margin-top:2px}

  .iap .limgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:16px 20px}
  .iap .lim{display:flex;align-items:center;gap:12px;border:1px solid var(--gray-200);border-radius:11px;padding:11px 13px}
  .iap .lim .lav{width:36px;height:36px;border-radius:9px;background:var(--info-bg);color:var(--primary);display:grid;place-items:center;font-weight:700;font-size:12px;flex:none}
  .iap .lim .ln{font-size:13px;font-weight:600;color:var(--gray-800);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .iap .lim .pm{display:flex;align-items:center;gap:6px;flex:none}
  .iap .lim input{width:64px;height:36px;text-align:center;font:inherit;font-size:14px;font-weight:700;color:var(--primary);border:1px solid var(--gray-200);border-radius:8px;font-variant-numeric:tabular-nums}
  .iap .lim input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(224,94,59,.14)}
  .iap .lim .pct{font-size:13px;font-weight:700;color:var(--gray-400)}
  .iap .limnote{font-size:11.5px;color:var(--gray-400);padding:0 20px 16px}
  .iap .empty{padding:30px 20px;text-align:center;color:var(--gray-400);font-size:13px}
  @media(max-width:1080px){.iap .kpis{grid-template-columns:1fr}.iap .limgrid{grid-template-columns:1fr}}
