/* ===================================================================
   LicitaPRO — Tema ME Telecom (verde #00874A + âmbar #E8A50C)
   Identidade: sidebar clara, hairlines (não sombras), tipografia
   Fraunces (títulos) + Hanken Grotesk (corpo) + IBM Plex Mono (números).
   Carregado por último; !important onde precisa vencer o CSS das páginas.
   =================================================================== */
:root{
  --me-accent:#00874A; --me-accent-dark:#066B3D; --me-accent-soft:#E0F0E7;
  --me-gold:#E8A50C; --me-money:#00874A;
  --me-paper:#F5F7F6; --me-surface:#FFFFFF; --me-surface-2:#F1F5F2;
  --me-text:#15211B; --me-text-2:#4F5B55; --me-text-3:#88928C; --me-label:#9AA39E;
  --me-line:rgba(16,40,28,.11); --me-line-2:rgba(16,40,28,.17);
  --me-r:6px; --me-r-lg:9px;
  /* fases */
  --f-analise:#E8A50C; --f-proposta:#2E7DA6; --f-lance:#C2691A; --f-sessao:#00874A;
}

/* ---------- ANTI-OVERFLOW (mantido) ---------- */
*{min-width:0;}
img,svg,video,canvas{max-width:100%;}
p,li,td,th,dd,dt,figcaption,blockquote,small,label,span{overflow-wrap:break-word;word-break:break-word;}
h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;}
td,th{overflow-wrap:anywhere;vertical-align:middle;}

