/* ============================================================
   ARCA DIGITAL — Painel de Experts
   Identidade visual inspirada na linguagem da Apple:
   tipografia do sistema (SF), paleta neutra, densidade alta,
   cor só onde ela significa alguma coisa.
   ============================================================ */
:root{
  /* superfícies */
  --bg:#F5F5F7;
  --surface:#FFFFFF;
  --surface-2:#F0F0F2;
  --surface-3:#E8E8ED;
  /* texto */
  --ink:#1D1D1F;
  --ink-2:#424245;
  --muted:#6E6E73;
  --border:#D2D2D7;
  --border-soft:#E5E5EA;
  /* semânticos */
  --accent:#0071E3;
  --pos:#248A3D; --pos-bg:#E8F6EC;
  --warn:#B25000; --warn-bg:#FDF1E4;
  --neg:#C7362B;  --neg-bg:#FDEDEC;
  --info:#0071E3; --info-bg:#E9F2FD;
  /* níveis de observação */
  --lvl-leve:#9A6B00;       --lvl-leve-bg:#FDF7E4;
  --lvl-moderado:#B25000;   --lvl-moderado-bg:#FDF1E4;
  --lvl-prioridade:#C7362B; --lvl-prioridade-bg:#FDEDEC;
  /* forma */
  --r:12px; --r-sm:8px; --r-xs:6px;
  --shadow-1:0 1px 2px rgba(0,0,0,.04);
  --shadow-2:0 4px 16px rgba(0,0,0,.06);
  --shadow-pop:0 12px 40px rgba(0,0,0,.14);
  /* tipografia */
  --font-display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-body:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg);color:var(--ink);font-family:var(--font-body);
  font-size:13px;line-height:1.45;letter-spacing:-0.01em;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  padding:22px 20px 64px;
}
.wrap{max-width:1360px;margin:0 auto;}
a{color:inherit;}
button,input,select,textarea{font-family:inherit;letter-spacing:inherit;}

/* ---------- HEADER ---------- */
header{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border-soft);}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:3px;}
h1{font-family:var(--font-display);font-weight:600;font-size:25px;margin:0;letter-spacing:-0.025em;}
.subtitle{color:var(--muted);font-size:12.5px;margin-top:3px;}
.topactions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}

.tbtn{font-size:12.5px;font-weight:600;padding:8px 14px;border-radius:980px;border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none;
  box-shadow:0 1px 2px rgba(0,0,0,.06);transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .08s ease;}
