@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--bg:#080b0d;--panel:#111519;--panel2:#171c21;--text:#f5f7f8;--muted:#9da6ad;--accent:#a8e600;--line:#293038}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header,.admin-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px 5vw;background:rgba(8,11,13,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.12em}.brand img{width:46px;height:46px;border-radius:50%;object-fit:cover}.site-header nav{display:flex;align-items:center;gap:24px}.cart-button,.icon-button{border:0;background:var(--panel2);color:var(--text);padding:11px 15px;border-radius:12px}.cart-button span{background:var(--accent);color:#101400;border-radius:999px;padding:2px 7px;margin-left:6px}.hero{min-height:72vh;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:5vw;padding:70px 7vw;background:radial-gradient(circle at 75% 35%,rgba(168,230,0,.12),transparent 28%)}.hero h1{font-size:clamp(3rem,7vw,6.5rem);line-height:.95;margin:.2em 0}.hero p{color:var(--muted);font-size:1.1rem;max-width:640px;line-height:1.7}.hero-logo img{width:min(430px,100%);border-radius:50%;box-shadow:0 0 80px rgba(168,230,0,.12)}.eyebrow,.category{font-size:.75rem;letter-spacing:.18em;color:var(--accent);font-weight:800}.btn{border:1px solid transparent;border-radius:12px;padding:12px 18px;font-weight:700;cursor:pointer}.btn-primary{background:var(--accent);color:#101400}.btn-secondary{background:var(--panel2);color:var(--text);border-color:var(--line)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-block{width:100%}.catalog-section,.admin-main{padding:70px 5vw}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.section-heading h2{font-size:2.2rem;margin:.2em 0}.filters{display:flex;gap:10px}.filters input,.filters select,.customer-form input,.customer-form select,.customer-form textarea,.settings-panel input,dialog input,dialog textarea{background:var(--panel);color:var(--text);border:1px solid var(--line);padding:13px;border-radius:10px}.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden}.product-card>img{width:100%;aspect-ratio:1/1;object-fit:cover}.product-content{padding:18px}.product-content h3{margin:.5em 0}.product-content p{color:var(--muted);min-height:48px}.stock{font-size:.85rem;color:#8dd98d}.stock.low{color:#ffd166}.product-footer{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:40px 5vw 90px}.steps article{background:var(--panel);padding:28px;border-radius:18px;border:1px solid var(--line)}.steps strong{font-size:2.5rem;color:var(--accent)}.steps p{color:var(--muted)}footer{display:flex;align-items:center;gap:20px;padding:30px 5vw;border-top:1px solid var(--line);color:var(--muted)}footer img{width:58px;height:58px;border-radius:50%}footer a{margin-left:auto;color:var(--accent)}.cart-drawer{position:fixed;right:0;top:0;height:100vh;width:min(460px,100%);background:var(--panel);z-index:40;padding:24px;transform:translateX(105%);transition:.25s;overflow:auto}.cart-drawer.open{transform:none}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:30;display:none}.overlay.show{display:block}.cart-header{display:flex;justify-content:space-between}.icon-button{font-size:1.6rem}.cart-item{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.cart-item span{display:block;color:var(--muted);font-size:.85rem}.qty{display:flex;align-items:center;gap:8px}.qty button{background:var(--panel2);border:1px solid var(--line);color:var(--text);width:30px;height:30px;border-radius:8px}.customer-form{display:grid;gap:10px;margin:25px 0}.customer-form textarea{min-height:90px}.cart-summary>div{display:flex;justify-content:space-between;font-size:1.2rem;margin-bottom:14px}.cart-summary small{display:block;color:var(--muted);line-height:1.5;margin-top:10px}.age-gate{position:fixed;inset:0;z-index:100;background:rgba(3,5,6,.96);display:grid;place-items:center;padding:20px}.age-gate.hidden{display:none}.age-card{max-width:540px;text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:35px}.age-card img{width:130px;border-radius:50%}.age-card p{color:var(--muted)}.age-actions{display:flex;gap:10px;justify-content:center}.blocked{min-height:100vh;display:grid;place-content:center;text-align:center}.admin-body{background:#0b0e11}.admin-main{display:grid;gap:24px}.admin-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.admin-summary article,.admin-panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px}.admin-summary span{color:var(--muted)}.admin-summary strong{display:block;font-size:2.5rem;margin-top:8px}.orders-list{display:grid;gap:14px}.order-card{background:var(--panel2);border:1px solid var(--line);padding:18px;border-radius:14px}.order-top{display:flex;justify-content:space-between}.order-top h3{margin:.3em 0}.order-top p,.inventory-row span{color:var(--muted)}.order-actions{display:flex;gap:10px}.inventory-list{display:grid;gap:10px}.inventory-row{display:grid;grid-template-columns:60px 1fr 120px 90px auto;gap:15px;align-items:center;background:var(--panel2);padding:12px;border-radius:12px}.inventory-row img{width:58px;height:58px;object-fit:cover;border-radius:10px}.inventory-row label{font-size:.75rem;color:var(--muted)}.inventory-row input{width:100%;margin-top:5px;background:var(--bg);color:var(--text);border:1px solid var(--line);padding:8px;border-radius:8px}.settings-panel{max-width:700px}.settings-panel label{display:grid;gap:8px;color:var(--muted)}.settings-panel .btn{margin-top:14px}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:18px;width:min(520px,90vw)}dialog::backdrop{background:rgba(0,0,0,.7)}dialog form{display:grid;gap:12px}dialog label{display:grid;gap:6px;color:var(--muted)}.checkbox{display:flex!important;grid-template-columns:auto 1fr;align-items:center}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}
@media(max-width:900px){.products-grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr}.hero-logo{display:none}.inventory-row{grid-template-columns:50px 1fr 90px}.inventory-row .status{display:none}.steps{grid-template-columns:1fr}.site-header nav>a{display:none}}
@media(max-width:560px){.products-grid{grid-template-columns:1fr}.section-heading,.filters{align-items:stretch;flex-direction:column}.hero{padding:50px 5vw}.hero h1{font-size:3.2rem}.admin-summary{grid-template-columns:1fr}.inventory-row{grid-template-columns:45px 1fr}.inventory-row label,.inventory-row button{grid-column:2}.site-header nav{gap:8px}.age-actions{flex-direction:column}}