/* ---------- TIPOGRAFIA ---------- */
body,input,select,textarea,button{
  font-family:'Hanken Grotesk','Segoe UI',system-ui,-apple-system,sans-serif!important;
  font-variant-numeric:tabular-nums;
}
body{background:var(--me-paper)!important;color:var(--me-text);line-height:1.5;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,.serif,.page-title,.header-title,.card-title,.licitacao-titulo,.detalhe-titulo{
  font-family:'Fraunces',Georgia,serif!important;letter-spacing:-.005em;font-weight:500!important;
}
h1{font-size:1.9rem!important;line-height:1.1!important;}
h2{font-size:1.4rem!important;}
.mono,.badge,.nav-badge,.kpi-valor,.kpi-card .valor,[class*="valor"],[class*="-num"],[class*="count"],
.precos-kpi,.cnpj,.uasg{font-family:'IBM Plex Mono',ui-monospace,monospace!important;font-feature-settings:"tnum";}
::selection{background:rgba(0,135,74,.18);}

/* ---------- SIDEBAR CLARA (verde ME) ---------- */
.layout-sidebar{background:var(--me-surface)!important;border-right:1px solid var(--me-line)!important;box-shadow:none!important;}
.sidebar-logo{color:var(--me-text)!important;border-bottom:1px solid var(--me-line)!important;font-family:'Fraunces',serif!important;}
.sidebar-logo .toggle-btn{color:var(--me-accent)!important;}
.sidebar-group-title{color:var(--me-label)!important;font-weight:600!important;letter-spacing:.11em!important;}
.sidebar-link{color:var(--me-text-2)!important;border-radius:6px!important;margin:1px 9px!important;font-weight:500!important;}
.sidebar-link svg{color:var(--me-text-3)!important;}
.sidebar-link:hover{background:var(--me-surface-2)!important;color:var(--me-text)!important;}
.sidebar-link:hover svg{color:var(--me-text)!important;}
.sidebar-link.active{background:var(--me-accent-soft)!important;color:var(--me-accent)!important;font-weight:600!important;box-shadow:inset 2px 0 0 var(--me-accent)!important;}
.sidebar-link.active svg{color:var(--me-accent)!important;}
.sidebar-logout{border-top:1px solid var(--me-line)!important;}
.sidebar-logout button{color:var(--me-text-3)!important;}
.sidebar-logout button:hover{background:#FAE8E6!important;color:#C0392B!important;}

/* ---------- HEADER / TOPBAR ---------- */
.layout-header{background:var(--me-surface)!important;border-bottom:1px solid var(--me-line)!important;box-shadow:none!important;backdrop-filter:none!important;}
.header-title{font-family:'Fraunces',serif!important;font-weight:500!important;color:var(--me-text)!important;}
.header-search{background:var(--me-paper)!important;border:1px solid var(--me-line)!important;border-radius:6px!important;}
.header-search:focus-within{border-color:var(--me-accent)!important;box-shadow:0 0 0 3px rgba(0,135,74,.12)!important;}
.header-avatar{background:var(--me-accent)!important;border-radius:6px!important;font-family:'IBM Plex Mono',monospace!important;box-shadow:none!important;}

/* ---------- CARDS / PAINÉIS: hairline, sem sombra fofa ---------- */
.card,.panel{
  background:var(--me-surface)!important;border:1px solid var(--me-line)!important;
  border-radius:var(--me-r-lg)!important;box-shadow:none!important;
}
.card:hover{border-color:var(--me-line-2)!important;box-shadow:none!important;}

/* ---------- BOTÕES ---------- */
.btn{border-radius:var(--me-r)!important;font-weight:500!important;border:1px solid var(--me-line-2);}
.btn-primary{background:var(--me-accent)!important;color:#fff!important;border-color:var(--me-accent)!important;box-shadow:none!important;}
.btn-primary:hover{background:var(--me-accent-dark)!important;transform:none!important;}
.btn-secondary{background:var(--me-surface)!important;color:var(--me-text)!important;border:1px solid var(--me-line-2)!important;}
.btn-secondary:hover{border-color:var(--me-accent)!important;color:var(--me-accent)!important;background:var(--me-surface)!important;}
.btn-danger{background:#C0392B!important;border-color:#C0392B!important;color:#fff!important;}
.btn:active{transform:none!important;}
.btn:focus-visible{outline:2px solid var(--me-accent);outline-offset:2px;}

/* ---------- BADGES / FASES ---------- */
.badge{border-radius:var(--me-r)!important;font-weight:600!important;border:1px solid transparent;letter-spacing:.02em;}
.badge-teal{background:var(--me-accent-soft)!important;color:var(--me-accent-dark)!important;}
.badge-success{background:#E0F0E7!important;color:#066B3D!important;}
.badge-orange{background:#FAEBDB!important;color:#964F12!important;}
.badge-danger{background:#FAE8E6!important;color:#C0392B!important;}

/* ---------- INPUTS ---------- */
input,select,textarea{border:1px solid var(--me-line)!important;border-radius:var(--me-r)!important;background:#fff!important;color:var(--me-text)!important;}
input:focus,select:focus,textarea:focus{border-color:var(--me-accent)!important;box-shadow:0 0 0 3px rgba(0,135,74,.15)!important;outline:none!important;}
label{color:var(--me-text-2);font-weight:500;}

/* ---------- TABELAS (hairline) ---------- */
thead th{background:var(--me-surface-2)!important;color:var(--me-text-2)!important;border-bottom:1px solid var(--me-line)!important;font-weight:600!important;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem!important;}
tbody td{border-bottom:1px solid var(--me-line)!important;color:var(--me-text-2);}
tbody tr:hover{background:var(--me-surface-2)!important;}

/* ---------- LINKS / FOCO ---------- */
a{color:var(--me-accent);} a:hover{color:var(--me-accent-dark);}
a:focus-visible,button:focus-visible{outline:2px solid var(--me-accent);outline-offset:2px;border-radius:4px;}

/* ---------- CONTEÚDO + SCROLLBAR ---------- */
.layout-content{background:var(--me-paper)!important;}
::-webkit-scrollbar{width:9px;height:9px;}
::-webkit-scrollbar-thumb{background:#cdd7d1!important;border-radius:6px;}
::-webkit-scrollbar-thumb:hover{background:var(--me-accent)!important;}

/* ---------- DISPUTA DE LANCES — painel de info (corrige rótulos grudados) ---------- */
.disputa-info-row{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:16px 24px!important;padding:14px 0!important;
  border-top:1px solid var(--me-line)!important;border-bottom:1px solid var(--me-line)!important;margin:14px 0!important;
}
.disputa-info-row > div{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0;}
.disputa-info-row label{
  font-size:10.5px!important;letter-spacing:.09em!important;text-transform:uppercase!important;
  color:var(--me-text-3)!important;font-weight:600!important;display:block!important;margin:0!important;
}
.disputa-info-row strong{
  font-size:14px!important;font-weight:600!important;color:var(--me-text)!important;
  font-family:'IBM Plex Mono',monospace!important;line-height:1.3;
}
.disputa-info-row .disputa-status-pill{align-self:flex-start;}
/* linha de ações (Robô ativo / avisos / monitoramento) */
.disputa-toggle-row{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;margin:12px 0!important;}
/* grade de config: rótulo em cima, campo embaixo, com respiro */
.disputa-config-grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--me-text-2);font-weight:600;}