.tbtn:hover{background:var(--surface-2);border-color:#BDBDC4;box-shadow:0 2px 6px rgba(0,0,0,.09);}
.tbtn:active{transform:translateY(1px);background:var(--surface-3);box-shadow:inset 0 1px 2px rgba(0,0,0,.10);}
.tbtn.primary{background:var(--accent);color:#fff;border-color:#0062C4;box-shadow:0 1px 3px rgba(0,113,227,.35);}
.tbtn.primary:hover{background:#0077ED;box-shadow:0 3px 10px rgba(0,113,227,.38);}
.tbtn.primary:active{background:#0062C4;}
.tbtn[disabled]{opacity:.4;cursor:not-allowed;}
.role-select{font-size:12.5px;font-weight:500;padding:7px 11px;border-radius:980px;border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;}

/* sino */
.bell-wrap{position:relative;}
.bell{position:relative;padding:7px 11px;font-size:14px;}
.bell-count{position:absolute;top:-5px;right:-5px;background:#FF3B30;color:#fff;font-family:var(--font-mono);font-size:9.5px;font-weight:600;min-width:17px;height:17px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:1.5px solid var(--surface);}
.notif-panel{display:none;position:absolute;right:0;top:40px;width:min(390px,92vw);max-height:440px;overflow:auto;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid var(--border-soft);border-radius:var(--r);box-shadow:var(--shadow-pop);z-index:150;}
.notif-panel.open{display:block;}
.notif-head{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;border-bottom:1px solid var(--border-soft);position:sticky;top:0;background:rgba(255,255,255,.9);backdrop-filter:blur(20px);}
.notif-head b{font-size:13px;font-weight:600;}
.notif{display:flex;gap:9px;padding:10px 14px;border-bottom:1px solid var(--border-soft);font-size:12px;align-items:flex-start;line-height:1.4;}
.notif:last-child{border-bottom:none;}
.notif.unread{background:rgba(0,113,227,.045);}
.notif .ico{font-size:13px;}
.notif .when{display:block;color:var(--muted);font-size:10.5px;margin-top:3px;}
.notif .who{display:inline-block;font-size:10.5px;background:var(--surface-2);padding:2px 7px;border-radius:980px;margin-top:4px;color:var(--ink-2);}
.notif.k-remarketing{box-shadow:inset 2px 0 0 var(--warn);}
.notif.k-alerta{box-shadow:inset 2px 0 0 var(--neg);}
.notif.k-etapa{box-shadow:inset 2px 0 0 var(--accent);}
.notif.k-novo{box-shadow:inset 2px 0 0 var(--pos);}

/* toasts */
.toast-wrap{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:400;max-width:min(360px,92vw);}
.toast{background:rgba(255,255,255,.94);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid var(--border-soft);border-radius:var(--r);padding:11px 13px;box-shadow:var(--shadow-pop);font-size:12px;line-height:1.45;display:flex;gap:9px;animation:slideIn .22s cubic-bezier(.32,.72,0,1);}
.toast.k-remarketing{box-shadow:var(--shadow-pop),inset 3px 0 0 var(--warn);}
.toast.k-alerta{box-shadow:var(--shadow-pop),inset 3px 0 0 var(--neg);}
.toast.k-novo{box-shadow:var(--shadow-pop),inset 3px 0 0 var(--pos);}
.toast.k-etapa{box-shadow:var(--shadow-pop),inset 3px 0 0 var(--accent);}
.toast .x{margin-left:auto;cursor:pointer;color:var(--muted);font-size:14px;line-height:1;}
@keyframes slideIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

/* ---------- KPIs ---------- */
.stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;margin-bottom:14px;}
.stat{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r);padding:11px 13px;box-shadow:var(--shadow-1);}
.stat .num{font-size:19px;font-weight:600;letter-spacing:-0.03em;font-variant-numeric:tabular-nums;}
.stat .lbl{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-top:1px;font-weight:500;}
.stat.pos .num{color:var(--pos);} .stat.neg .num{color:var(--neg);} .stat.warn .num{color:var(--warn);}
.delta{font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:980px;display:inline-block;margin-top:5px;font-variant-numeric:tabular-nums;}
.delta.up{background:var(--pos-bg);color:var(--pos);}
.delta.down{background:var(--neg-bg);color:var(--neg);}
.delta.flat{background:var(--surface-2);color:var(--muted);}

/* ---------- FILTROS ---------- */
.filters{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-bottom:14px;padding:10px 12px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r);box-shadow:var(--shadow-1);}
.filters .flabel{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-weight:600;}
.pill{font-size:12px;font-weight:600;padding:6px 12px;border-radius:980px;border:1px solid var(--border-soft);cursor:pointer;background:var(--surface);color:var(--ink-2);box-shadow:0 1px 2px rgba(0,0,0,.05);transition:background .14s ease,box-shadow .14s ease,transform .08s ease;}
.pill:active{transform:translateY(1px);}
.pill:hover{background:var(--surface-3);}
.pill.active{border-color:currentColor;font-weight:600;}
select.filter-select,input.filter-input{font-size:12px;font-weight:500;padding:5px 10px;border-radius:980px;border:1px solid var(--border);background:var(--surface);color:var(--ink);}
input.filter-input{min-width:170px;}
input.filter-input:focus,select.filter-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,113,227,.15);}
.clear-btn{margin-left:auto;font-size:12px;color:var(--accent);background:none;border:none;cursor:pointer;}
.clear-btn:hover{text-decoration:underline;}

