*{box-sizing:border-box}
:root{
  --bg:#f3f7fb;
  --bg-soft:#eef6ff;
  --ink:#142033;
  --muted:#5c6d86;
  --card:#ffffff;
  --line:#dbe5f0;
  --primary:#0d2f78;
  --primary-2:#123f9c;
  --cyan:#12d8ff;
  --cyan-soft:#dffbff;
  --accent:#ff7a00;
  --accent-2:#ff9f1c;
  --green:#18b76a;
  --green-soft:#e9fff3;
  --warn:#f79009;
  --warn-soft:#fff4da;
  --danger:#cf3b2e;
  --danger-soft:#fff0ee;
  --dark:#08182f;
  --shadow:0 14px 36px rgba(10,35,90,.10);
}
html,body{min-height:100%}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(180deg,#f7fbff 0,#eef5fb 100%);color:var(--ink)}
a{color:inherit}
img{max-width:100%;display:block}
h1,h2,h3{margin-top:0}
p{line-height:1.5}

.topbar{min-height:78px;background:linear-gradient(90deg,var(--dark),#0f357f 55%, #0c58b8 100%);color:#fff;display:flex;align-items:center;padding:10px 22px;gap:24px;position:sticky;top:0;z-index:20;box-shadow:0 8px 28px rgba(3,15,40,.25)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;min-width:280px}
.brandmark{width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.14);display:grid;place-items:center;padding:5px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.brandmark img{width:100%;height:100%;object-fit:contain;border-radius:10px}
.brandtext{display:flex;flex-direction:column;line-height:1.1}
.brandtext strong{font-size:22px;letter-spacing:.3px}
.brandtext small{color:rgba(255,255,255,.78);font-size:12px}
.topbar nav{display:flex;gap:14px;flex:1;align-items:center;flex-wrap:wrap}
.topbar nav a,.userbox a{text-decoration:none;color:#eaf4ff;padding:9px 12px;border-radius:999px;transition:.2s background ease,.2s color ease}
.topbar nav a:hover,.userbox a:hover{background:rgba(255,255,255,.12)}
.userbox{display:flex;gap:12px;align-items:center;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.user-meta{display:flex;flex-direction:column;align-items:flex-end}
.user-meta span{font-weight:700}
.user-meta small{color:rgba(255,255,255,.72);text-transform:capitalize}
.restaurant-chip{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.10);padding:8px 12px;border-radius:14px;backdrop-filter:blur(4px)}
.restaurant-chip img,.restaurant-fallback{width:38px;height:38px;border-radius:10px;background:#fff;object-fit:contain;padding:4px}
.restaurant-fallback{display:grid;place-items:center;color:var(--primary);font-weight:800}
.restaurant-chip small{display:block;color:rgba(255,255,255,.7)}
.restaurant-chip b{display:block;color:#fff;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.container{max-width:1480px;margin:auto;padding:24px}
.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
.page-head h1{margin:0 0 4px}
.page-head p{margin:0;color:var(--muted)}
.eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.9px;text-transform:uppercase;color:var(--accent);margin-bottom:6px}

.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow);margin-bottom:20px}
.hero-card,.op-hero{display:flex;justify-content:space-between;gap:26px;align-items:center;background:linear-gradient(120deg,#fdfefe 0, #e9f9ff 38%, #e8efff 100%);border:1px solid #d6e6fb;border-radius:24px;padding:26px 28px;box-shadow:var(--shadow);margin-bottom:22px;overflow:hidden;position:relative}
.hero-card::after,.op-hero::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle, rgba(18,216,255,.28), rgba(18,216,255,0) 70%)}
.hero-card h1,.op-hero h1{margin:0 0 8px;font-size:34px;color:var(--primary)}
.hero-card p,.op-hero p{margin:0;color:#44607e;max-width:760px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.hero-aside{min-width:200px;position:relative;z-index:1}
.hero-app-brand{max-width:240px;filter:drop-shadow(0 12px 28px rgba(7,55,131,.18))}
.hero-restaurant-logo{max-height:120px;max-width:220px;object-fit:contain;background:#fff;border-radius:18px;padding:14px;box-shadow:0 12px 26px rgba(9,42,95,.12)}
.hero-logo-placeholder{background:#fff;border:2px dashed #bcd2ef;border-radius:18px;padding:24px;color:var(--muted);font-weight:600;max-width:240px;text-align:center}
.superadmin-hero{background:linear-gradient(120deg,#fdfefe 0,#e5fbff 28%,#edf2ff 100%)}
.op-hero{background:linear-gradient(120deg,#0d2f78 0,#0f4ead 45%,#12b8ff 100%);color:#fff}
.op-hero h1,.op-hero p,.op-hero .eyebrow{color:#fff}
.op-hero p{color:rgba(255,255,255,.86)}
.op-hero.compact{padding:22px 24px}
.op-stats{display:flex;gap:14px;flex-wrap:wrap;position:relative;z-index:1}
.op-stats div{min-width:130px;background:rgba(255,255,255,.14);padding:16px;border-radius:18px;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(5px)}
.op-stats small{display:block;color:rgba(255,255,255,.76)}
.op-stats strong{display:block;font-size:28px;margin-top:6px}

.grid{display:grid;gap:18px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.span2{grid-column:span 2}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}
.stat{background:linear-gradient(180deg,#fff 0,#f8fbff 100%);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}
.stats-colorful .stat:nth-child(1){background:linear-gradient(180deg,#fff, #ebf3ff)}
.stats-colorful .stat:nth-child(2){background:linear-gradient(180deg,#fff, #eefcff)}
.stats-colorful .stat:nth-child(3){background:linear-gradient(180deg,#fff, #fff4e8)}
.stats-colorful .stat:nth-child(4){background:linear-gradient(180deg,#fff, #eefaf4)}
.stat small{display:block;color:var(--muted);margin-bottom:10px;font-weight:700}
.stat strong{font-size:28px;color:var(--primary)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #cfd9e8;border-radius:12px;background:#fff;padding:10px 14px;text-decoration:none;cursor:pointer;font:inherit;font-weight:700;box-shadow:0 2px 6px rgba(16,24,40,.04)}
.btn.primary{background:linear-gradient(90deg,var(--primary),#0d59cb);border-color:transparent;color:#fff}
.btn.small{padding:6px 10px;font-size:13px}
.btn.full{width:100%;text-align:center;margin-top:8px}
label{display:block;font-size:14px;font-weight:700;margin-bottom:14px}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cfd9e8;border-radius:11px;background:#fff;font:inherit;margin-top:6px}
input:focus,select:focus,textarea:focus{outline:none;border-color:#6aa7ff;box-shadow:0 0 0 4px rgba(18,94,255,.10)}

.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:13px;color:var(--muted)}
.badge{display:inline-block;padding:5px 10px;border-radius:999px;background:#eef2f6;font-size:12px;font-weight:700}
.badge.active,.badge.paid,.badge.free{background:var(--green-soft);color:#067647}.badge.suspended,.badge.overdue,.badge.occupied,.badge.late{background:var(--danger-soft);color:var(--danger)}
.flash,.alert{max-width:1440px;margin:14px auto;padding:14px 18px;border-radius:14px;box-shadow:var(--shadow)}
.flash.success,.alert.success{background:var(--green-soft);color:#067647}.flash.danger,.alert.danger{background:var(--danger-soft);color:var(--danger)}.alert.info{background:#ecf6ff;color:#175cd3}

.auth-wrap,.installer{min-height:calc(100vh - 128px);display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right, rgba(18,216,255,.25), rgba(18,216,255,0) 32%),linear-gradient(145deg,#08182f 0,#0e2f68 50%,#0b4ca5 100%)}
.auth-card,.install-card{width:min(880px,100%);background:#fff;padding:34px;border-radius:28px;box-shadow:0 22px 54px rgba(3,15,40,.26)}
.auth-card-brand{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center}
.auth-hero{text-align:center;padding-right:10px}
.auth-main-logo{max-width:330px;margin:0 auto 12px;filter:drop-shadow(0 15px 25px rgba(12,55,130,.12))}
.auth-card h1{font-size:36px;color:var(--primary);margin-bottom:8px}
.auth-card p{color:#48637f}
.auth-card form{text-align:left}
.powered-by{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:18px;margin-top:8px;color:var(--muted);font-weight:600}
.powered-by img{max-height:38px;width:auto}
.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}
.module{background:#fff;border:1px solid #d9e6f6;padding:20px;border-radius:20px;text-decoration:none;box-shadow:var(--shadow);position:relative;overflow:hidden}
.module::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg, rgba(18,216,255,.08), rgba(255,122,0,.08));opacity:0;transition:.2s opacity ease}
.module:hover::before{opacity:1}
.module b{display:block;font-size:18px;margin-bottom:8px;color:var(--primary)}
.module span{color:var(--muted);position:relative;z-index:1}
.vibrant .module:nth-child(3n+1){border-top:5px solid #0d59cb}
.vibrant .module:nth-child(3n+2){border-top:5px solid #12b8ff}
.vibrant .module:nth-child(3n+3){border-top:5px solid #ff7a00}
.table-cards,.floor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:14px}
.table-card{border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:8px}
.floor-area{margin-bottom:28px}
.floor-area-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.floor-area h2{margin:0;color:var(--primary)}

.operation-screen{background:linear-gradient(180deg,#eaf4ff 0,#f7fbff 45%,#edf7ff 100%)}
.touch-table{min-height:138px;border-radius:22px;padding:18px;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid transparent;color:#123055;box-shadow:0 10px 24px rgba(13,47,120,.10);background:linear-gradient(180deg,#fff 0,#f7fbff 100%);transition:.18s transform ease,.18s box-shadow ease}
.touch-table:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(13,47,120,.14)}
.touch-table strong{font-size:23px}
.touch-table span,.touch-table em{margin-top:6px;color:#56708d;font-style:normal}
.touch-table.free{background:linear-gradient(180deg,#fff,#ecfff4);border-color:#18b76a}
.touch-table.occupied{background:linear-gradient(180deg,#fff,#fff0dd);border-color:#f79009}
.touch-table.reserved,.touch-table.bill_requested{background:linear-gradient(180deg,#fff,#eef4ff);border-color:#0d59cb}
.touch-table.blocked{background:linear-gradient(180deg,#fff,#fff0ee);border-color:#cf3b2e}

.order-layout{display:grid;grid-template-columns:1fr 380px;gap:22px}
.ticket{position:sticky;top:96px;height:max-content}
.ticket-colorful{background:linear-gradient(180deg,#ffffff 0,#eff8ff 100%);border:1px solid #d7e7f8}
.category-tabs{display:flex;gap:8px;overflow:auto;margin-bottom:16px;padding-bottom:4px}
.catbtn{padding:10px 15px;border-radius:999px;border:1px solid #cad9ef;background:#fff;white-space:nowrap;font-weight:700;color:#36516e;cursor:pointer}
.catbtn.active{background:linear-gradient(90deg,var(--primary),#0e5bc7);border-color:transparent;color:#fff;box-shadow:0 8px 18px rgba(13,47,120,.18)}
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.product-btn{min-height:132px;background:linear-gradient(180deg,#fff 0,#f7fbff 100%);border:1px solid #d8e7f8;border-radius:18px;padding:16px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 10px 22px rgba(10,45,112,.08);cursor:pointer}
.product-btn b{font-size:17px;color:var(--primary)}
.product-btn span{font-weight:900;color:var(--accent)}
.product-btn small{color:var(--muted)}
.ticket-line,.ticket-total{display:flex;justify-content:space-between;gap:12px;padding:8px 0}.ticket-total strong{font-size:25px;color:var(--primary)}
.ticket-actions{margin-top:14px}
.kds-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px;align-items:start}.kds-station{background:linear-gradient(180deg,#edf6ff,#e6f1fb);border-radius:20px;padding:14px;min-height:300px;box-shadow:var(--shadow)}.kds-station h2{margin:4px 4px 12px;color:var(--primary)}.kds-ticket{background:white;border-left:6px solid #12b76a;border-radius:15px;padding:14px;margin-bottom:12px;box-shadow:0 8px 18px rgba(15,52,108,.08)}.kds-ticket.warn{border-left-color:#f79009;background:#fffcf6}.kds-ticket.late{border-left-color:#d92d20;background:#fff7f5}.kds-ticket header{display:flex;justify-content:space-between;gap:12px}.kds-ticket h3{margin:14px 0;color:#123055}.inline-form{display:grid;grid-template-columns:1fr 1fr 90px auto;gap:10px;align-items:end}.empty{text-align:center;color:var(--muted);padding:40px}.empty.small{padding:15px}
.install-card{width:min(760px,100%)}hr{border:0;border-top:1px solid var(--line);margin:20px 0}
.stock-low{color:var(--danger);font-weight:800}.muted{color:var(--muted)}
.logo-upload-box{display:grid;grid-template-columns:1.3fr .9fr;gap:18px;align-items:center;background:linear-gradient(180deg,#f8fbff,#eef6ff);padding:18px;border:1px solid #dbe8f8;border-radius:18px}
.logo-upload-box h3{margin:0 0 6px;color:var(--primary)}
.logo-preview-wrap{display:flex;justify-content:center;align-items:center;min-height:170px}
.logo-preview{max-height:130px;max-width:240px;object-fit:contain;background:#fff;padding:12px;border-radius:16px;box-shadow:0 10px 22px rgba(8,24,47,.08)}
.logo-empty{background:#fff;border:2px dashed #c1d5ef;color:var(--muted);padding:24px;border-radius:16px;text-align:center;max-width:260px}
.app-footer{max-width:1480px;margin:0 auto;padding:0 24px 24px;color:var(--muted);font-size:13px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.footer-brand img{max-height:42px;width:auto}.footer-copy{text-align:right}

@media(max-width:1000px){
  .module-grid{grid-template-columns:repeat(2,1fr)}
  .order-layout{grid-template-columns:1fr}
  .ticket{position:static}
  .auth-card-brand{grid-template-columns:1fr}
}
@media(max-width:800px){
  .container{padding:14px}
  .topbar{height:auto;min-height:64px;flex-wrap:wrap;padding:10px 14px}
  .brand{min-width:auto}
  .brandtext small{display:none}
  .topbar nav{order:3;width:100%;overflow:auto}
  .userbox{width:100%;justify-content:space-between}
  .user-meta span{font-size:14px}.user-meta small{font-size:12px}
  .restaurant-chip{flex:1;min-width:0}
  .restaurant-chip b{max-width:120px}
  .grid.two,.stats,.module-grid,.order-layout{grid-template-columns:1fr}.span2{grid-column:auto}.inline-form{grid-template-columns:1fr}
  .hero-card,.op-hero,.logo-upload-box,.powered-by,.app-footer{grid-template-columns:1fr;flex-direction:column;align-items:flex-start}
  .hero-card h1,.op-hero h1{font-size:28px}
  .op-stats{width:100%}
  .touch-table{min-height:112px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head.touch-head{align-items:flex-start}
  .footer-copy{text-align:left}
}

/* ZULCOMANDA v0.3.1 - refinamiento visual */
.topbar{min-height:72px;padding:9px 24px;gap:22px;background:linear-gradient(90deg,#07162d 0%,#0d2f78 58%,#0c55b6 100%)}
.brand{min-width:248px;gap:11px;flex:0 0 auto}
.brandmark{width:44px;height:44px;padding:0;background:transparent;overflow:hidden;border-radius:12px;box-shadow:none}
.brandmark img{width:42px!important;height:42px!important;border-radius:10px;object-fit:contain}
.brandtext strong{font-size:20px;line-height:1}.brandtext small{font-size:11px;margin-top:4px}
.topbar nav{gap:6px;flex-wrap:nowrap}.topbar nav a{font-size:14px;padding:9px 11px;white-space:nowrap}
.userbox{flex-wrap:nowrap;gap:10px;min-width:0}.user-meta{min-width:0}.user-meta span{max-width:185px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.user-meta small{font-size:11px;white-space:nowrap}.logout-link{white-space:nowrap}
.container{padding-top:26px}
.sa-welcome{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:24px;align-items:stretch;margin-bottom:22px}
.sa-welcome-copy{background:linear-gradient(135deg,#ffffff 0%,#edf7ff 58%,#e8f0ff 100%);border:1px solid #d5e5f6;border-radius:24px;padding:30px;box-shadow:var(--shadow)}
.sa-welcome-copy h1{font-size:36px;color:var(--primary);margin:0 0 10px}.sa-welcome-copy p{max-width:760px;color:#506985;margin:0}
.sa-brand-card{background:linear-gradient(145deg,#07162d,#0d2f78 58%,#0c58b8);border-radius:24px;padding:24px;display:flex;align-items:center;justify-content:center;gap:18px;color:#fff;box-shadow:0 16px 38px rgba(3,20,54,.22);min-height:190px}
.sa-brand-card img{width:112px!important;height:112px!important;object-fit:contain;flex:0 0 auto;border-radius:22px}.sa-brand-card strong{display:block;font-size:24px;letter-spacing:.4px}.sa-brand-card span{display:block;color:rgba(255,255,255,.76);margin-top:6px;line-height:1.35}
.restaurant-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn.danger{background:#fff1ef;border-color:#ffc9c2;color:#b42318}.btn.danger:hover{background:#ffe5e1}.delete-note{display:block;margin-top:6px;color:var(--muted);font-size:11px;max-width:250px;line-height:1.35}.table-wrap table td{vertical-align:middle}
.footer-brand{display:flex;align-items:center;gap:7px}.footer-owner{color:var(--muted)}.footer-brand strong{color:var(--primary);font-size:14px}
@media(max-width:1180px){.topbar{flex-wrap:wrap}.brand{min-width:auto}.topbar nav{order:3;width:100%;overflow:auto}.userbox{margin-left:auto}.sa-welcome{grid-template-columns:1fr}.sa-brand-card{min-height:150px;justify-content:flex-start}}
@media(max-width:760px){.topbar{padding:9px 12px}.brandtext small{display:none}.user-meta small{display:none}.user-meta span{max-width:120px}.sa-welcome-copy{padding:22px}.sa-brand-card{padding:18px}.sa-brand-card img{width:76px!important;height:76px!important}.sa-brand-card strong{font-size:20px}}

/* ==========================================================
   ZULCOMANDA v0.5.0 - Preproducción / operación fortalecida
   ========================================================== */
.auth-main-logo{max-width:220px!important;margin-bottom:8px!important}
.desktop-admin .container{max-width:1540px;padding:20px 24px}
.desktop-admin .topbar{min-height:64px;padding:7px 22px}
.desktop-admin .brandmark{width:38px;height:38px}.desktop-admin .brandmark img{width:36px!important;height:36px!important}.desktop-admin .brandtext strong{font-size:18px}.desktop-admin .topbar nav a{font-size:13px;padding:7px 10px}
.desktop-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.desktop-head h1{margin:0 0 4px;font-size:28px;color:var(--primary)}.desktop-head p{margin:0;color:var(--muted)}.desktop-actions{display:flex;gap:8px;align-items:center}
.compact-stats{grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-bottom:16px}.compact-stats .stat{padding:14px 16px;border-radius:14px;box-shadow:0 4px 14px rgba(10,35,90,.06)}.compact-stats .stat strong{font-size:23px}.compact-stats .stat small{margin-bottom:4px}
.desktop-module-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.desktop-module{background:#fff;border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:12px;padding:14px 15px;text-decoration:none;box-shadow:0 4px 14px rgba(10,35,90,.06);min-height:88px}.desktop-module:nth-child(3n+2){border-left-color:var(--accent)}.desktop-module:nth-child(3n+3){border-left-color:var(--cyan)}.desktop-module b{display:block;font-size:15px;color:var(--primary);margin-bottom:5px}.desktop-module span{display:block;font-size:12px;color:var(--muted);line-height:1.3}
.desktop-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px}.desktop-grid.two-thirds{grid-template-columns:minmax(0,1fr) 360px}.desktop-grid.inventory-layout{grid-template-columns:minmax(0,1fr) 350px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.section-head h2{margin:0}.section-head p{margin:3px 0 0;color:var(--muted);font-size:13px}.side-panel{height:max-content}.side-link{display:block;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--line)}.side-link b,.side-link span{display:block}.side-link span{font-size:12px;color:var(--muted);margin-top:3px}
.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px}.span3{grid-column:span 3}.form-section{padding:4px 0 14px;border-bottom:1px solid var(--line);margin-bottom:18px}.form-section:last-of-type{border-bottom:0}.form-section h2{font-size:18px;color:var(--primary)}.admin-account{background:#f6f9fd;border:1px solid var(--line);padding:16px;border-radius:14px}.info-box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;font-size:13px}.form-actions,.sticky-actions{display:flex;gap:8px;justify-content:flex-end}.sticky-actions{position:sticky;bottom:0;background:rgba(247,251,255,.95);padding:10px 0;z-index:5}.check-line{display:flex;gap:7px;align-items:center;margin:8px 0!important}.check-line input{width:auto;margin:0}
.tabs-nav{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:12px;overflow:auto}.tab-btn{border:0;background:transparent;padding:10px 14px;font:inherit;font-weight:700;color:var(--muted);border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-panel,.local-panel{display:none}.tab-panel.active,.local-panel.active{display:block}.local-tabs{margin-bottom:14px}.settings-logo-grid{display:grid;grid-template-columns:1fr 280px;gap:22px;align-items:center}
.inline-admin-form{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-bottom:12px}.inline-admin-form>label{margin:0}.inline-admin-form input,.inline-admin-form select{margin-top:0}.inline-admin-form .grow{flex:1}.recipe-head-form{align-items:flex-end}.inline-delete{display:inline-block;margin-left:4px}.actions-cell{white-space:nowrap}.block{display:block}.btn.warning,.mini-action.warning{background:#fff7e5;border-color:#ffd58a;color:#9a5b00}.badge.inactive{background:#f2f4f7;color:#667085}
.table-wrap input,.table-wrap select{padding:7px 8px;margin:0;min-width:80px}.table-wrap .check-line{margin:0!important}.table-wrap th,.table-wrap td{padding:8px}.table-wrap table{font-size:13px}.count-form{display:grid;grid-template-columns:90px 1fr auto;gap:5px;align-items:center}.inventory-tools{padding:10px 14px}.search-form{display:flex;gap:7px}.search-form input{margin:0;max-width:420px}

.operation-screen .topbar{min-height:54px;padding:5px 14px}.operation-screen .brand{min-width:200px}.operation-screen .brandmark{width:34px;height:34px}.operation-screen .brandmark img{width:32px!important;height:32px!important}.operation-screen .brandtext strong{font-size:16px}.operation-screen .brandtext small{display:none}.operation-screen .topbar nav a{padding:6px 8px;font-size:12px}.operation-screen .restaurant-chip{padding:4px 8px}.operation-screen .restaurant-chip img,.operation-screen .restaurant-fallback{width:30px;height:30px}.operation-screen .user-meta small{display:none}.operation-screen .container{max-width:1600px;padding:10px 12px}
.operation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 12px;margin-bottom:10px;box-shadow:0 3px 12px rgba(10,35,90,.05)}.operation-toolbar h1{font-size:21px;margin:0;color:var(--primary)}.operation-toolbar span{font-size:12px;color:var(--muted)}.operation-summary{display:flex;gap:14px}.operation-summary span{background:#f5f8fc;padding:6px 9px;border-radius:9px}.operation-summary b{font-size:16px;color:var(--primary)}
.compact-floor{margin-bottom:14px}.compact-floor .floor-area-head{margin-bottom:7px}.compact-floor h2{font-size:16px}.dense-floor{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}.touch-table-wrap{position:relative}.touch-table-wrap .touch-table{min-height:92px;border-radius:13px;padding:9px;box-shadow:0 3px 10px rgba(13,47,120,.06)}.touch-table-wrap .touch-table strong{font-size:17px}.touch-table-wrap .touch-table span,.touch-table-wrap .touch-table em{font-size:11px;margin-top:3px}.touch-table.joined{border-style:dashed}.table-quick-actions{display:flex;gap:3px;margin-top:3px}.table-quick-actions form{margin:0}.mini-action{display:inline-flex;justify-content:center;align-items:center;flex:1;border:1px solid var(--line);background:#fff;border-radius:7px;padding:4px 5px;text-decoration:none;font:inherit;font-size:10px;cursor:pointer;color:#36516e}
.table-actions-grid{max-width:1100px;margin:auto}.table-actions-grid .card{margin-bottom:0}
.compact-order{grid-template-columns:minmax(0,1fr) 320px;gap:12px}.order-toolbar{margin-bottom:8px}.compact-tabs{gap:5px;margin-bottom:8px}.compact-tabs .catbtn{padding:7px 10px;font-size:12px}.dense-products{grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:7px}.compact-product{min-height:98px;border-radius:12px;padding:10px}.compact-product b{font-size:14px;line-height:1.2}.compact-product span{font-size:15px}.compact-product small{font-size:10px}.compact-ticket{padding:14px;border-radius:14px}.compact-ticket h2{font-size:18px}.compact-ticket .ticket-line{font-size:12px;padding:5px 0}.compact-ticket .ticket-total strong{font-size:21px}

@media(max-width:1200px){.desktop-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.desktop-grid,.desktop-grid.two-thirds,.desktop-grid.inventory-layout{grid-template-columns:1fr}.form-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.span3{grid-column:span 2}.compact-order{grid-template-columns:1fr 300px}}
@media(max-width:800px){.desktop-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.desktop-head{align-items:flex-start;flex-direction:column}.form-grid-3{grid-template-columns:1fr}.span3{grid-column:auto}.compact-stats{grid-template-columns:repeat(2,1fr)}.settings-logo-grid{grid-template-columns:1fr}.operation-toolbar{align-items:flex-start;flex-wrap:wrap}.operation-summary{order:3;width:100%;justify-content:space-between}.dense-floor{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-order{grid-template-columns:1fr}.dense-products{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ZULCOMANDA v0.5.0 · módulos de preproducción */
.grid.three,.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tabs{display:flex;gap:7px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:0 0 18px;padding:0 0 10px}
.tab{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:10px;text-decoration:none;color:#425b78;font-weight:750;font-size:13px;background:#f4f8fc;border:1px solid #dbe6f3}
.tab.active,.tab:hover{background:#e7f1ff;color:var(--primary);border-color:#b8d1f2}
.inline-check{display:flex;align-items:center;gap:8px;font-weight:650}.inline-check input{width:auto;margin:0}
.compact-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.compact-row input,.compact-row select{width:auto;margin:0}
.checkbox-list{display:grid;gap:8px}.checkbox-list label{display:flex;align-items:center;gap:8px;margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fbfdff}.checkbox-list input{width:auto;margin:0}
.block{display:block}.max-form{max-width:920px}.inline-danger-form{display:inline-flex;margin:0}.inline-danger-form button{white-space:nowrap}
.negative{color:#b42318}.balance strong{color:var(--accent)}

/* Caja */
.cashier-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:15px 18px;border-radius:18px;background:linear-gradient(90deg,#0a244f,#0d4aa0);color:#fff;box-shadow:var(--shadow)}
.cashier-head h1{margin:0 0 2px;font-size:24px}.cashier-head p{margin:0;color:rgba(255,255,255,.8)}
.cash-status{display:flex;gap:9px;flex-wrap:wrap}.cash-status span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-size:12px;font-weight:750}
.cashier-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start}
.cash-order-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.cash-order{display:block;text-decoration:none;background:#fff;border:1px solid #d7e4f3;border-radius:14px;padding:13px;box-shadow:0 6px 16px rgba(13,47,120,.07)}
.cash-order:hover{border-color:#77a8e9;transform:translateY(-1px)}
.cash-order header{display:flex;justify-content:space-between;gap:9px}.cash-order strong{color:var(--primary)}.cash-order .amount{font-size:19px;font-weight:900;color:var(--accent);margin-top:9px}
.checkout-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:16px;align-items:start}

/* Operación compacta */
.compact-op-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding:10px 14px;border-radius:14px;background:linear-gradient(90deg,#0d2f78,#0d59cb);color:#fff}
.compact-op-head h1{font-size:21px;margin:0}.compact-op-head p{margin:2px 0 0;font-size:13px;color:rgba(255,255,255,.82)}
.compact-products .category-tabs{margin-bottom:8px}.product-grid.dense{grid-template-columns:repeat(auto-fill,minmax(142px,1fr));gap:8px}.dense-product{min-height:105px;padding:11px;border-radius:13px}.dense-product b{font-size:14px}.dense-product span{font-size:14px}.dense-product small{font-size:11px}
.icon-btn{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:10px;border:1px solid #d2deec;background:#fff;cursor:pointer}

/* Modificadores */
.modal-backdrop{position:fixed;inset:0;background:rgba(3,15,40,.64);display:none;align-items:center;justify-content:center;padding:18px;z-index:100}.modal-backdrop.open{display:flex}
.modal-card{width:min(620px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:20px;padding:20px;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.modifier-group{padding:12px 0;border-bottom:1px solid var(--line)}.modifier-group:last-child{border-bottom:0}.modifier-group h3{font-size:16px;margin:0 0 8px}.modifier-option{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border-radius:9px}.modifier-option:hover{background:#f5f9fd}.modifier-option label{margin:0;display:flex;gap:8px;align-items:center}.modifier-option input{width:auto;margin:0}

/* Factura / recibo */
.invoice-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 auto 14px;max-width:760px}.invoice-paper{max-width:760px;margin:0 auto;background:#fff;padding:30px;border-radius:8px;box-shadow:0 10px 28px rgba(8,24,47,.10);color:#1e293b}.invoice-brand{text-align:center;border-bottom:1px dashed #aab7c6;padding-bottom:14px;margin-bottom:14px}.invoice-brand img{max-height:85px;width:auto;margin:0 auto 8px}.invoice-brand h1{font-size:21px;margin:0 0 5px}.invoice-brand p{margin:2px 0;font-size:12px}.invoice-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;font-size:12px;margin-bottom:14px}.invoice-totals{margin-left:auto;max-width:330px}.invoice-totals .ticket-line{font-size:13px}.invoice-totals .ticket-total{font-size:15px}

/* Autenticación */
.login-logo-sm{max-width:220px!important;max-height:210px;object-fit:contain}.narrow-auth{max-width:520px!important;display:block!important}.auth-help{text-align:center;margin-top:10px}.auth-help a{color:var(--primary);font-weight:700}

/* Reportes / gestión */
.metric-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.metric small{display:block;color:var(--muted);margin-bottom:6px}.metric strong{font-size:22px;color:var(--primary)}
.modules-v050 .module{min-height:118px}.modules-v050 .module b{font-size:16px}.modules-v050 .module span{font-size:13px}

@media(max-width:1050px){.cashier-layout,.checkout-grid{grid-template-columns:1fr}.grid.three,.form-grid-3,.metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.grid.three,.form-grid-3,.metric-row{grid-template-columns:1fr}.cashier-head,.invoice-toolbar{align-items:flex-start;flex-direction:column}.product-grid.dense{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-paper{padding:18px}.invoice-meta{grid-template-columns:1fr}}
@media print{body{background:#fff!important}.topbar,.app-footer,.invoice-toolbar,.flash{display:none!important}.container{max-width:none;padding:0}.invoice-paper{box-shadow:none;border:0;margin:0;padding:0;max-width:none}.invoice-paper *{color:#000!important}}
.diagnostic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.diagnostic-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line)}.diagnostic-row .ok{color:#067647}.diagnostic-row .bad{color:#b42318}@media(max-width:850px){.diagnostic-grid{grid-template-columns:1fr}}

/* ==========================================================
   ZULCOMANDA v0.5.1 - ajustes de prueba en caliente
   ========================================================== */
/* Los modales de v0.5.0 usaban el atributo hidden pero el CSS exigía .open. */
.modal-backdrop:not([hidden]){display:flex!important}

/* Operación: impedir desbordamiento horizontal y aprovechar más pantalla. */
.operation-screen .container{width:100%;max-width:100%;overflow-x:hidden;padding:8px 10px}
.order-layout.compact-products{grid-template-columns:minmax(0,1fr) minmax(280px,310px);gap:10px;width:100%;max-width:100%;min-width:0}
.product-pane,.order-layout>section,.order-layout>aside{min-width:0}
.category-tabs.wrap-two-lines{display:flex;flex-wrap:wrap;align-content:flex-start;gap:5px;overflow-y:auto;overflow-x:hidden;max-height:78px;margin-bottom:8px;padding:2px}
.category-tabs.wrap-two-lines .catbtn{padding:6px 9px;font-size:11px;line-height:1.1;white-space:nowrap}
.product-grid.dense{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px}
.dense-product{min-height:122px;padding:7px;border-radius:11px;overflow:hidden}
.op-product-image{width:100%;height:62px;object-fit:cover;border-radius:8px;background:#edf4fb;margin-bottom:6px}
.product-no-image{display:grid;place-items:center;color:#0d2f78;font-weight:900;font-size:22px;background:linear-gradient(135deg,#eef6ff,#dcecff)}
.op-product-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.op-product-copy b{font-size:12px;line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.op-product-copy span{font-size:12px}.op-product-copy small{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ticket.card{min-width:0;padding:12px}.ticket.card h2{font-size:17px}.ticket-line{min-width:0}.ticket-line>div:first-child{min-width:0}

/* Platos e imágenes */
.product-thumb{width:52px;height:42px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:#f3f7fb}.empty-thumb{display:grid;place-items:center;font-size:9px;color:var(--muted);text-align:center}

/* Caja / cuenta: compacta y sin salirse de la pantalla. */
.cashier-screen .container,.checkout-screen .container{width:100%;max-width:100%;overflow-x:hidden;padding:10px 12px}
.cashier-layout{grid-template-columns:minmax(0,1fr) minmax(260px,300px);gap:10px;max-width:100%}.cashier-layout>*{min-width:0}.cash-order-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:7px}.cash-order{padding:9px}.cashier-head{padding:10px 12px;margin-bottom:10px;border-radius:12px}.cashier-head h1{font-size:20px}
.checkout-grid.checkout-fit{grid-template-columns:minmax(0,1fr) minmax(250px,300px);gap:10px;max-width:100%}.checkout-detail{min-width:0}.checkout-items{max-height:38vh;overflow:auto}.checkout-actions-panel{min-width:0}.cashier-action-card{padding:14px}.cash-action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px}.cash-action-buttons .btn{width:100%;padding:9px 8px}.dual-currency-note{margin-top:8px;padding:9px;border-radius:9px;background:#eef6ff;color:#2f5b8d;font-size:12px}
.weekday-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekday-grid .check-line{font-size:11px;padding:5px;margin:0;border:1px solid var(--line);border-radius:8px;background:#fafcff}

@media(max-width:1100px){.order-layout.compact-products{grid-template-columns:minmax(0,1fr) 275px}.product-grid.dense{grid-template-columns:repeat(auto-fill,minmax(108px,1fr))}.checkout-grid.checkout-fit,.cashier-layout{grid-template-columns:1fr}.cash-action-buttons{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.order-layout.compact-products{grid-template-columns:1fr}.category-tabs.wrap-two-lines{max-height:92px}.product-grid.dense{grid-template-columns:repeat(3,minmax(0,1fr))}.cash-action-buttons{grid-template-columns:1fr 1fr}.weekday-grid{grid-template-columns:repeat(4,1fr)}}
.login-logo-sm{max-width:175px!important;max-height:160px!important}

/* ZULCOMANDA v0.5.2 - correcciones KDS y encabezado operativo */
.compact-op-head .btn,
.compact-op-head .compact-head-btn{
  background:#fff;
  color:#0d2f78;
  border-color:rgba(255,255,255,.82);
  box-shadow:0 4px 10px rgba(3,20,55,.14);
}
.compact-op-head .btn:hover,
.compact-op-head .compact-head-btn:hover{
  background:#eef6ff;
  color:#0a245e;
}
.kds-modifiers{
  margin:10px 0;
  padding:9px 11px;
  border-radius:10px;
  background:#fff5e8;
  border:1px solid #ffd7a6;
  color:#7a4300;
}
.kds-modifiers strong,.kds-notes strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.35px;margin-bottom:4px}
.kds-modifiers ul{margin:0;padding-left:19px}
.kds-modifiers li{margin:2px 0;font-weight:700}
.kds-notes{margin:10px 0;padding:9px 11px;border-radius:10px;background:#eef6ff;border:1px solid #cfe3ff;color:#214e85}
.kds-notes p{margin:2px 0 0;white-space:pre-wrap}

/* ZULCOMANDA v0.5.3 · Caja compacta */
.checkout-screen .container{margin-left:auto;margin-right:auto}
.checkout-screen .compact-op-head.checkout-head{padding:7px 10px;margin-bottom:8px}
.checkout-screen .compact-op-head.checkout-head h1{font-size:18px;margin-bottom:1px}
.checkout-screen .compact-op-head.checkout-head p{font-size:12px}
.checkout-screen .checkout-grid.checkout-fit{grid-template-columns:minmax(0,1fr) 225px;gap:9px}
.checkout-screen .checkout-detail,.checkout-screen .cashier-action-card{padding:14px;border-radius:15px}
.checkout-screen .checkout-detail h2,.checkout-screen .cashier-action-card h2{font-size:18px;margin-bottom:12px}
.checkout-screen .ticket-line{font-size:14px;padding:6px 0}
.checkout-screen .ticket-total{font-size:15px;padding:7px 0}
.checkout-screen .ticket-total strong{font-size:21px}
.checkout-screen .ticket-total.balance strong{font-size:24px}
.checkout-screen .checkout-items{max-height:30vh}
.checkout-screen .cash-action-buttons .btn{font-size:13px;padding:8px 6px}
.checkout-screen .dual-currency-note{font-size:11px;padding:7px}
.payment-modal-card{width:min(520px,94vw)!important;padding:18px!important}
.compact-modal-card{width:min(500px,94vw)!important;padding:18px!important}
.payment-modal-card h2,.compact-modal-card h2{font-size:20px}
.payment-modal-card label,.compact-modal-card label{font-size:13px;margin-bottom:10px}
.payment-modal-card input,.payment-modal-card select,.compact-modal-card input,.compact-modal-card select,.compact-modal-card textarea{padding:9px 10px}
.payment-info{margin:7px 0 10px;padding:10px 12px;border-radius:11px;background:#eef6ff;color:#175cd3;font-size:13px}
.change-box{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:7px 0 12px;padding:12px 14px;border-radius:12px;background:#eafbf1;border:1px solid #a8e4c2;color:#087443}
.change-box span{font-size:13px;font-weight:700}.change-box strong{font-size:22px}
.change-box[hidden]{display:none!important}
@media(min-width:1101px){.checkout-screen .container{width:52vw;max-width:960px;min-width:760px}}
@media(max-width:1100px){.checkout-screen .container{width:100%;max-width:100%}.checkout-screen .checkout-grid.checkout-fit{grid-template-columns:1fr}.checkout-screen .cash-action-buttons{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.checkout-screen .cash-action-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-modal-card .grid.two{grid-template-columns:1fr}}

/* ==========================================================
   ZULCOMANDA v0.5.5 - ticket térmico 80 mm y footer inferior
   ========================================================== */
/* Mantener el pie general de la aplicación en el borde inferior cuando
   el contenido de la pantalla no llena el viewport. */
body{min-height:100vh;display:flex;flex-direction:column}
main.container{width:100%;flex:1 0 auto}
.app-footer{width:100%;margin-top:auto;flex-shrink:0}

/* Vista previa realista de comprobante para impresora térmica de 80 mm. */
.invoice-toolbar{width:min(80mm,100%);max-width:80mm;margin:0 auto 10px}
.invoice-paper{width:min(80mm,100%);max-width:80mm;margin:0 auto;background:#fff;padding:5mm 4mm;border-radius:6px;box-shadow:0 8px 24px rgba(8,24,47,.10);color:#111;font-size:11px}
.invoice-brand{padding-bottom:3mm;margin-bottom:3mm}
.invoice-brand img{max-height:20mm;max-width:46mm;margin:0 auto 2mm;object-fit:contain}
.invoice-brand h1{font-size:15px;line-height:1.15;margin:0 0 1.2mm}
.invoice-brand p{font-size:9.5px;line-height:1.25;margin:.5mm 0}
.invoice-meta{grid-template-columns:1fr;gap:1.5mm;font-size:9.5px;line-height:1.3;margin-bottom:3mm}
.invoice-paper table{table-layout:fixed;width:100%;font-size:9.5px}
.invoice-paper table th,.invoice-paper table td{padding:2mm 1mm;border-bottom:1px solid #d8dee8;vertical-align:top}
.invoice-paper table th:first-child,.invoice-paper table td:first-child{width:48%;word-break:break-word}
.invoice-paper table th:nth-child(2),.invoice-paper table td:nth-child(2){width:13%;text-align:center}
.invoice-paper table th:nth-child(3),.invoice-paper table td:nth-child(3),
.invoice-paper table th:nth-child(4),.invoice-paper table td:nth-child(4){width:19.5%;text-align:right;white-space:nowrap}

/* El texto de cada concepto permanece a la izquierda y el valor queda
   alineado al borde derecho, incluso para números de diferente longitud. */
.invoice-totals{width:100%;max-width:none;margin:3mm 0 0 auto;padding-top:1mm}
.invoice-totals>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4mm;align-items:baseline;padding:.6mm 0;font-size:10.5px}
.invoice-totals>div>span{text-align:left;white-space:normal}
.invoice-totals>div>b{text-align:right;white-space:nowrap;min-width:22mm;font-variant-numeric:tabular-nums}
.invoice-totals>div.grand{border-top:1px dashed #777;margin-top:1mm;padding-top:1.5mm;font-size:12px}
.invoice-paper>footer{margin-top:3mm;font-size:9.5px;line-height:1.3}
.invoice-paper>footer small{font-size:8.5px}

@page{size:80mm auto;margin:3mm}
@media print{
  html,body{width:80mm!important;min-height:auto!important;margin:0!important;padding:0!important;display:block!important;background:#fff!important}
  .topbar,.app-footer,.invoice-toolbar,.flash{display:none!important}
  main.container{width:74mm!important;max-width:74mm!important;margin:0 auto!important;padding:0!important;display:block!important}
  .invoice-paper{width:74mm!important;max-width:74mm!important;margin:0!important;padding:0!important;box-shadow:none!important;border:0!important;border-radius:0!important;font-size:10px!important}
  .invoice-brand img{max-height:18mm!important}
  .invoice-paper *{color:#000!important;box-shadow:none!important}
  .invoice-paper table{font-size:9px!important}
  .invoice-paper table th,.invoice-paper table td{padding:1.4mm .7mm!important}
  .invoice-totals>div{font-size:10px!important;padding:.45mm 0!important}
  .invoice-totals>div.grand{font-size:11px!important}
  .invoice-paper>footer{font-size:9px!important}
}


/* ZULCOMANDA v0.5.5 - documentos de venta y precuenta */
.sales-document-title{text-align:center;font-weight:800;font-size:14px;letter-spacing:.35px;margin:2mm 0 3mm;text-transform:uppercase}
.fiscal-footer{border-top:1px dashed #777;margin-top:2.5mm;padding-top:2mm;font-size:8.8px;line-height:1.35;text-align:left}
.prebill-notice{text-align:center;font-size:9px;font-weight:700;margin:-1mm 0 3mm}
.prebill-detail{display:block;font-size:8.5px;line-height:1.2;margin-top:.6mm;color:#444}
.inline-form{display:inline-flex;margin:0}
@media print{.sales-document-title{font-size:13px!important}.prebill-notice{font-size:8.5px!important}.fiscal-footer{font-size:8px!important}.prebill-detail{font-size:8px!important}}

/* ZULCOMANDA v0.5.7 - parametrización ordenada y diseñador visual */
.settings-switch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.setting-switch{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff;cursor:pointer}.setting-switch input{width:20px;height:20px;margin-top:2px;accent-color:var(--primary)}.setting-switch span{display:flex;flex-direction:column;gap:4px}.setting-switch b{color:#15395f}.setting-switch small{color:var(--muted);line-height:1.35}.settings-action-grid,.designer-area-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.settings-action-card{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);border-radius:12px;padding:14px;text-decoration:none;background:#fff;color:inherit}.settings-action-card:hover{border-color:var(--primary);box-shadow:0 8px 20px rgba(13,47,120,.08)}.settings-action-card span{font-size:12px;color:var(--muted)}.api-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.api-config-grid .span3{grid-column:1/-1}
.designer-topbar{display:flex;align-items:center;gap:24px;justify-content:space-between;margin-bottom:14px}.designer-topbar label{display:flex;align-items:center;gap:8px;margin:0}.designer-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}.designer-sidebar{position:sticky;top:10px}.stacked-form{display:flex;flex-direction:column;gap:10px}.designer-side-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.designer-side-actions form{margin:0}.designer-table-list{display:flex;flex-direction:column;gap:7px;max-height:250px;overflow:auto}.designer-table-list>div{display:grid;grid-template-columns:14px 1fr;column-gap:8px;align-items:center}.designer-table-list small{grid-column:2;color:var(--muted)}.table-dot{width:10px;height:10px;border-radius:50%;background:#4d82c4}.table-dot.billiard{background:#4d7259}.floor-design-canvas{position:relative;width:100%;min-height:420px;overflow:hidden;border:2px solid #9eabb8;border-radius:14px;background-color:#f8fafc;background-image:linear-gradient(#e8edf2 1px,transparent 1px),linear-gradient(90deg,#e8edf2 1px,transparent 1px);background-size:24px 24px;touch-action:none}.floor-design-background{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}.design-table{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:50px;min-height:45px;border:2px solid #0d59cb;border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 5px 14px rgba(20,49,80,.15);cursor:grab;user-select:none;touch-action:none;overflow:visible}.design-table:active{cursor:grabbing}.design-table.is-billiard{border-color:#3e7657;background:rgba(239,249,243,.96)}.design-table.shape-round{border-radius:50%}.design-table.shape-square{border-radius:5px}.design-table.shape-billiard{border-radius:14px;border-width:3px}.design-table-name{font-weight:800;font-size:13px;text-align:center;line-height:1.1}.design-table small{font-size:10px;color:var(--muted)}.design-table-tools{position:absolute;top:-25px;right:0;display:flex;gap:2px;opacity:0;transition:.15s}.design-table:hover .design-table-tools,.design-table:focus-within .design-table-tools{opacity:1}.design-table-tools button{border:1px solid #b9c4cf;background:white;border-radius:5px;width:23px;height:23px;line-height:18px;padding:0;cursor:pointer}.designer-savebar{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.designer-restore{display:flex;justify-content:flex-end;margin-top:6px}.operation-floor-canvas{position:relative;width:100%;min-height:300px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#f5f7fa}.operation-floor-background{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.visual-table{position:absolute!important;min-height:unset!important;padding:6px!important;border-radius:10px!important;display:flex!important;overflow:hidden}.visual-table strong{font-size:clamp(11px,1.2vw,17px)!important}.visual-table span,.visual-table em,.visual-table small{font-size:clamp(8px,.8vw,11px)!important;line-height:1.1;text-align:center}.floor-designer-page .container{max-width:1600px}
@media(max-width:1050px){.designer-layout{grid-template-columns:1fr}.designer-sidebar{position:static}.settings-switch-grid,.settings-action-grid,.designer-area-links{grid-template-columns:1fr 1fr}.floor-design-canvas{min-height:360px}}
@media(max-width:700px){.settings-switch-grid,.settings-action-grid,.designer-area-links,.api-config-grid{grid-template-columns:1fr}.designer-topbar{align-items:flex-start;flex-direction:column}.floor-design-canvas{min-height:300px}.operation-floor-canvas{min-height:260px}.design-table-tools{opacity:1}}

/* ZULCOMANDA v0.5.8 - Planos unificados por nivel/planta */
.floor-level-tabs,.operation-level-tabs{display:flex;gap:8px;align-items:stretch;overflow-x:auto;padding:8px;margin-bottom:14px}
.floor-level-tab,.operation-level-tab{min-width:150px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 13px;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:2px;cursor:pointer;text-align:left;white-space:nowrap}
.floor-level-tab small,.operation-level-tab small{font-size:10px;color:var(--muted)}
.floor-level-tab.active,.operation-level-tab.active{border-color:var(--primary);box-shadow:0 4px 12px rgba(13,47,120,.12);background:#f5f9ff}
.operation-level-panel{display:none;margin-bottom:14px}.operation-level-panel.active{display:block}
.operation-level-panel>.floor-area-head{margin:0 0 8px}.operation-level-panel>.floor-area-head h2{margin:0;color:var(--primary)}
.designer-area-legend{display:flex;flex-wrap:wrap;gap:6px}
.unplaced-tables{margin-top:10px;padding:10px}.unplaced-tables>.floor-grid{margin-top:8px;margin-bottom:5px}
.level-fallback-areas .floor-area h3{margin:0;color:var(--primary)}
@media(max-width:700px){.floor-level-tabs,.operation-level-tabs{padding:6px}.floor-level-tab,.operation-level-tab{min-width:125px;padding:8px 10px}}

/* ZULCOMANDA v0.6.0 */
.zc-secret-backdrop{position:fixed;inset:0;background:rgba(10,25,50,.48);display:flex;align-items:center;justify-content:center;z-index:9999;padding:18px}.zc-secret-card{width:min(420px,100%);background:#fff;border-radius:16px;padding:20px;box-shadow:0 24px 70px rgba(0,0,0,.25)}.zc-secret-card h3{margin:0 0 8px}.zc-secret-card p{margin:0 0 14px;color:var(--muted)}.zc-secret-input{font-size:24px;letter-spacing:5px;text-align:center}.zc-secret-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.operation-floor-viewport{width:100%;display:flex;justify-content:center;align-items:flex-start;overflow:hidden;min-height:260px}.operation-floor-canvas.fit-screen{flex:0 0 auto;min-height:0;max-width:100%;max-height:calc(100vh - 190px)}
.operation-floor-canvas.fit-screen .visual-table{padding:clamp(3px,.55vw,7px)!important}.operation-floor-canvas.fit-screen .visual-table strong{font-size:clamp(9px,1.15vw,17px)!important}.operation-floor-canvas.fit-screen .visual-table span,.operation-floor-canvas.fit-screen .visual-table em,.operation-floor-canvas.fit-screen .visual-table small{font-size:clamp(7px,.72vw,11px)!important}
.commercial-items-table input[type=number]{min-width:110px}.commercial-items-table small{max-width:520px}.commercial-items-table td{vertical-align:middle}
@media(max-width:700px){.operation-floor-canvas.fit-screen{max-height:calc(100vh - 235px)}.commercial-items-table input[type=number]{min-width:90px}}


/* ==========================================================
   ZULCOMANDA v0.6.2 - operación responsive y plano legible
   ========================================================== */
.operation-screen.compact-operation .topbar{min-height:48px;padding:4px 12px;gap:16px}
.operation-screen.compact-operation .brand{min-width:184px;gap:8px}
.operation-screen.compact-operation .brandmark{width:32px;height:32px;padding:3px;border-radius:9px}
.operation-screen.compact-operation .brandmark img{width:30px!important;height:30px!important}
.operation-screen.compact-operation .brandtext strong{font-size:15px}
.operation-screen.compact-operation .topbar nav{gap:6px}
.operation-screen.compact-operation .topbar nav a{padding:5px 7px;font-size:12px}
.operation-screen.compact-operation .restaurant-chip{padding:3px 7px;gap:7px;border-radius:11px}
.operation-screen.compact-operation .restaurant-chip img,.operation-screen.compact-operation .restaurant-fallback{width:29px;height:29px}
.operation-screen.compact-operation .restaurant-chip small{font-size:9px}
.operation-screen.compact-operation .restaurant-chip b{font-size:12px;max-width:190px}
.operation-screen.compact-operation .user-meta span{font-size:12px}
.operation-screen.compact-operation .logout-link{padding:5px 7px;font-size:12px}
.operation-screen.compact-operation .container{padding:6px 10px 4px;min-height:0}
.operation-screen.compact-operation .operation-toolbar{padding:6px 10px;margin-bottom:5px;min-height:58px;border-radius:10px}
.operation-screen.compact-operation .operation-toolbar h1{font-size:18px;line-height:1;margin-bottom:3px}
.operation-screen.compact-operation .operation-toolbar>div:first-child>span{font-size:11px}
.operation-screen.compact-operation .operation-toolbar small{font-size:10px;line-height:1.15;margin-top:2px}
.operation-screen.compact-operation .operation-summary{gap:7px}
.operation-screen.compact-operation .operation-summary span{padding:5px 8px;font-size:10px}
.operation-screen.compact-operation .operation-summary b{font-size:14px}
.operation-screen.compact-operation .operation-level-tabs{padding:4px;margin:0 0 5px;gap:5px}
.operation-screen.compact-operation .operation-level-tab{min-width:130px;padding:6px 9px}
.operation-screen.compact-operation .operation-level-panel{margin-bottom:3px}
.operation-screen.compact-operation .operation-level-panel>.floor-area-head{margin:0 2px 4px;min-height:38px}
.operation-screen.compact-operation .operation-level-panel>.floor-area-head h2{font-size:18px;line-height:1;margin-bottom:2px}
.operation-screen.compact-operation .operation-level-panel>.floor-area-head small{font-size:10px}
.operation-screen.compact-operation .operation-level-panel>.floor-area-head .badge{padding:4px 9px;font-size:10px}
.operation-screen.compact-operation .operation-floor-viewport{min-height:300px;width:100%;padding:0 2px;align-items:flex-start}
.operation-screen.compact-operation .operation-floor-canvas.fit-screen{max-width:100%;max-height:none;min-height:0;border-radius:12px;box-shadow:0 6px 18px rgba(13,47,120,.06)}
.operation-screen.compact-operation .operation-floor-background{filter:contrast(1.1) saturate(.92)}
.operation-screen.compact-operation .visual-table{
  min-width:clamp(82px,6.4vw,118px)!important;
  min-height:clamp(58px,6.8vh,78px)!important;
  padding:4px 6px!important;
  justify-content:center!important;
  gap:1px!important;
  box-shadow:0 4px 12px rgba(13,47,120,.10)!important;
}
.operation-screen.compact-operation .visual-table strong{
  width:100%;font-size:clamp(12px,.88vw,15px)!important;line-height:1.05!important;text-align:center;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.operation-screen.compact-operation .visual-table span,
.operation-screen.compact-operation .visual-table em,
.operation-screen.compact-operation .visual-table small{
  width:100%;font-size:clamp(8px,.62vw,10px)!important;line-height:1.08!important;text-align:center;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0!important;
}
.operation-screen.compact-operation .visual-table .visual-table-state{font-weight:700;color:#50627a}
.operation-screen.compact-operation .visual-table .billiard-live{font-weight:800;color:#3b664f}
.operation-screen.compact-operation .visual-table.zc-table-tight .visual-table-state{font-size:8px!important}
.operation-screen.compact-operation .visual-table-owner{display:block!important;font-size:clamp(6.5px,.48vw,8.5px)!important;line-height:1!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.operation-screen.compact-operation .visual-table.zc-table-tight .visual-table-owner{display:block!important;font-size:6.3px!important}.operation-screen.compact-operation .visual-table.zc-table-very-tight .visual-table-owner{display:block!important;font-size:5.7px!important;letter-spacing:-.1px}
.operation-screen.compact-operation .visual-table.zc-table-very-tight span,
.operation-screen.compact-operation .visual-table.zc-table-very-tight small{display:none}
.operation-screen.compact-operation .visual-table.zc-table-very-tight strong{font-size:11px!important;-webkit-line-clamp:2}
body.operation-screen.compact-operation .app-footer{padding:3px 18px 7px;font-size:11px;min-height:24px}
@media(max-width:900px){
  .operation-screen.compact-operation .brand{min-width:0}.operation-screen.compact-operation .brandtext{display:none}
  .operation-screen.compact-operation .restaurant-chip small{display:none}
  .operation-screen.compact-operation .restaurant-chip b{max-width:125px}
  .operation-screen.compact-operation .operation-toolbar{flex-wrap:wrap}
  .operation-screen.compact-operation .operation-summary{order:3;width:100%;justify-content:center}
  .operation-screen.compact-operation .visual-table{min-width:78px!important;min-height:56px!important}
}
@media(max-width:600px){
  .operation-screen.compact-operation .topbar{position:sticky;min-height:44px;padding:3px 7px}
  .operation-screen.compact-operation .restaurant-chip{display:none}
  .operation-screen.compact-operation .container{padding:4px 6px}
  .operation-screen.compact-operation .operation-toolbar{padding:5px 7px}
  .operation-screen.compact-operation .operation-level-panel>.floor-area-head h2{font-size:16px}
  .operation-screen.compact-operation .operation-floor-viewport{overflow:auto;justify-content:flex-start}
}

/* ==========================================================
   ZULCOMANDA v0.6.3 - tablero operativo a pantalla completa
   Barra superior única + navegación lateral de niveles/áreas
   ========================================================== */
body.operation-screen.operation-dashboard{height:100vh;min-height:100vh;overflow:hidden;display:flex;flex-direction:column}
.operation-screen.operation-dashboard .topbar.operation-topbar{
  position:relative;top:auto;flex:0 0 54px;min-height:54px;height:54px;padding:5px 14px;gap:10px;flex-wrap:nowrap;overflow:hidden
}
.operation-screen.operation-dashboard .operation-topbar .brand{min-width:190px;flex:0 0 190px;gap:8px}
.operation-screen.operation-dashboard .operation-topbar .brandmark{width:34px;height:34px;padding:3px;border-radius:9px;flex:0 0 34px}
.operation-screen.operation-dashboard .operation-topbar .brandmark img{width:30px!important;height:30px!important}
.operation-screen.operation-dashboard .operation-topbar .brandtext strong{font-size:16px;white-space:nowrap}
.operation-screen.operation-dashboard .operation-topbar .brandtext small{display:none}
.operation-topbar-context{font-size:13px;font-weight:800;color:#fff;padding:7px 10px;border-left:1px solid rgba(255,255,255,.18);white-space:nowrap;flex:0 0 auto}
.operation-screen.operation-dashboard .operation-restaurant-chip{padding:3px 7px;gap:7px;border-radius:10px;min-width:0;max-width:230px;flex:0 1 230px}
.operation-screen.operation-dashboard .operation-restaurant-chip img,.operation-screen.operation-dashboard .operation-restaurant-chip .restaurant-fallback{width:30px;height:30px;flex:0 0 30px}
.operation-screen.operation-dashboard .operation-restaurant-chip small{font-size:8px;line-height:1}
.operation-screen.operation-dashboard .operation-restaurant-chip b{font-size:12px;max-width:172px;line-height:1.1}
.operation-topbar-summary{display:flex;align-items:center;justify-content:center;gap:5px;flex:1 1 auto;min-width:210px;overflow:hidden}
.operation-topbar-summary span{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.12);font-size:10px;white-space:nowrap;border:1px solid rgba(255,255,255,.08)}
.operation-topbar-summary b{font-size:14px;line-height:1}
.operation-topbar-summary .free b{color:#79f2b0}.operation-topbar-summary .occupied b{color:#ffd28a}.operation-topbar-summary .other b{color:#d8e3f6}
.operation-topbar-actions{display:flex;align-items:center;flex:0 0 auto}
.operation-topbar-actions .btn{margin:0;box-shadow:none;white-space:nowrap}
.operation-topbar-actions .operation-kds-link{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.26);color:#fff}
.operation-screen.operation-dashboard .operation-userbox{margin-left:0;gap:7px;flex:0 0 auto;flex-wrap:nowrap}
.operation-screen.operation-dashboard .operation-userbox .user-meta span{font-size:11px;white-space:nowrap;max-width:145px;overflow:hidden;text-overflow:ellipsis}
.operation-screen.operation-dashboard .operation-userbox .user-meta small{font-size:8px;white-space:nowrap}
.operation-screen.operation-dashboard .operation-userbox .logout-link{font-size:11px;padding:5px 6px;white-space:nowrap}

.operation-screen.operation-dashboard .container.operation-main{max-width:none;width:100%;padding:2px;min-height:0;overflow:hidden;display:flex;flex-direction:column;flex:1 1 auto}
.operation-station-alert{margin:0 0 5px;max-width:none;flex:0 0 auto;padding:8px 12px;font-size:12px}
.operation-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:3px;min-height:0;flex:1 1 auto;transition:grid-template-columns .18s ease}
.operation-workspace.sidebar-collapsed{grid-template-columns:58px minmax(0,1fr)}
.operation-sidebar{min-width:0;min-height:0;background:rgba(255,255,255,.92);border:1px solid #d6e2ef;border-radius:12px;box-shadow:0 5px 18px rgba(13,47,120,.06);display:flex;flex-direction:column;overflow:hidden}
.operation-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 9px 8px 11px;border-bottom:1px solid #e4ebf3;flex:0 0 auto}
.operation-sidebar-title{display:flex;flex-direction:column;min-width:0}.operation-sidebar-title b{font-size:13px;color:var(--primary)}.operation-sidebar-title small{font-size:9px;color:var(--muted)}
.operation-sidebar-toggle{width:29px;height:29px;display:grid;place-items:center;border:1px solid #cad7e5;background:#f8fbff;border-radius:8px;color:var(--primary);font-size:20px;line-height:1;cursor:pointer;flex:0 0 29px;padding:0}
.operation-sidebar-toggle:hover{background:#edf5ff;border-color:#9dbce2}
.operation-sidebar-levels{display:flex;flex-direction:column;gap:5px;padding:7px;overflow:auto;min-height:0;flex:1 1 auto}
.operation-sidebar .operation-level-tab{width:100%;min-width:0;margin:0;padding:9px 8px;border:1px solid #d9e3ee;background:#fff;border-radius:10px;color:var(--ink);display:grid;grid-template-columns:0 1fr auto;align-items:center;gap:0;cursor:pointer;text-align:left;white-space:normal;box-shadow:none;transition:.15s ease}
.operation-sidebar .operation-level-tab:hover{border-color:#9dbce2;background:#f8fbff}
.operation-sidebar .operation-level-tab.active{border-color:#397bd2;background:#eef6ff;box-shadow:inset 3px 0 0 #175cd3}
.operation-level-short{display:none;font-size:11px;font-weight:900;color:var(--primary)}
.operation-level-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.operation-level-copy b{font-size:12px;line-height:1.15;color:var(--primary);overflow:hidden;text-overflow:ellipsis}.operation-level-copy small{font-size:9px;line-height:1.15;color:var(--muted);white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.operation-level-count{display:grid;place-items:center;min-width:25px;height:22px;padding:0 6px;border-radius:999px;background:#edf2f7;color:#31445e;font-size:10px;font-weight:800;margin-left:6px}
.operation-sidebar-help{border-top:1px solid #e4ebf3;padding:8px 10px;display:flex;gap:7px;align-items:flex-start;color:var(--muted);font-size:9px;line-height:1.25;flex:0 0 auto}.operation-sidebar-help-icon{font-size:14px}.operation-sidebar-help-copy{display:block}
.operation-workspace.sidebar-collapsed .operation-sidebar-head{justify-content:center;padding:9px 4px}.operation-workspace.sidebar-collapsed .operation-sidebar-title{display:none}
.operation-workspace.sidebar-collapsed .operation-sidebar-levels{padding:6px 4px}
.operation-workspace.sidebar-collapsed .operation-sidebar .operation-level-tab{display:flex;align-items:center;justify-content:center;padding:8px 3px;min-height:44px;border-radius:9px;box-shadow:none}
.operation-workspace.sidebar-collapsed .operation-sidebar .operation-level-tab.active{box-shadow:inset 0 0 0 2px #397bd2}
.operation-workspace.sidebar-collapsed .operation-level-short{display:block}
.operation-workspace.sidebar-collapsed .operation-level-copy,.operation-workspace.sidebar-collapsed .operation-level-count,.operation-workspace.sidebar-collapsed .operation-sidebar-help-copy{display:none}
.operation-workspace.sidebar-collapsed .operation-sidebar-help{justify-content:center;padding:8px 3px}

.operation-stage{min-width:0;min-height:0;overflow:hidden;border:0;border-radius:0;background:#fff;position:relative}
.operation-screen.operation-dashboard .operation-level-panel{display:none;height:100%;min-height:0;margin:0;padding:0}.operation-screen.operation-dashboard .operation-level-panel.active{display:flex;flex-direction:column}
.operation-screen.operation-dashboard .operation-floor-viewport{width:100%;height:100%;min-height:0;padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}
.operation-screen.operation-dashboard .operation-floor-canvas.fit-screen{flex:0 0 auto;min-height:0;max-width:none;max-height:none;border-radius:4px;box-shadow:none;background:#fff;border:0}
.operation-screen.operation-dashboard .operation-floor-background{filter:contrast(1.13) saturate(.94)}
.operation-screen.operation-dashboard .visual-table{min-width:82px!important;min-height:58px!important;padding:4px 6px!important;justify-content:center!important;gap:1px!important;box-shadow:0 4px 12px rgba(13,47,120,.11)!important}
.operation-screen.operation-dashboard .visual-table strong{font-size:clamp(12px,.82vw,16px)!important;line-height:1.03!important}
.operation-screen.operation-dashboard .visual-table span,.operation-screen.operation-dashboard .visual-table em,.operation-screen.operation-dashboard .visual-table small{font-size:clamp(8px,.57vw,10px)!important;line-height:1.05!important}
.operation-screen.operation-dashboard .operation-unplaced{margin:0 5px 5px;padding:9px;max-height:145px;overflow:auto;flex:0 0 auto;border-radius:11px}
.operation-screen.operation-dashboard .operation-fallback-scroll{height:100%;overflow:auto;padding:10px}
.operation-screen.operation-dashboard .operation-empty{margin:10px}
body.operation-screen.operation-dashboard .app-footer{flex:0 0 24px;min-height:24px;max-width:none;width:100%;margin:0;padding:3px 12px 5px;font-size:10px;background:rgba(247,251,255,.92)}

@media(max-width:1250px){
  .operation-screen.operation-dashboard .operation-topbar .brand{min-width:165px;flex-basis:165px}.operation-screen.operation-dashboard .operation-topbar .brandtext strong{font-size:14px}
  .operation-screen.operation-dashboard .operation-restaurant-chip{max-width:175px;flex-basis:175px}.operation-screen.operation-dashboard .operation-restaurant-chip b{max-width:120px}
  .operation-topbar-context{padding-left:7px;padding-right:7px}.operation-topbar-summary{min-width:180px}.operation-topbar-summary span{padding:5px 6px}.operation-screen.operation-dashboard .operation-userbox .user-meta small{display:none}
}
@media(max-width:980px){
  .operation-screen.operation-dashboard .operation-topbar .brand{min-width:42px;flex-basis:42px}.operation-screen.operation-dashboard .operation-topbar .brandtext{display:none}
  .operation-screen.operation-dashboard .operation-restaurant-chip small{display:none}.operation-screen.operation-dashboard .operation-restaurant-chip{max-width:150px;flex-basis:150px}.operation-screen.operation-dashboard .operation-restaurant-chip b{max-width:108px}
  .operation-topbar-summary{min-width:160px}.operation-topbar-summary span{font-size:9px}.operation-topbar-summary b{font-size:13px}
  .operation-screen.operation-dashboard .operation-userbox .user-meta{display:none}
  .operation-workspace{grid-template-columns:185px minmax(0,1fr)}
}
@media(max-width:760px){
  .operation-screen.operation-dashboard .topbar.operation-topbar{height:50px;min-height:50px;flex-basis:50px;padding:4px 6px;gap:5px}
  .operation-topbar-context{display:none}.operation-screen.operation-dashboard .operation-restaurant-chip{display:none}
  .operation-topbar-summary{min-width:0;gap:3px}.operation-topbar-summary span{padding:4px 5px}.operation-topbar-summary span{font-size:0}.operation-topbar-summary span b{font-size:12px}.operation-topbar-summary .free::after{content:' L';font-size:8px}.operation-topbar-summary .occupied::after{content:' O';font-size:8px}.operation-topbar-summary .other::after{content:' +';font-size:8px}
  .operation-topbar-actions .btn{font-size:10px;padding:5px 7px}.operation-screen.operation-dashboard .operation-userbox .logout-link{font-size:10px;padding:4px}
  .operation-workspace{grid-template-columns:54px minmax(0,1fr);gap:4px}.operation-workspace:not(.sidebar-collapsed){grid-template-columns:170px minmax(0,1fr)}
  .operation-screen.operation-dashboard .container.operation-main{padding:4px}
  body.operation-screen.operation-dashboard .app-footer{display:none}
  .operation-screen.operation-dashboard .visual-table{min-width:76px!important;min-height:54px!important}
}


/* ==========================================================
   ZULCOMANDA v0.6.4 - operación, comanda y documentos 80 mm
   ========================================================== */
.operation-screen.operation-dashboard .operation-stage{box-shadow:none!important}
.operation-screen.operation-dashboard .operation-floor-viewport{margin:0!important}
.operation-screen.operation-dashboard .operation-floor-canvas.fit-screen{outline:0!important}
.compact-op-head .inline-form{display:inline-flex;margin:0}
.ticket .empty.small{font-size:11px;color:var(--muted);padding:14px 4px;text-align:center}
.ticket button:disabled{opacity:.48;cursor:not-allowed}

.invoice-detailed .invoice-generation{font-size:7.8px;text-align:center;margin-bottom:2mm;color:#444}
.invoice-brand-reference{border-bottom:0;padding-bottom:1.5mm;margin-bottom:1mm}
.invoice-brand-reference h1{font-size:16px;font-weight:900}
.invoice-fiscal-head{text-align:center;font-size:8.2px;line-height:1.25;margin:1mm 0 2mm;padding:1.5mm 0;border-top:1px dashed #777;border-bottom:1px dashed #777}
.invoice-operation-meta{font-size:8.8px;line-height:1.3;text-align:center;margin:1.5mm 0 2mm}
.invoice-customer-block{font-size:9px;line-height:1.25;margin:2mm 0 2.5mm;padding:1.5mm 0;border-top:1px dashed #999;border-bottom:1px dashed #999}
.invoice-detail-table .invoice-product-row td{border-bottom:0;padding-bottom:.6mm}
.invoice-detail-table .invoice-modifier-row td{font-size:8.4px;padding-top:.2mm;padding-bottom:.7mm;border-bottom:0;color:#333}
.invoice-detail-table .invoice-modifier-row td:first-child{padding-left:3mm}
.invoice-reference-totals{border-top:1px dashed #777;padding-top:1.5mm}
.invoice-tax-breakdown{margin-top:2.5mm;border-top:1px dashed #777;border-bottom:1px dashed #777;padding:1.5mm 0}
.invoice-tax-breakdown h3{text-align:center;font-size:9.5px;margin:0 0 1mm}
.invoice-tax-breakdown table{font-size:8.5px}
.invoice-tax-breakdown table th,.invoice-tax-breakdown table td{padding:.7mm .4mm;border:0}
.invoice-payment-block{font-size:9px;line-height:1.35;margin-top:2.5mm;padding-top:1.5mm;border-top:1px dashed #777}
.account-statement-paper{font-size:10.5px}
.account-statement-brand{padding-bottom:2mm;margin-bottom:2mm}
.account-statement-meta{font-size:9.5px;margin-bottom:2mm}
.account-statement-totals{margin-top:2mm}
@media print{
  .invoice-detailed .invoice-generation{font-size:7.4px!important}
  .invoice-fiscal-head{font-size:7.8px!important}
  .invoice-operation-meta,.invoice-customer-block,.invoice-payment-block{font-size:8.5px!important}
  .invoice-detail-table .invoice-modifier-row td{font-size:7.9px!important}
  .invoice-tax-breakdown h3{font-size:9px!important}
}
