/*
 * Sambujaus · Experiencia visual premium
 * Capa de acabado acumulativa y responsive
 * Mantiene el flujo operativo; refuerza jerarquía, tactilidad, mapas y última milla.
 */
:root{
  --lux-bg:#f7f4f0;--lux-bg-2:#efe9e3;--lux-panel:rgba(255,255,255,.92);--lux-panel-solid:#fff;
  --lux-panel-soft:#fbf8f5;--lux-text:#211714;--lux-muted:#776c66;--lux-line:rgba(80,52,45,.105);
  --lux-brand:#7b201c;--lux-brand-2:#a83a2b;--lux-accent:#d4a15c;--lux-accent-2:#f1d09a;
  --lux-success:#14835a;--lux-warning:#b66e1b;--lux-danger:#b53838;--lux-info:#2e6fb5;
  --lux-shadow:0 18px 55px rgba(61,38,31,.095);--lux-shadow-strong:0 34px 90px rgba(40,22,18,.16);
  --lux-ring:0 0 0 1px rgba(255,255,255,.55) inset,0 0 0 1px rgba(84,50,40,.05);
  --lux-radius:24px;--lux-radius-sm:16px;--lux-blur:24px;
}
html[data-theme="dark"]{
  --lux-bg:#151110;--lux-bg-2:#1d1715;--lux-panel:rgba(31,25,23,.91);--lux-panel-solid:#211a18;
  --lux-panel-soft:#28201e;--lux-text:#f7f1eb;--lux-muted:#b6aaa3;--lux-line:rgba(255,255,255,.085);
  --lux-brand:#e05b48;--lux-brand-2:#b9362e;--lux-accent:#e3b66f;--lux-accent-2:#f3dcae;
  --lux-shadow:0 22px 60px rgba(0,0,0,.28);--lux-shadow-strong:0 34px 100px rgba(0,0,0,.42);
  --lux-ring:0 0 0 1px rgba(255,255,255,.035) inset;
}

html,body{background:var(--lux-bg);color:var(--lux-text)}
body{background:
  radial-gradient(circle at 8% 4%,color-mix(in srgb,var(--lux-accent) 9%,transparent),transparent 23rem),
  radial-gradient(circle at 94% 7%,color-mix(in srgb,var(--lux-brand) 7%,transparent),transparent 25rem),
  var(--lux-bg)}
::selection{background:color-mix(in srgb,var(--lux-brand) 24%,transparent);color:var(--lux-text)}

