:root{--verde:#14352a;--ocre:#b89a5a;--gris:#2b2f2c;--fondo:#ffffff;--suave:#f3f4f1;--borde:#d9ddd6}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Inter,Roboto,Arial,sans-serif;color:var(--gris);background:var(--fondo);line-height:1.55}
.wrap{max-width:46rem;margin:0 auto;padding:0 1rem}
.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:99;outline:3px solid var(--ocre)}
.topbar{background:var(--verde);color:#fff}.topbar-in{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem;flex-wrap:wrap}
.marca{color:#fff;text-decoration:none;font-weight:700}.marca .demo{font-weight:400;opacity:.8}
.topbar nav a{color:#fff;margin-left:.9rem;font-size:.95rem}
h1{font-size:1.6rem;line-height:1.25;color:var(--verde)}h2{font-size:1.2rem;color:var(--verde);margin-top:2rem}
.lede{font-size:1.05rem}.cards{list-style:none;padding:0;display:grid;gap:.6rem}@media(min-width:600px){.cards{grid-template-columns:1fr 1fr 1fr}}
.cards li{background:var(--suave);border:1px solid var(--borde);border-radius:.6rem;padding:.8rem}
label{display:block;margin:.8rem 0}input,select,textarea{width:100%;padding:.6rem;border:1px solid #9aa39c;border-radius:.4rem;font:inherit;background:#fff;color:#111}
input:focus,select:focus,textarea:focus,button:focus,a:focus{outline:3px solid var(--ocre);outline-offset:2px}
fieldset{border:1px solid var(--borde);border-radius:.5rem;margin:1rem 0;padding:1rem}
.btn,.btn-sec{display:inline-block;padding:.65rem 1.1rem;border-radius:.5rem;text-decoration:none;border:1px solid var(--verde);cursor:pointer;font:inherit}
.btn{background:var(--verde);color:#fff}.btn-sec{background:#fff;color:var(--verde)}
.fila{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem}
table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.95rem}th,td{border:1px solid var(--borde);padding:.5rem;text-align:left}th{background:var(--suave)}
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin:1rem 0}.stats div{background:var(--suave);border-radius:.5rem;padding:.6rem;text-align:center}.stats strong{display:block;font-size:1.3rem;color:var(--verde)}.stats span{font-size:.8rem}
.error{background:#fdecec;border:1px solid #e5a09f;border-radius:.5rem;padding:.8rem}
pre{background:var(--suave);padding:.8rem;white-space:pre-wrap;border-radius:.5rem;border:1px solid var(--borde)}
code{background:var(--suave);padding:.1rem .3rem;border-radius:.3rem;word-break:break-all}
.tarjeta{display:flex;gap:1rem;border:1px solid var(--borde);border-radius:.7rem;padding:1rem;background:#fff}.tarjeta img{border-radius:50%;object-fit:cover}.iniciales{width:80px;height:80px;border-radius:50%;background:var(--verde);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;flex:none}
.pasos{display:flex;gap:.5rem;margin:1rem 0}.pasos span{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--borde);border-radius:50%}.pasos .on{background:var(--verde);color:#fff}
.inline-form{border:1px solid var(--borde);border-radius:.6rem;padding:1rem;margin:1rem 0;background:#fcfdfb}
.flash{list-style:none;padding:0}.flash li{background:#eef6ee;border:1px solid #9cc49c;padding:.6rem;border-radius:.4rem}
.pie{margin-top:3rem;border-top:1px solid var(--borde);padding:1rem;font-size:.85rem;color:#555}
.check{display:flex;gap:.5rem;align-items:flex-start}.check input{width:auto}
@media(max-width:500px){.stats{grid-template-columns:repeat(2,1fr)}h1{font-size:1.35rem}}
