/* ============================================================
   TEMA "PAINEL DE BORDO" — inspirado em referência de app de
   alto padrão (rail flutuante só com ícone, cards neutros com
   alguns poucos em gradiente cheio de destaque, medidor circular,
   pílulas). Paleta é a da marca (navy + dourado).
   ============================================================ */

.theme-premium {
  --n-navy-deep: #0A0F24;
  --n-navy: #131B3D;
  --n-navy-light: #232F63;
  --n-ink: #14192B;
  --n-ink-soft: #6B7290;
  --n-ink-faint: #A2A8C2;
  --n-gold: #C6870A;
  --n-gold-bright: #F0B43A;
  --n-gold-dim: #8A6A26;
  --n-cream: #F4F2ED;
  --n-chip: #EEEBE3;
  --n-border: #E5E1D6;
  --n-border-soft: #EFECE3;
  --n-glass-border: var(--n-border);
  --font-display: "Inter", -apple-system, sans-serif;
}

.theme-premium { background: var(--n-cream); color: var(--n-ink-soft); }
.theme-premium::before { content: none; }

.deck {
  display: flex; min-height: 100vh; padding: 18px; gap: 18px; box-sizing: border-box;
  background:
    radial-gradient(900px 500px at 15% -10%, rgba(198,135,10,.07), transparent 60%),
    radial-gradient(700px 500px at 100% 10%, rgba(19,27,61,.06), transparent 55%),
    var(--n-cream);
}

/* ---------- Rail: fino, flutuante, só ícone ---------- */
.theme-premium .rail {
  width: 72px; flex-shrink: 0;
  background: linear-gradient(190deg, var(--n-navy) 0%, var(--n-navy-deep) 100%);
  border-radius: 26px;
  display: flex; flex-direction: column; align-items: center;
  padding: 18px 0;
  position: sticky; top: 18px; height: calc(100vh - 36px);
  box-shadow: 0 16px 40px rgba(4,7,20,.3);
  z-index: 100;
}
.theme-premium .rail-logo { margin-bottom: 26px; }
.theme-premium .rail-logo img { width: 34px; height: 34px; border-radius: 10px; }
.theme-premium .rail-nav { display: flex; flex-direction: column; gap: 8px; flex: 1; }
.theme-premium .rail-bottom { display: flex; flex-direction: column; gap: 8px; align-items: center; }