/* Global shell */
.app-shell.admin-layout{--sidebar:278px;background:transparent}
.sidebar{
  background:
    radial-gradient(circle at 12% 5%,rgba(255,218,165,.13),transparent 16rem),
    radial-gradient(circle at 105% 55%,rgba(212,161,92,.09),transparent 18rem),
    linear-gradient(178deg,#241411 0%,#401816 38%,#661d19 100%);
  border-right:1px solid rgba(255,255,255,.07);box-shadow:18px 0 55px rgba(48,19,15,.13);padding:18px 13px 16px
}
.sidebar:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,#000,transparent 85%)}
.sidebar-brand{height:78px;border-bottom:1px solid rgba(255,255,255,.075);position:relative;z-index:1}
.sidebar-brand .brand-logo-image{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.22))}
.sidebar-brand-copy strong{font-size:1.05rem;letter-spacing:.01em}.sidebar-brand-copy small{color:#c7aaa1!important}
.sidebar-nav.grouped{gap:9px;padding:15px 1px;position:relative;z-index:1}.sidebar-group{display:grid;gap:4px}.sidebar-group-label{font-size:.61rem;text-transform:uppercase;letter-spacing:.14em;color:#aa8c84;padding:10px 12px 5px;font-weight:900}
.sidebar-nav a{min-height:47px;border-radius:15px;color:#cfb9b2;padding:11px 12px;transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}
.sidebar-nav a:hover{transform:translateX(2px);background:rgba(255,255,255,.065);color:#fff}
.sidebar-nav a.active{background:linear-gradient(135deg,rgba(244,210,156,.19),rgba(255,255,255,.07));box-shadow:inset 0 0 0 1px rgba(241,208,154,.16),0 12px 30px rgba(0,0,0,.13);color:#fff}
.sidebar-nav a.active svg{color:#f1d09a}.sidebar-active-mark{width:4px;height:26px;border-radius:999px;background:linear-gradient(#f7ddaf,#c68f45);margin-left:auto;box-shadow:0 0 16px rgba(227,182,111,.45)}
.sidebar-footer{border-top-color:rgba(255,255,255,.075);position:relative;z-index:1}.sidebar-user{background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.06)!important;border-radius:16px!important}.sidebar-user-copy small{color:#b9968d!important}

.topbar{height:80px;background:color-mix(in srgb,var(--lux-panel-solid) 78%,transparent);backdrop-filter:blur(22px) saturate(135%);border-bottom:1px solid var(--lux-line);box-shadow:0 10px 30px rgba(68,44,36,.035)}
.topbar-title span{font-size:1rem}.topbar-title small{color:var(--lux-muted);letter-spacing:.015em}.topbar-search{border:1px solid var(--lux-line)!important;background:var(--lux-panel-soft)!important;border-radius:15px!important;color:var(--lux-muted)!important;box-shadow:var(--lux-ring)}
.topbar-search:hover{border-color:color-mix(in srgb,var(--lux-accent) 38%,var(--lux-line))!important;transform:translateY(-1px)}
.topbar .icon-btn,.topbar-profile{background:var(--lux-panel-soft);border:1px solid var(--lux-line);box-shadow:var(--lux-ring)}
.topbar-profile{border-radius:16px!important}.connection-pill{border:1px solid var(--lux-line);background:var(--lux-panel-soft);border-radius:999px;padding:7px 10px}
.content{padding-top:34px}.page-transition{animation:luxPageIn .28s ease both}@keyframes luxPageIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

.page-header{padding:5px 0 2px}.page-header h1{font-size:clamp(2rem,3.2vw,3.2rem);font-weight:900;letter-spacing:-.052em}.page-header p{font-size:.94rem;color:var(--lux-muted)}
.eyebrow{color:var(--lux-brand)!important;font-weight:900!important;letter-spacing:.12em!important;text-transform:uppercase}.eyebrow.light{color:#f1d09a!important}

.btn{min-height:45px;border-radius:14px!important;border:1px solid var(--lux-line)!important;background:var(--lux-panel-soft)!important;color:var(--lux-text)!important;font-weight:820!important;box-shadow:var(--lux-ring);transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease,filter .17s ease}
.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 11px 26px rgba(61,38,31,.09);border-color:color-mix(in srgb,var(--lux-accent) 30%,var(--lux-line))!important}
.btn.primary{background:linear-gradient(135deg,var(--lux-brand),var(--lux-brand-2) 66%,#b95337)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 14px 34px color-mix(in srgb,var(--lux-brand) 23%,transparent),inset 0 1px 0 rgba(255,255,255,.19)}
.btn.primary:hover{filter:saturate(1.08) brightness(1.03);box-shadow:0 18px 38px color-mix(in srgb,var(--lux-brand) 30%,transparent)}
.icon-btn{border-radius:14px!important;border:1px solid var(--lux-line)!important;background:var(--lux-panel-soft)!important;color:var(--lux-text);box-shadow:var(--lux-ring)}
.badge{border:1px solid color-mix(in srgb,currentColor 16%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.3);font-weight:850!important;letter-spacing:.005em}

.panel-card,.metric-card,.table-card,.card,.operation-card{background:var(--lux-panel)!important;border:1px solid var(--lux-line)!important;box-shadow:var(--lux-shadow)!important;backdrop-filter:blur(18px);border-radius:var(--lux-radius)!important}
input,select,textarea{background:var(--lux-panel-soft)!important;border-color:var(--lux-line)!important;color:var(--lux-text)!important;border-radius:14px!important;transition:border-color .17s ease,box-shadow .17s ease,background .17s ease}
input:focus,select:focus,textarea:focus{border-color:color-mix(in srgb,var(--lux-brand) 38%,var(--lux-line))!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--lux-brand) 9%,transparent)!important;background:var(--lux-panel-solid)!important}
.field>span{font-weight:820!important;color:var(--lux-text)}.field small,.muted{color:var(--lux-muted)!important}
.segmented{border:1px solid var(--lux-line)!important;background:var(--lux-panel-soft)!important;border-radius:15px!important;padding:4px!important}.segmented button{border-radius:11px!important}.segmented button.active{background:var(--lux-panel-solid)!important;color:var(--lux-text)!important;box-shadow:0 5px 15px rgba(49,31,25,.09),var(--lux-ring)}

/* Login ultra luxury */
.login-page.login-modern{min-height:100dvh;grid-template-columns:minmax(520px,1.18fr) minmax(440px,.82fr);background:#17100e;position:relative;overflow:hidden}
.login-page.login-modern:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 8%,rgba(240,201,139,.17),transparent 28rem),radial-gradient(circle at 78% 86%,rgba(136,34,29,.24),transparent 30rem);pointer-events:none}
.login-modern .login-visual{background:linear-gradient(145deg,rgba(25,14,12,.91),rgba(71,22,18,.87)),radial-gradient(circle at 25% 12%,rgba(239,198,130,.18),transparent 24rem);padding:clamp(50px,7vw,100px);border-right:1px solid rgba(255,255,255,.06)}
.login-modern .login-pattern{opacity:.5;background-size:38px 38px;mask-image:linear-gradient(to bottom,#000,transparent 92%)}
.login-modern .login-brand{max-width:760px}.login-brand-lockup{margin-bottom:60px}.login-brand-lockup .brand-logo-image.large{width:78px;height:78px;filter:drop-shadow(0 16px 25px rgba(0,0,0,.26))}.login-brand-lockup strong{font-size:1.35rem;letter-spacing:.16em}.login-brand-lockup span{color:#c9aaa1!important}
.login-modern .login-brand h1{font-size:clamp(3rem,5vw,5.9rem);max-width:820px;line-height:.98;letter-spacing:-.065em;margin-top:12px;background:linear-gradient(115deg,#fff 0%,#fff3df 55%,#e7bf82 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.login-modern .login-brand>p{font-size:1.12rem;color:#d8c6c0;max-width:680px}
.login-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin-top:42px!important}.login-feature-grid article{background:linear-gradient(150deg,rgba(255,255,255,.09),rgba(255,255,255,.045))!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:19px!important;padding:17px!important;backdrop-filter:blur(12px);box-shadow:0 18px 40px rgba(0,0,0,.12)}
.login-feature-icon{background:rgba(241,208,154,.13)!important;color:#f1d09a!important;border:1px solid rgba(241,208,154,.15)}
.login-visual-footer{color:#b99c93!important;border-top:1px solid rgba(255,255,255,.06);padding-top:18px}.login-visual-footer b{color:#f1d09a}
.login-modern .login-form-panel{background:linear-gradient(160deg,#fbf8f4 0%,#f1ebe5 100%);position:relative;padding:48px;isolation:isolate}
html[data-theme="dark"] .login-modern .login-form-panel{background:linear-gradient(160deg,#1d1715,#15110f)}
.login-modern .login-form-panel:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-180px;top:-150px;background:radial-gradient(circle,color-mix(in srgb,var(--lux-accent) 18%,transparent),transparent 68%);z-index:-1}
.login-modern .login-card{width:min(480px,100%);padding:42px 38px!important;background:var(--lux-panel)!important;border:1px solid var(--lux-line)!important;border-radius:32px!important;box-shadow:var(--lux-shadow-strong)!important;backdrop-filter:blur(22px);position:relative;overflow:hidden}
.login-modern .login-card:before{content:"";height:3px;position:absolute;left:34px;right:34px;top:0;border-radius:0 0 999px 999px;background:linear-gradient(90deg,transparent,var(--lux-accent),var(--lux-brand),transparent)}
.login-modern .login-card h2{font-size:2.55rem!important;letter-spacing:-.055em!important}.login-modern .login-intro{font-size:.95rem;line-height:1.55}.login-modern .input-icon{min-height:54px;border-radius:16px!important;background:var(--lux-panel-soft)!important;border:1px solid var(--lux-line)!important;box-shadow:var(--lux-ring)}
.login-modern .input-icon input{background:transparent!important;border:0!important;box-shadow:none!important}.login-modern .login-submit{min-height:54px!important;border-radius:16px!important;font-size:.96rem}.login-connectivity{border-radius:999px!important;border:1px solid var(--lux-line)!important;background:var(--lux-panel-soft)!important;width:max-content;padding:7px 11px!important}.login-theme-toggle{border:1px solid var(--lux-line)!important;background:var(--lux-panel)!important;border-radius:999px!important;box-shadow:var(--lux-shadow)}

/* Dashboard */
.stats-grid{gap:14px}.stat-card,.metric-card{position:relative;overflow:hidden}.stat-card:after,.metric-card:after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-48px;top:-48px;background:currentColor;opacity:.035}.stat-card strong,.metric-card strong{font-size:clamp(1.65rem,2.2vw,2.2rem)!important;letter-spacing:-.055em}.hero-operation{border-radius:30px!important;min-height:360px;background:radial-gradient(circle at 78% 12%,rgba(241,208,154,.22),transparent 30%),radial-gradient(circle at 12% 110%,rgba(151,44,33,.36),transparent 36%),linear-gradient(145deg,#25120f,#4f1c18 55%,#79251d)!important;box-shadow:var(--lux-shadow-strong)!important}.hero-pills span{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.12)!important}.hero-copy p{color:#e4d4cf!important}

/* POS ultra luxury */
.pos-pro{display:grid;gap:18px}.pos-pro-header{position:relative;overflow:hidden;padding:28px 30px!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:30px!important;background:radial-gradient(circle at 78% -10%,rgba(241,208,154,.22),transparent 28rem),linear-gradient(135deg,#241410,#511c18 62%,#77251d)!important;color:#fff;box-shadow:var(--lux-shadow-strong)!important}
.pos-pro-header:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-160px;bottom:-260px;border:1px solid rgba(255,255,255,.09);box-shadow:0 0 0 34px rgba(255,255,255,.018),0 0 0 68px rgba(255,255,255,.012)}
.pos-pro-heading{position:relative;z-index:1}.pos-pro-heading .eyebrow{color:#f1d09a!important}.pos-pro-title-line h1{font-size:clamp(2.5rem,4vw,4rem)!important;letter-spacing:-.065em!important;color:#fff!important}.pos-pro-heading p{color:#dfcbc5!important;max-width:760px}.pos-pro-service-actions{position:relative;z-index:2}.pos-pro-service-actions .btn{background:rgba(255,255,255,.085)!important;border-color:rgba(255,255,255,.12)!important;color:#fff!important}.pos-pro-service-actions .btn.primary{background:linear-gradient(135deg,#d6a25c,#a76d2f)!important;color:#21130e!important;box-shadow:0 16px 36px rgba(213,164,95,.25)!important}
.pos-pro-kpis{gap:12px!important}.pos-pro-kpis article{background:var(--lux-panel)!important;border:1px solid var(--lux-line)!important;border-radius:20px!important;box-shadow:var(--lux-shadow)!important;padding:15px 17px!important;transition:transform .17s ease}.pos-pro-kpis article:hover{transform:translateY(-2px)}.pos-pro-kpis article>span{background:linear-gradient(145deg,color-mix(in srgb,var(--lux-brand) 13%,transparent),color-mix(in srgb,var(--lux-accent) 13%,transparent))!important;color:var(--lux-brand)!important;border:1px solid color-mix(in srgb,var(--lux-accent) 19%,var(--lux-line))}
.pos-account-rail{border-radius:20px!important;background:var(--lux-panel)!important;border:1px solid var(--lux-line)!important;box-shadow:var(--lux-shadow)!important;padding:13px!important}.pos-account-pill,.pos-rail-empty{border-radius:15px!important;background:var(--lux-panel-soft)!important;border:1px solid var(--lux-line)!important;box-shadow:var(--lux-ring)}.pos-account-pill.active{border-color:color-mix(in srgb,var(--lux-accent) 52%,var(--lux-line))!important;background:linear-gradient(145deg,color-mix(in srgb,var(--lux-accent) 11%,var(--lux-panel)),var(--lux-panel))!important;box-shadow:0 10px 24px rgba(70,44,35,.08)}
.pos-pro-workspace{gap:16px!important;align-items:start}.pos-catalog,.pos-order{background:var(--lux-panel)!important;border:1px solid var(--lux-line)!important;border-radius:28px!important;box-shadow:var(--lux-shadow)!important;backdrop-filter:blur(18px)}.pos-order{position:sticky!important;top:98px!important;max-height:calc(100dvh - 118px);overflow:auto}.pos-catalog-toolbar{background:transparent!important;border-bottom:1px solid var(--lux-line)!important;padding:16px 18px!important}.pos-search{height:52px!important;border-radius:16px!important;background:var(--lux-panel-soft)!important;border:1px solid var(--lux-line)!important;box-shadow:var(--lux-ring)}.pos-category-scroll button{border-radius:999px!important;border:1px solid var(--lux-line)!important;background:var(--lux-panel-soft)!important;color:var(--lux-muted)!important;font-weight:820!important;padding:9px 14px!important}.pos-category-scroll button.active{background:#271713!important;color:#fff!important;border-color:#271713!important;box-shadow:0 9px 20px rgba(40,23,19,.16)}
.pos-product-grid{padding:18px!important;gap:13px!important;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))!important}.pos-product-card{border-radius:22px!important;overflow:hidden!important;background:var(--lux-panel-solid)!important;border:1px solid var(--lux-line)!important;box-shadow:0 9px 27px rgba(59,39,32,.055)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important}.pos-product-card:hover:not(:disabled){transform:translateY(-5px) scale(1.008);box-shadow:0 22px 42px rgba(59,39,32,.13)!important;border-color:color-mix(in srgb,var(--lux-accent) 38%,var(--lux-line))!important}.pos-product-photo{aspect-ratio:1.2/1!important;background:linear-gradient(145deg,#eee7df,#fbf8f4)!important}.pos-product-photo img{transition:transform .28s ease}.pos-product-card:hover img{transform:scale(1.045)}.pos-product-info{padding:13px 14px 15px!important}.pos-product-info small{color:var(--lux-muted)!important;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.pos-product-info strong{font-size:.92rem!important;line-height:1.25}.pos-product-bottom b{font-size:1rem!important;color:var(--lux-brand)!important}.pos-product-bottom i{background:linear-gradient(135deg,var(--lux-brand),var(--lux-brand-2))!important;color:#fff!important;box-shadow:0 9px 18px color-mix(in srgb,var(--lux-brand) 20%,transparent)}
.pos-order-header,.pos-order-summary{background:linear-gradient(180deg,var(--lux-panel-solid),var(--lux-panel-soft))!important;border-color:var(--lux-line)!important}.account-item{border-radius:16px!important;border:1px solid transparent!important;padding:11px!important;transition:.16s ease}.account-item:hover{background:var(--lux-panel-soft)!important;border-color:var(--lux-line)!important}.account-item.pay-selected{background:color-mix(in srgb,var(--lux-accent) 9%,var(--lux-panel))!important;border-color:color-mix(in srgb,var(--lux-accent) 33%,var(--lux-line))!important}.product-thumb{border-radius:13px!important;overflow:hidden}.qty-btn{border-radius:11px!important;background:var(--lux-panel-solid)!important;border:1px solid var(--lux-line)!important}.pos-mobile-order-button{background:linear-gradient(135deg,#291713,#6f211b)!important;box-shadow:0 18px 50px rgba(50,22,17,.30)!important;border:1px solid rgba(255,255,255,.09)!important}

/* Mesas ultra premium */
.tables-pro{display:grid;gap:18px}.tables-pro>.page-header{position:relative;padding:25px 27px!important;border-radius:29px;background:radial-gradient(circle at 90% 0%,rgba(241,208,154,.16),transparent 22rem),linear-gradient(135deg,#251410,#4d1b17 65%,#6f241d);color:#fff;box-shadow:var(--lux-shadow-strong);overflow:hidden}.tables-pro>.page-header .eyebrow{color:#f1d09a!important}.tables-pro>.page-header h1{color:#fff}.tables-pro>.page-header p{color:#ddc9c2!important}.tables-pro>.page-header .btn{background:rgba(255,255,255,.085)!important;border-color:rgba(255,255,255,.12)!important;color:#fff!important}.tables-pro>.page-header .btn.primary{background:linear-gradient(135deg,#d6a25c,#b07636)!important;color:#28170f!important}
.table-pro-kpis{gap:12px!important}.table-pro-kpis button{border-radius:20px!important;background:var(--lux-panel)!important;border:1px solid var(--lux-line)!important;box-shadow:var(--lux-shadow)!important;padding:15px 17px!important;position:relative;overflow:hidden}.table-pro-kpis button:after{content:"";position:absolute;width:72px;height:72px;border-radius:50%;right:-26px;top:-26px;background:currentColor;opacity:.045}.table-pro-kpis button.active{border-color:color-mix(in srgb,currentColor 35%,var(--lux-line))!important;box-shadow:0 16px 35px rgba(58,38,31,.11)!important}.table-pro-toolbar{border-radius:20px!important;background:var(--lux-panel)!important;border:1px solid var(--lux-line)!important;box-shadow:var(--lux-shadow)!important;padding:11px 13px!important}.table-pro-search{border-radius:15px!important;background:var(--lux-panel-soft)!important;border:1px solid var(--lux-line)!important}.table-pro-tabs button{border-radius:999px!important}
.table-pro-section{border-radius:28px!important;background:var(--lux-panel)!important;border:1px solid var(--lux-line)!important;box-shadow:var(--lux-shadow)!important;padding:20px!important}.table-pro-section-head{padding-bottom:13px;margin-bottom:14px;border-bottom:1px solid var(--lux-line)}.table-pro-grid{grid-template-columns:repeat(auto-fill,minmax(225px,1fr))!important;gap:15px!important}.table-pro-card{position:relative;border-radius:26px!important;background:linear-gradient(155deg,var(--lux-panel-solid),var(--lux-panel-soft))!important;border:1px solid var(--lux-line)!important;box-shadow:0 10px 28px rgba(61,39,31,.06)!important;overflow:hidden!important;isolation:isolate}.table-pro-card:before{content:"";position:absolute;inset:9px;border:1px solid color-mix(in srgb,var(--lux-line) 72%,transparent);border-radius:20px;pointer-events:none;z-index:-1}.table-pro-card:hover{transform:translateY(-6px)!important;box-shadow:0 26px 52px rgba(58,37,30,.14)!important;border-color:color-mix(in srgb,var(--lux-accent) 38%,var(--lux-line))!important}.table-pro-card.state-available{background:radial-gradient(circle at 92% 8%,rgba(20,131,90,.09),transparent 7rem),linear-gradient(155deg,var(--lux-panel-solid),var(--lux-panel-soft))!important}.table-pro-card.state-occupied{background:radial-gradient(circle at 92% 8%,rgba(182,110,27,.11),transparent 7rem),linear-gradient(155deg,var(--lux-panel-solid),var(--lux-panel-soft))!important}.table-pro-card.state-ready{background:radial-gradient(circle at 92% 8%,rgba(46,111,181,.11),transparent 7rem),linear-gradient(155deg,var(--lux-panel-solid),var(--lux-panel-soft))!important}.table-pro-main{padding:19px!important}.table-pro-center{min-height:116px!important}.table-pro-icon{width:62px!important;height:62px!important;border-radius:50%!important;background:radial-gradient(circle at 38% 28%,#fff 0 7%,color-mix(in srgb,var(--lux-accent) 20%,var(--lux-panel-soft)) 8% 100%)!important;color:var(--lux-brand)!important;border:6px double color-mix(in srgb,var(--lux-accent) 34%,var(--lux-line))!important;box-shadow:0 11px 23px rgba(74,47,36,.12),0 0 0 9px color-mix(in srgb,var(--lux-accent) 6%,transparent);position:relative}.table-pro-icon:before,.table-pro-icon:after{content:"";position:absolute;width:16px;height:8px;border-radius:6px;background:color-mix(in srgb,var(--lux-accent) 35%,var(--lux-panel-solid));border:1px solid color-mix(in srgb,var(--lux-accent) 38%,var(--lux-line));left:50%;transform:translateX(-50%)}.table-pro-icon:before{top:-18px}.table-pro-icon:after{bottom:-18px}.table-pro-center h3{font-size:1.05rem!important;letter-spacing:-.02em}.table-pro-total{font-size:1.65rem!important;color:var(--lux-brand)!important}.table-pro-meta{background:var(--lux-panel-soft)!important;border-top:1px solid var(--lux-line)!important}.table-pro-card-actions{border-top:1px solid var(--lux-line)!important;background:color-mix(in srgb,var(--lux-panel-soft) 85%,transparent)!important}

/* Kitchen */
.kitchen-pro>.page-header{padding:24px 26px;border-radius:28px;background:radial-gradient(circle at 92% -20%,rgba(241,208,154,.16),transparent 22rem),linear-gradient(135deg,#201310,#431a17 64%,#68221c);color:#fff;box-shadow:var(--lux-shadow-strong)}.kitchen-pro>.page-header .eyebrow{color:#f1d09a!important}.kitchen-pro>.page-header h1{color:#fff}.kitchen-pro>.page-header p{color:#ddc9c2!important}.kitchen-pro>.page-header .btn{background:rgba(255,255,255,.08)!important;color:#fff!important;border-color:rgba(255,255,255,.12)!important}.kds-column{background:var(--lux-panel-soft)!important;border:1px solid var(--lux-line)!important;border-radius:24px!important;box-shadow:var(--lux-shadow)!important}.kds-card,.kitchen-card,.kitchen-order-card{border-radius:20px!important;background:var(--lux-panel-solid)!important;border:1px solid var(--lux-line)!important;box-shadow:0 12px 30px rgba(60,39,32,.08)!important}.kds-card:hover{transform:translateY(-2px);box-shadow:0 19px 36px rgba(60,39,32,.12)!important}.kds-card.warning{border-color:rgba(182,110,27,.4)!important;box-shadow:0 14px 32px rgba(182,110,27,.11)!important}.kds-card.critical{border-color:rgba(181,56,56,.43)!important;box-shadow:0 14px 34px rgba(181,56,56,.13)!important}

/* Delivery / Driver */
.delivery{gap:17px!important}.delivery>.page-header{padding:25px 27px!important;border-radius:30px;background:radial-gradient(circle at 88% -10%,rgba(241,208,154,.17),transparent 22rem),radial-gradient(circle at -5% 110%,rgba(51,111,168,.20),transparent 22rem),linear-gradient(135deg,#201311,#401a18 56%,#5e211c);color:#fff;box-shadow:var(--lux-shadow-strong);overflow:hidden}.delivery>.page-header .eyebrow{color:#f1d09a!important}.delivery>.page-header h1{color:#fff}.delivery>.page-header p{color:#ddcac4!important}.delivery>.page-header .btn{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.12)!important;color:#fff!important}.delivery>.page-header .badge{background:rgba(255,255,255,.08)!important;color:#fff!important;border-color:rgba(255,255,255,.12)!important}
.driver-home{position:relative;overflow:hidden;padding:21px!important;border-radius:24px!important;background:linear-gradient(145deg,var(--lux-panel-solid),var(--lux-panel-soft))!important;border:1px solid var(--lux-line)!important;box-shadow:var(--lux-shadow)!important}.driver-home:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;right:-55px;top:-60px;background:radial-gradient(circle,color-mix(in srgb,var(--lux-accent) 14%,transparent),transparent 67%)}.driver-home h2{font-size:1.55rem!important;letter-spacing:-.035em}.driver-pro-summary article,.tower-metrics article{border-radius:18px!important;background:var(--lux-panel)!important;border:1px solid var(--lux-line)!important;box-shadow:var(--lux-shadow)!important;padding:14px!important}.driver-pro-summary strong,.tower-metrics strong{font-size:1.1rem!important;letter-spacing:-.025em}.driver-mode .driver-focus-card{border-radius:28px!important;background:var(--lux-panel)!important;border:1px solid var(--lux-line)!important;box-shadow:var(--lux-shadow-strong)!important}.driver-mode .driver-action-dock{bottom:76px!important;border:1px solid var(--lux-line)!important;border-radius:22px!important;background:color-mix(in srgb,var(--lux-panel-solid) 88%,transparent)!important;box-shadow:0 18px 48px rgba(41,25,20,.18)!important;backdrop-filter:blur(22px) saturate(140%)!important;margin:10px!important}.driver-mode .driver-action-dock .btn.primary{min-height:54px!important;font-size:.96rem!important}
.delivery-operation-layout,.delivery-list-pane,.delivery-detail,.delivery-settlement,.delivery-map-health,.delivery-service-health,.delivery-offline{border-radius:22px!important;background:var(--lux-panel)!important;border:1px solid var(--lux-line)!important;box-shadow:var(--lux-shadow)!important}.delivery-card{border-radius:19px!important;background:var(--lux-panel-soft)!important;border:1px solid var(--lux-line)!important;transition:.17s ease}.delivery-card:hover,.delivery-card.active{transform:translateY(-2px);background:var(--lux-panel-solid)!important;border-color:color-mix(in srgb,var(--lux-accent) 34%,var(--lux-line))!important;box-shadow:0 15px 32px rgba(60,39,32,.10)!important}
.delivery-tabs{padding:5px!important;border-radius:17px!important;background:var(--lux-panel)!important;border:1px solid var(--lux-line)!important;box-shadow:var(--lux-shadow)!important;width:max-content;max-width:100%}.delivery-tabs button{border-radius:13px!important}.delivery-tabs button.active{background:linear-gradient(135deg,#291713,#681f19)!important;color:#fff!important;box-shadow:0 10px 22px rgba(52,26,20,.18)!important}

/* Mapbox ultra modern */
.delivery-map-shell{position:relative;border-radius:29px!important;border:1px solid color-mix(in srgb,var(--lux-accent) 16%,var(--lux-line))!important;box-shadow:var(--lux-shadow-strong)!important;background:#141414!important;overflow:hidden!important}.delivery-map-shell:before{content:"MAPBOX · LIVE";position:absolute;left:14px;top:14px;z-index:5;padding:7px 10px;border-radius:999px;background:rgba(25,18,16,.78);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.11);color:#f1d09a;font-size:.61rem;font-weight:900;letter-spacing:.14em;pointer-events:none}.delivery-map-canvas{min-height:500px!important}.delivery-map-fallback{background:radial-gradient(circle at 50% 20%,rgba(212,161,92,.10),transparent 18rem),linear-gradient(145deg,#191512,#211a17)!important;color:#d1c2bc!important}
.mapboxgl-ctrl-group{border-radius:14px!important;overflow:hidden!important;box-shadow:0 10px 28px rgba(0,0,0,.18)!important;background:rgba(255,255,255,.92)!important}.mapboxgl-ctrl-group button{width:36px!important;height:36px!important}.mapboxgl-ctrl-attrib{border-radius:8px 0 0 0!important;background:rgba(255,255,255,.82)!important;backdrop-filter:blur(8px)}
.delivery-map-marker{width:30px!important;height:30px!important;border-radius:50%!important;border:3px solid rgba(255,255,255,.98)!important;box-shadow:0 8px 24px rgba(0,0,0,.28),0 0 0 5px rgba(255,255,255,.12)!important;position:relative}.delivery-map-marker:after{content:"";position:absolute;inset:7px;border-radius:50%;background:rgba(255,255,255,.85)}.delivery-map-marker.business{background:linear-gradient(135deg,#7b201c,#d4a15c)!important}.delivery-map-marker.destination{background:linear-gradient(135deg,#14835a,#44b986)!important}.delivery-map-marker.driver{background:linear-gradient(135deg,#2e6fb5,#5aa6ea)!important}.delivery-map-marker.current{background:linear-gradient(135deg,#8a54cf,#c98ff3)!important;animation:luxPulse 1.8s ease-out infinite}@keyframes luxPulse{0%{box-shadow:0 8px 24px rgba(0,0,0,.28),0 0 0 0 rgba(137,84,207,.35)}70%{box-shadow:0 8px 24px rgba(0,0,0,.28),0 0 0 15px rgba(137,84,207,0)}100%{box-shadow:0 8px 24px rgba(0,0,0,.28),0 0 0 0 rgba(137,84,207,0)}}
.delivery-capture-map{min-height:390px!important;border-radius:22px!important;border:1px solid var(--lux-line)!important;box-shadow:0 16px 38px rgba(52,32,25,.13)!important}.delivery-location-box{border-radius:24px!important;background:var(--lux-panel-soft)!important;border:1px solid var(--lux-line)!important;box-shadow:var(--lux-ring)}.delivery-location-methods{background:var(--lux-panel-solid)!important;border:1px solid var(--lux-line)!important;padding:4px!important;border-radius:16px!important}.delivery-location-methods button{border-radius:12px!important;font-weight:820!important}.delivery-location-methods button.active{background:linear-gradient(135deg,#291713,#6c211a)!important;color:#fff!important;box-shadow:0 9px 20px rgba(52,26,20,.18)!important}.delivery-address-suggestions{border-radius:16px!important;overflow:hidden!important;box-shadow:0 16px 35px rgba(52,32,25,.12)!important}.delivery-address-suggestions button{background:var(--lux-panel-solid)!important;border-color:var(--lux-line)!important}.delivery-address-suggestions button:hover{background:color-mix(in srgb,var(--lux-accent) 7%,var(--lux-panel-solid))!important}.delivery-quote-approved{border-radius:17px!important;background:linear-gradient(145deg,color-mix(in srgb,var(--lux-success) 7%,var(--lux-panel-solid)),var(--lux-panel-solid))!important;border:1px solid color-mix(in srgb,var(--lux-success) 22%,var(--lux-line))!important;padding:13px!important}

/* Quick Mapbox explorer */
.mapbox-explorer{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:14px;text-align:left}.mapbox-explorer-panel{display:grid;gap:12px}.mapbox-explorer-search{display:flex;gap:8px;align-items:center}.mapbox-explorer-search input{flex:1;min-height:50px}.mapbox-explorer-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mapbox-explorer-methods button{min-height:44px;border:1px solid var(--lux-line);border-radius:14px;background:var(--lux-panel-soft);color:var(--lux-text);font-weight:820}.mapbox-explorer-methods button:hover{border-color:color-mix(in srgb,var(--lux-accent) 38%,var(--lux-line));transform:translateY(-1px)}.mapbox-explorer-results{display:grid;gap:7px;max-height:260px;overflow:auto}.mapbox-explorer-result{display:grid;gap:3px;text-align:left;padding:11px 12px;border-radius:14px;border:1px solid var(--lux-line);background:var(--lux-panel-soft);color:var(--lux-text)}.mapbox-explorer-result:hover{border-color:color-mix(in srgb,var(--lux-accent) 38%,var(--lux-line));background:var(--lux-panel-solid)}.mapbox-explorer-result span{font-size:.75rem;color:var(--lux-muted)}.mapbox-explorer-map{min-height:430px;border-radius:22px;overflow:hidden;border:1px solid var(--lux-line);box-shadow:0 16px 38px rgba(52,32,25,.13)}.mapbox-explorer-status{padding:12px;border-radius:15px;background:var(--lux-panel-soft);border:1px solid var(--lux-line);display:grid;gap:3px}.mapbox-explorer-status small{color:var(--lux-muted)}.mapbox-explorer-coordinates{font-variant-numeric:tabular-nums;font-weight:850;color:var(--lux-brand)}

/* Admin & updater */
.admin-page,.system-page{display:grid;gap:18px}.system-grid,.admin-grid,.settings-grid{gap:16px!important}.system-grid>.panel-card,.system-page .panel-card,.production-status-card,.design-system-card,.backup-panel{border-radius:28px!important;background:var(--lux-panel)!important;border:1px solid var(--lux-line)!important;box-shadow:var(--lux-shadow)!important}.production-status-card{position:relative;overflow:hidden;background:radial-gradient(circle at 90% 0%,rgba(241,208,154,.15),transparent 18rem),linear-gradient(145deg,var(--lux-panel-solid),var(--lux-panel-soft))!important}.production-status-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--lux-accent),var(--lux-brand))}.final-certification-card{background:linear-gradient(150deg,var(--lux-panel-solid),var(--lux-panel-soft))!important}.final-check{border-radius:14px!important;border:1px solid var(--lux-line)!important;background:var(--lux-panel-soft)!important;padding:11px 12px!important}.backup-row{border-radius:15px!important;padding:11px!important}.backup-row:hover{background:var(--lux-panel-soft)!important}.design-settings-grid{gap:12px!important}

/* Installer / updater */
.installer-page,.installer-shell{background:radial-gradient(circle at 10% 8%,rgba(212,161,92,.16),transparent 25rem),radial-gradient(circle at 91% 12%,rgba(123,32,28,.13),transparent 25rem),linear-gradient(145deg,#f8f4ef,#eee6de)!important}.installer-card,.installer-panel{border-radius:32px!important;border:1px solid var(--lux-line)!important;box-shadow:var(--lux-shadow-strong)!important;background:rgba(255,255,255,.94)!important}.installer-update-card{border-radius:25px!important;background:radial-gradient(circle at 88% 0%,rgba(241,208,154,.18),transparent 18rem),linear-gradient(135deg,#251410,#511c18 65%,#75241d)!important;box-shadow:0 24px 60px rgba(73,29,22,.20)!important}.installer-status-pill{background:linear-gradient(135deg,rgba(212,161,92,.17),rgba(123,32,28,.08))!important;border-color:rgba(212,161,92,.24)!important;color:#7b201c!important}.installer-preflight{border-radius:23px!important;background:#faf6f1!important}.installer-preflight-item{border-radius:15px!important;background:#fff!important}

/* SweetAlert luxury */
.swal2-popup.swal-sambujaus,.swal2-popup.swal-sambujas,.swal-sambujaus{border-radius:29px!important;background:var(--lux-panel-solid)!important;color:var(--lux-text)!important;border:1px solid var(--lux-line)!important;box-shadow:0 35px 100px rgba(37,21,17,.30)!important}.swal2-title{letter-spacing:-.035em!important}.swal2-html-container{color:var(--lux-muted)!important}.swal-sambujaus-confirm,.swal-confirm{background:linear-gradient(135deg,var(--lux-brand),var(--lux-brand-2))!important;color:#fff!important;border-radius:14px!important}.swal-sambujaus-cancel,.swal-cancel{background:var(--lux-panel-soft)!important;color:var(--lux-text)!important;border:1px solid var(--lux-line)!important;border-radius:14px!important}

/* Historial financiero e impresión Bluetooth */
.financial-period-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:16px}.financial-period-card{display:grid;gap:10px;padding:20px;border-radius:24px;background:linear-gradient(150deg,var(--lux-panel-solid),var(--lux-panel-soft));border:1px solid var(--lux-line);box-shadow:var(--lux-shadow)}.financial-period-card header,.financial-period-card footer,.financial-method-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.financial-period-card header>div{display:grid;gap:2px}.financial-period-card header span,.financial-method-list span,.financial-period-card footer span{color:var(--lux-muted);font-size:.79rem}.financial-period-total{font-size:2rem;letter-spacing:-.045em;color:var(--lux-brand);font-variant-numeric:tabular-nums}.financial-period-caption{color:var(--lux-muted)}.financial-method-list{display:grid;gap:7px;padding:11px 0;border-block:1px solid var(--lux-line)}.financial-method-list b,.financial-period-card footer b{font-variant-numeric:tabular-nums}.financial-readiness-warning{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px;border-color:color-mix(in srgb,var(--lux-warning) 35%,var(--lux-line))!important;background:color-mix(in srgb,var(--lux-warning) 7%,var(--lux-panel-solid))!important}.financial-readiness-warning p{margin:4px 0}.financial-readiness-warning small{color:var(--lux-muted)}.financial-daily-card{margin:16px 0}.financial-daily-card>.panel-title>strong{font-size:1.35rem;color:var(--lux-brand)}.print-diagnostics-card{margin-bottom:16px}.print-diagnostic-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.print-diagnostic-grid>div{display:grid;gap:4px;padding:12px;border-radius:15px;background:var(--lux-panel-soft);border:1px solid var(--lux-line)}.print-diagnostic-grid span{font-size:.76rem;color:var(--lux-muted)}.print-diagnostic-grid strong{font-size:1.35rem}.print-diagnostic-warnings{display:grid;gap:6px;margin:12px 0 0;padding-left:20px;color:var(--lux-warning)}

/* Responsive */
@media(max-width:1180px){.login-page.login-modern{grid-template-columns:1fr}.login-modern .login-visual{display:none}.login-modern .login-form-panel{min-height:100dvh}.pos-product-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr))!important}.mapbox-explorer{grid-template-columns:1fr}.mapbox-explorer-map{min-height:360px}}
@media(max-width:980px){.app-shell.admin-layout{--sidebar:270px}.table-pro-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important}.pos-order{position:fixed!important;max-height:none!important}.delivery-map-canvas{min-height:420px!important}.financial-period-grid{grid-template-columns:1fr}.print-diagnostic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.content{padding:18px 12px 92px}.topbar{height:66px;padding:0 12px}.page-header h1{font-size:2rem}.pos-pro-header,.tables-pro>.page-header,.kitchen-pro>.page-header,.delivery>.page-header{border-radius:23px!important;padding:20px!important}.pos-pro-title-line h1{font-size:2.45rem!important}.pos-pro-kpis{grid-template-columns:repeat(2,1fr)!important}.pos-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:11px!important;gap:9px!important}.pos-product-card{border-radius:18px!important}.pos-catalog{border-radius:22px!important}.table-pro-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.table-pro-section{padding:10px!important;border-radius:22px!important}.table-pro-card{border-radius:20px!important}.table-pro-icon{width:48px!important;height:48px!important}.driver-mode .driver-action-dock{margin:7px!important;bottom:73px!important}.delivery-map-canvas{min-height:55dvh!important}.delivery-map-shell{border-radius:22px!important}.mapbox-explorer-methods{grid-template-columns:1fr}.mapbox-explorer-map{min-height:330px}.login-modern .login-form-panel{padding:18px}.login-modern .login-card{padding:30px 23px!important;border-radius:26px!important}.login-modern .login-card h2{font-size:2.15rem!important}.financial-period-total{font-size:1.7rem}.print-diagnostic-grid{grid-template-columns:1fr}}
@media(max-width:430px){.pos-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pos-product-info strong{font-size:.82rem!important}.table-pro-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.table-pro-main{padding:11px!important}.table-pro-icon:before,.table-pro-icon:after{display:none}.mapbox-explorer-search{display:grid}.mapbox-explorer-search .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.delivery-map-marker.current{animation:none!important}}


/* SAMBUJAUS POS Android: mismo backend/web, shell operativo reducido dentro de la APK */
html[data-app-mode="pos"] body{overscroll-behavior:none}
html[data-app-mode="pos"] .pos-app-mode .sidebar-brand{min-height:72px}
html[data-app-mode="pos"] .pos-app-mode .sidebar-brand-copy strong{letter-spacing:.03em}
html[data-app-mode="pos"] .pos-app-mode .topbar{border-bottom-color:color-mix(in srgb,var(--primary) 24%,var(--border))}
html[data-app-mode="pos"] .pos-app-mode .mobile-nav{box-shadow:0 18px 55px rgba(52,17,10,.24)}
html[data-app-mode="pos"] .pos-app-mode .mobile-nav a,
html[data-app-mode="pos"] .pos-app-mode .mobile-nav button{min-height:54px;touch-action:manipulation}
@media(max-width:850px){
  html[data-app-mode="pos"] .pos-app-mode .content{padding-bottom:104px}
  html[data-app-mode="pos"] .pos-app-mode .topbar-title small{display:block!important;font-size:.56rem}
}
