:root{
  --bg:#000; --surface:#0c0c0c; --line:#1d1d1d; --input:#000;
  --txt:#fff; --muted:#9a9a9a;
  --verde:#2dff7a; --verde-txt:#2dff7a;
  --ok-bg:#0e2a18; --ok-tx:#2dff7a;
  --warn-bg:#2a2410; --warn-tx:#ffd24a;
  --info-bg:#10222a; --info-tx:#4ac6ff; --info-bd:#1d4a5a;
  --err-bg:#2a1010; --err-tx:#ff7a7a; --err-bd:#5a1f1f;
}
[data-theme="light"]{
  --bg:#f4f4f5; --surface:#ffffff; --line:#e2e2e4; --input:#ffffff;
  --txt:#111; --muted:#666;
  --verde:#2dff7a; --verde-txt:#0a9d4e;
  --ok-bg:#e3f9ec; --ok-tx:#0a7d3c;
  --warn-bg:#fff4d6; --warn-tx:#9a6b00;
  --info-bg:#e0f2fb; --info-tx:#0673a6; --info-bd:#a9d8ef;
  --err-bg:#fde5e5; --err-tx:#c0392b; --err-bd:#f0b9b9;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--txt);font-family:'Inter',sans-serif;font-size:16px;min-height:100vh;transition:background .15s,color .15s}
a{color:inherit;text-decoration:none}
.brand{font-family:'Titillium Web',sans-serif;font-weight:700;letter-spacing:-0.5px;font-size:20px}
.brand span{color:var(--verde-txt);font-weight:600}

/* Login */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.login-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:36px 32px;width:100%;max-width:360px}
.login-card .brand{font-size:26px;margin-bottom:4px}
.sub{color:var(--muted);margin-bottom:24px;font-size:14px}
.login-card label{display:block;font-size:13px;color:var(--muted);margin:14px 0 6px}
.login-card input{width:100%;background:var(--input);border:1px solid var(--line);border-radius:8px;padding:12px;color:var(--txt);font-size:15px}
.login-card input:focus{outline:none;border-color:var(--verde-txt)}
.login-card button{width:100%;margin-top:24px;background:var(--verde);color:#0b0b0b;border:none;border-radius:8px;padding:13px;font-weight:600;font-size:15px;cursor:pointer;font-family:'Titillium Web',sans-serif}
.login-card button:hover{opacity:.9}
.error{background:var(--err-bg);border:1px solid var(--err-bd);color:var(--err-tx);padding:10px 12px;border-radius:8px;font-size:14px}

/* Topbar */
.topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;border-bottom:1px solid var(--line)}
.user{font-size:14px;color:var(--muted)}
.user .rol{color:var(--verde-txt);text-transform:capitalize}
.user a{color:var(--verde-txt)}

