:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;background:#201610;color:#f7eade}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 12%,#4e382b 0%,#2b1d16 50%,#201610 100%);font-size:15px}a{color:inherit}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.hide{display:none!important}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100% - 1150px)/2));gap:16px;border-bottom:1px solid rgba(239,200,161,.15);background:rgba(31,21,15,.8)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{width:46px;height:46px;object-fit:contain;border-radius:50%}.brand span{display:flex;flex-direction:column;gap:6px}.brand strong{font:600 19px Georgia,serif;letter-spacing:.035em}.brand small{font-size:8px;letter-spacing:.15em;color:#d9b89a}.topbar nav a{font-size:.84rem;text-decoration:none;border:1px solid rgba(237,202,165,.23);padding:10px 15px;border-radius:50px;white-space:nowrap}.topbar nav a:hover{background:#503729}.shell{position:relative;max-width:1150px;margin:0 auto;padding:58px 20px 90px;min-height:calc(100vh - 160px)}.ambient{position:absolute;z-index:-1;left:10%;top:0;width:80%;height:200px;background:#b57e4f18;filter:blur(90px)}.headline{text-align:center;max-width:710px;margin:0 auto 37px}.eyebrow{font-size:.64rem;font-weight:800;letter-spacing:.24em;color:#d3a679}.headline h1{font:400 clamp(2.5rem,6vw,5rem)/1.06 Georgia,'Times New Roman',serif;letter-spacing:-.053em;margin:20px 0;color:#fcf0e2}.headline h1 em{font-weight:400;color:#e0b286}.headline p{color:#d9c2ae;line-height:1.7;max-width:535px;margin:auto}.guest-card{max-width:690px;background:linear-gradient(160deg,#54392a,#38271e 75%);border:1px solid #81634b77;box-shadow:0 30px 90px #0a060554;border-radius:28px;padding:clamp(26px,6vw,53px);margin:auto;text-align:center}.guest-card img{width:70px;height:70px;object-fit:contain;display:block;margin:0 auto 25px;border-radius:50%}.guest-card h2{font:400 clamp(2rem,4vw,2.8rem)/1.1 Georgia,serif;color:#fff0df;letter-spacing:-.04em;margin:15px 0}.guest-card p{color:#e1c9b4;line-height:1.7;max-width:500px;margin:0 auto}.buttonrow{display:flex;flex-wrap:wrap;gap:13px;margin-top:29px}.buttonrow.center{justify-content:center}.button{border:1px solid rgba(227,183,144,.32);border-radius:999px;min-height:47px;padding:13px 20px;font-weight:720;display:inline-flex;align-items:center;justify-content:center;gap:12px;text-align:center;text-decoration:none;transition:background .2s,transform .2s}.button:hover{transform:translateY(-1px)}.button.primary{background:#e0b286;color:#2a1b13;border-color:#e0b286}.button.primary:hover{background:#f4cca2}.button.ghost{background:transparent;color:#f5dec7}.button.ghost:hover{background:#4d3528}.button.block{width:100%}.demo-banner{text-align:center;color:#ffdbad;background:#624526;border:1px solid #947250;border-radius:12px;padding:12px 15px;font-size:.8rem;line-height:1.5;max-width:580px;margin:0 auto 18px}.loyalty-card{position:relative;max-width:580px;margin:auto;overflow:hidden;background:radial-gradient(circle at 85% 8%,#76503b 0%,#492f24 49%,#2b201a 100%);border-radius:27px;border:1px solid rgba(230,187,141,.4);box-shadow:0 28px 85px #0e0806a1,0 0 0 7px rgba(255,255,255,.025);padding:clamp(24px,5vw,45px)}.card-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(233,198,157,.2);padding-bottom:18px}.card-top div{display:flex;flex-direction:column;gap:6px}.card-top strong{font:600 23px Georgia,serif;letter-spacing:.04em}.card-top small{font-size:9px;letter-spacing:.17em;color:#dbb591}.card-top img{width:67px;height:67px;object-fit:contain;border:1px solid #d5ad8973;padding:7px;border-radius:50%}.card-body{padding-top:28px}.card-body h2{font:400 clamp(1.9rem,5vw,3rem)/1.08 Georgia,serif;color:#fff0df;margin:12px 0;letter-spacing:-.03em}.card-body p{color:#dbbfaa;font-size:.89rem;line-height:1.55;margin:0}.stamp-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:34px 0 27px}.stamp{width:100%;aspect-ratio:1;border:1px solid #b48b6c87;border-radius:50%;display:grid;place-items:center;color:#d3b69c;background:#281a164a;font-size:clamp(1.1rem,4vw,1.6rem)}.stamp.on{background:#e4b88b;color:#322117;border-color:#e4b88b;font-weight:900}.stamp-progress{background:#8c6b5373;height:6px;border-radius:100px;overflow:hidden}.stamp-progress span{height:100%;display:block;background:#e5b88c;width:0;transition:width .25s}.meta{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:14px 0 12px}.meta strong{color:#f6e6d4}.meta span{color:#ebc29d;font-size:.85rem;text-align:right}.reward-notice{margin-top:15px!important;background:#e6be8a;color:#382015!important;border-radius:11px;padding:13px;font-weight:700}.card-bottom{display:flex;align-items:center;gap:24px;border-top:1px solid rgba(233,198,157,.23);padding:29px 0 16px;margin-top:25px}.qr-holder{flex:0 0 149px;width:149px;height:149px;display:grid;place-items:center;border:8px solid #fffbf5;border-radius:12px;background:#fff;color:#48342a;font-size:.73rem;text-align:center;overflow:hidden}.qr-holder img,.qr-holder canvas{width:131px!important;height:131px!important;object-fit:contain}.qr-text{display:flex;flex-direction:column;gap:10px}.qr-text strong{font-size:1rem}.qr-text span{font-size:.83rem;line-height:1.55;color:#e0c4aa}.card-foot{padding-top:22px;border-top:1px solid rgba(233,198,157,.2);display:flex;justify-content:space-between;gap:10px;font-size:.57rem;letter-spacing:.17em;color:#bd9d83}.below-card{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:33px}.status{text-align:center;color:#f2c393;min-height:24px;font-size:.88rem;line-height:1.5;max-width:620px;margin:14px auto}.help{text-align:center;max-width:570px;margin:15px auto;color:#c9af9c;font-size:.8rem;line-height:1.6}.merchant-mini{max-width:580px;margin:24px auto 0;padding:17px 20px;border:1px solid #8d6d544d;border-radius:14px;display:flex;justify-content:space-between;gap:15px;align-items:center}.merchant-mini span{font-size:.82rem;color:#d2b39b}.merchant-mini a{font-size:.82rem;color:#ebc69f;text-decoration:none;white-space:nowrap}.admin-area{max-width:1050px;margin:0 auto}.admin-area h2{font:400 clamp(2rem,5vw,3.4rem) Georgia,serif;letter-spacing:-.04em;margin:14px 0}.admin-desc{color:#dac1a8;line-height:1.6}.login-card,.panel{background:#3b2b22;border:1px solid #82624b68;border-radius:23px;padding:26px}.login-card{max-width:490px;margin:26px auto 12px;display:grid;gap:14px}.login-card label,.panel label{font-size:.82rem;font-weight:650;color:#f4e2ce}input:not([type=checkbox]){width:100%;min-height:48px;border-radius:11px;padding:12px 14px;background:#eee2d5;border:1px solid #c3a991;color:#271b15;outline-offset:4px;font-size:16px}input::placeholder{color:#877467}.login-card .button{justify-self:start}.dashboard-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0}.dashboard-top h3{font:400 2rem Georgia,serif;margin:8px 0}.muted{color:#d0b7a2;line-height:1.55;font-size:.86rem}.dashboard-grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(280px,1.2fr);gap:20px;align-items:start}.panel h4{font:400 1.45rem Georgia,serif;margin:0 0 8px}.panel form{display:grid;gap:10px;margin-top:18px}.panel .consent{display:flex;gap:11px;align-items:flex-start;margin:5px 0 9px;line-height:1.5;font-size:.78rem}.panel input[type=checkbox]{width:19px;height:19px;accent-color:#dbad7c;flex:0 0 auto}.customers{display:grid;gap:10px;margin-top:16px;max-height:640px;overflow:auto}.person{display:grid;gap:11px;border:1px solid #8f705c73;border-radius:14px;padding:17px;background:#513b2d}.person.focused{border-color:#e7ba87;box-shadow:0 0 0 2px #ddae7b40}.person-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.person-head strong{font-size:.95rem}.person small{color:#d4baa4;font-size:.8rem}.person-actions{display:flex;flex-wrap:wrap;gap:8px}.person-actions .button{font-size:.78rem;min-height:37px;padding:9px 13px}.created{background:#60452e;border:1px solid #ae825e;padding:14px;margin-top:18px;border-radius:12px;line-height:1.55;font-size:.84rem}.created a{color:#ffe0b7;overflow-wrap:anywhere}.created .button{margin-top:9px;font-size:.78rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}footer{border-top:1px solid #cf9c7736;max-width:100%;padding:24px;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;font-size:.7rem;color:#b79c85;letter-spacing:.06em}footer a{text-decoration:none;color:#dcc0a5}@media(max-width:740px){.topbar{padding:0 18px;height:78px}.shell{padding:48px 16px 70px}.headline h1{font-size:clamp(2.3rem,8vw,3.4rem)}.dashboard-grid{grid-template-columns:1fr}.dashboard-top{align-items:start}.merchant-mini{flex-direction:column;align-items:start}.qr-holder{flex-basis:128px;width:128px;height:128px}.qr-holder img,.qr-holder canvas{width:110px!important;height:110px!important}}@media(max-width:460px){.brand strong{font-size:17px}.brand small{font-size:7px;letter-spacing:.05em}.topbar nav a{padding:9px 11px;font-size:.75rem}.loyalty-card{padding:24px 19px}.stamp-grid{gap:7px}.stamp{font-size:1.17rem}.card-bottom{gap:12px}.qr-text span{font-size:.75rem}.card-foot{font-size:.45rem}.meta span{font-size:.72rem}.below-card{flex-direction:column}.below-card .button{width:100%}.dashboard-top{flex-direction:column}.panel{padding:20px 16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}

/* NORPUQ V2: panel de tres acciones */
.button.whatsapp{background:#25d366;color:#092d19;border-color:#25d366;font-weight:800}
.button.whatsapp:hover{background:#4beb87}
.created{display:flex;flex-direction:column;gap:11px;align-items:stretch}
.created .button{margin:0;text-align:center;justify-content:center}
.created small{display:block}
.person-actions .button.whatsapp{border-color:#25d366}