/* ---------- BLOCOS ---------- */
.block{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r);padding:16px 18px;margin-bottom:14px;box-shadow:var(--shadow-1);}
.block-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.block h2{font-family:var(--font-display);font-size:14.5px;font-weight:600;margin:0;letter-spacing:-0.02em;display:flex;align-items:center;gap:6px;}
.block p.hint{font-size:12px;color:var(--muted);margin:4px 0 12px;line-height:1.5;}
.tabbar{display:inline-flex;gap:2px;background:var(--surface-2);border-radius:9px;padding:2px;}
.tab{font-size:11.5px;font-weight:500;padding:5px 13px;border-radius:7px;border:none;background:transparent;cursor:pointer;color:var(--ink-2);transition:background .15s ease;}
.tab.active{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.10);}
.collapse-btn{font-size:12px;background:none;border:none;color:var(--accent);cursor:pointer;}

/* ranking */
.rank-row{display:grid;grid-template-columns:24px 1.4fr 120px 100px 84px 56px;gap:10px;align-items:center;padding:7px 6px;border-radius:var(--r-sm);font-size:12.5px;}
.rank-row.head{color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;font-weight:600;padding-bottom:7px;border-bottom:1px solid var(--border-soft);}
.rank-row:not(.head){border-bottom:1px solid var(--border-soft);}
.rank-row:not(.head):last-child{border-bottom:none;}
.rank-row:not(.head):hover{background:var(--surface-2);}
.rank-pos{font-variant-numeric:tabular-nums;color:var(--muted);}
.rank-pos.top{color:var(--ink);font-weight:600;}
.rank-name{font-weight:500;display:flex;align-items:center;gap:7px;}
.rank-val{text-align:right;font-weight:500;font-variant-numeric:tabular-nums;}
.badge-priority{display:inline-block;font-size:9.5px;background:var(--surface-2);color:var(--ink-2);padding:1px 6px;border-radius:980px;font-weight:600;letter-spacing:.02em;}

/* CRM */
.crm-table{width:100%;border-collapse:collapse;font-size:12px;}
.crm-table th{text-align:right;font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);padding:0 8px 7px;border-bottom:1px solid var(--border-soft);font-weight:600;}
.crm-table th:first-child,.crm-table td:first-child{text-align:left;}
.crm-table td{text-align:right;padding:8px;border-bottom:1px solid var(--border-soft);font-variant-numeric:tabular-nums;}
.crm-table td:first-child{font-weight:500;}
.crm-table tr:hover td{background:var(--surface-2);}
.crm-table tfoot td{border-bottom:none;border-top:1px solid var(--border);font-weight:600;}
.chip{display:inline-block;font-size:10.5px;font-weight:600;padding:2px 9px;border-radius:980px;}
.chip.escalar{background:var(--pos-bg);color:var(--pos);}
.chip.manter{background:var(--info-bg);color:var(--info);}
.chip.corrigir{background:var(--warn-bg);color:var(--warn);}
.chip.parado{background:var(--surface-2);color:var(--muted);}

