@font-face{font-family:'ITC Avant Garde Gothic Pro';font-weight:400;font-display:swap;src:url('/assets/fonts/itc-avant-garde-gothic-pro-book.woff2') format('woff2');}
@font-face{font-family:'ITC Avant Garde Gothic Pro';font-weight:700;font-display:swap;src:url('/assets/fonts/itc-avant-garde-gothic-pro-bold.woff2') format('woff2');}

:root{
  --bg:#F2ECE1;
  --panel:#FBF8F2;
  --ink:#172436;
  --ink-soft:#4B5A4E;
  --brick:#0D55BC;
  --brick-dark:#0A3F82;
  --gold:#C0913A;
  --ok:#1E7A46;
  --warn:#B4541A;
  --bad:#A8322B;
  --line:rgba(23,36,54,0.14);
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'ITC Avant Garde Gothic Pro',sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;}
h1,h2,h3{margin:0;font-weight:700;line-height:1.15;}
h1{font-size:24px;margin-bottom:18px;}
h2{font-size:22px;}
h3{font-size:16px;margin:26px 0 10px;}
[hidden]{display:none !important;}
a{color:var(--brick);}
button{font-family:inherit;cursor:pointer;}
input,select,textarea{font-family:inherit;font-size:15px;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:4px;padding:10px 12px;}
input:focus,select:focus,textarea:focus{outline:2px solid var(--brick);outline-offset:1px;border-color:var(--brick);}
textarea{width:100%;min-height:64px;resize:vertical;}
label{display:block;font-size:13px;font-weight:700;}
label input{display:block;width:100%;margin-top:6px;font-weight:400;}

.wrap{max-width:1180px;margin:0 auto;padding:20px 16px 60px;}
.top{background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;}
.top-inner{max-width:1180px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:14px;}
.top-inner img{height:30px;width:auto;}
.top-title{font-weight:700;font-size:15px;color:var(--ink-soft);}
.top-user{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:14px;}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--brick);color:#fff;border:none;border-radius:4px;padding:11px 18px;font-weight:700;font-size:14px;text-decoration:none;}
.btn:hover{background:var(--brick-dark);}
.btn:disabled{opacity:.6;cursor:default;}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line);}
.btn-ghost:hover{background:#fff;}
.btn-sm{padding:7px 12px;font-size:13px;}
.btn-wa{background:#1FA855;}
.btn-wa:hover{background:#178a45;}
.link{background:none;border:none;color:var(--brick);text-decoration:underline;padding:0;font-size:inherit;}

.card{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:22px;}
.login{max-width:400px;margin:40px auto;}
.login form{display:flex;flex-direction:column;gap:14px;}
.error{color:var(--bad);font-size:14px;}
.msg{background:#fff;border-left:4px solid var(--brick);padding:12px 14px;margin-bottom:16px;border-radius:4px;}
.msg.bad{border-color:var(--bad);}
.hint{color:var(--ink-soft);font-size:13.5px;margin:6px 0 14px;}
.stack{display:flex;flex-direction:column;gap:10px;}

.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto;}
.tabs button{background:none;border:none;border-bottom:3px solid transparent;padding:10px 14px;font-weight:700;font-size:14.5px;color:var(--ink-soft);white-space:nowrap;}
.tabs button.active{color:var(--brick);border-bottom-color:var(--brick);}

.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 18px;}
.filters input[type=search]{flex:1;min-width:200px;}

.tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;}
.tile{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:14px 16px;}
.tile .n{font-size:28px;font-weight:700;line-height:1.1;}
.tile .l{font-size:12.5px;color:var(--ink-soft);margin-top:4px;}
.tile .s{font-size:12px;color:var(--ink-soft);}
.mini-kpis{display:flex;gap:10px;flex-wrap:wrap;}
.mini-kpis .tile{padding:10px 14px;min-width:120px;}
.mini-kpis .tile .n{font-size:22px;}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.grid-2 > .card{margin-top:22px;}
.table-wrap{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:6px;}
table{border-collapse:collapse;width:100%;font-size:14px;}
th,td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;}
th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);background:rgba(23,36,54,0.03);}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;}
tr:last-child td{border-bottom:none;}
tfoot td{font-weight:700;}
.empty{color:var(--ink-soft);padding:14px;}

