:root {
  --public-accent: #ef6a4f;
  --public-soft: #fff1e9;
  --registered-accent: #a4133c;
  --registered-dark: #1a1a1a;
  --cream: #fffaf4;
  --paper: #ffffff;
  --text: #20242c;
  --muted: #6b7280;
  --line: #e7e4df;
  --success: #16866f;
  --danger: #b42318;
  --radius: 18px;
  --shadow: 0 14px 40px rgba(31, 36, 48, .08);
}
* { box-sizing: border-box; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--text); background: var(--cream); }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; display: block; }
.shell { min-height: 100vh; }
.container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.topbar { position: sticky; top: 0; z-index: 20; background: rgba(255,250,244,.94); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(231,228,223,.8); }
.topbar .container { min-height: 72px; display: flex; align-items: center; gap: 20px; justify-content: space-between; }
.brand { min-height: 48px; display: inline-flex; align-items: center; padding: 7px 12px; border: 1px solid #2f3946; border-radius: 14px; background: #101720; }
.brand img { width: 148px; height: auto; }
.nav { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.nav a { padding: 10px 12px; border-radius: 12px; color: var(--muted); }
.nav a:hover, .nav a[aria-current="page"] { background: var(--public-soft); color: var(--text); }
.button { border: 0; border-radius: 13px; min-height: 44px; padding: 0 18px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-weight: 700; }
.button.primary { background: var(--public-accent); color: #fff; }
.registered .button.primary { background: var(--registered-accent); }
.button.secondary { background: #fff; color: var(--text); border: 1px solid var(--line); }
.button.dark { background: var(--registered-dark); color: #fff; }
.button:disabled { cursor: not-allowed; opacity: .5; }
.hero { padding: 68px 0 44px; display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 36px; }
.hero h1 { margin: 0 0 16px; font-size: clamp(2.3rem, 6vw, 5rem); line-height: .98; letter-spacing: -.055em; max-width: 760px; }
.hero h1 span { color: var(--public-accent); }
.hero p { color: var(--muted); font-size: 1.08rem; max-width: 620px; line-height: 1.7; }
.hero-card { min-height: 320px; border-radius: 32px; background: linear-gradient(135deg, #ffe2d2, #fff5ea); box-shadow: var(--shadow); display: grid; place-items: center; padding: 30px; }
.hero-card .plate { width: min(300px, 80%); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #ffcf66 0 24%, #d85a3e 25% 47%, #f7eadb 48% 100%); box-shadow: inset 0 0 0 16px rgba(255,255,255,.5), 0 30px 60px rgba(97,51,32,.18); }
.section { padding: 28px 0 64px; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.section-head h2 { margin: 0; font-size: clamp(1.6rem, 3vw, 2.4rem); letter-spacing: -.035em; }
.section-head p { margin: 6px 0 0; color: var(--muted); }
.grid { display: grid; gap: 18px; }
.grid.cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 8px 28px rgba(31,36,48,.05); padding: 20px; }
.partner-card { min-height: 220px; display: flex; flex-direction: column; gap: 14px; }
.partner-art { height: 112px; border-radius: 14px; background: linear-gradient(135deg, #ffdfcc, #f3d0a4); }
.partner-card h3, .product-card h3 { margin: 0; }
.meta { color: var(--muted); font-size: .92rem; }
.chips { display: flex; gap: 8px; flex-wrap: wrap; }
.chip { border: 1px solid var(--line); background: #fff; padding: 8px 12px; border-radius: 999px; font-size: .9rem; }
.product-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.product-card { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; }
.price { font-weight: 800; font-size: 1.05rem; }
.cart-dock { position: sticky; bottom: 16px; margin: 16px auto; width: min(720px, calc(100% - 32px)); background: var(--registered-dark); color: #fff; border-radius: 18px; padding: 12px 14px; display: flex; gap: 16px; align-items: center; justify-content: space-between; box-shadow: 0 18px 48px rgba(0,0,0,.25); }
.cart-dock[hidden] { display: none; }
.modal { position: fixed; inset: 0; background: rgba(17,24,39,.52); display: grid; place-items: center; padding: 18px; z-index: 100; }
.modal[hidden] { display: none; }
.modal-panel { width: min(620px, 100%); max-height: calc(100dvh - 36px); overflow: auto; background: #fff; border-radius: 24px; padding: 24px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.field { display: grid; gap: 6px; }
.field.full { grid-column: 1 / -1; }
.field label { font-size: .9rem; font-weight: 700; }
.field input, .field select, .field textarea { width: 100%; min-height: 46px; border: 1px solid #d5d8de; border-radius: 12px; padding: 10px 12px; background: #fff; }
[data-status] { min-height: 24px; color: var(--muted); }
[data-status][data-kind="error"] { color: var(--danger); }
[data-status][data-kind="success"] { color: var(--success); }

.registered { background: #f7f4f2; }
.app-layout { min-height: 100vh; display: grid; grid-template-columns: 250px 1fr; }
.sidebar { background: var(--registered-dark); color: #fff; padding: 26px 18px; position: sticky; top: 0; height: 100vh; }
.sidebar .brand { background: #101720; padding: 8px 10px; border-radius: 12px; }
.sidebar .brand img { filter: none; }
.sidebar nav { display: grid; gap: 6px; margin-top: 32px; }
.sidebar nav a { padding: 12px 14px; border-radius: 12px; color: #d8d8d8; }
.sidebar nav a:hover, .sidebar nav a.active { background: var(--registered-accent); color: #fff; }
.app-main { padding: 34px; max-width: 1320px; width: 100%; margin: 0 auto; }
.app-head { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 26px; }
.app-head h1 { margin: 0; letter-spacing: -.04em; }
.kpi-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.kpi { background: #fff; border-radius: 16px; padding: 18px; border: 1px solid #ebe6e4; }
.kpi strong { display: block; margin-top: 8px; font-size: 1.55rem; }
.panel-grid { margin-top: 18px; display: grid; grid-template-columns: 1.3fr .7fr; gap: 18px; }
.table-wrap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; }
th, td { text-align: left; padding: 12px 10px; border-bottom: 1px solid #ece8e6; white-space: nowrap; }
th { color: var(--muted); font-size: .82rem; text-transform: uppercase; letter-spacing: .04em; }
.badge { display: inline-flex; padding: 6px 9px; border-radius: 999px; background: #f1efee; font-size: .8rem; }
.badge.success { background: #e7f5ef; color: #13715d; }
.badge.accent { background: #f9e5eb; color: var(--registered-accent); }
.mobile-nav { display: none; }

@media (max-width: 920px) {
  .hero { grid-template-columns: 1fr; padding-top: 44px; }
  .hero-card { min-height: 230px; }
  .grid.cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-list { grid-template-columns: 1fr; }
  .app-layout { grid-template-columns: 78px 1fr; }
  .sidebar { padding-inline: 12px; }
  .sidebar .brand img { width: 52px; object-fit: cover; object-position: left; }
  .sidebar nav a { font-size: 0; text-align: center; }
  .sidebar nav a::first-letter { font-size: 1rem; }
  .kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .panel-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .container { width: min(100% - 22px, 1180px); }
  .topbar .container { min-height: 64px; }
  .topbar .nav a:not(.keep-mobile) { display: none; }
  .brand img { width: 126px; }
  .hero { gap: 22px; }
  .hero-card { display: none; }
  .grid.cards { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .app-layout { display: block; padding-bottom: 72px; }
  .sidebar { display: none; }
  .app-main { padding: 22px 14px; }
  .kpi-grid { grid-template-columns: 1fr 1fr; }
  .mobile-nav { position: fixed; bottom: 0; inset-inline: 0; z-index: 60; background: #fff; border-top: 1px solid #ddd8d5; display: grid; grid-template-columns: repeat(auto-fit,minmax(0,1fr)); min-height: 64px; }
  .mobile-nav a { display: grid; place-items: center; font-size: .78rem; color: var(--muted); }
  .mobile-nav a.active { color: var(--registered-accent); font-weight: 800; }
}

.actions{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;margin-top:14px}.inline-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.inline-form label{display:grid;gap:6px;font-size:.86rem;color:var(--muted)}.inline-form input{width:150px}.status-chip{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;background:var(--public-soft);font-size:.78rem;font-weight:700;text-transform:capitalize}
.modal-panel-small{max-width:560px}.stack-form{display:grid;gap:18px}.stack-form fieldset{border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;gap:10px}.stack-form legend{padding:0 6px;font-weight:800}.choice{display:flex;gap:10px;align-items:center;padding:6px 0}.choice input{width:auto;min-height:auto}
.order-result{margin-top:16px;padding:16px;border-radius:14px;background:var(--public-soft);border:1px solid var(--line)}.narrow-page{max-width:760px}.timeline{display:grid;gap:14px}.timeline-row{display:flex;align-items:center;gap:12px;font-weight:700}.timeline-dot{width:12px;height:12px;border-radius:50%;background:var(--success);box-shadow:0 0 0 5px rgba(22,134,111,.12)}
.order-code{display:inline-block;color:var(--muted);font-size:.78rem;font-weight:850;letter-spacing:.04em}.order-success{grid-column:1/-1;color:#f8f5ef;background:linear-gradient(135deg,#17251f,#121a20);border-color:#2e725f;padding:22px}.order-success-copy{display:flex;gap:16px;align-items:center}.order-success-copy h2{margin:4px 0 5px;font-size:clamp(1.35rem,3vw,2rem)}.order-success-copy p{margin:0;color:#bac6c1}.success-check{width:48px;height:48px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:#0f1b16;background:#52d3a7;font-size:1.5rem;font-weight:900}.delivery-pin{display:grid;gap:3px;margin:18px 0;padding:16px;border:1px solid #35594d;border-radius:14px;background:rgba(82,211,167,.08)}.delivery-pin>span{color:#9eb4ac;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.delivery-pin>strong{color:#fff4ce;font-size:2rem;letter-spacing:.14em}.delivery-pin>small,.tracking-note{color:#9eb0aa}.order-success-actions{display:flex;gap:10px;flex-wrap:wrap}.tracking-note{margin:13px 0 0;font-size:.8rem}.catalog-view .order-success .catalog-back{color:#eef3f0}.status-chip{text-transform:none}
.ally-cta{color:#f7a914;font-size:.82rem;font-weight:800}.alliance-page{max-width:1050px;padding-block:48px 80px}.alliance-intro{text-align:center;max-width:800px;margin:0 auto 28px}.alliance-intro h1{margin:8px 0;font-size:clamp(2.2rem,6vw,4.6rem);letter-spacing:-.055em}.alliance-intro>p{color:var(--muted);font-size:1.05rem}.alliance-steps{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:24px}.alliance-steps span{display:flex;gap:8px;align-items:center;color:var(--muted)}.alliance-steps strong{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--public-accent)}.alliance-card{padding:clamp(20px,4vw,38px)}.google-button{width:100%;color:#202124;background:#fff;border:1px solid #d5d8de;box-shadow:0 2px 8px rgba(0,0,0,.06)}.form-divider{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:.82rem;margin:24px 0}.form-divider:before,.form-divider:after{content:"";height:1px;background:var(--line);flex:1}.alliance-card textarea{width:100%;border:1px solid #d5d8de;border-radius:12px;padding:12px;resize:vertical}.alliance-submit{width:100%;min-height:52px}.logo-preview{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px}.logo-preview img{width:70px;height:70px;object-fit:contain;border-radius:12px;background:#fff}.terms-check{grid-template-columns:auto 1fr;align-items:start;line-height:1.5}.terms-check input{width:20px;min-height:20px;margin-top:2px}.terms-check a{color:var(--registered-accent);text-decoration:underline}.application-result{text-align:center;padding:28px;border-radius:18px;background:#edf9f4}.application-result .success-check{margin:0 auto 12px}.success-text{color:var(--success)!important}.legal-copy{line-height:1.7}.legal-copy h1{font-size:clamp(2rem,5vw,3.4rem);letter-spacing:-.04em}.legal-copy h2{margin-top:28px}#alliance-map{height:420px;border-radius:16px;overflow:hidden;background:#dfe5e8;margin-top:10px}
.legal-consent-single{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fbfaf8}.legal-reference-links{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:4px 4px 0 34px;color:var(--muted);font-size:.88rem}.legal-reference-links a{color:var(--registered-accent);font-weight:700;text-decoration:underline}
.arrival-hero{margin:18px 0;padding:22px;border:1px solid var(--line);border-radius:18px;background:#f7f8f9}.arrival-hero span{font-size:.74rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.arrival-hero h2{margin:6px 0}.arrival-hero p{margin:0;color:var(--muted)}.arrival-hero[data-state="nearby"]{border-color:#e4bb55;background:#fff8df}.arrival-hero[data-state="arrived"]{border:2px solid #13936f;background:#e9faf4;box-shadow:0 14px 34px rgba(19,147,111,.15)}.arrival-hero[data-state="arrived"] h2{font-size:clamp(1.65rem,5vw,2.5rem);color:#0b6d53}.arrival-hero[data-state="arrived"] p{color:#214f43;font-weight:700}
.arrival-actions{display:flex;gap:9px;flex-wrap:wrap}.driver-arrived-note{display:grid;gap:4px;padding:12px 14px;border-radius:12px;background:#e9faf4;color:#185b49}.driver-arrived-note span{font-size:.82rem}

.admin-section,.partner-section{margin-top:18px}.application-grid{display:grid;gap:14px}.application-card{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fbfaf9}.application-card.compact{grid-template-columns:82px 1fr}.application-logo{width:100%;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border-radius:16px;color:#fff;background:var(--registered-dark);font-size:2rem;font-weight:900}.application-logo img{width:100%;height:100%;object-fit:contain;background:#fff}.application-card h3{margin:3px 0}.application-card-copy>.section-head{align-items:start;margin-bottom:8px}.info-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.info-list div{padding:9px 11px;border-radius:10px;background:#fff}.info-list dt{color:var(--muted);font-size:.72rem;text-transform:uppercase}.info-list dd{margin:3px 0 0;font-weight:700}.review-actions{display:grid;grid-template-columns:1fr auto auto;gap:9px}.review-actions input{min-height:44px;border:1px solid #d5d8de;border-radius:12px;padding:10px}.subsidy-chip{color:#11624f;background:#e5f7ef;border-color:#bfe9d9}.profile-layout{display:grid;grid-template-columns:190px 1fr;gap:24px}.logo-manager{display:flex;flex-direction:column;gap:10px}.partner-logo-placeholder{width:100%;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border-radius:22px;color:#fff;background:var(--registered-dark);font-size:2.4rem;font-weight:900}.partner-logo-placeholder img{width:100%;height:100%;object-fit:contain;background:#fff}.partner-section textarea,.mini-form textarea{width:100%;border:1px solid #d5d8de;border-radius:12px;padding:10px;resize:vertical}.switch-row{display:flex!important;grid-template-columns:none;gap:10px;align-items:flex-start}.switch-row input{width:20px;min-height:20px}.switch-row span{display:grid;gap:3px}.delivery-benefit{padding:16px;border:1px solid #bfe9d9;border-radius:14px;background:#f0fbf6}.delivery-benefit>label:last-child{margin-top:12px}.catalog-manager-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:18px}.mini-form{display:grid;gap:12px;padding:18px;border:1px solid var(--line);border-radius:16px}.mini-form h3{margin:0}.mini-form label{display:grid;gap:6px;font-weight:700}.mini-form input,.mini-form select{width:100%;min-height:44px;border:1px solid #d5d8de;border-radius:12px;padding:9px 11px}.product-admin-table{margin-top:18px}

/* Home de pedidos: navegación, producto destacado, platos y pedido. */
[hidden] { display: none !important; }
.catalog-view { background: #0c1117; color: #f8f5ef; }
.catalog-view .topbar { background: rgba(12,17,23,.95); border-color: #27303b; }
.catalog-view .topbar .brand { background: #101720; padding: 7px 11px; border-radius: 12px; }
.catalog-view .nav a { color: #b5bdc8; }
.catalog-view .nav a:hover, .catalog-view .nav a[aria-current="page"] { background: #1a222c; color: #fff; }
.catalog-view .public-main { width: min(1680px, calc(100% - 36px)); }
.home-heading { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 24px; padding: 30px 0 18px; }
.home-heading h1 { margin: 5px 0 0; font-size: clamp(1.9rem,3.4vw,3.8rem); line-height: .98; letter-spacing: -.055em; }
.home-heading h1 span { color: #f7a914; }
.commerce-picker { display: grid; gap: 8px; justify-items: end; }
.commerce-picker > span { color: #8f99a5; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; }
.commerce-picker #partner-list { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.commerce-button { min-height: 46px; padding: 7px 14px 7px 8px; border-radius: 15px; border: 1px solid #303a46; background: #151c24; color: #c3cad2; display: inline-flex; align-items: center; gap: 9px; font-weight: 800; }
.commerce-button > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; color: #f7a914; background: #0c1218; }
.commerce-button .free-delivery-tag{padding:3px 6px;border-radius:7px;color:#dff9ef;background:#176a55;font-size:.62rem;text-transform:uppercase;letter-spacing:.04em}
.commerce-button.active, .commerce-button:hover { color: #111820; background: #f7a914; border-color: #f7a914; }
.commerce-button.active > span, .commerce-button:hover > span { background: #111820; }
.catalog-context { display: flex; align-items: baseline; gap: 12px; margin: 0 136px 14px; }
.catalog-context h2 { margin: 0; font-size: 1rem; }
.catalog-context p { margin: 0; color: #8f99a5; font-size: .86rem; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.catalog-page { padding: 28px 0 48px; }
.catalog-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.catalog-toolbar h2 { margin: 3px 0 4px; font-size: clamp(1.8rem,3vw,2.8rem); letter-spacing: -.04em; }
.catalog-toolbar p { margin: 0; color: #9ba4af; }
.catalog-eyebrow { color: #f7a914; font-size: .75rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.catalog-back { color: #f7f3ea; background: #151c24; border: 1px solid #303a47; }
.catalog-layout { display: grid; grid-template-columns: 112px minmax(0,1fr) 360px; gap: 24px; align-items: start; }
.category-rail, .order-panel { position: sticky; top: 96px; border: 1px solid #29323d; background: #171d25; border-radius: 28px; }
.category-rail { padding: 18px 12px; min-height: 520px; }
.category-rail-title { display: block; color: #8e98a5; font-size: .68rem; text-align: center; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 14px; }
.category-rail nav { display: grid; gap: 10px; }
.category-nav-button { width: 100%; padding: 10px 5px; border: 0; border-radius: 20px; color: #aab3be; background: transparent; display: grid; place-items: center; gap: 6px; }
.category-nav-button > span { width: 46px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 16px; background: #0d131a; color: #f7a914; font-weight: 900; font-size: 1.05rem; border: 1px solid #26303c; }
.category-nav-button small { max-width: 84px; overflow: hidden; text-overflow: ellipsis; }
.category-nav-button:hover, .category-nav-button.active { background: #f7a914; color: #111820; font-weight: 800; }
.category-nav-button.active > span, .category-nav-button:hover > span { background: #111820; border-color: #111820; }
.catalog-main { min-width: 0; }
.featured-product { min-height: 430px; border: 1px solid #2d3540; border-radius: 32px; padding: clamp(26px,4vw,56px); overflow: hidden; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(280px,.95fr); align-items: center; gap: 34px; background: radial-gradient(circle at 75% 45%,rgba(247,169,20,.2),transparent 26%),linear-gradient(135deg,#17191d,#0d1116 70%); box-shadow: 0 24px 65px rgba(0,0,0,.32); }
.featured-copy { position: relative; z-index: 1; }
.featured-badge { display: inline-flex; padding: 9px 14px; border-radius: 999px; color: #ffd789; background: rgba(247,169,20,.12); border: 1px solid rgba(247,169,20,.36); font-weight: 800; }
.featured-copy h3 { margin: 20px 0 12px; max-width: 700px; font-size: clamp(3rem,6vw,6.6rem); line-height: .88; letter-spacing: -.065em; }
.featured-copy p { color: #b6bdc6; line-height: 1.7; max-width: 570px; }
.featured-actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 25px; }
.featured-actions > strong { color: #ffd26f; font-size: 1.6rem; }
.featured-button, .order-cta { background: #f7a914; color: #121820; box-shadow: 0 12px 32px rgba(247,169,20,.2); }
.featured-media { min-height: 310px; border-radius: 28px; overflow: hidden; border: 1px solid #3a414a; background: #10151b; }
.featured-media img, .product-media img { width: 100%; height: 100%; object-fit: cover; }
.product-media-fallback { position: relative; display: grid; place-items: center; background: radial-gradient(circle at 35% 32%,#f7a914 0 9%,transparent 10%),radial-gradient(circle at 62% 60%,#ef6a4f 0 16%,transparent 17%),linear-gradient(145deg,#302821,#10151b 72%); }
.product-media-fallback::after { content: ""; width: 56%; aspect-ratio: 1; border-radius: 50%; border: 14px solid rgba(255,255,255,.12); background: radial-gradient(circle,#dc6c3f 0 44%,#f0c36a 45% 62%,#e8e0d2 63%); box-shadow: 0 25px 50px rgba(0,0,0,.35); }
.product-media-fallback span { position: absolute; left: 18px; bottom: 14px; z-index: 1; font-size: .68rem; letter-spacing: .16em; color: #f3d7a0; font-weight: 900; }
.menu-section { scroll-margin-top: 95px; padding: 38px 0 8px; }
.menu-section-head { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.menu-section-head h3 { margin: 4px 0 0; font-size: 2rem; letter-spacing: -.035em; }
.menu-section-head > span { color: #87919d; font-size: .85rem; }
.catalog-login-prompt { align-items: center; padding: 18px 20px; border: 1px solid #303b47; border-radius: 20px; background: linear-gradient(110deg,#171e27,#11171f); }
.catalog-login-prompt h3 { max-width: 680px; font-size: clamp(1.2rem,2.2vw,1.8rem); }
.catalog-login-prompt > a { flex: 0 0 auto; padding: 11px 15px; border-radius: 12px; color: #111820; background: #f7a914; font-weight: 850; }
.menu-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.menu-card { min-height: 188px; display: grid; grid-template-columns: 155px 1fr; overflow: hidden; border: 1px solid #29323c; border-radius: 22px; background: #171d24; }
.product-media { min-height: 188px; overflow: hidden; }
.menu-card-copy { padding: 19px; display: flex; flex-direction: column; min-width: 0; }
.menu-card h4 { margin: 0; font-size: 1.1rem; }
.menu-card p { color: #9fa8b3; font-size: .86rem; line-height: 1.5; flex: 1; }
.menu-card-copy > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.menu-card-copy strong { color: #ffd26f; }
.menu-add { width: 38px; height: 38px; border: 0; border-radius: 12px; background: #f7a914; color: #111820; font-size: 1.45rem; font-weight: 900; }
.order-panel { padding: 24px; }
.order-panel-head { display: flex; justify-content: space-between; gap: 14px; align-items: center; padding-bottom: 18px; border-bottom: 1px solid #2a333d; }
.order-panel h3 { margin: 5px 0 0; font-size: 1rem; }
.order-bag { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: #0d131a; color: #f7a914; font-size: 1.3rem; }
.order-items { display: grid; min-height: 130px; padding: 4px 0; }
.order-empty { color: #8d97a3; text-align: center; align-self: center; font-size: .9rem; }
.order-line { display: grid; grid-template-columns: 42px 1fr auto; gap: 11px; align-items: center; padding: 17px 0; border-bottom: 1px solid #252e38; }
.order-line-icon { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; color: #f7a914; background: #0c1219; font-weight: 900; }
.order-line-copy { min-width: 0; display: grid; gap: 4px; }
.order-line-copy strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: .87rem; }
.order-line-copy span { color: #98a1ac; font-size: .8rem; }
.quantity-control { display: flex; align-items: center; gap: 9px; }
.quantity-control button { width: 30px; height: 30px; padding: 0; border-radius: 9px; border: 1px solid #34404d; color: #eef1f4; background: #111821; font-weight: 900; }
.quantity-control strong { min-width: 12px; text-align: center; }
.order-totals { display: grid; gap: 14px; padding: 20px 0; border-top: 1px solid #303944; }
.order-totals > div { display: flex; justify-content: space-between; gap: 16px; color: #bdc4cc; }
.order-totals strong { color: #f8f6f1; text-align: right; }
.order-totals .order-total { padding-top: 16px; border-top: 1px dashed #343d47; font-size: 1.1rem; font-weight: 800; }
.order-totals .order-total strong { color: #ffd26f; }
.order-cta { width: 100%; }
.order-note { color: #8f98a3; font-size: .76rem; line-height: 1.55; text-align: center; }

/* Checkout basado en el lenguaje visual oscuro de operación. */
.checkout-panel { width: min(900px,100%); color: #f5f2eb; background: #141b24; border: 1px solid #2e3947; border-radius: 22px; }
.checkout-panel .section-head { align-items: center; border-bottom: 1px solid #2b3541; padding-bottom: 16px; }
.checkout-panel .section-head p { color: #9ea8b4; }
.checkout-panel .button.secondary { color: #e9edf1; border-color: #3a4654; background: #111720; }
.checkout-panel .field label, .checkout-panel fieldset legend { color: #f8f5ef; font-weight: 800; }
.checkout-panel .field input, .checkout-panel .field select { color: #f5f7f9; background: #101720; border-color: #394757; border-radius: 12px; }
.checkout-panel .field input::placeholder { color: #8da1ba; }
.checkout-panel .field small { color: #aab4bf; }
.location-choice { display: grid; gap: 12px; }
.location-summary { display: flex; gap: 12px; align-items: center; min-height: 72px; padding: 13px 15px; border: 1px solid #394757; border-radius: 14px; background: #101720; }
.location-summary > span:last-child { display: grid; gap: 3px; }
.location-summary small { display: block; }
.location-summary.is-set { border-color: #2e8d78; background: rgba(46,141,120,.1); }
.location-dot { width: 12px; height: 12px; flex: 0 0 auto; border-radius: 50%; background: #7c8998; box-shadow: 0 0 0 5px rgba(124,137,152,.13); }
.location-summary.is-set .location-dot { background: #38b794; box-shadow: 0 0 0 5px rgba(56,183,148,.13); }
.address-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.location-button { color: #fff; background: #ef654f; }
.map-button { color: #dce4ed; border: 1px solid #415064; background: #111821; }
.location-details { border: 1px solid #303b49; border-radius: 13px; padding: 12px 14px; }
.location-details summary { color: #aab5c2; cursor: pointer; font-weight: 750; }
.coordinate-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding-top: 12px; }
.coordinate-grid label { display: grid; gap: 6px; }
.payment-field { border: 0; padding: 0; margin: 0; }
#payment-options { display: grid; gap: 10px; margin-top: 9px; }
.payment-option { position: relative; min-height: 104px; border: 1px solid #394757; border-radius: 16px; display: grid !important; grid-template-columns: 24px 48px minmax(0,1fr); gap: 14px; align-items: center; padding: 16px 18px; background: #101720; transition: border-color .18s ease, background .18s ease, transform .18s ease; cursor: pointer; }
.payment-option input { position: absolute; opacity: 0; pointer-events: none; }
.payment-choice-marker { width: 20px; height: 20px; border: 2px solid #657386; border-radius: 50%; box-shadow: inset 0 0 0 4px #101720; background: transparent; }
.payment-icon { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid #354354; border-radius: 13px; color: #ffd25f; background: #18222e; font-size: .94rem; font-weight: 900; letter-spacing: -.02em; }
.payment-option small { display: block; }
.payment-copy { min-width: 0; display: grid; gap: 6px; }
.payment-title { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.payment-title b { padding: 4px 8px; border-radius: 999px; color: #9de3ca; background: #183d34; font-size: .67rem; letter-spacing: .03em; text-transform: uppercase; }
.payment-option em { display: grid; gap: 2px; margin-top: 3px; padding: 9px 11px; border: 1px solid #344252; border-radius: 10px; color: #dfe6ed; background: #131d27; font-style: normal; font-size: .78rem; overflow-wrap: anywhere; }
.payment-option em span { color: #9facb9; }
.payment-option:has(input:checked) { border-color: #f7a914; background: linear-gradient(110deg,rgba(247,169,20,.12),#111923); transform: translateY(-1px); }
.payment-option:has(input:checked) .payment-choice-marker { border-color: #f7a914; background: #f7a914; }
.payment-option:has(input:focus-visible) { outline: 3px solid rgba(247,169,20,.3); outline-offset: 2px; }
.payment-security { display: flex; gap: 11px; align-items: flex-start; margin-top: 12px; padding: 12px 14px; border-radius: 13px; color: #c7d0d9; background: #0e151d; }
.payment-security > span { width: 25px; height: 25px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: #102019; background: #65d9ae; font-weight: 900; }
.payment-security p { display: grid; gap: 3px; margin: 0; }
.payment-security small { line-height: 1.45; }
.checkout-account-link { color: #ffd26f; text-decoration: underline; text-underline-offset: 3px; }
.checkout-submit { min-height: 52px; font-size: 1rem; }
.map-selection-panel { width: min(760px,100%); }
.map-modal-actions { display: flex; justify-content: flex-end; margin-bottom: 12px; }
#delivery-map { height: min(56vh,480px); min-height: 320px; margin-top: 16px; border-radius: 16px; overflow: hidden; background: #dfe5e8; }
.map-selection-footer { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 16px; }
.map-selection-footer p { margin: 0; }

/* Inicio público sin selector de comercio. */
.public-hero { grid-template-columns: minmax(0,850px); justify-content: center; text-align: center; padding-block: 58px 34px; }
.public-hero > div { display: grid; justify-items: center; }
.public-hero p { max-width: 700px; color: #aab3be; line-height: 1.7; }
.public-hero .ally-cta { margin-top: 8px; }
.centered-catalog-title { text-align: center; margin: 0 auto 28px; }
.centered-catalog-title p { justify-content: center; }
.public-catalog-layout { grid-template-columns: minmax(0,1fr) 360px; max-width: 1320px; margin: 0 auto; }
.public-catalog-layout .featured-product { max-width: 940px; margin: 0 auto; text-align: center; }
.public-catalog-layout .featured-copy { display: grid; justify-items: center; }
.product-partner { color: #f7a914; font-size: .73rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.menu-card .product-partner { margin-bottom: 7px; }
.empty-state { padding: 50px; text-align: center; border: 1px dashed #34404d; border-radius: 22px; }

/* Seguimiento persistente y PIN local. */
.tracking-recovery { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; border-color: #b9dfd0; background: #eef9f4; }
.tracking-recovery p { margin: 5px 0 0; color: var(--muted); }
.tracking-card { padding: clamp(20px,4vw,32px); }
.tracking-pin { display: grid; gap: 4px; margin: 10px 0 24px; padding: 18px; border: 1px solid #b9dfd0; border-radius: 16px; background: #eef9f4; }
.tracking-pin > span { color: #527368; font-size: .75rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.tracking-pin > strong { color: #15392e; font-size: 2.15rem; letter-spacing: .16em; }
.tracking-pin > small { color: #5c706a; }
.tracking-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--line); }

/* Documento legal legible y navegable. */
.legal-page { max-width: 980px; }
.legal-copy { padding: clamp(24px,5vw,56px); line-height: 1.72; }
.legal-copy h1 { max-width: 780px; margin: 8px 0 15px; font-size: clamp(2.1rem,5vw,4rem); line-height: 1; letter-spacing: -.05em; }
.legal-copy h2 { scroll-margin-top: 100px; margin: 36px 0 8px; font-size: 1.35rem; }
.legal-copy p { color: #4f5864; }
.legal-lead { max-width: 800px; font-size: 1.08rem; }
.legal-alert { margin: 25px 0; padding: 18px 20px; border: 1px solid #e6c775; border-radius: 15px; background: #fff8df; }
.legal-alert p { margin: 5px 0 0; color: #685d3c; }
.legal-index { display: flex; gap: 8px; flex-wrap: wrap; margin: 24px 0 30px; }
.legal-index a { padding: 8px 11px; border: 1px solid var(--line); border-radius: 999px; color: #34404d; background: #faf9f7; font-size: .82rem; font-weight: 750; }
.legal-sources { margin-top: 40px; padding-top: 22px; border-top: 1px solid var(--line); }

/* Acceso unificado. */
.auth-page { min-height: 100vh; background: radial-gradient(circle at 15% 30%,rgba(181,13,61,.1),transparent 28%),#f7f3ed; }
.auth-shell { width: min(1100px,calc(100% - 32px)); margin: 0 auto; padding: clamp(42px,8vw,100px) 0; display: grid; grid-template-columns: 1fr minmax(360px,480px); gap: clamp(36px,8vw,100px); align-items: center; }
.auth-copy h1 { max-width: 620px; margin: 12px 0 18px; font-size: clamp(3rem,6vw,6rem); line-height: .92; letter-spacing: -.06em; }
.auth-copy > p { max-width: 580px; color: #626873; line-height: 1.75; }
.auth-role-list { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 24px; }
.auth-role-list span { padding: 9px 13px; border-radius: 999px; background: #fff; border: 1px solid #e1d9ce; font-weight: 750; }
.auth-card { padding: clamp(24px,4vw,42px); }
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; padding: 5px; margin-bottom: 20px; border-radius: 14px; background: #f1ede7; }
.auth-tabs button { padding: 12px; border: 0; border-radius: 10px; background: transparent; font-weight: 850; }
.auth-tabs button.active { color: white; background: #b50d3d; box-shadow: 0 6px 18px rgba(181,13,61,.2); }
.auth-card .google-button { width: 100%; }
.link-button { border: 0; background: none; padding: 0; font: inherit; color: var(--muted); text-decoration: underline; cursor: pointer; }
.link-button:hover { color: var(--registered-accent); }
.auth-forgot { display: flex; justify-content: flex-end; margin-top: -8px; }
.demo-role-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.unified-login-callout { display: grid; gap: 8px; justify-items: start; padding: 18px; margin-bottom: 16px; border: 1px solid #eadfd3; border-radius: 16px; background: #fcfaf7; }
.unified-login-callout p { margin: 0; color: #6b7079; }

.registered-commerce-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.registered-commerce-card { display: grid; grid-template-columns: 52px 1fr auto; gap: 14px; align-items: center; padding: 14px; color: inherit; text-decoration: none; border: 1px solid #e8e1d8; border-radius: 16px; background: #fcfaf7; }
.registered-commerce-card:hover { border-color: #b50d3d; transform: translateY(-1px); }
.registered-commerce-card > span:nth-child(2) { display: grid; gap: 3px; }
.registered-commerce-card small { color: #727780; }
.registered-commerce-logo { width: 52px; height: 52px; display: grid; place-items: center; overflow: hidden; border-radius: 14px; color: white; background: #15191f; font-weight: 900; }
.registered-commerce-logo img { width: 100%; height: 100%; object-fit: cover; }
.partner-payment-form { display: grid; gap: 12px; margin-top: 16px; padding-top: 16px; border-top: 1px solid #e9e1d8; }

@media (min-width: 1001px) {
  .catalog-view .cart-dock { display: none !important; }
}
@media (max-width: 1280px) {
  .catalog-layout { grid-template-columns: 92px minmax(0,1fr) 320px; gap: 16px; }
  .catalog-layout.public-catalog-layout { grid-template-columns: minmax(0,1fr) 340px; }
  .featured-product { grid-template-columns: 1fr .8fr; min-height: 380px; }
  .featured-copy h3 { font-size: clamp(2.8rem,5vw,5rem); }
  .menu-card { grid-template-columns: 120px 1fr; }
}
@media (max-width: 1000px) {
  .home-heading { grid-template-columns: 1fr; align-items: start; }
  .commerce-picker { justify-items: start; }
  .commerce-picker #partner-list { justify-content: flex-start; }
  .catalog-context { margin-inline: 4px; }
  .catalog-layout { grid-template-columns: 1fr; }
  .catalog-layout.public-catalog-layout { grid-template-columns: 1fr; }
  .category-rail { position: static; min-height: auto; padding: 10px; border-radius: 20px; }
  .category-rail-title { display: none; }
  .category-rail nav { display: flex; overflow-x: auto; }
  .category-nav-button { min-width: 92px; }
  .order-panel { position: static; }
  .featured-product { grid-template-columns: 1fr .75fr; }
}
@media (max-width: 700px) {
  .home-heading { padding-top: 22px; }
  .home-heading h1 { font-size: 2.25rem; }
  .catalog-context { display: grid; gap: 4px; }
  .catalog-context p { white-space: normal; }
  .catalog-view .public-main { width: min(100% - 18px,1680px); }
  .catalog-login-prompt { align-items: flex-start; }
  .payment-option { grid-template-columns: 22px 42px minmax(0,1fr); gap: 10px; padding: 14px 12px; }
  .payment-icon { width: 42px; height: 42px; }
  .payment-title { align-items: flex-start; flex-direction: column; gap: 5px; }
  .tracking-recovery { align-items: stretch; flex-direction: column; }
  .catalog-toolbar { align-items: start; }
  .catalog-toolbar p { display: none; }
  .catalog-back { padding-inline: 12px; }
  .featured-product { min-height: 510px; grid-template-columns: 1fr; padding: 26px 22px; }
  .featured-copy h3 { font-size: 3.25rem; }
  .featured-media { min-height: 205px; order: -1; }
  .menu-grid { grid-template-columns: 1fr; }
  .menu-card { grid-template-columns: 112px 1fr; }
  .address-actions { grid-template-columns: 1fr; }
  .coordinate-grid { grid-template-columns: 1fr; }
  .checkout-panel { padding: 18px; }
  .map-selection-footer { align-items: stretch; flex-direction: column; }
  .order-success-copy{align-items:flex-start}.order-success-actions{display:grid}.order-success-actions .button{width:100%}
}
@media (max-width: 760px) {
  .application-card,.application-card.compact,.profile-layout,.catalog-manager-grid{grid-template-columns:1fr}.application-logo{width:88px}.review-actions{grid-template-columns:1fr}.info-list{grid-template-columns:1fr}.alliance-page{padding-top:28px}.alliance-card{padding:18px}#alliance-map{height:330px}
  .auth-shell{grid-template-columns:1fr;padding-top:36px}.auth-copy h1{font-size:3rem}.demo-role-grid,.registered-commerce-grid{grid-template-columns:1fr}.registered-commerce-card{grid-template-columns:52px 1fr}.registered-commerce-card>span:last-child{grid-column:2}
}

/* Panel público ANGARIN 3.2: sobrio, cálido y distinto del área privada. */
.catalog-view{--public-bg:#171a27;--public-surface:#202538;--public-card:#252b3d;--public-cream:#f7f5ef;--public-muted:#b7b8c2;--public-accent:#c19a5b;--public-line:#343a4d;background:var(--public-bg);color:var(--public-cream)}
.catalog-view .shell{background:var(--public-bg)}
.catalog-view .topbar{border-bottom-color:var(--public-line);background:rgba(23,26,39,.94);backdrop-filter:blur(16px)}
.catalog-view .topbar .brand{border-color:var(--public-line);background:#131622}
.catalog-view .topbar .brand img{max-height:36px}
.catalog-view .nav a{color:var(--public-muted)}
.catalog-view .nav a:hover,.catalog-view .nav a[aria-current=page]{color:var(--public-cream)}
.catalog-view .public-main{width:min(100% - 34px,1440px)}
.catalog-view .public-hero{padding-block:38px 24px}
.catalog-view .public-hero h1{max-width:900px;margin:13px 0 10px;font-size:clamp(2.7rem,5.3vw,5.4rem);line-height:.94;letter-spacing:-.055em}
.catalog-view .public-hero h1 span{color:var(--public-accent)}
.catalog-view .catalog-eyebrow,.catalog-view .ally-cta,.catalog-view .product-partner{color:var(--public-accent)}
.catalog-view .ally-cta{font-size:.86rem;text-underline-offset:4px}
.catalog-view .home-catalog{padding-top:12px}
.catalog-view .public-catalog-layout{grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}
.catalog-view .featured-product{min-height:410px;border-color:var(--public-line);background:linear-gradient(140deg,#252b3d,#1d2233);box-shadow:0 22px 54px rgba(7,9,18,.24)}
.catalog-view .featured-badge{color:#1b1e2c;background:var(--public-accent)}
.catalog-view .featured-copy p{color:var(--public-muted)}
.catalog-view .featured-actions strong{color:var(--public-cream)}
.catalog-view .featured-button,.catalog-view .order-cta{color:#191c29;background:var(--public-accent);box-shadow:none}
.catalog-view .featured-button:hover,.catalog-view .order-cta:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}
.catalog-view .featured-media,.catalog-view .product-media{background:#1b1f2e}
.catalog-view .product-media-fallback{background:radial-gradient(circle at 28% 24%,rgba(193,154,91,.18) 0 8%,transparent 9%),linear-gradient(145deg,#252b3d,#171a27 72%)}
.catalog-view .product-media-fallback:after{border-color:rgba(247,245,239,.12);background:radial-gradient(circle,#30374e 0 44%,#c19a5b 45% 61%,#ece5d8 62%)}
.catalog-view .product-media-fallback span{color:#e6d2af}
.catalog-view .menu-section{padding-top:22px}
.catalog-view .catalog-login-prompt{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:13px 15px;border:1px solid var(--public-line);border-radius:15px;background:var(--public-surface)}
.catalog-view .catalog-login-prompt>div{display:grid;gap:3px}
.catalog-view .catalog-login-prompt strong{font-size:.86rem}
.catalog-view .catalog-login-prompt span{color:var(--public-muted);font-size:.77rem}
.catalog-view .catalog-login-prompt>a{flex:0 0 auto;padding:8px 11px;border:1px solid #555d75;border-radius:10px;color:var(--public-cream);background:transparent;font-size:.78rem;font-weight:800}
.catalog-view .public-category-filter{display:flex;gap:8px;overflow:auto;padding:2px 1px 13px;scrollbar-width:thin}
.catalog-view .public-category-filter button{flex:0 0 auto;padding:9px 14px;border:1px solid var(--public-line);border-radius:999px;color:var(--public-muted);background:transparent;font-weight:750;transition:border-color .18s ease,color .18s ease,background .18s ease}
.catalog-view .public-category-filter button:hover{color:var(--public-cream);border-color:#596079}
.catalog-view .public-category-filter button.active{color:var(--public-cream);border-color:var(--public-accent);background:rgba(193,154,91,.12)}
.catalog-view .menu-grid{gap:14px}
.catalog-view .menu-card{border-color:#ded8cb;background:var(--public-cream);color:#202331;box-shadow:0 10px 26px rgba(6,8,15,.12);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.catalog-view .menu-card:hover{transform:translateY(-2px);border-color:#c8bea9;box-shadow:0 16px 32px rgba(6,8,15,.18)}
.catalog-view .menu-card p{color:#6d707b}
.catalog-view .menu-card .product-partner{color:#5a627b}
.catalog-view .menu-card-copy strong{color:#242a46}
.catalog-view .menu-add{color:var(--public-cream);background:#29304f;transition:transform .16s ease,background .16s ease}
.catalog-view .menu-add:hover{transform:scale(1.06);background:#1f2540}
.catalog-view .order-panel{top:88px;padding:22px;border-color:var(--public-line);background:var(--public-surface);box-shadow:0 18px 45px rgba(7,9,17,.2);transition:border-color .2s ease,box-shadow .2s ease,transform .25s ease}
.catalog-view .order-panel.cart-focus{border-color:var(--public-accent);box-shadow:0 0 0 3px rgba(193,154,91,.12),0 18px 45px rgba(7,9,17,.25)}
.catalog-view .order-panel-head{border-bottom-color:var(--public-line)}
.catalog-view .order-panel-tools{display:flex;align-items:center;gap:8px}
.catalog-view .order-bag{color:var(--public-accent);background:#171a27}
.catalog-view .order-panel-close{display:none;width:40px;height:40px;border:1px solid var(--public-line);border-radius:12px;color:var(--public-cream);background:#171a27;font-size:1.35rem}
.catalog-view .order-items{min-height:112px}
.catalog-view .order-empty{display:grid;gap:5px;color:var(--public-muted)}
.catalog-view .order-empty strong{color:var(--public-cream);font-size:.92rem}
.catalog-view .order-line{border-bottom-color:var(--public-line)}
.catalog-view .order-line-icon{color:var(--public-accent);background:#171a27}
.catalog-view .order-line-copy span{color:var(--public-muted)}
.catalog-view .order-remove{justify-self:start;padding:0;border:0;color:#d3b47f;background:transparent;font-size:.72rem;text-decoration:underline;text-underline-offset:3px}
.catalog-view .quantity-control button{border-color:#4a5268;color:var(--public-cream);background:#171a27}
.catalog-view .order-totals{border-top-color:var(--public-line)}
.catalog-view .order-totals>div{color:var(--public-muted)}
.catalog-view .order-totals .order-total{border-top-color:#4a5165}
.catalog-view .order-totals .order-total strong{color:var(--public-accent)}
.catalog-view .order-note{color:#9699a7}
.catalog-view .public-cart-button{border:1px solid var(--public-accent);color:#191c29;background:var(--public-accent);font-weight:850}
.catalog-view .public-cart-button[hidden]{display:none}
.catalog-view .cart-dock{display:none!important}
.catalog-view .cart-backdrop{position:fixed;inset:0;z-index:108;border:0;background:rgba(7,9,16,.66);backdrop-filter:blur(3px)}
.catalog-view .cart-backdrop[hidden]{display:none}
.catalog-view .empty-state{border-color:var(--public-line);color:var(--public-muted);background:var(--public-surface)}
.catalog-view .empty-state h3{color:var(--public-cream)}
.public-skeleton>span,.skeleton-grid>span{display:block;border-radius:16px;background:linear-gradient(100deg,#252b3d 25%,#30374b 42%,#252b3d 60%);background-size:200% 100%;animation:public-shimmer 1.35s infinite linear}
.public-skeleton{display:grid!important;align-content:center;gap:16px}
.public-skeleton>span:nth-child(1){width:120px;height:28px}.public-skeleton>span:nth-child(2){width:62%;height:70px}.public-skeleton>span:nth-child(3){width:42%;height:22px}
.skeleton-grid{margin-top:18px}.skeleton-grid>span{min-height:188px;border:1px solid #30374b}
@keyframes public-shimmer{to{background-position:-200% 0}}
@keyframes public-cart-pulse{50%{transform:scale(1.06);box-shadow:0 0 0 6px rgba(193,154,91,.13)}}
.catalog-view .count-pulse{animation:public-cart-pulse .3s ease}

@media(max-width:1000px){
  .catalog-view .public-catalog-layout{grid-template-columns:1fr}
  .catalog-view .order-panel{position:fixed;inset:0 0 0 auto;z-index:110;width:min(410px,100%);height:100dvh;overflow:auto;border-radius:26px 0 0 26px;transform:translateX(105%)}
  .catalog-view .order-panel.is-open{transform:translateX(0)}
  .catalog-view .order-panel-close{display:grid;place-items:center}
  .catalog-view.cart-drawer-open,.cart-drawer-open{overflow:hidden}
}
@media(max-width:700px){
  .catalog-view .public-main{width:min(100% - 20px,1440px)}
  .catalog-view .public-hero{padding-block:28px 16px}
  .catalog-view .public-hero h1{font-size:clamp(2.35rem,12vw,3.7rem)}
  .catalog-view .featured-product{min-height:480px;padding:22px 18px}
  .catalog-view .featured-copy h3{font-size:clamp(2.5rem,13vw,3.5rem)}
  .catalog-view .catalog-login-prompt{align-items:flex-start;flex-direction:column}
  .catalog-view .catalog-login-prompt>a{width:100%;text-align:center}
  .catalog-view .menu-card{grid-template-columns:108px 1fr;min-height:176px}
  .catalog-view .product-media{min-height:176px}
  .catalog-view .menu-card-copy{padding:15px}
}
@media(prefers-reduced-motion:reduce){.public-skeleton>span,.skeleton-grid>span,.catalog-view .count-pulse{animation:none}.catalog-view .menu-card,.catalog-view .menu-add,.catalog-view .order-panel{transition:none}}

/* Panel privado del cliente: identidad propia, catálogo completo y movilidad. */
.client-app{--client-ink:#171329;--client-purple:#5b3ff1;--client-purple-dark:#3f2ab9;--client-lilac:#ebe7ff;--client-coral:#ff6b57;--client-mint:#dff8ec;--client-bg:#f6f5fb;background:var(--client-bg);color:var(--client-ink)}
.client-shell{min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr)}
.client-sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;display:flex;flex-direction:column;color:#fff;background:linear-gradient(180deg,#201943 0%,#151126 100%);z-index:30}.client-sidebar .brand{align-self:flex-start;border-color:#4a426b;background:#120f20}.client-sidebar nav{display:grid;gap:7px;margin-top:34px}.client-sidebar nav a{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:13px;color:#c7c0df;font-weight:700}.client-sidebar nav a span{width:24px;text-align:center;font-size:1.1rem}.client-sidebar nav a:hover,.client-sidebar nav a.active{color:#fff;background:linear-gradient(90deg,#5b3ff1,#775cff)}.client-help{margin-top:auto;padding:16px;border:1px solid #3c345c;border-radius:17px;background:rgba(255,255,255,.055)}.client-help p{margin:6px 0 12px;color:#aba3c6;font-size:.82rem;line-height:1.45}.client-help a{color:#baaefe;font-size:.82rem;font-weight:800}
.client-main{min-width:0;width:100%;max-width:1540px;margin:0 auto;padding:28px clamp(22px,3vw,48px) 100px}.client-topbar{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:22px}.client-topbar h1{margin:3px 0 0;font-size:clamp(1.7rem,3vw,2.35rem);letter-spacing:-.04em}.client-kicker{color:var(--client-purple);font-size:.71rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.client-top-actions{display:flex;gap:12px;align-items:center}.client-search{width:min(440px,38vw);min-height:48px;padding:0 15px;display:flex;gap:10px;align-items:center;border:1px solid #e3e0eb;border-radius:15px;background:#fff;box-shadow:0 7px 22px rgba(30,25,60,.04)}.client-search span{font-size:1.4rem;color:#847e92}.client-search input{width:100%;border:0;outline:0;background:transparent}.client-avatar{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;color:#fff;background:linear-gradient(135deg,var(--client-coral),#ff9760);font-weight:900}.client-status{min-height:22px;margin:0 0 12px;font-size:.86rem}.client-status[data-kind=error]{color:var(--danger)}.client-status[data-kind=success]{color:#16775c}
.client-hero{min-height:300px;padding:clamp(28px,4vw,52px);display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:30px;align-items:center;overflow:hidden;border-radius:30px;color:#fff;background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.17),transparent 24%),linear-gradient(125deg,#4c32da,#7860f8);box-shadow:0 24px 55px rgba(77,52,202,.22)}.client-hero .client-kicker{color:#dcd7ff}.client-hero h2{max-width:720px;margin:8px 0 12px;font-size:clamp(2.25rem,4.8vw,4.8rem);line-height:.96;letter-spacing:-.055em}.client-hero p{max-width:650px;margin:0;color:#e1ddff;line-height:1.65}.client-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.client-primary{color:#fff!important;background:var(--client-coral)!important}.client-primary:hover{background:#f45542!important}.client-ghost{color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28)}.client-hero-art{width:205px;height:205px;display:grid;place-content:center;text-align:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(255,255,255,.11);box-shadow:inset 0 0 0 16px rgba(255,255,255,.035),0 24px 40px rgba(35,21,118,.28)}.client-hero-art span,.client-hero-art small{color:#ddd7ff}.client-hero-art strong{font-size:4rem;line-height:1}
.client-shortcuts{position:relative;margin:-20px 22px 36px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.client-shortcuts>a{min-height:82px;padding:14px;display:flex;gap:12px;align-items:center;border:1px solid #e7e3ee;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(28,23,55,.08)}.client-shortcuts>a>span:last-child{min-width:0;display:grid;gap:3px}.client-shortcuts small{color:#7e788a;font-size:.76rem}.shortcut-icon{width:44px;height:44px;flex:0 0 auto;display:grid;place-items:center;border-radius:14px;font-size:1.1rem;font-weight:900}.shortcut-icon.food{color:#4d36cf;background:#e9e5ff}.shortcut-icon.ride{color:#b64331;background:#ffe5df}.shortcut-icon.orders{color:#13705a;background:#dff7ed}.shortcut-icon.place{color:#9d6615;background:#fff0ca}
.client-section{padding:38px 0;scroll-margin-top:20px}.client-section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:20px}.client-section-head h2{margin:5px 0 4px;font-size:clamp(1.7rem,3vw,2.7rem);letter-spacing:-.045em}.client-section-head p{margin:0;color:#777181}.client-count{padding:9px 13px;border-radius:999px;color:#4f39ca;background:var(--client-lilac);font-weight:850;font-size:.82rem}.merchant-pills{display:flex;gap:9px;margin-bottom:18px;overflow-x:auto;padding-bottom:4px}.merchant-pills a{min-width:max-content;display:flex;gap:8px;align-items:center;padding:8px 12px;border:1px solid #e3dfec;border-radius:999px;background:#fff;font-size:.83rem;font-weight:800}.merchant-pills img,.merchant-pills a>span{width:26px;height:26px;display:grid;place-items:center;object-fit:cover;border-radius:50%;color:#fff;background:#312965}
.client-marketplace{display:grid;gap:22px}.merchant-block{overflow:hidden;border:1px solid #e5e1eb;border-radius:26px;background:#fff;box-shadow:0 12px 34px rgba(28,23,55,.055);scroll-margin-top:20px}.merchant-head{padding:22px 24px;display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid #eeeaf2;background:linear-gradient(100deg,#fff,#fbfaff)}.merchant-identity{display:flex;gap:15px;align-items:center}.merchant-identity>img,.merchant-identity>span{width:64px;height:64px;display:grid;place-items:center;object-fit:cover;border-radius:17px;color:#fff;background:linear-gradient(135deg,#2d255a,#5b3ff1);font-size:1.45rem;font-weight:900}.merchant-identity h3{margin:3px 0;font-size:1.35rem}.merchant-identity p{margin:0;max-width:660px;color:#777181;font-size:.85rem}.merchant-meta{display:grid;justify-items:end;gap:5px}.merchant-meta>span{padding:6px 9px;border-radius:999px;font-size:.72rem;font-weight:850}.merchant-meta .open{color:#126a52;background:#dcf5e9}.merchant-meta .closed{color:#9c3326;background:#ffe1dc}.merchant-meta small{color:#8b8592}.merchant-category{padding:23px 24px}.merchant-category+ .merchant-category{border-top:1px solid #f0edf3}.merchant-category>div:first-child{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.merchant-category h4{margin:0;font-size:1.14rem}.merchant-category>div:first-child span{color:#918b98;font-size:.76rem}.client-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.client-product-card{min-width:0;overflow:hidden;border:1px solid #ebe7ef;border-radius:18px;background:#fff;transition:.18s ease}.client-product-card:hover{transform:translateY(-3px);border-color:#cfc5ff;box-shadow:0 12px 25px rgba(45,34,105,.1)}.client-product-media{height:138px;overflow:hidden;background:#eeeafd}.client-product-media img{width:100%;height:100%;object-fit:cover}.client-product-media.fallback{display:grid;place-items:center;color:#6751dc;background:radial-gradient(circle at 70% 30%,#fff,transparent 24%),linear-gradient(135deg,#eeeaff,#dcd4ff);font-weight:950;letter-spacing:.1em}.client-product-copy{padding:14px}.client-product-copy>span{color:#725ee1;font-size:.67rem;font-weight:900;text-transform:uppercase}.client-product-copy h5{margin:5px 0 5px;font-size:1rem}.client-product-copy p{min-height:38px;margin:0 0 10px;display:-webkit-box;overflow:hidden;color:#797381;font-size:.78rem;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}.client-product-copy>div{display:flex;justify-content:space-between;align-items:center}.client-product-copy button{width:36px;height:36px;border:0;border-radius:12px;color:#fff;background:var(--client-purple);font-size:1.35rem}.client-product-copy button:disabled{background:#aaa}.client-product-copy>small{display:block;margin-top:8px;color:#9a94a0;font-size:.7rem}.client-loading,.client-empty{padding:42px;text-align:center;border:1px dashed #d6d0df;border-radius:22px;background:#fff}.client-empty p{color:#7b7582}
.client-ride-section{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(480px,1.3fr);gap:28px;align-items:start}.ride-copy{padding:22px 8px}.ride-copy h2{margin:8px 0 12px;font-size:clamp(2rem,4vw,3.8rem);line-height:1;letter-spacing:-.05em}.ride-copy>p{color:#777181;line-height:1.65}.ride-copy ol{list-style:none;padding:0;display:grid;gap:12px;margin:24px 0}.ride-copy li{display:flex;gap:11px;align-items:center;font-weight:750}.ride-copy li span{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;color:#fff;background:var(--client-purple);font-size:.78rem}.ride-history{margin-top:24px;padding:16px;display:grid;gap:4px;border-radius:16px;background:#ebe7ff}.ride-history span,.ride-history small{color:#6c609d;font-size:.76rem}.ride-card{padding:20px;border:1px solid #e2ddea;border-radius:26px;background:#fff;box-shadow:0 16px 40px rgba(28,23,55,.08)}.ride-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ride-fields label{display:grid;gap:6px}.ride-fields label>span{font-size:.77rem;font-weight:850}.ride-fields input{min-height:46px;padding:10px 12px;border:1px solid #dcd6e5;border-radius:12px}.ride-map-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.ride-map-toolbar button{min-height:38px;padding:0 11px;border:1px solid #ddd7e5;border-radius:10px;background:#fff;font-size:.76rem;font-weight:800}.ride-point span{display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:50%;background:#b8b2bf}.ride-point.active{color:#4c35ce;border-color:#a99af2;background:#eeeaff}.ride-point.active span{background:#5b3ff1}.ride-location{margin-left:auto;color:#b34332!important;background:#fff0ec!important}.ride-card #mototaxi-map{height:390px;border-radius:18px;background:#e7e5ed;overflow:hidden}.ride-summary{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:14px}.ride-summary>span{color:#736d7b;font-size:.8rem}.ride-summary .button{min-width:170px}.ride-marker-wrap{background:transparent!important;border:0!important}.ride-marker{width:34px;height:34px;display:grid;place-items:center;border:4px solid #fff;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);color:#fff;box-shadow:0 5px 14px rgba(0,0,0,.26);font-weight:900}.ride-marker.origin{background:#5b3ff1}.ride-marker.destination{background:#ff6b57}.ride-marker-wrap .ride-marker{font-size:0}.ride-marker-wrap .ride-marker:after{content:attr(class);display:none}
.client-order-list{display:grid;gap:9px}.client-order-card{padding:14px 16px;display:grid;grid-template-columns:42px minmax(180px,1fr) auto auto auto;gap:15px;align-items:center;border:1px solid #e6e1eb;border-radius:17px;background:#fff}.client-order-card>div{display:grid;gap:3px}.client-order-card small{color:#88828e}.order-symbol{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:#4f38d0;background:#e9e5ff;font-weight:900}.client-order-status{padding:6px 9px;border-radius:999px;color:#4e3ca4;background:#eeeaff;font-size:.72rem;font-weight:800}.client-address-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.client-address-card{min-height:120px;padding:18px;display:grid;grid-template-columns:40px 1fr auto;gap:12px;border:1px solid #e5e0ea;border-radius:18px;background:#fff}.client-address-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#b54635;background:#ffe5df}.client-address-card p{margin:5px 0;color:#716b78;font-size:.82rem}.client-address-card small{color:#9a939f}.client-address-card b{align-self:start;padding:5px 8px;border-radius:999px;color:#176d56;background:#def5e9;font-size:.66rem}
.client-cart{position:fixed;top:0;right:0;width:min(390px,100%);height:100dvh;padding:22px;display:flex;flex-direction:column;z-index:120;color:#fff;background:#1a1530;box-shadow:-20px 0 55px rgba(20,14,48,.28)}.client-cart[hidden]{display:none}.cart-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:17px;border-bottom:1px solid #37304e}.cart-head>div{display:grid;gap:3px}.cart-head span{color:#a9a1c0;font-size:.75rem;text-transform:uppercase}.cart-head strong{font-size:1.25rem}.cart-head button,.modal-close{width:38px;height:38px;border:0;border-radius:50%;font-size:1.5rem}.cart-head button{color:#fff;background:#322b49}.client-cart-items{display:grid;gap:9px;overflow:auto;padding:18px 0}.client-cart-items article{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px;border-radius:14px;background:#27203e}.client-cart-items article>div:first-child{display:grid;gap:3px}.client-cart-items small{color:#aaa2bd}.client-qty{display:flex;gap:9px;align-items:center}.client-qty button{width:30px;height:30px;border:0;border-radius:9px;color:#fff;background:#443968}.cart-total-row{margin-top:auto;padding:18px 0;display:flex;justify-content:space-between;border-top:1px solid #37304e}.cart-fab{position:fixed;right:24px;bottom:24px;z-index:90;min-height:54px;padding:0 18px;border:0;border-radius:18px;color:#fff;background:#1d1733;box-shadow:0 16px 34px rgba(27,19,60,.28);font-weight:800}.cart-fab[hidden]{display:none}.cart-fab>span{min-width:26px;height:26px;margin-right:8px;display:inline-grid;place-items:center;border-radius:8px;background:var(--client-coral)}
.client-modal{border-radius:24px}.client-modal .section-head{align-items:start}.client-modal fieldset{border-color:#e0d9e8}.client-modal .field input,.client-modal .field select{border-color:#d9d3e1}.client-payment{position:relative;margin-top:8px;padding:13px;display:grid!important;grid-template-columns:20px 42px 1fr;gap:11px;align-items:center;border:1px solid #e0d9e8;border-radius:14px}.client-payment>span:nth-child(2){width:40px;height:40px;display:grid;place-items:center;border-radius:11px;color:#4e36d0;background:#ece8ff;font-weight:900}.client-payment>span:last-child{display:grid;gap:3px}.client-payment small{color:#7c7584}.client-payment em{color:#4d3bb0;font-size:.72rem}.client-payment:has(input:checked){border-color:#8270e7;background:#f4f2ff}.checkout-client-total{padding:15px;display:grid;grid-template-columns:1fr auto;gap:4px;border-radius:14px;background:#f3f0fa}.checkout-client-total small{grid-column:1/-1;color:#81798b}.success-client-modal{text-align:center;max-width:560px}.success-client-modal .success-check{margin:0 auto 12px}.success-client-modal .delivery-pin{text-align:left}.client-mobile-nav{display:none}
@media(max-width:1250px){.client-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.client-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.client-ride-section{grid-template-columns:1fr}.ride-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.ride-copy .client-kicker,.ride-copy h2,.ride-copy>p,.ride-copy .ride-history{grid-column:1}.ride-copy ol{grid-column:2;grid-row:1/5}}
@media(max-width:900px){.client-shell{grid-template-columns:78px minmax(0,1fr)}.client-sidebar{padding:18px 10px}.client-sidebar .brand{padding:7px}.client-sidebar .brand img{width:48px;height:36px;object-fit:cover;object-position:left}.client-sidebar nav a{justify-content:center;padding:12px;font-size:0}.client-sidebar nav a span{font-size:1.1rem}.client-help{display:none}.client-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-address-grid{grid-template-columns:1fr 1fr}.client-order-card{grid-template-columns:42px 1fr auto}.client-order-card .client-order-status{grid-column:2}.client-order-card .button{grid-column:3;grid-row:1/3}.client-order-card>strong{grid-column:3;grid-row:3}.client-search{width:42vw}.client-hero{grid-template-columns:1fr}.client-hero-art{display:none}}
@media(max-width:650px){.client-shell{display:block}.client-sidebar{display:none}.client-main{padding:18px 12px 88px}.client-topbar{align-items:flex-start}.client-top-actions{align-items:center}.client-search{width:48px;padding:0;justify-content:center}.client-search input{position:absolute;width:1px;height:1px;opacity:0}.client-search:focus-within{position:absolute;left:12px;right:12px;width:auto;padding:0 15px;z-index:20}.client-search:focus-within input{position:static;width:100%;height:auto;opacity:1}.client-hero{min-height:330px;padding:28px 22px;border-radius:24px}.client-hero h2{font-size:2.65rem}.client-shortcuts{margin:-14px 8px 24px;grid-template-columns:1fr 1fr}.client-shortcuts>a{min-height:74px;padding:10px}.shortcut-icon{width:38px;height:38px}.client-section{padding:30px 0}.client-section-head{align-items:start}.client-count{display:none}.merchant-head{padding:18px;align-items:flex-start}.merchant-identity>img,.merchant-identity>span{width:52px;height:52px}.merchant-meta small{display:none}.merchant-identity p{display:none}.merchant-category{padding:18px 12px}.client-product-grid{grid-template-columns:1fr 1fr;gap:8px}.client-product-media{height:112px}.client-product-copy{padding:11px}.client-product-copy p{display:none}.client-product-copy h5{min-height:38px}.client-product-copy>small{display:none}.ride-copy{display:block;padding-inline:4px}.ride-fields{grid-template-columns:1fr}.ride-card{padding:12px;border-radius:20px}.ride-card #mototaxi-map{height:340px}.ride-location{width:100%;margin-left:0}.ride-summary{align-items:stretch;flex-direction:column}.ride-summary .button{width:100%}.client-address-grid{grid-template-columns:1fr}.client-order-card{grid-template-columns:38px 1fr auto;gap:9px}.client-order-card .button{padding:0 10px;font-size:.72rem}.client-mobile-nav{position:fixed;bottom:0;left:0;right:0;min-height:66px;display:grid;grid-template-columns:repeat(4,1fr);z-index:80;border-top:1px solid #e3dee8;background:#fff}.client-mobile-nav a{display:grid;place-items:center;color:#716a7b;font-size:.72rem;font-weight:750}.cart-fab{right:12px;bottom:76px}.merchant-pills{position:sticky;top:0;padding:8px 0;z-index:25;background:var(--client-bg)}}

.ride-marker-wrap .ride-marker b{display:block;transform:rotate(45deg);font-size:.75rem}

/* Dashboard contextual 3.1: paleta ANGARIN sobria y estados vivos. */
.client-app{--client-ink:#232946;--client-purple:#232946;--client-purple-dark:#232946;--client-lilac:#f0ede5;--client-coral:#c19a5b;--client-mint:#e9f1ed;--client-bg:#f7f5ef;--client-gold:#c19a5b;--client-line:#e3dfd7;--client-muted:#707381;background:#f7f5ef;color:#3a3a44}
.client-sidebar{background:#232946}.client-sidebar nav a{position:relative;color:#d9d9df;transition:background-color .2s ease,color .2s ease}.client-sidebar nav a:hover,.client-sidebar nav a.active{color:#fff;background:#2d355d}.client-sidebar nav a.active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:#c19a5b}.client-sidebar .brand{border-color:#4b5278;background:#1b203b}.client-help{border-color:#444c73;background:#2d355d}.client-help a{color:#d7bc8f}
.client-main{background:#f7f5ef}.client-kicker{color:#5263a6}.client-avatar{color:#232946;background:#c19a5b}.client-search{border-color:#e3dfd7;box-shadow:none}.client-status[data-kind=success]{color:#4d7c68}.client-status[data-kind=error]{color:#b65353}.client-status[data-kind=info]{color:#5263a6}
.client-hero{min-height:290px;grid-template-columns:minmax(0,1fr) minmax(190px,260px);background:#232946;box-shadow:0 14px 32px rgba(35,41,70,.12);transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.client-hero .client-kicker{color:#d7bc8f}.client-hero p{color:#dedee5}.client-primary{color:#232946!important;background:#c19a5b!important}.client-primary:hover{background:#ae884e!important}.client-ghost{color:#fff;background:transparent;border:1px solid #c19a5b}.client-ghost:hover{background:#2d355d}.client-hero.is-loading .hero-context-copy h2,.client-hero.is-loading .hero-context-copy p{opacity:.62}.client-hero.has-update{box-shadow:0 0 0 4px rgba(193,154,91,.24),0 14px 32px rgba(35,41,70,.12)}.client-hero.state-arrived{background:#2d463d}.client-hero.state-delivered{background:#334a42}.client-hero-facts{min-height:170px;padding:26px;display:grid;align-content:center;gap:8px;border:1px solid #4b5278;border-radius:22px;background:#2d355d}.client-hero-facts strong{color:#fff;font-size:clamp(1.5rem,3vw,2.55rem);line-height:1.05}.client-hero-facts small{color:#c8c9d2;line-height:1.5}.active-progress{display:flex;gap:0;margin-top:24px;overflow-x:auto}.active-progress[hidden]{display:none}.active-progress span{position:relative;min-width:88px;padding-top:20px;color:#8f94aa;font-size:.68rem;font-weight:750;text-align:center}.active-progress span:before{content:"";position:absolute;top:6px;left:-50%;right:50%;height:2px;background:#4b5278}.active-progress span:first-child:before{display:none}.active-progress i{position:absolute;top:0;left:calc(50% - 7px);width:14px;height:14px;border:3px solid #4b5278;border-radius:50%;background:#232946;z-index:1}.active-progress span.done{color:#fff}.active-progress span.done:before,.active-progress span.done i{border-color:#c19a5b;background:#c19a5b}
.skeleton-line,.skeleton-card{display:block;overflow:hidden;background:#3a4168}.skeleton-line{height:18px;border-radius:7px}.skeleton-line.short{width:68%}.skeleton-card{height:110px;border-radius:18px;background:#e9e5dc}.skeleton-line:after,.skeleton-card:after{content:"";display:block;width:45%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);animation:client-skeleton 1.2s ease-in-out infinite}@keyframes client-skeleton{from{transform:translateX(-130%)}to{transform:translateX(260%)}}
.client-shortcuts>a{border-color:#e3dfd7;box-shadow:none;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.client-shortcuts>a:hover{transform:translateY(-2px);border-color:#c19a5b}.shortcut-icon.food,.shortcut-icon.ride,.shortcut-icon.orders,.shortcut-icon.place{color:#232946;background:#f0ede5}.client-shortcuts>a:first-child .shortcut-icon{box-shadow:inset 0 -2px #c19a5b}
.live-section{padding-top:28px}.open-now-row,.recommendation-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.open-now-card{min-width:0;padding:15px;display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;border:1px solid #e3dfd7;border-radius:18px;background:#fff;transition:transform .18s ease,border-color .18s ease}.open-now-card:hover{transform:translateY(-2px);border-color:#c19a5b}.open-now-card>img,.open-now-card>span{width:52px;height:52px;display:grid;place-items:center;object-fit:cover;border-radius:14px;color:#fff;background:#232946;font-weight:900}.open-now-card>div{min-width:0;display:grid;gap:3px}.open-now-card small{color:#4d7c68;font-size:.77rem}.open-now-card em{color:#707381;font-size:.69rem;font-style:normal}.open-now-card>b{color:#8f6e3d;font-size:.75rem}.client-empty.compact{grid-column:1/-1;padding:26px}.recommendation-section{padding-top:12px}.recommendation-card{padding:10px;display:grid;grid-template-columns:64px 1fr 38px;gap:11px;align-items:center;border:1px solid #e3dfd7;border-radius:17px;background:#fff;transition:transform .18s ease,border-color .18s ease}.recommendation-card:hover{transform:translateY(-2px);border-color:#c19a5b}.recommendation-card .client-product-media{height:64px;border-radius:12px}.recommendation-card>div{min-width:0;display:grid;gap:3px}.recommendation-card>div span{color:#707381;font-size:.68rem}.recommendation-card>div small{color:#4d7c68;font-size:.7rem}.recommendation-card>button{width:36px;height:36px;border:0;border-radius:11px;color:#232946;background:#c19a5b;font-size:1.2rem}
.client-section-head h2,.merchant-identity h3,.client-product-copy h5{color:#3a3a44}.client-count,.merchant-pills a{color:#232946;background:#fff}.merchant-pills a,.merchant-block,.client-product-card,.client-address-card,.client-order-card,.ride-card{border-color:#e3dfd7;box-shadow:none}.merchant-pills a:hover{border-color:#c19a5b}.merchant-identity>img,.merchant-identity>span,.merchant-pills a>span{background:#232946}.merchant-meta .open{color:#365e4f;background:#e9f1ed}.merchant-meta .closed{color:#8b4646;background:#f4e7e4}.client-product-card:hover{border-color:#c19a5b;box-shadow:0 7px 18px rgba(35,41,70,.07)}.client-product-media.fallback{color:#232946;background:#f0ede5}.client-product-copy>span{color:#707381}.client-product-copy button{color:#232946;background:#c19a5b}.client-order-status{color:#5263a6;background:#e9ebf4}.order-symbol{color:#232946;background:#f0ede5}.ride-copy li span{background:#232946}.ride-history{background:#f0ede5}.ride-history span,.ride-history small{color:#606477}.ride-point.active{color:#232946;border-color:#c19a5b;background:#f7f5ef}.ride-point.active span{background:#c19a5b}.ride-marker.origin{background:#232946}.ride-marker.destination{background:#b88746}
.account-section{padding-bottom:64px}.account-card{padding:22px;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:14px;align-items:end;border:1px solid #e3dfd7;border-radius:20px;background:#fff}.account-card label{display:grid;gap:7px}.account-card label>span{font-size:.78rem;font-weight:850}.account-card input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #d8d3ca;border-radius:12px;background:#fff}.account-card input:disabled{color:#707381;background:#f1efe9}.account-card small{color:#707381;font-size:.68rem}.client-cart{background:#232946}.cart-head button,.client-qty button{background:#2d355d}.cart-fab{color:#fff;background:#232946}.cart-fab>span{color:#232946;background:#c19a5b}.client-payment>span:nth-child(2){color:#232946;background:#f0ede5}.client-payment:has(input:checked){border-color:#c19a5b;background:#faf7f0}
@media(max-width:1100px){.open-now-row,.recommendation-row{grid-template-columns:repeat(2,minmax(0,1fr))}.account-card{grid-template-columns:1fr 1fr}.account-card .button{justify-self:start}}
@media(max-width:650px){.client-hero{grid-template-columns:1fr;min-height:360px}.client-hero-facts{min-height:auto;padding:17px}.active-progress{margin-inline:-6px}.active-progress span{min-width:78px}.open-now-row,.recommendation-row{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:6px}.open-now-card,.recommendation-card{min-width:82vw;scroll-snap-align:start}.account-card{grid-template-columns:1fr}.account-card .button{width:100%}.client-mobile-nav a:first-child{color:#232946}.client-product-copy button{background:#c19a5b}}
@media(prefers-reduced-motion:reduce){.skeleton-line:after,.skeleton-card:after{animation:none}.client-hero,.client-shortcuts>a,.open-now-card,.recommendation-card,.client-product-card{transition:none}}

/* Sesión y bloques históricos plegables 3.3. */
.session-logout{display:flex;align-items:center;justify-content:center;gap:9px;width:calc(100% - 36px);min-height:44px;position:absolute;left:18px;bottom:24px;border:1px solid #454545;border-radius:12px;color:#f3eeee;background:#252525;font-weight:750}.session-logout:hover{border-color:#a86075;background:#351d25}.session-logout span{font-size:1.05rem}.session-logout:disabled{opacity:.6;cursor:wait}.client-sidebar .session-logout{position:static;width:100%;margin-top:10px;border-color:#4b5278;color:#ececf0;background:#1b203b}.client-sidebar .session-logout:hover{border-color:#c19a5b;background:#2d355d}
.history-disclosure{scroll-margin-top:90px}.history-disclosure>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:3px 0;cursor:pointer}.history-disclosure>summary::-webkit-details-marker{display:none}.history-disclosure>summary>span{display:grid;gap:4px}.history-disclosure>summary strong{font-size:clamp(1.25rem,2.4vw,1.8rem);letter-spacing:-.025em}.history-disclosure>summary small{color:var(--muted);font-weight:500}.history-disclosure>summary>b{display:flex;align-items:center;gap:9px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:#faf9f7;font-size:.76rem;white-space:nowrap}.history-disclosure>summary>b:after,.history-disclosure>summary:after{content:"⌄";font-size:1rem;transition:transform .18s ease}.history-disclosure[open]>summary>b:after,.history-disclosure[open]>summary:after{transform:rotate(180deg)}.history-disclosure>summary+*{margin-top:20px}.history-disclosure:not([open]){padding-bottom:20px}
.history-disclosure>summary:has(>b):after{display:none}
.client-history{border-top:1px solid #e3dfd7;border-bottom:1px solid #e3dfd7}.client-history>summary{padding:18px 2px}.client-history>summary>span{display:grid}.client-history>summary>span>strong{font-size:clamp(1.65rem,3vw,2.35rem);color:#3a3a44}.client-history>summary:after{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:#232946;background:#f0ede5}.ride-history-disclosure{margin-top:24px;border:1px solid #e3dfd7;border-radius:16px;background:#f0ede5}.ride-history-disclosure>summary{padding:14px 16px}.ride-history-disclosure>summary span{font-weight:800}.ride-history-disclosure>summary:after{color:#232946}.ride-history-disclosure .ride-history{margin:0;border-radius:0 0 16px 16px;border-top:1px solid #ded8cc}
.mobile-nav button,.client-mobile-nav button{display:grid;place-items:center;border:0;color:var(--muted);background:#fff;font-size:.78rem}.client-mobile-nav button{color:#716a7b;font-size:.72rem;font-weight:750}
@media(max-width:920px){.session-logout{width:54px;left:12px;padding:0;font-size:0}.session-logout span{font-size:1.05rem}}
@media(max-width:650px){.client-mobile-nav{grid-template-columns:repeat(5,1fr)}.history-disclosure>summary{align-items:flex-start}.history-disclosure>summary>b{white-space:normal}.client-history>summary small{font-size:.72rem}}

/* Menú y configuración personal compartidos por todos los paneles. */
.sidebar{display:flex;flex-direction:column}.account-dropdown{position:relative;margin-top:auto;color:#fff}.account-dropdown summary{min-height:46px;padding:11px 13px;display:flex;align-items:center;gap:10px;border:1px solid #4b5278;border-radius:12px;background:#1b203b;cursor:pointer;font-weight:800;list-style:none}.account-dropdown summary::-webkit-details-marker{display:none}.account-dropdown summary b{margin-left:auto;transition:transform .18s ease}.account-dropdown[open] summary b{transform:rotate(180deg)}.account-dropdown>div{display:grid;gap:5px;padding:7px 0 0}.account-dropdown button{width:100%;min-height:42px;padding:9px 13px;border:1px solid #454c65;border-radius:10px;color:#ececf0;background:#252b43;text-align:left;font:inherit;cursor:pointer}.account-dropdown button:hover{border-color:#c19a5b;background:#303754}.account-settings-panel{margin-bottom:22px;scroll-margin-top:20px}.account-settings-panel[hidden],[data-business-settings-panel][hidden]{display:none!important}.account-settings-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.account-settings-form label{display:grid;gap:7px}.account-settings-form input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #d8d3ca;border-radius:12px;background:#fff}.account-settings-form input:disabled{color:#707381;background:#f1efe9}.account-settings-form small{color:var(--muted);font-size:.72rem}.account-settings-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.account-panel-close{width:40px;height:40px;flex:0 0 auto;border:1px solid #d8d3ca;border-radius:50%;color:#555;background:#fff;font-size:1.45rem;cursor:pointer}.client-avatar{border:0;cursor:pointer}.client-sidebar .account-dropdown{margin-top:10px}.client-sidebar .client-help{margin-top:auto}.client-sidebar .account-dropdown summary{border-color:#4b5278}.client-sidebar .account-dropdown button{border-color:#4b5278}.account-card .account-settings-actions{display:flex;gap:10px}.mobile-nav button,.client-mobile-nav button{cursor:pointer}
.account-password-fields{grid-column:1/-1;min-width:0;margin:4px 0 0;padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:14px;border:1px solid #ded8d0;border-radius:16px;background:#faf8f5}.account-password-fields legend{padding:0 8px;color:#252834;font-size:1rem;font-weight:900}.account-password-fields>p,.account-password-help{grid-column:1/-1;margin:0;color:var(--muted);font-size:.78rem;line-height:1.5}.account-password-fields input:disabled{cursor:not-allowed}.client-app .account-password-fields{border-color:#e1dbe7;background:#fbfaff}.account-forgot-link{grid-column:1/-1;justify-self:start;font-size:.82rem}
@media(max-width:920px) and (min-width:651px){.account-dropdown summary{justify-content:center;font-size:0}.account-dropdown summary span{font-size:1rem}.account-dropdown summary b{display:none}.account-dropdown>div{position:absolute;left:0;bottom:52px;min-width:190px;padding:8px;border:1px solid #4b5278;border-radius:12px;background:#1b203b}.account-dropdown button{font-size:.78rem}.sidebar .account-dropdown{margin-inline:-2px}}
@media(max-width:650px){.sidebar{display:none}.account-settings-form{grid-template-columns:1fr}.account-password-fields{grid-template-columns:1fr;padding:15px}.account-password-fields>p,.account-password-help{grid-column:1}.account-settings-actions{flex-direction:column}.account-settings-actions .button{width:100%}.client-mobile-nav{grid-template-columns:repeat(4,1fr)}}
.client-avatar{cursor:default}

/* Acciones de cuenta: entrada directa, sin navegación por anclas ni scroll. */
.sidebar-account-actions{margin-top:auto;display:grid;gap:7px}.sidebar-account-actions button{min-height:44px;padding:11px 13px;display:flex;align-items:center;gap:10px;border:1px solid #454c65;border-radius:12px;color:#ececf0;background:#252b43;text-align:left;font:inherit;font-weight:800;cursor:pointer}.sidebar-account-actions button:first-child{border-color:#4b5278;background:#2d355d}.sidebar-account-actions button:hover{border-color:#c19a5b;background:#303754}.client-sidebar .sidebar-account-actions{margin-top:10px}.account-overlay-open{overflow:hidden}.account-settings-panel:not([hidden]){position:fixed;inset:0;z-index:150;width:100%;height:100%;max-height:none;margin:0!important;overflow:auto;transform:none;background:#fff;border:0;border-radius:0;box-shadow:none;padding:clamp(20px,4vw,56px) 20px}.account-settings-panel:not([hidden])>*{max-width:760px;margin-left:auto;margin-right:auto}.business-settings-panel:not([hidden])>*{max-width:1060px}
.account-panel-status{min-height:0;font-weight:700}.account-panel-status:not(:empty){margin:-6px 0 4px;padding:10px 14px;border-radius:12px;background:#f1ede7}.account-panel-status[data-kind="error"]{background:#fdecea}.account-panel-status[data-kind="success"]{background:#eaf6f2}
@media(max-width:920px) and (min-width:651px){.sidebar-account-actions button{justify-content:center;padding-inline:8px;font-size:0}.sidebar-account-actions button span{font-size:1rem}}
@media(max-width:650px){.account-settings-panel:not([hidden]){padding:16px}.sidebar-account-actions{display:none}}

/* Catálogo del comercio: listado primero y formularios bajo demanda. */
.catalog-workspace>.section-head{align-items:center}.catalog-primary-actions{display:flex;gap:10px;flex-wrap:wrap}.catalog-overview{margin:18px 0;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e4dfd7;border-radius:15px;background:#f8f6f1}.catalog-overview>div:first-child{display:flex;gap:12px;align-items:center}.catalog-overview span{color:var(--muted);font-size:.82rem}.category-chips{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.category-chips span{padding:6px 9px;border-radius:999px;color:#4a4e62;background:#ebe8df;font-weight:750}.partner-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.partner-product-card{min-width:0;display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;padding:15px;border:1px solid #e3dfd7;border-radius:18px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease}.partner-product-card:hover{border-color:#c7b58f;box-shadow:0 10px 24px rgba(35,41,70,.07)}.partner-product-card.is-paused{background:#f4f2ed}.partner-product-image{width:112px;height:112px;display:grid;place-items:center;overflow:hidden;border-radius:15px;color:#fff;background:#232946;font-size:2rem;font-weight:900}.partner-product-image img{width:100%;height:100%;object-fit:cover}.partner-product-info{min-width:0}.partner-product-info>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.product-category-label{overflow:hidden;color:#777181;font-size:.72rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.partner-product-info h3{margin:8px 0 5px;font-size:1.08rem}.partner-product-info p{min-height:36px;margin:0;display:-webkit-box;overflow:hidden;color:#777181;font-size:.8rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.partner-product-info footer{margin-top:9px;display:flex;gap:12px;align-items:center}.partner-product-info footer strong{font-size:1.05rem}.partner-product-info footer small{color:#777181}.product-crud-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;padding-top:12px;border-top:1px solid #eeeae2}.product-crud-actions .button{min-height:38px;padding:8px 12px}.button.warning{color:#835313;border-color:#e8c88e;background:#fff6df}.product-delete{margin-left:auto;padding:8px 10px;border:0;color:#9b3944;background:transparent;font-weight:800;cursor:pointer}.product-delete:hover{color:#fff;border-radius:10px;background:#a63e4a}.catalog-empty{grid-column:1/-1;padding:50px 20px;text-align:center;border:1px dashed #d5cec1;border-radius:18px;background:#faf8f4}.catalog-empty p{margin:7px 0 0;color:var(--muted)}#product-editor,#category-editor{z-index:170}.product-editor-panel{width:min(880px,100%)}.category-editor-panel{width:min(520px,100%)}.product-editor-form{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px}.product-image-field{display:flex;flex-direction:column;gap:10px}.product-image-preview{width:100%;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border:1px dashed #c9c2b6;border-radius:18px;color:#777181;background:#f6f3ed;font-weight:800}.product-image-preview img{width:100%;height:100%;object-fit:cover}.product-image-field small{color:var(--muted);font-size:.72rem}.product-fields{display:grid;gap:13px}.product-fields label{display:grid;gap:6px;font-weight:750}.product-fields input,.product-fields select,.product-fields textarea{width:100%;min-height:44px;padding:10px 11px;border:1px solid #d5d8de;border-radius:12px;background:#fff}.product-fields textarea{resize:vertical}.product-editor-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;padding-top:16px;border-top:1px solid #ece7de}
@media(max-width:1050px){.partner-product-grid{grid-template-columns:1fr}}
@media(max-width:650px){.catalog-workspace>.section-head{align-items:stretch;flex-direction:column}.catalog-primary-actions{display:grid;grid-template-columns:1fr 1fr}.catalog-primary-actions .button{width:100%;padding-inline:10px}.catalog-overview{align-items:flex-start;flex-direction:column}.category-chips{justify-content:flex-start}.partner-product-card{grid-template-columns:84px minmax(0,1fr);padding:12px;gap:12px}.partner-product-image{width:84px;height:84px}.product-crud-actions{display:grid;grid-template-columns:1fr 1fr}.product-delete{grid-column:1/-1;margin:0}.product-editor-form{grid-template-columns:1fr}.product-image-field{align-items:center}.product-image-preview{width:180px}.product-image-field .button{width:180px}.product-editor-actions{display:grid;grid-template-columns:1fr 1fr}.product-editor-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){.history-disclosure>summary:after,.history-disclosure>summary>b:after{transition:none}}

/* Panel del comercio 3.7: portada, pedidos separados y confirmaciones propias. */
.partner-hero{min-height:230px;position:relative;overflow:hidden;padding:34px 38px;align-items:flex-end;border:1px solid #353b55;border-radius:24px;color:#fff;background-color:#232946;background-image:radial-gradient(circle at 82% 18%,rgba(193,154,91,.44),transparent 24%),linear-gradient(135deg,#232946 0%,#343b62 62%,#171b31 100%);background-position:center;background-size:cover;box-shadow:0 14px 34px rgba(35,41,70,.15)}.partner-hero:after{content:"ANGARIN";position:absolute;right:34px;bottom:12px;color:rgba(255,255,255,.06);font-size:clamp(3rem,8vw,7rem);font-weight:950;letter-spacing:.06em;pointer-events:none}.partner-hero.has-cover:after{display:none}.partner-hero>div,.partner-hero>.button{position:relative;z-index:1}.partner-hero p{margin:0 0 8px;color:#dfd3bd;font-size:.78rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.partner-hero h1{font-size:clamp(2rem,4vw,3.35rem);text-shadow:0 2px 20px rgba(0,0,0,.28)}.partner-hero span{display:block;margin-top:7px;color:#e7e8ef;font-size:.9rem}.partner-hero .button{align-self:flex-start;color:#fff;border-color:rgba(255,255,255,.45);background:rgba(14,18,27,.35);backdrop-filter:blur(8px)}.partner-hero .button:hover{border-color:#c19a5b;background:#232946}
.partner-orders-grid{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.partner-order-group{min-width:0;margin:0}.partner-order-group .table-wrap{width:100%;max-width:100%}.current-orders{border-left:4px solid #c19a5b}.order-following{color:#707381;font-size:.78rem;font-weight:750}
.cover-manager{grid-column:1/-1;display:grid;grid-template-columns:minmax(240px,42%) 1fr;gap:20px;align-items:center;padding:16px;border:1px solid #e1ddd3;border-radius:18px;background:#f8f6f1}.cover-preview{height:150px;display:grid;place-items:center;overflow:hidden;border-radius:14px;color:#747887;background:linear-gradient(135deg,#e6e1d6,#f3f0e9);font-weight:800}.cover-preview img{width:100%;height:100%;object-fit:cover}.cover-manager>div:last-child{display:grid;justify-items:start;gap:8px}.cover-manager p{max-width:580px;margin:0;color:var(--muted);font-size:.84rem;line-height:1.5}.cover-manager small{color:var(--muted);font-size:.72rem}
.dialog-open{overflow:hidden}.action-dialog{position:fixed;inset:0;z-index:400;display:grid;place-items:center;padding:18px;background:rgba(13,16,24,.66);backdrop-filter:blur(5px)}.action-dialog[hidden]{display:none}.action-dialog-panel{width:min(480px,100%);display:grid;grid-template-columns:50px minmax(0,1fr);gap:16px;padding:24px;border:1px solid #e6dfd5;border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(8,11,19,.34)}.action-dialog-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;color:#a13d49;background:#f8e7e8;font-size:1.35rem;font-weight:950}.action-dialog-copy>span{color:#9a5961;font-size:.69rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.action-dialog-copy h2{margin:4px 0 7px;font-size:1.45rem;letter-spacing:-.025em}.action-dialog-copy p{margin:0;color:#6f707a;font-size:.9rem;line-height:1.55}.action-dialog-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;padding-top:6px}.button.danger{color:#fff;border-color:#a43e49;background:#a43e49}.button.danger:hover{background:#842f39}
@media(max-width:650px){.partner-hero{min-height:190px;padding:24px 20px;align-items:flex-end}.partner-hero span{max-width:230px}.partner-hero .button{position:absolute;top:16px;right:16px;min-height:38px;padding:8px 11px}.cover-manager{grid-template-columns:1fr}.cover-preview{height:130px}.action-dialog-panel{grid-template-columns:42px minmax(0,1fr);padding:20px}.action-dialog-icon{width:42px;height:42px}.action-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.action-dialog-actions .button{width:100%;padding-inline:8px}}

/* Panel del cliente 3.8: navegación textual y cuenta compacta. */
.client-sidebar nav a{gap:0;padding:13px 15px}.client-sidebar nav a.active{font-weight:850}.client-primary-actions{position:relative;margin:-20px 22px 30px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.client-primary-actions a{min-width:0;min-height:88px;padding:17px 18px;display:grid;align-content:center;gap:5px;border:1px solid #e3dfd7;border-radius:17px;background:#fff;box-shadow:0 10px 24px rgba(35,41,70,.06);transition:transform .18s ease,border-color .18s ease}.client-primary-actions a:hover{transform:translateY(-2px);border-color:#c19a5b}.client-primary-actions strong{color:#303440;font-size:.96rem}.client-primary-actions small{overflow:hidden;color:#747782;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.client-avatar{border:0;cursor:pointer}
.client-app .account-section.account-settings-panel:not([hidden]){border:0;border-radius:0;box-shadow:none}.client-app .account-section .client-section-head{align-items:flex-start;margin-bottom:22px}.client-app .account-section .client-section-head h2{margin:4px 0;font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.1}.client-app .account-section .client-section-head p{max-width:520px;font-size:.88rem}.client-app .account-section .account-card{padding:0;grid-template-columns:1fr 1fr;gap:16px;border:0;border-radius:0}.client-app .account-section .account-email-field{grid-column:1/-1}.client-app .account-section .account-settings-actions{margin-top:4px}.client-app .account-section .account-settings-actions .button{min-width:170px}.client-app .account-section input:focus{border-color:#c19a5b;outline:3px solid rgba(193,154,91,.16)}
@media(max-width:1100px){.client-primary-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.client-shell{display:block}.client-sidebar{display:none}.client-main{padding:22px 18px 92px}.client-mobile-nav{position:fixed;bottom:0;left:0;right:0;min-height:66px;display:grid;grid-template-columns:repeat(5,1fr);z-index:80;border-top:1px solid #e3dfd7;background:#fff;box-shadow:0 -8px 22px rgba(35,41,70,.08)}.client-mobile-nav a,.client-mobile-nav button{display:grid;place-items:center;padding:7px 3px;color:#716a7b;background:#fff;font-size:.72rem;font-weight:750}.client-mobile-nav a.active{color:#232946;box-shadow:inset 0 3px #c19a5b}.cart-fab{bottom:76px}.client-primary-actions{margin:-16px 10px 28px}}
@media(max-width:650px){.client-primary-actions{grid-template-columns:1fr 1fr;margin-inline:4px}.client-primary-actions a{min-height:78px;padding:13px}.client-primary-actions small{white-space:normal}.client-app .account-section .account-card{grid-template-columns:1fr}.client-app .account-section .account-email-field{grid-column:auto}.client-app .account-section .account-settings-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){.client-primary-actions a{transition:none}}

/* Acceso directo 3.5. */
.auth-page{background:#f7f5ef}.auth-page .auth-shell{display:block;width:min(470px,calc(100% - 28px));margin:0 auto;padding:clamp(34px,7vw,78px) 0}.auth-page .auth-card{padding:clamp(24px,5vw,38px);border-color:#ddd8ce;box-shadow:0 18px 45px rgba(35,41,70,.09)}.auth-card-heading{margin-bottom:22px;text-align:center}.auth-card-heading h1{margin:0;font-size:clamp(1.75rem,4vw,2.35rem);letter-spacing:-.04em}.auth-card-heading p{margin:7px 0 0;color:var(--muted);font-size:.9rem}.auth-page .auth-tabs button.active{color:#fff;background:#232946;box-shadow:none}.auth-page .auth-card .button.primary{background:#232946}.auth-page .development-access{margin-top:8px}
