@font-face{font-family:'Fraunces';font-weight:100 900;font-display:swap;src:url(fonts/fraunces-latin-opsz-normal.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-weight:100 900;font-display:swap;src:url(fonts/outfit-latin-wght-normal.woff2) format('woff2')}
:root{--cream:#F8F4EC;--cream2:#F0EADF;--paper:#FFFDF8;--ink:#26273F;--ink2:#45476A;--muted:#5E5A70;--deep:#2C2E4E;--lav:#8E8BBE;--teal:#87B7BD;--sage:#A3B982;--line:rgba(38,39,63,.12);--ok:#3f7a52;--warn:#a8761f;--err:#b4413a;--sh:0 24px 50px -30px rgba(38,39,63,.4)}
*{box-sizing:border-box;margin:0;padding:0}
body{font:400 15px/1.55 'Outfit',system-ui,sans-serif;background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:600;letter-spacing:-.01em;line-height:1.15}
a{color:var(--ink);text-underline-offset:3px}a:hover{color:#6b68a3}
:focus-visible{outline:3px solid var(--lav);outline-offset:2px;border-radius:6px}
.defs{position:absolute}.menu-t{position:absolute;opacity:0;pointer-events:none}
/* acceso */
.solo{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(120% 90% at 85% -10%,rgba(142,139,190,.3),transparent 55%),radial-gradient(90% 80% at 0% 105%,rgba(135,183,189,.22),transparent 60%),var(--cream)}
.login{width:min(420px,100%);background:var(--paper);border:1px solid var(--line);border-radius:26px;box-shadow:var(--sh);padding:34px 30px 26px;position:relative;overflow:hidden}
.login::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--lav),var(--teal),var(--sage))}
.login .logo{display:block;margin:6px auto 12px}.login h1{text-align:center;font-size:1.7rem;margin-bottom:6px}
.login .sub{color:var(--muted);font-size:.92rem;margin:8px 0 16px;text-align:center}.login .pie{margin-top:18px;text-align:center;font-size:.8rem;color:var(--muted)}
.login form{display:grid;gap:14px;margin-top:14px}
label{display:grid;gap:6px;font-size:.88rem;font-weight:500}
input,select{font:inherit;color:var(--ink);background:var(--cream);border:1.5px solid transparent;border-radius:12px;padding:11px 14px;min-height:46px;width:100%}
input:focus,select:focus{outline:0;background:#fff;border-color:var(--lav);box-shadow:0 0 0 4px rgba(142,139,190,.2)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:500 .95rem 'Outfit',sans-serif;background:var(--ink);color:var(--cream);border:0;border-radius:100px;padding:11px 22px;min-height:44px;cursor:pointer;text-decoration:none;transition:transform .2s,background .3s,box-shadow .3s}
.btn:hover{background:#383A63;color:var(--cream);transform:translateY(-1px)}.btn.claro{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}.btn.claro:hover{background:var(--cream2);color:var(--ink)}
.btn.rojo{background:var(--err)}.btn.rojo:hover{background:#9a3630}.btn.verde{background:#1fa855}.btn.verde:hover{background:#188c46}
.aviso{padding:11px 16px;border-radius:14px;font-size:.92rem;margin-bottom:16px;background:var(--cream2);border:1px solid var(--line)}
.aviso.ok{background:#e8f2ea;border-color:#c5dfcb;color:#2d5a3b}.aviso.err{background:#f8e7e5;border-color:#ecc7c3;color:#8a2f29}.aviso.warn{background:#f6eedb;border-color:#e6d6ac;color:#7a5614}
/* estructura */
.shell{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh}
.side{background:radial-gradient(120% 80% at 90% -5%,rgba(142,139,190,.32),transparent 55%),radial-gradient(90% 70% at -10% 105%,rgba(135,183,189,.2),transparent 60%),var(--deep);color:var(--cream);padding:24px 16px;display:flex;flex-direction:column;gap:22px;position:sticky;top:0;height:100vh;overflow:auto}
.brand{display:flex;align-items:center;gap:12px;color:var(--cream);text-decoration:none;padding:0 8px}.brand span{font:600 1.15rem 'Fraunces',serif;line-height:1.1}.brand small{display:block;font:400 .75rem 'Outfit',sans-serif;color:rgba(248,244,236,.65);margin-top:3px}
.side nav{display:grid;gap:4px}.side nav a{display:flex;align-items:center;gap:12px;color:rgba(248,244,236,.82);text-decoration:none;padding:11px 14px;border-radius:14px;transition:background .25s,color .25s}
.side nav a svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.side nav a:hover{background:rgba(248,244,236,.09);color:#fff}.side nav a.on{background:linear-gradient(90deg,rgba(142,139,190,.5),rgba(135,183,189,.35));color:#fff;box-shadow:inset 0 0 0 1px rgba(248,244,236,.14)}
.salir{margin-top:auto;display:grid;gap:8px;padding:14px;border-radius:16px;background:rgba(248,244,236,.07);font-size:.85rem}.salir span{color:rgba(248,244,236,.7);overflow-wrap:anywhere}
.salir button{font:inherit;background:transparent;color:var(--cream);border:1.5px solid rgba(248,244,236,.3);border-radius:100px;padding:8px;cursor:pointer;transition:background .2s}.salir button:hover{background:rgba(248,244,236,.12)}
.top{display:flex;align-items:center;gap:14px;padding:26px clamp(18px,3vw,40px) 4px}.top h1{font-size:clamp(1.6rem,3vw,2.1rem)}.burger{display:none;cursor:pointer;width:44px;height:44px;border-radius:50%;background:var(--paper);border:1px solid var(--line);place-items:center}.burger svg{width:22px;height:22px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round}
.content{padding:14px clamp(18px,3vw,40px) 60px;display:grid;gap:18px;max-width:1280px}
/* tarjetas */
.card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:22px 24px;box-shadow:0 18px 40px -34px rgba(38,39,63,.5);min-width:0}.card h2{font-size:1.15rem;margin-bottom:14px}
.cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.kpi{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:18px 20px 16px;overflow:hidden}.kpi::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--lav)}
.kpi.k2::before{background:var(--teal)}.kpi.k3::before{background:var(--sage)}.kpi.k4::before{background:linear-gradient(var(--lav),var(--sage))}.kpi.k5::before{background:linear-gradient(var(--teal),var(--lav))}.kpi.k6::before{background:var(--err)}
.kpi small{display:block;color:var(--muted);font-size:.82rem}.kpi b{display:block;font:600 2rem 'Fraunces',serif;line-height:1.15;margin:2px 0}.kpi em{font-style:normal;font-size:.8rem;color:var(--muted)}
.up{color:var(--ok)}.dn{color:var(--err)}.d0{color:var(--muted)}
.chart{width:100%;height:auto;display:block}.chart .bg{fill:rgba(38,39,63,.05)}.chart text{font:7.5px 'Outfit',sans-serif;fill:#5E5A70}
.hb{list-style:none;display:grid;gap:10px}.hb li{display:grid;grid-template-columns:minmax(90px,32%) minmax(0,1fr) auto;gap:12px;align-items:center;font-size:.9rem}.hb svg{width:100%;height:8px}.hb .bg{fill:rgba(38,39,63,.07)}.hb b{font-weight:500;color:var(--ink2);white-space:nowrap}
.t{width:100%;border-collapse:collapse;font-size:.9rem}.t th,.t td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.t th{font-weight:600;color:var(--muted);font-size:.8rem}.t tr:last-child td{border-bottom:0}.n{text-align:right;white-space:nowrap}.scroll{overflow-x:auto}
.pills{display:flex;flex-wrap:wrap;gap:8px}.pills a{padding:8px 16px;border-radius:100px;background:var(--paper);border:1px solid var(--line);text-decoration:none;font-size:.88rem}.pills a.on{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.pill{display:inline-block;padding:3px 12px;border-radius:100px;font-size:.78rem;font-weight:500;background:var(--cream2)}
.pill.e-nuevo{background:rgba(142,139,190,.28)}.pill.e-contactado{background:rgba(135,183,189,.35)}.pill.e-visita{background:rgba(163,185,130,.4)}.pill.e-cerrado{background:#d9ead9}.pill.e-descartado{background:#e6e2da;color:var(--muted)}
.pill.c-smtp,.pill.c-mail,.pill.c-guardado,.pill.c-servidor,.pill.c-db,.pill.c-track,.pill.c-configuracion{background:#f2d6d3;color:#8a2f29}.pill.c-limite,.pill.c-robot,.pill.c-panel{background:#f2e8cc;color:#7a5614}
.vacio{color:var(--muted)}.nota{font-size:.85rem;color:var(--muted);background:var(--cream2);border-radius:14px;padding:12px 16px}.plain{list-style:none;display:grid;gap:8px}
.avisos{list-style:none;display:grid;gap:10px}.avisos li{padding:11px 14px;border-radius:14px;background:var(--cream2);border-left:4px solid var(--lav);font-size:.92rem}.avisos li.warn{border-color:#d9b24f}.avisos li.err{border-color:var(--err)}
.buscar{display:flex;flex-wrap:wrap;gap:10px}.buscar input{flex:1 1 240px;width:auto}.acciones{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.acciones form{display:inline}
.peligro{border-color:#ecc7c3}.peligro h2{color:#8a2f29}.peligro p{margin-bottom:14px;color:var(--ink2)}
.lead{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:20px 22px;display:grid;gap:14px}.lead header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.lead h3{font-size:1.15rem}.lead small{color:var(--muted)}
.lead dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.lead dt{font-size:.75rem;color:var(--muted)}.lead dd{font-weight:500}
.botones{display:flex;flex-wrap:wrap;gap:8px}.estado{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:10px}
.checks{list-style:none;display:grid;gap:10px}.checks li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start;padding:12px 14px;border-radius:16px;background:var(--cream2)}
.checks .ic{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff;background:var(--ok)}.checks .warn .ic{background:#d9a23a}.checks .err .ic{background:var(--err)}
.checks b{display:block}.checks span{color:var(--ink2);font-size:.9rem;overflow-wrap:anywhere}.checks small{display:block;color:var(--muted);margin-top:3px}
.formv{display:grid;gap:14px;max-width:420px}.pasos{display:grid;gap:10px;padding-left:20px;margin-bottom:14px}.clave{font:600 1.2rem 'Outfit',monospace;letter-spacing:.08em;background:var(--cream2);padding:12px 16px;border-radius:12px;margin-top:6px;overflow-wrap:anywhere}
.codigos{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:10px}.codigos li{font:600 1.05rem monospace;background:var(--cream2);padding:10px;border-radius:12px;text-align:center}
@media(max-width:980px){.shell{grid-template-columns:minmax(0,1fr)}.side{position:fixed;inset:0 auto 0 0;width:min(300px,86vw);z-index:50;transform:translateX(-105%);transition:transform .4s cubic-bezier(.16,1,.3,1);height:100%}.menu-t:checked+.shell .side{transform:none;box-shadow:0 0 0 100vmax rgba(38,39,63,.5)}.burger{display:grid}.cols2,.cols3{grid-template-columns:minmax(0,1fr)}.estado{grid-template-columns:minmax(0,1fr)}.hb li{grid-template-columns:minmax(80px,40%) minmax(0,1fr) auto}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