/* ---------- CARDS ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(344px,1fr));gap:12px;}
.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r);padding:14px 15px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-1);transition:box-shadow .18s ease;position:relative;overflow:hidden;}
.card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--niche-color,var(--accent));}
.card:hover{box-shadow:var(--shadow-2);}
.card.lvl-leve{border-color:rgba(154,107,0,.35);}
.card.lvl-moderado{border-color:rgba(178,80,0,.4);}
.card.lvl-prioridade{border-color:rgba(199,54,43,.5);box-shadow:0 0 0 2px rgba(199,54,43,.10);}
.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:9px;}
.card-name{font-family:var(--font-display);font-weight:600;font-size:15px;letter-spacing:-0.02em;}
.tag-row{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px;align-items:center;}
.niche-tag{font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:980px;background:var(--niche-bg,var(--info-bg));color:var(--niche-color,var(--info));}

select.status{font-size:11.5px;font-weight:600;border:none;border-radius:980px;padding:5px 10px;cursor:pointer;appearance:none;-webkit-appearance:none;max-width:170px;text-overflow:ellipsis;}
select.status.st-ativo{background-color:var(--pos-bg);color:var(--pos);}
select.status.st-progresso{background-color:var(--surface-2);color:var(--ink-2);}
select.status.st-atencao{background-color:var(--neg-bg);color:var(--neg);}

.obs-banner{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:var(--r-sm);font-size:12px;line-height:1.45;}
.obs-banner.leve{background:var(--lvl-leve-bg);color:#7A5500;box-shadow:inset 3px 0 0 var(--lvl-leve);}
.obs-banner.moderado{background:var(--lvl-moderado-bg);color:#8F4000;box-shadow:inset 3px 0 0 var(--lvl-moderado);}
.obs-banner.prioridade{background:var(--lvl-prioridade-bg);color:#A32B22;box-shadow:inset 3px 0 0 var(--lvl-prioridade);}
.obs-banner b{text-transform:uppercase;font-size:10px;letter-spacing:.05em;font-weight:700;}

.alert-row{display:flex;gap:5px;flex-wrap:wrap;}
.alert-badge{font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:980px;display:inline-flex;align-items:center;gap:4px;}
.alert-badge.red{background:var(--neg-bg);color:var(--neg);}
.alert-badge.orange{background:var(--warn-bg);color:var(--warn);}

.meta-line{font-size:11.5px;color:var(--muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;}
.meta-line b{color:var(--ink);font-weight:500;}
.resp-badge{font-size:11px;background:var(--surface-2);padding:2px 8px;border-radius:980px;color:var(--ink);}
.traffic-line{font-size:11.5px;color:var(--muted);padding:7px 9px;background:var(--surface-2);border-radius:var(--r-sm);line-height:1.45;}
.traffic-line b{color:var(--ink);font-weight:600;}

.mini-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.mini{background:var(--surface-2);border-radius:var(--r-sm);padding:7px 9px;}
.mini .k{font-size:9.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:600;}
.mini .v{font-weight:600;font-size:13px;margin-top:1px;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;}

.actions{display:flex;gap:5px;flex-wrap:wrap;}
.btn{flex:1;min-width:84px;text-align:center;font-size:12px;font-weight:600;padding:9px 11px;border-radius:10px;
  border:1px solid var(--border);background:linear-gradient(180deg,#FFFFFF 0%,#FAFAFB 100%);color:var(--ink);cursor:pointer;
  box-shadow:0 1px 2px rgba(0,0,0,.07);transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .08s ease;}
.btn:hover{background:linear-gradient(180deg,#FFFFFF 0%,#F0F0F2 100%);border-color:#BDBDC4;box-shadow:0 2px 7px rgba(0,0,0,.10);}
.btn:active{transform:translateY(1px);background:var(--surface-3);box-shadow:inset 0 1px 3px rgba(0,0,0,.12);}
.btn.link{text-decoration:none;display:flex;align-items:center;justify-content:center;gap:5px;}
.btn.on{background:var(--accent);color:#fff;border-color:#0062C4;box-shadow:0 1px 3px rgba(0,113,227,.35);}
.btn.ghost{background:transparent;border-style:dashed;color:var(--muted);box-shadow:none;}
.btn.ghost:hover{background:var(--surface-2);color:var(--ink-2);}

.panel{display:none;border-top:1px solid var(--border-soft);padding-top:11px;}
.panel.open{display:block;}
.panel h4{margin:0 0 7px;font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:600;}
.results-table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums;}
.results-table th{text-align:right;font-weight:600;color:var(--muted);padding-bottom:5px;font-size:10px;text-transform:uppercase;letter-spacing:.03em;}
.results-table th:first-child,.results-table td:first-child{text-align:left;}
.results-table td{text-align:right;padding:4px 0;border-top:1px solid var(--border-soft);}
.email-row{display:flex;justify-content:space-between;font-size:12px;padding:5px 0;border-top:1px solid var(--border-soft);gap:10px;}
.email-row:first-child{border-top:none;}
.email-row span:last-child{color:var(--muted);}

.link-list{display:flex;flex-direction:column;gap:4px;}
.link-item{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--border-soft);border-radius:var(--r-sm);font-size:12px;text-decoration:none;color:var(--ink);}
.link-item:hover{background:var(--surface-2);}
.link-item .lbl{font-weight:500;min-width:112px;}
.link-item .val{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;}
.link-item.empty{border-style:dashed;color:var(--muted);}

.leads-bar{height:6px;background:var(--surface-2);border-radius:980px;overflow:hidden;margin:7px 0 4px;}
.leads-bar i{display:block;height:100%;border-radius:980px;}
.lock-note{font-size:11.5px;color:var(--muted);padding:10px;border:1px dashed var(--border);border-radius:var(--r-sm);text-align:center;}
.trial-box{border:1px solid var(--border-soft);border-radius:var(--r-sm);padding:10px;font-size:12px;background:var(--surface-2);}
.trial-count{font-weight:600;font-size:14px;letter-spacing:-0.02em;}

/* ---------- MODAL ---------- */
.modal-back{display:none;position:fixed;inset:0;background:rgba(0,0,0,.32);backdrop-filter:blur(3px);z-index:300;padding:28px 16px;overflow:auto;}
.modal-back.open{display:block;}
.modal{background:var(--surface);max-width:780px;margin:0 auto;border-radius:16px;padding:20px 22px 22px;box-shadow:var(--shadow-pop);animation:popIn .2s cubic-bezier(.32,.72,0,1);}
@keyframes popIn{from{opacity:0;transform:translateY(10px) scale(.99);}to{opacity:1;transform:none;}}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4px;}
.modal h3{font-family:var(--font-display);font-size:17px;font-weight:600;margin:0;letter-spacing:-0.02em;}
.modal .msub{font-size:12px;color:var(--muted);margin:4px 0 16px;line-height:1.5;}
.close-x{background:none;border:none;font-size:19px;cursor:pointer;color:var(--muted);line-height:1;padding:0 2px;}
.close-x:hover{color:var(--ink);}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:11px;}
.field{display:flex;flex-direction:column;gap:4px;}
.field.full{grid-column:1/-1;}
.field label{font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:600;}
.field label .req{color:var(--neg);}
.field input,.field select,.field textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:12.5px;background:var(--surface);color:var(--ink);}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,113,227,.15);}
.field textarea{resize:vertical;min-height:58px;line-height:1.5;}
.field.err input,.field.err select,.field.err textarea{border-color:var(--neg);background:#FFFAFA;}
.field .errmsg{display:none;font-size:10.5px;color:var(--neg);}
.field.err .errmsg{display:block;}
.fsection{grid-column:1/-1;font-family:var(--font-display);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;border-top:1px solid var(--border-soft);padding-top:13px;margin-top:3px;}
.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap;}
.form-alert{display:none;background:var(--neg-bg);color:var(--neg);border-radius:var(--r-sm);padding:9px 11px;font-size:12px;font-weight:500;margin-bottom:12px;}
.form-alert.show{display:block;}