.theme-premium .rail-item {
  width: 42px; height: 42px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  color: #8E96C0; position: relative;
  transition: background-color .18s ease, color .18s ease, transform .15s ease;
}
.theme-premium .rail-item:hover { background: rgba(255,255,255,.07); color: #fff; transform: scale(1.06); }
.theme-premium .rail-item.active { background: var(--n-gold); color: #fff; box-shadow: 0 3px 10px rgba(198,135,10,.3); }
.theme-premium .rail-item:active { transform: scale(.94); }

.theme-premium .rail-item::after {
  content: attr(data-tip);
  position: absolute; left: 56px; top: 50%; transform: translateY(-50%) translateX(-4px);
  background: var(--n-ink); color: #fff; font-size: 12px; font-weight: 700;
  padding: 6px 11px; border-radius: 8px; white-space: nowrap;
  opacity: 0; pointer-events: none; z-index: 500;
  transition: opacity .15s ease, transform .15s ease;
  box-shadow: 0 8px 20px rgba(4,7,20,.25);
}
.theme-premium .rail-item:hover::after { opacity: 1; transform: translateY(-50%) translateX(0); }

.theme-premium .rail-avatar {
  width: 40px; height: 40px; border-radius: 12px; margin-top: 4px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(140deg, var(--n-gold-bright), var(--n-gold));
  color: #fff; font-weight: 800; font-size: 12px; position: relative;
}
.theme-premium .rail-avatar::after {
  content: attr(data-tip);
  position: absolute; left: 50px; top: 50%; transform: translateY(-50%) translateX(-4px);
  background: var(--n-ink); color: #fff; font-size: 12px; font-weight: 700;
  padding: 6px 11px; border-radius: 8px; white-space: nowrap;
  opacity: 0; pointer-events: none; z-index: 500;
  transition: opacity .15s ease, transform .15s ease;
}
.theme-premium .rail-avatar:hover::after { opacity: 1; transform: translateY(-50%) translateX(0); }

/* ---------- Área principal ---------- */
.deck-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.theme-premium .deck-topline { display: flex; align-items: center; justify-content: space-between; padding: 4px 6px 18px; }
.theme-premium .deck-crumb strong { font-size: 15px; font-weight: 800; color: var(--n-ink); }
.theme-premium .deck-crumb span { font-size: 12px; color: var(--n-gold); font-weight: 700; margin-left: 8px; }
.theme-premium .deck-search {
  display: flex; align-items: center; gap: 8px;
  background: #fff; border: 1px solid var(--n-border); border-radius: 999px;
  padding: 9px 16px; width: 280px; color: var(--n-ink-faint);
}
.theme-premium .deck-search input { background: transparent; border: none; outline: none; font-size: 13px; width: 100%; color: var(--n-ink); }
.theme-premium .deck-search input::placeholder { color: var(--n-ink-faint); }

.theme-premium .page-top { padding: 0 6px 40px; }

/* ============================================================
   Bento — cards neutros (chip) + destaques em gradiente cheio
   ============================================================ */
.theme-premium h2 { font-family: var(--font-display); color: var(--n-ink); font-weight: 800; letter-spacing: -.02em; }

.theme-premium .card {
  background: rgba(255,255,255,.68);
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  border: 1px solid rgba(255,255,255,.6);
  box-shadow: 0 1px 2px rgba(20,25,43,.03), 0 12px 32px rgba(20,25,43,.05);
  border-radius: 22px;
}
.theme-premium .card-title { color: var(--n-ink); font-family: var(--font-display); font-weight: 800; font-size: 15px; }
.theme-premium .card-hint { color: var(--n-ink-faint); }

.bento { display: flex; gap: 14px; margin-bottom: 14px; align-items: stretch; }
.bento-gauge, .bento-feature, .bento-chip { border-radius: 24px; padding: 20px; position: relative; overflow: hidden; flex: 1; min-width: 0; }
.bento-gauge {
  background: rgba(255,255,255,.68); backdrop-filter: blur(18px) saturate(160%); -webkit-backdrop-filter: blur(18px) saturate(160%);
  border: 1px solid rgba(255,255,255,.6); box-shadow: 0 1px 2px rgba(20,25,43,.03), 0 12px 32px rgba(20,25,43,.05);
  display: flex; flex-direction: column; align-items: center; text-align: center; justify-content: center;
}
.bento-feature {
  background: linear-gradient(150deg, var(--n-navy-light) 0%, var(--n-navy) 55%, var(--n-navy-deep) 100%);
  color: #fff; display: flex; flex-direction: column; justify-content: space-between;
  box-shadow: 0 12px 32px rgba(10,15,36,.22);
}
.bento-feature::after { content: ""; position: absolute; inset: 0; background: radial-gradient(220px 160px at 95% -10%, rgba(240,180,58,.22), transparent 72%); }
.bento-feature-value { font-family: var(--font-display); font-size: 32px; font-weight: 800; letter-spacing: -.02em; position: relative; z-index: 1; }
.bento-feature-label { font-size: 12px; opacity: .8; font-weight: 600; position: relative; z-index: 1; }
.bento-chip {
  background: rgba(255,255,255,.68); backdrop-filter: blur(18px) saturate(160%); -webkit-backdrop-filter: blur(18px) saturate(160%);
  border: 1px solid rgba(255,255,255,.6); box-shadow: 0 1px 2px rgba(20,25,43,.03), 0 12px 32px rgba(20,25,43,.05);
  display: flex; flex-direction: column; justify-content: center;
}
.bento-chip-value { font-family: var(--font-display); font-size: 26px; font-weight: 800; color: var(--n-ink); letter-spacing: -.02em; }
.bento-chip-label { font-size: 12px; color: var(--n-ink-faint); font-weight: 600; margin-top: 4px; }
.bento-trend { font-size: 11px; font-weight: 700; margin-top: 8px; }
.bento-trend.up { color: #1F9D6B; }
.bento-trend.flat { color: var(--n-ink-faint); }
@media (max-width: 1100px) { .bento { flex-wrap: wrap; } .bento-gauge, .bento-feature, .bento-chip { flex: 1 1 45%; } }

/* Medidor circular */
.gauge-ring { width: 108px; height: 108px; border-radius: 50%; position: relative; margin-bottom: 10px; }
.gauge-ring svg { transform: rotate(-90deg); }
.gauge-ring-value {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  flex-direction: column; font-family: var(--font-display); font-weight: 800; color: var(--n-ink);
}
.gauge-ring-value small { font-size: 10px; font-weight: 700; color: var(--n-ink-faint); }
.bento-gauge-label { font-size: 12.5px; font-weight: 700; color: var(--n-ink); }
.bento-gauge-hint { font-size: 11px; color: var(--n-ink-faint); margin-top: 2px; }

/* ---------- Pílulas de ação (estilo toggle) ---------- */
.pill-actions { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.pill-action {
  display: flex; align-items: center; justify-content: space-between;
  background: var(--n-chip); border-radius: 18px; padding: 14px 16px;
  transition: transform .15s ease, box-shadow .15s ease;
}
.pill-action:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(20,25,43,.08); }
.pill-action.destaque { background: linear-gradient(135deg, var(--n-gold-bright), var(--n-gold)); color: #fff; }
.pill-action-label { font-size: 13px; font-weight: 700; color: var(--n-ink); }
.pill-action.destaque .pill-action-label { color: #fff; }
.pill-action-icon { width: 30px; height: 30px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0; }

/* ---------- Cartões de entidade / alerta / transação (mantidos, cor ajustada) ---------- */
.theme-premium .entity-card, .theme-premium .alert-card {
  border-radius: 20px;
  background: rgba(255,255,255,.68); backdrop-filter: blur(16px) saturate(160%); -webkit-backdrop-filter: blur(16px) saturate(160%);
  border: 1px solid rgba(255,255,255,.6); box-shadow: 0 1px 2px rgba(20,25,43,.03), 0 8px 24px rgba(20,25,43,.04);
  transition: box-shadow .2s ease, transform .15s ease;
}
.theme-premium .entity-card:hover, .theme-premium .alert-card:hover { box-shadow: 0 10px 26px rgba(20,25,43,.09); transform: translateY(-2px); }
.theme-premium .entity-card-avatar { border-radius: 12px; background: var(--n-chip); color: var(--n-gold-dim); }
.theme-premium .entity-card-title, .theme-premium .alert-card-title { color: var(--n-ink); }
.theme-premium .entity-card-meta, .theme-premium .alert-card-meta, .theme-premium .txn-meta { color: var(--n-ink-faint); }
.theme-premium .alert-card-dia { border-radius: 14px; background: var(--n-chip); color: var(--n-ink); }
.theme-premium .alert-card-urgente .alert-card-dia { background: #FDECEC; color: #D64545; }

.theme-premium .kanban-col { background: var(--n-chip); }
.theme-premium .kanban-card { background: #fff; box-shadow: 0 1px 2px rgba(20,25,43,.04); transition: box-shadow .2s ease, transform .15s ease; }
.theme-premium .kanban-card:hover { box-shadow: 0 8px 20px rgba(20,25,43,.1); transform: translateY(-2px); }
.theme-premium .kanban-card-title { color: var(--n-ink); }
.theme-premium .kanban-card-cliente { color: var(--n-ink-soft); }
.theme-premium .kanban-card-meta { color: var(--n-ink-faint); }
.theme-premium .kanban-card-valor { color: var(--n-ink); }
.theme-premium .txn-row { border-bottom-color: var(--n-border-soft); }
.theme-premium .txn-desc { color: var(--n-ink); }
.theme-premium .txn-nf input { border-color: var(--n-border); }
.theme-premium .txn-nf input:focus { border-color: var(--n-gold) !important; }

/* ---------- Botões ---------- */
.theme-premium .btn { border-radius: 14px; font-weight: 700; transition: all .15s ease; }
.theme-premium .btn-gold { background: linear-gradient(135deg, var(--n-gold-bright), var(--n-gold)); color: #fff; box-shadow: 0 2px 8px rgba(198,135,10,.22); border: none; }
.theme-premium .btn-gold:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(198,135,10,.28); }
.theme-premium .btn-navy { background: var(--n-ink); color: #fff; }
.theme-premium .btn-navy:hover { transform: translateY(-1px); }
.theme-premium .btn-ghost { background: var(--n-chip); color: var(--n-ink); border: none; }
.theme-premium .btn-ghost:hover { background: var(--n-border); }
.theme-premium .btn:active { transform: scale(.97); }
.theme-premium .btn:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(198,135,10,.3); }

.theme-premium table.data thead th { background: var(--n-chip); color: var(--n-ink-soft); border-radius: 0; font-weight: 700; border: none; }
.theme-premium table.data thead th:first-child { border-radius: 12px 0 0 12px; }
.theme-premium table.data thead th:last-child { border-radius: 0 12px 12px 0; }
.theme-premium table.data td { color: var(--n-ink-soft); border-bottom-color: var(--n-border-soft); }
.theme-premium table.data tbody tr:hover { background: var(--n-chip); }

.theme-premium .empty { color: var(--n-ink-faint); }
.theme-premium .empty::before { content: none; }
.theme-premium .text-soft { color: var(--n-ink-faint); }

.theme-premium input, .theme-premium select, .theme-premium textarea { border-radius: 12px !important; transition: border-color .15s ease, box-shadow .15s ease; }
.theme-premium input:focus, .theme-premium select:focus, .theme-premium textarea:focus {
  outline: none; border-color: var(--n-gold) !important; box-shadow: 0 0 0 3px rgba(198,135,10,.13);
}
.theme-premium input[type="file"] { font-size: 12.5px; color: var(--n-ink-soft); padding: 8px; border: 1px solid var(--n-border); background: #fff; cursor: pointer; }
.theme-premium input[type="file"]::file-selector-button { font-family: inherit; font-size: 12.5px; font-weight: 700; cursor: pointer; padding: 7px 14px; margin-right: 10px; border: none; border-radius: 10px; background: var(--n-gold); color: #fff; }

.theme-premium ::-webkit-scrollbar { width: 10px; height: 10px; }
.theme-premium ::-webkit-scrollbar-track { background: transparent; }
.theme-premium ::-webkit-scrollbar-thumb { background: var(--n-border); border-radius: 6px; }

@keyframes entrada-suave { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.theme-premium .page-top > * { animation: entrada-suave .4s cubic-bezier(.2,.7,.3,1) both; }
.theme-premium .page-top > *:nth-child(2) { animation-delay: .04s; }
.theme-premium .page-top > *:nth-child(3) { animation-delay: .08s; }

/* ---------- Assistente em passos ---------- */
.wizard-progress { display:flex; align-items:flex-start; margin: 10px 0 26px; }
.wizard-dot { display:flex; flex-direction:column; align-items:center; gap:8px; font-size:11.5px; font-weight:700; color: var(--n-ink-faint); flex-shrink:0; }
.wizard-dot span {
  width:34px; height:34px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  font-size:13px; font-family: var(--font-display); font-weight: 700;
  background: #fff; border:1.5px solid var(--n-border); color: var(--n-ink-faint);
  transition: all .2s ease;
}
.wizard-dot.active span { background: linear-gradient(135deg, var(--n-gold-bright), var(--n-gold)); border-color:transparent; color: #fff; }
.wizard-dot.done span { background: var(--n-chip); border-color: transparent; color: transparent; font-size: 0; position: relative; }
.wizard-dot.done span::after { content: "✓"; color: var(--n-gold-dim); font-size: 15px; position: absolute; }
.wizard-dot.active, .wizard-dot.done { color: var(--n-ink); }
.wizard-line { flex:1; height:2px; background: var(--n-border); margin: 17px 4px 0; }
.wizard-nav { display:flex; justify-content:space-between; padding-top:16px; }

/* ---------- Modal ---------- */
.modal-overlay { position: fixed; inset: 0; z-index: 200; background: rgba(10,15,36,.5); display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity .18s ease; }
.modal-overlay.aberto { opacity: 1; pointer-events: all; }
.modal-box { background: #fff; border-radius: 24px; padding: 28px 26px 22px; width: 380px; max-width: 90vw; text-align: center; box-shadow: 0 24px 64px rgba(4,7,20,.35); transform: scale(.94) translateY(6px); opacity: 0; transition: transform .2s cubic-bezier(.2,.8,.3,1.15), opacity .18s ease; }
.modal-overlay.aberto .modal-box { transform: scale(1) translateY(0); opacity: 1; }
.modal-icon { width: 46px; height: 46px; border-radius: 16px; margin: 0 auto 14px; display: flex; align-items: center; justify-content: center; background: #FDECEC; color: #D64545; font-size: 20px; }
.modal-mensagem { font-size: 14px; color: var(--n-ink); line-height: 1.5; margin: 0 0 22px; }
.modal-acoes { display: flex; gap: 10px; justify-content: center; }
.modal-acoes .btn { flex: 1; justify-content: center; }

/* ---------- Login ---------- */
.login-night { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: radial-gradient(1100px 700px at 50% 20%, #232F63 0%, #0A0F24 62%); font-family: "Inter", sans-serif; }
.login-night-emblem { display: none; }
.login-night-card { background: #F4F2ED; border-radius: 28px; box-shadow: 0 24px 64px rgba(4,7,20,.45); padding: 44px 40px; width: 380px; text-align: center; }
.login-night-card img { height: 48px; margin-bottom: 16px; }
.login-night-card h1 { font-size: 21px; font-weight: 800; margin: 0 0 6px; color: #14192B; letter-spacing: -.01em; }
.login-night-card p.sub { font-size: 12px; color: #C6870A; margin: 0 0 28px; letter-spacing: .06em; font-weight: 700; text-transform: uppercase; }
.login-night-card .field { text-align: left; margin-bottom: 16px; }
.login-night-card .field label { display: block; font-size: 10.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #A2A8C2; margin-bottom: 6px; }
.login-night-card .field input { width: 100%; padding: 11px 16px; font-size: 13.5px; background: #fff; border: 1px solid #E5E1D6; border-radius: 14px; color: #14192B; }
.login-night-card .field input:focus { outline: none; border-color: #C6870A; box-shadow: 0 0 0 3px rgba(198,135,10,.14); }
.login-night-card .btn { width: 100%; justify-content: center; margin-top: 8px; padding: 12px 20px; border-radius: 14px; font-size: 13.5px; font-weight: 700; border: none; cursor: pointer; background: linear-gradient(135deg, #F0B43A, #C6870A); color: #fff; box-shadow: 0 6px 16px rgba(198,135,10,.3); }
.login-night-card .btn:hover { transform: translateY(-1px); box-shadow: 0 8px 22px rgba(198,135,10,.4); }
.login-night .notice { border-radius: 14px; padding: 12px 14px; font-size: 12.5px; margin-bottom: 16px; text-align: left; }
.login-night .notice-green { background: #F0FDF4; color: #15803D; border: 1px solid #BBF7D0; }
.login-night .notice-red { background: #FEF2F2; color: #B91C1C; border: 1px solid #FECACA; }


/* ============================================================
   PALETA SEMÂNTICA — a cor diz a situação, em qualquer tela:
   vermelho = urgente/pendente · laranja = hoje/atenção ·
   dourado = aguardando · azul = novo/informativo ·
   verde = ok/pago/concluído · teal = entregue · cinza = neutro
   ============================================================ */
:root {
  --c-azul-bg:#E6EDFB;    --c-azul:#2F4FA8;
  --c-vermelho-bg:#FDE9E9; --c-vermelho:#C93A3A;
  --c-laranja-bg:#FFEADB; --c-laranja:#C4581A;
  --c-dourado-bg:#FBEFCF; --c-dourado:#9A6A05;
  --c-verde-bg:#DFF5E8;   --c-verde:#178757;
  --c-teal-bg:#D9F2F0;    --c-teal:#0E7C78;
  --c-roxo-bg:#EDE6FB;    --c-roxo:#6B45B8;
  --c-rosa-bg:#FCE6F0;    --c-rosa:#B6336F;
  --c-cinza-bg:#ECEEF3;   --c-cinza:#5D6478;
}

/* Selos de status (processo, pagamento…) */
.st { display:inline-flex; align-items:center; gap:6px; padding:5px 12px; border-radius:999px; font-weight:800; font-size:12px; }
.st::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.st-azul{background:var(--c-azul-bg);color:var(--c-azul)}       .st-vermelho{background:var(--c-vermelho-bg);color:var(--c-vermelho)}
.st-laranja{background:var(--c-laranja-bg);color:var(--c-laranja)} .st-dourado{background:var(--c-dourado-bg);color:var(--c-dourado)}
.st-verde{background:var(--c-verde-bg);color:var(--c-verde)}     .st-teal{background:var(--c-teal-bg);color:var(--c-teal)}
.st-cinza{background:var(--c-cinza-bg);color:var(--c-cinza)}
select.st { appearance:none; -webkit-appearance:none; padding-right:14px; }

/* Crachás coloridos dos clientes (cada um com a sua cor, sempre a mesma) */
.entity-card-avatar.av-0{background:var(--c-azul-bg)!important;color:var(--c-azul)!important}
.entity-card-avatar.av-1{background:var(--c-verde-bg)!important;color:var(--c-verde)!important}
.entity-card-avatar.av-2{background:var(--c-dourado-bg)!important;color:var(--c-dourado)!important}
.entity-card-avatar.av-3{background:var(--c-roxo-bg)!important;color:var(--c-roxo)!important}
.entity-card-avatar.av-4{background:var(--c-rosa-bg)!important;color:var(--c-rosa)!important}
.entity-card-avatar.av-5{background:var(--c-teal-bg)!important;color:var(--c-teal)!important}

/* ---------- Sino de notificações ---------- */
.deck-actions { display:flex; align-items:center; gap:12px; }
.bell-wrap { position:relative; }
.bell-btn { width:42px; height:42px; border-radius:50%; border:1px solid var(--n-border); background:#fff; color:var(--n-ink-soft);
  display:flex; align-items:center; justify-content:center; cursor:pointer; position:relative; transition:transform .15s ease, box-shadow .15s ease; }
.bell-btn:hover { transform:translateY(-1px); box-shadow:0 6px 16px rgba(20,25,43,.1); color:var(--n-ink); }
.bell-btn.tem-urgente { color:var(--c-vermelho); border-color:rgba(201,58,58,.35); animation:sino-balanca 2.6s ease-in-out infinite; }
@keyframes sino-balanca { 0%,86%,100%{transform:rotate(0)} 90%{transform:rotate(12deg)} 94%{transform:rotate(-10deg)} 97%{transform:rotate(6deg)} }
.bell-badge { position:absolute; top:-4px; right:-4px; min-width:19px; height:19px; padding:0 5px; border-radius:999px;
  background:var(--c-dourado); color:#fff; font-size:11px; font-weight:800; display:flex; align-items:center; justify-content:center; border:2px solid var(--n-cream); }
.bell-badge.urgente { background:var(--c-vermelho); }
.bell-menu { position:absolute; right:0; top:52px; width:370px; max-width:88vw; z-index:600; background:rgba(255,255,255,.96);
  backdrop-filter:blur(18px); border:1px solid var(--n-border); border-radius:20px; box-shadow:0 24px 60px rgba(10,15,36,.22);
  overflow:hidden; opacity:0; transform:translateY(-6px) scale(.98); pointer-events:none; transition:opacity .16s ease, transform .16s ease; }
.bell-menu.aberto { opacity:1; transform:none; pointer-events:all; }
.bell-head { padding:14px 18px; font-weight:800; font-size:14px; color:var(--n-ink); border-bottom:1px solid var(--n-border-soft); }
.bell-item { display:flex; align-items:center; gap:12px; padding:13px 16px; border-left:4px solid transparent; border-bottom:1px solid var(--n-border-soft); transition:background .12s ease; }
.bell-item:hover { background:var(--n-cream); }
.bell-item.bell-vermelho{border-left-color:var(--c-vermelho)} .bell-item.bell-dourado{border-left-color:var(--c-dourado)} .bell-item.bell-azul{border-left-color:var(--c-azul)}
.bell-ic { width:36px; height:36px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:17px; flex-shrink:0; }
.bell-vermelho .bell-ic{background:var(--c-vermelho-bg)} .bell-dourado .bell-ic{background:var(--c-dourado-bg)} .bell-azul .bell-ic{background:var(--c-azul-bg)}
.bell-txt { flex:1; min-width:0; display:flex; flex-direction:column; }
.bell-txt strong { font-size:13px; color:var(--n-ink); }
.bell-txt small { font-size:11.5px; color:var(--n-ink-faint); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bell-seta { color:var(--n-ink-faint); font-size:20px; }
.bell-vazio { padding:26px 18px; text-align:center; color:var(--c-verde); font-weight:700; font-size:13px; }
.bell-rodape { display:block; text-align:center; padding:12px; font-size:12.5px; font-weight:800; color:var(--n-gold-dim); background:var(--n-cream); }

/* ---------- Alertas / prazos ---------- */
.resumo-chips { display:flex; gap:12px; margin:16px 0 8px; flex-wrap:wrap; }
.resumo-chip { flex:1 1 150px; border-radius:18px; padding:14px 18px; display:flex; align-items:baseline; gap:10px; }
.resumo-chip strong { font-size:28px; font-weight:900; letter-spacing:-.02em; }
.resumo-chip span { font-size:12.5px; font-weight:700; }
.rc-vermelho{background:var(--c-vermelho-bg);color:var(--c-vermelho)} .rc-laranja{background:var(--c-laranja-bg);color:var(--c-laranja)}
.rc-dourado{background:var(--c-dourado-bg);color:var(--c-dourado)}   .rc-azul{background:var(--c-azul-bg);color:var(--c-azul)}
.grupo-titulo { display:flex; align-items:center; gap:10px; font-weight:800; font-size:14.5px; margin:22px 0 10px; color:var(--n-ink); }
.grupo-titulo span { font-size:12px; padding:2px 10px; border-radius:999px; }
.gt-vermelho span{background:var(--c-vermelho-bg);color:var(--c-vermelho)} .gt-laranja span{background:var(--c-laranja-bg);color:var(--c-laranja)}
.gt-dourado span{background:var(--c-dourado-bg);color:var(--c-dourado)}   .gt-azul span{background:var(--c-azul-bg);color:var(--c-azul)}
.alert-card { align-items:flex-start; border-left:5px solid var(--n-border); }
.alert-card.alert-vermelho{border-left-color:var(--c-vermelho)} .alert-card.alert-laranja{border-left-color:var(--c-laranja)}
.alert-card.alert-dourado{border-left-color:var(--c-dourado)}   .alert-card.alert-azul{border-left-color:var(--c-azul)}
.alert-vermelho .alert-card-dia{background:var(--c-vermelho-bg)!important;color:var(--c-vermelho)!important}
.alert-laranja .alert-card-dia{background:var(--c-laranja-bg)!important;color:var(--c-laranja)!important}
.alert-dourado .alert-card-dia{background:var(--c-dourado-bg)!important;color:var(--c-dourado)!important}
.alert-azul .alert-card-dia{background:var(--c-azul-bg)!important;color:var(--c-azul)!important}
.alert-card-meta { display:flex; flex-wrap:wrap; gap:4px 12px; }
.alert-quando { font-weight:800; }
.alert-vermelho .alert-quando{color:var(--c-vermelho)} .alert-laranja .alert-quando{color:var(--c-laranja)}
.alert-dourado .alert-quando{color:var(--c-dourado)}   .alert-azul .alert-quando{color:var(--c-azul)}
.alert-acoes { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.alert-acoes form { margin:0; }
.btn-ok { background:var(--c-verde-bg)!important; color:var(--c-verde)!important; border:none; }
.btn-ok:hover { background:var(--c-verde)!important; color:#fff!important; }

/* ---------- Processo: resumo e pendências ---------- */
.resumo-linhas { display:flex; flex-direction:column; gap:9px; margin-top:12px; }
.resumo-linhas > div { display:flex; justify-content:space-between; gap:14px; font-size:13px; padding-bottom:8px; border-bottom:1px dashed var(--n-border); }
.resumo-linhas span { color:var(--n-ink-faint); font-weight:600; }
.resumo-linhas strong { color:var(--n-ink); text-align:right; }
.progress { height:10px; border-radius:999px; background:var(--c-cinza-bg); overflow:hidden; margin-top:6px; }
.progress-fill { height:100%; border-radius:999px; background:linear-gradient(90deg,var(--c-dourado),var(--c-verde)); transition:width .5s ease; }
.pend { display:flex; gap:12px; align-items:flex-start; padding:11px 14px; border-radius:14px; margin-top:9px; border-left:4px solid; }
.pend-ic { font-size:18px; }
.pend-t { font-weight:800; font-size:13px; }
.pend-d { font-size:12px; opacity:.85; margin-top:2px; }
.pend-vermelho{background:var(--c-vermelho-bg);color:var(--c-vermelho);border-color:var(--c-vermelho)}
.pend-dourado{background:var(--c-dourado-bg);color:var(--c-dourado);border-color:var(--c-dourado)}
.pend-azul{background:var(--c-azul-bg);color:var(--c-azul);border-color:var(--c-azul)}
.pend-verde{background:var(--c-verde-bg);color:var(--c-verde);border-color:var(--c-verde)}

/* ---------- Editor de documento ---------- */
.doc-edit-layout { display:flex; gap:18px; align-items:flex-start; margin-top:14px; }
.doc-edit-form { flex:1 1 55%; min-width:0; }
.doc-edit-preview { flex:1 1 45%; position:sticky; top:16px; }
.doc-edit-preview iframe { width:100%; height:78vh; border:1px solid var(--n-border); border-radius:12px; background:#fff; }
.doc-edit-checks { display:flex; flex-wrap:wrap; gap:8px 22px; }
@media (max-width:1100px){ .doc-edit-layout{flex-direction:column} .doc-edit-preview{position:static;width:100%} }

/* ---------- Dashboard: cartões com cor da situação ---------- */
.bento-chip.rc-ok { border-top:4px solid var(--c-verde); }
.bento-chip.rc-alerta { border-top:4px solid var(--c-vermelho); background:linear-gradient(180deg,var(--c-vermelho-bg),rgba(255,255,255,.7)); }
.bento-chip.rc-atencao { border-top:4px solid var(--c-dourado); background:linear-gradient(180deg,var(--c-dourado-bg),rgba(255,255,255,.7)); }
.bento-chip.rc-alerta .bento-chip-value{color:var(--c-vermelho)} .bento-chip.rc-atencao .bento-chip-value{color:var(--c-dourado)}

/* KPIs com a cor da situação */
.kpi.kpi-verde{background:linear-gradient(160deg,var(--c-verde-bg),rgba(255,255,255,.75))!important;border-color:rgba(23,135,87,.25)!important}
.kpi.kpi-vermelho{background:linear-gradient(160deg,var(--c-vermelho-bg),rgba(255,255,255,.75))!important;border-color:rgba(201,58,58,.25)!important}
.kpi.kpi-dourado{background:linear-gradient(160deg,var(--c-dourado-bg),rgba(255,255,255,.75))!important;border-color:rgba(154,106,5,.25)!important}
.kpi.kpi-azul{background:linear-gradient(160deg,var(--c-azul-bg),rgba(255,255,255,.75))!important;border-color:rgba(47,79,168,.25)!important}
.kpi.kpi-verde .kpi-value{color:var(--c-verde)!important} .kpi.kpi-vermelho .kpi-value{color:var(--c-vermelho)!important}
.kpi.kpi-dourado .kpi-value{color:var(--c-dourado)!important} .kpi.kpi-azul .kpi-value{color:var(--c-azul)!important}
.kpi .kpi-badge{background:rgba(255,255,255,.75)!important}

/* ---------- Oracle: painel de leitura de foto ---------- */
.oracle-leitor { margin: 6px 0 14px; }
.oracle-resultado { margin-top: 10px; }
.oracle-painel { display: flex; flex-direction: column; gap: 8px; background: var(--n-cream); border-radius: 14px; padding: 12px 14px; }
.oracle-item { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.oracle-valor { font-weight: 800; font-size: 14px; color: var(--n-ink); background: #fff; padding: 4px 10px; border-radius: 8px; border: 1px solid var(--n-border); }

/* ---------- Botão de excluir (ícone pequeno e discreto) ---------- */
.btn-icon-excluir {
  width: 34px; height: 34px; border-radius: 10px; border: 1px solid transparent;
  background: transparent; color: var(--n-ink-faint); font-size: 15px; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  transition: background .15s ease, color .15s ease, transform .1s ease;
  flex-shrink: 0;
}
.btn-icon-excluir:hover { background: var(--c-vermelho-bg); color: var(--c-vermelho); }
.btn-icon-excluir:active { transform: scale(.92); }


/* ---------- Dados complementares do BADE (bloco recolhível) ---------- */
.bade-detalhes { margin-top: 14px; background: rgba(255,255,255,.5); border: 1px solid rgba(198,135,10,.14); border-radius: 12px; padding: 12px 16px; }
.bade-detalhes > summary { cursor: pointer; font-weight: 700; color: var(--navy-dark); }
.bade-equip { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 4px 12px; }

.oracle-rotulo { min-width: 120px; font-size: 12px; font-weight: 700; color: var(--n-ink-soft, #6b7280); text-transform: uppercase; letter-spacing: .02em; }
.oracle-vazio { opacity: .8; }
.oracle-texto { margin-top: 6px; }
.oracle-texto summary { cursor: pointer; font-size: 12.5px; color: var(--n-ink-soft, #6b7280); }
.oracle-texto pre { max-height: 180px; overflow: auto; white-space: pre-wrap; font-size: 12px; background: #fff; border: 1px solid var(--n-border); border-radius: 8px; padding: 8px 10px; margin: 6px 0 0; }
