:root{--sidebar:#2a2340;--sidebar-2:#3a3154;--sidebar-text:#ddd4f0;--sidebar-active:#cbb6ef;--canvas:#f6f3fa;--surface:#fff;--ink:#1c1828;--muted:#7a718c;--brand:#b9a4e5;--brand-dark:#9276c9;--brand-soft:#f2ecfb;--green:#b9a4e5;--green-dark:#9276c9;--red:#e23d3d;--red-soft:#fde8e8;--amber:#f0a202;--coral:#ef5b4b;--blue:#2b7bbb;--border:#e5dcee;--shadow:0 12px 28px #2a234014;--radius:14px;--font:"DM Sans", sans-serif;--display:"Space Grotesk", sans-serif;font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.4}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--canvas);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3{font-family:var(--display);letter-spacing:-.03em;margin:0}.pos-app{background:var(--canvas);grid-template-columns:232px 1fr;min-height:100vh;display:grid}.pos-sidebar{background:linear-gradient(180deg, var(--sidebar) 0%, #1d1830 100%);color:var(--sidebar-text);z-index:20;flex-direction:column;height:100vh;padding:1.1rem .85rem;display:flex;position:sticky;top:0}.pos-sidebar-brand{border-bottom:1px solid #ffffff14;align-items:center;gap:.75rem;margin-bottom:.85rem;padding:.35rem .55rem 1.15rem;display:flex}.pos-sidebar-brand img{object-fit:contain;background:#ffffff0f;border-radius:10px;width:42px;height:42px;padding:4px}.pos-sidebar-brand strong{color:#fff;font-family:var(--display);letter-spacing:-.03em;font-size:1.15rem;display:block}.pos-sidebar-brand span{opacity:.7;text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;display:block}.pos-nav{flex-direction:column;flex:1;gap:.25rem;display:flex;overflow:auto}.pos-nav-link{color:var(--sidebar-text);border-radius:10px;padding:.72rem .85rem;font-size:.95rem;font-weight:600;transition:background .15s,color .15s;display:block}.pos-nav-link:hover{color:#fff;background:#ffffff0f}.pos-nav-link.active{color:#fff;box-shadow:inset 3px 0 0 var(--sidebar-active);background:#cbb6ef38}.pos-sidebar-foot{border-top:1px solid #ffffff14;flex-direction:column;gap:.65rem;padding-top:.85rem;display:flex}.pos-user-name{color:#fff;font-size:.9rem;font-weight:600;display:block}.pos-user-role{opacity:.65;font-size:.75rem;display:block}.btn-sidebar-logout{color:#fff;background:0 0;border:1px solid #ffffff24;border-radius:10px;padding:.6rem .8rem;font-weight:600}.btn-sidebar-logout:hover{background:#e23d3d33;border-color:#e23d3d73}.pos-main{flex-direction:column;min-width:0;min-height:100vh;display:flex}.pos-topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);z-index:10;background:#ffffffd1;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.35rem;display:flex;position:sticky;top:0}.pos-topbar-left{align-items:center;gap:.85rem;min-width:0;display:flex}.pos-page-title{font-size:clamp(1.25rem,2vw,1.55rem);font-weight:700}.pos-page-path{font-size:.78rem;font-family:var(--font);margin:.15rem 0 0}.pos-content{width:min(1200px,100%);margin:0 auto;padding:1.25rem 1.35rem 2rem}.pos-content.wide{width:min(1400px,100%)}.app-shell{max-width:none;min-height:100vh;margin:0;padding:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:0 1px 2px #1018160a}.btn{color:#fff;border:0;border-radius:12px;justify-content:center;align-items:center;gap:.4rem;min-height:2.75rem;padding:.75rem 1.1rem;font-weight:700;transition:transform .12s,filter .12s,background .12s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-green{background:var(--brand)}.btn-green:hover{background:var(--brand-dark)}.btn-red{background:var(--red)}.btn-gray,.btn-ghost{color:var(--ink);border:1px solid var(--border);background:#fff}.btn-ghost:hover,.btn-gray:hover{background:#f4f7f5}.btn-outline{color:var(--brand-dark);background:0 0;border:1.5px solid #b9a4e58c}.btn-outline:hover{background:var(--brand-soft)}.btn-purple,.btn-blue{background:var(--brand)}.btn-purple:hover,.btn-blue:hover{background:var(--brand-dark)}.input,.select,.textarea{border:1px solid var(--border);background:#fff;border-radius:12px;width:100%;padding:.8rem .95rem;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus,.textarea:focus{border-color:#b9a4e5bf;outline:none;box-shadow:0 0 0 4px #b9a4e538}.stack{flex-direction:column;gap:.9rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.muted{color:var(--muted)}.error{color:#9f1d1d;background:var(--red-soft);text-align:center;border:1px solid #f3c1c1;border-radius:12px;padding:.7rem .9rem}.success{color:#5f4a8a;background:var(--brand-soft);border:1px solid #d9ccef;border-radius:12px;padding:.7rem .9rem}.section-title{font-family:var(--display);margin:0 0 .35rem;font-size:1.2rem}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;display:grid}.mesa-card{aspect-ratio:1.05;color:#fff;box-shadow:var(--shadow);border:0;border-radius:18px;flex-direction:column;justify-content:space-between;padding:1.1rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:flex}.mesa-card:hover{transform:translateY(-4px)scale(1.02);box-shadow:0 18px 36px #0b1f1729}.mesa-card>div:first-child{font-family:var(--display);font-size:1.35rem}.mesa-libre{color:#2a2340;background:linear-gradient(160deg,#d2c2f2,#b9a4e5)}.mesa-ocupada{background:linear-gradient(160deg,#ff7a6b,#e04538)}.mesa-caja{color:#1a1405;background:linear-gradient(160deg,#ffc14d,#e09200)}.mesa-otra{background:linear-gradient(160deg,#8ea09a,#5f716b)}.caja-layout{grid-template-columns:minmax(240px,.9fr) minmax(300px,1.2fr);align-items:start;gap:1rem;display:grid}.caja-list,.caja-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-height:360px;box-shadow:var(--shadow);padding:1rem}.cuenta-btn{width:100%;color:var(--ink);background:#f3f7f5;border:1px solid #0000;justify-content:space-between}.cuenta-btn.active{background:var(--brand);color:#fff;border-color:var(--brand-dark)}.cocina-grid,.retiro-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.ops-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);border-top:4px solid var(--brand);padding:1.15rem}.ops-card hr{border:0;border-top:1px solid var(--border);margin:.8rem 0}.table{border-collapse:collapse;background:var(--surface);border-radius:var(--radius);width:100%;font-size:.95rem;overflow:hidden}.table th,.table td{border-bottom:1px solid var(--border);text-align:left;padding:.85rem .75rem}.table th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:#f4f8f6;font-size:.75rem}.table tbody tr:hover{background:#f8fbf9}.nav-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.nav-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);text-align:left;padding:1.35rem 1.15rem;transition:transform .15s,border-color .15s}.nav-tile:hover{border-color:#b9a4e58c;transform:translateY(-3px)}.nav-tile h3{margin:0 0 .4rem;font-size:1.1rem}.nav-tile p{margin:0}.nav-tile-icon{background:var(--brand-soft);width:2.75rem;height:2.75rem;color:var(--brand-dark);border-radius:12px;place-items:center;margin-bottom:.85rem;display:grid}.nav-tile-icon svg{fill:currentColor;width:1.3rem;height:1.3rem}.nav-tile.tone-slate .nav-tile-icon,.nav-tile.tone-violet .nav-tile-icon,.nav-tile.tone-teal .nav-tile-icon,.nav-tile.tone-amber .nav-tile-icon,.nav-tile.tone-rose .nav-tile-icon{background:var(--brand-soft);color:var(--brand-dark)}.product-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.9rem;display:grid}.product-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.5rem;padding:1rem;display:flex;box-shadow:0 1px 2px #1018160a}.product-card.disabled{opacity:.5}.badge{background:var(--brand-soft);color:var(--brand-dark);border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700;display:inline-block}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);padding:1.1rem}.stat strong{font-size:1.55rem;font-family:var(--display);color:var(--brand-dark);margin-top:.35rem;display:block}.linkish{color:var(--brand-dark);background:0 0;border:0;padding:0;font-weight:700}.linkish.danger{color:var(--red)}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#08120e80;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:16px;width:min(440px,100%);padding:1.4rem}.login-wrap{background:var(--canvas);grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.login-hero{color:#fff;background:radial-gradient(700px 500px at 20% 20%,#cbb6ef59,#0000 60%),linear-gradient(160deg,#2a2340 0%,#3a3154 55%,#2a2340 100%);flex-direction:column;justify-content:center;gap:1rem;padding:clamp(2rem,5vw,4rem);display:flex}.login-hero img{object-fit:contain;filter:drop-shadow(0 10px 24px #00000040);width:96px;height:96px}.login-hero h1{color:#fff;margin:0;font-size:clamp(2.4rem,5vw,3.4rem)}.login-hero p{color:#ffffffc7;max-width:28rem;margin:0;font-size:1.05rem}.login-panel{place-items:center;padding:1.5rem;display:grid}.login-card{border:1px solid var(--border);width:min(420px,100%);box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:1.6rem}.login-card h2{font-family:var(--display);margin:0 0 .35rem;font-size:1.6rem}.logo{object-fit:contain;width:88px;height:88px;margin:0 auto .5rem;display:block}.brand-mark{object-fit:contain;width:42px;height:42px}.page-title{font-family:var(--display);margin:0;font-size:1.4rem}.brand-hero{display:none}.user-chip{color:var(--muted);font-size:.8rem;display:inline-flex}@media (width<=900px){.pos-app{grid-template-columns:1fr}.pos-sidebar{flex-flow:wrap;align-items:center;gap:.5rem;height:auto;padding:.75rem;position:sticky;top:0}.pos-sidebar-brand{border:0;margin:0;padding:.25rem}.pos-nav{flex-flow:wrap;width:100%}.pos-sidebar-foot{border:0;flex-direction:row;justify-content:space-between;align-items:center;width:100%;padding-top:.35rem}.pos-main{min-height:auto}.caja-layout,.login-wrap{grid-template-columns:1fr}.login-hero{min-height:220px;padding:1.5rem}}
