/* CAPACOLOR Admin — estilos (extraido de index.html, Fase 6) */
*{box-sizing:border-box;margin:0;padding:0}
:root{--bl:#0C1DE1;--or:#FD6301;--cr:#F4EFE9;--ink:#1a1a2e;--ink2:#4a4a6a;--ink3:#9090b0;--card:#fff;--bd:#E8E4F0;--gn:#1A7A4A;--gnb:#EAF5EF;--rd:12px;--sh:0 2px 16px rgba(12,29,225,.07);--sb:200px}
[data-theme="dark"]{--bl:#4d6ef5;--or:#FD6301;--cr:#1a1a2e;--ink:#e8e8f0;--ink2:#a0a0c0;--ink3:#6060a0;--card:#242438;--bd:#323252;--gn:#2ecc71;--gnb:#1a3a2a;--sh:0 2px 16px rgba(0,0,0,.3)}
/* Paletas pastel (claras) — restauradas a peticion del equipo */
[data-theme="rosa"]{--bl:#D6539C;--or:#FD6301;--cr:#FFF5F9;--ink:#3D2A33;--ink2:#7A5C68;--ink3:#B79AA6;--card:#fff;--bd:#F3DCE7;--gn:#1A7A4A;--gnb:#EAF5EF;--sh:0 2px 16px rgba(214,83,156,.10)}
[data-theme="menta"]{--bl:#1FA98C;--or:#FD6301;--cr:#F1FBF7;--ink:#1F3A33;--ink2:#5A7A70;--ink3:#9CBDB2;--card:#fff;--bd:#D6EEE5;--gn:#1A7A4A;--gnb:#EAF5EF;--sh:0 2px 16px rgba(31,169,140,.10)}
[data-theme="lavanda"]{--bl:#7C6BD6;--or:#FD6301;--cr:#F6F3FF;--ink:#2E2A40;--ink2:#5F5A7A;--ink3:#A79CCB;--card:#fff;--bd:#E2DCF5;--gn:#1A7A4A;--gnb:#EAF5EF;--sh:0 2px 16px rgba(124,107,214,.10)}
[data-theme="durazno"]{--bl:#E8804D;--or:#E8804D;--cr:#FFF6F0;--ink:#402F26;--ink2:#7A6354;--ink3:#C8AB99;--card:#fff;--bd:#F6DECF;--gn:#1A7A4A;--gnb:#EAF5EF;--sh:0 2px 16px rgba(232,128,77,.12)}
/* Selector de tema (popover) */
.theme-pop{position:fixed;top:54px;right:8px;z-index:9000;background:var(--card);border:1px solid var(--bd);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.18);padding:12px;width:210px;font-family:'Poppins',sans-serif}
.theme-pop-hdr{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin:2px 2px 9px}
.theme-sw-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.theme-sw{width:100%;aspect-ratio:1;border-radius:50%;border:2px solid transparent;cursor:pointer;position:relative;outline:none;padding:0}
.theme-sw.active{border-color:var(--ink)}
.theme-sw.active::after{content:'✓';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.theme-sw-lbls{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:5px}
.theme-sw-lbls span{font-size:8.5px;text-align:center;color:var(--ink3);font-weight:600;line-height:1.1}
html,body{overflow-x:hidden;width:100%;height:100%;font-family:'Poppins',sans-serif;background:var(--cr);color:var(--ink)}

/* LOGIN */
#login{position:fixed;inset:0;z-index:9999;background:var(--bl);display:flex;align-items:center;justify-content:center;padding:20px}
#login.hide{display:none}
.lcard{position:relative;z-index:1;background:#fff;border-radius:20px;padding:32px 28px;width:100%;max-width:360px;box-shadow:0 20px 60px rgba(0,0,0,.25);text-align:center}
/* ── Fondo del login: mural doodle de pintura (estilo obra de arte) ── */
.login-bg{position:absolute;inset:0;pointer-events:none;opacity:.14;background:url('assets/login-doodle.svg') repeat;background-size:560px auto}
@media(max-width:560px){.login-bg{background-size:430px auto}}
.llogo{height:32px;width:auto;max-width:200px;object-fit:contain;margin-bottom:18px}
.ltitle{font-size:15px;font-weight:700;color:var(--bl);margin-bottom:2px}
.lsub{font-size:12px;color:var(--ink3);margin-bottom:20px}
.lf{margin-bottom:10px;text-align:left}
.lf label{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:4px}
.lf input{width:100%;padding:11px 13px;border:1.5px solid var(--bd);border-radius:9px;font-family:'Poppins',sans-serif;font-size:14px;color:var(--ink);background:var(--cr);outline:none}
.lf input:focus{border-color:var(--bl);background:#fff}
.lbtn{width:100%;padding:12px;background:var(--bl);color:#fff;border:none;border-radius:9px;font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;cursor:pointer;margin-top:5px}
.lbtn:hover{background:#0a18c0}
.lerr{display:none;background:#fee;border:1px solid #fcc;border-radius:7px;padding:8px 12px;font-size:12px;color:#c0392b;margin-bottom:10px;text-align:left}
.lerr.show{display:block}
.lfoot{font-size:10px;color:#ccc;margin-top:14px}

/* APP SHELL */
#app{display:none;min-height:100vh}
/* Altura fija del shell: el header queda arriba y .mcontent es el unico
   scroller (100dvh evita el salto por la barra del navegador en movil). */
#app.show{display:flex;flex-direction:column;height:100vh;height:100dvh}

/* HEADER */
.hbar{background:var(--bl);height:52px;display:flex;align-items:center;padding:0 8px;gap:5px;position:sticky;top:0;z-index:200;box-shadow:0 2px 12px rgba(12,29,225,.25);overflow:hidden}
@media(max-width:700px){
  .hbar{position:fixed;top:0;left:0;right:0;z-index:300}
  #app{padding-top:52px}
}
.hmenu{background:none;border:none;color:rgba(255,255,255,.8);cursor:pointer;padding:6px;border-radius:7px;display:flex;flex-direction:column;gap:4px}
.hmenu:hover{background:rgba(255,255,255,.1)}
.hmenu span{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;transition:all .2s}
.hlogo{height:28px;width:auto;max-width:180px;object-fit:contain;filter:brightness(0) invert(1)}
.huser{display:flex;align-items:center;gap:5px;flex-shrink:0}
.hname{font-size:11px;font-weight:600;color:rgba(255,255,255,.85);display:none}
.hrole{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:2px 7px;border-radius:10px;background:rgba(255,255,255,.15);color:#fff}
.hrole.adm{background:var(--or)}
.hout{font-size:11px;font-weight:600;color:rgba(255,255,255,.55);background:rgba(255,255,255,.1);border:none;border-radius:16px;padding:4px 10px;cursor:pointer;font-family:'Poppins',sans-serif}

/* BODY LAYOUT */
.abody{display:flex;flex:1;min-height:0;width:100%;overflow:hidden}

/* SIDEBAR */
.sidebar{width:var(--sb);background:var(--card);border-right:1px solid var(--bd);display:flex;flex-direction:column;transition:width .28s ease,transform .28s ease;overflow:hidden;flex-shrink:0}
.sidebar.collapsed{width:56px}
@media(max-width:700px){
  .sidebar{position:fixed;top:52px;left:0;bottom:0;z-index:150;transform:translateX(0);box-shadow:4px 0 20px rgba(0,0,0,.12);width:var(--sb)!important}
  .sidebar.collapsed{transform:translateX(-100%)}
}
.snav{padding:10px 0;flex:1;overflow-y:auto}
.sitem{display:flex;align-items:center;gap:8px;padding:9px 12px;cursor:pointer;border-radius:0;transition:background .15s;white-space:nowrap;border-left:3px solid transparent;color:var(--ink2);font-size:13.5px;font-weight:500}
.sitem:hover{background:rgba(12,29,225,.04);color:var(--bl)}
.sitem.active{background:rgba(12,29,225,.07);color:var(--bl);font-weight:600;border-left-color:var(--bl)}
.sitem .ico{font-size:18px;flex-shrink:0;width:24px;text-align:center}
.sitem .lbl{flex:1}
.sidebar.collapsed .lbl{display:none}
.sidebar.collapsed .sitem{padding:11px 16px;justify-content:center}
.atab-item{display:none}
.atab-item.show{display:flex}
.sdiv{height:1px;background:var(--bd);margin:6px 12px}

/* MAIN CONTENT */
.mcontent{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:12px 10px 60px;min-width:0;max-width:100%;box-sizing:border-box}
@media(max-width:700px){.mcontent{padding:8px 8px 60px}}

/* OVERLAY (mobile) */
.overlay{display:none;position:fixed;inset:0;top:52px;background:rgba(0,0,0,.35);z-index:140}
.overlay.show{display:block}

/* SECTIONS */
.sec{display:none;width:100%}.sec.active{display:block;width:100%}

/* CARDS */
.card{background:var(--card);border:1px solid var(--bd);border-radius:var(--rd);padding:14px 14px;margin-bottom:10px;box-shadow:var(--sh);width:100%;box-sizing:border-box}
.ct{font-size:16px;font-weight:700;color:var(--bl);margin-bottom:3px}
.cs{font-size:12.5px;color:var(--ink3);margin-bottom:15px;line-height:1.5}
.adm-group{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--or);margin:22px 2px 10px;display:flex;align-items:center;gap:10px}
.adm-group:first-child{margin-top:4px}
.adm-group::after{content:'';flex:1;height:1px;background:var(--bd)}
.adm-group .ico{display:inline-flex;width:15px;height:15px;color:var(--or)}
.adm-group .ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* Grupos del sidebar */
.side-group{display:flex;align-items:center;gap:7px;padding:8px 16px 4px;margin-top:8px;font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.side-group:first-of-type{margin-top:0}
.side-group .ico{display:inline-flex;width:11px;height:11px;flex-shrink:0;color:var(--or);opacity:.85}
.side-group .ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sidebar.collapsed .side-group{display:none}
.side-group.atab-item{display:none}
.side-group.atab-item.show{display:flex}
.sidebar.collapsed .side-group.atab-item.show{display:none}

/* FORM */
.field{margin-bottom:8px;min-width:0}
.field label{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:4px}
.field input,.field select,.field textarea{width:100%;min-width:0;max-width:100%;padding:10px 11px;border:1.5px solid var(--bd);border-radius:8px;font-family:'Poppins',sans-serif;font-size:13px;color:var(--ink);background:var(--cr);outline:none;box-sizing:border-box}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--bl);background:#fff}
.g2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
@media(max-width:560px){.g2{grid-template-columns:minmax(0,1fr)}}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
@media(max-width:560px){.g3{grid-template-columns:minmax(0,1fr)}}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:9px 16px;border-radius:8px;font-family:'Poppins',sans-serif;font-size:12.5px;font-weight:600;cursor:pointer;border:none;transition:all .15s}
.btn:disabled{opacity:.5;cursor:not-allowed}
.bb{background:var(--bl);color:#fff}.bb:hover:not(:disabled){background:#0a18c0;transform:translateY(-1px)}
.bo{background:var(--or);color:#fff}.bo:hover:not(:disabled){background:#e05500;transform:translateY(-1px)}
.bg{background:var(--gn);color:#fff}.bg:hover:not(:disabled){background:#145a36;transform:translateY(-1px)}
.bgh{background:var(--cr);color:var(--ink2);border:1.5px solid var(--bd)}.bgh:hover{border-color:var(--ink3)}
.brow{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}

/* ITEMS COT */
.ih{display:grid;grid-template-columns:1fr 58px 82px 28px;gap:4px;margin-bottom:3px}
.ih span{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}
.ir{display:grid;grid-template-columns:1fr 58px 82px 86px 28px;gap:4px;align-items:center;margin-bottom:5px}
.ir input,.ir select{padding:8px 9px;border:1.5px solid var(--bd);border-radius:7px;font-family:'Poppins',sans-serif;font-size:12px;color:var(--ink);background:var(--cr);outline:none;width:100%;box-sizing:border-box}
.ir input:focus,.ir select:focus{border-color:var(--bl);background:#fff}
.ir select.zona-int{color:#0E7490;font-weight:700}
.ir select.zona-ext{color:#7C3AED;font-weight:700}
@media(max-width:560px){.ir{grid-template-columns:1fr 50px 70px 70px 26px;gap:3px}.ir input,.ir select{padding:7px 6px;font-size:11px}}
.db{width:26px;height:26px;border:none;border-radius:6px;background:#fee;color:#c0392b;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ab{font-size:12px;font-weight:500;color:var(--bl);background:none;border:1.5px dashed var(--bl);border-radius:7px;padding:7px;cursor:pointer;width:100%;margin-top:2px;font-family:'Poppins',sans-serif}
.ab:hover{background:rgba(12,29,225,.05)}

/* TOTALS */
.tb{background:var(--bl);border-radius:9px;padding:12px 14px;margin:10px 0}
.tr{display:flex;justify-content:space-between;align-items:center;color:rgba(255,255,255,.7);font-size:12px;padding:2px 0}
.tr.m{color:#fff;font-weight:700;font-size:14px;border-top:1px solid rgba(255,255,255,.2);margin-top:6px;padding-top:6px}
.tr.m span:last-child{font-size:18px}
.tgr{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.tgl{font-size:12px;font-weight:600;color:var(--ink2)}
.tg{position:relative;width:36px;height:20px}
.tg input{opacity:0;width:0;height:0}
.tgs{position:absolute;cursor:pointer;inset:0;background:var(--bd);border-radius:20px;transition:.2s}
.tgs:before{content:'';position:absolute;width:14px;height:14px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s}
.tg input:checked+.tgs{background:var(--bl)}
.tg input:checked+.tgs:before{transform:translateX(16px)}

/* PREVIEW */
.qw{display:none;margin-top:16px;border-radius:var(--rd);overflow:hidden;box-shadow:0 4px 24px rgba(12,29,225,.12)}
.qw.show{display:block}
.qh{background:var(--bl);display:grid;grid-template-columns:5px 1fr auto;min-height:50px}
.qa{background:var(--or)}
.ql{padding:10px 14px;display:flex;flex-direction:column;justify-content:center}
.ql img{height:22px;width:auto;max-width:140px;object-fit:contain;filter:brightness(0) invert(1)}
.qs{font-size:7px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:3px}
.qr{padding:10px 12px;text-align:right;display:flex;flex-direction:column;justify-content:center}
.qp{font-size:15px;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:1px}
.qm{font-size:9px;color:rgba(255,255,255,.55);margin-top:2px}
.qb{background:#fff;padding:16px 18px;position:relative;overflow:hidden}
.qwm{position:absolute;right:-10px;top:50%;transform:translateY(-50%);height:84%;opacity:.07;pointer-events:none;z-index:0}
.qb>*{position:relative;z-index:1}
.qc{background:var(--cr);border-radius:7px;padding:0 12px;display:grid;grid-template-columns:1fr 1fr;margin-bottom:12px;height:48px}
.qc .ci{display:flex;align-items:center;gap:5px;font-size:11.5px}
.ci .lb{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--bl);white-space:nowrap}
.ci .vl{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qt{width:100%;border-collapse:collapse;margin-bottom:9px}
.qt thead tr{background:var(--bl)}
.qt thead th{color:#fff;font-weight:700;padding:7px 9px;font-size:10px;letter-spacing:.04em;text-transform:uppercase}
.qt thead th:nth-child(2){text-align:center}.qt thead th:last-child{text-align:right}
.qt tbody tr:nth-child(even){background:#f8f7ff}
.qt tbody tr{border-bottom:1px solid var(--bd)}
.qt tbody td{padding:7px 9px;font-size:11.5px;color:var(--ink2)}
.qt tbody td:first-child{font-weight:600;color:var(--ink)}.qt tbody td:nth-child(2){text-align:center}.qt tbody td:last-child{text-align:right;font-weight:700}
.qt tfoot tr{background:var(--or)}
.qt tfoot td{padding:8px 9px;color:#fff;font-weight:800;font-size:12px}
.qt tfoot td:last-child{text-align:right;font-size:15px}
.qsb{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-bottom:9px;font-size:11px}
.qsb .row{display:flex;gap:24px}.qsb .row span:last-child{font-weight:600;min-width:65px;text-align:right}
.qnota{background:#FFF4E0;border-left:3px solid var(--or);border-radius:0 6px 6px 0;padding:6px 11px;font-size:10px;color:#A05A00;margin-bottom:11px;line-height:1.5}
.qsg{display:flex;justify-content:flex-end}
.qsi{text-align:center;border-top:1px solid #ddd;padding-top:4px;min-width:120px}
.qsi .sn{font-size:11.5px;font-style:italic;color:var(--ink2);font-family:Georgia,serif}
.qsi .sr{font-size:8px;color:var(--ink3);margin-top:1px}
.qft{background:var(--or);padding:9px 18px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px}
.qfi{color:#fff;font-size:10px;font-weight:600;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.qfl img{height:17px;width:auto;max-width:120px;object-fit:contain;filter:brightness(0) invert(1)}

/* LOADING */
#pl{display:none;position:fixed;inset:0;background:rgba(12,29,225,.78);z-index:9998;align-items:center;justify-content:center;flex-direction:column;gap:12px}
#pl.show{display:flex}
.spin{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:sp .7s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
#pl p{color:#fff;font-size:13px;font-weight:600}

/* MESSAGES */
.wb{background:#ECF8ED;border:1px solid #C3E6C5;border-radius:0 11px 11px 11px;padding:11px 14px;font-size:13px;line-height:1.75;color:#1A2E1A;white-space:pre-wrap;position:relative}
.wb::before{content:'';position:absolute;top:0;left:-7px;width:0;height:0;border-top:7px solid #C3E6C5;border-left:7px solid transparent}
.wt{font-size:10px;color:var(--ink3);margin-bottom:5px;font-weight:500}
.mc{margin-bottom:20px}
.ml{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-bottom:5px;display:flex;align-items:center;gap:5px}
.cb{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;padding:3px 8px;border-radius:18px;background:var(--cr);border:1px solid var(--bd);cursor:pointer;color:var(--ink2);transition:all .15s;margin-left:auto;font-family:'Poppins',sans-serif}
.cb:hover{background:rgba(12,29,225,.06);border-color:var(--bl);color:var(--bl)}
.cb.ok{background:var(--gnb);border-color:var(--gn);color:var(--gn)}

/* ALERTS */
.al{padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.5;margin-bottom:11px;display:flex;gap:7px}
.abl{background:rgba(12,29,225,.06);color:var(--bl);border:1px solid rgba(12,29,225,.2)}
.aor{background:#FFF0E8;color:#c04800;border:1px solid #fdc89a}

/* FLOW */
.fs{display:flex;gap:11px;margin-bottom:11px}
.fi{width:34px;height:34px;border-radius:8px;background:rgba(12,29,225,.08);color:var(--bl);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.fc h4{font-size:13px;font-weight:600;margin-bottom:1px}
.fc p{font-size:11px;color:var(--ink3);line-height:1.5}
.ck{list-style:none}
.ck li{display:flex;align-items:flex-start;gap:8px;padding:7px 0;border-bottom:1px solid var(--bd);font-size:12.5px;color:var(--ink2);line-height:1.5}
.ck li:last-child{border-bottom:none}
.ck li .nm{width:20px;height:20px;border-radius:50%;background:var(--bl);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}

/* HISTORIAL */
.hs{background:var(--bl);border-radius:9px;padding:11px 14px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:7px}
.hs .hl{color:rgba(255,255,255,.7);font-size:12px}
.hs .hv{color:#fff;font-weight:700}
.hs .hm{color:var(--or);font-weight:700;font-size:17px}

/* STATS CARDS */
.sg{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:16px}
.sc{background:var(--card);border:1px solid var(--bd);border-radius:9px;padding:10px;text-align:center;box-shadow:var(--sh)}
.sv{font-size:21px;font-weight:800;color:var(--bl)}
.sv.o{color:var(--or)}
.sv.g{color:var(--gn)}
.sv.r{color:#c0392b}
.sl{font-size:11px;color:var(--ink3);margin-top:2px;font-weight:500}

/* ACTIVITY */
.act-form{background:var(--cr);border-radius:10px;padding:14px;margin-bottom:14px}
.badge{display:inline-flex;align-items:center;font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.04em}
.badge-wa{background:#DCF8C6;color:#1A5C2A}
.badge-ll{background:#E8F0FE;color:#1A3A8F}
.badge-ot{background:#F3E8FF;color:#4A1A8F}
.badge-ci{background:#FFF3CD;color:#7A4F00}
.badge-pe{background:#FFF3CD;color:#7A4F00}
.badge-ac{background:#D4EDDA;color:#155724}
.badge-re{background:#F8D7DA;color:#721C24}
.act-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--bd)}
.act-row:last-child{border-bottom:none}
.act-icon{width:32px;height:32px;border-radius:8px;background:rgba(12,29,225,.08);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.act-body{flex:1;min-width:0}
.act-name{font-size:13px;font-weight:600;color:var(--ink)}
.act-meta{font-size:11px;color:var(--ink3);margin-top:1px}
.act-actions{display:flex;gap:5px;margin-top:5px;flex-wrap:wrap}

/* PWD MANAGER */
.pr{display:flex;align-items:center;gap:6px;padding:10px 0;border-bottom:1px solid var(--bd);flex-wrap:nowrap}
.pr:last-child{border-bottom:none}
.pu{font-size:12px;font-weight:600;color:var(--ink);min-width:42px;max-width:50px}
.pt{font-size:10px;font-weight:600;text-transform:uppercase;padding:2px 7px;border-radius:9px;background:rgba(12,29,225,.08);color:var(--bl)}
.pt.a{background:rgba(253,99,1,.12);color:var(--or)}
.pi{flex:1;min-width:80px;padding:7px 8px;border:1.5px solid var(--bd);border-radius:7px;font-family:'Poppins',sans-serif;font-size:12px;outline:none;background:var(--cr);box-sizing:border-box}
.pi:focus{border-color:var(--bl);background:#fff}
.ps{font-size:12px;font-weight:600;padding:7px 12px;border-radius:7px;background:var(--bl);color:#fff;border:none;cursor:pointer;font-family:'Poppins',sans-serif}

/* CHART CONTAINER */
.chart-wrap{position:relative;height:220px;margin:10px 0}
.filter-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.filter-bar label{font-size:11.5px;font-weight:600;color:var(--ink3)}
.filter-bar input,.filter-bar select{padding:6px 10px;border:1.5px solid var(--bd);border-radius:7px;font-family:'Poppins',sans-serif;font-size:12px;background:var(--cr);outline:none;color:var(--ink)}
.filter-bar input:focus,.filter-bar select:focus{border-color:var(--bl);background:#fff}

/* CLIENTES */
.cli-card{background:var(--card);border:1px solid var(--bd);border-radius:var(--rd);padding:14px;margin-bottom:10px;box-shadow:var(--sh);cursor:pointer;transition:border .15s}
.cli-card:hover{border-color:var(--bl)}
.cli-name{font-size:14px;font-weight:700;color:var(--ink)}
.cli-meta{font-size:11.5px;color:var(--ink3);margin-top:2px}
.cli-status{font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.04em;display:inline-block;margin-top:4px}
.st-pro{background:#EEF0FB;color:#0C1DE1}
.st-act{background:#D4EDDA;color:#155724}
.st-rec{background:#FFF3CD;color:#7A4F00}
.cot-st{font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.04em;display:inline-block}
.cst-pendiente{background:#EEF0FB;color:#0C1DE1}
.cst-seguimiento{background:#FFF3CD;color:#7A4F00}
.cst-anticipo{background:#CFFAFE;color:#0E7490}
.cst-aceptada{background:#DCFCE7;color:#15803D}
.cst-finalizada{background:#EDE9FE;color:#6D28D9}
.cst-rechazada{background:#FDECEA;color:#B71C1C}
/* TRABAJO — chips de margen / plazo / tipo */
.mg-chip{display:inline-flex;align-items:center;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:9px;letter-spacing:.02em}
.mg-chip.mg-good{background:#EAF5EF;color:#1A7A4A}
.mg-chip.mg-mid{background:#FFF8E1;color:#7A4F00}
.mg-chip.mg-bad{background:#FDECEA;color:#B71C1C}
.plazo-chip{display:inline-flex;align-items:center;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:9px}
.plazo-chip.on{background:#EAF5EF;color:#1A7A4A}
.plazo-chip.late{background:#FDECEA;color:#B71C1C}
.tipo-chip{display:inline-flex;align-items:center;font-size:10px;font-weight:700;padding:3px 8px;border-radius:9px;background:rgba(12,29,225,.08);color:var(--bl);text-transform:uppercase;letter-spacing:.04em}
/* BALANCE GENERAL */
.bal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:6px}
.bal-card{padding:13px 14px;border-radius:12px;border:1px solid var(--bd);background:var(--card);position:relative;overflow:hidden}
.bal-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:12px 0 0 12px}
.bal-card.b-blue::before{background:var(--bl)}
.bal-card.b-green::before{background:var(--gn)}
.bal-card.b-orange::before{background:var(--or)}
.bal-card.b-red::before{background:#c0392b}
.bal-card.b-purple::before{background:#6D28D9}
.bal-card.b-gray::before{background:var(--ink3)}
.bal-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3);margin-bottom:5px}
.bal-val{font-size:20px;font-weight:800;color:var(--ink);line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.3px}
.bal-card.b-red .bal-val{color:#c0392b}
.bal-card.b-orange .bal-val{color:var(--or)}
.bal-card.b-green .bal-val{color:var(--gn)}
.bal-sub{font-size:10.5px;color:var(--ink3);font-weight:600;margin-top:4px}
.bal-insight{margin-top:14px;padding:12px 14px;background:#FFF8E1;border-left:3px solid #E6A800;border-radius:0 8px 8px 0;font-size:12.5px;color:#7a5800;line-height:1.7}
.bal-insight div{margin:2px 0}
.bal-grid.tier-hero .bal-val{font-size:24px}
.bal-grid.tier-chips{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:0}
.bal-grid.tier-chips .bal-card{padding:10px 12px;box-shadow:0 1px 3px rgba(0,0,0,.03)}
.bal-grid.tier-chips .bal-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.06)}
.bal-grid.tier-chips .bal-val{font-size:16px}
.bal-grid.tier-chips .bal-lbl{font-size:9.5px}
.bal-grid.tier-chips .bal-sub{font-size:10px}
.bal-grid.tier-hero{margin-bottom:6px}
.bal-grid.tier-hero .bal-card{box-shadow:0 2px 10px rgba(0,0,0,.05);transition:transform .15s,box-shadow .25s}
.bal-grid.tier-hero .bal-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,.08)}
/* Encabezados de subgrupo dentro de Balance general */
.bal-section{margin-top:18px}
.bal-section-lbl{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--ink3);margin:0 2px 8px}
.bal-section-lbl::before{content:'';width:3px;height:11px;border-radius:2px;background:var(--bl)}
.bal-section.ventas .bal-section-lbl::before{background:var(--bl)}
.bal-section.operacion .bal-section-lbl::before{background:#6D28D9}
.bal-section.comisiones .bal-section-lbl::before{background:var(--or)}
.bal-section-lbl::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--bd),transparent)}
@media(max-width:480px){.bal-grid{grid-template-columns:repeat(2,1fr);gap:8px}.bal-card{padding:10px 11px}.bal-val{font-size:17px}.bal-grid.tier-hero .bal-val{font-size:19px}.bal-grid.tier-chips .bal-val{font-size:14px}.bal-section{margin-top:14px}}
/* HOY · operativo */
.hoy-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:4px 0 22px}
.hoy-card{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:14px;box-shadow:var(--sh);position:relative;overflow:hidden;cursor:pointer;transition:transform .15s,box-shadow .2s}
.hoy-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(12,29,225,.1)}
.hoy-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:12px 0 0 12px}
.hoy-card.urgent::before{background:#c0392b}
.hoy-card.warn::before{background:var(--or)}
.hoy-card.ok::before{background:var(--gn)}
.hoy-card.calm::before{background:var(--ink3)}
.hoy-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.hoy-lbl svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.hoy-val{font-size:24px;font-weight:800;color:var(--ink);line-height:1;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.hoy-card.urgent .hoy-val{color:#c0392b}
.hoy-card.warn .hoy-val{color:var(--or)}
.hoy-card.ok .hoy-val{color:var(--gn)}
.hoy-sub{font-size:10.5px;color:var(--ink3);font-weight:600;margin-top:5px}
@media(max-width:480px){.hoy-hero{grid-template-columns:repeat(2,1fr);gap:8px}.hoy-card{padding:11px}.hoy-val{font-size:20px}}
/* AGENDA SEMANAL */
.age-hdr{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;padding:10px 12px;background:var(--card);border:1px solid var(--bd);border-radius:12px;box-shadow:var(--sh);position:sticky;top:8px;z-index:20}
.age-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1.5px solid var(--bd);background:var(--cr);color:var(--ink2);cursor:pointer;font-size:16px;font-weight:700;transition:border-color .15s,background .15s;padding:0}
.age-nav-btn:hover{border-color:var(--bl);color:var(--bl)}
.age-range{font-size:14px;font-weight:700;color:var(--ink);letter-spacing:-.2px;flex:1;text-align:center;min-width:140px}
.age-today-btn{padding:7px 14px;border-radius:8px;border:1.5px solid var(--bl);background:var(--bl);color:#fff;cursor:pointer;font-size:12px;font-weight:700;font-family:'Poppins',sans-serif}
.age-today-btn:hover{opacity:.9}
.age-fil{padding:7px 10px;border:1.5px solid var(--bd);border-radius:8px;font-family:'Poppins',sans-serif;font-size:12px;background:var(--cr);outline:none}
.age-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.age-chip{padding:6px 11px;border-radius:18px;background:var(--card);border:1px solid var(--bd);font-size:11.5px;font-weight:600;color:var(--ink2)}
.age-chip strong{color:var(--ink);font-weight:800}
.age-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.age-day{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:10px;min-height:160px;display:flex;flex-direction:column;transition:border-color .15s}
.age-day.today{border-color:var(--bl);box-shadow:0 0 0 2px rgba(12,29,225,.08)}
.age-day.past{opacity:.7}
.age-day-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--bd)}
.age-day-hdr-left{display:flex;flex-direction:column;line-height:1.15}
.age-day-name{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--ink3)}
.age-day.today .age-day-name{color:var(--bl)}
.age-day-num{font-size:18px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.3px}
.age-day-count{font-size:10px;font-weight:700;color:var(--ink3);background:var(--cr);padding:2px 7px;border-radius:10px;align-self:flex-start;margin-top:2px}
.age-add-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;border:1.5px solid var(--bd);background:transparent;color:var(--ink3);cursor:pointer;font-size:16px;font-weight:700;line-height:0;padding:0;transition:all .15s}
.age-add-btn:hover{border-color:var(--bl);color:var(--bl);background:rgba(12,29,225,.05)}
.age-items{display:flex;flex-direction:column;gap:6px;flex:1}
.age-item{display:flex;align-items:flex-start;gap:7px;padding:7px 8px;border-radius:8px;background:var(--cr);cursor:pointer;transition:background .15s;border-left:3px solid var(--bd)}
.age-item:hover{background:rgba(12,29,225,.06)}
.age-item.st-don{border-left-color:var(--gn);opacity:.85}
.age-item.st-don .age-item-name{text-decoration:line-through;color:var(--ink3)}
.age-item.st-can{border-left-color:#c0392b;opacity:.7}
.age-item.st-can .age-item-name{text-decoration:line-through;color:var(--ink3)}
.age-item.st-act{border-left-color:var(--bl)}
.age-item.st-ac{border-left-color:var(--gn)}
.age-item.st-re{border-left-color:#c0392b}
.age-item.st-pe{border-left-color:var(--or)}
.age-item.t-msg{border-left-color:var(--ink3)}
.age-item-icon{font-size:13px;line-height:1.2;flex-shrink:0;margin-top:1px}
.age-item-body{min-width:0;flex:1}
.age-item-name{font-size:12px;font-weight:700;color:var(--ink);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.age-item-meta{font-size:10px;color:var(--ink3);font-weight:600;margin-top:2px;line-height:1.2;display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.age-item-time{font-variant-numeric:tabular-nums;font-weight:800;color:var(--ink2)}
.age-item .age-st-chip{font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:2px 6px;border-radius:8px;flex-shrink:0;align-self:flex-start;margin-top:1px}
.age-st-chip.act{background:rgba(12,29,225,.1);color:var(--bl)}
.age-st-chip.don{background:#EAF5EF;color:var(--gn)}
.age-st-chip.can{background:#FDECEA;color:#B71C1C}
.age-st-chip.pe{background:rgba(253,99,1,.1);color:var(--or)}
.age-st-chip.ac{background:#EAF5EF;color:var(--gn)}
.age-st-chip.re{background:#FDECEA;color:#B71C1C}
.age-st-chip.msg{background:var(--cr);color:var(--ink3)}
.age-day-empty{font-size:11px;color:var(--ink3);text-align:center;padding:14px 4px;font-style:italic}
.age-more{font-size:10.5px;font-weight:700;color:var(--bl);text-align:center;padding:5px;cursor:pointer;border-radius:6px;background:rgba(12,29,225,.06)}
.age-more:hover{background:rgba(12,29,225,.12)}
.age-empty-week{text-align:center;padding:50px 20px;color:var(--ink3)}
.age-empty-week h3{font-size:15px;font-weight:700;color:var(--ink2);margin:0 0 6px}
.age-empty-week p{font-size:12px;margin:0 0 14px}
@media(max-width:900px){.age-grid{grid-template-columns:1fr;gap:8px}.age-day{min-height:auto}.age-hdr{position:relative;top:0}}
/* TAREAS INTERNAS (admin + Yesica) */
.tar-quick{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:14px;margin-bottom:14px;box-shadow:var(--sh)}
.tar-quick-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:8px;align-items:end}
.tar-quick-grid input,.tar-quick-grid select{width:100%;padding:9px 11px;border:1.5px solid var(--bd);border-radius:8px;font-family:'Poppins',sans-serif;font-size:13px;color:var(--ink);background:var(--cr);outline:none;box-sizing:border-box}
.tar-quick-grid label{display:block;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:4px}
.tar-stats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.tar-stat{padding:8px 14px;border-radius:10px;background:var(--card);border:1px solid var(--bd);font-size:12px;font-weight:600;color:var(--ink2);cursor:pointer;transition:border-color .15s,background .15s}
.tar-stat:hover{border-color:var(--bl)}
.tar-stat.active{border-color:var(--bl);background:rgba(12,29,225,.06);color:var(--bl)}
.tar-stat strong{font-size:15px;font-weight:800;margin-right:4px;color:var(--ink)}
.tar-stat.active strong{color:var(--bl)}
.tar-fil-cat{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.tar-fil-pill{padding:5px 12px;border-radius:14px;background:var(--card);border:1px solid var(--bd);font-size:11px;font-weight:700;color:var(--ink2);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;transition:all .15s}
.tar-fil-pill:hover{border-color:var(--bl)}
.tar-fil-pill.active{background:var(--bl);color:#fff;border-color:var(--bl)}
.tar-list{display:flex;flex-direction:column;gap:8px}
.tar-card{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:12px 14px;box-shadow:var(--sh);display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;position:relative;overflow:hidden;transition:border-color .15s}
.tar-card:hover{border-color:var(--bl)}
.tar-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px}
.tar-card.cat-admin::before{background:var(--bl)}
.tar-card.cat-marketing::before{background:#6D28D9}
.tar-card.cat-publicidad::before{background:var(--or)}
.tar-card.cat-otro::before{background:var(--ink3)}
.tar-card.est-done{opacity:.65}
.tar-card.est-done .tar-title{text-decoration:line-through;color:var(--ink3)}
.tar-check{width:26px;height:26px;border-radius:50%;border:2px solid var(--bd);background:var(--card);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;padding:0;margin-top:2px}
.tar-check:hover{border-color:var(--bl)}
.tar-check.pen{}
.tar-check.proc{border-color:var(--or);background:rgba(253,99,1,.08)}
.tar-check.proc::after{content:'';width:8px;height:8px;background:var(--or);border-radius:50%}
.tar-check.done{border-color:var(--gn);background:var(--gn)}
.tar-check.done::after{content:'';width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.tar-body{min-width:0}
.tar-title{font-size:14px;font-weight:700;color:var(--ink);line-height:1.3;margin-bottom:4px;word-break:break-word}
.tar-meta{display:flex;flex-wrap:wrap;gap:5px 10px;align-items:center;font-size:11px;color:var(--ink3)}
.tar-chip{padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.tar-chip-cat.admin{background:rgba(12,29,225,.1);color:var(--bl)}
.tar-chip-cat.marketing{background:rgba(109,40,217,.12);color:#6D28D9}
.tar-chip-cat.publicidad{background:rgba(253,99,1,.12);color:var(--or)}
.tar-chip-cat.otro{background:var(--cr);color:var(--ink3)}
.tar-chip-pri.alta{background:#FDECEA;color:#B71C1C}
.tar-chip-pri.media{background:rgba(253,99,1,.1);color:var(--or)}
.tar-chip-pri.baja{background:var(--cr);color:var(--ink3)}
.tar-chip-asign{background:var(--cr);color:var(--ink2);border:1px solid var(--bd)}
.tar-due{font-weight:600;color:var(--ink2);display:inline-flex;align-items:center;gap:4px}
.tar-due svg,.tar-chip-asign svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.tar-chip-asign{display:inline-flex;align-items:center;gap:4px}
.tar-due.overdue{color:#c0392b;font-weight:800}
.tar-due.today{color:var(--or);font-weight:800}
.tar-desc{font-size:11.5px;color:var(--ink2);margin-top:6px;line-height:1.4}
.tar-actions{display:flex;gap:4px;flex-shrink:0}
.tar-actions button{font-size:10.5px;padding:4px 9px;border-radius:6px;border:1px solid var(--bd);background:var(--cr);color:var(--ink2);cursor:pointer;font-family:'Poppins',sans-serif;font-weight:600}
.tar-actions button:hover{border-color:var(--bl)}
.tar-actions .tar-del{background:#fee;color:#c0392b;border-color:#fcc}
.tar-empty{text-align:center;padding:36px 20px;color:var(--ink3);font-size:13px}
@media(max-width:700px){.tar-quick-grid{grid-template-columns:1fr 1fr}.tar-quick-grid > button{grid-column:1/-1}.tar-card{grid-template-columns:auto 1fr;padding:11px 12px}.tar-actions{grid-column:1/-1;justify-content:flex-end}}
/* Tareas — toggle Lista/Tarjetas + secciones temporales */
.tar-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.tar-view-toggle{display:inline-flex;border:1.5px solid var(--bd);border-radius:8px;overflow:hidden;background:var(--card);box-shadow:var(--sh)}
.tar-view-toggle button{padding:7px 13px;background:transparent;border:none;cursor:pointer;font-family:'Poppins',sans-serif;font-size:11px;font-weight:700;color:var(--ink2);transition:all .15s;display:inline-flex;align-items:center;gap:5px;text-transform:uppercase;letter-spacing:.04em}
.tar-view-toggle button + button{border-left:1.5px solid var(--bd)}
.tar-view-toggle button.active{background:var(--bl);color:#fff}
.tar-view-toggle button:hover:not(.active){background:rgba(12,29,225,.06);color:var(--bl)}
.tar-view-toggle button svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tar-time-section{margin-bottom:18px}
.tar-time-section:last-child{margin-bottom:0}
.tar-section-items .tar-card{margin-bottom:0}
.tar-time-hdr{display:flex;align-items:center;gap:10px;margin:0 2px 10px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
.tar-time-hdr.past{color:#C62828}
.tar-time-hdr.current{color:var(--bl)}
.tar-time-hdr.future{color:var(--or)}
.tar-time-hdr .count{font-size:10px;font-weight:800;letter-spacing:0;text-transform:none;padding:2px 9px;border-radius:10px;background:var(--cr);color:var(--ink2)}
.tar-time-hdr.current .count{background:rgba(12,29,225,.1);color:var(--bl)}
.tar-time-hdr.future .count{background:rgba(253,99,1,.1);color:var(--or)}
.tar-time-hdr.past .count{background:rgba(198,40,40,.1);color:#C62828}
.tar-time-hdr::after{content:'';flex:1;height:1px;background:var(--bd);margin-left:2px}
.tar-time-ico{display:inline-flex;width:14px;height:14px}
.tar-time-ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* Importar tareas — modal */
.tar-imp-overlay{position:fixed;inset:0;z-index:10000;background:rgba(26,26,46,.5);display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(2px)}
.tar-imp-box{background:var(--card);border-radius:16px;box-shadow:0 12px 48px rgba(12,29,225,.18);width:100%;max-width:560px;max-height:88vh;overflow-y:auto;padding:22px 22px 18px;font-family:'Poppins',sans-serif}
.tar-imp-title{font-size:17px;font-weight:800;color:var(--ink);margin-bottom:14px}
.tar-imp-intro{font-size:13px;line-height:1.5;color:var(--ink2);margin-bottom:10px}
.tar-imp-intro-tip{font-size:12px;line-height:1.45;color:var(--ink3);background:var(--cr);border-radius:10px;padding:10px 12px;margin-bottom:16px}
.tar-imp-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.tar-imp-pill{font-size:12px;font-weight:600;padding:5px 11px;border-radius:20px;background:var(--cr);color:var(--ink2)}
.tar-imp-pill strong{font-weight:800;margin-right:2px}
.tar-imp-pill.ok{background:var(--gnb);color:var(--gn)}
.tar-imp-pill.err{background:#FDECEA;color:#C62828}
.tar-imp-pill.dup{background:#FFF3E0;color:#B35400}
.tar-imp-tablewrap{border:1px solid var(--bd);border-radius:10px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;margin-bottom:14px}
.tar-imp-table{width:100%;border-collapse:collapse;font-size:12px;min-width:420px}
.tar-imp-table th{text-align:left;background:var(--cr);color:var(--ink3);font-weight:700;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;padding:8px 10px;white-space:nowrap}
.tar-imp-table td{padding:8px 10px;border-top:1px solid var(--bd);color:var(--ink);vertical-align:top}
.tar-imp-table td:first-child{font-weight:600;max-width:200px}
.tar-imp-more{font-size:11px;color:var(--ink3);text-align:center;padding:7px;background:var(--cr);border-top:1px solid var(--bd)}
.tar-imp-empty{padding:24px;text-align:center;color:var(--ink3);font-size:13px;background:var(--cr);border-radius:10px;margin-bottom:14px}
.tar-imp-errors{background:#FDECEA;border-radius:10px;padding:11px 13px;margin-bottom:14px;font-size:11.5px;color:#B71C1C;max-height:140px;overflow-y:auto}
.tar-imp-errors-hdr{font-weight:800;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px;color:#C62828}
.tar-imp-errors>div{padding:1px 0}
.tar-imp-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
/* Editar tarea — formulario */
.tar-edit-form{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}
.tar-edit-lbl{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin:8px 0 3px}
.tar-edit-form input,.tar-edit-form select,.tar-edit-form textarea{width:100%;padding:9px 11px;border:1.5px solid var(--bd);border-radius:9px;font-family:'Poppins',sans-serif;font-size:13px;background:var(--cr);color:var(--ink);outline:none;box-sizing:border-box}
.tar-edit-form input:focus,.tar-edit-form select:focus,.tar-edit-form textarea:focus{border-color:var(--bl)}
.tar-edit-form textarea{resize:vertical;min-height:42px}
.tar-edit-row{display:flex;gap:10px}
.tar-edit-row > div{flex:1;min-width:0}
@media(max-width:480px){
  .tar-edit-row{flex-direction:column;gap:4px}
  .tar-imp-overlay{padding:10px}
  .tar-imp-box{padding:18px 15px 14px}
  .tar-imp-title{font-size:16px}
}
/* Vista lista */
.tar-list.view-list{gap:5px}
.tar-list.view-list .tar-card{grid-template-columns:auto 1fr auto;padding:9px 12px;border-radius:8px;align-items:center;gap:10px}
.tar-list.view-list .tar-card::before{width:3px;border-radius:0}
.tar-list.view-list .tar-title{font-size:13px;margin-bottom:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tar-list.view-list .tar-meta{margin-top:2px;font-size:10px;gap:4px 8px}
.tar-list.view-list .tar-meta .tar-chip{padding:1px 6px;font-size:9px}
.tar-list.view-list .tar-desc{display:none}
.tar-list.view-list .tar-check{width:22px;height:22px;margin-top:0}
.tar-list.view-list .tar-check.proc::after{width:6px;height:6px}
.tar-list.view-list .tar-check.done::after{width:5px;height:8px}
.tar-list.view-list .tar-actions button{font-size:9.5px;padding:3px 7px}
/* Vista tarjetas — diseño compacto tipo card */
.tar-section-items{display:flex;flex-direction:column;gap:5px}
.tar-list.view-cards .tar-section-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.tar-list.view-cards .tar-card{
  display:flex;flex-direction:column;padding:0;gap:0;
  border-radius:14px;background:var(--card);border:none;
  box-shadow:0 3px 14px rgba(0,0,0,.08),0 1px 4px rgba(0,0,0,.03);
  overflow:hidden;
  transition:transform .18s ease,box-shadow .25s ease;
  margin-bottom:0;min-height:180px;
}
.tar-list.view-cards .tar-card:hover{
  transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.10),0 2px 6px rgba(0,0,0,.04);
}
.tar-list.view-cards .tar-card::before{display:none}
.tar-list.view-cards .tar-card-top{
  display:flex;align-items:center;gap:10px;
  padding:14px 16px 8px;
}
.tar-list.view-cards .tar-card-top-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.tar-list.view-cards .tar-card-top-right{display:flex;align-items:center;gap:8px;flex-shrink:0}
.tar-list.view-cards .tar-chip-cat{padding:4px 11px;font-size:10.5px;letter-spacing:.06em;border-radius:14px;font-weight:800}
.tar-list.view-cards .tar-pri-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}
.tar-list.view-cards .tar-pri-dot.alta{background:#c0392b}
.tar-list.view-cards .tar-pri-dot.media{background:var(--or)}
.tar-list.view-cards .tar-pri-dot.baja{background:var(--ink3)}
.tar-list.view-cards .tar-check{display:none}
/* Pill explícito de estado en vista Tarjetas */
.tar-check-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px 5px 8px;border-radius:18px;border:1.5px solid var(--bd);background:var(--card);cursor:pointer;font-family:'Poppins',sans-serif;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);transition:all .15s;flex-shrink:0}
.tar-check-pill:hover{border-color:var(--bl);color:var(--bl)}
.tar-check-pill-dot{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;border-radius:50%;flex-shrink:0;border:2px solid var(--ink3);background:transparent;font-size:9px;font-weight:800;line-height:1;color:#fff;transition:all .15s}
.tar-check-pill.pen .tar-check-pill-dot{border-color:var(--ink3);background:transparent}
.tar-check-pill.proc{border-color:var(--or);background:rgba(253,99,1,.08);color:var(--or)}
.tar-check-pill.proc .tar-check-pill-dot{border-color:var(--or);background:var(--or)}
.tar-check-pill.proc .tar-check-pill-dot::after{content:'';display:block;width:5px;height:5px;border-radius:50%;background:#fff}
.tar-check-pill.done{border-color:var(--gn);background:rgba(26,122,74,.08);color:var(--gn)}
.tar-check-pill.done .tar-check-pill-dot{border-color:var(--gn);background:var(--gn);color:#fff}
/* Menú popover de estado de tarea */
.tar-status-menu{position:absolute;background:var(--card);border:1px solid var(--bd);border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.15);z-index:9999;padding:6px;display:flex;flex-direction:column;gap:2px;min-width:160px}
.tar-status-menu button{display:flex;align-items:center;gap:9px;padding:8px 12px;background:transparent;border:none;border-radius:7px;cursor:pointer;font-family:'Poppins',sans-serif;font-size:13px;font-weight:600;color:var(--ink2);text-align:left;transition:background .15s,color .15s}
.tar-status-menu button:hover{background:var(--cr);color:var(--ink)}
.tar-status-menu button.active{background:rgba(12,29,225,.06);color:var(--bl);font-weight:800}
.tar-status-menu .smdot{width:12px;height:12px;border-radius:50%;border:2px solid var(--ink3);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:8px}
.tar-status-menu button[data-est="proc"] .smdot{background:var(--or);border-color:var(--or);position:relative}
.tar-status-menu button[data-est="proc"] .smdot::after{content:'';width:5px;height:5px;border-radius:50%;background:#fff}
.tar-status-menu button[data-est="done"] .smdot{background:var(--gn);border-color:var(--gn);color:#fff}
.tar-status-menu-overlay{position:fixed;inset:0;z-index:9998}
.tar-list.view-cards .tar-card-mid{padding:4px 16px 14px;flex:1;display:flex;flex-direction:column;gap:8px;justify-content:flex-start}
.tar-list.view-cards .tar-title{font-size:17px;font-weight:800;line-height:1.25;color:var(--ink);margin:0;word-break:break-word;letter-spacing:-.2px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tar-list.view-cards .tar-card-desc{font-size:12px;color:var(--ink2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tar-list.view-cards .tar-card-bot{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:10px 14px;background:rgba(0,0,0,.035);border-top:none;margin-top:auto;
}
.tar-list.view-cards .tar-card-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;flex:1;min-width:0}
.tar-list.view-cards .tar-chip-asign{padding:5px 11px;font-size:10.5px;font-weight:800;letter-spacing:.05em;border-radius:18px;background:transparent;color:var(--ink2);border:1.3px solid rgba(0,0,0,.16);text-transform:uppercase;gap:5px}
.tar-list.view-cards .tar-chip-asign svg{width:11px;height:11px}
.tar-list.view-cards .tar-due{padding:5px 10px;border-radius:18px;background:transparent;border:1.3px solid rgba(0,0,0,.12);font-size:10.5px;gap:5px}
.tar-list.view-cards .tar-due svg{width:11px;height:11px}
.tar-list.view-cards .tar-del-mini{font-size:11px;padding:5px 11px;border-radius:18px;background:transparent;color:var(--ink2);border:1.3px solid rgba(0,0,0,.16);cursor:pointer;font-family:'Poppins',sans-serif;font-weight:600;opacity:1;transition:all .18s;flex-shrink:0;display:inline-flex;align-items:center;gap:5px}
.tar-list.view-cards .tar-del-mini svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tar-list.view-cards .tar-del-mini:hover{color:#c0392b;border-color:#c0392b;background:rgba(192,57,43,.06)}
/* Botón editar (vista lista y tarjeta) */
.tar-actions .tar-edit{background:var(--cr);color:var(--bl);border-color:rgba(12,29,225,.25)}
.tar-list.view-cards .tar-edit-mini{font-size:11px;padding:5px 11px;border-radius:18px;background:transparent;color:var(--ink2);border:1.3px solid rgba(0,0,0,.16);cursor:pointer;font-family:'Poppins',sans-serif;font-weight:600;transition:all .18s;flex-shrink:0;display:inline-flex;align-items:center;gap:5px}
.tar-list.view-cards .tar-edit-mini svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tar-list.view-cards .tar-edit-mini:hover{color:var(--bl);border-color:var(--bl);background:rgba(12,29,225,.06)}
.tar-card-actions{display:flex;gap:6px;align-items:center}
/* Arrastrar para reprogramar */
.tar-card[draggable=true]{cursor:grab}
.tar-card.tar-dragging{opacity:.45;cursor:grabbing}
.tar-time-section.tar-drag-over{outline:2px dashed var(--bl);outline-offset:5px;border-radius:14px;background:rgba(12,29,225,.03)}
/* Filtro por responsable */
.tar-fil-asg{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:0 2px 14px}
.tar-fil-asg .tar-fil-asg-lbl{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-right:2px}
.tar-fil-asg .tar-fil-pill{font-size:11.5px}
/* Microinteracciones */
.tar-done-burst{position:fixed;top:50%;left:50%;width:84px;height:84px;border-radius:50%;background:var(--gn);color:#fff;display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:800;z-index:100000;box-shadow:0 8px 30px rgba(26,122,74,.4);animation:tarBurst .7s ease forwards;pointer-events:none}
@keyframes tarBurst{0%{transform:translate(-50%,-50%) scale(0);opacity:0}30%{transform:translate(-50%,-50%) scale(1.12);opacity:1}70%{transform:translate(-50%,-50%) scale(1);opacity:1}100%{transform:translate(-50%,-50%) scale(.9);opacity:0}}
.tar-stat strong.pop{display:inline-block;animation:tarPop .45s ease}
@keyframes tarPop{0%{transform:scale(1)}40%{transform:scale(1.4);color:var(--bl)}100%{transform:scale(1)}}
.tar-list.view-cards .tar-card.est-done{opacity:.7}
.tar-list.view-cards .tar-card.est-done .tar-title{text-decoration:line-through;color:var(--ink3)}
@media(max-width:700px){
  .tar-list.view-cards .tar-section-items{grid-template-columns:1fr;gap:12px}
  .tar-list.view-cards .tar-card{min-height:auto}
  .tar-list.view-cards .tar-title{font-size:16px}
  .tar-list.view-cards .tar-card-top{padding:12px 14px 6px}
  .tar-list.view-cards .tar-card-mid{padding:4px 14px 12px}
  .tar-list.view-cards .tar-card-bot{padding:9px 12px}
}
@media(max-width:600px){
  /* Form Tareas colapsable: solo botón toggle visible por default */
  .tar-quick-toggle{display:flex !important}
  #tar-quick-wrap:not(.expanded) .tar-quick{display:none}
  #tar-quick-wrap.expanded .tar-quick-toggle .tar-quick-toggle-ico{transform:rotate(45deg)}
  /* Stats como segmented control: 4 botones en grid */
  .tar-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
  .tar-stat{padding:7px 4px;font-size:11px;text-align:center;flex-direction:column;line-height:1.15}
  .tar-stat strong{display:block;margin:0 0 2px;font-size:14px}
  /* Filtros categoría: scroll horizontal sin wrap, en su propia fila */
  .tar-fil-cat{flex-wrap:nowrap !important;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:2px;flex:0 0 100% !important;order:3;margin-top:8px}
  .tar-fil-cat::-webkit-scrollbar{display:none}
  .tar-fil-pill{flex-shrink:0;white-space:nowrap}
  /* Toolbar: 2 filas → fila1: toggle + fondo · fila2: filtros */
  .tar-toolbar{gap:6px;flex-wrap:wrap;align-items:center}
  .tar-view-toggle{order:1}
  .tar-view-toggle button{padding:7px 9px}
  .tar-view-toggle button .tar-view-lbl{display:none}
  .tar-bg-btn{order:2;margin-left:auto;padding:7px 9px}
  .tar-bg-btn #tar-bg-btn-lbl{display:none}
}
@media(max-width:380px){
  .tar-list.view-cards .tar-title{font-size:14px}
  .tar-list.view-cards .tar-card-top{padding:10px 12px 5px}
  .tar-list.view-cards .tar-card-mid{padding:3px 12px 10px}
  .tar-stat{font-size:10px}
  .tar-stat strong{font-size:13px}
}
/* Botón colapsable del form (oculto en desktop) */
.tar-quick-toggle{display:none;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;background:var(--card);border:1.5px dashed var(--bd);border-radius:12px;cursor:pointer;font-family:'Poppins',sans-serif;font-size:13px;font-weight:700;color:var(--bl);margin-bottom:14px;transition:border-color .15s,background .15s}
.tar-quick-toggle:hover{border-color:var(--bl);background:rgba(12,29,225,.04)}
.tar-quick-toggle-ico{display:inline-block;font-size:18px;font-weight:300;line-height:1;transition:transform .25s}
/* Imagen de fondo para la sección Tareas */
#tar{position:relative;min-height:600px;border-radius:14px;background-size:cover;background-position:center;background-attachment:scroll;transition:background-image .3s}
#tar.has-bg{padding:14px}
#tar.has-bg::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(244,239,233,.78) 0%,rgba(244,239,233,.92) 100%);border-radius:14px;pointer-events:none;z-index:0}
[data-theme="dark"] #tar.has-bg::before{background:linear-gradient(180deg,rgba(26,26,46,.82) 0%,rgba(26,26,46,.94) 100%)}
#tar > *{position:relative;z-index:1}
.tar-bg-btn{padding:7px 13px;border:1.5px solid var(--bd);border-radius:8px;background:var(--card);color:var(--ink2);font-family:'Poppins',sans-serif;font-size:11px;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.04em;display:inline-flex;align-items:center;gap:5px;box-shadow:var(--sh)}
.tar-bg-btn:hover{border-color:var(--bl);color:var(--bl)}
.tar-bg-btn svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* KPI BLOCK (barras horizontales) */
.kpi-block{margin-top:18px;padding:12px 14px;background:var(--card);border:1px solid var(--bd);border-radius:12px}
.kpi-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3);margin-bottom:10px}
.kpi-row{display:grid;grid-template-columns:90px 1fr 80px;align-items:center;gap:10px;padding:5px 0}
.kpi-row-lbl{font-size:12px;font-weight:600;color:var(--ink2);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi-row-bar{height:12px;background:rgba(0,0,0,.05);border-radius:6px;overflow:hidden}
.kpi-row-fill{height:100%;border-radius:6px;transition:width .5s ease-out}
.kpi-row-val{font-size:12px;font-weight:700;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:480px){.kpi-row{grid-template-columns:70px 1fr 70px;gap:8px}.kpi-row-lbl,.kpi-row-val{font-size:11px}}
/* HEATMAP DIARIO */
.heatmap-wrap{padding:12px 4px 4px;overflow-x:auto}
.heatmap-grid{display:grid;grid-template-rows:14px repeat(7,12px);column-gap:3px;row-gap:3px;align-items:center;min-width:520px}
.heatmap-grid .hm-mhdr{grid-column:1 / -1;grid-row:1;display:grid;grid-template-columns:inherit;font-size:9.5px;color:var(--ink3);font-weight:600;align-items:end;height:14px}
.hm-month{grid-row:1;text-align:left}
.hm-wd{font-size:9px;color:var(--ink3);font-weight:600;padding-right:4px;text-align:right;line-height:1}
.hm-cell{display:block;width:100%;height:12px;border-radius:2px;background:var(--cr);transition:transform .12s}
.hm-cell:hover{transform:scale(1.4);outline:1px solid var(--bl)}
.hm-cell.hm-empty{background:transparent;visibility:hidden}
.hm-l0{background:#EEF0FB}
.hm-l1{background:#BFC8F3}
.hm-l2{background:#7E92E7}
.hm-l3{background:#3F5CD8}
.hm-l4{background:#0C1DE1}
.heatmap-legend{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--ink3);justify-content:flex-end;padding:6px 4px 0;flex-wrap:wrap}
.heatmap-legend .hm-l{width:11px;height:11px;border-radius:2px;display:inline-block}
/* HISTORIAL — tabla a cards en mobile */
.h-table-wrap{overflow-x:auto}
@media(max-width:700px){.h-table-wrap{overflow-x:visible}}
#htbl{width:100%;border-collapse:collapse;font-size:12px}
@media(max-width:700px){
  #htbl,#htbl thead,#htbl tbody,#htbl tr,#htbl td,#htbl th{display:block;width:100%}
  #htbl thead{display:none}
  #htbl tbody{display:flex;flex-direction:column;gap:8px}
  #htbl tr{background:var(--card)!important;border:1px solid var(--bd);border-radius:12px;padding:12px 13px;box-shadow:0 1px 4px rgba(0,0,0,.04);position:relative}
  #htbl td{padding:0!important;border:none;text-align:left!important;background:transparent!important}
  #htbl td.h-cli{font-size:14.5px;font-weight:700;color:var(--ink);padding-right:90px!important;line-height:1.25;margin-bottom:6px}
  #htbl td.h-tot{position:absolute;top:12px;right:13px;width:auto!important;font-size:17px!important;font-weight:800;color:var(--or)!important}
  #htbl td.h-meta{display:flex!important;flex-wrap:wrap;gap:5px 8px;align-items:center;margin-bottom:9px;font-size:11px;color:var(--ink3)}
  #htbl td.h-acts{display:flex!important;gap:6px;justify-content:flex-start;align-items:center;border-top:1px solid var(--bd);padding-top:9px!important;margin-top:2px}
  #htbl td.h-acts .h-btn{flex:1;text-align:center;padding:8px 10px!important;font-size:12px!important}
  #htbl td.h-acts .h-btn.h-del{flex:0 0 auto;width:36px;padding:8px 0!important}
}
.h-btn{font-size:11px;font-weight:600;padding:5px 10px;border-radius:7px;border:none;cursor:pointer;font-family:inherit}
.h-btn.h-pdf{background:var(--bl);color:#fff}
.h-btn.h-edit{background:var(--or);color:#fff}
.h-btn.h-del{background:#fee;color:#c0392b}
.h-btn.h-dup{background:var(--card);color:var(--bl);border:1.5px solid var(--bl)}
.h-grupo{display:inline-block;margin-left:6px;font-size:9.5px;font-weight:800;padding:1px 7px;border-radius:9px;background:var(--bl);color:#fff;cursor:pointer;vertical-align:middle}
.h-grupo:hover{opacity:.85}
.h-btn:hover{opacity:.9}
.h-meta-chip{font-size:10px;font-weight:600;padding:2px 8px;border-radius:9px;background:rgba(12,29,225,.08);color:var(--bl)}
.h-meta-date{font-size:10.5px;color:var(--ink3);font-weight:600}
.h-meta-edit{font-size:9.5px;color:var(--ink3);font-style:italic}
.pip-card{background:var(--card);border-radius:16px;padding:0;transition:box-shadow .25s,transform .2s;position:relative;overflow:hidden;box-shadow:0 1px 6px rgba(0,0,0,.06)}
.pip-card:hover{box-shadow:0 6px 24px rgba(12,29,225,.1);transform:translateY(-2px)}
.pip-card-inner{padding:16px 16px 14px 20px}
.pip-card-stripe{position:absolute;top:0;left:0;width:4px;height:100%}
.pip-name{font-size:15px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.pip-monto{font-size:16px;font-weight:800;color:var(--or);white-space:nowrap;flex-shrink:0}
.pip-meta{font-size:11px;color:var(--ink3)}
.pip-avatar{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;color:#fff;flex-shrink:0}
.pip-stat-card{background:var(--card);border-radius:14px;padding:16px 12px;cursor:pointer;transition:all .25s;text-align:center;box-shadow:0 1px 6px rgba(0,0,0,.04)}
.pip-stat-card:hover{box-shadow:0 4px 16px rgba(12,29,225,.08);transform:translateY(-2px)}
.pip-stat-card.active{box-shadow:0 4px 20px rgba(12,29,225,.14);transform:translateY(-2px)}
.pip-stat-num{font-size:26px;font-weight:800;line-height:1;margin-top:4px}
.pip-stat-label{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-top:4px}
.pip-stat-total{font-size:10.5px;color:var(--ink3);margin-top:2px;font-weight:600}
.pip-stat-bar{height:3px;border-radius:2px;background:rgba(0,0,0,.06);margin-top:8px;overflow:hidden}
.pip-stat-fill{height:100%;border-radius:2px;transition:width .5s ease-out}
.pip-steps{display:flex;align-items:flex-start;margin:12px 0 0;position:relative}
.pip-step{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}
.pip-step-dot{width:20px;height:20px;border-radius:50%;border:2px solid var(--bd);background:var(--card);display:flex;align-items:center;justify-content:center;font-size:9px;transition:all .25s}
.pip-step-dot.done{border-color:transparent}
.pip-step-dot.current{border-color:transparent;transform:scale(1.1);box-shadow:0 2px 6px rgba(0,0,0,.12)}
.pip-step-line{position:absolute;top:9px;left:0;right:0;height:2px;background:var(--bd);z-index:0}
.pip-step-label{font-size:8.5px;font-weight:600;margin-top:4px;color:var(--ink3);text-align:center;line-height:1.15;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:380px){.pip-step-label{font-size:8px;max-width:48px}}
.pip-step-label.active-label{color:var(--ink);font-weight:700}
.pip-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--bd)}
.pip-actions>div:first-child{flex:0 0 auto}
.pip-actions>div:last-child{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:600px){
  .pip-actions{flex-direction:column;align-items:stretch}
  .pip-actions>div:first-child .pip-select{width:100%}
  .pip-actions>div:last-child{justify-content:stretch}
  .pip-actions>div:last-child .pip-btn{flex:1;justify-content:center;padding:9px 8px;font-size:12px}
}
.pip-btn{font-size:11px;font-weight:700;padding:6px 12px;border-radius:8px;border:none;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:4px}
.pip-btn:hover{opacity:.88;transform:translateY(-1px)}
.pip-select{font-size:11px;padding:6px 28px 6px 10px;border-radius:8px;border:1.5px solid var(--bd);background:var(--card);color:var(--ink);font-weight:600;cursor:pointer;font-family:inherit;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath fill='%239090b0' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}
.pip-select:focus{border-color:var(--bl);outline:none;box-shadow:0 0 0 3px rgba(12,29,225,.08)}
.pip-motivo{display:flex;align-items:flex-start;gap:6px;margin-top:10px;padding:8px 10px;background:#FFF5F5;border-radius:8px;border-left:3px solid #E53935;font-size:11px;color:#B71C1C;line-height:1.4}
.pip-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 14px}
@media(max-width:480px){.pip-kpis{grid-template-columns:repeat(2,1fr);gap:8px}.pip-kpi{padding:10px 11px}.pip-kpi-val{font-size:18px}}
.pip-kpi{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.pip-kpi-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3)}
.pip-kpi-val{font-size:20px;font-weight:800;color:var(--ink);line-height:1.1}
.pip-kpi-sub{font-size:10.5px;color:var(--ink3);font-weight:600}
.pip-kpi.warn{border-color:#F59E0B;background:#FFFBEB}
.pip-kpi.warn .pip-kpi-val{color:#B45309}
.pip-search{flex:1;min-width:160px;font-size:12px;padding:6px 10px;border-radius:8px;border:1.5px solid var(--bd);background:var(--card);color:var(--ink);font-family:inherit}
.pip-search:focus{border-color:var(--bl);outline:none;box-shadow:0 0 0 3px rgba(12,29,225,.08)}
.pip-stuck{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:8px;background:#FFFBEB;color:#B45309;border:1px solid #F59E0B;text-transform:uppercase;letter-spacing:.04em}
.pip-card.stuck{box-shadow:0 0 0 1.5px #F59E0B,0 1px 6px rgba(0,0,0,.06)}
.pip-multi{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:8px;background:#EEF0FB;color:var(--bl);border:1px solid #C5CEEA;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}
.pip-multi:hover{background:#DDE2F5}
.pip-wa{background:#25D366;color:#fff}
.pip-wa:hover{background:#1FB958}
.field.has-error input,.field.has-error textarea{border-color:#E53935!important;background:#FFF5F5}
.field.has-error label{color:#B71C1C}
.field-error{font-size:11px;color:#B71C1C;margin-top:5px;font-weight:600;display:flex;align-items:center;gap:4px}
.field-error::before{content:"⚠";font-size:11px}
#iw.has-error{border:1.5px dashed #E53935;border-radius:10px;padding:6px;background:#FFF5F5}
#iw-error{font-size:11px;color:#B71C1C;margin-top:6px;font-weight:600}
.pip-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
/* En movil los chips envuelven a varias lineas: antes usaban scroll horizontal
   con barra oculta y parecian tarjetas cortadas. */
@media(max-width:480px){
  .pip-chips{gap:5px}
  .pip-chips .pip-chip{flex-shrink:1}
}
.pip-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;margin-top:14px}
@media(min-width:601px){
  /* Desktop: tipografía limpia, botones cómodos */
  .pip-name{font-size:15.5px}
  .pip-monto{font-size:19px;letter-spacing:-.3px}
  .pip-step-dot{width:20px;height:20px}
  .pip-step-line{top:9px}
  .pip-step-label{font-size:9px;max-width:62px;margin-top:5px}
  .pip-actions{margin-top:12px;padding-top:10px;gap:6px}
  .pip-btn{font-size:11.5px;padding:6px 11px}
}
@media(max-width:560px){.pip-list{grid-template-columns:1fr;gap:10px;margin-top:10px}}
.pip-card-inner{padding:14px 14px 12px 18px}
.pip-card{box-shadow:0 1px 6px rgba(0,0,0,.05)}
.pip-card:hover{box-shadow:0 6px 22px rgba(12,29,225,.1);transform:translateY(-2px)}
.pip-card-stripe{width:4px}
.pip-avatar{width:40px;height:40px;font-size:15px;border-radius:12px}
@media(max-width:480px){.pip-card-inner{padding:12px 12px 10px 16px}}
/* Mobile: prevenir desbordamiento horizontal del contenido del card */
@media(max-width:600px){
  .pip-card{overflow:hidden}
  .pip-card-inner{padding:13px 12px 11px 13px;min-width:0;box-sizing:border-box;max-width:100%}
  .pip-card-inner > div{min-width:0;max-width:100%}
  /* Header row: avatar pequeño + gap chico */
  .pip-card-inner > div:first-child{gap:8px !important}
  .pip-avatar{width:30px;height:30px;font-size:11px;border-radius:8px;flex-shrink:0}
  .pip-name{font-size:14px}
  .pip-monto{font-size:15px}
  /* Step labels: para que 5 entren en línea */
  .pip-step-label{max-width:50px;font-size:8px}
}
@media(max-width:430px){
  .pip-monto{font-size:14px}
  .pip-step-label{max-width:46px;font-size:7.5px}
}
@media(max-width:380px){
  .pip-card-inner{padding:11px 10px 10px 12px}
  .pip-name{font-size:13.5px}
  .pip-monto{font-size:13.5px}
  .pip-step-label{max-width:40px;font-size:7px}
}
/* ═══ FIXES MOBILE para secciones detectadas en auditoría ═══ */
/* Pipeline y Cobranza: tarjetas sin desbordamiento horizontal */
@media(max-width:600px){
  /* Listas: ancho exacto, sin overflow */
  .pip-list,#cob-list{width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}
  /* Cards: acotadas al grid */
  .pip-card,.cob-card{max-width:100%;box-sizing:border-box}
  /* Inner: no desborda */
  .pip-card-inner,.cob-card-inner{overflow:hidden}
  /* (Se elimino la regla que acotaba la columna nombre+monto a 90px:
     era para una estructura vieja del card y truncaba el nombre a 1 letra.
     El recorte correcto lo hacen .pip-name (ellipsis) y .pip-monto.) */
  /* Cobranza: fila con cliente y saldo */
  .cob-row{overflow:hidden;min-width:0}
  .cob-row > div:last-child{max-width:90px;min-width:0;overflow:hidden;flex-shrink:0}
  .cob-amount{font-size:15px !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* KPIs de 2 columnas: forzar que el valor quepa */
  .pip-kpi{min-width:0;overflow:hidden}
  .pip-kpi-val{font-size:16px !important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
/* Cobranza: forzar 1 columna en mobile (override inline minmax 320px) */
@media(max-width:560px){
  #cob-list{grid-template-columns:1fr !important;gap:10px !important}
  .cob-card-inner{padding:12px 12px 10px 14px !important}
}
/* Cotizador tabla .qt: padding y fuente más compacta en mobile */
@media(max-width:560px){
  .qt thead th{padding:6px 5px;font-size:9px}
  .qt tbody td{padding:6px 5px;font-size:11.5px}
  .qt tbody td:first-child{font-size:11px}
}
@media(max-width:380px){
  .qt thead th{padding:5px 3px;font-size:8.5px;letter-spacing:0}
  .qt tbody td{padding:5px 3px;font-size:11px}
}
/* Calculadora: scroll horizontal en tablas largas */
.cal-tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.cal-tbl-wrap table{min-width:380px}
@media(max-width:560px){
  #cal table th,#cal table td{padding:6px 7px !important;font-size:11px}
}
/* ═══ PERDIDOS — cotizaciones rechazadas con análisis y reactivación ═══ */
.per-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:14px}
.per-stat{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;position:relative;overflow:hidden}
.per-stat::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:#c0392b}
.per-stat.urgent::before{background:#c0392b}
.per-stat.info::before{background:var(--bl)}
.per-stat.warn::before{background:var(--or)}
.per-stat-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3)}
.per-stat-val{font-size:20px;font-weight:800;color:var(--ink);line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.3px}
.per-stat-val.red{color:#c0392b}
.per-stat-sub{font-size:10.5px;color:var(--ink3);font-weight:600;margin-top:3px}
.per-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px;padding:10px;background:var(--card);border:1px solid var(--bd);border-radius:10px}
.per-filters select,.per-filters input{padding:7px 10px;border:1.5px solid var(--bd);border-radius:7px;font-family:'Poppins',sans-serif;font-size:12px;background:var(--cr);color:var(--ink);outline:none}
.per-filters label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3)}
.per-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.per-card{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:14px;position:relative;overflow:hidden;box-shadow:0 1px 6px rgba(0,0,0,.05);transition:transform .18s,box-shadow .25s}
.per-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(192,57,43,.12)}
.per-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:#c0392b}
.per-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.per-card-cli{font-size:14.5px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.per-card-mnt{font-size:15px;font-weight:800;color:#c0392b;flex-shrink:0;font-variant-numeric:tabular-nums}
.per-card-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:10.5px;color:var(--ink3);font-weight:600;margin-bottom:8px}
.per-card-motivo{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:10px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.per-card-motivo.precio{background:rgba(192,57,43,.1);color:#c0392b}
.per-card-motivo.competencia{background:rgba(109,40,217,.12);color:#6D28D9}
.per-card-motivo.planes{background:rgba(253,99,1,.1);color:var(--or)}
.per-card-motivo.presupuesto{background:rgba(12,29,225,.1);color:var(--bl)}
.per-card-motivo.sin_respuesta{background:var(--cr);color:var(--ink2)}
.per-card-motivo.otro{background:var(--cr);color:var(--ink3)}
.per-card-detalle{font-size:11.5px;color:var(--ink2);line-height:1.45;margin-bottom:10px;padding:7px 10px;background:var(--cr);border-radius:8px;border-left:3px solid var(--bd)}
.per-card-reac{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--bl);font-weight:700;margin-bottom:10px;padding:6px 10px;background:rgba(12,29,225,.06);border-radius:8px}
.per-card-reac.due{color:var(--or);background:rgba(253,99,1,.08)}
.per-card-reac.overdue{color:#c0392b;background:rgba(192,57,43,.08)}
.per-card-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.per-btn{font-size:11px;font-weight:700;padding:6px 12px;border-radius:7px;border:none;cursor:pointer;font-family:'Poppins',sans-serif;display:inline-flex;align-items:center;gap:5px;transition:opacity .15s,transform .15s}
.per-btn:hover{opacity:.88}
.per-btn.reactivar{background:var(--gn);color:#fff}
.per-btn.editar{background:var(--bl);color:#fff}
.per-btn.eliminar{background:#fee;color:#c0392b}
.per-empty{text-align:center;padding:36px 20px;color:var(--ink3);font-size:13px}
.per-top-motivos{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.per-top-motivo{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;color:var(--ink2);background:var(--cr);padding:3px 8px;border-radius:8px}
.per-top-motivo strong{color:#c0392b}
@media(max-width:600px){.per-grid{grid-template-columns:1fr;gap:10px}.per-filters{gap:6px;padding:8px}.per-card-cli{font-size:13.5px}.per-card-mnt{font-size:14px}}
/* ═══ MODAL DE RECHAZO MEJORADO ═══ */
.rmodal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:99999;padding:14px}
.rmodal-box{background:var(--card);border-radius:18px;padding:22px;max-width:460px;width:100%;max-height:92vh;overflow-y:auto;box-shadow:0 12px 40px rgba(0,0,0,.25)}
.rmodal-title{font-size:17px;font-weight:800;color:var(--ink);margin-bottom:4px;display:flex;align-items:center;gap:8px}
.rmodal-title svg{width:20px;height:20px;color:#c0392b;stroke:currentColor;fill:none;stroke-width:2}
.rmodal-sub{font-size:12px;color:var(--ink3);margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--bd)}
.rmodal-sub strong{color:var(--ink);font-weight:700}
.rmodal-field{margin-bottom:14px}
.rmodal-field label{display:block;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2);margin-bottom:6px}
.rmodal-field label .req{color:#c0392b;margin-left:3px}
.rmodal-field select,.rmodal-field textarea{width:100%;padding:10px 12px;border:1.5px solid var(--bd);border-radius:9px;font-family:'Poppins',sans-serif;font-size:13px;background:var(--cr);color:var(--ink);outline:none;box-sizing:border-box;transition:border-color .15s}
.rmodal-field select:focus,.rmodal-field textarea:focus{border-color:var(--bl);box-shadow:0 0 0 3px rgba(12,29,225,.08)}
.rmodal-field textarea{resize:vertical;min-height:60px}
.rmodal-field.error select,.rmodal-field.error textarea{border-color:#c0392b;background:#fff5f5}
.rmodal-error{font-size:11px;color:#c0392b;font-weight:600;margin-top:5px;display:none}
.rmodal-field.error .rmodal-error{display:block}
.rmodal-radio-group{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}
.rmodal-radio{position:relative;cursor:pointer}
.rmodal-radio input{position:absolute;opacity:0;pointer-events:none}
.rmodal-radio span{display:flex;align-items:center;justify-content:center;padding:9px 6px;border:1.5px solid var(--bd);border-radius:8px;font-size:12px;font-weight:600;color:var(--ink2);background:var(--cr);transition:all .15s;text-align:center;line-height:1.2}
.rmodal-radio:hover span{border-color:var(--bl);color:var(--bl)}
.rmodal-radio input:checked + span{border-color:var(--bl);background:rgba(12,29,225,.08);color:var(--bl);font-weight:800}
.rmodal-checkbox{display:flex;align-items:flex-start;gap:9px;padding:11px 13px;background:rgba(12,29,225,.05);border:1px solid rgba(12,29,225,.15);border-radius:9px;cursor:pointer}
.rmodal-checkbox input{margin:2px 0 0;flex-shrink:0;accent-color:var(--bl)}
.rmodal-checkbox-body{flex:1}
.rmodal-checkbox-lbl{font-size:12.5px;font-weight:700;color:var(--ink);line-height:1.3}
.rmodal-checkbox-hint{font-size:11px;color:var(--ink3);margin-top:2px;line-height:1.4}
.rmodal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;padding-top:14px;border-top:1px solid var(--bd)}
.rmodal-btn{font-size:13px;font-weight:700;padding:9px 18px;border-radius:9px;border:none;cursor:pointer;font-family:'Poppins',sans-serif;transition:opacity .15s}
.rmodal-btn:hover{opacity:.9}
.rmodal-btn.cancel{background:var(--cr);color:var(--ink2);border:1.5px solid var(--bd)}
.rmodal-btn.confirm{background:#c0392b;color:#fff}
@media(max-width:480px){.rmodal-box{padding:18px;border-radius:14px}.rmodal-radio-group{grid-template-columns:1fr 1fr}}

.pip-filter{padding:10px 0;border-top:1px solid var(--bd);display:flex;flex-direction:column;gap:8px}
.pip-filter .pip-search{width:100%}
.pip-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:space-between}
.pip-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:11px;font-weight:700;cursor:pointer;border:1.5px solid transparent;background:var(--card);transition:all .18s;user-select:none}
.pip-chip:hover{transform:translateY(-1px)}
.pip-chip .dot{width:8px;height:8px;border-radius:50%}
.pip-chip .num{font-size:11px;font-weight:800;background:rgba(0,0,0,.06);padding:1px 7px;border-radius:999px}
.pip-chip.active{box-shadow:0 2px 8px rgba(0,0,0,.08)}
.pip-toggle{display:inline-flex;border:1.5px solid var(--bd);border-radius:8px;overflow:hidden;background:var(--card)}
.pip-toggle button{font-size:11px;font-weight:700;padding:6px 11px;border:none;background:transparent;color:var(--ink2);cursor:pointer;font-family:inherit}
.pip-toggle button.on{background:var(--bl);color:#fff}
.pip-card.compact .pip-card-inner{padding:11px 14px 11px 16px}
.pip-card.compact .pip-steps{display:none}
.pip-card.compact .pip-actions{margin-top:8px;padding-top:8px}
.pip-card.compact .pip-avatar{width:30px;height:30px;border-radius:9px;font-size:13px}
.pip-divider{display:flex;align-items:center;gap:10px;margin:18px 0 10px;cursor:pointer;user-select:none;font-size:13px;font-weight:700;color:var(--ink2)}
.pip-divider:hover{color:var(--ink)}
.pip-divider .line{flex:1;height:1px;background:var(--bd)}
.pip-divider .caret{transition:transform .2s;display:inline-block}
.pip-divider.open .caret{transform:rotate(90deg)}
.cob-card{background:var(--card);border-radius:14px;padding:0;position:relative;overflow:hidden;box-shadow:0 1px 6px rgba(0,0,0,.06);transition:box-shadow .25s,transform .2s}
.cob-card:hover{box-shadow:0 6px 20px rgba(12,29,225,.1);transform:translateY(-2px)}
.cob-card-stripe{position:absolute;top:0;left:0;width:4px;height:100%}
.cob-card-inner{padding:14px 16px 12px 18px}
.cob-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.cob-cli{font-size:15px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cob-meta{font-size:11px;color:var(--ink3);margin-top:2px}
.cob-amount{font-size:18px;font-weight:800;color:var(--ink);text-align:right;line-height:1.1}
.cob-amount-lbl{font-size:10px;color:var(--ink3);font-weight:600;text-align:right;margin-top:1px;text-transform:uppercase;letter-spacing:.04em}
.cob-progress{height:6px;background:rgba(0,0,0,.06);border-radius:4px;overflow:hidden;margin:10px 0 6px}
.cob-progress-fill{height:100%;border-radius:4px;transition:width .4s ease-out}
.cob-amounts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:8px}
.cob-amt{padding:6px 8px;border-radius:7px;background:#F4EFE9;text-align:center}
.cob-amt-lbl{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3)}
.cob-amt-val{font-size:13px;font-weight:800;color:var(--ink);margin-top:2px}
.cob-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--bd)}
.cob-btn{font-size:11px;font-weight:700;padding:6px 11px;border-radius:8px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-family:inherit;transition:opacity .2s}
.cob-btn:hover{opacity:.85}
.cob-pill{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:800;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}
.cob-vencido{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:800;padding:2px 7px;border-radius:8px;background:#FDECEA;color:#B71C1C;border:1px solid #F5C6CB;text-transform:uppercase;letter-spacing:.04em;margin-left:6px}
.cob-pagos-list{margin-top:8px;font-size:11px}
.cob-pagos-list .pgo{display:flex;justify-content:space-between;padding:4px 0;border-top:1px dashed var(--bd);color:var(--ink2)}
/* TRABAJOS */
.tra-card{background:var(--card);border:1px solid var(--bd);border-radius:var(--rd);padding:14px;margin-bottom:10px;box-shadow:var(--sh)}
.tra-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}
.tra-name{font-size:13px;font-weight:700;color:var(--ink)}
.tra-status{font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase}
.ts-pen{background:#EEF0FB;color:#0C1DE1}
.ts-cur{background:#FFF3CD;color:#7A4F00}
.ts-don{background:#D4EDDA;color:#155724}
.chk-item{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid var(--bd);font-size:12.5px;cursor:pointer}
.chk-item:last-child{border-bottom:none}
.chk-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--bl);cursor:pointer;flex-shrink:0}
.chk-item.done span{text-decoration:line-through;color:var(--ink3)}
.progress-bar{height:6px;background:var(--bd);border-radius:3px;margin:8px 0}
.progress-fill{height:6px;background:var(--bl);border-radius:3px;transition:width .3s}
/* CALCULADORA */
.calc-result{background:var(--bl);border-radius:9px;padding:14px;margin-top:12px}
.calc-row{display:flex;justify-content:space-between;align-items:center;color:rgba(255,255,255,.7);font-size:12px;padding:3px 0}
.calc-row.main{color:#fff;font-weight:700;font-size:15px;border-top:1px solid rgba(255,255,255,.2);margin-top:7px;padding-top:7px}
.type-btn{padding:8px 14px;border:1.5px solid var(--bd);border-radius:8px;background:var(--cr);font-family:'Poppins',sans-serif;font-size:12px;cursor:pointer;transition:all .15s;color:var(--ink2)}
.type-btn.active{background:var(--bl);color:#fff;border-color:var(--bl);font-weight:600}

/* CALENDARIO */
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-top:8px}
.cal-head{text-align:center;font-size:10px;font-weight:700;color:var(--ink3);text-transform:uppercase;padding:6px 2px}
.cal-day{min-height:68px;border-radius:8px;padding:5px 5px 4px;background:var(--cr);border:1px solid transparent;cursor:pointer;transition:all .15s;position:relative;display:flex;flex-direction:column;gap:3px}
.cal-day:hover{border-color:var(--bl);background:rgba(12,29,225,.04)}
.cal-day.today{background:rgba(12,29,225,.08);border-color:var(--bl)}
.cal-day.empty{background:transparent;border:none;cursor:default}
.cal-day-num{font-size:11px;font-weight:700;color:var(--ink2);text-align:right;line-height:1;margin-bottom:1px}
.cal-day.today .cal-day-num{color:var(--bl);font-weight:800}
.cal-dot{display:block;width:100%;height:auto;min-height:18px;border-radius:5px;font-size:10px;font-weight:700;padding:2px 5px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}
.cal-dot.more{background:transparent;color:var(--ink3);font-weight:600;font-size:9.5px;padding:0 5px;text-align:right;min-height:auto;line-height:1.1}
.dot-act{background:var(--bl);color:#fff}
.dot-can{background:#c0392b;color:#fff;text-decoration:line-through;text-decoration-thickness:1px}
.dot-don{background:var(--gn);color:#fff}
@media(max-width:560px){
  /* Celdas cuadradas y uniformes en mobile, sin importar cuántas citas */
  .cal-grid{gap:3px}
  .cal-day{min-height:0;aspect-ratio:1/1;padding:4px 3px;overflow:hidden;display:flex;flex-direction:column;gap:2px;justify-content:flex-start}
  .cal-day-num{font-size:12px;text-align:center;margin:0;line-height:1.1;font-weight:700}
  /* Dots de color compactos, sin texto, fila horizontal centrada */
  .cal-dot{display:inline-block;width:6px;height:6px;min-height:0;border-radius:50%;padding:0;font-size:0;flex-shrink:0;line-height:0;overflow:hidden;color:transparent}
  .cal-dot.more{display:inline-block;width:auto;height:auto;font-size:8px;color:var(--ink3);padding:0;background:transparent;border-radius:0;line-height:1}
  /* Wrapper de dots centrado horizontalmente */
  .cal-day::before{content:none}
  .cal-day .cal-dots-row,
  .cal-day{flex-wrap:wrap}
}
.cal-dots-row{display:flex;justify-content:center;align-items:center;gap:3px;flex-wrap:wrap;margin-top:auto;padding-bottom:2px}
@media(min-width:561px){.cal-dots-row{display:contents}}
@media(max-width:380px){.cal-day{padding:3px 2px}.cal-day-num{font-size:11px}.cal-dot{width:5px;height:5px}.cal-dot.more{font-size:7.5px}}
/* CITA CARD (popup dia) */
.cita-card{display:grid;grid-template-columns:62px 1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid var(--bd);align-items:start}
.cita-card:last-child{border-bottom:none}
/* Citas pasadas: atenuadas pero LEGIBLES (antes opacity .55 volvia el nombre casi invisible) */
.cita-card.past{opacity:.85}
.cita-card.past .cita-name{color:var(--ink2)}
.cita-time{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--cr);border-radius:10px;padding:8px 4px;min-height:54px}
.cita-time .hh{font-size:18px;font-weight:800;color:var(--bl);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.cita-time .lbl{font-size:8.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3);margin-top:3px}
.cita-time.no-hora .hh{font-size:13px;color:var(--ink3)}
.cita-body{min-width:0}
.cita-name{font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.25;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cita-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;font-size:11.5px;color:var(--ink2);margin-bottom:5px}
.cita-meta .ico{opacity:.6;flex-shrink:0}
.cita-meta a{color:var(--bl);text-decoration:none;font-weight:600}
.cita-meta a:hover{text-decoration:underline}
.cita-asesor-chip{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:9px;background:rgba(12,29,225,.08);color:var(--bl)}
.cita-st-chip{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:11px;white-space:nowrap;flex-shrink:0}
.cita-st-chip.act{background:rgba(12,29,225,.1);color:var(--bl)}
.cita-st-chip.don{background:#EAF5EF;color:var(--gn)}
.cita-st-chip.can{background:#FDECEA;color:#B71C1C}
.cita-nota{margin-top:6px;padding:7px 10px;background:#FFF8E1;border-left:3px solid #E6A800;border-radius:0 7px 7px 0;font-size:11.5px;color:#7a5800;line-height:1.45}
.cita-foot{display:flex;gap:6px;margin-top:9px;justify-content:flex-end}
.cita-foot .btn{font-size:11px;padding:6px 11px;border-radius:7px;font-weight:600}
.cita-add{display:block;width:100%;background:var(--or);color:#fff;border:none;border-radius:10px;padding:13px 16px;font-size:13.5px;font-weight:700;cursor:pointer;margin-top:18px;font-family:inherit;letter-spacing:.01em}
.cita-add:hover{background:#e05500}
@media(max-width:480px){.cita-card{grid-template-columns:54px 1fr;gap:9px}.cita-card .cita-st-chip{grid-column:2;justify-self:start;margin-top:-2px}}
.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.cal-nav button{background:none;border:1.5px solid var(--bd);border-radius:7px;padding:5px 11px;cursor:pointer;font-size:14px;color:var(--ink2)}
.cal-nav button:hover{border-color:var(--bl);color:var(--bl)}
.cal-title{font-size:14px;font-weight:700;color:var(--ink)}
.cita-popup{position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center;padding:0}
.cita-popup-inner{background:#fff;border-radius:16px 16px 0 0;padding:20px;width:100%;max-width:500px;max-height:80vh;overflow-y:auto}

/* CHECADOR */
.chk-clock{background:var(--bl);border-radius:12px;padding:18px;text-align:center;margin-bottom:14px}
.chk-time{font-size:36px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:2px}
.chk-date{font-size:12px;color:rgba(255,255,255,.7);margin-top:4px}
.chk-btn{padding:12px 28px;border:none;border-radius:10px;font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s;margin:6px}
.chk-in{background:#25D366;color:#fff}
.chk-out{background:#c0392b;color:#fff}
.chk-in:hover{background:#1ea355}
.chk-out:hover{background:#a93226}
.chk-in:disabled,.chk-out:disabled{opacity:.4;cursor:not-allowed}
.chk-status{font-size:12px;color:rgba(255,255,255,.8);margin-top:8px;min-height:18px}
.att-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--bd);font-size:12.5px}
.att-row:last-child{border-bottom:none}
.att-date{font-weight:600;color:var(--ink);min-width:80px}
.att-times{color:var(--ink2);flex:1}
.att-nota{font-size:11px;color:var(--ink3);font-style:italic}
.att-asesor{font-size:10px;font-weight:700;padding:2px 7px;border-radius:9px;background:rgba(12,29,225,.08);color:var(--bl)}

/* PERMISOS */
.perm-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(max-width:480px){.perm-grid{grid-template-columns:1fr}}
.perm-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--cr);border-radius:8px;border:1px solid var(--bd)}
.perm-label{font-size:13px;font-weight:500;color:var(--ink)}
.perm-tog{position:relative;width:38px;height:21px;flex-shrink:0}
.perm-tog input{opacity:0;width:0;height:0}
.perm-sl{position:absolute;cursor:pointer;inset:0;background:#ccc;border-radius:21px;transition:.2s}
.perm-sl:before{content:'';position:absolute;width:15px;height:15px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s}
.perm-tog input:checked+.perm-sl{background:var(--bl)}
.perm-tog input:checked+.perm-sl:before{transform:translateX(17px)}

/* DARK MODE TOGGLE */
.dm-toggle{background:none;border:none;cursor:pointer;font-size:18px;padding:4px 8px;border-radius:8px;transition:background .15s;color:#fff;display:inline-flex;align-items:center}
.dm-toggle svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block}
.dm-toggle:hover{background:rgba(255,255,255,.15)}
/* TODAY CITAS CARDS */
.today-citas{margin-bottom:14px}
.today-cita-card{background:var(--bl);border-radius:10px;padding:12px 14px;margin-bottom:8px;display:flex;align-items:center;gap:12px}
.today-cita-card .tc-icon{font-size:20px;flex-shrink:0}
.today-cita-card .tc-body{flex:1;min-width:0}
.today-cita-card .tc-name{font-size:13px;font-weight:700;color:#fff}
.today-cita-card .tc-meta{font-size:11px;color:rgba(255,255,255,.7);margin-top:1px}
.today-cita-card.can{background:#c0392b}
.today-cita-card.don{background:var(--gn)}
/* CLIENT AUTOCOMPLETE */
.cli-suggest{position:absolute;top:100%;left:0;right:0;background:var(--card);border:1.5px solid var(--bl);border-top:none;border-radius:0 0 8px 8px;z-index:100;max-height:180px;overflow-y:auto;box-shadow:0 4px 16px rgba(0,0,0,.12)}
.cli-suggest-item{padding:9px 12px;cursor:pointer;font-size:13px;color:var(--ink);border-bottom:1px solid var(--bd)}
.cli-suggest-item:last-child{border-bottom:none}
.cli-suggest-item:hover{background:rgba(12,29,225,.06);color:var(--bl);font-weight:600}
.cli-suggest-item .cs-tel{font-size:11px;color:var(--ink3);margin-left:6px}
.fn-wrap{position:relative}
.sel-cli-btn{font-size:11px;font-weight:600;padding:4px 10px;border-radius:7px;background:rgba(12,29,225,.08);color:var(--bl);border:1.5px solid var(--bl);cursor:pointer;font-family:'Poppins',sans-serif;white-space:nowrap}
.sel-cli-btn:hover{background:var(--bl);color:#fff}
/* CITA ESTADO BUTTONS */
.est-btn .est-dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:6px;flex-shrink:0}
.est-btn.est-act .est-dot{background:var(--bl)}
.est-btn.est-can .est-dot{background:#c0392b}
.est-btn.est-don .est-dot{background:var(--gn)}
.est-btn.sel-act .est-dot,.est-btn.sel-can .est-dot,.est-btn.sel-don .est-dot{background:#fff}
.est-btn{display:inline-flex;align-items:center;padding:9px 16px;border:2px solid var(--bd);border-radius:9px;background:var(--cr);font-family:'Poppins',sans-serif;font-size:12.5px;font-weight:600;cursor:pointer;transition:all .15s;color:var(--ink2);flex:1;text-align:center}
.est-btn:hover{border-color:var(--bl);color:var(--bl)}
.est-btn.sel-act{background:var(--bl);color:#fff;border-color:var(--bl)}
.est-btn.sel-can{background:#c0392b;color:#fff;border-color:#c0392b}
.est-btn.sel-don{background:var(--gn);color:#fff;border-color:var(--gn)}

/* PWA INSTALL */
#pwa-install{display:none;position:fixed;bottom:20px;right:16px;z-index:500;background:var(--bl);color:#fff;border:none;border-radius:12px;padding:12px 18px;font-family:'Poppins',sans-serif;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 4px 20px rgba(12,29,225,.4);align-items:center;gap:8px}
#pwa-install.show{display:flex}
/* SEARCH */
.search-wrap{position:relative;flex:1;max-width:200px;min-width:0}
.search-input{width:100%;padding:7px 12px 7px 32px;border:none;border-radius:20px;font-family:'Poppins',sans-serif;font-size:12px;background:rgba(255,255,255,.15);color:#fff;outline:none}
.search-input::placeholder{color:rgba(255,255,255,.5)}
.search-input:focus{background:rgba(255,255,255,.25)}
.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);pointer-events:none;width:13px;height:13px;color:rgba(255,255,255,.65);display:inline-flex}
.search-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}
.search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--card);border-radius:10px;box-shadow:0 4px 24px rgba(0,0,0,.2);z-index:300;max-height:320px;overflow-y:auto;display:none}
.search-results.show{display:block}
.sr-section{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink3);padding:10px 12px 4px}
.sr-item{padding:9px 12px;cursor:pointer;border-bottom:1px solid var(--bd);transition:background .1s}
.sr-item:last-child{border-bottom:none}
.sr-item:hover,.sr-item.sel{background:rgba(12,29,225,.06)}
.sr-item.sr-nav .sr-item-name::before{content:'→ ';color:var(--bl);font-weight:700}
.sr-item-name{font-size:13px;font-weight:600;color:var(--ink)}
.sr-item-meta{font-size:11px;color:var(--ink3);margin-top:1px}
.sr-empty{padding:16px 12px;text-align:center;font-size:13px;color:var(--ink3)}
/* Skeleton loaders */
.skel{position:relative;overflow:hidden;background:var(--bd)}
.skel::after{content:'';position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);animation:skelShimmer 1.3s infinite}
@keyframes skelShimmer{100%{transform:translateX(100%)}}
.skel-card{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:15px 16px;margin-bottom:10px;box-shadow:var(--sh)}
.skel-line{height:12px;border-radius:6px;margin-bottom:9px}
.skel-line.lg{height:16px;width:55%}
.skel-line.sm{width:35%;margin-bottom:0}
/* Banner "garantía de guardado" */
.cap-save-banner{position:fixed;left:0;right:0;top:52px;z-index:190;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:9px 16px;font-family:'Poppins',sans-serif;font-size:12.5px;font-weight:600;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.cap-save-banner.warn{background:#FFF3E0;color:#B35400;border-bottom:1px solid #f0d2a8}
.cap-save-banner.danger{background:#FDECEA;color:#B71C1C;border-bottom:1px solid #f3c0bb}
.cap-save-banner button{border:none;color:#fff;font-weight:700;font-size:12px;padding:5px 14px;border-radius:8px;cursor:pointer;font-family:'Poppins',sans-serif;flex-shrink:0}
.cap-save-banner.warn button{background:#B35400}
.cap-save-banner.danger button{background:#B71C1C}
@media(max-width:700px){.cap-save-banner{font-size:11.5px;padding:8px 12px;gap:10px}}
/* Panel "Atención hoy" */
.hoy-panel{margin-bottom:14px}
.hoy-hdr{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ink2);margin:0 2px 10px}
.hoy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.hoy-card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 15px;border-radius:14px;border:1px solid var(--bd);background:var(--card);box-shadow:var(--sh);cursor:pointer;font-family:'Poppins',sans-serif;text-align:left;transition:transform .12s,box-shadow .12s;border-left-width:4px}
.hoy-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(12,29,225,.12)}
.hoy-card .hoy-ico{width:22px;height:22px;margin-bottom:4px}
.hoy-card .hoy-ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hoy-card .hoy-n{font-size:26px;font-weight:800;line-height:1;color:var(--ink)}
.hoy-card .hoy-lbl{font-size:12px;font-weight:600;color:var(--ink2)}
.hoy-card.hoy-bl{border-left-color:var(--bl)}.hoy-card.hoy-bl .hoy-ico{color:var(--bl)}
.hoy-card.hoy-or{border-left-color:var(--or)}.hoy-card.hoy-or .hoy-ico{color:var(--or)}
.hoy-card.hoy-gn{border-left-color:var(--gn)}.hoy-card.hoy-gn .hoy-ico{color:var(--gn)}
.hoy-card.hoy-rd{border-left-color:#C62828}.hoy-card.hoy-rd .hoy-ico{color:#C62828}.hoy-card.hoy-rd .hoy-n{color:#C62828}
/* Navegación inferior móvil + FAB */
.mnav{display:none}
@media(max-width:700px){
  .mnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:200;height:60px;background:var(--card);border-top:1px solid var(--bd);box-shadow:0 -2px 16px rgba(0,0,0,.08);align-items:center;justify-content:space-around;padding:0 6px;padding-bottom:env(safe-area-inset-bottom)}
  .mnav-item{flex:1;background:none;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--ink3);font-family:'Poppins',sans-serif;font-size:9.5px;font-weight:600;cursor:pointer;padding:6px 2px;min-width:0}
  .mnav-item svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .mnav-item.active{color:var(--bl)}
  .mnav-fab{flex:0 0 auto;width:52px;height:52px;border-radius:50%;background:var(--bl);border:none;color:#fff;display:flex;align-items:center;justify-content:center;margin-top:-22px;box-shadow:0 6px 18px rgba(12,29,225,.4);cursor:pointer}
  .mnav-fab:active{transform:scale(.93)}
  .mnav-fab svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
  .mcontent{padding-bottom:78px !important}
  /* Pipeline solo para quien lo tiene permitido; si aparece, Clientes cede su lugar */
  .mnav-item.atab-item{display:none}
  .mnav-item.atab-item.show{display:flex}
  .mnav-item.atab-item.show ~ .mnav-cli-alt{display:none}
  /* Objetivos tactiles mas comodos en movil */
  .led-etapa{padding:7px 13px;font-size:11.5px}
  .led-btn{padding:11px 10px;font-size:12px}
  .filter-bar .btn{padding:9px 13px !important;font-size:12px !important}
}

/* EDIT MODAL */
.edit-modal{display:none;position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.6);align-items:flex-end;justify-content:center;padding:0}
.edit-modal.show{display:flex}
.edit-modal-inner{background:var(--card);border-radius:16px 16px 0 0;padding:20px;width:100%;max-width:500px;max-height:85vh;overflow-y:auto}
.edit-modal-title{font-size:15px;font-weight:700;color:var(--bl);margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}
.edit-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--ink3)}
/* USER MANAGEMENT */
.user-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--bd);flex-wrap:wrap}
.user-row:last-child{border-bottom:none}
.user-avatar{width:36px;height:36px;border-radius:50%;background:var(--bl);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}
.user-info{flex:1;min-width:80px}
.user-name{font-size:13px;font-weight:600;color:var(--ink)}
.user-id{font-size:11px;color:var(--ink3)}
.user-actions{display:flex;gap:5px}
.ubtn{font-size:11px;font-weight:600;padding:5px 10px;border-radius:7px;border:none;cursor:pointer;font-family:'Poppins',sans-serif}
.ubtn-edit{background:rgba(12,29,225,.08);color:var(--bl)}
.ubtn-del{background:#fee;color:#c0392b}
.ubtn-off{background:rgba(253,99,1,.1);color:var(--or)}
/* INLINE EDIT BUTTONS */
.rec-edit-btn{font-size:10px;font-weight:600;padding:3px 8px;border-radius:6px;background:rgba(12,29,225,.08);color:var(--bl);border:1px solid rgba(12,29,225,.2);cursor:pointer;font-family:'Poppins',sans-serif;white-space:nowrap}
.rec-edit-btn:hover{background:var(--bl);color:#fff}
.rec-del-btn{font-size:10px;font-weight:600;padding:3px 8px;border-radius:6px;background:#fee;color:#c0392b;border:1px solid #fcc;cursor:pointer;font-family:'Poppins',sans-serif}

/* AVATAR */
.avatar{width:32px;height:32px;border-radius:50%;background:var(--or);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;text-transform:uppercase;border:2px solid rgba(255,255,255,.3)}

@media(max-width:480px){
  .hbar{padding:0 8px;gap:4px}
  .search-wrap{display:none}
  .hrole{display:none}
  .dm-toggle{font-size:15px;padding:3px 5px}
  .hout{font-size:10px;padding:3px 7px}
  .avatar{width:28px;height:28px;font-size:12px}
  #sync-status{display:none !important}
  #notif-btn{display:none !important}
}
@media(min-width:481px) and (max-width:700px){
  .search-wrap{max-width:140px}
  
}

.wb[contenteditable="true"]{outline:none;cursor:text;border:1.5px solid transparent;transition:border .15s;border-radius:0 11px 11px 11px}
.wb[contenteditable="true"]:focus{border-color:#25D366;background:#e8fde8}
.wb-tip{font-size:10px;color:var(--ink3);font-style:italic;margin-top:3px}

/* NOTIFICATION DOT */
.notif-dot{position:absolute;top:8px;right:6px;width:8px;height:8px;border-radius:50%;background:#c0392b;display:none}
.notif-dot.show{display:block}
.sitem{position:relative}

/* RECORDATORIOS */
.rec-wrap{margin-bottom:14px}
.rec-card{background:#fff8e1;border:1.5px solid #ffc107;border-radius:10px;padding:12px 14px;margin-bottom:8px;display:flex;align-items:flex-start;gap:10px}
.rec-icon{font-size:20px;flex-shrink:0;margin-top:1px}
.rec-body{flex:1;min-width:0}
.rec-title{font-size:13px;font-weight:700;color:#7a4f00}
.rec-meta{font-size:11.5px;color:#a06800;margin-top:2px;line-height:1.5}
.rec-actions{display:flex;gap:6px;margin-top:7px;flex-wrap:wrap}
.rec-wa-btn{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;padding:5px 11px;border-radius:7px;background:#25D366;color:#fff;border:none;cursor:pointer;font-family:'Poppins',sans-serif}
.rec-dismiss{font-size:11px;font-weight:600;padding:5px 10px;border-radius:7px;background:rgba(0,0,0,.06);color:#7a4f00;border:none;cursor:pointer;font-family:'Poppins',sans-serif}
/* CREAR TRABAJO BUTTON */
.crear-trabajo-btn{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:4px 10px;border-radius:7px;background:var(--gn);color:#fff;border:none;cursor:pointer;font-family:'Poppins',sans-serif;margin-left:4px}
.crear-trabajo-btn:hover{background:#145a36}

/* EMBUDO */
.funnel-wrap{margin:12px 0}
.funnel-step{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.funnel-bar-wrap{flex:1;background:var(--bd);border-radius:6px;height:28px;overflow:hidden;position:relative;min-width:140px}
.funnel-bar{height:28px;border-radius:6px;display:flex;align-items:center;padding:0 10px;transition:width .5s ease;min-width:30px}
.funnel-label{font-size:12px;font-weight:600;color:#fff;white-space:nowrap}
.fn-delta{display:inline-block;font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:9px;margin-top:3px;letter-spacing:.02em}
.fn-delta.up{background:#EAF5EF;color:var(--gn)}
.fn-delta.down{background:#FDECEA;color:#B71C1C}
.fn-delta.flat{background:rgba(0,0,0,.04);color:var(--ink3)}
.funnel-count{font-size:13px;font-weight:700;color:var(--ink);min-width:30px;text-align:right}
.funnel-pct{font-size:10px;color:var(--ink3);min-width:36px;text-align:right}
.funnel-arrow{font-size:14px;color:var(--ink3);text-align:center;margin:0 0 4px 40px}
/* HEADER ADMIN BADGE */
#admin-mes-badge{display:none;background:rgba(253,99,1,.9);color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;white-space:nowrap}

.qft-icon{display:inline-flex;align-items:center;gap:4px;color:#fff;font-size:10px;font-weight:600}
.qft-icon .ico{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;flex-shrink:0}
.ico-wa{background:#25D366}
.ico-em{background:rgba(255,255,255,.25)}
.ico-ig{background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}
.ico-fb{background:#1877F2}

/* SVG SIDEBAR ICONS */
.sitem .ico{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0}
.sitem .ico svg{width:20px;height:20px;display:block;color:var(--bl);opacity:.55;transition:opacity .15s}
.sitem.active .ico svg{color:var(--bl);opacity:1}
.sitem:hover .ico svg{color:var(--bl);opacity:1}
.sitem.active{background:rgba(12,29,225,.07)}

/* PERM USER TABS */
.perm-tab{padding:6px 14px;border-radius:20px;border:1.5px solid var(--bd);background:var(--cr);font-family:'Poppins',sans-serif;font-size:12px;font-weight:600;cursor:pointer;color:var(--ink2);transition:all .15s}
.perm-tab.active{background:var(--bl);color:#fff;border-color:var(--bl)}
.perm-tab:hover:not(.active){border-color:var(--bl);color:var(--bl)}
.foto-btn-row{display:flex;gap:8px;flex-wrap:wrap}

/* ICONOS DE SECCION (SVG monocromo, sin emojis) */
.sec-ico{display:inline-flex;width:19px;height:19px;color:var(--or);flex-shrink:0}
.sec-ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.empty-ico{width:38px;height:38px;margin:0 auto 10px;color:var(--ink3);opacity:.55}
.empty-ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.hoy-hdr-ico{display:inline-flex;width:13px;height:13px;color:var(--or);margin-right:5px;vertical-align:-1px}
.hoy-hdr-ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* LEADS */
.led-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
@media(max-width:700px){.led-list{grid-template-columns:1fr}}
.led-card{background:var(--card);border:1px solid var(--bd);border-radius:var(--rd);padding:13px 14px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:8px}
.led-card.vencido{border-left:3px solid #c0392b}
.led-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.led-nom{font-size:14px;font-weight:700;color:var(--ink)}
.led-meta{font-size:11.5px;color:var(--ink2)}
.led-meta .sep{color:var(--ink3);margin:0 4px}
.led-nota{font-size:12px;color:var(--ink2);background:var(--cr);border-radius:8px;padding:6px 9px}
.led-prox{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:10px;white-space:nowrap}
.led-prox.ok{background:var(--gnb);color:var(--gn)}
.led-prox.hoy{background:#FFF1E6;color:#B45309}
.led-prox.venc{background:#FDEDEC;color:#c0392b}
.led-etapas{display:flex;flex-wrap:wrap;gap:5px}
.led-etapa{font-size:10.5px;font-weight:700;padding:4px 10px;border-radius:999px;border:1.5px solid var(--bd);color:var(--ink2);cursor:pointer;background:var(--card);font-family:'Poppins',sans-serif}
.led-etapa.on{color:#fff;border-color:transparent}
.led-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.led-btn{flex:1;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px 10px;border-radius:8px;border:1.5px solid var(--bd);background:var(--card);color:var(--ink2);font-size:11.5px;font-weight:700;cursor:pointer;font-family:'Poppins',sans-serif;white-space:nowrap}
.led-btn.wa{border-color:#25D366;color:#128C4B}
.led-btn.cot{border-color:var(--bl);color:var(--bl)}
.led-btn:hover{background:var(--cr)}

/* ══ OVERRIDES MOVILES DEL HEADER ══
   Al FINAL del archivo para ganar a las reglas base (misma especificidad,
   ultima gana). El badge necesita !important porque updateAdminBadge le
   pone display inline desde JS. */
@media(max-width:700px){
  .hbar{gap:4px}
  .hlogo{max-width:136px;height:26px}
  .huser{gap:3px;margin-left:auto}
  .dm-toggle{padding:4px 5px}
  .hout{flex-shrink:0;padding:4px 9px;font-size:10.5px}
}
@media(max-width:480px){
  #admin-mes-badge{display:none !important}
  #help-btn{display:none !important} /* la Guia de venta vive en el menu (Herramientas) */
}

/* ══ NOTAS / RECORDATORIOS DEL CALENDARIO ══ */
.cal-dot.dot-nota{background:#FFF1E6;color:#B45309;border:1px solid #F6C99F}
[data-theme="dark"] .cal-dot.dot-nota{background:#3a2a1a;color:#f0b070;border-color:#5a4020}
.nota-card{display:flex;align-items:flex-start;gap:8px;background:#FFF9F2;border:1px solid #F6DECF;border-radius:10px;padding:10px 12px;margin-top:8px}
[data-theme="dark"] .nota-card{background:#2e2618;border-color:#4a3a20}
.nota-pin{font-size:14px;flex-shrink:0}
.nota-txt{flex:1;font-size:12.5px;color:var(--ink);line-height:1.45;word-break:break-word}
.nota-autor{font-size:10.5px;color:var(--ink3)}
.nota-del{background:none;border:none;color:var(--ink3);cursor:pointer;font-size:13px;padding:2px 4px;flex-shrink:0;border-radius:6px}
.nota-del:hover{color:#c0392b;background:#FDECEA}
.nota-form{display:flex;gap:7px;margin-top:10px}
.nota-form input{flex:1;min-width:0;padding:10px 12px;border:1.5px solid var(--bd);border-radius:9px;font-family:'Poppins',sans-serif;font-size:13px;color:var(--ink);background:var(--cr);outline:none}
.nota-form input:focus{border-color:var(--or);background:var(--card)}

/* ══ MEDIDAS DE VISITA (levantamientos) ══ */
.med-card{padding:0;overflow:hidden}
.med-head{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer}
.med-head:hover{background:var(--cr)}
.med-nom{font-size:14.5px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.med-meta{font-size:11.5px;color:var(--ink3);margin-top:2px}
.med-caret{color:var(--ink3);font-size:11px;flex-shrink:0}
.med-badge{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:10px;background:var(--cr);color:var(--ink3);border:1px solid var(--bd)}
.med-badge.ok{background:var(--gnb);color:var(--gn);border-color:transparent}
.med-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.med-chip{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--cr);color:var(--ink2);border:1px solid var(--bd)}
.med-chip.tot{background:var(--bl);color:#fff;border-color:transparent}
.med-body{border-top:1px solid var(--bd);padding:12px 16px 14px}
.med-row{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px dashed var(--bd)}
.med-num{width:22px;height:22px;border-radius:50%;background:var(--bl);color:#fff;font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.med-row-main{flex:1;min-width:0}
.med-row-nom{font-size:13px;font-weight:700;color:var(--ink)}
.med-row-det{font-size:11.5px;color:var(--ink2);margin-top:1px}
.med-row-notas{color:var(--ink3);font-style:italic}
.med-row-btns{display:flex;gap:4px;flex-shrink:0}
.med-row-btns button{width:28px;height:28px;border:1.5px solid var(--bd);border-radius:7px;background:var(--card);color:var(--ink2);cursor:pointer;font-size:12px;font-family:'Poppins',sans-serif}
.med-row-btns button:hover{border-color:var(--bl);color:var(--bl)}
.med-row-btns button.del:hover{border-color:#c0392b;color:#c0392b;background:#FDECEA}
.med-form{display:flex;flex-direction:column;gap:7px;margin-top:12px;background:var(--cr);border-radius:10px;padding:11px}
.med-form input,.med-form select{min-width:0;max-width:100%;box-sizing:border-box;padding:9px 11px;border:1.5px solid var(--bd);border-radius:8px;font-family:'Poppins',sans-serif;font-size:13px;color:var(--ink);background:var(--card);outline:none}
.med-form input:focus,.med-form select:focus{border-color:var(--bl)}
.med-form-nums{display:flex;align-items:center;gap:6px}
.med-form-nums input{flex:1;min-width:0}
.med-form-nums span{font-size:11px;color:var(--ink3);font-weight:700;flex-shrink:0}
.med-foot{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
