:root{
  --ac-dark:#0F172A; --ac-dark-2:#1E293B; --ac-yellow:#F5B800; --ac-yellow-2:#FFD34D;
  --ac-bg:#F4F6FA; --ac-border:#E5E9F0; --ac-text:#0F172A; --ac-muted:#64748B;
  --bs-body-font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --bs-border-radius:.75rem; --bs-border-radius-lg:1rem;
}
body.panel{background:var(--ac-bg);color:var(--ac-text);}
.layout{display:flex;min-height:100vh;}
.btn-brand{background:var(--ac-yellow);border-color:var(--ac-yellow);color:#111;font-weight:700;}
.btn-brand:hover,.btn-brand:focus{background:var(--ac-yellow-2);border-color:var(--ac-yellow-2);color:#111;}
.btn-dark{background:var(--ac-dark);border-color:var(--ac-dark);}
.btn-icon{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;font-size:1.4rem;}
.form-control,.form-select{border-color:var(--ac-border);padding:.6rem .85rem;}
.form-control:focus,.form-select:focus{border-color:var(--ac-yellow);box-shadow:0 0 0 .2rem rgba(245,184,0,.25);}
.form-check-input:checked{background-color:var(--ac-dark);border-color:var(--ac-dark);}
.form-label{font-weight:600;font-size:.9rem;}

/* Sidebar */
.sidebar{width:260px;background:var(--ac-dark);color:#cbd5e1;display:flex;flex-direction:column;flex-shrink:0;}
@media (min-width:992px){.sidebar{position:sticky;top:0;height:100vh;}}
.sidebar-brand{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.25rem 1rem;}
.brand-name{color:#fff;font-weight:800;letter-spacing:-.02em;line-height:1.1;}
.brand-sub{font-size:.75rem;color:var(--ac-yellow);font-weight:600;}
.sidebar-negocio{margin:0 1rem 1rem;padding:.75rem;border-radius:14px;background:var(--ac-dark-2);display:flex;align-items:center;gap:.65rem;}
.sidebar-negocio img,.sidebar-negocio .ini{width:38px;height:38px;border-radius:10px;object-fit:cover;flex-shrink:0;}
.sidebar-negocio .ini{background:var(--ac-yellow);color:#111;display:flex;align-items:center;justify-content:center;font-weight:800;}
.sidebar-negocio b{color:#fff;display:block;font-size:.9rem;}
.sidebar-negocio small{font-size:.72rem;color:#94a3b8;}
.sidebar-nav{padding:0 .75rem;flex:1;overflow-y:auto;}
.sidebar-nav a{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;margin-bottom:2px;border-radius:12px;color:#cbd5e1;text-decoration:none;font-weight:500;font-size:.93rem;}
.sidebar-nav a i{font-size:1.1rem;}
.sidebar-nav a:hover{background:var(--ac-dark-2);color:#fff;}
.sidebar-nav a.active{background:var(--ac-yellow);color:#111;font-weight:700;}
.sidebar-nav .badge{background:#EF4444;}
.sidebar-nav a.active .badge{background:#111;}
.sidebar-foot{padding:1rem 1.25rem;border-top:1px solid var(--ac-dark-2);display:flex;flex-direction:column;gap:.35rem;}
.sidebar-foot a{color:#cbd5e1;text-decoration:none;font-size:.9rem;}
.sidebar-foot small{color:#64748b;font-size:.72rem;}
.offcanvas-lg.sidebar{--bs-offcanvas-width:270px;--bs-offcanvas-bg:var(--ac-dark);}

.main{flex:1;min-width:0;}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:.75rem;padding:.9rem 1.5rem;background:rgba(244,246,250,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--ac-border);}
.topbar h1{font-weight:800;letter-spacing:-.02em;}
.content{padding:1.5rem;max-width:1400px;}
@media (max-width:576px){.content{padding:1rem;}.topbar{padding:.75rem 1rem;}}
.imp-bar{background:var(--ac-yellow);color:#111;text-align:center;padding:.4rem;font-size:.9rem;}

/* Cards */
.card{border:1px solid var(--ac-border);border-radius:18px;box-shadow:0 1px 2px rgba(15,23,42,.04);}
.card-header{background:transparent;border-bottom:1px solid var(--ac-border);padding:1rem 1.25rem;font-weight:700;}
.card-body{padding:1.25rem;}
.kpi{padding:1.1rem 1.2rem;height:100%;}
.kpi .kpi-ico{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:.75rem;}
.kpi .kpi-val{font-size:1.55rem;font-weight:800;letter-spacing:-.02em;line-height:1.1;}
.kpi .kpi-lbl{color:var(--ac-muted);font-size:.85rem;font-weight:500;}
.ico-y{background:#FEF3C7;color:#B45309;} .ico-b{background:#DBEAFE;color:#1D4ED8;}
.ico-g{background:#DCFCE7;color:#15803D;} .ico-r{background:#FEE2E2;color:#B91C1C;}
.ico-s{background:#E2E8F0;color:#334155;} .ico-v{background:#EDE9FE;color:#6D28D9;}

.table{--bs-table-bg:transparent;vertical-align:middle;}
.table thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ac-muted);font-weight:700;border-bottom-width:1px;white-space:nowrap;}
.thumb{width:52px;height:52px;border-radius:12px;object-fit:cover;background:#F1F5F9;display:inline-flex;align-items:center;justify-content:center;color:#94a3b8;font-size:1.3rem;flex-shrink:0;}
.nav-pills .nav-link{color:var(--ac-muted);font-weight:600;border-radius:999px;padding:.45rem 1rem;}
.nav-pills .nav-link.active{background:var(--ac-dark);color:#fff;}
.pills-scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;}
.pills-scroll::-webkit-scrollbar{display:none;}
.empty{text-align:center;padding:3rem 1rem;color:var(--ac-muted);}
.empty i{font-size:2.5rem;display:block;margin-bottom:.5rem;opacity:.5;}

/* Pedidos */
.pedido-card{border-left:4px solid var(--ac-border);}
.pedido-card.st-pendiente{border-left-color:#F59E0B;}
.pedido-card.st-en_proceso{border-left-color:#0EA5E9;}
.pedido-card.st-listo{border-left-color:#3B82F6;}
.pedido-card.st-entregado{border-left-color:#22C55E;}
.pedido-card.st-cancelado{border-left-color:#94A3B8;opacity:.75;}
.pedido-num{font-weight:800;font-size:1.05rem;}
.copy-box{background:#F8FAFC;border:1px dashed var(--ac-border);border-radius:12px;padding:.6rem .8rem;font-family:ui-monospace,monospace;font-size:.85rem;word-break:break-all;}

/* Estilos de catálogo (selector) */
.estilo-opt{border:2px solid var(--ac-border);border-radius:16px;padding:.5rem;cursor:pointer;display:block;transition:.15s;}
.estilo-opt:hover{border-color:#cbd5e1;}
.btn-check:checked + .estilo-opt{border-color:var(--ac-yellow);box-shadow:0 0 0 .2rem rgba(245,184,0,.25);}
.estilo-prev{height:90px;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:6px;}
.estilo-prev span{display:block;border-radius:6px;}

/* Login */
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;
  background:radial-gradient(1200px 600px at 10% -10%,rgba(245,184,0,.25),transparent 60%),var(--ac-dark);
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;}
.login-card{background:#fff;border-radius:24px;padding:2.25rem 2rem;width:100%;max-width:410px;box-shadow:0 30px 60px rgba(0,0,0,.35);}

/* QR mesas */
.qr-card{border:1px solid var(--ac-border);border-radius:18px;padding:1rem;text-align:center;background:#fff;break-inside:avoid;}
.qr-card .qr{display:flex;justify-content:center;margin:.5rem 0;}
@media print{
  .sidebar,.topbar,.no-print,.imp-bar{display:none!important;}
  body.panel{background:#fff;}
  .content{padding:0;}
  .qr-grid{display:grid!important;grid-template-columns:repeat(3,1fr);gap:12px;}
}
/* Bootstrap deja transparente el offcanvas-lg en escritorio: se fuerza el fondo */
.layout .sidebar{background-color:var(--ac-dark)!important;}
