:root{--red:#9b2530;--cream:#fffaf2;--ink:#302923;--line:#eadfce}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif}header{display:flex;justify-content:space-between;align-items:center;padding:16px 5%;background:#fff;border-bottom:1px solid var(--line);gap:20px}.brand{font-size:22px;font-weight:800;color:var(--red)}.brand small{display:block;font-size:11px;letter-spacing:1px;color:#776b62}nav{display:flex;gap:8px;flex-wrap:wrap}a{text-decoration:none;color:inherit}nav a{padding:10px 13px;border-radius:10px}main{max-width:1100px;margin:auto;padding:30px 5%}.hero{padding:38px 0}.hero h1{font-size:clamp(32px,5vw,58px);margin:0 0 12px;max-width:800px}.hero p,.muted{color:#756a61;font-size:18px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.primary,.secondary{border:0;border-radius:14px;padding:15px 22px;font-size:17px;font-weight:800;cursor:pointer;display:inline-block}.primary{background:var(--red);color:white}.secondary{background:white;border:1px solid var(--line)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:8px}.card b{font-size:25px}.tables{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.table{min-height:155px;border:2px solid var(--line);background:#fff;border-radius:22px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--ink)}.table strong{font-size:46px;color:var(--red)}.table small{font-size:15px;color:#52704e}.orders{max-width:620px}.order{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px}.order>div:first-child{display:flex;justify-content:space-between}.order small{color:#776b62}.note{background:#fff2d8;padding:12px;border-radius:12px}.notice{margin-top:25px;padding:16px;border:1px dashed #c9bca9;border-radius:14px;color:#665c54}@media(max-width:700px){header{align-items:flex-start;flex-direction:column}.tables,.grid{grid-template-columns:repeat(2,1fr)}main{padding-top:20px}.table{min-height:130px}}@media(max-width:380px){.tables,.grid{grid-template-columns:1fr}}
.brand-logo{display:flex;align-items:center;gap:12px;min-width:0}.brand-logo img{display:block;width:220px;max-width:42vw;height:76px;object-fit:contain;object-position:left center}.brand-logo span{font-size:12px;font-weight:800;letter-spacing:1.2px;color:#776b62;white-space:nowrap}@media(max-width:700px){.brand-logo{width:100%;justify-content:space-between}.brand-logo img{width:190px;max-width:65vw;height:66px}.brand-logo span{font-size:10px}nav{width:100%;justify-content:center}}

.order-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.order-head h1{margin:5px 0}.back{font-weight:800;color:var(--red)}.running{background:#fff;border:1px solid var(--line);padding:12px 16px;border-radius:14px}.running b{font-size:22px;margin-left:8px}.category-tabs{display:flex;gap:8px;overflow-x:auto;padding:3px 0 14px;scrollbar-width:thin}.category-tabs button{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:12px 16px;font-size:16px;font-weight:750}.category-tabs button.active{background:var(--red);color:#fff;border-color:var(--red)}.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.menu-item{min-height:105px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;font-size:15px;cursor:pointer}.menu-item strong{font-size:17px}.menu-item span{font-weight:800;color:var(--red);margin-top:8px}.menu-item:disabled{opacity:.48;cursor:not-allowed}.cart{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;position:sticky;top:12px}.cart h2{margin-top:0}.cart-line{border-top:1px solid var(--line);padding:12px 0;display:grid;grid-template-columns:1fr auto;gap:8px}.cart-line small{display:block;color:#776b62}.cart-line input{grid-column:1/-1;width:100%;font-size:16px;padding:10px;border:1px solid var(--line);border-radius:10px}.qty{display:flex;align-items:center;gap:8px}.qty button{width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:10px;font-size:24px}.cart-total{display:flex;justify-content:space-between;font-size:20px;padding:16px 0}.wide{width:100%}.msg{text-align:center;padding-top:10px;font-weight:800;color:#52704e}.kitchen-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.order header{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:12px}.order header strong{font-size:24px;color:var(--red)}.kline{padding:12px 0;border-bottom:1px dashed var(--line);font-size:18px}.kline small{display:block;background:#fff2d8;padding:7px;border-radius:8px;margin-top:6px}.kactions{margin-top:14px}.big{width:100%;min-height:58px}.ready-label{padding:16px;text-align:center;border-radius:12px;background:#e9f5e7;color:#315a2d;font-weight:900}.empty{background:#fff;border:1px dashed #c9bca9;border-radius:18px;padding:30px;text-align:center;color:#776b62}.cash-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cash-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.cash-card>div{display:flex;justify-content:space-between;font-size:22px}.cash-card form{margin-top:15px}
@media(max-width:900px){.pos-layout{grid-template-columns:1fr}.cart{position:static}.menu-grid{grid-template-columns:repeat(3,1fr)}.kitchen-grid,.cash-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.menu-grid{grid-template-columns:repeat(2,1fr)}.kitchen-grid,.cash-grid{grid-template-columns:1fr}.order-head{align-items:flex-start}.running{font-size:13px}.menu-item{min-height:95px}}
.login-wrap{max-width:460px;margin:48px auto;padding:18px}.login-card{background:#fff;border:1px solid #eadfd7;border-radius:22px;padding:28px;display:grid;gap:16px}.login-card img{width:150px;max-height:110px;object-fit:contain;margin:auto}.login-card label,.cash-card label{display:grid;gap:7px;font-weight:700}.login-card input,.cash-card input,.cash-card select{font:inherit;padding:14px;border:1px solid #d8cec7;border-radius:12px;background:#fff}.error{color:#9d1d1d}.nav-button{border:0;background:transparent;font:inherit;cursor:pointer;padding:8px}.cut-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:18px 0}.cut-grid article{background:#fff;border:1px solid #eadfd7;border-radius:16px;padding:16px;display:grid;gap:6px}.cut-grid b{font-size:1.35rem}.ready{text-align:center;font-weight:900;padding:14px;border-radius:12px;background:#e7f5ea}.ticket-line{display:grid;gap:3px;padding:8px 0;border-bottom:1px solid #eee}.ticket-line small{font-weight:700}.cash-card form{display:grid;gap:10px;margin-top:12px}nav form{display:inline}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:14px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-weight:700}.form-grid input,.form-grid select{min-height:48px;padding:10px;border:1px solid #ddd;border-radius:10px;font-size:16px}
.alert{padding:12px 16px;border-radius:12px;margin:0 0 14px;font-weight:700}.alert.error{background:#fff0f0;border:1px solid #e4aaaa}.alert.ok{background:#eff9f1;border:1px solid #a8d8b0}.report-filter{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.table-wrap{overflow-x:auto;margin-top:18px}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:12px;border-bottom:1px solid #e8e1d9;text-align:left;white-space:nowrap}.muted{opacity:.7}

.dash-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.dash-head h1{font-size:clamp(34px,5vw,54px);margin:4px 0}.eyebrow{text-transform:uppercase;letter-spacing:1.4px;font-weight:900;color:var(--red);font-size:12px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi,.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.kpi{display:grid;gap:7px}.kpi span{font-weight:800;color:#756a61}.kpi b{font-size:clamp(24px,3vw,34px)}.kpi small,.stock-row small{color:#756a61}.dash-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.panel h2{margin-top:0}.metric-row,.stock-row{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.stock-row>div{display:grid}.good-state{padding:18px;border-radius:12px;background:#eff9f1;margin-bottom:14px}.center{text-align:center;margin-top:14px}@media(max-width:850px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dash-columns{grid-template-columns:1fr}}@media(max-width:520px){.dash-head{align-items:flex-start;flex-direction:column}.kpi-grid{grid-template-columns:1fr 1fr}.kpi{padding:15px}.kpi b{font-size:22px}}

.table-wrap{overflow-x:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:820px}.table-wrap th,.table-wrap td{padding:.7rem;border-bottom:1px solid #ddd;text-align:left}.order-row{display:flex;gap:.8rem;justify-content:space-between;align-items:center;padding:.7rem 0;border-bottom:1px solid #eee}.order-row span{display:flex;flex-direction:column}.cancel-form{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.cancel-form input{min-height:44px;padding:.55rem}.danger{min-height:44px;border:0;border-radius:10px;padding:.55rem .8rem;background:#8b1e2d;color:white}@media(max-width:700px){.order-row{align-items:stretch;flex-direction:column}.cancel-form input{flex:1;min-width:0}}
/* Build 0.10.0 - experiencia tablet y roles */
.pos-tools,.cash-title,.admin-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.search-box{flex:1;display:flex;align-items:center;gap:8px;background:#fff;border:2px solid var(--line);border-radius:16px;padding:0 14px;min-height:54px}.search-box input{border:0;outline:0;background:transparent;width:100%;font-size:18px;min-width:0}.current-account{margin-bottom:14px}.pay-card details{margin:12px 0}.pay-card summary{cursor:pointer;font-weight:800;padding:8px 0}.mini-line{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed var(--line)}.cash-received{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}.change-box{background:#eff9f1;border-radius:12px;padding:12px;display:grid;gap:4px}.change-box b{font-size:24px}.inline-form{display:flex;gap:7px;align-items:center}.inline-form select{min-height:42px;padding:7px;border:1px solid var(--line);border-radius:9px}@media(max-width:760px){header nav{max-height:190px;overflow:auto}.pos-tools,.cash-title{align-items:stretch;flex-direction:column}.pos-tools .secondary,.cash-title .secondary{width:100%;text-align:center}.menu-item{min-height:112px}.category-tabs button{min-height:50px}.primary,.secondary{min-height:50px}.cash-received{grid-template-columns:1fr}.pay-card{padding:20px}}
\n/* Build 0.11.0 - flujo tablet Mesero > Caja y cocina */
.tablet-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px}.tablet-head h1{margin:4px 0}.table-shell{display:grid;gap:8px}.table-shell .table{width:100%}.bill-btn{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:850;font-size:15px;cursor:pointer}.bill-btn:disabled{background:#eff9f1;color:#315a2d;cursor:default}.table.bill-requested{border-color:#d59b2c;background:#fff9e8}.request-badge{display:block!important;background:#fff2c7;color:#6c4b00;border-radius:10px;padding:9px 11px;font-size:12px!important;font-weight:900;letter-spacing:.4px;margin-bottom:10px}.pay-card.requested{border:2px solid #d59b2c}.pay-total{display:flex;justify-content:space-between!important;align-items:center}.pay-button:disabled{opacity:.45;cursor:not-allowed}.kitchen-count{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px;font-weight:900}.elapsed{font-size:13px;font-weight:800;color:#756a61;margin:7px 0}.elapsed.late{color:#9b2530}.kitchen-action{min-height:62px;font-size:18px}.ticket.nuevo{border-top:5px solid #d59b2c}.ticket.preparando{border-top:5px solid var(--red)}.ticket.listo{border-top:5px solid #4e7b4a}@media(max-width:700px){.tablet-head{align-items:stretch;flex-direction:column}.tables{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.table{min-height:120px}.table strong{font-size:38px}.bill-btn{min-height:52px}.cash-grid{grid-template-columns:1fr}.pay-card{border-radius:20px}.payment,.received{min-height:54px}.pay-button{min-height:62px;font-size:19px}.kitchen-grid{grid-template-columns:1fr}.ticket{padding:20px}.ticket-head strong{font-size:26px}}
/* Build 0.12.0 - control de inventario */
.quick-admin{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.stock-in{color:#315a2d;font-weight:900}.stock-out{color:#9b2530;font-weight:900}.panel>.stock-row:last-child{border-bottom:0}@media(max-width:700px){.quick-admin>a{flex:1 1 46%;text-align:center}.report-filter{align-items:stretch}.report-filter label{width:100%}}

/* Build 0.13 - Reporte Ejecutivo Gerencial */
.exec-head{display:flex;align-items:center;justify-content:space-between;padding:28px 32px;border-radius:24px;background:linear-gradient(120deg,#fff8f2,#f8e8e8 55%,#f2e6ef);margin-bottom:18px;border:1px solid #eadbd4}.exec-head img{width:105px;height:105px;object-fit:contain}.exec-head h1{margin:5px 0 4px;font-size:2rem;color:#432f37}.exec-head p,.report-card p{margin:0;color:#806d73}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.14em;color:#b34c63}.exec-filter{display:flex;gap:12px;align-items:end;flex-wrap:wrap;background:white;padding:14px 18px;border-radius:18px;box-shadow:0 6px 22px #4b27300d;margin-bottom:18px}.exec-filter div{display:flex;flex-direction:column;gap:5px}.exec-filter label{font-size:.75rem;font-weight:700;color:#725d64}.exec-filter input{padding:10px;border:1px solid #dfd2d5;border-radius:10px}.exec-filter button{border:0;border-radius:10px;padding:11px 16px;background:#a9445b;color:white;font-weight:800}.exec-filter .soft{background:#f4e9e9;color:#7b3f4c}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi{padding:20px;border-radius:20px;color:white;min-height:125px;box-shadow:0 10px 25px #55313a18}.kpi span{font-size:.8rem;font-weight:700;opacity:.9}.kpi strong{display:block;font-size:1.65rem;margin:8px 0}.kpi small{font-size:.72rem}.kpi.rose{background:linear-gradient(135deg,#a8445b,#d06d78)}.kpi.gold{background:linear-gradient(135deg,#b77b2f,#daa853)}.kpi.plum{background:linear-gradient(135deg,#62435f,#906586)}.kpi.teal{background:linear-gradient(135deg,#39746d,#65a49a)}.up{color:#e7ffe8}.down{color:#ffe3e3}.mini-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:14px 0 18px}.mini-grid article{background:#fff;padding:14px;border-radius:14px;border:1px solid #eee3e1}.mini-grid span{display:block;color:#8a777b;font-size:.72rem}.mini-grid b{display:block;margin-top:5px;color:#49373b}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.report-card{background:#fff;border:1px solid #eee3e1;border-radius:20px;padding:20px;box-shadow:0 8px 26px #5230390a;min-width:0}.report-card.wide{grid-column:span 2}.report-card h2{margin:0 0 4px;color:#49353c;font-size:1.1rem}.chart{height:325px;margin-top:15px}.chart svg{width:100%;height:270px;overflow:visible}.chart svg text{font-size:11px;fill:#8b777b}.axis{stroke:#e7dadd;stroke-width:1}.sales-line{fill:none;stroke:#b84a62;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.profit-line{fill:none;stroke:#d39b45;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-legend{display:flex;gap:20px;justify-content:center;font-size:.78rem;color:#756269}.chart-legend i,.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.sales-dot{background:#b84a62}.profit-dot{background:#d39b45}.bars{margin-top:16px}.bar-row{margin:12px 0}.bar-label{display:flex;justify-content:space-between;gap:10px;font-size:.8rem}.bar-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-label b{color:#59434a}.bar-track{height:8px;background:#f1e8e8;border-radius:99px;margin:5px 0;overflow:hidden}.bar-track i{display:block;height:100%;border-radius:99px}.bar-row small{color:#9b8b8e;font-size:.65rem}.donut-wrap{display:flex;align-items:center;gap:25px;min-height:250px}.donut{width:175px;height:175px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}.donut>div{width:112px;height:112px;background:#fff;border-radius:50%;display:grid;place-content:center;text-align:center}.donut b{font-size:1rem}.donut span{font-size:.68rem;color:#8a777b}.legend{flex:1}.legend div{display:grid;grid-template-columns:16px 1fr auto;align-items:center;padding:7px 0;border-bottom:1px solid #f2eaea;font-size:.76rem}.statement>div,.inv-value,.alert-row{display:flex;justify-content:space-between;padding:10px 2px;border-bottom:1px solid #f0e7e7}.statement .subtotal{font-weight:800;color:#805266}.statement .total{margin-top:8px;border:0;border-radius:12px;padding:14px;background:#f7e9e9;color:#9c3f55;font-size:1.05rem}.inventory .inv-value b{color:#4f766f}.alert-row{margin-top:10px;background:#fff8e9;border:0;border-radius:10px;padding:12px;color:#80632f}.empty{height:150px;display:grid;place-items:center;color:#a18f93;font-size:.85rem}
@media(max-width:1000px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.mini-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.exec-head{padding:20px}.exec-head img{width:72px;height:72px}.exec-head h1{font-size:1.45rem}.kpi-grid,.report-grid{grid-template-columns:1fr}.report-card.wide{grid-column:span 1}.mini-grid{grid-template-columns:repeat(2,1fr)}.donut-wrap{flex-direction:column}.chart{overflow-x:auto}.exec-filter>*{flex:1 1 140px}.exec-filter button{flex:1 1 100%}}
@media print{header,.exec-filter{display:none!important}main{max-width:none!important;padding:0!important}.report-card,.kpi{break-inside:avoid;box-shadow:none}.exec-head{padding:12px}.report-grid{gap:8px}.chart{height:270px}}

/* Build 0.15 - UI gerencial responsive */
:root{--wine:#a92436;--pink:#d85b78;--orange:#e98a3f;--gold:#d6a13d;--navy:#173a59;--teal:#2f817d;--green:#5c8d68;--soft-pink:#fff0f3;--soft-blue:#edf6fb;--soft-orange:#fff3e7;--soft-teal:#edf8f6;--shadow:0 12px 34px rgba(77,43,48,.09)}
body{background:linear-gradient(135deg,#fffaf2 0%,#fff8f5 48%,#f8fbfa 100%)}
main{max-width:1680px;width:100%;padding:30px clamp(22px,3vw,58px) 55px}
header{padding:12px clamp(22px,3vw,58px);box-shadow:0 4px 22px rgba(70,40,45,.05)}
.card,.cash-card,.panel,.kpi,.report-card{box-shadow:var(--shadow)}
.page-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 22px}.page-head h1{font-size:clamp(30px,3vw,44px);margin:0}.page-head p{margin:7px 0 0}.page-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-size:27px;background:linear-gradient(135deg,var(--soft-pink),var(--soft-orange))}
.pro-form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow);margin-bottom:22px}.pro-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;align-items:end}.pro-form label{display:grid;gap:7px;font-weight:800;font-size:.88rem}.pro-form input,.pro-form select,.toolbar input,.toolbar select,.admin-form input,.admin-form select{width:100%;min-width:0;height:48px;padding:0 13px;border:1px solid #dfd3cb;border-radius:12px;background:#fff;font:inherit;color:var(--ink);outline:none}.pro-form input:focus,.pro-form select:focus,.toolbar input:focus,.admin-form input:focus,.admin-form select:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(216,91,120,.12)}
.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 18px}.toolbar .search{position:relative;flex:1 1 320px}.toolbar .search input{padding-left:42px}.toolbar .search:before{content:'⌕';position:absolute;left:15px;top:8px;font-size:25px;color:var(--wine)}
.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.inventory-card{background:#fff;border:1px solid var(--line);border-radius:19px;padding:18px;box-shadow:var(--shadow);position:relative;overflow:hidden}.inventory-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--teal)}.inventory-card.low:before{background:var(--orange)}.inventory-card h3{margin:0;font-size:1.08rem}.inventory-card .stock-number{font-size:1.55rem;font-weight:900;color:var(--navy)}.inventory-meta{display:flex;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #f0e7df;color:#776b62;font-size:.84rem}
.admin-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;margin-bottom:20px;box-shadow:var(--shadow)}.admin-form button,.admin-form .primary{min-height:48px;border:0;border-radius:12px;padding:0 18px;background:var(--wine);color:#fff;font-weight:850;font-size:15px}.admin-form label{font-weight:750}.modern-table{width:100%;min-width:760px;border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.modern-table thead th{background:linear-gradient(135deg,var(--navy),#275778);color:#fff;border:0}.modern-table tbody tr:hover{background:#fff8f8}.modern-table button{border:0;border-radius:9px;padding:8px 12px;font-weight:750;cursor:pointer}
/* dashboard */
.dashboard-hero{position:relative;overflow:hidden;border-radius:28px;padding:30px 34px;color:#fff;background:linear-gradient(115deg,#8f2031 0%,#c23e58 38%,#e47d43 72%,#d5a23f 100%);box-shadow:0 18px 44px rgba(137,38,55,.2);margin-bottom:18px}.dashboard-hero:after{content:'❤';position:absolute;right:35px;top:-35px;font-size:180px;opacity:.09}.dashboard-hero .eyebrow{color:#fff3d8}.dashboard-hero h1{font-size:clamp(36px,4vw,58px);margin:4px 0 8px}.dashboard-hero p{margin:0;color:#fff4ed;font-size:17px}.dashboard-hero .actions{position:relative;z-index:2}.dashboard-hero .secondary{border-color:#fff;background:#fff;color:var(--wine)}
.exec-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.exec-kpi{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow)}.exec-kpi:after{content:'';position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--accent,var(--wine))}.exec-kpi span{font-size:.8rem;text-transform:uppercase;letter-spacing:.6px;font-weight:850;color:#826e72}.exec-kpi b{display:block;font-size:clamp(25px,2.5vw,38px);margin:8px 0 3px;color:var(--accent,var(--wine))}.exec-kpi small{color:#8c7d78}.a-wine{--accent:var(--wine)}.a-teal{--accent:var(--teal)}.a-orange{--accent:var(--orange)}.a-navy{--accent:var(--navy)}.a-pink{--accent:var(--pink)}.a-gold{--accent:var(--gold)}.a-green{--accent:var(--green)}
.dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin-top:16px}.dash-panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}.dash-panel h2{margin:0 0 4px}.profit-box{border-radius:18px;padding:22px;background:linear-gradient(135deg,var(--soft-teal),#f5fbf8);margin:14px 0}.profit-box small{color:#64756f}.profit-box strong{display:block;font-size:38px;color:var(--teal);margin-top:5px}.progress-line{height:12px;border-radius:20px;background:#f1e8e5;overflow:hidden;margin:9px 0 16px}.progress-line i{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,var(--pink),var(--orange))}.pay-bars{display:grid;gap:13px;margin-top:16px}.pay-row{display:grid;grid-template-columns:105px 1fr auto;gap:10px;align-items:center;font-size:.85rem}.pay-track{height:10px;background:#f2ece8;border-radius:20px;overflow:hidden}.pay-track i{display:block;height:100%;background:linear-gradient(90deg,var(--navy),var(--teal));border-radius:20px}.dash-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.dash-mini{border-radius:14px;padding:14px;background:#fff8f4;border:1px solid #f2dfd4}.dash-mini span{display:block;color:#88766e;font-size:.75rem}.dash-mini b{font-size:1.15rem}.quick-links{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.quick-links a{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;text-align:center;font-weight:800;box-shadow:0 5px 18px rgba(70,40,45,.05)}
@media(max-width:1100px){.exec-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.quick-links{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){main{padding:20px 14px 40px}.page-head{align-items:flex-start}.dashboard-hero{padding:24px 20px}.exec-kpis{grid-template-columns:repeat(2,1fr)}.exec-kpi{padding:15px}.exec-kpi b{font-size:23px}.pro-form-grid{grid-template-columns:1fr}.inventory-grid{grid-template-columns:1fr}.dash-metrics{grid-template-columns:1fr}.pay-row{grid-template-columns:85px 1fr auto}}

/* Build 0.16 - navegación por rol + sidebar responsive + POS móvil */
.erp-shell{margin:0}.nav-toggle{display:none}.sidebar{position:fixed;z-index:100;left:0;top:0;bottom:0;width:268px;background:linear-gradient(180deg,#fff 0%,#fffaf7 100%);border-right:1px solid #eadbd3;box-shadow:8px 0 28px rgba(75,39,45,.07);display:flex;flex-direction:column}.sidebar-brand{display:grid;place-items:center;padding:18px 16px 12px;border-bottom:1px solid #f1e4dd}.sidebar-brand img{width:156px;max-height:92px;object-fit:contain}.sidebar-scroll{overflow:auto;padding:12px 10px 20px}.nav-group{display:grid;gap:3px;margin-bottom:14px}.nav-group>span{font-size:.66rem;font-weight:900;letter-spacing:1.2px;color:#a06c77;padding:9px 12px 5px}.nav-group a{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:11px;color:#332a28;font-size:.86rem}.nav-group a:hover{background:linear-gradient(90deg,#fff0f3,#fff6ed);color:#a92436}.nav-group a b{font-weight:780}.nav-future{border:1px dashed #e6c6b4;border-radius:14px;padding:4px;background:#fffaf4}.nav-future>span{color:#a26b36}.nav-future small{padding:5px 10px 9px;color:#9a8172;font-size:.68rem;line-height:1.35}.sidebar-logout{margin-top:auto;padding:12px;border-top:1px solid #f1e4dd}.sidebar-logout button{width:100%;border:0;border-radius:11px;padding:11px;background:#f8e9eb;color:#9f2638;font-weight:850;cursor:pointer}.app-content{margin-left:268px;min-height:100vh}.app-content main{max-width:none;width:100%;padding:28px clamp(20px,2.7vw,52px) 50px}.mobile-nav-button,.nav-overlay{display:none}
.denied-card{max-width:620px;margin:10vh auto;background:#fff;border:1px solid #eadbd3;border-radius:26px;padding:42px;text-align:center;box-shadow:var(--shadow)}.denied-icon{font-size:48px}.denied-card h1{font-size:2rem}.denied-card p{color:#846f69;margin-bottom:28px}.denied-home{display:inline-block;padding:13px 20px;border-radius:12px;color:#fff;background:var(--wine);font-weight:850}
/* Mesero: pensado primero para teléfono */
.tablet-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.tables{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px}.table-shell{display:grid;gap:8px}.table{min-height:150px;border-radius:20px;padding:18px;display:grid;align-content:center;text-align:center;border:1px solid #eadbd3;background:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}.table:before{content:'';position:absolute;left:0;right:0;top:0;height:6px;background:#5c8d68}.table.busy:before{background:#e98a3f}.table.bill-requested:before{background:#d85b78}.table>span{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:#8b7770;font-weight:850}.table>strong{font-size:2.5rem;line-height:1;color:#173a59}.table>small{margin-top:7px;color:#786863}.table>b{margin-top:7px;color:#a92436}.bill-btn{width:100%;min-height:44px;border:0;border-radius:12px;background:#a92436;color:#fff;font-weight:850}.bill-btn:disabled{background:#d8c7c7}
.order-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.pos-tools{display:flex;gap:10px;margin:14px 0}.search-box{display:flex;align-items:center;gap:8px;flex:1;background:#fff;border:1px solid #e2d5cd;border-radius:14px;padding:0 14px;min-height:50px}.search-box input{width:100%;border:0;outline:0;font-size:16px;background:transparent}.category-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:thin;position:sticky;top:0;z-index:15;background:linear-gradient(180deg,#fffaf5 75%,transparent)}.category-tabs button{flex:0 0 auto;border:1px solid #e4d4ca;border-radius:999px;background:#fff;padding:10px 15px;font-weight:800;color:#6e5a54}.category-tabs button.active{background:linear-gradient(135deg,#a92436,#d85b78);color:#fff;border-color:transparent}.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px;align-items:start}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px}.menu-item{min-height:105px;text-align:left;border:1px solid #eadbd3;border-radius:16px;background:#fff;padding:14px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 5px 18px rgba(70,40,45,.05);cursor:pointer}.menu-item strong{font-size:.92rem}.menu-item span{font-weight:900;color:#a92436;font-size:1.05rem}.menu-item:active{transform:scale(.98);background:#fff2f4}.cart{position:sticky;top:16px;background:#fff;border:1px solid #eadbd3;border-radius:20px;padding:17px;box-shadow:var(--shadow)}.cart-line{display:grid;gap:8px;padding:10px 0;border-bottom:1px solid #f0e7e2}.cart-line>div:first-child{display:flex;justify-content:space-between;gap:8px}.cart-line small{color:#8d7b74}.qty{display:flex;align-items:center;gap:10px}.qty button{width:38px;height:38px;border:0;border-radius:10px;background:#f7e8ea;color:#a92436;font-size:20px;font-weight:900}.cart-line input{width:100%;min-height:40px;border:1px solid #e3d6cf;border-radius:10px;padding:8px 10px}.cart-total{display:flex;justify-content:space-between;font-size:1.15rem;padding:15px 0}.current-account{margin-bottom:14px}
@media(max-width:1050px){.tables{grid-template-columns:repeat(2,1fr)}.menu-grid{grid-template-columns:repeat(2,1fr)}.pos-layout{grid-template-columns:minmax(0,1fr) 320px}}
@media(max-width:760px){.mobile-nav-button{display:grid;place-items:center;position:fixed;z-index:120;left:12px;top:12px;width:46px;height:46px;border-radius:14px;background:#a92436;color:#fff;font-size:22px;box-shadow:0 8px 22px rgba(100,30,45,.25)}.sidebar{transform:translateX(-105%);transition:transform .22s ease;width:min(84vw,300px)}.nav-toggle:checked~.sidebar{transform:translateX(0)}.nav-overlay{position:fixed;inset:0;z-index:90;background:rgba(34,24,25,.35)}.nav-toggle:checked~.nav-overlay{display:block}.app-content{margin-left:0}.app-content main{padding:72px 12px 105px}.tablet-head h1{font-size:2rem}.tables{grid-template-columns:repeat(2,1fr);gap:10px}.table{min-height:125px;padding:12px}.table>strong{font-size:2.15rem}.bill-btn{font-size:.78rem}.order-head{align-items:flex-start}.running{font-size:.8rem}.pos-tools{position:sticky;top:0;z-index:14;background:#fffaf5;padding-top:3px}.pos-tools .secondary{display:none}.category-tabs{top:58px}.pos-layout{display:block}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.menu-item{min-height:94px;padding:12px}.cart{position:fixed;z-index:40;left:0;right:0;bottom:0;top:auto;border-radius:20px 20px 0 0;padding:10px 12px;max-height:54vh;overflow:auto;box-shadow:0 -12px 35px rgba(67,37,42,.18)}.cart h2{font-size:1rem;margin:0 0 5px}.cart #cartLines{display:none}.cart.cart-open #cartLines{display:block}.cart-total{padding:7px 0}.cart:before{content:'Toca aquí para revisar el pedido';display:block;text-align:center;color:#8d7478;font-size:.68rem;margin-bottom:4px}.cart.cart-open:before{content:'Ocultar detalle'}.current-account{font-size:.85rem}.denied-card{margin:5vh 10px;padding:28px 18px}}
@media(max-width:390px){.tables{grid-template-columns:1fr 1fr}.menu-grid{grid-template-columns:1fr 1fr}.menu-item strong{font-size:.82rem}.menu-item span{font-size:.95rem}}

/* Build 0.18 - distribución configurable de mesas */
.physical-row{grid-template-columns:repeat(var(--table-count,4),minmax(180px,1fr));margin-bottom:14px}.table-config-new{margin-bottom:16px}.table-config-form{display:grid;grid-template-columns:110px minmax(180px,1fr) 100px 110px auto;gap:10px;align-items:end}.table-config-form label,.table-config-card label{display:grid;gap:6px;font-weight:800;font-size:.8rem}.table-config-form input,.table-config-card input{min-height:44px;border:1px solid #e3d6cf;border-radius:11px;padding:9px 11px;background:#fff}.table-config-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:14px}.table-config-card{display:grid;gap:11px}.config-title{display:flex;align-items:center;justify-content:space-between;font-size:1.15rem}.status-on,.status-off{font-size:.7rem;padding:6px 9px;border-radius:999px}.status-on{background:#eaf6ee;color:#39724a}.status-off{background:#f4ecec;color:#8d6666}.config-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.toggle-line{display:flex!important;align-items:center;gap:9px}.toggle-line input[type=checkbox]{width:20px;height:20px;min-height:0}.menu-item[hidden]{display:none!important}
@media(max-width:1050px){.physical-row{grid-template-columns:repeat(2,1fr)}.table-config-grid{grid-template-columns:repeat(2,1fr)}.table-config-form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.physical-row{grid-template-columns:repeat(2,1fr)}.table-config-grid,.table-config-form{grid-template-columns:1fr}}
/* Build 0.19 - promociones operativas */
.promo-editor{margin-bottom:16px}.promo-form{display:grid;grid-template-columns:2fr 1.2fr .8fr 1fr 1fr;gap:10px;align-items:end}.promo-form label{display:grid;gap:6px;font-weight:800;font-size:.8rem}.promo-form input,.promo-form select{min-height:44px;border:1px solid #e3d6cf;border-radius:11px;padding:9px 11px;background:#fff}.promo-desc{grid-column:span 2}.promo-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:14px}.promo-card{display:grid;gap:10px}.promo-top{display:flex;justify-content:space-between;gap:10px}.promo-top h2{margin:4px 0}.promo-top>b{font-size:1.5rem;color:#a92436}.promo-type{display:inline-block;background:#fff0d9;color:#9a5b14;border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:900}.promo-off{opacity:.58}.menu-item[data-cat="🔥 Promociones"]{background:linear-gradient(145deg,#fff7df,#fff);border-color:#efc65d}.category-tabs button[data-cat="🔥 Promociones"]{border-color:#efc65d;background:#fff7df;color:#8a5810}
@media(max-width:1100px){.promo-form{grid-template-columns:repeat(3,1fr)}.promo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.promo-form,.promo-grid{grid-template-columns:1fr}.promo-desc{grid-column:auto}}

/* Build 0.20 - especificaciones posteriores al envío */
.existing-line{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(320px,1.4fr) auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #eee}.existing-line>span{display:grid;gap:4px}.existing-line em{font-style:normal;color:#9a4a23;font-weight:800;font-size:.9rem}.spec-form{display:grid!important;grid-template-columns:1fr auto;gap:8px!important;margin:0!important}.spec-form input{min-width:0}.spec-form .secondary{white-space:nowrap}.ticket-change{border:3px solid #e65c2e!important;background:#fff7e8!important;box-shadow:0 0 0 4px rgba(230,92,46,.08),var(--shadow)!important}.change-alert{margin:8px 0;padding:10px 12px;border-radius:10px;background:#e65c2e;color:#fff;font-weight:1000;text-align:center;letter-spacing:.03em}.ticket-change .ticket-line b{color:#a92436}.ticket-change .ticket-line small{font-size:1rem;color:#1f1b1a;background:#fff;padding:8px;border-radius:8px;margin-top:5px}
@media(max-width:900px){.existing-line{grid-template-columns:1fr}.spec-form{grid-template-columns:1fr auto!important}.cancel-form{margin-top:0!important}}
@media(max-width:560px){.spec-form{grid-template-columns:1fr!important}.spec-form .secondary{width:100%}}
.payment-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.payment-summary span{padding:10px;border-radius:12px;background:#f8f3ee;font-size:.88rem}.payment-summary .balance{background:#fff0d2}.payment-summary b{display:block;font-size:1.15rem;margin-top:3px}.pay-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pay-help{display:block;margin-top:8px;color:#8b776d;line-height:1.35}@media(max-width:650px){.pay-two,.payment-summary{grid-template-columns:1fr}.payment-summary span{display:flex;justify-content:space-between;align-items:center}.payment-summary b{display:inline;margin:0}}

/* Build 0.22 - caja en vivo y flujo continuo de mesero */
.payment-preview{display:flex;justify-content:space-between;align-items:center;margin:10px 0;padding:12px 14px;border-radius:14px;background:#fff3d6;border:1px solid #f2d58d}.payment-preview b{font-size:1.25rem;color:#9f2030}.center-link{display:flex;align-items:center;justify-content:center;text-decoration:none;margin-top:10px}.msg{min-height:24px;margin-top:8px;font-weight:700;color:#287a4b}
.table-meta,.account-meta,.order-identity{display:block;margin-top:5px;font-size:.78rem;color:#8a6257;font-weight:700}.account-meta{font-weight:600}.cash-actions{display:flex;gap:10px;flex-wrap:wrap}.history-filter{display:flex;gap:12px;align-items:end;margin:18px 0}.history-filter label{display:grid;gap:6px;font-weight:700}.history-filter input{padding:11px;border:1px solid #e4d4c8;border-radius:10px}.history-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.history-kpis>div{background:#fff;border:1px solid #ead8ca;border-radius:16px;padding:18px}.history-kpis span{display:block;color:#8d756c}.history-kpis b{display:block;font-size:1.55rem;margin-top:6px}.history-table-wrap{overflow:auto;background:#fff;border:1px solid #ead8ca;border-radius:16px}.history-table{width:100%;border-collapse:collapse;min-width:900px}.history-table th,.history-table td{text-align:left;padding:13px;border-bottom:1px solid #eee2d9;vertical-align:top}.history-table th{background:#fff7ef;color:#7d2c35}.history-table details{margin-top:5px;font-size:.82rem}@media(max-width:760px){.history-kpis{grid-template-columns:1fr}.cash-actions{width:100%}.cash-actions a{flex:1;text-align:center}.order-identity{font-size:.75rem}}

.cut-subtitle{font-size:1rem;margin:22px 0 10px;color:#7b5b4b;text-transform:uppercase;letter-spacing:.06em}.cut-grid-main{grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px}.cut-grid-main article{min-height:105px;border:1px solid #ead9cc;border-radius:16px;padding:16px;display:flex;flex-direction:column;justify-content:center}.cut-grid-main article span{font-size:.9rem}.cut-grid-main article b{font-size:1.45rem;margin-top:8px}.cut-grid-main article small{font-size:.72rem;margin-top:6px;color:#705f55}.cut-efectivo{background:#edf8f0}.cut-debito{background:#eef6ff}.cut-credito{background:#f4efff}.cut-transfer{background:#edf9f8}.cut-ventas{background:#fff5df}.cut-prop-card{background:#f2f0ff}.cut-prop-cash{background:#eef9ef}.cut-prop-total{background:#fff0f5}.cut-gastos{background:#fff0ed}.cut-total{background:#fff3cf!important;border-color:#e8bd54!important}.expense-form{display:grid;grid-template-columns:2fr 1fr;gap:12px}.expense-form button{grid-column:1/-1}.cash-expected{padding:14px 16px;background:#fff3cf;border:1px solid #e8bd54;border-radius:14px;margin:12px 0;display:flex;justify-content:space-between;font-size:1.05rem}@media(max-width:900px){.cut-grid-main{grid-template-columns:repeat(2,1fr)}.expense-form{grid-template-columns:1fr}.cut-total{grid-column:1/-1}}@media(max-width:520px){.cut-grid-main{grid-template-columns:1fr 1fr}.cut-grid-main article{min-height:92px;padding:12px}.cut-grid-main article b{font-size:1.2rem}}
/* Build 0.23.8 - módulo de reparto de propinas */
.tips-filter{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end}.tips-filter label{font-weight:700}.tips-filter input{display:block;width:100%;margin-top:7px}.tips-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.tips-summary article{background:#fff;border:1px solid #ead9ca;border-radius:18px;padding:20px}.tips-summary article:nth-child(1){background:#fff6dc;border-color:#efc65c}.tips-summary article:nth-child(2){background:#fdf0f2;border-color:#e7b5bd}.tips-summary article:nth-child(3){background:#eef8ef;border-color:#b8d7bc}.tips-summary span{display:block;margin-bottom:8px}.tips-summary b{font-size:28px}.tips-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tip-person{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid #eee}.tip-person:last-child{border-bottom:0}.tip-person small{display:block;color:#8a7d74;margin-top:4px}.tip-person strong{font-size:22px;color:#a92332}.empty-state{padding:20px;border:1px dashed #decbbb;border-radius:14px;color:#8a7d74}@media(max-width:760px){.tips-filter,.tips-summary,.tips-columns{grid-template-columns:1fr}.tips-filter .secondary{width:100%}}

/* Build 0.23.14 - POS táctil, mesas móviles y usuarios multirrol */
.menu-item strong{font-size:1.08rem;line-height:1.18}.menu-item span{font-size:1.22rem}.category-tabs button{font-size:1.02rem}.search-box input{font-size:1.08rem}.role-picker{display:grid;gap:8px}.role-checks{display:flex;flex-wrap:wrap;gap:8px 12px}.role-checks label{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-weight:750}.role-checks input{width:19px;height:19px}.role-edit{display:grid;gap:8px}
@media(max-width:760px){
 .app-content main{padding-bottom:150px}
 .physical-row{display:contents}.tables.physical-row{display:contents}
 .tablet-head+ .alert + .physical-row{}
 .table-shell{min-width:0}
 .menu-item{min-height:118px;padding:14px}.menu-item strong{font-size:1.08rem!important;line-height:1.16}.menu-item span{font-size:1.2rem!important}.category-tabs button{font-size:1.02rem;padding:12px 17px}.search-box input{font-size:1.08rem}
 .cart{max-height:68vh}.cart.cart-open{padding-bottom:max(14px,env(safe-area-inset-bottom))}.cart.cart-open #cartLines{display:block}.cart-line{grid-template-columns:minmax(0,1fr);gap:10px}.cart-line>div:first-child{display:grid}.qty{justify-content:flex-start}.qty button{width:52px;height:52px;font-size:28px;border:2px solid #eadbd3}.qty b{min-width:36px;text-align:center;font-size:1.25rem}.cart-line input{min-height:48px;font-size:16px}
}
@media(max-width:390px){.menu-item strong{font-size:1rem!important}.menu-item span{font-size:1.14rem!important}}
@media(max-width:760px){.mesa-1{order:1}.mesa-2{order:2}.mesa-3{order:3}.mesa-4{order:4}.mesa-6{order:5}.mesa-5{order:6}}


/* Build 0.23.15 - experiencia móvil/tableta + modo productivo seguro */
:root{
  --red:#ad2438;--red-dark:#7e1b2a;--rose:#f8dfe4;--gold:#d89520;--gold-soft:#fff1cc;
  --teal:#137f86;--teal-soft:#e8f6f5;--green:#3f8a61;--green-soft:#eaf6ef;
  --blue:#2d6f9f;--blue-soft:#eaf3fb;--cream:#fff8ef;--ink:#292321;--line:#ead8cc;
  --shadow:0 12px 30px rgba(74,40,39,.10)
}
body{background:linear-gradient(135deg,#fffaf4 0%,#fff5f2 48%,#f8fbf8 100%)}
.sidebar{background:linear-gradient(180deg,#fff 0%,#fff9f6 55%,#fff7ed 100%);box-shadow:10px 0 34px rgba(75,39,45,.09)}
.sidebar-brand{background:linear-gradient(135deg,#fff,#fff7ee);padding:18px 16px 14px}.sidebar-brand img{width:174px;max-height:104px}
.nav-group>span{font-size:.72rem;color:#a65060;letter-spacing:1.35px}.nav-group a{font-size:.95rem;min-height:46px;border:1px solid transparent}
.nav-group a:hover{background:linear-gradient(90deg,#fde8ec,#fff3df);border-color:#f4d7d9;transform:translateX(2px)}
.sidebar-logout button{min-height:48px;font-size:1rem;background:linear-gradient(90deg,#fbeaec,#fff0e9)}
.tablet-head{padding:4px 0 8px}.tablet-head .eyebrow{color:var(--red);font-weight:950;letter-spacing:.15em}.tablet-head h1{color:#1f1b1a}
.table{box-shadow:var(--shadow);border-color:#ead9cf;background:linear-gradient(155deg,#fff,#fffaf6)}.table.free{border-top:7px solid #4b9b6a}.table.busy{border-top:7px solid #df9a24}.table.bill-requested{border-top-color:#b52e45}
.menu-item{box-shadow:0 7px 18px rgba(72,45,39,.07);border:1px solid #ead8cf;background:linear-gradient(155deg,#fff,#fffaf5);transition:.15s ease}.menu-item:active{transform:scale(.98)}
.menu-item strong{color:#1f1b1a}.menu-item span{color:var(--red);font-weight:950}.category-tabs button{box-shadow:0 4px 12px rgba(65,43,39,.05)}
.category-tabs button.active{background:linear-gradient(135deg,var(--red),#d8445d);box-shadow:0 8px 18px rgba(173,36,56,.22)}
.search-box{background:#fff;box-shadow:0 5px 16px rgba(63,42,38,.06)}
.primary{background:linear-gradient(135deg,var(--red),#c9344b);box-shadow:0 8px 18px rgba(173,36,56,.20)}
.cart{box-shadow:var(--shadow)}.qty button{background:linear-gradient(180deg,#fff,#fff7ef);color:var(--red);font-weight:950}
.cash-card,.card,.order{box-shadow:0 8px 24px rgba(67,43,38,.07)}

@media(min-width:761px) and (max-width:1180px){
  .sidebar{width:292px}.app-content{margin-left:292px}.nav-group a{font-size:1rem;padding:11px 13px}.sidebar-brand img{width:185px}
  .app-content main{padding-left:26px;padding-right:26px}.menu-item strong{font-size:1.16rem}.menu-item span{font-size:1.28rem}
}
@media(max-width:760px){
  .mobile-nav-button{width:58px;height:58px;left:16px;top:16px;border-radius:18px;font-size:29px;background:linear-gradient(145deg,#b3263b,#982033);box-shadow:0 10px 24px rgba(121,31,47,.30)}
  .sidebar{width:min(92vw,380px);border-radius:0 24px 24px 0}.sidebar-brand{padding:18px 18px 16px}.sidebar-brand img{width:210px;max-height:118px}
  .sidebar-scroll{padding:12px 14px 24px}.nav-group{gap:6px;margin-bottom:19px}.nav-group>span{font-size:.88rem;padding:12px 10px 6px}
  .nav-group a{font-size:1.18rem;line-height:1.2;padding:13px 14px;min-height:54px;border-radius:15px;gap:13px}.nav-group a b{font-weight:820}.nav-future small{font-size:.82rem}
  .sidebar-logout{padding:14px}.sidebar-logout button{font-size:1.12rem;min-height:56px;border-radius:15px}
  .app-content main{padding:86px 14px 170px}.tablet-head h1{font-size:2.35rem}.tablet-head p{font-size:1.18rem;line-height:1.38}
  .tables{gap:12px}.table{min-height:154px;border-radius:22px}.table span{font-size:1.02rem;font-weight:850}.table>strong{font-size:3rem}.table small{font-size:1.03rem}.table b{font-size:1.1rem}.table-meta{font-size:.82rem}
  .pos-tools{top:0;padding:6px 0 8px;background:linear-gradient(180deg,#fff9f2 82%,rgba(255,249,242,.92))}.search-box{min-height:58px;border-radius:17px}.search-box input{font-size:1.22rem!important;min-height:56px}
  .category-tabs{gap:10px;padding-bottom:12px}.category-tabs button{font-size:1.15rem!important;padding:14px 20px;border-radius:18px}
  .menu-grid{gap:12px}.menu-item{min-height:132px!important;padding:16px!important;border-radius:20px}.menu-item strong{font-size:1.22rem!important;line-height:1.18!important}.menu-item span{font-size:1.38rem!important;margin-top:12px}
  .cart{padding:13px 14px max(14px,env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.cart:before{font-size:.82rem}.cart h2{font-size:1.28rem}.cart-total{font-size:1.25rem}.cart .primary,.cart .secondary{font-size:1.14rem;min-height:58px;border-radius:15px}
  .cart-line{font-size:1.05rem}.cart-line>div:first-child b{font-size:1.12rem}.qty{gap:12px}.qty button{width:58px!important;height:58px!important;font-size:32px!important;border-radius:15px!important}.qty b{font-size:1.35rem!important}
}
@media(max-width:390px){
  .sidebar{width:94vw}.nav-group a{font-size:1.1rem}.menu-item strong{font-size:1.14rem!important}.menu-item span{font-size:1.3rem!important}.table{min-height:145px}
}


/* Build 0.23.16 - tarjetas POS móviles para nombres largos */
@media(max-width:760px){
  .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .menu-item{
    min-height:174px!important;
    padding:15px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    overflow:hidden;
  }
  .menu-item strong{
    font-size:1.18rem!important;
    line-height:1.18!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
    min-height:4.15em;
  }
  .menu-item span{
    font-size:1.42rem!important;
    line-height:1!important;
    margin-top:14px!important;
    flex:0 0 auto;
  }
}
@media(max-width:430px){
  .menu-grid{gap:10px}
  .menu-item{min-height:188px!important;padding:14px!important}
  .menu-item strong{font-size:1.13rem!important;min-height:4.2em}
}
@media(max-width:350px){
  .menu-grid{grid-template-columns:1fr!important}
  .menu-item{min-height:150px!important}
  .menu-item strong{font-size:1.22rem!important;min-height:auto}
}

/* Build 0.23.17 · Administración de platillos */
.dish-form{display:grid;grid-template-columns:2fr 1.2fr .7fr;gap:14px;align-items:end}.dish-form label{display:grid;gap:7px;font-weight:800}.dish-form .dish-desc{grid-column:1/3}.dish-form .toggle-line{align-self:center}.dish-form input,.dish-form select,.dish-filter-form input,.dish-filter-form select{width:100%;min-height:48px;border:1px solid #e6d5ca;border-radius:14px;padding:0 14px;background:#fff}.section-title-row,.dish-card-top,.dish-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.dish-filter-form{display:grid;grid-template-columns:2fr 1.2fr auto auto;gap:12px;align-items:end}.dish-filter-form label{display:grid;gap:7px;font-weight:800}.category-order-note{margin:18px 0;padding:14px 16px;border-radius:16px;background:#fff3df;border:1px solid #f2d4a0;line-height:1.55}.dish-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dish-card h2{margin:.35rem 0}.dish-category{font-size:.82rem;font-weight:900;color:#a92c3d;text-transform:uppercase;letter-spacing:.06em}.dish-price{font-size:1.45rem;color:#ad2435}.dish-actions{justify-content:flex-start;margin-top:14px}.dish-actions form{margin:0}.dish-off{opacity:.58}
@media(max-width:760px){.dish-form,.dish-filter-form,.dish-list{grid-template-columns:1fr}.dish-form .dish-desc{grid-column:auto}.dish-form input,.dish-form select,.dish-filter-form input,.dish-filter-form select{min-height:56px;font-size:1.05rem}.dish-card-top{align-items:flex-start}.dish-actions{flex-wrap:wrap}.category-order-note{font-size:.96rem;overflow-wrap:anywhere}}

/* Build 0.23.18 · modificadores de platillos */
.modifier-modal[hidden]{display:none!important}.modifier-modal{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:18px}.modifier-backdrop{position:absolute;inset:0;background:rgba(31,22,22,.58);backdrop-filter:blur(3px)}.modifier-sheet{position:relative;width:min(680px,96vw);max-height:min(86vh,820px);overflow:auto;background:#fffaf6;border:1px solid #ead8cf;border-radius:26px;padding:22px;box-shadow:0 24px 80px rgba(55,27,31,.3)}.modifier-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px}.modifier-head h2{margin:.2rem 0;font-size:1.7rem}.modifier-close{width:48px;height:48px;border:0;border-radius:15px;background:#f7e7e9;color:#a92436;font-size:30px;line-height:1}.modifier-group{border:0;padding:14px 0;margin:0;border-bottom:1px solid #eee1da}.modifier-group legend{font-size:1.05rem;font-weight:900;margin-bottom:10px}.modifier-group legend span{color:#b3263c}.modifier-choices{display:flex;flex-wrap:wrap;gap:9px}.modifier-choice,.modifier-other{display:flex;align-items:center;gap:7px;border:1px solid #e4d4ca;background:#fff;border-radius:14px;padding:11px 13px;font-weight:800;cursor:pointer}.modifier-choice:has(input:checked),.modifier-other:has(input:checked){background:#a92436;color:#fff;border-color:#a92436}.modifier-choice input,.modifier-other input{accent-color:#a92436}.modifier-other{margin-top:9px;display:inline-flex}.modifier-other-text{width:100%;min-height:48px;margin-top:8px;border:1px solid #e4d4ca;border-radius:12px;padding:10px 12px;font-size:1rem}.modifier-other-text:disabled{display:none}.modifier-notes{display:grid;gap:7px;margin:15px 0}.modifier-notes textarea{width:100%;border:1px solid #e4d4ca;border-radius:14px;padding:12px;font:inherit;resize:vertical}.modifier-error{min-height:24px;color:#a92436;font-weight:800;margin:6px 0}.modifier-missing{background:#fff0f1;border-radius:14px;padding-left:10px!important;padding-right:10px!important}.modal-open{overflow:hidden}.cart-line input{font-size:1rem}
@media(max-width:760px){.modifier-modal{align-items:end;padding:0}.modifier-sheet{width:100%;max-height:88vh;border-radius:26px 26px 0 0;padding:18px 16px max(18px,env(safe-area-inset-bottom))}.modifier-head h2{font-size:1.45rem}.modifier-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.modifier-choice,.modifier-other{min-height:54px;padding:12px;font-size:1.02rem}.modifierAdd,.modifier-sheet .primary{min-height:60px;font-size:1.08rem}.menu-item{overflow:visible}.menu-item strong{white-space:normal!important;overflow:visible!important;display:block!important;-webkit-line-clamp:unset!important;min-height:auto!important}}
@media(max-width:390px){.modifier-choices{grid-template-columns:1fr}.modifier-choice,.modifier-other{min-height:52px}}


/* Build 0.23.19 - modal de especificaciones móvil sin solaparse con la orden */
@media(max-width:760px){
  body.modal-open .cart{display:none!important}
  body.modal-open .mobile-nav-button{display:none!important}
  .modifier-modal{z-index:10000!important;align-items:stretch!important;padding:0!important}
  .modifier-sheet{width:100%!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;padding:18px 16px calc(92px + env(safe-area-inset-bottom))!important;overflow-y:auto!important;overscroll-behavior:contain}
  .modifier-head{position:sticky;top:-18px;z-index:4;background:#fffaf6;padding:18px 0 10px;margin-top:-18px}
  .modifier-head h2{font-size:1.65rem!important}
  .modifier-group legend{font-size:1.15rem!important}
  .modifier-choices{grid-template-columns:1fr!important}
  .modifier-choice,.modifier-other{min-height:58px!important;font-size:1.08rem!important}
  .modifier-choice input,.modifier-other input{width:22px;height:22px;flex:0 0 auto}
  .modifier-notes textarea{min-height:78px;font-size:1.05rem}
  #modifierAdd{position:fixed;z-index:10002;left:14px;right:14px;bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 28px)!important;min-height:64px!important;font-size:1.15rem!important;box-shadow:0 10px 30px rgba(100,30,45,.28)}
}

/* Build 0.23.22 · selector móvil robusto: el botón siempre queda visible */
@media(max-width:760px){
 .modifier-modal{position:fixed!important;inset:0!important;height:100dvh!important;min-height:100svh!important;overflow:hidden!important}
 .modifier-sheet{position:relative!important;display:block!important;height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;padding:18px 16px calc(24px + env(safe-area-inset-bottom))!important;scroll-padding-bottom:100px!important}
 #modifierGroups{padding-bottom:4px}
 #modifierAdd{position:sticky!important;left:auto!important;right:auto!important;bottom:0!important;width:100%!important;margin-top:10px!important;margin-bottom:max(4px,env(safe-area-inset-bottom))!important;min-height:64px!important;z-index:20!important;display:block!important;visibility:visible!important;background:#a92436!important;color:#fff!important}
 .modifier-error{scroll-margin-bottom:90px}
}
\n\n/* Build 0.23.23 · POS móvil compacto + modal sin obstrucciones */
@media(max-width:760px){
  .app-content main{padding-bottom:112px!important}
  .cart{max-height:calc(100dvh - 92px)!important;overflow-y:auto!important;padding:10px 14px max(10px,env(safe-area-inset-bottom))!important}
  .cart:not(.cart-open){display:grid!important;grid-template-columns:1fr auto;align-items:center;gap:6px 16px;min-height:82px!important;max-height:82px!important;overflow:hidden!important;cursor:pointer}
  .cart:not(.cart-open):before{content:'Ver pedido';grid-column:1/-1;margin:0!important;font-size:.78rem!important;line-height:1;color:#8d7478;text-align:center}
  .cart:not(.cart-open) h2{margin:0!important;font-size:1.12rem!important;line-height:1.1}
  .cart:not(.cart-open) .cart-total{padding:0!important;font-size:1.1rem!important;gap:8px;justify-content:flex-end}
  .cart:not(.cart-open) #cartLines,
  .cart:not(.cart-open) #send,
  .cart:not(.cart-open) .center-link,
  .cart:not(.cart-open) #msg{display:none!important}
  .cart.cart-open{max-height:min(72dvh,620px)!important;padding:13px 14px max(14px,env(safe-area-inset-bottom))!important}
  .cart.cart-open:before{content:'Toca aquí para ocultar el pedido'!important}
  body.modal-open .cart{display:none!important}
  body.modal-open .app-content main{padding-bottom:0!important}
  .modifier-modal{height:100dvh!important;min-height:100dvh!important}
  .modifier-sheet{height:100dvh!important;max-height:100dvh!important;padding-bottom:max(18px,env(safe-area-inset-bottom))!important}
  #modifierAdd{position:sticky!important;bottom:max(4px,env(safe-area-inset-bottom))!important;margin-top:14px!important;box-shadow:0 -8px 24px rgba(100,30,45,.16)!important}
}

/* El Patio del Maguey · identidad visual */
:root{--red:#315b43;--red-dark:#234432;--wine:#315b43;--pink:#b85c3f;--orange:#c9783b;--gold:#c98a3a;--navy:#334a3a;--teal:#54785f;--green:#315b43;--cream:#fbf3df;--ink:#2f2a23;--line:#dfd0b4;--rose:#f3e4d8;--gold-soft:#f6e6bd;--teal-soft:#eaf1e9;--green-soft:#e8f0e8;--blue-soft:#eef1e9;--shadow:0 12px 30px rgba(60,48,34,.11)}
body{background:linear-gradient(180deg,#fbf3df 0%,#fffaf0 100%)}
.sidebar{background:linear-gradient(180deg,#fffdf7 0%,#f7edd7 58%,#efe2c7 100%);border-right:1px solid #dfd0b4}
.sidebar-brand{background:linear-gradient(135deg,#fffdf7,#f4e6c9)}
.sidebar-brand img{width:215px;max-height:118px;object-fit:contain}
.nav-group span,.eyebrow{color:#315b43!important}.nav-group a:hover{background:#e7eddf;color:#234432}
.primary,.bill-btn{background:linear-gradient(135deg,#315b43,#54785f)!important;box-shadow:0 8px 18px rgba(49,91,67,.22)!important}
.secondary{border-color:#d9c49e}.category-tabs button.active{background:linear-gradient(135deg,#315b43,#6e8d6e)!important;box-shadow:0 8px 18px rgba(49,91,67,.20)!important}
.menu-item span,.table>b,.back{color:#8f4d32!important}.table>strong{color:#315b43!important}.table.free{border-top-color:#5d8a62}.table.busy{border-top-color:#c98a3a}.table.bill-requested{border-top-color:#b85c3f}
.dashboard-hero{background:linear-gradient(135deg,#315b43 0%,#54785f 55%,#8d6b3e 100%)!important}.dashboard-hero .eyebrow{color:#f6e6bd!important}
.mobile-nav-button{background:#315b43!important;box-shadow:0 8px 22px rgba(49,91,67,.28)!important}.qty button{color:#315b43!important;background:#f5eddb!important}.modifier-choice:has(input:checked),.modifier-other:has(input:checked),#modifierAdd{background:#315b43!important;border-color:#315b43!important}
/* Build 0.1.1 · Logo oficial El Patio del Maguey */
.sidebar-brand img{width:126px;height:126px;max-height:126px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(82,59,15,.18))}
.login-card>img{width:190px;max-width:70%;height:auto;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(82,59,15,.18))}
.exec-head img{width:115px;height:115px;object-fit:contain}
@media(max-width:700px){.sidebar-brand img{width:108px;height:108px}}
/* Build 0.1.3 - identidad El Patio del Maguey */
.dashboard-hero:after{content:''!important;right:26px!important;top:14px!important;width:190px;height:190px;background:url('/images/favicon.png') center/contain no-repeat;opacity:.13!important;filter:grayscale(1) brightness(2.2);}
.sidebar-brand img{width:220px!important;max-width:92%!important;height:82px!important;object-fit:contain!important;}
.login-logo img{max-width:310px!important;width:100%!important;height:auto!important;}
@media(max-width:700px){.dashboard-hero:after{width:135px;height:135px;right:-10px;top:5px}.sidebar-brand img{width:190px!important}}

/* ===== El Patio del Maguey · Croquis interactivo de 30 mesas ===== */
.floor-legend{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin:0 0 14px;font-weight:800;color:#6f655d}.floor-legend span{display:flex;align-items:center;gap:7px}.dot{width:12px;height:12px;border-radius:50%;display:inline-block}.free-dot{background:#4b9b6a}.busy-dot{background:#df9a24}.bill-dot{background:#b52e45}
.restaurant-floor{display:grid;grid-template-columns:repeat(7,minmax(76px,1fr));grid-template-rows:repeat(5,minmax(116px,1fr));gap:22px 14px;align-items:center;min-width:760px;padding:34px 28px;border:2px solid #dfd2c4;border-radius:26px;background:linear-gradient(90deg,transparent 0 42%,rgba(214,191,151,.14) 42% 58%,transparent 58%),repeating-linear-gradient(0deg,rgba(125,104,76,.035) 0 1px,transparent 1px 34px),#fffdf8;box-shadow:0 12px 35px rgba(55,42,28,.08);position:relative;overflow:visible}.restaurant-floor:before{content:'';position:absolute;top:18px;bottom:18px;left:50%;width:2px;border-left:2px dashed rgba(141,115,72,.18);pointer-events:none}.floor-table-shell{grid-row:var(--floor-row);grid-column:var(--floor-col);display:grid;place-items:center;position:relative;min-width:0}.floor-table{width:78px;height:78px;border-radius:18px;display:grid;place-items:center;align-content:center;gap:2px;position:relative;background:#eef8f0;border:3px solid #4b9b6a;color:#214a2d;box-shadow:0 6px 16px rgba(44,61,38,.13);transition:transform .12s ease,box-shadow .12s ease}.floor-table:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 10px 22px rgba(44,61,38,.18)}.floor-table strong{font-size:1.85rem;line-height:1}.floor-table small{font-size:.57rem;font-weight:900;text-transform:uppercase;line-height:1}.floor-table.busy{background:#fff5e5;border-color:#df9a24;color:#7c4a09}.floor-table.bill-requested{background:#fff0f2;border-color:#b52e45;color:#8d1f33}.chair{position:absolute;width:26px;height:10px;border-radius:5px;background:#9c7652;border:2px solid #79593d;box-shadow:0 2px 3px rgba(60,38,20,.14)}.chair-top{top:-16px;left:23px}.chair-bottom{bottom:-16px;left:23px}.chair-left{left:-17px;top:31px;transform:rotate(90deg)}.chair-right{right:-17px;top:31px;transform:rotate(90deg)}.floor-bill-form{position:absolute;right:-11px;bottom:-18px;z-index:4}.floor-bill-form button{width:29px;height:29px;border:0;border-radius:50%;background:#173f31;color:white;font-weight:950;cursor:pointer;box-shadow:0 3px 8px rgba(0,0,0,.18)}.floor-bill-form button:disabled{background:#b52e45}.floor-hint{margin-top:12px;text-align:center;color:#8b7a6b;font-size:.86rem}
@media(max-width:980px){.restaurant-floor{grid-template-columns:repeat(7,94px);overflow:auto;justify-content:start;padding-bottom:42px}.floor-hint{text-align:left}}
@media(max-width:760px){.floor-legend{font-size:.8rem;gap:10px}.restaurant-floor{min-width:720px;grid-template-columns:repeat(7,86px);grid-template-rows:repeat(5,108px);gap:18px 12px;padding:30px 24px}.floor-table{width:70px;height:70px}.floor-table strong{font-size:1.6rem}.chair-top,.chair-bottom{left:20px}}
\n\n/* Build 0.1.5 · Croquis aprobado El Patio del Maguey */
.approved-floor{display:block!important;position:relative!important;min-width:1040px!important;width:100%;height:790px!important;padding:0!important;overflow:hidden!important;border:3px solid #173f31!important;border-radius:24px 90px 24px 24px!important;background:repeating-linear-gradient(0deg,rgba(125,104,76,.035) 0 1px,transparent 1px 32px),repeating-linear-gradient(90deg,rgba(125,104,76,.025) 0 1px,transparent 1px 32px),#fffaf0!important;clip-path:polygon(0 11%,34% 11%,34% 0,57% 0,68% 22%,79% 43%,100% 43%,100% 100%,0 100%)}
.approved-floor:before{display:none!important}.approved-floor:after{content:'';position:absolute;left:0;top:86px;width:34%;height:235px;border-right:3px solid #173f31;border-bottom:3px solid #173f31;pointer-events:none;z-index:1}
.approved-floor .floor-table-shell{position:absolute!important;width:74px;height:74px;display:block!important;z-index:5}.approved-floor .floor-table{width:66px;height:66px;border-radius:14px}.approved-floor .floor-table strong{font-size:1.45rem}.approved-floor .chair{width:20px;height:8px}.approved-floor .chair-top{top:-13px;left:21px}.approved-floor .chair-bottom{bottom:-13px;left:21px}.approved-floor .chair-left{left:-14px;top:28px}.approved-floor .chair-right{right:-14px;top:28px}
.floor-kitchen{position:absolute;left:12%;bottom:18%;width:16%;height:25%;border:3px solid #173f31;border-radius:7px;background:#f4efe3;display:grid;place-items:center;z-index:2;box-shadow:inset 0 0 0 5px rgba(49,91,67,.05)}.floor-kitchen span{font-weight:900;color:#315b43;font-size:1.1rem}.floor-entrance{position:absolute;left:3.5%;bottom:1.5%;z-index:4;display:flex;align-items:center;gap:7px;color:#173f31;font-size:.8rem}.entrance-arrow{color:#c5312e;font-size:2rem;font-weight:1000;line-height:.7}.floor-room-divider{position:absolute;left:34%;top:0;width:3px;height:321px;background:#173f31;z-index:2}
/* Mesas 1–20: comienzan en la entrada y avanzan hacia el fondo */
.mesa-1{left:49%;bottom:5%}.mesa-2{left:43%;bottom:16%}.mesa-3{left:55%;bottom:16%}.mesa-4{left:43%;bottom:27%}.mesa-5{left:55%;bottom:27%}.mesa-6{left:43%;bottom:38%}.mesa-7{left:55%;bottom:38%}.mesa-8{left:43%;bottom:49%}.mesa-9{left:55%;bottom:49%}.mesa-10{left:43%;bottom:60%}.mesa-11{left:55%;bottom:60%}.mesa-12{left:43%;bottom:71%}.mesa-13{left:55%;bottom:71%}.mesa-14{left:43%;top:25%}.mesa-15{left:55%;top:25%}.mesa-16{left:43%;top:14%}.mesa-17{left:55%;top:14%}.mesa-18{left:43%;top:4%}.mesa-19{left:57%;top:4%}.mesa-20{left:51%;top:1%}
/* Salón superior izquierdo: exactamente 10 mesas */
.mesa-21{left:3%;top:15%}.mesa-22{left:9%;top:15%}.mesa-23{left:15%;top:15%}.mesa-24{left:21%;top:15%}.mesa-25{left:27%;top:15%}.mesa-26{left:3%;top:28%}.mesa-27{left:9%;top:28%}.mesa-28{left:15%;top:28%}.mesa-29{left:21%;top:28%}.mesa-30{left:27%;top:28%}
@media(max-width:1180px){.approved-floor{transform-origin:top left}.restaurant-floor.approved-floor{overflow:hidden!important}}
@media(max-width:980px){.approved-floor{min-width:1040px!important}.app-content main{overflow-x:auto}}
/* Ajuste final de posiciones aprobado: secuencia visual desde la entrada */
.approved-floor .mesa-1{left:49%;top:700px;bottom:auto}.approved-floor .mesa-2{left:43%;top:630px;bottom:auto}.approved-floor .mesa-3{left:55%;top:630px;bottom:auto}.approved-floor .mesa-4{left:43%;top:560px;bottom:auto}.approved-floor .mesa-5{left:55%;top:560px;bottom:auto}.approved-floor .mesa-6{left:43%;top:490px;bottom:auto}.approved-floor .mesa-7{left:55%;top:490px;bottom:auto}.approved-floor .mesa-8{left:43%;top:420px;bottom:auto}.approved-floor .mesa-9{left:55%;top:420px;bottom:auto}.approved-floor .mesa-10{left:43%;top:350px;bottom:auto}.approved-floor .mesa-11{left:55%;top:350px;bottom:auto}.approved-floor .mesa-12{left:43%;top:280px;bottom:auto}.approved-floor .mesa-13{left:55%;top:280px;bottom:auto}.approved-floor .mesa-14{left:43%;top:210px;bottom:auto}.approved-floor .mesa-15{left:55%;top:210px;bottom:auto}.approved-floor .mesa-16{left:43%;top:140px;bottom:auto}.approved-floor .mesa-17{left:55%;top:140px;bottom:auto}.approved-floor .mesa-18{left:43%;top:70px;bottom:auto}.approved-floor .mesa-19{left:57%;top:70px;bottom:auto}.approved-floor .mesa-20{left:51%;top:8px;bottom:auto}

/* Inventario 0.1.14: categorías + filtros */
.inventory-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.inventory-form-grid select{width:100%;}
.inventory-filter-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 16px;margin:18px 0;box-shadow:var(--shadow)}
.inventory-toolbar{margin:0 0 12px;background:transparent;padding:0;box-shadow:none}
.inventory-category-filters{display:flex;gap:8px;flex-wrap:wrap}
.inventory-filter-chip{border:1px solid #decdbb;background:#fff9ef;color:#51473f;border-radius:999px;padding:9px 13px;font-weight:800;cursor:pointer;transition:.18s ease}
.inventory-filter-chip span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;margin-left:5px;border-radius:999px;background:#efe6da;font-size:.74rem}
.inventory-filter-chip:hover{transform:translateY(-1px);border-color:#8eaa99}
.inventory-filter-chip.active{background:var(--teal);border-color:var(--teal);color:white;box-shadow:0 7px 18px #355f4e24}
.inventory-filter-chip.active span{background:#ffffff2b;color:white}
.inventory-card-category{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:5px 9px;margin-bottom:12px;border-radius:999px;background:#f3eee6;color:#6a5c50;font-size:.72rem;font-weight:850;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inventory-card-main{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.inventory-low-warning{color:#c46625;font-weight:850;margin:12px 0 0}
.inventory-filter-empty{margin-top:16px;padding:28px;text-align:center;border:1px dashed #d9c8b5;border-radius:18px;background:#fffaf1;color:#8a7766;font-weight:750}
@media(max-width:1050px){.inventory-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.inventory-form-grid{grid-template-columns:1fr}.inventory-category-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.inventory-filter-chip{white-space:nowrap}.inventory-card-main{align-items:center}}
