*{box-sizing:border-box}body{margin:0;font-family:'Segoe UI',Arial,sans-serif;background:#f4f6f8;color:#1f2937}.hidden{display:none!important}
.app-shell{display:grid;grid-template-columns:320px 1fr;min-height:100vh}.sidebar{background:#fff;border-right:1px solid #e5e7eb;padding:18px;min-width:260px;max-width:600px}.main-content{padding:18px}
.topbar,.panel,.card,.metric-card,.summary-card,.pos-topbar,.pos-submit-bar{background:#fff;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.06)}
.topbar{padding:14px;display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.search-wrap input{width:320px;max-width:100%}
.topbar-actions,.reports-actions,.shell-actions,.pos-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.reports-strip{padding:14px;margin-bottom:18px}.content-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:18px}
.panel{padding:16px}.card{padding:16px;margin-bottom:14px}.panel-report{margin-top:18px}.panel-head,.dialog-head,.shell-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
label{display:block;font-size:13px;color:#4b5563;margin:10px 0 6px;font-weight:600}.mini-field{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#374151;font-weight:600}.mini-field input{width:64px!important;padding:8px 8px}
input,textarea,button{font:inherit}input,textarea{width:100%;border:1px solid #d1d5db;border-radius:10px;padding:10px 12px;background:#fff}
input:focus,textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}button{border:none;background:#e5e7eb;color:#111827;padding:10px 14px;border-radius:10px;cursor:pointer;transition:.15s ease}
button:hover{transform:translateY(-1px)}button.primary{background:#2563eb;color:#fff}button.danger{background:#dc2626;color:#fff}button.small{padding:6px 10px;font-size:12px}button.full{width:100%}.muted{color:#6b7280;font-size:13px}
.status-badge{margin-top:10px;font-size:13px;background:#eef2ff;color:#3730a3;padding:8px 10px;border-radius:999px;display:inline-block}.panel-shell{overflow:auto}.resizable-x{resize:horizontal;overflow:auto}.resizable-both{resize:both;overflow:auto;min-height:320px}.is-collapsed .shell-body{display:none}
.menu-grid,.pos-menu-grid{display:grid;gap:12px}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.pos-menu-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));padding:18px}
.menu-item,.pos-menu-item{border:1px solid #e5e7eb;border-radius:14px;padding:14px;background:#f9fafb}.menu-item h4,.pos-menu-item h4{margin:0 0 8px;font-size:15px}.menu-item .price,.pos-menu-item .price{font-weight:700;margin-bottom:12px}
.pos-menu-item{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;user-select:none;cursor:move;background:linear-gradient(180deg,#2563eb,#1d4ed8);color:#fff;border:none}.pos-menu-item .price{margin-bottom:0}
.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px 10px;border-bottom:1px solid #eef2f7;text-align:left;vertical-align:top}th.num,td.num{text-align:right}.empty-row{text-align:center;color:#6b7280;padding:24px}
.qty-controls{display:inline-flex;align-items:center;gap:8px}.qty-badge{min-width:28px;text-align:center;font-weight:700}.summary-grid{display:grid;grid-template-columns:1fr 280px;gap:16px;margin-top:18px}.summary-card{padding:16px}
.sum-row{display:flex;justify-content:space-between;margin-bottom:12px}.sum-row.total{padding-top:12px;border-top:1px solid #e5e7eb;font-size:18px}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric-card{padding:18px}.metric-card span{color:#6b7280;font-size:13px}.metric-card strong{display:block;margin-top:10px;font-size:26px}.recent-sales{margin-top:18px}
dialog{border:none;border-radius:16px;width:min(980px,calc(100vw - 24px));padding:18px;box-shadow:0 20px 50px rgba(0,0,0,.22)}dialog::backdrop{background:rgba(15,23,42,.4)}.dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialog-actions{margin:14px 0}
.pos-view{min-height:100vh;padding:14px;background:#eef2f7}.pos-topbar{padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.pos-title{font-size:22px;font-weight:700}
.back-btn{background:#111827;color:#fff;padding:12px 18px;font-size:18px}.pos-submit-bar{position:sticky;bottom:10px;margin:0 18px 18px;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.pos-total-text{font-size:22px;font-weight:600}.pos-submit-btn{background:#16a34a;color:#fff;font-size:28px;font-weight:800;padding:18px 38px;min-width:240px}
@media (max-width:1100px){.app-shell{grid-template-columns:1fr}.content-grid{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.main-content,.sidebar,.pos-view{padding:12px}.topbar,.pos-topbar{flex-direction:column;align-items:stretch}.search-wrap input{width:100%}.summary-grid,.dialog-grid,.dashboard-grid{grid-template-columns:1fr}.pos-submit-bar{flex-direction:column}.pos-submit-btn{width:100%;min-width:0}}
@media print{.sidebar,.topbar,.reports-strip,#manageMenuBtn,#clearBillBtn,.panel-report,.menu-item button,button,dialog,#posView{display:none!important}body{background:#fff}.app-shell,.content-grid{display:block}.panel{box-shadow:none;border:1px solid #ddd;resize:none!important}}


.print-invoice-sheet{display:none}
.print-invoice-card{
  width:760px;
  max-width:100%;
  margin:0 auto;
  background:#fff;
  color:#111827;
  padding:28px;
}
.print-header{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
  border-bottom:2px solid #e5e7eb;
  padding-bottom:14px;
}
.print-header h1{
  margin:0;
  font-size:30px;
}
.print-meta{
  font-size:14px;
  line-height:1.8;
  text-align:right;
}
.print-table{
  width:100%;
  border-collapse:collapse;
  margin-top:12px;
}
.print-table th,
.print-table td{
  border-bottom:1px solid #dbe2ea;
  padding:10px 8px;
}
.print-summary{
  width:320px;
  margin-left:auto;
  margin-top:18px;
}
.print-summary div{
  display:flex;
  justify-content:space-between;
  padding:8px 0;
}
.print-summary .grand{
  border-top:2px solid #111827;
  margin-top:6px;
  padding-top:12px;
  font-size:20px;
}
.print-footer{
  margin-top:24px;
  padding-top:12px;
  border-top:1px dashed #cbd5e1;
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:14px;
}
@media print{
  body *{visibility:hidden !important}
  #printInvoiceSheet,#printInvoiceSheet *{visibility:visible !important}
  #printInvoiceSheet{
    display:block !important;
    position:absolute;
    inset:0;
    background:#fff;
    padding:0;
    margin:0;
  }
  .print-invoice-card{
    width:100%;
    padding:20px;
    box-shadow:none;
  }
}


.auto-print-on{
  background:#16a34a !important;
  color:#fff !important;
}
.auto-print-off{
  background:#e5e7eb !important;
  color:#111827 !important;
}

/* thermal print tuning */
@media print{
  #printInvoiceSheet .print-invoice-card{
    width:80mm !important;
    max-width:80mm !important;
    padding:8px !important;
    font-size:12px !important;
  }
  #printInvoiceSheet .print-header{
    display:block !important;
    margin-bottom:8px !important;
    padding-bottom:6px !important;
    border-bottom:1px solid #000 !important;
  }
  #printInvoiceSheet .print-header h1{
    font-size:18px !important;
    text-align:center !important;
  }
  #printInvoiceSheet .print-meta{
    text-align:left !important;
    font-size:11px !important;
    line-height:1.4 !important;
  }
  #printInvoiceSheet .print-table th,
  #printInvoiceSheet .print-table td{
    padding:4px 2px !important;
    font-size:11px !important;
  }
  #printInvoiceSheet .print-summary{
    width:100% !important;
    margin-left:0 !important;
    margin-top:10px !important;
  }
  #printInvoiceSheet .print-summary .grand{
    font-size:14px !important;
  }
  #printInvoiceSheet .print-footer{
    margin-top:10px !important;
    padding-top:8px !important;
    font-size:11px !important;
    display:block !important;
  }
  @page{
    size:80mm auto;
    margin:4mm;
  }
}

/* Enterprise modules - added without changing existing style */
.enterprise-modules{margin-bottom:18px}
.module-tabs{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.module-tab.active{background:#2563eb;color:#fff}
.module-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px}
.module-toolbar select,.mini-field select{border:1px solid #d1d5db;border-radius:10px;padding:8px 10px;background:#fff}
.module-panel{margin-top:12px}
.enterprise-kpis{margin-bottom:16px}
.two-col-module{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.flush-card{box-shadow:none;border:1px solid #eef2f7;margin-bottom:16px}
.form-grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:end;margin-bottom:12px}
.backup-upload{display:inline-flex;align-items:center;justify-content:center;border:none;background:#e5e7eb;color:#111827;padding:10px 14px;border-radius:10px;cursor:pointer;margin:0;font-size:inherit;font-weight:400}
.profit-positive{color:#16a34a!important}.profit-negative{color:#dc2626!important}
@media (max-width:1200px){.form-grid-5{grid-template-columns:repeat(2,1fr)}.two-col-module{grid-template-columns:1fr}}
@media (max-width:760px){.form-grid-5{grid-template-columns:1fr}.module-tabs{width:100%}.module-tab{flex:1}}