/* Dashboard */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;padding:32px 28px;max-width:1000px;margin:0 auto}
.mod{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:26px;transition:.15s;display:block}
.mod:hover{border-color:var(--verde-txt);transform:translateY(-2px)}
.mod-n{width:34px;height:34px;border-radius:8px;background:var(--verde);color:#0b0b0b;display:flex;align-items:center;justify-content:center;font-weight:700;font-family:'Titillium Web',sans-serif;margin-bottom:14px}
.mod h2{font-family:'Titillium Web',sans-serif;font-size:19px;font-weight:600;margin-bottom:6px}
.mod p{color:var(--muted);font-size:14px;line-height:1.5}

/* Modulo */
.modulo{max-width:800px;margin:0 auto;padding:32px 28px}
.back{color:var(--verde-txt);font-size:14px}
.modulo h1{font-family:'Titillium Web',sans-serif;font-weight:600;letter-spacing:-0.5px;margin:18px 0 8px}
.modulo p{color:var(--muted)}
.soon{margin-top:24px;background:var(--surface);border:1px dashed var(--line);border-radius:12px;padding:24px;color:var(--muted);text-align:center}

/* Buscador */
.buscador{display:flex;gap:10px;margin:18px 0 24px}
.buscador input{flex:1;background:var(--input);border:1px solid var(--line);border-radius:8px;padding:12px;color:var(--txt);font-size:15px}
.buscador input:focus{outline:none;border-color:var(--verde-txt)}
.buscador button{background:var(--verde);color:#0b0b0b;border:none;border-radius:8px;padding:0 22px;font-weight:600;cursor:pointer;font-family:'Titillium Web',sans-serif}
.lista{display:flex;flex-direction:column;gap:10px}
.item{display:flex;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 18px;transition:.15s}
.item:hover{border-color:var(--verde-txt)}
.item .ppu{font-family:'Titillium Web',sans-serif;font-weight:700;color:var(--verde-txt);min-width:80px}
.item .info{flex:1}
.item .nom{font-weight:500}
.item .veh{color:var(--muted);font-size:13px}
.item .arrow{color:var(--muted)}
.btn-nuevo{display:inline-block;margin-bottom:22px;color:var(--verde-txt);border:1px solid var(--line);border-radius:8px;padding:8px 16px;font-size:14px}
.btn-nuevo:hover{border-color:var(--verde-txt)}

/* Ficha */
.ficha-head{display:flex;align-items:center;gap:14px;margin-top:18px}
.ficha-head h1{margin:0}
.ppu-badge{font-family:'Titillium Web',sans-serif;font-weight:700;background:var(--verde);color:#0b0b0b;padding:4px 12px;border-radius:8px}
.sub{color:var(--muted);margin:6px 0 22px}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:16px}
.card h3{font-family:'Titillium Web',sans-serif;font-weight:600;font-size:15px;margin-bottom:12px;color:var(--verde-txt)}
.kv{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:14px;border-bottom:1px solid var(--line)}
.kv:last-child{border-bottom:none}
.kv span{color:var(--muted)}
.vacio{color:var(--muted);font-size:14px}
.tabla{width:100%;border-collapse:collapse;font-size:14px}
.tabla th{text-align:left;color:var(--muted);font-weight:500;font-size:12px;padding:6px 8px;border-bottom:1px solid var(--line)}
.tabla td{padding:8px;border-bottom:1px solid var(--line)}
.tabla .r{text-align:right}
.tabla tfoot td{font-weight:600;border-bottom:none}
.estado{padding:2px 10px;border-radius:6px;font-size:12px;font-weight:600}
.estado.ok{background:var(--ok-bg);color:var(--ok-tx)}
.estado.mes{background:var(--warn-bg);color:var(--warn-tx)}
.estado.prox{background:var(--info-bg);color:var(--info-tx)}
.estado.venc{background:var(--err-bg);color:var(--err-tx)}

/* Ingreso */
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.form-grid label{display:flex;flex-direction:column;font-size:12px;color:var(--muted);gap:4px}
.form-grid input{background:var(--input);border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--txt);font-size:14px;text-transform:uppercase}
.form-grid input#mail,.form-grid input#fono{text-transform:none}
.form-grid input:focus{outline:none;border-color:var(--verde-txt)}
.form-grid input[readonly]{color:var(--muted)}
.cli-estado{font-size:13px;border-radius:8px}
.cli-estado.existe{background:var(--ok-bg);color:var(--ok-tx);padding:10px 14px;margin-bottom:14px;font-weight:600}
.cli-estado.nuevo{background:var(--surface);border:1px solid var(--line);color:var(--muted);padding:10px 14px;margin-bottom:14px}
#cab.existe{border-color:var(--verde-txt)}
.row{display:grid;grid-template-columns:1fr 140px 40px;gap:8px;margin-bottom:8px}
.row select,.row .precio{background:var(--input);border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--txt);font-size:14px}
.row select:focus,.row .precio:focus{outline:none;border-color:var(--verde-txt)}
.row .precio{text-align:right}
.btn-x{background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--muted);cursor:pointer}
.btn-x:hover{border-color:var(--err-tx);color:var(--err-tx)}
.btn-ghost{background:transparent;border:1px dashed var(--line);border-radius:8px;color:var(--verde-txt);padding:10px 16px;cursor:pointer;margin-top:4px;font-size:14px}
.total-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:14px;padding-top:12px}
.total-row span{color:var(--muted)}
.total-row b{font-size:18px}
.btn-guardar{width:100%;margin-top:6px;background:var(--verde);color:#0b0b0b;border:none;border-radius:10px;padding:14px;font-weight:600;font-size:15px;cursor:pointer;font-family:'Titillium Web',sans-serif}
.btn-guardar:hover{opacity:.9}

/* Foto / texto / flash */
.foto-box{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.btn-foto{background:var(--info-bg);border:1px solid var(--info-bd);border-radius:8px;color:var(--info-tx);padding:10px 16px;cursor:pointer;font-size:14px}
.btn-foto:hover{border-color:var(--info-tx)}
.foto-msg{font-size:13px;color:var(--muted)}
.flash{background:var(--ok-bg);border:1px solid var(--verde-txt);color:var(--ok-tx);padding:10px 14px;border-radius:8px;margin:14px 0;font-size:14px}
.texto-box{margin-bottom:14px}
.texto-box textarea{width:100%;background:var(--input);border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--txt);font-size:13px;font-family:'Inter',sans-serif;resize:vertical;margin-bottom:8px}
.texto-box textarea:focus{outline:none;border-color:var(--verde-txt)}

/* Notas */
.nota-label{display:flex;flex-direction:column;font-size:12px;color:var(--muted);gap:4px;margin-top:12px}
.nota-label textarea{background:var(--input);border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--txt);font-size:14px;font-family:'Inter',sans-serif;resize:vertical}
.nota-label textarea:focus{outline:none;border-color:var(--verde-txt)}
.notas-lista{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.nota-item{background:var(--input);border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.nota-txt{font-size:14px;white-space:pre-wrap}
.nota-meta{font-size:12px;color:var(--muted);margin-top:6px}
.nota-form{display:flex;gap:8px;align-items:flex-start}
.nota-form textarea{flex:1;background:var(--input);border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--txt);font-size:14px;font-family:'Inter',sans-serif;resize:vertical}
.nota-form textarea:focus{outline:none;border-color:var(--verde-txt)}
.nota-form button{background:var(--verde);color:#0b0b0b;border:none;border-radius:8px;padding:0 18px;height:42px;font-weight:600;cursor:pointer;font-family:'Titillium Web',sans-serif;white-space:nowrap}

/* Toggle de tema */
.theme-toggle{position:fixed;bottom:16px;right:16px;z-index:50;background:var(--surface);border:1px solid var(--line);color:var(--txt);border-radius:20px;padding:8px 16px;font-size:13px;cursor:pointer;font-family:'Inter',sans-serif;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.theme-toggle:hover{border-color:var(--verde-txt)}

/* Modal de bienvenida */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}
.modal-box{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:48px 40px;text-align:center;max-width:420px;width:100%}
.modal-saludo{font-family:'Titillium Web',sans-serif;font-weight:700;font-size:34px;color:var(--verde-txt);margin-bottom:24px}
.modal-box button{background:var(--verde);color:#0b0b0b;border:none;border-radius:10px;padding:13px 40px;font-weight:600;font-size:15px;cursor:pointer;font-family:'Titillium Web',sans-serif}
.modal-box button:hover{opacity:.9}

@media(max-width:600px){.cards{grid-template-columns:1fr}}

/* Panel renovaciones */
.renov-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}
.renov-head h3{margin:0}
.btn-enviar{background:var(--verde);color:#0b0b0b;border:none;border-radius:8px;padding:8px 16px;font-weight:600;cursor:pointer;font-family:'Titillium Web',sans-serif;font-size:13px}
.btn-enviar:hover{opacity:.9}
.ultimo-envio{font-size:12px;color:var(--muted);margin-bottom:12px}
.renov-tabla td{vertical-align:top}
.mini{font-size:12px;color:var(--muted)}
.ppu-link{font-family:'Titillium Web',sans-serif;font-weight:700;color:var(--verde-txt)}
.acciones{display:flex;gap:8px;align-items:center;white-space:nowrap}
.btn-wa{background:var(--ok-bg);color:var(--ok-tx);border:1px solid var(--ok-tx);border-radius:7px;padding:6px 12px;font-size:13px}
.btn-pago{background:var(--surface);border:1px solid var(--line);color:var(--txt);border-radius:7px;padding:6px 12px;font-size:13px;cursor:pointer}
.btn-pago:hover{border-color:var(--verde-txt)}

/* Baja / seguimiento / contador correos */
.btn-baja{background:var(--err-bg);border:1px solid var(--err-bd);color:var(--err-tx);border-radius:7px;padding:6px 12px;font-size:13px;cursor:pointer}
.btn-baja:hover{border-color:var(--err-tx)}
.correos-hoy{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:12px;padding:3px 10px;font-size:12px;margin-right:12px}
.seg-filtro{display:flex;gap:8px;margin:18px 0}
.seg-filtro select{background:var(--input);border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--txt);font-size:14px}
.seg-filtro button{background:var(--verde);color:#0b0b0b;border:none;border-radius:8px;padding:0 20px;font-weight:600;cursor:pointer;font-family:'Titillium Web',sans-serif}
.seg-cont{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}

/* Resumen estadistico + colapsables */
.resumen-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.resumen-top h3{margin:0}
.seg-cont{display:flex;gap:12px;flex-wrap:wrap}
.stat{flex:1;min-width:90px;background:var(--input);border:1px solid var(--line);border-radius:10px;padding:14px;text-align:center}
.stat-n{font-family:'Titillium Web',sans-serif;font-weight:700;font-size:26px}
.stat-l{font-size:12px;color:var(--muted);margin-top:2px}
.ok-tx{color:var(--ok-tx)}
.warn-tx{color:var(--warn-tx)}
.err-tx{color:var(--err-tx)}
.colapsa{margin-top:12px}
.colapsa summary{cursor:pointer;list-style:none}
.colapsa summary::-webkit-details-marker{display:none}
.lista-mini{list-style:none;margin-top:10px;display:flex;flex-direction:column;gap:6px}
.lista-mini li{font-size:14px;padding:6px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px}
.lista-mini a{color:var(--verde-txt);font-weight:600;font-family:'Titillium Web',sans-serif}
.btn-mini{height:auto;padding:4px 10px;font-size:12px}

/* Tareas + pendientes en modal */
.tarea-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.tarea-form input[name="texto"]{flex:2;min-width:180px}
.tarea-form input[name="contacto"]{flex:1;min-width:140px}
.tarea-form input{background:var(--input);border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--txt);font-size:14px}
.tarea-form input:focus{outline:none;border-color:var(--verde-txt)}
.tarea-form button{background:var(--verde);color:#0b0b0b;border:none;border-radius:8px;padding:0 18px;font-weight:600;cursor:pointer;font-family:'Titillium Web',sans-serif}
.tareas-lista{list-style:none;display:flex;flex-direction:column;gap:8px}
.tareas-lista li{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--input);border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.tareas-lista li.vence{border-color:var(--err-bd)}
.t-main{display:flex;flex-direction:column;gap:2px}
.t-txt{font-size:14px}
.t-meta{font-size:12px;color:var(--muted)}
.tareas-lista.hechas .t-txt{text-decoration:line-through;color:var(--muted)}
.btn-ghost-mini{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:7px;padding:4px 10px;font-size:12px;cursor:pointer}
.modal-pend{text-align:left;background:var(--input);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:20px}
.modal-pend-t{font-weight:600;font-size:14px;margin-bottom:10px}
.modal-pend ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.modal-pend li{font-size:13px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pend-tipo{background:var(--warn-bg);color:var(--warn-tx);border-radius:6px;padding:1px 8px;font-size:11px;font-weight:600}
.pend-tipo.venta{background:var(--info-bg);color:var(--info-tx)}
.pend-fecha{color:var(--muted);font-size:12px;margin-left:auto}

/* Controles de pago y viaje */
.pago-controls{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.check-btn{display:flex;align-items:center;gap:7px;font-size:14px;cursor:pointer}
.check-btn input{width:18px;height:18px;accent-color:var(--verde)}
#viaje-campo{font-size:14px;color:var(--muted);display:flex;align-items:center;gap:8px}
#viaje-campo .precio{width:120px;background:var(--input);border:1px solid var(--line);border-radius:8px;padding:8px;color:var(--txt);text-align:right}
.estado.pend{background:var(--err-bg);color:var(--err-tx)}

/* Boton No pagado destacado */
.check-btn.nopago b{color:var(--err-tx)}
.check-btn.nopago input{accent-color:var(--err-tx)}

/* Botones de autocompletar juntos */
.auto-botones{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}

/* Cobranza */
.nota-cobro{color:var(--err-tx)!important;font-style:italic}

/* Cajas próximamente (no clicables) */
.soon-mod{opacity:.5;cursor:default}
.soon-mod:hover{border-color:var(--line);transform:none}

/* Productos obsoletos */
.fila-obsoleto{opacity:.55}

/* Fila de producto con costo instalador */
.row3{grid-template-columns:1fr 130px 130px 40px}
.row3 .costo{background:var(--input);border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--txt);font-size:14px;text-align:right}
.row3 .costo:focus{outline:none;border-color:var(--verde-txt)}

/* Inputs de costos */
.costo-input{width:100px;background:var(--input);border:1px solid var(--line);border-radius:8px;padding:8px;color:var(--txt);text-align:right}
.costo-input:focus{outline:none;border-color:var(--verde-txt)}

/* Editar pago en la ficha */
.pago-edit{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.pago-edit select,.pago-edit .precio{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--input);color:var(--txt);font-size:13px}
.pago-edit .precio{width:100px;text-align:right}

/* Encabezado de columnas de productos */
.row-head{display:grid;grid-template-columns:1fr 130px 130px 40px;gap:8px;margin-bottom:4px;font-size:12px;color:var(--muted)}
.row-head span:nth-child(2),.row-head span:nth-child(3){text-align:right}

/* Acciones de tarea (botones lado a lado) */
.t-acc{display:flex;gap:6px;align-items:center}

/* Grilla de resumen contable */
.cont-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}

/* ---------- Agenda (rediseño) ---------- */
.ag-wrap{display:grid;grid-template-columns:1fr 300px;gap:18px;max-width:1280px;margin:0 auto;padding:18px;align-items:start}
.ag-main{min-width:0}
.ag-side{position:sticky;top:14px;display:flex;flex-direction:column;gap:14px}
.ag-semana{margin-bottom:22px}
.ag-sem-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:2px solid var(--accent);padding-bottom:6px;margin-bottom:10px}
.ag-sem-head h2{margin:0;font-size:16px}
.ag-sem-res{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.chip{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;background:var(--input);border:1px solid var(--line)}
.chip-igla{background:#e8f5e9;color:#1b5e20;border-color:#a5d6a7}
.chip-gps{background:#e3f2fd;color:#0d47a1;border-color:#90caf9}
.chip-qody{background:#fff3e0;color:#e65100;border-color:#ffcc80}
.chip-def{background:#f3e5f5;color:#6a1b9a;border-color:#ce93d8}
.ag-dia{margin-bottom:12px;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.ag-dia-head{background:var(--input);padding:5px 10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ag-dia-tit{font-weight:700;font-size:12.5px;text-transform:capitalize}
.ag-region{font-size:10.5px;color:var(--muted);padding:1px 6px;border-radius:10px;border:1px solid var(--line)}
.ag-region.lejana{font-weight:800;color:#c0392b;border-color:#e6a;}
.ag-tec{border-top:1px solid var(--line)}
.ag-tec-head{display:flex;align-items:center;justify-content:space-between;padding:2px 10px;background:color-mix(in srgb,var(--input) 50%,transparent)}
.ag-tec-nom{font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--accent)}
.ag-add{font-size:10.5px;border:none;background:none;color:var(--accent);cursor:pointer;padding:2px 4px}
.ag-fila{display:flex;gap:8px;align-items:flex-start;padding:3px 10px;font-size:11.5px;line-height:1.35;border-top:1px dashed color-mix(in srgb,var(--line) 60%,transparent);cursor:pointer}
.ag-fila .ag-hora{font-weight:700;min-width:40px;color:var(--txt)}
.ag-fila .ag-texto{flex:1;word-break:break-word}
.ag-fila.libre{opacity:.55}
.ag-fila.libre:hover{opacity:1;background:var(--input)}
.ag-fila.ocupada:hover{background:var(--input)}
.ag-fila.prereserva{background:#ffe3e8}
[data-theme="dark"] .ag-fila.prereserva{background:#5a2530}
.ag-acc{display:flex;gap:4px;align-items:center}
.ag-b{text-decoration:none;font-size:13px;padding:1px 3px;border-radius:6px}
.ag-b:hover{background:var(--input)}
.vacio-tx{color:var(--muted)}
.ag-alerta{display:inline-block;color:#c0392b;font-weight:700;font-size:10.5px;margin-left:5px;white-space:nowrap}
[data-theme="dark"] .ag-alerta{color:#ff8a80}
/* mini calendario */
.mini-cal{padding:10px}
.mc-head{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:13px;margin-bottom:6px}
.mc-head a{text-decoration:none;color:var(--accent);font-size:18px;padding:0 6px}
table.mc{width:100%;border-collapse:collapse}
table.mc th{font-size:10px;color:var(--muted);font-weight:600;padding:2px}
table.mc td{text-align:center;padding:1px}
table.mc a{display:block;font-size:11.5px;padding:4px 0;border-radius:6px;text-decoration:none;color:var(--txt)}
table.mc a:hover{background:var(--input)}
table.mc a.otro{color:var(--muted);opacity:.5}
table.mc a.hoy{outline:1px solid var(--accent)}
table.mc a.sel{background:var(--accent);color:#06281a;font-weight:700}
.side-h{margin:0 0 8px;font-size:13px}
.side-list{list-style:none;padding:0;margin:0;font-size:12px;display:flex;flex-direction:column;gap:5px}
.mini-stats{width:100%;border-collapse:collapse;font-size:12px}
.mini-stats th{text-align:left;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line);padding:3px}
.mini-stats td{padding:3px;border-bottom:1px solid color-mix(in srgb,var(--line) 50%,transparent)}
.mini-stats .r{text-align:right}
/* modal */
.ag-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}
.ag-modal-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;width:100%;max-width:620px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.ag-modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.ag-modal-head h3{margin:0}
.ag-x{background:none;border:none;font-size:20px;cursor:pointer;color:var(--muted)}
.ag-row2{display:grid;grid-template-columns:1fr 140px;gap:10px}
.ag-modal-acc{display:flex;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}
.ag-modal textarea{width:100%;background:var(--input);border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--txt);font-size:14px}
.btn-ia-negro{border:1px dashed var(--line);background:var(--input);color:var(--txt);font-weight:700;border-radius:10px;padding:8px 14px;cursor:pointer}
.btn-ia-negro:hover{border-color:var(--accent)}
.ok-tx{color:#1e8e4e;font-weight:600}
[data-theme="dark"] .ok-tx{color:var(--accent)}
@media(max-width:880px){.ag-wrap{grid-template-columns:1fr}.ag-side{position:static}}

/* Paleta por día (la de la planilla original) — texto negro forzado */
.ag-dia-head.dia-0{background:#b6d7a8}  /* lunes verde */
.ag-dia-head.dia-1{background:#fce5cd}  /* martes durazno */
.ag-dia-head.dia-2{background:#fff200}  /* miércoles amarillo */
.ag-dia-head.dia-3{background:#cfe2f3}  /* jueves celeste */
.ag-dia-head.dia-4{background:#f6c64b}  /* viernes amarillo-naranja */
.ag-dia-head.dia-5{background:#a4c2f4}  /* sábado azul */
.ag-dia-head[class*="dia-"] .ag-dia-tit{color:#1a1a1a}
.ag-dia-head[class*="dia-"] .ag-region{color:#1a1a1a;border-color:rgba(0,0,0,.25)}
.ag-dia-head[class*="dia-"] .ag-region.lejana{color:#a01010}

/* Choque de horario y link a ficha en agenda */
.ag-fila.choque{box-shadow:inset 3px 0 0 #e67e22}
.ag-ppu{font-size:10.5px;text-decoration:none;color:var(--accent);white-space:nowrap}
.ag-ppu:hover{text-decoration:underline}
button.ag-b{border:none;background:none;cursor:pointer;font-size:13px}

/* Icono de mails (promos) en topbar */
.mails-icon{text-decoration:none;background:var(--accent);color:#06281a !important;font-weight:700;border-radius:20px;padding:2px 10px}
.mails-icon:hover{filter:brightness(1.05)}

/* Tick de correo promocional en cada cita de la agenda */
.promo-tick{font-size:10.5px;font-weight:700;padding:1px 5px;border-radius:10px;white-space:nowrap}
.promo-tick.ok{background:#e8f5e9;color:#1b5e20}
.promo-tick.no{color:var(--muted);opacity:.6}
[data-theme="dark"] .promo-tick.ok{background:#1f4023;color:#a5d6a7}

/* Drag & drop agenda */
.ag-fila.ocupada{cursor:grab}
.ag-fila.dragging{opacity:.4}
.ag-fila.drop-hi{background:color-mix(in srgb,var(--accent) 22%,transparent);outline:2px dashed var(--accent)}

/* Indicadores de envíos base por cita (3 marcas) */
.envios-base{display:inline-flex;gap:2px}
.eb{font-size:9px;font-weight:700;padding:1px 3px;border-radius:5px;line-height:1.3}
.eb.ok{background:#e8f5e9;color:#1b5e20}
.eb.no{background:var(--input);color:var(--muted);opacity:.55}
[data-theme="dark"] .eb.ok{background:#1f4023;color:#a5d6a7}

/* Planilla editable de ventas */
.sheet-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;margin-top:14px}
table.sheet{border-collapse:collapse;font-size:12px;white-space:nowrap}
table.sheet th{background:var(--input);color:var(--muted);font-weight:600;padding:8px 8px;text-align:left;position:sticky;top:0;border-bottom:1px solid var(--line)}
table.sheet td{padding:3px 6px;border-bottom:1px solid var(--line);vertical-align:middle}
table.sheet tr form{display:contents}
table.sheet td.fija{background:var(--input)}
table.sheet td.calc{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}
table.sheet input,table.sheet select{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:5px 6px;color:var(--txt);font-size:12px;min-width:90px}
table.sheet input.num{min-width:80px;text-align:right}
table.sheet input.doc{min-width:70px}
.btn-mini{background:var(--accent);color:#06281a;border:none;border-radius:6px;padding:6px 12px;font-weight:700;font-size:12px;cursor:pointer}
.btn-mini:hover{filter:brightness(1.05)}
.filtros-fecha label{display:flex;flex-direction:column;gap:4px;font-size:13px}
.filtros-fecha input{background:var(--input);border:1px solid var(--line);border-radius:8px;padding:8px;color:var(--txt)}

/* Secciones dentro de Parámetros */
.seccion-param{margin-top:30px}
.seccion-param:first-of-type{margin-top:10px}
.seccion-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.seccion-head h2{margin:0;font-size:20px}

/* Chips de estado en Gestión Ventas */
.chip{padding:6px 14px;border-radius:18px;border:1px solid var(--line);color:var(--txt);text-decoration:none;font-size:13px}
.chip-on{background:var(--accent);color:#06281a;font-weight:700;border-color:var(--accent)}
.chip-ia{background:#111;color:#fff;border-color:#111}
[data-theme="dark"] .chip-ia{background:#000;border-color:#333}

/* Gestión Ventas: layout con estadística lateral */
.gv-layout{display:grid;grid-template-columns:1fr 260px;gap:18px;align-items:start}
.gv-side .card{position:sticky;top:14px}
.gv-stat{display:flex;justify-content:space-between;padding:5px 0;font-size:14px;border-bottom:1px solid var(--line)}
.gv-stat:last-child{border-bottom:none}
.gv-hr{border:none;border-top:1px solid var(--line);margin:8px 0}
@media (max-width:860px){.gv-layout{grid-template-columns:1fr}}

/* Focos clicables */
.gv-link{text-decoration:none;color:var(--txt);cursor:pointer}
.gv-link:hover{color:var(--accent)}
.gv-link:hover b{filter:brightness(1.1)}

/* Resto de conversaciones + coaching lado a lado */
.gv-resto-row{display:grid;grid-template-columns:1fr 320px;gap:14px;align-items:start}
.gv-coaching{border-left:3px solid var(--accent)}
@media (max-width:860px){.gv-resto-row{grid-template-columns:1fr}}

/* Barra de accesos directos */
.quicknav{position:sticky;top:0;z-index:50;display:flex;gap:4px;padding:6px 14px;
  background:var(--bg-elev,#15171c);border-bottom:1px solid var(--line);flex-wrap:wrap}
.quicknav a{font-size:13px;color:var(--muted,#8a90a0);text-decoration:none;padding:5px 12px;
  border-radius:6px;font-weight:500}
.quicknav a:hover{color:var(--txt);background:rgba(125,130,150,.12)}
[data-theme="light"] .quicknav{background:#f3f4f6}

/* Etiqueta cortado de golpe + texto IA */
.tag-corte{display:inline-block;background:#e6453d;color:#fff;font-size:11px;font-weight:600;
  padding:1px 7px;border-radius:4px;margin-left:6px;vertical-align:middle}
.gv-ia-txt{line-height:1.7}
.gv-ia-txt b{color:var(--txt)}

/* Avisos rojos en quicknav */
.qn-alert{background:#e6453d!important;color:#fff!important;font-weight:600!important;
  padding:5px 12px;border-radius:6px;animation:qnpulse 1.6s ease-in-out infinite}
.qn-alert:hover{background:#cf3a33!important;color:#fff!important}
@keyframes qnpulse{0%,100%{opacity:1}50%{opacity:.72}}

/* Etiquetar en tareas */
.etiq-box{font-size:13px}
.etiq-box summary{cursor:pointer;color:var(--muted,#8a90a0);padding:4px 0}
.etiq-list{display:flex;flex-wrap:wrap;gap:10px;padding:8px 0}
.etiq-list label{display:flex;align-items:center;gap:5px;font-size:13px;white-space:nowrap}
.t-etiq{color:var(--accent);font-weight:500}

/* Campañas marketing */
.cmkt-layout{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}
.cmkt-main input,.cmkt-main textarea,.cmkt-side textarea{width:100%;box-sizing:border-box}
.cmkt-lbl{display:block;font-size:13px;font-weight:600;margin:12px 0 5px}
.cmkt-lbl:first-child{margin-top:0}
.cmkt-futuro{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}
@media (max-width:860px){.cmkt-layout{grid-template-columns:1fr}}

.gv-resto-side{display:flex;flex-direction:column;gap:14px}
.fila-link:hover{background:rgba(125,130,150,.08)}

/* Flota en registro GPS */
.flota-box{margin-top:14px;padding:12px;border:1px dashed var(--line);border-radius:8px}
.flota-check{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}
.flota-box .grid2{margin-top:8px}

/* Tabla de equipos de flota: compacta y con scroll horizontal */
.tabla-flota{font-size:12px;white-space:nowrap;min-width:1200px}
.tabla-flota th,.tabla-flota td{padding:5px 8px}

/* Pill de estado y filtro en flota */
.estado-pill{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}
.estado-pill.activo{background:rgba(46,160,90,.18);color:#1f9d55}
.estado-pill.baja{background:rgba(230,69,61,.16);color:#e6453d}
.flota-filtro{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.flota-filtro .chip{font-size:12px;padding:3px 10px}

/* Equipos vencidos (pasados de renovación) */
.estado-pill.venc{background:#e6453d;color:#fff}
.fila-vencida{background:rgba(230,69,61,.07)}
.fila-vencida:hover{background:rgba(230,69,61,.13)}
.chip-venc{border-color:#e6453d;color:#e6453d}
.chip-venc.chip-on{background:#e6453d;color:#fff;border-color:#e6453d}

/* Selector de plataforma por equipo en Partners */
.sel-plat{font-size:12px;padding:2px 4px;border:1px solid var(--line);border-radius:6px;background:var(--card,#fff)}

/* Modales y form de seguros */
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:50;align-items:center;justify-content:center}
.modal-card{max-width:560px;width:92%;margin:0;max-height:90vh;overflow-y:auto}
.req{color:#e6453d;font-weight:700}
.auto-fila{margin-bottom:6px}

/* Renovaciones: fila con baja pendiente */
.fila-pend{background:rgba(230,69,61,.08)}
.fila-pend td{border-top:1px solid rgba(230,69,61,.2)}

/* Activaciones: bloque histórico con asterisco */
.fila-hist{opacity:.62}
.fila-hist td{background:rgba(120,120,120,.05)}

/* Renovaciones: botones de ícono (WhatsApp, correo) */
.btn-icono{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  padding:0;font-size:17px;border-radius:8px;text-decoration:none;line-height:1;cursor:pointer;vertical-align:middle}
.btn-mail{background:var(--input);border:1px solid var(--line);color:var(--txt)}
.btn-mail:hover{border-color:var(--verde-txt)}