.demo-banner{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 14px;background:#a8e600;color:#101400;font-weight:800;text-align:center}.demo-banner span{font-size:.72rem;letter-spacing:.16em}.demo-banner small{font-size:.75rem;font-weight:600;opacity:.8}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.hero-actions .btn{display:inline-flex;align-items:center;justify-content:center}.btn,.cart-button,.icon-button,.qty button{min-height:44px}.btn:focus-visible,.cart-button:focus-visible,.icon-button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(168,230,0,.55);outline-offset:3px}.product-card,.steps article,.admin-panel,.admin-summary article{box-shadow:0 14px 40px rgba(0,0,0,.18)}
@media(max-width:560px){.demo-banner{align-items:flex-start;flex-direction:column;gap:2px}.hero{min-height:auto;padding-top:44px;padding-bottom:54px}.hero h1{font-size:clamp(2.8rem,15vw,4rem)}.hero p{font-size:1rem}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .btn{width:100%}.site-header{padding:10px 4vw}.brand span{font-size:.9rem}.brand img{width:40px;height:40px}.catalog-section,.admin-main{padding:48px 4vw}.cart-drawer{padding:18px}.product-content p{min-height:auto}.product-footer{align-items:flex-end}.product-footer .btn{padding-inline:16px}footer{align-items:flex-start;flex-wrap:wrap}footer a{width:100%;margin-left:78px}}

/* Acceso administrativo demostrativo */
.admin-login{min-height:100svh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 15%,rgba(168,230,0,.12),transparent 30%),var(--bg)}
.admin-login[hidden],#adminApp[hidden]{display:none!important}
.login-card{width:min(430px,100%);display:grid;gap:16px;padding:32px;background:rgba(17,21,25,.96);border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.42)}
.login-logo{width:92px;height:92px;object-fit:cover;border-radius:50%;margin:0 auto 4px;box-shadow:0 0 38px rgba(168,230,0,.16)}
.login-card h1{margin:0;text-align:center;font-size:clamp(1.8rem,7vw,2.4rem)}
.login-card .eyebrow{text-align:center;margin:0}
.login-description{margin:0 0 6px;color:var(--muted);text-align:center;line-height:1.55}
.login-card label{display:grid;gap:7px;color:var(--muted);font-size:.9rem}
.login-card input{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--line);padding:13px;border-radius:10px}
.login-error{min-height:20px;margin:0;color:#ff8f8f;font-size:.9rem;text-align:center}
.login-back{display:flex;align-items:center;justify-content:center;text-align:center}
.login-notice{display:block;color:var(--muted);text-align:center;line-height:1.45}
.admin-header-actions{display:flex;gap:10px;align-items:center}
@media(max-width:620px){.login-card{padding:25px 20px}.admin-header{align-items:flex-start;gap:12px}.admin-header-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.admin-header{flex-wrap:wrap}.admin-header-actions .btn{padding-inline:10px;font-size:.82rem}}
