:root{--bg:#080a0c;--panel:#11171d;--panel2:#171f27;--line:#29333d;--text:#f7f8fa;--muted:#8b98a4;--orange:#ff7417;--green:#20d483;--blue:#4aa8ff;--red:#ff5964;--yellow:#ffc857;--purple:#a67cff}*{box-sizing:border-box}html,body{margin:0;background:#07090b;color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}.app{max-width:1120px;margin:auto;padding:14px 16px 40px}.top{min-height:62px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:10px}.brand{display:flex;align-items:center;gap:10px}.vmark{width:38px;height:38px;border-radius:11px;background:var(--orange);color:#111;display:grid;place-items:center;font-weight:1000}.brand strong{font-size:14px;display:block}.brand small{font-size:10px;color:var(--muted);display:block;margin-top:2px}.online{color:var(--green);font-size:10px;font-weight:900;background:#0b261b;border:1px solid #185d3e;border-radius:999px;padding:7px 9px}.hero{padding:20px 0 12px}.eyebrow{font-size:10px;font-weight:950;letter-spacing:.15em;color:var(--orange)}h1{font-size:32px;line-height:1;margin:5px 0 7px;letter-spacing:-.045em}h2{letter-spacing:-.03em}.hero p{margin:0;color:var(--muted);font-size:13px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 15px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:14px}.stat b{display:block;font-size:23px}.stat span{display:block;color:var(--muted);font-size:10px;margin-top:5px}.tabs{display:flex;gap:7px;overflow:auto;padding:2px 0 13px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{border:1px solid var(--line);background:#10151a;color:#9ca8b2;border-radius:999px;padding:9px 13px;font-size:11px;white-space:nowrap}.tab.active{background:#26303a;color:#fff;border-color:#526170}.tables{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.table{position:relative;min-height:138px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(160deg,#151b20,#0d1216);color:#fff;text-align:left;padding:14px;transition:.16s}.table:hover{transform:translateY(-2px)}.table.free{opacity:.8}.table.occupied{border-color:#9b5019}.table.preparing{border-color:#2875b0}.table.ready{border-color:#218956;box-shadow:0 0 0 1px rgba(32,212,131,.12)}.state{display:inline-flex;padding:6px 8px;border-radius:999px;font-size:9px;font-weight:1000;text-transform:uppercase}.state.free{background:#252b30;color:#aab3b9}.state.occupied{background:#3a2110;color:#ffb27a}.state.preparing{background:#102b41;color:#79c4ff}.state.ready{background:#0c2c1e;color:#63eaa8}.table-number{font-size:34px;font-weight:1000;line-height:1;margin:13px 0 5px;color:#fff;display:flex;align-items:baseline;gap:7px}.table-number small{font-size:10px;letter-spacing:.12em;color:var(--muted);font-weight:900}.table-meta{font-size:10px;color:var(--muted)}.table-money{position:absolute;right:14px;bottom:14px;font-size:16px;font-weight:950}.table-alert{position:absolute;left:14px;bottom:15px;color:var(--green);font-size:10px;font-weight:900}.sheet-bg{position:fixed;inset:0;background:rgba(0,0,0,.78);display:flex;align-items:flex-end;justify-content:center;z-index:50}.sheet{width:min(680px,100%);max-height:94vh;overflow:auto;background:#11171c;border:1px solid #2b353e;border-bottom:0;border-radius:24px 24px 0 0;padding:17px;box-shadow:0 -25px 80px #000}.sheet-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.close,.ghost{background:#1b232a;color:#fff;border:1px solid var(--line);border-radius:11px;padding:9px 11px}.order{background:#151c22;border:1px solid var(--line);border-radius:14px;padding:12px;margin-top:9px}.order-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.item{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #25303a;font-size:13px}.item:last-child{border:0}.note{margin-top:7px;background:#291b11;border-left:3px solid var(--orange);border-radius:8px;padding:8px;color:#ffd0ae;font-size:11px}.summary{background:#0d1115;border:1px solid var(--line);border-radius:14px;padding:13px;margin-top:12px}.row{display:flex;justify-content:space-between;gap:10px;margin:7px 0}.big{font-size:28px;font-weight:1000}.btn{border:1px solid var(--line);background:#202930;color:#fff;border-radius:12px;padding:12px 14px;font-weight:900}.btn.primary{background:var(--orange);border-color:var(--orange);color:#111}.btn.green{background:var(--green);border-color:var(--green);color:#07130d}.wide{width:100%}.actions{display:flex;gap:8px;margin-top:12px}.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login-card{width:min(440px,100%);background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:20px}.staff{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.staff button{border:1px solid var(--line);background:#171e24;color:#fff;border-radius:13px;padding:15px;text-align:left}.staff button b{display:block;font-size:15px}.staff button span{font-size:10px;color:var(--muted)}.notice{margin-top:12px;border:1px solid #2c3943;background:#121a21;border-radius:13px;padding:11px;color:#bdc8d1;font-size:11px}.small{font-size:10px;color:var(--muted)}.products{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.product{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#151c22;border:1px solid var(--line);border-radius:13px;padding:10px}.product b{font-size:12px}.product span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.product.mozo{border-color:#3d3b29}.add{width:38px;height:38px;border:0;border-radius:11px;background:var(--orange);font-size:23px;font-weight:1000}.cart{margin-top:12px;background:#1b232a;border:1px solid #394651;border-radius:15px;padding:12px}.cartline{display:grid;grid-template-columns:1fr auto;gap:8px;padding:8px 0;border-bottom:1px solid #2a343d}.qty{display:flex;align-items:center;gap:6px}.qty button{width:28px;height:28px;border:1px solid var(--line);background:#252f37;color:#fff;border-radius:8px}.field,.textarea,.select{width:100%;background:#0a0d10;border:1px solid #303b45;color:#fff;border-radius:10px;padding:10px;outline:none}.textarea{min-height:68px;resize:none;margin-top:6px}.field:focus,.textarea:focus,.select:focus{border-color:var(--orange);box-shadow:0 0 0 2px rgba(255,116,23,.1)}.kitchen{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ticket{background:#12181d;border:1px solid var(--line);border-radius:17px;padding:13px}.ticket.pending{border-color:#9a4f16}.ticket.preparing{border-color:#2870a8}.ticket.ready{border-color:#258756}.ticket-table{font-size:38px;font-weight:1000;line-height:1;color:#fff}.ticket-top{display:flex;justify-content:space-between;gap:10px}.ticket-meta{color:#d6dce1;font-size:11px;margin-top:5px}.ticket-age{font-size:10px;color:#bdc7cf;margin-top:10px}.ticket-item{padding:10px 0;border-bottom:1px solid #253039}.ticket-item:last-child{border-bottom:0}.ticket-note{background:#2a1b11;border:1px solid #5b3921;border-radius:9px;padding:8px;color:#ffd1b0;font-size:11px;margin-top:6px}.general{background:#17222c;border:1px solid #2b414f;color:#d2e1ea;border-radius:9px;padding:9px;font-size:11px;margin-top:9px}.paymethods{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.paymethod{background:#151c22;color:#b9c3ca;border:1px solid var(--line);border-radius:11px;padding:12px;font-weight:800}.paymethod.active{background:#2b1a10;border-color:var(--orange);color:#fff}.pin-wrap{min-height:100vh;display:grid;place-items:center;padding:16px}.pin-card{width:min(380px,100%);background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:22px}.pin{font-size:26px;text-align:center;letter-spacing:.18em}.staff-admin{display:grid;gap:8px;margin-top:10px}.staff-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#151c22;border:1px solid var(--line);border-radius:12px;padding:10px}.danger{color:#ff7f87}.empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:15px}.demo{display:block;text-align:center;color:#6f7b84;font-size:9px;margin-top:14px}.toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%) translateY(20px);background:#f4f5f6;color:#111;padding:11px 15px;border-radius:999px;font-weight:900;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:100}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.ready-banner{background:#0c2c1e;border:1px solid #218956;color:#63eaa8;border-radius:12px;padding:10px;font-size:11px;font-weight:900;margin-top:10px}.mozo-delivery{background:#25200f;border:1px solid #735c20;color:#ffd66a;border-radius:12px;padding:10px;font-size:11px;margin-top:10px}.admin-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.section{background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:14px;margin-top:10px}.section h3{margin:0 0 8px;font-size:14px}.formrow{display:grid;grid-template-columns:1fr auto;gap:8px}.iconbtn{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#202930;color:#fff}.iconbtn.danger{color:#ff7f87}@media(max-width:760px){.app{padding:10px 12px 30px}.top{min-height:56px}.hero{padding:17px 0 9px}h1{font-size:28px}.stats{grid-template-columns:1fr 1fr}.stat:last-child{grid-column:1/-1}.tables{grid-template-columns:1fr 1fr;gap:8px}.table{min-height:128px;padding:12px;border-radius:15px}.table-number{font-size:30px;margin-top:12px}.products{grid-template-columns:1fr}.kitchen{grid-template-columns:1fr}.staff{grid-template-columns:1fr}.sheet{padding:14px;border-radius:22px 22px 0 0}.ticket-table{font-size:34px}.formrow{grid-template-columns:1fr}.actions{flex-wrap:wrap}.actions .btn{flex:1;min-width:130px}}@media(min-width:761px){.sheet{margin-bottom:16px;border-bottom:1px solid #2b353e;border-radius:24px}}.receipt-success{display:flex;align-items:center;gap:12px;padding:4px 0 12px}.success-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#0c2c1e;border:1px solid #218956;color:#63eaa8;font-size:22px;font-weight:1000}.receipt-preview{width:min(360px,100%);margin:6px auto 0;background:#fff;color:#111;border-radius:8px;padding:18px 16px;font-family:Arial,Helvetica,sans-serif;box-shadow:0 10px 30px rgba(0,0,0,.28)}.receipt-brand{text-align:center;font-size:17px;font-weight:900;letter-spacing:.4px}.receipt-sub{text-align:center;color:#555;font-size:10px;margin-top:2px}.receipt-line{border-top:1px dashed #888;margin:10px 0}.receipt-center{text-align:center;font-weight:800;font-size:11px}.receipt-item,.receipt-total{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin:5px 0}.receipt-total{font-size:14px;font-weight:900}.receipt-actions{display:grid;gap:8px;margin-top:12px}.wide{min-height:44px}.table-admin-head{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#0d1115;border:1px solid var(--line);border-radius:14px;padding:12px;margin-top:12px}.table-admin-head b{font-size:22px}.table-admin-head span{font-size:11px;color:var(--muted)}.table-admin-list{display:grid;gap:8px;margin-top:10px}.iconbtn:disabled,.iconbtn.disabled{opacity:.35;cursor:not-allowed}.receipt-sheet{padding-bottom:22px}@media(max-width:760px){.receipt-preview{width:100%;max-width:330px}.table-admin-head{align-items:stretch;flex-direction:column}.table-admin-head .btn{width:100%}}
.action-row{display:flex;gap:8px;align-items:stretch}.action-row>*{flex:1}.history-list{display:grid;gap:8px;margin-top:12px}.history-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:#11161a}.history-row .iconbtn{margin-top:6px}.label{display:block;font-size:12px;font-weight:800;margin:12px 0 6px;color:#b8c0c7}.btn.secondary{background:#1a2025;border:1px solid var(--line);color:#f3f5f7}
.header-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.table{min-height:150px}.table-topline{display:flex;justify-content:space-between;align-items:center;gap:8px}.table-orders{font-size:9px;color:#aeb8bf}.table-number{display:flex;align-items:baseline;gap:8px;margin:18px 0 8px;color:#fff}.table-number span{font-size:10px;letter-spacing:.12em;color:#8e9aa4;font-weight:900}.table-number b{font-size:38px;line-height:1;font-weight:1000}.neutral-text{color:#7d8992}.ready-text{color:#63eaa8}.prep-text{color:#79c4ff}.mesa-title{font-size:30px!important}.compact-sheet{max-width:520px}.section{background:#0f151a}.header-actions .ghost{white-space:nowrap}@media(max-width:760px){.header-actions{width:100%;justify-content:flex-start}.header-actions .ghost{flex:1;min-width:calc(50% - 7px)}.table{min-height:145px}.table-number b{font-size:34px}}
/* VORA SALON UX REFINEMENT */
.table-alert{left:14px;right:14px;bottom:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.table.free .table-alert{bottom:14px}
.table-money{z-index:2;background:#11171d;padding-left:6px}
.kitchen-mode{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0 13px;border-bottom:1px solid var(--line);margin-bottom:12px}
.kitchen-mode b{font-size:11px;letter-spacing:.12em;color:#aeb8bf}
.archived-label{width:100%;text-align:center;color:var(--muted);font-size:11px;padding:10px;border:1px dashed var(--line);border-radius:10px}
.waiter-screen{position:relative;min-height:calc(100vh - 130px);padding-bottom:96px}
.waiter-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:8px 0 10px}
.waiter-table-title{font-size:34px!important;margin:2px 0!important}
.account-strip{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#12191f;border:1px solid #2d3943;border-radius:14px;padding:10px 12px;margin-bottom:10px;position:sticky;top:5px;z-index:8;box-shadow:0 8px 22px rgba(0,0,0,.2)}
.account-strip span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:900}.account-strip b{font-size:20px;display:block;margin-top:2px}
.waiter-products{padding-bottom:6px}.section-title{font-weight:900;margin-top:16px;margin-bottom:7px}.orders-compact{display:grid;gap:8px}
.waiter-cart-spacer{height:82px}.waiter-cart{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:min(1120px,100%);padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(8,10,12,.96);backdrop-filter:blur(12px);border-top:1px solid #303b45;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:10px}.waiter-cart span{display:block;color:var(--muted);font-size:10px}.waiter-cart b{font-size:19px}.waiter-cart .btn{min-width:145px}
@media(max-width:760px){.waiter-cart{padding-left:12px;padding-right:12px}.waiter-cart .btn{min-width:0;flex:0 0 auto}.account-strip{top:0}.waiter-screen{padding-bottom:100px}}
/* VORA SALON V5 - layout fixes */
.table.mozo-table{display:flex;flex-direction:column;min-height:150px;overflow:hidden}
.table.mozo-table .table-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}
.table.mozo-table .table-alert{position:static;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;line-height:1.2}
.table.mozo-table .table-money{position:static;background:none;padding:0}
.table.mozo-table.selected{border-color:var(--orange);box-shadow:0 0 0 1px rgba(255,116,23,.15)}
.table-panel{margin-top:12px;background:#10161b;border:1px solid #303c46;border-radius:20px;padding:14px;scroll-margin-top:10px;box-shadow:0 16px 40px rgba(0,0,0,.22)}
.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.panel-head h2{font-size:38px;line-height:1;margin:3px 0 4px}
.panel-total{color:#fff;font-size:14px}
.panel-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.panel-actions .ghost.active{border-color:var(--orange);color:#fff}
.new-order-total{display:flex;align-items:center;gap:8px}.new-order-total span{font-size:9px;color:var(--muted);text-transform:uppercase}.new-order-total b{font-size:17px}
.cart-editor{margin-top:10px;background:#151d23;border:1px solid #35424d;border-radius:15px;padding:12px}.cart-editor .field,.cart-editor .textarea{font-size:12px}
@media(max-width:760px){.table.mozo-table{min-height:142px}.table-panel{padding:12px}.panel-actions{position:sticky;top:0;z-index:15;background:#10161b}.new-order-total{margin-left:auto}.new-order-total span{display:none}.new-order-total b{font-size:15px}.panel-head h2{font-size:34px}.table.mozo-table .table-number b{font-size:34px}}
/* Prevent old absolute labels from colliding */
.table-alert{position:static}.table-money{position:static;background:transparent;padding:0}
.table{display:flex;flex-direction:column;overflow:hidden}.table-bottom{margin-top:auto;min-height:22px;display:flex;align-items:center;gap:8px}

.remove-line,.remove-sent{width:30px;height:30px;border-radius:9px;border:1px solid #4a2a2a;background:#241416;color:#ff8a8f;font-weight:1000;font-size:18px;line-height:1}.remove-line{margin-left:2px}.item-right{display:flex;align-items:center;gap:7px;flex-shrink:0}.remove-sent{width:27px;height:27px;font-size:16px}.remove-line:hover,.remove-sent:hover{background:#3a171a;border-color:#ff5964}@media(max-width:760px){.qty{gap:5px}.remove-line{width:32px;height:32px}}
/* VORA SALON V7 - pedido acumulado por mesa */
.draft-indicator{display:flex;align-items:center;gap:8px;margin-left:auto;white-space:nowrap}
.draft-indicator span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.draft-indicator b{font-size:11px;color:#fff}
.draft-indicator strong{font-size:16px;color:#fff}
.send-bar{position:sticky;bottom:8px;z-index:30;margin:12px -2px 0;padding:10px 12px;border:1px solid #394650;border-radius:15px;background:rgba(11,16,20,.97);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 12px 30px rgba(0,0,0,.35)}
.send-bar span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.send-bar b{display:block;color:#fff;font-size:15px;margin-top:2px}
.send-bar .btn{min-width:145px}
@media(max-width:760px){.draft-indicator{gap:5px}.draft-indicator span{display:none}.draft-indicator strong{font-size:15px}.send-bar{bottom:calc(6px + env(safe-area-inset-bottom));}.send-bar .btn{min-width:128px}.cart-editor{padding-bottom:4px}}

/* VORA SALON V8 - bebidas y cuenta simplificadas */
.drink-action{background:#ff7417;color:#0b0d0f;border:0;font-weight:900;white-space:nowrap}.account-inline{margin-top:10px}.account-inline .summary{display:none}.mozo-delivery{margin-top:8px;padding:8px 10px;border:1px solid #5a421f;border-radius:10px;background:#211a10;color:#ffc36b;font-size:11px;font-weight:800}
.history-day,.archive-day{margin-bottom:18px}.history-date{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#ff7417;padding:8px 2px;border-bottom:1px solid #26303a;margin-bottom:8px}.history-day .history-row{margin-bottom:6px}

/* VORA SALON V9 readability */
.mozo-table{position:relative!important;min-height:154px!important;box-sizing:border-box!important;padding-bottom:14px!important}
.mozo-table .table-topline{min-height:22px!important}
.mozo-table .table-number{margin:12px 0 6px!important;line-height:1!important}
.mozo-table .table-meta{min-height:18px!important;line-height:1.35!important;white-space:normal!important;overflow:visible!important}
.mozo-table .table-bottom{margin-top:auto!important;min-height:28px!important;position:static!important;line-height:1.25!important}
.mozo-table .table-alert{position:static!important;max-width:100%!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.mozo-table .table-orders{white-space:nowrap!important}

/* Vora Salón - mejoras catálogo y pedido */
.category-scroll{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;gap:7px!important;scrollbar-width:none!important;padding-bottom:4px!important}
.category-scroll::-webkit-scrollbar{display:none}
.category-scroll .tab{flex:0 0 auto;white-space:nowrap}
.product-wrap{margin-bottom:8px}
.product-wrap .product{margin-bottom:0!important}
.product.expanded{border-color:var(--orange)!important;border-bottom-left-radius:10px!important;border-bottom-right-radius:10px!important}
.product-detail{background:#11191f;border:1px solid var(--orange);border-top:0;border-radius:0 0 14px 14px;padding:12px;box-shadow:0 10px 22px rgba(0,0,0,.18)}
.detail-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.detail-top>div:first-child{display:grid;gap:3px}.detail-top span{font-size:11px;color:var(--muted)}
.detail-note{width:100%;min-height:74px;resize:none;background:#080b0e;border:1px solid #3a4650;color:#fff;border-radius:12px;padding:11px;font:inherit;font-size:12px;outline:none;margin-bottom:9px}.detail-note:focus{border-color:var(--orange);box-shadow:0 0 0 2px rgba(255,116,23,.1)}
.product-admin-list{display:grid;gap:8px}.product-admin-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#151c22;border:1px solid var(--line);border-radius:12px;padding:10px}.product-admin-actions{display:flex;gap:6px}.product-admin-actions .iconbtn{width:auto;padding:0 10px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.drink-text{color:#ffd66a!important}@media(max-width:760px){.form-grid{grid-template-columns:1fr}.detail-top{align-items:flex-start}.product-admin-row{align-items:flex-start}.product-admin-actions{flex-direction:column}}
