/* ═══════════════════════════════════════════════
   MDC ASSESSORIA — Design System v4
   Plataforma corporativa de gestão imobiliária
═══════════════════════════════════════════════ */

/* Evita flash do dashboard antes da verificação de sessão */
body { visibility: hidden; }

/* Elementos admin-only ficam ocultos por padrão até o JS liberar.
   O JS adiciona 'perfil-admin' no body para revelar esses elementos. */
body:not(.perfil-admin) .admin-only { display: none !important; }
:root {
  --navy:     #0A1628;
  --navy-m:   #112240;
  --navy-l:   #1C3461;
  --gold:     #C9A227;
  --gold-l:   #E8C547;
  --gold-d:   #A07C1A;
  --white:    #FFFFFF;
  --bg:       #E9EFF8;
  --g100:     #DDE5F4;
  --g200:     #C2D0E6;
  --g400:     #7A8FAE;
  --g600:     #4E6080;
  --g700:     #3A4E6A;
  --g800:     #1E2E47;
  --red:      #DC2626;
  --green:    #16A34A;
  --purple:   #7C3AED;
  --teal:     #0891B2;
  --orange:   #EA580C;

  --sw: 248px;
  --th: 64px;
  --r:  12px;
  --sh: 0 1px 12px rgba(10,22,40,.09);
  --sh2:0 6px 28px rgba(10,22,40,.16);
  --tr: all .2s ease;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:14px;background:#E9EFF8}
body{font-family:'Inter',sans-serif;background:#E9EFF8;color:#1E2E47;display:flex;min-height:100vh;overflow-x:hidden}

/* Scrollbars — espessura aumentada para melhor visibilidade */
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:rgba(0,0,0,.04);border-radius:10px}
::-webkit-scrollbar-thumb{background:var(--g300,#CBD5E1);border-radius:10px;border:2px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background:var(--g400,#94A3B8);border:2px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-corner{background:transparent}
/* Firefox */
*{scrollbar-width:thin;scrollbar-color:var(--g300,#CBD5E1) transparent}

/* ── SIDEBAR ── */
.sidebar{
  position:fixed;left:0;top:0;bottom:0;width:var(--sw);
  background:var(--navy);display:flex;flex-direction:column;z-index:200;
  transition:var(--tr);
}
.sidebar-logo{
  display:flex;flex-direction:column;align-items:center;
  padding:16px 12px 14px;
  border-bottom:1px solid rgba(201,162,39,.15);
  position:relative;
  background:linear-gradient(180deg,rgba(201,162,39,.06) 0%,transparent 100%);
}
.mdc-logo-sidebar{
  display:flex;align-items:center;gap:10px;padding:0 2px;
}
.mdc-logo-sidebar-text{
  display:flex;flex-direction:column;gap:3px;
}
.mdc-logo-sidebar-name{
  font-family:'Cinzel','Georgia',serif;
  font-size:12.5px;font-weight:700;
  color:#fff;letter-spacing:1.5px;
  text-transform:uppercase;line-height:1;
  white-space:nowrap;
}
.mdc-logo-sidebar-tag{
  font-family:'Inter',sans-serif;
  font-size:7.5px;font-weight:500;
  letter-spacing:3px;text-transform:uppercase;
  background:linear-gradient(90deg,#F5D878,#C9A227,#A07C1A);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;white-space:nowrap;
}

/* Emblema MDC — monograma inline */
.logo-emblem{
  position:relative;
  width:62px;height:62px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:10px;
}
.logo-emblem::before{
  content:'';
  position:absolute;inset:0;border-radius:50%;
  background:linear-gradient(135deg,#112240,#1C3461);
  border:1.5px solid rgba(201,162,39,.45);
  box-shadow:0 4px 20px rgba(0,0,0,.4),inset 0 1px 0 rgba(201,162,39,.15);
}
.logo-emblem::after{
  content:'';
  position:absolute;inset:5px;border-radius:50%;
  border:0.5px solid rgba(201,162,39,.2);
}
.logo-monogram{
  position:relative;z-index:1;
  font-family:'Cinzel','Georgia',serif;
  font-size:15px;font-weight:700;
  letter-spacing:3px;
  background:linear-gradient(160deg,#E8C547 0%,#C9A227 55%,#A07C1A 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  filter:drop-shadow(0 1px 4px rgba(0,0,0,.5));
  padding-top:1px;
}

.logo-text{display:flex;flex-direction:column;align-items:center;text-align:center}
.logo-brand{
  color:#fff;font-weight:800;font-size:15px;line-height:1.2;
  letter-spacing:.5px;
}
.logo-tagline{
  color:var(--gold);font-size:9px;font-weight:600;
  letter-spacing:3px;text-transform:uppercase;
  opacity:.8;margin-top:2px;
}
.logo-divider{
  width:32px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,162,39,.5),transparent);
  margin:8px auto 0;
}

.sidebar-nav{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}
.nav-section-label{
  font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;
  color:rgba(255,255,255,.3);padding:12px 10px 5px;
}
.nav-item{
  display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;
  color:rgba(255,255,255,.55);text-decoration:none;font-weight:500;font-size:13px;
  transition:var(--tr);position:relative;
}
.nav-item:hover{background:rgba(255,255,255,.08);color:#fff}
.nav-item.active{background:rgba(201,162,39,.18);color:var(--gold-l)}
.nav-item i{width:16px;text-align:center;font-size:14px}
.nav-badge{
  margin-left:auto;background:rgba(255,255,255,.1);color:rgba(255,255,255,.5);
  font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px;
}
/* Calculadora — destaque dourado */
.nav-item-calc{
  border:1px solid rgba(201,162,39,.25);
  background:rgba(201,162,39,.07);
}
.nav-item-calc:hover{
  background:rgba(201,162,39,.16) !important;
  border-color:rgba(201,162,39,.4);
  color:var(--gold-l) !important;
}
.nav-item-calc i{ color:var(--gold) !important }
.nav-badge-ext{
  margin-left:auto;color:rgba(201,162,39,.5);font-size:9px;
}
.sidebar-footer{padding:14px 18px;border-top:1px solid rgba(255,255,255,.07)}
.sidebar-status{font-size:11px;color:rgba(255,255,255,.3);display:flex;align-items:center;gap:6px}

/* ── MAIN ── */
.main-wrapper{margin-left:var(--sw);flex:1;min-width:0;display:flex;flex-direction:column}

/* ── TOPBAR ── */
.topbar{
  position:sticky;top:0;height:var(--th);background:#fff;
  border-bottom:2px solid var(--g100);display:flex;align-items:center;
  justify-content:space-between;padding:0 24px;z-index:100;
  box-shadow:0 2px 10px rgba(10,22,40,.07);
}
.topbar-left{display:flex;align-items:center;gap:14px}
.btn-menu{background:none;border:none;cursor:pointer;color:var(--g600);font-size:18px;padding:6px;display:none}
.page-title h1{font-size:17px;font-weight:800;color:var(--navy);line-height:1.2}
.page-title span{font-size:11.5px;color:var(--g400)}
.topbar-right{display:flex;align-items:center;gap:10px}
.topbar-date{display:flex;align-items:center;gap:6px;color:var(--g600);font-size:12px;font-weight:500}
.topbar-sep{width:1px;height:22px;background:var(--g200);margin:0 2px}
.btn-icon{
  background:none;border:1px solid var(--g200);border-radius:8px;cursor:pointer;
  color:var(--g600);padding:6px 10px;font-size:13px;transition:var(--tr);
}
.btn-icon:hover{background:var(--g100);color:var(--navy)}
.chip{display:flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;font-size:11.5px;font-weight:700;cursor:pointer}
.chip-danger{background:#EFF6FF;color:#1D4ED8;border:1px solid #BFDBFE}
.chip-warn{background:#FFFBEB;color:#92400E;border:1px solid #FDE68A}
.chip-purple{background:#F5F3FF;color:var(--purple);border:1px solid #DDD6FE}

/* ── PAGE ── */
.page{padding:24px;flex:1;min-height:calc(100vh - var(--th))}
.page-actions{
  display:flex;justify-content:flex-end;align-items:center;
  margin-bottom:16px;gap:10px;
  padding:10px 16px;background:#fff;border-radius:10px;
  border:1px solid var(--g100);box-shadow:var(--sh);
}

/* ── BUTTONS ── */
.btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--navy);color:#fff;border:none;border-radius:10px;
  padding:10px 20px;font-size:13.5px;font-weight:700;cursor:pointer;transition:var(--tr);
  font-family:'Inter',sans-serif;
}
.btn-primary:hover{background:var(--navy-l);transform:translateY(-1px);box-shadow:var(--sh2)}
.btn-secondary{
  display:inline-flex;align-items:center;gap:7px;
  background:#fff;color:var(--navy);border:1.5px solid var(--g200);border-radius:10px;
  padding:9px 18px;font-size:13px;font-weight:600;cursor:pointer;transition:var(--tr);
  font-family:'Inter',sans-serif;
}
.btn-secondary:hover{background:var(--g100)}
.btn-danger{
  display:inline-flex;align-items:center;gap:6px;
  background:#FEF2F2;color:var(--red);border:1.5px solid #FECACA;border-radius:8px;
  padding:6px 10px;font-size:11.5px;font-weight:700;cursor:pointer;transition:var(--tr);
  font-family:'Inter',sans-serif;
}
.btn-danger:hover{background:#FEE2E2}
.btn-edit{
  display:inline-flex;align-items:center;gap:5px;
  background:#EFF6FF;color:#2563EB;border:1.5px solid #BFDBFE;border-radius:8px;
  padding:6px 10px;font-size:11.5px;font-weight:700;cursor:pointer;transition:var(--tr);
  font-family:'Inter',sans-serif;
}
.btn-edit:hover{background:#DBEAFE}
.btn-view{
  display:inline-flex;align-items:center;gap:5px;
  background:var(--g100);color:var(--g800);border:1.5px solid var(--g200);border-radius:8px;
  padding:6px 10px;font-size:11.5px;cursor:pointer;transition:var(--tr);
  font-family:'Inter',sans-serif;
}
.btn-view:hover{background:var(--g200)}
.btn-aprov{
  display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px;
  background:#FEF3C7;border:1.5px solid #D97706;border-radius:8px;color:#B45309;
  font-size:11.5px;font-weight:700;cursor:pointer;transition:var(--tr);
  font-family:'Inter',sans-serif;white-space:nowrap;
}
.btn-aprov:hover{background:#FDE68A;border-color:#B45309}
.btn-wpp{
  display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px;
  background:#DCFCE7;border:1.5px solid #16A34A;border-radius:8px;color:#15803D;
  font-size:11.5px;font-weight:700;cursor:pointer;transition:var(--tr);
  font-family:'Inter',sans-serif;white-space:nowrap;
}
.btn-wpp:hover{background:#BBF7D0;border-color:#15803D}
.btn-contrato{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;padding:0;
  background:#EFF6FF;border:1.5px solid #3B82F6;border-radius:8px;color:#1D4ED8;
  font-size:13px;cursor:pointer;transition:var(--tr);
}
.btn-contrato:hover{background:#DBEAFE;border-color:#1D4ED8}

/* ── MODAL ASSOCIAR OPORTUNIDADE (novo) ── */
.assoc-section-label{
  font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;
  color:var(--g400);padding:6px 4px 2px;display:flex;align-items:center;gap:6px;
}
.op-assoc-card{
  border:1.5px solid var(--g200);border-radius:12px;padding:12px 14px;
  display:flex;align-items:center;gap:12px;cursor:pointer;
  transition:all .18s;background:#FAFAFA;
}
.op-assoc-card:hover{border-color:var(--gold);background:#FFFBEB;}
.op-assoc-card.op-assoc-selected{border-color:#3B82F6;background:#EFF6FF;box-shadow:0 0 0 3px rgba(59,130,246,.15)}
.op-assoc-card.op-assoc-match{background:#FFFBEB;border-color:#FCD34D}
.op-assoc-card.op-assoc-match:hover{border-color:var(--gold-d)}
.op-assoc-card.op-assoc-ja{opacity:.7}
.op-assoc-left{flex:1;min-width:0}
.op-assoc-id{font-size:11px;font-weight:800;color:var(--navy);margin-bottom:3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.op-assoc-loc{font-size:13px;font-weight:700;color:var(--navy);margin-bottom:4px}
.op-assoc-vals{font-size:11.5px;color:var(--g500);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.op-assoc-right{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}
.op-assoc-check{font-size:18px;color:var(--g300)}
.op-assoc-badge-ja{background:#DCFCE7;color:#166534;border-radius:4px;padding:1px 6px;font-size:9.5px;font-weight:700}
.op-assoc-badge-match{background:#FEF3C7;color:#92400E;border-radius:4px;padding:1px 6px;font-size:9.5px;font-weight:700}
.btn-clear{
  display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;
  background:#FEF2F2;border:1.5px solid #FECACA;border-radius:8px;color:var(--red);
  font-size:12.5px;font-weight:700;cursor:pointer;transition:var(--tr);align-self:flex-end;
  font-family:'Inter',sans-serif;
}
.btn-clear:hover{background:#FEE2E2}

/* ── RADIO BUTTONS PRÓXIMOS AO VENCIMENTO ── */
.radio-venc-group{display:flex;flex-direction:column;gap:4px;padding-top:2px}
.radio-venc-label{
  display:flex;align-items:center;gap:6px;
  font-size:12.5px;font-weight:600;color:#2A4270;
  cursor:pointer;white-space:nowrap;user-select:none;
}
.radio-venc-label input[type="radio"]{
  width:15px;height:15px;cursor:pointer;accent-color:#1D4ED8;
  flex-shrink:0;
}
.btn-link{
  display:inline-flex;align-items:center;gap:4px;
  background:none;border:1px solid var(--g200);border-radius:6px;color:var(--teal);
  font-size:11.5px;font-weight:600;padding:4px 9px;text-decoration:none;cursor:pointer;transition:var(--tr);
}
.btn-link:hover{background:#ECFEFF;border-color:var(--teal)}

/* ── BOTÃO WHATSAPP ── */
.btn-wa{
  display:inline-flex;align-items:center;gap:5px;
  background:#DCFCE7;color:#166534;border:1.5px solid #BBF7D0;border-radius:8px;
  padding:5px 10px;font-size:11.5px;font-weight:700;cursor:pointer;transition:var(--tr);
  font-family:'Inter',sans-serif;white-space:nowrap;
}
.btn-wa:hover{background:#BBF7D0;border-color:#86EFAC}
.btn-wa i { font-size:13px; }

/* ── ACTION BUTTONS GROUP ── */
.action-btns{display:flex;gap:4px;align-items:center;flex-wrap:nowrap}

/* ── BADGE NUMÉRICO NO BOTÃO DE ASSOCIAR ── */
.btn-assoc-compat {
  position:relative;
}
.btn-compat-badge {
  position:absolute;top:-6px;right:-6px;
  background:#16A34A;color:#fff;border-radius:50%;
  width:17px;height:17px;font-size:9px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  line-height:1;pointer-events:none;border:1.5px solid #fff;
  box-shadow:0 1px 3px rgba(0,0,0,.2);
}

/* ── SELETOR MÚLTIPLO LOCALIZAÇÃO ── */
.loc-picker {
  background: var(--g100);
  border: 1.5px solid var(--g200);
  border-radius: 10px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.loc-add-row {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.loc-add-row input, .loc-add-row select {
  height: 36px;
  padding: 0 10px;
  border: 1.5px solid var(--g200);
  border-radius: 8px;
  font-size: 13px;
  background: #fff;
  font-family: 'Inter', sans-serif;
  color: var(--g800);
  min-width: 0;
}
.loc-add-row input:focus, .loc-add-row select:focus {
  outline: none;
  border-color: var(--gold);
}
.loc-sug-box {
  position: absolute;
  top: 100%;
  left: 0; right: 0;
  background: #fff;
  border: 1px solid var(--g200);
  border-top: none;
  border-radius: 0 0 8px 8px;
  max-height: 200px;
  overflow-y: auto;
  z-index: 9999;
  display: none;
  box-shadow: 0 6px 18px rgba(10,22,40,.12);
}
.loc-sug-box div:last-child { border-bottom: none; }
.loc-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-height: 30px;
  align-items: center;
}
.loc-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px 4px 10px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}
.loc-tag button {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  opacity: 0.6;
  margin-left: 2px;
  padding: 0;
}
.loc-tag button:hover { opacity: 1; }
.loc-tag-estado {
  background: rgba(10,22,40,.08);
  color: var(--navy);
  border: 1px solid rgba(10,22,40,.15);
}
.loc-tag-cidade {
  background: rgba(201,162,39,.12);
  color: var(--gold-d);
  border: 1px solid rgba(201,162,39,.25);
}

/* ── OPORTUNIDADES DA SEMANA (fila demandas) ── */
.ops-semana-wrap {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 220px;
  max-width: 280px;
}
.ops-semana-label {
  font-size: 10.5px;
  font-weight: 700;
  color: var(--g600);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--g200);
  margin-bottom: 2px;
}
.op-semana-item {
  display: flex;
  align-items: center;
  gap: 6px;
  background: var(--g100);
  border: 1px solid var(--g200);
  border-radius: 7px;
  padding: 5px 8px;
  font-size: 11px;
}
.op-semana-id {
  font-weight: 800;
  color: var(--navy);
  font-size: 10.5px;
  flex-shrink: 0;
}
.op-semana-local {
  color: var(--g600);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}
.op-semana-val {
  font-weight: 700;
  color: var(--green);
  font-size: 10.5px;
  flex-shrink: 0;
}
.op-semana-item .fab.fa-whatsapp {
  flex-shrink: 0;
  transition: color .2s;
}
.op-semana-item .fab.fa-whatsapp:hover {
  opacity: 0.75;
}

/* ── SUGESTÕES DE CIDADE ── */
#cidade-sugestoes div:last-child { border-bottom: none; }
#cidade-sugestoes::-webkit-scrollbar { width: 8px; }
#cidade-sugestoes::-webkit-scrollbar-thumb { background: var(--g300,#CBD5E1); border-radius:10px; }

/* ── CHIP DE CLIENTE ATIVO ── */
.chip-cliente-ativo {
  background: var(--gold) !important;
  color: var(--navy) !important;
  border-color: var(--gold-d) !important;
  font-weight: 800;
}

/* ── FILTER BAR ── */
.filter-bar{
  display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;
  background:#fff;border:1px solid var(--g200);border-radius:var(--r);
  padding:14px 18px;margin-bottom:18px;box-shadow:var(--sh);
}
.fg{display:flex;flex-direction:column;gap:4px}
.fg label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--g600)}
.fg select,.fg input{
  height:36px;border:1.5px solid var(--g200);border-radius:8px;
  padding:0 10px;font-family:'Inter',sans-serif;font-size:13px;color:var(--g800);
  background:#fff;outline:none;min-width:130px;transition:var(--tr);
}
.fg input[type="month"]{min-width:150px}
.fg select:focus,.fg input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.12)}
.fg-wide input{min-width:220px}
/* Destaca o select de cidade quando tem valor selecionado — LEGADO (removido) */

/* ── MULTISELECT DE CIDADES (Oportunidades) ── */
.fg-cidade-multi { min-width: 200px; max-width: 320px; position: relative; align-self: flex-end; }

.cid-multi-wrap { position: relative; }

.cid-multi-trigger {
  min-height: 36px; border: 1.5px solid var(--g200); border-radius: 8px;
  padding: 4px 32px 4px 8px; background: #fff; cursor: pointer;
  display: flex; align-items: flex-start; flex-wrap: wrap; gap: 4px;
  font-family: 'Inter', sans-serif; font-size: 13px; color: var(--g800);
  transition: var(--tr); position: relative; outline: none; user-select: none;
}
.cid-multi-tags {
  display: flex; flex-wrap: wrap; gap: 4px; align-items: center;
  flex: 1; min-width: 0;
}
.cid-multi-trigger:focus,
.cid-multi-trigger.open { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201,162,39,.12); }
.cid-multi-trigger.has-value { border-color: #16A34A; background: #F0FFF4; }

.cid-multi-arrow {
  position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
  font-size: 10px; color: var(--g400); transition: transform .2s; pointer-events: none;
}
.cid-multi-trigger.open .cid-multi-arrow { transform: translateY(-50%) rotate(180deg); }

.cid-placeholder { color: var(--g400); font-size: 13px; padding: 2px 0; line-height: 26px; }

/* Tag de cidade selecionada */
.cid-tag {
  display: inline-flex; align-items: center; gap: 4px;
  background: #DBEAFE; color: #1D4ED8; border: 1px solid #BFDBFE;
  border-radius: 6px; padding: 2px 6px 2px 8px; font-size: 11.5px; font-weight: 700;
  line-height: 1.4; white-space: nowrap; max-width: 140px;
  overflow: hidden; text-overflow: ellipsis;
}
.cid-tag.has-op { background: #DCFCE7; color: #15803D; border-color: #86EFAC; }
.cid-tag-remove {
  cursor: pointer; font-size: 11px; color: inherit; opacity: .65; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  width: 14px; height: 14px; border-radius: 50%;
  transition: background .15s, opacity .15s;
}
.cid-tag-remove:hover { opacity: 1; background: rgba(0,0,0,.12); }

/* Dropdown */
.cid-multi-dropdown {
  position: absolute; top: calc(100% + 4px); left: 0; z-index: 3000;
  background: #fff; border: 1.5px solid var(--g200); border-radius: 12px;
  box-shadow: 0 8px 30px rgba(0,0,0,.15); width: max-content; min-width: 100%;
  max-width: 340px; overflow: hidden;
}

.cid-drop-search {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 12px; border-bottom: 1px solid var(--g100);
  background: var(--g50, #F8FAFC);
}
.cid-drop-search input {
  border: none; outline: none; font-size: 13px; font-family: inherit;
  width: 100%; background: transparent; color: var(--g800);
}

.cid-drop-actions {
  display: flex; gap: 6px; padding: 7px 10px; border-bottom: 1px solid var(--g100);
  background: var(--g50, #F8FAFC);
}
.cid-act-btn {
  font-size: 11px; font-weight: 700; font-family: inherit; cursor: pointer;
  border: 1.5px solid var(--g200); background: #fff; border-radius: 6px;
  padding: 3px 10px; color: var(--g600); transition: all .15s;
}
.cid-act-btn:hover { background: var(--g100); }
.cid-act-btn-green {
  border-color: #86EFAC; background: #F0FFF4; color: #15803D;
}
.cid-act-btn-green:hover { background: #DCFCE7; }

.cid-drop-list {
  max-height: 260px; overflow-y: auto; padding: 6px 0;
}
.cid-drop-list::-webkit-scrollbar { width: 8px; }
.cid-drop-list::-webkit-scrollbar-track { background: transparent; }
.cid-drop-list::-webkit-scrollbar-thumb { background: var(--g300,#CBD5E1); border-radius: 8px; }

/* Cada item da lista */
.cid-item {
  display: flex; align-items: center; gap: 9px;
  padding: 7px 14px; cursor: pointer; font-size: 13px;
  color: var(--g800); transition: background .1s; user-select: none;
}
.cid-item:hover { background: var(--g100); }
.cid-item.checked { background: #EFF6FF; }
.cid-item.has-op { font-weight: 700; }
.cid-item.has-op .cid-item-name::before {
  content: '★ '; color: #16A34A; font-size: 10px;
}
.cid-item input[type=checkbox] {
  width: 15px; height: 15px; accent-color: var(--navy);
  cursor: pointer; flex-shrink: 0; margin: 0;
}
.cid-item-name { flex: 1; }
.cid-item-count {
  font-size: 10.5px; font-weight: 700; color: #fff;
  background: #16A34A; border-radius: 10px; padding: 1px 6px;
  min-width: 18px; text-align: center;
}
.cid-sep {
  font-size: 10px; font-weight: 800; text-transform: uppercase;
  letter-spacing: .7px; color: var(--g400); padding: 8px 14px 3px;
  pointer-events: none;
}

/* ── KPI ── */
.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:14px;margin-bottom:18px}
.kpi{
  background:#fff;border-radius:var(--r);padding:18px 16px;display:flex;align-items:center;
  gap:14px;box-shadow:var(--sh);border:1px solid var(--g100);position:relative;overflow:hidden;transition:var(--tr);
}
.kpi::after{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.kpi:hover{transform:translateY(-2px);box-shadow:var(--sh2)}
/* Left accent line */
.kpi::before{content:'';position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0}
.kpi-blue::after{background:linear-gradient(90deg,#1D4ED8,#60A5FA)}
.kpi-blue::before{background:#2563EB}
.kpi-gold::after{background:linear-gradient(90deg,var(--gold-d),var(--gold-l))}
.kpi-gold::before{background:var(--gold)}
.kpi-green::after{background:linear-gradient(90deg,#166534,#22C55E)}
.kpi-green::before{background:var(--green)}
.kpi-purple::after{background:linear-gradient(90deg,#4C1D95,#A78BFA)}
.kpi-purple::before{background:var(--purple)}
.kpi-teal::after{background:linear-gradient(90deg,#164E63,#22D3EE)}
.kpi-teal::before{background:var(--teal)}
.kpi-red::after{background:linear-gradient(90deg,#7F1D1D,#F87171)}
.kpi-red::before{background:var(--red)}
.kpi-ico{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.kpi-blue   .kpi-ico{background:#EFF6FF;color:#2563EB}
.kpi-gold   .kpi-ico{background:#FFF8E1;color:var(--gold-d)}
.kpi-green  .kpi-ico{background:#F0FFF4;color:var(--green)}
.kpi-purple .kpi-ico{background:#F5F3FF;color:var(--purple)}
.kpi-teal   .kpi-ico{background:#ECFEFF;color:var(--teal)}
.kpi-red    .kpi-ico{background:#FFF0F0;color:var(--red)}
.kpi-v{font-size:23px;font-weight:900;color:var(--navy);line-height:1.1}
.kpi-l{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--g600);margin-top:3px}
.kpi-s{font-size:10px;color:var(--g400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}

/* ── CARDS ── */
.card{background:#fff;border-radius:var(--r);box-shadow:var(--sh);border:1px solid var(--g200);overflow:hidden;flex:1;min-width:0;transition:box-shadow .2s}
.card:hover{box-shadow:var(--sh2)}
.card-h{
  padding:14px 20px 13px;border-bottom:1px solid var(--g100);
  display:flex;align-items:center;justify-content:space-between;
  background:linear-gradient(135deg,#fdfdfe,#f8f9fc);
}
.card-h h3{font-size:13px;font-weight:800;color:var(--navy);display:flex;align-items:center;gap:8px}
.card-h h3 i{color:var(--gold-d)}
.count-badge{background:var(--navy);color:#fff;padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:700}

/* ── CHARTS ── */
.charts-row{display:flex;gap:14px;margin-bottom:18px}
.chart-wide{flex:2}
.flex2{flex:2}
.chart-wrap{padding:14px;position:relative}
.h220{height:220px}
.h260{height:260px}
.h280{height:280px}

/* ── TABLES ── */
.tbl-wrap{overflow-x:auto;max-height:360px;overflow-y:auto}
.tbl-scroll{overflow-x:auto;max-height:520px;overflow-y:auto}
.tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.tbl-full{min-width:1080px}
.tbl th{
  background:linear-gradient(180deg,#0D1E38,var(--navy));
  color:rgba(255,255,255,.9);font-weight:700;font-size:10px;
  text-transform:uppercase;letter-spacing:.6px;padding:10px 13px;white-space:nowrap;
  text-align:left;position:sticky;top:0;z-index:1;
  border-right:1px solid rgba(255,255,255,.06);
}
.tbl th:last-child{border-right:none}
.tbl td{padding:9px 13px;border-bottom:1px solid var(--g100);color:var(--g800);vertical-align:middle}
.tbl tr:last-child td{border-bottom:none}
.tbl tr:hover td{background:#F5F8FF}
.tbl-empty{text-align:center;padding:48px 20px;color:var(--g400);font-size:13px;background:var(--bg)}
.tbl-empty i{display:block;font-size:28px;margin-bottom:10px;opacity:.3}
.text-center{text-align:center}

/* ── MODAL TAG ── */
.modal-tag{
  display:inline-block;font-size:10.5px;font-weight:700;padding:2px 9px;border-radius:6px;
  background:var(--g100);color:var(--g800);white-space:nowrap;
}

/* ── BADGE MODALIDADE (tabela) ── */
.badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 8px;border-radius:6px;white-space:nowrap}
.badge-mod{background:var(--navy);color:rgba(255,255,255,.85)}

/* ── URGENTE CHIP ── */
.urgente-chip{
  display:inline-block;font-size:9.5px;font-weight:800;padding:2px 6px;border-radius:5px;
  margin-left:4px;vertical-align:middle;
}
.urg-red{background:#FEF2F2;color:var(--red);border:1px solid #FECACA}
.urg-yellow{background:#FFFBEB;color:#92400E;border:1px solid #FDE68A}

/* ── STATUS BADGES ── */
.status-badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:10px;white-space:nowrap}
.status-ativo{background:#F0FFF4;color:var(--green)}
.status-inativo{background:#FEF2F2;color:var(--red)}

/* ── PERFIL BADGE ── */
.badge-perfil{background:#F5F3FF;color:var(--purple);font-size:11px;font-weight:700;padding:3px 9px;border-radius:10px}

/* ── SIM/NÃO BADGES ── */
.sim-badge{
  display:inline-block;font-size:10px;font-weight:700;padding:2px 7px;border-radius:6px;
  background:#F0FFF4;color:var(--green);border:1px solid #BBF7D0;
}
.financ-badge{background:#F5F3FF;color:#6D28D9;border-color:#DDD6FE}
.parcel-badge{background:#FFFBEB;color:#92400E;border-color:#FDE68A}
.nao-dash{color:var(--g400);font-size:13px}

/* ── OP MINI CARD ── */
.op-mini-card{
  display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;
  background:var(--g100);margin-bottom:5px;font-size:12.5px;flex-wrap:wrap;
}
.op-mini-card strong{font-weight:700;color:var(--navy)}

/* ── SCROLL LIST ── */
.scroll-list{max-height:220px;overflow-y:auto;padding:10px}
.sl-item{
  display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;
  margin-bottom:4px;background:var(--g100);transition:var(--tr);
}
.sl-item:hover{background:var(--g200)}
.sl-date{font-size:11px;font-weight:700;color:var(--navy);min-width:70px}
.sl-city{flex:1;font-size:12.5px;color:var(--g800)}
.sl-badge{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:10px}
.sl-hot{background:#FEF2F2;color:var(--red)}
.sl-ok{background:#F0FFF4;color:var(--green)}

/* ── FUNIL ── */
.funil-wrap{padding:12px}
.funil-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;background:var(--g100);margin-bottom:5px;transition:var(--tr)}
.funil-row:hover{background:var(--g200)}
.funil-name{flex:1;font-size:12.5px;font-weight:600;color:var(--navy)}
.funil-bar-w{width:70px;height:7px;background:var(--g200);border-radius:4px;overflow:hidden}
.funil-bar{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--gold-d),var(--gold-l));transition:width .5s ease}
.funil-n{font-size:13.5px;font-weight:800;color:var(--navy);min-width:26px;text-align:right}

/* ── BOTTOM ROW ── */
.bottom-row{display:flex;gap:14px;margin-bottom:24px}
.bottom-row .card:first-child{flex:2}
.bottom-row .card:last-child{flex:1;min-width:260px}

/* ── PAGINATION ── */
.pag-wrap{display:flex;align-items:center;justify-content:center;gap:5px;padding:12px;border-top:1px solid var(--g100)}
.pag-btn{
  width:30px;height:30px;border:1.5px solid var(--g200);border-radius:6px;background:#fff;
  cursor:pointer;font-size:12px;font-weight:600;color:var(--g600);display:flex;align-items:center;justify-content:center;transition:var(--tr);
}
.pag-btn:hover{background:var(--g100)}
.pag-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.pag-btn:disabled{opacity:.4;cursor:not-allowed}

/* ── DESCONTO ── */
.desc-hi{color:#16A34A;font-weight:800}
.desc-md{color:#D97706;font-weight:700}
.desc-lo{color:var(--g400);font-weight:600}
.desc-cell{font-variant-numeric:tabular-nums}

/* ── RANK ── */
.rn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:10.5px;font-weight:800}
.rn-1{background:#FFD700;color:#7A4F00}
.rn-2{background:#C0C0C0;color:#444}
.rn-3{background:#CD7F32;color:#fff}
.rn-n{background:var(--g200);color:var(--g600)}

/* ═══════════ DRAWER (FORM) ═══════════ */
.overlay{
  display:none;position:fixed;inset:0;background:rgba(10,22,40,.55);z-index:300;
  backdrop-filter:blur(3px);
}
.overlay.open{display:block}
.drawer{
  position:fixed;right:-760px;top:0;bottom:0;width:100%;max-width:720px;
  background:#fff;z-index:400;box-shadow:var(--sh2);display:flex;flex-direction:column;
  transition:right .3s ease;
}
.drawer.open{right:0}
.drawer-head{
  padding:20px 24px;border-bottom:1px solid var(--g200);
  display:flex;align-items:center;justify-content:space-between;
  background:var(--navy);
}
.drawer-head h2{font-size:16px;font-weight:800;color:#fff}
.drawer-head .btn-icon{border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.7)}
.drawer-head .btn-icon:hover{background:rgba(255,255,255,.1);color:#fff}
.drawer-body{flex:1;overflow-y:auto;padding:24px}

/* FORM */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-grid-3{grid-template-columns:1fr 1fr 1fr}
.form-group{display:flex;flex-direction:column;gap:5px}
.form-group.full{grid-column:1/-1}
.form-group label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--g600)}
.form-group input,
.form-group select,
.form-group textarea{
  border:1.5px solid var(--g200);border-radius:8px;padding:9px 12px;
  font-family:'Inter',sans-serif;font-size:13px;color:var(--g800);
  background:#fff;outline:none;transition:var(--tr);width:100%;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.12)}
.form-group textarea{resize:vertical;min-height:80px}
.form-actions{
  display:flex;gap:10px;justify-content:flex-end;margin-top:20px;
  padding-top:18px;border-top:1px solid var(--g200);grid-column:1/-1;
}
.form-section{
  font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;
  color:var(--gold-d);margin-bottom:4px;grid-column:1/-1;padding-top:8px;
  border-top:1px solid var(--g100);padding-bottom:2px;
}
.form-section:first-child{border-top:none;padding-top:0}
.form-hint{font-size:10.5px;color:var(--g400);margin-top:2px;line-height:1.4}
.checkbox-row{
  display:flex;align-items:center;gap:8px;padding:9px 12px;
  border:1.5px solid var(--g200);border-radius:8px;cursor:pointer;
  transition:var(--tr);
}
.checkbox-row:hover{border-color:var(--gold);background:#FFFEF5}
.checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--navy);cursor:pointer}
.checkbox-row label{font-size:13px;color:var(--g800);font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px}
/* Checkbox compacto para formulários densos */
.checkbox-row-compact{display:flex;align-items:center;gap:8px;cursor:pointer}
.checkbox-row-compact input[type=checkbox]{width:15px;height:15px;accent-color:var(--navy);cursor:pointer;flex-shrink:0}
.checkbox-row-compact label{cursor:pointer;display:flex;align-items:center;gap:5px;font-size:12px;color:var(--g700)}

/* ═══════════ PAGAMENTO BADGES ═══════════ */
.pgto-wrap{display:flex;flex-wrap:wrap;gap:3px}
.pgto-badge{
  display:inline-flex;align-items:center;gap:4px;
  font-size:10px;font-weight:700;padding:3px 8px;border-radius:6px;
  white-space:nowrap;cursor:default;
}
.pgto-badge i{font-size:9px}
.pgto-vista,
.pgto-avista {background:#F0FFF4;color:#166534;border:1px solid #BBF7D0}
.pgto-fgts   {background:#EFF6FF;color:#1D4ED8;border:1px solid #BFDBFE}
.pgto-financ {background:#F5F3FF;color:#6D28D9;border:1px solid #DDD6FE}
.pgto-parcel {background:#FFFBEB;color:#92400E;border:1px solid #FDE68A}

/* Legenda de pagamento no modal */
.pgto-legend{
  margin-top:10px;background:var(--g100);border-radius:8px;padding:12px 14px;
  border:1px solid var(--g200);
}
.pgto-legend-title{
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;
  color:var(--g600);margin-bottom:8px;display:flex;align-items:center;gap:5px;
}
.pgto-legend-item{
  display:flex;align-items:center;gap:8px;margin-bottom:5px;
  font-size:11.5px;color:var(--g600);flex-wrap:wrap;
}
.pgto-legend-tip{flex:1;font-size:11px;color:var(--g600)}

/* Ref box no formulário */
.pgto-ref-box{
  grid-column:1/-1;background:var(--g100);border-radius:8px;
  padding:12px 14px;border:1px solid var(--g200);
}
.full-box{grid-column:1/-1}
.pgto-ref-title{
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;
  color:var(--gold-d);margin-bottom:8px;display:flex;align-items:center;gap:5px;
}
.pgto-ref-item{
  display:flex;align-items:center;gap:8px;margin-bottom:6px;
  font-size:11.5px;color:var(--g600);
}
.pgto-ref-item em{color:var(--navy);font-style:normal;font-weight:600}

/* Alert urgente no modal */
.alert-urgente{
  background:#FEF2F2;border:1px solid #FECACA;border-radius:8px;
  padding:10px 14px;color:var(--red);font-size:12.5px;font-weight:700;
  display:flex;align-items:center;gap:8px;margin-bottom:14px;
}
.detail-top{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}

/* ═══════════ DETAIL MODAL ═══════════ */
.modal-bg{
  display:none;position:fixed;inset:0;background:rgba(10,22,40,.6);z-index:500;
  align-items:center;justify-content:center;backdrop-filter:blur(4px);
}
.modal-bg.open{display:flex}
.modal-box{
  background:#fff;border-radius:16px;width:90%;max-width:680px;
  max-height:90vh;overflow-y:auto;box-shadow:var(--sh2);
}
.modal-head{
  padding:18px 22px;border-bottom:1px solid var(--g200);
  display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;background:var(--navy);z-index:1;border-radius:16px 16px 0 0;
}
.modal-head h2{font-size:15px;font-weight:800;color:#fff}
.modal-head .btn-icon{border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.7)}
.modal-head .btn-icon:hover{background:rgba(255,255,255,.1);color:#fff}
.modal-body{padding:22px}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.detail-field{display:flex;flex-direction:column;gap:4px}
.detail-field.full{grid-column:1/-1}
.detail-field label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--g400)}
.detail-field span{font-size:13px;color:var(--g800);font-weight:500}
.detail-desc-badge{
  display:inline-block;padding:6px 16px;border-radius:8px;font-size:20px;
  font-weight:900;color:#fff;
}

/* ═══════════ INFO BOX ═══════════ */
.info-box{
  display:flex;align-items:flex-start;gap:14px;
  background:#EFF6FF;border:1px solid #BFDBFE;border-radius:var(--r);
  padding:16px 20px;font-size:13px;color:#1E3A8A;line-height:1.6;
}
.info-box i{font-size:18px;margin-top:2px;flex-shrink:0;color:#2563EB}
.info-box strong{color:#1E40AF}

/* ═══════════ FILA DE DEMANDAS ═══════════ */
/* Posição 1º, 2º, 3º destacados com cor */
#tb-fila-demandas tr:nth-child(1) td:first-child { color:#DC2626 !important; font-size:16px !important; }
#tb-fila-demandas tr:nth-child(2) td:first-child { color:#D97706 !important; }
#tb-fila-demandas tr:nth-child(3) td:first-child { color:#D97706 !important; }

/* ═══════════ PERFIL BADGE ═══════════ */
.perfil-admin  {background:#FEF2F2;color:#991B1B;font-size:11px;font-weight:700;padding:3px 9px;border-radius:10px}
.perfil-garimpa{background:#FFFBEB;color:#92400E;font-size:11px;font-weight:700;padding:3px 9px;border-radius:10px}

/* ═══════════ TOAST ═══════════ */
#toast-wrap{position:fixed;bottom:24px;right:24px;z-index:999;display:flex;flex-direction:column;gap:8px}
.toast{
  display:flex;align-items:center;gap:10px;
  padding:12px 18px;border-radius:10px;font-size:13px;font-weight:600;
  box-shadow:var(--sh2);animation:slideIn .3s ease;min-width:280px;max-width:380px;
}
.toast-success{background:#ECFDF5;color:#065F46;border:1px solid #A7F3D0}
.toast-error  {background:#FEF2F2;color:#7F1D1D;border:1px solid #FECACA}
.toast-info   {background:#EFF6FF;color:#1E3A8A;border:1px solid #BFDBFE}
@keyframes slideIn{from{transform:translateX(100px);opacity:0}to{transform:translateX(0);opacity:1}}

/* ═══════════ VENCIDO / URGENTE ═══════════ */
.row-expired td{background:#FEF2F2!important}
.row-urgent td{background:#FFFBEB!important}

/* ═══════════ USER CARD (sidebar) ═══════════ */
.user-card{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.user-avatar{
  width:34px;height:34px;border-radius:50%;background:var(--gold);color:var(--navy);
  font-weight:900;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.user-info{flex:1;min-width:0;display:flex;flex-direction:column}
.user-name{font-size:12.5px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-role{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--gold);opacity:.8}
.btn-logout{
  background:none;border:1px solid rgba(255,255,255,.12);border-radius:6px;cursor:pointer;
  color:rgba(255,255,255,.4);padding:5px 7px;font-size:12px;transition:var(--tr);flex-shrink:0;
}
.btn-logout:hover{background:rgba(220,38,38,.2);border-color:rgba(220,38,38,.4);color:#F87171}
.mt6{margin-top:6px}
.sidebar-status{font-size:11px;color:rgba(255,255,255,.3);display:flex;align-items:center;gap:6px}
.sidebar-confidencial{
  margin-top:8px;font-size:9.5px;color:rgba(201,162,39,.35);
  display:flex;align-items:center;gap:5px;font-weight:600;letter-spacing:.4px;
}

/* ═══════════ ALERTAS DEMANDA ════════════ */
.demanda-alertas-card{
  border-radius:var(--r);overflow:hidden;
  box-shadow:0 4px 20px rgba(124,58,237,.15);
  border:1px solid #DDD6FE;
}
.demanda-alertas-card .card-h{
  cursor:default;
}

/* ═══════════ DEMANDAS ═══════════ */
.demandas-aviso{
  display:flex;align-items:flex-start;gap:14px;
  background:linear-gradient(135deg,#EFF6FF,#F0FFF4);
  border:1px solid #BFDBFE;border-radius:var(--r);
  padding:16px 20px;font-size:13px;color:#1E3A8A;line-height:1.7;
  margin-bottom:20px;
}
.demandas-aviso i{font-size:20px;color:#2563EB;margin-top:2px;flex-shrink:0}
.demandas-aviso strong{display:block;font-size:13.5px;font-weight:800;color:var(--navy);margin-bottom:4px}

.h240{height:240px}

.empty-chart{
  display:flex;align-items:center;justify-content:center;
  height:100%;font-size:12.5px;color:var(--g400);font-style:italic;
  padding:20px;
}

/* ═══════════ DASHBOARD WELCOME BAR ═══════════ */
.dash-welcome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-l) 100%);
  border-radius: var(--r);
  padding: 16px 22px;
  margin-bottom: 18px;
  border: 1px solid rgba(201,162,39,.2);
  box-shadow: 0 4px 20px rgba(10,22,40,.18);
  flex-wrap: wrap;
  gap: 12px;
}
.dash-welcome-left {
  display: flex;
  align-items: center;
  gap: 14px;
}
.dash-welcome-icon {
  width: 40px; height: 40px;
  border-radius: 10px;
  background: rgba(201,162,39,.18);
  border: 1px solid rgba(201,162,39,.35);
  display: flex; align-items: center; justify-content: center;
  font-size: 17px;
  color: var(--gold-l);
  flex-shrink: 0;
}
.dash-welcome-title {
  font-size: 15px;
  font-weight: 800;
  color: #fff;
  letter-spacing: .3px;
}
.dash-welcome-sub {
  font-size: 11px;
  color: rgba(255,255,255,.45);
  margin-top: 2px;
}
.dash-welcome-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.dash-stat-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 11.5px;
  font-weight: 700;
  background: rgba(255,255,255,.1);
  color: rgba(255,255,255,.8);
  border: 1px solid rgba(255,255,255,.12);
}
.dash-stat-pill i { font-size: 12px; }
.dash-pill-alert {
  background: rgba(220,38,38,.18);
  color: #FCA5A5;
  border-color: rgba(220,38,38,.3);
}
.dash-pill-warn {
  background: rgba(201,162,39,.18);
  color: var(--gold-l);
  border-color: rgba(201,162,39,.3);
}

/* ═══════════ RESPONSIVE ═══════════ */
@media(max-width:900px){
  :root{--sw:0px}
  .sidebar{transform:translateX(-248px);width:248px}
  .sidebar.open{transform:translateX(0)}
  .btn-menu{display:flex}
  .main-wrapper{margin-left:0}
  .charts-row{flex-direction:column}
  .bottom-row{flex-direction:column}
  .kpi-row{grid-template-columns:repeat(2,1fr)}
  .detail-grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .form-group.full{grid-column:1}
  .pgto-ref-box{grid-column:1}
  #contrato-form-grid{grid-template-columns:1fr !important}
}
@media(max-width:540px){
  .kpi-row{grid-template-columns:1fr}
  .page{padding:14px}
  .filter-bar{padding:10px}
  .drawer{max-width:100%}
}
