/* Shared visual language. Business data and the waiter workspace remain intact. */
:root{color-scheme:dark;--ui-bg:#09121d;--ui-panel:#121f2f;--ui-raised:#192c40;--ui-line:#3b526a;--ui-text:#f4f7fb;--ui-muted:#b4c4d5;--ui-accent:#df2875;--ui-focus:#84d8ff}
body{background:var(--ui-bg);color:var(--ui-text);font:16px/1.5 Arial,sans-serif}
button,.primary-link{min-height:46px;border:1px solid transparent;border-radius:11px;padding:11px 17px;background:linear-gradient(135deg,#cf216a,#ac246f);font-size:15px;line-height:1.4;font-weight:700;box-shadow:0 3px 7px #0002;transition:background .15s,border-color .15s,box-shadow .15s}
button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}
button:not(:disabled):hover,.primary-link:hover{filter:brightness(1.12)}
button:not(:disabled):active{filter:brightness(.95)}
.secondary,button.ui-secondary{background:#1b3046!important;border:1px solid #4a637d!important;color:#ecf4fd!important;box-shadow:none}
button.danger,.actions button.del{background:#452130!important;border:1px solid #a85570!important;color:#ffd6e0!important}
input,select,textarea{font-size:16px;line-height:1.45;max-width:100%;color:var(--ui-text);background:#0b1827;border:1px solid #50677f;border-radius:9px;padding:11px 13px;min-height:46px}
input::placeholder,textarea::placeholder{color:#9caec3;opacity:1}
select{appearance:none;padding-right:43px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23d7e8f8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}
select option,select optgroup{background:#14263b;color:#f4f7fb}
textarea{resize:vertical;min-height:92px}
input[type=checkbox],input[type=radio]{accent-color:#e64591;min-height:22px;width:22px;height:22px;flex-shrink:0;cursor:pointer}
input[type=date],input[type=month]{color-scheme:dark}
input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.85}
.form-grid input,.form-grid select,.form-grid textarea{background-color:#0b1827;border-color:#50677f;padding:12px;color:#f4f7fb;min-height:48px}
.form-grid label{font-size:14px;line-height:1.5;font-weight:600;color:#dce7f3;gap:8px;min-width:0}
.form-grid label>small{font-size:13px;font-weight:400;color:var(--ui-muted)}
.form-grid{gap:20px 18px}
.form-grid .check{background:#182a3f;border:1px solid #3a536d;border-radius:10px;padding:12px;gap:12px}
#sidebar{width:260px;background:#101e2e;border-color:#2d4158;padding:20px 13px 14px}
#sidebar .brand{height:auto;min-height:68px;padding:0 8px 18px;border-bottom:1px solid #2d4158;gap:13px}
.brand>b{background:linear-gradient(135deg,#e43581,#9d256e);width:44px;height:44px;box-shadow:none;font-size:17px}
.brand span{font-size:19px;line-height:1.2}.brand small{color:#b4c4d5;font-size:12px;font-weight:400;line-height:1.5;margin-top:5px}
#sidebar #nav{gap:5px;margin-top:16px;padding-right:4px;scrollbar-width:thin;scrollbar-color:#536a82 transparent}
#nav button{display:flex;gap:12px;align-items:center;min-height:47px;padding:11px 12px;border:1px solid transparent;color:#c0cedc;background:transparent;font-size:14px;line-height:1.4;font-weight:600;box-shadow:none}
#nav button i{display:grid;place-items:center;width:23px;flex-shrink:0;color:#93aac1}
#nav svg{width:21px;height:21px;vertical-align:middle}
#nav button.active{background:#3a2240;border-color:#95516f;color:#fff;box-shadow:inset 3px 0 #fa66a8}
#nav button.active i{color:#ff99c6}#nav button:hover{background:#20334b;border-color:#40576f}
#sidebar .logout{font-size:14px;line-height:1.4;color:#e6edf5;background:#1c3147;border:1px solid #445d77;text-align:center;margin-top:14px;padding:12px 10px;box-shadow:none}
main{margin-left:260px;min-width:0}
main>header{height:auto;min-height:94px;gap:16px;padding:18px 30px;background:#0d1929f5;border-color:#2d4158;backdrop-filter:blur(10px)}
main>header h1{font-size:26px;line-height:1.2;margin:5px 0 0;letter-spacing:-.5px}
main>header small{font-size:12px;line-height:1.5;letter-spacing:.06em;color:#b4c4d5}
.month{display:flex;align-items:center;gap:12px;font-size:14px;color:#d0ddea;white-space:nowrap}.month input{margin:0;padding:10px 12px;border-color:#49617b;background:#17283b;min-height:46px}
#content{padding:28px 30px 48px;max-width:1600px}
.page-head{gap:20px;margin-bottom:22px;flex-wrap:wrap}.page-head h2{font-size:21px;line-height:1.35;margin:0;font-weight:700}
.page-head>div{gap:10px;min-width:0}.quick{gap:10px;align-items:center;flex-wrap:wrap}
.quick+.table{margin-top:20px}.quick select{min-width:230px;border-color:#50677f;background-color:#17283b}
.quick [aria-pressed=false]{background:#192c40;color:#c6d5e3;border-color:#415b73;box-shadow:none}
.quick [aria-pressed=true]{background:#f7d4e6;color:#3f1630;border-color:#f7d4e6;box-shadow:none}
.metrics{gap:15px;margin:22px 0}.metric,.card,.table,.order-detail{background:var(--ui-panel);border-color:#2c425b;border-radius:15px;box-shadow:0 6px 18px #0001}
.metric{min-height:122px;padding:21px}.metric span{font-size:14px;line-height:1.5;color:#b4c4d5}.metric b{font-size:25px;line-height:1.3;margin-top:14px;letter-spacing:-.5px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.card{padding:24px}.card h3{font-size:18px;color:#edf4fb}.low{align-items:flex-start;gap:16px;border-color:#2c425b;flex-wrap:wrap}.low b{font-size:15px}.low span{font-size:14px;color:#ffb2c7}
.table{scrollbar-width:thin;scrollbar-color:#55718c #112135}.table table{min-width:780px}th{background:#1b2f44;padding:16px;font-size:12px;line-height:1.5;letter-spacing:.045em;color:#c6d8e9}td{font-size:14px;line-height:1.55;color:#d5e1ee;padding:16px;border-color:#293e55;font-variant-numeric:tabular-nums}
td b{color:#f2f6fb}tbody tr:hover{background:#1a2c41}td small{display:block;font-size:12px;color:#b4c4d5;line-height:1.5;margin-top:4px}td:first-child{max-width:340px;overflow-wrap:anywhere}
.actions button,.item-tools button{min-height:42px;padding:9px 12px;font-size:14px;line-height:1.3;border:1px solid #46617b;background:#203750;color:#e8f2fd;box-shadow:none}.actions button+button{margin-left:7px}
.pill{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:5px 10px;font-size:12px;line-height:1.4;font-weight:700;background:#143e34;color:#a3f6d6;border:1px solid #347a65}
.pill.danger{background:#452130!important;color:#ffc9d8!important;border:1px solid #8e5266!important}
.notice{background:#142c42;border:1px solid #385a7a;border-left:3px solid #6ab9e9;color:#d0e5f5;font-size:14px;line-height:1.65;padding:15px 18px;margin:16px 0 22px}
.empty{color:#bacbdc;padding:40px 20px;font-size:15px}.pos{color:#82ecc3}.neg{color:#ffa8be}
.table-map{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}
button.table-card{min-height:170px;gap:10px;padding:19px;border-radius:15px;border-width:1px;background:#10372e;border-color:#40917a;box-shadow:inset 0 4px #56c8a3}
button.table-card.ocupada{background:#392334;border-color:#b66586;box-shadow:inset 0 4px #f077a8}button.table-card.reservada{background:#3d321f;border-color:#a98c4f;box-shadow:inset 0 4px #e4c06b}
.table-card span{font-size:12px;font-weight:700;letter-spacing:.06em}.table-card b{font-size:24px}.table-card small,.table-card em{font-size:14px;line-height:1.45;color:#dfede9}.table-card strong{font-size:18px}
.order-detail{padding:24px;scroll-margin-top:115px}.order-detail .page-head>div{display:block;min-width:0;flex:1}.order-detail .page-head p{font-size:14px;color:#b4c4d5;line-height:1.6;margin:8px 0;overflow-wrap:anywhere}.order-detail .page-head>b{font-size:28px;line-height:1.3;color:#a1f0d5}.order-detail .page-head h2{margin-top:10px}
.account-toolbar{grid-template-columns:repeat(auto-fit,minmax(166px,1fr));gap:12px;margin:24px 0}.account-toolbar button{background:#20354b;border:1px solid #4c6681;color:#eaf3fd;min-height:54px;font-size:14px;box-shadow:none}
.account-toolbar [onclick^="pay("]{background:#97edcb;color:#103b2f;border-color:#97edcb}.account-toolbar [onclick^="bill("]{background:#335773;border-color:#759bb7}.item-tools{gap:8px;min-width:270px}
.totals-box{width:100%;max-width:390px;border:1px solid #3c5973;border-radius:12px;background:#0d1a29;padding:12px;gap:3px;margin-top:24px}.totals-box span{font-size:15px;color:#c7d7e6}.totals-box strong{font-size:23px;color:#a3f1d3;border:0}
dialog:not(.order-workspace){border-color:#4d627b;background:#112033;color:#f4f7fb;border-radius:18px;box-shadow:0 28px 110px #0009;max-height:calc(100dvh - 40px);overflow:auto}
dialog::backdrop{background:#020812cc;backdrop-filter:blur(5px)}
#entryForm{padding:28px}#entryForm h2{padding-right:40px;font-size:24px;line-height:1.3;margin:0 0 25px}button.close{min-width:42px;min-height:42px;top:17px;right:17px;border:1px solid #445d78;background:#1d334a;color:#dfebf7;font-size:25px;line-height:1;padding:7px}
#entryForm footer,#menuEditDialog footer,.ux-dialog footer{display:flex;justify-content:flex-end;gap:12px;padding-top:22px;margin-top:24px;border-top:1px solid #334b64}
#entryForm footer button,#menuEditDialog footer button,.ux-dialog footer button{min-width:125px}
.ux-form-error{grid-column:1/-1;color:#ffccd8;background:#442436;border:1px solid #ad657d;border-radius:10px;padding:13px 16px;font-size:14px;line-height:1.6;margin:14px 0 0}
.ux-form-error[hidden]{display:none}
.ux-dialog{width:min(660px,calc(100vw - 32px))}.ux-dialog form{padding:28px}.ux-dialog-top{display:flex;align-items:flex-start;gap:20px;justify-content:space-between;margin-bottom:24px}.ux-dialog-top h2{font-size:25px;line-height:1.3;margin:0;letter-spacing:-.4px}.ux-dialog-top p{color:#bacddd;line-height:1.65;font-size:15px;margin:10px 0 0}.ux-dialog-top .ux-close{padding:7px;min-width:42px;min-height:42px;line-height:1;font-size:25px;background:#1e354d;color:#edf4fb;border:1px solid #4c6681;flex-shrink:0;box-shadow:none}
.ux-account-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#1b3346;border:1px solid #4f778e;border-radius:12px;padding:17px 18px;margin-bottom:24px}.ux-account-summary span{color:#c2d8e7;font-size:14px}.ux-account-summary b{font-size:27px;line-height:1.3;color:#aff0d8;font-variant-numeric:tabular-nums}
.ux-dialog .ux-help{font-size:14px;color:#c0d3e3;line-height:1.6;grid-column:1/-1;margin:0}
.ux-dialog #splitMethods{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:16px}
#menuEditDialog h2{font-size:24px;line-height:1.35;margin:0 0 24px}
#toast{background:#1a3b46;color:#ebfff8;border:1px solid #6caaa5;box-shadow:0 12px 40px #0006;max-width:min(480px,calc(100vw - 32px));font-size:15px;line-height:1.6;bottom:24px;right:24px;z-index:60;pointer-events:none}
#sidebarBackdrop{display:none}
/* Extend the existing mobile order flow without changing its structure. */
.order-workspace .ow-categories button{min-height:44px;font-size:14px}.order-workspace .ow-categories button span{font-size:12px}.order-workspace .ow-area-tabs small{font-size:14px}.order-workspace .ow-area-label{font-size:13px}.order-workspace .ow-product .ow-add{width:36px;height:36px}.order-workspace .ow-note input{font-size:16px}.order-workspace .ow-print-note{font-size:13px}
@media(min-width:761px) and (max-width:1250px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics.four{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:1fr}.metric b{font-size:23px}}
@media(max-width:760px){
 #sidebar{width:min(290px,calc(100vw - 50px));z-index:30;padding-top:20px}main{margin-left:0}body.nav-open{overflow:hidden}
 #sidebarBackdrop{display:block;position:fixed;inset:0;width:100%;height:100%;border:0;border-radius:0;background:#0009;z-index:20;opacity:0;visibility:hidden;transition:opacity .18s;box-shadow:none}body.nav-open #sidebarBackdrop{visibility:visible;opacity:1}
 main>header{padding:14px 16px;min-height:84px;gap:12px;flex-wrap:wrap}main>header h1{font-size:22px}main>header small{font-size:12px;letter-spacing:0}#menu{display:block;min-width:44px;margin:0;padding:9px;background:#20364e;border:1px solid #506b88;box-shadow:none}.month{margin-left:auto;gap:6px;font-size:12px}.month input{width:158px;min-height:44px;font-size:14px;padding:8px}
 #content{padding:22px 16px 36px}.page-head{align-items:flex-start;gap:14px;margin-bottom:18px}.page-head h2{font-size:20px}.page-head>div{width:100%;gap:10px}.quick{gap:10px}.quick select{width:100%}.quick>button{flex-grow:1}
 .metrics,.metrics.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric{padding:17px 14px;min-height:116px}.metric span{font-size:14px}.metric b{font-size:22px}.grid{grid-template-columns:1fr}.card{padding:20px}.low{gap:7px}.table-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}button.table-card{padding:16px;min-height:164px}.table-card b{font-size:23px}.table-card small{font-size:13px}
 .order-detail{padding:17px;scroll-margin-top:120px}.order-detail .page-head>b{font-size:26px}.account-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.account-toolbar button{padding:12px 10px;min-height:58px}.totals-box{max-width:none}.table table{min-width:750px}
 #entryForm,.ux-dialog form{padding:23px 20px}.form-grid,.ux-dialog #splitMethods{grid-template-columns:1fr;gap:18px}.form-grid .full{grid-column:1/-1}.ux-dialog-top h2{font-size:23px}.ux-account-summary b{font-size:25px}
 dialog:not(.order-workspace){max-height:calc(100dvh - 24px);width:calc(100vw - 24px)}#entryForm footer,#menuEditDialog footer,.ux-dialog footer{gap:10px;position:sticky;bottom:-23px;margin-bottom:-23px;padding:18px 0 23px;background:#112033;z-index:2}#entryForm footer button,#menuEditDialog footer button,.ux-dialog footer button{flex:1;min-width:0}
 #toast{right:16px;bottom:18px}
}
@media(max-width:430px){main>header>div{flex:1}.month{width:100%;justify-content:space-between;margin-top:0}.month input{width:185px}.page-head>div>button{flex:1}.metric b{font-size:20px}.ow-product-bottom strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.split-product{border:1px solid #40576b;border-radius:12px;padding:16px;margin:0 0 16px;min-width:0}.split-product legend{font-size:15px;font-weight:700;padding:0 6px}.split-quantities{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px}#splitTargets{display:grid;gap:12px}#splitRemaining{line-height:1.6}