.lead{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:6px;padding:16px 18px;margin-bottom:12px;}
.lead.e-nuevo{border-left-color:var(--brick);}
.lead.e-contactado{border-left-color:var(--gold);}
.lead.e-cita,.lead.e-visito{border-left-color:#7B4FB5;}
.lead.e-aparto{border-left-color:var(--ok);}
.lead.e-perdido{border-left-color:var(--bad);opacity:.8;}
.lead-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px;color:var(--ink-soft);}
.lead-head .folio{font-weight:700;color:var(--ink);font-size:14px;}
.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:12px;font-weight:700;background:rgba(13,85,188,0.1);color:var(--brick);}
.badge.formulario{background:rgba(30,122,70,0.12);color:var(--ok);}
.badge.calculadora{background:rgba(192,145,58,0.16);color:#8a6420;}
.badge.fuera{background:rgba(23,36,54,0.08);color:var(--ink-soft);}
.lead-name{font-size:18px;font-weight:700;margin:8px 0 4px;}
.lead-name.anon{font-size:15px;color:var(--ink-soft);font-weight:400;}
.lead-data{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:14px;color:var(--ink-soft);}
.lead-data b{color:var(--ink);font-weight:700;}
.lead-actions{display:grid;grid-template-columns:auto auto 1fr;gap:10px;align-items:start;margin-top:14px;}
.lead-actions .contact{display:flex;gap:8px;flex-wrap:wrap;}
.lead-actions .follow{display:flex;flex-direction:column;gap:8px;}
.lead-actions .follow-row{display:flex;gap:8px;flex-wrap:wrap;}
.saved{font-size:12.5px;color:var(--ok);}

.day-check{display:inline-flex;flex-direction:column;align-items:center;font-size:11px;font-weight:700;color:var(--ink-soft);margin-right:2px;}
.day-check input{width:18px;height:18px;margin-top:2px;}
.estado{font-size:12.5px;font-weight:700;}
.estado.si{color:var(--ok);}
.estado.no{color:var(--ink-soft);}
.estado.falta{color:var(--bad);}
.team-wa{width:150px;}


/* ---------- pipeline ---------- */
.check{display:inline-flex;align-items:center;gap:6px;font-weight:400;font-size:13.5px;color:var(--ink-soft);}
.check input{width:16px;height:16px;margin:0;}
.stage-tabs{display:none;gap:6px;overflow-x:auto;margin-bottom:12px;padding-bottom:4px;}
.stage-tabs button{flex:0 0 auto;background:var(--panel);border:1.5px solid var(--line);border-radius:20px;padding:7px 12px;font-weight:700;font-size:13px;color:var(--ink-soft);}
.stage-tabs button.active{background:var(--brick);border-color:var(--brick);color:#fff;}
.count{display:inline-block;min-width:20px;padding:0 6px;border-radius:10px;background:rgba(23,36,54,0.08);font-size:12px;text-align:center;margin-left:4px;}
.stage-tabs button.active .count{background:rgba(255,255,255,0.25);}

.board{display:grid;grid-template-columns:repeat(6,minmax(180px,1fr));gap:10px;overflow-x:auto;align-items:start;padding-bottom:8px;}
.col{background:rgba(23,36,54,0.04);border:1px solid var(--line);border-top:3px solid var(--line);border-radius:6px;min-height:200px;}
.col.e-nuevo{border-top-color:var(--brick);}
.col.e-contactado{border-top-color:var(--gold);}
.col.e-cita,.col.e-visito{border-top-color:#7B4FB5;}
.col.e-aparto{border-top-color:var(--ok);}
.col.e-perdido{border-top-color:var(--bad);}
.col.drop{background:rgba(13,85,188,0.08);outline:2px dashed var(--brick);outline-offset:-4px;}
.col-head{padding:10px 12px;font-weight:700;font-size:13.5px;display:flex;align-items:center;justify-content:space-between;}
.col-body{padding:0 8px 8px;display:flex;flex-direction:column;gap:8px;}
.col-empty{color:var(--ink-soft);font-size:12.5px;text-align:center;padding:16px 0;}

.kcard{background:#fff;border:1px solid var(--line);border-radius:6px;padding:10px 11px;cursor:pointer;transition:box-shadow .15s ease, transform .15s ease;}
.kcard:hover{box-shadow:0 6px 16px -10px rgba(23,36,54,0.45);transform:translateY(-1px);}
.kcard:focus{outline:2px solid var(--brick);outline-offset:1px;}
.kcard.dragging{opacity:.45;}
.kcard.toca{border-color:var(--bad);box-shadow:inset 3px 0 0 var(--bad);}
.kc-top{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-soft);white-space:nowrap;}
.kc-top .folio{font-weight:700;color:var(--ink);}
.kc-top .badge{font-size:10.5px;padding:1px 7px;}
.kc-time{margin-left:auto;}
.kc-top .badge{overflow:hidden;text-overflow:ellipsis;min-width:0;}
.kc-name{font-weight:700;font-size:14.5px;margin-top:5px;line-height:1.3;}
.kc-name.anon{font-weight:400;color:var(--ink-soft);font-size:13px;}
.kc-meta{font-size:12.5px;color:var(--ink-soft);margin-top:2px;}
.chip{display:inline-block;margin-top:7px;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:12px;background:rgba(23,36,54,0.07);color:var(--ink-soft);}
.chip.vencido{background:rgba(168,50,43,0.12);color:var(--bad);}

/* ---------- detalle del lead ---------- */
.overlay{position:fixed;inset:0;z-index:40;background:rgba(23,36,54,0.55);display:flex;align-items:center;justify-content:center;padding:16px;}
.sheet{background:var(--panel);border-radius:8px;width:100%;max-width:620px;max-height:90vh;overflow-y:auto;padding:22px 22px 24px;position:relative;box-shadow:0 20px 50px -20px rgba(0,0,0,0.5);}
.sheet-close{position:absolute;top:10px;right:12px;background:none;border:none;font-size:28px;line-height:1;color:var(--ink-soft);}
.sheet .lead-head{padding-right:30px;}
.contact{display:flex;gap:8px;flex-wrap:wrap;}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;align-items:end;}
.detail-grid label select,.detail-grid label input,label textarea{display:block;width:100%;margin-top:6px;font-weight:400;}
.quick{grid-column:1 / -1;display:flex;gap:8px;flex-wrap:wrap;align-items:center;}

@media (max-width:860px){
  .stage-tabs{display:flex;}
  .board{display:block;}
  .col{display:none;border:none;background:none;min-height:0;}
  .col.active{display:block;}
  .col-head{display:none;}
  .col-body{padding:0;}
  .detail-grid{grid-template-columns:1fr;}
  .overlay{align-items:flex-end;padding:0;}
  .sheet{max-height:92vh;border-radius:14px 14px 0 0;}
}

@media (max-width:860px){
  .tiles{grid-template-columns:repeat(2,1fr);}
  .grid-2{grid-template-columns:1fr;}
  .lead-actions{grid-template-columns:1fr;}
  .top-title{display:none;}
}
