:root{--azul:#4FB3E8;--azul-osc:#2B8FC4;--negro:#000;--gris:#6B7280;--gris-cl:#F1F3F5;--borde:#D9DDE1;--blanco:#fff}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--negro);background:var(--gris-cl);line-height:1.5}
a{color:var(--azul-osc)}
.top{background:var(--negro);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.8rem 1.5rem;border-bottom:4px solid var(--azul)}
.brand{color:var(--blanco);font-weight:800;font-size:1.4rem;text-decoration:none;letter-spacing:.5px}
.brand span{color:var(--azul)}
.top nav{display:flex;flex-wrap:wrap;gap:1.1rem;align-items:center}
.top nav a{color:var(--blanco);text-decoration:none}
.top nav a:hover,.top nav a:focus-visible{color:var(--azul)}
.who{color:#bbb;font-size:.9rem}.who em{color:var(--azul);font-style:normal;margin-left:.3rem}
.btn-out{border:1px solid var(--azul);padding:.2rem .7rem;border-radius:6px}
.wrap{max-width:1100px;margin:2rem auto;padding:0 1.2rem;min-height:60vh}
.foot{text-align:center;color:var(--gris);padding:1.5rem;font-size:.85rem}
h1{margin:.2rem 0 1rem}
.hero{background:var(--negro);color:var(--blanco);padding:4rem 2rem;border-radius:12px;border-left:8px solid var(--azul)}
.hero h1{font-size:2.4rem;max-width:18ch}.hero p{color:#ccc;max-width:55ch}
.card{background:var(--blanco);border:1px solid var(--borde);border-radius:10px;padding:1.4rem;margin-bottom:1.5rem}
.narrow{max-width:420px;margin:2rem auto}
label{display:block;font-size:.9rem;font-weight:600;margin-bottom:.9rem}
input,select,textarea{display:block;width:100%;margin-top:.3rem;padding:.55rem .7rem;border:1px solid var(--borde);border-radius:6px;font:inherit;background:var(--blanco)}
input:focus,select:focus,textarea:focus,.btn:focus-visible{outline:3px solid var(--azul);outline-offset:1px}
.row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem}
.btn{display:inline-block;background:var(--azul);color:var(--negro);border:0;padding:.6rem 1.2rem;border-radius:6px;font-weight:700;cursor:pointer;text-decoration:none;font-size:1rem}
.btn:hover{background:var(--azul-osc);color:var(--blanco)}
.btn.alt{background:var(--blanco);border:1px solid var(--gris);color:var(--negro)}
.btn.alt:hover{background:var(--gris-cl)}
.btn.dark{background:var(--negro);color:var(--blanco)}
.btn.sm{padding:.3rem .7rem;font-size:.85rem}
.alert{background:#fff;border-left:5px solid var(--negro);padding:.7rem 1rem;border-radius:6px}
.muted{color:var(--gris);font-size:.9rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin:1.2rem 0}
.stat{background:var(--blanco);border:1px solid var(--borde);border-top:4px solid var(--azul);border-radius:10px;padding:1.2rem}
.stat b{display:block;font-size:2rem}.stat span{color:var(--gris)}
.scroll{overflow-x:auto;background:var(--blanco);border:1px solid var(--borde);border-radius:10px}
table{width:100%;border-collapse:collapse}
th{background:var(--negro);color:var(--blanco);text-align:left;padding:.7rem}
td{padding:.7rem;border-top:1px solid var(--borde);vertical-align:middle}
tr:hover td{background:#f7fbfe}
.acts{flex-wrap:wrap;display:flex;gap:.4rem;align-items:center}
.inline,.acts form{display:inline-flex;gap:.3rem;margin:0}
.qty{width:4.5rem;margin:0}
.tag{background:var(--azul);padding:.15rem .6rem;border-radius:20px;font-size:.85rem;font-weight:600}
@media(max-width:700px){.row{grid-template-columns:1fr}.hero h1{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