.stage-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 30px;gap:7px;align-items:center;margin-bottom:7px;}
.stage-row input,.stage-row select{padding:7px 9px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:12px;background:var(--surface);color:var(--ink);width:100%;}
.del-x{background:none;border:none;color:var(--neg);cursor:pointer;font-size:15px;}

.kit-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:16px;}
.kit-steps{font-size:12.5px;line-height:1.75;padding-left:16px;margin:0;color:var(--ink-2);}
.kit-msg{font-family:var(--font-mono);font-size:11.5px;background:var(--surface-2);border-radius:var(--r-sm);padding:11px;white-space:pre-wrap;line-height:1.6;color:var(--ink-2);}

footer.note{margin-top:22px;padding:14px 16px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r);font-size:11.5px;color:var(--muted);line-height:1.65;}
footer.note b{color:var(--ink);font-weight:600;}
footer.note code{font-family:var(--font-mono);font-size:10.5px;background:var(--surface-2);padding:1px 5px;border-radius:var(--r-xs);}

.db-badge{font-size:10.5px;font-weight:600;padding:4px 9px;border-radius:980px;display:inline-flex;align-items:center;gap:5px;background:var(--surface-2);color:var(--muted);}
.db-badge.on{background:var(--pos-bg);color:var(--pos);}
.db-badge.off{background:var(--surface-2);color:var(--muted);}
.db-badge i{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block;}

