:root{
  --bg:#f6f1ea;
  --bg2:#fff7ed;
  --panel:#ffffff;
  --panel-soft:#fffaf6;
  --text:#111827;
  --muted:#64748b;
  --primary:#f97316;
  --primary2:#ea580c;
  --accent:#7c2d12;
  --dark:#0f172a;
  --dark2:#1f2937;
  --line:#f3d2b4;
  --line2:#e8e0d8;
  --ok:#16a34a;
  --warn:#f59e0b;
  --danger:#dc2626;
  --radius:24px;
  --shadow:0 22px 65px rgba(15,23,42,.12);
  --shadow-soft:0 12px 34px rgba(15,23,42,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:
    radial-gradient(circle at 7% 4%,rgba(249,115,22,.18),transparent 26%),
    radial-gradient(circle at 93% 0%,rgba(124,45,18,.13),transparent 24%),
    linear-gradient(180deg,#fffaf6 0%,#f6f1ea 46%,#fff 100%);
  color:var(--text);
  min-height:100vh;
}
a{color:var(--primary2);text-decoration:none}a:hover{color:var(--accent)}img{max-width:100%}.container{width:min(1240px,94vw);margin:0 auto;padding:34px 0 62px}.narrow{width:min(760px,94vw)}
.topbar{
  position:sticky;top:0;z-index:40;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(243,210,180,.72);
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 4vw;
  box-shadow:0 8px 34px rgba(15,23,42,.06);
}
.brand{display:flex;gap:12px;align-items:center;font-weight:1000;font-size:20px;letter-spacing:-.04em;color:var(--dark)}
.logo-dot{width:34px;height:34px;border-radius:14px;background:linear-gradient(135deg,var(--primary),#fb7185 55%,#7c2d12);box-shadow:0 10px 26px rgba(249,115,22,.34);position:relative}.logo-dot:after{content:"";position:absolute;inset:8px;border-radius:10px;border:2px solid rgba(255,255,255,.55)}
.topnav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.topnav a{color:#334155;font-weight:850;border-radius:999px;padding:9px 12px;transition:.18s}.topnav a:hover{background:#fff7ed;color:#9a3412}.menu-toggle{display:none;background:#fff;border:1px solid var(--line);border-radius:14px;padding:9px 13px;box-shadow:var(--shadow-soft)}
.btn{border:0;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff!important;padding:12px 19px;font-weight:950;letter-spacing:-.01em;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 14px 30px rgba(249,115,22,.25);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 18px 40px rgba(249,115,22,.32);filter:saturate(1.05)}.btn:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.2)}.btn.ghost{background:#fff;color:#9a3412!important;border:1px solid var(--line);box-shadow:0 8px 20px rgba(15,23,42,.05)}.btn.dark{background:linear-gradient(135deg,#0f172a,#334155);box-shadow:0 14px 34px rgba(15,23,42,.22)}.btn.small{padding:8px 12px;border-radius:12px;font-size:13px}.btn.full{width:100%}.btn.danger,.danger{background:linear-gradient(135deg,#dc2626,#991b1b)!important;color:#fff!important;border-color:#dc2626!important}.btn.success{background:linear-gradient(135deg,#16a34a,#15803d)}
.hero{display:grid;grid-template-columns:1.12fr .88fr;gap:34px;align-items:center;padding:70px 0 58px}.hero h1{font-size:clamp(40px,6.4vw,84px);line-height:.92;margin:12px 0 18px;letter-spacing:-.065em}.hero p{font-size:20px;line-height:1.55;color:var(--muted);max-width:820px}.eyebrow{display:inline-flex;background:rgba(255,237,213,.88);color:#9a3412;border:1px solid #fed7aa;border-radius:999px;padding:9px 13px;font-weight:950;box-shadow:0 8px 22px rgba(249,115,22,.12)}.actions{display:flex;gap:12px;flex-wrap:wrap}.hero-card,.card,.price-card,.feature,.auth-card{background:rgba(255,255,255,.88);border:1px solid rgba(243,210,180,.9);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;backdrop-filter:blur(10px)}.hero-card{background:linear-gradient(145deg,#111827 0%,#7c2d12 65%,#ea580c 140%);color:#fff;position:relative;overflow:hidden}.hero-card:before{content:"";position:absolute;right:-70px;top:-80px;width:230px;height:230px;background:radial-gradient(circle,rgba(255,255,255,.20),transparent 62%)}.hero-card li{margin:14px 0}.features,.pricing,.stats,.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.feature{transition:.18s}.feature:hover{transform:translateY(-3px);box-shadow:0 24px 70px rgba(15,23,42,.14)}.feature p,.muted{color:var(--muted)}.price-card{display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}.price-card:after{content:"";position:absolute;right:-38px;bottom:-44px;width:130px;height:130px;border-radius:999px;background:rgba(249,115,22,.12)}.price{font-size:39px;font-weight:1000;letter-spacing:-.04em}.price span{font-size:16px;color:var(--muted)}
.auth-card{width:min(560px,94vw);margin:38px auto}.auth-card.wide{width:min(980px,94vw)}
.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.full-span{grid-column:1/-1}
label{display:grid;gap:7px;font-weight:850;color:#334155}input,select,textarea{width:100%;border:1px solid #f0c7a2;border-radius:15px;background:#fff;padding:12px 13px;font:inherit;outline:none;transition:border-color .16s,box-shadow .16s}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(249,115,22,.13)}textarea{min-height:94px}input[type="checkbox"],input[type="radio"]{width:auto;accent-color:var(--primary)}input[type="color"]{height:46px;padding:5px}input[type="file"]{background:#fff7ed}
table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:18px;overflow:hidden}th,td{padding:14px;border-bottom:1px solid #f3e7dc;text-align:left;vertical-align:top}tr:last-child td{border-bottom:0}th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#9a3412;background:#fff7ed}.table-wrap{overflow:auto;border-radius:18px;border:1px solid var(--line2);box-shadow:var(--shadow-soft)}
.alert{padding:14px 16px;border-radius:16px;margin:14px 0;font-weight:850;border:1px solid transparent}.alert-success{background:#dcfce7;color:#166534;border-color:#bbf7d0}.alert-danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}.alert-warning{background:#fef3c7;color:#92400e;border-color:#fde68a}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.page-head h1{font-size:clamp(30px,4vw,48px);line-height:.98;margin:0 0 8px;letter-spacing:-.05em}.page-head p{margin:0}.stat{background:linear-gradient(180deg,#fff,#fff7ed);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.stat:after{content:"";position:absolute;right:-34px;top:-40px;width:110px;height:110px;border-radius:999px;background:rgba(249,115,22,.13)}.stat span{display:block;color:var(--muted);font-weight:850}.stat strong{font-size:32px;letter-spacing:-.05em}.quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.quick-grid a{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;font-weight:950;color:#9a3412;box-shadow:0 8px 18px rgba(15,23,42,.05);transition:.18s}.quick-grid a:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(15,23,42,.09)}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:950;background:#e5e7eb;color:#334155}.badge.active,.badge.approved,.badge.paid,.badge.ready{background:#dcfce7;color:#166534}.badge.pending,.badge.pending_payment{background:#fef3c7;color:#92400e}.badge.suspended,.badge.cancelled,.badge.failed{background:#fee2e2;color:#991b1b}.badge.info{background:#dbeafe;color:#1e40af}.inline{display:flex;gap:8px;align-items:center}.stack{display:grid;gap:8px}.mini{max-width:115px}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.filters label{max-width:190px}
.kanban{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:16px;align-items:start}.kanban section{background:rgba(255,247,237,.9);border:1px solid #fed7aa;border-radius:20px;padding:15px}.ticket{background:#fff;border:1px solid #fed7aa;border-radius:18px;padding:15px;margin:12px 0;box-shadow:0 10px 24px rgba(15,23,42,.08)}.danger-row{background:#fef2f2}.center{text-align:center}.qr-box{display:inline-flex;padding:18px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-soft)}.footer{text-align:center;color:var(--muted);padding:30px;font-size:14px}
/* Menú público */
.menu-public{background:var(--tpl-bg,#fff);color:var(--tpl-text,var(--text))}.menu-wrap{width:min(1320px,100%);margin:0 auto}.menu-hero{min-height:370px;background-size:cover;background-position:center;border-radius:0 0 42px 42px;color:#fff;display:flex;align-items:end;padding:52px}.menu-hero h1{font-size:clamp(38px,7vw,78px);line-height:.92;margin:8px 0;letter-spacing:-.06em}.menu-logo{width:96px;height:96px;border-radius:26px;object-fit:cover;background:#fff;padding:8px}.pill-row{display:flex;gap:8px;flex-wrap:wrap}.pill-row span,.closed{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.32);padding:8px 12px;border-radius:999px;font-weight:900}.closed{margin-top:14px;background:#fee2e2;color:#991b1b;display:inline-flex}.menu-layout{display:grid;grid-template-columns:1fr 390px;gap:24px;padding:28px}.cat-title{border-left:8px solid var(--primary);padding-left:13px;margin:28px 0 16px;letter-spacing:-.035em}.product{background:#fff;border:1px solid #f3d2b4;border-radius:24px;padding:14px;box-shadow:0 12px 32px rgba(15,23,42,.07);transition:.18s;overflow:hidden}.product:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(15,23,42,.11)}.product h3{margin:0 0 6px}.product p{color:var(--muted);line-height:1.45}.product-actions{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-top:12px}.product-actions strong{font-size:1.15rem;color:#9a3412}.product img{width:100%;height:170px;object-fit:cover;border-radius:18px;margin-bottom:12px}.cart{position:sticky;top:88px;align-self:start;background:linear-gradient(145deg,#0f172a,#1f2937);color:#fff;border-radius:28px;padding:22px;box-shadow:0 22px 66px rgba(15,23,42,.25)}.cart .muted{color:#cbd5e1}.cart input,.cart select,.cart textarea{border-color:#475569;background:#fff;color:#111827}.cart-line{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;border-bottom:1px solid #475569;padding:9px 0}.cart-line small{display:block;color:#fed7aa}.cart-line button{border:0;border-radius:10px;background:#475569;color:#fff}.cart-total{font-size:20px;margin:16px 0}.order-form{display:grid;gap:12px}
@media(max-width:920px){.topnav{display:none;position:absolute;top:64px;left:0;right:0;background:rgba(255,255,255,.96);flex-direction:column;align-items:stretch;padding:18px;border-bottom:1px solid var(--line);box-shadow:0 20px 40px rgba(15,23,42,.08)}body.nav-open .topnav{display:flex}.menu-toggle{display:block}.hero,.grid.two,.grid.three,.menu-layout{grid-template-columns:1fr}.kanban{grid-template-columns:1fr}.cart{position:static}.page-head{display:block}.topbar{padding:12px 18px}.menu-hero{padding:30px;min-height:300px}.inline{flex-wrap:wrap}.product-actions{align-items:stretch;flex-direction:column}.filters label{max-width:none;width:100%}}
@media(max-width:560px){.container{width:min(94vw,100%);padding:24px 0 48px}.card,.hero-card,.price-card,.feature,.auth-card{padding:18px;border-radius:20px}.page-head h1{font-size:32px}.menu-hero h1{font-size:38px}.menu-layout{padding:16px}.product-grid{grid-template-columns:1fr}.btn{width:100%}.topnav .btn{width:auto}.actions .btn{width:100%}}
