
/* ==========================================================================
   SECTION: BASE OPERATIVA
   ========================================================================== */
:root{--bg:#f1f5f8;--panel:#fff;--ink:#0f172a;--muted:#667587;--line:#dbe3ea;--dark:#11243a;--dark2:#173a56;--accent:#f46b0b;--accent2:#d95400;--green:#12825b;--danger:#c83f36;--soft:#f6f8fa;--shadow:0 12px 38px rgba(17,36,58,.13);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg);overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.app{height:100vh;display:grid;grid-template-rows:64px minmax(0,1fr) 30px}.topbar{background:var(--dark);color:#fff;display:flex;align-items:center;padding:0 16px;gap:18px}.brand{font-weight:900;font-size:19px;letter-spacing:-.5px}.brand span{color:var(--accent)}.brand small{font-size:10px;color:#93a1ae;margin-left:7px;font-weight:600;letter-spacing:.04em}.brand.big{font-size:30px}.context{display:flex;align-items:center;gap:10px;flex:1;font-size:13px;color:#cbd3db}.context b{color:white}.context .dot{width:4px;height:4px;border-radius:50%;background:#66717b}.top-actions{display:flex;gap:8px}.top-actions button,.user-pill{border:1px solid #34414d;background:#202b35;color:#fff;border-radius:8px;padding:9px 13px}.workspace{display:grid;grid-template-columns:minmax(480px,44%) 166px minmax(360px,1fr);min-height:0;gap:1px;background:var(--line)}.ticket-panel,.categories,.catalog{background:var(--panel);min-height:0}.ticket-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.ticket-head{display:flex;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid var(--line)}.ticket-head h1{margin:2px 0;font-size:21px}.ticket-head p{margin:0;color:var(--muted);font-size:12px}.eyebrow{font-size:10px;font-weight:800;color:var(--accent);letter-spacing:.11em}.icon-btn{border:0;background:var(--soft);border-radius:8px;width:38px;height:38px;font-size:20px}.ticket-lines{overflow:auto;padding:6px 10px}.ticket-lines.empty{display:grid;place-items:center}.empty-state{text-align:center;color:var(--muted);display:grid;gap:5px}.empty-state strong{color:var(--ink);font-size:18px}.line-item{display:grid;grid-template-columns:48px minmax(0,1fr) 90px 36px;align-items:start;gap:8px;padding:11px 7px;border-bottom:1px solid #e8edf1;transition:background .16s ease}.line-item:hover{background:#f8fafb}.qty-badge{background:#edf1f4;border-radius:7px;text-align:center;font-weight:800;padding:8px 3px}.line-main strong{display:block;font-size:14px}.line-main small{display:block;color:var(--muted);margin-top:4px;line-height:1.25}.line-status{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font-size:10px;font-weight:800;color:#9d5d00}.line-status.sent{color:var(--green)}.line-price{text-align:right;font-weight:850;padding-top:7px}.line-more{border:0;background:transparent;font-size:21px;padding:3px}.ticket-footer{border-top:1px solid var(--line);padding:12px 16px 14px;background:#fff}.totals{display:grid;gap:5px}.totals span{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.totals strong{display:flex;justify-content:space-between;align-items:end;margin-top:3px;font-size:16px}.totals em{font-style:normal;color:var(--accent);font-size:30px}.ticket-actions{display:grid;grid-template-columns:1fr 1.7fr;gap:8px;margin-top:11px}.ticket-actions button{border:0;border-radius:9px;padding:14px;font-weight:850}.secondary{background:#e7edf2;color:#263442}.pay{background:var(--accent);color:white}.pay:hover{background:var(--accent2)}.categories{overflow:auto;padding:8px}.category{width:100%;text-align:left;border:0;border-radius:8px;background:transparent;padding:10px 10px;margin-bottom:3px;display:flex;align-items:center;justify-content:space-between;color:#33414d;font-size:13px;font-weight:700;transition:.15s}.category small{color:#94a0aa;font-weight:600}.category:hover{background:#f0f3f6}.category.active{background:var(--dark2);color:#fff}.category.active small{color:#bac5ce}.catalog{display:grid;grid-template-rows:auto minmax(0,1fr)}.catalog-toolbar{padding:10px;display:flex;gap:8px;border-bottom:1px solid var(--line)}.search{flex:1;display:flex;align-items:center;border:1px solid #cfd7de;border-radius:9px;background:#fff;padding:0 10px}.search:focus-within{border-color:#66798a;box-shadow:0 0 0 3px rgba(102,121,138,.12)}.search input{width:100%;border:0;outline:0;padding:11px 8px;background:transparent}.view-switch{display:flex;border:1px solid #cfd7de;border-radius:9px;overflow:hidden}.view-switch button{width:42px;border:0;background:white;font-size:19px}.view-switch button.active{background:var(--dark2);color:#fff}.products{overflow:auto;padding:10px}.products.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));grid-auto-rows:122px;gap:8px;align-content:start}.product-card{border:1px solid #dce3e9;background:white;border-radius:10px;padding:12px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.product-card:hover{transform:translateY(-1px);border-color:#aebbc5;box-shadow:0 6px 16px rgba(24,38,50,.08)}.product-card:active{transform:scale(.985)}.product-card .code{font-size:10px;color:#8a96a1}.product-card strong{font-size:14px;line-height:1.16}.product-card b{font-size:18px;color:var(--accent)}.products.list{display:block}.products.list .product-card{height:57px;border-radius:0;border-width:0 0 1px;display:grid;grid-template-columns:80px minmax(0,1fr) 100px;align-items:center;padding:7px 10px}.products.list .product-card b{text-align:right}.statusbar{background:var(--dark);color:#b8c4ce;display:flex;align-items:center;gap:22px;padding:0 15px;font-size:10px}.statusbar span:nth-last-child(2){margin-left:auto}.ok{display:inline-block;width:7px;height:7px;border-radius:50%;background:#31b77f;margin-right:5px}.overlay{position:fixed;inset:0;background:rgba(8,13,18,.72);z-index:20;display:grid;place-items:center;padding:20px;backdrop-filter:blur(3px)}.dialog{width:min(470px,100%);background:#fff;border-radius:14px;box-shadow:var(--shadow);padding:22px}.dialog.wide{width:min(980px,100%)}.dialog.payment{width:min(900px,100%)}.dialog header{display:flex;justify-content:space-between;align-items:start}.dialog h1,.dialog h2{margin:0 0 7px}.dialog p{color:var(--muted);margin:0 0 16px}.dialog label{display:grid;gap:6px;font-size:12px;font-weight:750;color:#495765;margin:13px 0}.dialog input,.dialog textarea{width:100%;border:1px solid #cdd6de;border-radius:8px;padding:12px;outline:0;resize:none}.dialog input:focus,.dialog textarea:focus{border-color:#607487;box-shadow:0 0 0 3px rgba(96,116,135,.12)}.money-input{display:flex;align-items:center;border:1px solid #cdd6de;border-radius:8px;overflow:hidden;background:white}.money-input:focus-within{border-color:#607487;box-shadow:0 0 0 3px rgba(96,116,135,.12)}.money-input span{padding-left:12px;color:#687583;font-weight:800}.money-input input{border:0!important;box-shadow:none!important;font-size:19px;font-weight:800}.money-input.large input{font-size:28px}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.actions.spread{justify-content:space-between}.primary,.ghost,.danger,.success{border:0;border-radius:8px;padding:12px 18px;font-weight:800}.primary{background:var(--dark2);color:#fff}.ghost{background:#edf1f4}.danger{background:#fee8e7;color:#b52520}.success{background:var(--green);color:#fff}.full{width:100%}.hint{text-align:center;font-size:11px}.login{text-align:center}.login label{text-align:left}.tabs{display:flex;gap:7px;margin:10px 0 14px}.tabs button{border:1px solid var(--line);background:#fff;padding:9px 13px;border-radius:8px}.tabs button.active{background:var(--dark2);color:white}.tables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.table-card{border:1px solid var(--line);background:white;border-radius:10px;padding:16px;text-align:left;min-height:92px}.table-card.occupied{border-color:#f0a49f;background:#fff7f6}.table-card strong{display:block;font-size:16px}.table-card span{display:block;margin-top:8px;color:var(--muted);font-size:12px}.stepper{display:grid;grid-template-columns:44px 1fr 44px;border:1px solid #cdd6de;border-radius:8px;overflow:hidden}.stepper button,.stepper input{border:0!important;border-radius:0!important;text-align:center}.stepper button{font-size:21px;background:#eef2f5}.payment-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.method-grid button{border:1px solid var(--line);background:white;border-radius:8px;padding:13px;font-weight:750}.method-grid button.active{background:var(--dark2);color:white}.payment-ledger{background:#f4f6f8;border-radius:10px;padding:16px;display:flex;flex-direction:column}.payment-ledger h3{margin:0 0 12px}.payment-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.ledger-total{display:flex;justify-content:space-between;margin-top:auto;padding:18px 0;font-size:18px}.toast{position:fixed;right:18px;bottom:44px;background:#17212b;color:white;border-radius:9px;padding:12px 16px;z-index:40;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}@media(max-width:1050px){.workspace{grid-template-columns:minmax(400px,46%) 145px minmax(300px,1fr)}.context{display:none}.products.cards{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}@media(max-width:760px){body{overflow:auto}.app{min-height:100vh;height:auto}.workspace{display:block}.ticket-panel{min-height:540px}.categories{display:flex;gap:4px;overflow:auto}.category{width:auto;white-space:nowrap}.catalog{min-height:520px}.payment-layout{grid-template-columns:1fr}.statusbar{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* R1.1 Responsive operational foundation */
.mobile-face-nav{display:none}
@media (min-width:1440px){
  .workspace{grid-template-columns:minmax(560px,42vw) clamp(160px,10.5vw,190px) minmax(520px,1fr)}
  .products.cards{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));grid-auto-rows:116px}
}
@media (min-width:1024px) and (max-width:1439px){
  .workspace{grid-template-columns:minmax(430px,42%) 150px minmax(390px,1fr)}
  .topbar{padding-inline:12px}.brand small{display:none}
  .products.cards{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));grid-auto-rows:112px}
}
@media (min-width:768px) and (max-width:1023px){
  .app{grid-template-rows:56px minmax(0,1fr) 26px}
  .topbar{padding:0 10px;gap:10px}.brand{font-size:17px}.brand small,.context{display:none}
  .top-actions button,.user-pill{padding:8px 10px;font-size:12px}
  .workspace{grid-template-columns:minmax(345px,44%) 132px minmax(285px,1fr)}
  .ticket-head{padding:12px}.ticket-lines{padding-inline:6px}.ticket-footer{padding:10px}
  .categories{padding:6px}.category{padding:9px 7px;font-size:12px}
  .catalog-toolbar{padding:7px}.products{padding:7px}
  .products.cards{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));grid-auto-rows:104px;gap:6px}
  .product-card{padding:9px}.product-card strong{font-size:12px}.product-card b{font-size:16px}
  .line-item{grid-template-columns:42px minmax(0,1fr) 76px 32px;padding:9px 5px}
  .statusbar{padding-inline:10px;gap:12px}
}
@media (max-width:767px){
  :root{--mobile-nav-h:68px}
  html,body{height:100%;overscroll-behavior:none}
  body{overflow:hidden;background:var(--panel)}
  .app{height:100dvh;min-height:0;grid-template-rows:52px minmax(0,1fr) var(--mobile-nav-h)}
  .topbar{padding:0 10px;gap:8px;min-width:0}
  .brand{font-size:16px;white-space:nowrap}.brand small{display:none}.context{display:none}
  .top-actions{margin-left:auto;gap:5px}.top-actions button{display:none}.top-actions .user-pill{display:block;max-width:94px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 9px;font-size:11px}
  .workspace{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);background:var(--panel);overflow:hidden}
  .ticket-panel,.categories,.catalog{grid-column:1;grid-row:1;min-width:0;min-height:0}
  .ticket-panel{display:none;grid-template-rows:auto minmax(0,1fr) auto}
  .categories{display:flex;position:absolute;z-index:2;top:52px;left:0;right:0;height:49px;padding:5px 7px;gap:5px;border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;background:#fff}
  .categories::-webkit-scrollbar{display:none}
  .category{flex:0 0 auto;width:auto;min-height:38px;padding:8px 11px;margin:0;white-space:nowrap;font-size:12px;border:1px solid transparent}
  .category small{margin-left:8px}
  .catalog{display:grid;grid-template-rows:auto minmax(0,1fr);padding-top:49px}
  .catalog-toolbar{padding:7px;gap:6px}.search{min-width:0}.search input{padding:10px 5px;font-size:16px}.view-switch button{width:40px}
  .products{padding:7px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
  .products.cards{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:112px;gap:7px}
  .product-card{padding:10px;border-radius:9px}.product-card strong{font-size:13px}.product-card b{font-size:17px}.product-card .code{font-size:9px}
  .products.list .product-card{height:58px;grid-template-columns:65px minmax(0,1fr) 82px;padding-inline:8px}
  .ticket-head{padding:11px 13px 9px}.ticket-head h1{font-size:19px}.ticket-head p{font-size:11px}.eyebrow{font-size:9px}
  .ticket-lines{padding:3px 8px}.line-item{grid-template-columns:44px minmax(0,1fr) 78px 32px;gap:6px;padding:10px 3px}.qty-badge{padding:7px 2px}.line-main strong{font-size:13px}.line-main small{font-size:11px}.line-price{font-size:13px}.line-status{font-size:9px}
  .ticket-footer{padding:9px 12px max(10px,env(safe-area-inset-bottom))}.totals{gap:3px}.totals em{font-size:27px}.ticket-actions{margin-top:8px}.ticket-actions button{padding:13px}
  .mobile-face-nav{display:grid;grid-template-columns:1fr 1fr;background:var(--dark);padding:6px 8px max(6px,env(safe-area-inset-bottom));gap:7px;z-index:15}
  .mobile-face-nav button{border:1px solid #34414d;border-radius:10px;background:#1b2630;color:#c7d0d8;display:grid;place-items:center;align-content:center;gap:2px;min-width:0}
  .mobile-face-nav button span{font-weight:850;font-size:14px}.mobile-face-nav button small{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .mobile-face-nav button.active{background:#fff;color:var(--ink);border-color:#fff}
  body[data-mobile-face="ticket"] .ticket-panel{display:grid}
  body[data-mobile-face="ticket"] .categories,body[data-mobile-face="ticket"] .catalog{display:none}
  body[data-mobile-face="catalog"] .ticket-panel{display:none}
  body[data-mobile-face="catalog"] .categories{display:flex}
  body[data-mobile-face="catalog"] .catalog{display:grid}
  .statusbar{display:none}
  .overlay{padding:8px;align-items:end}.dialog,.dialog.wide,.dialog.payment{width:100%;max-height:94dvh;overflow:auto;border-radius:16px 16px 0 0;padding:17px}
  .payment-layout{grid-template-columns:1fr}.tables-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.method-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:390px){
  .products.cards{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:105px}
  .product-card{padding:8px}.product-card strong{font-size:12px}.product-card b{font-size:16px}
  .line-item{grid-template-columns:40px minmax(0,1fr) 70px 28px}.ticket-actions{grid-template-columns:1fr 1.45fr}
}
@media (max-width:767px) and (orientation:landscape){
  :root{--mobile-nav-h:58px}.app{grid-template-rows:46px minmax(0,1fr) var(--mobile-nav-h)}
  .topbar{height:46px}.categories{top:46px;height:45px}.catalog{padding-top:45px}
  .products.cards{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:92px}
  .ticket-head{padding-block:7px}.ticket-footer{padding-block:6px}.totals em{font-size:23px}.ticket-actions button{padding:10px}
}

/* R1.2 Catalog media and row alignment */
.category{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;justify-content:stretch;min-height:48px;padding:6px 8px}
.category img{width:34px;height:34px;border-radius:8px;object-fit:cover;background:#fff;border:1px solid #e2e7eb}
.category-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.category.active img{border-color:rgba(255,255,255,.34)}
.product-card{overflow:hidden;min-width:0}
.product-media{display:block;overflow:hidden;background:#f3f6f8;border:1px solid #e5eaee}
.product-media img{width:100%;height:100%;display:block;object-fit:cover}
.product-copy{min-width:0;display:grid;gap:4px}
.product-copy strong{overflow:hidden;text-overflow:ellipsis}
.products.cards{grid-auto-rows:154px}
.products.cards .product-card{display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;column-gap:10px;row-gap:8px;padding:10px}
.products.cards .product-media{width:58px;height:58px;border-radius:10px;grid-row:1}
.products.cards .product-copy{align-content:center;grid-row:1}
.products.cards .product-card b{grid-column:1/-1;align-self:end}
.products.list{width:100%}
.products.list .product-card{width:100%;min-height:68px;height:auto;grid-template-columns:48px minmax(0,1fr) minmax(88px,auto);gap:12px;padding:8px 12px;border-bottom:1px solid var(--line)}
.products.list .product-media{width:48px;height:48px;border-radius:8px}
.products.list .product-copy{align-content:center}
.products.list .product-copy strong{font-size:14px;white-space:normal;line-height:1.2}
.products.list .product-card .code{font-size:10px}
.products.list .product-card b{font-size:18px;white-space:nowrap;text-align:right;align-self:center}
@media (min-width:1440px){.products.cards{grid-auto-rows:148px}}
@media (min-width:768px) and (max-width:1023px){
  .category{grid-template-columns:30px minmax(0,1fr) auto;gap:6px;min-height:43px;padding:5px}.category img{width:30px;height:30px}
  .products.cards{grid-auto-rows:142px}.products.cards .product-card{grid-template-columns:48px minmax(0,1fr);padding:8px}.products.cards .product-media{width:48px;height:48px}
  .products.list .product-card{grid-template-columns:42px minmax(0,1fr) minmax(76px,auto);min-height:60px;padding:6px 8px;gap:8px}.products.list .product-media{width:42px;height:42px}
}
@media (max-width:767px){
  .categories{height:62px}.catalog{padding-top:62px}
  .category{grid-template-columns:34px auto auto;min-height:50px;padding:5px 9px;gap:7px}.category img{width:34px;height:34px}.category-name{max-width:105px}
  .products.cards{grid-auto-rows:142px}.products.cards .product-card{grid-template-columns:46px minmax(0,1fr);padding:8px;gap:7px}.products.cards .product-media{width:46px;height:46px}.products.cards .product-copy strong{font-size:12px}
  .products.list .product-card{grid-template-columns:46px minmax(0,1fr) minmax(78px,auto);min-height:64px;height:auto;padding:7px 8px;gap:9px}.products.list .product-media{width:46px;height:46px}.products.list .product-card b{font-size:17px}
}
@media (max-width:767px) and (orientation:landscape){.categories{height:54px}.catalog{padding-top:54px}.category{min-height:42px}.category img{width:30px;height:30px}.products.cards{grid-auto-rows:118px}}

/* R1.3 GPOS operational continuity — behavior added without changing POS three-pane geometry */
.recipe-mark{display:inline-block;color:#7a5d00;font-size:9px;font-weight:800;margin-top:2px}
.line-item.voided{opacity:.5;text-decoration:line-through;background:#fafafa}.line-status.void-status{color:#9a2d28}
.locked-banner{padding:10px 12px;border-radius:8px;background:#eef6f2;color:#156845;font-size:12px;font-weight:800;margin:10px 0}
.option-list{display:grid;gap:7px;margin:10px 0 14px}.option-list.compact{grid-template-columns:1fr 1fr}.check-option{display:flex!important;grid-template-columns:none!important;align-items:center;gap:9px!important;margin:0!important;border:1px solid var(--line);border-radius:9px;padding:9px!important;background:#fff}.check-option input{width:18px!important;height:18px!important;margin:0}.check-option span{display:grid}.check-option small{color:var(--muted);font-weight:600}.section-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:15px 0 8px}
.dialog select{width:100%;border:1px solid #cdd6de;border-radius:8px;padding:12px;background:#fff;color:var(--ink);outline:0}.dialog select:focus{border-color:#607487;box-shadow:0 0 0 3px rgba(96,116,135,.12)}
.compact-menu{width:min(430px,100%)}.menu-actions{display:grid;gap:8px}.menu-actions button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:14px 15px;text-align:left;font-weight:850;color:var(--ink)}.menu-actions button:hover{background:#f6f8fa}.menu-actions small{display:block;color:var(--muted);font-weight:600;margin-top:3px}
.salon-dialog{height:min(760px,90dvh);display:grid;grid-template-rows:auto auto minmax(0,1fr)}.tables-grid.spatial{position:relative;display:block;min-height:520px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(90deg,#f5f7f8 1px,transparent 1px),linear-gradient(#f5f7f8 1px,transparent 1px);background-size:28px 28px;overflow:auto}.tables-grid.spatial .table-card{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);transform:translate(-50%,-50%);width:150px;min-height:68px;border:1px solid #8ccba8;background:#ecf9f1;border-radius:12px;padding:12px;text-align:center;box-shadow:0 4px 12px rgba(24,38,50,.08)}.tables-grid.spatial .table-card.occupied{border-color:#ec8580;background:#fff0ef}.tables-grid.spatial .table-card strong{font-size:15px}.tables-grid.spatial .table-card span{margin-top:5px;font-size:10px}.tables-grid.spatial.direct-layout .table-card{position:relative;left:auto;top:auto;transform:none;display:inline-block;margin:12px}
.cash-summary{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fafb}.cash-summary>div{display:flex;justify-content:space-between}.cash-summary p{margin:4px 0 0}
.portrait-guard{display:none;position:fixed;inset:0;z-index:100;background:var(--dark);color:#fff;place-items:center;text-align:center;padding:24px}.portrait-guard div{display:grid;gap:8px}.portrait-guard strong{font-size:24px}.portrait-guard span{color:#c5d0d9}
@media(max-width:767px){
 .option-list.compact{grid-template-columns:1fr}.salon-dialog{height:94dvh}.tables-grid.spatial{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-height:0;padding:8px;background:#f7f9fa}.tables-grid.spatial .table-card{position:relative;left:auto;top:auto;transform:none;width:100%;min-height:76px}.menu-actions button{padding:15px}
}
@media(max-width:767px) and (orientation:landscape){.portrait-guard{display:grid}.app,.overlay:not(#login),.salon-screen{visibility:hidden}}

/* R1.4 Ticket lifecycle — operational layers only; POS three-pane geometry remains unchanged */
.split-dialog{width:min(960px,100%)}
.split-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:18px;min-height:420px}
.split-lines{display:grid;gap:7px;margin-bottom:12px;max-height:58dvh;overflow:auto;padding-right:4px}
.split-line{display:grid;grid-template-columns:minmax(0,1fr) 74px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#fff}
.split-line.disabled{opacity:.45;background:#f6f7f8}
.split-line label{display:flex!important;align-items:center;gap:10px!important;margin:0!important;min-width:0}
.split-line label input{width:18px!important;height:18px!important;flex:0 0 auto}
.split-line label span{display:grid;min-width:0}.split-line label strong{font-size:13px}.split-line label small{color:var(--muted);font-weight:600}
.split-qty{width:74px!important;text-align:center!important;font-weight:850!important;padding:10px 6px!important}
.partial-ledger{border-left:1px solid var(--line);padding-left:18px;min-width:0}.partial-ledger h3{margin:0 0 10px}
.partial-card{border:1px solid var(--line);border-radius:10px;padding:11px;margin-bottom:8px;background:#f9fafb}.partial-card.paid{border-color:#9dd2b9;background:#f1faf5}
.partial-card header{display:flex;align-items:start;justify-content:space-between;gap:10px}.partial-card header span{display:grid}.partial-card header small{font-size:10px;color:var(--muted);margin-top:2px}.partial-card header b{font-size:17px}
.partial-progress{display:flex;justify-content:space-between;gap:10px;margin:10px 0;font-size:11px;color:var(--muted)}.partial-progress strong{color:var(--ink)}
.partial-actions{display:flex;gap:6px;flex-wrap:wrap}.partial-actions button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:8px 9px;font-size:11px;font-weight:800}.partial-actions button.primary{background:var(--dark2);color:#fff;border-color:var(--dark2)}
.payment-scope{border:1px solid #cad6df;background:#f5f8fa;color:#334452;border-radius:9px;padding:9px 11px;margin:8px 0 14px;font-size:12px;font-weight:800}
.payment-change{display:flex;justify-content:space-between;align-items:center;border-radius:9px;background:#eaf8f1;color:#116a48;padding:11px 12px;margin-top:10px;font-size:13px}.payment-change strong{font-size:19px}
#finishSale:disabled{opacity:.45;cursor:not-allowed}
.open-ticket-list{display:grid;gap:8px;max-height:68dvh;overflow:auto}.open-ticket-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px 14px;text-align:left}.open-ticket-row:hover{background:#f7f9fa}.open-ticket-row span{display:grid}.open-ticket-row small{color:var(--muted);font-size:10px;margin-top:3px}.open-ticket-row b{font-size:17px;text-align:right}
.tables-grid.spatial .table-card.state-pending-send{border-color:#e4b465;background:#fff8e8}.tables-grid.spatial .table-card.state-sent{border-color:#7ab5d2;background:#eef8fc}.tables-grid.spatial .table-card.state-prebill{border-color:#aa93cf;background:#f7f2ff}.tables-grid.spatial .table-card.state-partial-payment{border-color:#e49b5f;background:#fff2e8}
@media(max-width:767px){.split-layout{grid-template-columns:1fr;min-height:0}.partial-ledger{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:14px}.split-lines{max-height:42dvh}.split-line{grid-template-columns:minmax(0,1fr) 64px}.split-qty{width:64px!important}.open-ticket-list{max-height:75dvh}}


/* R1.4.1 Product configurator refinement */
.config-dialog{width:min(980px,100%);display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:14px;max-height:min(92dvh,860px);padding:22px 22px 18px}.config-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;min-height:0}.config-panel{display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid var(--line);border-radius:12px;background:#fbfcfd;min-height:0}.config-panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #e4ebf1;background:#fff;border-radius:12px 12px 0 0}.config-panel-head h3{margin:0;font-size:14px}.config-panel-head small{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:700}.ingredient-grid{padding:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;align-content:start;overflow:auto;min-height:0}.ingredient-chip{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;border:1px solid #d8e0e7;background:#fff;border-radius:10px;padding:9px 10px;cursor:pointer;min-height:58px;transition:border-color .15s ease,background .15s ease,transform .15s ease}.ingredient-chip:hover{border-color:#aebbc5;background:#f8fafb}.ingredient-chip:active{transform:scale(.99)}.ingredient-chip input{width:18px;height:18px;margin:0}.ingredient-chip .copy{display:grid;min-width:0}.ingredient-chip strong{font-size:13px;line-height:1.15;overflow:hidden;text-overflow:ellipsis}.ingredient-chip small{color:var(--muted);font-weight:600;font-size:11px}.ingredient-chip.off{background:#f3f5f7;border-style:dashed;opacity:.84}.ingredient-chip.off strong{text-decoration:line-through;color:#73808c}.additional-list{padding:10px 12px;display:grid;gap:8px;overflow:auto;min-height:0}.additional-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #d8e0e7;background:#fff;border-radius:10px;padding:10px 12px;min-height:64px}.additional-row .copy{display:grid;gap:3px;min-width:0}.additional-row strong{font-size:13px;line-height:1.15}.additional-row small{color:var(--muted);font-weight:600;font-size:11px}.qty-picker{display:grid;grid-template-columns:34px minmax(36px,auto) 34px;align-items:center;border:1px solid #ccd6de;border-radius:10px;overflow:hidden;background:#fff;flex:0 0 auto}.qty-picker button{width:34px;height:34px;border:0;background:#eef2f5;font-size:18px;font-weight:900;display:grid;place-items:center}.qty-picker button:hover{background:#e5ebf0}.qty-picker button:disabled{opacity:.4;cursor:not-allowed}.qty-picker span{display:grid;place-items:center;min-width:40px;padding:0 8px;font-weight:900;color:var(--ink)}.config-note-label{margin:0!important}.config-footer{border-top:1px solid #e6edf3;padding-top:12px;display:grid;gap:12px}.config-total{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap}.config-total span{display:grid;gap:4px;color:var(--muted);font-size:12px;font-weight:700}.config-total strong{display:grid;gap:3px;margin-left:auto;font-size:13px}.config-total em{font-style:normal;font-size:26px;color:var(--accent);line-height:1}.config-footer .actions{margin-top:0}.config-footer-right{display:flex;gap:8px;flex-wrap:wrap}.line-config-top{display:grid;grid-template-columns:minmax(220px,320px) minmax(200px,260px);gap:12px;align-items:end}.line-config-dialog .config-footer .actions{align-items:center}.line-config-dialog .config-total em{font-size:24px}@media(max-width:900px){.config-dialog{width:min(100%,760px)}.config-layout{grid-template-columns:1fr}.config-panel{max-height:34dvh}.line-config-top{grid-template-columns:1fr 1fr}}@media(max-width:767px){.config-dialog{width:min(100%,100%);max-height:96dvh;border-radius:18px 18px 0 0;align-self:end;padding:18px 16px 14px;grid-template-rows:auto minmax(0,1fr) auto auto}.config-layout{grid-template-columns:1fr;gap:12px}.config-panel{max-height:none;min-height:0}.ingredient-grid{grid-template-columns:1fr 1fr;padding:10px}.ingredient-chip{min-height:54px;padding:8px}.additional-list{padding:10px}.additional-row{grid-template-columns:minmax(0,1fr) auto;padding:10px}.qty-picker{grid-template-columns:32px minmax(30px,auto) 32px}.qty-picker button{width:32px;height:32px}.config-total{position:sticky;bottom:0;background:#fff;padding-top:6px}.config-total strong{margin-left:0}.config-footer .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.line-config-top{grid-template-columns:1fr}.line-config-dialog .config-footer .actions.spread{grid-template-columns:1fr;justify-content:stretch}.line-config-dialog .config-footer-right{display:grid;grid-template-columns:1fr 1fr}}

/* R1.4.3 complete line configurator: base quantity + per-unit additionals */
.product-config-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--dark);color:#fff}.toolbar-label,.toolbar-price span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#aebbc7;font-weight:850;margin-bottom:6px}.toolbar-price{text-align:right}.toolbar-price strong{font-size:22px}.product-qty-stepper{display:grid;grid-template-columns:44px 64px 44px;align-items:center;border:1px solid #465461;border-radius:10px;overflow:hidden;background:#fff;color:var(--ink)}.product-qty-stepper button{height:42px;border:0;background:#e9eef2;font-size:22px;font-weight:900}.product-qty-stepper button:active{background:#dbe4ea}.product-qty-stepper strong{display:grid;place-items:center;font-size:20px}.additional-row.active{border-color:#8aa7bb;background:#f4f8fb;box-shadow:inset 3px 0 0 var(--dark2)}.additional-row.active .qty-picker{border-color:#879eaf}.additional-row.active .qty-picker span{background:var(--dark2);color:#fff;height:34px}.config-total span b{color:var(--ink);font-size:14px}.config-total span small{color:var(--muted)}
@media(max-width:767px){.product-config-toolbar{position:sticky;top:0;z-index:3;padding:10px 12px;border-radius:10px}.product-qty-stepper{grid-template-columns:42px 58px 42px}.product-qty-stepper button{height:40px}.toolbar-price strong{font-size:19px}}

/* R1.4.4 Commercial/operational configurator — restrained Amelia/GsiNova language */
:root{--brand-warm:#f28a1a;--brand-warm-soft:#fff5e8;--brand-warm-line:#e9a24b;--surface-2:#f7f9fb}
.product-config-dialog{width:min(930px,calc(100vw - 36px));max-height:min(88dvh,760px);padding:18px;gap:12px;border-radius:12px;background:#fff}
.config-titlebar{padding-bottom:2px}.config-titlebar h2{font-size:23px;letter-spacing:-.02em}.config-titlebar p{font-size:12px!important;margin-bottom:0!important;max-width:620px}
.config-commandbar{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:18px;padding:10px 12px;border:1px solid #d8e0e7;border-radius:10px;background:#f7f9fb}
.config-kicker,.toolbar-price span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#6b7884;font-weight:850;margin-bottom:5px}
.config-qty-block{display:grid;gap:2px}.product-qty-stepper{grid-template-columns:38px 54px 38px;border-color:#bdc9d2;border-radius:8px;background:#fff}.product-qty-stepper button{height:38px;background:#edf2f5;font-size:19px}.product-qty-stepper strong{font-size:18px}.config-scope{display:grid;gap:2px;min-width:0}.config-scope strong{font-size:12px;color:#273543}.config-scope span{font-size:10px;color:#788591;white-space:normal}.toolbar-price{text-align:right;min-width:112px}.toolbar-price strong{font-size:20px;color:#17212b}
.config-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:12px;min-height:250px}.config-panel{border-radius:9px;background:#fff;overflow:hidden}.config-panel-head{padding:9px 11px;border-radius:9px 9px 0 0;background:#f8fafb}.config-panel-head h3{font-size:13px}.config-panel-head small{font-size:10px;margin-top:2px}.config-tip{font-size:9px;color:#83909b;font-weight:750;white-space:nowrap}
.ingredient-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px;max-height:270px}.ingredient-chip{min-height:46px;border-radius:7px;padding:6px 8px;grid-template-columns:18px minmax(0,1fr);gap:7px}.ingredient-chip input{width:16px;height:16px;accent-color:var(--brand-warm)}.ingredient-chip strong{font-size:12px}.ingredient-chip small{font-size:10px}.ingredient-chip.off{background:#f4f5f6;border-style:solid;opacity:.65}.ingredient-chip.off strong{text-decoration:line-through}
.additions-head{gap:10px}.additional-search{margin-left:auto;display:flex;align-items:center;gap:4px;border:1px solid #ccd6de;border-radius:7px;background:#fff;padding:0 7px;max-width:190px}.additional-search input{border:0!important;box-shadow:none!important;padding:7px 3px!important;font-size:11px!important;background:transparent}.additional-search span{color:#778590}.additional-list{gap:5px;padding:8px;max-height:270px;overflow:auto;align-content:start}.additional-row{min-height:48px;border-radius:7px;padding:6px 8px}.additional-row strong{font-size:12px}.additional-row small{font-size:10px}.additional-row.active{border-color:var(--brand-warm-line);background:var(--brand-warm-soft);box-shadow:inset 3px 0 0 var(--brand-warm)}.qty-picker{grid-template-columns:30px 34px 30px;border-radius:7px}.qty-picker button{width:30px;height:32px;font-size:16px}.qty-picker span{min-width:34px;padding:0 4px;font-size:13px}.additional-row.active .qty-picker{border-color:#d99643}.additional-row.active .qty-picker span{height:32px;background:#17212b;color:#fff}
.config-note-label{display:grid!important;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:10px!important;border-top:1px solid #edf0f2;padding-top:10px;margin-top:0!important}.config-note-label>span{font-size:11px;font-weight:800;color:#4c5a66}.config-note-label>span small{font-weight:600;color:#8b97a1}.config-note-label textarea{min-height:38px!important;height:38px;padding:9px 10px!important;font-size:12px}
.config-footer{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;padding-top:10px}.config-calculation{display:grid;gap:4px;max-width:520px}.config-calculation>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:baseline;font-size:11px}.config-calculation span{color:#697783}.config-calculation strong{color:#26333e;font-size:13px}.config-grand-total{border-top:1px solid #e0e6eb;padding-top:7px;margin-top:3px}.config-grand-total span{font-weight:850;color:#17212b}.config-grand-total strong{font-size:24px;color:#17212b}.config-footer-actions{display:flex;gap:7px}.config-footer-actions button{min-width:128px;height:44px;padding:0 16px}.config-footer-actions .primary{background:#17212b;color:#fff}.config-footer-actions .primary:hover{background:#24323f}.config-footer-actions .primary:active{transform:translateY(1px)}
@media(max-width:900px){.product-config-dialog{max-height:92dvh}.config-commandbar{grid-template-columns:auto minmax(0,1fr) auto}.config-layout{grid-template-columns:1fr 1fr}.ingredient-grid{grid-template-columns:1fr}.config-scope span{display:none}}
@media(max-width:767px){.product-config-dialog{width:100%;max-height:96dvh;padding:14px 12px 12px;gap:9px;border-radius:14px 14px 0 0}.config-titlebar h2{font-size:20px}.config-titlebar p{font-size:11px!important}.config-commandbar{grid-template-columns:auto minmax(0,1fr) auto;gap:9px;padding:8px}.product-qty-stepper{grid-template-columns:36px 44px 36px}.product-qty-stepper button{height:36px}.toolbar-price{min-width:82px}.toolbar-price strong{font-size:17px}.config-scope strong{font-size:10px}.config-layout{grid-template-columns:1fr;min-height:0;overflow:auto}.config-panel{min-height:auto;max-height:none}.ingredient-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.additional-list{max-height:230px}.additions-head{align-items:center}.additional-search{max-width:145px}.config-note-label{grid-template-columns:1fr;gap:4px!important;padding-top:7px}.config-footer{position:sticky;bottom:0;background:#fff;grid-template-columns:1fr;gap:8px;border-top:1px solid #dfe5ea;padding:9px 0 0;box-shadow:0 -8px 16px rgba(20,31,43,.04)}.config-calculation{max-width:none}.config-calculation>div{font-size:10px}.config-grand-total strong{font-size:22px}.config-footer-actions{display:grid;grid-template-columns:.8fr 1.2fr}.config-footer-actions button{min-width:0;width:100%;height:44px}}

/* R1.5 GPOS line lifecycle — compact ticket + inline trace */
.ticket-line{border-bottom:1px solid #e7edf2;background:#fff}
.ticket-line .line-item{border-bottom:0}
.ticket-line.expanded{background:#fbfcfd;box-shadow:inset 3px 0 0 #f08a24}
.ticket-line.void{background:#fafafa}
.line-chevron{border:0;background:transparent;width:32px;height:32px;border-radius:7px;font-size:20px;line-height:1;color:#53616d;transition:transform .16s ease,background .16s ease}
.line-chevron:hover{background:#edf2f5}
.ticket-line.expanded .line-chevron{transform:rotate(180deg);background:#edf2f5}
.line-status{font-weight:800}.line-status i{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}
.line-status.pending{color:#a7680c}.line-status.sent{color:#087954}.line-status.preparing{color:#2769a8}.line-status.ready{color:#087954}.line-status.void{color:#a23029}
.line-inline-detail{padding:0 10px 12px 65px}
.line-detail-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(180px,.75fr);gap:12px;border-top:1px dashed #d8e0e7;padding-top:10px}
.line-detail-grid>section{min-width:0}
.line-detail-section{display:grid;gap:5px;margin-bottom:8px}
.line-detail-section>span,.line-timeline div>span{font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:#84919c;font-weight:850}
.line-detail-section>strong{font-size:12px;color:#34424e}
.detail-chips{display:flex;gap:5px;flex-wrap:wrap}
.detail-chips b{font-size:10px;padding:5px 7px;border-radius:6px;background:#eef3f6;color:#33424e;font-weight:800}
.detail-chips b.removed{background:#fff0ee;color:#9e332c;text-decoration:line-through}
.detail-chips b.extra{background:#fff4e7;color:#8b5412}
.detail-chips i{font-size:11px;color:var(--muted)}
.line-timeline{display:grid;gap:7px;border-left:1px solid #e1e7ec;padding-left:12px}
.line-timeline div{display:grid;gap:3px;position:relative}
.line-timeline div:before{content:"";position:absolute;left:-16px;top:4px;width:7px;height:7px;border-radius:50%;background:#9caab6;border:2px solid #fff}
.line-timeline div strong{font-size:11px;line-height:1.3;color:#33424e}
.line-timeline .danger-text strong{color:#9e332c}
.line-timeline .danger-text:before{background:#c54036}
.line-detail-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin-top:10px}
.line-detail-actions button{border:1px solid #ccd6de;background:#fff;border-radius:8px;padding:8px 12px;font-size:11px;font-weight:850;color:#263541}
.line-detail-actions button:hover{background:#f2f5f7}
.line-detail-actions .danger-lite{border-color:#e8b8b4;color:#a42e28;background:#fff7f6}
.operation-summary{display:grid;gap:3px;border:1px solid #d8e0e7;background:#f7f9fa;border-radius:9px;padding:11px 12px;margin:8px 0 14px}
.operation-summary strong{font-size:14px}.operation-summary span{font-size:11px;color:var(--muted)}
#sendBtn:disabled{opacity:.55;cursor:not-allowed;background:#eef2f5;color:#74818c}

@media(max-width:767px){
  .line-inline-detail{padding:0 7px 10px 50px}
  .line-detail-grid{grid-template-columns:1fr;gap:8px}
  .line-timeline{border-left:0;border-top:1px solid #e5eaee;padding:9px 0 0}
  .line-timeline div{padding-left:12px}.line-timeline div:before{left:0}
  .line-detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .line-detail-actions button{min-height:42px;padding:8px}
}

/* R1.5.1 — hardened line editor. Reuses the commercial product-config language. */
.line-editor-dialog{width:min(900px,calc(100vw - 40px));max-height:min(88dvh,760px);padding:18px;gap:12px;border-radius:12px;background:#fff;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto}
.line-editor-dialog.direct-line{width:min(720px,calc(100vw - 40px));grid-template-rows:auto auto auto auto}
.line-commandbar{display:grid;grid-template-columns:minmax(230px,1fr) minmax(210px,.8fr) auto;gap:12px;align-items:end;padding:11px 12px;border:1px solid #d8e0e7;border-radius:10px;background:#f7f9fb}
.line-command{display:grid;gap:6px;min-width:0}.line-command .config-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#596978;font-weight:900}
.line-command .product-qty-stepper{width:150px}.line-discount{height:38px;max-width:230px}.line-discount input{padding:8px 10px!important;font-size:16px!important;font-weight:850}.discount-command small{font-size:10px;color:var(--muted);font-weight:650}
.line-options-layout{min-height:0}.line-options-layout.single-option{grid-template-columns:1fr}.line-options-layout.single-option .config-panel{max-width:none}
.line-editor-dialog .config-panel{min-height:190px;max-height:340px}.line-editor-dialog .ingredient-grid,.line-editor-dialog .additional-list{max-height:278px}
.line-note{padding-top:2px!important}.line-note textarea{min-height:44px!important;height:44px!important;padding:11px 12px!important}
.line-editor-footer{grid-template-columns:minmax(0,1fr) auto!important;align-items:end}.line-editor-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}.line-editor-actions button{height:44px;min-width:94px}.line-editor-actions .primary{min-width:142px}
.line-editor-dialog .config-calculation{min-width:330px;max-width:500px}.line-editor-dialog .config-grand-total strong{color:var(--accent)}
.line-editor-dialog.direct-line .line-note{margin-top:2px!important}.line-editor-dialog.direct-line .config-footer{margin-top:0}
@media(max-width:767px){
 .line-editor-dialog,.line-editor-dialog.direct-line{width:100%;max-height:96dvh;border-radius:14px 14px 0 0;padding:14px 12px 12px;align-self:end;grid-template-rows:auto auto minmax(0,1fr) auto auto}
 .line-editor-dialog.direct-line{grid-template-rows:auto auto auto auto}
 .line-commandbar{grid-template-columns:1fr auto;gap:8px;padding:9px}.discount-command{grid-column:1/-1}.line-discount{max-width:none}.line-command .product-qty-stepper{width:136px}
 .line-editor-dialog .config-panel{min-height:auto;max-height:none}.line-editor-dialog .ingredient-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.line-editor-dialog .additional-list{max-height:230px}
 .line-editor-footer{grid-template-columns:1fr!important;gap:8px!important}.line-editor-dialog .config-calculation{min-width:0;max-width:none}.line-editor-actions{display:grid;grid-template-columns:.7fr .8fr 1.3fr;gap:7px}.line-editor-actions button{min-width:0;width:100%;height:44px;padding:8px}
}

/* R1.5.2 — discount contract ($ / %) + critical responsive hardening */
.discount-editor{display:grid;grid-template-columns:auto minmax(130px,1fr);gap:7px;align-items:stretch;max-width:310px}
.discount-mode{display:grid;grid-template-columns:38px 38px;border:1px solid #cbd5dd;border-radius:8px;overflow:hidden;background:#fff}
.discount-mode button{border:0;background:#eef2f5;color:#52616e;font-weight:900;font-size:14px;min-height:38px}
.discount-mode button+button{border-left:1px solid #cbd5dd}.discount-mode button.active{background:#17212b;color:#fff}
.discount-value{height:40px;display:flex;align-items:center;border:1px solid #cbd5dd;border-radius:8px;background:#fff;overflow:hidden;min-width:0}
.discount-value:focus-within{border-color:#607487;box-shadow:0 0 0 3px rgba(96,116,135,.12)}
.discount-value>span{padding:0 0 0 11px;color:#60707e;font-weight:850;flex:0 0 auto}.discount-value>span:last-child{padding:0 11px 0 0}
.discount-value input{width:100%;min-width:0;border:0!important;box-shadow:none!important;outline:0;padding:8px 9px!important;font-size:16px!important;font-weight:850;background:transparent}
.discount-command small{display:block;max-width:310px;line-height:1.25}
#lineDiscountLabel{font-weight:750;color:#566572}

/* The product configurator has five semantic rows: title, commandbar, options, note, footer. */
.product-config-dialog{grid-template-rows:auto auto minmax(0,1fr) auto auto;overflow:hidden}
.product-config-dialog>.config-layout{overflow:hidden}
.line-editor-dialog{overflow:hidden}
.line-editor-dialog>.line-options-layout{overflow:hidden}

@media(max-width:767px){
  /* Phone portrait: no desktop compression or overlapping command bars. */
  .product-config-dialog{grid-template-rows:auto auto minmax(0,1fr) auto auto;max-height:calc(100dvh - 10px);height:auto;overflow:hidden}
  .product-config-dialog .config-titlebar{min-width:0}.product-config-dialog .config-titlebar>div{min-width:0}.product-config-dialog .config-titlebar p{max-width:none;line-height:1.3}
  .product-config-dialog .config-commandbar{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:6px 10px;align-items:end;position:static;min-width:0}
  .product-config-dialog .config-qty-block{grid-column:1;grid-row:1}.product-config-dialog .toolbar-price{grid-column:2;grid-row:1;min-width:92px;align-self:end}
  .product-config-dialog .config-scope{grid-column:1/-1;grid-row:2;border-top:1px solid #e2e8ed;padding-top:6px}.product-config-dialog .config-scope strong{font-size:10px}.product-config-dialog .config-scope span{display:none}
  .product-config-dialog>.config-layout{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:1px;align-content:start}
  .product-config-dialog .config-panel{flex:0 0 auto;overflow:visible}.product-config-dialog .ingredient-grid{max-height:none;overflow:visible}.product-config-dialog .additional-list{max-height:none;overflow:visible}
  .product-config-dialog .config-note-label{flex:0 0 auto}.product-config-dialog .config-footer{position:static;box-shadow:none;flex:0 0 auto}

  .line-editor-dialog,.line-editor-dialog.direct-line{max-height:calc(100dvh - 10px);overflow:hidden}
  .line-editor-dialog .line-commandbar{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:end;gap:8px 10px}
  .line-editor-dialog .line-command{grid-column:1;grid-row:1}.line-editor-dialog .toolbar-price{grid-column:2;grid-row:1;min-width:92px}.line-editor-dialog .discount-command{grid-column:1/-1;grid-row:2}
  .line-editor-dialog .discount-editor{max-width:none;grid-template-columns:auto minmax(0,1fr)}.line-editor-dialog .discount-command small{max-width:none}
  .line-editor-dialog>.line-options-layout{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;align-content:start}
  .line-editor-dialog .config-panel{overflow:visible}.line-editor-dialog .ingredient-grid{max-height:none;overflow:visible}.line-editor-dialog .additional-list{max-height:none;overflow:visible}
  .line-editor-dialog .line-note textarea{height:40px!important;min-height:40px!important}
  .line-editor-footer{position:static!important;box-shadow:none!important}
}

@media(max-width:390px){
  .product-config-dialog,.line-editor-dialog,.line-editor-dialog.direct-line{padding-left:10px;padding-right:10px}
  .product-qty-stepper{grid-template-columns:34px 42px 34px}.product-qty-stepper button{height:36px}
  .discount-mode{grid-template-columns:36px 36px}.discount-value input{font-size:15px!important}
  .line-editor-actions{grid-template-columns:.65fr .75fr 1.25fr}.line-editor-actions button{font-size:12px}
}


/* R1.5.3 — GPOS-aligned line discount. */
.percent-discount-editor{display:flex;align-items:center;width:150px;height:40px;border:1px solid #cbd5dd;border-radius:8px;background:#fff;overflow:hidden}
.percent-discount-editor:focus-within{border-color:#607487;box-shadow:0 0 0 3px rgba(96,116,135,.12)}
.percent-discount-editor input{width:100%;min-width:0;border:0!important;box-shadow:none!important;outline:0;padding:8px 10px!important;text-align:right;font-size:17px!important;font-weight:900;background:transparent}
.percent-discount-editor span{height:100%;min-width:38px;display:grid;place-items:center;background:#eef2f5;border-left:1px solid #d4dce3;font-weight:900;color:#334452}
.line-commandbar{grid-template-columns:minmax(210px,.8fr) minmax(170px,.7fr) auto}
.line-editor-footer{grid-template-columns:1fr!important;align-items:stretch!important;gap:10px!important}
.line-editor-dialog .config-calculation{min-width:0!important;max-width:none!important;width:100%}
.line-editor-dialog .config-grand-total{border-top:1px solid #dfe6ec;padding-top:8px;margin-top:4px}
.line-editor-dialog .config-grand-total strong{font-size:24px!important;color:var(--accent)}
.line-editor-actions{width:100%;justify-content:flex-end}
@media(max-width:767px){.line-editor-dialog .line-commandbar{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto}.line-editor-dialog .discount-command{grid-column:1/-1;grid-row:2}.percent-discount-editor{width:100%;max-width:170px}.line-editor-actions{grid-template-columns:.7fr .8fr 1.3fr}}
@media(max-width:390px){.percent-discount-editor{max-width:150px}}

/* R1.5.4 — ticket-level discount, GPOS logic hardened for AmeliaPOS. */
.ticket-discount-dialog{width:min(620px,calc(100vw - 32px));padding:20px;display:grid;gap:14px}
.ticket-discount-dialog header{margin-bottom:0}
.ticket-discount-summary{display:grid;grid-template-columns:1fr 1fr 1.2fr;border:1px solid var(--line);border-radius:10px;background:#f7f9fb;overflow:hidden}
.ticket-discount-summary>div{display:grid;gap:4px;padding:12px 14px;border-right:1px solid var(--line)}
.ticket-discount-summary>div:last-child{border-right:0}.ticket-discount-summary span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:850}.ticket-discount-summary strong{font-size:17px}.ticket-discount-summary .ticket-discount-total strong{font-size:22px;color:var(--accent)}
.ticket-discount-controls{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:end}
.ticket-discount-controls>div{display:grid;gap:6px}.ticket-discount-controls label{margin:0!important}
.discount-mode-switch{display:grid;grid-template-columns:48px 48px;border:1px solid #cbd5dd;border-radius:8px;overflow:hidden;background:#fff;height:42px}
.discount-mode-switch button{border:0;background:#eef2f5;color:#52616e;font-weight:900;font-size:16px}.discount-mode-switch button+button{border-left:1px solid #cbd5dd}.discount-mode-switch button.active{background:var(--dark2);color:#fff}
.ticket-discount-value{display:flex;height:42px;border:1px solid #cbd5dd;border-radius:8px;background:#fff;overflow:hidden;max-width:260px}.ticket-discount-value:focus-within{border-color:#607487;box-shadow:0 0 0 3px rgba(96,116,135,.12)}.ticket-discount-value input{border:0!important;box-shadow:none!important;min-width:0;padding:9px 11px!important;font-size:17px!important;font-weight:900}.ticket-discount-value span{min-width:42px;display:grid;place-items:center;background:#eef2f5;border-left:1px solid #d4dce3;font-weight:900;color:#334452}
#ticketDiscountLimitHint{font-size:10px;color:var(--muted);font-weight:650;line-height:1.3}.ticket-discount-dialog textarea{min-height:58px}.ticket-discount-dialog .actions{margin-top:0}
@media(max-width:767px){.ticket-discount-dialog{width:100%;max-height:96dvh;align-self:end;border-radius:14px 14px 0 0;padding:16px 14px;overflow:auto}.ticket-discount-summary{grid-template-columns:1fr 1fr}.ticket-discount-summary .ticket-discount-total{grid-column:1/-1;border-top:1px solid var(--line)}.ticket-discount-summary>div:nth-child(2){border-right:0}.ticket-discount-controls{grid-template-columns:96px minmax(0,1fr);gap:10px}.ticket-discount-value{max-width:none}.ticket-discount-dialog .actions.spread{display:grid;grid-template-columns:1fr 1.35fr;gap:8px}.ticket-discount-dialog .actions button{width:100%;min-height:44px}}
@media(max-width:390px){.ticket-discount-summary>div{padding:10px}.ticket-discount-controls{grid-template-columns:88px minmax(0,1fr)}.discount-mode-switch{grid-template-columns:44px 44px}}

/* R1.6 — Salones y mesas operacionales (GPOS modernizado) */
.salon-dialog{width:min(1120px,96vw);height:min(820px,92dvh);grid-template-rows:auto auto auto minmax(0,1fr);gap:0;padding:20px}
.salon-dialog>header{padding-bottom:10px;border-bottom:1px solid var(--line)}
.salon-dialog>header p{margin-bottom:0}
.salon-toolbar{display:flex;align-items:center;gap:12px;min-width:0;padding:10px 0}
.salon-tabs{margin:0;flex:1;min-width:0;overflow:auto;padding-bottom:2px}
.salon-tabs button{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:9px 12px}
.salon-tabs button strong{font-size:12px}.salon-tabs button small{color:var(--muted);font-size:10px;font-weight:800}.salon-tabs button.active small{color:#cbd5dd}
.salon-summary{display:flex;gap:7px;flex:0 0 auto}.salon-summary span{display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;padding:6px 9px;color:var(--muted);font-size:10px;background:#fff}.salon-summary b{color:var(--ink);font-size:12px}
.table-mode-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding:10px 12px;border:1px solid #d5a04b;border-radius:10px;background:#fff7e8}.table-mode-banner>div{display:grid;gap:2px}.table-mode-banner strong{font-size:13px}.table-mode-banner span{font-size:11px;color:#755619}.table-mode-banner button{padding:8px 12px}
.tables-grid.spatial{min-height:0;height:100%;background-color:#f7f9fa;background-image:linear-gradient(90deg,rgba(20,35,48,.035) 1px,transparent 1px),linear-gradient(rgba(20,35,48,.035) 1px,transparent 1px);background-size:28px 28px}
.tables-grid.spatial .table-card{left:clamp(88px,calc(var(--x) * 1%),calc(100% - 88px));top:clamp(58px,calc(var(--y) * 1%),calc(100% - 58px));width:164px;min-height:106px;padding:10px 11px;text-align:left;border-color:#a6cfb9;background:#f3fbf6;box-shadow:0 3px 10px rgba(24,38,50,.08);display:grid;grid-template-rows:auto auto auto auto;align-content:start;gap:4px;overflow:hidden}
.tables-grid.spatial .table-card:hover{box-shadow:0 7px 18px rgba(24,38,50,.13);transform:translate(-50%,-50%) translateY(-1px)}
.table-card-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.table-card-head small{font-size:9px;color:var(--muted);font-weight:700}
.table-state-pill{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:3px 6px;border-radius:999px;background:#e1f2e8;color:#116342;font-size:9px;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.035em}
.tables-grid.spatial .table-card>strong{font-size:14px;line-height:1.1;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.table-total{font-size:16px;line-height:1.05;color:var(--ink)}
.table-detail,.table-owner{display:block!important;margin:0!important;color:var(--muted)!important;font-size:9px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-owner{font-weight:800;color:#455461!important}
.tables-grid.spatial .table-card.state-open,.tables-grid.spatial .table-card.state-pending-send{border-color:#e4bb72;background:#fff9ed}.table-card.state-open .table-state-pill,.table-card.state-pending-send .table-state-pill{background:#fff0d0;color:#855700}
.tables-grid.spatial .table-card.state-sent{border-color:#8fbfd7;background:#f2f9fc}.table-card.state-sent .table-state-pill{background:#dceff8;color:#1b607f}
.tables-grid.spatial .table-card.state-prebill{border-color:#bba6d7;background:#faf7ff}.table-card.state-prebill .table-state-pill{background:#eee6f8;color:#674492}
.tables-grid.spatial .table-card.state-partial-payment{border-color:#e6a66e;background:#fff6ee}.table-card.state-partial-payment .table-state-pill{background:#ffe6cf;color:#8e4c15}
.tables-grid.spatial .table-card.current-table{outline:3px solid #1c2b38;outline-offset:2px}
.tables-grid.spatial.merge-mode .table-card:not(.source-table){cursor:pointer}.tables-grid.spatial.merge-mode .table-card:not(.source-table)::after{content:'Seleccionar';position:absolute;right:7px;bottom:7px;border-radius:6px;background:var(--dark2);color:white;padding:3px 5px;font-size:8px;font-weight:850}
.tables-grid.spatial .table-card.source-table{opacity:.42;cursor:not-allowed;filter:grayscale(.25)}
.tables-grid.spatial.direct-layout{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));align-content:start;gap:10px;padding:12px;background:#f7f9fa}
.tables-grid.spatial.direct-layout .table-card{position:relative;left:auto;top:auto;transform:none!important;width:100%;min-height:104px;margin:0}
@media(max-width:767px){
 #tablesOverlay{padding:0;align-items:flex-end}
 .salon-dialog{width:100%;height:calc(100dvh - max(8px,env(safe-area-inset-top)));max-height:none;border-radius:18px 18px 0 0;padding:14px 12px calc(12px + env(safe-area-inset-bottom));grid-template-rows:auto auto auto minmax(0,1fr)}
 .salon-dialog>header h2{font-size:20px}.salon-dialog>header p{font-size:11px}
 .salon-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;padding:8px 0}.salon-tabs{width:100%;display:flex;overflow-x:auto;overflow-y:hidden}.salon-tabs button{flex:0 0 auto}.salon-summary{justify-content:flex-start}
 .table-mode-banner{margin-top:8px;padding:9px;align-items:flex-start}.table-mode-banner span{line-height:1.25}.table-mode-banner button{flex:0 0 auto}
 .tables-grid.spatial,.tables-grid.spatial.direct-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px;min-height:0;height:auto;overflow:auto;padding:8px;background:#f7f9fa}
 .tables-grid.spatial .table-card,.tables-grid.spatial.direct-layout .table-card{position:relative;left:auto;top:auto;transform:none!important;width:100%;min-width:0;min-height:112px;margin:0;padding:9px}
 .tables-grid.spatial .table-card:hover{transform:none!important}
 .tables-grid.spatial.merge-mode .table-card:not(.source-table)::after{right:6px;bottom:6px}
 .table-total{font-size:15px}.table-detail,.table-owner{font-size:9px!important}
}
@media(max-width:380px){.tables-grid.spatial,.tables-grid.spatial.direct-layout{grid-template-columns:1fr}.tables-grid.spatial .table-card,.tables-grid.spatial.direct-layout .table-card{min-height:96px}}

/* R1.6.1 salons visual operational refinement */
.salon-summary{flex-wrap:wrap}
.tables-grid.spatial .table-card,
.tables-grid.spatial.direct-layout .table-card{min-height:148px;border-radius:16px;padding:12px 12px 10px;gap:8px}
.table-state-pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;background:#e5f3ea;color:#176443;font-size:10px;font-weight:900;letter-spacing:.02em}
.tables-grid.spatial .table-card.state-free .table-state-pill{background:#e8edf2;color:#4c5c6c}
.table-operator{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;padding:8px 9px;border:1px solid rgba(23,33,43,.08);border-radius:12px;background:rgba(255,255,255,.72)}
.table-avatar{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:18px;font-weight:900;color:#fff;background:linear-gradient(180deg,#ffaf3a,#f35a22);box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.table-avatar.free{background:linear-gradient(180deg,#9fb0bf,#708393)}
.table-operator-copy{display:grid;min-width:0}
.table-operator-copy b{font-size:13px;line-height:1.1;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.table-operator-copy small{font-size:10px;color:var(--muted);font-weight:800;letter-spacing:.02em}
.table-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}
.table-meta span{display:grid;gap:2px;padding:7px 8px;border-radius:10px;background:rgba(255,255,255,.78);border:1px solid rgba(23,33,43,.06);margin:0}
.table-meta small{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.table-meta b{font-size:13px;color:var(--ink);line-height:1.1}
.table-meta.free b{font-size:12px}
.tables-grid.spatial .table-card.state-open,.tables-grid.spatial .table-card.state-pending-send{background:linear-gradient(180deg,#fffaf1 0%,#fff7e8 100%)}
.tables-grid.spatial .table-card.state-sent{background:linear-gradient(180deg,#f8fcff 0%,#eef8fc 100%)}
.tables-grid.spatial .table-card.state-prebill{background:linear-gradient(180deg,#fcf9ff 0%,#f7f2ff 100%)}
.tables-grid.spatial .table-card.state-partial-payment{background:linear-gradient(180deg,#fff9f4 0%,#fff2e8 100%)}
.tables-grid.spatial .table-card.state-free{background:linear-gradient(180deg,#f8fbfd 0%,#f1f5f8 100%);border-color:#c9d5df}
.tables-grid.spatial .table-card.current-table{outline:3px solid #f37a20;outline-offset:2px}
.tables-grid.spatial .table-card.current-table .table-operator{border-color:rgba(243,122,32,.35)}
.tables-grid.spatial .table-card:hover{box-shadow:0 10px 24px rgba(24,38,50,.14)}
.tables-grid.spatial.direct-layout{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
@media(max-width:760px){
  .salon-summary{gap:6px}
  .salon-summary span{padding:6px 8px}
  .tables-grid.spatial,.tables-grid.spatial.direct-layout{grid-template-columns:1fr 1fr;gap:10px;padding:10px}
  .tables-grid.spatial .table-card,.tables-grid.spatial.direct-layout .table-card{min-height:156px;padding:11px}
  .table-card-head{align-items:flex-start}
  .table-card-head small{font-size:10px}
  .table-operator{grid-template-columns:40px minmax(0,1fr);gap:8px;padding:8px}
  .table-avatar{width:40px;height:40px;border-radius:12px;font-size:16px}
  .table-meta{grid-template-columns:1fr}
}
@media(max-width:430px){
  .tables-grid.spatial,.tables-grid.spatial.direct-layout{grid-template-columns:1fr}
  .tables-grid.spatial .table-card,.tables-grid.spatial.direct-layout .table-card{min-height:142px}
}


/* R1.6.2 — Salón Normal + Libre con fallback seguro */
.salon-view-switch{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff;flex:0 0 auto}
.salon-view-switch button{border:0;background:#fff;color:#455461;padding:8px 11px;font-size:11px;font-weight:850;min-width:72px}
.salon-view-switch button+button{border-left:1px solid var(--line)}
.salon-view-switch button.active{background:var(--dark2);color:#fff}
.salon-view-switch button:disabled{opacity:.38;cursor:not-allowed}
.salon-fallback-notice{margin:0 0 8px;padding:8px 10px;border-radius:8px;background:#fff6df;border:1px solid #e8c66d;color:#705414;font-size:11px;font-weight:750}
.tables-grid.normal{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-auto-rows:minmax(150px,auto);align-content:start;gap:12px;min-height:0;height:100%;overflow:auto;padding:12px;background:#f7f9fa;border:1px solid var(--line);border-radius:12px}
.tables-grid.normal .table-card{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:100%!important;min-height:150px!important;margin:0!important;border:1px solid #c9d5df;background:linear-gradient(180deg,#f8fbfd 0%,#f1f5f8 100%);border-radius:16px;padding:12px;display:grid;grid-template-rows:auto auto auto 1fr;gap:8px;text-align:left;box-shadow:0 3px 10px rgba(24,38,50,.07);overflow:hidden}
.tables-grid.normal .table-card:hover{transform:translateY(-1px)!important;box-shadow:0 9px 22px rgba(24,38,50,.12)}
.tables-grid.normal .table-card.state-open,.tables-grid.normal .table-card.state-pending-send{border-color:#e4bb72;background:linear-gradient(180deg,#fffaf1,#fff7e8)}
.tables-grid.normal .table-card.state-sent{border-color:#8fbfd7;background:linear-gradient(180deg,#f8fcff,#eef8fc)}
.tables-grid.normal .table-card.state-prebill{border-color:#bba6d7;background:linear-gradient(180deg,#fcf9ff,#f7f2ff)}
.tables-grid.normal .table-card.state-partial-payment{border-color:#e6a66e;background:linear-gradient(180deg,#fff9f4,#fff2e8)}
.tables-grid.normal .table-card.current-table{outline:3px solid #f37a20;outline-offset:2px}
.tables-grid.normal.merge-mode .table-card:not(.source-table)::after{content:'Seleccionar';position:absolute;right:8px;bottom:8px;border-radius:7px;background:var(--dark2);color:#fff;padding:4px 7px;font-size:9px;font-weight:850}
.tables-grid.normal .table-card.source-table{opacity:.42;cursor:not-allowed;filter:grayscale(.25)}
.tables-grid.spatial{position:relative;display:block;min-height:420px;height:100%;overflow:auto;border:1px solid var(--line);border-radius:12px}
.tables-grid.spatial .table-card{position:absolute}
@media(max-width:767px){.salon-view-switch{display:none!important}.salon-fallback-notice{display:none!important}.tables-grid.normal,.tables-grid.spatial,.tables-grid.normal.direct-layout,.tables-grid.spatial.direct-layout{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;align-content:start;gap:10px;min-height:0;height:auto;overflow:auto;padding:10px;background:#f7f9fa}.tables-grid.normal .table-card,.tables-grid.spatial .table-card{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:100%!important;min-height:156px!important;margin:0!important}}
@media(max-width:430px){.tables-grid.normal,.tables-grid.spatial{grid-template-columns:1fr!important}.tables-grid.normal .table-card,.tables-grid.spatial .table-card{min-height:142px!important}}


/* R1.6.3 — GPOS high-density salon contract */
.salon-dialog{width:min(1240px,97vw);height:min(820px,94dvh)}
.tables-grid.normal{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-auto-rows:96px;gap:8px;padding:9px;background:#f5f7f9}
.tables-grid.normal .table-card{min-height:96px!important;height:96px!important;border-radius:10px!important;padding:8px 9px!important;display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;grid-template-rows:24px 38px 18px!important;gap:4px 8px!important;align-items:center!important;box-shadow:0 2px 6px rgba(24,38,50,.06)!important}
.tables-grid.normal .table-card-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0}
.tables-grid.normal .table-card-head>strong{font-size:13px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tables-grid.normal .table-state-pill{font-size:8px;padding:3px 6px;line-height:1;letter-spacing:.03em}
.tables-grid.normal .table-operator{grid-column:1/3;display:grid;grid-template-columns:34px minmax(0,1fr);gap:7px;align-items:center;padding:0!important;border:0!important;background:transparent!important;border-radius:0!important;min-width:0}
.tables-grid.normal .table-avatar{width:34px;height:34px;border-radius:8px;font-size:12px;overflow:hidden}
.table-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.tables-grid.normal .table-operator-copy b{font-size:11px;line-height:1.05}
.tables-grid.normal .table-operator-copy small{font-size:8px;margin-top:2px}
.tables-grid.normal .table-quick{grid-column:3;grid-row:2;display:grid;justify-items:end;align-content:center;gap:2px;min-width:52px}
.tables-grid.normal .table-quick b{font-size:11px;line-height:1;color:var(--ink)}
.tables-grid.normal .table-quick small{font-size:8px;color:var(--muted);font-weight:800}
.tables-grid.normal .table-ticket-ref{grid-column:1/-1;grid-row:3;margin:0!important;padding-top:3px;border-top:1px solid rgba(23,33,43,.07);font-size:8px!important;color:var(--muted)!important;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tables-grid.normal .table-card:hover{transform:translateY(-1px)!important;box-shadow:0 5px 12px rgba(24,38,50,.10)!important}
.tables-grid.normal .table-card.state-free{background:#f2f8f3!important;border-color:#aacdb2!important}
.tables-grid.normal .table-card.state-open,.tables-grid.normal .table-card.state-pending-send{background:#fff5ed!important;border-color:#e9a57a!important}
.tables-grid.normal .table-card.state-sent{background:#eef7fb!important;border-color:#91bdd1!important}
.tables-grid.normal .table-card.state-prebill{background:#f7f1fb!important;border-color:#b9a1cb!important}
.tables-grid.normal .table-card.state-partial-payment{background:#fff3e8!important;border-color:#e5a064!important}

/* Free mode: small GPOS-like pieces, spatial coordinates remain only presentation. */
.tables-grid.spatial{background-color:#eef2ed;background-image:linear-gradient(90deg,rgba(20,35,48,.025) 1px,transparent 1px),linear-gradient(rgba(20,35,48,.025) 1px,transparent 1px);background-size:24px 24px}
.tables-grid.spatial .table-card{width:142px!important;min-height:58px!important;height:58px!important;padding:0!important;border-radius:10px!important;display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;grid-template-rows:29px 29px!important;gap:0!important;text-align:left!important;overflow:hidden!important;box-shadow:0 3px 8px rgba(24,38,50,.10)!important}
.tables-grid.spatial .table-card-head{grid-column:2;grid-row:1;display:flex;align-items:center;padding:5px 7px 1px;gap:4px;min-width:0}
.tables-grid.spatial .table-card-head>strong{font-size:11px!important;line-height:1!important;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tables-grid.spatial .table-state-pill{font-size:0;padding:0;width:7px;height:7px;border-radius:50%;flex:0 0 7px}
.tables-grid.spatial .table-operator{display:contents!important}
.tables-grid.spatial .table-avatar{grid-column:1;grid-row:1/3;width:42px!important;height:58px!important;border-radius:0!important;box-shadow:none!important}
.tables-grid.spatial .table-operator-copy{grid-column:2;grid-row:2;display:flex!important;align-items:center;gap:4px;padding:0 7px 5px;min-width:0}
.tables-grid.spatial .table-operator-copy b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tables-grid.spatial .table-operator-copy small{display:none}
.tables-grid.spatial .table-quick,.tables-grid.spatial .table-ticket-ref{display:none!important}
.tables-grid.spatial .table-card.state-free{background:#e9f5e9!important;border-color:#75b47e!important}
.tables-grid.spatial .table-card.state-free .table-avatar{background:#56a65d!important}
.tables-grid.spatial .table-card.state-open,.tables-grid.spatial .table-card.state-pending-send{background:#fff0ee!important;border-color:#dc817a!important}
.tables-grid.spatial .table-card.state-sent{background:#edf7fb!important;border-color:#7daec5!important}
.tables-grid.spatial .table-card.state-prebill{background:#f6f0fb!important;border-color:#aa91c2!important}
.tables-grid.spatial .table-card.state-partial-payment{background:#fff1e4!important;border-color:#d8955b!important}
.tables-grid.spatial .table-card:hover{box-shadow:0 6px 14px rgba(24,38,50,.15)!important}
.tables-grid.spatial .table-card.current-table{outline:2px solid #f37a20;outline-offset:2px}
.tables-grid.spatial.merge-mode .table-card:not(.source-table)::after{content:'✓';right:3px;bottom:3px;padding:2px 4px;font-size:8px}

/* Direct sale is not spatial and stays dense. */
.tables-grid.normal.direct-layout{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-auto-rows:96px}

@media(max-width:767px){
 .salon-dialog{width:100%;height:calc(100dvh - max(6px,env(safe-area-inset-top)));padding:12px 10px calc(10px + env(safe-area-inset-bottom))}
 .salon-toolbar{gap:6px}
 .salon-summary{display:none}
 .tables-grid.normal,.tables-grid.spatial,.tables-grid.normal.direct-layout,.tables-grid.spatial.direct-layout{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:92px!important;gap:7px!important;padding:7px!important}
 .tables-grid.normal .table-card,.tables-grid.spatial .table-card,.tables-grid.normal.direct-layout .table-card,.tables-grid.spatial.direct-layout .table-card{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:100%!important;min-height:92px!important;height:92px!important;margin:0!important;display:grid!important;grid-template-columns:32px minmax(0,1fr) auto!important;grid-template-rows:23px 36px 17px!important;padding:7px!important;border-radius:10px!important}
 .tables-grid.normal .table-card-head,.tables-grid.spatial .table-card-head{grid-column:1/-1;grid-row:1;padding:0;display:flex}
 .tables-grid.normal .table-card-head>strong,.tables-grid.spatial .table-card-head>strong{font-size:12px!important}
 .tables-grid.normal .table-state-pill,.tables-grid.spatial .table-state-pill{font-size:7px;width:auto;height:auto;padding:3px 5px}
 .tables-grid.normal .table-operator,.tables-grid.spatial .table-operator{grid-column:1/3;grid-row:2;display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;gap:6px!important;align-items:center!important;padding:0!important}
 .tables-grid.normal .table-avatar,.tables-grid.spatial .table-avatar{grid-column:auto;grid-row:auto;width:32px!important;height:32px!important;border-radius:8px!important}
 .tables-grid.normal .table-operator-copy,.tables-grid.spatial .table-operator-copy{grid-column:auto;grid-row:auto;display:grid!important;padding:0!important}
 .tables-grid.normal .table-operator-copy b,.tables-grid.spatial .table-operator-copy b{font-size:10px}
 .tables-grid.normal .table-operator-copy small,.tables-grid.spatial .table-operator-copy small{display:block;font-size:7px}
 .tables-grid.normal .table-quick,.tables-grid.spatial .table-quick{display:grid!important;grid-column:3;grid-row:2;justify-items:end;padding:0}
 .tables-grid.normal .table-ticket-ref,.tables-grid.spatial .table-ticket-ref{display:block!important;grid-column:1/-1;grid-row:3;font-size:7px!important}
}
@media(max-width:350px){
 .tables-grid.normal,.tables-grid.spatial{grid-template-columns:1fr!important}
}

/* R1.6.10 — cash open modal visual refinement */
.cash-open-dialog{width:min(760px,100%);padding:0;overflow:hidden;border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%)}
.cash-open-header{padding:22px 24px 18px;background:linear-gradient(135deg,#111820 0%,#1f2c38 62%,#f08a24 180%);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.cash-open-eyebrow{display:inline-block;font-size:10px;font-weight:900;letter-spacing:.16em;color:#ffb864;margin-bottom:8px}
.cash-open-header h2{margin:0 0 8px;font-size:32px;letter-spacing:-.03em}
.cash-open-header p{margin:0;color:#d4dde6;max-width:560px;font-size:14px;line-height:1.45}
.cash-open-layout{display:grid;grid-template-columns:minmax(0,1.2fr) 280px;gap:18px;padding:20px 24px 10px}
.cash-open-main{display:grid;gap:16px}
.cash-open-field{display:grid!important;gap:10px!important;margin:0!important}
.cash-open-label{font-size:12px;font-weight:900;color:#475564;letter-spacing:.03em;text-transform:uppercase}
.cash-open-input{border-radius:14px;border:1px solid #ccd6df;box-shadow:inset 0 1px 0 rgba(255,255,255,.85);padding-right:10px}
.cash-open-input span{padding-left:16px;font-size:18px;color:#7a8793}
.cash-open-input input{text-align:right;padding:18px 8px 18px 10px!important;font-size:34px!important;letter-spacing:-.03em;color:#17212b}
.cash-open-preview{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border:1px solid #e3e9ee;border-radius:12px;background:#f8fafc}
.cash-open-preview strong{font-size:18px;color:#17212b}
.cash-open-preview span{font-size:12px;color:#697783;line-height:1.35;text-align:right}
.cash-open-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.cash-open-presets button{border:1px solid #d7dee6;background:#fff;border-radius:12px;padding:12px 8px;font-weight:850;color:#21303d;box-shadow:0 3px 10px rgba(23,33,43,.04)}
.cash-open-presets button:hover{border-color:#f08a24;color:#f08a24;transform:translateY(-1px)}
.cash-open-presets button:active{transform:translateY(0)}
.cash-open-side{display:grid;gap:14px}
.cash-open-meta,.cash-open-note{border:1px solid #dfe6ec;border-radius:14px;background:#fff;padding:14px 15px}
.cash-open-meta{display:grid;gap:11px}
.cash-open-meta div{display:grid;gap:2px;padding-bottom:10px;border-bottom:1px solid #edf1f4}
.cash-open-meta div:last-child{padding-bottom:0;border-bottom:0}
.cash-open-meta span{font-size:11px;font-weight:800;color:#7a8794;text-transform:uppercase;letter-spacing:.08em}
.cash-open-meta strong{font-size:16px;color:#17212b}
.cash-open-note strong{display:block;font-size:13px;margin-bottom:8px;color:#17212b}
.cash-open-note ul{margin:0;padding-left:18px;display:grid;gap:6px;color:#61707d;font-size:12px;line-height:1.4}
.cash-open-dialog .actions{padding:0 24px 22px;margin-top:4px}
.cash-open-dialog .primary,.cash-open-dialog .ghost{border-radius:12px;padding:14px 20px;font-size:15px}
.cash-open-dialog .primary{min-width:170px;background:linear-gradient(135deg,#17212b 0%,#1f2d3a 100%)}
.cash-open-dialog .ghost{background:#eef2f5;color:#22313d}
@media(max-width:767px){
  .cash-open-dialog{width:100%;border-radius:18px 18px 0 0;max-height:96dvh}
  .cash-open-header{padding:18px 16px 16px}
  .cash-open-header h2{font-size:28px}
  .cash-open-header p{font-size:13px}
  .cash-open-layout{grid-template-columns:1fr;gap:14px;padding:14px 16px 8px}
  .cash-open-input input{font-size:30px!important;padding:16px 6px 16px 8px!important}
  .cash-open-preview{display:grid;gap:4px}
  .cash-open-preview span{text-align:left}
  .cash-open-presets{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cash-open-dialog .actions{padding:0 16px 16px;display:grid;grid-template-columns:1fr 1.15fr;gap:8px}
  .cash-open-dialog .primary,.cash-open-dialog .ghost{width:100%;min-width:0}
}

/* R1.6.11 — subtle category/product selection transition */
.category{transition:background-color .14s ease,color .14s ease,transform .14s ease,box-shadow .14s ease}
.category img{transition:transform .14s ease,filter .14s ease}
.category:active{transform:scale(.975)}
.category.active{box-shadow:inset 3px 0 0 #f08a24}
.category.active img{transform:scale(1.06)}
.products.category-enter .product-card{animation:ameliaCategoryEnter .16s ease-out both}
.products.category-enter .product-card:nth-child(n+7){animation-delay:.015s}
@keyframes ameliaCategoryEnter{from{opacity:.58;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.products.category-enter .product-card{animation:none}.category,.category img{transition:none}}

/* R1.7.8 FIX3 — Centro general AmeliaPOS: catálogo, inventario y reportes. */
.app-view--management{position:fixed;inset:0;z-index:220;background:#eef3f7;overflow:hidden}
.management-shell{width:100%;height:100dvh;display:grid;grid-template-rows:76px minmax(0,1fr);background:#eef3f7;color:var(--ink)}
.management-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 18px;background:#11243a;color:#fff;border-bottom:3px solid #f46b0b;box-shadow:0 5px 18px rgba(17,36,58,.13)}
.management-brand{display:flex;align-items:center;gap:16px;min-width:0}.management-brand .amelia-logo-shell{width:122px;height:40px;flex:0 0 auto}.management-brand>div{min-width:0}.management-brand h2{margin:1px 0 2px;font-size:22px;line-height:1}.management-brand p{margin:0;color:#c7d3dd;font-size:11px}.management-brand .view-eyebrow{color:#ff8b36}
.management-header-actions{display:flex;align-items:center;gap:9px}.management-header-actions>span{font-size:11px;font-weight:800;color:#d8e2ea}.management-header .view-back{width:40px;height:40px;border:1px solid #3d5367;border-radius:9px;background:#173047;color:#fff;font-size:18px}
.management-body{display:grid;grid-template-columns:225px minmax(0,1fr);min-height:0}
.management-rail{background:#11243a;padding:14px 10px;display:grid;align-content:start;gap:7px;border-right:1px solid #20394f}.management-rail button{border:1px solid transparent;background:transparent;color:#d8e4ed;border-radius:10px;padding:12px 11px;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;text-align:left;column-gap:8px;min-height:64px}.management-rail button>span{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#1c405d;color:#ff8c38;font-size:16px}.management-rail button b{font-size:12px}.management-rail button small{font-size:9px;color:#91a5b6;line-height:1.25;margin-top:2px}.management-rail button:hover,.management-rail button.active{background:#173a56;border-color:#2e526e}.management-rail button.active{box-shadow:inset 3px 0 #f46b0b}.management-rail button.active small{color:#c7d6e2}
.management-content{min-height:0;overflow:auto;padding:18px}.management-module{display:none;max-width:1480px;margin:0 auto}.management-module.active{display:block}.management-module-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}.management-module-head>div>span{display:block;color:#f46b0b;font-size:9px;font-weight:950;letter-spacing:.15em}.management-module-head h3{margin:3px 0 4px;font-size:28px;letter-spacing:-.025em;color:#11243a}.management-module-head p{margin:0;color:#6b7986;font-size:12px}.management-module-head>.ghost{border:1px solid #d6e0e7;background:#fff;color:#263645}
.management-subtabs{display:flex;gap:7px;margin-bottom:12px;border-bottom:1px solid #d6e0e7;padding-bottom:9px}.management-subtabs button{border:1px solid #d6e0e7;border-radius:9px;background:#fff;color:#334657;padding:9px 15px;font-size:11px;font-weight:850}.management-subtabs button.active{background:#173a56;border-color:#173a56;color:#fff;box-shadow:inset 0 -3px #f46b0b}
.catalog-admin-panel{display:none;grid-template-columns:minmax(0,1fr) minmax(340px,520px);gap:14px;align-items:start}.catalog-admin-panel.active{display:grid}.master-list-card,.master-editor,.inventory-tables>section,.report-grid>section,.cash-closure-list{background:#fff;border:1px solid #dbe3e9;border-radius:13px;box-shadow:0 8px 24px rgba(17,36,58,.06);overflow:hidden}.master-list-card>header,.master-editor>header,.inventory-tables>section>header,.report-grid>section>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;border-bottom:1px solid #e3e9ee;background:#fbfcfd}.master-list-card header>div,.inventory-tables section header{min-width:0}.master-list-card header strong,.inventory-tables header strong,.report-grid header strong{display:block;font-size:13px;color:#11243a}.master-list-card header small,.inventory-tables header small{display:block;color:#748390;font-size:10px;margin-top:2px}.master-list-card header .primary{padding:9px 12px;background:#f46b0b;color:#fff}.master-search{padding:9px 12px;border-bottom:1px solid #e3e9ee}.master-search input{width:100%;border:1px solid #d4dee6;border-radius:9px;padding:10px 11px;outline:0}.master-list{max-height:calc(100dvh - 255px);overflow:auto}.master-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(70px,auto) auto;align-items:center;gap:12px;padding:11px 13px;border-bottom:1px solid #edf1f4}.master-row:last-child{border-bottom:0}.master-row>div{min-width:0}.master-row strong{display:block;font-size:12px;color:#172839}.master-row small{display:block;font-size:9px;color:#7a8996;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.master-row>b{font-size:11px;color:#f46b0b;text-align:right}.master-row>button{border:1px solid #d6e0e7;background:#fff;border-radius:7px;padding:7px 9px;font-size:10px;font-weight:800;color:#173a56}.master-row>button:hover{border-color:#f46b0b;color:#c95200}.master-empty{padding:24px;text-align:center;color:#7b8995;font-size:12px}
.master-editor{padding-bottom:14px;position:sticky;top:0}.master-editor>header span{display:block;color:#f46b0b;font-size:8px;font-weight:950;letter-spacing:.14em}.master-editor>header h4{margin:2px 0 0;font-size:18px;color:#11243a}.master-editor>header button{width:34px;height:34px;border:0;border-radius:8px;background:#eef3f7;font-size:18px}.master-editor>label,.master-form-grid label{display:grid;gap:5px;margin:11px 14px}.master-editor label>span{font-size:10px;font-weight:850;color:#556674}.master-editor input,.master-editor select,.recipe-admin-row input,.recipe-admin-row select{width:100%;min-width:0;border:1px solid #ccd8e1;border-radius:8px;background:#fff;padding:10px 11px;outline:0;color:#172839}.master-editor input:focus,.master-editor select:focus,.recipe-admin-row input:focus,.recipe-admin-row select:focus{border-color:#f49a59;box-shadow:0 0 0 3px rgba(244,107,11,.09)}.master-editor>.full{width:calc(100% - 28px);margin:8px 14px 0;background:#173a56}.master-form-grid{display:grid;grid-template-columns:1fr 1fr}.master-form-grid.two{grid-template-columns:1fr 1fr}.master-form-grid label{margin-top:6px;margin-bottom:6px}.master-check{display:flex!important;align-items:center;gap:8px!important;align-self:end;min-height:42px}.master-check input{width:18px!important;height:18px;margin:0}.master-check span{font-size:11px!important}.master-editor--wide{max-height:calc(100dvh - 180px);overflow:auto}
.recipe-admin{margin:12px 14px;border:1px solid #dbe3e9;border-radius:10px;background:#f8fafc;overflow:hidden}.recipe-admin>header{display:flex;justify-content:space-between;align-items:center;padding:10px 11px;border-bottom:1px solid #dfe7ed}.recipe-admin>header strong{display:block;font-size:11px}.recipe-admin>header small{display:block;font-size:9px;color:#71808d;margin-top:2px}.recipe-admin>header button{border:1px solid #d5dfe7;background:#fff;border-radius:7px;padding:7px 9px;font-size:9px;font-weight:850}.recipe-admin-row{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(100px,.8fr) 34px;gap:7px;padding:8px 10px;border-bottom:1px solid #e5ebef}.recipe-admin-row:last-child{border-bottom:0}.recipe-admin-row button{border:0;border-radius:7px;background:#fce8e6;color:#b5352e;font-size:17px}
.management-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:13px}.management-kpis>div{background:#fff;border:1px solid #dbe3e9;border-radius:12px;padding:13px 14px;box-shadow:0 6px 18px rgba(17,36,58,.04)}.management-kpis span{display:block;color:#6f7f8d;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.management-kpis strong{display:block;color:#11243a;font-size:23px;line-height:1.1;margin:5px 0 3px}.management-kpis small{display:block;color:#8a98a4;font-size:9px}
.inventory-tables{display:grid;grid-template-columns:1fr 1fr;gap:12px}.management-table{max-height:calc(100dvh - 285px);overflow:auto}.management-table>div{display:grid;grid-template-columns:100px minmax(180px,1fr) 120px 100px;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid #edf1f4;font-size:10px}.management-table-head{position:sticky;top:0;background:#eef3f7!important;z-index:2;color:#5f6f7d;font-weight:900}.management-table b{color:#172839}.management-table strong{text-align:right;color:#173a56}.management-table .stock-low{color:#bd4038}.management-table>div>span:last-child{text-align:right}
.report-admin-panel{display:none}.report-admin-panel.active{display:block}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.report-grid>section{min-height:180px}.cash-closure-list article{display:grid;grid-template-columns:minmax(180px,1.3fr) repeat(3,minmax(130px,.7fr));gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid #edf1f4}.cash-closure-list article:last-child{border-bottom:0}.cash-closure-list article strong,.cash-closure-list article b{display:block;color:#172839}.cash-closure-list article small{display:block;color:#7a8995;font-size:9px;margin-top:2px}.cash-closure-list article span{text-align:right}
.gpos-table-context .context-back{color:#fff!important;background:#173a56!important;border-right:1px solid #35526a!important;padding-left:14px!important;padding-right:14px!important}.gpos-table-context .context-back:hover{background:#214c6d!important;color:#ff9a43!important}
@media(max-width:980px){.management-body{grid-template-columns:82px minmax(0,1fr)}.management-rail button{grid-template-columns:1fr;justify-items:center;text-align:center;padding:9px 5px}.management-rail button>span{grid-row:auto}.management-rail button small{display:none}.catalog-admin-panel.active{grid-template-columns:1fr}.master-editor{position:relative}.inventory-tables,.report-grid{grid-template-columns:1fr}.management-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.management-shell{grid-template-rows:68px minmax(0,1fr)}.management-header{padding:8px 10px}.management-brand .amelia-logo-shell{width:96px;height:34px}.management-brand{gap:8px}.management-brand h2{font-size:18px}.management-brand p{display:none}.management-header-actions>span{display:none}.management-body{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.management-rail{grid-template-columns:repeat(3,1fr);padding:6px 7px;gap:5px;border-right:0;border-bottom:1px solid #20394f}.management-rail button{min-height:44px;grid-template-columns:22px 1fr;grid-template-rows:1fr;justify-items:start;text-align:left;align-items:center}.management-rail button>span{grid-row:auto;width:22px;height:22px;font-size:12px}.management-rail button b{font-size:9px}.management-content{padding:10px}.management-module-head h3{font-size:22px}.management-module-head p{font-size:10px}.management-kpis{grid-template-columns:1fr 1fr}.catalog-admin-panel.active{display:block}.master-list-card{margin-bottom:10px}.master-list{max-height:38dvh}.master-form-grid,.master-form-grid.two{grid-template-columns:1fr}.recipe-admin-row{grid-template-columns:1fr 1fr 32px}.cash-closure-list article{grid-template-columns:1fr 1fr}.cash-closure-list article>div{grid-column:1/-1}.management-table>div{grid-template-columns:74px minmax(130px,1fr) 84px 70px}.management-subtabs{overflow-x:auto}.management-subtabs button{white-space:nowrap}}

/* R1.7.8 FIX4 — Dashboard administrador, usuarios y BI AmeliaPOS. */
.dashboard-kpis,.bi-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.dashboard-kpi,.bi-kpis>article{position:relative;background:#fff;border:1px solid #dbe3e9;border-radius:14px;padding:15px 16px;box-shadow:0 8px 24px rgba(17,36,58,.055);overflow:hidden}
.dashboard-kpi:before,.bi-kpis>article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#d8e3eb}
.dashboard-kpi--primary:before,.bi-kpis>article:first-child:before{background:#f46b0b}.dashboard-kpi--alert:before,.bi-kpis>article.attention:before{background:#c9473f}
.dashboard-kpi span,.bi-kpis span{display:block;color:#6f7f8d;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.dashboard-kpi strong,.bi-kpis strong{display:block;margin:6px 0 4px;color:#11243a;font-size:27px;line-height:1}.dashboard-kpi strong em{font-style:normal;font-size:13px;color:#81909d}.dashboard-kpi small,.bi-kpis small{display:block;color:#8795a1;font-size:9px}
.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:12px}.executive-card,.bi-card,.role-matrix-card{background:#fff;border:1px solid #dbe3e9;border-radius:14px;box-shadow:0 8px 24px rgba(17,36,58,.05);overflow:hidden}.executive-card--wide{grid-column:1/-1}.executive-card>header,.bi-card>header,.role-matrix-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid #e6edf2;background:#fbfcfd}.executive-card>header strong,.bi-card>header strong,.role-matrix-card>header strong{display:block;color:#11243a;font-size:13px}.executive-card>header small,.bi-card>header small,.role-matrix-card>header small{display:block;color:#7b8995;font-size:9px;margin-top:2px}.executive-card>header>span,.bi-card>header>span{font-size:11px;font-weight:900;color:#f46b0b}
.dashboard-sales-trend,.bi-sales-trend{height:210px;display:flex;align-items:stretch;gap:7px;padding:18px 14px 12px;overflow-x:auto}.trend-column{min-width:42px;flex:1;display:grid;grid-template-rows:20px minmax(90px,1fr) 16px 14px;gap:4px;align-items:end;text-align:center}.trend-value{font-size:8px;font-weight:800;color:#667887;white-space:nowrap}.trend-track{height:100%;min-height:90px;border-radius:7px;background:linear-gradient(180deg,#f2f6f9,#edf2f6);display:flex;align-items:flex-end;overflow:hidden}.trend-track i{display:block;width:100%;min-height:4px;background:linear-gradient(180deg,#ff8a33,#f46b0b);border-radius:7px 7px 3px 3px}.trend-column b{font-size:9px;color:#354a5d}.trend-column small{font-size:8px;color:#8996a1;white-space:nowrap}
.dashboard-operations{padding:6px 14px 14px}.operation-signal{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:9px;align-items:center;padding:11px 0;border-bottom:1px solid #edf1f4}.signal-dot{width:9px;height:9px;border-radius:50%;background:#c1ccd4;box-shadow:0 0 0 4px #f0f4f7}.signal-dot.ok{background:#29975d;box-shadow:0 0 0 4px #e8f5ee}.signal-dot.warn{background:#e09a24;box-shadow:0 0 0 4px #fbf2df}.operation-signal b,.operation-highlight strong{display:block;color:#172839;font-size:11px}.operation-signal small,.operation-highlight small{display:block;color:#7a8996;font-size:8px;margin-top:2px}.operation-signal>strong{font-size:12px;color:#173a56}.operation-stat{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf1f4;font-size:10px;color:#677785}.operation-stat b{color:#11243a;font-size:13px}.operation-highlight{margin-top:11px;padding:11px;border-radius:10px;background:#f5f8fa;border:1px solid #e4ebf0}.operation-highlight>span{display:block;font-size:8px;color:#f46b0b;font-weight:950;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.dashboard-alerts,.dashboard-activity{padding:8px 13px;max-height:250px;overflow:auto}.dashboard-alert{display:grid;grid-template-columns:8px 1fr;gap:9px;padding:10px 2px;border-bottom:1px solid #edf1f4}.dashboard-alert:last-child{border-bottom:0}.dashboard-alert>span{width:7px;height:7px;margin-top:4px;border-radius:50%;background:#7590a3}.dashboard-alert--ok>span{background:#29975d}.dashboard-alert--warning>span{background:#e09a24}.dashboard-alert--critical>span{background:#c9473f}.dashboard-alert--info>span{background:#2e78b7}.dashboard-alert strong{display:block;font-size:10px;color:#172839}.dashboard-alert small{display:block;margin-top:2px;font-size:8px;color:#7b8995;line-height:1.35}.activity-row{display:grid;grid-template-columns:30px 1fr;gap:8px;align-items:center;padding:8px 2px;border-bottom:1px solid #edf1f4}.activity-row:last-child{border-bottom:0}.activity-row>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#e8f0f6;color:#173a56;font-size:10px;font-weight:950}.activity-row strong{display:block;font-size:10px;color:#172839;text-transform:capitalize}.activity-row small{display:block;color:#7f8d99;font-size:8px;margin-top:1px}
.dashboard-shortcuts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;padding:14px}.dashboard-shortcuts button{border:1px solid #dce5eb;border-radius:11px;background:#fff;padding:12px;text-align:left;display:grid;grid-template-columns:31px 1fr;grid-template-rows:auto auto;gap:2px 9px;color:#172839}.dashboard-shortcuts button>span{grid-row:1/3;width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#173a56;color:#ff8730;font-size:15px}.dashboard-shortcuts button b{font-size:10px}.dashboard-shortcuts button small{font-size:8px;color:#7b8996}.dashboard-shortcuts button:hover{border-color:#f46b0b;box-shadow:0 6px 14px rgba(244,107,11,.09)}
.users-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,480px);gap:13px;align-items:start;margin-bottom:13px}.user-admin-list{max-height:390px;overflow:auto}.user-admin-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 13px;border-bottom:1px solid #edf1f4}.user-admin-row:last-child{border-bottom:0}.user-admin-row.is-disabled{opacity:.6}.user-avatar{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#173a56;color:#fff;font-size:13px;font-weight:950}.user-admin-main{min-width:0}.user-admin-main strong{display:block;color:#172839;font-size:11px}.user-admin-main strong em{font-style:normal;color:#f46b0b;font-size:8px;margin-left:5px}.user-admin-main small{display:block;color:#7b8995;font-size:8px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900}.status-chip.active{background:#e8f5ee;color:#207347}.status-chip.inactive{background:#f1f3f5;color:#737f88}.user-admin-row>button{border:1px solid #d7e1e8;background:#fff;border-radius:7px;padding:7px 9px;color:#173a56;font-size:9px;font-weight:850}.user-admin-row>button:hover{border-color:#f46b0b;color:#c95200}.user-security-note{margin:12px 14px;padding:10px;border-radius:9px;background:#f5f8fa;border:1px solid #e1e8ed}.user-security-note strong{display:block;font-size:9px;color:#173a56}.user-security-note small{display:block;font-size:8px;color:#758490;line-height:1.35;margin-top:2px}.role-matrix-card{margin-top:12px}.role-matrix{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:13px}.role-matrix>article{border:1px solid #e0e7ec;border-radius:11px;padding:11px;background:#fbfcfd}.role-matrix>article>div{display:flex;align-items:center;gap:8px}.role-matrix>article>div>span{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#173a56;color:#ff8730;font-size:11px;font-weight:950}.role-matrix strong{display:block;font-size:10px;color:#172839}.role-matrix small{display:block;font-size:8px;color:#7b8996}.role-matrix p{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0 0}.role-matrix p b{font-size:7px;padding:4px 6px;border-radius:999px;background:#eef3f7;color:#36516a}
.bi-module-head{align-items:center}.bi-head-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.bi-head-actions select,.bi-head-actions button{height:37px;border-radius:9px;font-size:9px;font-weight:850}.bi-head-actions select{border:1px solid #d6e0e7;background:#fff;padding:0 10px;color:#273b4d}.bi-head-actions .primary{background:#f46b0b;color:#fff;border:1px solid #f46b0b}.bi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bi-card--wide{grid-column:1/-1}.bi-ranking{padding:7px 13px;max-height:310px;overflow:auto}.bi-rank-row{padding:8px 0;border-bottom:1px solid #edf1f4}.bi-rank-row:last-child{border-bottom:0}.bi-rank-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.bi-rank-head>span{display:flex;align-items:center;gap:7px;min-width:0}.bi-rank-head i{font-style:normal;width:19px;height:19px;display:grid;place-items:center;border-radius:6px;background:#eef3f7;color:#667b8c;font-size:7px;font-weight:950}.bi-rank-head b{font-size:9px;color:#172839;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bi-rank-head strong{font-size:8px;color:#526879;white-space:nowrap}.bi-rank-track{height:4px;background:#edf2f5;border-radius:99px;margin-top:6px;overflow:hidden}.bi-rank-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#173a56,#f46b0b)}.bi-hour-chart{padding:10px 13px;display:grid;gap:8px}.bi-hour-chart>div{display:grid;grid-template-columns:42px minmax(80px,1fr) 85px;align-items:center;gap:8px;font-size:8px}.bi-hour-chart>div>span{color:#607586;font-weight:800}.bi-hour-chart>div>i{height:7px;background:#edf2f5;border-radius:99px;overflow:hidden}.bi-hour-chart>div>i>b{display:block;height:100%;background:#f46b0b;border-radius:99px}.bi-hour-chart>div>strong{text-align:right;color:#173a56;font-size:8px}.bi-control-summary{display:grid;grid-template-columns:1fr 1fr}.bi-control-summary>div{padding:14px;border-right:1px solid #edf1f4;border-bottom:1px solid #edf1f4}.bi-control-summary>div:nth-child(2n){border-right:0}.bi-control-summary>div:nth-last-child(-n+2){border-bottom:0}.bi-control-summary span{display:block;font-size:8px;color:#758592}.bi-control-summary strong{display:block;font-size:15px;color:#11243a;margin-top:4px}
@media(max-width:1120px){.dashboard-kpis,.bi-kpis{grid-template-columns:1fr 1fr}.dashboard-layout{grid-template-columns:1fr}.executive-card--wide{grid-column:auto}.dashboard-shortcuts{grid-template-columns:repeat(3,1fr)}.users-admin-layout{grid-template-columns:1fr}.bi-grid{grid-template-columns:1fr}.bi-card--wide{grid-column:auto}}
@media(max-width:760px){.management-rail{display:flex;overflow-x:auto;grid-template-columns:none}.management-rail button{flex:0 0 105px;min-height:48px;grid-template-columns:22px 1fr!important}.dashboard-kpis,.bi-kpis{grid-template-columns:1fr 1fr}.dashboard-layout{display:block}.executive-card{margin-bottom:10px}.dashboard-shortcuts{grid-template-columns:1fr 1fr}.role-matrix{grid-template-columns:1fr}.user-admin-row{grid-template-columns:34px minmax(0,1fr) auto}.user-admin-row>.status-chip{grid-column:2}.user-admin-row>button{grid-column:3;grid-row:1/3}.bi-module-head{align-items:flex-start;flex-direction:column}.bi-head-actions{width:100%}.bi-head-actions select{flex:1;min-width:150px}.bi-head-actions button{flex:0 0 auto}.dashboard-sales-trend,.bi-sales-trend{height:190px}.trend-column{min-width:38px}}
@media(max-width:480px){.dashboard-kpis,.bi-kpis{grid-template-columns:1fr}.dashboard-shortcuts{grid-template-columns:1fr 1fr}.dashboard-kpi strong,.bi-kpis strong{font-size:22px}.bi-head-actions button{padding:0 8px}.role-matrix-card{margin-bottom:20px}}
@media print{body *{visibility:hidden!important}#managementBi,#managementBi *{visibility:visible!important}#managementBi{position:absolute!important;inset:0!important;display:block!important;background:#fff!important}.management-rail,.management-header,.bi-head-actions{display:none!important}.bi-grid{display:grid!important;grid-template-columns:1fr 1fr!important}.bi-card,.bi-kpis>article{box-shadow:none!important;break-inside:avoid}}

/* ==========================================================================
   SECTION: SALONES
   ========================================================================== */
/* AmeliaPOS Salones/Mesas — derivado de la lógica visual probada de GPOS, modernizada.
   Este archivo es exclusivo del subsistema de salones y no reutiliza cards genéricas. */

.salon-screen{padding:0!important;place-items:stretch!important;align-items:stretch!important;background:#f5f7f8!important;backdrop-filter:none!important}
.salon-shell{
  width:100%;height:100dvh;max-width:none;max-height:none;background:#fff;color:#17212b;border-radius:0;
  box-shadow:none;display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr);
  overflow:hidden;padding:0;border:0
}
.salon-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 20px 13px;border-bottom:1px solid #d9e0e7;background:#fff}
.salon-header h2{margin:2px 0 4px;font-size:25px;line-height:1.05;letter-spacing:-.02em}.salon-header p{margin:0;color:#687583;font-size:13px}
.salon-eyebrow{display:block;color:#f27a21;font-size:9px;font-weight:950;letter-spacing:.16em}.salon-close{width:40px;height:40px;border:0;border-radius:10px;background:#f1f4f7;font-size:21px;color:#17212b}
.salon-close:hover{background:#e7edf2}
.salon-mode-banner{margin:10px 18px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #f0b867;background:#fff6e5;border-radius:10px;padding:9px 11px}
.salon-mode-banner>div{display:grid;gap:2px}.salon-mode-banner strong{font-size:12px}.salon-mode-banner span{font-size:10px;color:#80550f}.salon-mode-banner button{border:0;border-radius:7px;background:#17212b;color:#fff;padding:8px 11px;font-weight:850}
.salon-toolbar{display:flex;align-items:center;gap:12px;padding:10px 18px 9px;border-bottom:1px solid #d9e0e7;min-width:0;background:#fbfcfd}
.salon-tabs{display:flex;gap:7px;min-width:0;overflow-x:auto;scrollbar-width:thin;padding:1px}
.salon-tabs button{flex:0 0 auto;min-width:138px;height:44px;border:1px solid #d3dbe3;border-radius:8px;background:#fff;color:#17212b;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;text-align:left;padding:0 12px;font-weight:900}
.salon-tabs button strong{font-size:12px;white-space:nowrap}.salon-tabs button small{font-size:9px;color:#758391;font-weight:900}.salon-tabs button.active{background:#17212b;border-color:#17212b;color:#fff;box-shadow:inset 3px 0 #f48622}.salon-tabs button.active small{color:#d8e0e6}
.salon-toolbar-right{margin-left:auto;display:flex;align-items:center;gap:9px;min-width:0}.salon-view-switch{display:flex;border:1px solid #d2dbe3;border-radius:8px;overflow:hidden;background:#fff}.salon-view-switch button{border:0;background:#fff;color:#33414d;min-width:62px;height:34px;font-size:10px;font-weight:900}.salon-view-switch button.active{background:#17212b;color:#fff}.salon-view-switch button:disabled{opacity:.35}
.salon-summary{display:flex;align-items:center;gap:5px;white-space:nowrap}.salon-summary span{border:1px solid #d8e0e7;border-radius:999px;background:#fff;padding:5px 7px;color:#768391;font-size:9px}.salon-summary b{font-size:11px;color:#17212b;margin-right:2px}
.salon-fallback-notice{margin:8px 18px 0;border-radius:8px;background:#fff5dd;border:1px solid #efc87d;padding:7px 10px;font-size:10px;color:#7b571a;font-weight:800}

/* Modo normal: la densidad viene de GPOS: piezas chicas, información esencial y acción inmediata. */
.salon-table-stage{min-height:0;overflow:auto;align-content:start;background:#f5f7f8;padding:12px 14px 16px}
.salon-table-stage.normal,.salon-table-stage.direct-layout{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px 10px}
.salon-table{position:relative;min-width:0;border-radius:13px;overflow:hidden;box-shadow:0 7px 16px rgba(17,24,39,.12);transition:transform .12s ease,box-shadow .12s ease;touch-action:manipulation}
.salon-table:hover{transform:translateY(-1px);box-shadow:0 10px 21px rgba(17,24,39,.16)}.salon-table--active{outline:3px solid #f48622;outline-offset:2px}
.salon-table__main{position:relative;width:100%;height:74px;border:0;color:#fff;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:stretch;text-align:left;padding:0;overflow:hidden;background:transparent}
.salon-table__avatar{width:58px;height:74px;display:grid;place-items:center;overflow:hidden;background:rgba(255,255,255,.96);color:#1b2833;font-size:18px;font-weight:950}
.salon-table__avatar img{width:100%;height:100%;object-fit:cover}.salon-table__avatar span{display:grid;place-items:center;width:100%;height:100%}
.salon-table__body{display:grid;align-content:center;gap:2px;padding:8px 10px;min-width:0}.salon-table__top{display:block;min-width:0;position:relative}.salon-table__name{font-size:15px;line-height:1.08;font-weight:950;white-space:normal;overflow:visible;text-overflow:clip;text-shadow:0 1px 1px rgba(0,0,0,.22);padding-right:86px;word-break:normal}
.salon-table__state{position:absolute;right:0;top:-1px;font-style:normal;font-size:7px;font-weight:950;text-transform:uppercase;letter-spacing:.035em;padding:3px 5px;border-radius:999px;background:rgba(255,255,255,.20);white-space:nowrap;max-width:none;overflow:visible;text-overflow:clip}
.salon-table__waiter{font-size:10px;font-weight:900;white-space:normal;overflow:visible;text-overflow:clip;opacity:.95;line-height:1.08}.salon-table__meta{font-size:9px;font-weight:800;opacity:.86;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.08}.salon-table__ticket{position:absolute;right:5px;bottom:4px;color:rgba(255,255,255,.78);font-size:8px;font-weight:950}
.salon-table__actions{height:30px;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-top:1px solid rgba(17,24,39,.12)}.salon-table__actions button{border:0;border-right:1px solid #dfe5ea;background:#fff;color:#263541;font-size:9px;font-weight:950}.salon-table__actions button:last-child{border-right:0}.salon-table__actions button:hover{background:#eef2f5;color:#111820}

/* Estados vivos: GPOS usaba verde/rojo fuertes; Amelia amplía los estados sin perder lectura inmediata. */
.salon-table--free .salon-table__main{background:linear-gradient(180deg,#1baa3f,#087b25)}
.salon-table--busy .salon-table__main,
.salon-table--open .salon-table__main,
.salon-table--pending-send .salon-table__main,
.salon-table--sent .salon-table__main,
.salon-table--prebill .salon-table__main,
.salon-table--partial-payment .salon-table__main{background:linear-gradient(180deg,#f22f2f,#c81414)}
.salon-table--free .salon-table__avatar{background:rgba(255,255,255,.12);color:rgba(255,255,255,.72)}
.salon-table--source{opacity:.38;filter:grayscale(.35)}

/* Modo libre: la entidad es la misma, pero la presentación es espacial y aún más compacta. */
.salon-table-stage.free-layout{position:relative;display:block;min-height:510px;background-color:#f2f0df;background-image:linear-gradient(45deg,rgba(122,106,55,.035) 25%,transparent 25%),linear-gradient(-45deg,rgba(122,106,55,.035) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(122,106,55,.035) 75%),linear-gradient(-45deg,transparent 75%,rgba(122,106,55,.035) 75%);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0}
.salon-table-stage.free-layout .salon-table{position:absolute;left:clamp(104px,calc(var(--x) * 1%),calc(100% - 104px));top:clamp(40px,calc(var(--y) * 1%),calc(100% - 40px));transform:translate(-50%,-50%);width:208px;border-radius:16px}
.salon-table-stage.free-layout .salon-table:hover{transform:translate(-50%,-50%) scale(1.015)}.salon-table-stage.free-layout .salon-table__main{height:66px;grid-template-columns:62px minmax(0,1fr)}.salon-table-stage.free-layout .salon-table__avatar{width:62px;height:66px}.salon-table-stage.free-layout .salon-table__name{font-size:16px}.salon-table-stage.free-layout .salon-table__actions{display:none}
.salon-table-stage.free-layout.merge-mode .salon-table:not(.salon-table--source)::after{content:'Seleccionar';position:absolute;right:5px;bottom:4px;background:#111820;color:#fff;border-radius:5px;padding:2px 4px;font-size:7px;font-weight:900}

@media(max-width:980px){
  .salon-shell{width:98vw}.salon-toolbar{align-items:flex-start}.salon-toolbar-right{display:grid;justify-items:end}.salon-summary{flex-wrap:wrap;justify-content:flex-end}.salon-table-stage.normal,.salon-table-stage.direct-layout{grid-template-columns:repeat(auto-fill,minmax(158px,1fr))}
}
@media(max-width:760px){
  .salon-shell{width:100%;height:calc(100dvh - max(6px,env(safe-area-inset-top)));max-height:none;border-radius:16px 16px 0 0;align-self:end}.salon-header{padding:13px 14px 10px}.salon-header h2{font-size:20px}.salon-header p{font-size:11px}.salon-toolbar{display:grid;grid-template-columns:1fr;padding:8px 10px}.salon-toolbar-right{margin:0;display:block}.salon-view-switch{display:none!important}.salon-summary{justify-content:flex-start;overflow-x:auto;padding-bottom:2px}.salon-tabs{width:100%}.salon-tabs button{min-width:128px;height:40px}.salon-table-stage.normal,.salon-table-stage.direct-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:9px 10px 14px}.salon-table__main{height:68px;grid-template-columns:52px minmax(0,1fr)}.salon-table__avatar{width:52px;height:68px}.salon-table__name{font-size:14px}.salon-table__actions{height:32px}.salon-table__actions button{font-size:9px}.salon-table-stage.free-layout{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-height:0}.salon-table-stage.free-layout .salon-table{position:relative;left:auto;top:auto;transform:none!important;width:100%}.salon-table-stage.free-layout .salon-table__actions{display:grid}
}
@media(max-width:380px){.salon-table-stage.normal,.salon-table-stage.direct-layout,.salon-table-stage.free-layout{grid-template-columns:1fr}.salon-table__main{height:66px}.salon-table__actions{height:34px}}


/* R1.6.5 — Salón es una pantalla operacional completa, no un modal. */
#tablesOverlay.salon-screen{position:fixed;inset:0;z-index:30;width:100vw;height:100dvh;padding:0!important;background:#f5f7f8!important;backdrop-filter:none!important}
#tablesOverlay.salon-screen .salon-shell{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;box-shadow:none;border:0;align-self:stretch}
.salon-table--busy .salon-table__main{background:linear-gradient(180deg,#f23232 0%,#ce1717 100%)!important}
.salon-table--busy .salon-table__state{background:rgba(255,255,255,.22);color:#fff}
.salon-table--busy.salon-table--active{outline-color:#f48622}
@media(max-width:760px){#tablesOverlay.salon-screen .salon-shell{height:100dvh;border-radius:0;align-self:stretch}.salon-header{padding-top:calc(12px + env(safe-area-inset-top))}.salon-table__name{padding-right:82px}}

/* R1.6.7 — smartphone portrait: density with breathing room, not desktop compression */
@media (max-width:760px){
  #tablesOverlay.salon-screen{
    overflow:hidden;
  }
  #tablesOverlay.salon-screen .salon-shell{
    grid-template-rows:auto auto minmax(0,1fr);
    overflow:hidden;
  }
  .salon-header{
    gap:12px;
    padding:calc(10px + env(safe-area-inset-top)) 12px 9px;
  }
  .salon-eyebrow{font-size:8px;letter-spacing:.14em}
  .salon-header h2{font-size:20px;line-height:1.02;margin:3px 0 5px}
  .salon-header p{font-size:11px;line-height:1.25;max-width:calc(100vw - 74px)}
  .salon-close{width:36px;height:36px;border-radius:10px;font-size:18px;flex:0 0 auto}

  .salon-toolbar{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:8px;
    padding:9px 10px 10px;
  }
  .salon-tabs{gap:8px;padding:0 1px 2px;scrollbar-width:none}
  .salon-tabs::-webkit-scrollbar{display:none}
  .salon-tabs button{min-width:0;flex:1 0 142px;height:42px;padding:0 11px;border-radius:10px}
  .salon-tabs button strong{font-size:12px}
  .salon-toolbar-right{display:block;min-width:0}
  .salon-summary{
    display:flex;
    flex-wrap:nowrap;
    gap:6px;
    overflow-x:auto;
    justify-content:flex-start;
    padding:1px 1px 2px;
    scrollbar-width:none;
  }
  .salon-summary::-webkit-scrollbar{display:none}
  .salon-summary span{flex:0 0 auto;padding:5px 8px;font-size:9px}

  .salon-table-stage.normal,
  .salon-table-stage.direct-layout,
  .salon-table-stage.free-layout{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px 10px!important;
    align-content:start;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    padding:14px 12px calc(24px + env(safe-area-inset-bottom))!important;
    scroll-padding-bottom:calc(24px + env(safe-area-inset-bottom));
  }
  .salon-table-stage.free-layout .salon-table{
    position:relative!important;
    left:auto!important;top:auto!important;
    transform:none!important;
    width:100%!important;
  }

  .salon-table{
    min-width:0;
    border-radius:14px;
    box-shadow:0 7px 16px rgba(17,24,39,.13);
  }
  .salon-table--free .salon-table__main{
    height:84px;
    grid-template-columns:48px minmax(0,1fr);
  }
  .salon-table--free .salon-table__avatar{
    width:48px;height:84px;
  }
  .salon-table--free .salon-table__body{
    gap:4px;
    padding:10px 8px 9px 10px;
  }
  .salon-table--free .salon-table__name{
    padding-right:42px;
    font-size:15px;
    line-height:1.08;
  }
  .salon-table--free .salon-table__state{right:0;top:0;font-size:7px;padding:3px 5px}
  .salon-table--free .salon-table__waiter{font-size:10px;line-height:1.15}
  .salon-table--free .salon-table__meta{font-size:9px;line-height:1.2}

  /* Occupied tables get the full row: operator identity and actions must never be crushed. */
  .salon-table--busy{
    grid-column:1 / -1;
  }
  .salon-table--busy .salon-table__main{
    height:92px;
    grid-template-columns:70px minmax(0,1fr);
  }
  .salon-table--busy .salon-table__avatar{
    width:70px;height:92px;
  }
  .salon-table--busy .salon-table__body{
    gap:4px;
    padding:11px 12px;
  }
  .salon-table--busy .salon-table__name{
    font-size:18px;
    line-height:1.08;
    padding-right:78px;
  }
  .salon-table--busy .salon-table__state{
    right:0;top:0;
    font-size:8px;
    padding:4px 7px;
  }
  .salon-table--busy .salon-table__waiter{font-size:11px;line-height:1.15}
  .salon-table--busy .salon-table__meta{font-size:10px;line-height:1.2}
  .salon-table--busy .salon-table__ticket{right:8px;bottom:7px;font-size:8px}
  .salon-table--busy .salon-table__actions{height:38px}
  .salon-table--busy .salon-table__actions button{font-size:10px;min-height:38px}

  .salon-mode-banner{margin:8px 10px 0;padding:8px 9px}
}

/* Keep two columns even on common 360–390 CSS-pixel Android portrait viewports.
   Occupied tables span both columns, so readability is not sacrificed. */
@media (min-width:381px) and (max-width:390px){
  .salon-table-stage.normal,
  .salon-table-stage.direct-layout,
  .salon-table-stage.free-layout{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .salon-table--busy{grid-column:1 / -1}
}

@media (max-width:340px){
  .salon-table-stage.normal,
  .salon-table-stage.direct-layout,
  .salon-table-stage.free-layout{grid-template-columns:1fr!important}
  .salon-table--busy{grid-column:auto}
}

/* R1.6.11 — Free salon layout is an editable drag surface for authorized roles */
.salon-table-stage.free-layout .salon-table--draggable{cursor:grab;touch-action:none;user-select:none}
.salon-table-stage.free-layout .salon-table--draggable:active{cursor:grabbing}
.salon-table-stage.free-layout .salon-table--dragging{z-index:50;cursor:grabbing;filter:brightness(1.04);box-shadow:0 18px 34px rgba(17,24,32,.25);transition:box-shadow .12s ease,filter .12s ease}
.salon-table-stage.free-layout .salon-table--dragging:hover{transform:translate(-50%,-50%)}
.salon-table-stage.free-layout .salon-table--draggable::after{content:"⋮⋮";position:absolute;left:50%;top:-17px;transform:translateX(-50%);font-size:13px;line-height:1;color:rgba(17,24,32,.48);letter-spacing:-3px;opacity:0;transition:opacity .12s ease}
.salon-table-stage.free-layout .salon-table--draggable:hover::after,.salon-table-stage.free-layout .salon-table--dragging::after{opacity:1}
@media(max-width:767px){.salon-table-stage.free-layout .salon-table--draggable{cursor:pointer;touch-action:auto}.salon-table-stage.free-layout .salon-table--draggable::after{display:none}}

/* R1.6.13 — administración integrada de salones, sin formularios flotantes */
#tablesOverlay .salon-shell{position:relative;grid-template-rows:auto auto auto auto auto minmax(0,1fr)}
.salon-tabs{align-items:stretch}
.salon-tab-wrap{display:grid;grid-template-columns:minmax(0,1fr) 32px;flex:0 0 auto;min-width:166px;height:44px;border:1px solid #d3dbe3;border-radius:9px;background:#fff;overflow:hidden}
.salon-tab-wrap.active{border-color:#17212b;box-shadow:inset 3px 0 #f48622}
.salon-tabs .salon-tab-main{min-width:0!important;width:100%;height:42px;border:0!important;border-radius:0!important;padding:0 9px 0 12px!important;background:#fff!important;color:#17212b!important;box-shadow:none!important}
.salon-tabs .salon-tab-main.active{background:#17212b!important;color:#fff!important}
.salon-tabs .salon-tab-main.active small{color:#d8e0e6!important}
.salon-tabs .salon-tab-menu{width:32px;min-width:32px!important;height:42px;border:0!important;border-left:1px solid #e0e6eb!important;border-radius:0!important;padding:0!important;background:#fff!important;color:#53616d!important;display:grid!important;place-items:center;font-size:14px;font-weight:950;letter-spacing:-2px}
.salon-tab-wrap.active .salon-tab-menu{background:#17212b!important;color:#fff!important;border-left-color:#33414d!important}
.salon-tab-menu:hover{filter:brightness(.95)}
.salon-create-btn{height:34px;padding:0 11px;border-radius:9px;background:#17212b;border-color:#17212b;color:#fff}
.salon-create-btn:hover{background:#263541;border-color:#263541;color:#fff}

.salon-manage-panel{margin:0;border-bottom:1px solid #d9e0e7;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);padding:12px 18px;display:grid;grid-template-columns:210px minmax(0,1fr) auto;gap:14px;align-items:center;box-shadow:0 7px 18px rgba(17,24,39,.05);z-index:4}
.salon-manage-head{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:8px;align-items:start;min-width:0}
.salon-manage-head>div{display:grid;gap:2px;min-width:0}.salon-manage-head span{font-size:8px;font-weight:950;letter-spacing:.14em;color:#f27a21}.salon-manage-head strong{font-size:16px;color:#17212b}.salon-manage-head small{font-size:9px;color:#778491;line-height:1.25}
.salon-manage-head>button{width:28px;height:28px;border:0;border-radius:8px;background:#eef2f5;color:#17212b;font-size:16px}
.salon-manage-fields{display:grid;grid-template-columns:minmax(150px,1fr) 92px minmax(150px,1fr) minmax(170px,.9fr);gap:8px;align-items:end;min-width:0}
.salon-manage-fields label{display:grid;gap:4px;min-width:0;margin:0!important}.salon-manage-fields label>span,.salon-manage-preview>span{font-size:8px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#71808d}
.salon-manage-fields input{width:100%;height:38px;border:1px solid #cfd8e0;border-radius:9px;background:#fff;padding:0 10px;font-size:12px;font-weight:800;color:#17212b;outline:0}
.salon-manage-fields input:focus{border-color:#f08a24;box-shadow:0 0 0 3px rgba(240,138,36,.12)}
.salon-manage-preview{height:38px;border:1px solid #dfe6ec;border-radius:9px;background:#f4f7f9;padding:5px 9px;display:grid;align-content:center;gap:1px;min-width:0}.salon-manage-preview strong{font-size:10px;color:#263541;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.salon-manage-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.salon-manage-actions button{height:38px;border-radius:9px;padding:0 12px;font-size:10px;font-weight:950;white-space:nowrap}.salon-manage-actions .primary{background:#17212b;color:#fff}.salon-manage-actions .danger{background:#fff0ef;color:#b52b24;border:1px solid #efc3bf}
.salon-manage-warning{grid-column:1/-1;margin:-4px 0 0;padding:7px 10px;border:1px solid #efc36d;border-radius:8px;background:#fff7e8;color:#765117;font-size:9px;font-weight:800}

.salon-context-menu{position:absolute;z-index:80;width:164px;border:1px solid #d8e0e7;border-radius:10px;background:#fff;box-shadow:0 14px 34px rgba(17,24,39,.18);padding:5px;display:grid;gap:3px}
.salon-context-menu button{height:34px;border:0;border-radius:7px;background:#fff;text-align:left;padding:0 10px;font-size:10px;font-weight:900;color:#263541}.salon-context-menu button:hover{background:#f1f4f6}.salon-context-menu button.danger-text{color:#b42d27}.salon-context-menu button.danger-text:hover{background:#fff0ef}

@media(max-width:980px){
  .salon-manage-panel{grid-template-columns:170px minmax(0,1fr);gap:10px}.salon-manage-actions{grid-column:1/-1;justify-content:flex-end}.salon-manage-fields{grid-template-columns:minmax(140px,1fr) 88px minmax(140px,1fr) minmax(150px,.8fr)}
}
@media(max-width:760px){
  #tablesOverlay .salon-shell{grid-template-rows:auto auto auto auto auto minmax(0,1fr)}
  .salon-tab-wrap{min-width:148px;flex:1 0 148px;height:42px}.salon-tabs .salon-tab-main,.salon-tabs .salon-tab-menu{height:40px}
  .salon-create-btn{width:auto!important;height:36px;margin:0 0 7px!important;padding:0 13px}
  .salon-manage-panel{margin:0;padding:11px 10px;grid-template-columns:1fr;gap:9px;max-height:46dvh;overflow:auto}
  .salon-manage-head{grid-template-columns:minmax(0,1fr) 32px}.salon-manage-head small{font-size:10px}
  .salon-manage-fields{grid-template-columns:minmax(0,1fr) 82px;gap:8px}.salon-manage-fields label:nth-child(3){grid-column:1/-1}.salon-manage-preview{grid-column:1/-1}
  .salon-manage-fields input{height:42px;font-size:13px}
  .salon-manage-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr;gap:7px}.salon-manage-actions .danger:not(.hidden){grid-column:1/-1;grid-row:1}.salon-manage-actions button{height:42px;font-size:11px}
  .salon-context-menu{position:fixed;left:10px!important;right:10px!important;bottom:calc(10px + env(safe-area-inset-bottom));top:auto!important;width:auto;padding:7px;border-radius:13px}.salon-context-menu button{height:44px;font-size:12px}
}

/* R1.7.1 — Table component refinement: separate free/busy composition and drag handle */
.salon-table{border:1px solid transparent;background:#fff}
.salon-table__main{isolation:isolate}
.salon-table__facts{display:flex;align-items:center;gap:5px;min-width:0;color:rgba(255,255,255,.92);font-size:9px;line-height:1.1}
.salon-table__facts b{font-size:10px;font-weight:950;color:#fff;font-variant-numeric:tabular-nums}.salon-table__facts span{opacity:.86;white-space:nowrap}
.salon-table__drag-handle{position:absolute;z-index:8;top:-17px;left:50%;transform:translateX(-50%);width:34px;height:22px;border:1px solid rgba(17,24,32,.16);border-radius:8px;background:rgba(255,255,255,.96);color:#52606c;font-size:16px;line-height:1;display:grid;place-items:center;box-shadow:0 3px 9px rgba(17,24,32,.10);cursor:grab;touch-action:none;opacity:.78;transition:opacity .12s ease,transform .12s ease,box-shadow .12s ease}
.salon-table__drag-handle:hover{opacity:1;transform:translateX(-50%) translateY(-1px);box-shadow:0 5px 12px rgba(17,24,32,.15)}.salon-table__drag-handle:active{cursor:grabbing}
.salon-table-stage.free-layout{padding-top:26px!important}
.salon-table-stage.free-layout .salon-table--draggable::after{display:none!important}

/* Free tables remain extremely scannable. */
.salon-table--free{border-color:#9bd5ac;box-shadow:0 5px 13px rgba(14,116,47,.12)}
.salon-table--free .salon-table__main{background:linear-gradient(135deg,#25b64c 0%,#078b31 72%,#087429 100%)}
.salon-table--free .salon-table__avatar{background:rgba(255,255,255,.13);border-right:1px solid rgba(255,255,255,.16)}
.salon-table--free .salon-table__free-mark{font-size:24px;font-weight:500;color:rgba(255,255,255,.76)}
.salon-table--free .salon-table__waiter{font-weight:850;opacity:.96}
.salon-table--free .salon-table__facts b{font-size:9px}.salon-table--free .salon-table__facts span{font-size:9px}

/* Busy is its own operational component, not a free table recolored red. */
.salon-table--busy{border-color:#e33a32;box-shadow:0 8px 19px rgba(170,24,20,.18)}
.salon-table--busy .salon-table__main{background:linear-gradient(135deg,#f32d2d 0%,#df1e1e 58%,#c91212 100%)}
.salon-table--busy .salon-table__avatar{background:#16212b;color:#fff;border-right:1px solid rgba(255,255,255,.12)}
.salon-table--busy .salon-table__avatar img{object-fit:cover}
.salon-table--busy .salon-table__body{padding-right:11px}
.salon-table--busy .salon-table__top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:7px}
.salon-table--busy .salon-table__name{padding-right:0!important;font-size:16px;line-height:1.05}
.salon-table--busy .salon-table__state{position:static;align-self:start;font-size:7px;padding:4px 6px;background:rgba(255,255,255,.19);border:1px solid rgba(255,255,255,.12)}
.salon-table--busy .salon-table__waiter{font-size:10px;opacity:.96}
.salon-table--busy .salon-table__facts{margin-top:2px}
.salon-table--busy .salon-table__ticket{right:8px;bottom:6px;font-size:8px}
.salon-table--busy .salon-table__actions{height:34px;background:#fff}
.salon-table--busy .salon-table__actions button{display:grid;place-items:center;min-width:0;background:#fff;color:#263541;border-right:1px solid #e0e6eb;font-size:9px;transition:background .12s ease,color .12s ease}
.salon-table--busy .salon-table__actions button:hover{background:#f5f7f9;color:#111820}
.salon-table--busy .salon-table__actions button:active{background:#edf1f4}
.salon-table--active{outline:3px solid #f08a24;outline-offset:2px}

@media(max-width:760px){
  .salon-table-stage.normal,.salon-table-stage.direct-layout,.salon-table-stage.free-layout{gap:10px!important;padding:11px 12px calc(18px + env(safe-area-inset-bottom))!important}
  .salon-table--free{min-height:92px!important;border-radius:14px!important}
  .salon-table--free .salon-table__main{height:92px!important;min-height:92px!important;grid-template-columns:48px minmax(0,1fr)!important}
  .salon-table--free .salon-table__avatar{width:48px!important;height:92px!important}
  .salon-table--free .salon-table__body{padding:10px 9px!important;gap:3px!important}
  .salon-table--free .salon-table__name{font-size:14px!important;line-height:1.05!important}
  .salon-table--free .salon-table__state{font-size:7px!important;padding:3px 5px!important}
  .salon-table--free .salon-table__facts{display:grid;gap:1px}

  .salon-table--busy{grid-column:1 / -1!important;min-height:132px!important;border-radius:16px!important;overflow:hidden!important}
  .salon-table--busy .salon-table__main{height:94px!important;min-height:94px!important;grid-template-columns:64px minmax(0,1fr)!important}
  .salon-table--busy .salon-table__avatar{width:64px!important;height:94px!important}
  .salon-table--busy .salon-table__body{padding:11px 12px!important;gap:4px!important}
  .salon-table--busy .salon-table__name{font-size:17px!important}
  .salon-table--busy .salon-table__waiter{font-size:11px!important}
  .salon-table--busy .salon-table__facts b{font-size:11px}.salon-table--busy .salon-table__facts span{font-size:10px}
  .salon-table--busy .salon-table__actions{height:38px!important;min-height:38px!important}.salon-table--busy .salon-table__actions button{min-height:38px!important;font-size:10px!important}
  .salon-table__drag-handle{display:none!important}
}

/* R1.7.8 FIX3 — navegación general vive en Salones; una mesa sólo muestra contexto de atención. */
.salon-shell{grid-template-rows:auto auto auto auto auto minmax(0,1fr)}
.salon-global-nav{height:58px;display:flex;align-items:center;gap:14px;padding:0 16px;background:#11243a;color:#fff;border-bottom:3px solid #f46b0b;box-shadow:0 5px 16px rgba(17,36,58,.10);z-index:12;min-width:0}
.salon-global-brand{display:flex;align-items:center;gap:8px;flex:0 0 auto}.salon-global-brand .amelia-logo-shell{width:122px;height:38px}.salon-global-brand small{color:#aebdcc;font-size:10px;font-weight:800}
.salon-global-actions{display:flex;align-items:stretch;height:100%;gap:2px;overflow-x:auto;scrollbar-width:none;min-width:0}.salon-global-actions::-webkit-scrollbar{display:none}.salon-global-actions button{border:0;background:transparent;color:#d9e4ee;padding:0 14px;font-size:12px;font-weight:850;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-3px}.salon-global-actions button:hover{background:#173a56;color:#fff}.salon-global-actions button.active{color:#fff;background:#173a56;border-bottom-color:#f46b0b}
.salon-global-session{margin-left:auto;display:flex;align-items:center;gap:9px;flex:0 0 auto}.salon-global-session span{font-size:10px;color:#c9d5df;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.salon-global-session button{border:1px solid #465a6c;background:#173047;color:#fff;border-radius:8px;padding:8px 10px;font-size:10px;font-weight:800}.salon-global-session button:hover{border-color:#f46b0b}
@media(max-width:980px){.salon-global-nav{gap:8px;padding:0 10px}.salon-global-brand .amelia-logo-shell{width:104px}.salon-global-actions button{padding:0 10px;font-size:11px}.salon-global-session span{display:none}}
@media(max-width:760px){#tablesOverlay.salon-screen .salon-shell{grid-template-rows:auto auto auto minmax(0,1fr)}.salon-global-nav{height:54px;padding:0 8px;gap:6px}.salon-global-brand{display:none}.salon-global-actions{order:1;flex:1}.salon-global-actions button{min-width:82px;padding:0 8px;font-size:10px}.salon-global-session{order:2}.salon-global-session button{width:38px;height:36px;padding:0;font-size:0}.salon-global-session button:before{content:'↪';font-size:17px}.salon-header{padding-top:10px!important}}

/* ==========================================================================
   SECTION: LOGIN
   ========================================================================== */
/* AmeliaPOS R1.6.6 — login operativo inspirado en la lógica GPOS, reescrito */
.pos-login-screen{position:fixed;inset:0;z-index:220;background:#0d141b;display:grid;place-items:center;padding:clamp(16px,3vw,42px);overflow:auto;color:#17212b}
.pos-login-screen.hidden{display:none!important}
.pos-login-shell{width:min(1180px,100%);min-height:min(720px,calc(100dvh - 48px));display:grid;grid-template-columns:280px minmax(360px,1fr) 330px;grid-template-rows:76px minmax(0,1fr);background:#f6f8fa;border:1px solid #2b3742;border-radius:24px;overflow:hidden;box-shadow:0 34px 90px rgba(0,0,0,.36)}
.pos-login-header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 24px;background:#111a23;color:#fff;border-bottom:1px solid #283541}
.pos-login-brand{display:grid;gap:1px}.pos-login-brand strong{font-size:24px;letter-spacing:-.04em}.pos-login-brand strong span{color:#f46b0b}.pos-login-brand small{color:#a9b5bf;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.13em}
.pos-login-station{display:grid;text-align:right;gap:2px}.pos-login-station span{font-size:10px;color:#97a6b2;text-transform:uppercase;letter-spacing:.08em}.pos-login-station b{font-size:13px}
.pos-login-users,.pos-login-identity,.pos-login-keypad{min-height:0;padding:22px}
.pos-login-users{background:#e9eef2;border-right:1px solid #d1dae2;overflow:auto}
.pos-login-section-title{display:grid;gap:2px;margin-bottom:14px}.pos-login-section-title>span{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#273541}.pos-login-section-title>small{font-size:11px;color:#6c7b88}
.pos-login-user-list{display:grid;gap:9px}
.pos-login-user{width:100%;border:1px solid #cfd8df;background:#fff;border-radius:13px;padding:8px;display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:10px;text-align:left;color:#17212b;min-height:70px;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}
.pos-login-user:hover{border-color:#9eacb8}.pos-login-user:active{transform:scale(.988)}.pos-login-user.active{border-color:#f28a2d;box-shadow:0 0 0 2px rgba(242,138,45,.18);background:#fffaf4}
.pos-login-user-avatar{width:54px;height:54px;border-radius:11px;overflow:hidden;display:grid;place-items:center;background:#18232d;color:#fff;font-size:19px;font-weight:900}.pos-login-user-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.pos-login-user-copy{min-width:0;display:grid;gap:3px}.pos-login-user-copy strong{font-size:13px;line-height:1.15}.pos-login-user-copy small{font-size:10px;color:#667683;font-weight:800}.pos-login-user.active .pos-login-user-copy small{color:#9a5418}
.pos-login-identity{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;padding-inline:clamp(26px,4vw,58px)}
.pos-login-selected-avatar{width:136px;height:136px;border-radius:28px;background:#17232d;color:#fff;display:grid;place-items:center;font-size:44px;font-weight:950;overflow:hidden;box-shadow:0 18px 34px rgba(17,26,35,.18)}.pos-login-selected-avatar img{width:100%;height:100%;object-fit:cover}
.pos-login-selected-copy{text-align:center;margin:18px 0 24px}.pos-login-selected-copy>span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#87949f;font-weight:900}.pos-login-selected-copy h1{margin:5px 0 3px;font-size:26px;letter-spacing:-.04em}.pos-login-selected-copy p{margin:0;color:#677582;font-size:12px}
.pos-login-pin-label{width:100%;font-size:11px;font-weight:900;color:#465561;margin-bottom:7px}.pos-login-pin-wrap{width:100%;height:58px;border:1px solid #cbd5dd;border-radius:13px;background:#f9fbfc;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;overflow:hidden}.pos-login-pin-wrap:focus-within{border-color:#ef8a31;box-shadow:0 0 0 3px rgba(239,138,49,.14)}.pos-login-pin-wrap input{min-width:0;width:100%;height:100%;border:0;outline:0;background:transparent;padding:0 16px;font-size:27px;letter-spacing:.25em;font-weight:900;color:#17212b}.pos-login-pin-wrap span{padding:0 13px;color:#85929d;font-size:10px;font-weight:800;border-left:1px solid #dfe5ea}
.pos-login-remember{width:100%;display:flex;align-items:center;gap:8px;margin-top:13px;color:#53626e;font-size:11px;font-weight:750}.pos-login-remember input{width:17px;height:17px;accent-color:#ef7628}.pos-login-security{width:100%;margin:9px 0 0;color:#8996a0;font-size:10px;line-height:1.35}
.pos-login-keypad{background:#eef2f5;border-left:1px solid #d3dce3;display:flex;flex-direction:column;justify-content:center}
.pos-login-key-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pos-login-key-grid button{height:66px;border:1px solid #cbd5dd;border-radius:12px;background:#fff;color:#17212b;font-size:24px;font-weight:900;box-shadow:0 2px 0 rgba(17,26,35,.05);touch-action:manipulation}.pos-login-key-grid button:hover{background:#f8fafb}.pos-login-key-grid button:active{transform:translateY(1px);background:#e5ebef}.pos-login-key-grid .clear,.pos-login-key-grid .backspace{color:#d13b31;background:#fff7f6}
.pos-login-submit{height:58px;border:0;border-radius:13px;margin-top:12px;background:linear-gradient(180deg,#ff9a2e,#f47a20);color:#151b20;font-weight:950;font-size:16px;box-shadow:0 10px 22px rgba(244,122,32,.20)}.pos-login-submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.pos-login-status{min-height:31px;margin-top:9px;font-size:10px;color:#697985;text-align:center;line-height:1.35}.pos-login-status.error{color:#b62f28;font-weight:800}
@media(max-width:900px){
  .pos-login-screen{
    width:100%;max-width:100vw;height:100dvh;min-height:100dvh;
    padding:0;place-items:stretch;overflow-x:hidden;overflow-y:auto;background:#f4f6f8;
  }
  .pos-login-shell{
    width:100%;max-width:100vw;min-width:0;min-height:100dvh;
    border:0;border-radius:0;box-shadow:none;overflow-x:hidden;overflow-y:auto;
    display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:58px auto auto auto;
    background:#f4f6f8;
  }
  .pos-login-header{
    grid-column:1;min-width:0;width:100%;max-width:100%;height:58px;
    padding:0 16px;gap:10px;position:sticky;top:0;z-index:4;
  }
  .pos-login-brand{min-width:0}.pos-login-brand strong{font-size:19px}.pos-login-brand small{font-size:8px}
  .pos-login-station{min-width:0;max-width:44%;}.pos-login-station span{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pos-login-station b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  .pos-login-users,.pos-login-identity,.pos-login-keypad{min-width:0;width:100%;max-width:100%;}
  .pos-login-users{
    padding:12px 14px 13px;border-right:0;border-bottom:1px solid #d7dfe5;background:#edf2f5;overflow:hidden;
  }
  .pos-login-users .pos-login-section-title{margin:0 0 9px;display:flex;align-items:end;justify-content:space-between;gap:8px}
  .pos-login-users .pos-login-section-title>span{font-size:10px}.pos-login-users .pos-login-section-title>small{font-size:9px;text-align:right}
  .pos-login-user-list{
    width:100%;max-width:100%;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:visible;padding:0;
  }
  .pos-login-user{
    width:100%;min-width:0;min-height:84px;padding:8px 6px;border-radius:14px;
    display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;text-align:center;overflow:hidden;
  }
  .pos-login-user-avatar{width:40px;height:40px;min-width:40px;border-radius:12px;font-size:15px}
  .pos-login-user-copy{width:100%;min-width:0;display:grid;gap:1px;text-align:center}
  .pos-login-user-copy strong{font-size:11px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pos-login-user-copy small{font-size:8px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pos-login-user.active{box-shadow:0 0 0 2px rgba(242,138,45,.28);}

  .pos-login-identity{
    padding:14px 16px 12px;background:#fff;display:grid;
    grid-template-columns:56px minmax(0,1fr);grid-template-rows:auto auto auto auto;column-gap:12px;align-items:center;justify-content:stretch;
  }
  .pos-login-selected-avatar{
    grid-column:1;grid-row:1;width:56px;height:56px;border-radius:16px;font-size:20px;box-shadow:none;
  }
  .pos-login-selected-copy{
    grid-column:2;grid-row:1;text-align:left;margin:0;min-width:0;
  }
  .pos-login-selected-copy>span{font-size:8px;letter-spacing:.1em}.pos-login-selected-copy h1{margin:3px 0 2px;font-size:19px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pos-login-selected-copy p{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pos-login-pin-label{grid-column:1/-1;grid-row:2;margin:12px 0 6px;font-size:10px}
  .pos-login-pin-wrap{grid-column:1/-1;grid-row:3;height:52px;border-radius:12px;min-width:0;width:100%;}
  .pos-login-pin-wrap input{min-width:0;width:100%;padding:0 14px;font-size:23px;letter-spacing:.22em}
  .pos-login-pin-wrap span{padding:0 10px;font-size:9px}
  .pos-login-remember{grid-column:1/-1;grid-row:4;margin:9px 0 0;font-size:10px;min-width:0}
  .pos-login-security{display:none}

  .pos-login-keypad{
    min-width:0;width:100%;max-width:100%;padding:12px 16px calc(14px + env(safe-area-inset-bottom));
    border-left:0;border-top:1px solid #d7dfe5;background:#eef2f5;display:block;
  }
  .pos-login-keypad .pos-login-section-title{display:none}
  .pos-login-key-grid{width:100%;max-width:100%;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .pos-login-key-grid button{min-width:0;width:100%;height:50px;border-radius:12px;font-size:21px;box-shadow:none}
  .pos-login-submit{width:100%;height:52px;margin-top:10px;border-radius:12px;font-size:15px}
  .pos-login-status{min-height:22px;margin:7px 0 0;font-size:9px;padding:0 4px}
}
@media(max-width:390px){
  .pos-login-header{padding-inline:12px}.pos-login-users{padding-inline:10px}.pos-login-user-list{gap:6px}.pos-login-user{min-height:78px;padding-inline:4px}.pos-login-user-avatar{width:36px;height:36px;min-width:36px}.pos-login-user-copy strong{font-size:10px}.pos-login-identity{padding-inline:12px}.pos-login-keypad{padding-inline:12px}.pos-login-key-grid{gap:7px}.pos-login-key-grid button{height:47px;font-size:20px}
}
@media(max-width:330px){
  .pos-login-user-list{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-login-user{min-height:74px}.pos-login-selected-copy h1{font-size:17px}
}
@media(prefers-reduced-motion:reduce){.pos-login-user,.pos-login-key-grid button{transition:none!important}}
.pos-login-user-avatar .login-avatar-fallback,.pos-login-selected-avatar .login-avatar-fallback{width:100%;height:100%;place-items:center;font:inherit;color:inherit}
/* RC7: múltiples operadores, búsqueda y selección inequívoca */
.pos-login-search{display:flex;align-items:center;gap:7px;height:40px;margin:-3px 0 11px;padding:0 10px;border:1px solid #cbd6de;border-radius:10px;background:#fff;color:#71808c}.pos-login-search:focus-within{border-color:#ef8a31;box-shadow:0 0 0 3px rgba(239,138,49,.13)}.pos-login-search input{min-width:0;width:100%;height:100%;border:0;outline:0;background:transparent;font-size:12px;color:#17212b}.pos-login-no-users{padding:18px 8px;text-align:center;color:#697985;font-size:11px}.pos-login-user-list{max-height:calc(100dvh - 220px);overflow:auto;scrollbar-width:thin}
@media(max-width:900px){.pos-login-search{height:38px;margin:0 0 9px}.pos-login-user-list{max-height:210px;overflow:auto;align-content:start}.pos-login-users{overflow:visible}.pos-login-user-list{padding-bottom:2px}}
@media(max-width:430px){.pos-login-user-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:230px}.pos-login-user{min-height:76px}.pos-login-user-copy strong{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}

/* ==========================================================================
   SECTION: VALIDACIÓN DE INPUTS
   ========================================================================== */
/* AmeliaPOS numeric input contract R1.6.9 */
input[data-input]{font-variant-numeric:tabular-nums;letter-spacing:.01em;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
input[data-input]:focus{outline:0;border-color:#f28a22!important;box-shadow:0 0 0 3px rgba(242,138,34,.14)!important}
input[data-input].input-invalid{border-color:#d92d20!important;background:#fff7f6!important;box-shadow:0 0 0 3px rgba(217,45,32,.10)!important}
.money-input input[data-input="clp"],.ticket-discount-value input{font-weight:850;text-align:right}
.percent-discount-editor input{font-weight:900;text-align:right}
@media(max-width:767px){input[data-input]{font-size:16px!important}.money-input input[data-input="clp"],.ticket-discount-value input{text-align:left}}

/* ==========================================================================
   SECTION: EXPERIENCIA TOUCH
   ========================================================================== */
/* AmeliaPOS R1.7.0 — integrated operational experience layer.
   Critical POS flows are full app views, not floating modals. */
:root{
  --amelia-warm:#f47a20;
  --amelia-red:#ed3f36;
  --amelia-navy:#111a23;
  --amelia-surface:#f4f6f8;
  --amelia-card:#ffffff;
  --amelia-line:#d9e1e8;
  --amelia-ease:cubic-bezier(.2,.75,.25,1);
}

.app-view{
  position:fixed;inset:0;z-index:145;
  width:100vw;height:100dvh;min-width:0;min-height:0;
  background:var(--amelia-surface);
  color:#17212b;
  display:block;
  overflow:hidden;
  opacity:0;transform:translateY(10px) scale(.997);
  pointer-events:none;
  transition:opacity .18s var(--amelia-ease),transform .18s var(--amelia-ease);
}
.app-view.view-active{opacity:1;transform:none;pointer-events:auto}
.app-view.hidden{display:none!important}
.view-eyebrow{display:block;margin-bottom:6px;color:var(--amelia-warm);font-size:9px;font-weight:950;letter-spacing:.15em;text-transform:uppercase}

/* Every integrated view owns the viewport. Generic dialog geometry is intentionally reset. */
.app-view>.dialog,
.app-view>.cash-open-dialog,
.app-view>.salon-shell{
  width:100%;max-width:none;height:100dvh;max-height:none;min-height:0;
  margin:0;border:0;border-radius:0;box-shadow:none;
}

/* ---------- Cash opening: operational start screen ---------- */
.app-view--cash{background:#eef2f5}
.app-view--cash .cash-open-dialog{
  display:grid;grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden;background:#f6f8fa;padding:0;
}
.app-view--cash .cash-open-header{
  padding:clamp(22px,3vw,38px) clamp(24px,4vw,54px) 24px;
  background:linear-gradient(120deg,#101820 0%,#17232d 70%,#35281d 125%);
}
.app-view--cash .cash-open-header h2{font-size:clamp(30px,3.2vw,46px)}
.app-view--cash .cash-open-layout{
  width:min(1120px,100%);margin:0 auto;padding:clamp(24px,4vw,48px);
  grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);
  align-items:start;overflow:auto;
}
.app-view--cash .cash-open-main{background:#fff;border:1px solid var(--amelia-line);border-radius:18px;padding:22px;box-shadow:0 8px 26px rgba(22,32,42,.07)}
.app-view--cash .cash-open-side{align-content:start}
.app-view--cash .cash-open-dialog>.actions{
  margin:0;padding:14px clamp(24px,4vw,54px) calc(14px + env(safe-area-inset-bottom));
  border-top:1px solid var(--amelia-line);background:#fff;
}

/* ---------- Payment: full ticket closing workspace ---------- */
.app-view--payment{background:#f3f6f8}
.app-view--payment .payment-view{
  display:grid;grid-template-rows:auto minmax(0,1fr);
  padding:0;background:#f3f6f8;overflow:hidden;
}
.payment-view-header{
  padding:20px clamp(20px,3vw,42px) 16px!important;
  border-bottom:1px solid var(--amelia-line);background:#fff;
  align-items:center!important;
}
.payment-view-header h2{font-size:clamp(26px,2.6vw,38px);letter-spacing:-.035em}
.payment-view-header p{margin-bottom:0!important}
.app-view--payment .payment-layout{
  width:min(1180px,100%);margin:0 auto;padding:clamp(18px,3vw,36px);
  grid-template-columns:minmax(0,1fr) minmax(340px,.82fr);gap:24px;
  overflow:auto;min-height:0;align-items:start;
}
.app-view--payment .payment-layout>div:first-child,
.app-view--payment .payment-ledger{
  background:#fff;border:1px solid var(--amelia-line);border-radius:18px;padding:20px;
  box-shadow:0 7px 24px rgba(24,36,48,.055);
}
.app-view--payment .method-grid button{min-height:54px;border-radius:12px;font-size:14px;transition:transform .12s var(--amelia-ease),background .12s ease,border-color .12s ease}
.app-view--payment .method-grid button:active{transform:scale(.985)}
.app-view--payment .payment-ledger{min-height:440px}
.app-view--payment .payment-ledger h3{font-size:20px}
.app-view--payment #finishSale{min-height:52px;border-radius:12px}
.app-view--payment .ledger-total{border-top:1px solid var(--amelia-line);margin-top:auto}

/* ---------- Cash close: integrated reconciliation screen ---------- */
.app-view--cash-close{background:#f3f6f8}
.cash-close-view{display:grid!important;grid-template-rows:auto minmax(0,1fr);padding:0!important;background:#f3f6f8!important;overflow:hidden}
.cash-close-header{padding:20px clamp(20px,3vw,42px) 16px;border-bottom:1px solid var(--amelia-line);background:#fff;align-items:center!important}
.cash-close-header h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.035em}.cash-close-header p{margin-bottom:0!important}
.cash-close-layout{width:min(1040px,100%);margin:0 auto;padding:clamp(20px,3vw,36px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:24px;overflow:auto;align-items:start}
.cash-close-summary-panel,.cash-close-entry{background:#fff;border:1px solid var(--amelia-line);border-radius:18px;padding:20px;box-shadow:0 7px 24px rgba(24,36,48,.055)}
.cash-close-entry{display:grid;gap:14px}.cash-close-entry label{margin:0!important}.cash-close-entry label>span{font-size:11px;font-weight:900;color:#4a5865;text-transform:uppercase;letter-spacing:.06em}
.cash-close-entry .danger{min-height:52px;border-radius:12px;margin-top:4px;background:#fff0ef;color:#bd2922;border:1px solid #f0c0bc}
.cash-summary{border:0!important;background:transparent!important;padding:0!important;gap:0!important}
.cash-summary>div{padding:14px 0;border-bottom:1px solid #edf1f4;font-size:15px}.cash-summary>div strong{font-size:17px}.cash-summary p{padding:14px 0 0;text-align:left!important;line-height:1.45}

/* ---------- Salon: protect density, never crush rows ---------- */
.app-view--salon{opacity:0;transform:translateX(10px);transition:opacity .18s var(--amelia-ease),transform .18s var(--amelia-ease)}
.app-view--salon.view-active{opacity:1;transform:none}
.salon-table-stage.normal,.salon-table-stage.direct-layout,.salon-table-stage.free-layout{grid-auto-rows:max-content!important}
.salon-table{height:auto!important;min-height:74px}
.salon-table__main{min-height:74px}

/* ---------- Main POS interaction polish ---------- */
.category{position:relative;overflow:hidden;transition:background .15s ease,color .15s ease,transform .14s var(--amelia-ease),box-shadow .14s ease}
.category.active{transform:translateX(2px);box-shadow:inset 3px 0 var(--amelia-warm)}
.products.catalog-enter{animation:catalogEnter .16s var(--amelia-ease)}
@keyframes catalogEnter{from{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:none}}
.product-card{will-change:transform}.product-card:focus-visible,.category:focus-visible,button:focus-visible{outline:3px solid rgba(244,122,32,.28);outline-offset:2px}
.mobile-face-nav button{transition:background .16s ease,color .16s ease,transform .16s var(--amelia-ease)}
.mobile-face-nav button.active{transform:translateY(-1px)}

/* ---------- Mobile: one layout per task, not squeezed desktop ---------- */
@media(max-width:760px){
  .app-view{width:100vw;height:100dvh;overflow:hidden;transform:translateY(8px)}
  .app-view>.dialog,.app-view>.cash-open-dialog,.app-view>.salon-shell{height:100dvh;min-height:100dvh}

  /* topbar: no duplicated role text and no oversized pill */
  .topbar{height:58px!important;padding:0 12px!important;gap:8px!important}
  .brand{font-size:18px!important}.brand small{display:none!important}
  .top-actions{min-width:0}.top-actions .user-pill{max-width:120px!important;min-width:0;padding:7px 9px!important;font-size:10px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

  /* cash open */
  .app-view--cash .cash-open-dialog{grid-template-rows:auto minmax(0,1fr) auto}
  .app-view--cash .cash-open-header{padding:18px 16px 15px}.app-view--cash .cash-open-header h2{font-size:28px}.app-view--cash .cash-open-header p{font-size:12px;line-height:1.4}
  .app-view--cash .cash-open-layout{width:100%;padding:14px 14px 18px;grid-template-columns:1fr;gap:12px;overflow:auto}
  .app-view--cash .cash-open-main{padding:15px;border-radius:15px}.app-view--cash .cash-open-side{gap:10px}
  .app-view--cash .cash-open-input input{font-size:28px!important}
  .app-view--cash .cash-open-dialog>.actions{position:relative;padding:10px 14px calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:.8fr 1.2fr;gap:8px}

  /* payment */
  .payment-view-header{padding:calc(12px + env(safe-area-inset-top)) 14px 10px!important;align-items:flex-start!important}.payment-view-header h2{font-size:25px}.payment-view-header p{font-size:12px!important;line-height:1.35}.payment-view-header .icon-btn{width:36px;height:36px;flex:0 0 auto}
  .app-view--payment .payment-layout{width:100%;padding:12px 12px calc(24px + env(safe-area-inset-bottom));grid-template-columns:1fr;gap:12px;overflow-y:auto;overflow-x:hidden;align-content:start}
  .app-view--payment .payment-layout>div:first-child,.app-view--payment .payment-ledger{padding:14px;border-radius:15px;box-shadow:none}
  .app-view--payment .method-grid{gap:8px}.app-view--payment .method-grid button{min-height:48px;padding:10px;font-size:13px}
  .app-view--payment .dialog label{margin:11px 0}.app-view--payment .money-input.large input{font-size:23px}
  .app-view--payment .payment-ledger{min-height:260px}.app-view--payment .payment-ledger h3{font-size:18px}
  .app-view--payment #finishSale{position:sticky;bottom:0;z-index:2;box-shadow:0 -8px 18px rgba(255,255,255,.96)}

  /* cash close */
  .cash-close-header{padding:calc(12px + env(safe-area-inset-top)) 14px 10px}.cash-close-header h2{font-size:26px}.cash-close-header p{font-size:12px!important;line-height:1.35}.cash-close-layout{width:100%;padding:12px 12px calc(22px + env(safe-area-inset-bottom));grid-template-columns:1fr;gap:12px;overflow-y:auto}
  .cash-close-summary-panel,.cash-close-entry{padding:14px;border-radius:15px;box-shadow:none}.cash-close-entry .money-input.large input{font-size:24px}

  /* salon: explicit row size prevents 20-table layouts from collapsing */
  #tablesOverlay.salon-screen .salon-shell{height:100dvh!important;min-height:100dvh!important}
  .salon-table-stage.normal,.salon-table-stage.direct-layout,.salon-table-stage.free-layout{grid-auto-rows:max-content!important;align-content:start!important;overflow-y:auto!important}
  .salon-table{min-height:88px!important;overflow:hidden!important}
  .salon-table--free .salon-table__main{height:88px!important;min-height:88px!important}
  .salon-table--busy{min-height:132px!important}.salon-table--busy .salon-table__main{height:94px!important;min-height:94px!important}.salon-table--busy .salon-table__actions{height:38px!important;min-height:38px!important}
  .salon-table__body{overflow:hidden}.salon-table__name,.salon-table__waiter,.salon-table__meta{overflow:visible!important;white-space:normal!important;text-overflow:clip!important}

  /* ticket detail: actions remain tappable and totals never collide */
  .ticket-lines{padding-bottom:10px}.line-inline-detail{padding-left:12px!important;padding-right:12px!important}.line-detail-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}.line-detail-actions button{min-width:0;padding-inline:5px!important;font-size:10px!important}
  .ticket-footer{padding-bottom:12px}.ticket-actions button{min-height:48px}

  /* integrated views replace the app bottom face nav while active */
  body.app-view-open .mobile-face-nav{visibility:hidden}
}

@media(max-width:390px){
  .app-view--cash .cash-open-presets{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-view--payment .method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .salon-table-stage.normal,.salon-table-stage.direct-layout,.salon-table-stage.free-layout{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px 8px!important;padding-inline:10px!important}
  .salon-table--busy{grid-column:1/-1!important}
}

@media(prefers-reduced-motion:reduce){.app-view,.app-view--salon,.products.catalog-enter,.category,.mobile-face-nav button{transition:none!important;animation:none!important}}

/* ---------- Login is an app screen, not a centered modal shell ---------- */
@media(min-width:901px){
  .pos-login-screen{padding:0!important;place-items:stretch!important;background:#f4f6f8!important;overflow:hidden!important}
  .pos-login-shell{width:100vw!important;height:100dvh!important;min-height:100dvh!important;max-width:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;grid-template-columns:300px minmax(420px,1fr) 360px!important;grid-template-rows:76px minmax(0,1fr)!important}
  .pos-login-users{padding:26px 22px!important}.pos-login-keypad{padding:26px!important}.pos-login-identity{padding-inline:clamp(36px,5vw,84px)!important}
}
.pos-login-user{transition:border-color .14s ease,box-shadow .14s ease,transform .14s var(--amelia-ease),background .14s ease!important}
.pos-login-user.active{transform:translateX(2px)}
.pos-login-selected-avatar{transition:transform .18s var(--amelia-ease),box-shadow .18s ease}.pos-login-selected-avatar:has(img),.pos-login-user.active+.pos-login-selected-avatar{transform:none}
@media(max-width:900px){
  .pos-login-screen,.pos-login-shell{animation:none!important}
  .pos-login-user.active{transform:translateY(-1px)}
  .pos-login-selected-avatar{transition:transform .16s var(--amelia-ease)}
}
.view-back{font-size:20px!important;font-weight:900!important;transition:transform .14s var(--amelia-ease),background .14s ease!important}.view-back:hover{transform:translateX(-2px)}.view-back:active{transform:translateX(-3px) scale(.98)}

/* Final responsive corrections found during R1.7.0 visual review */
.pos-login-identity{background:radial-gradient(circle at 50% 42%,rgba(244,122,32,.055),transparent 29%),#fff!important}
.cash-close-layout{align-content:start;grid-auto-rows:max-content}
@media(max-width:760px){
  .cash-close-layout{align-content:start!important;grid-auto-rows:max-content!important}
  .categories{scroll-snap-type:x proximity}
  .category{min-width:max-content!important;max-width:none!important;scroll-snap-align:start}
  .category-name{max-width:none!important;overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important}
  .category small{flex:0 0 auto}
}

/* ==========================================================================
   SECTION: CATÁLOGO
   ========================================================================== */
/* AmeliaPOS R1.7.1 — dedicated catalog component layer */
.categories{scroll-behavior:smooth}
.product-card{position:relative}
.product-detail{display:block;color:#72808c;font-size:10px;line-height:1.25;font-weight:650}
.product-badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;padding:3px 7px;border-radius:999px;background:#eef3f6;color:#4b5b68;font-size:8px;line-height:1;font-weight:900;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap}
.product-card--recipe .product-badge{background:#fff4df;color:#815200}
.product-card--danger .product-badge{background:#ffebea;color:#aa3029}
.product-price{font-variant-numeric:tabular-nums}

.products.cards .product-card{grid-template-columns:64px minmax(0,1fr);grid-template-rows:minmax(74px,auto) auto;gap:8px 11px;min-height:154px;padding:11px}
.products.cards .product-media{width:64px;height:64px;align-self:start;border-radius:12px;background:#f4f7f9}
.products.cards .product-copy{align-content:start;gap:4px;padding-top:1px}
.products.cards .product-copy strong{font-size:14px;line-height:1.16;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.products.cards .product-detail{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.products.cards .product-badge{grid-column:1;align-self:end}
.products.cards .product-price{grid-column:2;text-align:right;align-self:end;font-size:19px;color:var(--accent)}

.products.list .product-card{grid-template-columns:54px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:11px;row-gap:4px;min-height:72px;padding:8px 10px}
.products.list .product-media{grid-row:1 / 3;width:54px;height:54px;border-radius:10px}
.products.list .product-copy{grid-column:2;grid-row:1;align-self:end;gap:2px}
.products.list .product-copy strong{font-size:14px;line-height:1.18;white-space:normal}
.products.list .product-detail{font-size:9px}
.products.list .product-badge{grid-column:2;grid-row:2;align-self:start}
.products.list .product-price{grid-column:3;grid-row:1 / 3;align-self:center;font-size:18px;color:var(--accent);white-space:nowrap}

@media(max-width:767px){
  /* The category rail itself owns every category button. categoryList must not become a nested non-scrollable column. */
  .categories{display:flex!important;align-items:center;gap:8px!important;height:72px!important;padding:7px 10px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;overscroll-behavior-x:contain;touch-action:pan-x;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .categories::-webkit-scrollbar{display:none}
  #categoryList{display:contents}
  .category{flex:0 0 auto!important;display:grid!important;grid-template-columns:38px auto auto!important;gap:7px!important;align-items:center;min-width:132px!important;max-width:190px!important;height:56px!important;min-height:56px!important;margin:0!important;padding:6px 9px!important;border:1px solid #d9e1e7!important;border-radius:12px!important;background:#fff!important;scroll-snap-align:start;box-shadow:0 2px 8px rgba(20,31,43,.035)}
  .category img{width:38px!important;height:38px!important;border-radius:10px!important;object-fit:cover!important;box-shadow:0 1px 4px rgba(20,31,43,.08)}
  .category-name{max-width:88px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:12px!important;color:#273540}
  .category small{margin:0!important;font-size:9px!important;color:#87939e!important}
  .category.active{background:var(--dark2)!important;border-color:var(--dark2)!important;box-shadow:0 5px 14px rgba(17,24,32,.18),inset 3px 0 0 #f08a24!important;transform:none!important}
  .category.active .category-name{color:#fff!important}.category.active small{color:#c2cbd3!important}.category.active img{border-color:rgba(255,255,255,.4)!important;transform:scale(1.03)}
  .catalog{padding-top:72px!important}

  .catalog-toolbar{padding:8px 9px!important;gap:7px!important;background:#fff}
  .products{padding:8px 9px calc(12px + env(safe-area-inset-bottom))!important}
  .products.cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:auto!important;gap:9px!important}
  .products.cards .product-card{display:grid!important;grid-template-columns:52px minmax(0,1fr)!important;grid-template-rows:minmax(82px,auto) auto!important;min-height:154px!important;padding:9px!important;gap:7px 8px!important;border-radius:12px!important}
  .products.cards .product-media{width:52px!important;height:52px!important;border-radius:10px!important}
  .products.cards .product-copy{padding-top:0!important;gap:3px!important}
  .products.cards .product-copy .code{font-size:8px!important;line-height:1.15;color:#8b98a3}
  .products.cards .product-copy strong{font-size:12px!important;line-height:1.15!important;-webkit-line-clamp:3}
  .products.cards .product-detail{font-size:8px!important;-webkit-line-clamp:2}
  .products.cards .product-badge{font-size:7px;padding:3px 5px}
  .products.cards .product-price{font-size:17px!important;text-align:right!important}

  .products.list .product-card{grid-template-columns:50px minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;min-height:78px!important;height:auto!important;padding:8px 9px!important;gap:4px 9px!important;border-radius:0!important}
  .products.list .product-media{width:50px!important;height:50px!important;border-radius:10px!important}
  .products.list .product-copy strong{font-size:13px!important;line-height:1.18!important}
  .products.list .product-detail{font-size:8px!important}
  .products.list .product-badge{font-size:7px;padding:3px 5px}
  .products.list .product-price{font-size:17px!important}
}

@media(max-width:370px){
  .category{min-width:122px!important;max-width:165px!important;grid-template-columns:34px auto auto!important}
  .category img{width:34px!important;height:34px!important}
  .category-name{max-width:76px!important}
  .products.cards .product-card{grid-template-columns:46px minmax(0,1fr)!important;min-height:150px!important}
  .products.cards .product-media{width:46px!important;height:46px!important}
}

@media(prefers-reduced-motion:reduce){.categories{scroll-behavior:auto}.category,.category img,.product-card{transition:none!important}}

/* RC2.1 Suite polish: stable product-card geometry */
.products.cards .product-card{grid-template-rows:minmax(88px,1fr) 28px!important;align-content:stretch!important;overflow:hidden!important}.products.cards .product-copy{min-height:0!important;align-content:start!important}.products.cards .product-copy strong{min-height:32px!important;max-height:34px!important;-webkit-line-clamp:2!important}.products.cards .product-detail{min-height:20px!important;max-height:24px!important;line-height:1.15!important}.products.cards .product-badge{align-self:center!important;justify-self:start!important;white-space:nowrap!important}.products.cards .product-price{align-self:center!important;justify-self:end!important;white-space:nowrap!important;line-height:1!important}.products.cards .product-media{align-self:start!important}@media(max-width:767px){.products.cards .product-card{min-height:158px!important;grid-template-rows:minmax(92px,1fr) 28px!important}.products.cards .product-copy strong{font-size:12px!important;min-height:28px!important;max-height:30px!important}.products.cards .product-detail{font-size:8px!important;max-height:20px!important}.products.cards .product-price{font-size:17px!important}}

/* ==========================================================================
   SECTION: ESCENAS LOGIN
   ========================================================================== */
/* R1.7.3 — login contextual responsivo con escenas limpias y livianas. */
.pos-login-screen{
  --login-scene-desktop:url('assets/login/restaurant-desktop.webp');
  --login-scene-mobile:url('assets/login/restaurant-mobile.webp');
  position:fixed;isolation:isolate;background:#0b1621!important;color:#eef4f8;
}
.pos-login-screen[data-scene="restaurant"]{
  --login-scene-desktop:url('assets/login/restaurant-desktop.webp');
  --login-scene-mobile:url('assets/login/restaurant-mobile.webp');
}
.pos-login-screen[data-scene="retail-warehouse"]{
  --login-scene-desktop:url('assets/login/retail-desktop.webp');
  --login-scene-mobile:url('assets/login/retail-mobile.webp');
}
.pos-login-screen::before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--login-scene-desktop);background-size:cover;background-position:center;filter:saturate(.86) contrast(1.02);transform:scale(1.01);transition:opacity .22s ease,transform .38s ease}
.pos-login-screen::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,15,25,.88),rgba(8,22,35,.68) 48%,rgba(5,14,24,.84)),linear-gradient(180deg,rgba(4,12,20,.26),rgba(4,12,20,.72));pointer-events:none}
.pos-login-shell{background:transparent!important;border:0!important;box-shadow:none!important;color:#f4f8fb}
.pos-login-header{background:rgba(9,23,36,.86)!important;backdrop-filter:blur(16px) saturate(1.1);border-bottom:1px solid rgba(255,255,255,.11)!important}
.pos-login-context{display:flex;align-items:center;gap:18px}.pos-login-scene{display:flex;align-items:center;gap:7px;border-right:1px solid rgba(255,255,255,.13);padding-right:18px;color:#d8e4ed;font-size:11px;font-weight:850}.pos-login-scene-icon{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:rgba(244,122,32,.16);border:1px solid rgba(244,122,32,.42);color:#ff9b3f}
.pos-login-users,.pos-login-keypad,.pos-login-identity{background:rgba(12,29,44,.76)!important;backdrop-filter:blur(18px) saturate(1.08);border-color:rgba(255,255,255,.10)!important}
.pos-login-identity{background:linear-gradient(180deg,rgba(12,30,46,.76),rgba(7,22,35,.80))!important}
.pos-login-section-title>span,.pos-login-pin-label,.pos-login-selected-copy h1{color:#f7fafc!important}.pos-login-section-title>small,.pos-login-selected-copy p,.pos-login-security,.pos-login-status{color:#adbac5!important}.pos-login-selected-copy>span{color:#ff9c42!important}
.pos-login-user{background:rgba(20,40,57,.82)!important;border-color:rgba(255,255,255,.14)!important;color:#f7fafc!important}.pos-login-user-copy strong{color:#fff!important}.pos-login-user-copy small{color:#aebbc5!important}.pos-login-user.active{background:linear-gradient(135deg,rgba(244,122,32,.23),rgba(18,38,55,.94))!important;border-color:#ff8a2d!important;box-shadow:0 0 0 2px rgba(255,138,45,.14),0 14px 34px rgba(0,0,0,.20)!important}.pos-login-user.active .pos-login-user-copy small{color:#ffc17d!important}
.pos-login-user-avatar,.pos-login-selected-avatar{background:linear-gradient(145deg,#1b3143,#102536)!important;border:1px solid rgba(255,145,50,.52);color:#fff!important}.pos-login-selected-avatar{box-shadow:0 20px 44px rgba(0,0,0,.28)!important}
.pos-login-pin-wrap{background:rgba(8,25,39,.84)!important;border-color:rgba(255,255,255,.20)!important}.pos-login-pin-wrap:focus-within{border-color:#ff8c31!important;box-shadow:0 0 0 3px rgba(255,140,49,.15)!important}.pos-login-pin-wrap input{color:#fff!important}.pos-login-pin-wrap span{color:#a5b4c0!important;border-left-color:rgba(255,255,255,.12)!important}.pos-login-remember{color:#d5dee5!important}
.pos-login-key-grid button{background:linear-gradient(180deg,rgba(28,50,68,.93),rgba(19,38,54,.93))!important;border-color:rgba(255,255,255,.14)!important;color:#fff!important;box-shadow:0 5px 14px rgba(0,0,0,.15)!important}.pos-login-key-grid button:hover{border-color:rgba(255,154,66,.62)!important;background:rgba(38,60,78,.97)!important}.pos-login-key-grid .clear,.pos-login-key-grid .backspace{background:rgba(74,35,31,.88)!important;color:#ff877b!important}
.pos-login-submit{color:#fff!important;background:linear-gradient(135deg,#ff982f,#ef6f18)!important;box-shadow:0 14px 32px rgba(239,111,24,.28)!important}.pos-login-submit:not(:disabled):hover{filter:brightness(1.04)}
@media(min-width:901px){
  .pos-login-shell{grid-template-columns:minmax(250px,300px) minmax(420px,1fr) minmax(310px,360px)!important}
  .pos-login-users,.pos-login-keypad{align-self:stretch}.pos-login-identity{justify-content:center!important}
}
@media(max-width:900px){
  .pos-login-screen::before{background-image:var(--login-scene-mobile);background-position:center;filter:saturate(.80) brightness(.80)}
  .pos-login-screen::after{background:linear-gradient(180deg,rgba(5,16,27,.74),rgba(5,16,27,.88))}
  .pos-login-shell{background:rgba(5,16,26,.24)!important}.pos-login-header{background:rgba(8,22,35,.94)!important}.pos-login-context{gap:8px}.pos-login-scene{display:none}
  .pos-login-users{background:rgba(10,27,42,.90)!important}.pos-login-identity{background:rgba(8,24,38,.90)!important}.pos-login-keypad{background:rgba(10,27,42,.92)!important}
}
@media(prefers-reduced-motion:reduce){.pos-login-screen::before{transition:none}}

/* R1.7.3 — GPOS-inspired randomized warm scene + randomized color veil */
.pos-login-screen::before,.pos-login-screen::after{display:none!important}
.pos-login-scene-bg,.pos-login-tint{position:absolute;inset:0;pointer-events:none}
.pos-login-scene-bg{z-index:-2;background-image:var(--scene-desktop);background-size:cover;background-position:center center;filter:saturate(1.04) contrast(1.01);transform:scale(1.008);transition:opacity .24s ease,transform .42s ease}
.pos-login-tint{z-index:-1;opacity:.62;mix-blend-mode:multiply;transition:background-color .28s ease,opacity .28s ease}
.pos-login-screen:before{content:none!important}
.pos-login-shell{position:relative;z-index:1}
.pos-login-users,.pos-login-keypad,.pos-login-identity{background:rgba(10,24,36,.72)!important;border-color:rgba(255,255,255,.12)!important;box-shadow:0 18px 42px rgba(0,0,0,.16)}
.pos-login-identity{background:linear-gradient(180deg,rgba(11,28,42,.68),rgba(8,23,36,.76))!important}
@media(max-width:900px){
 .pos-login-scene-bg{background-image:var(--scene-mobile);background-position:center center;filter:saturate(1.02) contrast(1.01)}
 .pos-login-tint{mix-blend-mode:multiply}
 .pos-login-shell{background:transparent!important}
}
@media(prefers-reduced-motion:reduce){.pos-login-scene-bg,.pos-login-tint{transition:none!important}}

/* ==========================================================================
   SECTION: CAJA / ATAJOS
   ========================================================================== */
/* R1.7.2 — Atajos de efectivo con representación visual de monedas/billetes. */
.payment-method-grid button{display:flex;align-items:center;justify-content:center;gap:9px}
.payment-method-icon{width:26px;height:22px;display:inline-grid;place-items:center;color:#4f6070}
.payment-method-grid button.active .payment-method-icon{color:#fff}
.payment-method-icon svg{width:26px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cash-shortcuts{margin:12px 0 14px;padding:12px;border:1px solid #dbe3e9;border-radius:13px;background:#f8fafb}
.cash-shortcuts.hidden{display:none!important}.cash-shortcuts-head{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:9px}.cash-shortcuts-head strong{font-size:12px;color:#293845}.cash-shortcuts-head span{font-size:10px;color:#74838f}
.cash-denominations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.cash-denomination{border:1px solid #cfdae2;background:#fff;border-radius:10px;min-height:64px;padding:7px 5px;display:grid;place-items:center;align-content:center;gap:5px;color:#24333f;transition:transform .11s ease,border-color .11s ease,box-shadow .11s ease,background .11s ease}
.cash-denomination:hover{border-color:#f08a24;box-shadow:0 4px 12px rgba(29,45,59,.08)}.cash-denomination:active{transform:scale(.97);background:#fff7ed}.cash-denomination b{font-size:11px;line-height:1}
.cash-denomination__icon{position:relative;display:grid;place-items:center;color:#677986}
.cash-denomination__icon.bill{width:32px;height:18px;border:2px solid currentColor;border-radius:3px}.cash-denomination__icon.bill::before,.cash-denomination__icon.bill::after{content:"";position:absolute;width:4px;height:4px;border:1px solid currentColor;border-radius:50%;top:5px}.cash-denomination__icon.bill::before{left:3px}.cash-denomination__icon.bill::after{right:3px}.cash-denomination__icon.bill i{font-size:9px;font-style:normal;font-weight:950}
.cash-denomination__icon.coin{width:22px;height:22px;border:2px solid #b58a28;border-radius:50%;color:#9b731f;background:#fff8dc;box-shadow:inset 0 0 0 2px rgba(181,138,40,.1)}.cash-denomination__icon.coin i{font-size:10px;font-style:normal;font-weight:950}
.cash-denomination__icon.exact{width:22px;height:22px;border-radius:50%;background:#e7f6ee;color:#16885e;font-size:13px;font-weight:950}.cash-denomination--exact{background:#f5fbf8;border-color:#bbdccd}
@media(max-width:767px){.cash-shortcuts{padding:10px;margin:10px 0 12px}.cash-shortcuts-head span{display:none}.cash-denominations{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.cash-denomination{min-height:58px;padding:6px 3px}.cash-denomination b{font-size:10px}}
@media(max-width:390px){.cash-denominations{grid-template-columns:repeat(4,minmax(0,1fr))}.cash-denomination{min-height:54px}.cash-denomination__icon.bill{width:28px;height:16px}}
@media(prefers-reduced-motion:reduce){.cash-denomination{transition:none}}

/* ==========================================================================
   SECTION: REFINAMIENTO VISUAL A
   ========================================================================== */
/* AmeliaPOS R1.7.4 — logic + visual hardening. Scope: login, apertura de caja y cobro. */
:root{
  --r174-navy:#102235;
  --r174-navy-2:#173149;
  --r174-orange:#f47a20;
  --r174-orange-soft:#fff0e3;
  --r174-blue-soft:#eef6ff;
  --r174-warm:#fffaf6;
  --r174-ink:#142131;
  --r174-muted:#6b7b89;
  --r174-line:#d7e1e9;
  --r174-green:#1c8d63;
}

/* LOGIN — warm photographic scene + GPOS-style color veil, without hiding the image */
.pos-login-screen{background:#111820!important;place-items:stretch!important;padding:0!important;overflow:hidden!important}
.pos-login-scene-bg{background-size:cover!important;background-position:center center!important;filter:saturate(1.06) contrast(1.02) brightness(.98)!important;transform:scale(1.01)!important}
.pos-login-tint{mix-blend-mode:normal!important}
.pos-login-screen:after{content:""!important;display:block!important;position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(8,16,24,.50) 0%,rgba(8,16,24,.22) 36%,rgba(8,16,24,.18) 66%,rgba(8,16,24,.52) 100%),linear-gradient(180deg,rgba(10,16,23,.08),rgba(10,16,23,.30))!important}
.pos-login-shell{width:100vw!important;height:100dvh!important;min-height:100dvh!important;max-width:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;grid-template-columns:minmax(250px,300px) minmax(440px,1fr) minmax(300px,350px)!important;grid-template-rows:72px minmax(0,1fr)!important;gap:0!important}
.pos-login-header{height:72px!important;padding:0 26px!important;background:rgba(7,18,29,.74)!important;border-bottom:1px solid rgba(255,255,255,.13)!important;backdrop-filter:blur(14px) saturate(1.12)}
.pos-login-brand{justify-items:start!important}.pos-login-brand strong{line-height:1!important}.pos-login-context{align-items:center!important}
.pos-login-users,.pos-login-identity,.pos-login-keypad{align-self:center!important;height:auto!important;min-height:0!important;margin:clamp(24px,4vh,52px) 16px!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:20px!important;background:rgba(9,24,37,.70)!important;backdrop-filter:blur(18px) saturate(1.08)!important;box-shadow:0 22px 55px rgba(0,0,0,.22)!important}
.pos-login-users{margin-left:24px!important;padding:20px!important;max-height:calc(100dvh - 120px);overflow:auto!important}
.pos-login-identity{margin-inline:18px!important;padding:clamp(26px,4vw,54px)!important;justify-content:center!important;background:rgba(8,23,36,.62)!important}
.pos-login-keypad{margin-right:24px!important;padding:22px!important}
.pos-login-user{min-height:68px!important;grid-template-columns:52px minmax(0,1fr)!important;align-items:center!important;padding:8px!important;border-radius:14px!important}
.pos-login-user-copy{align-content:center!important;gap:3px!important}.pos-login-user-copy strong,.pos-login-user-copy small{line-height:1.15!important}
.pos-login-selected-avatar{width:122px!important;height:122px!important;border-radius:32px!important;margin:0 auto!important}
.pos-login-selected-copy{margin:16px 0 24px!important}.pos-login-selected-copy h1{line-height:1.1!important}
.pos-login-pin-wrap{height:58px!important;align-items:center!important}.pos-login-pin-wrap input{line-height:58px!important;padding-block:0!important}
.pos-login-key-grid{gap:9px!important}.pos-login-key-grid button{height:62px!important;display:grid!important;place-items:center!important;line-height:1!important}
.pos-login-submit{display:flex!important;align-items:center!important;justify-content:center!important;line-height:1!important}
@media(max-width:900px){
  .pos-login-screen{overflow-y:auto!important}
  .pos-login-scene-bg{background-image:var(--scene-mobile)!important;background-position:center center!important;filter:saturate(1.04) contrast(1.01) brightness(.92)!important}
  .pos-login-tint{opacity:.54!important}
  .pos-login-screen:after{background:linear-gradient(180deg,rgba(6,15,24,.35),rgba(6,15,24,.62))!important}
  .pos-login-shell{height:auto!important;min-height:100dvh!important;grid-template-columns:1fr!important;grid-template-rows:58px auto auto auto!important}
  .pos-login-header{height:58px!important;padding:0 14px!important}
  .pos-login-users,.pos-login-identity,.pos-login-keypad{width:auto!important;max-width:none!important;margin:10px 12px 0!important;border-radius:16px!important;background:rgba(8,23,36,.82)!important}
  .pos-login-users{padding:12px!important;overflow:hidden!important}
  .pos-login-user-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .pos-login-user{min-height:80px!important;grid-template-columns:1fr!important;display:flex!important;align-items:center!important;justify-content:center!important}
  .pos-login-identity{display:grid!important;grid-template-columns:56px minmax(0,1fr)!important;grid-template-rows:auto auto auto auto!important;padding:14px!important}
  .pos-login-selected-avatar{width:56px!important;height:56px!important;border-radius:16px!important;margin:0!important}
  .pos-login-keypad{margin-bottom:calc(12px + env(safe-area-inset-bottom))!important;padding:12px!important}
  .pos-login-key-grid button{height:50px!important}
}

/* OPEN CASH — RC16 · continuidad visual con login + confirmación gobernada en $0 */
.app-view--cash{background:#07131e!important}
.cash-start-view{position:relative;width:100%;height:100dvh;display:grid;grid-template-rows:78px minmax(0,1fr);overflow:hidden;background:#07131e;color:#f6f8fa;isolation:isolate}
.cash-start-view::before{content:"";position:absolute;inset:0;z-index:-2;background-image:url('assets/login/random/restaurant-bar-desktop.webp');background-size:cover;background-position:center;filter:saturate(.84) brightness(.48)}
#cashOverlay[data-scene="supermarket"] .cash-start-view::before{background-image:url('assets/login/random/supermarket-desktop.webp')}
#cashOverlay[data-scene="warehouse"] .cash-start-view::before{background-image:url('assets/login/random/warehouse-desktop.webp')}
#cashOverlay[data-scene="bakery-cafe"] .cash-start-view::before{background-image:url('assets/login/random/bakery-cafe-desktop.webp')}
.cash-start-view::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,15,25,.78),rgba(4,15,25,.52) 54%,rgba(4,15,25,.62)),linear-gradient(180deg,rgba(4,15,25,.18),rgba(4,15,25,.48));pointer-events:none}
.cash-start-topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:0 clamp(28px,4vw,68px);background:rgba(3,14,24,.91);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(14px);color:#fff}
.cash-start-brand{grid-column:2;display:grid;justify-items:center;gap:1px}.cash-start-brand .amelia-logo-shell{width:210px;height:48px;background:transparent!important;border:0!important;box-shadow:none!important}.cash-start-brand .amelia-logo-shell img{max-width:100%;max-height:100%;object-fit:contain}.cash-start-brand small{font-size:9px;font-weight:900;letter-spacing:.19em;text-transform:uppercase;color:#dbe3e9}
.cash-start-context{grid-column:3;justify-self:end;display:grid;text-align:right;gap:2px}.cash-start-context span{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#a8b6c1}.cash-start-context b{font-size:13px;color:#fff}
.cash-start-stage{display:grid;place-items:center;padding:clamp(18px,3.2vw,42px);overflow:auto}
.cash-start-card{width:min(930px,100%);display:grid;grid-template-columns:1fr;gap:16px;padding:clamp(22px,2.4vw,32px);border:1px solid rgba(255,255,255,.16);border-radius:24px;background:linear-gradient(145deg,rgba(11,25,37,.82),rgba(8,20,31,.72));box-shadow:0 30px 80px rgba(0,0,0,.30);backdrop-filter:blur(15px);color:#fff}
.cash-start-heading{display:flex;align-items:center;gap:17px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.13)}.cash-start-heading h2{margin:2px 0 5px;font-size:clamp(34px,3vw,46px);line-height:1;letter-spacing:-.045em;color:#fff}.cash-start-heading p{margin:0;color:#c6d0d8;font-size:13px}.cash-start-heading .view-eyebrow{color:#ff8424!important}.cash-start-icon{width:58px;height:58px;flex:0 0 58px;border-radius:18px;display:grid;place-items:center;background:rgba(244,122,32,.15);border:1px solid rgba(244,122,32,.55);color:#ff8b2b;font-size:25px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.cash-start-operator{display:grid;gap:4px;padding:11px 14px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(8,27,41,.55)}.cash-start-operator span{font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#8fa4b4}.cash-start-operator strong{font-size:15px;color:#fff}
.cash-start-amount{display:grid;gap:8px!important;margin:0!important}.cash-start-amount>span{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#d6dee4}.cash-start-money{height:82px;display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;border:2px solid #f47a20;border-radius:16px;background:rgba(3,15,25,.70);overflow:hidden;transition:box-shadow .14s ease,background .14s ease}.cash-start-money:focus-within{background:rgba(3,15,25,.84);box-shadow:0 0 0 4px rgba(244,122,32,.12)}.cash-start-money i{font-style:normal;text-align:center;color:#8494a0;font-size:27px;font-weight:900}.cash-start-money input{width:100%;height:100%;min-width:0;border:0;outline:0;background:transparent;text-align:right;padding:0 20px 0 8px;font-size:40px;font-weight:950;color:#fff;letter-spacing:-.04em}.cash-start-amount>small{justify-self:end;color:#9faeba;font-size:12px;font-weight:850}
.cash-start-shortcuts{border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(7,24,37,.52);padding:14px}.cash-start-shortcuts header{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.cash-start-shortcuts header strong{font-size:12px;color:#fff}.cash-start-shortcuts header span{font-size:10px;color:#f39a57;font-weight:850}.cash-start-shortcuts>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.cash-start-shortcuts button{position:relative;min-height:68px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(13,39,58,.65);color:#fff;display:flex;align-items:center;justify-content:center;gap:9px;font-size:14px;font-weight:900;transition:transform .12s ease,border-color .12s ease,background .12s ease;touch-action:manipulation}.cash-start-shortcuts button:hover{border-color:rgba(244,122,32,.72);background:rgba(18,47,69,.78)}.cash-start-shortcuts button:active{transform:scale(.982);background:rgba(244,122,32,.14)}.cash-mini-bill{width:32px;height:21px;border:2px solid #ff8125;border-radius:4px;display:grid;place-items:center;font-style:normal;font-size:9px;color:#ff8a2d}
.cash-start-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid rgba(244,122,32,.20);border-radius:13px;background:rgba(244,122,32,.10);color:#d9c0aa}.cash-start-note-icon{width:22px;height:22px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:rgba(244,122,32,.18);color:#ff8b2d;font-weight:950}.cash-start-note p{margin:1px 0 0;font-size:11px;line-height:1.45}
.cash-start-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:3px}.cash-start-actions button{min-height:52px;border-radius:12px;padding:0 24px;font-size:14px;font-weight:900}.cash-start-actions .ghost{background:rgba(255,255,255,.06);color:#e9eef2;border:1px solid rgba(255,255,255,.15)}.cash-start-actions .primary{min-width:210px;background:#f46b0b!important;color:#fff;border:1px solid #ff7e20!important;box-shadow:0 12px 28px rgba(244,107,11,.18)!important}.cash-start-actions .primary:hover{background:#ff7817!important}.cash-start-actions .primary span{margin-left:12px}

/* Confirmación en $0: modal verdadero, centrado en viewport, sin panel lateral */
.cash-zero-confirm-overlay{z-index:390!important;background:rgba(2,9,15,.74)!important;backdrop-filter:blur(8px)!important;padding:20px!important;place-items:center!important}
.cash-zero-confirm-dialog{width:min(520px,calc(100vw - 32px));display:grid;justify-items:center;text-align:center;gap:11px;padding:32px 30px 24px;border:1px solid rgba(255,255,255,.18);border-radius:22px;background:linear-gradient(145deg,rgba(15,29,42,.98),rgba(8,20,31,.98));box-shadow:0 30px 90px rgba(0,0,0,.48);color:#fff}.cash-zero-confirm-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(244,153,48,.55);background:rgba(244,153,48,.08);color:#f4a13d;font-size:40px;font-weight:500;line-height:1}.cash-zero-confirm-dialog .view-eyebrow{margin-top:3px;color:#ff8424!important}.cash-zero-confirm-dialog h2{margin:0;font-size:29px;letter-spacing:-.035em;color:#fff}.cash-zero-confirm-dialog h2 b{color:#ff7817}.cash-zero-confirm-dialog p{max-width:430px;margin:0;color:#c4ced6;font-size:13px;line-height:1.55}.cash-zero-confirm-actions{width:100%;display:grid;grid-template-columns:1fr 1.15fr;gap:10px;margin-top:12px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}.cash-zero-confirm-actions button{min-height:54px;border-radius:12px;font-size:14px;font-weight:900}.cash-zero-confirm-actions .ghost{border:1px solid rgba(255,255,255,.19);background:rgba(255,255,255,.06);color:#fff}.cash-zero-confirm-actions .primary{border:1px solid #ff8424;background:#f46b0b!important;color:#fff!important}.cash-zero-confirm-actions button:disabled{opacity:.55;cursor:wait}.cash-zero-confirm-audit{margin-top:3px;color:#92a3af;font-size:10px;line-height:1.4}

@media(max-height:820px) and (min-width:701px){
 .cash-start-view{grid-template-rows:68px minmax(0,1fr)}.cash-start-stage{padding:16px 30px}.cash-start-card{width:min(900px,100%);gap:11px;padding:18px 24px;border-radius:20px}.cash-start-heading{padding-bottom:12px}.cash-start-heading h2{font-size:34px}.cash-start-icon{width:50px;height:50px;flex-basis:50px}.cash-start-money{height:66px}.cash-start-money input{font-size:34px}.cash-start-shortcuts{padding:10px}.cash-start-shortcuts>div{gap:8px}.cash-start-shortcuts button{min-height:54px}.cash-start-note{padding:9px 12px}.cash-start-actions button{min-height:46px}.cash-start-topbar{padding-inline:36px}.cash-start-brand .amelia-logo-shell{width:185px;height:42px}
}
@media(max-width:700px){
 .cash-start-view{grid-template-rows:62px minmax(0,1fr)}.cash-start-view::before{background-image:url('assets/login/random/restaurant-bar-mobile.webp');background-position:center}.cash-start-topbar{grid-template-columns:1fr auto;padding:0 13px}.cash-start-brand{grid-column:1;justify-self:start}.cash-start-brand .amelia-logo-shell{width:154px;height:39px}.cash-start-brand small{display:none}.cash-start-context{grid-column:2}.cash-start-stage{place-items:start stretch;padding:10px;overflow:auto}.cash-start-card{width:100%;padding:15px;border-radius:17px;gap:13px}.cash-start-heading{gap:11px;padding-bottom:13px}.cash-start-heading h2{font-size:29px}.cash-start-heading p{font-size:11px}.cash-start-icon{width:46px;height:46px;flex-basis:46px;border-radius:14px}.cash-start-money{height:68px}.cash-start-money input{font-size:32px}.cash-start-shortcuts>div{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-start-shortcuts button{min-height:58px}.cash-start-shortcuts header span{display:none}.cash-start-actions{display:grid;grid-template-columns:.8fr 1.2fr}.cash-start-actions button{width:100%;padding-inline:10px}.cash-start-actions .primary{min-width:0}.cash-zero-confirm-dialog{padding:26px 18px 20px;border-radius:18px}.cash-zero-confirm-actions{grid-template-columns:1fr}.cash-zero-confirm-actions .primary{grid-row:1}.cash-zero-confirm-actions .ghost{grid-row:2}
 #cashOverlay[data-scene="supermarket"] .cash-start-view::before{background-image:url('assets/login/random/supermarket-mobile.webp')}#cashOverlay[data-scene="warehouse"] .cash-start-view::before{background-image:url('assets/login/random/warehouse-mobile.webp')}#cashOverlay[data-scene="bakery-cafe"] .cash-start-view::before{background-image:url('assets/login/random/bakery-cafe-mobile.webp')}
}

/* PAYMENT — warm/blue Amelia workspace, clearer semantics */
.app-view--payment{background:linear-gradient(125deg,#fff9f4 0%,#f5f9fd 48%,#eef6ff 100%)!important}
.payment-workspace{width:100%;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}
.payment-topbar{display:flex;align-items:center;gap:14px;padding:16px clamp(18px,3vw,38px);background:rgba(255,255,255,.88);border-bottom:1px solid rgba(25,54,78,.10);backdrop-filter:blur(12px)}.payment-topbar h2{margin:0 0 3px;font-size:31px;letter-spacing:-.04em;color:var(--r174-navy)}.payment-topbar p{margin:0;color:var(--r174-muted);font-size:12px}.payment-back{width:42px;height:42px;border:1px solid #d7e2ea;border-radius:13px;background:#f5f9fc;color:var(--r174-navy);font-size:20px;font-weight:900}
.payment-stage{width:min(1220px,100%);margin:0 auto;padding:clamp(16px,2.5vw,30px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:22px;overflow:auto;align-items:start}
.payment-entry-panel,.payment-ledger{border:1px solid rgba(20,52,77,.11);border-radius:22px;background:rgba(255,255,255,.88);box-shadow:0 18px 50px rgba(43,70,94,.09);backdrop-filter:blur(8px)}
.payment-entry-panel{padding:20px}.payment-ledger{padding:20px;min-height:500px;display:flex;flex-direction:column}.payment-ledger>header{display:flex;align-items:start;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid #e9eef3}.payment-ledger h3{margin:1px 0 0;font-size:22px;color:var(--r174-navy)}
.payment-step{display:flex;align-items:center;gap:10px;margin:0 0 12px}.payment-step>span{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:#fff0e5;color:var(--r174-orange);font-weight:950}.payment-step>div{display:grid;gap:1px}.payment-step strong{font-size:12px;color:var(--r174-navy)}.payment-step small{font-size:10px;color:#7e8c98}.payment-step--amount{margin-top:18px}
.payment-method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.payment-method-grid button{min-height:68px!important;border:1px solid #d8e3eb!important;border-radius:14px!important;background:#f9fbfd!important;color:#263b4d!important;display:flex!important;flex-direction:column;align-items:center!important;justify-content:center!important;gap:5px!important;font-size:12px!important;font-weight:900!important;box-shadow:none!important}.payment-method-grid button.active{background:linear-gradient(145deg,#173149,#102235)!important;border-color:#173149!important;color:#fff!important;box-shadow:0 8px 20px rgba(16,34,53,.15)!important}.payment-method-grid button.active .payment-method-icon{color:#ff9a49!important}.payment-method-icon{height:22px!important}
.payment-money-field{display:grid!important;gap:6px!important;margin:10px 0!important}.payment-money-field>span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#5e7080}.payment-money-input{height:66px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;border:1.5px solid #cad9e4;border-radius:14px;background:#fff;overflow:hidden}.payment-money-input:focus-within{border-color:var(--r174-orange);box-shadow:0 0 0 4px rgba(244,122,32,.10)}.payment-money-input i{font-style:normal;text-align:center;color:#708291;font-weight:900}.payment-money-input input{width:100%;height:100%;min-width:0;border:0;outline:0;background:transparent;text-align:right;padding:0 15px;font-size:29px;font-weight:950;color:var(--r174-navy);letter-spacing:-.03em}.payment-money-input input[readonly]{background:#f7fafc;color:#31495d;cursor:default}
.cash-change-preview{margin:8px 0 0!important;border-radius:12px!important;padding:10px 12px!important;display:flex!important;align-items:center;justify-content:space-between!important}.cash-change-preview.hidden{display:none!important}.cash-change-preview.is-change{background:#eaf8f1!important;color:#176845!important}.cash-change-preview.is-exact{background:#eef6ff!important;color:#245e96!important}.cash-change-preview.is-short{background:#fff2e8!important;color:#9b541d!important}
.cash-shortcuts{margin-top:13px!important;background:linear-gradient(180deg,#fbfdff,#f5f9fd)!important;border-color:#d7e3ec!important;border-radius:16px!important}.cash-denominations{grid-template-columns:repeat(5,minmax(0,1fr))!important}.cash-denomination{min-height:61px!important;background:#fff!important}.cash-denomination:disabled{opacity:.38;filter:grayscale(.45);cursor:not-allowed!important}.cash-denomination--clear{border-style:dashed!important}.cash-denomination__icon.clear{font-size:17px;color:#b7453c}
.payment-register-btn{min-height:52px;margin-top:14px;border-radius:13px!important;background:linear-gradient(135deg,#f88a27,#f36d18)!important;color:#fff!important;box-shadow:0 10px 24px rgba(244,122,32,.16)}.payment-register-btn:disabled{background:#dce5eb!important;color:#83929e!important;box-shadow:none!important}
.payment-list{display:grid;gap:0}.payment-row{padding:14px 0!important;border-bottom:1px solid #edf1f4!important}.payment-row span{display:grid;gap:3px}.payment-row small{font-size:10px;color:#7b8a96}.payment-ledger-bottom{margin-top:auto}.ledger-total{padding:16px 0!important;border-top:1px solid #e8eef3!important}.payment-coverage-badge{padding:6px 9px;border-radius:999px;background:#fff0e5;color:#a95d22;font-size:10px;font-weight:900}.payment-coverage-badge.complete{background:#e9f7f0;color:#176845}.payment-complete-message{display:flex;align-items:center;gap:10px;padding:12px;border-radius:13px;background:#eaf8f1;color:#176845;margin-bottom:10px}.payment-complete-message.hidden{display:none!important}.payment-complete-message>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;font-weight:950}.payment-complete-message div{display:grid;gap:2px}.payment-complete-message strong{font-size:12px}.payment-complete-message small{font-size:10px;color:#4d7b68}.payment-ledger #finishSale{min-height:54px;border-radius:13px;background:linear-gradient(135deg,#25a36f,#16875c)!important;color:#fff!important}.payment-ledger #finishSale:disabled{background:#cfe1d9!important;color:#769789!important}
@media(max-width:800px){
 .payment-workspace{grid-template-rows:auto minmax(0,1fr)}.payment-topbar{padding:calc(10px + env(safe-area-inset-top)) 12px 10px}.payment-topbar h2{font-size:25px}.payment-topbar p{font-size:10px}.payment-stage{width:100%;grid-template-columns:1fr;padding:10px 10px calc(18px + env(safe-area-inset-bottom));gap:10px;overflow-y:auto;overflow-x:hidden}.payment-entry-panel,.payment-ledger{padding:13px;border-radius:16px;box-shadow:none}.payment-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-method-grid button{min-height:54px!important;flex-direction:row!important}.payment-money-input{height:58px}.payment-money-input input{font-size:25px}.cash-denominations{grid-template-columns:repeat(3,minmax(0,1fr))!important}.payment-ledger{min-height:300px}.payment-ledger #finishSale{position:static!important;box-shadow:none!important}
}
@media(max-width:390px){.cash-denominations{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

@media(prefers-reduced-motion:reduce){.cash-start-shortcuts button,.payment-method-grid button{transition:none!important}}

/* ==========================================================================
   SECTION: REFINAMIENTO VISUAL B
   ========================================================================== */
/* AmeliaPOS R1.7.5 — login, asignación de mesero, mesas y gestión de caja */
:root{--r175-navy:#0f1c29;--r175-panel:rgba(12,28,42,.86);--r175-panel-soft:rgba(17,37,54,.82);--r175-line:rgba(255,255,255,.12);--r175-orange:#f57a1f;--r175-orange-2:#ff9b39;--r175-green:#1d9a63;--r175-red:#df2525;--r175-ink:#132335;--r175-muted:#738392}

/* LOGIN: una sola composición centrada e integrada, no tres tarjetas flotantes */
@media(min-width:901px){
 .pos-login-screen{display:grid!important;place-items:center!important;padding:22px!important;overflow:hidden!important}
 .pos-login-shell{width:min(1320px,calc(100vw - 44px))!important;height:min(760px,calc(100dvh - 44px))!important;min-height:620px!important;grid-template-columns:300px minmax(430px,1fr) 330px!important;grid-template-rows:72px minmax(0,1fr)!important;background:rgba(7,19,30,.74)!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:24px!important;overflow:hidden!important;box-shadow:0 30px 90px rgba(0,0,0,.36)!important;backdrop-filter:blur(16px) saturate(1.06)!important}
 .pos-login-header{grid-column:1/-1!important;height:72px!important;background:rgba(8,21,33,.84)!important;padding:0 22px!important}
 .pos-login-users,.pos-login-identity,.pos-login-keypad{margin:0!important;border-radius:0!important;border-top:0!important;border-bottom:0!important;box-shadow:none!important;align-self:stretch!important;height:100%!important;min-height:0!important}
 .pos-login-users{padding:22px 18px!important;background:rgba(10,28,42,.83)!important;border-left:0!important;border-right:1px solid var(--r175-line)!important;overflow:auto!important}
 .pos-login-identity{padding:26px clamp(28px,4vw,58px)!important;background:linear-gradient(180deg,rgba(9,25,38,.69),rgba(8,22,35,.78))!important;display:flex!important;justify-content:center!important}
 .pos-login-keypad{padding:22px!important;background:rgba(10,28,42,.84)!important;border-left:1px solid var(--r175-line)!important;border-right:0!important}
 .pos-login-selected-avatar{width:118px!important;height:118px!important;border-radius:30px!important}
 .pos-login-selected-copy{margin:14px 0 22px!important}.pos-login-selected-copy h1{font-size:27px!important}
 .pos-login-pin-wrap{height:58px!important}.pos-login-key-grid button{height:64px!important}
 .pos-login-user{min-height:72px!important}.pos-login-user-avatar{width:52px!important;height:52px!important}
}

/* Apertura: botones acumulativos con feedback visual */
.cash-start-shortcuts button{position:relative;overflow:hidden}.cash-start-shortcuts button::after{content:'+';position:absolute;right:8px;top:6px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:#fff1e4;color:#d76517;font-size:11px;font-weight:950;opacity:.9}.cash-start-shortcuts button:active{background:#fff7ef!important;border-color:#f58b3d!important}.cash-start-shortcuts header span{font-weight:800;color:#ae632b!important}

/* Selector de mesero: modal breve y específico, todos con imagen */
.waiter-picker-dialog{width:min(620px,calc(100vw - 28px));padding:0;overflow:hidden;border-radius:20px;background:#f7fafc}.waiter-picker-dialog>header{padding:20px 22px 16px;background:linear-gradient(135deg,#102235,#172f44);color:#fff}.waiter-picker-dialog>header h2{margin:3px 0 4px;font-size:27px}.waiter-picker-dialog>header p{margin:0;color:#c7d3dd;font-size:12px}.waiter-picker-list{padding:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:62dvh;overflow:auto}.waiter-picker-card{min-width:0;display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid #d8e2ea;border-radius:15px;background:#fff;padding:10px;text-align:left;color:var(--r175-ink);transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.waiter-picker-card:hover{border-color:#f39a57;box-shadow:0 8px 22px rgba(29,54,75,.10)}.waiter-picker-card:active{transform:scale(.988)}.waiter-picker-avatar{width:64px;height:64px;border-radius:14px;overflow:hidden;background:#142638;display:grid;place-items:center}.waiter-picker-avatar img{width:100%;height:100%;object-fit:cover;object-position:center top}.waiter-picker-avatar>span{width:100%;height:100%;display:grid;place-items:center;color:#fff;font-size:22px;font-weight:950}.waiter-picker-card>span:nth-child(2){display:grid;gap:3px;min-width:0}.waiter-picker-card strong{font-size:14px}.waiter-picker-card small{font-size:10px;color:#738391;font-weight:800}.waiter-picker-card em{font-style:normal;font-size:10px;font-weight:900;color:#e66f1d}
@media(max-width:620px){.waiter-picker-list{grid-template-columns:1fr}.waiter-picker-card{grid-template-columns:58px minmax(0,1fr) auto}.waiter-picker-avatar{width:58px;height:58px}}

/* Mesa ocupada: fotografía alineada y jerarquía consistente */
.salon-table--busy .salon-table__main{grid-template-columns:72px minmax(0,1fr)!important;min-height:74px!important}.salon-table--busy .salon-table__avatar{width:72px!important;height:74px!important;display:grid!important;place-items:center!important;background:#162331!important;padding:5px!important;overflow:hidden!important}.salon-table--busy .salon-table__avatar img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important;border-radius:9px!important;display:block!important}.salon-table--busy .salon-table__avatar>span{width:100%!important;height:100%!important;display:grid!important;place-items:center!important}.salon-table--busy .salon-table__body{min-height:74px!important;align-content:center!important}.salon-table-stage.free-layout .salon-table--busy{width:224px!important}.salon-table-stage.free-layout .salon-table--busy .salon-table__main{grid-template-columns:72px minmax(0,1fr)!important;height:74px!important}.salon-table-stage.free-layout .salon-table--busy .salon-table__avatar{width:72px!important;height:74px!important}
@media(max-width:767px){.salon-table--busy .salon-table__main{grid-template-columns:70px minmax(0,1fr)!important}.salon-table--busy .salon-table__avatar{width:70px!important;height:94px!important;padding:6px!important}}

/* Gestión de caja integrada */
.app-view--cash-management{background:linear-gradient(135deg,#f6f9fc 0%,#eef5fb 58%,#fff6ee 100%);color:var(--r175-ink);overflow:auto}.cash-management-shell{width:min(1260px,100%);min-height:100dvh;margin:0 auto;display:grid;grid-template-rows:auto auto minmax(0,1fr)}.cash-management-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px clamp(18px,3vw,34px);background:linear-gradient(135deg,#102235,#17334a);color:#fff}.cash-management-header h2{margin:3px 0 4px;font-size:32px;letter-spacing:-.03em}.cash-management-header p{margin:0;color:#c5d3dd;font-size:12px}.cash-management-header .view-back{width:44px;height:44px;border-radius:13px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;font-size:19px}.cash-management-tabs{display:flex;gap:6px;padding:12px clamp(14px,3vw,28px);background:rgba(255,255,255,.84);border-bottom:1px solid #dce5ec;overflow-x:auto}.cash-management-tabs button{flex:0 0 auto;border:1px solid transparent;background:transparent;border-radius:10px;padding:10px 14px;color:#506475;font-weight:900;font-size:12px}.cash-management-tabs button.active{background:#102235;color:#fff;border-color:#102235}.cash-management-content{padding:clamp(14px,2.5vw,28px);overflow:auto}.cash-tab-panel{display:none}.cash-tab-panel.active{display:block;animation:cashPanelIn .16s ease-out}@keyframes cashPanelIn{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}.cash-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cash-kpi-grid article{min-height:112px;padding:17px;border:1px solid #dce5ec;border-radius:16px;background:#fff;display:grid;align-content:center;gap:6px;box-shadow:0 9px 24px rgba(28,58,82,.06)}.cash-kpi-grid article span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7a8995;font-weight:900}.cash-kpi-grid article strong{font-size:26px;color:#102235}.cash-kpi-grid article.accent{background:linear-gradient(135deg,#102235,#193b55);border-color:#193b55}.cash-kpi-grid article.accent span{color:#a9bdcc}.cash-kpi-grid article.accent strong{color:#ff9b42}.cash-method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.cash-method-grid>div{padding:14px;border:1px solid #dce5ec;border-radius:14px;background:#fff;display:grid;gap:4px}.cash-method-grid span{font-size:10px;color:#7b8995;font-weight:850}.cash-method-grid strong{font-size:18px}.cash-movement-list{margin-top:14px;border:1px solid #dce5ec;border-radius:16px;background:#fff;padding:16px}.cash-movement-list>header{display:flex;justify-content:space-between;gap:10px;padding-bottom:11px;border-bottom:1px solid #edf1f4}.cash-movement-list header span{font-size:10px;color:#84929d}.cash-movement-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #edf1f4}.cash-movement-row:last-child{border-bottom:0}.cash-movement-row>span{display:grid;gap:2px}.cash-movement-row small{font-size:10px;color:#7c8994}.cash-movement-row.in>strong{color:#17845a}.cash-movement-row.out>strong{color:#c33c34}.cash-movement-form,.cash-count-panel,.cash-close-launch{width:min(620px,100%);margin:10px auto;padding:22px;border:1px solid #d9e4ec;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(35,63,84,.07)}.cash-movement-form h3,.cash-count-panel h3,.cash-close-launch h3{margin:0 0 5px;font-size:24px}.cash-movement-form>p,.cash-count-panel>p,.cash-close-launch>p{margin:0 0 18px;color:#70808c;font-size:12px}.cash-movement-form label,.cash-count-panel label{display:grid;gap:6px;margin:12px 0}.cash-movement-form label>span,.cash-count-panel label>span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#607281}.cash-movement-form input:not(.money-input input){height:48px;border:1px solid #cfdae3;border-radius:11px;padding:0 12px}.cash-movement-form button,.cash-close-launch button{width:100%;min-height:50px;border-radius:12px;margin-top:8px}.cash-count-result{display:grid;gap:8px;margin-top:14px}.cash-count-result>div{display:flex;justify-content:space-between;gap:12px;padding:12px;border-radius:11px;background:#f5f8fa}.cash-count-result>div.ok{background:#ebf8f1;color:#176c4d}.cash-count-result>div.bad{background:#fff0ef;color:#a9312b}.cash-count-result>div.warn{background:#fff5e9;color:#a76025}.cash-history-list{display:grid;gap:9px}.cash-history-card{display:grid;grid-template-columns:minmax(220px,1fr) repeat(3,minmax(120px,.35fr));gap:12px;align-items:center;padding:14px 16px;border:1px solid #dce5ec;border-radius:14px;background:#fff}.cash-history-card>div,.cash-history-card>span{display:grid;gap:2px}.cash-history-card small{font-size:10px;color:#788792}.cash-empty{min-height:260px;display:grid;place-items:center;align-content:center;gap:6px;color:#657786}.cash-empty strong{font-size:22px;color:#203447}
@media(max-width:760px){.cash-management-header{padding:calc(14px + env(safe-area-inset-top)) 14px 14px}.cash-management-header h2{font-size:26px}.cash-management-tabs{padding:8px 10px}.cash-management-content{padding:10px 10px calc(18px + env(safe-area-inset-bottom))}.cash-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cash-kpi-grid article{min-height:92px;padding:13px}.cash-kpi-grid article strong{font-size:21px}.cash-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-history-card{grid-template-columns:1fr 1fr}.cash-history-card>div{grid-column:1/-1}}

@media(prefers-reduced-motion:reduce){.cash-tab-panel.active{animation:none}.waiter-picker-card{transition:none}}

/* ==========================================================================
   SECTION: REFINAMIENTO VISUAL C
   ========================================================================== */
/* AmeliaPOS R1.7.6 — navegación operativa, recuperación de mesas y caja touch */
:root{--a76-navy:#0d1a27;--a76-navy2:#14293a;--a76-slate:#20384b;--a76-orange:#f47a20;--a76-orange2:#ff9a35;--a76-cream:#fff8f0;--a76-line:#d9e3ea;--a76-green:#168a5d;--a76-red:#cf332c;--a76-bg:#edf3f7}

/* LOGIN: cockpit centrado, fondo visible y sin gran panel vacío */
@media(min-width:901px){
  .pos-login-screen{display:grid!important;place-items:center!important;padding:28px!important;background:#07111b!important;overflow:hidden!important}
  .pos-login-shell{width:min(1180px,calc(100vw - 56px))!important;height:min(650px,calc(100dvh - 56px))!important;min-height:560px!important;max-height:650px!important;grid-template-columns:270px minmax(380px,1fr) 300px!important;grid-template-rows:68px minmax(0,1fr)!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:24px!important;overflow:hidden!important;background:rgba(7,20,31,.64)!important;box-shadow:0 28px 90px rgba(0,0,0,.42)!important;backdrop-filter:blur(12px) saturate(1.05)!important}
  .pos-login-header{height:68px!important;padding:0 20px!important;background:rgba(7,20,31,.84)!important;border-bottom:1px solid rgba(255,255,255,.10)!important}
  .pos-login-users{padding:18px 14px!important;background:rgba(8,26,39,.82)!important;border-right:1px solid rgba(255,255,255,.10)!important;overflow:auto!important}
  .pos-login-identity{padding:22px 34px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:stretch!important;background:radial-gradient(circle at 50% 34%,rgba(244,122,32,.12),transparent 34%),rgba(6,19,29,.73)!important;color:#fff!important}
  .pos-login-keypad{padding:18px!important;background:rgba(8,26,39,.84)!important;border-left:1px solid rgba(255,255,255,.10)!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
  .pos-login-selected-avatar{width:106px!important;height:106px!important;border-radius:50%!important;margin-inline:auto!important;border:2px solid rgba(244,122,32,.85)!important;box-shadow:0 0 0 7px rgba(244,122,32,.07)!important;overflow:hidden!important}
  .pos-login-selected-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important}
  .pos-login-selected-copy{margin:12px 0 18px!important;text-align:center!important}.pos-login-selected-copy>span{color:#ff9a35!important}.pos-login-selected-copy h1{font-size:27px!important;color:#fff!important;margin:3px 0!important}.pos-login-selected-copy p{color:#bdcbd5!important;margin:0!important}
  .pos-login-pin-label{color:#dbe6ed!important}.pos-login-pin-wrap{height:58px!important;background:rgba(9,26,39,.86)!important;border-color:rgba(244,122,32,.8)!important}.pos-login-pin-wrap input{color:#fff!important}.pos-login-remember{color:#dce6ed!important}.pos-login-security{color:#91a4b2!important}
  .pos-login-user{min-height:72px!important;background:rgba(16,43,61,.72)!important;border-color:rgba(255,255,255,.12)!important;color:#fff!important}.pos-login-user.active{background:linear-gradient(135deg,rgba(244,122,32,.20),rgba(16,43,61,.86))!important;border-color:#f47a20!important;box-shadow:0 0 0 2px rgba(244,122,32,.11)!important}.pos-login-user-copy small{color:#b8c8d3!important}.pos-login-user.active .pos-login-user-copy small{color:#ffc18e!important}
  .pos-login-key-grid{gap:8px!important}.pos-login-key-grid button{height:60px!important;background:#173247!important;border-color:#355166!important;color:#fff!important}.pos-login-key-grid button.clear,.pos-login-key-grid button.backspace{background:#5c2925!important;color:#ff9f91!important}.pos-login-submit{height:54px!important;background:linear-gradient(135deg,#f47a20,#d86115)!important;color:#fff!important}
}
@media(max-width:900px){
  .pos-login-shell{background:rgba(8,22,34,.86)!important}.pos-login-users,.pos-login-identity,.pos-login-keypad{background:transparent!important}.pos-login-selected-copy h1{color:#fff!important}.pos-login-selected-copy p,.pos-login-pin-label,.pos-login-remember{color:#d7e1e8!important}.pos-login-security{color:#91a4b1!important}.pos-login-user{background:rgba(16,43,61,.80)!important;color:#fff!important}.pos-login-user-copy small{color:#bfd0db!important}
}

/* TOPBAR + MEGA MENU */
.topbar{position:relative;z-index:12;background:linear-gradient(90deg,#0d1822,#122535)!important;border-bottom:1px solid #263746!important;box-shadow:0 4px 18px rgba(8,19,29,.14)}
.main-menu-trigger{display:inline-flex;align-items:center;gap:8px;border:1px solid #344b5c;background:#182a39;color:#fff;border-radius:9px;padding:9px 12px;font-weight:850}.main-menu-trigger span{color:#ff922f;font-size:16px}.main-menu-trigger:hover,.main-menu-trigger[aria-expanded="true"]{border-color:#f47a20;background:#23384a}
.logout-top{border-color:#5b3a34!important;background:#3b2422!important;color:#ffb1a7!important}.logout-top:hover{background:#562b26!important}
.pos-mega-menu{position:fixed;z-index:95;top:64px;left:18px;right:18px;max-width:1180px;margin:0 auto;padding:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;background:rgba(10,24,36,.97);border:1px solid #344c5e;border-radius:0 0 18px 18px;box-shadow:0 24px 60px rgba(0,0,0,.38);backdrop-filter:blur(16px);animation:megaIn .14s ease-out}.pos-mega-menu.hidden{display:none!important}@keyframes megaIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.pos-mega-menu section{min-width:0;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.035);display:grid;align-content:start;gap:5px}.pos-mega-menu header{padding:3px 4px 8px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:3px}.pos-mega-menu header span{display:block;color:#ff9435;font-size:10px;font-weight:950;letter-spacing:.10em}.pos-mega-menu header small{display:block;color:#91a5b4;font-size:10px;margin-top:2px}.pos-mega-menu button{min-height:48px;border:0;border-radius:9px;background:transparent;color:#fff;text-align:left;padding:8px 9px;display:grid;gap:2px}.pos-mega-menu button:hover{background:#1b3447}.pos-mega-menu button b{font-size:12px}.pos-mega-menu button small{font-size:9px;color:#9fb1bd}.pos-mega-menu .danger-menu:hover{background:#4a2624}.pos-mega-menu .danger-menu b{color:#ff9d92}

/* MESA OCUPADA: avatar bloqueado en su zona, cuerpo limpio */
.salon-table--busy{overflow:hidden!important}.salon-table--busy .salon-table__main{display:grid!important;grid-template-columns:68px minmax(0,1fr)!important;padding:0!important;min-height:76px!important;overflow:hidden!important}.salon-table--busy .salon-table__avatar{width:68px!important;height:76px!important;padding:4px!important;margin:0!important;border-radius:0!important;background:#132738!important;overflow:hidden!important;align-self:stretch!important}.salon-table--busy .salon-table__avatar img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 20%!important;border-radius:8px!important}.salon-table--busy .salon-table__body{padding:8px 9px 7px!important;min-width:0!important;min-height:76px!important;align-content:center!important}.salon-table--busy .salon-table__top{gap:6px!important}.salon-table--busy .salon-table__name{min-width:0!important;white-space:normal!important;line-height:1.05!important}.salon-table--busy .salon-table__waiter,.salon-table--busy .salon-table__facts{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.salon-table-stage.free-layout .salon-table--busy{width:230px!important}.salon-table-stage.free-layout .salon-table--busy .salon-table__main{height:76px!important}

/* GESTIÓN DE CAJA: consola POS touch, no framework */
.app-view--cash-management{background:radial-gradient(circle at 82% 4%,rgba(244,122,32,.11),transparent 28%),linear-gradient(135deg,#eaf2f7,#f7fafc 55%,#fff4e9)!important;color:#122337!important;overflow:auto!important}.cash-console{width:min(1320px,100%);min-height:100dvh;margin:0 auto;display:grid;grid-template-rows:auto auto minmax(0,1fr)}
.cash-console-header{min-height:112px;display:grid;grid-template-columns:minmax(0,1fr) auto 48px;align-items:center;gap:18px;padding:18px clamp(18px,3vw,34px);background:linear-gradient(125deg,#0e1d2a,#163650 72%,#244861);color:#fff;box-shadow:0 8px 24px rgba(12,31,45,.18)}.cash-console-brand h2{margin:2px 0 3px;font-size:32px;letter-spacing:-.035em}.cash-console-brand p{margin:0;color:#b9cbd7;font-size:12px}.cash-console-session{min-width:220px;padding:11px 14px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.06);display:grid;gap:2px}.cash-console-session span{font-size:9px;font-weight:950;letter-spacing:.08em;color:#ff9a38;text-transform:uppercase}.cash-console-session strong{font-size:15px}.cash-console-session small{font-size:9px;color:#a9bbc7}.cash-console-back{width:44px;height:44px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.08);color:#fff;font-size:19px}
.cash-console-tabs{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:1px;background:#d9e3ea;border-bottom:1px solid #cad7df}.cash-console-tabs button{min-height:66px;border:0;background:#fff;color:#536676;display:grid;place-items:center;align-content:center;gap:3px;font-weight:850}.cash-console-tabs button span{font-size:18px;color:#7890a0}.cash-console-tabs button b{font-size:11px}.cash-console-tabs button.active{background:#102638;color:#fff;box-shadow:inset 0 -3px 0 #f47a20}.cash-console-tabs button.active span{color:#ff9435}
.cash-console-content{padding:22px clamp(16px,2.4vw,28px) 34px;overflow:auto}.cash-tab-panel{display:none}.cash-tab-panel.active{display:block;animation:cash76In .16s ease-out}@keyframes cash76In{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
.cash-hero-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;gap:12px}.cash-hero-grid article{min-height:132px;border:1px solid #d5e0e7;border-radius:18px;background:#fff;padding:18px;display:grid;align-content:center;gap:6px;box-shadow:0 10px 24px rgba(23,51,72,.06)}.cash-hero-grid article span{font-size:10px;font-weight:950;color:#738697;letter-spacing:.08em}.cash-hero-grid article strong{font-size:30px;letter-spacing:-.04em}.cash-hero-grid article small{font-size:10px;color:#8796a2}.cash-hero-grid .cash-hero-main{background:linear-gradient(135deg,#102638,#1b435f);border-color:#1b435f;color:#fff}.cash-hero-grid .cash-hero-main span{color:#b5c8d5}.cash-hero-grid .cash-hero-main strong{color:#ff9333;font-size:38px}.cash-hero-grid .cash-hero-main small{color:#9eb2c0}
.cash-summary-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.cash-summary-strip>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border:1px solid #d8e3ea;border-radius:13px;background:rgba(255,255,255,.86)}.cash-summary-strip span{font-size:10px;color:#738494;font-weight:850}.cash-summary-strip b{font-size:18px}.cash-summary-strip .positive b{color:#16865b}.cash-summary-strip .negative b{color:#c63c34}
.cash-method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px!important;margin-top:0!important}.cash-method-grid>div{min-height:72px!important;border:1px solid #d8e3ea!important;border-radius:13px!important;background:#fff!important;padding:12px 14px!important;display:grid!important;align-content:center!important}.cash-method-grid span{font-size:9px!important;text-transform:uppercase!important;letter-spacing:.07em!important}.cash-method-grid strong{font-size:18px!important}
.cash-movement-list{margin-top:12px!important;border:1px solid #d7e2e9!important;border-radius:16px!important;background:#fff!important;padding:14px 16px!important}.cash-movement-list>header{display:flex;justify-content:space-between;align-items:end;gap:12px;padding-bottom:10px;border-bottom:1px solid #edf1f4}.cash-movement-list>header div{display:grid;gap:2px}.cash-movement-list>header small{font-size:9px;color:#8796a2}.cash-movement-row{min-height:52px!important}.cash-movement-row b{font-size:12px}
.cash-touch-operation,.cash-touch-panel,.cash-ticket-panel{width:min(860px,100%);margin:0 auto;border:1px solid #d5e1e8;border-radius:20px;background:#fff;box-shadow:0 14px 34px rgba(28,58,80,.08);padding:20px}.cash-touch-operation>header,.cash-touch-panel>header,.cash-ticket-panel>header{display:flex;align-items:center;gap:13px;padding-bottom:14px;border-bottom:1px solid #e5ecf1}.cash-touch-operation>header>div,.cash-touch-panel>header>div{display:grid;gap:2px}.cash-touch-operation header>div>span,.cash-ticket-panel header>div>span{font-size:9px;font-weight:950;letter-spacing:.09em;color:#f47a20}.cash-touch-operation h3,.cash-touch-panel h3,.cash-ticket-panel h3{margin:0;font-size:25px}.cash-touch-operation p,.cash-touch-panel p,.cash-ticket-panel p{margin:0;color:#768795;font-size:11px}.cash-operation-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:24px;font-weight:900;background:#eef4f8;color:#1b4059}.cash-operation-icon.in{background:#e8f7ef;color:#16875b}.cash-operation-icon.out{background:#fff0ef;color:#c63d35}.cash-operation-icon.close{background:#fff2e7;color:#cf661d}.cash-operation-amount{display:grid;gap:7px;margin:16px 0}.cash-operation-amount>span{font-size:10px;font-weight:950;color:#657989;text-transform:uppercase;letter-spacing:.08em}.cash-operation-amount .money-input{height:68px;border-radius:13px}.cash-operation-amount .money-input input{font-size:30px!important;text-align:right}
.cash-operation-shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:15px}.cash-operation-shortcuts button{min-height:48px;border:1px solid #cfdae2;border-radius:11px;background:#f8fbfd;color:#193148;font-weight:900}.cash-operation-shortcuts button:active{transform:scale(.985);border-color:#f47a20}
.cash-reason-field{border:0;padding:0;margin:0 0 14px}.cash-reason-field legend{font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:#637888;margin-bottom:8px}.cash-reason-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cash-reason-grid button{min-height:56px;border:1px solid #cfdae2;border-radius:12px;background:#fff;color:#253b4d;font-weight:850;font-size:11px}.cash-reason-grid button.active{border-color:#f47a20;background:#fff4e9;box-shadow:0 0 0 2px rgba(244,122,32,.10);color:#b9500d}.cash-other-detail{width:100%;margin-top:9px;border:1px solid #cfdae2;border-radius:11px;padding:10px;resize:none}.cash-operation-submit{width:100%;min-height:54px;border-radius:12px!important;font-size:14px}
.cash-ticket-panel{width:min(1080px,100%)}.cash-ticket-panel>header{justify-content:space-between}.cash-ticket-filters{display:flex;gap:6px}.cash-ticket-filters button{border:1px solid #d5e0e7;border-radius:9px;background:#fff;padding:8px 11px;font-size:10px;font-weight:900}.cash-ticket-filters button.active{background:#102638;color:#fff;border-color:#102638}.cash-shift-tickets{display:grid;gap:7px;margin-top:13px}.cash-shift-ticket{display:grid;grid-template-columns:54px minmax(180px,1fr) 150px 110px 86px;align-items:center;gap:10px;min-height:64px;padding:8px 10px;border:1px solid #dce5eb;border-radius:12px;background:#fff}.cash-shift-ticket.open{border-left:4px solid #f47a20}.cash-shift-ticket.closed{border-left:4px solid #18895d}.cash-ticket-number{font-weight:950;color:#183044}.cash-shift-ticket>div,.cash-shift-ticket>span:nth-of-type(2){display:grid;gap:2px}.cash-shift-ticket small{font-size:9px;color:#7d8c97}.cash-shift-ticket em{font-style:normal;font-size:9px;font-weight:950;text-transform:uppercase;color:#687b8b}.cash-shift-ticket button{height:34px;border:0;border-radius:8px;background:#19364c;color:#fff;font-size:10px;font-weight:900}.cash-shift-ticket button:disabled{background:#edf1f4;color:#8c9aa4}.cash-empty.compact{min-height:150px!important}

@media(max-width:900px){
 .main-menu-trigger b{display:none}.logout-top{display:none}.pos-mega-menu{top:58px;left:8px;right:8px;grid-template-columns:1fr 1fr;max-height:calc(100dvh - 74px);overflow:auto;border-radius:0 0 15px 15px}.pos-mega-menu section{padding:8px}.pos-mega-menu button{min-height:44px}
 .cash-console-header{grid-template-columns:minmax(0,1fr) 44px;min-height:auto;padding:14px}.cash-console-session{grid-column:1/-1;grid-row:2;min-width:0}.cash-console-back{grid-column:2;grid-row:1}.cash-console-tabs{display:flex;overflow-x:auto}.cash-console-tabs button{flex:0 0 92px;min-height:58px}.cash-console-content{padding:10px 10px calc(20px + env(safe-area-inset-bottom))}.cash-hero-grid{grid-template-columns:1fr 1fr}.cash-hero-grid .cash-hero-main{grid-column:1/-1}.cash-summary-strip{grid-template-columns:1fr}.cash-method-grid{grid-template-columns:repeat(2,1fr)}.cash-touch-operation,.cash-touch-panel,.cash-ticket-panel{padding:14px;border-radius:15px;box-shadow:none}.cash-operation-shortcuts{grid-template-columns:repeat(2,1fr)}.cash-reason-grid{grid-template-columns:repeat(2,1fr)}.cash-ticket-panel>header{display:grid;gap:10px}.cash-ticket-filters{overflow-x:auto}.cash-shift-ticket{grid-template-columns:44px minmax(0,1fr) 92px;gap:7px}.cash-shift-ticket>span:nth-of-type(2){grid-column:2}.cash-shift-ticket em{grid-column:1/3}.cash-shift-ticket button{grid-column:3;grid-row:1/3}
}
@media(max-width:520px){
 .pos-mega-menu{grid-template-columns:1fr}.cash-hero-grid{grid-template-columns:1fr}.cash-hero-grid .cash-hero-main{grid-column:auto}.cash-method-grid{grid-template-columns:1fr 1fr}.cash-reason-grid{grid-template-columns:1fr 1fr}.cash-operation-shortcuts{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){.pos-mega-menu,.cash-tab-panel{animation:none!important}}
@media(max-width:900px){
  .top-actions #tablesBtn,.top-actions #holdBtn,.top-actions #cashManagementBtn{display:none!important}
  .topbar .context{display:none!important}.topbar .brand{flex:0 0 auto}.top-actions{margin-left:auto}.top-actions .user-pill{max-width:104px!important}
}

/* ==========================================================================
   SECTION: REFINAMIENTO VISUAL D
   ========================================================================== */
/* AmeliaPOS R1.7.7 — rebase operacional guiado por GPOS/Jipos */
:root{--g77-navy:#11243a;--g77-navy2:#173a56;--g77-panel:#1b405d;--g77-orange:#f46b0b;--g77-red:#c83f36;--g77-green:#17885d;--g77-cream:#f7f9fb;--g77-line:#dbe4ec;--g77-ink:#0f172a}


/* Marca oficial AmeliaPOS aplicada a las vistas operativas. */
.amelia-logo-shell{display:inline-flex;align-items:center;justify-content:center;width:128px;height:38px;padding:4px 8px;border-radius:8px;background:#fff;overflow:hidden}.amelia-logo-shell img{display:block;width:100%;height:100%;object-fit:contain}.brand-official{display:flex!important;align-items:center!important;gap:7px!important}.brand-official small{margin-left:0!important}.gpos-topbar .brand-official .amelia-logo-shell{width:112px;height:34px;border-radius:7px}.cash-gpos-brand-row{display:flex;align-items:center;gap:10px}.cash-gpos-logo{display:inline-flex;align-items:center;justify-content:center;width:106px;height:31px;padding:3px 6px;border-radius:7px;background:#fff}.cash-gpos-logo img{width:100%;height:100%;object-fit:contain}.cash-gpos-brand-row .view-eyebrow{margin:0!important}

/* Los diálogos operativos deben quedar sobre las vistas full-screen. */
.overlay{z-index:260!important}

/* LOGIN RC13 CONGELADO: implementación fiel a la referencia visual aprobada 2026-08-11. */
.pos-login-screen{--login-orange:#f47a20;--login-blue:#5aa8e8;--login-glass:rgba(4,17,28,.42);--login-glass-center:rgba(4,17,28,.34);--login-line:rgba(255,255,255,.09);overflow:hidden!important;background:#071019!important;color:#f6f9fb!important}
.pos-login-tint{opacity:.27!important;background:#071827!important;mix-blend-mode:multiply!important}
.pos-login-scene-bg{filter:saturate(.92) contrast(1.03) brightness(.94)!important;transform:scale(1.004)!important}
.pos-login-shell{position:relative!important;z-index:1!important}
.pos-login-header{grid-column:1/-1!important;grid-row:1!important;display:grid!important;grid-template-columns:minmax(220px,1fr) auto minmax(280px,1fr)!important;align-items:center!important;gap:22px!important;height:84px!important;padding:0 clamp(34px,3vw,58px)!important;background:rgba(4,15,25,.88)!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.07)!important;backdrop-filter:blur(8px) saturate(1.04)!important}
.pos-login-access{display:flex!important;align-items:center!important;gap:12px!important;justify-self:start!important;color:#f5f8fa!important}.pos-login-access-icon{width:32px!important;height:32px!important;display:grid!important;place-items:center!important;color:#ff7d16!important;font-size:27px!important;line-height:1!important}.pos-login-access>div{display:grid!important;gap:2px!important}.pos-login-access strong{font-size:13px!important;line-height:1.1!important;text-transform:uppercase!important;letter-spacing:.02em!important;color:#fff!important}.pos-login-access small{font-size:11px!important;color:#c0ccd4!important}
.pos-login-brand{justify-self:center!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:1px!important;min-width:280px!important}.pos-login-brand .amelia-logo-shell{width:280px!important;height:50px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}.pos-login-brand .amelia-logo-shell img{width:100%!important;height:100%!important;object-fit:contain!important}.pos-login-brand small{font-size:9px!important;font-weight:900!important;line-height:1!important;letter-spacing:.20em!important;color:#fff!important;text-transform:uppercase!important;text-shadow:0 1px 8px rgba(0,0,0,.45)!important}
.pos-login-context{justify-self:end!important;display:flex!important;align-items:center!important;gap:18px!important;min-width:0!important}.pos-login-scene{display:flex!important;align-items:center!important;gap:8px!important;padding-right:18px!important;border-right:1px solid rgba(255,255,255,.14)!important;color:#f1f5f7!important;font-size:11px!important;font-weight:850!important;white-space:nowrap!important}.pos-login-scene-icon{width:31px!important;height:31px!important;border-radius:9px!important;display:grid!important;place-items:center!important;background:rgba(244,122,32,.08)!important;border:1px solid rgba(244,122,32,.38)!important;color:#ff8a28!important}.pos-login-station{display:grid!important;text-align:right!important;gap:2px!important}.pos-login-station span{font-size:9px!important;color:#a6b4bf!important;text-transform:uppercase!important;letter-spacing:.07em!important}.pos-login-station b{font-size:12px!important;color:#fff!important}
@media(min-width:901px){
  .pos-login-screen{display:block!important;width:100vw!important;height:100dvh!important;padding:0!important;overflow:hidden!important}
  .pos-login-shell{width:100vw!important;height:100dvh!important;min-height:600px!important;max-width:none!important;max-height:none!important;display:grid!important;grid-template-columns:minmax(250px,29%) minmax(380px,42%) minmax(290px,29%)!important;grid-template-rows:84px minmax(0,1fr) 72px!important;gap:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important}
  .pos-login-users,.pos-login-identity,.pos-login-keypad{grid-row:2!important;align-self:stretch!important;min-width:0!important;min-height:0!important;margin:26px 0 0!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:blur(7px) saturate(1.02)!important;color:#fff!important;overflow:hidden!important}
  .pos-login-users{grid-column:1!important;margin-left:clamp(30px,6.5vw,118px)!important;padding:42px 18px 24px!important;background:linear-gradient(90deg,rgba(4,17,28,.46),rgba(4,17,28,.38))!important}
  .pos-login-identity{grid-column:2!important;padding:34px clamp(36px,5.6vw,84px) 18px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;background:var(--login-glass-center)!important}
  .pos-login-keypad{grid-column:3!important;margin-right:clamp(30px,6.5vw,118px)!important;padding:70px 24px 22px!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;background:linear-gradient(90deg,rgba(4,17,28,.38),rgba(4,17,28,.47))!important}
  .pos-login-users::after,.pos-login-identity::after{content:none!important}
  .pos-login-section-title{display:grid!important;gap:4px!important;margin:0 0 20px!important}.pos-login-section-title>span{font-size:15px!important;line-height:1.05!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:#fff!important}.pos-login-section-title>small{font-size:11px!important;color:#c1cbd2!important}
  .pos-login-search{height:50px!important;margin:0 0 20px!important;padding:0 15px!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:10px!important;background:rgba(3,15,25,.42)!important;color:#bac7d0!important;box-shadow:none!important}.pos-login-search:focus-within{border-color:rgba(244,122,32,.82)!important;box-shadow:0 0 0 3px rgba(244,122,32,.10)!important}.pos-login-search input{min-width:0!important;color:#fff!important;font-size:13px!important}.pos-login-search input::placeholder{color:#b5c1c9!important}
  .pos-login-user-list{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;max-height:calc(100dvh - 320px)!important;min-width:0!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:0 6px 0 0!important;overscroll-behavior:contain!important;touch-action:pan-y!important;scrollbar-width:thin!important;scrollbar-color:rgba(244,122,32,.72) transparent!important}
  .pos-login-user-list::-webkit-scrollbar{width:6px!important;height:0!important}.pos-login-user-list::-webkit-scrollbar-track{background:transparent!important}.pos-login-user-list::-webkit-scrollbar-thumb{background:rgba(244,122,32,.68)!important;border-radius:20px!important}
  .pos-login-user{position:relative!important;width:100%!important;min-width:0!important;min-height:78px!important;padding:10px 13px!important;display:grid!important;grid-template-columns:56px minmax(0,1fr) 26px!important;align-items:center!important;gap:12px!important;text-align:left!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:11px!important;background:rgba(11,34,51,.53)!important;color:#fff!important;box-shadow:none!important;overflow:hidden!important;touch-action:manipulation!important}.pos-login-user:hover{background:rgba(17,43,62,.66)!important;border-color:rgba(255,255,255,.20)!important}.pos-login-user:active{transform:scale(.989)!important}.pos-login-user.active{background:rgba(10,37,57,.66)!important;border-color:#f47a20!important;box-shadow:inset 0 0 0 1px rgba(244,122,32,.18)!important}.pos-login-user.active::after{content:'✓'!important;grid-column:3!important;width:25px!important;height:25px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:#f47a20!important;color:#fff!important;font-size:13px!important;font-weight:950!important}.pos-login-user-avatar{width:54px!important;height:54px!important;border-radius:50%!important;overflow:hidden!important;border:1px solid rgba(244,122,32,.64)!important;background:#142b3d!important}.pos-login-user-copy{min-width:0!important;display:grid!important;gap:3px!important}.pos-login-user-copy strong{font-size:14px!important;line-height:1.1!important;color:#fff!important}.pos-login-user-copy small{font-size:10px!important;line-height:1.1!important;color:#c0cbd3!important;font-weight:800!important}.pos-login-user.active .pos-login-user-copy small{color:#ffb36f!important}
  .pos-login-selected-avatar{width:106px!important;height:106px!important;flex:0 0 106px!important;margin:0 auto!important;border-radius:50%!important;border:2px solid #f47a20!important;background:#173047!important;box-shadow:0 0 0 6px rgba(244,122,32,.08),0 15px 32px rgba(0,0,0,.18)!important;overflow:hidden!important}.pos-login-selected-copy{margin:14px 0 24px!important;text-align:center!important}.pos-login-selected-copy>span{font-size:10px!important;color:#ff8424!important;font-weight:900!important;letter-spacing:.08em!important}.pos-login-selected-copy h1{margin:6px 0 4px!important;font-size:30px!important;line-height:1.05!important;letter-spacing:-.03em!important;color:#fff!important}.pos-login-selected-copy p{margin:0!important;color:#8fc2eb!important;font-size:12px!important}
  .pos-login-pin-label{width:100%!important;margin:0 0 8px!important;font-size:11px!important;font-weight:900!important;color:#f5f8fa!important}.pos-login-pin-wrap{width:100%!important;height:62px!important;display:grid!important;grid-template-columns:minmax(0,1fr) 62px!important;align-items:center!important;border:1px solid #f47a20!important;border-radius:11px!important;background:rgba(2,14,24,.60)!important;overflow:hidden!important;box-shadow:0 0 0 2px rgba(244,122,32,.08)!important}.pos-login-pin-wrap:focus-within{box-shadow:0 0 0 3px rgba(244,122,32,.12)!important}.pos-login-pin-wrap input{min-width:0!important;width:100%!important;height:100%!important;border:0!important;outline:0!important;background:transparent!important;padding:0 16px!important;font-size:28px!important;letter-spacing:.22em!important;color:#fff!important}.pos-login-pin-wrap span{height:100%!important;display:grid!important;place-items:center!important;padding:0!important;border-left:1px solid rgba(255,255,255,.11)!important;color:#b7c3cc!important;font-size:10px!important;font-weight:850!important}.pos-login-remember{width:100%!important;display:flex!important;align-items:center!important;gap:9px!important;margin:13px 0 0!important;color:#e0e6ea!important;font-size:11px!important;font-weight:750!important}.pos-login-remember input{width:17px!important;height:17px!important;accent-color:#f47a20!important}.pos-login-security{width:100%!important;margin:9px 0 0!important;color:#a9b7c1!important;font-size:10px!important}
  .pos-login-feature-strip{width:100%!important;margin-top:auto!important;padding:15px 0 0!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;border-top:1px solid rgba(255,255,255,.07)!important}.pos-login-feature-strip>span{display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;gap:7px!important;align-items:center!important;min-width:0!important}.pos-login-feature-strip b{font-size:24px!important;line-height:1!important;color:#5aa8e8!important;font-weight:600!important;text-align:center!important}.pos-login-feature-strip>span:nth-child(2) b{color:#f47a20!important}.pos-login-feature-strip i{display:grid!important;gap:2px!important;font-style:normal!important;color:#f6f9fb!important;font-size:10px!important;font-weight:850!important}.pos-login-feature-strip small{color:#95a8b5!important;font-size:8px!important;font-weight:600!important;white-space:nowrap!important}
  .pos-login-key-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}.pos-login-key-grid button{min-width:0!important;width:100%!important;height:clamp(62px,8.2vh,80px)!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:11px!important;background:rgba(20,49,72,.72)!important;color:#fff!important;font-size:28px!important;font-weight:950!important;box-shadow:none!important;touch-action:manipulation!important}.pos-login-key-grid button:hover{background:rgba(28,62,88,.82)!important;border-color:rgba(90,168,232,.42)!important}.pos-login-key-grid button:active{transform:translateY(1px)!important}.pos-login-key-grid .clear,.pos-login-key-grid .backspace{background:rgba(112,39,34,.78)!important;color:#ffa096!important;border-color:rgba(218,84,74,.18)!important}
  .pos-login-submit{width:100%!important;height:62px!important;margin-top:14px!important;border:0!important;border-radius:10px!important;background:linear-gradient(180deg,#ff8d20,#f46b0b)!important;color:#fff!important;font-size:17px!important;font-weight:950!important;box-shadow:0 10px 24px rgba(244,107,11,.17)!important}.pos-login-submit:disabled{opacity:.54!important;box-shadow:none!important}.pos-login-status{min-height:21px!important;margin:9px 0 0!important;color:#b7c2ca!important;font-size:9px!important;text-align:center!important;line-height:1.3!important}
  .pos-login-footer{grid-column:1/-1!important;grid-row:3!important;display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;gap:18px!important;padding:0 clamp(34px,4.8vw,86px)!important;background:rgba(4,15,25,.86)!important;border-top:1px solid rgba(255,255,255,.07)!important;color:#c0cad1!important;backdrop-filter:blur(8px)!important}.pos-login-online{display:flex!important;align-items:center!important;gap:12px!important}.pos-login-online>i{width:12px!important;height:12px!important;border-radius:50%!important;background:#19c652!important;box-shadow:0 0 0 6px rgba(25,198,82,.10),0 0 18px rgba(25,198,82,.62)!important}.pos-login-online>span{display:grid!important;gap:2px!important}.pos-login-online b{font-size:10px!important;text-transform:uppercase!important;letter-spacing:.03em!important;color:#e5ebef!important}.pos-login-online small{font-size:9px!important;color:#9caeb9!important}.pos-login-copy{font-size:9px!important;text-align:center!important;color:#b4c0c8!important}.pos-login-copy b{color:#f47a20!important}.pos-login-time{justify-self:end!important;font-size:10px!important;color:#e1e8ec!important;font-weight:800!important}
}
@media(min-width:901px) and (max-height:760px){
  .pos-login-shell{grid-template-rows:76px minmax(0,1fr) 58px!important;max-height:none!important}.pos-login-header{height:76px!important}.pos-login-users,.pos-login-identity,.pos-login-keypad{margin-top:14px!important}.pos-login-users{padding-top:24px!important}.pos-login-keypad{padding-top:34px!important}.pos-login-section-title{margin-bottom:13px!important}.pos-login-search{height:44px!important;margin-bottom:12px!important}.pos-login-user-list{gap:7px!important;max-height:calc(100dvh - 268px)!important}.pos-login-user{min-height:64px!important;padding:6px 10px!important}.pos-login-user-avatar{width:46px!important;height:46px!important}.pos-login-selected-avatar{width:84px!important;height:84px!important;flex-basis:84px!important}.pos-login-selected-copy{margin:9px 0 13px!important}.pos-login-selected-copy h1{font-size:25px!important}.pos-login-pin-wrap{height:52px!important}.pos-login-pin-wrap input{font-size:24px!important}.pos-login-feature-strip{padding-top:8px!important}.pos-login-feature-strip small{display:none!important}.pos-login-key-grid{gap:8px!important}.pos-login-key-grid button{height:58px!important;font-size:24px!important}.pos-login-submit{height:52px!important;margin-top:10px!important}.pos-login-status{margin-top:6px!important}.pos-login-footer{padding-inline:34px!important}
}
@media(max-width:900px){
  .pos-login-screen{width:100%!important;max-width:100vw!important;height:100dvh!important;min-height:100dvh!important;padding:0!important;display:block!important;overflow-x:hidden!important;overflow-y:auto!important;background:#08131d!important}
  .pos-login-tint{opacity:.42!important}.pos-login-scene-bg{background-image:var(--scene-mobile)!important;background-position:center!important;filter:saturate(.92) brightness(.86)!important}
  .pos-login-shell{width:100%!important;max-width:100vw!important;min-width:0!important;height:auto!important;min-height:100dvh!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:66px auto auto auto 54px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow-x:hidden!important}
  .pos-login-header{grid-column:1!important;grid-row:1!important;height:66px!important;grid-template-columns:minmax(0,1fr) auto!important;padding:0 12px!important;gap:10px!important;position:sticky!important;top:0!important;z-index:5!important;background:rgba(4,15,25,.93)!important}.pos-login-access{display:none!important}.pos-login-brand{justify-self:start!important;min-width:0!important;align-items:flex-start!important}.pos-login-brand .amelia-logo-shell{width:158px!important;height:40px!important}.pos-login-brand small{display:none!important}.pos-login-context{justify-self:end!important;gap:8px!important}.pos-login-scene{display:none!important}.pos-login-station span{font-size:8px!important}.pos-login-station b{font-size:11px!important}
  .pos-login-users,.pos-login-identity,.pos-login-keypad{width:calc(100% - 20px)!important;max-width:none!important;min-width:0!important;margin:9px 10px 0!important;padding:14px!important;border:0!important;border-radius:14px!important;background:rgba(5,20,32,.56)!important;box-shadow:none!important;backdrop-filter:blur(7px)!important;overflow:hidden!important;color:#fff!important}
  .pos-login-users{grid-row:2!important}.pos-login-users .pos-login-section-title{margin-bottom:9px!important}.pos-login-section-title>span{color:#fff!important}.pos-login-section-title>small{color:#b6c3cc!important}.pos-login-search{height:44px!important;margin-bottom:10px!important;background:rgba(3,15,25,.47)!important;border-color:rgba(255,255,255,.14)!important}.pos-login-search input{color:#fff!important}.pos-login-user-list{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;max-height:210px!important;min-width:0!important;overflow-y:auto!important;overflow-x:hidden!important;touch-action:pan-y!important;overscroll-behavior:contain!important;scrollbar-width:thin!important;scrollbar-color:rgba(244,122,32,.68) transparent!important}.pos-login-user{display:grid!important;grid-template-columns:48px minmax(0,1fr) 24px!important;min-width:0!important;min-height:64px!important;padding:7px 10px!important;align-items:center!important;gap:10px!important;text-align:left!important;background:rgba(11,34,51,.60)!important;border-color:rgba(255,255,255,.10)!important}.pos-login-user-avatar{width:46px!important;height:46px!important;border-radius:50%!important}.pos-login-user-copy{text-align:left!important}.pos-login-user-copy strong{color:#fff!important}.pos-login-user-copy small{color:#c0cbd3!important}.pos-login-user.active{border-color:#f47a20!important}.pos-login-user.active::after{content:'✓'!important;grid-column:3!important;width:24px!important;height:24px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:#f47a20!important;color:#fff!important}
  .pos-login-identity{grid-row:3!important;display:grid!important;grid-template-columns:60px minmax(0,1fr)!important;grid-template-rows:auto auto auto auto auto!important;column-gap:12px!important}.pos-login-selected-avatar{grid-column:1!important;grid-row:1!important;width:60px!important;height:60px!important;border-radius:50%!important;border:2px solid #f47a20!important}.pos-login-selected-copy{grid-column:2!important;grid-row:1!important;text-align:left!important;margin:0!important}.pos-login-selected-copy>span{color:#ff8424!important}.pos-login-selected-copy h1{margin:3px 0!important;font-size:20px!important;color:#fff!important}.pos-login-selected-copy p{font-size:10px!important;color:#8fc2eb!important}.pos-login-pin-label{grid-column:1/-1!important;grid-row:2!important;margin:12px 0 6px!important;color:#fff!important}.pos-login-pin-wrap{grid-column:1/-1!important;grid-row:3!important;height:52px!important;border-color:#f47a20!important;background:rgba(2,14,24,.62)!important}.pos-login-pin-wrap input{font-size:23px!important;color:#fff!important}.pos-login-remember{grid-column:1/-1!important;grid-row:4!important;margin-top:9px!important;color:#e0e6ea!important}.pos-login-security{display:none!important}.pos-login-feature-strip{grid-column:1/-1!important;grid-row:5!important;margin-top:11px!important;padding-top:9px!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;border-top:1px solid rgba(255,255,255,.07)!important}.pos-login-feature-strip>span{display:grid!important;place-items:center!important;gap:2px!important;text-align:center!important}.pos-login-feature-strip b{font-size:19px!important;color:#5aa8e8!important}.pos-login-feature-strip>span:nth-child(2) b{color:#f47a20!important}.pos-login-feature-strip i{display:grid!important;font-style:normal!important;font-size:9px!important;color:#fff!important}.pos-login-feature-strip small{display:none!important}
  .pos-login-keypad{grid-row:4!important;margin-bottom:9px!important}.pos-login-keypad .pos-login-section-title{margin-bottom:10px!important}.pos-login-key-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.pos-login-key-grid button{min-width:0!important;width:100%!important;height:52px!important;border-radius:10px!important;background:rgba(20,49,72,.74)!important;color:#fff!important;font-size:21px!important}.pos-login-key-grid .clear,.pos-login-key-grid .backspace{background:rgba(112,39,34,.78)!important;color:#ffa096!important}.pos-login-submit{width:100%!important;height:52px!important;margin-top:9px!important;border-radius:10px!important;background:linear-gradient(180deg,#ff8d20,#f46b0b)!important;color:#fff!important}.pos-login-status{min-height:18px!important;margin:6px 0 0!important;color:#b7c2ca!important;font-size:9px!important}
  .pos-login-footer{grid-column:1!important;grid-row:5!important;display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;padding:0 14px!important;background:rgba(4,15,25,.90)!important;border-top:1px solid rgba(255,255,255,.07)!important;color:#c0cad1!important}.pos-login-copy{display:none!important}.pos-login-online{display:flex!important;align-items:center!important;gap:8px!important}.pos-login-online>i{width:9px!important;height:9px!important;border-radius:50%!important;background:#19c652!important}.pos-login-online>span{display:grid!important}.pos-login-online b{font-size:9px!important;text-transform:uppercase!important}.pos-login-online small{font-size:8px!important}.pos-login-time{font-size:9px!important;color:#fff!important}
}
@media(max-width:430px){.pos-login-users,.pos-login-identity,.pos-login-keypad{width:calc(100% - 16px)!important;margin-left:8px!important;margin-right:8px!important;padding:12px!important}.pos-login-user-list{max-height:188px!important}.pos-login-key-grid button{height:49px!important}.pos-login-feature-strip{gap:3px!important}}


/* TOPBAR GPOS: menú general siempre visible; operaciones de mesa solo con atención activa. */
.gpos-topbar{height:64px!important;padding:0 14px!important;gap:10px!important;overflow:visible!important;white-space:nowrap!important}
.gpos-topbar .brand{flex:0 0 auto}.gpos-global-nav,.gpos-table-context{display:flex;align-items:center;gap:2px;min-width:0}
.gpos-global-nav{flex:0 0 auto}.gpos-table-context{flex:0 1 auto;overflow-x:auto;scrollbar-width:none;border-left:1px solid #334756;padding-left:6px}.gpos-table-context::-webkit-scrollbar{display:none}
.gpos-nav-button,.gpos-table-context button{height:42px;border:0!important;border-radius:0!important;background:transparent!important;color:#f5f7f9!important;padding:0 12px!important;font-weight:800!important;font-size:12px!important;box-shadow:none!important}
.gpos-nav-button:hover,.gpos-table-context button:hover{background:#1c3345!important;color:#fff!important}.gpos-nav-button span{color:#ff8b2b}.gpos-nav-button em{font-style:normal;color:#91a3b0;margin-left:3px}
.gpos-nav-dropdown{position:relative}.gpos-dropdown{position:absolute;top:48px;left:0;width:230px;padding:7px;background:#172631;border:1px solid #344958;box-shadow:0 18px 38px rgba(0,0,0,.3);z-index:190;display:grid}.gpos-dropdown button{min-height:42px;border:0;background:transparent;color:#fff;text-align:left;padding:9px 11px;font-size:12px;font-weight:750}.gpos-dropdown button:hover{background:#253c4e;color:#ff9a43}.gpos-dropdown.hidden{display:none!important}
.gpos-topbar .context{font-size:11px!important;min-width:0!important;overflow:hidden!important}.gpos-topbar .context span,.gpos-topbar .context b{white-space:nowrap}
.gpos-table-context.hidden{display:none!important}.gpos-table-context button:disabled{opacity:.42;pointer-events:none}.gpos-table-context #deleteNav{color:#ffafa8!important}.gpos-topbar .top-actions{flex:0 0 auto;margin-left:auto}.gpos-topbar .user-pill{max-width:125px;overflow:hidden;text-overflow:ellipsis}.gpos-topbar .logout-top{height:42px!important;border-radius:4px!important}

/* GESTIÓN DE CAJA: misma lógica GPOS, identidad visual AmeliaPOS 360. */
.app-view--cash-management{background:#eef3f7!important;overflow:hidden!important}.cash-gpos-shell{width:100vw;height:100dvh;display:grid;grid-template-rows:78px minmax(0,1fr);background:#eef3f7;color:var(--g77-ink)}
.cash-gpos-header{display:grid;grid-template-columns:minmax(0,1fr) auto 46px;align-items:center;gap:20px;padding:11px 18px 11px 24px;background:linear-gradient(105deg,#11243a,#173a56);color:#fff;border-bottom:3px solid var(--g77-orange);box-shadow:0 8px 24px rgba(17,36,58,.14)}.cash-gpos-header .view-eyebrow{color:#ff9a52!important}.cash-gpos-header h2{margin:1px 0;font-size:26px;letter-spacing:-.03em}.cash-gpos-header p{margin:0;color:#c4d0da;font-size:11px}.cash-gpos-session{display:grid;gap:2px;min-width:230px;padding:7px 12px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.06)}.cash-gpos-session span{color:#ff9a52;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.cash-gpos-session strong{font-size:14px}.cash-gpos-session small{font-size:9px;color:#adc0ce}.cash-gpos-back{width:42px;height:42px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;border-radius:9px;font-size:18px}.cash-gpos-back:hover{background:rgba(255,255,255,.15)}
.cash-gpos-body{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 250px}.cash-gpos-content{min-width:0;min-height:0;overflow:auto;padding:18px 18px 28px;background:linear-gradient(180deg,#f8fafc,#eef3f7)}.cash-gpos-rail{background:#11243a;padding:12px 10px;display:flex;flex-direction:column;gap:5px;overflow:auto;border-left:1px solid #29465c}.cash-gpos-rail-title{color:#9fb2c1;padding:9px 12px 7px;font-weight:900;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid #29465c}.cash-gpos-rail-title.reports{margin-top:8px}.cash-gpos-rail button{min-height:46px;border:1px solid transparent;border-radius:9px;background:transparent;color:#eaf0f4;display:grid;grid-template-columns:28px 1fr;align-items:center;text-align:left;padding:8px 11px;font-weight:760;font-size:12px;box-shadow:none;transition:.15s}.cash-gpos-rail button span{font-size:16px;text-align:center;color:#91a8b8}.cash-gpos-rail button:hover{background:#17344c;border-color:#274b65}.cash-gpos-rail button.active{background:#fff4eb;border-color:#ffd6b9;color:#7c3300;box-shadow:inset 3px 0 0 var(--g77-orange)}.cash-gpos-rail button.active span{color:var(--g77-orange)}
.cash-tab-panel{display:none}.cash-tab-panel.active{display:block;animation:g77Panel .14s ease-out}@keyframes g77Panel{from{opacity:.45;transform:translateY(3px)}to{opacity:1;transform:none}}
.cash-gpos-shiftbar{min-height:48px;background:#173a56;color:#fff;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:12px;padding:0 16px;border-radius:12px 12px 0 0}.cash-gpos-shiftbar span{font-size:11px;color:#c8d5df}.cash-gpos-shiftbar b{color:#fff;font-weight:850;margin-left:6px}
.cash-gpos-columns{display:grid;grid-template-columns:1fr 1fr 1.08fr;min-height:360px;background:#fff;border:1px solid #dbe4ec;border-top:0;border-radius:0 0 12px 12px;overflow:hidden;box-shadow:0 10px 28px rgba(17,36,58,.07)}.cash-gpos-block{min-width:0;padding:16px 18px 18px;border-right:1px solid #e4ebf0}.cash-gpos-block:last-child{border-right:0;background:#f8fafc}.cash-gpos-block header h3{margin:0 0 10px;font-size:16px;color:#11243a}.cash-gpos-table-head,.cash-gpos-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 120px;gap:10px;align-items:center}.cash-gpos-table-head{min-height:34px;border-bottom:1px solid #cfdbe4;font-size:10px;font-weight:900;color:#5e7182;text-transform:uppercase;letter-spacing:.04em}.cash-gpos-table-head span:nth-child(2),.cash-gpos-table-head span:nth-child(3),.cash-gpos-row b,.cash-gpos-row strong{text-align:right}.cash-gpos-row{min-height:44px;border-bottom:1px solid #edf1f4;font-size:12px}.cash-gpos-row:hover{background:#fbfcfd}.cash-gpos-row b{font-weight:650;color:#71808d}.cash-gpos-row strong{font-size:13px;color:#13283b}.cash-gpos-empty{padding:30px 10px;text-align:center;color:#7d8b97;font-size:11px}.cash-gpos-total{display:flex;justify-content:space-between;align-items:center;padding:15px 0 5px;font-size:13px;font-weight:900}.cash-gpos-total strong{font-size:19px;color:#11243a}.cash-gpos-move-total{padding:11px 0;display:grid;gap:8px;font-size:12px}.cash-gpos-move-total span{display:flex;justify-content:space-between}.cash-gpos-bottom{min-height:72px;margin-top:12px;background:#fff;border:1px solid #dbe4ec;border-radius:12px;display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) minmax(230px,1.2fr);align-items:center;gap:12px;padding:10px 16px;box-shadow:0 8px 24px rgba(17,36,58,.05)}.cash-gpos-bottom span{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#5f7080}.cash-gpos-bottom span b{color:#11243a}.cash-gpos-bottom strong{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;background:#11243a;border-radius:9px;color:#fff}.cash-gpos-bottom em{font-style:normal;color:#ff8a36;font-size:22px}
.cash-gpos-operation,.cash-gpos-report,.cash-gpos-close{width:100%;min-height:calc(100dvh - 132px);background:#fff;border:1px solid #dbe4ec;border-radius:14px;padding:22px 24px;box-shadow:0 10px 30px rgba(17,36,58,.07)}.cash-gpos-operation>header,.cash-gpos-report>header,.cash-gpos-close>header{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid #e3eaf0}.cash-gpos-operation h3,.cash-gpos-report h3,.cash-gpos-close h3{margin:0;font-size:24px;color:#11243a}.cash-gpos-operation header span,.cash-gpos-report header span,.cash-gpos-close header span{font-size:9px;font-weight:900;letter-spacing:.11em;color:var(--g77-orange)}.cash-gpos-operation p,.cash-gpos-report p,.cash-gpos-close p{margin:3px 0 0;color:#6d7b87;font-size:11px}.cash-operation-icon{display:grid!important;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px!important;font-size:22px!important;letter-spacing:0!important}.cash-operation-icon.in,.cash-operation-icon.count{background:#fff0e5;color:var(--g77-orange)!important}.cash-operation-icon.out{background:#fff0ef;color:#bd4038!important}.cash-gpos-operation .cash-operation-amount{max-width:720px}.cash-gpos-operation .cash-operation-shortcuts{max-width:720px}.cash-gpos-operation .cash-reason-field{max-width:900px}.cash-gpos-report .cash-gpos-table-head,.cash-gpos-report .cash-gpos-row{grid-template-columns:minmax(0,1fr) 130px 160px}.cash-gpos-report .cash-gpos-table-head{margin-top:14px}.cash-report-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 8px}.cash-report-kpis>div{min-width:0;padding:13px 14px;border:1px solid #e0e8ee;border-radius:11px;background:#f8fafc}.cash-report-kpis span{display:block;color:#6a7a88!important;font-size:10px!important;letter-spacing:0!important;text-transform:none!important}.cash-report-kpis strong{display:block;margin-top:5px;color:#11243a;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cash-report-kpis small{display:block;margin-top:3px;color:#8a98a3;font-size:9px}.cash-gpos-close-summary{margin-top:14px}.cash-gpos-close-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #dbe4ec;border-radius:11px;overflow:hidden}.cash-gpos-close-grid section{padding:14px 18px;border-right:1px solid #e3eaf0}.cash-gpos-close-grid section:last-child{border-right:0}.cash-gpos-close-grid h4{margin:0 0 8px;font-size:14px;color:#11243a}.cash-gpos-close-grid section>div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #edf1f4;font-size:12px}.cash-gpos-close-grid .total{font-weight:900}.cash-gpos-close-entry{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:14px}.cash-gpos-close-entry label{display:grid;gap:6px;font-size:11px;font-weight:850;color:#596a77}.cash-gpos-close-entry textarea{width:100%;border:1px solid #cfdbe4;border-radius:9px;padding:11px;resize:none}.cash-gpos-close-btn{margin-top:14px;width:100%;min-height:54px;border:0;border-radius:10px;background:#bd4038;color:#fff;font-weight:900;font-size:14px}.cash-gpos-close-btn:hover{background:#a8332d}
.cash-operation-submit.primary{background:#173a56!important}.cash-operation-submit.primary:hover{background:#11243a!important}.cash-operation-submit.danger{background:#bd4038!important;color:#fff!important}.cash-reason-grid button.active,.cash-operation-shortcuts button:hover{border-color:#f6a46b!important;background:#fff4eb!important;color:#8d3d04!important}.cash-ticket-filters button.active{background:#173a56!important;color:#fff!important;border-color:#173a56!important}.cash-count-result .ok{color:#17885d}.cash-count-result .bad{color:#bd4038}.cash-count-result .warn{color:#b96508}

/* Selector de mesero visible por encima de Salones: arregla la apertura de mesas de Cajero/Admin. */
.waiter-picker-dialog{box-shadow:0 24px 70px rgba(0,0,0,.35)!important}.waiter-picker-card{cursor:pointer!important}

@media(max-width:1300px){
  .gpos-topbar .brand small,.gpos-topbar .context{display:none!important}.gpos-nav-button,.gpos-table-context button{padding:0 9px!important;font-size:11px!important}.gpos-topbar .user-pill{display:none!important}
}
@media(max-width:900px){
  .gpos-topbar{overflow-x:auto!important;scrollbar-width:none}.gpos-topbar::-webkit-scrollbar{display:none}.gpos-topbar .brand{position:sticky;left:0;z-index:3;background:#0d1822;padding-right:8px}.gpos-global-nav,.gpos-table-context{flex:0 0 auto}.gpos-topbar .logout-top{display:inline-flex!important}.gpos-table-context{border-left:0}.gpos-nav-button,.gpos-table-context button{height:40px!important;padding:0 10px!important}
  .cash-gpos-shell{grid-template-rows:auto minmax(0,1fr)}.cash-gpos-header{grid-template-columns:minmax(0,1fr) 42px;padding:10px 12px}.cash-gpos-session{grid-column:1/-1;grid-row:2;min-width:0}.cash-gpos-back{grid-column:2;grid-row:1}.cash-gpos-body{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.cash-gpos-content{padding:8px}.cash-gpos-rail{grid-row:2;flex-direction:row;overflow-x:auto;padding:7px;background:#11243a}.cash-gpos-rail-title{display:none}.cash-gpos-rail button{flex:0 0 116px;min-height:48px;grid-template-columns:24px 1fr;font-size:10px}.cash-gpos-shiftbar{grid-template-columns:1fr;gap:3px;padding:8px 10px}.cash-gpos-columns{grid-template-columns:1fr}.cash-gpos-block{border-right:0;border-bottom:1px solid #d8d5d1}.cash-gpos-bottom{grid-template-columns:1fr 1fr}.cash-gpos-bottom strong{grid-column:1/-1}.cash-gpos-operation,.cash-gpos-report,.cash-gpos-close{min-height:auto;padding:14px}.cash-gpos-close-grid{grid-template-columns:1fr}.cash-gpos-close-grid section{border-right:0;border-bottom:1px solid #d8d5d1}.cash-gpos-close-entry{grid-template-columns:1fr}.cash-report-kpis{grid-template-columns:1fr 1fr}.amelia-logo-shell{width:112px;height:34px}
}
@media(max-width:560px){
  .gpos-topbar .brand{font-size:16px}.gpos-topbar .brand small{display:none}.gpos-global-nav #holdBtn{display:none}.gpos-table-context button{font-size:10px!important}.cash-gpos-table-head,.cash-gpos-row{grid-template-columns:minmax(0,1fr) 70px 90px}.cash-gpos-bottom{grid-template-columns:1fr}.cash-gpos-bottom strong{grid-column:auto}.cash-report-kpis{grid-template-columns:1fr}.cash-gpos-brand-row{gap:7px}.cash-gpos-logo{width:92px}
}
@media(prefers-reduced-motion:reduce){.cash-tab-panel{animation:none!important}}

/* RC15 PATCH VISUAL — acercamiento real a la referencia de login aprobada. */
.pos-login-screen{--login-glass:rgba(4,17,28,.31)!important;--login-glass-center:rgba(4,17,28,.23)!important}
.pos-login-tint{opacity:.17!important}
.pos-login-scene-bg{filter:saturate(.98) contrast(1.02) brightness(1.03)!important}
.pos-login-brand{min-width:320px!important;gap:0!important}
.pos-login-brand .amelia-logo-shell{width:320px!important;height:54px!important}
@media(min-width:901px){
  .pos-login-users{background:linear-gradient(90deg,rgba(4,17,28,.33),rgba(4,17,28,.24))!important}
  .pos-login-identity{background:rgba(4,17,28,.23)!important}
  .pos-login-keypad{background:linear-gradient(90deg,rgba(4,17,28,.24),rgba(4,17,28,.34))!important}
  .pos-login-feature-strip{margin-bottom:18px!important}
  .pos-login-key-grid button{height:clamp(64px,8.8vh,84px)!important}
}
@media(min-width:901px) and (max-height:760px){
  .pos-login-feature-strip{margin-bottom:8px!important}
  .pos-login-key-grid button{height:58px!important}
}

/* ==========================================================================
   SECTION: CATÁLOGO / OPERACIÓN
   ========================================================================== */
/* AmeliaPOS Touch FIX5 — identidad Suite: blanco, azul marino y naranjo */
:root{--amelia-navy:#102a43;--amelia-navy-2:#173f5f;--amelia-orange:#f5670a;--amelia-orange-soft:#fff3e8;--amelia-bg:#f4f7fa;--amelia-line:#dbe4ec;--amelia-text:#102033;--amelia-muted:#64788c;--amelia-white:#fff}
.gpos-topbar{background:#fff!important;color:var(--amelia-text)!important;border-bottom:2px solid var(--amelia-orange)!important;box-shadow:0 2px 12px rgba(16,42,67,.08)}
.gpos-topbar .brand small,.gpos-topbar .context,.gpos-topbar .context *{color:var(--amelia-muted)!important}.gpos-topbar .amelia-logo-shell{background:#fff!important;border:0!important}.gpos-topbar .gpos-nav-button,.gpos-topbar .gpos-table-context button{color:var(--amelia-text)!important;background:transparent!important}.gpos-topbar .gpos-nav-button:hover,.gpos-topbar .gpos-table-context button:hover{background:#f2f6f9!important;color:var(--amelia-navy)!important}.gpos-topbar .context-back{color:var(--amelia-orange)!important}.gpos-topbar .user-pill{background:#f5f8fb!important;color:var(--amelia-text)!important;border:1px solid var(--amelia-line)!important}.gpos-topbar .logout-top{background:var(--amelia-navy)!important;color:#fff!important;border-color:var(--amelia-navy)!important}.gpos-topbar .gpos-dropdown{background:#fff!important;color:var(--amelia-text)!important;border:1px solid var(--amelia-line)!important;box-shadow:0 14px 32px rgba(16,42,67,.16)}.gpos-topbar .gpos-dropdown button{color:var(--amelia-text)!important}.gpos-topbar .gpos-dropdown button:hover{background:var(--amelia-orange-soft)!important;color:#a84200!important}
.salon-global-nav{background:#fff!important;border-bottom:1px solid var(--amelia-line)!important;box-shadow:0 3px 12px rgba(16,42,67,.06)}.salon-global-nav button{color:var(--amelia-text)!important}.salon-global-nav button.active,.salon-global-nav button:hover{background:var(--amelia-navy)!important;color:#fff!important}.salon-global-nav .general-nav-brand img{filter:none!important}
.management-shell{background:var(--amelia-bg)!important}.management-header{background:#fff!important;color:var(--amelia-text)!important;border-bottom:2px solid var(--amelia-orange)!important}.management-header h2,.management-header strong,.management-header button{color:var(--amelia-text)!important}.management-header .management-brand img{filter:none!important}.management-sidebar{background:var(--amelia-navy)!important}.management-sidebar button{color:#eaf1f7!important}.management-sidebar button.active{background:#1c4a6d!important;box-shadow:inset 3px 0 var(--amelia-orange)}.management-sidebar button small{color:#b9cad8!important}.management-main{background:var(--amelia-bg)!important}.management-module-head{border-bottom:1px solid var(--amelia-line)}.management-module-head>div:first-child>span,.master-editor>header span,.product-editor-summary>span{color:var(--amelia-orange)!important;letter-spacing:.12em;font-weight:800}.management-module-head h3{color:var(--amelia-text)}
.module-actions{display:flex;gap:8px;flex-wrap:wrap}.file-action{cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.management-subtabs{display:flex;gap:6px;flex-wrap:wrap}.management-subtabs button.active{background:var(--amelia-navy)!important;color:#fff!important;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--amelia-orange)!important}.report-filters{display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,260px) minmax(130px,170px);gap:8px;margin:12px 0}.report-filters input,.report-filters select{min-height:42px;border:1px solid #cdd9e3;border-radius:9px;background:#fff;color:var(--amelia-text);padding:0 11px}
.master-list-card,.master-editor,.report-grid section,.role-matrix-card{border:1px solid var(--amelia-line)!important;box-shadow:0 7px 20px rgba(16,42,67,.06)!important;background:#fff!important}.master-search--tools,.product-filters{display:grid!important;grid-template-columns:minmax(220px,1fr) repeat(2,minmax(150px,auto));gap:8px}.product-filters{grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(130px,1fr))}.master-search--tools input,.master-search--tools select,.product-filters input,.product-filters select{min-height:42px;border:1px solid #cdd9e3;border-radius:9px;background:#fff;color:var(--amelia-text);padding:0 11px}.master-row--media{display:grid!important;grid-template-columns:46px minmax(0,1fr) auto auto!important;align-items:center!important;gap:12px!important}.product-master-row{grid-template-columns:54px minmax(0,1fr) auto auto auto!important}.master-thumb{width:42px;height:42px;border-radius:10px;object-fit:cover;background:#eef3f7;border:1px solid var(--amelia-line);display:grid;place-items:center;font-weight:800;color:var(--amelia-navy)}.master-thumb.product{width:50px;height:50px}.type-chip{font-size:11px;font-weight:800;color:#38546b;background:#edf3f7;border-radius:999px;padding:5px 8px;white-space:nowrap}
.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-top:1px solid var(--amelia-line);color:var(--amelia-muted);font-size:12px}.pager>div{display:flex;align-items:center;gap:8px}.pager button{width:34px;height:32px;border:1px solid var(--amelia-line);background:#fff;border-radius:8px;color:var(--amelia-navy);font-size:18px}.pager button:disabled{opacity:.35}.pager b{min-width:58px;text-align:center;color:var(--amelia-text)}
.thumb-editor{display:grid;grid-template-columns:84px minmax(0,1fr);grid-template-rows:auto auto;gap:8px 14px;align-items:center;padding:12px;background:#f8fafc;border:1px solid var(--amelia-line);border-radius:12px}.thumb-editor .thumb-preview{grid-row:1/3;width:84px;height:84px;border-radius:12px;background:#eef3f7;border:1px dashed #b8c8d6;display:grid;place-items:center;overflow:hidden;color:var(--amelia-muted);font-size:11px;text-align:center}.thumb-editor .thumb-preview img{width:100%;height:100%;object-fit:cover}.product-thumb .thumb-preview{width:112px;height:112px}.product-thumb{grid-template-columns:112px minmax(0,1fr)}.thumb-preview--avatar{border-radius:50%!important}.product-editor-hero{display:grid;grid-template-columns:minmax(300px,.8fr) 1.2fr;gap:16px;margin-bottom:16px}.product-editor-summary{background:linear-gradient(135deg,var(--amelia-navy),#1e4b6c);border-radius:14px;padding:20px;color:#fff;display:flex;flex-direction:column;justify-content:center}.product-editor-summary strong{font-size:24px;margin:5px 0}.product-editor-summary small{color:#cbd9e4}.product-editor-pro{max-width:900px!important}.master-form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.master-form-grid .span-two{grid-column:1/-1}.master-editor textarea{resize:vertical}.recipe-admin{margin-top:14px;border:1px solid var(--amelia-line);border-radius:12px;overflow:hidden;background:#fbfcfd}.recipe-admin>header{padding:11px 13px;background:#f4f7fa;border-bottom:1px solid var(--amelia-line)}.recipe-admin-row{grid-template-columns:minmax(250px,1.5fr) minmax(130px,.7fr) 40px!important}.production-row{display:flex;gap:8px;padding:12px}.production-row input{flex:1}.promo-days{display:flex;gap:8px;flex-wrap:wrap;border:1px solid var(--amelia-line);border-radius:12px;padding:12px;margin:14px 0}.promo-days label{display:flex;align-items:center;gap:5px;background:#f6f8fa;border-radius:8px;padding:7px 9px}.promo-scope{border:1px solid var(--amelia-line);border-radius:12px;padding:12px}.promo-scope select{min-height:118px}.promotion-row .status-chip{margin-left:auto}
.user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.user-admin-row{grid-template-columns:46px minmax(0,1fr) auto auto!important}.alerts-badge{min-width:18px;height:18px;border-radius:999px;background:var(--amelia-orange);color:#fff!important;display:inline-grid;place-items:center;font-size:10px;font-weight:900;padding:0 5px}.alerts-dialog{max-width:680px}.alerts-compose{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:8px;padding:14px;border-bottom:1px solid var(--amelia-line)}.alerts-list{max-height:380px;overflow:auto}.alert-row{width:100%;display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:10px;text-align:left;padding:12px 14px;border:0;border-bottom:1px solid #e7edf2;background:#fff;color:var(--amelia-text)}.alert-row.unread{background:#fff8f2;border-left:3px solid var(--amelia-orange)}.alert-row span{font-weight:800}.alert-row small{color:var(--amelia-muted)}
.connect-mobile-dialog{max-width:720px}.mobile-connect-body{display:grid;grid-template-columns:270px minmax(0,1fr);gap:24px;align-items:center;padding:22px}.mobile-qr{background:#fff;border:1px solid var(--amelia-line);border-radius:18px;padding:14px;box-shadow:0 12px 28px rgba(16,42,67,.09)}.mobile-qr svg{width:100%;height:auto;display:block}.mobile-connect-body code{display:block;overflow-wrap:anywhere;background:#f3f6f9;padding:10px;border-radius:8px;margin:12px 0;color:var(--amelia-navy)}
.direct-sale-panel{margin:18px;background:linear-gradient(135deg,#fff,#f7fbfe);border:1px solid var(--amelia-line);border-left:4px solid var(--amelia-orange);border-radius:14px;padding:18px;display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:14px}.direct-sale-panel>div:first-child{display:flex;flex-direction:column}.direct-sale-panel>div:first-child span{font-size:10px;font-weight:900;color:var(--amelia-orange);letter-spacing:.13em}.direct-sale-panel>div:first-child strong{font-size:22px;color:var(--amelia-text)}.direct-open-tickets{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.direct-open-tickets button{border:1px solid var(--amelia-line);background:#fff;border-radius:10px;padding:10px 13px;display:grid;grid-template-columns:auto auto;gap:2px 14px;text-align:left;color:var(--amelia-text)}.direct-open-tickets button strong{color:var(--amelia-orange)}.direct-open-tickets button small{grid-column:1/-1;color:var(--amelia-muted)}.direct-empty{color:var(--amelia-muted)}
.product-card .promo,.product-row .promo,.tone-promo{color:#9d3d00;background:#fff1e7}.promotion-badge{background:var(--amelia-orange);color:#fff;border-radius:999px;padding:3px 6px;font-size:9px;font-weight:900}
@media(max-width:1000px){.product-filters{grid-template-columns:1fr 1fr}.master-search--tools{grid-template-columns:1fr 1fr}.product-editor-hero{grid-template-columns:1fr}.alerts-compose{grid-template-columns:1fr}.mobile-connect-body{grid-template-columns:1fr}.mobile-qr{max-width:300px;margin:auto}.master-row--media,.product-master-row{grid-template-columns:46px minmax(0,1fr) auto!important}.master-row--media>.type-chip,.product-master-row>.type-chip{display:none}}
@media(max-width:700px){.report-filters{grid-template-columns:1fr}.module-actions{width:100%}.module-actions>*{flex:1}.product-filters,.master-search--tools,.master-form-grid.two{grid-template-columns:1fr}.master-form-grid .span-two{grid-column:auto}.master-row--media,.product-master-row{grid-template-columns:40px minmax(0,1fr) auto!important}.master-row--media>b,.product-master-row>b{display:none}.thumb-editor{grid-template-columns:74px 1fr}.thumb-editor .thumb-preview{width:74px;height:74px}.direct-sale-panel{grid-template-columns:1fr}.direct-sale-panel>.primary{width:100%}.alert-row{grid-template-columns:1fr;gap:3px}.amelia-mobile-pwa .statusbar{display:none}.amelia-mobile-pwa body{overscroll-behavior:none}}
@media print{body{background:#fff!important}body[data-print-section] .overlay:not(#managementOverlay),body[data-print-section] #app,body[data-print-section] .management-header,body[data-print-section] .management-sidebar,body[data-print-section] .module-actions,body[data-print-section] .management-subtabs,body[data-print-section] .master-search,body[data-print-section] .report-filters,body[data-print-section] .pager,body[data-print-section] .master-editor{display:none!important}body[data-print-section] #managementOverlay,body[data-print-section] .management-shell,body[data-print-section] .management-main{display:block!important;position:static!important;overflow:visible!important;background:#fff!important}body[data-print-section="catalog"] .management-module:not(#managementCatalog),body[data-print-section="users"] .management-module:not(#managementUsers),body[data-print-section="reports"] .management-module:not(#managementReports){display:none!important}.management-module{break-inside:avoid}.master-list-card{box-shadow:none!important}}
/* RC7: validación de PIN antes de guardar */
#userPinStatus{display:block;margin-top:5px;min-height:16px;font-size:10px;color:#6f7f8f;font-weight:700}#userPinStatus.checking{color:#526b80}#userPinStatus.ok{color:#16724f}#userPinStatus.error{color:#b8322a}

/* ==========================================================================
   SECTION: CAJA / INTEGRACIÓN
   ========================================================================== */
/* AmeliaPOS Touch FIX6 — terminación visual ecosistema AmeliaPOS / Pocket */
:root{--a6-navy:#0e3159;--a6-navy-2:#164574;--a6-orange:#ff6900;--a6-bg:#f4f7fb;--a6-line:#dbe5ef;--a6-ink:#0f1f33;--a6-muted:#6c7c91;--a6-success:#16875d;--a6-warning:#b45b00}
.cash-gpos-header{background:#fff!important;color:var(--a6-ink)!important;border-bottom:2px solid var(--a6-orange)!important;box-shadow:0 4px 18px rgba(14,49,89,.08)!important}
.cash-gpos-header .view-eyebrow{color:var(--a6-orange)!important}.cash-gpos-header h2{color:var(--a6-ink)!important}.cash-gpos-header p{color:var(--a6-muted)!important}.cash-gpos-session{background:#f7faff!important;border-color:var(--a6-line)!important}.cash-gpos-session span{color:var(--a6-orange)!important}.cash-gpos-session strong{color:var(--a6-ink)!important}.cash-gpos-session small{color:var(--a6-muted)!important}.cash-gpos-back{background:#f5f8fb!important;color:var(--a6-navy)!important;border-color:var(--a6-line)!important}
.cash-gpos-body{grid-template-columns:minmax(0,1fr) 232px!important}.cash-gpos-content{padding:20px clamp(18px,2.5vw,34px) 28px!important;background:var(--a6-bg)!important}.cash-gpos-rail{background:var(--a6-navy)!important;border-left:0!important;padding:14px 10px!important}.cash-gpos-rail-title{color:#a9bed2!important;border-color:rgba(255,255,255,.12)!important}.cash-gpos-rail button{min-height:44px!important;border-radius:9px!important}.cash-gpos-rail button.active{background:#fff!important;color:var(--a6-navy)!important;border-color:#fff!important;box-shadow:inset 3px 0 var(--a6-orange)!important}.cash-gpos-rail .cash-open-rail{background:var(--a6-orange)!important;color:#fff!important;border-color:var(--a6-orange)!important;margin-bottom:5px}.cash-gpos-rail .cash-open-rail span{color:#fff!important}.cash-gpos-rail button.cash-unavailable{opacity:.34;pointer-events:none}.cash-gpos-operation,.cash-gpos-report,.cash-gpos-close{min-height:auto!important;max-width:1180px;margin:0 auto;border:1px solid var(--a6-line)!important;border-radius:16px!important;box-shadow:0 10px 30px rgba(14,49,89,.06)!important}.cash-gpos-summary{max-width:1180px;margin:0 auto}.cash-gpos-columns{min-height:360px!important}.cash-gpos-block{min-height:360px!important}.cash-empty{min-height:360px!important;display:grid!important;place-items:center!important;text-align:center!important;border:1px solid var(--a6-line)!important;border-radius:16px!important;background:#fff!important;padding:32px!important}.cash-empty>div{max-width:520px}.cash-empty strong{font-size:28px!important;color:var(--a6-ink)!important}.cash-empty span{font-size:14px!important;color:var(--a6-muted)!important;margin-top:7px!important}.cash-empty .cash-empty-actions{display:flex;justify-content:center;gap:10px;margin-top:22px}.cash-empty .primary{background:var(--a6-orange)!important;color:#fff!important}.cash-empty .ghost{background:#eef3f8!important;color:var(--a6-navy)!important}
.cash-required-dialog{max-width:560px!important}.cash-required-body{display:grid;gap:7px;padding:18px;border:1px solid var(--a6-line);border-radius:12px;background:#f7faff;color:var(--a6-ink)}.cash-required-body span{color:var(--a6-muted);font-size:13px}
.erp-status-chip{display:inline-flex!important;align-items:center;min-height:30px;padding:0 10px;border:1px solid var(--a6-line);border-radius:999px;background:#f6f9fc;color:var(--a6-muted)!important;font-size:10px!important;font-weight:850}.erp-status-chip.ok{color:var(--a6-success)!important;background:#effaf5;border-color:#ccebdd}.erp-status-chip.pending{color:var(--a6-warning)!important;background:#fff8ef;border-color:#f1dcc0}.pocket-connector-status{display:grid;gap:10px;padding-top:8px}.pocket-connector-status>div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--a6-line)}.pocket-connector-status span{color:var(--a6-muted);font-size:12px}.pocket-connector-status strong{color:var(--a6-ink);text-align:right}.ghost.compact{padding:8px 11px!important;font-size:11px!important}
.mobile-discovery-badge{display:inline-flex;align-items:center;border:1px solid #cfe5da;background:#f2fbf7;color:#176b4e;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;margin:4px 0 8px}.mobile-connect-body code{font-size:13px!important;font-weight:800!important;color:var(--a6-navy)!important}.connect-mobile-dialog{max-width:680px!important}.mobile-connect-body{grid-template-columns:250px minmax(0,1fr)!important}.mobile-qr{box-shadow:none!important;border:1px solid var(--a6-line)!important}
.management-header{box-shadow:0 4px 18px rgba(14,49,89,.08)!important}.management-content{padding:20px clamp(18px,2.4vw,32px)!important}.executive-card,.master-list-card,.master-editor,.report-grid section,.bi-card{border-radius:14px!important;box-shadow:0 8px 24px rgba(14,49,89,.05)!important}.management-module-head{padding-bottom:15px!important;margin-bottom:15px!important}.management-module-head h3{letter-spacing:-.025em}.dashboard-kpis>article,.management-kpis>article{border-radius:14px!important;border:1px solid var(--a6-line)!important;box-shadow:0 5px 18px rgba(14,49,89,.04)!important}
.print-root{display:none}.print-sheet{font-family:Arial,sans-serif;color:#172536;background:#fff;padding:0}.print-sheet-header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--a6-orange);padding:0 0 12px;margin-bottom:16px}.print-sheet-header img{width:118px;height:auto}.print-sheet-header div{text-align:right}.print-sheet-header strong{display:block;font-size:18px}.print-sheet-header small{color:#65758a}.print-sheet .management-module-head{display:block!important}.print-sheet .management-module-head .module-actions,.print-sheet .bi-head-actions,.print-sheet .master-search,.print-sheet .master-search--tools,.print-sheet .product-filters,.print-sheet .report-filters,.print-sheet .management-subtabs,.print-sheet .pager,.print-sheet .master-editor,.print-sheet button,.print-sheet input,.print-sheet select{display:none!important}.print-sheet .master-list{max-height:none!important;overflow:visible!important}.print-sheet .management-table,.print-sheet .cash-closure-list,.print-sheet .inventory-tables{overflow:visible!important}.print-sheet .management-module{display:block!important}.print-sheet .catalog-admin-panel{display:block!important}.print-sheet .catalog-admin-panel:not(.active){display:none!important}.print-sheet .report-panel{display:block!important}.print-sheet .report-panel:not(.active){display:none!important}
@media print{
  @page{margin:10mm;size:auto}
  body.printing-prepared{background:#fff!important;overflow:visible!important}
  body.printing-prepared>*:not(#printRoot){display:none!important}
  body.printing-prepared #printRoot{display:block!important;position:static!important;inset:auto!important;width:auto!important;height:auto!important;overflow:visible!important;background:#fff!important}
  body.printing-prepared #printRoot,body.printing-prepared #printRoot *{visibility:visible!important}
  body.printing-prepared .print-sheet{display:block!important;position:static!important;width:auto!important;overflow:visible!important}
  body.printing-prepared .print-sheet *{box-shadow:none!important}
  body.printing-prepared .master-row,body.printing-prepared .management-table>div,body.printing-prepared .cash-history-card,body.printing-prepared article{break-inside:avoid}
}
@media(max-width:760px){.cash-gpos-body{grid-template-columns:1fr!important}.cash-gpos-content{padding:9px!important}.cash-gpos-header{grid-template-columns:minmax(0,1fr) 42px!important}.cash-gpos-session{grid-column:1/-1!important}.cash-gpos-rail{background:var(--a6-navy)!important}.cash-gpos-rail .cash-open-rail{flex:0 0 116px!important}.mobile-connect-body{grid-template-columns:1fr!important}.mobile-qr{max-width:280px;margin:auto}.erp-status-chip{display:none!important}}
.cash-gpos-header{grid-template-columns:minmax(0,1fr) auto auto 46px!important}.cash-header-print{min-height:38px;border:1px solid var(--a6-line);border-radius:9px;background:#f6f9fc;color:var(--a6-navy);padding:0 13px;font-weight:800}.cash-header-print:hover{background:#edf3f8}@media(max-width:760px){.cash-gpos-header{grid-template-columns:minmax(0,1fr) auto 42px!important}.cash-header-print{grid-column:2;grid-row:1}.cash-gpos-back{grid-column:3!important}}
.app-view--cash{z-index:280!important}#cashRequiredOverlay{z-index:320!important}.app-view--cash-management{z-index:240!important}
.pocket-connector-status .connector-warning{background:#fff8ef;border:1px solid #f2d6b1;border-radius:10px;padding:10px!important}.pocket-connector-status .connector-warning strong{color:#8e4800!important}
.dashboard-open-cash{margin-left:auto;min-height:34px;padding:0 14px;border:0;border-radius:9px;background:var(--a6-orange);color:#fff;font-weight:850;cursor:pointer}.dashboard-open-cash:hover{filter:brightness(.97)}
.pocket-card-actions{display:flex;gap:7px;align-items:center}.pocket-config-dialog{max-width:620px!important}.pocket-config-dialog>label:not(.pocket-config-toggle){display:grid;gap:7px;margin:18px 0}.pocket-config-dialog>label>span{font-size:12px;font-weight:850;color:var(--a6-ink)}.pocket-config-dialog input[type="url"]{min-height:46px;border:1px solid var(--a6-line);border-radius:10px;padding:0 13px;font-size:14px;color:var(--a6-ink);background:#fff}.pocket-config-dialog input[type="url"]:disabled{background:#eef3f8;color:var(--a6-muted)}.pocket-config-toggle{display:flex!important;align-items:flex-start;gap:11px;padding:14px;border:1px solid var(--a6-line);border-radius:11px;background:#f8fafc}.pocket-config-toggle input{margin-top:3px}.pocket-config-toggle span{display:grid;gap:3px}.pocket-config-toggle small{font-weight:500;color:var(--a6-muted)}.pocket-config-locked{margin-top:10px;padding:9px 11px;border-radius:9px;background:#eef3f8;color:var(--a6-muted);font-size:12px}

/* ==========================================================================
   SECTION: TOPOLOGÍA
   ========================================================================== */
.erp-status-chip.is-standalone{background:#eef6ff;color:#173f70;border-color:#cfe0f4}.erp-status-chip.is-online{background:#ecfdf3;color:#166534;border-color:#bbf7d0}.erp-status-chip.is-pending{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.topology-mode-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;border:1px solid #dce6f1;border-radius:16px;background:linear-gradient(135deg,#fff 0%,#f8fbff 100%);margin-bottom:14px}.topology-mode-banner>div{display:flex;align-items:center;gap:11px}.topology-mode-banner strong{display:block;color:#0f2c4c;font-size:14px}.topology-mode-banner small{display:block;color:#64748b;font-size:12px;margin-top:2px}.topology-mode-banner>b{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#1f5b8f;background:#edf5fc;border:1px solid #d5e5f3;border-radius:999px;padding:6px 10px}.topology-mode-dot{width:11px;height:11px;border-radius:50%;box-shadow:0 0 0 5px rgba(39,112,170,.08)}.topology-mode-dot.standalone{background:#2770aa}.topology-mode-dot.online{background:#22a06b}
.topology-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.8fr);gap:14px;align-items:start}.topology-side-stack{display:grid;gap:14px}.topology-branches-card{min-height:420px}.topology-branch-list{display:grid;gap:11px;padding:2px}.topology-branch{border:1px solid #dfe7ef;border-radius:15px;background:#fff;padding:13px}.topology-branch.is-current{border-color:#f3b462;box-shadow:0 0 0 2px rgba(245,139,31,.08)}.topology-branch>header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid #edf1f5}.topology-branch>header>div{display:flex;align-items:center;gap:10px}.topology-branch-code{min-width:48px;padding:6px 8px;text-align:center;border-radius:9px;background:#102f50;color:#fff;font-size:10px;font-weight:850;letter-spacing:.06em}.topology-branch header strong{display:block;color:#0f2c4c}.topology-branch header small{display:block;color:#708196;font-size:11px;margin-top:2px}.topology-branch header em{font-style:normal;color:#b85a00;background:#fff4e8;border:1px solid #fed7aa;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:850}.topology-branch footer{display:flex;gap:14px;color:#708196;font-size:11px;font-weight:700;padding-top:10px}.topology-warehouse-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:10px}.topology-warehouse{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #e5ebf2;border-radius:11px;background:#f9fbfd}.topology-warehouse.is-current{background:#fff8ef;border-color:#f3c184}.topology-warehouse>span{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#e9f1f8;color:#1f5b8f}.topology-warehouse strong{display:block;font-size:12px;color:#1d334b}.topology-warehouse small{display:block;font-size:10px;color:#718096;margin-top:2px}
.topology-compact-form{display:grid;gap:10px;padding-top:2px}.topology-compact-form label>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#63758a;font-weight:800;margin-bottom:5px}.topology-compact-form input,.topology-compact-form select{width:100%;min-height:39px;border:1px solid #d7e1eb;border-radius:10px;background:#fff;padding:8px 10px;color:#1e344b}.topology-compact-form>small{font-size:10px;color:#7b8795;line-height:1.4}.topology-two{display:grid;grid-template-columns:1fr 1fr;gap:9px}.topology-inline-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.topology-form-hint{font-size:11px;color:#61738a;background:#f8fafc;border:1px solid #e6ebf0;border-radius:9px;padding:8px 9px}.topology-form-hint strong{color:#163d65}.topology-dialog{max-width:520px}
@media(max-width:1150px){.topology-layout{grid-template-columns:1fr}.topology-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.topology-side-stack>section:last-child{grid-column:1/-1}}
@media(max-width:760px){.topology-mode-banner{align-items:flex-start;flex-direction:column}.topology-warehouse-grid,.topology-side-stack,.topology-two,.topology-inline-actions{grid-template-columns:1fr}.topology-side-stack>section:last-child{grid-column:auto}.topology-branch>header{align-items:flex-start}.topology-branch>header>div{align-items:flex-start}}
.connector-standalone-message{grid-column:1/-1;padding:12px 13px;border:1px solid #dce7f2;border-radius:12px;background:#f8fbff}.connector-standalone-message span{display:block;color:#1f5b8f;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.connector-standalone-message strong{display:block;color:#12385e;margin-top:3px}.connector-standalone-message small{display:block;color:#6b7e93;margin-top:3px;line-height:1.4}

/* ==========================================================================
   SECTION: REPORTERÍA
   ========================================================================== */
/* AmeliaPOS Touch FIX8 - enterprise finish */
.management-header{min-height:76px;padding:0 22px;background:#fff;border-bottom:3px solid #f97316;box-shadow:0 1px 0 #dce5ef;display:flex;align-items:center;justify-content:space-between;gap:18px}.management-brand{min-width:0;display:flex;align-items:center;gap:16px}.management-brand .amelia-logo-shell{width:122px;height:46px;padding:7px 12px;border:1px solid #e4eaf1;border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.06)}.management-brand>div{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"eye title" "eye help";column-gap:14px;align-items:center}.management-brand .view-eyebrow{grid-area:eye;color:#ea580c;font-size:9px;letter-spacing:.17em;font-weight:900;writing-mode:horizontal-tb}.management-brand h2{grid-area:title;margin:0;font-size:22px;line-height:1.05;color:#0f172a}.management-brand p{grid-area:help;margin:2px 0 0;color:#64748b;font-size:11px}.management-header-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.management-live-context{display:flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid #dbe4ee;border-radius:12px;background:#f8fafc}.management-live-context span{font-size:11px;font-weight:750;color:#475569}.management-live-context b{font-size:10px;padding:4px 7px;border-radius:999px;background:#fff1e7;color:#9a3412}.management-live-context b.open{background:#ecfdf5;color:#047857}.management-user-badge{display:flex;align-items:center;gap:8px;padding:5px 10px 5px 6px;border-left:1px solid #e2e8f0}.management-user-badge i{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#112f4a;color:#fff;font-style:normal;font-weight:900}.management-user-badge span{display:flex;flex-direction:column}.management-user-badge b{font-size:11px;color:#0f172a}.management-user-badge small{font-size:10px;color:#64748b;max-width:130px;overflow:hidden;text-overflow:ellipsis}.management-header-actions .view-back{width:40px;height:40px;border-radius:11px;background:#112f4a;color:#fff;border:0}.erp-status-chip{font-size:10px;font-weight:850;padding:7px 10px;border-radius:999px;background:#f8fafc;border:1px solid #dbe4ee;color:#475569}.erp-status-chip.ok{background:#ecfdf5;color:#047857}.erp-status-chip.pending{background:#fff7ed;color:#9a3412}
.enterprise-reports-head{margin-bottom:10px}.report-enterprise-filterbar{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr)) minmax(220px,1.8fr) 90px;gap:8px;padding:11px;margin:0 0 10px;border:1px solid #dbe4ee;border-radius:15px;background:#fff}.report-enterprise-filterbar label{display:flex;flex-direction:column;gap:4px;min-width:0}.report-enterprise-filterbar label>span{font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#64748b}.report-enterprise-filterbar select,.report-enterprise-filterbar input{width:100%;height:38px;border:1px solid #cfd9e5;border-radius:10px;background:#fff;color:#0f172a;padding:0 10px;font-weight:700;font-size:12px}.report-enterprise-tabs{display:flex;overflow-x:auto;gap:5px;padding:4px;background:#edf3f8;border-radius:12px;margin-bottom:11px}.report-enterprise-tabs button{flex:0 0 auto;border:0;background:transparent;border-radius:9px;padding:9px 12px;color:#475569;font-weight:800}.report-enterprise-tabs button.active{background:#112f4a;color:#fff;box-shadow:0 0 0 2px #fdba74}.report-admin-panel{display:none}.report-admin-panel.active{display:block}.report-context-strip{display:flex;gap:22px;align-items:center;min-height:42px;padding:8px 12px;margin-bottom:10px;border:1px solid #e1e8f0;border-radius:12px;background:#fff;color:#475569;font-size:11px}.report-context-strip span{display:flex;gap:6px}.report-context-strip b{color:#0f172a}.enterprise-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}.enterprise-metric{padding:13px 14px;border:1px solid #dbe4ee;border-radius:14px;background:#fff;min-height:92px}.enterprise-metric>span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#64748b;font-weight:900}.enterprise-metric strong{display:block;margin-top:5px;color:#0f172a;font-size:25px;line-height:1}.enterprise-metric small{display:block;margin-top:7px;color:#64748b;font-size:10px}.enterprise-metric.warn{border-color:#fed7aa;background:#fffaf5}.enterprise-metric.ok{border-color:#bbf7d0}.enterprise-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.enterprise-report-card{margin-bottom:10px;border:1px solid #dbe4ee;border-radius:15px;background:#fff;overflow:hidden}.enterprise-report-card>header{min-height:54px;padding:10px 13px;border-bottom:1px solid #e6edf4;display:flex;align-items:center;justify-content:space-between}.enterprise-report-card>header strong{display:block;font-size:13px;color:#0f172a}.enterprise-report-card>header small{display:block;margin-top:2px;font-size:10px;color:#64748b}.enterprise-table{width:100%;overflow:auto}.enterprise-table-head,.enterprise-table-row{display:grid;grid-template-columns:repeat(var(--report-cols,5),minmax(90px,1fr));align-items:center;min-width:640px}.enterprise-table-head{background:#f7f9fc;border-bottom:1px solid #dbe4ee}.enterprise-table-head span{padding:8px 10px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.enterprise-table-row{border-bottom:1px solid #edf1f5}.enterprise-table-row:last-child{border-bottom:0}.enterprise-table-row span{padding:9px 10px;font-size:11px;color:#334155;overflow:hidden;text-overflow:ellipsis}.enterprise-table-row span b{color:#0f172a}.enterprise-table-row small{display:block;color:#7b8ba0;font-size:9px;margin-top:2px}.enterprise-table-row .negative{color:#b42318}.enterprise-recommendations{padding:6px}.enterprise-recommendations article{display:flex;gap:9px;padding:9px;border-radius:10px}.enterprise-recommendations article+article{border-top:1px solid #edf1f5}.enterprise-recommendations i{width:8px;height:8px;border-radius:999px;background:#2f6fed;margin-top:5px;flex:0 0 auto}.enterprise-recommendations article.warning i{background:#f97316}.enterprise-recommendations article.ok i{background:#16a34a}.enterprise-recommendations strong{display:block;font-size:11px;color:#0f172a}.enterprise-recommendations span{display:block;margin-top:2px;font-size:10px;color:#64748b;line-height:1.4}.enterprise-hour-chart{padding:12px}.enterprise-hour-chart>div{display:grid;grid-template-columns:52px minmax(120px,1fr) 90px 165px;gap:10px;align-items:center;min-height:32px}.enterprise-hour-chart>div>span,.enterprise-hour-chart>div>small{font-size:10px;color:#64748b}.enterprise-hour-chart>div>strong{font-size:11px;text-align:right}.enterprise-hour-chart i{height:8px;background:#edf2f7;border-radius:999px;overflow:hidden}.enterprise-hour-chart i b{display:block;height:100%;background:linear-gradient(90deg,#f97316,#fb923c);border-radius:inherit}.report-zero,.report-loading{min-height:110px;display:grid;place-content:center;text-align:center;color:#64748b;padding:20px}.report-zero strong{color:#0f172a}.stock-state{padding:4px 7px;border-radius:999px;font-size:9px}.stock-state.ok{background:#ecfdf5;color:#047857}.stock-state.low{background:#fff7ed;color:#c2410c}.stock-state.out{background:#fef2f2;color:#b42318}
.connect-mobile-dialog--enterprise{width:min(760px,calc(100vw - 30px));max-width:760px;padding:0;overflow:hidden;border-radius:20px}.mobile-connect-head{padding:20px 22px 14px;border-bottom:1px solid #e5ebf2}.mobile-connect-head h2{margin:5px 0 3px;font-size:24px}.mobile-connect-head p{margin:0;color:#64748b}.mobile-connect-grid{display:grid;grid-template-columns:310px 1fr;gap:24px;padding:22px}.mobile-qr-panel{display:flex;flex-direction:column;gap:12px}.mobile-qr{width:100%;aspect-ratio:1;border:1px solid #d6e0eb;border-radius:18px;background:#fff;display:grid;place-items:center;padding:22px;overflow:hidden}.mobile-qr svg,.mobile-qr canvas{width:100%!important;height:100%!important}.mobile-qr-state{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.mobile-qr-state>span{width:10px;height:10px;border-radius:999px;background:#94a3b8}.mobile-qr-state>span.ok{background:#16a34a;box-shadow:0 0 0 4px #dcfce7}.mobile-qr-state>span.checking{background:#f59e0b}.mobile-qr-state>span.error{background:#dc2626}.mobile-qr-state strong{display:block;font-size:11px}.mobile-qr-state small{display:block;color:#64748b;font-size:10px;margin-top:2px}.mobile-connect-info{display:flex;flex-direction:column;gap:10px}.mobile-connect-step{display:flex;gap:10px;padding:9px 0}.mobile-connect-step>b{width:26px;height:26px;border-radius:8px;background:#fff1e7;color:#ea580c;display:grid;place-items:center}.mobile-connect-step strong{display:block;font-size:12px}.mobile-connect-step span{display:block;color:#64748b;font-size:11px;line-height:1.45;margin-top:2px}.mobile-access-card{padding:12px;border:1px solid #dbe4ee;border-radius:13px;background:#f8fafc}.mobile-access-card>span{display:block;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.mobile-access-card>strong{display:block;margin:5px 0;font-size:14px;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-access-card>small{display:block;font-size:10px;color:#047857;font-weight:800}.mobile-connect-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-connect-actions #verifyMobileUrl{grid-column:1/-1}.mobile-connect-actions button{min-height:40px;border-radius:10px}.mobile-connect-help{margin:0;padding:9px 10px;background:#fff7ed;color:#7c2d12;border-radius:10px;font-size:10px;line-height:1.4}.mobile-qr-unavailable{text-align:center;color:#64748b}.mobile-qr-unavailable strong{display:block;color:#0f172a}
.enterprise-print-sheet{font-family:Arial,sans-serif;color:#111827}.enterprise-print-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid #f97316;padding-bottom:12px;margin-bottom:10px}.enterprise-print-company{display:flex;align-items:center;gap:12px}.enterprise-print-company img{width:112px;max-height:42px;object-fit:contain}.enterprise-print-company strong,.enterprise-print-title strong{display:block;font-size:16px}.enterprise-print-company span,.enterprise-print-title span,.enterprise-print-title small{display:block;font-size:9px;color:#64748b;margin-top:2px}.enterprise-print-title{text-align:right}.enterprise-print-title span{color:#ea580c;font-weight:900;letter-spacing:.12em}.enterprise-print-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;border:1px solid #d1d5db;background:#f8fafc;padding:7px;margin-bottom:10px}.enterprise-print-meta span{font-size:9px}.enterprise-print-meta b{display:block;color:#475569;text-transform:uppercase;font-size:7px;letter-spacing:.07em;margin-bottom:2px}.enterprise-print-sheet>footer{display:flex;justify-content:space-between;border-top:1px solid #9ca3af;margin-top:16px;padding-top:7px;font-size:8px;color:#6b7280}
@media(max-width:1180px){.report-enterprise-filterbar{grid-template-columns:repeat(4,1fr)}.enterprise-report-grid{grid-template-columns:1fr}.management-live-context{display:none}}
@media(max-width:760px){.management-header{padding:8px 12px;min-height:66px}.management-brand .amelia-logo-shell{width:100px}.management-brand>div{display:none}.management-user-badge small,.erp-status-chip{display:none}.report-enterprise-filterbar{grid-template-columns:1fr 1fr}.report-filter-search{grid-column:1/-1}.enterprise-kpis{grid-template-columns:1fr 1fr}.mobile-connect-grid{grid-template-columns:1fr}.mobile-qr-panel{max-width:300px;margin:auto;width:100%}.connect-mobile-dialog--enterprise{max-height:94vh;overflow:auto}}
@media print{body.printing-enterprise #printRoot{display:block!important;background:#fff!important}.enterprise-print-sheet{width:100%;padding:0!important}.enterprise-print-sheet .report-context-strip{display:none}.enterprise-print-sheet .enterprise-kpis{grid-template-columns:repeat(4,1fr);gap:5px}.enterprise-print-sheet .enterprise-metric{min-height:62px;padding:7px;border-radius:6px}.enterprise-print-sheet .enterprise-metric strong{font-size:16px}.enterprise-print-sheet .enterprise-report-card{break-inside:avoid;border-radius:6px}.enterprise-print-sheet .enterprise-report-grid{grid-template-columns:1fr 1fr;gap:6px}.enterprise-print-sheet .enterprise-table-head span,.enterprise-print-sheet .enterprise-table-row span{font-size:8px;padding:5px}.enterprise-print-sheet .enterprise-recommendations span{font-size:8px}.enterprise-print-sheet .enterprise-hour-chart>div{grid-template-columns:42px 1fr 70px 130px;min-height:24px}.enterprise-print-sheet .enterprise-hour-chart>div>*{font-size:8px!important}}
/* RC11 — enrolamiento Android en 2 QR, sin dependencia de Internet */
.connect-mobile-dialog--2qr{width:min(980px,calc(100vw - 28px));max-width:980px}
.mobile-enroll-body{padding:20px 22px 22px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.mobile-enroll-qr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.mobile-enroll-card{min-width:0;border:1px solid #dbe4ee;border-radius:16px;background:#fff;padding:14px;display:flex;flex-direction:column;gap:10px}
.mobile-enroll-title{display:flex;align-items:center;gap:9px;min-height:38px}
.mobile-enroll-title>b{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto;background:#fff1e7;color:#ea580c;font-size:16px}
.mobile-enroll-title strong{display:block;font-size:13px;color:#0f172a}.mobile-enroll-title span{display:block;margin-top:2px;color:#64748b;font-size:10px}
.mobile-enroll-card .mobile-qr{padding:16px;border-radius:14px;aspect-ratio:1;max-width:260px;width:100%;margin:0 auto}
.mobile-enroll-card p{margin:0;color:#475569;font-size:10px;line-height:1.45}.mobile-enroll-card p b{color:#0f172a}
.mobile-enroll-card>small{display:block;min-height:30px;padding:7px 8px;background:#f8fafc;border-radius:8px;color:#64748b;font-size:9px;line-height:1.35;overflow-wrap:anywhere}
.mobile-enroll-status{display:flex;flex-direction:column;gap:10px;position:sticky;top:0}
.mobile-enroll-status .mobile-access-card>strong{white-space:normal;font-size:12px;line-height:1.35}
.mobile-enroll-status .mobile-connect-actions{grid-template-columns:1fr 1fr}.mobile-enroll-status .mobile-connect-actions #verifyMobileUrl{grid-column:1/-1}
.mobile-qr--enroll{border-color:#fed7aa;background:#fffaf5}.mobile-qr--app{border-color:#bfdbfe;background:#fbfdff}
@media(max-width:820px){.connect-mobile-dialog--2qr{max-height:94vh;overflow:auto}.mobile-enroll-body{grid-template-columns:1fr}.mobile-enroll-status{position:static}.mobile-enroll-card .mobile-qr{max-width:230px}}
@media(max-width:560px){.mobile-connect-head{padding:15px 16px 12px}.mobile-connect-head h2{font-size:20px}.mobile-enroll-body{padding:14px;gap:12px}.mobile-enroll-qr-grid{grid-template-columns:1fr}.mobile-enroll-card{padding:12px}.mobile-enroll-card .mobile-qr{max-width:220px}.mobile-enroll-status .mobile-connect-actions{grid-template-columns:1fr}.mobile-enroll-status .mobile-connect-actions #verifyMobileUrl{grid-column:auto}}

/* ==========================================================================
   SECTION: INVENTARIO
   ========================================================================== */
/* AmeliaPOS Touch FIX9 - densidad, jerarquía y terminación de suite */
:root{--suite-navy:#0d2c4b;--suite-navy-2:#173f60;--suite-orange:#f36b14;--suite-bg:#f5f7fa;--suite-line:#dce4ec;--suite-muted:#67788b;--suite-card:#fff}
.management-subdialog{z-index:420!important}.management-subdialog .dialog{box-shadow:0 24px 70px rgba(9,31,53,.24)!important}
.management-shell{background:var(--suite-bg)!important}.management-header{min-height:68px!important;height:68px!important;padding:8px 20px!important;border-bottom:2px solid var(--suite-orange)!important}.management-brand{gap:13px!important}.management-brand .amelia-logo-shell{width:112px!important;height:40px!important;padding:5px 8px!important}.management-brand>div>span{font-size:9px!important}.management-brand h2{font-size:21px!important;line-height:1.05!important;margin:1px 0!important}.management-brand p{font-size:10px!important;margin-top:2px!important}.management-header-actions{gap:8px!important}.management-live-context{min-height:36px!important;padding:5px 9px!important;border-radius:10px!important}.management-user-badge{min-height:38px!important;padding:3px 4px 3px 7px!important}.management-user-badge i{width:32px!important;height:32px!important;border-radius:9px!important}.view-back{width:38px!important;height:38px!important;border-radius:10px!important}.erp-status-chip{padding:7px 9px!important;font-size:9px!important}.management-body{grid-template-columns:212px minmax(0,1fr)!important}.management-rail{padding:11px 9px!important;gap:3px!important;background:var(--suite-navy)!important}.management-rail button{min-height:52px!important;padding:8px 9px!important;border-radius:10px!important;grid-template-columns:28px 1fr!important}.management-rail button>span{width:28px!important;height:28px!important;border-radius:8px!important}.management-rail button b{font-size:11px!important}.management-rail button small{font-size:8.5px!important;line-height:1.25!important}.management-content{padding:18px 22px 30px!important;background:var(--suite-bg)!important}.management-module{max-width:1540px;margin:0 auto}.management-module-head{min-height:72px!important;padding:0 0 13px!important;margin-bottom:14px!important;align-items:center!important}.management-module-head h3{font-size:27px!important;letter-spacing:-.035em!important;margin:2px 0 3px!important}.management-module-head p{font-size:11px!important;max-width:720px!important;line-height:1.4!important}.module-actions{gap:7px!important}.module-actions button,.module-actions .ghost,.module-actions .primary{min-height:40px!important;padding:0 14px!important;border-radius:10px!important;font-size:11px!important}.icon-refresh{width:40px;height:40px;border:1px solid var(--suite-line);border-radius:10px;background:#fff;color:var(--suite-navy);font-size:18px;font-weight:900}.icon-refresh.busy{animation:suiteSpin .7s linear infinite}@keyframes suiteSpin{to{transform:rotate(360deg)}}
.management-kpis{gap:9px!important;margin:0 0 12px!important}.management-kpis>div,.management-kpis>article{min-height:82px!important;padding:12px 14px!important;border-radius:13px!important;box-shadow:none!important;border:1px solid var(--suite-line)!important}.management-kpis span{font-size:8.5px!important}.management-kpis strong{font-size:21px!important;margin-top:3px!important}.management-kpis small{font-size:9px!important;margin-top:2px!important}.management-kpis .attention{border-color:#fed7aa!important;background:#fffaf4!important}
.topology-mode-banner{padding:11px 13px!important;border-radius:13px!important;margin-bottom:10px!important}.topology-layout{grid-template-columns:minmax(0,1.8fr) minmax(300px,.72fr)!important;gap:10px!important}.topology-side-stack{gap:10px!important}.topology-branches-card{min-height:310px!important}.master-list-card{border-radius:13px!important;box-shadow:none!important;border:1px solid var(--suite-line)!important}.master-list-card>header{padding:11px 13px!important}.topology-branch{padding:10px!important;border-radius:12px!important}.topology-branch-list{gap:8px!important}.topology-warehouse-grid{gap:6px!important;padding-top:8px!important}.topology-warehouse{padding:7px!important;border-radius:9px!important}.topology-compact-form{gap:8px!important;padding:10px 12px 12px!important}.topology-compact-form input,.topology-compact-form select{min-height:36px!important;border-radius:9px!important}.topology-compact-form button{min-height:38px!important;padding:8px 10px!important}
/* Inventario profesional */
.inventory-filterbar{display:grid;grid-template-columns:1fr 1fr .8fr .8fr minmax(240px,1.4fr) 90px;gap:8px;padding:10px;border:1px solid var(--suite-line);border-radius:13px;background:#fff;margin-bottom:10px}.inventory-filterbar label{display:grid;gap:4px}.inventory-filterbar label>span{font-size:8.5px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#617489}.inventory-filterbar input,.inventory-filterbar select{width:100%;height:38px;border:1px solid #cfdae5;border-radius:9px;background:#fff;padding:0 10px;color:#132c47;outline:0}.inventory-filterbar input:focus,.inventory-filterbar select:focus{border-color:#8fb1cf;box-shadow:0 0 0 3px rgba(28,94,144,.08)}.inventory-pro-kpis{grid-template-columns:repeat(5,minmax(0,1fr))!important}.inventory-pro-tabs{margin:0 0 10px!important;padding:4px!important;background:#eaf0f5!important;border-radius:11px!important;gap:3px!important}.inventory-pro-tabs button{padding:8px 12px!important;border-radius:8px!important;font-size:10px!important}.inventory-pro-panel{display:none}.inventory-pro-panel.active{display:block}.suite-table-card{border:1px solid var(--suite-line);border-radius:13px;background:#fff;overflow:hidden}.suite-table{width:100%;display:grid}.suite-table-head,.suite-table-row{display:grid;align-items:center;min-width:900px}.suite-table--stock .suite-table-head,.suite-table--stock .suite-table-row{grid-template-columns:90px minmax(200px,1.25fr) minmax(180px,1fr) 110px 110px 100px 105px}.suite-table--moves .suite-table-head,.suite-table--moves .suite-table-row{grid-template-columns:145px minmax(190px,1.2fr) minmax(170px,1fr) minmax(160px,1fr) 120px 110px 130px}.suite-table-head{background:#edf3f7;border-bottom:1px solid var(--suite-line)}.suite-table-head span{padding:8px 10px;font-size:8.5px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#526980}.suite-table-row{border-bottom:1px solid #edf1f5;min-height:48px}.suite-table-row:last-child{border-bottom:0}.suite-table-row>span{padding:7px 10px;font-size:10.5px;color:#203750;min-width:0}.suite-table-row b{display:block;font-size:11px}.suite-table-row small{display:block;margin-top:2px;color:#788a9c;font-size:8.5px;line-height:1.25;white-space:normal}.suite-table-row .negative{color:#b6322d}.suite-table-row .positive{color:#087657}.suite-status,.movement-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:4px 7px;border-radius:999px;font-style:normal;font-size:8.5px;font-weight:900}.suite-status.ok{background:#e9f8f0;color:#087657}.suite-status.low,.movement-badge.warn{background:#fff3dd;color:#a15c08}.suite-status.out,.movement-badge.danger{background:#fff0ee;color:#b6322d}.movement-badge.ok{background:#e9f8f0;color:#087657}.movement-badge.info{background:#edf5fc;color:#205d8d}.movement-badge.sale{background:#eef2ff;color:#4756a9}.movement-badge.neutral{background:#eef2f5;color:#58697a}.suite-empty{min-height:220px;display:grid;place-items:center;align-content:center;text-align:center;gap:5px;border:1px solid var(--suite-line);border-radius:13px;background:#fff;color:var(--suite-muted)}.suite-empty>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#eef3f7;color:#8ca0b3;font-weight:900}.suite-empty strong{color:#19334e;font-size:14px}.suite-empty small{font-size:10px;max-width:420px}.inventory-operation-dialog{width:min(700px,100%)!important}.inventory-operation-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.inventory-operation-grid label{margin:9px 0!important}.inventory-operation-grid .span-two{grid-column:1/-1}.inventory-operation-grid select{width:100%;border:1px solid #cdd8e2;border-radius:9px;min-height:42px;padding:0 10px;background:#fff}.inventory-operation-balance{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:10px 12px;background:#f3f7fa;border:1px solid #dce5ed;border-radius:10px;margin-top:8px}.inventory-operation-balance span,.inventory-operation-balance small{font-size:9px;color:#708397}.inventory-operation-balance strong{font-size:14px;color:#163a5f}
/* Reportes más densos y estados útiles */
.report-enterprise-filterbar{gap:7px!important;padding:9px!important;border-radius:13px!important}.report-enterprise-filterbar input,.report-enterprise-filterbar select{height:38px!important;border-radius:9px!important;font-size:10.5px!important}.report-enterprise-tabs{padding:4px!important;margin:0 0 10px!important;border-radius:11px!important;gap:2px!important}.report-enterprise-tabs button{padding:8px 11px!important;border-radius:8px!important;font-size:9.5px!important}.report-admin-panel{min-height:260px}.enterprise-kpis{gap:8px!important;margin:0 0 9px!important}.enterprise-metric{min-height:76px!important;padding:11px 13px!important;border-radius:12px!important;box-shadow:none!important}.enterprise-metric strong{font-size:20px!important}.enterprise-report-card{border-radius:13px!important;box-shadow:none!important}.enterprise-report-card>header{padding:10px 12px!important}.enterprise-report-card>header strong{font-size:11px!important}.enterprise-table-head span,.enterprise-table-row span{padding:7px 9px!important;font-size:9.5px!important}.report-context-strip{margin-bottom:8px!important;padding:8px 10px!important;border-radius:10px!important}.suite-loading{min-height:240px;display:grid;place-items:center;align-content:center;gap:5px;color:#66798b}.suite-loading strong{color:#173b5d;font-size:14px}.suite-loading span{font-size:10px}.report-empty-enterprise{border:0;border-radius:0;min-height:240px}
/* Menos peso visual general */
.dashboard-layout,.report-grid,.inventory-tables{gap:10px!important}.executive-card{border-radius:13px!important;box-shadow:none!important}.master-editor{box-shadow:0 14px 38px rgba(16,46,73,.11)!important}.pager{min-height:42px!important;padding:8px 4px!important}.pager button{width:34px!important;height:34px!important;border-radius:9px!important}
@media(max-width:1180px){.management-body{grid-template-columns:190px minmax(0,1fr)!important}.inventory-filterbar{grid-template-columns:repeat(3,1fr)}.inventory-search{grid-column:span 2}.inventory-pro-kpis{grid-template-columns:repeat(3,1fr)!important}.topology-layout{grid-template-columns:1fr!important}}
@media(max-width:760px){.management-body{grid-template-columns:1fr!important}.management-content{padding:10px!important}.management-module-head{align-items:flex-start!important;gap:9px!important}.management-module-head .module-actions{width:100%;overflow-x:auto;justify-content:flex-start}.inventory-filterbar{grid-template-columns:1fr 1fr}.inventory-search{grid-column:1/-1}.inventory-pro-kpis{grid-template-columns:1fr 1fr!important}.suite-table-card{overflow-x:auto}.inventory-operation-grid{grid-template-columns:1fr}.inventory-operation-grid .span-two{grid-column:auto}.management-subdialog{padding:8px!important;align-items:end!important}}

/* ==========================================================================
   SECTION: IMPRESIÓN
   ========================================================================== */
:root{--prod-navy:#102a43;--prod-orange:#f5670a;--prod-orange-soft:#fff4ea;--prod-line:#dbe4ec;--prod-muted:#64788c;--prod-bg:#f6f8fb}
.production-dialog{width:min(1080px,calc(100vw - 36px));height:min(820px,calc(100dvh - 36px));max-height:none;padding:0!important;overflow:hidden;display:flex;flex-direction:column;border-radius:18px!important}.production-suite-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 26px 17px;border-bottom:1px solid var(--prod-line);background:#fff}.production-suite-head h2{margin:4px 0 3px;font-size:26px;color:#102033}.production-suite-head p{margin:0;color:var(--prod-muted);font-size:13px}.production-head-state{display:flex;align-items:center;gap:10px}.production-state-pill{border:1px solid #d8e4ed;background:#f7fafc;color:#36536b;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:850}.production-body{padding:16px 20px 20px;overflow:auto;background:var(--prod-bg);min-height:0;flex:1}.production-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.production-overview article{background:#fff;border:1px solid var(--prod-line);border-radius:13px;padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:2px 10px}.production-overview span{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--prod-muted)}.production-overview strong{grid-row:1/3;grid-column:2;font-size:22px;color:var(--prod-navy);align-self:center}.production-overview small{font-size:11px;color:var(--prod-muted)}.production-suite-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:12px;align-items:start}.production-card{background:#fff;border:1px solid var(--prod-line);border-radius:14px;overflow:hidden;box-shadow:0 3px 10px rgba(16,42,67,.035)}.production-card>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #e8eef3}.production-card>header>div{display:grid;gap:2px}.production-card>header strong{font-size:14px;color:#102033}.production-card>header small{font-size:10px;color:var(--prod-muted)}.production-card-body{padding:12px 14px}.production-card--printers{grid-row:span 2}.production-card--jobs{grid-column:1/-1}.printer-toolbar{display:flex;gap:7px;flex-wrap:wrap}.printer-toolbar button,.production-dialog button{border:1px solid #d3dfe8;border-radius:9px;background:#fff;color:#17354d;padding:9px 12px;font-weight:800;cursor:pointer}.production-dialog button.primary,.printer-toolbar .primary{background:var(--prod-orange);border-color:var(--prod-orange);color:#fff}.printer-card-list{display:grid;gap:9px}.printer-config-card{border:1px solid #dce5ec;border-radius:12px;padding:11px;background:#fff}.printer-config-card>header{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:9px}.printer-name{flex:1}.printer-name span,.printer-config-grid label>span,.production-form label>span{display:block;font-size:9px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;color:#5d7083;margin-bottom:5px}.printer-name input{font-size:14px;font-weight:800}.printer-adapter-chip{flex:0 0 auto;border-radius:999px;background:#eef4f8;color:#31516b;padding:5px 8px;font-size:9px;font-weight:850}.printer-config-grid{display:grid;grid-template-columns:1fr 1.35fr 78px 90px;gap:8px}.printer-config-card input,.printer-config-card select,.production-form input,.production-form select,.route-suite select,.destination-route-row select{width:100%;min-width:0;height:38px;border:1px solid #ccd9e3;border-radius:8px;background:#fff;padding:0 9px;color:#14283a}.printer-options{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.printer-options label,.production-checks label{display:flex;align-items:center;gap:7px;border:1px solid #e1e8ee;background:#f8fafc;border-radius:9px;padding:7px 9px;font-size:10px;font-weight:800;color:#3b5368}.printer-options input,.production-checks input{accent-color:var(--prod-orange);width:16px;height:16px}.printer-config-card>footer{display:flex;justify-content:flex-end;gap:7px;margin-top:9px;padding-top:9px;border-top:1px solid #edf1f4}.printer-config-card>footer button{padding:7px 9px;font-size:10px}.danger-link{color:#b5372e!important;background:#fff7f6!important;border-color:#f0d3d0!important}.production-help{font-size:10px;line-height:1.45;color:var(--prod-muted);margin:10px 2px 0}.route-suite{display:grid;gap:8px}.route-suite-row,.destination-route-row{display:grid;grid-template-columns:minmax(110px,.85fr) 1.15fr;gap:8px;align-items:center;padding:9px;border:1px solid #e3eaf0;border-radius:10px}.route-suite-row>div,.destination-route-row>div{display:grid;gap:2px}.route-suite-row b,.destination-route-row b{font-size:11px}.route-suite-row small,.destination-route-row small{font-size:9px;color:var(--prod-muted)}.destination-route-list{display:grid;gap:7px;margin-top:2px}.destination-route-row{grid-template-columns:minmax(100px,.7fr) .95fr 1.1fr}.production-form{display:grid;grid-template-columns:1fr 1fr;gap:9px}.production-form .full{grid-column:1/-1}.production-checks{grid-column:1/-1;display:flex;gap:7px;flex-wrap:wrap}.production-checks .wide-check{flex:1 1 220px}.printer-preview{margin:0;min-height:190px;max-height:280px;overflow:auto;padding:13px;border:1px solid #dae3ea;border-radius:10px;background:#f8fafc;color:#183147;font:600 11px/1.42 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap}.print-jobs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:220px;overflow:auto}.print-job{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;border:1px solid #e1e8ee;border-radius:10px;padding:9px 10px}.print-job strong{font-size:11px}.print-job small{display:block;color:var(--prod-muted);font-size:9px;margin-top:2px}.print-state{font-size:9px;font-weight:900;border-radius:999px;padding:5px 7px;background:#eef3f7;color:#234}.print-state.PRINTED{background:#e7f6ed;color:#147846}.print-state.FAILED{background:#ffedeb;color:#ad352d}.print-state.PRINTING,.print-state.QUEUED,.print-state.RETRY{background:#fff2e5;color:#a55a00}.production-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid #dfe7ee;background:#fff}.production-empty{padding:22px;text-align:center;color:var(--prod-muted);display:grid;gap:4px}.production-empty strong{color:#263d51}.kds-nav-button{background:#fff7f0!important;color:#a94400!important;border:1px solid #ffd4b2!important}.printer-nav-button{background:#fff!important;border:1px solid #d5e0e9!important}@media(max-width:900px){.production-dialog{width:calc(100vw - 18px);height:calc(100dvh - 18px)}.production-suite-grid{grid-template-columns:1fr}.production-card--printers{grid-row:auto}.production-card--jobs{grid-column:auto}.print-jobs{grid-template-columns:1fr}.production-overview{grid-template-columns:repeat(3,1fr)}.printer-config-grid{grid-template-columns:1fr 1fr}.printer-port{display:none}.destination-route-row{grid-template-columns:1fr 1fr}.destination-route-row>div{grid-column:1/-1}.production-suite-head{padding:17px}.production-body{padding:10px}.production-footer{padding:10px;position:sticky;bottom:0}.production-state-pill{display:none}}@media(max-width:600px){.production-dialog{width:100vw;height:100dvh;border-radius:0!important}.production-suite-head h2{font-size:21px}.production-suite-head p{font-size:11px}.production-overview{grid-template-columns:1fr 1fr}.production-overview article:last-child{grid-column:1/-1}.printer-config-grid{grid-template-columns:1fr}.route-suite-row,.destination-route-row{grid-template-columns:1fr}.production-form{grid-template-columns:1fr}.production-form .full{grid-column:auto}.production-card-body{padding:10px}.production-checks{grid-column:auto}.printer-preview{min-height:160px}.production-footer{display:grid;grid-template-columns:.8fr 1.2fr}.production-footer button{width:100%}}

/* ==========================================================================
   SECTION: COMERCIAL
   ========================================================================== */
/* AmeliaPOS Touch 1.0 RC3 — commercial closure */

/* Product cards: fixed geometry, no clipped price/name */
.products.cards{grid-auto-rows:142px!important;align-content:start!important}
.products.cards .product-card{height:142px!important;min-height:142px!important;max-height:142px!important;display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) 28px!important;gap:0 10px!important;padding:10px 12px!important;overflow:hidden!important;align-items:start!important}
.products.cards .product-media{grid-column:1!important;grid-row:1!important;width:58px!important;height:58px!important;align-self:start!important}
.products.cards .product-copy{grid-column:2!important;grid-row:1!important;min-width:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;gap:2px!important;padding:0!important}
.products.cards .product-copy .code{font-size:10px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.products.cards .product-copy strong{font-size:14px!important;line-height:1.08!important;min-height:30px!important;max-height:30px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;word-break:normal!important}
.products.cards .product-detail{font-size:10px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}
.products.cards .product-badge{grid-column:1!important;grid-row:2!important;align-self:end!important;justify-self:start!important;margin:0!important;max-width:64px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:9px!important}
.products.cards .product-price{grid-column:2!important;grid-row:2!important;align-self:end!important;justify-self:end!important;position:static!important;margin:0!important;padding:0!important;font-size:18px!important;line-height:24px!important;color:#ff6500!important;white-space:nowrap!important}

/* Branch pricing in product card */
.branch-pricing-admin{margin-top:12px!important}
.branch-price-rows{display:grid;gap:7px}
.branch-price-row{display:grid;grid-template-columns:minmax(170px,1fr) 190px 130px 84px;gap:8px;align-items:center;padding:8px 10px;border:1px solid #dbe4ed;border-radius:10px;background:#fff}
.branch-price-row>div{display:flex;flex-direction:column;min-width:0}.branch-price-row small{color:#718096}.branch-price-row select,.branch-price-row input{height:38px!important}.branch-price-row button{height:38px;border:1px solid #ccd8e4;background:#f7fafc;border-radius:8px;font-weight:800}.branch-price-row.is-dirty{border-color:#ffb27c;background:#fffaf6}.branch-price-empty{padding:12px;border:1px dashed #ccd8e4;border-radius:10px;display:flex;flex-direction:column;gap:4px;color:#53667a}
.promo-branches{border:1px solid #dbe4ed;border-radius:10px;padding:12px;margin:12px 0}.promo-branches header{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.promo-branches select{width:100%;min-height:90px}

/* Inventory: novice-first */
.inventory-operation-dialog{max-width:720px!important}.inventory-operation-dialog .inventory-operation-grid{gap:12px!important}.inventory-operation-dialog label>span{font-size:12px!important}.inventory-operation-balance{background:#f4f8fb!important;border:1px solid #dbe4ed!important;padding:12px 14px!important;border-radius:10px!important}.inventory-operation-balance strong{font-size:18px!important}.inventory-quick-dialog{max-width:1040px!important}.inventory-quick-head,.inventory-quick-row{grid-template-columns:minmax(260px,1fr) 150px 160px 150px!important}.inventory-quick-row input{height:38px!important;text-align:right!important}.inventory-quick-summary{padding:10px 12px!important}

/* Print format selector */
.print-choice-dialog{max-width:620px!important}.print-choice-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.print-choice-card{position:relative;min-height:130px;border:1px solid #d7e0e9;border-radius:14px;background:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:20px;text-align:left}.print-choice-card b{font-size:20px;color:#102a43}.print-choice-card small{margin-top:6px;color:#66788a}.print-choice-card.preferred{border:2px solid #ff6500;background:#fff8f3;box-shadow:0 8px 22px rgba(255,101,0,.08)}.choice-badge{position:absolute;top:10px;right:10px;background:#ff6500;color:#fff;font-size:9px;font-weight:900;padding:4px 7px;border-radius:999px}.print-choice-dialog footer{border-top:1px solid #e5ebf1;padding-top:10px;color:#718096}

/* Production/printer setup: operational, not technical */
.production-dialog--suite{max-width:1120px!important;max-height:90vh!important}.production-body--suite{padding:14px 18px!important}.production-overview{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin-bottom:12px!important}.production-overview article{min-height:70px!important;padding:10px 12px!important}.production-suite-grid{display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)!important;gap:12px!important;align-items:start!important}.production-card{border:1px solid #dce5ed!important;border-radius:12px!important;box-shadow:none!important;overflow:hidden!important}.production-card>header{min-height:54px!important;padding:10px 13px!important;background:#fbfcfd!important}.production-card-body{padding:12px!important}.production-card--printers{grid-column:1}.production-card--routes{grid-column:2}.production-card--format{grid-column:1}.production-card--preview{grid-column:2}.production-card--jobs{grid-column:1 / -1}.printer-toolbar{display:flex;gap:6px}.printer-toolbar button{height:38px!important;padding:0 12px!important}.detected-printers{display:grid;gap:6px;margin-bottom:10px}.detected-printer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid #e1e8ef;border-radius:9px;background:#f8fafc}.detected-printer>div{display:flex;flex-direction:column;min-width:0}.detected-printer strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detected-printer small{font-size:10px;color:#708095}.detected-printer button{background:#fff;border:1px solid #ff6500;color:#a94400;border-radius:7px;padding:6px 10px;font-weight:800}.added-pill{font-size:10px;background:#e9f8f0;color:#16724b;padding:5px 8px;border-radius:999px;font-weight:800}.printer-card-list{display:grid;gap:8px}.printer-config-card{border:1px solid #dce5ed!important;border-radius:10px!important;padding:10px!important;background:#fff!important}.printer-config-card header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 8px!important}.printer-title-block{display:flex;align-items:center;gap:8px;min-width:0}.printer-name-input{font-weight:900!important;min-width:180px!important;height:34px!important}.printer-adapter-chip{font-size:10px!important;padding:4px 7px!important}.switch-line{display:flex!important;flex-direction:row!important;gap:6px!important;align-items:center!important}.printer-config-grid{display:grid!important;grid-template-columns:150px minmax(180px,1fr) 90px 90px!important;gap:8px!important}.printer-target--wide{grid-column:2 / 4!important}.printer-config-grid label>span{font-size:10px!important}.printer-config-grid select,.printer-config-grid input{height:36px!important}.printer-options{display:flex!important;gap:16px!important;margin-top:7px!important}.printer-options label{display:flex!important;flex-direction:row!important;align-items:center!important;gap:5px!important}.printer-config-card footer{display:flex;justify-content:flex-end;gap:6px;margin-top:8px!important}.route-suite{display:grid;gap:7px}.route-suite-row,.destination-route-row{min-height:52px!important;padding:8px 9px!important;border-radius:9px!important}.destination-route-row{grid-template-columns:minmax(110px,.8fr) minmax(150px,1fr) minmax(150px,1fr)!important}.production-form--suite{grid-template-columns:1fr 1fr!important}.ticket-preset-field{grid-column:1 / -1!important}.sr-only-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.ticket-preset-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:5px}.ticket-preset-picker button{border:1px solid #d7e0e8;background:#fff;border-radius:9px;padding:9px;text-align:left;display:flex;flex-direction:column;gap:2px}.ticket-preset-picker button.active{border-color:#ff6500;box-shadow:0 0 0 2px rgba(255,101,0,.13);background:#fff8f3}.ticket-preset-picker b{font-size:12px}.ticket-preset-picker small{font-size:9px;color:#718096}.printer-preview{max-height:210px!important;min-height:150px!important;font-size:11px!important}.print-job{min-height:44px!important;padding:7px 8px!important}.production-footer{padding:10px 18px!important}

/* Delivery guided flow */
.delivery-flow-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.delivery-flow-steps span{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:9px;background:#f2f5f8;color:#718096;font-size:11px;font-weight:800}.delivery-flow-steps span b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#dbe4ed;color:#38516a}.delivery-flow-steps span.active{background:#fff4eb;color:#9a3d00}.delivery-flow-steps span.active b{background:#ff6500;color:#fff}.delivery-order-card footer .primary.compact{background:#ff6500!important;color:#fff!important;border:0!important}

/* Mobile */
@media(max-width:767px){
  .products.cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:154px!important;gap:7px!important;padding:8px!important}
  .products.cards .product-card{height:154px!important;min-height:154px!important;max-height:154px!important;grid-template-columns:50px minmax(0,1fr)!important;padding:9px!important;gap:0 7px!important}
  .products.cards .product-media{width:46px!important;height:46px!important}.products.cards .product-copy strong{font-size:13px!important;min-height:28px!important;max-height:28px!important}.products.cards .product-price{font-size:16px!important}.products.cards .product-badge{max-width:50px!important}
  .branch-price-row{grid-template-columns:1fr!important}.branch-price-row button{width:100%}
  .print-choice-options{grid-template-columns:1fr}.print-choice-card{min-height:105px}
  .production-dialog--suite{width:96vw!important;max-height:94vh!important}.production-suite-grid{grid-template-columns:1fr!important}.production-card--printers,.production-card--routes,.production-card--format,.production-card--preview,.production-card--jobs{grid-column:1!important}.printer-config-grid{grid-template-columns:1fr 1fr!important}.printer-target--wide{grid-column:1 / -1!important}.printer-port{grid-column:auto!important}.destination-route-row{grid-template-columns:1fr!important}.production-overview{grid-template-columns:repeat(3,1fr)!important}.production-overview article{padding:8px!important}.production-overview strong{font-size:16px!important}
  .inventory-operation-dialog{width:94vw!important;max-height:92vh!important;overflow:auto!important}.inventory-operation-grid{grid-template-columns:1fr!important}.inventory-operation-grid .span-two{grid-column:1!important}
  .inventory-quick-dialog{width:96vw!important}.inventory-quick-head{display:none!important}.inventory-quick-row{grid-template-columns:1fr 105px!important;gap:6px!important;padding:9px!important}.inventory-quick-row>*:nth-child(2){display:none!important}.inventory-quick-row>*:nth-child(4){grid-column:2!important}.inventory-quick-row input{width:100%!important}
  .delivery-flow-steps{grid-template-columns:1fr!important;gap:4px}.delivery-flow-steps span{padding:6px 8px}
}

/* Compact A4/Letter document: data, not UI cards */
@media print{
  body.printing-rc3 *{visibility:hidden!important}
  body.printing-rc3 #printRoot,body.printing-rc3 #printRoot *{visibility:visible!important}
  body.printing-rc3 #printRoot{position:absolute!important;left:0!important;top:0!important;width:100%!important;background:#fff!important}
  body.printing-rc3 .rc3-print-sheet{width:100%!important;max-width:none!important;margin:0!important;padding:10mm 11mm!important;color:#111!important;font:10pt Arial,sans-serif!important;box-sizing:border-box!important}
  .rc3-print-sheet>header{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;border-bottom:2px solid #27313b!important;padding-bottom:7px!important;margin-bottom:8px!important}
  .rc3-print-brand{display:flex!important;gap:8px!important;align-items:center!important}.rc3-print-brand img{width:92px!important;height:auto!important}.rc3-print-brand>div{display:flex!important;flex-direction:column!important}.rc3-print-brand strong{font-size:11pt!important}.rc3-print-brand span{font-size:7.5pt!important;color:#555!important}
  .rc3-print-title{text-align:right!important;display:flex!important;flex-direction:column!important}.rc3-print-title>span{font-size:6.8pt!important;font-weight:800!important;letter-spacing:.08em!important}.rc3-print-title>strong{font-size:13pt!important}.rc3-print-title>small{font-size:7pt!important;color:#555!important}
  .rc3-print-kpis{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:5px!important;margin:7px 0!important}.rc3-print-kpis>div{border:1px solid #cfd4da!important;border-radius:5px!important;padding:5px 6px!important;min-height:0!important}.rc3-print-kpis span{display:block!important;font-size:6.5pt!important;text-transform:uppercase!important;color:#666!important}.rc3-print-kpis strong{display:block!important;font-size:11pt!important;margin-top:1px!important}
  .rc3-print-table{border:1px solid #d3d7dc!important;border-radius:5px!important;overflow:hidden!important}.rc3-print-table table{width:100%!important;border-collapse:collapse!important}.rc3-print-table th{background:#f1f3f5!important;text-align:left!important;font-size:7pt!important;text-transform:uppercase!important;padding:5px!important;border-bottom:1px solid #bbb!important}.rc3-print-table td{font-size:8pt!important;padding:4px 5px!important;border-bottom:1px solid #e5e5e5!important;vertical-align:top!important}.rc3-print-table tr:last-child td{border-bottom:0!important}.rc3-print-table td.empty{text-align:center!important;padding:18px 5px!important;color:#666!important}
  .rc3-print-notes{margin-top:7px!important;border:1px solid #ddd!important;padding:6px!important;border-radius:5px!important}.rc3-print-notes strong{font-size:8pt!important}.rc3-print-notes p{font-size:7.5pt!important;margin:3px 0!important}
  .rc3-print-sheet>footer{display:flex!important;justify-content:space-between!important;margin-top:7px!important;border-top:1px solid #bbb!important;padding-top:5px!important;font-size:6.5pt!important;color:#666!important}
}
/* RC3 production configuration: one task at a time, beginner-first hierarchy */
.production-section-tabs{display:flex;gap:6px;margin:0 0 12px;padding:5px;background:#eaf0f5;border:1px solid #d7e1e9;border-radius:11px;overflow-x:auto;scrollbar-width:none}.production-section-tabs::-webkit-scrollbar{display:none}.production-section-tabs button{white-space:nowrap;border:0!important;background:transparent!important;color:#536b7e!important;padding:9px 13px!important;border-radius:8px!important;font-size:11px!important;font-weight:850!important}.production-section-tabs button.active{background:#173f5f!important;color:#fff!important;box-shadow:0 1px 2px rgba(16,42,67,.08)!important}.production-suite-grid>[data-production-panel]{display:none!important}.production-suite-grid>[data-production-panel].production-panel-active{display:block!important}.production-suite-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.72fr)!important}.production-card--printers.production-panel-active,.production-card--routes.production-panel-active,.production-card--jobs.production-panel-active{grid-column:1/-1!important}.production-card--format.production-panel-active{grid-column:1!important}.production-card--preview.production-panel-active{grid-column:2!important}.detected-printers:not(:empty){margin-bottom:10px;padding:9px;border:1px solid #cfe0ec;border-radius:10px;background:#f7fbfe}.detected-printer{min-height:46px!important}.detected-printer button{background:#ff6500!important;color:#fff!important;border-color:#ff6500!important}.production-help{background:#f7f9fb;border-radius:8px;padding:8px 10px;margin-top:9px!important}.printer-config-card{box-shadow:none!important}.production-card{box-shadow:none!important}.production-overview article{min-height:58px!important;padding:9px 11px!important}.production-overview strong{font-size:18px!important}.production-suite-head{padding:18px 22px 14px!important}.production-suite-head h2{font-size:23px!important}.production-body{padding:12px 16px 16px!important}.production-footer{padding:9px 16px!important}
@media(max-width:760px){.production-section-tabs{margin-left:-2px;margin-right:-2px}.production-section-tabs button{padding:8px 10px!important}.production-suite-grid{grid-template-columns:1fr!important}.production-card--format.production-panel-active,.production-card--preview.production-panel-active{grid-column:1!important}.production-overview{display:none!important}}
.inventory-adjustment-plain-help{align-self:end;min-height:44px;padding:9px 11px;border-radius:9px;background:#fff7f0;border:1px solid #ffd8bb;color:#69401f;font-size:11px;line-height:1.35}.inventory-operation-dialog #inventoryAdjustmentModeWrap select{font-weight:750}.inventory-operation-dialog #inventoryOperationQty{font-size:18px;font-weight:800}.inventory-operation-dialog .inventory-operation-balance{display:flex;align-items:center;justify-content:space-between;min-height:48px!important}.inventory-operation-dialog .inventory-operation-balance:before{content:'Resultado';font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#667b8d}
@media(max-width:760px){.inventory-adjustment-plain-help{grid-column:1!important}}
@media print{
 body.printing-rc3 #printRoot{display:block!important;position:static!important;width:100%!important;margin:0!important;padding:0!important;background:#fff!important}
 body.printing-rc3 .rc3-print-sheet{width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:8mm 9mm!important;border:0!important;box-shadow:none!important;color:#101820!important;background:#fff!important;break-after:auto!important}
 body.printing-rc3 .rc3-print-sheet>header{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:12px!important;padding:0 0 7px!important;margin:0 0 8px!important;border-bottom:2px solid #273744!important;min-height:0!important}
 body.printing-rc3 .rc3-print-brand img{width:92px!important;max-height:34px!important;object-fit:contain!important}
 body.printing-rc3 .rc3-print-brand strong,body.printing-rc3 .rc3-print-title strong{font-size:13px!important;line-height:1.15!important}
 body.printing-rc3 .rc3-print-brand span,body.printing-rc3 .rc3-print-title small,body.printing-rc3 .rc3-print-title span{font-size:7.5px!important;line-height:1.2!important}
 body.printing-rc3 .rc3-print-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;margin:0 0 7px!important}
 body.printing-rc3 .rc3-print-kpis>div{min-height:0!important;padding:5px 6px!important;border:1px solid #d8dee4!important;border-radius:4px!important;box-shadow:none!important}
 body.printing-rc3 .rc3-print-kpis span{font-size:6.5px!important} body.printing-rc3 .rc3-print-kpis strong{font-size:12px!important;margin-top:1px!important}
 body.printing-rc3 .rc3-print-table{border:0!important;border-radius:0!important;overflow:visible!important;margin:0!important}
 body.printing-rc3 .rc3-print-table table{width:100%!important;border-collapse:collapse!important;font-size:8px!important;table-layout:auto!important}
 body.printing-rc3 .rc3-print-table th{padding:4px 5px!important;background:#f2f4f6!important;border-bottom:1px solid #9da8b1!important;font-size:6.8px!important;text-transform:uppercase!important;letter-spacing:.03em!important}
 body.printing-rc3 .rc3-print-table td{padding:4px 5px!important;border-bottom:1px solid #e2e6ea!important;vertical-align:top!important;line-height:1.2!important}
 body.printing-rc3 .rc3-print-table td.empty{padding:10px!important}
 body.printing-rc3 .rc3-print-notes{margin-top:7px!important;padding:6px!important;border:1px solid #e0e5e9!important;border-radius:4px!important;font-size:7.5px!important}
 body.printing-rc3 .rc3-print-notes p{margin:2px 0!important}
 body.printing-rc3 .rc3-print-sheet>footer{display:flex!important;justify-content:space-between!important;gap:10px!important;margin-top:8px!important;padding-top:5px!important;border-top:1px solid #d9dfe4!important;font-size:6.5px!important;min-height:0!important}
}

/* RC4: propina y delivery como conceptos de cierre, no productos */
.payment-tip-panel{margin:14px 0;padding:14px;border:1px solid #dbe4ee;border-radius:14px;background:#fbfdff}.payment-tip-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.payment-tip-head>span{font-weight:800;color:#102a43}.payment-tip-head small{font-weight:600;color:#6f8094}.payment-tip-head strong{font-size:20px;color:#ff6a00}.payment-tip-actions{display:grid;grid-template-columns:auto auto minmax(160px,1fr);gap:8px;align-items:end}.payment-tip-actions>button{min-height:42px;border:1px solid #cfdae6;border-radius:10px;background:#fff;color:#102a43;font-weight:800;padding:0 14px}.payment-tip-actions>button.active{border-color:#ff6a00;box-shadow:0 0 0 2px rgba(255,106,0,.15);background:#fff7f1}.payment-tip-actions label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#526477}.payment-tip-input{display:flex;align-items:center;border:1px solid #cbd7e4;border-radius:10px;background:#fff;overflow:hidden}.payment-tip-input i{font-style:normal;padding-left:12px;font-weight:800;color:#6a7c8f}.payment-tip-input input{border:0!important;box-shadow:none!important;min-width:0;width:100%;height:40px;padding:0 10px;font-weight:800}.payment-tip-panel>small{display:block;margin-top:8px;color:#718197;font-size:11px}
.ticket-delivery-context{margin:0 8px 10px;padding:12px 14px;border:1px solid #ffd7bc;border-left:4px solid #ff6a00;border-radius:12px;background:#fff9f5;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}.ticket-delivery-context>div{min-width:0}.ticket-delivery-context span{display:block;font-size:10px;font-weight:900;letter-spacing:.09em;color:#d65b00}.ticket-delivery-context strong{display:block;font-size:14px;color:#102a43}.ticket-delivery-context small{display:block;margin-top:3px;color:#65778b;white-space:normal}.ticket-delivery-context>div:last-child{text-align:right}.ticket-delivery-context b{display:block;font-size:18px;color:#ff6a00}
@media(max-width:720px){.payment-tip-actions{grid-template-columns:1fr 1fr}.payment-tip-actions label{grid-column:1/-1}.ticket-delivery-context{grid-template-columns:1fr}.ticket-delivery-context>div:last-child{text-align:left}}

/* RC4: maestro de productos con información de gestión */
.product-master-list{display:block!important}.product-master-head,.product-master-row-v2{display:grid;grid-template-columns:minmax(260px,2.2fr) minmax(145px,1fr) 105px 105px 90px 86px;gap:12px;align-items:center}.product-master-head{padding:8px 14px;background:#eef3f7;border-bottom:1px solid #d7e0e8;color:#607286;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.product-master-row-v2{padding:10px 14px;border-bottom:1px solid #e1e7ee;background:#fff}.product-master-row-v2:hover{background:#fbfdff}.product-master-main{display:flex;align-items:center;gap:10px;min-width:0}.product-master-main>div{min-width:0}.product-master-main strong{display:block;color:#102a43;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-master-main small{display:block;color:#718197;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.product-master-cell{display:grid;gap:2px}.product-master-cell span{font-size:10px;color:#718197}.product-master-cell b{font-size:13px;color:#102a43}.product-master-cell .positive{color:#14824b}.product-master-cell .unknown{color:#8a98a8}.product-master-row-v2>button{min-height:34px;border:1px solid #cbd7e3;background:#fff;border-radius:8px;font-weight:800;color:#173a58}.product-master-row-v2>button:hover{border-color:#ff6a00}.product-master-category{font-size:12px;font-weight:800;color:#344d64;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1180px){.product-master-head,.product-master-row-v2{grid-template-columns:minmax(240px,2fr) minmax(125px,1fr) 90px 90px 80px}.product-master-head>:nth-child(5),.product-master-row-v2>:nth-child(5){display:none}}
@media(max-width:820px){.product-master-head{display:none}.product-master-row-v2{grid-template-columns:1fr auto;gap:8px}.product-master-row-v2>.product-master-category,.product-master-row-v2>.product-master-cell{grid-column:1/2}.product-master-row-v2>button{grid-column:2;grid-row:1/3}.product-master-main{grid-column:1}}
.product-finance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.product-finance-summary>div{padding:8px 10px;border:1px solid #dbe4ed;border-radius:10px;background:#fff}.product-finance-summary span{display:block;font-size:9px;font-weight:900;text-transform:uppercase;color:#758598;letter-spacing:.05em}.product-finance-summary b{display:block;margin-top:3px;color:#102a43;font-size:14px}.product-finance-summary>div:last-child b{color:#14824b}@media(max-width:720px){.product-finance-summary{grid-template-columns:1fr}}
.cash-gpos-tip-total{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-top:1px dashed #d9e2eb;color:#65768a}.cash-gpos-tip-total strong{color:#ff6a00}


/* RC4 — completitud comercial y jerarquía AmeliaPOS */
.catalog-admin-panel.active:not(:has(.master-editor:not(.hidden))) {grid-template-columns:minmax(0,1fr)!important}
.catalog-admin-panel.active:not(:has(.master-editor:not(.hidden)))>.master-list-card {grid-column:1/-1!important;width:100%!important}
.catalog-admin-panel.active:has(.master-editor:not(.hidden)) {grid-template-columns:minmax(0,1.45fr) minmax(430px,.85fr)!important}
.product-master-list{max-height:calc(100dvh - 300px)!important}
.product-master-row-v2{min-height:58px}
.product-finance-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.product-finance-summary>div{padding:9px 10px;border:1px solid #dce5ed;border-radius:10px;background:#f8fafc}
.product-finance-summary span{display:block;font-size:9px;color:#687a8c;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.product-finance-summary b{display:block;margin-top:3px;font-size:15px;color:#102a43}
.payment-tip-panel{border:1px solid #f2d8c5;background:#fffaf6;border-radius:12px;padding:12px;margin-top:12px}
.payment-tip-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.payment-tip-head>span{font-weight:900;color:#243b53}.payment-tip-head small{font-weight:700;color:#8a98a8}.payment-tip-head strong{font-size:20px;color:#f46b0b}.payment-tip-actions{display:grid;grid-template-columns:auto auto minmax(160px,1fr);gap:8px;margin-top:9px}.payment-tip-actions>button{border:1px solid #d7e1e9;background:#fff;border-radius:9px;padding:9px 12px;font-weight:850;color:#173a56}.payment-tip-actions>button:hover,.payment-tip-actions>button.active{border-color:#f46b0b;color:#c65300;background:#fff6ef}.payment-tip-actions>label{display:grid;grid-template-columns:auto minmax(100px,1fr);align-items:center;gap:8px}.payment-tip-input{display:flex;align-items:center;border:1px solid #d7e1e9;border-radius:9px;background:#fff;overflow:hidden}.payment-tip-input i{font-style:normal;padding-left:10px}.payment-tip-input input{border:0!important;min-width:0;width:100%;padding:9px 8px!important}.payment-tip-panel>small{display:block;margin-top:7px;color:#718197}
.ticket-delivery-context{margin:8px 10px;padding:10px 12px;border:1px solid #d7e3ed;border-left:3px solid #f46b0b;border-radius:10px;background:#fbfdff}.ticket-delivery-context strong{display:block;color:#102a43;font-size:12px}.ticket-delivery-context span{display:block;color:#5f7182;font-size:10px;margin-top:2px;white-space:normal;overflow-wrap:anywhere}.ticket-delivery-context small{display:block;color:#9a5d00;font-size:9px;font-weight:850;margin-top:5px}
.production-form--suite .tip-config-row{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(90px,130px) 1fr;align-items:center;gap:10px;padding:10px 12px;border:1px solid #dce5ed;border-radius:10px;background:#f8fafc}.tip-config-row>label{display:flex;align-items:center;gap:8px;font-weight:850}.tip-config-row input[type=number]{min-height:38px;border:1px solid #ccd8e1;border-radius:8px;padding:0 9px}.tip-config-row small{color:#718197}
@media(max-width:820px){.catalog-admin-panel.active:has(.master-editor:not(.hidden)){display:block!important}.payment-tip-actions{grid-template-columns:1fr 1fr}.payment-tip-actions>label{grid-column:1/-1}.product-finance-summary{grid-template-columns:1fr 1fr 1fr}}

/* RC5 — cierre UX operativo */
.field-status{display:block;margin-top:5px;font-size:10px;color:#718197}.field-status.ok{color:#168257}.field-status.error{color:#b8322a;font-weight:800}
.view-back,.management-header .view-back,.salon-close.view-back,.cash-gpos-back{background:#173a56!important;border-color:#173a56!important;color:#fff!important;opacity:1!important}.view-back:hover,.management-header .view-back:hover{background:#f46b0b!important;border-color:#f46b0b!important;color:#fff!important}
@media(min-width:1440px){.workspace{grid-template-columns:minmax(540px,39vw) 218px minmax(520px,1fr)!important}}
@media(min-width:1024px) and (max-width:1439px){.workspace{grid-template-columns:minmax(430px,40%) 194px minmax(390px,1fr)!important}}
@media(min-width:768px) and (max-width:1023px){.workspace{grid-template-columns:minmax(335px,42%) 165px minmax(285px,1fr)!important}}
@media(min-width:768px){.categories{padding-inline:8px!important}.category{grid-template-columns:38px minmax(0,1fr) 24px!important;gap:8px!important;padding:6px 8px!important}.category-name{max-width:none!important;white-space:normal!important;line-height:1.08!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical}.category small{justify-self:end}}
@media(min-width:1050px){.payment-stage{width:min(1460px,calc(100% - 28px))!important;grid-template-columns:minmax(0,1.42fr) minmax(360px,.72fr)!important;gap:14px!important;padding:12px 14px 16px!important;overflow:hidden!important}.payment-entry-panel,.payment-ledger{padding:14px!important;border-radius:14px!important}.payment-entry-panel{display:grid!important;grid-template-columns:1fr 1fr!important;column-gap:12px!important;align-content:start}.payment-entry-panel>.payment-step,.payment-entry-panel>.payment-method-grid,.payment-entry-panel>.payment-register-btn{grid-column:1/-1}.payment-method-grid button{min-height:54px!important}.payment-money-input{height:56px!important}.payment-money-input input{font-size:24px!important}.payment-tip-panel{margin:8px 0!important;padding:10px!important}.payment-tip-actions{grid-template-columns:auto auto minmax(125px,1fr)!important}.payment-entry-panel #receivedWrap{margin-top:6px!important}.cash-denominations{gap:6px!important}.cash-denomination{min-height:48px!important}.payment-ledger{min-height:0!important}.payment-list{max-height:43vh!important;overflow:auto!important}}


/* RC5.1 — checkout: lectura única Venta + Propina = Total a cobrar */
.payment-charge-summary{display:grid;gap:0;margin:12px 0 10px;border:1px solid #dce5ed;border-radius:12px;background:#fff;overflow:hidden;min-height:166px;contain:layout paint}
.payment-charge-summary>div{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px;padding:8px 12px;border-bottom:1px solid #edf1f5;color:#526477}
.payment-charge-summary>div:last-child{border-bottom:0}.payment-charge-summary span{font-size:12px;font-weight:750}.payment-charge-summary strong{font-size:17px;color:#102a43;font-variant-numeric:tabular-nums;min-width:96px;text-align:right;transition:color .16s ease,transform .16s ease,opacity .16s ease}.payment-charge-summary strong.tip{color:#f46b0b}.payment-charge-total{background:#fff7f1!important;border-top:1px solid #f2d8c5!important;min-height:52px!important}.payment-charge-total span{font-weight:900;color:#9d4b13!important}.payment-charge-total strong{font-size:24px!important;color:#f46b0b!important}.payment-charge-cash{display:grid!important;grid-template-columns:1fr auto;row-gap:4px!important;background:#f4faf7}.payment-charge-cash.hidden{display:none!important}.payment-charge-cash .change{color:#16724f}.payment-charge-cash .change.short{color:#b8322a}.payment-charge-cash .change.exact{color:#16724f}.payment-charge-summary strong.value-refresh,.payment-tip-head strong.value-refresh{transform:translateY(-1px);opacity:.72;color:#f46b0b}
.payment-ledger-section-title{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:9px 2px 7px;border-bottom:1px solid #e3eaf0}.payment-ledger-section-title span{font-size:12px;font-weight:900;color:#243b53}.payment-ledger-section-title small{font-size:10px;color:#7b8998;text-align:right}.payment-ledger .payment-list{min-height:82px}.payment-ledger .ledger-total span{font-weight:800;color:#526477}.payment-ledger .ledger-total strong{font-variant-numeric:tabular-nums}
@media(min-width:1050px){.payment-charge-summary{min-height:166px}.payment-ledger .payment-list{min-height:80px;max-height:27vh!important}}
@media(max-width:720px){.payment-charge-summary{min-height:158px}.payment-charge-total strong{font-size:21px!important}.payment-ledger-section-title{align-items:start;flex-direction:column;gap:2px}.payment-ledger-section-title small{text-align:left}}

/* RC6 — Suite visual polish, overflow containment, messages */
.product-editor-pro{max-width:980px!important;max-height:calc(100dvh - 132px)!important;overflow:auto!important;scrollbar-gutter:stable;padding:0 14px 14px!important;overscroll-behavior:contain}
.product-editor-pro>header{position:sticky;top:0;z-index:7;background:#fff;margin:0 -14px 12px!important;padding:13px 14px!important;border-bottom:1px solid #e1e8ef;box-shadow:0 5px 14px rgba(16,42,67,.04)}
.product-editor-pro>.primary.full[type="submit"]{position:sticky;bottom:0;z-index:7;margin:14px 0 0!important;min-height:48px;box-shadow:0 -8px 18px rgba(255,255,255,.96)}
.product-editor-pro .product-editor-hero{grid-template-columns:260px minmax(0,1fr)!important;gap:12px!important;margin-bottom:12px!important}.product-editor-pro .product-thumb{grid-template-columns:88px minmax(0,1fr)!important;padding:10px!important}.product-editor-pro .product-thumb .thumb-preview{width:88px!important;height:88px!important}.product-editor-pro .product-editor-summary{padding:14px!important;min-height:112px}.product-editor-pro .product-editor-summary>strong{font-size:19px!important;line-height:1.15!important}.product-editor-pro .master-form-grid.two{gap:8px 10px!important}.product-editor-pro .master-form-grid label{margin:0!important}.product-editor-pro .master-form-grid input,.product-editor-pro .master-form-grid select{min-height:40px!important}.product-editor-pro .recipe-admin{margin-top:10px!important}.product-editor-pro .recipe-admin>header{min-height:48px!important;padding:9px 11px!important}.product-editor-pro .branch-price-rows,.product-editor-pro #productRecipeRows,.product-editor-pro #productAdditionalRows{max-height:210px;overflow:auto;scrollbar-gutter:stable}.product-editor-pro textarea{min-height:64px;max-height:110px}

.alerts-dialog{width:min(760px,calc(100vw - 28px))!important;max-width:760px!important;overflow:hidden!important}.alerts-dialog>header{border-bottom:1px solid #e3eaf0;padding:18px 20px!important}.alerts-send-panel{padding:14px 16px;background:#f8fafc;border-bottom:1px solid #e1e8ef}.alerts-target-row{display:grid;grid-template-columns:minmax(220px,.7fr) 1.3fr;gap:10px}.alerts-target-row label{display:grid;gap:5px}.alerts-target-row label>span{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#61748a}.alerts-target-row select{height:42px;border:1px solid #cdd9e3;border-radius:10px;background:#fff;padding:0 11px;color:#102a43;font-weight:750}.alert-preset-fallback{display:none!important}.alert-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;max-height:250px;overflow:auto;scrollbar-gutter:stable}.alert-preset-card{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;text-align:left;border:1px solid #d8e2ea;border-radius:11px;background:#fff;padding:9px 10px;color:#102a43;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.alert-preset-card:hover{border-color:#f2b07f;transform:translateY(-1px)}.alert-preset-card.selected{border-color:#ff6500;background:#fff8f2;box-shadow:0 0 0 2px rgba(255,101,0,.12)}.alert-preset-icon{width:38px;height:34px;border-radius:9px;background:#eef3f7;color:#173b58;display:grid;place-items:center;font-size:8px;font-weight:950;letter-spacing:.03em}.alert-preset-card.selected .alert-preset-icon{background:#ffeadc;color:#aa4700}.alert-preset-card strong{display:block;font-size:11px}.alert-preset-card small{display:block;margin-top:2px;color:#6e8193;font-size:9px;line-height:1.3}.alerts-send-panel>.primary{margin-top:10px;min-height:43px}.alerts-send-panel>.primary:disabled{opacity:.45;cursor:not-allowed}.alerts-list-head{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid #e8edf2}.alerts-list-head strong{font-size:12px}.alerts-list-head small{font-size:9px;color:#738599}.alerts-list{max-height:330px!important;overflow:auto!important}.alert-row--operational{grid-template-columns:36px minmax(0,1fr) auto!important;align-items:center!important;padding:10px 14px!important;gap:10px!important}.alert-row-icon{width:34px;height:34px;border-radius:9px;background:#eef3f7;color:#173b58;display:grid;place-items:center;font-weight:950}.alert-row-copy strong{display:block;font-size:11px}.alert-row-copy small{display:block;margin-top:2px;font-size:9px;color:#728397}.alert-row-state{font-size:9px!important;font-weight:900!important;color:#7b8a99!important}.alert-row.unread .alert-row-state{color:#d95c00!important}.alert-empty{min-height:150px!important;display:grid!important;place-items:center!important;align-content:center!important;gap:4px}.alert-empty strong{font-size:12px}.alert-empty span{font-size:9px;color:#75879a}

/* Enterprise report density and no-overflow */
.report-admin-panel{min-width:0!important}.enterprise-kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;align-items:stretch}.enterprise-metric{min-width:0!important;overflow:hidden!important}.enterprise-metric>span{white-space:normal!important;line-height:1.25!important;overflow-wrap:anywhere}.enterprise-metric strong{white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}.enterprise-report-grid{min-width:0}.enterprise-report-card{min-width:0}.enterprise-table{max-width:100%;overflow:auto}.report-context-strip{flex-wrap:wrap}.report-enterprise-tabs{scrollbar-width:thin}.report-enterprise-filterbar{min-width:0}.report-enterprise-filterbar>*{min-width:0}

/* Inventory adjustment: novice-first hierarchy */
.inventory-operation-dialog{width:min(760px,calc(100vw - 28px))!important;max-width:760px!important;padding:0!important;overflow:hidden!important}.inventory-operation-dialog>header{padding:18px 20px 14px!important;border-bottom:1px solid #e3eaf0}.inventory-operation-dialog .inventory-operation-grid{padding:14px 18px 8px!important;gap:10px 12px!important}.inventory-operation-dialog .inventory-operation-grid label{margin:0!important}.inventory-operation-dialog .inventory-operation-grid label>span{display:block;margin-bottom:5px;font-size:10px!important;color:#42566c!important}.inventory-operation-dialog input,.inventory-operation-dialog select,.inventory-operation-dialog textarea{border-radius:10px!important;border-color:#cbd8e2!important}.inventory-adjustment-plain-help{align-self:stretch!important;display:flex;align-items:center;min-height:42px!important;background:#fff8f1!important;border-color:#ffd7b7!important}.inventory-operation-balance{margin:4px 18px 0!important;min-height:54px!important;border-radius:11px!important;background:#f3f7fa!important}.inventory-operation-dialog .actions{padding:12px 18px 16px!important;margin:0!important;border-top:0!important}.inventory-operation-dialog .actions button{min-height:45px}.inventory-operation-dialog #inventoryOperationQty{font-size:20px!important}.inventory-operation-dialog #inventoryOperationNote{min-height:64px!important}

@media(max-width:820px){.product-editor-pro{max-height:none!important;overflow:visible!important;padding:0 10px 12px!important}.product-editor-pro>header{top:0;margin:0 -10px 10px!important}.product-editor-pro .product-editor-hero{grid-template-columns:1fr!important}.product-editor-pro .branch-price-rows,.product-editor-pro #productRecipeRows,.product-editor-pro #productAdditionalRows{max-height:180px}.alerts-target-row{grid-template-columns:1fr}.alert-preset-grid{grid-template-columns:1fr}.enterprise-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.inventory-operation-dialog .inventory-operation-grid{grid-template-columns:1fr!important}.inventory-operation-grid .span-two{grid-column:1!important}}
@media(max-width:520px){.enterprise-kpis{grid-template-columns:1fr 1fr!important}.enterprise-metric{min-height:70px!important;padding:9px 10px!important}.enterprise-metric strong{font-size:18px!important}.product-editor-pro .product-finance-summary{grid-template-columns:1fr 1fr 1fr!important}.product-editor-pro .product-finance-summary span{font-size:7px!important}.product-editor-pro .product-finance-summary b{font-size:12px!important}}
/* RC7: checkout geométricamente estable al cambiar medio de pago */
@media(min-width:1050px){
 .app-view--payment .payment-entry-panel{min-height:624px!important;position:relative!important;padding-bottom:80px!important;transition:box-shadow .16s ease,border-color .16s ease!important}
 .app-view--payment .payment-register-btn{position:absolute!important;left:14px!important;right:14px!important;bottom:14px!important;width:auto!important;margin:0!important;min-height:54px!important}
 .app-view--payment .payment-ledger{min-height:624px!important;max-height:624px!important;overflow:hidden!important}
 .app-view--payment .payment-list{min-height:104px!important;max-height:220px!important;overflow:auto!important}
 .app-view--payment #receivedWrap,.app-view--payment #cashShortcuts,.app-view--payment #cashChangePreview{transition:opacity .16s ease,transform .16s ease!important}
}
@media(max-width:1049px){.app-view--payment .payment-register-btn{position:static!important;width:100%!important}.app-view--payment .payment-entry-panel,.app-view--payment .payment-ledger{min-height:0!important;max-height:none!important}}

/* RC8 · mensajería operacional con confirmación visible */
.alerts-history-grid{display:grid;grid-template-columns:1fr 1fr;min-height:0;background:#fff}
.alerts-history-grid>section{min-width:0;border-right:1px solid #e7edf2}
.alerts-history-grid>section:last-child{border-right:0}
.alerts-history-grid .alerts-list{max-height:260px!important;min-height:160px}
.alert-row--sent{grid-template-columns:36px minmax(0,1fr) auto!important;align-items:center!important;padding:10px 14px!important;gap:10px!important;background:#fff;border-bottom:1px solid #e7edf2}
.alert-row--sent .alert-row-state{padding:4px 7px;border-radius:999px;background:#edf3f7;color:#607589!important}
.alert-row--sent .alert-row-state.read{background:#e7f7ef;color:#16834b!important}
.field-help{display:block;margin:2px 0 6px;color:#75869a;font-size:9px;font-weight:500}
@media(max-width:760px){.alerts-history-grid{grid-template-columns:1fr;overflow:auto}.alerts-history-grid>section{border-right:0;border-bottom:1px solid #e7edf2}.alerts-history-grid .alerts-list{max-height:240px!important;min-height:120px}}

/* RC10 — checkout autoclose + responsive hardening */
@media(min-width:768px) and (max-width:1023px){
  .workspace{grid-template-columns:minmax(300px,40%) 150px minmax(0,1fr)!important;overflow:hidden!important}
  .ticket-panel,.categories,.catalog{min-width:0!important}
}
@media(min-width:1050px){
  .app-view--payment .payment-stage{overflow-y:auto!important;overflow-x:hidden!important;min-height:0!important;overscroll-behavior:contain}
}
@media(max-width:800px){
  .app-view--payment .payment-workspace{min-width:0!important;overflow:hidden!important}
  .app-view--payment .payment-stage,.app-view--payment .payment-entry-panel,.app-view--payment .payment-ledger{min-width:0!important;max-width:100%!important}
  .app-view--payment .payment-tip-actions>*{min-width:0!important}
  .app-view--payment .payment-money-input input,.app-view--payment .payment-tip-input input{min-width:0!important;max-width:100%!important}
}

/* ==========================================================================
   SECTION: MOBILE
   ========================================================================== */
/* AmeliaPOS Mobile PWA - permanent smartphone shell */
.pwa-install-banner{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:10050;display:none;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;background:#fff;border:1px solid #d6e1e9;border-radius:16px;box-shadow:0 14px 40px rgba(16,42,67,.2)}
.pwa-install-banner.show{display:grid}.pwa-install-banner img{width:46px;height:46px;border-radius:12px}.pwa-install-banner strong{display:block;color:#102a43;font-size:13px}.pwa-install-banner small{display:block;color:#66798d;font-size:10px;line-height:1.35;margin-top:2px}.pwa-install-banner button{border:0;border-radius:10px;padding:10px 13px;font-weight:900}.pwa-install-banner .pwa-install{background:#ff6500;color:#fff}.pwa-install-banner .pwa-dismiss{background:#eef3f7;color:#173b58;padding:10px}
.pwa-offline-pill{position:fixed;top:calc(8px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:10060;display:none;background:#fff3e8;color:#9c4700;border:1px solid #ffd2ac;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:900;box-shadow:0 6px 20px rgba(16,42,67,.12)}.pwa-offline-pill.show{display:block}
@media(max-width:760px){html.amelia-mobile-pwa,html.amelia-mobile-pwa body{min-height:100dvh;background:#f3f6f9}html.amelia-mobile-pwa body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);overscroll-behavior-y:none}html.amelia-mobile-pwa .topbar{min-height:58px;height:auto;padding:7px 9px;position:sticky;top:0;z-index:30;background:#fff}html.amelia-mobile-pwa .brand-official{min-width:0}html.amelia-mobile-pwa .brand-official .amelia-logo-shell{width:112px;height:40px}html.amelia-mobile-pwa .gpos-global-nav{overflow-x:auto;scrollbar-width:none;max-width:calc(100vw - 128px)}html.amelia-mobile-pwa .gpos-global-nav::-webkit-scrollbar{display:none}html.amelia-mobile-pwa .gpos-nav-button{min-width:max-content;height:38px;padding:0 10px;font-size:11px}html.amelia-mobile-pwa .context,html.amelia-mobile-pwa .top-actions{display:none!important}html.amelia-mobile-pwa .workspace{height:calc(100dvh - 58px - 64px);min-height:0}html.amelia-mobile-pwa .mobile-face-nav{display:grid;position:fixed;bottom:0;left:0;right:0;z-index:35;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:rgba(255,255,255,.98);border-top:1px solid #d9e2e9;box-shadow:0 -6px 24px rgba(16,42,67,.08)}html.amelia-mobile-pwa .statusbar{display:none!important}html.amelia-mobile-pwa .overlay .dialog{width:100vw!important;max-width:none!important;max-height:100dvh!important;height:100dvh!important;border-radius:0!important;margin:0!important}html.amelia-mobile-pwa .overlay{align-items:stretch!important;padding:0!important}html.amelia-mobile-pwa .dialog>header{padding-top:calc(14px + env(safe-area-inset-top))!important}html.amelia-mobile-pwa .alerts-dialog{display:flex;flex-direction:column;overflow:hidden}html.amelia-mobile-pwa .alerts-list{max-height:none!important;flex:1;overflow:auto;padding-bottom:calc(72px + env(safe-area-inset-bottom))}html.amelia-mobile-pwa .alerts-send-panel{position:sticky;bottom:0;background:#fff;z-index:3}html.amelia-mobile-pwa .product-editor-pro{max-height:none!important;height:auto!important;overflow:visible!important}html.amelia-mobile-pwa .management-main{padding-bottom:calc(76px + env(safe-area-inset-bottom))}}
/* RC7: smartphone operativo con contraste y cabecera estable */
@media(max-width:760px){
 html.amelia-mobile-pwa .topbar{min-height:56px!important;height:56px!important;padding:6px 8px!important;border-bottom:2px solid #ff6500!important;overflow:hidden!important;box-shadow:0 2px 8px rgba(16,42,67,.06)}
 html.amelia-mobile-pwa .brand-official{flex:0 0 92px!important;width:92px!important;overflow:hidden!important}
 html.amelia-mobile-pwa .brand-official .amelia-logo-shell{width:90px!important;height:36px!important;padding:3px 5px!important;border-radius:7px!important}
 html.amelia-mobile-pwa .gpos-global-nav,html.amelia-mobile-pwa .gpos-table-context{max-width:calc(100vw - 104px)!important;min-width:0!important;overflow-x:auto!important;scroll-snap-type:x proximity;scrollbar-width:none!important;gap:0!important}
 html.amelia-mobile-pwa .gpos-global-nav::-webkit-scrollbar,html.amelia-mobile-pwa .gpos-table-context::-webkit-scrollbar{display:none}
 html.amelia-mobile-pwa .gpos-nav-button,html.amelia-mobile-pwa .gpos-table-context button{scroll-snap-align:start;min-width:max-content!important;height:42px!important;padding:0 13px!important;font-size:12px!important;font-weight:850!important;color:#102a43!important;border-left:1px solid #e2e9ef!important}
 html.amelia-mobile-pwa .gpos-nav-button.active,html.amelia-mobile-pwa .gpos-table-context button.active{color:#c65300!important;background:#fff7f1!important;box-shadow:inset 0 -3px 0 #ff6500!important}
 html.amelia-mobile-pwa .mobile-face-nav{background:#102a43!important;border-top:2px solid #ff6500!important;box-shadow:0 -8px 22px rgba(16,42,67,.18)!important;gap:7px!important}
 html.amelia-mobile-pwa .mobile-face-nav button{min-height:58px!important;background:#173b58!important;border:1px solid #31536d!important;color:#fff!important;border-radius:12px!important}
 html.amelia-mobile-pwa .mobile-face-nav button small{color:#c8d5df!important}
 html.amelia-mobile-pwa .mobile-face-nav button.active{background:#fff!important;color:#102a43!important;border-color:#fff!important;box-shadow:inset 0 3px 0 #ff6500!important}
 html.amelia-mobile-pwa .mobile-face-nav button.active small{color:#596b7b!important}
}

/* ==========================================================================
   SECTION: BASE ESTABLE CONSOLIDADA
   ========================================================================== */
:root{--amelia-orange:#ff6a00;--amelia-orange-dark:#df5800;--amelia-navy:#102a43;--amelia-navy-2:#183f5d;--amelia-soft:#f4f7fa;--amelia-line:#d9e2ec;--amelia-text:#0f172a;--amelia-muted:#64748b}
/* Botones: naranjo para acción, azul marino para estructura. */
button.primary,.primary.full,.pay:not(.settled),.pos-login-submit,.cash-start-actions .primary,.cash-open-rail,.module-actions .primary,.mobile-connect-actions .primary,.custom-sale-footer .primary,.delivery-route-summary .primary{background:var(--amelia-orange)!important;border-color:var(--amelia-orange)!important;color:#fff!important;box-shadow:none!important}
button.primary:hover,.primary.full:hover,.pay:not(.settled):hover,.pos-login-submit:hover{background:var(--amelia-orange-dark)!important;border-color:var(--amelia-orange-dark)!important}
.management-rail button.active,.salon-global-actions button.active,.gpos-global-nav .gpos-nav-button.active,.management-subtabs button.active{background:var(--amelia-navy)!important;color:#fff!important;border-color:var(--amelia-navy)!important}
.management-header,.salon-global-nav,.topbar{box-shadow:0 1px 0 rgba(15,23,42,.08)!important}
.management-content{padding:20px 24px 28px!important}.management-module-head{margin-bottom:14px!important}.management-module-head h3{letter-spacing:-.025em}.master-list-card,.executive-card,.bi-card{box-shadow:0 1px 2px rgba(15,23,42,.035)!important}
.category-special{border-style:solid!important}.category-special-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-weight:900;background:#fff3e9;color:var(--amelia-orange);font-size:18px}.category-build .category-special-icon{background:#fff0e5}.category-special.active{border-color:var(--amelia-orange)!important;box-shadow:inset 3px 0 0 var(--amelia-orange)!important}
.table-action{border:1px solid #cbd5e1;background:#fff;color:var(--amelia-navy);border-radius:9px;padding:7px 11px;font-weight:800;cursor:pointer}.table-action:hover{border-color:var(--amelia-orange);color:var(--amelia-orange-dark)}
.suite-table--stock-actions .suite-table-head,.suite-table--stock-actions .suite-table-row{grid-template-columns:.65fr 1.45fr 1.35fr .8fr .8fr .8fr .85fr .7fr!important}
/* Venta personalizada */
.custom-sale-dialog{width:min(900px,calc(100vw - 32px));max-height:min(760px,calc(100dvh - 32px));overflow:hidden;display:flex;flex-direction:column}.custom-wizard-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:0 22px 12px}.custom-wizard-steps span{padding:9px 10px;border:1px solid var(--amelia-line);border-radius:10px;text-align:center;font-size:12px;font-weight:800;color:var(--amelia-muted)}.custom-wizard-steps span.active{color:var(--amelia-orange-dark);border-color:#ffb37d;background:#fff6ef}.custom-sale-body{padding:4px 22px 18px;overflow:auto;min-height:320px}.custom-step-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:12px}.custom-step-head strong{font-size:18px}.custom-step-head span{font-size:12px;color:var(--amelia-muted)}.custom-search{width:100%;height:44px;border:1px solid #cbd5e1;border-radius:11px;padding:0 13px;margin-bottom:10px}.custom-item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.custom-item-card{border:1px solid var(--amelia-line);background:#fff;border-radius:12px;padding:12px;text-align:left;display:flex;flex-direction:column;gap:8px;min-height:90px}.custom-item-card span{display:grid;gap:3px}.custom-item-card small{color:var(--amelia-muted)}.custom-item-card>strong{color:var(--amelia-orange-dark)}.custom-item-card.selected{border-color:var(--amelia-orange);box-shadow:0 0 0 2px rgba(255,106,0,.12)}.custom-item-card label{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center}.custom-item-card label input{min-width:0;height:36px}.custom-add-list{display:grid;gap:7px}.custom-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--amelia-line);border-radius:11px;padding:9px 11px}.custom-add-row>span{display:grid}.custom-add-row small{color:var(--amelia-muted)}.custom-add-row>div{display:grid;grid-template-columns:36px 70px auto 36px;gap:5px;align-items:center}.custom-add-row button{height:36px;border-radius:9px;border:1px solid #cbd5e1;background:#fff}.custom-add-row input{height:36px;width:70px;text-align:center}.custom-add-row em{font-style:normal;font-size:11px;color:var(--amelia-muted)}.custom-final-card{display:grid;grid-template-columns:1fr 1fr;gap:12px}.custom-final-card label{display:grid;gap:5px}.custom-final-card .span-two{grid-column:1/-1}.custom-final-card input,.custom-final-card select,.custom-final-card textarea{border:1px solid #cbd5e1;border-radius:10px;padding:10px}.custom-composition-summary{grid-column:1/-1;border:1px solid var(--amelia-line);border-radius:12px;overflow:hidden}.custom-composition-summary div{display:flex;justify-content:space-between;padding:9px 11px;border-bottom:1px solid #edf2f7}.custom-composition-summary div:last-child{border:0}.custom-sale-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border-top:1px solid var(--amelia-line);padding:12px 22px;background:#fff}.custom-sale-total{justify-self:end;display:grid;text-align:right}.custom-sale-total span{font-size:10px;text-transform:uppercase;color:var(--amelia-muted);font-weight:800}.custom-sale-total strong{font-size:22px;color:var(--amelia-orange-dark)}
/* Delivery */
.delivery-dialog{width:min(1080px,calc(100vw - 28px));height:min(780px,calc(100dvh - 28px));display:flex;flex-direction:column;overflow:hidden}.delivery-tabs{display:flex;gap:6px;padding:0 22px 10px}.delivery-tabs button{border:1px solid var(--amelia-line);background:#fff;border-radius:10px;padding:9px 14px;font-weight:800}.delivery-tabs button.active{background:var(--amelia-navy);color:#fff}.delivery-panel{display:none;padding:8px 22px 20px;overflow:auto;min-height:0;flex:1}.delivery-panel.active{display:block}.delivery-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.delivery-form-grid label{display:grid;gap:5px}.delivery-form-grid .span-two{grid-column:1/-1}.delivery-form-grid input{height:42px;border:1px solid #cbd5e1;border-radius:10px;padding:0 12px}.delivery-address-row{display:grid;grid-template-columns:1fr auto;gap:7px}.delivery-address-results{display:grid;gap:4px;max-height:130px;overflow:auto}.delivery-address-results button{border:1px solid #e2e8f0;background:#fff;text-align:left;border-radius:8px;padding:8px 10px;font-size:12px}.delivery-route-grid{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:12px;margin-top:12px;min-height:390px}.delivery-map{min-height:390px;border:1px solid var(--amelia-line);border-radius:14px;overflow:hidden;background:#edf2f7}.map-placeholder{height:100%;min-height:390px;display:grid;place-content:center;text-align:center;color:var(--amelia-muted);gap:5px}.delivery-route-summary{border:1px solid var(--amelia-line);border-radius:14px;padding:16px;display:flex;flex-direction:column}.delivery-route-summary>span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--amelia-muted);font-weight:900;margin-top:9px}.delivery-route-summary>strong{font-size:22px}.delivery-route-summary small{margin:12px 0;color:var(--amelia-muted)}.delivery-route-summary button{margin-top:auto;min-height:46px}.delivery-orders-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.delivery-order-card{border:1px solid var(--amelia-line);border-radius:13px;padding:13px;background:#fff}.delivery-order-card header{display:flex;justify-content:space-between;gap:12px}.delivery-order-card header div{display:grid;gap:2px}.delivery-order-card header span{font-size:10px;font-weight:900;text-transform:uppercase;color:var(--amelia-orange-dark)}.delivery-order-card header small{color:var(--amelia-muted)}.delivery-order-meta{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.delivery-order-meta span{background:#f1f5f9;border-radius:999px;padding:5px 8px;font-size:11px}.delivery-order-card footer{display:flex;gap:7px;justify-content:flex-end}.loading-line{font-size:12px;color:var(--amelia-muted)}
/* Alertas operativas */
.alerts-compose{grid-template-columns:minmax(160px,.8fr) minmax(240px,1.5fr) auto!important}.alerts-compose select{min-width:0}
/* Login móvil: evitar solapamientos y teclado excesivo. */
@media(max-width:767px){.pos-login-shell{grid-template-rows:52px auto auto auto!important;min-height:100dvh!important}.pos-login-header{height:52px!important}.pos-login-users{padding:8px 10px!important}.pos-login-user{min-height:68px!important;padding:5px!important}.pos-login-user-avatar{width:34px!important;height:34px!important;min-width:34px!important}.pos-login-identity{padding:10px 12px 8px!important;grid-template-columns:46px minmax(0,1fr)!important}.pos-login-selected-avatar{width:46px!important;height:46px!important}.pos-login-selected-copy h1{font-size:17px!important}.pos-login-pin-label{margin-top:8px!important}.pos-login-pin-wrap{height:46px!important}.pos-login-keypad{padding:8px 12px calc(10px + env(safe-area-inset-bottom))!important}.pos-login-key-grid{gap:6px!important}.pos-login-key-grid button{height:44px!important;font-size:19px!important}.pos-login-submit{height:46px!important;margin-top:7px!important}.pos-login-status{margin-top:4px!important}.salon-global-nav{overflow-x:auto;scrollbar-width:none}.salon-global-actions{min-width:max-content}.custom-sale-dialog,.delivery-dialog{width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;border-radius:0!important}.custom-item-grid{grid-template-columns:1fr 1fr}.custom-step-head{display:grid}.custom-sale-body{padding-inline:12px}.custom-sale-footer{padding:10px 12px;position:sticky;bottom:0}.custom-add-row{grid-template-columns:1fr}.custom-add-row>div{grid-template-columns:36px 72px auto 36px}.custom-final-card{grid-template-columns:1fr}.custom-final-card .span-two{grid-column:auto}.delivery-panel{padding-inline:12px}.delivery-form-grid{grid-template-columns:1fr}.delivery-form-grid .span-two{grid-column:auto}.delivery-route-grid{grid-template-columns:1fr;min-height:0}.delivery-map{min-height:250px}.map-placeholder{min-height:250px}.delivery-route-summary{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.delivery-route-summary button,.delivery-route-summary small{grid-column:1/-1}.delivery-orders-list{grid-template-columns:1fr}.alerts-compose{grid-template-columns:1fr!important}.management-content{padding:12px!important}.suite-table--stock-actions{overflow:visible}.suite-table--stock-actions .suite-table-head{display:none!important}.suite-table--stock-actions .suite-table-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px 10px;border:1px solid var(--amelia-line)!important;border-radius:11px!important;margin-bottom:8px!important;padding:10px!important}.suite-table--stock-actions .suite-table-row>span:nth-child(2),.suite-table--stock-actions .suite-table-row>span:nth-child(3){grid-column:1/-1}.suite-table--stock-actions .suite-table-row>span:last-child{justify-self:end}.categories{scrollbar-width:none}}
@media(max-width:390px){.custom-item-grid{grid-template-columns:1fr}.pos-login-user-list{gap:5px!important}.pos-login-user-copy small{display:none}.pos-login-user{min-height:62px!important}.pos-login-key-grid button{height:41px!important}.pos-login-submit{height:44px!important}}

/* Commercial RC finishing */
.gpos-nav-delivery{position:relative}.gpos-nav-delivery .nav-badge{margin-left:5px;background:var(--amelia-orange)!important;color:#fff!important}
.delivery-live-card{border:1px solid var(--amelia-line);border-radius:14px;background:#fff;margin-bottom:12px;overflow:hidden}.delivery-live-card>header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--amelia-line)}.delivery-live-card>header>div{display:grid;gap:2px}.delivery-live-grid{display:grid;grid-template-columns:minmax(0,1fr) 210px;min-height:280px}.delivery-live-map{min-height:280px;background:#edf2f7}.delivery-live-grid aside{padding:15px;display:flex;flex-direction:column;border-left:1px solid var(--amelia-line)}.delivery-live-grid aside span{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--amelia-muted);margin-top:10px}.delivery-live-grid aside strong{font-size:20px}.delivery-live-grid aside small{margin-top:auto;color:var(--amelia-muted);line-height:1.4}.delivery-live-pill{background:#ecfdf5!important;color:#047857!important;font-weight:800}
/* Actions use Amelia orange; navy remains navigation/context only. */
.salon-create-btn,#newDirectSaleBtn,#saveSalonManage,.inventory-operation-submit,.management-module-head .primary,.table-action.primary,.delivery-order-card footer .table-action{background:var(--amelia-orange)!important;color:#fff!important;border-color:var(--amelia-orange)!important}.delivery-order-card footer .table-action:hover{background:var(--amelia-orange-dark)!important;color:#fff!important}
/* Stronger contrast without heavy panels. */
.management-content,.management-module{background:#f7f9fc!important}.management-header{background:#fff!important}.master-list-card,.management-kpis>article,.suite-table-card,.executive-card,.bi-card{border-color:#dbe3ec!important;box-shadow:none!important}.suite-table-row:hover{background:#fffaf5!important}
@media(max-width:767px){.gpos-global-nav{overflow-x:auto;max-width:100%;scrollbar-width:none}.gpos-global-nav>*{flex:0 0 auto}.delivery-live-grid{grid-template-columns:1fr}.delivery-live-grid aside{border-left:0;border-top:1px solid var(--amelia-line);display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}.delivery-live-grid aside small{grid-column:1/-1}.delivery-live-map{min-height:230px}.delivery-order-card footer{flex-wrap:wrap}.delivery-order-card footer button{min-height:40px}.topbar{min-width:0}.brand{flex:0 0 auto}.context{min-width:0}.custom-sale-dialog>header,.delivery-dialog>header,.alerts-dialog>header{padding:12px 14px!important}.custom-sale-dialog h2,.delivery-dialog h2,.alerts-dialog h2{font-size:20px!important}.custom-wizard-steps{padding-inline:12px}.custom-wizard-steps span{padding:7px 5px;font-size:10px}.custom-sale-body{min-height:0;flex:1}.delivery-orders-list{padding-bottom:calc(8px + env(safe-area-inset-bottom))}}

/* RC2.1 Inventory quick count */
.inventory-quick-dialog{width:min(980px,calc(100vw - 36px));height:min(760px,calc(100dvh - 36px));padding:0!important;overflow:hidden;display:flex;flex-direction:column;border-radius:18px!important}.inventory-quick-dialog>header{padding:20px 22px 15px;border-bottom:1px solid var(--amelia-line);display:flex;justify-content:space-between;align-items:flex-start}.inventory-quick-dialog>header h2{margin:4px 0;font-size:24px}.inventory-quick-dialog>header p{margin:0;color:var(--amelia-muted)}.inventory-quick-toolbar{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:8px;padding:12px 16px;background:#f7f9fb;border-bottom:1px solid var(--amelia-line)}.inventory-quick-toolbar label{display:grid;gap:4px}.inventory-quick-toolbar span{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#5f7285}.inventory-quick-toolbar select,.inventory-quick-toolbar input{height:39px;border:1px solid #ccd9e3;border-radius:8px;background:#fff;padding:0 10px}.inventory-quick-head,.inventory-quick-row{display:grid;grid-template-columns:minmax(220px,1fr) 120px 140px 110px;gap:10px;align-items:center}.inventory-quick-head{padding:9px 16px;background:#eef3f7;border-bottom:1px solid var(--amelia-line);font-size:9px;font-weight:900;text-transform:uppercase;color:#64788c}.inventory-quick-rows{overflow:auto;min-height:0;flex:1;background:#fff}.inventory-quick-row{padding:9px 16px;border-bottom:1px solid #edf1f4}.inventory-quick-item{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center;min-width:0}.inventory-quick-item .mini-code{width:44px;height:38px;border-radius:9px;background:#f1f5f8;display:grid;place-items:center;color:#486278;font-size:9px;font-weight:900}.inventory-quick-item div{min-width:0}.inventory-quick-item b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-quick-item small{display:block;color:var(--amelia-muted);font-size:9px;margin-top:2px}.inventory-quick-system{font-weight:850;color:#173b58}.inventory-quick-input{height:38px!important;border:1px solid #cbd8e2!important;border-radius:8px!important;padding:0 9px!important;text-align:right!important;font-weight:800!important}.inventory-quick-input.changed{border-color:var(--amelia-orange)!important;box-shadow:0 0 0 2px rgba(245,103,10,.12)!important}.inventory-quick-diff{font-weight:900;text-align:right}.inventory-quick-diff.positive{color:#147846}.inventory-quick-diff.negative{color:#b5372e}.inventory-quick-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 16px;background:#f8fafc;border-top:1px solid var(--amelia-line)}.inventory-quick-summary span{font-weight:850;color:#173b58}.inventory-quick-summary small{color:var(--amelia-muted)}.inventory-quick-dialog>footer{display:flex;justify-content:flex-end;gap:8px;padding:11px 16px;border-top:1px solid var(--amelia-line);background:#fff}.quick-stock-row{background:#fff4ea!important;border-color:#ffd6b6!important;color:#a94400!important}@media(max-width:700px){.inventory-quick-dialog{width:100vw;height:100dvh;border-radius:0!important}.inventory-quick-toolbar{grid-template-columns:1fr 1fr}.inventory-quick-search{grid-column:1/-1}.inventory-quick-head{display:none}.inventory-quick-row{grid-template-columns:1fr 1fr;gap:7px;padding:10px 12px}.inventory-quick-item{grid-column:1/-1}.inventory-quick-system:before{content:'Sistema ';font-size:9px;color:var(--amelia-muted);font-weight:700}.inventory-quick-input{width:100%}.inventory-quick-diff{text-align:left}.inventory-quick-summary{display:grid;gap:3px}.inventory-quick-dialog>footer{display:grid;grid-template-columns:.8fr 1.2fr}.inventory-quick-dialog>footer button{width:100%}}

/* RC2.1 — precios rápidos: operación compacta estilo AmeliaPOS */
.quick-price-dialog{width:min(1040px,calc(100vw - 36px));height:min(780px,calc(100dvh - 36px));padding:0!important;overflow:hidden;display:flex;flex-direction:column;border-radius:18px!important}.quick-price-dialog>header{padding:20px 22px 15px;border-bottom:1px solid var(--amelia-line);display:flex;align-items:flex-start;justify-content:space-between;gap:16px;background:#fff}.quick-price-dialog>header h2{margin:4px 0;font-size:24px}.quick-price-dialog>header p{margin:0;color:var(--amelia-muted)}.quick-price-toolbar{display:grid;grid-template-columns:1fr 1fr 1fr 1.35fr;gap:8px;padding:12px 16px;background:#f7f9fb;border-bottom:1px solid var(--amelia-line)}.quick-price-toolbar label{display:grid;gap:4px}.quick-price-toolbar span{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#5f7285}.quick-price-toolbar select,.quick-price-toolbar input,.quick-price-actions select,.quick-price-actions input{height:39px;border:1px solid #ccd9e3;border-radius:8px;background:#fff;padding:0 10px}.quick-price-actions{display:grid;grid-template-columns:170px 110px auto 1fr;gap:8px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--amelia-line);background:#fff}.quick-price-actions span{font-size:10px;color:var(--amelia-muted);text-align:right}.quick-price-head,.quick-price-row{display:grid;grid-template-columns:minmax(260px,1fr) 135px 150px 100px;gap:10px;align-items:center}.quick-price-head{padding:9px 16px;background:#eef3f7;border-bottom:1px solid var(--amelia-line);font-size:9px;font-weight:900;text-transform:uppercase;color:#64788c}.quick-price-rows{overflow:auto;min-height:0;flex:1;background:#fff}.quick-price-row{padding:8px 16px;border-bottom:1px solid #edf1f4}.quick-price-product{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:10px;min-width:0}.quick-price-product>span{font-size:9px;font-weight:900;color:#5f7285;background:#f2f5f8;border-radius:8px;padding:8px;text-align:center}.quick-price-product b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-price-product small{display:block;color:var(--amelia-muted);font-size:9px;margin-top:2px}.quick-price-row>strong{font-size:13px;color:#173b58}.quick-price-row>input{height:38px;border:1px solid #ccd9e3;border-radius:8px;padding:0 10px;text-align:right;font-weight:900}.quick-price-row>input.changed{border-color:var(--amelia-orange);box-shadow:0 0 0 2px rgba(245,103,10,.12);background:#fffaf6}.quick-price-row>em{font-style:normal;font-size:9px;font-weight:850;color:#64788c}.quick-price-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 16px;background:#f8fafc;border-top:1px solid var(--amelia-line)}.quick-price-summary span{font-weight:850;color:#173b58}.quick-price-summary small{color:var(--amelia-muted)}.quick-price-dialog>footer{display:flex;justify-content:flex-end;gap:8px;padding:11px 16px;border-top:1px solid var(--amelia-line);background:#fff}.catalog-subtabs [data-catalog-tab="addOns"]{position:relative}.catalog-subtabs [data-catalog-tab="addOns"]:after{content:'+';display:inline-grid;place-items:center;width:14px;height:14px;margin-left:5px;border-radius:50%;background:#fff1e7;color:#d95400;font-size:9px;font-weight:900}
@media(max-width:760px){.quick-price-dialog{width:100vw;height:100dvh;border-radius:0!important}.quick-price-toolbar{grid-template-columns:1fr 1fr}.quick-price-search{grid-column:1/-1}.quick-price-actions{grid-template-columns:1fr 90px}.quick-price-actions button{grid-column:1/-1}.quick-price-actions span{display:none}.quick-price-head{display:none}.quick-price-row{grid-template-columns:1fr 1fr;gap:7px;padding:10px 12px}.quick-price-product{grid-column:1/-1}.quick-price-row>strong:before{content:'Actual ';font-size:9px;color:var(--amelia-muted);font-weight:700}.quick-price-row>em{text-align:right}.quick-price-dialog>footer{display:grid;grid-template-columns:.8fr 1.2fr}.quick-price-dialog>footer button{width:100%}}

/* ========================================================================== */
/* AmeliaPOS Touch 1.0 RC17 — AUTORIDAD VISUAL FINAL                         */
/* Este bloque se carga al final de toda la cascada y gobierna la UI runtime. */
/* ========================================================================== */
:root{
  --a17-navy-950:#06131f;
  --a17-navy-900:#081a29;
  --a17-navy-850:#0d2233;
  --a17-navy-800:#123047;
  --a17-orange:#ff6b00;
  --a17-orange-strong:#e95f00;
  --a17-red:#c8443b;
  --a17-green:#16845c;
  --a17-bg:#eef3f7;
  --a17-card:#ffffff;
  --a17-line:#d8e2ea;
  --a17-text:#112236;
  --a17-muted:#667b8d;
  --a17-radius:16px;
  --a17-shadow:0 18px 48px rgba(5,22,36,.12);
}
html,body{width:100%;max-width:100%;min-width:0;overflow-x:hidden!important}
body{background:var(--a17-bg)!important;color:var(--a17-text)}
button,input,select,textarea{min-width:0}
button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(255,107,0,.22)!important;outline-offset:2px}
.app-view{width:100vw!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;overflow:hidden!important}
.overlay{inset:0!important;display:grid;place-items:center;overflow:hidden;padding:clamp(10px,2vw,24px)!important;background:rgba(3,12,20,.72)!important;backdrop-filter:blur(8px) saturate(.95)!important}
.overlay.hidden{display:none!important}
.dialog{border:1px solid rgba(112,136,155,.25)!important;border-radius:18px!important;box-shadow:0 28px 80px rgba(4,18,31,.24)!important}
.primary,.pay:not(.settled){background:var(--a17-orange)!important;border-color:var(--a17-orange)!important;color:#fff!important}
.primary:hover,.pay:not(.settled):hover{background:var(--a17-orange-strong)!important;border-color:var(--a17-orange-strong)!important}
.danger{background:#fff0ef!important;color:#a9342e!important;border:1px solid #f2c8c5!important}
.ghost{color:#203549}
.amelia-logo-shell{box-shadow:none!important}
.topbar .amelia-logo-shell,.salon-global-nav .amelia-logo-shell,.cash-start-topbar .amelia-logo-shell,.cash-gpos-header .amelia-logo-shell,.management-header .amelia-logo-shell{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important}

/* ---------- Login congelado: protege layout y evita que reglas antiguas lo deformen ---------- */
.pos-login-screen{width:100vw!important;height:100dvh!important;max-height:none!important;overflow:hidden!important}
.pos-login-shell{width:100%!important;height:100dvh!important;max-height:none!important;min-height:0!important}
.pos-login-user-list{overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable}
.pos-login-user{max-width:100%!important;overflow:hidden!important}
.pos-login-keypad,.pos-login-identity,.pos-login-users{min-width:0!important}

/* ---------- Inicio de operación / apertura de caja ---------- */
.app-view--cash{z-index:280!important;background:var(--a17-navy-950)!important}
.cash-start-view{height:100dvh!important;min-height:0!important;grid-template-rows:82px minmax(0,1fr)!important;overflow:hidden!important}
.cash-start-topbar{grid-template-columns:minmax(260px,1fr) auto minmax(260px,1fr)!important;height:82px!important;padding:0 clamp(30px,4vw,70px)!important;background:rgba(3,14,24,.92)!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.cash-start-access{grid-column:1;justify-self:start;display:flex;align-items:center;gap:12px;color:#fff;min-width:0}
.cash-start-access-icon{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,107,0,.48);border-radius:10px;color:#ff8128;font-size:24px;background:rgba(255,107,0,.06)}
.cash-start-access>div{display:grid;gap:3px;min-width:0}.cash-start-access strong{font-size:12px;letter-spacing:.03em}.cash-start-access small{font-size:10px;color:#b8c6d0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cash-start-brand{grid-column:2!important}.cash-start-context{grid-column:3!important}
.cash-start-stage{min-height:0!important;place-items:center!important;padding:clamp(18px,3vw,38px)!important;overflow:auto!important;overscroll-behavior:contain}
.cash-start-card{width:min(980px,calc(100vw - 56px))!important;max-height:calc(100dvh - 118px)!important;overflow:auto!important;overscroll-behavior:contain;gap:15px!important;padding:clamp(20px,2vw,30px)!important;background:linear-gradient(145deg,rgba(8,24,37,.83),rgba(5,18,29,.75))!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:24px!important;box-shadow:0 28px 78px rgba(0,0,0,.32)!important;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}
.cash-start-card::-webkit-scrollbar{width:7px}.cash-start-card::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:999px}
.cash-start-heading h2{color:#fff!important}.cash-start-heading p{color:#c7d1d8!important}
.cash-start-operator{background:rgba(7,27,41,.54)!important}
.cash-start-money{height:80px!important;background:rgba(2,15,25,.74)!important}
.cash-start-shortcuts{background:rgba(7,25,38,.58)!important}
.cash-start-shortcuts button{min-width:0!important;overflow:hidden!important}
.cash-start-actions{position:relative;z-index:1}
#openCashSubmit{min-width:220px!important}

/* Modal $0: siempre sobre la vista cash; una sola geometría centrada. */
.cash-zero-confirm-overlay{z-index:1200!important;place-items:center!important;align-items:center!important;justify-items:center!important;padding:18px!important;background:rgba(2,8,14,.78)!important}
.cash-zero-confirm-overlay:not(.hidden){display:grid!important}
.cash-zero-confirm-dialog{position:relative!important;inset:auto!important;margin:0!important;width:min(520px,calc(100vw - 36px))!important;max-height:calc(100dvh - 36px)!important;overflow:auto!important;padding:31px 30px 24px!important;border-radius:22px!important;background:linear-gradient(145deg,rgba(14,30,44,.99),rgba(6,20,31,.99))!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 34px 100px rgba(0,0,0,.55)!important;transform:none!important;opacity:1!important}
.cash-zero-confirm-dialog h2{color:#fff!important}.cash-zero-confirm-dialog p{color:#c9d3da!important}
.cash-zero-confirm-actions{width:100%!important}
body.cash-zero-confirming{overflow:hidden!important}

/* ---------- POS principal ---------- */
.topbar.gpos-topbar{height:64px!important;min-height:64px!important;background:linear-gradient(90deg,var(--a17-navy-950),var(--a17-navy-900))!important;border-bottom:1px solid rgba(255,255,255,.07)!important;color:#fff!important}
.gpos-topbar .brand-official .amelia-logo-shell{width:126px!important;height:38px!important}
.gpos-global-nav{min-width:0!important;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.gpos-global-nav::-webkit-scrollbar{display:none}
.gpos-nav-button{min-height:40px!important;border-radius:9px!important;white-space:nowrap}
.gpos-nav-button:hover{background:rgba(255,255,255,.08)!important}
.workspace{min-width:0!important;min-height:0!important;overflow:hidden!important;background:#d8e2e9!important}
.ticket-panel,.catalog,.categories{min-width:0!important;min-height:0!important}
.ticket-panel{background:#fff!important}.ticket-head{background:#fbfcfd!important}.ticket-footer{background:#fff!important;box-shadow:0 -8px 28px rgba(16,42,67,.05)}
.ticket-actions button{min-height:50px!important;border-radius:11px!important}
.categories{overflow-x:hidden!important;overflow-y:auto!important;background:#f8fafc!important}.category{min-height:48px!important;border-radius:10px!important}.category.active{background:var(--a17-navy-850)!important;color:#fff!important}.category-special.active{background:#fff6ef!important;color:#a84b0b!important}
.catalog{background:#fff!important}.catalog-toolbar{background:#fbfcfd!important}.products{overscroll-behavior:contain}.product-card{border-radius:13px!important}.product-card:active{transform:scale(.985)}
.statusbar{background:var(--a17-navy-950)!important}

/* ---------- Salones ---------- */
.app-view--salon{background:#eef3f7!important}
.salon-shell{min-width:0!important;min-height:0!important;overflow:hidden!important}
.salon-global-nav{background:linear-gradient(90deg,var(--a17-navy-950),var(--a17-navy-900))!important;border-bottom:1px solid rgba(255,255,255,.08)!important;color:#fff!important}
.salon-global-brand .amelia-logo-shell{width:122px!important;height:38px!important}
.salon-global-actions{overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none}.salon-global-actions::-webkit-scrollbar{display:none}
.salon-global-actions button{min-height:40px!important;white-space:nowrap!important;border-radius:8px!important}.salon-global-actions button.active{background:rgba(255,107,0,.16)!important;color:#fff!important;box-shadow:inset 0 -2px 0 var(--a17-orange)}
.salon-header,.salon-toolbar{background:#fff!important}.salon-header{border-bottom:1px solid var(--a17-line)!important}.salon-table-stage{min-width:0!important;min-height:0!important;overflow:auto!important;overscroll-behavior:contain;background:#eef3f7!important}
.salon-table{border-radius:14px!important;box-shadow:0 4px 14px rgba(16,42,67,.06)!important}.salon-table--busy{border-color:#e19b95!important;background:#fff9f8!important}
.salon-create-btn,#newDirectSaleBtn,#saveSalonManage{background:var(--a17-orange)!important;color:#fff!important;border-color:var(--a17-orange)!important}

/* ---------- Pago / checkout ---------- */
.app-view--payment{background:#edf3f7!important}
.payment-workspace{width:100%!important;height:100dvh!important;min-height:0!important;overflow:hidden!important;background:#edf3f7!important}
.payment-topbar{background:linear-gradient(90deg,var(--a17-navy-950),var(--a17-navy-900))!important;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.payment-topbar h2{color:#fff!important}.payment-topbar p{color:#bfccd5!important}.payment-back{color:#fff!important;border-color:rgba(255,255,255,.18)!important;background:rgba(255,255,255,.06)!important}
.payment-stage{min-width:0!important;min-height:0!important;overflow:auto!important;overscroll-behavior:contain}
.payment-entry-panel,.payment-ledger{border:1px solid var(--a17-line)!important;border-radius:18px!important;box-shadow:0 10px 28px rgba(16,42,67,.07)!important;background:#fff!important}
.payment-method-grid button{min-width:0!important}.payment-method-grid button.active{background:var(--a17-navy-850)!important;color:#fff!important;border-color:var(--a17-navy-850)!important}
.payment-register-btn{background:var(--a17-orange)!important;color:#fff!important}

/* ---------- Gestión de caja ---------- */
.app-view--cash-management{background:#eaf0f4!important}
.cash-gpos-shell{min-width:0!important;min-height:0!important;background:#eaf0f4!important}
.cash-gpos-header{background:linear-gradient(90deg,var(--a17-navy-950),var(--a17-navy-900))!important;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.cash-gpos-header .cash-gpos-logo{background:transparent!important;border:0!important}
.cash-gpos-body{min-width:0!important;min-height:0!important;overflow:hidden!important}
.cash-gpos-rail{background:var(--a17-navy-900)!important;color:#fff!important}.cash-gpos-rail button{color:#d4e0e8!important}.cash-gpos-rail button.active{background:rgba(255,107,0,.16)!important;color:#fff!important;border-color:transparent!important;box-shadow:inset 3px 0 0 var(--a17-orange)}
.cash-gpos-content{min-width:0!important;min-height:0!important;overflow:auto!important;overscroll-behavior:contain}
.cash-tab-panel{min-width:0!important}

/* ---------- Back office / administración ---------- */
.app-view--management{background:#eef3f7!important}
.management-shell{min-width:0!important;min-height:0!important;overflow:hidden!important}
.management-header{background:linear-gradient(90deg,var(--a17-navy-950),var(--a17-navy-900))!important;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.management-header .amelia-logo-shell{width:128px!important;height:38px!important}.management-header small,.management-header span{color:#c7d4dc}.management-header b{color:#fff}
.management-body{min-width:0!important;min-height:0!important;overflow:hidden!important;background:#eef3f7!important}
.management-rail{background:var(--a17-navy-900)!important;border-right:1px solid rgba(255,255,255,.06)!important;overflow-y:auto!important;overflow-x:hidden!important}.management-rail button{color:#d7e3eb!important;background:transparent!important;border-radius:10px!important}.management-rail button small{color:#88a0b1!important}.management-rail button.active{background:rgba(255,107,0,.15)!important;color:#fff!important;box-shadow:inset 3px 0 0 var(--a17-orange)!important}.management-rail button.active small{color:#d2e0e8!important}
.management-content{min-width:0!important;min-height:0!important;overflow:auto!important;overscroll-behavior:contain;background:#f4f7fa!important}
.management-module{min-width:0!important}.management-module-head{background:transparent!important}.management-module-head h3{color:var(--a17-text)!important}
.executive-card,.master-list-card,.bi-card,.suite-table-card,.management-kpis>article{border:1px solid var(--a17-line)!important;border-radius:15px!important;background:#fff!important;box-shadow:0 4px 16px rgba(16,42,67,.045)!important}
.module-actions .primary,.management-module-head .primary{background:var(--a17-orange)!important;color:#fff!important}

/* ---------- Diálogos comunes / formularios touch ---------- */
.dialog input,.dialog select,.dialog textarea{min-height:44px;border-radius:10px!important}
.dialog button,.overlay button{min-height:42px}
.icon-btn{touch-action:manipulation}
.toast{z-index:1400!important;border-radius:12px!important;box-shadow:0 18px 45px rgba(0,0,0,.22)!important}

/* ---------- Responsive tablet ---------- */
@media (min-width:768px) and (max-width:1100px){
  .cash-start-topbar{grid-template-columns:minmax(210px,1fr) auto minmax(190px,1fr)!important;padding-inline:24px!important}.cash-start-access small{display:none}.cash-start-card{width:min(880px,calc(100vw - 34px))!important}
  .workspace{grid-template-columns:minmax(350px,43%) 138px minmax(280px,1fr)!important}
  .management-body{grid-template-columns:210px minmax(0,1fr)!important}.management-content{padding:16px!important}
  .salon-global-session{min-width:max-content}
}

/* ---------- Smartphone portrait ---------- */
@media (max-width:767px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  .app-view{height:100dvh!important;max-height:100dvh!important}
  .overlay{padding:0!important;align-items:stretch!important;justify-items:stretch!important}
  .overlay>.dialog:not(.cash-zero-confirm-dialog),.overlay>section.dialog{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important;overflow:auto!important}
  .cash-zero-confirm-overlay{padding:12px!important;align-items:center!important;justify-items:center!important}
  .cash-zero-confirm-dialog{width:100%!important;max-width:480px!important;height:auto!important;max-height:calc(100dvh - 24px)!important;border-radius:20px!important;padding:24px 18px 18px!important}.cash-zero-confirm-actions{grid-template-columns:1fr!important}.cash-zero-confirm-actions button{min-height:50px!important}
  .cash-start-view{grid-template-rows:62px minmax(0,1fr)!important}.cash-start-topbar{grid-template-columns:minmax(0,1fr) auto!important;padding:0 12px!important}.cash-start-access{grid-column:1!important}.cash-start-access small{display:none}.cash-start-access-icon{width:30px;height:30px}.cash-start-brand{grid-column:2!important}.cash-start-brand .amelia-logo-shell{width:122px!important;height:38px!important}.cash-start-context{display:none!important}.cash-start-stage{padding:10px!important;align-items:start!important}.cash-start-card{width:100%!important;max-height:calc(100dvh - 82px)!important;border-radius:18px!important;padding:15px!important;gap:11px!important}.cash-start-heading{gap:12px!important;padding-bottom:12px!important}.cash-start-heading h2{font-size:30px!important}.cash-start-heading p{font-size:11px!important}.cash-start-icon{width:48px!important;height:48px!important;flex-basis:48px!important}.cash-start-money{height:64px!important}.cash-start-money input{font-size:31px!important}.cash-start-shortcuts>div{grid-template-columns:1fr 1fr!important}.cash-start-shortcuts button{min-height:54px!important}.cash-start-actions{display:grid!important;grid-template-columns:.75fr 1.25fr!important}.cash-start-actions button,#openCashSubmit{width:100%!important;min-width:0!important;padding-inline:10px!important}
  .topbar.gpos-topbar{height:58px!important;min-height:58px!important;padding-inline:8px!important}.gpos-topbar .brand-official .amelia-logo-shell{width:108px!important;height:34px!important}.gpos-global-nav{max-width:calc(100vw - 124px)!important}.gpos-nav-button{height:38px!important;min-height:38px!important}.top-actions,.context{display:none!important}
  .workspace{width:100%!important;max-width:100%!important;overflow:hidden!important}
  .categories{overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important}.categories::-webkit-scrollbar{display:none}.category{flex:0 0 auto!important;min-height:42px!important}
  .payment-stage{padding:10px!important;overflow-y:auto!important;overflow-x:hidden!important}.payment-entry-panel,.payment-ledger{border-radius:15px!important;box-shadow:none!important}
  .salon-global-nav{min-height:58px!important}.salon-global-brand .amelia-logo-shell{width:104px!important;height:34px!important}.salon-global-actions{overflow-x:auto!important}.salon-global-session span{display:none!important}.salon-toolbar{min-width:0!important;overflow:hidden!important}.salon-toolbar-right{min-width:0!important;overflow-x:auto!important;scrollbar-width:none}
  .management-header{min-height:58px!important}.management-header .amelia-logo-shell{width:104px!important;height:34px!important}.management-body{display:block!important;overflow:auto!important}.management-rail{position:sticky!important;top:0!important;z-index:6!important;display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;min-height:54px!important;scrollbar-width:none!important;background:var(--a17-navy-900)!important}.management-rail::-webkit-scrollbar{display:none}.management-rail button{flex:0 0 auto!important;min-width:112px!important;padding:8px 10px!important}.management-rail button small{display:none!important}.management-content{padding:12px!important;overflow:visible!important}
  .dialog button,.overlay button{min-height:46px}
}

@media (max-width:390px){
  .cash-start-access strong{font-size:10px}.cash-start-brand .amelia-logo-shell{width:106px!important}.cash-start-shortcuts{padding:9px!important}.cash-start-shortcuts>div{gap:7px!important}.cash-start-shortcuts button{font-size:12px!important}.cash-start-note p{font-size:10px!important}
  .cash-zero-confirm-dialog h2{font-size:25px!important}.cash-zero-confirm-dialog p{font-size:12px!important}
}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.app-view,.cash-zero-confirm-dialog{transition:none!important}}

/* ==========================================================================
   AMELIAPOS TOUCH RC20.1 · BRANDING + HEADER AUTHORITY
   Una sola autoridad visual para POS, salón, gestión y checkout.
   ========================================================================== */
:root{
  --rc20-navy-950:#061522;
  --rc20-navy-900:#081c2d;
  --rc20-navy-800:#123651;
  --rc20-ink:#10243a;
  --rc20-muted:#687b8d;
  --rc20-line:#d7e1e9;
  --rc20-surface:#ffffff;
  --rc20-canvas:#edf3f7;
  --rc20-orange:#f97316;
  --rc20-orange-strong:#ea580c;
  --rc20-green:#14835d;
  --rc20-amber:#b87516;
  --rc20-red:#b9423a;
}
html,body{max-width:100%;overflow-x:hidden!important}
body{background:var(--rc20-canvas)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(249,115,22,.58)!important;outline-offset:2px!important}
.amelia-logo-shell img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:left center!important}

/* POS principal: barra profesional, compacta y legible. */
@media (min-width:1101px){
  .topbar.gpos-topbar{
    height:64px!important;min-height:64px!important;padding:0 18px!important;gap:14px!important;
    background:linear-gradient(90deg,var(--rc20-navy-950),var(--rc20-navy-900))!important;
    border-bottom:1px solid rgba(255,255,255,.07)!important;
    box-shadow:0 1px 0 rgba(255,255,255,.04),0 8px 24px rgba(0,0,0,.12)!important;color:#fff!important
  }
  .topbar.gpos-topbar .brand-official{display:flex!important;align-items:center!important;flex:0 0 auto!important;min-width:0!important}
  .topbar.gpos-topbar .brand-official .amelia-logo-shell{width:132px!important;height:42px!important}
  .topbar.gpos-topbar .brand-official small{margin-left:8px!important;color:#a9bac7!important;font-size:10px!important;font-weight:850!important;letter-spacing:.12em!important;text-transform:uppercase!important}
  .topbar.gpos-topbar .gpos-global-nav,.topbar.gpos-topbar .gpos-table-context{display:flex!important;align-items:stretch!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;background:transparent!important;border:0!important;box-shadow:none!important}
  .topbar.gpos-topbar .gpos-global-nav::-webkit-scrollbar,.topbar.gpos-topbar .gpos-table-context::-webkit-scrollbar{display:none!important}
  .topbar.gpos-topbar .gpos-nav-button,.topbar.gpos-topbar .gpos-table-context button{
    position:relative!important;height:64px!important;min-height:64px!important;padding:0 12px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
    color:#dbe6ee!important;font-size:12px!important;font-weight:780!important;white-space:nowrap!important
  }
  .topbar.gpos-topbar .gpos-nav-button:hover,.topbar.gpos-topbar .gpos-table-context button:hover{background:rgba(255,255,255,.055)!important;color:#fff!important}
  .topbar.gpos-topbar .gpos-nav-button.active,.topbar.gpos-topbar .gpos-nav-button[aria-expanded="true"]{color:#fff!important;box-shadow:inset 0 -2px 0 var(--rc20-orange)!important;background:rgba(249,115,22,.055)!important}
  .topbar.gpos-topbar .gpos-nav-button>span:first-child{color:var(--rc20-orange)!important}
  .topbar.gpos-topbar .gpos-nav-button em{color:#91a4b3!important;font-style:normal!important}
  .topbar.gpos-topbar .context{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;flex:1 1 auto!important;min-width:90px!important;color:#95a9b8!important;font-size:10px!important;white-space:nowrap!important}
  .topbar.gpos-topbar .context b{color:#f6f9fb!important}.topbar.gpos-topbar .context .dot{width:3px!important;height:3px!important;background:#60788b!important}
  .topbar.gpos-topbar .top-actions{display:flex!important;align-items:center!important;gap:7px!important;flex:0 0 auto!important}
  .topbar.gpos-topbar .user-pill,.topbar.gpos-topbar .logout-top{height:39px!important;min-height:39px!important;padding:0 12px!important;border-radius:9px!important;font-size:11px!important;font-weight:850!important;box-shadow:none!important}
  .topbar.gpos-topbar .user-pill{max-width:174px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;background:rgba(255,255,255,.96)!important;color:#142a3e!important;border:1px solid rgba(255,255,255,.8)!important}
  .topbar.gpos-topbar .logout-top{background:#10314c!important;color:#f8fbfd!important;border:1px solid rgba(255,255,255,.1)!important}
  .topbar.gpos-topbar .gpos-table-context .context-back{color:#fff!important;border-right:1px solid rgba(255,255,255,.08)!important;background:rgba(255,255,255,.04)!important}
  .topbar.gpos-topbar .gpos-table-context #deleteNav{color:#ffaaa3!important}
}

/* Salón usa el mismo lenguaje del POS. */
.salon-global-nav{min-height:62px!important;background:linear-gradient(90deg,var(--rc20-navy-950),var(--rc20-navy-900))!important;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.07)!important;box-shadow:0 6px 18px rgba(5,18,29,.12)!important}
.salon-global-brand .amelia-logo-shell{width:132px!important;height:42px!important}
.salon-global-brand small{color:#a9bac7!important;font-weight:850!important;letter-spacing:.11em!important}
.salon-global-actions button{min-height:42px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#d7e3ec!important;font-weight:800!important}
.salon-global-actions button:hover{background:rgba(255,255,255,.06)!important;color:#fff!important}
.salon-global-actions button.active{background:rgba(249,115,22,.12)!important;color:#fff!important;box-shadow:inset 0 -2px 0 var(--rc20-orange)!important}
#kdsNavBtn,#printerConfigBtn{background:rgba(255,255,255,.055)!important;color:#e8f0f5!important;border:1px solid rgba(255,255,255,.08)!important}
.salon-global-session{color:#d4e0e9!important}.salon-global-session button{background:#10314c!important;color:#fff!important;border-color:rgba(255,255,255,.1)!important}

#tablesOverlay.salon-screen{background:var(--rc20-canvas)!important}
#tablesOverlay .salon-shell{height:100dvh!important;min-height:100dvh!important;grid-template-rows:auto auto auto auto auto minmax(0,1fr)!important;overflow:hidden!important}
.salon-header{background:#fff!important;border-bottom:1px solid var(--rc20-line)!important}
.salon-toolbar{background:#fbfcfd!important;border-bottom:1px solid var(--rc20-line)!important}
.salon-table-stage{height:100%!important;min-height:0!important;overflow:auto!important;overscroll-behavior:contain!important;background:#eaf1f5!important}
.salon-table-stage.normal,.salon-table-stage.direct-layout{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:12px!important;align-content:start!important;padding:14px!important}
.salon-table-stage.free-layout{position:relative!important;display:block!important;height:100%!important;min-height:420px!important;padding:20px!important;background-color:#e9f0f4!important;background-image:radial-gradient(circle at 1px 1px,rgba(16,47,73,.10) 1px,transparent 0)!important;background-size:22px 22px!important}
.salon-table-stage.free-layout .salon-table{position:absolute!important;left:clamp(115px,calc(var(--x) * 1%),calc(100% - 115px))!important;top:clamp(62px,calc(var(--y) * 1%),calc(100% - 62px))!important;transform:translate(-50%,-50%)!important;width:230px!important}
.salon-table-stage.free-layout .salon-table:hover{transform:translate(-50%,-50%) scale(1.01)!important}
.salon-table{border-radius:14px!important;border:1px solid rgba(16,47,73,.13)!important;box-shadow:0 6px 18px rgba(16,47,73,.08)!important;background:#fff!important}
.salon-table--free .salon-table__main{background:linear-gradient(135deg,#257c58,#1c684b)!important}
.salon-table--open .salon-table__main,.salon-table--pending-send .salon-table__main{background:linear-gradient(135deg,#9a4d40,#843d35)!important}
.salon-table--sent .salon-table__main{background:linear-gradient(135deg,#8b5b35,#70462a)!important}
.salon-table--prebill .salon-table__main{background:linear-gradient(135deg,#65568c,#514474)!important}
.salon-table--partial-payment .salon-table__main{background:linear-gradient(135deg,#a26525,#824d1d)!important}
.salon-table__state{background:rgba(255,255,255,.16)!important;color:#fff!important}
.salon-table__actions{background:#fff!important;border-top:1px solid var(--rc20-line)!important}
.salon-table__actions button{color:#19344a!important;background:#fff!important}.salon-table__actions button:hover{background:#f4f7f9!important;color:#0b2235!important}
.salon-table__name{font-size:16px!important}.salon-table__facts,.salon-table__waiter{font-size:11px!important}
.salon-mode-banner{border-color:#efc37a!important;background:#fff8ea!important}.salon-mode-banner button{background:var(--rc20-navy-900)!important}

/* Ticket y catálogo: más densidad útil, menos truncamiento. */
.workspace{background:#dce6ed!important}.ticket-panel,.catalog{background:#fff!important}.categories{background:#f7fafc!important;overflow-x:hidden!important;overflow-y:auto!important}
.product-card{min-width:0!important;border:1px solid #dbe4eb!important;border-radius:13px!important;box-shadow:0 2px 7px rgba(16,47,73,.035)!important}
.product-card strong{white-space:normal!important;overflow:hidden!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;line-height:1.12!important}
.product-card .code{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#718596!important}
.products.cards{grid-auto-rows:minmax(132px,auto)!important}.product-card b{color:var(--rc20-orange-strong)!important}
.ticket-actions button:disabled{opacity:.45!important;cursor:not-allowed!important}.pay.settled{background:#dce7e2!important;color:#507063!important}

/* Checkout: dos pasos visibles y una sola confirmación. */
.app-view--payment{background:#eaf1f5!important}
.payment-workspace{height:100dvh!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;overflow:hidden!important;background:#eaf1f5!important}
.payment-topbar{min-height:96px!important;background:linear-gradient(90deg,var(--rc20-navy-950),var(--rc20-navy-900))!important;color:#fff!important;padding:14px 24px!important}
.payment-topbar h2{color:#fff!important}.payment-topbar p{color:#c0ced8!important}.payment-stage{min-height:0!important;overflow:hidden!important;display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(330px,.78fr)!important;gap:14px!important;padding:14px 18px 18px!important}
.payment-entry-panel,.payment-ledger{min-height:0!important;overflow:auto!important;border:1px solid var(--rc20-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 8px 24px rgba(16,47,73,.07)!important}
.payment-entry-panel{padding:16px!important}.payment-ledger{padding:16px!important}
.payment-method-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}.payment-method-grid button{min-height:74px!important;border-radius:13px!important}
.payment-money-field{margin:10px 0!important}.payment-money-input{min-height:64px!important}.payment-tip-panel{margin:10px 0!important;padding:12px!important}
.cash-denominations{grid-template-columns:repeat(5,minmax(0,1fr))!important}.cash-denomination{min-height:58px!important}
.payment-register-btn{position:sticky!important;bottom:-1px!important;z-index:3!important;min-height:54px!important;margin-top:12px!important;background:var(--rc20-orange)!important;color:#fff!important;box-shadow:0 -8px 18px rgba(255,255,255,.92)!important}
.payment-register-btn:disabled{background:#d9e3e9!important;color:#7d8d9a!important;box-shadow:none!important}
.payment-ledger-bottom{position:sticky!important;bottom:-1px!important;background:#fff!important;padding-top:10px!important}.payment-ledger #finishSale.hidden{display:none!important}
.payment-charge-summary{border-radius:13px!important}.payment-charge-total{background:#fff6ed!important}.payment-charge-cash{background:#edf8f2!important}

/* Gestión e impresión: un solo cuerpo desplazable. */
.management-header{background:linear-gradient(90deg,var(--rc20-navy-950),var(--rc20-navy-900))!important;color:#fff!important}.management-header *{color:inherit}.management-header .amelia-logo-shell{width:124px!important;height:40px!important}
.production-dialog--suite{width:min(1320px,96vw)!important;height:min(92dvh,920px)!important;max-height:92dvh!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;overflow:hidden!important;border-radius:20px!important}
.production-body--suite{min-height:0!important;overflow:auto!important;overscroll-behavior:contain!important}.production-footer{position:relative!important;background:#fff!important;border-top:1px solid var(--rc20-line)!important}
.detected-printer.is-virtual{opacity:.68!important;background:#f4f6f8!important}.virtual-pill{padding:5px 8px!important;border-radius:999px!important;background:#e7ebef!important;color:#5e6c78!important;font-size:10px!important;font-weight:900!important}

@media (max-width:1100px){
  .topbar.gpos-topbar{min-width:0!important}.topbar.gpos-topbar .gpos-global-nav{overflow-x:auto!important}.context{display:none!important}
  .salon-global-actions{overflow-x:auto!important;scrollbar-width:none!important}.salon-global-actions::-webkit-scrollbar{display:none!important}
  .payment-stage{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr)!important;padding:10px!important}.payment-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cash-denominations{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:767px){
  .salon-table-stage.normal,.salon-table-stage.direct-layout,.salon-table-stage.free-layout{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;min-height:0!important;height:auto!important;padding:9px 10px calc(16px + env(safe-area-inset-bottom))!important}
  .salon-table-stage.free-layout .salon-table{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:100%!important}
  .payment-workspace{height:100dvh!important}.payment-topbar{min-height:72px!important;padding:10px 12px!important}.payment-stage{display:block!important;overflow:auto!important;padding:8px!important}.payment-entry-panel,.payment-ledger{overflow:visible!important;border-radius:14px!important;margin-bottom:8px!important}.payment-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cash-denominations{grid-template-columns:repeat(3,minmax(0,1fr))!important}.payment-register-btn{bottom:calc(6px + env(safe-area-inset-bottom))!important}
  .production-dialog--suite{width:100vw!important;height:100dvh!important;max-height:none!important;border-radius:0!important}.production-suite-grid{grid-template-columns:1fr!important}
}
@media (max-width:390px){.salon-table-stage.normal,.salon-table-stage.direct-layout,.salon-table-stage.free-layout{grid-template-columns:1fr!important}.cash-denominations{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.printer-config-card footer{align-items:center!important}.printer-health{margin-right:auto;display:grid;gap:1px;min-width:0}.printer-health b{font-size:10px;color:#5e7181}.printer-health small{font-size:9px;color:#80909d;max-width:290px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.printer-health.ok b{color:#14835d}.printer-health.error b{color:#b9423a}.printer-health.pending b{color:#9a651b}

/* ==========================================================================
   RC20.1 · OFFICIAL BRANDING AUTHORITY
   El logo oficial nunca se recorta, deforma ni monta sobre cápsula blanca.
   ========================================================================== */
:root{
  --brand-logo-ratio:3.58;
  --brand-logo-header-w:156px;
  --brand-logo-header-h:44px;
}
.amelia-logo-shell,.cash-gpos-logo{
  display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;
  padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;overflow:visible!important;line-height:0!important;
}
.amelia-logo-shell img,.cash-gpos-logo img,.kds-brand img,.payment-brand img{
  display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:left center!important;filter:none!important;transform:none!important;
}
/* Login: marca protagonista, sin caja blanca y con aire real alrededor. */
.pos-login-brand{min-width:0!important}
.pos-login-brand .amelia-logo-shell{width:clamp(250px,19vw,340px)!important;height:clamp(70px,5.4vw,96px)!important}
.pos-login-brand small{margin-top:-3px!important}
/* POS / Salón / Caja / Administración comparten la misma escala de marca. */
.topbar.gpos-topbar .brand-official .amelia-logo-shell,
.salon-global-brand .amelia-logo-shell,
.management-header .amelia-logo-shell{width:var(--brand-logo-header-w)!important;height:var(--brand-logo-header-h)!important;flex:0 0 var(--brand-logo-header-w)!important}
.cash-start-brand .amelia-logo-shell{width:190px!important;height:54px!important}
.cash-gpos-header .cash-gpos-logo{width:144px!important;height:42px!important}
.brand-official small,.salon-global-brand small,.cash-start-brand small{color:#b7c5d0!important}
/* Checkout: marca discreta a la derecha; no compite con la acción de cobro. */
.payment-topbar{display:flex!important;align-items:center!important}
.payment-heading{min-width:0!important}
.payment-brand{display:flex!important;align-items:center!important;justify-content:flex-end!important;width:154px!important;height:46px!important;margin-left:auto!important;flex:0 0 154px!important;opacity:.98!important;overflow:visible!important}
/* Header desktop: espacio suficiente para el logo; navegación clara y no invasiva. */
@media (min-width:1101px){
  .topbar.gpos-topbar{padding-left:20px!important;padding-right:18px!important;gap:16px!important}
  .topbar.gpos-topbar .brand-official{gap:10px!important;padding-right:4px!important}
  .topbar.gpos-topbar .brand-official small{margin-left:0!important;color:#b6c5cf!important}
}
@media (max-width:1100px){
  .topbar.gpos-topbar .brand-official .amelia-logo-shell{width:118px!important;height:36px!important;flex-basis:118px!important}
  .salon-global-brand .amelia-logo-shell,.management-header .amelia-logo-shell{width:112px!important;height:34px!important;flex-basis:112px!important}
  .cash-start-brand .amelia-logo-shell{width:142px!important;height:42px!important}
  .payment-brand{width:118px!important;height:36px!important;flex-basis:118px!important}
}
@media (max-width:760px){
  .pos-login-brand .amelia-logo-shell{width:174px!important;height:50px!important}
  .topbar.gpos-topbar .brand-official .amelia-logo-shell{width:104px!important;height:32px!important;flex-basis:104px!important}
  .payment-brand{display:none!important}
}



/* ========================================================================== */
/* CASHIER TOUCH NAV — autoridad visual final, aislada al rol Cajero           */
/* ========================================================================== */
#salonGlobalNav.cashier-touch-nav{
  height:72px!important;min-height:72px!important;display:grid!important;
  grid-template-columns:180px minmax(520px,680px) 112px minmax(170px,1fr)!important;
  align-items:center!important;gap:12px!important;padding:0 18px!important;overflow:hidden!important;
  background:linear-gradient(90deg,#071827,#0a2135)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;
}
#salonGlobalNav.cashier-touch-nav .salon-global-brand{min-width:0!important;overflow:visible!important}
#salonGlobalNav.cashier-touch-nav .salon-global-brand .amelia-logo-shell{width:146px!important;height:44px!important;display:flex!important;align-items:center!important}
#salonGlobalNav.cashier-touch-nav .salon-global-brand img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:left center!important}
#salonGlobalNav.cashier-touch-nav .salon-global-brand small{display:none!important}
#salonGlobalNav.cashier-touch-nav .salon-global-actions{display:grid!important;grid-template-columns:repeat(4,minmax(112px,1fr))!important;align-items:center!important;gap:8px!important;width:100%!important;min-width:0!important;height:auto!important;overflow:visible!important}
#salonGlobalNav.cashier-touch-nav .salon-global-actions .touch-nav-action{position:relative!important;min-width:0!important;width:100%!important;height:54px!important;min-height:54px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;margin:0!important;padding:0 12px!important;border:1px solid transparent!important;border-radius:13px!important;background:transparent!important;color:#dce7ef!important;font-size:14px!important;font-weight:800!important;line-height:1!important;box-shadow:none!important}
#salonGlobalNav.cashier-touch-nav .salon-global-actions .touch-nav-action:hover,#salonGlobalNav.cashier-touch-nav .salon-global-actions .touch-nav-action:focus-visible{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.10)!important;color:#fff!important;outline:none!important}
#salonGlobalNav.cashier-touch-nav .salon-global-actions .touch-nav-action.active{color:#fff!important;background:rgba(244,107,11,.15)!important;border-color:rgba(244,107,11,.48)!important;box-shadow:inset 0 -3px 0 #f46b0b!important}
#salonGlobalNav.cashier-touch-nav .touch-nav-icon{width:22px!important;height:22px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 22px!important}
#salonGlobalNav.cashier-touch-nav .touch-nav-icon svg{width:100%!important;height:100%!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
#salonGlobalNav.cashier-touch-nav .salon-global-actions .touch-nav-action:first-child .touch-nav-icon svg{fill:currentColor!important;stroke:none!important}
#salonGlobalNav.cashier-touch-nav .salon-global-utilities{display:grid!important;grid-template-columns:48px 48px!important;gap:8px!important;align-items:center!important;justify-content:center!important;min-width:104px!important}
#salonGlobalNav.cashier-touch-nav .salon-nav-icon-button{position:relative!important;width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:12px!important;background:rgba(255,255,255,.04)!important;color:#dce7ef!important}
#salonGlobalNav.cashier-touch-nav .salon-nav-icon-button:hover,#salonGlobalNav.cashier-touch-nav .salon-nav-icon-button:focus-visible{background:rgba(255,255,255,.10)!important;color:#fff!important;outline:none!important}
#salonGlobalNav.cashier-touch-nav .nav-badge{position:absolute!important;top:3px!important;right:3px!important;min-width:18px!important;height:18px!important;padding:0 5px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#f46b0b!important;color:#fff!important;font-size:10px!important;font-weight:900!important;line-height:1!important}
#salonGlobalNav.cashier-touch-nav .nav-badge.hidden{display:none!important}
#salonGlobalNav.cashier-touch-nav .salon-global-session{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;min-width:0!important;margin:0!important}
#salonGlobalNav.cashier-touch-nav .salon-global-session span{display:block!important;max-width:110px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#d7e3ec!important;font-size:12px!important;font-weight:700!important}
#salonGlobalNav.cashier-touch-nav #salonLogoutBtn{height:48px!important;min-height:48px!important;padding:0 15px!important;border-radius:12px!important;white-space:nowrap!important;background:#12314b!important;color:#fff!important;border:1px solid rgba(255,255,255,.12)!important;font-size:12px!important;font-weight:800!important}
@media (max-width:1365px) and (min-width:768px){
  #salonGlobalNav.cashier-touch-nav{grid-template-columns:138px minmax(440px,1fr) 104px 128px!important;gap:8px!important;padding:0 10px!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-brand .amelia-logo-shell{width:124px!important;height:40px!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-actions{gap:5px!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-actions .touch-nav-action{height:50px!important;min-height:50px!important;padding:0 8px!important;font-size:12px!important;gap:6px!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-session span{display:none!important}
  #salonGlobalNav.cashier-touch-nav #salonLogoutBtn{padding:0 10px!important}
}
@media (max-width:767px){
  #tablesOverlay.salon-screen .salon-shell{grid-template-rows:112px auto auto minmax(0,1fr)!important}
  #salonGlobalNav.cashier-touch-nav{height:112px!important;min-height:112px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:48px 56px!important;gap:4px 8px!important;padding:4px 8px!important;overflow:hidden!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-brand{display:flex!important;grid-column:1;grid-row:1!important;align-items:center!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-brand .amelia-logo-shell{width:118px!important;height:38px!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-session{grid-column:2;grid-row:1!important;display:flex!important;justify-content:flex-end!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-session span{display:none!important}
  #salonGlobalNav.cashier-touch-nav #salonLogoutBtn{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;font-size:0!important}
  #salonGlobalNav.cashier-touch-nav #salonLogoutBtn:before{content:'↪'!important;font-size:18px!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-actions{grid-column:1;grid-row:2!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;height:56px!important;min-width:0!important;overflow:hidden!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-actions .touch-nav-action{height:52px!important;min-height:52px!important;padding:0 2px!important;border-radius:10px!important;gap:0!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-actions .touch-nav-label{display:none!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-actions .touch-nav-icon{width:25px!important;height:25px!important;flex-basis:25px!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-utilities{grid-column:2;grid-row:2!important;display:grid!important;grid-template-columns:48px 48px!important;gap:4px!important;min-width:100px!important}
  #salonGlobalNav.cashier-touch-nav .salon-nav-icon-button{width:48px!important;height:52px!important;min-width:48px!important;min-height:52px!important;border-radius:10px!important}
}


/* ================================================================
   CAJA PRO — diseño aprobado, integración controlada sobre RC20.1
   Alcance: módulo Gestión de Caja únicamente.
   ================================================================ */
.app-view--cash-management .cash-gpos-shell{background:#f1f5f8!important;grid-template-rows:104px minmax(0,1fr)!important}
.app-view--cash-management .cash-gpos-header{min-height:104px!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(280px,340px) auto 58px!important;gap:16px!important;padding:14px 24px!important;background:linear-gradient(90deg,#06192b 0%,#09233a 100%)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;box-shadow:0 8px 24px rgba(6,25,43,.13)!important}
.app-view--cash-management .cash-gpos-heading{min-width:0!important}.app-view--cash-management .cash-gpos-brand-row{gap:16px!important}.app-view--cash-management .cash-gpos-logo{width:176px!important;height:54px!important;padding:0!important;background:transparent!important;border:0!important}.app-view--cash-management .cash-gpos-logo img{object-fit:contain!important}
.app-view--cash-management .cash-gpos-heading .view-eyebrow{color:#ff7b18!important;font-size:11px!important;letter-spacing:.12em!important}.app-view--cash-management .cash-gpos-heading h2{margin:2px 0 0!important;color:#fff!important;font-size:29px!important;font-weight:850!important;letter-spacing:-.025em!important}.app-view--cash-management .cash-gpos-heading p{display:none!important}
.app-view--cash-management .cash-gpos-session{min-width:0!important;display:grid!important;grid-template-columns:1fr!important;gap:2px!important;padding:11px 16px!important;border:1px solid #d8e2ea!important;border-radius:12px!important;background:#fff!important;box-shadow:0 8px 18px rgba(3,20,35,.14)!important}.app-view--cash-management .cash-gpos-session span{color:#15915f!important;font-size:10px!important;letter-spacing:.09em!important}.app-view--cash-management .cash-gpos-session strong{color:#10283d!important;font-size:15px!important}.app-view--cash-management .cash-gpos-session small{color:#708395!important;font-size:10px!important}
.app-view--cash-management .cash-header-print{height:48px!important;min-height:48px!important;padding:0 18px!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:10px!important;background:#fff!important;color:#10283d!important;font-size:14px!important;font-weight:850!important;box-shadow:0 7px 18px rgba(0,0,0,.12)!important}.app-view--cash-management .cash-gpos-back{width:50px!important;height:48px!important;border-radius:10px!important;background:#143650!important;border:1px solid #31536b!important;color:#fff!important}
.app-view--cash-management .cash-gpos-body{display:grid!important;grid-template-columns:minmax(0,1fr) 270px!important;grid-template-areas:"content rail"!important;min-width:0!important;min-height:0!important;overflow:hidden!important}.app-view--cash-management .cash-gpos-content{grid-area:content!important;min-width:0!important;min-height:0!important;overflow:auto!important;padding:22px 26px 30px!important;background:#f3f6f9!important}.app-view--cash-management .cash-gpos-rail{grid-area:rail!important;min-width:0!important;padding:20px 14px!important;background:linear-gradient(180deg,#082440 0%,#061c34 100%)!important;border-left:1px solid rgba(255,255,255,.06)!important;gap:7px!important;overflow-y:auto!important;overflow-x:hidden!important}.app-view--cash-management .cash-gpos-rail-title{padding:7px 10px 11px!important;color:#aec3d4!important;border-bottom:1px solid rgba(255,255,255,.12)!important;font-size:10px!important;letter-spacing:.12em!important}.app-view--cash-management .cash-gpos-rail-title.reports{margin-top:16px!important}.app-view--cash-management .cash-gpos-rail button{min-height:50px!important;display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;align-items:center!important;gap:6px!important;padding:7px 10px!important;border:1px solid transparent!important;border-radius:10px!important;background:transparent!important;color:#f4f8fb!important;font-size:13px!important;font-weight:700!important;box-shadow:none!important}.app-view--cash-management .cash-gpos-rail button:hover{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.08)!important}.app-view--cash-management .cash-gpos-rail button.active{background:rgba(255,123,24,.08)!important;color:#fff!important;border-color:#ff7b18!important;box-shadow:inset 3px 0 0 #ff7b18!important}.app-view--cash-management .cash-gpos-rail button b{font-weight:760!important}.app-view--cash-management .cash-rail-icon{display:grid!important;place-items:center!important;width:28px!important;height:28px!important;border-radius:50%!important;font-size:17px!important;line-height:1!important}.app-view--cash-management .cash-rail-icon--summary{color:#ff8a1f!important;border-radius:5px!important}.app-view--cash-management .cash-rail-icon--income{color:#20c47a!important;border:2px solid currentColor!important}.app-view--cash-management .cash-rail-icon--withdrawal{color:#ef4b45!important;border:2px solid currentColor!important}.app-view--cash-management .cash-rail-icon--tickets,.app-view--cash-management .cash-rail-icon--count,.app-view--cash-management .cash-rail-icon--history{color:#3fa8ff!important}.app-view--cash-management .cash-rail-icon--close{color:#ef4b45!important}.app-view--cash-management .cash-rail-icon--products{color:#39a0ff!important}.app-view--cash-management .cash-rail-icon--categories{color:#8c67ff!important}.app-view--cash-management .cash-rail-icon--stock{color:#ff8a1f!important}.app-view--cash-management .cash-rail-icon--waiters{color:#28c77f!important}
.app-view--cash-management .cash-pro-summary{width:min(1280px,100%);margin:0 auto;display:grid;gap:16px}.app-view--cash-management .cash-pro-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:18px 20px;border:1px solid #dce5ec;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(13,43,66,.045)}.app-view--cash-management .cash-pro-hero .view-eyebrow{color:#ff6a00!important;font-size:10px!important;letter-spacing:.1em!important}.app-view--cash-management .cash-pro-hero h3{margin:3px 0 7px;font-size:26px;color:#10283d;letter-spacing:-.025em}.app-view--cash-management .cash-pro-hero p{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#607384;font-size:12px}.app-view--cash-management .cash-pro-hero p .cash-pro-icon{width:17px;height:17px}.app-view--cash-management .cash-pro-hero p i{font-style:normal;color:#a2b0ba}.app-view--cash-management .cash-pro-hero aside{min-width:185px;display:grid;grid-template-columns:minmax(0,1fr) 52px;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:12px 14px;border:1px solid #dfe7ed;border-radius:14px;background:#fbfcfd}.app-view--cash-management .cash-pro-hero aside span{font-size:11px;color:#718395}.app-view--cash-management .cash-pro-hero aside strong{font-size:23px;color:#10283d}.app-view--cash-management .cash-pro-hero aside .cash-pro-icon{grid-column:2;grid-row:1/3;width:48px;height:48px;background:#eaf2ff;color:#1368d7;border-radius:50%;padding:12px}
.app-view--cash-management .cash-pro-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.app-view--cash-management .cash-pro-kpis article{min-width:0;min-height:164px;display:grid;justify-items:center;align-content:center;gap:6px;padding:14px 10px;border:1px solid #dce5ec;border-radius:15px;background:#fff;text-align:center;box-shadow:0 6px 18px rgba(13,43,66,.035)}.app-view--cash-management .cash-pro-kpis article>span{font-size:11px;color:#586c7e;font-weight:700}.app-view--cash-management .cash-pro-kpis article>strong{font-size:23px;line-height:1.05}.app-view--cash-management .cash-pro-kpis article>small{font-size:10px;color:#758798}.app-view--cash-management .cash-pro-kpis .cash-pro-icon{width:50px;height:50px;padding:12px;border-radius:50%;margin-bottom:4px}.app-view--cash-management .kpi-sales .cash-pro-icon{background:#edf4ff;color:#176bdf}.app-view--cash-management .kpi-sales>strong{color:#176bdf}.app-view--cash-management .kpi-cash .cash-pro-icon{background:#eaf8ed;color:#15a65b}.app-view--cash-management .kpi-cash>strong{color:#15a65b}.app-view--cash-management .kpi-ticket .cash-pro-icon{background:#f3edff;color:#713bd6}.app-view--cash-management .kpi-ticket>strong{color:#713bd6}.app-view--cash-management .kpi-moves .cash-pro-icon{background:#fff0e6;color:#ff6a00}.app-view--cash-management .kpi-moves>strong{color:#ff6a00}.app-view--cash-management .kpi-tip .cash-pro-icon{background:#fff6dd;color:#e99a00}.app-view--cash-management .kpi-tip>strong{color:#e99a00}.app-view--cash-management .kpi-products .cash-pro-icon{background:#e8f8fc;color:#0d9bc3}.app-view--cash-management .kpi-products>strong{color:#0d9bc3}
.app-view--cash-management .cash-pro-icon{display:inline-grid;place-items:center;flex:0 0 auto;color:#22506f}.app-view--cash-management .cash-pro-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-view--cash-management .cash-pro-detail-grid{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(0,1.25fr);gap:14px}.app-view--cash-management .cash-pro-card{min-width:0;border:1px solid #dce5ec;border-radius:15px;background:#fff;padding:15px 16px;box-shadow:0 6px 18px rgba(13,43,66,.035)}.app-view--cash-management .cash-pro-card>header{display:flex;align-items:center;gap:9px;padding-bottom:10px}.app-view--cash-management .cash-pro-card>header .cash-pro-icon{width:20px;height:20px;color:#176bdf}.app-view--cash-management .cash-pro-card>header strong{font-size:13px;color:#10283d}.app-view--cash-management .cash-pro-table-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:32px;border-bottom:1px solid #dfe6ec;color:#687c8d;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.app-view--cash-management .cash-pro-table-head span:last-child{text-align:right}.app-view--cash-management .cash-pro-table-row{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:39px;border-bottom:1px solid #edf1f4;font-size:11px;color:#31485d}.app-view--cash-management .cash-pro-table-row .cash-pro-icon{width:20px;height:20px;padding:3px;border-radius:5px;background:#f1f5f8;color:#31485d}.app-view--cash-management .cash-pro-table-row b{color:#10283d}.app-view--cash-management .cash-pro-table-total{display:flex;justify-content:space-between;align-items:center;min-height:42px;margin-top:3px;padding:0 7px;border-radius:8px;background:#edf4ff;color:#0d3f78;font-size:12px;font-weight:850}.app-view--cash-management .cash-pro-table-total strong{font-size:17px;color:#176bdf}.app-view--cash-management .cash-pro-control-grid{display:grid;grid-template-columns:1fr 1.05fr;min-width:0}.app-view--cash-management .cash-pro-movements{padding-right:16px;border-right:1px solid #dce5ec}.app-view--cash-management .cash-pro-turn-control{padding-left:16px}.app-view--cash-management .cash-pro-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:39px;border-bottom:1px solid #edf1f4;color:#334b5f;font-size:11px}.app-view--cash-management .cash-pro-turn-control .cash-pro-line{grid-template-columns:22px minmax(0,1fr) auto}.app-view--cash-management .cash-pro-line .cash-pro-icon{width:18px;height:18px;padding:3px;border-radius:5px;background:#f1f5f8;color:#46677f}.app-view--cash-management .cash-pro-line.total{font-weight:850;border-bottom:1px dashed #cfdbe4}.app-view--cash-management .cash-pro-line b{color:#10283d;text-align:right}.app-view--cash-management .positive{color:#0aa65c!important}.app-view--cash-management .negative{color:#e43e36!important}
.app-view--cash-management .cash-pro-strip{display:grid;grid-template-columns:1fr 1fr 1fr minmax(250px,1.25fr);gap:0;border:1px solid #dce5ec;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 6px 18px rgba(13,43,66,.035)}.app-view--cash-management .cash-pro-strip>div{min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;border-right:1px solid #e1e8ee}.app-view--cash-management .cash-pro-strip>div:last-child{border-right:0}.app-view--cash-management .cash-pro-strip .cash-pro-icon{width:30px;height:30px;color:#203d56}.app-view--cash-management .cash-pro-strip span{display:grid;gap:2px;color:#536779;font-size:10px}.app-view--cash-management .cash-pro-strip span small{font-size:8px;color:#8b99a5}.app-view--cash-management .cash-pro-strip strong{color:#10283d;font-size:15px;white-space:nowrap}.app-view--cash-management .cash-pro-expected{background:linear-gradient(135deg,#0d2c48,#0b243c)!important;color:#fff!important}.app-view--cash-management .cash-pro-expected span{color:#dbe8f0!important;font-size:10px!important}.app-view--cash-management .cash-pro-expected strong{color:#ff7617!important;font-size:22px!important}.app-view--cash-management .cash-pro-expected .cash-pro-icon{justify-self:end;color:#426178!important;width:46px!important;height:34px!important}
/* Formularios del módulo: misma familia visual del resumen aprobado. */
.app-view--cash-management .cash-gpos-operation,.app-view--cash-management .cash-gpos-report,.app-view--cash-management .cash-gpos-close{width:min(1280px,100%)!important;min-height:auto!important;margin:0 auto!important;padding:22px 24px!important;border:1px solid #dce5ec!important;border-radius:16px!important;background:#fff!important;box-shadow:0 8px 24px rgba(13,43,66,.045)!important}.app-view--cash-management .cash-gpos-operation>header,.app-view--cash-management .cash-gpos-report>header,.app-view--cash-management .cash-gpos-close>header{padding-bottom:14px!important;border-bottom:1px solid #e2e9ef!important}.app-view--cash-management .cash-gpos-operation h3,.app-view--cash-management .cash-gpos-report h3,.app-view--cash-management .cash-gpos-close h3{font-size:25px!important;color:#10283d!important}.app-view--cash-management .cash-gpos-operation .cash-operation-amount,.app-view--cash-management .cash-gpos-operation .cash-operation-shortcuts{max-width:760px!important}.app-view--cash-management .cash-operation-shortcuts button,.app-view--cash-management .cash-reason-grid button{min-height:58px!important;border:1px solid #ccd9e3!important;border-radius:11px!important;background:#fbfcfd!important;color:#10283d!important;font-weight:800!important}.app-view--cash-management .cash-operation-shortcuts button:hover,.app-view--cash-management .cash-reason-grid button.active{border-color:#ff8a3d!important;background:#fff5ed!important;color:#9b4306!important}.app-view--cash-management .cash-gpos-operation .cash-operation-submit{min-height:54px!important;border-radius:10px!important;background:#113b5b!important;color:#fff!important}.app-view--cash-management .cash-gpos-operation .cash-operation-submit.danger{background:#113b5b!important;color:#fff!important}.app-view--cash-management .cash-gpos-close-btn{min-height:54px!important;border-radius:10px!important;background:#c33d36!important;color:#fff!important}
@media(max-width:1400px){.app-view--cash-management .cash-gpos-body{grid-template-columns:minmax(0,1fr) 235px!important}.app-view--cash-management .cash-pro-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.app-view--cash-management .cash-pro-kpis article{min-height:132px}.app-view--cash-management .cash-pro-strip{grid-template-columns:1fr 1fr}.app-view--cash-management .cash-pro-strip>div:nth-child(2){border-right:0}.app-view--cash-management .cash-pro-strip>div:nth-child(-n+2){border-bottom:1px solid #e1e8ee}}
@media(max-width:980px){.app-view--cash-management .cash-gpos-shell{grid-template-rows:auto minmax(0,1fr)!important}.app-view--cash-management .cash-gpos-header{grid-template-columns:minmax(0,1fr) auto 48px!important;grid-template-rows:auto auto!important;padding:10px 12px!important;gap:8px!important}.app-view--cash-management .cash-gpos-heading{grid-column:1;grid-row:1/3}.app-view--cash-management .cash-gpos-logo{width:128px!important;height:40px!important}.app-view--cash-management .cash-gpos-heading h2{font-size:22px!important}.app-view--cash-management .cash-gpos-session{grid-column:2/4;grid-row:2;min-width:0!important;padding:7px 10px!important}.app-view--cash-management .cash-header-print{grid-column:2;grid-row:1;height:42px!important;min-height:42px!important}.app-view--cash-management .cash-gpos-back{grid-column:3;grid-row:1;width:44px!important;height:42px!important}.app-view--cash-management .cash-gpos-body{grid-template-columns:1fr!important;grid-template-rows:minmax(0,1fr) auto!important;grid-template-areas:"content" "rail"!important}.app-view--cash-management .cash-gpos-content{padding:12px!important}.app-view--cash-management .cash-gpos-rail{grid-area:rail!important;display:flex!important;flex-direction:row!important;overflow-x:auto!important;overflow-y:hidden!important;padding:7px 8px!important;gap:6px!important;border-left:0!important;border-top:1px solid rgba(255,255,255,.08)!important}.app-view--cash-management .cash-gpos-rail-title{display:none!important}.app-view--cash-management .cash-gpos-rail button{flex:0 0 132px!important;min-height:50px!important;grid-template-columns:28px minmax(0,1fr)!important;font-size:11px!important}.app-view--cash-management .cash-pro-detail-grid{grid-template-columns:1fr}.app-view--cash-management .cash-pro-control-grid{grid-template-columns:1fr 1fr}.app-view--cash-management .cash-pro-hero{grid-template-columns:1fr}.app-view--cash-management .cash-pro-hero aside{min-width:0}.app-view--cash-management .cash-gpos-close-entry{grid-template-columns:1fr!important}}
@media(max-width:620px){.app-view--cash-management .cash-gpos-header{grid-template-columns:minmax(0,1fr) 44px!important;grid-template-rows:auto auto auto!important}.app-view--cash-management .cash-gpos-heading{grid-column:1;grid-row:1}.app-view--cash-management .cash-gpos-brand-row .view-eyebrow{display:none!important}.app-view--cash-management .cash-gpos-heading h2{font-size:20px!important}.app-view--cash-management .cash-gpos-session{grid-column:1/-1;grid-row:2}.app-view--cash-management .cash-header-print{grid-column:1;grid-row:3;justify-self:start;height:40px!important;min-height:40px!important}.app-view--cash-management .cash-gpos-back{grid-column:2;grid-row:1;width:42px!important;height:40px!important}.app-view--cash-management .cash-pro-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.app-view--cash-management .cash-pro-kpis article{min-height:122px}.app-view--cash-management .cash-pro-detail-grid{gap:10px}.app-view--cash-management .cash-pro-control-grid{grid-template-columns:1fr}.app-view--cash-management .cash-pro-movements{padding-right:0;border-right:0}.app-view--cash-management .cash-pro-turn-control{padding-left:0;margin-top:12px}.app-view--cash-management .cash-pro-strip{grid-template-columns:1fr}.app-view--cash-management .cash-pro-strip>div{border-right:0!important;border-bottom:1px solid #e1e8ee}.app-view--cash-management .cash-pro-strip>div:last-child{border-bottom:0}.app-view--cash-management .cash-operation-shortcuts{grid-template-columns:repeat(2,1fr)!important}.app-view--cash-management .cash-reason-grid{grid-template-columns:1fr 1fr!important}}

/* ================================================================
   CIERRE DE CAJA TOUCH · REFINADO / COHERENTE CON CAJA PRO
   Alcance: solo #cashTabClose. Sustituye la capa anterior completa.
   ================================================================ */
.app-view--cash-management #cashTabClose{min-height:100%;overflow:visible!important}
.app-view--cash-management #cashTabClose .cash-touch-close{
  width:min(1280px,100%)!important;margin:0 auto!important;padding:0!important;background:transparent!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;color:#10283d!important;
}
.app-view--cash-management #cashTabClose .cash-close-head{
  display:flex!important;align-items:center!important;gap:14px!important;margin:0 0 14px!important;padding:0!important;
  background:transparent!important;border:0!important;
}
.app-view--cash-management #cashTabClose .cash-close-title-icon{
  width:52px!important;height:52px!important;display:grid!important;place-items:center!important;border-radius:12px!important;
  background:#0e2d48!important;color:#fff!important;font-size:21px!important;box-shadow:0 7px 16px rgba(12,39,61,.13)!important;
}
.app-view--cash-management #cashTabClose .cash-close-head>div>span{
  display:block!important;margin-bottom:3px!important;color:#ff6b00!important;font-size:10px!important;font-weight:900!important;letter-spacing:.12em!important;
}
.app-view--cash-management #cashTabClose .cash-close-head h3{margin:0!important;color:#10283d!important;font-size:27px!important;line-height:1.05!important;font-weight:900!important;letter-spacing:-.025em!important}
.app-view--cash-management #cashTabClose .cash-close-head p{margin:5px 0 0!important;color:#718395!important;font-size:11px!important}

.app-view--cash-management #cashTabClose .cash-gpos-close-summary{margin:0 0 12px!important}
.app-view--cash-management #cashTabClose .cash-gpos-shiftbar{
  display:grid!important;grid-template-columns:1.15fr .95fr 1fr!important;align-items:center!important;gap:0!important;
  min-height:64px!important;padding:0 18px!important;border-radius:12px!important;background:linear-gradient(90deg,#0c304d,#123d5c)!important;
  box-shadow:0 8px 18px rgba(14,48,77,.10)!important;overflow:hidden!important;
}
.app-view--cash-management #cashTabClose .cash-gpos-shiftbar span{
  min-width:0!important;display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;column-gap:10px!important;
  padding:0 18px!important;border-right:1px solid rgba(255,255,255,.13)!important;color:#bcd0df!important;font-size:10px!important;
}
.app-view--cash-management #cashTabClose .cash-gpos-shiftbar span:first-child{padding-left:0!important}
.app-view--cash-management #cashTabClose .cash-gpos-shiftbar span:last-child{border-right:0!important;padding-right:0!important}
.app-view--cash-management #cashTabClose .cash-gpos-shiftbar b{display:block!important;margin:2px 0 0!important;color:#fff!important;font-size:13px!important;font-weight:900!important;white-space:normal!important}

.app-view--cash-management #cashTabClose .cash-gpos-close-grid{
  display:grid!important;grid-template-columns:1.05fr .95fr .95fr!important;border:1px solid #dce5ec!important;border-radius:13px!important;background:#fff!important;overflow:hidden!important;
  box-shadow:0 5px 15px rgba(13,43,66,.025)!important;
}
.app-view--cash-management #cashTabClose .cash-gpos-close-grid section{padding:12px 16px!important;background:#fff!important;border-right:1px solid #dfe7ed!important}
.app-view--cash-management #cashTabClose .cash-gpos-close-grid section:last-child{border-right:0!important}
.app-view--cash-management #cashTabClose .cash-gpos-close-grid h4{
  margin:0 0 7px!important;color:#10283d!important;font-size:12px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.035em!important;
}
.app-view--cash-management #cashTabClose .cash-gpos-close-grid section>div{
  min-height:29px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:5px 0!important;
  border-bottom:1px solid #edf2f5!important;color:#40586b!important;font-size:10.5px!important;
}
.app-view--cash-management #cashTabClose .cash-gpos-close-grid section>div:last-child{border-bottom:0!important}
.app-view--cash-management #cashTabClose .cash-gpos-close-grid b{color:#10283d!important;font-size:11px!important;font-weight:900!important}
.app-view--cash-management #cashTabClose .cash-gpos-close-grid section:nth-child(2)>div:first-of-type b{color:#0b9b55!important}
.app-view--cash-management #cashTabClose .cash-gpos-close-grid section:nth-child(2)>div:nth-of-type(2) b{color:#d83d34!important}
.app-view--cash-management #cashTabClose .cash-gpos-close-grid .total{font-weight:900!important;color:#10283d!important}

.app-view--cash-management #cashTabClose .cash-touch-close-layout{
  display:grid!important;grid-template-columns:minmax(0,1.78fr) minmax(280px,.82fr)!important;gap:12px!important;margin-top:12px!important;align-items:stretch!important;min-width:0!important;
}
.app-view--cash-management #cashTabClose .cash-touch-count-card,
.app-view--cash-management #cashTabClose .cash-touch-reconcile,
.app-view--cash-management #cashTabClose .cash-touch-observation{
  border:1px solid #dce5ec!important;border-radius:13px!important;background:#fff!important;box-shadow:0 5px 15px rgba(13,43,66,.025)!important;
}
.app-view--cash-management #cashTabClose .cash-touch-count-card{padding:12px 13px!important;min-width:0!important}
.app-view--cash-management #cashTabClose .cash-touch-count-card>header{display:flex!important;align-items:center!important;gap:10px!important;margin:0 0 9px!important}
.app-view--cash-management #cashTabClose .cash-touch-section-icon{
  width:34px!important;height:34px!important;display:grid!important;place-items:center!important;border-radius:9px!important;background:#fff0e6!important;color:#ff6b00!important;font-weight:950!important;font-size:16px!important;
}
.app-view--cash-management #cashTabClose .cash-touch-count-card>header strong{display:block!important;color:#10283d!important;font-size:13px!important;font-weight:900!important}
.app-view--cash-management #cashTabClose .cash-touch-count-card>header small{display:block!important;margin-top:1px!important;color:#7a8c9b!important;font-size:9px!important;font-weight:600!important}
.app-view--cash-management #cashTabClose .cash-touch-count-work{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr)!important;gap:12px!important;align-items:stretch!important;min-width:0!important}
.app-view--cash-management #cashTabClose .cash-touch-amount-side{display:grid!important;grid-template-rows:auto auto!important;gap:9px!important;min-width:0!important}
.app-view--cash-management #cashTabClose .cash-touch-amount{
  min-height:66px!important;display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;align-items:center!important;padding:0 12px!important;
  border:1.5px solid #b8c9d6!important;border-radius:10px!important;background:#fbfcfd!important;overflow:hidden!important;
}
.app-view--cash-management #cashTabClose .cash-touch-amount:focus-within{border-color:#ff7a18!important;box-shadow:0 0 0 3px rgba(255,122,24,.10)!important}
.app-view--cash-management #cashTabClose .cash-touch-amount>span{font-size:18px!important;color:#758899!important;font-weight:900!important}
.app-view--cash-management #cashTabClose .cash-touch-amount input{
  width:100%!important;height:62px!important;border:0!important;outline:0!important;background:transparent!important;color:#10283d!important;text-align:right!important;
  font-size:34px!important;font-weight:950!important;letter-spacing:-.035em!important;padding:0!important;
}
.app-view--cash-management #cashTabClose .cash-touch-presets{display:grid!important;align-content:start!important;gap:7px!important}
.app-view--cash-management #cashTabClose .cash-touch-presets-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;color:#627688!important}
.app-view--cash-management #cashTabClose .cash-touch-presets-head>span{font-size:10px!important;font-weight:850!important}
.app-view--cash-management #cashTabClose .cash-touch-presets-head>small{display:none!important}
.app-view--cash-management #cashTabClose .cash-touch-preset-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
.app-view--cash-management #cashTabClose .cash-touch-preset-grid button{
  min-height:42px!important;border:1px solid #c7d4de!important;border-radius:8px!important;background:linear-gradient(180deg,#fff,#f8fafc)!important;
  color:#10283d!important;font-size:12px!important;font-weight:900!important;box-shadow:0 2px 7px rgba(16,44,69,.05)!important;transition:transform .08s ease,background .12s ease,border-color .12s ease,color .12s ease!important;
}
.app-view--cash-management #cashTabClose .cash-touch-preset-grid button:hover{border-color:#ff9b58!important;color:#e85f00!important;background:#fff8f2!important}
.app-view--cash-management #cashTabClose .cash-touch-preset-grid button:active,
.app-view--cash-management #cashTabClose .cash-touch-preset-grid button.is-applied{
  transform:scale(.985)!important;background:linear-gradient(135deg,#ff7b18,#ee5d00)!important;border-color:#ff7b18!important;color:#fff!important;box-shadow:0 4px 12px rgba(255,106,0,.22)!important;
}
.app-view--cash-management #cashTabClose .cash-touch-clear{
  min-height:40px!important;border:1px solid #ff9450!important;border-radius:8px!important;background:#fff!important;color:#e85f00!important;font-size:12px!important;font-weight:900!important;
}
.app-view--cash-management #cashTabClose .cash-touch-keypad{display:grid!important;grid-template-columns:repeat(4,minmax(58px,1fr))!important;grid-template-rows:repeat(3,58px)!important;gap:6px!important;min-width:0!important}
.app-view--cash-management #cashTabClose .cash-touch-keypad button{
  min-height:58px!important;border:1px solid #294b66!important;border-radius:9px!important;background:linear-gradient(145deg,#10304c,#09233a)!important;
  color:#fff!important;font-size:22px!important;font-weight:950!important;box-shadow:0 3px 8px rgba(9,30,48,.14)!important;transition:transform .07s ease,background .1s ease!important;
}
.app-view--cash-management #cashTabClose .cash-touch-keypad button:active{transform:scale(.97)!important;background:#174565!important}
.app-view--cash-management #cashTabClose .cash-touch-keypad .key-action{color:#ff821f!important;border-color:#74503a!important}

.app-view--cash-management #cashTabClose .cash-touch-close-side{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;gap:10px!important;min-width:0!important}
.app-view--cash-management #cashTabClose .cash-touch-reconcile{padding:12px 14px!important}
.app-view--cash-management #cashTabClose .cash-touch-reconcile>header{
  padding:0 0 7px!important;border-bottom:1px solid #e5ecf1!important;color:#10283d!important;font-size:11px!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.035em!important;
}
.app-view--cash-management #cashTabClose .cash-touch-reconcile>div{min-height:36px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;border-bottom:1px solid #edf2f5!important;color:#536779!important;font-size:10.5px!important}
.app-view--cash-management #cashTabClose .cash-touch-reconcile>div strong{font-size:14px!important;color:#10283d!important;font-weight:900!important}
.app-view--cash-management #cashTabClose .cash-touch-reconcile>div .counted{color:#0b9b55!important}
.app-view--cash-management #cashTabClose .cash-touch-reconcile>div .counted.zero{color:#718395!important}
.app-view--cash-management #cashTabClose .cash-touch-reconcile .difference{min-height:48px!important;border-bottom:0!important;font-weight:900!important;color:#10283d!important}
.app-view--cash-management #cashTabClose .cash-touch-reconcile .difference strong{font-size:21px!important}
.app-view--cash-management #cashTabClose .cash-touch-reconcile .difference strong.ok{color:#0b9b55!important}
.app-view--cash-management #cashTabClose .cash-touch-reconcile .difference strong.short{color:#d83d34!important}
.app-view--cash-management #cashTabClose .cash-touch-reconcile .difference strong.over{color:#e66a00!important}
.app-view--cash-management #cashTabClose #cashCloseStatus{
  width:max-content!important;max-width:100%!important;margin:5px 0 0 auto!important;padding:5px 9px!important;border-radius:999px!important;background:#eef2f5!important;
  color:#687d8e!important;font-size:9px!important;font-weight:950!important;text-align:right!important;letter-spacing:.035em!important;text-transform:uppercase!important;
}
.app-view--cash-management #cashTabClose #cashCloseStatus.ok{background:#eaf8ef!important;color:#088f4c!important}
.app-view--cash-management #cashTabClose #cashCloseStatus.short{background:#fff0ef!important;color:#c9342e!important}
.app-view--cash-management #cashTabClose #cashCloseStatus.over{background:#fff3e8!important;color:#d96500!important}
.app-view--cash-management #cashTabClose .cash-touch-observation{display:grid!important;grid-template-rows:auto minmax(72px,1fr) auto!important;gap:6px!important;padding:11px 13px!important;color:#10283d!important;font-size:10.5px!important;font-weight:900!important}
.app-view--cash-management #cashTabClose .cash-touch-observation>span small{color:#83929e!important;font-weight:650!important}
.app-view--cash-management #cashTabClose .cash-touch-observation textarea{width:100%!important;min-height:72px!important;resize:none!important;border:1px solid #cedae3!important;border-radius:8px!important;padding:9px!important;color:#10283d!important;background:#fbfcfd!important;font:inherit!important;font-weight:500!important}
.app-view--cash-management #cashTabClose .cash-touch-observation-count{justify-self:end!important;color:#8a99a5!important;font-size:8.5px!important;font-weight:600!important}
.app-view--cash-management #cashTabClose .cash-touch-close-submit{
  width:100%!important;min-height:52px!important;margin-top:10px!important;border:0!important;border-radius:9px!important;background:linear-gradient(135deg,#d43d35,#bd2e28)!important;
  color:#fff!important;font-size:14px!important;font-weight:950!important;box-shadow:0 6px 15px rgba(189,46,40,.16)!important;
}
.app-view--cash-management #cashTabClose .cash-touch-close-submit:hover{background:linear-gradient(135deg,#ca362f,#ad2823)!important}
.app-view--cash-management #cashTabClose .cash-touch-close-submit>span{margin-right:7px!important}
.app-view--cash-management #cashTabClose .cash-touch-close-warning{margin:6px 0 0!important;text-align:center!important;color:#758694!important;font-size:8.5px!important}

@media(max-width:1180px){
  .app-view--cash-management #cashTabClose .cash-touch-close-layout{grid-template-columns:1fr!important}
  .app-view--cash-management #cashTabClose .cash-touch-close-side{grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important}
}
@media(max-width:820px){
  .app-view--cash-management #cashTabClose .cash-gpos-shiftbar{grid-template-columns:1fr!important;padding:8px 12px!important}
  .app-view--cash-management #cashTabClose .cash-gpos-shiftbar span{min-height:34px!important;padding:4px 0!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.10)!important}
  .app-view--cash-management #cashTabClose .cash-gpos-shiftbar span:last-child{border-bottom:0!important}
  .app-view--cash-management #cashTabClose .cash-gpos-close-grid{grid-template-columns:1fr!important}
  .app-view--cash-management #cashTabClose .cash-gpos-close-grid section{border-right:0!important;border-bottom:1px solid #dfe7ed!important}
  .app-view--cash-management #cashTabClose .cash-gpos-close-grid section:last-child{border-bottom:0!important}
  .app-view--cash-management #cashTabClose .cash-touch-count-work{grid-template-columns:1fr!important}
  .app-view--cash-management #cashTabClose .cash-touch-keypad{grid-template-columns:repeat(4,minmax(52px,1fr))!important;grid-template-rows:repeat(3,58px)!important}
  .app-view--cash-management #cashTabClose .cash-touch-close-side{grid-template-columns:1fr!important}
}
@media(max-width:520px){
  .app-view--cash-management #cashTabClose .cash-close-head{gap:10px!important}.app-view--cash-management #cashTabClose .cash-close-title-icon{width:44px!important;height:44px!important}.app-view--cash-management #cashTabClose .cash-close-head h3{font-size:23px!important}
  .app-view--cash-management #cashTabClose .cash-touch-amount{min-height:62px!important}.app-view--cash-management #cashTabClose .cash-touch-amount input{height:58px!important;font-size:30px!important}
  .app-view--cash-management #cashTabClose .cash-touch-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .app-view--cash-management #cashTabClose .cash-touch-preset-grid button{min-height:42px!important}
  .app-view--cash-management #cashTabClose .cash-touch-keypad{grid-template-columns:repeat(4,minmax(46px,1fr))!important;grid-template-rows:repeat(3,54px)!important;gap:5px!important}
  .app-view--cash-management #cashTabClose .cash-touch-keypad button{min-height:54px!important;font-size:20px!important}
  .app-view--cash-management #cashTabClose .cash-touch-close-submit{min-height:52px!important;font-size:13px!important}
}

/* ========================================================================== */
/* RC20.1 VPS2 — ANDROID MOBILE SHELL POLISH                                  */
/* Alcance: shell/header/toolbar de Salón en smartphone. No cambia lógica.    */
/* ========================================================================== */
@media (max-width:767px){
  body.app-view-open #app > .topbar{visibility:hidden!important;pointer-events:none!important}
  #tablesOverlay.salon-screen{background:#eef3f7!important;overflow:hidden!important}
  #tablesOverlay.salon-screen .salon-shell{grid-template-rows:62px auto auto minmax(0,1fr)!important;height:100dvh!important;min-height:100dvh!important;background:#eef3f7!important}

  #salonGlobalNav.cashier-touch-nav{position:relative!important;z-index:30!important;width:100%!important;height:62px!important;min-height:62px!important;display:grid!important;grid-template-columns:clamp(72px,22vw,92px) minmax(0,1fr) auto 36px!important;grid-template-rows:62px!important;align-items:center!important;gap:4px!important;padding:0 7px!important;overflow:hidden!important;background:linear-gradient(90deg,#061827 0%,#09253b 100%)!important;border-bottom:2px solid #f46b0b!important;box-shadow:0 4px 14px rgba(5,23,38,.16)!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-brand{grid-column:1!important;grid-row:1!important;display:flex!important;align-items:center!important;min-width:0!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-brand .amelia-logo-shell{width:clamp(72px,22vw,92px)!important;height:34px!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-brand img{object-fit:contain!important;object-position:left center!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-actions{grid-column:2!important;grid-row:1!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:center!important;gap:3px!important;width:100%!important;height:46px!important;min-width:0!important;overflow:hidden!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-actions .touch-nav-action{width:100%!important;min-width:0!important;height:44px!important;min-height:44px!important;padding:0!important;border:1px solid transparent!important;border-radius:10px!important;background:transparent!important;box-shadow:none!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-actions .touch-nav-label{display:none!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-actions .touch-nav-icon{width:22px!important;height:22px!important;flex:0 0 22px!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-actions .touch-nav-action.active{color:#fff!important;background:rgba(244,107,11,.16)!important;border-color:rgba(244,107,11,.42)!important;box-shadow:inset 0 -2px 0 #f46b0b!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-utilities{grid-column:3!important;grid-row:1!important;display:grid!important;grid-template-columns:36px 36px!important;gap:3px!important;min-width:75px!important}
  #salonGlobalNav.cashier-touch-nav .salon-nav-icon-button{width:36px!important;height:44px!important;min-width:36px!important;min-height:44px!important;border-radius:10px!important;background:rgba(255,255,255,.045)!important}
  #salonGlobalNav.cashier-touch-nav .salon-nav-icon-button .touch-nav-icon{width:21px!important;height:21px!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-session{grid-column:4!important;grid-row:1!important;display:flex!important;width:36px!important;min-width:36px!important;justify-content:center!important;margin:0!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-session span{display:none!important}
  #salonGlobalNav.cashier-touch-nav #salonLogoutBtn{width:36px!important;height:44px!important;min-width:36px!important;min-height:44px!important;padding:0!important;border-radius:10px!important;font-size:0!important;background:rgba(255,255,255,.045)!important}
  #salonGlobalNav.cashier-touch-nav #salonLogoutBtn:before{content:'↪'!important;font-size:17px!important}

  #tablesOverlay .salon-header{min-height:84px!important;display:grid!important;grid-template-columns:minmax(0,1fr) 46px!important;align-items:center!important;gap:10px!important;padding:10px 12px 9px!important;background:#fff!important;border-bottom:1px solid #dce5eb!important}
  #tablesOverlay .salon-eyebrow{margin:0 0 4px!important;color:#e36b16!important;font-size:8px!important;font-weight:900!important;letter-spacing:.15em!important}
  #tablesOverlay .salon-header h2{margin:0 0 3px!important;color:#172535!important;font-size:22px!important;line-height:1.02!important;letter-spacing:-.025em!important}
  #tablesOverlay .salon-header p{margin:0!important;max-width:none!important;color:#6c7b88!important;font-size:11px!important;line-height:1.25!important}
  #tablesOverlay .salon-close{width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;border:0!important;border-radius:13px!important;background:#123c5a!important;color:#fff!important;font-size:21px!important;box-shadow:none!important}

  #tablesOverlay .salon-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:6px!important;padding:7px 10px 8px!important;background:#f8fafb!important;border-bottom:1px solid #dce5eb!important;overflow:hidden!important}
  #tablesOverlay .salon-tabs{width:100%!important;display:grid!important;grid-auto-flow:column!important;grid-auto-columns:minmax(132px,1fr)!important;gap:6px!important;overflow-x:auto!important;padding:0!important;scrollbar-width:none!important}
  #tablesOverlay .salon-tabs::-webkit-scrollbar{display:none!important}
  #tablesOverlay .salon-tabs button{min-width:132px!important;height:44px!important;min-height:44px!important;padding:0 11px!important;border-radius:11px!important;border:1px solid #d9e2e8!important;box-shadow:none!important}
  #tablesOverlay .salon-tabs button strong{font-size:12px!important;line-height:1.05!important}
  #tablesOverlay .salon-tabs button small{font-size:9px!important}
  #tablesOverlay .salon-toolbar-right{width:100%!important;min-width:0!important;margin:0!important;overflow:hidden!important}
  #tablesOverlay .salon-summary{width:100%!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:5px!important;overflow-x:auto!important;padding:0 1px!important;scrollbar-width:none!important}
  #tablesOverlay .salon-summary::-webkit-scrollbar{display:none!important}
  #tablesOverlay .salon-summary span{flex:0 0 auto!important;min-height:28px!important;display:inline-flex!important;align-items:center!important;gap:4px!important;padding:4px 8px!important;border:1px solid #d6e0e7!important;border-radius:999px!important;background:#fff!important;color:#71808d!important;font-size:9px!important;box-shadow:none!important}
  #tablesOverlay .salon-summary span b,#tablesOverlay .salon-summary span strong{color:#172535!important;font-size:11px!important}

  #tablesOverlay .salon-table--active{outline:0!important;border:2px solid #f47b1b!important;box-shadow:0 0 0 2px rgba(244,123,27,.12),0 7px 18px rgba(16,47,73,.11)!important}
  #tablesOverlay .salon-table-stage.normal,#tablesOverlay .salon-table-stage.direct-layout,#tablesOverlay .salon-table-stage.free-layout{padding-top:10px!important}
}
@media (max-width:370px){
  #salonGlobalNav.cashier-touch-nav{grid-template-columns:68px minmax(0,1fr) 68px 34px!important;gap:2px!important;padding-inline:5px!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-brand .amelia-logo-shell{width:68px!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-utilities{grid-template-columns:33px 33px!important;min-width:68px!important;gap:2px!important}
  #salonGlobalNav.cashier-touch-nav .salon-nav-icon-button{width:33px!important;min-width:33px!important}
  #salonGlobalNav.cashier-touch-nav .salon-global-session,#salonGlobalNav.cashier-touch-nav #salonLogoutBtn{width:34px!important;min-width:34px!important}
  #tablesOverlay .salon-header h2{font-size:20px!important}
}