/* ---------- PÁGINA DE CONFIGURAÇÕES ---------- */
.cfg-nav{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:16px;}
.cfg-nav a{font-size:12px;font-weight:500;padding:6px 12px;border-radius:980px;background:var(--surface);border:1px solid var(--border-soft);text-decoration:none;color:var(--ink-2);}
.cfg-nav a:hover{background:var(--surface-2);color:var(--ink);}
.cfg-row{display:grid;gap:8px;align-items:center;margin-bottom:6px;padding:9px 10px;border:1px solid var(--border-soft);border-radius:var(--r-sm);background:var(--surface);}
.cfg-row:hover{border-color:var(--border);}
.cfg-row.nicho{grid-template-columns:1.5fr 60px 60px 150px 30px;}
.cfg-row.etapa{grid-template-columns:1.5fr 140px 1fr 56px 30px;}
.cfg-row input,.cfg-row select{padding:7px 9px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:12px;background:var(--surface);color:var(--ink);width:100%;}
.cfg-row input:focus,.cfg-row select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,113,227,.15);}
.cfg-row input[type=color]{padding:2px;height:30px;cursor:pointer;}
.cfg-head{display:grid;gap:8px;font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:600;padding:0 10px 5px;}
.cfg-head.nicho{grid-template-columns:1.5fr 60px 60px 150px 30px;}
.cfg-head.etapa{grid-template-columns:1.5fr 140px 1fr 56px 30px;}
.preview-pill{font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:980px;display:inline-block;text-align:center;}
.move{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xs);cursor:pointer;font-size:10px;padding:3px 5px;color:var(--ink-2);}
.move:hover{background:var(--surface-2);}
.move[disabled]{opacity:.35;cursor:default;}
.chip-edit{display:inline-flex;align-items:center;gap:5px;background:var(--surface-2);border-radius:980px;padding:4px 7px 4px 11px;font-size:12px;font-weight:500;}
.chip-edit button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px;line-height:1;}
.chip-edit button:hover{color:var(--neg);}
.cfg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;}
.switch-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;border:1px solid var(--border-soft);border-radius:var(--r-sm);margin-bottom:6px;}
.switch-row .t{font-size:12.5px;font-weight:500;}
.switch-row .d{font-size:11.5px;color:var(--muted);margin-top:1px;}
.switch{position:relative;width:42px;height:25px;flex:none;}
.switch input{opacity:0;width:0;height:0;}
.switch span{position:absolute;inset:0;background:var(--surface-3);border-radius:980px;cursor:pointer;transition:background .2s ease;}
.switch span:before{content:"";position:absolute;width:21px;height:21px;left:2px;top:2px;background:#fff;border-radius:50%;transition:transform .2s cubic-bezier(.32,.72,0,1);box-shadow:0 1px 3px rgba(0,0,0,.25);}
.switch input:checked + span{background:#34C759;}
.switch input:checked + span:before{transform:translateX(17px);}
.matrix{width:100%;border-collapse:collapse;font-size:12px;}
.matrix th,.matrix td{padding:8px 10px;border-bottom:1px solid var(--border-soft);text-align:center;}
.matrix th:first-child,.matrix td:first-child{text-align:left;font-weight:500;}
.matrix thead th{font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:600;}
.saved-flash{position:fixed;left:50%;transform:translateX(-50%);bottom:22px;background:rgba(29,29,31,.92);backdrop-filter:blur(20px);color:#fff;padding:9px 18px;border-radius:980px;font-size:12.5px;font-weight:500;z-index:500;box-shadow:var(--shadow-pop);display:none;}
.saved-flash.show{display:block;animation:slideIn .22s cubic-bezier(.32,.72,0,1);}

/* ---------- RESPONSIVO ---------- */
@media (max-width:860px){
  .fgrid{grid-template-columns:1fr;}
  .kit-grid{grid-template-columns:1fr;}
  .cfg-row.nicho,.cfg-row.etapa,.cfg-head.nicho,.cfg-head.etapa{grid-template-columns:1fr 1fr;}
}
@media (max-width:620px){
  body{padding:16px 12px 48px;}
  .rank-row{grid-template-columns:20px 1fr 84px 60px;}
  .rank-row > *:nth-child(3),.rank-row > *:nth-child(5){display:none;}
  .grid{grid-template-columns:1fr;}
}

/* ---------- TOUR GUIADO ---------- */
.tour-mask{position:fixed;inset:0;z-index:600;display:none;}
.tour-mask.on{display:block;}
.tour-cut{position:absolute;background:rgba(17,17,20,.58);transition:all .28s cubic-bezier(.32,.72,0,1);}
.tour-hole{position:absolute;border-radius:12px;border:2px solid var(--accent);box-shadow:0 0 0 4px rgba(0,113,227,.25);transition:all .28s cubic-bezier(.32,.72,0,1);pointer-events:none;}
.tour-card{position:absolute;width:min(360px,92vw);background:var(--surface);border-radius:14px;box-shadow:var(--shadow-pop);padding:16px 17px;transition:all .28s cubic-bezier(.32,.72,0,1);}
.tour-card .passo{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;}
.tour-card h4{font-family:var(--font-display);font-size:15px;font-weight:600;margin:5px 0 6px;letter-spacing:-0.02em;}
.tour-card p{font-size:12.5px;line-height:1.55;color:var(--ink-2);margin:0 0 12px;}
.tour-card p b{color:var(--ink);}
.tour-nav{display:flex;gap:6px;align-items:center;}
.tour-nav .sair{margin-right:auto;font-size:12px;color:var(--muted);background:none;border:none;cursor:pointer;}
.tour-dots{display:flex;gap:4px;margin-bottom:11px;}
.tour-dots i{width:5px;height:5px;border-radius:50%;background:var(--border);display:block;}
.tour-dots i.on{background:var(--accent);width:16px;border-radius:980px;}
.tour-fab{position:fixed;left:16px;bottom:16px;z-index:390;background:var(--ink);color:#fff;border:none;border-radius:980px;padding:10px 16px;font-size:12.5px;font-weight:500;cursor:pointer;box-shadow:var(--shadow-pop);display:flex;align-items:center;gap:6px;}
.tour-fab:hover{background:#333;}

/* ---------- TELA DE LOGIN ---------- */
body.login{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:var(--bg);}
.login-wrap{width:100%;max-width:400px;}
.login-marca{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:22px;}
.login-marca img{width:56px;height:56px;border-radius:14px;box-shadow:var(--shadow-2);}
.login-marca .eyebrow{margin-top:14px;}
.login-marca h1{font-size:26px;margin:2px 0 0;}
.login-marca p{font-size:12.5px;color:var(--muted);margin:6px 0 0;max-width:300px;line-height:1.5;}
.login-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:16px;padding:20px;box-shadow:var(--shadow-2);}
.login-card .tabbar{width:100%;margin-bottom:16px;}
.login-card .tab{flex:1;}
.login-card .field{margin-bottom:12px;}
.login-card .tbtn{width:100%;justify-content:center;padding:10px;font-size:13.5px;}
.login-msg{font-size:12px;line-height:1.5;margin:2px 0 12px;min-height:16px;}
.login-msg.erro{color:var(--neg);}
.login-msg.ok{color:var(--pos);}
.login-msg.neutro{color:var(--muted);}
.login-nivel{font-size:11.5px;color:var(--muted);line-height:1.6;background:var(--surface-2);padding:10px;border-radius:var(--r-sm);margin-bottom:12px;}
.login-nivel b{color:var(--ink);}
.login-links{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:10px;}
.login-links button{background:none;border:none;color:var(--accent);font-size:12px;cursor:pointer;padding:0;}
.login-links button:hover{text-decoration:underline;}
.login-rodape{text-align:center;font-size:11.5px;color:var(--muted);margin-top:18px;line-height:1.6;}
.login-carregando{text-align:center;padding:30px 0;color:var(--muted);font-size:13px;}
.spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;display:inline-block;animation:girar .7s linear infinite;vertical-align:-4px;margin-right:8px;}
@keyframes girar{to{transform:rotate(360deg);}}

/* ---------- ABAS DE VISÃO (Operação · CRM e comissão) ---------- */
.viewtabs{display:flex;gap:3px;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:12px;padding:4px;margin-bottom:14px;width:fit-content;max-width:100%;overflow-x:auto;}
.viewtabs button{font-size:13px;font-weight:500;padding:7px 16px;border-radius:8px;border:none;background:transparent;color:var(--ink-2);cursor:pointer;white-space:nowrap;transition:background .15s ease;}
.viewtabs button:hover{color:var(--ink);}
.viewtabs button.active{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,.14);}
.viewtabs button .cont{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);margin-left:6px;}

/* ---------- TELA DO EXPERT ---------- */
.exp-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:14px;}
.exp-nome{font-family:var(--font-display);font-size:24px;font-weight:600;letter-spacing:-0.025em;display:flex;align-items:center;gap:10px;}
.exp-sub{font-size:12.5px;color:var(--muted);margin-top:4px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.exp-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px;}
.exp-cols{display:grid;grid-template-columns:1.25fr .75fr;gap:14px;align-items:start;}
.exp-sec{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r);padding:16px 18px;margin-bottom:14px;box-shadow:var(--shadow-1);}
.exp-sec h3{font-family:var(--font-display);font-size:13.5px;font-weight:600;margin:0 0 10px;letter-spacing:-0.01em;display:flex;justify-content:space-between;align-items:center;gap:10px;}
.exp-sec h3 .lado{font-size:11.5px;font-weight:500;color:var(--muted);}
.voltar{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--accent);background:none;border:none;cursor:pointer;padding:0;margin-bottom:12px;}
.voltar:hover{text-decoration:underline;}
.card[data-clicavel]{cursor:pointer;}
.card[data-clicavel]:hover{border-color:#C7C7CC;}
.abrir-dica{font-size:10.5px;color:var(--muted);opacity:0;transition:opacity .15s ease;}
.card:hover .abrir-dica{opacity:1;}
@media (max-width:900px){ .exp-cols{grid-template-columns:1fr;} }

/* ---------- PADRÃO DE ESCRITA: nome do expert e nicho em maiúsculas ---------- */
.card-name, .rank-name, .exp-nome, .niche-tag, .pill,
.crm-table td:first-child, .matrix td:first-child{ text-transform:uppercase; }
.card-name, .rank-name, .exp-nome{ letter-spacing:-0.01em; }
.niche-tag, .pill{ letter-spacing:.02em; }
.abrir-dica{ text-transform:none; }

/* card com o fundo na cor clara do nicho — as caixas de dentro voltam ao branco */
.card .mini, .card .traffic-line{ background:rgba(255,255,255,.72); }
.card .btn{ background:rgba(255,255,255,.9); }
.card .btn:hover{ background:#fff; }
.card .panel{ border-top-color:rgba(0,0,0,.10); }
.card .results-table td, .card .email-row, .card .link-item{ border-color:rgba(0,0,0,.09); }
.card .link-item{ background:rgba(255,255,255,.6); }
.card .lock-note{ background:rgba(255,255,255,.55); }
