@font-face{font-family:OpenSans-Light;src:url(/assets/OpenSans-Light-Bb0cgWTc.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:f37_ginger_proregular;src:url(/assets/F37GingerPro-Regular-BY_XcQBT.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:f37_ginger_prodemi;src:url(/assets/F37GingerPro-Demi-CqWGVTNH.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:f37_ginger_probold;src:url(/assets/F37GingerPro-Bold-BjNpPchA.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:f37_ginger_proextra_bold;src:url(/assets/F37GingerPro-ExtraBold-C2DcZLPa.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}:root{--primary:#00d081;--primary-hover:#00b871;--primary-light:#ecfdf5;--primary-glow:#00d08126;--primary-gradient:var(--primary);--primary-gradient-hover:var(--primary-hover);--primary-ink:#0e2018;--grisprimary:#1e293b;--gris-one:#475569;--gris-two:#64748b;--gris-tree:#e2e8f0;--gris-f2:#f1f5f9;--green-one:#009e54;--green-two:#45dc9e;--green-tree:#45b780;--green-for:#d1fae5;--danger:#ef4444;--danger-light:#fef2f2;--danger-dark:#dc2626;--warning:#f59e0b;--warning-light:#fffbeb;--warning-dark:#b45309;--info:#0ea5e9;--info-light:#f0f9ff;--info-dark:#0369a1;--violet:#8b5cf6;--violet-light:#ede9fe;--violet-dark:#7c3aed;--bg-app:#f4f7fa;--bg-card:#fff;--bg-warm:#faf9f7;--bg-sidebar:#1c1c1c;--bg-sidebar-rgb:28, 28, 28;--bg-glass:#ffffffb8;--border-color:#e2e8f0;--border-subtle:#e2e8f099;--fontregular:"OpenSans-Light", sans-serif;--fontregularpro:"f37_ginger_proregular", sans-serif;--fontdemi:"f37_ginger_prodemi", sans-serif;--fontbold:"f37_ginger_probold", sans-serif;--fontextrabold:"f37_ginger_proextra_bold", sans-serif;--fontmono:"SF Mono", "Fira Code", Consolas, monospace;--heading:var(--fontextrabold);--mono:var(--fontmono);--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:18px;--text-2xl:22px;--text-3xl:28px;--text-4xl:36px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--sidebar-width:76px;--header-height:64px;--tap:48px;--tap-lg:60px;--control-h-sm:36px;--control-h:44px;--control-h-lg:52px;--stroke:1px;--stroke-control:1.5px;--card-border:var(--stroke) solid var(--border-color);--card-radius:var(--radius-md);--card-bg:var(--bg-card);--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a0d, 0 1px 2px #0f172a08;--shadow-md:0 4px 6px -1px #0f172a0f, 0 2px 4px -2px #0f172a0a;--shadow-lg:0 10px 25px -3px #0f172a14, 0 4px 10px -4px #0f172a0a;--shadow-xl:0 20px 40px -5px #0f172a1a, 0 8px 16px -6px #0f172a0d;--shadow-glow:0 0 20px #00d08126;--shadow-card:0 1px 3px #0f172a0a, 0 0 0 1px #0f172a05;--shadow-card-hover:0 8px 24px -4px #0f172a1a, 0 0 0 1px #00d0811f;--lift-primary:0 2px 8px #00d08140;--lift-primary-hover:0 6px 20px #00d08159;--lift-danger:0 2px 8px #ef444440;--lift-danger-hover:0 6px 20px #ef444459;--lift-warning:0 2px 8px #f59e0b40;--lift-warning-hover:0 6px 20px #f59e0b59;--lift-info:0 2px 8px #0ea5e940;--lift-info-hover:0 6px 20px #0ea5e959;--transition:all .25s cubic-bezier(.4, 0, .2, 1);--transition-fast:all .15s cubic-bezier(.4, 0, .2, 1);--transition-spring:all .35s cubic-bezier(.34, 1.56, .64, 1);--blur-glass:blur(16px);--blur-glass-sm:blur(8px)}@media (pointer:coarse){:root{--control-h-sm:40px;--control-h:48px;--control-h-lg:56px}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--fontregularpro);background:var(--bg-app);color:var(--grisprimary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em;line-height:1.5}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--gris-tree);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--gris-two)}::selection{color:var(--grisprimary);background:#00d08126}.btn{min-height:var(--control-h);border-radius:var(--radius-sm);font-family:var(--fontdemi);font-size:var(--text-base);cursor:pointer;transition:var(--transition);white-space:nowrap;letter-spacing:.01em;border:none;justify-content:center;align-items:center;gap:8px;padding:0 22px;display:inline-flex;position:relative;overflow:hidden}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:var(--primary-ink);box-shadow:var(--lift-primary)}.btn-primary:hover{background:var(--primary-hover);box-shadow:var(--lift-primary-hover);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)scale(.98)}.btn-danger{background:var(--danger);color:#fff;box-shadow:var(--lift-danger)}.btn-danger:hover{background:var(--danger-dark)}.btn-outline{background:var(--bg-glass);border:var(--stroke-control) solid var(--gris-tree);color:var(--gris-one);-webkit-backdrop-filter:var(--blur-glass-sm);backdrop-filter:var(--blur-glass-sm)}.btn-outline:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.btn-ghost{color:var(--gris-one);background:0 0}.btn-ghost:hover{background:var(--gris-f2)}.btn-sm{min-height:var(--control-h-sm);font-size:var(--text-sm);padding:0 14px}.btn-lg{min-height:var(--control-h-lg);font-size:var(--text-lg);padding:0 28px}.btn-icon{width:var(--control-h);height:var(--control-h);border-radius:var(--radius-sm);min-height:0;padding:0}.btn-icon.sm{width:var(--control-h-sm);height:var(--control-h-sm)}.btn-block{width:100%}.btn-pill{border-radius:var(--radius-full)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.badge{border-radius:var(--radius-full);font-size:var(--text-xs);font-family:var(--fontdemi);text-transform:uppercase;letter-spacing:.5px;align-items:center;padding:3px 10px;display:inline-flex}.badge-success{background:var(--green-for);color:var(--green-one)}.badge-warning{background:var(--warning-light);color:var(--warning-dark)}.badge-danger{background:var(--danger-light);color:var(--danger)}.badge-info{background:var(--info-light);color:var(--info-dark)}.input{width:100%;min-height:var(--control-h);border:var(--stroke-control) solid var(--gris-tree);border-radius:var(--radius-sm);font-family:var(--fontregularpro);font-size:var(--text-base);color:var(--grisprimary);background:var(--bg-card);transition:var(--transition-fast);outline:none;padding:0 14px}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.input::placeholder{color:var(--gris-two)}.input:hover:not(:focus){border-color:var(--gris-two)}.input:-webkit-autofill{-webkit-text-fill-color:var(--grisprimary);-webkit-box-shadow:0 0 0 1000px var(--bg-card) inset;caret-color:var(--grisprimary);font-family:var(--fontregularpro);transition:background-color 9999s ease-out}.input:-webkit-autofill:hover{-webkit-text-fill-color:var(--grisprimary);-webkit-box-shadow:0 0 0 1000px var(--bg-card) inset;caret-color:var(--grisprimary);font-family:var(--fontregularpro);transition:background-color 9999s ease-out}.input:-webkit-autofill:focus{-webkit-text-fill-color:var(--grisprimary);-webkit-box-shadow:0 0 0 1000px var(--bg-card) inset;caret-color:var(--grisprimary);font-family:var(--fontregularpro);transition:background-color 9999s ease-out}.input-lg{min-height:var(--control-h-lg);font-size:var(--text-md);padding:0 16px}textarea.input{resize:vertical;min-height:0;padding:10px 14px;line-height:1.5}.form-field{gap:var(--space-1);text-align:left;flex-direction:column;display:flex}.form-field>label{font-size:var(--text-base);font-family:var(--fontdemi);color:var(--grisprimary)}.form-field .hint{font-size:var(--text-xs);color:var(--gris-two)}.form-field .hint-error{color:var(--danger)}.input-icon{align-items:center;display:flex;position:relative}.input-icon>svg{color:var(--gris-two);pointer-events:none;position:absolute;left:14px}.input-icon>svg~.input{padding-left:42px}.input-icon.has-action>.input{padding-right:42px}.input-action{width:30px;height:30px;color:var(--gris-two);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;right:8px}.input-action:hover{color:var(--grisprimary);background:var(--gris-f2)}@media (pointer:coarse){.input-action{width:var(--tap);height:var(--tap)}.input-icon.has-action>.input{padding-right:calc(var(--tap) + 12px)}}.divider-text{align-items:center;gap:var(--space-3);color:var(--gris-two);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;display:flex}.divider-text:before,.divider-text:after{content:"";background:var(--gris-tree);flex:1;height:1px}.page-header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.page-header h2{align-items:center;gap:var(--space-2);font-family:var(--fontbold);font-size:var(--text-xl);color:var(--grisprimary);margin:0;display:flex}.page-header .page-actions{align-items:center;gap:var(--space-2);display:flex}.empty-state{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-10) var(--space-5);color:var(--gris-two);text-align:center;flex-direction:column;display:flex}.empty-state svg{color:var(--gris-tree)}.empty-state .empty-title{font-family:var(--fontdemi);font-size:var(--text-md);color:var(--gris-one)}.empty-state .empty-sub{font-size:var(--text-base)}.crash-screen{height:100%;padding:var(--space-6);background:var(--bg-app);justify-content:center;align-items:center;display:flex}.crash-card{width:100%;max-width:520px;padding:var(--space-8);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-lg);text-align:center}.crash-card h1{margin:0 0 var(--space-2);font-family:var(--fontextrabold);font-size:var(--text-2xl);color:var(--grisprimary)}.crash-card p{margin:0 0 var(--space-6);font-size:var(--text-md);color:var(--gris-two);line-height:1.55}.crash-actions{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.crash-detail{margin-top:var(--space-6);text-align:left}.crash-detail summary{cursor:pointer;font-size:var(--text-sm);color:var(--gris-two)}.crash-detail pre{margin-top:var(--space-2);max-height:180px;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--gris-f2);font-family:var(--fontmono);font-size:var(--text-xs);color:var(--gris-one);white-space:pre-wrap;line-height:1.5;overflow:auto}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.card{background:var(--card-bg);border:var(--card-border);border-radius:var(--card-radius);box-shadow:var(--shadow-card);overflow:hidden}.modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;animation:.25s fadeIn;display:flex;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){.modal-overlay{-webkit-backdrop-filter:none}}.modal-content{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl), 0 0 0 1px #ffffff1a;max-width:90vw;max-height:90vh;animation:.35s cubic-bezier(.34,1.56,.64,1) slideUp;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.route-loading{height:100%;min-height:180px;color:var(--gris-two);justify-content:center;align-items:center;display:flex}.route-loading-full{background:var(--bg-app);height:100vh}.spin{animation:.6s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}.spinner-lg{border-width:2.5px;width:22px;height:22px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulse-ring{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(2.2)}}.text-primary{color:var(--primary)}.text-danger{color:var(--danger)}.text-muted{color:var(--gris-two)}.text-bold{font-family:var(--fontbold)}.text-demi{font-family:var(--fontdemi)}.text-center{text-align:center}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:8px}.gap-md{gap:16px}.w-full{width:100%}@media (pointer:coarse){.btn:hover,.ui-icon-btn:hover,.config-menu-card:hover,.table-card:hover,.floor-table:hover{transform:none}.btn:active,.ui-icon-btn:active{filter:brightness(.95);transform:scale(.96)}button,a,.btn,.ui-icon-btn{-webkit-tap-highlight-color:transparent}}@media (height<=820px){:root{--header-height:56px}.admin-page{padding:18px 20px}.company-card-header{padding:14px 20px}.modal-content{max-height:92vh}.config-group{margin-bottom:20px}.config-menu-card{padding:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.spin,.spinner{animation-duration:.6s!important;animation-iteration-count:infinite!important}.ui-toast.loading .ui-toast-icon{animation-duration:1s!important;animation-iteration-count:infinite!important}}.btn:focus-visible,.ui-icon-btn:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.vk{isolation:isolate;z-index:1200;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-3);background:var(--bg-app);border-top:1px solid var(--gris-tree);-webkit-user-select:none;user-select:none;flex-direction:column;animation:.18s cubic-bezier(.22,1,.36,1) vkIn;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 32px -12px #0f172a40}@keyframes vkIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}.vk-close{border-radius:var(--radius-sm);background:var(--gris-f2);width:30px;height:30px;color:var(--gris-one);cursor:pointer;z-index:1;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:6px;right:10px}.vk-close:hover{background:var(--gris-tree);color:var(--grisprimary)}.vk-rows{flex-direction:column;gap:6px;display:flex}.vk-row{gap:6px;display:flex}.vk-key{border:var(--stroke-control) solid var(--gris-tree);border-radius:var(--radius-sm);background:var(--bg-card);min-width:0;height:46px;color:var(--grisprimary);font-family:var(--fontdemi);font-size:var(--text-lg);cursor:pointer;box-shadow:var(--shadow-xs);transition:var(--transition-fast);-webkit-tap-highlight-color:transparent;flex:1 1 0}.vk-key:active{background:var(--primary-light);border-color:var(--primary);color:var(--primary);box-shadow:none;transform:scale(.96)}.vk-key-action{background:var(--gris-f2);color:var(--gris-one);font-size:var(--text-base);border-color:#0000}.vk-key-action.active{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.vk-key-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink);box-shadow:var(--lift-primary)}.vk-key-primary:active{background:var(--primary-hover);color:var(--primary-ink)}.vk-numeric .vk-rows{width:100%;max-width:560px;margin:0 auto}.vk-numeric .vk-key{height:56px;font-size:var(--text-2xl)}@media (height<=700px){.vk-key,.vk-numeric .vk-key{height:40px}}.vk-action{border-radius:var(--radius-sm);background:var(--primary);width:100%;height:52px;color:var(--primary-ink);font-family:var(--fontbold);font-size:var(--text-lg);cursor:pointer;box-shadow:0 4px 14px -4px var(--primary);transition:var(--transition-fast);-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;gap:10px;margin-top:2px;display:flex}.vk-action:active:not(:disabled){background:var(--primary-hover);transform:scale(.99)}.vk-action:disabled{background:var(--gris-tree);color:var(--gris-two);box-shadow:none;cursor:not-allowed}.vk-numeric .vk-action{max-width:560px;margin:2px auto 0}html.vk-open .modal-overlay,html.vk-open .modal-backdrop,html.vk-open .ui-confirm-backdrop,html.vk-open .note-modal-overlay,html.vk-open .pl-overlay,html.vk-open .notes-panel-overlay{padding-top:12px;padding-bottom:calc(var(--vk-height,0px) + 12px);align-items:flex-start}html.vk-open .modal-content,html.vk-open .order-detail-modal,html.vk-open .note-modal,html.vk-open .ui-confirm-modal,html.vk-open .pl-modal{max-height:calc(100vh - var(--vk-height,0px) - 24px);overflow-y:auto}html.vk-open .app-layout,html.vk-open .login-page,html.vk-open .pl-layout,html.vk-open .platform-login-page{height:calc(100vh - var(--vk-height,0px))}html.vk-open .input:focus,html.vk-open textarea:focus,html.vk-open .field-input input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-glow)}.sub-overlay{z-index:1100;padding:var(--space-5);-webkit-backdrop-filter:var(--blur-glass-sm);backdrop-filter:var(--blur-glass-sm);background:#0f172a8c;justify-content:center;align-items:center;animation:.18s subIn;display:flex;position:fixed;inset:0}@keyframes subIn{0%{opacity:0}to{opacity:1}}.sub-modal{align-items:center;gap:var(--space-3);width:min(430px,100%);max-height:90vh;padding:var(--space-8) var(--space-6) var(--space-6);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--shadow-xl);text-align:center;flex-direction:column;display:flex;overflow-y:auto}.sub-icon{background:var(--warning-light);width:64px;height:64px;color:var(--warning-dark);border-radius:50%;justify-content:center;align-items:center;display:flex}.sub-modal.vencido .sub-icon{background:var(--danger-light);color:var(--danger)}.sub-modal h2{font-family:var(--fontextrabold);font-size:var(--text-2xl);letter-spacing:-.5px;color:var(--grisprimary);margin:0;line-height:1.2}.sub-modal>p{font-size:var(--text-md);color:var(--gris-one);margin:0;line-height:1.5}.sub-detalle{justify-content:center;gap:var(--space-3) var(--space-6);width:100%;margin-top:var(--space-2);padding:var(--space-4);border:var(--card-border);border-radius:var(--radius-sm);background:var(--gris-f2);flex-wrap:wrap;display:flex}.sub-detalle>div{flex-direction:column;gap:1px;display:flex}.sub-detalle span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--gris-two)}.sub-detalle strong{font-family:var(--fontdemi);font-size:var(--text-base);color:var(--grisprimary)}.sub-nota{margin:var(--space-2) 0 0;font-family:var(--fontdemi);font-size:var(--text-sm);color:var(--danger-dark);align-items:center;gap:6px;display:inline-flex}.sidebar{width:var(--nav-w,var(--sidebar-width));background:var(--bg-sidebar);z-index:100;border-right:1px solid #ffffff0d;flex-direction:column;align-items:center;padding:14px 0;transition:width .18s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar-head{align-items:center;gap:10px;width:100%;margin-bottom:18px;padding:0 14px;display:flex}.sidebar-logo{background:var(--primary);border-radius:var(--radius-md);width:44px;height:44px;color:var(--primary-ink);box-shadow:var(--lift-primary-hover);transition:var(--transition);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-logo:hover{transform:scale(1.06)rotate(-4deg)}.sidebar-brand{font-family:var(--fontbold);font-size:var(--text-md);color:#fff;white-space:nowrap;display:none}.sidebar-nav{scrollbar-width:none;flex-direction:column;flex:1;gap:2px;width:100%;padding:0 12px;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-group+.sidebar-group{border-top:1px solid #ffffff12;margin-top:10px;padding-top:10px}.sidebar-group-title{font-family:var(--fontdemi);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:#ffffff59;white-space:nowrap;padding:0 10px 6px;display:none}.sidebar-link{border-radius:var(--radius-md);color:#ffffff80;width:100%;height:46px;transition:var(--transition);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;gap:12px;padding:0;text-decoration:none;display:flex;position:relative}.sidebar-link>svg{flex-shrink:0}.sidebar-link:hover{color:#fff;background:#ffffff14}.sidebar-link.active{background:var(--primary);color:var(--primary-ink);box-shadow:var(--lift-primary-hover)}.sidebar-link .tooltip{background:var(--grisprimary);color:#fff;border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--fontdemi);white-space:nowrap;pointer-events:none;opacity:0;z-index:200;box-shadow:var(--shadow-lg);padding:8px 14px;transition:all .15s;position:absolute;left:calc(100% + 14px);transform:translate(-4px)}.sidebar-link .tooltip:before{content:"";background:var(--grisprimary);width:8px;height:8px;position:absolute;top:50%;left:-4px;transform:translateY(-50%)rotate(45deg)}.sidebar-link:hover .tooltip{opacity:1;transform:translate(0)}.sidebar-sub{border-radius:var(--radius-sm);color:#ffffff73;cursor:default;justify-content:center;align-items:center;gap:10px;height:44px;margin-bottom:4px;padding:0 12px;display:flex}.sidebar-sub-dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:8px;height:8px}.sidebar-sub.pronto .sidebar-sub-dot{background:var(--warning)}.sidebar-sub.vencida .sidebar-sub-dot{background:var(--danger);animation:1.6s ease-in-out infinite subLate}@keyframes subLate{0%,to{opacity:1}50%{opacity:.35}}.sidebar-sub-text{flex-direction:column;gap:1px;min-width:0;display:none}.sidebar-sub-text strong{font-family:var(--fontdemi);font-size:var(--text-sm);color:#ffffffb8;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-sub-text em{font-style:normal;font-size:var(--text-xs);color:#fff6}.sidebar-sub.pronto .sidebar-sub-text em{color:var(--warning)}.sidebar-sub.vencida .sidebar-sub-text em{color:var(--danger)}.sidebar-bottom{border-top:1px solid #ffffff12;width:100%;padding:8px 12px 0}.sidebar-toggle{color:#ffffff59}.sidebar-link.logout{color:#f87171}.sidebar-link.logout:hover{color:#fca5a5;background:#ef44441f}.sidebar-backdrop{z-index:99;background:#0f172a73;position:fixed;inset:0}.app-layout.nav-wide .sidebar-brand,.app-layout.nav-wide .sidebar-group-title{display:block}.app-layout.nav-wide .sidebar-sub-text{display:flex}.app-layout.nav-wide .sidebar-sub{justify-content:flex-start}.app-layout.nav-wide .sidebar-link{justify-content:flex-start;padding:0 13px}.app-layout.nav-wide .sidebar-link .tooltip{opacity:1;box-shadow:none;font-family:var(--fontdemi);font-size:var(--text-base);text-overflow:ellipsis;background:0 0;padding:0;position:static;overflow:hidden;transform:none}.app-layout.nav-wide .sidebar-link .tooltip:before{display:none}@media (width<=1200px){.sidebar,.app-layout.nav-wide .sidebar{align-items:stretch;width:250px;transition:transform .22s;transform:translate(-100%)}.sidebar.open,.app-layout.nav-wide .sidebar.open{box-shadow:var(--shadow-xl);transform:none}.sidebar-brand,.sidebar-group-title{display:block}.sidebar-sub-text{display:flex}.sidebar-sub{justify-content:flex-start}.sidebar-link{justify-content:flex-start;padding:0 13px}.sidebar-link:hover{transform:none}.sidebar-link .tooltip{opacity:1;box-shadow:none;font-size:var(--text-base);background:0 0;padding:0;position:static;transform:none}.sidebar-link .tooltip:before,.sidebar-toggle{display:none}}.app-layout{--nav-w:var(--sidebar-width);width:100vw;height:100vh;display:flex}.app-layout.nav-wide{--nav-w:236px}.app-main{margin-left:var(--nav-w);flex-direction:column;flex:1;transition:margin-left .18s;display:flex;overflow:hidden}.app-header{height:var(--header-height);background:var(--bg-glass);-webkit-backdrop-filter:var(--blur-glass);border-bottom:1px solid var(--border-subtle);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 28px;display:flex}.app-header-left{align-items:center;gap:12px;display:flex}.app-menu-btn{width:var(--tap);height:var(--tap);border-radius:var(--radius-sm);color:var(--gris-one);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;margin-left:-8px;display:none}.app-menu-btn:hover{background:var(--primary-light);color:var(--primary)}.app-fullscreen-btn{width:var(--tap);height:var(--tap);border-radius:var(--radius-sm);color:var(--gris-two);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.app-fullscreen-btn:hover{background:var(--primary-light);color:var(--primary)}.app-header-title{font-family:var(--fontbold);font-size:var(--text-xl);color:var(--grisprimary);letter-spacing:-.02em}.app-header-right{align-items:center;gap:16px;display:flex}.user-badge{background:var(--bg-card);border-radius:var(--radius-full);font-size:var(--text-base);font-family:var(--fontdemi);color:var(--gris-one);transition:var(--transition-fast);border:1px solid var(--border-subtle);box-shadow:var(--shadow-xs);align-items:center;gap:10px;padding:5px 16px 5px 5px;display:flex}.user-badge:hover{border-color:var(--primary-glow);box-shadow:var(--shadow-sm)}.user-avatar{background:var(--primary);width:32px;height:32px;color:var(--primary-ink);font-size:var(--text-xs);font-family:var(--fontbold);box-shadow:var(--lift-primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.app-content{flex:1;overflow:hidden}@media (width<=1200px){.app-main{margin-left:0}.app-menu-btn{display:flex}.app-header{padding:0 16px}.user-badge{box-shadow:none;background:0 0;border:none;gap:0;padding:4px;font-size:0}}.env-badge{border:var(--stroke) solid var(--warning);border-radius:var(--radius-full);background:var(--warning-light);color:var(--warning-dark);font-family:var(--fontbold);font-size:var(--text-xs);letter-spacing:.06em;white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;padding:4px 10px;display:inline-flex}.env-badge.danger{border-color:var(--danger);background:var(--danger-light);color:var(--danger-dark)}.login-page{background:var(--bg-warm);height:100dvh}.login-shell{gap:var(--space-5);height:100%;padding:var(--space-5);background:0 0;display:flex}.login-page{position:relative}.login-admin-corner{top:var(--space-5);right:var(--space-5);z-index:2;justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space-4);border:var(--stroke) solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-card);color:var(--gris-one);font-family:var(--fontdemi);font-size:var(--text-sm);cursor:pointer;box-shadow:var(--shadow-xs);transition:var(--transition-fast);display:inline-flex;position:absolute}.login-admin-corner:hover{color:var(--primary);border-color:var(--primary);box-shadow:var(--shadow-sm)}.login-soporte{right:var(--space-5);bottom:var(--space-5);z-index:3;justify-content:flex-end;align-items:flex-end;gap:var(--space-3);display:flex;position:absolute}.login-soporte-boton{border:var(--stroke) solid var(--border-color);background:var(--bg-card);width:56px;height:56px;color:var(--primary);cursor:pointer;box-shadow:var(--shadow-lg);transition:var(--transition-spring);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.login-soporte-boton:hover{border-color:var(--primary);box-shadow:var(--shadow-xl)}.login-soporte-boton.abierto{color:var(--gris-one)}.login-soporte-globo{max-width:190px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--bg-card);border:var(--stroke) solid var(--border-color);color:var(--gris-two);font-size:var(--text-sm);box-shadow:var(--shadow-md);line-height:1.3;animation:.4s cubic-bezier(.22,1,.36,1) both soporteGlobo}.login-soporte-globo>b{font-family:var(--fontbold);font-weight:400;font-size:var(--text-md);color:var(--grisprimary);display:block}@keyframes soporteGlobo{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.login-soporte-panel{right:0;bottom:calc(56px + var(--space-3));width:min(320px, calc(100vw - var(--space-5) * 2));border-radius:var(--radius-lg);background:var(--bg-card);border:var(--stroke) solid var(--border-color);box-shadow:var(--shadow-xl);transform-origin:100% 100%;animation:.28s cubic-bezier(.22,1,.36,1) both soportePanel;position:absolute;overflow:hidden}@keyframes soportePanel{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.login-soporte-cabecera{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--primary);color:var(--primary-ink);display:flex}.login-soporte-cabecera-icono{background:#0e20181f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.login-soporte-cabecera strong{font-family:var(--fontbold);font-size:var(--text-lg);line-height:1.2;display:block}.login-soporte-cabecera>div>span{font-size:var(--text-sm);opacity:.75;margin-top:3px;line-height:1.4;display:block}.login-soporte-cabecera b{font-family:var(--fontdemi);font-weight:400}.login-soporte-cuerpo{gap:var(--space-2);padding:var(--space-4);flex-direction:column;display:flex}.login-soporte-contacto{align-items:center;gap:var(--space-3);padding:var(--space-3);border-left:3px solid var(--primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--gris-f2);transition:var(--transition-fast);text-decoration:none;display:flex}.login-soporte-contacto:hover{background:var(--primary-light)}.login-soporte-avatar{background:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex;overflow:hidden}.login-soporte-avatar>img{width:52%;height:auto;display:block}.login-soporte-quien{flex:1;min-width:0}.login-soporte-quien>strong{font-family:var(--fontdemi);font-size:var(--text-md);color:var(--grisprimary);display:block}.login-soporte-quien>span{font-size:var(--text-sm);color:var(--gris-two);display:block}.login-soporte-ir{background:var(--bg-card);width:36px;height:36px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.login-soporte-estado{font-family:var(--fontdemi);color:var(--warning-dark)!important}.login-soporte-estado.activo{color:var(--green-one)!important}.login-soporte-espera{margin:0 0 var(--space-1);font-size:var(--text-sm);color:var(--gris-two);line-height:1.4}@media (width<=620px){.login-admin-corner{width:var(--tap);padding:0}.login-admin-corner>span,.login-soporte-globo{display:none}}.login-cover{width:40%;min-width:360px;padding:var(--space-8);border-radius:var(--radius-xl);background:var(--bg-sidebar);color:var(--bg-card);box-shadow:var(--shadow-lg);flex-direction:column;flex-shrink:0;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.login-cover-photo{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.login-cover-art{position:absolute;inset:0}.login-cover-art:before{content:"";background:radial-gradient(90% 60% at 80% 0%, #00d08173 0%, transparent 60%), radial-gradient(70% 50% at 0% 100%, #0ea5e947 0%, transparent 60%), linear-gradient(160deg, rgba(var(--bg-sidebar-rgb), .55) 0%, rgba(var(--bg-sidebar-rgb), .92) 70%);position:absolute;inset:0}.login-cover-art:after{content:"";background-image:radial-gradient(circle at 1px 1px,#ffffff17 1px,#0000 0);background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 50% 35%,#000 20%,#0000 70%);mask-image:radial-gradient(at 50% 35%,#000 20%,#0000 70%)}.login-cover.has-photo .login-cover-art:before{background:radial-gradient(80% 50% at 85% 0%, #00d08138 0%, transparent 60%), linear-gradient(to top, rgba(var(--bg-sidebar-rgb), .94) 0%, rgba(var(--bg-sidebar-rgb), .72) 32%, rgba(var(--bg-sidebar-rgb), .28) 62%, rgba(var(--bg-sidebar-rgb), .12) 100%)}.login-cover.has-photo .login-cover-art:after{content:none}.login-cover-media{pointer-events:none;-webkit-user-select:none;user-select:none;width:min(84%,440px);animation:.7s cubic-bezier(.22,1,.36,1) both coverIn;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}@keyframes coverIn{0%{opacity:0;transform:translate(-50%,-46%)scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.login-cover-bottom{position:relative}.login-cover-bottom h2{font-family:var(--fontextrabold);font-size:var(--text-4xl);letter-spacing:-1px;margin:0 0 var(--space-3);max-width:14ch;line-height:1.15}.login-cover-bottom p{font-size:var(--text-md);color:#ffffff8c;max-width:34ch;margin:0;line-height:1.55}.login-main{align-items:center;gap:var(--space-6);min-width:0;padding:var(--space-6);--halo:radial-gradient(circle 310px at 50% 220px, #00d08112 0%, transparent 65%);background:0 0;flex-direction:column;flex:1;display:flex;position:relative;overflow-y:auto}.login-col{gap:var(--space-4);flex-direction:column;width:100%;max-width:372px;margin-block:auto;animation:.4s cubic-bezier(.22,1,.36,1) colIn;display:flex;position:relative}.login-greet{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.login-greet-mark{width:34px;height:34px;margin-bottom:var(--space-2);border-radius:var(--radius-md);background:var(--primary);justify-content:center;align-items:center;display:flex}.login-greet h1{font-family:var(--fontextrabold);font-size:var(--text-3xl);letter-spacing:-.8px;color:var(--grisprimary);margin:0;line-height:1.15}@keyframes colIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-col.shake{animation:.45s shakeX}@keyframes shakeX{0%,to{transform:translate(0)}15%,55%,95%{transform:translate(-5px)}35%,75%{transform:translate(5px)}}.login-head{text-align:center;margin-top:var(--space-4)}.login-eyebrow{font-family:var(--fontdemi);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.14em;color:var(--primary);margin-bottom:6px;display:block}.login-head h1{font-family:var(--fontextrabold);font-size:var(--text-3xl);letter-spacing:-.8px;color:var(--grisprimary);overflow-wrap:anywhere;margin:0 0 6px;line-height:1.2}.login-head h2{font-family:var(--fontdemi);font-size:var(--text-lg);color:var(--gris-one);overflow-wrap:anywhere;margin:0;line-height:1.3}.login-head p{font-size:var(--text-md);color:var(--gris-two);margin:0;line-height:1.5}.login-head p strong{font-family:var(--fontdemi);color:var(--gris-one)}.login-change-tenant{margin-top:calc(var(--space-2) * -1);cursor:pointer;font-family:var(--fontdemi);font-size:var(--text-sm);color:var(--gris-two);transition:var(--transition-fast);background:0 0;border:none;justify-content:center;align-self:center;align-items:center;gap:6px;padding:4px;display:inline-flex}.login-change-tenant:hover{color:var(--primary)}.login-change-tenant{min-height:28px}@media (pointer:coarse){.login-change-tenant{min-height:var(--tap)}}.login-form{gap:var(--space-3);flex-direction:column;display:flex}.login-error{background:var(--danger-light);color:var(--danger);border-radius:var(--radius-sm);font-family:var(--fontdemi);font-size:var(--text-base);text-align:center;border:1px solid #ef44442e;padding:10px 14px;animation:.2s errorIn}@keyframes errorIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.login-note{text-align:center;font-size:var(--text-sm);color:var(--gris-two);margin:0;line-height:1.5}.link-btn{cursor:pointer;font-family:var(--fontdemi);font-size:var(--text-sm);color:var(--primary);transition:var(--transition-fast);background:0 0;border:none;align-self:center;padding:0}.link-btn:hover{color:var(--primary-hover)}.user-picker{justify-content:safe center;gap:var(--space-2);scroll-snap-type:x proximity;scrollbar-width:none;flex-wrap:nowrap;margin:-12px 0;padding:12px 0;display:flex;overflow-x:auto}.user-picker::-webkit-scrollbar{display:none}.user-chip{scroll-snap-align:start;width:78px;padding:var(--space-3) var(--space-1);border:var(--stroke) solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-card);box-shadow:var(--shadow-card);cursor:pointer;transition:var(--transition-fast);flex-direction:column;flex:none;align-items:center;gap:7px;display:flex;position:relative}.user-chip:hover{border-color:var(--gris-two);transform:translateY(-2px)}.user-chip.active{border-color:var(--primary);background:var(--primary-light);box-shadow:0 6px 18px -8px var(--primary)}.user-avatar{background:var(--primary-light);width:46px;height:46px;color:var(--primary);font-family:var(--fontbold);font-size:var(--text-lg);letter-spacing:.3px;transition:var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.user-chip.active .user-avatar{background:var(--primary);color:var(--primary-ink)}.user-name{max-width:100%;font-family:var(--fontdemi);font-size:var(--text-xs);color:var(--grisprimary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-chip-other .user-avatar{border:1.5px dashed var(--gris-tree);color:var(--gris-two);background:0 0}.user-drop{background:var(--bg-card);border:var(--stroke-control) solid var(--gris-tree);width:22px;height:22px;color:var(--gris-two);box-shadow:var(--shadow-xs);opacity:0;transition:var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:-7px;right:-7px;transform:scale(.8)}.user-drop:after{content:"";position:absolute;inset:-11px}.user-chip:hover .user-drop,.user-chip:focus-within .user-drop{opacity:1;transform:scale(1)}.user-drop:hover{border-color:var(--danger);color:var(--danger)}@media (pointer:coarse){.user-chip.active .user-drop{opacity:1;transform:scale(1)}}.pin-dots{justify-content:center;align-items:center;gap:var(--space-3);height:26px;display:flex}.pin-dot{border:2px solid var(--gris-tree);width:13px;height:13px;transition:var(--transition-spring);background:0 0;border-radius:50%}.pin-dot.filled{border-color:var(--primary);background:var(--primary);transform:scale(1.15);box-shadow:0 0 0 5px #00d0811f}.pin-dots.error .pin-dot{border-color:var(--danger);box-shadow:none;background:0 0}.pin-spinner{color:var(--primary)}.pin-message{min-height:22px;margin:calc(var(--space-3) * -1) 0 0;text-align:center;font-family:var(--fontdemi);font-size:var(--text-lg);color:var(--grisprimary)}.pin-message.error{color:var(--danger);font-family:var(--fontdemi)}.keypad{--key-h:62px;--key-gap:var(--space-2);gap:var(--key-gap);width:100%;max-width:calc(var(--key-h) * 1.3 * 3 + var(--key-gap) * 2);grid-template-columns:repeat(3,1fr);margin:0 auto;display:grid}.key{height:var(--key-h);font-size:calc(var(--key-h) * .42);border:var(--stroke-control) solid var(--gris-tree);border-radius:var(--radius-full);background:var(--bg-card);color:var(--grisprimary);font-family:var(--fontbold);letter-spacing:-.5px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;box-shadow:var(--shadow-card);transition:var(--transition-fast);justify-content:center;align-items:center;display:flex}.key:hover:not(:disabled){border-color:var(--primary);color:var(--primary);box-shadow:var(--shadow-card-hover)}.key:active:not(:disabled){background:var(--primary-light);border-color:var(--primary);transform:scale(.94)}.key-muted{color:var(--gris-one);background:var(--gris-f2);font-size:var(--text-lg);border-color:#0000}.key:disabled{opacity:.45;cursor:not-allowed}@media (width<=1180px){.login-cover{padding:var(--space-6)}.login-cover-bottom h2{font-size:var(--text-3xl)}}@media (width<=900px){.login-cover{display:none}.login-shell{gap:0;padding:0}}.login-cover-bottom h2,.login-cover-bottom p{animation:.45s cubic-bezier(.22,1,.36,1) slideIn}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.login-cover-dots{right:var(--space-8);bottom:var(--space-8);gap:10px;display:flex;position:absolute}.login-cover-dot{border-radius:var(--radius-full);cursor:pointer;width:22px;height:4px;transition:var(--transition-fast);background:#ffffff47;border:none;padding:0;position:relative}.login-cover-dot:after{content:"";position:absolute;inset:-20px -5px}.login-cover-dot.active{background:#fff;width:30px}.login-col{align-items:stretch}.login-greet{text-align:left;align-items:flex-start}.login-head{text-align:left}.login-greet-mark{width:62px;height:62px;margin-bottom:var(--space-3);background:var(--primary);box-shadow:var(--lift-primary);border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden}.login-greet-mark>img{width:52%;height:auto;display:block}.login-greet{text-align:center;align-items:center;gap:4px}.login-greet h1{font-size:var(--text-3xl);letter-spacing:-.8px;overflow-wrap:anywhere}.login-greet-saludo{font-family:var(--fontdemi);font-size:var(--text-md);color:var(--primary);margin:2px 0 0}.login-greet-sub{justify-content:center;align-items:baseline;gap:0 var(--space-2);margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--gris-two);flex-wrap:wrap;display:flex}.login-greet-sub>*+:before{content:"·";margin-right:var(--space-2);color:var(--gris-tree)}.key{border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:none}.key-muted{background:var(--primary-light);color:var(--primary);box-shadow:none}.login-cover-bottom h2 em{color:var(--primary);font-style:normal}.keypad{--key-h:72px;--key-gap:var(--space-3)}.key{box-shadow:var(--shadow-md)}.key:active:not(:disabled){box-shadow:none}.pin-dots{gap:var(--space-4);height:30px}.login-main{background:var(--halo), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e293b' stroke-opacity='0.07' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12c3-4 7-6 11-6 5 0 9 3 9 6s-4 6-9 6c-4 0-8-2-11-6Z M17.5 10.5h.01'/%3E%3C/svg%3E") no-repeat 7% 9% / 56px 56px, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e293b' stroke-opacity='0.05' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.5 19 2c1 2 2 4.2 2 8 0 5.5-4.8 10-10 10Z M2 21c0-3 1.9-5.4 5.1-6C9.5 14.5 12 13 13 12'/%3E%3C/svg%3E") no-repeat 27% 5% / 40px 40px, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e293b' stroke-opacity='0.07' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 2v6a2 2 0 0 0 4 0V2M6 10v12M18 2c-2 1-3 4-3 7s1 4 3 4v9'/%3E%3C/svg%3E") no-repeat 93% 8% / 56px 56px, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e293b' stroke-opacity='0.05' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.5 19 2c1 2 2 4.2 2 8 0 5.5-4.8 10-10 10Z M2 21c0-3 1.9-5.4 5.1-6C9.5 14.5 12 13 13 12'/%3E%3C/svg%3E") no-repeat 4% 33% / 40px 40px, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e293b' stroke-opacity='0.05' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z M12 5V3 M12 5c2-2 5-1.5 6-.5'/%3E%3C/svg%3E") no-repeat 96% 26% / 48px 48px, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e293b' stroke-opacity='0.05' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20 20 4 M20 4c-1.5-1.5-4-1-6 1l-8 8 4 4 8-8c2-2 3.5-4.5 2-5Z'/%3E%3C/svg%3E") no-repeat 90% 48% / 40px 40px, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e293b' stroke-opacity='0.05' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 17h12v4H6z M6 17a4 4 0 0 1-1-7.9A5 5 0 0 1 12 4a5 5 0 0 1 7 5.1A4 4 0 0 1 18 17'/%3E%3C/svg%3E") no-repeat 6% 60% / 48px 48px, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e293b' stroke-opacity='0.05' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3c2.5 0 4 2.2 4 4.5S14.5 12 12 12s-4-2.2-4-4.5S9.5 3 12 3Z M12 12v9'/%3E%3C/svg%3E") no-repeat 97% 70% / 40px 40px, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e293b' stroke-opacity='0.07' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11a8 6 0 0 1 16 0Z M3 14h18 M4 17h16a4 4 0 0 1-4 4H8a4 4 0 0 1-4-4Z'/%3E%3C/svg%3E") no-repeat 9% 91% / 56px 56px, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e293b' stroke-opacity='0.07' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h18a9 9 0 0 1-18 0Z M7 8c0-2 3-2 3-4 M12 7c0-2 3-2 3-4'/%3E%3C/svg%3E") no-repeat 92% 93% / 56px 56px, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e293b' stroke-opacity='0.05' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 2v6a2 2 0 0 0 4 0V2M6 10v12M18 2c-2 1-3 4-3 7s1 4 3 4v9'/%3E%3C/svg%3E") no-repeat 30% 96% / 40px 40px}@media (width<=620px){.login-main{background-image:var(--halo);padding-inline:var(--space-6)}}@media (height<=800px),(width<=620px){.login-main{gap:var(--space-4);padding-block:var(--space-4)}.login-col{gap:var(--space-2)}.pin-message{margin-top:calc(var(--space-2) * -1)}.login-greet-mark{width:52px;height:52px;margin-bottom:var(--space-2)}.login-greet h1,.login-head h1{font-size:var(--text-2xl)}.keypad{--key-h:62px}.pin-dots{height:26px}.user-chip{padding:var(--space-2) var(--space-1)}.login-cover-media{width:min(70%,340px);top:36%}}@media (height<=700px),(width<=400px){.login-main{gap:var(--space-3);padding-block:var(--space-2)}.login-greet-mark{width:44px;height:44px}.login-greet h1,.login-head h1{font-size:var(--text-xl)}.login-greet-fecha{display:none}.keypad{--key-h:54px;--key-gap:var(--space-2)}.pin-dots{gap:var(--space-3);height:22px}}.modal-content.payment-modal{flex-direction:column;width:1040px;max-width:94vw;max-height:92vh;padding:0;display:flex;overflow:hidden}html.vk-open .modal-content.payment-modal{overflow:hidden}.payment-body{gap:var(--space-5);scrollbar-width:thin;min-height:0;padding:0 var(--space-5) var(--space-3);flex:auto;grid-template-columns:1fr 1fr;align-items:start;display:grid;overflow-y:auto}.payment-col{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}@media (width<=720px){.payment-body{gap:var(--space-3);grid-template-columns:1fr}}.payment-header{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5) var(--space-3);margin-bottom:var(--space-3);border-bottom:var(--stroke) solid var(--border-color);flex:none;display:flex}.payment-header h2{font-family:var(--fontbold);font-size:var(--text-lg);white-space:nowrap;align-items:center;gap:8px;display:flex}.payment-header-amounts{align-items:center;gap:20px;margin-left:auto;display:flex}.payment-amount{align-items:baseline;gap:8px;display:flex}.payment-amount span{font-size:var(--text-sm);color:var(--gris-two)}.payment-amount strong{font-family:var(--fontextrabold);font-size:var(--text-2xl);letter-spacing:-.5px;color:var(--grisprimary)}.payment-amount-change{border-left:1.5px solid var(--gris-tree);padding-left:20px}.payment-amount-change strong{color:var(--green-one)}.payment-close{width:var(--control-h-sm);height:var(--control-h-sm);background:var(--gris-f2);cursor:pointer;color:var(--gris-one);transition:var(--transition);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.payment-close:hover{background:var(--danger-light);color:var(--danger);transform:rotate(90deg)}.payment-total{background:var(--bg-app);border-radius:var(--radius-md);border:1px solid var(--border-subtle);justify-content:center;align-items:center;gap:20px;margin-bottom:16px;padding:14px 20px;display:flex}.payment-total-left,.payment-total-right{text-align:center}.payment-total-right{border-left:1.5px solid var(--gris-tree);padding-left:20px}.payment-total-label{font-size:var(--text-sm);color:var(--gris-two);margin-bottom:2px}.payment-total-amount{font-family:var(--fontextrabold);font-size:var(--text-2xl);color:var(--grisprimary);letter-spacing:-.5px;font-weight:800}.payment-change-amount{font-family:var(--fontextrabold);font-size:var(--text-2xl);color:var(--green-one);letter-spacing:-.5px;font-weight:800}.payment-name-input{color:var(--gris-two);align-items:center;gap:8px;display:flex}.payment-name-input .input{flex:1}.payment-section{margin-bottom:0}.payment-section-label{align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-family:var(--fontdemi);color:var(--gris-one);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-1);display:flex}.payment-default-chip{border-radius:var(--radius-full);background:var(--primary-light);color:var(--green-one);font-size:var(--text-xs);text-transform:none;letter-spacing:0;align-items:center;gap:6px;padding:2px 8px;display:inline-flex}.payment-default-chip button{color:inherit;font-family:var(--fontdemi);font-size:var(--text-xs);cursor:pointer;opacity:.75;background:0 0;border:none;border-left:1px solid #009e544d;padding:0 0 0 6px}.payment-default-chip button:hover{opacity:1}.payment-default-restore{color:var(--primary);font-family:var(--fontdemi);font-size:var(--text-xs);text-transform:none;letter-spacing:0;cursor:pointer;background:0 0;border:none;padding:0}.payment-default-restore:hover{color:var(--primary-hover)}.payment-methods-loading,.payment-methods-empty{border:1px dashed var(--gris-tree);border-radius:var(--radius-sm);color:var(--gris-two);font-size:var(--text-base);text-align:center;flex:1;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex}.payment-methods-empty{border-color:var(--warning);background:var(--warning-light);color:var(--warning-dark)}.payment-quick-amounts{gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.payment-quick-amounts button{min-height:var(--control-h);padding:0 var(--space-1);border:var(--stroke-control) solid var(--gris-tree);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--gris-one);font-family:var(--fontdemi);font-size:var(--text-md);cursor:pointer;transition:var(--transition-fast);flex:1}.payment-quick-amounts button:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.payment-quick-amounts button.exacto{border-color:var(--primary);color:var(--green-one);background:var(--primary-light);flex:1.3}.payment-opcional{font-family:var(--fontregularpro);font-size:var(--text-xs);color:var(--gris-two);text-transform:none;letter-spacing:0}.payment-required-note{margin-top:0;margin-bottom:var(--space-2);border-radius:var(--radius-sm);background:var(--warning-light);border:1px solid var(--warning);color:var(--warning-dark);font-size:var(--text-sm);text-align:center;padding:9px 14px}.payment-factura-note{border-radius:var(--radius-sm);background:var(--info-light);color:var(--info-dark);font-size:var(--text-sm);margin-bottom:10px;padding:8px 12px;line-height:1.45}.payment-customer-resume{border:1px solid var(--green-for);border-radius:var(--radius-sm);background:var(--primary-light);align-items:center;gap:12px;margin-top:18px;padding:12px 16px;display:flex}.payment-customer-resume>svg{color:var(--green-one);flex-shrink:0}.payment-customer-resume>div{flex-direction:column;min-width:0;display:flex}.payment-customer-resume strong{font-family:var(--fontdemi);font-size:var(--text-md);color:var(--grisprimary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.payment-customer-resume span{font-size:var(--text-sm);color:var(--green-one)}.payment-customer-resume>button{border:1px solid var(--green-two);border-radius:var(--radius-full);background:var(--bg-card);color:var(--green-one);font-family:var(--fontdemi);font-size:var(--text-sm);cursor:pointer;transition:var(--transition-fast);flex-shrink:0;margin-left:auto;padding:6px 14px}.payment-customer-resume>button:hover{background:var(--green-for)}.payment-submit-kbd{border-radius:var(--radius-sm);font-family:var(--fontdemi);font-size:var(--text-xs);opacity:.85;border:1px solid #ffffff59;margin-left:8px;padding:2px 8px}.payment-methods{scrollbar-width:thin;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.payment-method{border:var(--stroke-control) solid var(--gris-tree);border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;text-align:center;min-width:82px;transition:var(--transition);flex-direction:column;flex:1 0 0;align-items:center;gap:4px;padding:10px;display:flex}.payment-method:hover{border-color:var(--primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.payment-method.active{border-color:var(--primary);background:var(--primary-light);box-shadow:var(--lift-primary)}.payment-method span{font-family:var(--fontdemi);font-size:var(--text-sm);color:var(--gris-one)}.order-types{grid-auto-columns:1fr;grid-auto-flow:column;gap:8px;display:grid}.order-type{min-height:var(--control-h);border:var(--stroke-control) solid var(--gris-tree);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--gris-one);cursor:pointer;font-family:var(--fontdemi);font-size:var(--text-base);transition:var(--transition-fast);justify-content:center;align-items:center;gap:6px;padding:4px;display:flex}.order-type:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.order-type.active{border-color:var(--primary);background:var(--primary-light);color:var(--green-one)}.order-type:disabled{opacity:.45;cursor:not-allowed}.order-type-hint{font-size:var(--text-sm);color:var(--gris-two);margin-top:8px;line-height:1.45;display:block}.voucher-types{grid-auto-columns:1fr;grid-auto-flow:column;gap:8px;display:grid}.voucher-type{min-height:var(--control-h);border:var(--stroke-control) solid var(--gris-tree);border-radius:var(--radius-sm);cursor:pointer;text-align:center;font-family:var(--fontdemi);font-size:var(--text-sm);color:var(--gris-one);transition:var(--transition);background:#fff;justify-content:center;align-items:center;gap:6px;padding:4px;display:flex}.voucher-type:hover{border-color:var(--primary)}.voucher-type.active{border-color:var(--primary);background:var(--green-for);color:var(--green-one)}.payment-customer{grid-template-columns:auto 1fr;gap:10px;display:grid}.payment-customer.full{grid-template-columns:1fr}.payment-doc-input{align-items:center;display:flex;position:relative}.payment-doc-input .input{width:100%;padding-right:32px}.doc-lookup-spinner{color:var(--primary);animation:.8s linear infinite spin;position:absolute;right:10px}.doc-lookup-ok{color:var(--primary);position:absolute;right:10px}.doc-lookup-btn{border-radius:var(--radius-sm);background:var(--primary);width:28px;height:28px;color:var(--primary-ink);cursor:pointer;transition:var(--transition);border:none;justify-content:center;align-items:center;display:flex;position:absolute;right:4px}.doc-lookup-btn:hover{background:var(--green-one)}.payment-lookup-result{animation:.15s fadeIn}.payment-lookup-notfound{border:1px solid var(--warning);border-radius:var(--radius-sm);background:var(--warning-light);align-items:center;gap:10px;margin-top:8px;padding:10px 12px;display:flex}.payment-lookup-notfound>div{flex-direction:column;min-width:0;display:flex}.payment-lookup-notfound strong{font-family:var(--fontdemi);font-size:var(--text-sm);color:var(--warning-dark)}.payment-lookup-notfound span{font-size:var(--text-xs);color:var(--gris-two)}.payment-lookup-notfound button{min-height:var(--tap);border:1px solid var(--warning);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--warning-dark);font-family:var(--fontdemi);font-size:var(--text-sm);cursor:pointer;transition:var(--transition-fast);flex-shrink:0;margin-left:auto;padding:0 14px}.payment-lookup-notfound button:hover{background:var(--warning);color:#fff}.payment-customer-new{font-size:var(--text-xs);color:var(--primary);font-family:var(--fontdemi);align-items:center;gap:6px;margin-top:8px;display:flex}.payment-customer-fields{grid-template-columns:1fr;gap:8px;margin-top:8px;display:grid}.payment-row-pair{grid-template-columns:2fr 3fr;gap:16px;margin-bottom:0;display:grid}.payment-row-pair.single{grid-template-columns:1fr}.payment-amount-input{min-height:var(--control-h-lg);font-family:var(--fontbold);font-size:var(--text-xl);text-align:center}.payment-extras{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.payment-extra{min-height:var(--control-h);padding:var(--space-2) var(--space-3);border:var(--stroke-control) solid var(--gris-tree);border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;transition:var(--transition-fast);text-align:left;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.payment-extra:hover{border-color:var(--gris-two)}.payment-extra[aria-pressed=true]{border-color:var(--gris-one);background:var(--gris-f2)}.payment-extra-nombre{font-family:var(--fontdemi);font-size:var(--text-sm);color:var(--gris-one)}.payment-extra-valor{font-size:var(--text-xs);color:var(--gris-two)}.payment-extra.puesto{border-color:var(--primary);background:var(--primary-light)}.payment-extra.puesto .payment-extra-nombre{color:var(--green-one)}.payment-extra.puesto .payment-extra-valor{font-family:var(--fontbold);font-size:var(--text-md);color:var(--green-one)}.payment-extra-panel{gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-3);border:var(--stroke) solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-warm);scroll-margin-block:var(--space-4);display:grid}.payment-extra-fila{gap:var(--space-2);display:flex}.payment-extra-fila>.input:first-child{flex:1;min-width:0}.payment-extra-pin{text-align:center;letter-spacing:4px;flex:none;width:118px}.payment-extra-metodo{flex:none;width:160px}.payment-extra-nota{font-size:var(--text-xs);color:var(--gris-two);line-height:1.5}:root.vk-open .payment-footer .payment-submit{display:none}:root.vk-open .payment-footer:not(:has(.payment-required-note)){display:none}.payment-footer{padding:var(--space-3) var(--space-5) var(--space-4);background:var(--bg-card);flex:none;box-shadow:0 -8px 16px -8px #0f172a1f}.payment-submit{width:100%;min-height:var(--control-h-lg);padding:0 var(--space-3);border-radius:var(--radius-sm);background:var(--primary);color:var(--primary-ink);font-family:var(--fontbold);font-size:var(--text-lg);cursor:pointer;transition:var(--transition);box-shadow:var(--lift-primary-hover);border:none;justify-content:center;align-items:center;gap:8px;margin-top:0;display:flex}.payment-submit:hover{background:var(--primary-hover);box-shadow:var(--lift-primary-hover);transform:translateY(-1px)}.payment-submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.payment-table-pick{flex-direction:column;gap:6px;margin-top:10px;display:flex}@media (pointer:coarse){.payment-close{width:var(--control-h);height:var(--control-h)}.payment-customer-resume>button{min-height:var(--tap)}}.pos-page{height:100%;display:flex;overflow:hidden}.pos-products{flex-direction:column;flex:1;gap:14px;padding:16px 16px 16px 20px;display:flex;overflow:hidden}.pos-toolbar{--pos-bar-h:44px;align-items:center;gap:10px;display:flex}.pos-toolbar>*{height:var(--pos-bar-h);flex-shrink:0}.pos-search{flex:1;min-width:0;margin-right:auto;position:relative}.pos-search .search-icon{color:var(--gris-two);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.pos-search .input{border:var(--stroke-control) solid var(--gris-tree);border-radius:var(--radius-sm);width:100%;height:100%;font-family:var(--fontregularpro);font-size:var(--text-base);color:var(--grisprimary);background:var(--bg-card);transition:var(--transition-fast);box-sizing:border-box;outline:none;padding:0 36px 0 40px}.pos-search .input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.pos-search .input:hover:not(:focus){border-color:var(--gris-two)}.pos-search .input::placeholder{color:var(--gris-two)}.search-clear{background:var(--gris-f2);cursor:pointer;width:20px;height:20px;color:var(--gris-one);border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .12s;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.search-clear:hover{background:var(--gris-tree);color:var(--grisprimary)}.pos-view-toggle{border:var(--stroke-control) solid var(--gris-tree);border-radius:var(--radius-sm);display:flex;overflow:hidden}.view-btn{width:calc(var(--pos-bar-h) - 3px);cursor:pointer;height:100%;color:var(--gris-two);background:#fff;border:none;justify-content:center;align-items:center;transition:all .12s;display:flex}.view-btn:first-child{border-right:1px solid var(--gris-tree)}.view-btn.active{background:var(--primary);color:var(--primary-ink)}.view-btn:hover:not(.active){color:var(--grisprimary);background:var(--gris-f2)}.pos-categories-carousel{flex-shrink:0;align-items:center;gap:0;display:flex;position:relative}.cat-arrow{border:var(--stroke-control) solid var(--gris-tree);width:32px;height:32px;color:var(--gris-one);cursor:pointer;-webkit-tap-highlight-color:transparent;z-index:2;background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.cat-arrow:hover{border-color:var(--grisprimary);color:var(--grisprimary)}.cat-arrow-left{margin-right:6px}.cat-arrow-right{margin-left:6px}.pos-categories{scrollbar-width:none;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;flex:1;gap:12px;padding:4px 0;display:flex;overflow-x:auto}.pos-categories::-webkit-scrollbar{display:none}.cat-card{border:var(--stroke-control) solid var(--gris-tree);border-radius:var(--radius-md);background:var(--bg-card);cursor:pointer;white-space:nowrap;transition:var(--transition);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:4px;padding:10px 20px 8px;display:flex}.cat-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.cat-card:active{transform:scale(.96)}.cat-card.active{background:var(--primary-light);border-color:var(--primary);box-shadow:var(--lift-primary)}.cat-card-icon{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--primary);background:#ccf6e5;flex-shrink:0;justify-content:center;align-items:center;display:flex}.cat-card-name{font-family:var(--fontdemi);font-size:var(--text-sm);color:var(--grisprimary);text-align:center;line-height:1.2}.cat-card-count{font-size:var(--text-xs);font-family:var(--fontregularpro);color:var(--gris-two)}.pos-search-info{background:var(--gris-f2);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--gris-one);font-family:var(--fontregularpro);justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.pos-search-info strong{font-family:var(--fontdemi);color:var(--grisprimary)}.pos-search-info button{color:var(--primary);cursor:pointer;font-family:var(--fontdemi);font-size:var(--text-sm);background:0 0;border:none}.pos-back-btn{border:var(--stroke-control) solid var(--gris-tree);border-radius:var(--radius-sm);width:38px;height:38px;color:var(--gris-one);cursor:pointer;transition:var(--transition-fast);background:#fff;flex-shrink:0;justify-content:center;align-items:center;display:flex}.pos-back-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.pos-cat-home-header{color:var(--gris-one);font-family:var(--fontdemi);font-size:var(--text-base);flex-shrink:0;align-items:center;gap:8px;display:flex}.pos-cat-home-grid{scrollbar-width:thin;scrollbar-color:var(--gris-tree) transparent;flex:1;grid-template-columns:repeat(5,1fr);align-content:start;gap:10px;min-height:0;padding:2px;display:grid;overflow-y:auto}.pos-cat-home-card{border:var(--card-border);border-radius:var(--radius-md);background:var(--bg-card);cursor:pointer;transition:var(--transition);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;box-shadow:var(--shadow-card);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:16px 10px 14px;display:flex}.pos-cat-home-card:hover{border-color:var(--primary);box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}.pos-cat-home-card:active{transform:translateY(0)scale(.97)}.pos-cat-home-icon{border-radius:var(--radius-md);background:var(--primary-light);width:44px;height:44px;color:var(--primary);transition:var(--transition);box-shadow:var(--lift-primary);justify-content:center;align-items:center;display:flex}.pos-cat-home-card:hover .pos-cat-home-icon{background:var(--primary);color:var(--primary-ink);box-shadow:var(--lift-primary-hover)}.pos-cat-home-name{font-family:var(--fontdemi);font-size:var(--text-sm);color:var(--grisprimary);text-align:center;line-height:1.3}.pos-cat-home-count{font-size:var(--text-xs);color:var(--gris-two);font-family:var(--fontregularpro)}.pos-grid{grid-template-columns:repeat(var(--pos-cols,4), 1fr);grid-auto-rows:var(--pos-row-h,180px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--gris-tree) transparent;flex:1;align-content:start;gap:10px;min-height:0;padding:2px;display:grid;overflow-y:auto}.product-card{background:var(--bg-card);border-radius:var(--radius-md);cursor:pointer;border:var(--stroke) solid transparent;transition:var(--transition);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;min-height:0;box-shadow:var(--shadow-card);flex-direction:column;display:flex;position:relative;overflow:hidden}.product-card:hover{border-color:var(--primary-glow);box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}.product-card:active{transform:translateY(0)scale(.97)}.product-card.in-cart{background:#00d08108;border-color:#00d08140}.product-card.just-added{animation:.4s cardPulse}@keyframes cardPulse{0%{transform:scale(1)}30%{transform:scale(.95)}60%{transform:scale(1.02)}to{transform:scale(1)}}.product-card.unavailable{opacity:.4;pointer-events:none}.product-card-img{border-radius:var(--radius-sm);background-position:50%;background-repeat:no-repeat;background-size:cover;background-color:var(--gris-f2);min-height:0;color:var(--gris-two);flex:1;justify-content:center;align-items:center;margin:8px 8px 0;display:flex}.product-card-info{flex-direction:column;gap:2px;padding:8px 10px 0;display:flex}.product-card-name{font-family:var(--fontdemi);font-size:var(--text-sm);color:var(--grisprimary);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box;overflow:hidden}.product-card-price{font-family:var(--fontbold);font-weight:700;font-size:var(--text-lg);color:var(--grisprimary)}.product-card-badge{background:var(--primary);min-width:24px;height:24px;color:var(--primary-ink);font-size:var(--text-xs);border-radius:var(--radius-md);font-family:var(--fontbold);z-index:2;box-shadow:var(--lift-primary);justify-content:center;align-items:center;padding:0 7px;display:flex;position:absolute;top:8px;right:8px}.pos-grid-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-auto-rows:auto;gap:2px 8px}.pos-grid-list .product-card{border-radius:var(--radius-sm);min-height:auto;box-shadow:none;border-color:#0000;flex-direction:row;align-items:center;gap:10px;padding:6px 10px}.pos-grid-list .product-card:hover{box-shadow:none;background:var(--gris-f2);border-color:#0000;transform:none}.pos-grid-list .product-card:active{background:var(--primary-glow);transform:none}.pos-grid-list .product-card.in-cart{box-shadow:inset 2px 0 0 var(--primary)}.pos-grid-list .product-card-img{border-radius:var(--radius-sm);flex:none;width:34px;height:34px;min-height:auto;margin:0}.pos-grid-list .product-card-img svg{width:17px;height:17px}.pos-grid-list .product-card-info{flex-direction:row;flex:1;justify-content:space-between;align-items:baseline;gap:10px;min-width:0;padding:0}.pos-grid-list .product-card-name{-webkit-line-clamp:1;flex:1;min-width:0}.pos-grid-list .product-card-price{font-size:var(--text-base);font-variant-numeric:tabular-nums;flex:none}.pos-grid-list .product-card-badge{border-radius:var(--radius-sm);min-width:20px;height:20px;margin-left:auto;position:static}.pos-empty-products{color:var(--gris-two);flex-direction:column;grid-area:span 2/1/auto/-1;justify-content:center;align-items:center;gap:8px;padding:48px 20px;display:flex}.pos-empty-products p{font-size:var(--text-base);font-family:var(--fontregularpro);margin:0}.pos-empty-clear{color:var(--primary);font-family:var(--fontdemi);font-size:var(--text-base);cursor:pointer;background:0 0;border:none;margin-top:4px}.pos-order{background:var(--bg-card);border-left:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;width:480px;display:flex}.pos-order-header{border-bottom:1px solid var(--gris-f2);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.pos-order-title{color:var(--grisprimary);align-items:center;gap:8px;display:flex}.pos-order-title h3{font-family:var(--fontbold);font-size:var(--text-md);margin:0}.pos-order-count{background:var(--primary);color:var(--primary-ink);font-size:var(--text-xs);width:20px;height:20px;font-family:var(--fontbold);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.pos-order-clear{color:var(--danger);font-family:var(--fontdemi);font-size:var(--text-xs);cursor:pointer;border-radius:var(--radius-sm);background:#dc35450f;border:1px solid #dc354533;align-items:center;gap:4px;padding:5px 10px;transition:all .12s;display:flex}.pos-order-clear:hover{color:#fff;background:var(--danger);border-color:var(--danger)}.pos-order-items{scrollbar-width:thin;scrollbar-color:var(--gris-tree) transparent;flex:1;padding:8px 18px;overflow-y:auto}.pos-order-items::-webkit-scrollbar{width:3px}.pos-order-items::-webkit-scrollbar-thumb{background:var(--gris-tree);border-radius:var(--radius-sm)}.pos-order-empty{flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100%;padding:20px;display:flex}.empty-icon-wrap{background:var(--gris-f2);width:56px;height:56px;color:var(--gris-tree);border-radius:50%;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.empty-title{font-family:var(--fontdemi);font-size:var(--text-md);color:var(--gris-one);margin:0}.empty-sub{font-size:var(--text-sm);color:var(--gris-two);font-family:var(--fontregularpro);text-align:center;margin:0}.pos-shortcuts{flex-direction:column;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:flex}.pos-shortcuts li{font-size:var(--text-sm);color:var(--gris-two);align-items:center;gap:8px;display:flex}.pos-shortcuts kbd{border:var(--stroke-control) solid var(--gris-tree);border-radius:var(--radius-sm);background:var(--bg-card);min-width:42px;color:var(--gris-one);font-family:var(--fontdemi);font-size:var(--text-xs);text-align:center;border-bottom-width:2px;padding:3px 8px}.pos-notes-toggle{border:1px dashed var(--gris-tree);border-radius:var(--radius-sm);width:100%;color:var(--gris-two);font-family:var(--fontdemi);font-size:var(--text-sm);cursor:pointer;transition:var(--transition-fast);background:0 0;align-items:center;gap:6px;padding:8px 10px;display:flex}.pos-notes-toggle:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.order-item{border-bottom:1px solid var(--gris-f2);flex-direction:column;gap:6px;padding:10px 0;animation:.2s itemSlideIn;display:flex}@keyframes itemSlideIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.order-item:last-child{border-bottom:none}.order-item-top{align-items:center;gap:8px;display:flex}.order-item-thumb{border-radius:var(--radius-sm);background-position:50%;background-repeat:no-repeat;background-size:cover;background-color:var(--gris-f2);width:36px;height:36px;color:var(--gris-two);flex-shrink:0;justify-content:center;align-items:center;display:flex}.order-item-title{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.order-item-name{font-family:var(--fontdemi);font-size:var(--text-md);color:var(--grisprimary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.order-item-unit{font-size:var(--text-sm);color:var(--gris-two)}.order-item-remove{border:var(--stroke-control) solid transparent;cursor:pointer;color:var(--gris-two);transition:var(--transition-fast);border-radius:var(--radius-sm);background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.order-item-remove:hover{color:var(--danger);background:var(--danger-light);border-color:var(--danger-light)}.order-item-bottom{align-items:center;gap:8px;padding-left:48px;display:flex}.order-item-controls{border:var(--stroke-control) solid var(--gris-tree);border-radius:var(--radius-sm);background:var(--bg-card);flex-shrink:0;align-items:center;display:flex;overflow:hidden}.qty-btn{cursor:pointer;width:30px;height:30px;transition:var(--transition-fast);color:var(--gris-one);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.qty-btn:hover:not(:disabled){background:var(--primary-light);color:var(--primary)}.qty-btn:disabled{color:var(--gris-tree);cursor:not-allowed}.qty-btn-plus:hover:not(:disabled){background:var(--primary);color:var(--primary-ink)}.qty-value{text-align:center;font-family:var(--fontbold);font-size:var(--text-md);color:var(--grisprimary)}.qty-input{border:none;border-left:1.5px solid var(--gris-tree);border-right:1.5px solid var(--gris-tree);cursor:text;width:38px;height:30px;transition:var(--transition-fast);background:0 0;outline:none;padding:0}.qty-input:hover{background:var(--gris-f2)}.qty-input:focus{background:var(--primary-light);color:var(--primary)}.pos-search-qty{border-radius:var(--radius-full);background:var(--primary);color:var(--primary-ink);font-family:var(--fontbold);font-size:var(--text-xs);pointer-events:none;padding:2px 8px;position:absolute;right:42px}.order-item-subtotal{font-family:var(--fontbold);font-size:var(--text-md);color:var(--grisprimary);white-space:nowrap;text-align:right;flex-shrink:0}.order-item-note-btn{border:1.5px dashed var(--gris-tree);border-radius:var(--radius-sm);min-width:0;height:30px;color:var(--gris-two);font-family:var(--fontdemi);font-size:var(--text-sm);cursor:pointer;transition:var(--transition-fast);background:0 0;flex:1;align-items:center;gap:6px;padding:0 10px;display:flex}.order-item-note-btn span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.order-item-note-btn svg{flex-shrink:0}.order-item-note-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.order-item-note-btn.has-note{border-style:solid;border-color:var(--green-for);background:var(--primary-light);color:var(--green-one)}.note-modal-overlay{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.note-modal{background:var(--bg-card);border-radius:var(--radius-lg);width:440px;max-width:92vw;box-shadow:var(--shadow-xl);animation:.3s cubic-bezier(.34,1.56,.64,1) modalSlideUp;overflow:hidden}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.note-modal-header{border-bottom:1px solid var(--gris-f2);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.note-modal-title{align-items:center;gap:10px;display:flex}.note-modal-title svg{color:var(--primary)}.note-modal-title h4{font-family:var(--fontbold);font-size:var(--text-md);color:var(--grisprimary);margin:0}.note-modal-title span{font-family:var(--fontregularpro);font-size:var(--text-sm);color:var(--gris-two)}.note-modal-close{cursor:pointer;color:var(--gris-two);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:all .12s;display:flex}.note-modal-close:hover{color:var(--grisprimary);background:var(--gris-f2)}.note-modal-body{padding:16px 20px}.note-modal-loading{text-align:center;font-family:var(--fontregularpro);font-size:var(--text-base);color:var(--gris-two);padding:12px 0 18px}.note-modal-chips{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.note-chips-source{width:100%;font-family:var(--fontregularpro);font-size:var(--text-xs);color:var(--primary);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.note-chip{border-radius:var(--radius-lg);border:var(--stroke-control) solid var(--gris-tree);font-family:var(--fontregularpro);font-size:var(--text-sm);color:var(--gris-one);cursor:pointer;background:#fff;padding:5px 12px;transition:all .12s}.note-chip:hover{border-color:var(--primary);color:var(--primary)}.note-chip.active{border-color:var(--primary);background:var(--green-for);color:var(--green-one)}.note-modal-textarea{border:var(--stroke-control) solid var(--gris-tree);border-radius:var(--radius-sm);width:100%;min-height:70px;font-family:var(--fontregularpro);font-size:var(--text-base);color:var(--grisprimary);resize:vertical;box-sizing:border-box;outline:none;padding:10px 12px;transition:border-color .12s}.note-modal-textarea:focus{border-color:var(--primary)}.note-modal-textarea::placeholder{color:var(--gris-two);font-style:italic}.note-modal-footer{border-top:1px solid var(--gris-f2);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.note-modal-btn-clear{min-height:var(--control-h);border-radius:var(--radius-sm);border:var(--stroke-control) solid var(--gris-tree);font-family:var(--fontdemi);font-size:var(--text-base);color:var(--gris-one);cursor:pointer;background:#fff;padding:0 18px;transition:all .12s}.note-modal-btn-clear:hover{border-color:var(--danger);color:var(--danger)}.note-modal-btn-save{min-height:var(--control-h);border-radius:var(--radius-sm);background:var(--primary);font-family:var(--fontdemi);font-size:var(--text-base);color:var(--primary-ink);cursor:pointer;transition:var(--transition);box-shadow:var(--lift-primary);border:none;padding:0 24px}.note-modal-btn-save:hover{background:var(--primary-hover);box-shadow:var(--lift-primary-hover)}.pos-order-footer{border-top:1px solid var(--gris-f2);padding:14px 18px}.pos-order-notes{margin-bottom:12px}.notes-label{font-size:var(--text-xs);font-family:var(--fontdemi);color:var(--gris-two);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:4px;margin-bottom:4px;display:flex}.pos-order-notes textarea{border:var(--stroke-control) solid var(--gris-tree);border-radius:var(--radius-sm);width:100%;font-family:var(--fontregularpro);font-size:var(--text-sm);resize:none;color:var(--grisprimary);box-sizing:border-box;outline:none;height:40px;padding:8px 10px;transition:border-color .15s}.pos-order-notes textarea:focus{border-color:var(--primary)}.pos-order-totals{flex-direction:column;gap:5px;margin-bottom:14px;display:flex}.pos-total-row{font-size:var(--text-sm);color:var(--gris-one);font-family:var(--fontregularpro);justify-content:space-between;display:flex}.pos-total-row.grand{font-family:var(--fontbold);font-size:var(--text-lg);color:var(--grisprimary);padding-top:var(--space-2);border-top:var(--stroke-control) solid var(--gris-tree);margin-top:var(--space-1)}.pos-total-row.grand.provisional{color:var(--gris-two)}.pos-total-aviso{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--gris-two);font-family:var(--fontregularpro)}.pos-total-aviso.alerta{color:var(--warning-dark)}.pos-pay-btn{border-radius:var(--radius-sm);background:var(--primary);width:100%;color:var(--primary-ink);font-family:var(--fontbold);font-weight:700;font-size:var(--text-md);cursor:pointer;transition:var(--transition);box-shadow:var(--lift-primary-hover);border:none;justify-content:center;align-items:center;gap:8px;padding:14px;display:flex;position:relative}.pos-pay-btn:hover{background:var(--primary-hover);box-shadow:var(--lift-primary-hover);transform:translateY(-1px)}.pos-pay-btn:active{transform:translateY(0)scale(.98)}.pos-pay-btn:disabled{opacity:.5;cursor:not-allowed}.pay-arrow{opacity:.6;position:absolute;right:14px}.note-scope{gap:8px;padding:0 20px 4px;display:flex}.note-scope-btn{min-height:var(--control-h-sm);border:var(--stroke-control) solid var(--gris-tree);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--gris-one);font-family:var(--fontdemi);font-size:var(--text-sm);cursor:pointer;transition:var(--transition-fast);flex:1;padding:0 8px}.note-scope-btn:hover{border-color:var(--primary);color:var(--primary)}.note-scope-btn.active{border-color:var(--primary);background:var(--primary-light);color:var(--green-one)}.pos-adding-banner{background:var(--warning-light);border-bottom:1px solid var(--warning);color:var(--warning-dark);align-items:center;gap:10px;padding:10px 14px;display:flex}.pos-adding-banner>svg{flex-shrink:0}.pos-adding-banner>div{flex-direction:column;min-width:0;display:flex}.pos-adding-banner strong{font-family:var(--fontdemi);font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pos-adding-banner span{font-size:var(--text-xs);opacity:.85}.pos-adding-banner button{border:1px solid var(--warning);border-radius:var(--radius-full);background:var(--bg-card);color:var(--warning-dark);font-family:var(--fontdemi);font-size:var(--text-sm);cursor:pointer;flex-shrink:0;margin-left:auto;padding:5px 12px}.pos-adding-banner button:hover{background:var(--warning);color:#fff}.pos-adding-banner.table{background:var(--primary-light);border-bottom-color:var(--primary);color:var(--primary)}.pos-adding-banner.table button{border-color:var(--primary);color:var(--primary)}.pos-adding-banner.table button:hover{background:var(--primary);color:var(--primary-ink)}.pos-tables-btn{border:var(--stroke-control) solid var(--primary);border-radius:var(--radius-sm);background:var(--primary-light);color:var(--primary);font-family:var(--fontdemi);font-size:var(--text-base);white-space:nowrap;cursor:pointer;transition:var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;gap:7px;padding:0 16px;display:flex}.pos-tables-btn:hover{background:var(--primary);color:var(--primary-ink)}@media (width<=900px){.pos-tables-btn span{display:none}.pos-tables-btn{padding:0 12px}}.pos-open-btn{border:var(--stroke-control) solid var(--gris-tree);border-radius:var(--radius-sm);background:var(--bg-card);width:100%;color:var(--gris-one);font-family:var(--fontdemi);font-size:var(--text-md);cursor:pointer;transition:var(--transition-fast);justify-content:center;align-items:center;gap:8px;padding:12px;display:flex}.pos-open-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.pos-action-buttons{gap:8px;display:flex}.pos-action-buttons>*{min-height:var(--tap);white-space:nowrap}.pos-action-buttons .pos-open-btn,.pos-action-buttons .pos-courtesy-btn{flex:none;justify-content:center;width:auto;padding-inline:14px}.pos-action-buttons .pos-pay-btn{flex:1;min-width:0}.pos-action-buttons .pos-pay-btn:not(:only-child) .pay-arrow{display:none}.pos-courtesy-btn{border:var(--stroke-control) solid var(--warning);border-radius:var(--radius-sm);color:var(--warning);font-family:var(--fontbold);font-weight:700;font-size:var(--text-base);cursor:pointer;transition:var(--transition);white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:14px 16px;display:flex}.pos-courtesy-btn:hover{background:var(--warning);color:#fff}.courtesy-pin-modal{background:var(--bg-card);border-radius:var(--radius-md);width:100%;max-width:400px;overflow:hidden;box-shadow:0 24px 48px #0006}.courtesy-pin-header{border-bottom:1px solid var(--gris-tree);color:var(--warning);align-items:center;gap:10px;padding:18px 20px;display:flex}.courtesy-pin-header h3{font-size:var(--text-lg);color:var(--grisprimary);flex:1;margin:0}.courtesy-pin-body{flex-direction:column;gap:18px;padding:20px;display:flex}.courtesy-field label{font-size:var(--text-sm);color:var(--gris-two);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-weight:600;display:block}.courtesy-pin-section{text-align:center}.courtesy-pin-section label{font-size:var(--text-sm);color:var(--gris-two);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-weight:600;display:block}.courtesy-pin-hint{font-size:var(--text-sm);color:var(--gris-two);margin:0 0 14px}.courtesy-pin-inputs{justify-content:center;gap:12px;display:flex}.courtesy-pin-digit{border:var(--stroke-control) solid var(--gris-tree);border-radius:var(--radius-sm);background:var(--bg-card);width:52px;height:58px;color:var(--grisprimary);font-size:var(--text-2xl);text-align:center;outline:none;font-weight:700;transition:border-color .2s}.courtesy-pin-digit:focus{border-color:var(--warning);box-shadow:0 0 0 3px #f59e0b26}.courtesy-pin-digit.error{border-color:var(--danger);animation:.3s shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.courtesy-pin-error{color:var(--danger);font-size:var(--text-base);margin:10px 0 0}.courtesy-pin-footer{border-top:1px solid var(--gris-tree);justify-content:flex-end;gap:10px;padding:16px 20px;display:flex}.courtesy-confirm-btn{background:var(--warning)!important}.courtesy-confirm-btn:hover{background:var(--warning-dark)!important}@media (width<=1366px){.pos-products{gap:10px;padding:12px 12px 12px 14px}.pos-grid{gap:8px}.pos-order{width:400px}.pos-cat-home-grid{grid-template-columns:repeat(4,1fr)}.cat-card{padding:8px 14px 6px}.cat-card-icon{border-radius:var(--radius-sm);width:32px;height:32px}.cat-card-name,.cat-card-count{font-size:var(--text-xs)}}@media (width<=1024px){.pos-products{gap:8px;padding:10px}.pos-order-header{padding:10px 14px}.pos-order-title h3{font-size:var(--text-md)}.pos-order-items{padding:6px 14px}.pos-order-footer{padding:10px 14px}.pos-grid{gap:6px}.product-card-img{margin:6px 6px 0}.product-card-info{padding:6px 8px 0}.product-card-name{font-size:var(--text-xs)}.product-card-price{font-size:var(--text-md)}.pos-pay-btn{font-size:var(--text-md);padding:12px}.pos-courtesy-btn{font-size:var(--text-sm);padding:12px}.pos-total-row.grand{font-size:var(--text-md)}.order-item-name{font-size:var(--text-sm)}.order-item-unit{font-size:var(--text-xs)}.order-item-subtotal{font-size:var(--text-base)}.qty-value{font-size:var(--text-sm)}.qty-btn{width:22px;height:22px}.order-item-thumb{border-radius:var(--radius-sm);width:30px;height:30px}.order-item-bottom{padding-left:38px}.pos-cat-home-grid{grid-template-columns:repeat(3,1fr);gap:8px}.pos-cat-home-card{padding:12px 8px 10px}.pos-cat-home-icon{width:38px;height:38px}.pos-cat-home-name{font-size:var(--text-xs)}.pos-toolbar{--pos-bar-h:40px}.pos-search .input{font-size:var(--text-sm);padding:0 32px 0 36px}.pos-search .search-icon{left:12px}.pos-order-notes textarea{height:32px;font-size:var(--text-xs);padding:6px 8px}}@media (width<=900px){.pos-order{width:320px}.pos-action-buttons{flex-direction:column}.pos-action-buttons>*{flex:none}.pos-order-header{padding:8px 12px}.pos-order-items{padding:4px 12px}.pos-order-footer{padding:8px 12px}.pos-pay-btn{font-size:var(--text-base);padding:10px}.pos-courtesy-btn{font-size:var(--text-xs);padding:10px}.pos-total-row{font-size:var(--text-xs)}.pos-total-row.grand{font-size:var(--text-md)}.order-item{gap:4px;padding:8px 0}.order-item-name,.order-item-subtotal{font-size:var(--text-xs)}.pos-order-notes{margin-bottom:8px}.pos-order-totals{gap:3px;margin-bottom:10px}.cat-card{gap:2px;padding:6px 12px 5px}.cat-card-icon{width:28px;height:28px}.pos-categories{gap:8px}}.order-item-combo-icon{color:var(--primary);vertical-align:-1px;margin-left:4px}.order-item-combo-tags{flex-wrap:wrap;gap:4px;padding:0 12px 8px;display:flex}.combo-sel-tag{background:var(--gris-f2);border-radius:var(--radius-md);font-family:var(--fontregularpro);font-size:var(--text-xs);color:var(--gris-one);align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.combo-sel-tag .combo-extra{font-family:var(--fontdemi);color:var(--primary);font-size:var(--text-xs)}.combo-modal-overlay{z-index:1100}.combo-selection-modal{border-radius:var(--radius-lg);flex-direction:column;width:460px;max-width:95vw;max-height:85vh;padding:0;display:flex;overflow:hidden}.combo-sel-header{border-bottom:1px solid var(--gris-f2);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.combo-sel-header-info{align-items:center;gap:10px;display:flex}.combo-sel-header-info svg{color:var(--primary);flex-shrink:0}.combo-sel-header-info h3{font-family:var(--fontbold);font-size:var(--text-lg);color:var(--grisprimary);margin:0}.combo-sel-header-info span{font-family:var(--fontdemi);font-size:var(--text-base);color:var(--primary)}.combo-sel-body{flex:1;padding:4px 0;overflow-y:auto}.combo-sel-group{padding:0 20px 12px}.combo-sel-group+.combo-sel-group{border-top:1px solid var(--gris-f2);padding-top:12px}.combo-sel-group-header{justify-content:space-between;align-items:center;margin-bottom:8px;padding-top:8px;display:flex}.combo-sel-group-name{font-family:var(--fontdemi);font-size:var(--text-base);color:var(--grisprimary)}.combo-sel-group-meta{align-items:center;gap:6px;display:flex}.combo-sel-badge{font-family:var(--fontdemi);font-size:var(--text-xs);border-radius:var(--radius-md);padding:2px 8px}.combo-sel-badge.required{background:var(--warning-light);color:var(--warning-dark)}.combo-sel-badge.done{color:var(--green-one);background:#ccf6e5}.combo-sel-badge.optional{background:var(--gris-f2);color:var(--gris-two)}.combo-sel-group-count{font-family:var(--fontregularpro);font-size:var(--text-xs);color:var(--gris-two)}.combo-sel-group-items{flex-direction:column;gap:4px;display:flex}.combo-sel-item{border:var(--stroke-control) solid var(--gris-tree);border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;font-family:var(--fontregularpro);font-size:var(--text-base);color:var(--grisprimary);background:#fff;align-items:center;gap:10px;padding:10px 12px;transition:all .12s;display:flex}.combo-sel-item:hover:not(:disabled){border-color:var(--primary)}.combo-sel-item.selected{border-color:var(--primary);background:var(--green-for)}.combo-sel-item.disabled{opacity:.4;cursor:not-allowed}.combo-sel-indicator{border:var(--stroke-control) solid var(--gris-tree);border-radius:50%;flex-shrink:0;width:18px;height:18px;transition:all .12s;position:relative}.combo-sel-indicator.check{border-radius:var(--radius-sm)}.combo-sel-indicator.active{border-color:var(--primary);background:var(--primary)}.combo-sel-indicator.active:after{content:"";background:#fff;border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.combo-sel-indicator.check.active:after{background:0 0;border-bottom:2px solid #fff;border-right:2px solid #fff;border-radius:0;width:4px;height:8px;transform:translate(-50%,-60%)rotate(45deg)}.combo-sel-item-name{flex:1}.combo-sel-item-extra{font-family:var(--fontdemi);font-size:var(--text-sm);color:var(--primary)}.combo-sel-footer{border-top:1px solid var(--gris-f2);padding:14px 20px}.combo-sel-total{justify-content:space-between;margin-bottom:12px;display:flex}.combo-sel-total span:first-child{font-family:var(--fontdemi);font-size:var(--text-md);color:var(--grisprimary)}.combo-sel-total-amount{font-family:var(--fontbold);font-size:var(--text-xl);color:var(--primary)}.combo-sel-actions{justify-content:flex-end;gap:8px;display:flex}.combo-sel-confirm{flex:1}.combo-sel-confirm:disabled{opacity:.5;cursor:not-allowed}@media (width<=640px){.pos-page{flex-direction:column}.pos-order{border-left:none;border-top:1px solid var(--gris-tree);width:100%;max-height:45vh}.pos-cat-home-grid{grid-template-columns:repeat(2,1fr)}.pos-products{gap:6px;padding:8px}.product-card-name{font-size:var(--text-xs);-webkit-line-clamp:1}.product-card-price{font-size:var(--text-base)}.pos-pay-btn{font-size:var(--text-base);padding:10px}.pos-courtesy-btn{font-size:var(--text-xs);padding:10px 8px}.pay-arrow{display:none}}@media (pointer:coarse){.qty-btn,.order-item-remove,.qty-input{width:var(--tap);height:var(--tap)}.order-item-note-btn{min-height:var(--tap)}.view-btn,.pos-back-btn{min-width:var(--tap);min-height:var(--tap)}}
