/* GEMO Admin — Taller CMYK. Usa tokens de styles.css (:root). */
body.admin{background:var(--paper)}

/* LOGIN */
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1.5rem;position:relative;overflow:hidden}
.login-wrap::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,var(--ink) 1px,transparent 1px);background-size:14px 14px;opacity:.05}
.login-card{background:#fff;border:2px solid var(--ink);border-radius:12px;padding:2.2rem;width:100%;max-width:380px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.7rem;text-align:center;position:relative;z-index:1}
.login-card .logo{font-size:2rem;color:var(--ink)}
.login-card h1{font-family:var(--head);font-size:1.25rem;font-weight:700;text-transform:uppercase;margin-top:.3rem}
.login-card .muted{margin-bottom:.6rem;font-family:var(--mono);font-size:.8rem}
.login-card .inp{text-align:center}
.login-err{color:var(--magenta);font-family:var(--mono);font-weight:700;font-size:.85rem;margin-top:.3rem}

/* DASHBOARD */
.dash{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
.side{background:var(--ink);color:#cfd0d4;display:flex;flex-direction:column;padding:1.3rem 1rem;position:sticky;top:0;height:100vh}
.side-brand{display:flex;align-items:baseline;gap:.5rem;padding:.3rem .5rem 1.2rem}
.side-brand .logo{color:#fff;font-size:1.5rem}
.side-brand small{font-family:var(--mono);color:var(--magenta);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.62rem}
.side-nav{display:flex;flex-direction:column;gap:.25rem;flex:1}
.snav{display:flex;align-items:center;gap:.55rem;background:0;border:0;color:#cfd0d4;font-family:var(--label);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;text-align:left;padding:.7rem .8rem;cursor:pointer;transition:background .12s,color .12s}
.snav:hover{background:rgba(255,255,255,.08);color:#fff}
.snav.active{background:var(--magenta);color:#fff}
.side-foot{display:flex;flex-direction:column;gap:.5rem;border-top:2px solid rgba(255,255,255,.15);padding-top:1rem;font-family:var(--mono);font-size:.8rem}
.side-foot a{color:#cfd0d4}.side-foot a:hover{color:var(--yellow)}
.side-foot button{background:0;border:2px solid rgba(255,255,255,.25);color:#cfd0d4;padding:.5rem;cursor:pointer;font-family:var(--label);font-weight:800;text-transform:uppercase;font-size:.72rem}
.side-foot button:hover{border-color:#fff;color:#fff}

.content{padding:1.8rem 2rem;max-width:1000px}
.content-head{display:flex;align-items:center;gap:1rem;margin-bottom:.4rem}
.content-head h2{font-family:var(--head);font-size:1.5rem;font-weight:700;text-transform:uppercase}
.saved-tag{font-family:var(--mono);font-size:.75rem;font-weight:700;color:#0a8f43;background:#e4f8ec;border:2px solid #0a8f43;padding:.25rem .6rem}
.note{background:#fff;border:2px solid var(--ink);border-left:6px solid var(--yellow);padding:.7rem 1rem;font-family:var(--mono);font-size:.8rem;color:var(--ink2);margin-bottom:1.4rem}

.card{background:#fff;border:2px solid var(--ink);border-radius:12px;padding:1.2rem 1.3rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}
.card h4{font-family:var(--head);font-size:1rem;font-weight:700;text-transform:uppercase;margin-bottom:.9rem;display:flex;align-items:baseline;gap:.5rem}
.card h4 small{font-family:var(--mono);font-weight:400;color:var(--muted);text-transform:none;font-size:.72rem}
.grid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.8rem}
.grid3{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem}
label.fldlbl{display:flex;flex-direction:column;gap:.25rem;font-family:var(--mono);font-size:.76rem;font-weight:700;color:var(--ink);text-transform:uppercase}
label.fldlbl span{font-weight:400;color:var(--muted);font-size:.68rem;text-transform:none}
.ain{padding:.5rem .65rem;border:2px solid var(--ink);border-radius:0;font-family:var(--mono);font-size:.9rem;width:100%;color:var(--magenta);font-weight:700}
.ain:focus{outline:0;box-shadow:2px 2px 0 var(--cyan)}
.row-inline{display:flex;align-items:center;gap:.6rem;padding:.45rem 0;border-bottom:1px dashed var(--ink)}
.row-inline .rl{flex:1;font-family:var(--mono);font-size:.84rem;font-weight:700}
.row-inline .ain{max-width:130px}

.savebar{position:sticky;bottom:0;background:linear-gradient(transparent,var(--paper) 40%);padding:1rem 0 .3rem;margin-top:.5rem}
.tiers{margin-top:.6rem}
.tier-row{display:grid;grid-template-columns:1fr 130px;gap:.6rem;align-items:center;padding:.35rem 0;border-bottom:1px dashed var(--ink);font-family:var(--mono);font-size:.82rem}

/* leads — hoja de taller */
.leads-table{width:100%;border-collapse:collapse;background:#fff;border:2px solid var(--ink);font-size:.84rem;box-shadow:var(--shadow-sm)}
.leads-table th{background:var(--ink);color:#fff;text-align:left;padding:.7rem .8rem;font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}
.leads-table td{padding:.7rem .8rem;border-bottom:1px solid var(--soft);vertical-align:top}
.leads-table tr:hover td{background:var(--paper)}
.leads-empty{background:#fff;border:2px dashed var(--ink);padding:2.5rem;text-align:center;font-family:var(--mono);color:var(--muted)}
.lead-total{font-family:var(--mono);font-weight:700;color:var(--magenta);white-space:nowrap}

@media(max-width:760px){
  .dash{grid-template-columns:1fr}
  .side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center}
  .side-brand{padding:0 .5rem 0 0}
  .side-nav{flex-direction:row;flex-wrap:wrap}
  .side-foot{flex-direction:row;border:0;padding:0}
  .content{padding:1.2rem}
}
