:root{--navy:#10233f;--navy-2:#193657;--blue:#176fd1;--orange:#e76532;--cream:#f8f4ee;--paper:#fff;--line:#dfe6ee;--muted:#6b778b;--green:#138957;--red:#b42318;--shadow:0 18px 55px rgba(15,35,63,.11)}
*{box-sizing:border-box}html{background:var(--cream);scroll-behavior:smooth}body{margin:0;min-height:100dvh;color:var(--navy);font-family:Inter,"Segoe UI",Arial,sans-serif;background:radial-gradient(circle at 90% -10%,rgba(231,101,50,.13),transparent 30%),linear-gradient(145deg,#fffdfa,var(--cream));-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.button{min-height:44px;padding:0 18px;border:1px solid transparent;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:850;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s}.button:hover{transform:translateY(-1px)}.button:disabled,.quick-card:disabled{opacity:.52;cursor:not-allowed;transform:none}.button.primary{color:#fff;background:linear-gradient(135deg,#2378db,#135db8);box-shadow:0 10px 22px rgba(23,111,209,.22)}.button.ghost{border-color:#d7e0ea;background:#fff;color:var(--navy)}.button.small{min-height:38px;padding:0 14px;font-size:.82rem}.button.wide{width:100%;margin-top:18px}.eyebrow{display:block;color:var(--blue);font-weight:900;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase}.eyebrow.light{color:#9fc8fa}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand img{width:54px;height:54px;border-radius:50%;object-fit:cover;background:#fff;border:2px solid rgba(231,101,50,.28)}.brand strong,.brand span{display:block}.brand strong{font-family:Georgia,serif;font-size:1.35rem;line-height:1}.brand span{margin-top:5px;font-size:.65rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#e98c68}.brand.compact img{width:45px;height:45px}.brand.compact strong{font-size:1.08rem}.brand.compact span{color:var(--muted)}
.auth-layout{min-height:100dvh;display:grid;grid-template-columns:minmax(360px,.8fr) minmax(520px,1.2fr)}.auth-visual{position:relative;overflow:hidden;padding:clamp(28px,4vw,58px);display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:linear-gradient(180deg,#1c120a 0%,#3a2412 55%,#7a4a1e 100%);height:100%;border-right:1px solid #3a2412}.auth-visual:before,.auth-visual:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.auth-visual:before{width:430px;height:430px;right:-200px;top:-140px;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 72px rgba(255,255,255,.025),0 0 0 145px rgba(255,255,255,.018)}.auth-visual:after{width:250px;height:250px;left:-140px;bottom:-130px;background:rgba(231,101,50,.08)}.auth-visual .brand,.auth-promise,.auth-benefits{position:relative;z-index:1}.auth-promise{max-width:510px}.auth-promise h1{font-family:Georgia,serif;font-size:clamp(2.3rem,4.5vw,4.6rem);line-height:.96;letter-spacing:-.045em;margin:13px 0 18px}.auth-promise p{max-width:440px;color:#cbd7e5;font-size:1rem;line-height:1.65;margin:0}.auth-benefits{display:flex;flex-wrap:wrap;gap:8px}.auth-benefits span{padding:9px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.07);font-size:.72rem;font-weight:800}
/* Propuesta E - Foodie overrides */
.auth-visual .brand strong{color:#fff}
.auth-visual .brand span{color:#fde68a}
.auth-visual .eyebrow{color:#fde68a}
.auth-visual .auth-promise h1{color:#fff}
.auth-visual .auth-promise p{color:#fde68a;opacity:.88}
.auth-visual .auth-benefits span{color:#fde68a;background:rgba(255,255,255,.08);border:1px solid rgba(253,230,138,.22);backdrop-filter:blur(6px)}
.visual-cards{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.visual-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:12px 14px;display:flex;align-items:center;gap:10px;min-width:132px;box-shadow:0 4px 16px rgba(0,0,0,.06)}
.visual-card strong{font-size:1.25rem;line-height:1}
.visual-card span{font-size:.65rem;font-weight:800;color:#64748b;line-height:1}
.visual-card.dark{background:#10233f;color:#fff;border-color:#10233f;display:flex;justify-content:space-between;flex:1}
.visual-card.dark strong{color:#fff;font-size:.78rem}
.visual-card.dark small{display:block;color:#cbd5e1;font-size:.62rem;font-weight:600;margin-top:2px}
.visual-card .vc-icon{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.15);display:grid;place-items:center;font-size:1rem}
.auth-content{min-width:0;padding:clamp(18px,4vw,58px);display:grid;place-items:center;overflow-y:auto;max-height:100dvh}.auth-card{width:min(620px,100%);padding:clamp(22px,4vw,42px);border:1px solid rgba(223,230,238,.9);border-radius:26px;background:rgba(255,255,255,.94);box-shadow:var(--shadow)}.mobile-brand{display:none}.card-heading h2,.state-card h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3rem);line-height:1;margin:10px 0}.card-heading p,.state-card p{margin:0 0 20px;color:var(--muted);line-height:1.55}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:20px 0;padding:5px;border-radius:15px;background:#eef2f6}.auth-tabs a{min-height:40px;border-radius:11px;display:grid;place-items:center;color:var(--muted);font-size:.82rem;font-weight:900;text-decoration:none}.auth-tabs a.active{color:var(--blue);background:#fff;box-shadow:0 4px 14px rgba(16,35,63,.08)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{min-width:0;display:grid;gap:6px}.field.full{grid-column:1/-1}.field>span{font-size:.72rem;font-weight:900;color:#45546a}.field input,.field select{width:100%;min-width:0;height:46px;padding:0 13px;border:1px solid #d7e0e9;border-radius:12px;outline:none;color:var(--navy);background:#fff;transition:border-color .18s,box-shadow .18s}.field input:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,111,209,.1)}.field small,.privacy-note{color:#7a8595;font-size:.69rem;line-height:1.5}.privacy-note{margin:14px 0 0}.text-link{display:inline-block;margin-top:16px;color:var(--blue);font-size:.78rem;font-weight:850;text-decoration:none}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.state-card{text-align:center}.state-icon{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--green);font-size:1.7rem;font-weight:900}.state-card .button{margin-top:6px}.notice{padding:13px 15px;margin-bottom:16px;border-radius:13px;border:1px solid #d8e5f4;color:#145a9f;background:#eef7ff;font-size:.82rem;font-weight:750;line-height:1.45}.notice.success{color:#176a45;border-color:#bce8cf;background:#edfbf3}.notice.warning{color:#8a4c12;border-color:#f4d1ab;background:#fff7ea}.notice.danger{color:var(--red);border-color:#efc6c2;background:#fff2f1}.install-link{display:block;margin:18px auto 0;border:0;background:transparent;color:var(--blue);font-weight:850;cursor:pointer}
.app-shell{min-height:100dvh}.topbar{height:76px;padding:0 clamp(18px,5vw,64px);display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(223,230,238,.9);background:rgba(255,255,255,.87);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}.top-actions{display:flex;align-items:center;gap:10px}.icon-button{width:42px;height:42px;border:1px solid #d7e0ea;border-radius:13px;background:#fff;color:var(--navy);font-size:1.2rem;cursor:pointer}.dashboard{width:min(1180px,calc(100% - 32px));margin:28px auto 90px}.welcome-toast{position:fixed;top:84px;left:50%;transform:translateX(-50%);z-index:40;display:flex;align-items:center;gap:11px;padding:13px 16px;border:1px solid #bce8cf;border-radius:14px;color:#176a45;background:#edfbf3;box-shadow:0 10px 28px rgba(16,106,69,.14);width:min(560px,calc(100% - 24px));transition:opacity .3s,transform .3s}.welcome-toast>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--green);flex:0 0 30px}.welcome-toast strong,.welcome-toast small{display:block}.welcome-toast small{margin-top:2px;color:#50806a}.welcome-toast.dismissed{opacity:0;transform:translateX(-50%) translateY(-12px);pointer-events:none}.hero-card{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:clamp(24px,5vw,48px);border-radius:28px;color:#fff;background:linear-gradient(130deg,#10233f,#1d4770);box-shadow:0 22px 50px rgba(16,35,63,.2)}.hero-card:after{content:"";position:absolute;width:330px;height:330px;right:-130px;top:-160px;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.035)}.hero-user,.balance-card{position:relative;z-index:1}.hero-user{display:flex;align-items:center;gap:18px;min-width:0}.avatar{flex:0 0 auto;width:68px;height:68px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--orange),#f59a5c);font-size:1.65rem;font-weight:900;box-shadow:0 9px 25px rgba(0,0,0,.18)}.hero-user h1{margin:6px 0 5px;font-family:Georgia,serif;font-size:clamp(1.7rem,4vw,3rem);line-height:1}.hero-user p{margin:0;color:#c9d8e9;overflow-wrap:anywhere}.balance-card{min-width:250px;padding:20px 23px;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px)}.balance-card small,.balance-card b{display:block}.balance-card small{color:#c8d8ea;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.balance-card strong{display:block;margin:8px 0 4px;font-size:2.25rem}.balance-card strong span{font-size:.9rem}.balance-card b{color:#aee9cc;font-size:.82rem}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:18px 0}.quick-card{min-width:0;min-height:104px;padding:17px;border:1px solid var(--line);border-radius:19px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;text-align:left;color:var(--navy);background:#fff;text-decoration:none;cursor:pointer;box-shadow:0 8px 23px rgba(16,35,63,.05);transition:transform .2s,box-shadow .2s}.quick-card:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(16,35,63,.09)}.quick-card.primary-card{color:#fff;border-color:#176fd1;background:linear-gradient(135deg,#2378db,#145eaf)}.quick-card strong,.quick-card small{display:block}.quick-card small{margin-top:5px;color:var(--muted);font-size:.7rem;line-height:1.35}.quick-card.primary-card small{color:#dcecff}.quick-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#eef5fc;color:var(--blue);font-size:1.2rem}.primary-card .quick-icon{color:#fff;background:rgba(255,255,255,.14)}.section-tabs{display:flex;gap:5px;padding:5px;margin:24px 0 16px;border:1px solid var(--line);border-radius:16px;background:#f0f4f8}.section-tabs button{flex:1;min-height:42px;border:0;border-radius:12px;color:var(--muted);background:transparent;font-weight:900;cursor:pointer}.section-tabs button.active{color:var(--blue);background:#fff;box-shadow:0 5px 15px rgba(16,35,63,.08)}.tab-panel{padding:clamp(20px,4vw,34px);border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 12px 38px rgba(16,35,63,.06)}.tab-panel[hidden]{display:none}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.section-heading h2{font-family:Georgia,serif;font-size:clamp(1.55rem,3vw,2.25rem);margin:7px 0 0}.points-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}.metric,.info-card,.detail{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.metric.large{grid-row:span 2;display:flex;flex-direction:column;justify-content:center;color:#fff;border:0;background:linear-gradient(150deg,#145fae,#1d7cd8)}.metric small{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.metric strong{font-size:clamp(3.2rem,8vw,5.8rem);line-height:1;margin:16px 0 8px}.metric span{color:#dcecff;font-weight:800}.info-card strong{font-size:1rem}.info-card p{min-height:43px;margin:8px 0 16px;color:var(--muted);font-size:.8rem;line-height:1.5}.info-card.muted{background:#fbf8f4}.list-card{border:1px solid var(--line);border-radius:18px;overflow:hidden}.list-row{padding:17px 19px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-row strong,.list-row small{display:block}.list-row>div:first-child{min-width:0}.list-row>div:first-child strong{font-size:.88rem;overflow-wrap:anywhere}.list-row small{margin-top:6px;color:var(--muted);font-size:.7rem}.list-value,.order-value{flex:0 0 auto;text-align:right}.list-value.positive strong{color:var(--green)}.list-value.negative strong{color:var(--red)}.empty-state{padding:42px 20px;text-align:center;color:var(--muted)}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.detail small,.detail strong{display:block}.detail small{margin-bottom:7px;color:var(--muted);font-size:.67rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.detail strong{font-size:.88rem;overflow-wrap:anywhere}.profile-note{margin-top:18px;padding:15px;border-radius:14px;background:#f6f8fb}.mobile-nav{display:none}
.modal-backdrop{position:fixed;inset:0;z-index:100;padding:18px;place-items:center;background:rgba(7,18,31,.7);backdrop-filter:blur(7px)}.modal-backdrop:not([hidden]){display:grid}.barcode-modal{position:relative;width:min(540px,100%);padding:30px;border-radius:24px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.26);text-align:center}.barcode-modal h2{font-family:Georgia,serif;font-size:2rem;margin:9px 0}.barcode-modal>p{margin:0 0 20px;color:var(--muted);line-height:1.5}.modal-close{position:absolute;right:15px;top:15px;width:40px;height:40px;border:0;border-radius:12px;color:var(--navy);background:#edf2f7;font-size:1.5rem;cursor:pointer}.barcode-stage{padding:18px 10px;margin:16px 0;border:1px dashed #b9c9da;border-radius:16px;background:#fff}.barcode-stage svg{display:block;width:min(100%,360px);height:150px;margin:0 auto;background:#fff}.barcode-stage strong,.barcode-stage small{display:block}.barcode-stage strong{margin-top:10px;font:700 .82rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em;overflow-wrap:anywhere}.barcode-stage small{margin-top:7px;color:var(--muted);font-size:.72rem}
@media(max-width:900px){.auth-layout{grid-template-columns:1fr}.auth-visual{min-height:250px;padding:24px}.auth-promise{margin-top:38px}.auth-promise h1{font-size:2.6rem}.auth-benefits{margin-top:28px}.auth-content{padding:14px}.quick-grid{grid-template-columns:1fr}.points-layout{grid-template-columns:1fr}.metric.large{grid-row:auto}.dashboard{margin-top:18px}.hero-card{align-items:stretch;flex-direction:column}.balance-card{min-width:0}}
@media(max-width:640px){body{background:#f7f4ef}.auth-visual{min-height:160px;padding:18px}.auth-visual>.brand,.auth-benefits{display:none}.auth-promise{margin:0}.auth-promise h1{font-size:1.85rem;margin:8px 0}.auth-promise p{font-size:.82rem;line-height:1.45}.auth-content{align-items:start;padding:8px}.auth-card{padding:20px 15px;border-radius:19px}.mobile-brand{display:flex;align-items:center;gap:9px;margin-bottom:20px}.mobile-brand img{width:38px;height:38px;border-radius:50%;object-fit:cover}.mobile-brand strong{font-family:Georgia,serif}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.topbar{height:66px;padding:0 12px}.brand.compact img{width:38px;height:38px}.brand.compact strong{font-size:.95rem}.brand.compact span{display:none}.top-actions .button{display:none}.dashboard{width:calc(100% - 20px);margin:12px auto 88px}.hero-card{padding:21px;border-radius:21px}.avatar{width:52px;height:52px}.hero-user h1{font-size:1.45rem}.hero-user p{font-size:.72rem}.balance-card{padding:17px}.balance-card strong{font-size:1.9rem}.quick-card{min-height:86px;padding:13px}.quick-card small{font-size:.65rem}.section-tabs{display:none}.tab-panel{padding:17px 13px;border-radius:20px}.profile-grid{grid-template-columns:1fr}.list-row{padding:15px 12px;align-items:flex-start}.list-row>div:first-child strong{font-size:.78rem}.section-heading h2{font-size:1.55rem}.mobile-nav{position:fixed;z-index:30;left:8px;right:8px;bottom:8px;padding:6px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);box-shadow:0 10px 30px rgba(16,35,63,.18)}.mobile-nav button{min-height:48px;border:0;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);background:transparent;font-size:.61rem;font-weight:850}.mobile-nav button span{font-size:1rem}.mobile-nav button.active{color:#fff;background:var(--blue)}.barcode-modal{padding:25px 15px}.barcode-modal h2{font-size:1.65rem}}

/* Desktop dashboard: compact, calm visual hierarchy. */
@media(min-width:901px){
 .topbar{height:64px;padding:0 clamp(20px,3vw,42px)}
 .brand.compact{gap:10px}.brand.compact img{width:42px;height:42px}.brand.compact strong{font-size:1rem}.brand.compact span{margin-top:3px;font-size:.58rem}
 .top-actions{gap:8px}.icon-button{width:38px;height:38px;border-radius:11px;font-size:1rem}.button.small{min-height:36px;padding:0 13px;font-size:.76rem}
 .dashboard{width:min(1040px,calc(100% - 40px));margin:22px auto 64px}
 .welcome-toast{margin-bottom:12px;padding:10px 13px;border-radius:11px;font-size:.78rem}.welcome-toast>span{width:26px;height:26px}.welcome-toast small{font-size:.68rem}
 .hero-card{gap:22px;padding:26px 30px;border-radius:22px;box-shadow:0 16px 38px rgba(16,35,63,.16)}
 .hero-card:after{width:250px;height:250px;right:-105px;top:-125px;box-shadow:0 0 0 42px rgba(255,255,255,.03)}
 .hero-user{gap:15px}.avatar{width:54px;height:54px;font-size:1.28rem;box-shadow:0 7px 18px rgba(0,0,0,.15)}
 .hero-user h1{margin:5px 0 4px;font-size:clamp(1.55rem,2.4vw,2.15rem);letter-spacing:-.02em}.hero-user p{font-size:.8rem}.eyebrow{font-size:.62rem}
 .balance-card{min-width:205px;padding:15px 18px;border-radius:16px}.balance-card small{font-size:.64rem}.balance-card strong{margin:6px 0 3px;font-size:1.8rem}.balance-card strong span{font-size:.76rem}.balance-card b{font-size:.72rem}
 .quick-grid{gap:10px;margin:14px 0}.quick-card{min-height:82px;padding:13px 14px;border-radius:15px;gap:11px;box-shadow:0 6px 18px rgba(16,35,63,.045)}
 .quick-card strong{font-size:.86rem}.quick-card small{margin-top:3px;font-size:.64rem}.quick-icon{width:36px;height:36px;border-radius:10px;font-size:1rem}
 .section-tabs{margin:16px 0 12px;padding:4px;border-radius:13px}.section-tabs button{min-height:36px;border-radius:10px;font-size:.78rem}
 .tab-panel{padding:24px;border-radius:19px;box-shadow:0 9px 28px rgba(16,35,63,.05)}
 .section-heading{margin-bottom:15px}.section-heading h2{margin-top:5px;font-size:1.55rem}
 .points-layout{gap:11px}.metric,.info-card,.detail{padding:16px;border-radius:14px}.metric strong{margin:12px 0 6px;font-size:clamp(2.7rem,5vw,4.3rem)}
 .info-card strong{font-size:.9rem}.info-card p{min-height:36px;margin:6px 0 12px;font-size:.73rem}.list-card{border-radius:14px}.list-row{padding:13px 15px}.empty-state{padding:32px 18px}
 .profile-grid{gap:10px}.profile-note{margin-top:14px;padding:12px}
 .barcode-modal{width:min(480px,100%);padding:25px;border-radius:20px}.barcode-modal h2{font-size:1.7rem}.barcode-stage{margin:13px 0;padding:15px 9px}
}

@media(min-width:901px) and (max-height:760px){
 .topbar{height:58px}.dashboard{margin-top:14px}.hero-card{padding:21px 26px}.quick-card{min-height:74px}.tab-panel{padding:20px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* FIX banner left no desplazamiento v2 */
@media(min-width:901px){
  .auth-layout{height:100dvh;min-height:100dvh;max-height:100dvh;overflow:hidden;align-items:stretch}
  .auth-visual{position:relative;top:auto;height:100dvh;max-height:100dvh;min-height:100dvh;align-self:stretch;overflow:hidden;color:#fff;background:linear-gradient(180deg,#1c120a 0%,#3a2412 55%,#7a4a1e 100%);border-right:1px solid #3a2412}
  .auth-content{height:100dvh;max-height:100dvh;min-height:100dvh;overflow-y:auto;overflow-x:hidden;align-items:start;align-content:start;place-items:start center;scrollbar-gutter:stable}
  .auth-content .auth-card{margin:auto 0}
}
@media(max-width:900px){
  .auth-layout{height:auto;max-height:none;min-height:100dvh;overflow:visible}
  .auth-visual{position:relative;height:auto;max-height:none;min-height:250px}
  .auth-content{height:auto;max-height:none;min-height:auto;overflow:visible;place-items:center}
}

.auth-card .button.primary{background:linear-gradient(135deg,#e76532,#f59e0b);box-shadow:0 10px 22px rgba(231,101,50,.24)}
.auth-card .button.primary:hover{transform:translateY(-1px);box-shadow:0 14px 26px rgba(231,101,50,.28)}

/* === K - SAZON VIVO === */
body{background:#fffbf0}
.app-shell{background:radial-gradient(circle at 85% -10%,rgba(245,158,11,.12),transparent 28%),linear-gradient(145deg,#fffef7,#fffbf0)}
.topbar{background:rgba(255,255,255,.92);border-bottom:1px solid #fde68a;backdrop-filter:blur(14px)}
.k-vibrant.hero-card{background:linear-gradient(135deg,#1f0f0a 0%,#7c2d12 38%,#f59e0b 100%)!important;box-shadow:0 22px 50px rgba(124,45,18,.28)}
.k-vibrant .avatar{background:linear-gradient(135deg,#fff,#fef3c7)!important;color:#7c2d12!important;border:2px solid rgba(255,255,255,.6)}
.k-vibrant .balance-card{background:#fff;color:#7c2d12;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.k-vibrant .balance-card small{color:#e76532;letter-spacing:.08em}
.k-vibrant .balance-card strong{color:#7c2d12}
.k-vibrant .balance-card b{color:#f59e0b}
.k-quick .quick-card{border:1px solid #fde68a;background:#fff}
.k-quick .quick-card.primary-card{background:linear-gradient(135deg,#7c2d12,#e76532);color:#fff;border:0;box-shadow:0 10px 22px rgba(124,45,18,.22)}
.k-quick .quick-card.primary-card small{color:#ffedd5}
.k-quick .quick-icon{background:#fef3c7;color:#7c2d12}
.k-quick .primary-card .quick-icon{background:rgba(255,255,255,.18);color:#fff}
.section-tabs{background:#fef3c7;border:1px solid #fde68a}
.section-tabs button.active{background:#7c2d12;color:#fff}
.section-tabs button{color:#92400e}
.tab-panel{background:#fff;border:1px solid #fde68a;box-shadow:0 10px 30px rgba(124,45,18,.06)}
.metric.large{background:linear-gradient(135deg,#7c2d12,#e76532);color:#fff;border:0}
.metric.large small{color:#fde68a}
.metric.large span{color:#ffedd5}
.info-card{border:1px solid #fde68a;background:#fff}
.info-card.muted{background:#fffbeb;border:1px dashed #f59e0b}
.list-card{border:1px solid #fde68a}
.list-row{border-bottom:1px solid #fef3c7}
.list-row:last-child{border-bottom:0}
.profile-grid .detail{background:#fff;border:1px solid #fde68a}
.mobile-nav{background:rgba(255,251,235,.96);border-color:#fde68a}
.mobile-nav button.active{background:#7c2d12}
.notice{background:#fffbeb;border-color:#fde68a}

/* Transicion ligera login <-> crear cuenta */
.auth-card{animation:authIn .22s ease-out}
@keyframes authIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.auth-tabs a{transition:background .15s ease,box-shadow .15s ease,transform .15s ease}
.auth-tabs a:active{transform:scale(.98)}
.field input,.field select{transition:border-color .15s ease,box-shadow .15s ease}
@media(prefers-reduced-motion:reduce){.auth-card{animation:none}}

/* Terroir S - Pro override */
.auth-visual.terroir .auth-promise h1 em{color:#fde68a;font-style:italic;font-weight:400}
.auth-visual.terroir .brand img{border:1px solid rgba(253,230,138,.35)}
.auth-card{background:#fffbf0;border-color:#fde68a}
.auth-card .card-heading h2{color:#1c120a}
.auth-card .card-heading p{color:#78716c}
.auth-tabs{background:#fff;border:1px solid #fde68a}
.auth-tabs a{color:#a16207}
.auth-tabs a.active{background:#1c120a;color:#fde68a;box-shadow:0 4px 12px rgba(28,18,10,.18)}
.field span{color:#1c120a}
.field input,.field select{background:#fff;border-color:#fde68a}
.field input:focus,.field select:focus{outline-color:#a16207}
.auth-card .button.primary{background:linear-gradient(135deg,#1c120a,#7a4a1e);color:#fde68a;box-shadow:0 10px 22px rgba(28,18,10,.22)}
.privacy-note{background:#fff;border:1px solid #fde68a;color:#57534e}
.text-link{color:#a16207}

/* Animacion 14 - Chef + vapor */
.auth-visual.terroir{position:relative}
.chef-anim{position:absolute;right:22px;top:22px;width:64px;height:84px;pointer-events:none;z-index:2}
.chef-icon{font-size:2.6rem;line-height:1;animation:chefBounce 2.2s ease-in-out infinite;filter:drop-shadow(0 4px 10px rgba(0,0,0,.25))}
.steam{position:absolute;right:18px;width:3px;background:linear-gradient(180deg,rgba(255,255,255,.7),transparent);border-radius:999px;opacity:0}
.steam.s1{right:26px;top:38px;height:30px;animation:steamBig 2.4s ease-in-out infinite}
.steam.s2{right:38px;top:32px;height:24px;animation:steamBig 2.4s ease-in-out .5s infinite}
.steam.s3{right:16px;top:44px;height:20px;animation:steamBig 2.4s ease-in-out 1s infinite}
@keyframes chefBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes steamBig{0%{transform:translateY(8px);opacity:0}15%{opacity:.65}100%{transform:translateY(-52px);opacity:0}}
@media(max-width:900px){.chef-anim{display:none}}
@media(prefers-reduced-motion:reduce){.chef-icon,.steam{animation:none!important}}

.form-section{margin:18px 0 8px;padding:0;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#a16207;display:flex;align-items:center;gap:8px}
.form-section::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,#fde68a,transparent)}
.form-section:first-of-type{margin-top:4px}

/* Login móvil: una sola superficie, sin tarjeta estrecha dentro del bloque. */
@media(max-width:640px){
  html,body.auth-body{width:100%;min-width:0;overflow-x:hidden;background:#fff}
  .auth-layout{display:block;width:100%;min-height:100dvh;background:#fff}
  .auth-visual{width:100%;min-height:136px;padding:18px 20px 20px;border:0}
  .auth-visual:before{width:260px;height:260px;right:-125px;top:-120px;box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.018)}
  .auth-visual:after{width:160px;height:160px;left:-85px;bottom:-105px}
  .auth-promise h1{margin:6px 0 7px;font-size:1.55rem;line-height:.98;letter-spacing:-.025em}
  .auth-promise p{max-width:310px;font-size:.75rem;line-height:1.4}
  .auth-visual .eyebrow{font-size:.6rem;letter-spacing:.08em}
  .auth-content{display:block;width:100%;padding:0;background:#fff}
  .auth-card{width:100%;max-width:none;margin:0;padding:20px max(18px,env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));border:0;border-radius:0;background:#fff;box-shadow:none}
  .mobile-brand{gap:10px;margin-bottom:16px}
  .mobile-brand img{width:36px;height:36px}
  .mobile-brand strong{font-size:.9rem;line-height:1.15}
  .card-heading h2,.state-card h2{margin:7px 0 8px;font-size:1.65rem;line-height:1.05}
  .card-heading p,.state-card p{margin-bottom:15px;font-size:.8rem;line-height:1.45}
  .auth-tabs{margin:15px 0;padding:4px;border-radius:13px}
  .auth-tabs a{min-height:38px;border-radius:9px;font-size:.76rem}
  .form-grid{gap:11px}
  .field{gap:5px}
  .field input,.field select{height:44px;border-radius:11px}
  .button.wide{min-height:44px;margin-top:15px}
  .text-link{margin-top:13px}
  .install-link{margin-top:15px}
}
.form-grid{margin-bottom:2px}
.barcode-stage svg{width:238px;max-width:100%;height:120px;background:#fff;image-rendering:pixelated}
.barcode-stage strong{margin-top:10px;font:800 1.15rem/1.25 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em;white-space:nowrap;overflow-wrap:normal}
.barcode-stage [hidden]{display:none!important}.qr-code{width:210px;height:210px;margin:0 auto;background:#fff;overflow:hidden}.qr-code canvas{display:block!important;width:210px!important;height:210px!important}.qr-code img{display:none!important}.code-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px auto 4px;max-width:340px}.code-switch button{min-height:38px;border:1px solid #cad5e2;border-radius:10px;background:#fff;color:#43536a;font-family:inherit;font-size:.76rem;font-weight:800;line-height:1.1;cursor:pointer}.code-switch button.active{border-color:#1769e0;background:#1769e0;color:#fff}
.barcode-stage small{width:max-content;margin:9px auto 0!important;padding:5px 9px;border-radius:999px;color:#087443!important;background:#e8fff3;font-weight:900;letter-spacing:.04em}
.barcode-stage small::before{content:'●';margin-right:5px;color:#10b981}

/* Perfil: tarjetas de datos compactas y facturación en su propia fila. */
.profile-grid{align-items:start;grid-template-columns:repeat(2,minmax(0,1fr))}
.profile-grid .detail{min-width:0;align-self:start}
.profile-grid .profile-wide{grid-column:1/-1}
.profile-billing h3{margin:0 0 14px;font-size:1rem;line-height:1.3;color:var(--navy)}
.profile-billing-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.profile-billing-fields .field{min-width:0}
.profile-billing .button{margin-top:16px}
@media(max-width:640px){
  .profile-grid{grid-template-columns:minmax(0,1fr)}
  .profile-billing-fields{grid-template-columns:minmax(0,1fr);gap:12px}
  .profile-billing .button{width:100%}
}

/* Portal de clientes V17.45: distribución aprobada de portada y pedidos. */
.customer-home .topbar{height:82px}
.customer-home .brand.compact{min-width:0}
.customer-home .brand.compact img{width:54px;height:54px}
.customer-home .brand.compact strong{font-size:1.25rem;line-height:1.15}
.customer-home .account-actions{display:flex;align-items:center;gap:12px}
.customer-home .account-actions form{margin:0}
.customer-home .account-actions .button{min-height:48px;padding:0 18px;font-size:.9rem}
.customer-home .account-actions [data-install-app][hidden]{display:none!important}
.customer-home .logout-button svg,.customer-home .mobile-menu-toggle svg,.customer-home .order-cta svg,.customer-home .section-tabs svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.customer-home .mobile-menu-toggle{display:none}
.customer-home .dashboard{width:min(1524px,calc(100% - 80px));margin:24px auto 64px}
.customer-home .hero-card{min-height:270px;gap:40px;padding:32px 50px;border-radius:28px}
.customer-home .hero-user{display:block;min-width:0;max-width:calc(100% - 360px)}
.customer-home .hero-user .eyebrow.light{color:#ffbd4d;font-size:.88rem;letter-spacing:.16em}
.customer-home .hero-user h1{margin:12px 0 8px;font-size:clamp(2.4rem,4vw,4.25rem);line-height:1.08;letter-spacing:-.035em}
.customer-home .hero-user p{color:#fff4e9;font-size:clamp(1rem,1.5vw,1.3rem);line-height:1.4}
.customer-home .balance-card{width:324px;min-width:324px;padding:22px;border:0;border-radius:18px}
.customer-home .balance-card small{color:#a5381b;font-size:.83rem;letter-spacing:.08em}
.customer-home .balance-card strong{margin:10px 0 6px;color:var(--navy);font-size:2.65rem;line-height:1}
.customer-home .balance-card strong span{font-size:1rem}
.customer-home .balance-card b{padding-top:11px;border-top:1px solid #f4d7ad;color:#d76b09;font-size:1rem}
.customer-home .balance-action{width:100%;min-height:50px;margin-top:18px;border:0;color:#fff;background:linear-gradient(100deg,#c94924,#d95930);font-size:.93rem}
.customer-home .balance-action:hover{box-shadow:0 9px 20px rgba(124,45,18,.2)}
.customer-home .order-cta{position:relative;min-height:70px;margin:18px 0;display:flex;align-items:center;justify-content:center;gap:14px;border-radius:17px;color:#fff;background:linear-gradient(100deg,#d9582b,#bd4825);font-size:1.25rem;font-weight:850;text-decoration:none;transition:box-shadow .2s ease,filter .2s ease}
.customer-home .order-cta:hover{filter:brightness(1.06);box-shadow:0 10px 22px rgba(124,45,18,.18)}
.customer-home .order-cta .cta-arrow{position:absolute;right:24px}
.customer-home .section-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0 0 22px;padding:5px;border-radius:17px}
.customer-home .section-tabs button{min-width:0;min-height:60px;display:flex;align-items:center;justify-content:center;gap:13px;color:#743417;font-size:.96rem}
.customer-home .section-tabs button.active{color:#fff}
.customer-home .section-tabs svg{width:23px;height:23px}
.customer-home .tab-panel{padding:28px 32px;border-radius:22px}
.customer-home .section-heading h2{margin:0;font-size:2rem}
.customer-home .orders-list{border:0;border-radius:0;overflow:visible}
.customer-home .order-list-head,.customer-home .order-row{display:grid;grid-template-columns:minmax(145px,1.15fr) minmax(145px,1.15fr) minmax(175px,1.45fr) minmax(110px,.8fr) minmax(112px,.8fr);gap:16px;align-items:center;padding:0 18px}
.customer-home .order-list-head{min-height:43px;border-radius:10px;background:#f7f5f2;color:#556278;font-size:.72rem;font-weight:850;letter-spacing:.04em}
.customer-home .order-row{min-height:71px;border-bottom:1px solid #f2e8d8}
.customer-home .order-row:last-child{border-bottom:0}
.customer-home .order-number,.customer-home .order-total{color:var(--navy);font-size:.94rem}
.customer-home .order-date,.customer-home .order-branch{min-width:0;color:#536580;font-size:.83rem;overflow-wrap:anywhere}
.customer-home .order-status{width:max-content;max-width:100%;padding:7px 11px;border-radius:999px;background:#fff3db;color:#85441b;font-size:.78rem;font-weight:800}
.customer-home .order-status.is-final{background:#e4f5e9;color:#087547}
.customer-home .mobile-nav{display:none}
.customer-home .button:focus-visible,.customer-home .order-cta:focus-visible,.customer-home .section-tabs button:focus-visible,.customer-home .mobile-menu-toggle:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}

@media(max-width:900px){
  .customer-home .dashboard{width:calc(100% - 32px);margin:18px auto 44px}
  .customer-home .hero-card{min-height:0;gap:22px;padding:27px}
  .customer-home .hero-user{max-width:none}
  .customer-home .balance-card{width:100%;min-width:0}
  .customer-home .order-list-head{display:none}
  .customer-home .order-row{min-height:0;margin-bottom:12px;padding:17px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"number total" "date status" "branch status";gap:7px 12px;border:1px solid #f4dfbd;border-radius:15px}
  .customer-home .order-row:last-child{margin-bottom:0;border-bottom:1px solid #f4dfbd}
  .customer-home .order-number{grid-area:number}
  .customer-home .order-date{grid-area:date}
  .customer-home .order-branch{grid-area:branch}
  .customer-home .order-total{grid-area:total;text-align:right}
  .customer-home .order-status{grid-area:status;justify-self:end;align-self:center}
}
@media(max-width:640px){
  .customer-home .topbar{height:70px;padding:0 16px}
  .customer-home .brand.compact{gap:10px;max-width:calc(100% - 70px)}
  .customer-home .brand.compact img{width:44px;height:44px}
  .customer-home .brand.compact strong{font-size:clamp(.7rem,2.9vw,.92rem);overflow-wrap:normal}
  .customer-home .top-actions{position:relative}
  .customer-home .mobile-menu-toggle{width:46px;height:46px;display:grid;place-items:center;border:1px solid #d7e0ea;border-radius:14px;color:var(--navy);background:#fff;cursor:pointer}
  .customer-home .account-actions{position:absolute;right:0;top:calc(100% + 9px);z-index:22;min-width:176px;padding:12px;display:none;flex-direction:column;align-items:stretch;border:1px solid #f4dfbd;border-radius:14px;background:#fff;box-shadow:0 16px 32px rgba(31,15,10,.18)}
  .customer-home .top-actions.menu-open .account-actions{display:flex}
  .customer-home .account-actions form,.customer-home .account-actions .button{width:100%}
  .customer-home .account-actions .button{display:inline-flex}
  .customer-home .dashboard{width:calc(100% - 24px);margin:14px auto 36px}
  .customer-home .hero-card{padding:24px 18px;border-radius:22px}
  .customer-home .hero-user .eyebrow.light{font-size:.72rem}
  .customer-home .hero-user h1{font-size:clamp(2rem,8vw,2.6rem);line-height:1.1}
  .customer-home .hero-user p{font-size:.95rem}
  .customer-home .balance-card{padding:18px;border-radius:16px}
  .customer-home .balance-card strong{font-size:2.45rem}
  .customer-home .balance-card b{font-size:.96rem}
  .customer-home .order-cta{min-height:62px;margin:14px 0;border-radius:15px;font-size:1.08rem}
  .customer-home .order-cta .cta-arrow{right:16px}
  .customer-home .section-tabs{display:grid;gap:2px;margin:0 0 15px;padding:4px;border-radius:15px}
  .customer-home .section-tabs button{min-height:52px;gap:5px;padding:0 3px;font-size:.72rem}
  .customer-home .section-tabs svg{width:17px;height:17px}
  .customer-home .tab-panel{padding:20px 16px;border-radius:18px}
  .customer-home .section-heading h2{font-size:1.7rem}
  .customer-home .order-row{padding:14px;gap:6px 10px}
  .customer-home .order-number,.customer-home .order-total{font-size:.81rem}
  .customer-home .order-date,.customer-home .order-branch{font-size:.75rem}
  .customer-home .order-status{padding:6px 9px;font-size:.7rem}
}
@media(max-width:380px){
  .customer-home .section-tabs button{flex-direction:column;gap:1px;font-size:.67rem}
  .customer-home .section-tabs svg{width:16px;height:16px}
}
