:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#ecebe8;background:#101010;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:inherit}button,input{font:inherit}button{cursor:pointer}:focus-visible{outline:3px solid #ffd300;outline-offset:3px}.shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{background:#151515;border-right:1px solid #2b2b2b;padding:34px 19px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:11px;align-items:center;margin:0 10px 60px}.monogram{width:47px;height:47px;display:grid;place-content:center;background:#ffd300;border-radius:14px;font-size:29px;font-weight:900;color:#0b0b0b}.monogram span{color:#000}.brand strong{display:block;font-size:19px;letter-spacing:2px}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#ffd300;margin-top:3px}.nav-label{color:#a29e90;margin:0 14px 16px;font-size:10px;letter-spacing:2px;font-weight:700}.sidebar nav{display:grid;gap:4px}.sidebar nav a{display:flex;gap:13px;align-items:center;padding:13px 14px;text-decoration:none;color:#b9b9b9;font-weight:600;border-radius:12px}.sidebar nav a span{font-size:23px;width:23px;text-align:center}.sidebar nav a:hover,.sidebar nav a.active{background:#2c2b22;color:#ffe082}.sidebar-caption{margin:auto 14px 0;color:#827f79;font-size:12px}.workspace{min-width:0;display:flex;flex-direction:column}.topbar{height:77px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #292929;gap:10px}.breadcrumb{font-size:11px;color:#9c9b9a;letter-spacing:1.2px}.breadcrumb span{margin:0 10px;color:#ffd300}.breadcrumb strong{color:#fff}.mobile-title{display:none}.top-actions{display:flex;align-items:center;gap:14px}.demo-label{color:#c6b56e;background:#292719;padding:9px 12px;border-radius:30px;font-size:10px;letter-spacing:1px;font-weight:700}.avatar{background:#ffd300;color:#111;border:0;border-radius:100px;width:38px;height:38px;font-size:12px;font-weight:800}main{width:min(1080px,92%);margin:0 auto;flex:1;padding:38px 0 65px}.hero{background:radial-gradient(circle at 90% 0%,#4b3b0c 0%,transparent 52%),linear-gradient(135deg,#2b291a,#171717);min-height:295px;border:1px solid #494028;border-radius:24px;display:flex;align-items:center;padding:42px 7%;margin-bottom:38px;overflow:hidden;position:relative}.hero:after{content:"✦";font-size:220px;position:absolute;right:2%;bottom:-62px;color:#ffd30018}.hero .copy{position:relative;z-index:1;max-width:560px}.eyebrow{color:#ffd300;font-weight:800;font-size:11px;letter-spacing:2px;text-transform:uppercase}.hero h1{font-size:clamp(32px,4vw,55px);line-height:1.06;letter-spacing:-1.5px;margin:20px 0}.hero p{font-size:17px;max-width:500px;color:#d7d4c8;line-height:1.6}.page-header{margin:0 0 29px}.page-header h1{font-size:clamp(29px,3vw,42px);margin:10px 0}.subdued{color:#aaa8a4;line-height:1.65}.section-title{font-size:22px;margin:34px 0 18px}.grid{display:grid;gap:18px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{background:#191919;border:1px solid #33312f;border-radius:18px;padding:27px;min-width:0}.panel h2,.panel h3{margin:9px 0 12px}.panel p{line-height:1.6;color:#aaa8a4;margin:0 0 16px}.symbol{font-size:26px;color:#ffd300}.muted-title{font-size:13px;color:#b6b5af}.metric{font-size:36px;font-weight:800;color:#fff;margin:12px 0}.link{color:#ffd300;font-size:14px;font-weight:700}.btn{border:1px solid #57544a;border-radius:10px;background:#272727;color:white;padding:11px 17px;text-decoration:none;display:inline-block;font-weight:700}.btn.primary{background:#ffd300;border-color:#ffd300;color:#121212}.btn:hover{filter:brightness(1.1)}.notice{background:#272319;border:1px solid #51432a;padding:17px 22px;border-radius:15px;color:#e7dbba;line-height:1.6;margin-top:22px}.empty{text-align:center;padding:60px 24px}.empty .symbol{font-size:40px}.empty h2{font-size:22px}.empty p{max-width:490px;margin:12px auto 23px}.loyalty-card{position:relative;background:linear-gradient(140deg,#26221b,#171717 65%,#3d3116);border:1px solid #705a21;box-shadow:0 14px 38px #0008;border-radius:23px;max-width:610px;min-height:340px;padding:30px;display:flex;flex-direction:column}.loyalty-card:after{content:"✦";position:absolute;font-size:190px;right:14px;top:18px;color:#ffd30012}.loyalty-brand{font-size:31px;font-weight:900;letter-spacing:2px}.loyalty-brand span{color:#ffd300}.loyalty-caption{font-size:10px;letter-spacing:2px;color:#d9c89c}.loyalty-name{margin-top:auto;font-size:22px;font-weight:700;position:relative;z-index:1}.loyalty-code{margin-top:14px;font-size:13px;color:#e4c768;position:relative;z-index:1}.setting{padding:15px 0;border-bottom:1px solid #333;display:flex;align-items:center;justify-content:space-between;gap:20px}.setting small{display:block;color:#a9a7a3;margin-top:4px}.setting input{accent-color:#ffd300;width:20px;height:20px}.footer{font-size:11px;color:#918f87;border-top:1px solid #292929;padding:20px 5%;display:flex;justify-content:space-between;gap:15px}.bottom-nav{display:none}dialog{background:#232323;color:#fff;border:1px solid #524626;border-radius:18px;padding:25px;max-width:440px;width:90%}dialog::backdrop{background:#000b}@media(max-width:960px){.shell{grid-template-columns:75px minmax(0,1fr)}.sidebar{padding:22px 11px}.brand{margin:0 0 50px;justify-content:center}.brand>div:last-child,.nav-label,.sidebar-caption{display:none}.sidebar nav a{font-size:0;justify-content:center;padding:13px 5px}.sidebar nav a span{font-size:25px}.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.shell{display:block}.sidebar{display:none}.topbar{height:66px;padding:0 18px}.mobile-title{display:block;font-weight:850;letter-spacing:1px}.mobile-title span{font-size:11px;color:#ffd300;font-weight:500}.breadcrumb{display:none}.demo-label{font-size:8px;letter-spacing:0}.avatar{height:33px;width:33px}main{width:calc(100% - 30px);padding:22px 0 100px}.hero{min-height:310px;padding:27px;border-radius:18px}.hero h1{font-size:35px}.hero p{font-size:15px}.grid.three,.grid.two{grid-template-columns:1fr}.panel{padding:22px}.bottom-nav{display:grid;grid-template-columns:repeat(6,1fr);position:fixed;bottom:0;left:0;right:0;padding:8px 2px calc(8px + env(safe-area-inset-bottom));background:#171717ee;backdrop-filter:blur(15px);border-top:1px solid #4b3e23;z-index:20}.bottom-nav a{font-size:10px;display:grid;justify-items:center;gap:4px;text-decoration:none;color:#afafaf;padding:6px 0;border-radius:8px}.bottom-nav a span{font-size:21px}.bottom-nav a.active{color:#ffd300}.footer{display:none}.loyalty-card{min-height:300px;padding:23px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Acceso clientes: interfaz pública adaptable web y móvil, sin datos privados. */
.avatar{display:grid;place-items:center;text-decoration:none}
.access-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,430px);gap:24px;align-items:stretch}
.access-welcome{background:linear-gradient(135deg,#2b2718,#171717);border:1px solid #514727;border-radius:22px;padding:38px;position:relative;overflow:hidden;min-height:390px}
.access-welcome h2{font-size:clamp(30px,4vw,46px);line-height:1.1;max-width:500px;margin:22px 0}
.access-welcome p:not(.eyebrow){color:#c6c2b9;line-height:1.6;max-width:420px}
.access-illustration{position:absolute;bottom:-45px;right:12px;font-weight:900;font-size:200px;line-height:1;color:#ffd30022}
.access-illustration span{color:#e3b400}
.access-card{padding:33px}.access-standalone{max-width:550px;margin:0 auto}
.access-card>p{color:#b9b6ad}
.access-form{display:grid;gap:12px;margin:20px 0 8px}
.access-form label{font-size:14px;font-weight:650;color:#f4f0e5}
.access-form input:not([type=checkbox]){min-height:49px;width:100%;border:1px solid #676152;border-radius:11px;background:#111;color:#fff;padding:12px;font-size:16px}
.access-form input::placeholder{color:#8b8780}
.access-form small{color:#bbb5a6;font-size:12px;line-height:1.5}
.access-form .btn{min-height:47px;margin-top:12px}
.phone-row{display:flex;align-items:center;border:1px solid #676152;border-radius:11px;overflow:hidden;background:#111}
.phone-row span{padding:12px;background:#292419;color:#ffd300;font-weight:750}
.phone-row input:not([type=checkbox]){border:0;border-radius:0}
.access-feedback{min-height:22px;margin:6px 0;color:#c6e2bb;font-size:13px}
.access-feedback.error{color:#ffbdbd}
.access-bottom{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px}
.access-banner{background:#272319;border:1px solid #574c27;border-radius:12px;padding:15px 18px;color:#e9dba9;margin-top:22px;line-height:1.6}
.consents{border:1px solid #49453b;border-radius:12px;padding:18px;display:grid;gap:14px}
.consents legend{font-weight:750;padding:0 6px}
.consents label{display:flex;align-items:start;gap:10px;font-size:14px;line-height:1.5}
.consents input{accent-color:#ffd300;width:18px;height:18px;margin:1px 0 0;flex-shrink:0}
@media(max-width:960px){.access-layout{grid-template-columns:1fr}.access-welcome{min-height:240px}.access-illustration{font-size:130px}}
@media(max-width:650px){.access-card{padding:22px}.access-welcome{padding:25px}.access-welcome h2{font-size:30px}.access-layout{gap:16px}.access-bottom{gap:12px}}
