*{box-sizing:border-box}
body{margin:0;font-family:Arial,sans-serif;background:#0f172a;color:#e5e7eb}
.topbar{height:64px;background:#020617;border-bottom:1px solid #334155;display:flex;align-items:center;gap:14px;padding:0 18px;position:sticky;top:0;z-index:1000}
.topbar h2{margin:0;font-size:20px}.topbar span{font-size:12px;color:#94a3b8}
.brand-title{flex:1}
.right-logo{margin-left:auto}
.logo{width:50px;height:50px;object-fit:contain;background:#fff;border-radius:8px;padding:4px;display:none}
.menu-btn{background:#2563eb;color:#fff;border:none;padding:9px 14px;border-radius:8px;font-size:20px;cursor:pointer}
.container{display:flex}
.sidebar{width:245px;min-height:calc(100vh - 64px);background:#020617;padding:15px;border-right:1px solid #334155;transition:.3s}
.sidebar.hide{margin-left:-245px}
.nav-btn{
  width:100%;
  padding:10px 12px;
  margin-bottom:8px;
  background:#1e293b;
  color:#fff;
  border:1px solid #334155;
  border-left:4px solid #38bdf8;
  border-radius:14px;
  cursor:pointer;
  text-align:center;
  font-size:14px;
  font-weight:600;
  box-shadow:0 4px 12px rgba(0,0,0,.22);
  transition:.2s;
}
.nav-btn:hover,.nav-btn.active{background:#2563eb}.nav-btn.danger{background:#dc2626}
.main-content{flex:1;padding:20px;overflow-x:auto}.hidden{display:none!important}
h1{margin-top:0;color:#f8fafc}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:14px}
.card{background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid #334155;border-radius:12px;padding:10px 14px;min-height:75px;box-shadow:0 4px 12px rgba(0,0,0,.22)}
.card h3{margin:0;color:#93c5fd;font-size:13px}.card p{margin:6px 0 0;font-size:22px;font-weight:bold;color:#fff}
.form-grid,.filter-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px}
.ledger-summary{margin-bottom:12px}
.import-box{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 15px 0;background:#1e293b;border:1px solid #334155;border-radius:12px;padding:12px}
.import-box input{max-width:260px}
input,select,button{padding:11px;border-radius:8px;border:1px solid #334155;background:#1e293b;color:#e5e7eb;outline:none}
input:focus,select:focus{border-color:#2563eb}
button{background:#2563eb;border:none;cursor:pointer;font-weight:bold}
button:hover{opacity:.9}
table{width:100%;border-collapse:collapse;background:#1e293b;border-radius:12px;overflow:hidden;margin-top:15px}
th,td{padding:11px;border-bottom:1px solid #334155;text-align:left;white-space:nowrap;font-size:14px;overflow:hidden;text-overflow:ellipsis}
th{background:#020617;color:#93c5fd}tr:hover{background:#334155}
.panel{margin-top:18px;background:#1e293b;border:1px solid #334155;border-radius:14px;padding:14px;overflow:auto}
.panel-title{font-size:18px;font-weight:bold;color:#93c5fd;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.hint{font-size:12px;color:#cbd5e1;font-weight:normal}
.panel table{min-width:1100px;margin-top:0}
#dashboardGrid{table-layout:fixed;width:100%}
#dashboardGrid th{position:relative;user-select:none}
.col-resizer{position:absolute;right:0;top:0;width:7px;height:100%;cursor:col-resize;background:transparent}
.col-resizer:hover{background:#38bdf8}
.small-btn{padding:6px 10px;font-size:12px;margin:2px}.delete-btn{background:#dc2626}.edit-btn{background:#16a34a}.cancel-btn{background:#ea580c}.share-btn{background:#0891b2}.mail-btn{background:#7c3aed}.history-btn{background:#475569}.export-btn{background:#0d9488}
.status-sent{color:#facc15;font-weight:bold}.status-partial{color:#38bdf8;font-weight:bold}.status-received{color:#22c55e;font-weight:bold}.status-cancelled{color:#f87171;font-weight:bold}.low-stock{color:#f87171;font-weight:bold}
.note{background:#1e293b;border-left:4px solid #38bdf8;padding:12px;border-radius:8px;color:#cbd5e1;margin-bottom:15px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:2000;display:flex;align-items:center;justify-content:center;padding:15px}
.modal-box{background:#0f172a;border:1px solid #334155;border-radius:14px;width:min(720px,96vw);max-height:85vh;overflow:auto;padding:18px}
.modal-header{display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;color:#93c5fd}.modal-header button{background:#dc2626;font-size:20px;padding:6px 12px}
@media(max-width:768px){.sidebar{position:fixed;top:64px;left:0;z-index:999}.sidebar.hide{margin-left:-245px}.main-content{padding:12px}.topbar h2{font-size:16px}.topbar span{display:none}}


/* AI / AGING REPORT */

.aging-badge{
  display:inline-block;
  padding:4px 8px;
  border-radius:999px;
  font-size:12px;
  font-weight:bold;
}

.aging-normal{
  background:#14532d;
  color:#bbf7d0;
}

.aging-warning{
  background:#713f12;
  color:#fde68a;
}

.aging-critical{
  background:#7f1d1d;
  color:#fecaca;
}

.ai-narration{
  white-space:normal;
  min-width:260px;
  line-height:1.35;
  color:#dbeafe;
}

.draft-btn{
  background:#9333ea;
}


/* HINDI ERP CHATBOT */

.chatbot-widget{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:3000;
}

.chatbot-toggle{
  background:#2563eb;
  color:#fff;
  border:none;
  border-radius:999px;
  padding:12px 18px;
  box-shadow:0 10px 25px rgba(0,0,0,.35);
  font-weight:bold;
}

.chatbot-panel{
  width:360px;
  max-width:calc(100vw - 24px);
  height:520px;
  background:#0f172a;
  border:1px solid #334155;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 20px 45px rgba(0,0,0,.5);
  display:flex;
  flex-direction:column;
}

.chatbot-header{
  background:#020617;
  border-bottom:1px solid #334155;
  padding:12px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.chatbot-header span{
  display:block;
  font-size:11px;
  color:#94a3b8;
  margin-top:2px;
}

.chatbot-header button{
  background:#dc2626;
  padding:5px 10px;
  font-size:18px;
}

.chatbot-messages{
  flex:1;
  padding:12px;
  overflow-y:auto;
  background:#0f172a;
}

.bot-msg,
.user-msg{
  padding:10px 12px;
  border-radius:12px;
  margin-bottom:10px;
  font-size:13px;
  line-height:1.45;
  white-space:pre-line;
}

.bot-msg{
  background:#1e293b;
  color:#dbeafe;
  border:1px solid #334155;
}

.user-msg{
  background:#2563eb;
  color:#fff;
  margin-left:35px;
}

.chatbot-suggestions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  padding:8px 10px;
  border-top:1px solid #334155;
  background:#020617;
}

.chatbot-suggestions button{
  padding:6px 8px;
  font-size:11px;
  background:#334155;
}

.chatbot-input-box{
  display:flex;
  gap:8px;
  padding:10px;
  border-top:1px solid #334155;
  background:#020617;
}

.chatbot-input-box input{
  flex:1;
}

.chatbot-input-box button{
  min-width:70px;
}

.chatbot-table{
  width:100%;
  margin-top:8px;
  border-collapse:collapse;
}

.chatbot-table th,
.chatbot-table td{
  border-bottom:1px solid #334155;
  padding:6px;
  font-size:12px;
  white-space:normal;
}

.chatbot-table th{
  color:#93c5fd;
  background:#020617;
}

@media(max-width:768px){
  .chatbot-panel{
    width:calc(100vw - 24px);
    height:70vh;
  }

  .chatbot-widget{
    right:12px;
    bottom:12px;
  }
}


/* FIRM MASTER */

.firm-preview{
  background:#0f172a;
  border:1px solid #334155;
  border-radius:12px;
  padding:15px;
  line-height:1.6;
  min-height:100px;
}

.firm-preview img{
  width:80px;
  height:80px;
  object-fit:contain;
  background:#fff;
  border-radius:8px;
  padding:5px;
  float:right;
  margin-left:15px;
}

.firm-preview b{
  color:#93c5fd;
}

/* GATE ENTRY */

#gateEntryTable td,
#gateEntryTable th{
  font-size:13px;
}

#gateReportTable td,
#gateReportTable th{
  font-size:13px;
}


/* LOGIN / ADMIN PANEL */

.login-screen{
  position:fixed;
  inset:0;
  background:linear-gradient(135deg,#020617,#0f172a);
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.login-card{
  width:min(420px,95vw);
  background:#1e293b;
  border:1px solid #334155;
  border-radius:18px;
  padding:28px;
  box-shadow:0 25px 70px rgba(0,0,0,.55);
}

.login-card h2{
  margin:0;
  color:#93c5fd;
  font-size:28px;
  text-align:center;
}

.login-card p{
  text-align:center;
  color:#cbd5e1;
  margin-bottom:20px;
}

.login-card input,
.login-card button{
  width:100%;
  margin-bottom:12px;
}

.login-help{
  font-size:12px;
  color:#cbd5e1;
  text-align:center;
  margin-top:8px;
}

.logged-user{
  background:#1e293b;
  border:1px solid #334155;
  border-radius:8px;
  padding:8px 10px;
  color:#e5e7eb;
  font-size:13px;
}

.logout-btn{
  background:#dc2626;
  padding:8px 12px;
}

.permission-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:10px;
  margin-top:12px;
}

.permission-item{
  background:#0f172a;
  border:1px solid #334155;
  border-radius:10px;
  padding:10px;
  display:flex;
  align-items:center;
  gap:10px;
}

.permission-item input{
  width:auto;
}

.access-denied{
  background:#7f1d1d;
  border:1px solid #ef4444;
  color:#fecaca;
  padding:18px;
  border-radius:14px;
  font-weight:bold;
  text-align:center;
}

@media(max-width:768px){
  .logged-user{
    display:none;
  }

  .logout-btn{
    padding:8px;
    font-size:12px;
  }
}


/* ALL REPORTS SINGLE PAGE */

.report-panel{
  margin-bottom:18px;
}

#reports .panel-title{
  border-bottom:1px solid #334155;
  padding-bottom:10px;
}


/* REPORTS DROPDOWN SIDEBAR */

.reports-parent{
  position:relative;
}

.report-submenu{
  margin: -4px 0 10px 12px;
  padding-left:10px;
  border-left:2px solid #38bdf8;
}

.report-sub-btn{
  font-size:12px !important;
  padding:8px 10px !important;
  margin-bottom:6px !important;
  border-radius:10px !important;
  background:#0f172a !important;
  color:#e5e7eb !important;
  text-align:center !important;
}

.report-sub-btn:hover,
.report-sub-btn.active{
  background:#2563eb !important;
  color:#fff !important;
  transform:none !important;
}

.report-panel{
  margin-bottom:18px;
}

/* ACCOUNTING MODULE */
#accounting .panel{margin-bottom:18px}
#accounting table{min-width:900px}
.amount-dr{color:#f87171;font-weight:bold}
.amount-cr{color:#22c55e;font-weight:bold}
.acc-balance{font-weight:bold;color:#93c5fd}

/* PART MASTER EXTRA FIELDS */
#partMaster table{
  min-width:1250px;
}
#partTable td,
#partTable th{
  font-size:13px;
}


/* PROFESSIONAL 3-COLUMN PART MASTER FORM */

.part-master-form{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
  background:#1e293b;
  border:1px solid #334155;
  border-left:4px solid #38bdf8;
  border-radius:14px;
  padding:16px;
  box-shadow:0 4px 12px rgba(0,0,0,.22);
  margin-bottom:18px;
}

.part-master-form input,
.part-master-form select{
  width:100%;
  min-height:42px;
}

.part-master-form button{
  grid-column:1 / -1;
  width:220px;
  justify-self:end;
}

#partMaster .import-box{
  background:#1e293b;
  border:1px solid #334155;
  border-left:4px solid #38bdf8;
  border-radius:14px;
  box-shadow:0 4px 12px rgba(0,0,0,.22);
}

@media(max-width:1000px){
  .part-master-form{
    grid-template-columns:repeat(2, 1fr);
  }
}

@media(max-width:650px){
  .part-master-form{
    grid-template-columns:1fr;
  }

  .part-master-form button{
    width:100%;
  }
}





/* SAME A4 3-COLUMN DESIGN FOR MAIN MODULES */

.a4-module{
  max-width:1120px;
  margin:0 auto;
}

.professional-module-form{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
  background:#1e293b;
  border:1px solid #334155;
  border-left:4px solid #38bdf8;
  border-radius:14px;
  padding:16px;
  box-shadow:0 4px 12px rgba(0,0,0,.22);
  margin-bottom:18px;
  max-width:1080px;
}

.professional-module-form input,
.professional-module-form select{
  width:100%;
  min-height:42px;
}

.professional-module-form button{
  min-height:42px;
}

#adminPanel .panel,
#firmMaster .panel,
#partyMaster table,
#gateEntry table,
#challanOut table,
#challanIn table,
#accounting .panel{
  max-width:1080px;
  margin-left:auto;
  margin-right:auto;
}

/* Admin settings panels may have many controls; keep clean layout */
#adminPanel .professional-module-form button,
#firmMaster .professional-module-form button,
#accounting .professional-module-form button{
  width:100%;
}

/* Small forms like Challan Out/In remain aligned */
#challanOut .professional-module-form,
#challanIn .professional-module-form,
#gateEntry .professional-module-form,
#partyMaster .professional-module-form,
#firmMaster .professional-module-form{
  grid-template-columns:repeat(3, 1fr);
}

/* Accounting tables need scroll but same card width */
#accounting table,
#adminPanel table,
#gateEntry table,
#challanOut table,
#challanIn table,
#partyMaster table{
  width:100%;
}

@media(max-width:1000px){
  .professional-module-form{
    grid-template-columns:repeat(2, 1fr);
  }

  #challanOut .professional-module-form,
  #challanIn .professional-module-form,
  #gateEntry .professional-module-form,
  #partyMaster .professional-module-form,
  #firmMaster .professional-module-form{
    grid-template-columns:repeat(2, 1fr);
  }
}

@media(max-width:650px){
  .professional-module-form{
    grid-template-columns:1fr;
  }

  #challanOut .professional-module-form,
  #challanIn .professional-module-form,
  #gateEntry .professional-module-form,
  #partyMaster .professional-module-form,
  #firmMaster .professional-module-form{
    grid-template-columns:1fr;
  }
}

/* PARTY TYPE AND PART CODE */
#partMaster table{min-width:1450px}
#partyMaster table{min-width:950px}

/* UPDATED PART MASTER REQUIRED FIELDS */
#partMaster table{min-width:1500px;}


/* ===== LAYOUT FIX AFTER A4 DESIGN ===== */

.container{
  display:flex;
  width:100%;
  max-width:none !important;
  margin:0 !important;
}

.sidebar{
  width:245px;
  min-width:245px;
  flex:0 0 245px;
  margin-left:0 !important;
}

.sidebar.hide{
  margin-left:-245px !important;
}

.main-content{
  flex:1;
  width:calc(100vw - 245px);
  max-width:none !important;
  margin:0 !important;
  padding:20px 28px;
  overflow-x:auto;
}

.page{
  max-width:none !important;
  margin:0 !important;
  width:100%;
}

/* A4 style only for forms/panels, not for full layout */
.professional-module-form,
.part-master-form{
  max-width:1080px;
  margin-left:0;
  margin-right:auto;
}

.panel,
.cards,
.note,
.import-box{
  max-width:1080px;
}

/* Dashboard table should use available width */
#dashboard .panel{
  max-width:none;
  width:100%;
}

#dashboardGrid{
  min-width:1100px;
}

@media(max-width:768px){
  .main-content{
    width:100%;
    padding:12px;
  }

  .sidebar{
    position:fixed;
    top:64px;
    left:0;
    z-index:999;
  }
}



/* =========================================================
   NAVY BLUE INDUSTRIAL ERP + SOFT GLASS THEME
   Added for professional ERP look with compact icons
========================================================= */

:root{
  --erp-bg:#0b1120;
  --erp-bg2:#172554;
  --erp-sidebar:#0f172a;
  --erp-top:#020617;
  --erp-card:rgba(17,28,52,.88);
  --erp-card2:rgba(22,33,62,.92);
  --erp-panel:rgba(17,28,52,.82);
  --erp-border:#22304d;
  --erp-border2:#334155;
  --erp-primary:#2563eb;
  --erp-primary2:#3b82f6;
  --erp-text:#f1f5f9;
  --erp-muted:#94a3b8;
  --erp-success:#10b981;
  --erp-danger:#ef4444;
  --erp-warning:#f59e0b;
  --erp-shadow:0 10px 30px rgba(0,0,0,.26);
  --erp-radius:14px;
}

body.theme-navy,
body{
  font-family:'Inter','Segoe UI',Arial,sans-serif !important;
  background:
    radial-gradient(circle at top left, rgba(37,99,235,.22), transparent 35%),
    linear-gradient(135deg,var(--erp-bg),#111827 45%,#0b1120) !important;
  color:var(--erp-text) !important;
}

/* Light fallback theme */
body.theme-light{
  --erp-bg:#eef4fb;
  --erp-bg2:#dbeafe;
  --erp-sidebar:#0f172a;
  --erp-top:#ffffff;
  --erp-card:#ffffff;
  --erp-card2:#f8fafc;
  --erp-panel:#ffffff;
  --erp-border:#cbd5e1;
  --erp-border2:#e2e8f0;
  --erp-text:#0f172a;
  --erp-muted:#475569;
  background:#eef4fb !important;
  color:#0f172a !important;
}

/* Topbar */
.topbar{
  background:linear-gradient(135deg,rgba(2,6,23,.96),rgba(15,23,42,.94)) !important;
  border-bottom:1px solid var(--erp-border) !important;
  box-shadow:0 8px 28px rgba(0,0,0,.32) !important;
  backdrop-filter:blur(10px);
}

body.theme-light .topbar{
  background:#ffffff !important;
  color:#0f172a !important;
  border-bottom:1px solid #cbd5e1 !important;
}

.brand-title h2,
.topbar h2{
  color:#f8fafc !important;
  letter-spacing:.2px;
  font-weight:800;
}

body.theme-light .brand-title h2,
body.theme-light .topbar h2{
  color:#0f172a !important;
}

.topbar span{
  color:#93c5fd !important;
}

/* Theme button */
.theme-toggle{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#1d4ed8,#2563eb) !important;
  border:1px solid rgba(147,197,253,.35) !important;
  border-radius:12px !important;
  color:#fff !important;
  box-shadow:0 6px 16px rgba(37,99,235,.35);
}

/* Sidebar */
.sidebar{
  background:
    linear-gradient(180deg,rgba(15,23,42,.98),rgba(2,6,23,.98)) !important;
  border-right:1px solid var(--erp-border) !important;
  box-shadow:8px 0 24px rgba(0,0,0,.18);
}

.nav-btn{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  text-align:left !important;
  background:rgba(15,23,42,.72) !important;
  color:#cbd5e1 !important;
  border:1px solid rgba(51,65,85,.9) !important;
  border-left:3px solid rgba(56,189,248,.55) !important;
  border-radius:12px !important;
  min-height:38px !important;
  padding:9px 12px !important;
  font-size:13px !important;
  font-weight:700 !important;
  box-shadow:none !important;
}

.nav-btn:hover{
  background:rgba(30,58,138,.85) !important;
  color:#fff !important;
  transform:translateX(2px);
}

.nav-btn.active{
  background:linear-gradient(135deg,#2563eb,#1d4ed8) !important;
  border-color:#60a5fa !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(37,99,235,.32) !important;
}

.nav-icon{
  width:18px;
  min-width:18px;
  text-align:center;
  font-size:14px;
  opacity:.95;
}

.report-submenu{
  border-left:2px solid #38bdf8 !important;
  margin-left:16px !important;
}

.report-sub-btn{
  font-size:12px !important;
  padding:8px 10px !important;
  min-height:32px !important;
}

/* Main area */
.main-content{
  background:transparent !important;
}

h1{
  color:#f8fafc !important;
  font-weight:800 !important;
  letter-spacing:.1px;
}

body.theme-light h1{
  color:#0f172a !important;
}

/* Cards / panels */
.card,
.panel,
.note,
.import-box,
.firm-preview,
.login-card,
.modal-box,
.permission-item{
  background:linear-gradient(145deg,var(--erp-card),var(--erp-card2)) !important;
  border:1px solid var(--erp-border) !important;
  border-radius:var(--erp-radius) !important;
  box-shadow:var(--erp-shadow) !important;
  backdrop-filter:blur(10px);
}

.card{
  min-height:64px !important;
  padding:12px 14px !important;
}

.card h3{
  color:#93c5fd !important;
  font-size:12px !important;
  text-transform:uppercase;
  letter-spacing:.4px;
}

.card p{
  color:#fff !important;
  font-size:22px !important;
}

body.theme-light .card p,
body.theme-light .panel,
body.theme-light .note,
body.theme-light .firm-preview{
  color:#0f172a !important;
}

.panel-title{
  color:#bfdbfe !important;
  font-weight:800 !important;
  font-size:16px !important;
  border-bottom:1px solid rgba(148,163,184,.16);
  padding-bottom:8px;
}

/* Compact professional forms */
.form-grid,
.filter-box{
  gap:10px !important;
}

input,
select,
textarea{
  background:rgba(15,23,42,.96) !important;
  border:1px solid var(--erp-border2) !important;
  color:#f8fafc !important;
  border-radius:10px !important;
  min-height:38px;
  font-size:13px !important;
  transition:.18s ease;
}

input::placeholder,
textarea::placeholder{
  color:#94a3b8 !important;
  opacity:1;
}

input:focus,
select:focus,
textarea:focus{
  border-color:#60a5fa !important;
  box-shadow:0 0 0 3px rgba(37,99,235,.22) !important;
  outline:none !important;
}

body.theme-light input,
body.theme-light select,
body.theme-light textarea{
  background:#ffffff !important;
  color:#0f172a !important;
  border-color:#cbd5e1 !important;
}

/* Buttons */
button{
  border-radius:10px !important;
  font-weight:800 !important;
  letter-spacing:.1px;
}

button:not(.nav-btn):not(.menu-btn):not(.logout-btn):not(.theme-toggle){
  background:linear-gradient(135deg,#2563eb,#1d4ed8) !important;
  border:1px solid rgba(147,197,253,.25) !important;
  box-shadow:0 4px 12px rgba(37,99,235,.22);
}

button:hover{
  opacity:1 !important;
  filter:brightness(1.08);
}

.delete-btn,
.cancel-btn,
.nav-btn.danger,
.logout-btn{
  background:linear-gradient(135deg,#dc2626,#991b1b) !important;
}

.edit-btn{
  background:linear-gradient(135deg,#16a34a,#15803d) !important;
}

.export-btn{
  background:linear-gradient(135deg,#0d9488,#0f766e) !important;
}

.share-btn{
  background:linear-gradient(135deg,#0891b2,#0e7490) !important;
}

.mail-btn{
  background:linear-gradient(135deg,#7c3aed,#6d28d9) !important;
}

/* Tables */
table{
  background:rgba(17,24,39,.96) !important;
  border:1px solid var(--erp-border) !important;
  border-radius:14px !important;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}

th{
  background:linear-gradient(135deg,#172554,#1e3a8a) !important;
  color:#bfdbfe !important;
  font-size:12px !important;
  text-transform:uppercase;
  letter-spacing:.25px;
}

td{
  border-bottom:1px solid rgba(51,65,85,.72) !important;
  color:#e5e7eb !important;
  font-size:13px !important;
}

tr:hover{
  background:rgba(37,99,235,.18) !important;
}

body.theme-light table{
  background:#ffffff !important;
}

body.theme-light td{
  color:#0f172a !important;
}

/* Status */
.status-sent,
.status-partial,
.status-received,
.status-cancelled,
.low-stock{
  font-weight:800 !important;
}

/* A4 modules */
.a4-module{
  background:transparent !important;
}

/* Login */
.login-screen{
  background:
    radial-gradient(circle at top,rgba(37,99,235,.26),transparent 30%),
    linear-gradient(135deg,#020617,#0f172a,#172554) !important;
}

.login-card{
  border-color:#334155 !important;
}

.login-card h2{
  color:#bfdbfe !important;
}

/* Chatbot */
.chatbot-panel,
.chatbot-header,
.chatbot-messages,
.chatbot-input-box,
.chatbot-suggestions{
  border-color:var(--erp-border) !important;
}

.chatbot-panel{
  background:linear-gradient(145deg,rgba(15,23,42,.96),rgba(17,28,52,.94)) !important;
  backdrop-filter:blur(12px);
}

/* Small refresh-style icon support beside h1 via pseudo styling if added later */
.page h1::before{
  content:"";
  display:inline-block;
  width:6px;
  height:22px;
  border-radius:999px;
  background:linear-gradient(180deg,#38bdf8,#2563eb);
  margin-right:9px;
  vertical-align:-4px;
}

/* Scrollbar */
::-webkit-scrollbar{
  width:8px;
  height:8px;
}
::-webkit-scrollbar-thumb{
  background:#475569;
  border-radius:999px;
}
::-webkit-scrollbar-thumb:hover{
  background:#64748b;
}

/* Responsive compact */
@media(max-width:768px){
  .nav-btn{
    justify-content:flex-start !important;
  }

  .topbar{
    gap:8px !important;
  }

  .theme-toggle{
    width:34px;
    height:34px;
  }
}


/* =========================================================
   FINAL CLEAN DROPDOWN + COMPACT UI PATCH
========================================================= */
#outPartSearch,
#gatePartSearch,
label[for="outPartSearch"],
label[for="gatePartSearch"]{
  display:none !important;
}

.searchable-select,
.searchable-select-button,
.searchable-select-panel,
.searchable-select-options,
.searchable-option,
.fake-select,
.search-select,
.custom-select,
.select-button,
.dropdown-button,
.searchable-dropdown,
.select-display{
  display:none !important;
}

select.searchable-native,
select{
  display:block !important;
  position:static !important;
  opacity:1 !important;
  visibility:visible !important;
  width:100% !important;
  height:36px !important;
  min-height:36px !important;
  background:#0f1b2f !important;
  color:#e5e7eb !important;
  border:1px solid #30445f !important;
  border-radius:8px !important;
  padding:6px 10px !important;
  font-size:13px !important;
  font-weight:500 !important;
  box-shadow:none !important;
  appearance:auto !important;
  -webkit-appearance:menulist !important;
}

input,
textarea{
  height:36px !important;
  min-height:36px !important;
  padding:6px 10px !important;
  font-size:13px !important;
  font-weight:500 !important;
  border-radius:8px !important;
}

label,
.form-label,
.field-label{
  font-size:12px !important;
  font-weight:500 !important;
  color:#cbd5e1 !important;
  margin-bottom:4px !important;
}

#challanOut .note,
#challanOut .gst-note,
#challanOut .info-box,
.gst-rule-note,
.gst-info-note,
.gst-note,
.challan-gst-note{
  display:none !important;
}


/* =========================================================
   FINAL ADMIN COMPACT TILE + CAPTION + FORM TEXT FIX
========================================================= */
/* Admin 5 tiles in one line on desktop */
#adminPanel .cards{
  grid-template-columns:repeat(5, minmax(120px, 1fr)) !important;
  gap:8px !important;
}
#adminPanel .card{
  min-height:58px !important;
  padding:8px 10px !important;
}
#adminPanel .card h3{
  font-size:11px !important;
  line-height:1.15 !important;
  font-weight:500 !important;
  color:#a9c2e8 !important;
  margin:0 0 4px 0 !important;
}
#adminPanel .card p{
  font-size:18px !important;
  line-height:1.15 !important;
  font-weight:600 !important;
  margin:0 !important;
}
#adminLastLoginUser{
  font-size:12px !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  word-break:break-word;
}

/* Page captions: Admin Panel / Firm Master / all page headings compact */
.page h1,
.main-content h1,
#adminPanel h1,
#firmMaster h1,
#partMaster h1,
#partyMaster h1,
#gateEntry h1,
#challanOut h1{
  font-size:22px !important;
  line-height:1.2 !important;
  font-weight:600 !important;
  margin:0 0 14px 0 !important;
  letter-spacing:.1px !important;
}
.page h1::before{height:20px !important;width:5px !important;margin-right:8px !important;}

/* Field captions smaller and not too bold */
label,
.field-label,
.form-label,
.input-label,
.professional-module-form label,
.part-master-form label{
  font-size:11px !important;
  line-height:1.15 !important;
  font-weight:500 !important;
  color:#c7d4ea !important;
  margin-bottom:3px !important;
  letter-spacing:.1px !important;
}

/* Compact all form fields */
input,select,textarea{
  height:34px !important;
  min-height:34px !important;
  padding:5px 9px !important;
  font-size:12px !important;
  font-weight:500 !important;
  border-radius:8px !important;
}
button{height:34px !important;font-size:12px !important;border-radius:8px !important;}
.nav-btn,.menu-btn,.logout-btn,.theme-toggle{height:auto !important;}
.form-grid,.professional-module-form,.part-master-form{gap:8px !important;padding:11px !important;}
.panel,.form-card,.section-card{padding:11px !important;}

/* Remove Challan Out GST rule message */
.erp-hint-line,
.gst-rule-note,
.gst-info-note,
.gst-note,
.challan-gst-note,
#challanOut .note,
#challanOut .info-box{
  display:none !important;
}

@media(max-width:1200px){#adminPanel .cards{grid-template-columns:repeat(3, minmax(120px, 1fr)) !important;}}
@media(max-width:700px){#adminPanel .cards{grid-template-columns:repeat(2, minmax(120px, 1fr)) !important;}}


/* =========================================================
   FINAL REQUEST PATCH - ADMIN TILE + ADVANCED CHALLAN OUT
========================================================= */
#adminLastLoginUser, #adminLastLoginUser.closest-card { display:none !important; }
#adminPanel .cards{grid-template-columns:repeat(5,minmax(120px,1fr)) !important;gap:8px !important}
#adminPanel .card{min-height:58px !important;padding:8px 10px !important}
#adminPanel .card h3{font-size:11px !important;font-weight:500 !important}
#adminPanel .card p{font-size:17px !important}
.page h1,.main-content h1{font-size:22px !important;font-weight:700 !important;margin-bottom:12px !important}
.panel-title{font-size:15px !important}
.field-label,label{font-size:11px !important;font-weight:500 !important;color:#cbd5e1 !important}
.advanced-challan-form,.advanced-total-form{grid-template-columns:repeat(4,minmax(150px,1fr)) !important;gap:8px !important;padding:12px !important}
.advanced-items-panel{padding:10px !important}
.advanced-items-table{min-width:1350px !important;margin-top:6px !important}
.advanced-items-table th,.advanced-items-table td{padding:5px !important;font-size:11px !important}
.advanced-items-table input,.advanced-items-table select{height:32px !important;min-height:32px !important;font-size:12px !important;padding:4px 6px !important}
.advanced-total-form input{font-weight:700;color:#fff !important;background:#0b1730 !important}
#challanOut .note:first-of-type{display:none !important}
@media(max-width:1100px){#adminPanel .cards{grid-template-columns:repeat(2,1fr) !important}.advanced-challan-form,.advanced-total-form{grid-template-columns:repeat(2,1fr) !important}}


/* =========================================================
   FINAL SIMPLE GST UI CLEANUP
========================================================= */
#gstApply,
#gstBypassReason,
label[for="gstApply"],
label[for="gstBypassReason"]{
  display:none !important;
}
.field-wrap:has(#gstApply),
.field-wrap:has(#gstBypassReason){
  display:none !important;
}
#challanOut .note,
#challanOut .gst-note,
#challanOut .info-box{
  display:none !important;
}
.advanced-items-table select,
.advanced-items-table input{
  height:34px !important;
  min-height:34px !important;
  padding:4px 7px !important;
  font-size:12px !important;
}
.advanced-items-table th,
.advanced-items-table td{
  padding:5px 6px !important;
  font-size:12px !important;
}
.advanced-items-panel .hint::after{
  content:" | Duplicate part allowed nahi hai. Rate/HSN/GST Part Master se auto aayega.";
}



/* =========================================================
   FINAL STORE NAV + GATE + ITC UI PATCH
========================================================= */
.store-submenu{margin:-4px 0 10px 12px;padding-left:10px;border-left:2px solid #38bdf8;}
.gate-header-panel,.gate-item-add-panel{max-width:1080px !important;}
.gate-header-form,.gate-item-form{grid-template-columns:repeat(4,minmax(150px,1fr)) !important;}
#saveGateEntryBtn,#clearGateItemsBtn,#addGateItemBtn{width:100% !important;}
.gate-items-table{min-width:900px !important;}
.gate-items-table th,.gate-items-table td{padding:6px 8px !important;font-size:12px !important;}
.gate-save-actions{display:flex;gap:10px;margin-top:12px;justify-content:flex-end;}
.gate-save-actions button{min-width:160px;}
#gateItemRate,#gateItemAmount,#gateItemHSN{background:#0b1730 !important;font-weight:700 !important;}
#itcReport table{min-width:1400px;}
#itcReport .cards{max-width:1080px;}
@media(max-width:900px){.gate-header-form,.gate-item-form{grid-template-columns:repeat(2,1fr) !important;}}
@media(max-width:650px){.gate-header-form,.gate-item-form{grid-template-columns:1fr !important;}.gate-save-actions{flex-direction:column;}}



/* =========================================================
   FINAL STORE MENU OPEN FIX
========================================================= */
#storeSubmenu.hidden,
#reportsSubmenu.hidden{
  display:none !important;
}
#storeSubmenu:not(.hidden),
#reportsSubmenu:not(.hidden){
  display:block !important;
}
#storeSubmenu,
.store-submenu{
  margin-left:14px !important;
  padding-left:10px !important;
  border-left:2px solid #38bdf8 !important;
}
.store-sub-btn{
  width:92% !important;
  margin-top:6px !important;
  margin-bottom:6px !important;
}



/* =========================================================
   CONFIRMED STORE MENU CSS FIX
========================================================= */
#storeSubmenu.hidden,
#reportsSubmenu.hidden{
  display:none !important;
}
#storeSubmenu:not(.hidden),
#reportsSubmenu:not(.hidden){
  display:block !important;
}
#storeSubmenu,
#reportsSubmenu{
  margin-left:14px !important;
  padding-left:10px !important;
  border-left:2px solid #38bdf8 !important;
}
.store-sub-btn,
.report-sub-btn{
  width:92% !important;
  margin-top:6px !important;
  margin-bottom:6px !important;
}



/* =========================================================
   SPLIT REPORT PAGE UI
========================================================= */
#challanReport table,
#gateReportPage table{
  min-width:1200px;
}
#challanReport .cards,
#gateReportPage .cards{
  max-width:1080px;
}



/* =========================================================
   GATE ENTRY ADD ITEM ONE LINE COMPACT FIX
========================================================= */
#gateEntry .gate-item-form{
  display:grid !important;
  grid-template-columns: 2.2fr 1fr .8fr 1fr 1fr 1fr !important;
  gap:10px !important;
  align-items:end !important;
  max-width:1080px !important;
}
#gateEntry .gate-item-form .field-wrap{
  min-width:0 !important;
}
#gateEntry .gate-item-form label{
  font-size:12px !important;
  margin-bottom:4px !important;
  display:block !important;
}
#gateEntry .gate-item-form input,
#gateEntry .gate-item-form select,
#gateEntry .gate-item-form button{
  min-height:36px !important;
  height:36px !important;
  padding:6px 10px !important;
  font-size:13px !important;
}
#gateEntry #gatePart{
  min-width:220px !important;
}
#gateEntry #addGateItemBtn{
  width:100% !important;
  white-space:nowrap !important;
}
@media(max-width:1050px){
  #gateEntry .gate-item-form{
    grid-template-columns:repeat(3,1fr) !important;
  }
}
@media(max-width:650px){
  #gateEntry .gate-item-form{
    grid-template-columns:1fr !important;
  }
}



/* =========================================================
   FULL ISSUE FIX UI
========================================================= */
.search-suggestions{
  position:absolute;
  z-index:5000;
  background:#0f172a;
  border:1px solid #38bdf8;
  border-radius:10px;
  margin-top:4px;
  max-height:220px;
  overflow:auto;
  width:100%;
  box-shadow:0 14px 35px rgba(0,0,0,.45);
}
.field-wrap{position:relative;}
.search-suggestion{
  padding:8px 10px;
  cursor:pointer;
  font-size:12px;
  border-bottom:1px solid #334155;
  color:#e5e7eb;
}
.search-suggestion:hover{
  background:#2563eb;
  color:#fff;
}
.search-suggestion.disabled{
  color:#94a3b8;
  cursor:default;
}
#gateEntry .gate-item-form{
  display:grid !important;
  grid-template-columns:2.2fr .9fr .8fr .9fr .9fr .9fr !important;
  gap:10px !important;
  align-items:end !important;
}
#gateEntry .gate-item-form input,
#gateEntry .gate-item-form button{
  min-height:36px !important;
  height:36px !important;
  padding:6px 10px !important;
  font-size:13px !important;
}
#gateEntry .gate-item-form label{
  font-size:12px !important;
  margin-bottom:4px !important;
  display:block !important;
}
#challanOut .search-suggestions{
  min-width:260px;
}
#challanReportSearchRef{
  min-width:260px !important;
}
@media(max-width:1050px){
  #gateEntry .gate-item-form{
    grid-template-columns:repeat(3,1fr) !important;
  }
}
@media(max-width:650px){
  #gateEntry .gate-item-form{
    grid-template-columns:1fr !important;
  }
}



/* =========================================================
   GATE ROW ENTRY + REFRESH ICON UI
========================================================= */
.page h1{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}
.page-refresh-btn{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  padding:0 !important;
  border-radius:50% !important;
  font-size:15px !important;
  line-height:28px !important;
  background:#0ea5e9 !important;
  color:#fff !important;
  border:1px solid #38bdf8 !important;
  box-shadow:0 6px 14px rgba(14,165,233,.25) !important;
}
.gate-entry-row-table{
  min-width:980px !important;
}
.gate-entry-row-table th,
.gate-entry-row-table td{
  padding:7px 8px !important;
  font-size:12px !important;
  vertical-align:middle !important;
}
.gate-entry-row-table input{
  min-height:34px !important;
  height:34px !important;
  padding:6px 9px !important;
  font-size:12px !important;
  width:100% !important;
}
.gate-search-cell{
  position:relative !important;
  min-width:280px !important;
}
.gate-row-added{
  background:rgba(34,197,94,.08) !important;
}
.gate-row-edit{
  background:rgba(37,99,235,.06) !important;
}
.search-suggestions{
  position:absolute !important;
  z-index:9999 !important;
  left:0 !important;
  right:0 !important;
  top:100% !important;
  background:#0f172a !important;
  border:1px solid #38bdf8 !important;
  border-radius:10px !important;
  margin-top:4px !important;
  max-height:230px !important;
  overflow:auto !important;
  box-shadow:0 14px 35px rgba(0,0,0,.45) !important;
}
.search-suggestion{
  padding:8px 10px !important;
  cursor:pointer !important;
  font-size:12px !important;
  border-bottom:1px solid #334155 !important;
  color:#e5e7eb !important;
  white-space:normal !important;
}
.search-suggestion:hover{
  background:#2563eb !important;
  color:#fff !important;
}
.search-suggestion.disabled{
  color:#94a3b8 !important;
  cursor:default !important;
}
.gate-save-actions{
  display:flex !important;
  gap:10px !important;
  margin-top:12px !important;
}
.gate-save-actions button{
  flex:1 !important;
}



/* =========================================================
   CHALLAN REPORT SEARCH + ERP AI REMOVE UI
========================================================= */
.chatbot-widget,
.chatbot-toggle,
.chatbot-panel,
#chatbotWidget,
#erpAI,
#erpAi{
  display:none !important;
  visibility:hidden !important;
}
.challan-report-search-wrap{
  position:relative !important;
  width:100% !important;
}
#challanReportSearchBoxFinal{
  width:100% !important;
  min-height:38px !important;
}
.challan-report-suggestions{
  position:absolute !important;
  z-index:999999 !important;
  left:0 !important;
  right:0 !important;
  top:42px !important;
  background:#0f172a !important;
  border:1px solid #38bdf8 !important;
  border-radius:10px !important;
  max-height:260px !important;
  overflow-y:auto !important;
  box-shadow:0 18px 42px rgba(0,0,0,.55) !important;
}
.challan-report-option{
  display:block !important;
  padding:9px 11px !important;
  cursor:pointer !important;
  font-size:12px !important;
  line-height:1.35 !important;
  border-bottom:1px solid #334155 !important;
  color:#e5e7eb !important;
  background:#0f172a !important;
  white-space:normal !important;
}
.challan-report-option small{
  color:#93c5fd !important;
}
.challan-report-option:hover{
  background:#2563eb !important;
  color:#fff !important;
}
.challan-report-option:hover small{
  color:#dbeafe !important;
}
.challan-report-option.disabled{
  color:#94a3b8 !important;
  cursor:default !important;
}
#challanReport table{
  min-width:1300px !important;
}



/* =========================================================
   CHALLAN OUT CLEAN ACTION BUTTONS
========================================================= */
#challanOut .small-btn{
  padding:5px 9px !important;
  font-size:11px !important;
  min-width:auto !important;
}
#challanOut td:last-child{
  white-space:nowrap !important;
}



/* =========================================================
   GATE SEARCH SAME AS CHALLAN OUT UI
========================================================= */
#gateEntry .gate-same-part-cell,
#gateEntry .co-part-search-cell{
  position:relative !important;
  width:240px !important;
  min-width:240px !important;
  overflow:visible !important;
}
#gateEntry .gate-same-part-search,
#gateEntry .co-part-search{
  width:230px !important;
  height:30px !important;
  min-height:30px !important;
  padding:4px 7px !important;
  font-size:11px !important;
  border:1px solid #334155 !important;
  border-radius:8px !important;
  background:#1e293b !important;
  color:#e5e7eb !important;
}
#gateEntry .gate-same-part-suggestions,
#gateEntry .co-part-suggestions{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:34px !important;
  z-index:999999 !important;
  background:#0f172a !important;
  border:1px solid #38bdf8 !important;
  border-radius:10px !important;
  max-height:260px !important;
  overflow-y:auto !important;
  box-shadow:0 18px 42px rgba(0,0,0,.55) !important;
}
#gateEntry .co-part-option{
  display:block !important;
  padding:8px 10px !important;
  cursor:pointer !important;
  font-size:12px !important;
  line-height:1.35 !important;
  border-bottom:1px solid #334155 !important;
  color:#e5e7eb !important;
  background:#0f172a !important;
  white-space:normal !important;
}
#gateEntry .co-part-option small{
  color:#93c5fd !important;
}
#gateEntry .co-part-option:hover{
  background:#2563eb !important;
  color:#fff !important;
}
#gateEntry .co-part-option:hover small{
  color:#dbeafe !important;
}
#gateEntry .co-part-option.disabled{
  color:#94a3b8 !important;
  cursor:default !important;
}
#gateEntry .gate-same-info-cell{
  font-size:11px !important;
  font-weight:700 !important;
}



/* =========================================================
   DASHING USER ROLE + PASSWORD UI
========================================================= */
#adminPanel .panel{
  background:linear-gradient(135deg,#111827,#0f172a) !important;
  border:1px solid rgba(56,189,248,.35) !important;
  border-left:4px solid #38bdf8 !important;
  box-shadow:0 14px 30px rgba(0,0,0,.28) !important;
}
#adminPanel .panel-title{
  font-size:16px !important;
  color:#e0f2fe !important;
  letter-spacing:.3px !important;
}
#adminPanel .cards{
  grid-template-columns:repeat(5,minmax(130px,1fr)) !important;
}
#adminPanel .card{
  min-height:68px !important;
  padding:9px 12px !important;
  background:linear-gradient(135deg,#0f172a,#1e3a8a) !important;
  border:1px solid rgba(147,197,253,.35) !important;
}
#adminPanel .card h3{
  font-size:11px !important;
}
#adminPanel .card p{
  font-size:20px !important;
}
#adminPanel input,
#adminPanel select{
  height:36px !important;
  min-height:36px !important;
  font-size:12px !important;
  padding:6px 10px !important;
}
#adminPanel button{
  height:36px !important;
  min-height:36px !important;
  font-size:12px !important;
  padding:6px 10px !important;
}
.permission-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr)) !important;
  gap:10px !important;
}
.permission-card-final{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:10px !important;
  background:#0f172a !important;
  border:1px solid #334155 !important;
  border-radius:12px !important;
  cursor:pointer !important;
  transition:.2s !important;
}
.permission-card-final:hover{
  background:#1e293b !important;
  border-color:#38bdf8 !important;
}
.permission-card-final input{
  width:16px !important;
  height:16px !important;
}
.permission-card-final span{
  font-size:12px !important;
  color:#e5e7eb !important;
  font-weight:700 !important;
}
.role-badge-final{
  display:inline-block;
  padding:4px 8px;
  border-radius:999px;
  background:#1d4ed8;
  color:#dbeafe;
  font-size:11px;
  font-weight:800;
}
@media(max-width:900px){
  #adminPanel .cards{
    grid-template-columns:repeat(2,1fr) !important;
  }
}



/* =========================================================
   SALES MODULE UI
========================================================= */
.sales-module-page .sales-header-form{
  grid-template-columns:repeat(4, 1fr) !important;
  max-width:1280px !important;
}
.sales-module-page .sales-items-panel,
.sales-module-page table,
.sales-module-page .panel,
.sales-module-page .cards{
  max-width:1280px !important;
}
.sales-items-table{
  width:100% !important;
  min-width:1250px !important;
  table-layout:auto !important;
}
.sales-items-table th,
.sales-items-table td{
  padding:5px 6px !important;
  font-size:11px !important;
  overflow:visible !important;
}
.sales-items-table input{
  height:30px !important;
  min-height:30px !important;
  padding:4px 7px !important;
  font-size:11px !important;
}
.sales-search-cell{
  position:relative !important;
  min-width:240px !important;
  width:240px !important;
  overflow:visible !important;
}
.sales-part-search{
  width:230px !important;
  background:#1e293b !important;
}
.sales-part-suggestions{
  position:absolute !important;
  z-index:999999 !important;
  left:0 !important;
  right:0 !important;
  top:34px !important;
  background:#0f172a !important;
  border:1px solid #38bdf8 !important;
  border-radius:10px !important;
  max-height:260px !important;
  overflow-y:auto !important;
  box-shadow:0 18px 42px rgba(0,0,0,.55) !important;
}
.sales-part-option{
  display:block !important;
  padding:8px 10px !important;
  cursor:pointer !important;
  font-size:12px !important;
  line-height:1.35 !important;
  border-bottom:1px solid #334155 !important;
  color:#e5e7eb !important;
  background:#0f172a !important;
  white-space:normal !important;
}
.sales-part-option small{color:#93c5fd !important;}
.sales-part-option:hover{background:#2563eb !important;color:#fff !important;}
.sales-part-option.disabled{color:#94a3b8 !important;cursor:default !important;}
.sales-row-added{background:rgba(34,197,94,.07) !important;}
.sales-row-edit{background:rgba(37,99,235,.06) !important;}
.sales-actions{
  display:flex !important;
  gap:10px !important;
  margin-top:12px !important;
}
.sales-actions button{flex:1 !important;}
.right{text-align:right !important;}
.sales-parent{
  border-left-color:#f59e0b !important;
}
.sales-submenu{
  border-left-color:#f59e0b !important;
}
@media(max-width:1100px){
  .sales-module-page .sales-header-form{grid-template-columns:repeat(2,1fr) !important;}
}
@media(max-width:650px){
  .sales-module-page .sales-header-form{grid-template-columns:1fr !important;}
}



/* =========================================================
   CHALLAN OUT PART SEARCH SAME AS DISPATCH ADVICE UI
========================================================= */
#challanOut .co-dispatch-search-cell{
  position:relative !important;
  min-width:240px !important;
  width:240px !important;
  overflow:visible !important;
}
#challanOut .co-dispatch-part-search{
  width:230px !important;
  height:30px !important;
  min-height:30px !important;
  padding:4px 7px !important;
  font-size:11px !important;
  background:#1e293b !important;
  color:#e5e7eb !important;
  border:1px solid #334155 !important;
  border-radius:8px !important;
}
#challanOut .co-dispatch-suggestions{
  position:absolute !important;
  z-index:999999 !important;
  left:0 !important;
  right:0 !important;
  top:34px !important;
  background:#0f172a !important;
  border:1px solid #38bdf8 !important;
  border-radius:10px !important;
  max-height:260px !important;
  overflow-y:auto !important;
  box-shadow:0 18px 42px rgba(0,0,0,.55) !important;
}
#challanOut .sales-part-option{
  display:block !important;
  padding:8px 10px !important;
  cursor:pointer !important;
  font-size:12px !important;
  line-height:1.35 !important;
  border-bottom:1px solid #334155 !important;
  color:#e5e7eb !important;
  background:#0f172a !important;
  white-space:normal !important;
}
#challanOut .sales-part-option small{
  color:#93c5fd !important;
}
#challanOut .sales-part-option:hover{
  background:#2563eb !important;
  color:#fff !important;
}
#challanOut .sales-part-option.disabled{
  color:#94a3b8 !important;
  cursor:default !important;
}



/* =========================================================
   GLOBAL GRID RESIZE + CTRL+S SAVE LAYOUT CSS
========================================================= */
.erp-resizable-grid{
  table-layout:fixed !important;
  width:100% !important;
}
.erp-resizable-grid th{
  position:relative !important;
  user-select:none !important;
  overflow:visible !important;
}
.erp-resizable-grid th,
.erp-resizable-grid td{
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
.global-col-resizer{
  position:absolute !important;
  top:0 !important;
  right:-3px !important;
  width:7px !important;
  height:100% !important;
  cursor:col-resize !important;
  z-index:50 !important;
  background:transparent !important;
}
.global-col-resizer:hover{
  background:#38bdf8 !important;
}
.grid-resizing-active{
  cursor:col-resize !important;
  user-select:none !important;
}
.grid-resizing-active *{
  cursor:col-resize !important;
}
.global-grid-hint{
  margin-left:auto !important;
  font-size:12px !important;
  font-weight:500 !important;
  color:#cbd5e1 !important;
  opacity:.9 !important;
}
.grid-save-toast{
  position:fixed !important;
  right:22px !important;
  bottom:22px !important;
  z-index:999999 !important;
  background:linear-gradient(135deg,#16a34a,#15803d) !important;
  color:#fff !important;
  padding:11px 16px !important;
  border-radius:12px !important;
  box-shadow:0 18px 40px rgba(0,0,0,.42) !important;
  font-weight:800 !important;
  font-size:13px !important;
  opacity:0 !important;
  transform:translateY(12px) !important;
  pointer-events:none !important;
  transition:.22s ease !important;
}
.grid-save-toast.show{
  opacity:1 !important;
  transform:translateY(0) !important;
}



/* =========================================================
   PROFESSIONAL ERP FIND & MODIFY TOOLBAR + MODAL
========================================================= */
.erp-action-toolbar{
  position:sticky !important;
  top:64px !important;
  z-index:850 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  background:linear-gradient(135deg,rgba(2,6,23,.96),rgba(15,23,42,.96)) !important;
  border:1px solid #334155 !important;
  border-left:4px solid #38bdf8 !important;
  border-radius:14px !important;
  padding:7px 9px !important;
  margin:0 0 12px 0 !important;
  box-shadow:0 12px 30px rgba(0,0,0,.32) !important;
  backdrop-filter:blur(10px) !important;
}
.erp-toolbar-left{display:flex !important;align-items:center !important;gap:8px !important;min-width:max-content !important;}
.erp-form-caption{font-size:12px !important;font-weight:800 !important;color:#bfdbfe !important;}
.erp-mode-badge{font-size:10px !important;font-weight:900 !important;padding:3px 8px !important;border-radius:999px !important;color:#e0f2fe !important;background:#1e3a8a !important;border:1px solid #3b82f6 !important;}
.erp-toolbar-actions{display:flex !important;align-items:center !important;gap:5px !important;flex-wrap:nowrap !important;overflow-x:auto !important;scrollbar-width:thin !important;}
.erp-toolbar-actions button{
  min-width:78px !important;width:78px !important;height:30px !important;min-height:30px !important;
  padding:4px 6px !important;font-size:11px !important;line-height:1 !important;border-radius:8px !important;
  display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:4px !important;
  color:#fff !important;border:1px solid rgba(147,197,253,.25) !important;background:linear-gradient(135deg,#2563eb,#1d4ed8) !important;box-shadow:none !important;white-space:nowrap !important;
}
.erp-toolbar-actions button:hover{filter:brightness(1.12) !important;transform:translateY(-1px) !important;}
.erp-toolbar-actions button:disabled{opacity:.45 !important;cursor:not-allowed !important;filter:grayscale(.35) !important;transform:none !important;}
.erp-toolbar-actions [data-action="delete"]{background:linear-gradient(135deg,#dc2626,#991b1b) !important;}
.erp-toolbar-actions [data-action="cancel"]{background:linear-gradient(135deg,#ea580c,#c2410c) !important;}
.erp-toolbar-actions [data-action="refresh"]{background:linear-gradient(135deg,#0d9488,#0f766e) !important;}
.erp-toolbar-actions [data-action="exit"]{background:linear-gradient(135deg,#475569,#334155) !important;}
.page[data-erp-mode="VIEW"] input:not([type="hidden"]),.page[data-erp-mode="VIEW"] select,.page[data-erp-mode="VIEW"] textarea{opacity:.78 !important;}
.erp-find-modal.hidden{display:none !important;}
.erp-find-modal{position:fixed !important;inset:0 !important;z-index:99999 !important;display:flex !important;align-items:center !important;justify-content:center !important;padding:18px !important;}
.erp-find-backdrop{position:absolute !important;inset:0 !important;background:rgba(2,6,23,.72) !important;backdrop-filter:blur(7px) !important;}
.erp-find-box{position:relative !important;width:min(980px,96vw) !important;max-height:86vh !important;display:flex !important;flex-direction:column !important;background:linear-gradient(145deg,#0f172a,#111827) !important;border:1px solid #38bdf8 !important;border-radius:18px !important;box-shadow:0 30px 80px rgba(0,0,0,.62) !important;overflow:hidden !important;}
.erp-find-header{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:12px !important;padding:13px 16px !important;background:#020617 !important;border-bottom:1px solid #334155 !important;}
.erp-find-header h2{margin:0 !important;color:#bfdbfe !important;font-size:18px !important;}
.erp-find-header p{margin:3px 0 0 0 !important;color:#94a3b8 !important;font-size:12px !important;}
#erpFindCloseBtn{width:34px !important;height:34px !important;min-height:34px !important;padding:0 !important;background:#dc2626 !important;}
.erp-find-searchbar{display:grid !important;grid-template-columns:1fr 120px !important;gap:8px !important;padding:12px !important;border-bottom:1px solid #334155 !important;}
.erp-find-searchbar input{height:34px !important;min-height:34px !important;}
.erp-find-searchbar button{height:34px !important;min-height:34px !important;font-size:12px !important;}
.erp-find-grid-wrap{overflow:auto !important;max-height:52vh !important;}
.erp-find-grid{width:100% !important;margin:0 !important;border-radius:0 !important;table-layout:fixed !important;}
.erp-find-grid th{position:sticky !important;top:0 !important;z-index:2 !important;background:#172554 !important;font-size:11px !important;}
.erp-find-grid td{font-size:12px !important;padding:8px 9px !important;cursor:pointer !important;}
.erp-find-grid tr.selected,.erp-find-grid tr.selected:hover{background:#2563eb !important;}
.erp-find-footer{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:12px !important;padding:10px 12px !important;background:#020617 !important;border-top:1px solid #334155 !important;}
.erp-find-footer span{font-size:12px !important;color:#cbd5e1 !important;}
.erp-find-footer button{height:32px !important;min-height:32px !important;padding:5px 12px !important;font-size:12px !important;}
@media(max-width:900px){
  .erp-action-toolbar{align-items:flex-start !important;flex-direction:column !important;top:58px !important;}
  .erp-toolbar-actions{width:100% !important;}
  .erp-toolbar-actions button{min-width:70px !important;width:70px !important;}
  .erp-find-searchbar{grid-template-columns:1fr !important;}
}



/* =========================================================
   ERP FIND/MODIFY FINAL FIX
   Hide old bottom/form action buttons after top ERP toolbar.
   Purpose: avoid duplicate Save / Clear / Add / Create buttons.
   Top sticky toolbar remains the single action source.
========================================================= */

/* class added by JS to old buttons */
.erp-old-action-hidden{
  display:none !important;
}

/* known original form buttons */
#addPartBtn,
#addPartyBtn,
#saveFirmBtn,
#clearFirmBtn,
#saveGateEntryBtn,
#clearGateItemsBtn,
#createChallanBtn,
#createOutBtn,
#receiveBtn,
#saveDispatchAdviceBtn,
#clearDispatchAdviceBtn,
#saveSalesInvoiceBtn,
#clearSalesInvoiceBtn,
#saveInvoiceBtn,
#clearInvoiceBtn,
#saveVoucherBtn,
#clearVoucherBtn{
  display:none !important;
}

/* Keep top ERP toolbar buttons visible */
.erp-action-toolbar button,
.erp-find-modal button,
.erp-find-box button,
table button,
tbody button,
thead button,
.import-box button,
.filter-box button,
#adminPanel button,
#permissionGrid button,
#chatbotSendBtn,
.chatbot-widget button,
.nav-btn,
.menu-btn,
.theme-toggle,
.logout-btn{
  display:inline-flex !important;
}

/* Toolbar should stay compact and single horizontal line */
.erp-action-toolbar{
  position:sticky !important;
  top:64px !important;
  z-index:850 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  background:linear-gradient(135deg,rgba(2,6,23,.96),rgba(15,23,42,.96)) !important;
  border:1px solid #334155 !important;
  border-left:4px solid #38bdf8 !important;
  border-radius:14px !important;
  padding:7px 9px !important;
  margin:0 0 12px 0 !important;
  box-shadow:0 12px 30px rgba(0,0,0,.32) !important;
  backdrop-filter:blur(10px) !important;
}

.erp-toolbar-actions{
  display:flex !important;
  align-items:center !important;
  gap:5px !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  scrollbar-width:thin !important;
}

.erp-toolbar-actions button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  min-width:78px !important;
  width:78px !important;
  height:30px !important;
  min-height:30px !important;
  padding:4px 6px !important;
  font-size:11px !important;
  line-height:1 !important;
  border-radius:8px !important;
  white-space:nowrap !important;
}

.erp-toolbar-actions button:disabled{
  opacity:.45 !important;
  cursor:not-allowed !important;
  filter:grayscale(.35) !important;
}

/* Find modal should remain usable */
.erp-find-modal.hidden{
  display:none !important;
}

.erp-find-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:99999 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:18px !important;
}

.erp-find-backdrop{
  position:absolute !important;
  inset:0 !important;
  background:rgba(2,6,23,.72) !important;
  backdrop-filter:blur(7px) !important;
}

.erp-find-box{
  position:relative !important;
  width:min(980px,96vw) !important;
  max-height:86vh !important;
  display:flex !important;
  flex-direction:column !important;
  background:linear-gradient(145deg,#0f172a,#111827) !important;
  border:1px solid #38bdf8 !important;
  border-radius:18px !important;
  box-shadow:0 30px 80px rgba(0,0,0,.62) !important;
  overflow:hidden !important;
}



/* =========================================================
   ERP FINAL FLOW CHANGE
   1. Form save ke baad neeche populated data grid/list hide rahegi.
   2. ERP action toolbar top ke bajay form ke below/bottom me show hogi.
========================================================= */

/* Toolbar is no longer sticky top; now normal bottom action bar */
.erp-action-toolbar{
  position:static !important;
  top:auto !important;
  margin:14px 0 18px 0 !important;
  width:100% !important;
  max-width:1080px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  background:linear-gradient(135deg,rgba(2,6,23,.96),rgba(15,23,42,.96)) !important;
  border:1px solid #334155 !important;
  border-left:4px solid #38bdf8 !important;
  border-radius:14px !important;
  padding:8px 10px !important;
  box-shadow:0 12px 30px rgba(0,0,0,.28) !important;
}

/* Hide tables/list panels directly inside transactional/master forms.
   Reports/Dashboard/Admin tables remain visible. */
#partyMaster > table,
#partMaster > table,
#firmMaster > table,
#gateEntry > table,
#challanOut > table,
#challanIn > table,
#dispatchAdvice > table,
#salesInvoice > table,
#accounting > table,

#partyMaster .saved-data-grid,
#partMaster .saved-data-grid,
#gateEntry .saved-data-grid,
#challanOut .saved-data-grid,
#challanIn .saved-data-grid,
#dispatchAdvice .saved-data-grid,
#salesInvoice .saved-data-grid,

#partyMaster .data-list-panel,
#partMaster .data-list-panel,
#gateEntry .data-list-panel,
#challanOut .data-list-panel,
#challanIn .data-list-panel,
#dispatchAdvice .data-list-panel,
#salesInvoice .data-list-panel{
  display:none !important;
}

/* Hide specific populated data tables under forms */
#partyTable,
#partTable,
#gateEntryTable,
#outTable,
#challanOutTable,
#challanInTable,
#dispatchAdviceTable,
#salesInvoiceTable,
#voucherTable{
  display:none !important;
}

/* But keep add-items/detail grids visible */
#gateEntry .sales-items-table,
#gateEntry #gateItemsTable,
#gateEntry .gate-items-table,
#challanOut .sales-items-table,
#challanOut #challanItemsTable,
#challanOut .challan-items-table,
#dispatchAdvice .sales-items-table,
#salesInvoice .sales-items-table{
  display:table !important;
}

/* Keep reports tables visible */
#dashboard table,
#reports table,
#challanReport table,
#gateReportPage table,
#itcReport table,
#salesReport table,
#ledger table,
#audit table,
#adminPanel table{
  display:table !important;
}

/* Keep import/admin/filter controls visible */
.import-box button,
.filter-box button,
#adminPanel button,
table button{
  display:inline-flex !important;
}

@media(max-width:900px){
  .erp-action-toolbar{
    align-items:flex-start !important;
    flex-direction:column !important;
  }
  .erp-toolbar-actions{
    width:100% !important;
  }
}



/* =========================================================
   FIX: CHALLAN OUT DETAILS GRID VISIBLE
   Save ke baad populated list hide rahegi, but Challan Items detail grid visible rahega.
========================================================= */

/* Challan Out item entry panel/table must remain visible */
#challanOut .panel:has(.co-dispatch-search-cell),
#challanOut .panel:has([id^="outPart"]),
#challanOut .panel:has([id^="outQty"]),
#challanOut .panel:has([id^="outRate"]),
#challanOut .panel:has([id^="outTaxable"]),
#challanOut table:has([id^="outPart"]),
#challanOut table:has([id^="outQty"]),
#challanOut table:has([id^="outRate"]),
#challanOut table:has([id^="outTaxable"]),
#challanOut table:has(.co-dispatch-search-cell){
  display:block !important;
}

/* If table itself needs table display */
#challanOut table:has([id^="outPart"]),
#challanOut table:has([id^="outQty"]),
#challanOut table:has([id^="outRate"]),
#challanOut table:has([id^="outTaxable"]),
#challanOut table:has(.co-dispatch-search-cell){
  display:table !important;
  width:100% !important;
}

/* show tbody/thead rows for challan item grid */
#challanOut table:has([id^="outPart"]) thead,
#challanOut table:has([id^="outPart"]) tbody,
#challanOut table:has([id^="outPart"]) tr,
#challanOut table:has([id^="outPart"]) th,
#challanOut table:has([id^="outPart"]) td,
#challanOut table:has([id^="outQty"]) thead,
#challanOut table:has([id^="outQty"]) tbody,
#challanOut table:has([id^="outQty"]) tr,
#challanOut table:has([id^="outQty"]) th,
#challanOut table:has([id^="outQty"]) td{
  visibility:visible !important;
}

/* hide only saved challan list, not entry grid */
#challanOut #outTable,
#challanOut #challanOutTable,
#challanOut .saved-data-grid,
#challanOut .data-list-panel{
  display:none !important;
}




/* =========================================================
   FIX: SALES INVOICE DETAILS GRID VISIBLE
   Save ke baad populated invoice list hide rahegi,
   but Sales Invoice item/detail grid visible rahega.
========================================================= */

/* Sales Invoice item entry panel/table must remain visible */
#salesInvoice .panel:has(#siItemsBody),
#salesInvoice .panel:has(.sales-items-table),
#salesInvoice table:has(#siItemsBody),
#salesInvoice table.sales-items-table{
  display:block !important;
}

/* table display restore */
#salesInvoice table:has(#siItemsBody),
#salesInvoice table.sales-items-table{
  display:table !important;
  width:100% !important;
}

/* rows/cells visible */
#salesInvoice table:has(#siItemsBody) thead,
#salesInvoice table:has(#siItemsBody) tbody,
#salesInvoice table:has(#siItemsBody) tfoot,
#salesInvoice table:has(#siItemsBody) tr,
#salesInvoice table:has(#siItemsBody) th,
#salesInvoice table:has(#siItemsBody) td,
#salesInvoice table.sales-items-table thead,
#salesInvoice table.sales-items-table tbody,
#salesInvoice table.sales-items-table tfoot,
#salesInvoice table.sales-items-table tr,
#salesInvoice table.sales-items-table th,
#salesInvoice table.sales-items-table td{
  visibility:visible !important;
}

/* hide only saved sales invoice list, not item grid */
#salesInvoice #salesInvoiceTable{
  display:none !important;
}

/* Dispatch Advice detail grid bhi visible rahe */
#dispatchAdvice .panel:has(#daItemsBody),
#dispatchAdvice .panel:has(.sales-items-table),
#dispatchAdvice table:has(#daItemsBody),
#dispatchAdvice table.sales-items-table{
  display:block !important;
}
#dispatchAdvice table:has(#daItemsBody),
#dispatchAdvice table.sales-items-table{
  display:table !important;
  width:100% !important;
}
#dispatchAdvice #dispatchAdviceTable{
  display:none !important;
}



/* =========================================================
   SALES INVOICE ITEM ROW FORCE VISIBLE FIX
========================================================= */
#salesInvoice .sales-items-panel,
#salesInvoice .sales-items-table,
#salesInvoice .sales-items-table thead,
#salesInvoice .sales-items-table tbody,
#salesInvoice .sales-items-table tfoot,
#salesInvoice .sales-items-table tr,
#salesInvoice .sales-items-table th,
#salesInvoice .sales-items-table td{
  visibility:visible !important;
}

#salesInvoice .sales-items-table{
  display:table !important;
  width:100% !important;
  min-width:1250px !important;
}

#salesInvoice .sales-items-table thead{
  display:table-header-group !important;
}

#salesInvoice .sales-items-table tbody{
  display:table-row-group !important;
}

#salesInvoice .sales-items-table tfoot{
  display:table-footer-group !important;
}

#salesInvoice .sales-items-table tr{
  display:table-row !important;
}

#salesInvoice .sales-items-table th,
#salesInvoice .sales-items-table td{
  display:table-cell !important;
}

/* Saved list hidden only */
#salesInvoice > table:not(.sales-items-table),
#salesInvoice #salesInvoiceTable{
  display:none !important;
}



/* =========================================================
   STRONG FIX: SALES INVOICE DETAIL TABLE MUST NEVER HIDE
========================================================= */

/* Marked by JS also, but CSS direct fallback */
#salesInvoice table.sales-items-table,
#salesInvoice .sales-items-panel table,
#salesInvoice table:has(#siItemsBody){
  display:table !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
  min-width:1250px !important;
}

#salesInvoice .sales-items-panel{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

#salesInvoice #siItemsBody{
  display:table-row-group !important;
  visibility:visible !important;
  opacity:1 !important;
  min-height:42px !important;
}

#salesInvoice #siItemsBody tr{
  display:table-row !important;
  visibility:visible !important;
  opacity:1 !important;
}

#salesInvoice #siItemsBody td{
  display:table-cell !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* Hide saved invoice list only when it is NOT inside sales-items-panel */
#salesInvoice table:not(.sales-items-table):has(#salesInvoiceTable),
#salesInvoice #salesInvoiceTable{
  display:none !important;
}

/* Placeholder row design */
#salesInvoice .si-force-placeholder td{
  text-align:center !important;
  padding:18px !important;
  color:#cbd5e1 !important;
  background:rgba(37,99,235,.08) !important;
  font-weight:700 !important;
}



/* =========================================================
   STANDARD ERP STOCK LEDGER REPORT UI
========================================================= */
.stock-ledger-summary-cards{
  max-width:1080px !important;
  margin-bottom:14px !important;
}

.standard-stock-ledger-table{
  min-width:1450px !important;
  table-layout:auto !important;
}

.standard-stock-ledger-table th,
.standard-stock-ledger-table td{
  font-size:12px !important;
  padding:8px 9px !important;
}

.qty-in{
  color:#22c55e !important;
  font-weight:800 !important;
}

.qty-out{
  color:#fb923c !important;
  font-weight:800 !important;
}

.voucher-type-badge{
  display:inline-block !important;
  padding:4px 8px !important;
  border-radius:999px !important;
  font-size:11px !important;
  font-weight:800 !important;
  background:#334155 !important;
  color:#e5e7eb !important;
}

.voucher-type-badge.opening{
  background:#475569 !important;
}

.voucher-type-badge.gate-entry{
  background:#166534 !important;
  color:#bbf7d0 !important;
}

.voucher-type-badge.challan-out{
  background:#9a3412 !important;
  color:#fed7aa !important;
}

.voucher-type-badge.challan-in{
  background:#1d4ed8 !important;
  color:#dbeafe !important;
}

.voucher-type-badge.sales-invoice{
  background:#991b1b !important;
  color:#fecaca !important;
}

.voucher-type-badge.cancel--reverse,
.voucher-type-badge.cancel-/-reverse{
  background:#7f1d1d !important;
  color:#fecaca !important;
}



/* =========================================================
   DASHBOARD CLICKABLE TILES + DETAIL POPUP UI
========================================================= */
.dash-click-card{
  cursor:pointer !important;
  position:relative !important;
  transition:.18s ease !important;
}
.dash-click-card:hover{
  transform:translateY(-3px) !important;
  border-color:#38bdf8 !important;
  box-shadow:0 14px 30px rgba(56,189,248,.16) !important;
}
.dash-click-card::after{
  content:"Click details" !important;
  position:absolute !important;
  right:10px !important;
  top:8px !important;
  font-size:10px !important;
  color:#93c5fd !important;
  opacity:.75 !important;
}

.dash-tile-modal.hidden{
  display:none !important;
}
.dash-tile-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:99999 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:18px !important;
}
.dash-tile-backdrop{
  position:absolute !important;
  inset:0 !important;
  background:rgba(2,6,23,.72) !important;
  backdrop-filter:blur(7px) !important;
}
.dash-tile-box{
  position:relative !important;
  width:min(1100px,96vw) !important;
  max-height:86vh !important;
  display:flex !important;
  flex-direction:column !important;
  background:linear-gradient(145deg,#0f172a,#111827) !important;
  border:1px solid #38bdf8 !important;
  border-radius:18px !important;
  box-shadow:0 30px 80px rgba(0,0,0,.62) !important;
  overflow:hidden !important;
}
.dash-tile-header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:14px 16px !important;
  background:#020617 !important;
  border-bottom:1px solid #334155 !important;
}
.dash-tile-header h2{
  margin:0 !important;
  color:#bfdbfe !important;
  font-size:20px !important;
}
.dash-tile-header p{
  margin:4px 0 0 0 !important;
  color:#94a3b8 !important;
  font-size:12px !important;
}
#dashTileCloseBtn{
  width:34px !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 !important;
  background:#dc2626 !important;
}
.dash-tile-summary{
  display:flex !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  padding:12px 14px !important;
  border-bottom:1px solid #334155 !important;
}
.dash-tile-summary .mini-card{
  min-width:150px !important;
  background:#1e293b !important;
  border:1px solid #334155 !important;
  border-radius:12px !important;
  padding:10px 12px !important;
}
.dash-tile-summary .mini-card b{
  display:block !important;
  color:#fff !important;
  font-size:22px !important;
}
.dash-tile-summary .mini-card span{
  display:block !important;
  color:#93c5fd !important;
  font-size:12px !important;
  font-weight:800 !important;
  margin-top:3px !important;
}
.dash-tile-table-wrap{
  overflow:auto !important;
  max-height:58vh !important;
}
.dash-tile-table{
  width:100% !important;
  margin:0 !important;
  border-radius:0 !important;
  min-width:900px !important;
}
.dash-tile-table th{
  position:sticky !important;
  top:0 !important;
  z-index:2 !important;
  background:#172554 !important;
  color:#dbeafe !important;
  font-size:12px !important;
}
.dash-tile-table td{
  font-size:12px !important;
  padding:8px 9px !important;
}



/* =========================================================
   ADMIN PANEL NEW FEATURES UI
========================================================= */
.admin-feature-panel,
.admin-quick-stats{
  max-width:1080px !important;
  margin-left:0 !important;
  margin-right:auto !important;
}

.admin-feature-summary{
  grid-template-columns:repeat(4,minmax(120px,1fr)) !important;
  margin-bottom:12px !important;
}

.admin-feature-filter{
  margin-bottom:12px !important;
}

.admin-feature-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr)) !important;
  gap:10px !important;
}

.admin-feature-card{
  background:linear-gradient(145deg,#0f172a,#111827) !important;
  border:1px solid #334155 !important;
  border-left:4px solid #38bdf8 !important;
  border-radius:14px !important;
  padding:12px !important;
  box-shadow:0 8px 20px rgba(0,0,0,.20) !important;
}

.admin-feature-card:hover{
  border-color:#60a5fa !important;
  transform:translateY(-2px);
}

.admin-feature-head{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:8px !important;
  margin-bottom:8px !important;
}

.feature-group{
  font-size:11px !important;
  color:#93c5fd !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
}

.feature-status{
  font-size:10px !important;
  font-weight:900 !important;
  padding:3px 7px !important;
  border-radius:999px !important;
}

.feature-active{
  background:#14532d !important;
  color:#bbf7d0 !important;
}

.feature-ready{
  background:#713f12 !important;
  color:#fde68a !important;
}

.feature-pending{
  background:#7f1d1d !important;
  color:#fecaca !important;
}

.admin-feature-card h3{
  margin:0 0 6px 0 !important;
  color:#f8fafc !important;
  font-size:14px !important;
}

.admin-feature-card p{
  margin:0 !important;
  color:#cbd5e1 !important;
  font-size:12px !important;
  line-height:1.35 !important;
}



/* Final stable Gate Entry search suggestions */
.gate-search-cell{
  position:relative !important;
  overflow:visible !important;
}
.gate-row-suggestions{
  position:absolute !important;
  left:0 !important;
  top:calc(100% + 4px) !important;
  z-index:999999 !important;
  width:780px !important;
  max-width:92vw !important;
  background:#091a35 !important;
  border:1px solid #2f67ff !important;
  border-radius:10px !important;
  max-height:280px !important;
  overflow-y:auto !important;
  box-shadow:0 14px 38px rgba(0,0,0,.55) !important;
}
.gate-row-one-line-suggestion{
  display:grid !important;
  grid-template-columns:130px 1fr 135px 125px 115px !important;
  gap:10px !important;
  align-items:center !important;
  white-space:nowrap !important;
  padding:8px 10px !important;
  color:#fff !important;
}
.gate-row-one-line-suggestion:hover{
  background:#1d4fff !important;
}


/* SAFE COMPACT TOOLBAR + BUTTON VISIBILITY */
.safe-erp-toolbar{
  display:flex!important;
  gap:6px;
  align-items:center;
  flex-wrap:nowrap;
  overflow-x:auto;
  width:100%;
  max-width:1250px;
  margin:8px 0 12px 0;
  padding:8px;
  background:#0f172a;
  border:1px solid #334155;
  border-left:4px solid #38bdf8;
  border-radius:12px;
  box-shadow:0 6px 18px rgba(0,0,0,.28);
}
.safe-erp-btn{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-width:72px;
  height:30px;
  padding:0 9px;
  border:0;
  border-radius:8px;
  background:#2563eb;
  color:#fff;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.safe-erp-btn.save{background:#16a34a}
.safe-erp-btn.delete{background:#dc2626}
.safe-erp-btn.close{background:#475569}
#addPartBtn,#addPartyBtn,#saveFirmBtn,#clearFirmBtn,#saveGateEntryBtn,#createOutBtn,#receiveBtn,
.professional-module-form button,.part-master-form button,.form-grid button{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  align-items:center;
  justify-content:center;
}


/* FINAL CHECKED TOOLBAR STYLE */
.safe-erp-toolbar,
.erp-action-toolbar{
  display:none !important;
}
.final-action-toolbar{
  display:flex !important;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin:12px 0 18px 0;
  padding:10px 12px;
  background:#0b1220;
  border:1px solid #334155;
  border-left:4px solid #38bdf8;
  border-radius:14px;
  box-shadow:0 4px 12px rgba(0,0,0,.22);
  width:100%;
}
.final-toolbar-title{
  color:#e5e7eb;
  font-weight:800;
  white-space:nowrap;
}
.final-toolbar-buttons{
  display:flex !important;
  gap:7px;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
}
.final-toolbar-buttons button{
  min-width:80px;
  height:34px;
  padding:6px 9px;
  border-radius:8px;
  background:#2563eb;
  color:#fff;
  border:1px solid #60a5fa33;
  font-size:13px;
  font-weight:700;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:6px;
  cursor:pointer;
}
.final-toolbar-buttons button[data-act="delete"]{background:#dc2626}
.final-toolbar-buttons button[data-act="cancel"]{background:#475569}
.final-toolbar-buttons button[data-act="close"]{background:#334155}
.final-toolbar-buttons button:hover{opacity:.92;transform:translateY(-1px)}
@media(max-width:900px){
  .final-action-toolbar{flex-direction:column;align-items:stretch}
  .final-toolbar-buttons{justify-content:center}
  .final-toolbar-buttons button{flex:1 1 95px}
}


/* FINAL PART ADD FIX STYLE */
.erp-toast-box{
  position:fixed;right:18px;bottom:18px;z-index:999999;
  max-width:360px;background:#0f172a;color:#e5e7eb;border:1px solid #38bdf8;
  border-left:5px solid #38bdf8;border-radius:12px;padding:11px 14px;
  font:600 13px Arial,sans-serif;box-shadow:0 16px 45px rgba(0,0,0,.45);
  opacity:0;transform:translateY(14px);transition:.25s;
}
.erp-toast-box.show{opacity:1;transform:translateY(0)}
.erp-invalid-field{border-color:#ef4444 !important;box-shadow:0 0 0 2px rgba(239,68,68,.25) !important;}


/* CLEAN FIX: keep inputs clickable and remove old duplicate toolbars */
.final-action-toolbar,
.safe-erp-toolbar,
.erp-action-toolbar,
.safe-toolbar,
.form-toolbar,
.action-toolbar,
.module-toolbar,
.bottom-action-toolbar,
.professional-action-toolbar,
.module-action-toolbar,
.safe-action-toolbar,
.safe-form-toolbar{
  display:none !important;
}

input, select, textarea, button{
  pointer-events:auto !important;
  user-select:auto !important;
}

.clean-action-toolbar{
  display:flex !important;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  width:100%;
  max-width:1080px;
  margin:12px 0 18px 0;
  padding:10px 12px;
  background:#0b1220;
  border:1px solid #334155;
  border-left:4px solid #38bdf8;
  border-radius:14px;
  box-shadow:0 4px 12px rgba(0,0,0,.22);
  position:relative !important;
  z-index:1 !important;
}
.clean-toolbar-title{
  color:#e5e7eb;
  font-weight:800;
  white-space:nowrap;
}
.clean-toolbar-buttons{
  display:flex;
  gap:7px;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
}
.clean-toolbar-buttons button{
  min-width:78px;
  height:34px;
  padding:6px 9px;
  border-radius:8px;
  background:#2563eb;
  color:#fff;
  border:1px solid #60a5fa33;
  font-size:13px;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  cursor:pointer;
}
.clean-toolbar-buttons button[data-act="delete"]{background:#dc2626}
.clean-toolbar-buttons button[data-act="cancel"]{background:#475569}
.clean-toolbar-buttons button[data-act="close"]{background:#334155}

.erp-toast-box{
  position:fixed;right:18px;bottom:18px;z-index:999999;
  max-width:380px;background:#0f172a;color:#e5e7eb;border:1px solid #38bdf8;
  border-left:5px solid #38bdf8;border-radius:12px;padding:11px 14px;
  font:600 13px Arial,sans-serif;box-shadow:0 16px 45px rgba(0,0,0,.45);
  opacity:0;transform:translateY(14px);transition:.25s;
}
.erp-toast-box.show{opacity:1;transform:translateY(0)}
.erp-invalid-field{border-color:#ef4444 !important;box-shadow:0 0 0 2px rgba(239,68,68,.25) !important;}

@media(max-width:900px){
  .clean-action-toolbar{flex-direction:column;align-items:stretch}
  .clean-toolbar-buttons{justify-content:center}
  .clean-toolbar-buttons button{flex:1 1 95px}
}

/* Entry mode fix: fields locked until toolbar Add is clicked */
.erp-entry-locked{
  opacity:.68;
  cursor:not-allowed !important;
  background:#111827 !important;
}
.erp-entry-page-locked .part-master-form,
.erp-entry-page-locked .professional-module-form,
.erp-entry-page-locked .form-grid{
  position:relative;
}
.erp-entry-page-locked .part-master-form::after,
.erp-entry-page-locked .professional-module-form::after{
  content:"Add button click karke entry start karein";
  position:absolute;
  right:14px;
  bottom:10px;
  font-size:12px;
  color:#93c5fd;
  opacity:.85;
  pointer-events:none;
}

/* ITEM-WISE LOT FIFO UI FIX */
.outLotSelect{min-width:260px;max-width:340px;font-size:12px}
.fifo-btn{margin-left:12px;background:#2563eb;color:#fff;min-width:150px}
#lotStockReport table{min-width:1200px}
#lotStockReport td,#lotStockReport th{font-size:13px}

/* FINAL MANUAL LOT PATCH */
#autoFIFOAllocateBtn,
.fifo-btn,
button[id*="FIFO"],
button[id*="Fifo"]{
  display:none !important;
}
.outLotSelect{
  min-width:260px !important;
}
.fifo-reason-modal .modal-box,
.fifo-reason-box{
  max-width:520px !important;
}
.fifo-reason-box textarea{
  background:#0f1b2f !important;
  color:#fff !important;
  border:1px solid #30445f !important;
  border-radius:8px !important;
  padding:8px !important;
}

/* Gate Entry Part Search populate below like Challan Out */
#gatePartSearch{position:relative;}
.gate-part-below-suggestions{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 4px);
  z-index:99999;
  max-height:260px;
  overflow:auto;
  background:#0f172a;
  border:1px solid #38bdf8;
  border-radius:10px;
  box-shadow:0 18px 40px rgba(0,0,0,.55);
}
.field-wrap{position:relative;}
.gate-part-below-suggestions .sales-part-option{padding:9px 11px;border-bottom:1px solid #334155;cursor:pointer;color:#e5e7eb;background:#0f172a;white-space:normal;line-height:1.25;}
.gate-part-below-suggestions .sales-part-option:hover{background:#2563eb;color:#fff;}
.gate-part-below-suggestions .sales-part-option small{color:#cbd5e1;}
.gate-part-below-suggestions .sales-part-option.disabled{opacity:.7;cursor:default;}

/* =========================================================
   FINAL FIX: Part Search Below Box for BOTH Challan Out + Gate Entry
   Do not hide part search boxes. Show ERP-style suggestions below textbox.
========================================================= */
#gatePartSearch,
[id^="outPartSearch"]{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  width:100% !important;
  min-width:190px !important;
  height:34px !important;
  min-height:34px !important;
  padding:6px 10px !important;
  background:#102033 !important;
  color:#e5e7eb !important;
  border:1px solid #38bdf8 !important;
  border-radius:8px !important;
}

#gatePartSearch + input[type="hidden"],
[id^="outPartSearch"] + input[type="hidden"]{
  display:none !important;
}

#gatePartSuggestions,
.gate-part-below-suggestions,
[id^="outPartSuggestions"],
.co-dispatch-suggestions{
  position:absolute !important;
  left:0 !important;
  top:100% !important;
  z-index:999999 !important;
  width:360px !important;
  max-width:520px !important;
  max-height:260px !important;
  overflow-y:auto !important;
  background:#081225 !important;
  border:1px solid #38bdf8 !important;
  border-radius:10px !important;
  box-shadow:0 18px 42px rgba(0,0,0,.55) !important;
  margin-top:4px !important;
}

#gatePartSuggestions.hidden,
.gate-part-below-suggestions.hidden,
[id^="outPartSuggestions"].hidden,
.co-dispatch-suggestions.hidden{
  display:none !important;
}

#gatePartSuggestions .sales-part-option,
.gate-part-below-suggestions .sales-part-option,
[id^="outPartSuggestions"] .sales-part-option,
.co-dispatch-suggestions .sales-part-option{
  display:block !important;
  padding:9px 11px !important;
  cursor:pointer !important;
  font-size:12px !important;
  line-height:1.35 !important;
  border-bottom:1px solid #334155 !important;
  color:#e5e7eb !important;
  background:#081225 !important;
  white-space:normal !important;
}

#gatePartSuggestions .sales-part-option:hover,
.gate-part-below-suggestions .sales-part-option:hover,
[id^="outPartSuggestions"] .sales-part-option:hover,
.co-dispatch-suggestions .sales-part-option:hover{
  background:#2563eb !important;
  color:#fff !important;
}

#gateEntry .field-wrap,
#challanOut td,
#challanOut .co-dispatch-search-cell{
  overflow:visible !important;
  position:relative !important;
}


/* FINAL: Hide/remove old Admin Panel feature cards */
#adminFeaturePanel, #adminQuickFeatureStats, .admin-feature-panel, .admin-quick-stats, .admin-feature-summary, .admin-feature-filter, .admin-feature-grid { display:none !important; }

/* FINAL ONLY: Gate Entry part search exact Challan Out style */
#gateEntry #gatePartSearch,
#gateEntry .gate-row-part-search,
#gateEntry .gate-force-search{
  width:230px !important;
  height:30px !important;
  min-height:30px !important;
  padding:4px 7px !important;
  font-size:11px !important;
  background:#1e293b !important;
  color:#e5e7eb !important;
  border:1px solid #334155 !important;
  border-radius:8px !important;
  box-shadow:none !important;
}
#gateEntry #gatePartSearch:focus,
#gateEntry .gate-row-part-search:focus,
#gateEntry .gate-force-search:focus{
  border-color:#38bdf8 !important;
  box-shadow:0 0 0 2px rgba(56,189,248,.20) !important;
}
#gateEntry #gatePartSearchWrap,
#gateEntry #gatePartSearchWrapper,
#gateEntry .gate-part-search-wrap,
#gateEntry .field-wrap:has(#gatePartSearch),
#gateEntry td:has(#gatePartSearch){
  position:relative !important;
  min-width:240px !important;
  width:240px !important;
  overflow:visible !important;
}
#gateEntry #gatePartSuggestions,
#gateEntry .gate-part-below-suggestions,
#gateEntry .gate-same-part-suggestions,
#gateEntry .co-part-suggestions{
  position:absolute !important;
  z-index:999999 !important;
  left:0 !important;
  right:auto !important;
  top:34px !important;
  width:360px !important;
  background:#0f172a !important;
  border:1px solid #38bdf8 !important;
  border-radius:10px !important;
  max-height:260px !important;
  overflow-y:auto !important;
  box-shadow:0 18px 42px rgba(0,0,0,.55) !important;
}
#gateEntry #gatePartSuggestions .sales-part-option,
#gateEntry #gatePartSuggestions .co-part-option,
#gateEntry #gatePartSuggestions .search-suggestion{
  display:block !important;
  padding:8px 10px !important;
  cursor:pointer !important;
  font-size:12px !important;
  line-height:1.35 !important;
  border-bottom:1px solid #334155 !important;
  color:#e5e7eb !important;
  background:#0f172a !important;
  white-space:normal !important;
}
#gateEntry #gatePartSuggestions .sales-part-option small,
#gateEntry #gatePartSuggestions .co-part-option small,
#gateEntry #gatePartSuggestions .search-suggestion small{color:#93c5fd !important;}
#gateEntry #gatePartSuggestions .sales-part-option:hover,
#gateEntry #gatePartSuggestions .co-part-option:hover,
#gateEntry #gatePartSuggestions .search-suggestion:hover{background:#2563eb !important;color:#fff !important;}


/* DIRECT FIX: Gate Entry party search like challan/part search + compact 3-4 item dropdown */
#gateEntry .gate-party-search-wrap{
  position:relative !important;
  overflow:visible !important;
}
#gateEntry #gatePartySearch{
  width:230px !important;
  height:30px !important;
  min-height:30px !important;
  padding:4px 7px !important;
  font-size:11px !important;
  background:#1e293b !important;
  color:#e5e7eb !important;
  border:1px solid #334155 !important;
  border-radius:8px !important;
  box-shadow:none !important;
}
#gateEntry #gatePartySearch:focus{
  border-color:#38bdf8 !important;
  box-shadow:0 0 0 2px rgba(56,189,248,.20) !important;
}
#gateEntry #gatePartySuggestions{
  position:absolute !important;
  z-index:999999 !important;
  left:0 !important;
  top:34px !important;
  width:360px !important;
  max-height:136px !important;
  overflow-y:auto !important;
  background:#0f172a !important;
  border:1px solid #38bdf8 !important;
  border-radius:10px !important;
  box-shadow:0 18px 42px rgba(0,0,0,.55) !important;
}
#gateEntry #gatePartySuggestions .search-suggestion{
  display:block !important;
  padding:8px 10px !important;
  cursor:pointer !important;
  font-size:12px !important;
  line-height:1.35 !important;
  border-bottom:1px solid #334155 !important;
  color:#e5e7eb !important;
  background:#0f172a !important;
  white-space:normal !important;
}
#gateEntry #gatePartySuggestions .search-suggestion:hover{
  background:#2563eb !important;
  color:#fff !important;
}
#gateEntry .gate-row-suggestions,
#gateEntry #gatePartSuggestions{
  max-height:136px !important;
  overflow-y:auto !important;
}


/* Direct fix 2026-06-09: display-only and required field highlight */
.erp-display-field,
input[readonly].erp-display-field{
  background:#111827!important;
  color:#94a3b8!important;
  cursor:not-allowed!important;
  border-color:#475569!important;
}
.erp-required-field{
  border-left:3px solid #f59e0b!important;
}
.erp-field-error{
  border-color:#ef4444!important;
  box-shadow:0 0 0 2px rgba(239,68,68,.25)!important;
}


/* AE2_GATE_PART_SEARCH_EXACT_CHALLAN_STYLE_20260618
   Scope: Gate Entry part search UI only + qty no arrows/right align.
   Part Master / Standard Packing / Challan Print untouched.
*/
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button{
  -webkit-appearance:none !important;
  margin:0 !important;
}
input[type="number"]{ -moz-appearance:textfield !important; }

.gate-row-qty,
.gate-force-qty,
#gateQty{
  text-align:right !important;
  padding-right:14px !important;
}

/* make Gate Entry search same visual as Challan Out search */
.gate-search-cell,
.gate-force-part-cell,
.gate-same-part-cell{
  position:relative !important;
  overflow:visible !important;
  min-width:280px !important;
}

#gateEntry table,
#gateEntry .panel,
#gateEntry .gate-entry-items,
#gateEntry .gate-items-panel,
#gateEntry .gate-save-actions{
  overflow:visible !important;
}

.gate-row-part-search,
.gate-force-search,
.gate-same-part-search,
.ae2-gate-challan-search{
  width:100% !important;
  min-width:260px !important;
  height:42px !important;
  padding:10px 12px !important;
  border-radius:10px !important;
  border:1px solid #38bdf8 !important;
  background:#0f172a !important;
  color:#e5e7eb !important;
  outline:none !important;
  font-weight:500 !important;
}

.gate-row-part-search:focus,
.gate-force-search:focus,
.gate-same-part-search:focus,
.ae2-gate-challan-search:focus{
  border-color:#60a5fa !important;
  box-shadow:0 0 0 2px rgba(56,189,248,.18) !important;
}

/* dropdown exactly like challan-out style */
.ae2-gate-part-dropdown{
  position:absolute !important;
  left:0 !important;
  top:44px !important;
  z-index:999999 !important;
  width:max(420px, 100%) !important;
  max-height:280px !important;
  overflow:auto !important;
  background:#0f172a !important;
  border:1px solid #38bdf8 !important;
  border-radius:12px !important;
  box-shadow:0 18px 40px rgba(0,0,0,.55) !important;
  padding:4px !important;
}

.ae2-gate-part-option{
  padding:10px 12px !important;
  color:#e5e7eb !important;
  border-bottom:1px solid #1e293b !important;
  cursor:pointer !important;
  line-height:1.3 !important;
  white-space:normal !important;
  background:#0f172a !important;
}

.ae2-gate-part-option:hover,
.ae2-gate-part-option.active{
  background:#1d4ed8 !important;
  color:#fff !important;
}

.ae2-gate-part-option small{
  color:#bae6fd !important;
  font-size:12px !important;
}

.ae2-gate-part-option.disabled{
  opacity:.7 !important;
  cursor:default !important;
}

/* AE50 V11 safe UI cleanup */
#gateQty,
#gateEntry .gate-row-qty,
#gateEntry .gate-force-qty{
  text-align:right !important;
  padding-right:14px !important;
}
#gateQty::-webkit-outer-spin-button,
#gateQty::-webkit-inner-spin-button,
#gateEntry .gate-row-qty::-webkit-outer-spin-button,
#gateEntry .gate-row-qty::-webkit-inner-spin-button,
#gateEntry .gate-force-qty::-webkit-outer-spin-button,
#gateEntry .gate-force-qty::-webkit-inner-spin-button{
  -webkit-appearance:none !important;
  margin:0 !important;
}
#gateQty,
#gateEntry .gate-row-qty,
#gateEntry .gate-force-qty{
  -moz-appearance:textfield !important;
}
#ppmSaveBtn,
#ppmRefreshBtn{
  display:none !important;
}
[data-help-hidden-v11="1"]{
  display:none !important;
}

/* =========================================================
   AE50 EMS STYLE DESKTOP ERP UI PATCH
   Goal: EMS/Eazy style menu bar + full screen forms.
   Toolbar logic untouched. Existing .nav-btn data-page preserved.
========================================================= */

:root{
  --ems-orange:#f28b18;
  --ems-orange2:#ffb44c;
  --ems-gray:#b8b8b8;
  --ems-form:#050505;
  --ems-line:#ff765c;
  --ems-input:#f3f3f3;
  --ems-input-text:#07111f;
  --ems-blue:#1584df;
  --ems-status:#0d8ee8;
}

/* Desktop ERP base */
body{
  background:#a9a9a9 !important;
  color:#111827 !important;
  overflow:hidden;
  font-family:'Inter','Segoe UI',Arial,sans-serif !important;
}

/* Login keeps professional but less dark */
.login-screen{
  background:linear-gradient(135deg,#111827,#334155) !important;
}
.login-card{
  background:#f8fafc !important;
  color:#111827 !important;
  border:1px solid #d1d5db !important;
  box-shadow:0 25px 70px rgba(0,0,0,.35) !important;
}
.login-card h2{color:#0f172a !important}
.login-card p,.login-help{color:#475569 !important}
.login-card input{
  background:#fff !important;
  color:#111827 !important;
  border:1px solid #9ca3af !important;
}
.login-card button{background:linear-gradient(#ffb44c,#f28b18) !important;color:#111827 !important}

/* Top header becomes compact title strip */
.topbar{
  height:30px !important;
  min-height:30px !important;
  background:#f4f4f4 !important;
  border-bottom:1px solid #9ca3af !important;
  color:#111827 !important;
  padding:0 10px !important;
  box-shadow:none !important;
  position:sticky !important;
  top:0 !important;
  z-index:3000 !important;
}
.menu-btn{
  width:26px !important;
  height:26px !important;
  padding:0 !important;
  border-radius:50% !important;
  background:linear-gradient(#ffcd67,#f28b18) !important;
  color:#111827 !important;
  border:2px solid #1f2937 !important;
  font-size:16px !important;
  line-height:1 !important;
}
.brand-title h2,.topbar h2{
  color:#0f172a !important;
  font-size:13px !important;
  font-weight:700 !important;
  margin:0 !important;
}
.brand-title span,.topbar span{
  display:none !important;
}
.theme-toggle{
  display:none !important;
}
.logged-user{
  background:#e5e7eb !important;
  color:#111827 !important;
  border:1px solid #9ca3af !important;
  height:23px !important;
  padding:3px 8px !important;
  font-size:12px !important;
}
.logout-btn{
  background:#ef4444 !important;
  color:#fff !important;
  height:24px !important;
  padding:3px 10px !important;
  border-radius:2px !important;
}

/* Main layout becomes top ribbon + full screen area */
.container{
  display:block !important;
  width:100vw !important;
  height:calc(100vh - 30px - 28px) !important;
  max-width:none !important;
  margin:0 !important;
}

/* Existing sidebar converted into EMS top menu/ribbon */
.sidebar{
  width:100% !important;
  min-width:0 !important;
  height:32px !important;
  min-height:32px !important;
  padding:0 8px !important;
  display:flex !important;
  align-items:center !important;
  gap:0 !important;
  overflow:visible !important;
  background:linear-gradient(#ffb44c,#f28b18) !important;
  border-right:0 !important;
  border-bottom:1px solid #9a5a0a !important;
  box-shadow:none !important;
  position:relative !important;
  top:auto !important;
  left:auto !important;
  z-index:2500 !important;
}
.sidebar.hide{
  margin-left:0 !important;
  display:flex !important;
}

/* Top ribbon buttons */
.nav-btn{
  width:auto !important;
  min-width:auto !important;
  min-height:30px !important;
  height:30px !important;
  margin:0 !important;
  padding:4px 13px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  background:transparent !important;
  color:#111827 !important;
  border:none !important;
  border-left:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-size:13px !important;
  font-weight:700 !important;
  text-align:center !important;
  white-space:nowrap !important;
  transform:none !important;
}
.nav-btn:hover,.nav-btn.active{
  background:rgba(255,255,255,.32) !important;
  color:#000 !important;
  box-shadow:inset 0 -3px 0 #0ea5e9 !important;
  transform:none !important;
}
.nav-icon{
  font-size:12px !important;
  width:auto !important;
  min-width:auto !important;
}

/* Dropdown menus for Store/Reports */
.report-submenu{
  position:absolute !important;
  top:31px !important;
  left:8px !important;
  min-width:240px !important;
  background:#f6f6f6 !important;
  border:1px solid #6b7280 !important;
  border-left:1px solid #6b7280 !important;
  margin:0 !important;
  padding:3px !important;
  box-shadow:0 10px 24px rgba(0,0,0,.35) !important;
  z-index:4000 !important;
}
.store-submenu{left:250px !important}
.sales-submenu{left:395px !important}
#reportsSubmenu{left:520px !important}

.report-sub-btn,.store-sub-btn,.sales-sub-btn{
  display:flex !important;
  width:100% !important;
  height:28px !important;
  min-height:28px !important;
  justify-content:flex-start !important;
  background:#fff !important;
  color:#111827 !important;
  padding:5px 8px !important;
  border-radius:0 !important;
  border-bottom:1px solid #e5e7eb !important;
}
.report-sub-btn:hover,.report-sub-btn.active{
  background:#dbeafe !important;
  color:#111827 !important;
  box-shadow:none !important;
}
.ae2-report-group-title{
  color:#111827 !important;
  background:#e5e7eb !important;
  padding:6px 8px !important;
  font-weight:700 !important;
}

/* Main form workspace */
.main-content{
  width:100% !important;
  height:calc(100vh - 30px - 32px - 28px) !important;
  padding:8px !important;
  overflow:auto !important;
  background:#a9a9a9 !important;
  color:#f8fafc !important;
}
.page{
  width:100% !important;
  max-width:none !important;
  min-height:calc(100vh - 100px) !important;
  margin:0 !important;
}
.page h1{
  display:none !important;
}

/* Full-screen black data-entry panels like desktop ERP */
.panel,
.professional-module-form,
.part-master-form,
.import-box,
.note,
.cards{
  max-width:none !important;
}
.panel,
.professional-module-form,
.part-master-form{
  background:#050505 !important;
  color:#f8fafc !important;
  border:2px solid #38bdf8 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.panel{
  margin:0 0 8px 0 !important;
  padding:10px !important;
}
.panel-title{
  color:#ffffff !important;
  background:#111827 !important;
  border-bottom:2px solid var(--ems-line) !important;
  padding:6px 10px !important;
  margin:-10px -10px 10px -10px !important;
  font-size:14px !important;
}
.professional-module-form,
.part-master-form{
  grid-template-columns:repeat(4,minmax(160px,1fr)) !important;
  gap:8px 12px !important;
  padding:12px !important;
  margin:0 0 8px 0 !important;
}

/* Inputs like screenshot: white boxes on black form */
input,select,textarea{
  background:var(--ems-input) !important;
  color:var(--ems-input-text) !important;
  border:1px solid #7a7a7a !important;
  border-radius:1px !important;
  min-height:28px !important;
  padding:4px 7px !important;
  font-size:13px !important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.18) !important;
}
input:focus,select:focus,textarea:focus{
  border-color:#0ea5e9 !important;
  outline:2px solid rgba(14,165,233,.24) !important;
}

/* Keep existing toolbar, only desktop-ERP visual enhancement */
.clean-toolbar,.toolbar,.form-toolbar,.ae50-toolbar{
  background:linear-gradient(#f5f5f5,#d1d5db) !important;
  border:1px solid #8b8b8b !important;
  border-radius:0 !important;
  padding:5px !important;
  margin:0 0 8px 0 !important;
  display:flex !important;
  gap:4px !important;
  flex-wrap:wrap !important;
}
.clean-toolbar button,.toolbar button,.form-toolbar button,.ae50-toolbar button{
  background:linear-gradient(#ffffff,#d9d9d9) !important;
  color:#111827 !important;
  border:1px solid #777 !important;
  border-radius:0 !important;
  min-height:28px !important;
  padding:4px 18px !important;
  font-size:13px !important;
  font-weight:700 !important;
}
.clean-toolbar button:hover,.toolbar button:hover,.form-toolbar button:hover,.ae50-toolbar button:hover{
  background:#e0f2fe !important;
}

/* Tables/details grid */
table{
  background:#050505 !important;
  color:#f8fafc !important;
  border:1px solid #7f7f7f !important;
  border-radius:0 !important;
  margin-top:6px !important;
}
th{
  background:#e5e7eb !important;
  color:#111827 !important;
  border:1px solid #7f7f7f !important;
  padding:6px !important;
  font-size:12px !important;
}
td{
  background:#050505 !important;
  color:#f8fafc !important;
  border:1px solid #374151 !important;
  padding:6px !important;
  font-size:12px !important;
}
tr:hover td{
  background:#111827 !important;
}

/* Dashboard still usable but desktop style */
.cards{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(130px,1fr)) !important;
  gap:6px !important;
  margin-bottom:8px !important;
}
.card{
  background:#050505 !important;
  color:#fff !important;
  border:1px solid #38bdf8 !important;
  border-radius:0 !important;
  min-height:56px !important;
  padding:8px !important;
  box-shadow:none !important;
}
.card h3{color:#c7f9ff !important;font-size:11px !important}
.card p{color:#fff !important;font-size:20px !important}

/* Bottom status bar */
.ae50-desktop-statusbar{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 8px;
  z-index:5000;
  background:linear-gradient(#40b7ff,#0878ce);
  border-top:1px solid #005c99;
  color:#fff;
  font-size:12px;
  box-shadow:0 -3px 10px rgba(0,0,0,.22);
}
.ae50-desktop-statusbar span{
  margin-right:14px;
  white-space:nowrap;
}
.ae50-company{
  font-weight:800;
  letter-spacing:.2px;
}

/* Mobile/tablet */
@media(max-width:900px){
  body{overflow:auto !important}
  .container{height:auto !important}
  .sidebar{
    height:auto !important;
    min-height:0 !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    padding:4px !important;
  }
  .nav-btn{
    height:28px !important;
    padding:4px 8px !important;
    font-size:12px !important;
  }
  .main-content{
    height:auto !important;
    min-height:calc(100vh - 120px) !important;
    overflow:auto !important;
  }
  .professional-module-form,.part-master-form{
    grid-template-columns:1fr !important;
  }
  .report-submenu{
    position:static !important;
    width:100% !important;
    box-shadow:none !important;
  }
  .ae50-desktop-statusbar{
    font-size:10px;
    overflow:auto;
  }
}

/* =========================================================
   AE50 EMS A4 FORM WIDTH PATCH - 20260623
   Goal: All forms show in A4-like centered work area.
   Toolbar logic untouched. Top EMS menu unchanged.
========================================================= */

:root{
  --ae50-a4-width:1120px;
  --ae50-a4-bg:#050505;
  --ae50-a4-border:#38bdf8;
}

/* Keep grey desktop workspace, but show the active form as A4 sheet */
.main-content{
  display:block !important;
  padding:10px 12px 42px 12px !important;
  background:#a9a9a9 !important;
  overflow:auto !important;
}

/* Every page/form is centered in A4-like width */
.page{
  width:min(var(--ae50-a4-width), calc(100vw - 28px)) !important;
  max-width:var(--ae50-a4-width) !important;
  margin:0 auto 14px auto !important;
  min-height:calc(100vh - 120px) !important;
  background:transparent !important;
}

/* All main form blocks stay inside A4 width */
.page > .professional-module-form,
.page > .part-master-form,
.page > .panel,
.page > .import-box,
.page > .note,
.page > .cards,
.page .professional-module-form,
.page .part-master-form,
.page .panel,
.page .import-box,
.page .note,
.page .cards{
  max-width:100% !important;
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* A4 form sheet look */
.professional-module-form,
.part-master-form,
.panel{
  border:2px solid var(--ae50-a4-border) !important;
  background:var(--ae50-a4-bg) !important;
}

/* Keep toolbar inside same A4 page, not full browser width */
.clean-action-toolbar,
.final-action-toolbar,
.clean-toolbar,
.toolbar,
.form-toolbar,
.ae50-toolbar,
.safe-erp-toolbar,
.erp-action-toolbar{
  max-width:100% !important;
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Tables may scroll inside A4 instead of expanding page to full screen */
.page .panel,
.page .import-box{
  overflow:auto !important;
}

.page table{
  width:100% !important;
}

/* Compact 4-column form within A4; smaller screens auto reduce */
.professional-module-form,
.part-master-form{
  grid-template-columns:repeat(4, minmax(150px, 1fr)) !important;
}

@media(max-width:1180px){
  .page{width:calc(100vw - 24px) !important;max-width:calc(100vw - 24px) !important;}
  .professional-module-form,.part-master-form{grid-template-columns:repeat(3, minmax(145px,1fr)) !important;}
}

@media(max-width:900px){
  .page{width:calc(100vw - 16px) !important;max-width:calc(100vw - 16px) !important;}
  .professional-module-form,.part-master-form{grid-template-columns:repeat(2, minmax(140px,1fr)) !important;}
}

@media(max-width:650px){
  .professional-module-form,.part-master-form{grid-template-columns:1fr !important;}
}


/* =========================================================
   AE50 EMS MENU DROPDOWN FIX - 20260623
   Store / Sales / Reports dropdown open on hover and click.
   Toolbar and business logic untouched.
========================================================= */
.sidebar{overflow:visible !important;}
.report-submenu.ae50-dropdown-menu{
  position:absolute !important;
  display:none;
  background:#f6f6f6 !important;
  color:#111827 !important;
  border:1px solid #6b7280 !important;
  box-shadow:0 10px 24px rgba(0,0,0,.35) !important;
  z-index:99999 !important;
  padding:3px !important;
  margin:0 !important;
  max-height:70vh;
  overflow:auto;
}
.report-submenu.ae50-dropdown-menu:not(.hidden){display:block !important;}
.report-submenu.ae50-dropdown-menu .nav-btn,
.report-submenu.ae50-dropdown-menu .report-sub-btn{
  width:100% !important;
  display:flex !important;
  justify-content:flex-start !important;
  text-align:left !important;
  background:#ffffff !important;
  color:#111827 !important;
  border:0 !important;
  border-bottom:1px solid #e5e7eb !important;
  border-radius:0 !important;
  box-shadow:none !important;
  height:30px !important;
  min-height:30px !important;
}
.report-submenu.ae50-dropdown-menu .nav-btn:hover,
.report-submenu.ae50-dropdown-menu .report-sub-btn:hover{
  background:#dbeafe !important;
  color:#111827 !important;
  box-shadow:none !important;
}


/* =========================================================
   AE50 EMS LOGIN + DROPDOWN ALIGNMENT PATCH - 20260623
   Scope: login screen visual redesign + dropdown snap under menu.
   Toolbar/business logic untouched.
========================================================= */
.login-screen.ae50-login-screen-v2{
  background:rgba(0,0,0,.10) !important;
  background-image:none !important;
  align-items:center !important;
  justify-content:center !important;
}
.ae50-login-shell{
  width:940px;
  max-width:96vw;
  min-height:420px;
  display:grid;
  grid-template-columns:420px 1fr;
  background:#fff;
  box-shadow:0 24px 65px rgba(0,0,0,.38);
  border:1px solid rgba(0,0,0,.15);
}
.ae50-login-brand-panel{
  background:linear-gradient(135deg,#fb7185,#f43f5e 55%,#fb5d79) !important;
  color:#fff;
  padding:48px 38px;
  position:relative;
  overflow:hidden;
}
.ae50-login-brand-panel:before,
.ae50-login-brand-panel:after{
  content:"";
  position:absolute;
  border:2px solid rgba(255,255,255,.13);
  transform:rotate(45deg);
}
.ae50-login-brand-panel:before{width:260px;height:260px;right:-80px;top:-55px;}
.ae50-login-brand-panel:after{width:220px;height:220px;left:-90px;bottom:-85px;}
.ae50-login-logo-mark{
  width:62px;height:48px;
  display:flex;align-items:center;justify-content:center;
  border:3px solid rgba(255,255,255,.8);
  border-radius:10px;
  font-weight:900;font-size:22px;
  letter-spacing:-1px;
  margin-bottom:8px;
}
.ae50-login-brand-title{font-size:30px;font-weight:900;letter-spacing:.3px;margin-bottom:26px;}
.ae50-login-welcome{font-size:54px;line-height:.95;font-weight:900;letter-spacing:-1px;margin:10px 0 18px;}
.ae50-login-tagline{max-width:320px;font-size:14px;line-height:1.55;color:rgba(255,255,255,.9);}
.ae50-login-version{position:absolute;left:44px;bottom:34px;font-size:13px;color:rgba(255,255,255,.9);}
.login-card.ae50-login-card-v2{
  width:auto !important;
  max-width:none !important;
  background:#ffffff !important;
  color:#111827 !important;
  box-shadow:none !important;
  border:0 !important;
  border-radius:0 !important;
  padding:54px 40px 26px !important;
}
.ae50-login-label{
  display:block;
  margin:0 0 5px;
  font-size:14px;
  font-weight:700;
  color:#111827;
}
.ae50-login-card-v2 input,
.ae50-login-card-v2 select{
  width:100% !important;
  height:34px !important;
  min-height:34px !important;
  margin:0 0 12px !important;
  padding:5px 8px !important;
  border:1px solid #9ca3af !important;
  background:#fff !important;
  color:#111827 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.ae50-add-org,.ae50-forgot{
  display:block;
  color:#1f2937;
  text-decoration:underline;
  font-weight:600;
  font-size:13px;
  margin:-8px 0 14px 160px;
}
.ae50-forgot{margin:-8px 0 14px 0;}
.ae50-login-check{
  display:flex;align-items:center;gap:6px;
  margin:-4px 0 14px;
  color:#111827;
  font-size:13px;
  font-weight:600;
}
.ae50-login-check input{width:16px !important;height:16px !important;margin:0 !important;min-height:16px !important;}
.ae50-login-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px;}
.ae50-login-actions button{
  width:100px !important;
  height:34px !important;
  margin:0 !important;
  border-radius:0 !important;
  border:1px solid #cbd5e1 !important;
  box-shadow:none !important;
}
.ae50-login-actions #loginBtn{background:#f43f5e !important;color:#fff !important;}
.ae50-login-close{background:#f3f4f6 !important;color:#111827 !important;}
.ae50-login-card-v2 .login-help{margin-top:18px;color:#6b7280 !important;text-align:right;font-size:12px;}
.ae50-login-powered{margin-top:16px;color:#f43f5e;font-size:12px;text-align:center;font-weight:800;}

/* Dropdown must snap exactly under Store/Sales/Reports; override old fixed offsets */
.store-submenu,
.sales-submenu,
#reportsSubmenu,
.report-submenu.ae50-dropdown-menu{
  left:auto !important;
  top:auto !important;
}

@media(max-width:800px){
  .ae50-login-shell{grid-template-columns:1fr;min-height:0;}
  .ae50-login-brand-panel{padding:28px;min-height:230px;}
  .ae50-login-welcome{font-size:42px;}
  .login-card.ae50-login-card-v2{padding:28px !important;}
}

/* =========================================================
   AE50 EMS TOP MODULES + CARD SEARCH PATCH - 20260623
   Scope: menu additions and search box inside every card.
   Toolbar/business logic untouched.
========================================================= */
.ae50-added-module-menu{z-index:100000 !important;}
.ae50-added-module-menu .ae50-menu-disabled{opacity:.72;cursor:not-allowed !important;}
.ae50-added-module-menu .ae50-menu-disabled:hover{background:#f3f4f6 !important;color:#6b7280 !important;}
.ae50-card-search-wrap{
  margin-top:8px;
  display:flex;
  align-items:center;
  gap:5px;
  height:26px;
  background:#111827;
  border:1px solid #38bdf8;
  padding:2px 6px;
}
.ae50-card-search-wrap i{font-size:11px;color:#93c5fd;}
.ae50-card-search{
  width:100% !important;
  height:20px !important;
  min-height:20px !important;
  padding:1px 4px !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#ffffff !important;
  font-size:11px !important;
  box-shadow:none !important;
}
.ae50-card-search::placeholder{color:#9ca3af !important;}
.cards .card{padding-bottom:8px !important;}
@media(max-width:900px){
  .ae50-card-search-wrap{height:24px;}
  .ae50-card-search{font-size:10px !important;}
}


/* =========================================================
   AE50 FAST MENU CLICK PATCH - 20260623
   Menu dropdowns now use fixed viewport positioning and one delegated controller.
========================================================= */
.report-submenu.ae50-dropdown-menu{
  position:fixed !important;
  margin:0 !important;
  max-height:70vh !important;
  overflow:auto !important;
  will-change:left,top !important;
}
.nav-btn.ae50-module-parent,
#storeMenuBtn,#salesMenuBtn,#reportsMenuBtn{
  cursor:pointer !important;
}


/* =========================================================
   AE50 MENU/CARD/BUTTON POLISH PATCH - 20260623
   Scope: dropdown positioning reliability, click-to-show KPI card search,
   and action buttons matched with EMS menu orange.
   Existing form background/field colors remain unchanged.
========================================================= */
:root{
  --ae50-menu-orange:#f28b18;
  --ae50-menu-orange2:#ffb44c;
  --ae50-menu-border:#9a5a0a;
}

/* Override old left:auto!important conflict; JS still sets exact left/top inline with !important. */
.report-submenu.ae50-dropdown-menu{
  position:fixed !important;
  left:8px !important;
  top:62px !important;
  margin:0 !important;
  max-height:70vh !important;
  overflow:auto !important;
}

/* KPI card search should appear only after clicking that card. */
.cards .card{cursor:pointer;}
.ae50-card-search-wrap{
  display:none !important;
  margin-top:8px;
}
.cards .card.ae50-card-search-open .ae50-card-search-wrap{
  display:flex !important;
}
.cards .card.ae50-card-search-open{
  box-shadow:0 0 0 1px #38bdf8 inset !important;
}

/* Button color matched with EMS menu bar. Does not alter form panels/fields/background. */
button:not(.nav-btn):not(.menu-btn):not(.logout-btn):not(.theme-toggle),
.clean-toolbar button,
.toolbar button,
.form-toolbar button,
.ae50-toolbar button,
.small-btn,
.edit-btn,
.export-btn,
.history-btn,
.share-btn,
.mail-btn{
  background:linear-gradient(var(--ae50-menu-orange2), var(--ae50-menu-orange)) !important;
  color:#111827 !important;
  border:1px solid var(--ae50-menu-border) !important;
  box-shadow:0 2px 5px rgba(0,0,0,.22) !important;
}
button:not(.nav-btn):not(.menu-btn):not(.logout-btn):not(.theme-toggle):hover,
.clean-toolbar button:hover,
.toolbar button:hover,
.form-toolbar button:hover,
.ae50-toolbar button:hover{
  filter:brightness(1.04) !important;
  opacity:1 !important;
}
.delete-btn,.cancel-btn{
  background:linear-gradient(var(--ae50-menu-orange2), var(--ae50-menu-orange)) !important;
  color:#111827 !important;
}

/* New added menu dropdown items should stay neutral white like EMS, not blue/dark. */
.report-submenu.ae50-dropdown-menu .nav-btn,
.report-submenu.ae50-dropdown-menu .report-sub-btn{
  background:#ffffff !important;
  color:#111827 !important;
  border-bottom:1px solid #e5e7eb !important;
  box-shadow:none !important;
}
.report-submenu.ae50-dropdown-menu .nav-btn:hover,
.report-submenu.ae50-dropdown-menu .report-sub-btn:hover{
  background:#ffe7c2 !important;
  color:#111827 !important;
}


/* AE50 MENU RESTRUCTURE + TOOLBAR POLISH - 20260623
   No form field/card colors changed. Only toolbar/menu buttons are aligned to EMS orange menu bar. */
.clean-action-toolbar .clean-toolbar-buttons button,
.clean-action-toolbar button[data-act]{
  background:linear-gradient(180deg,#ffb347,#f59e0b) !important;
  color:#111827 !important;
  border:1px solid #b45309 !important;
  box-shadow:0 2px 6px rgba(0,0,0,.25) !important;
}
.clean-action-toolbar .clean-toolbar-buttons button:hover,
.clean-action-toolbar button[data-act]:hover{
  filter:brightness(1.05) !important;
  transform:translateY(-1px) !important;
}
.clean-action-toolbar button[data-act="delete"]{background:linear-gradient(180deg,#ff8a80,#ef4444) !important;color:#fff !important;border-color:#991b1b !important;}
.clean-action-toolbar button[data-act="cancel"]{background:linear-gradient(180deg,#ffb347,#f97316) !important;color:#111827 !important;border-color:#c2410c !important;}
.clean-action-toolbar button[data-act="print"],
.clean-action-toolbar .ae50-toolbar-print-btn{
  background:linear-gradient(180deg,#ffe08a,#f59e0b) !important;
  color:#111827 !important;
  border-color:#b45309 !important;
}
#ae50DesktopStatusBar{z-index:100001 !important;}
#ae50DesktopStatusBar + *{margin-bottom:26px;}
#ae50DesktopStatusBar ~ .ae50-dropdown-menu,
.ae50-dropdown-menu{box-shadow:0 8px 20px rgba(0,0,0,.25) !important;}


/* AE50 Party Type / Transporter / Find Select Polish */
.party-purpose-row{grid-column:1 / -1;display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:#050505;border:1px solid #2f9bd8;border-radius:0;padding:10px 12px;color:#fff;font-weight:700;}
.party-purpose-row label{display:flex;align-items:center;gap:6px;white-space:nowrap;}
.party-purpose-row input{width:auto!important;min-height:auto!important;}
#ae50FindSelected,.ae50-find-selected{outline:2px solid #f59e0b!important;background:rgba(245,158,11,.22)!important;}
#transporterMaster table{min-width:920px;}
#accountsSubmenu .nav-btn[data-page="transporterMaster"]{font-weight:700;}


/* AE50 HELP/VEHICLE/WT/DETAILS PATCH - preserve existing colors */
.ae50-help-hidden{display:none!important;}
#gateEntry .gate-item-add-panel{min-height:360px!important;}
#gateEntry .gate-items-table{min-height:220px!important;}
#gateEntry .gate-items-table tbody{height:170px!important;}
#ae50DesktopStatusBar{z-index:100001!important;}
.ae50-vehicle-row{display:grid;grid-template-columns:1fr 150px 1fr 140px;gap:8px;align-items:end;margin:6px 0 8px;}
.ae50-vehicle-list-table{margin-top:6px!important;min-width:650px!important;}
.ae50-kg-field span{display:flex;align-items:center;gap:6px;}
.ae50-kg-field input{flex:1;}
.ae50-kg-field b{padding:10px 12px;border:1px solid var(--erp-border2,#334155);border-radius:8px;background:rgba(15,23,42,.96);color:inherit;}
#partPackingMaster .panel:nth-of-type(2){display:none!important;}
#challanOut .advanced-items-table th,#challanOut .advanced-items-table td{white-space:nowrap;}
#challanOut .outItemWt{min-width:82px!important;}
.report-submenu.ae50-dropdown-menu,.ae50-dropdown-menu{box-shadow:0 6px 18px rgba(0,0,0,.28)!important;}
@media(max-width:800px){.ae50-vehicle-row{grid-template-columns:1fr}.ae50-vehicle-list-table{min-width:100%!important}}


/* AE50 UI BEHAVIOR FIX PATCH 20260623 - no form color change */
.hint,.global-grid-hint,.erp-hint-line{display:none!important;}
.erp-entry-locked{opacity:1!important;background:inherit!important;color:inherit!important;cursor:auto!important;}
.erp-entry-page-locked .part-master-form::after,
.erp-entry-page-locked .professional-module-form::after{display:none!important;content:""!important;}
.clean-action-toolbar button,
.clean-toolbar-buttons button,
button.small-btn,
button.export-btn,
button.cancel-btn,
button.delete-btn,
button.edit-btn{transition:none!important;}
.clean-action-toolbar button:active,
.clean-action-toolbar button:focus{filter:none!important;transform:none!important;}
.ae50-dropdown-menu,.report-submenu{z-index:100000!important;}
#gatePartSuggestions,#gatePartySuggestions,.search-suggestions{z-index:100002!important;}
.ae50-fixed-search-menu{position:fixed!important;z-index:100002!important;max-height:240px!important;overflow:auto!important;background:#fff!important;color:#111827!important;border:1px solid #0284c7!important;box-shadow:0 8px 24px rgba(0,0,0,.28)!important;border-radius:2px!important;}
.ae50-fixed-search-menu .search-suggestion{color:#111827!important;background:#fff!important;border-bottom:1px solid #e5e7eb!important;}
.ae50-fixed-search-menu .search-suggestion:hover,.ae50-fixed-search-menu .search-suggestion.active{background:#ffb347!important;color:#111827!important;}
.ae50-find-selected{outline:2px solid #f59e0b!important;background:rgba(245,158,11,.20)!important;}
.page{scroll-margin-top:85px;}
.page.ae50-open-page{display:block!important;}
.ae50-audit-empty{padding:14px;color:#fbbf24;font-weight:700;}
#gateEntry .gate-item-add-panel .panel-title{display:flex!important;align-items:center!important;}
#gatePartSuggestions.ae50-fixed-search-menu{margin-top:0!important;width:auto!important;}

/* =========================================================
   AE50 NO FIELD COLOR CHANGE PATCH - 20260623
   Root cause: browser disabled/read-only styles and earlier selected/locked
   classes were making fields light grey after Add/Find/select.
   Fix: keep all form inputs/selects/textarea same visual theme in every state.
   Business logic untouched.
========================================================= */
:root{
  --ae50-field-bg:#050505;
  --ae50-field-text:#f8fafc;
  --ae50-field-border:#3f3f46;
}

/* Same field color for normal, readonly, disabled, locked, selected states */
.page input,
.page select,
.page textarea,
.professional-module-form input,
.professional-module-form select,
.professional-module-form textarea,
.part-master-form input,
.part-master-form select,
.part-master-form textarea,
#gateEntry input,
#gateEntry select,
#gateEntry textarea,
#challanOut input,
#challanOut select,
#challanOut textarea,
#partyMaster input,
#partyMaster select,
#partyMaster textarea,
#partMaster input,
#partMaster select,
#partMaster textarea,
#firmMaster input,
#firmMaster select,
#firmMaster textarea,
#transporterMaster input,
#transporterMaster select,
#transporterMaster textarea,
input[readonly],
select[readonly],
textarea[readonly],
input:disabled,
select:disabled,
textarea:disabled,
.erp-entry-locked,
.erp-entry-locked input,
.erp-entry-locked select,
.erp-entry-locked textarea{
  background:var(--ae50-field-bg) !important;
  color:var(--ae50-field-text) !important;
  -webkit-text-fill-color:var(--ae50-field-text) !important;
  border-color:var(--ae50-field-border) !important;
  opacity:1 !important;
  filter:none !important;
  box-shadow:none !important;
}

/* Do not highlight/change form or row colors when Add/Edit/Find selects a row */
.page .ae50-find-selected,
.page #ae50FindSelected,
.page .sales-row-added,
.page .sales-row-edit,
.page tr.ae50-find-selected,
.page tr.sales-row-added,
.page tr.sales-row-edit{
  background:inherit !important;
  outline:none !important;
  box-shadow:none !important;
}

/* Challan Out party selected field must not become grey */
#challanOut input[id*="Party"],
#challanOut input[id*="party"],
#challanOut .party-search-input,
#challanOut .co-party-search,
#challanOut [data-field*="party"],
#challanOut [data-field*="Party"]{
  background:var(--ae50-field-bg) !important;
  color:var(--ae50-field-text) !important;
  -webkit-text-fill-color:var(--ae50-field-text) !important;
  opacity:1 !important;
}

/* Grid input fields: keep same color after row add */
#gateEntry table input,
#gateEntry table select,
#challanOut table input,
#challanOut table select,
.advanced-items-table input,
.advanced-items-table select,
.gate-items-table input,
.gate-items-table select{
  background:var(--ae50-field-bg) !important;
  color:var(--ae50-field-text) !important;
  -webkit-text-fill-color:var(--ae50-field-text) !important;
  border-color:var(--ae50-field-border) !important;
  opacity:1 !important;
}

/* Keep placeholder readable without changing selected field color */
.page input::placeholder,
.page textarea::placeholder{
  color:#94a3b8 !important;
  -webkit-text-fill-color:#94a3b8 !important;
}



/* =========================================================
   AE50 FINAL LOGIN SIZE OVERRIDE - 20260624
   Login dialog 1/3 smaller. Place at END of style.css.
========================================================= */
#loginScreen.login-screen.ae50-login-screen-v2{
  align-items:center !important;
  justify-content:center !important;
  padding:10px !important;
}
#loginScreen .ae50-login-shell{
  width:627px !important;          /* 940px ka approx 2/3 */
  max-width:94vw !important;
  min-height:280px !important;     /* 420px ka approx 2/3 */
  grid-template-columns:280px 1fr !important;
  transform:none !important;
}
#loginScreen .ae50-login-brand-panel{
  padding:26px 24px !important;
  min-height:280px !important;
}
#loginScreen .ae50-login-logo-mark{
  width:44px !important;
  height:34px !important;
  font-size:16px !important;
  margin-bottom:5px !important;
}
#loginScreen .ae50-login-brand-title{
  font-size:21px !important;
  margin-bottom:14px !important;
}
#loginScreen .ae50-login-welcome{
  font-size:36px !important;
  line-height:.95 !important;
  margin:6px 0 12px !important;
}
#loginScreen .ae50-login-tagline{
  max-width:220px !important;
  font-size:11px !important;
  line-height:1.35 !important;
}
#loginScreen .ae50-login-version{
  left:24px !important;
  bottom:18px !important;
  font-size:10px !important;
}
#loginScreen .login-card.ae50-login-card-v2{
  width:auto !important;
  max-width:none !important;
  padding:28px 26px 16px !important;
}
#loginScreen .ae50-login-label{
  font-size:11px !important;
  margin:0 0 3px !important;
}
#loginScreen .ae50-login-card-v2 input,
#loginScreen .ae50-login-card-v2 select{
  height:28px !important;
  min-height:28px !important;
  margin:0 0 8px !important;
  padding:4px 7px !important;
  font-size:11px !important;
}
#loginScreen .ae50-add-org,
#loginScreen .ae50-forgot{
  font-size:11px !important;
  margin:-5px 0 9px 0 !important;
}
#loginScreen .ae50-add-org{
  margin-left:105px !important;
}
#loginScreen .ae50-login-check{
  font-size:11px !important;
  margin:-2px 0 9px !important;
}
#loginScreen .ae50-login-check input{
  width:13px !important;
  height:13px !important;
  min-height:13px !important;
}
#loginScreen .ae50-login-actions{
  gap:7px !important;
  margin-top:2px !important;
}
#loginScreen .ae50-login-actions button{
  width:78px !important;
  height:28px !important;
  min-height:28px !important;
  font-size:11px !important;
  padding:4px 8px !important;
}
#loginScreen .ae50-login-card-v2 .login-help{
  margin-top:10px !important;
  font-size:10px !important;
}
#loginScreen .ae50-login-powered{
  margin-top:8px !important;
  font-size:10px !important;
}
@media(max-width:800px){
  #loginScreen .ae50-login-shell{
    width:min(360px,94vw) !important;
    grid-template-columns:1fr !important;
    min-height:0 !important;
  }
  #loginScreen .ae50-login-brand-panel{
    min-height:150px !important;
    padding:18px !important;
  }
  #loginScreen .login-card.ae50-login-card-v2{
    padding:20px !important;
  }
}

/* =========================================================
   ERPPLUS STANDARD PACKING V3 - SAFE FORM-SCOPED UI FIX
   Scope: #partPackingMaster only. No business logic changes.
   Restores toolbar buttons hidden by older global rules and
   matches the approved Part Master light UI direction.
========================================================= */
#partPackingMaster.ppm-part-master-style-page{
  background:#e7eaee !important;
  color:#18212b !important;
}

#partPackingMaster .ppm-fields{
  background:#f4f5f7 !important;
  border-color:#aeb7c0 !important;
  border-left-color:#6b7885 !important;
}

#partPackingMaster .ppm-field label{
  color:#26313c !important;
  opacity:1 !important;
  visibility:visible !important;
  font-weight:700 !important;
}

#partPackingMaster .ppm-field input,
#partPackingMaster .ppm-field select{
  display:block !important;
  background:#ffffff !important;
  color:#17212b !important;
  border:1px solid #aab4be !important;
  border-radius:0 !important;
  opacity:1 !important;
  -webkit-text-fill-color:#17212b !important;
}

#partPackingMaster .ppm-field input::placeholder{
  color:#7b8794 !important;
  opacity:1 !important;
}

#partPackingMaster .ppm-field input:disabled,
#partPackingMaster .ppm-field input[readonly],
#partPackingMaster .ppm-field select:disabled{
  background:#e9edf1 !important;
  color:#4d5965 !important;
  -webkit-text-fill-color:#4d5965 !important;
  opacity:1 !important;
}

#partPackingMaster .ppm-toolbar{
  display:flex !important;
  visibility:visible !important;
  align-items:center !important;
  justify-content:space-between !important;
  background:linear-gradient(180deg,#68727c 0%,#59636d 100%) !important;
  border:1px solid #48515a !important;
  min-height:40px !important;
  padding:5px 7px !important;
}

#partPackingMaster .ppm-toolbar-title{
  display:block !important;
  color:#ffffff !important;
  opacity:1 !important;
  visibility:visible !important;
}

#partPackingMaster .ppm-toolbar-actions{
  display:flex !important;
  visibility:visible !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:6px !important;
  flex-wrap:wrap !important;
}

/* Older global cleanup hides these two buttons; restore them only here. */
#partPackingMaster #ppmAddBtn,
#partPackingMaster #ppmSaveBtn,
#partPackingMaster #ppmRefreshBtn,
#partPackingMaster #ppmCancelBtn{
  display:inline-flex !important;
  visibility:visible !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  height:30px !important;
  min-height:30px !important;
  max-height:30px !important;
  min-width:78px !important;
  margin:0 !important;
  padding:0 11px !important;
  border:1px solid #c96d05 !important;
  border-radius:0 !important;
  background:#f59a23 !important;
  background-image:none !important;
  color:#111827 !important;
  font-family:Inter,"Segoe UI",Arial,sans-serif !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:28px !important;
  box-shadow:none !important;
  opacity:1 !important;
  cursor:pointer !important;
}

#partPackingMaster #ppmAddBtn:hover,
#partPackingMaster #ppmSaveBtn:hover,
#partPackingMaster #ppmRefreshBtn:hover,
#partPackingMaster #ppmCancelBtn:hover{
  background:#e88912 !important;
  border-color:#b96003 !important;
}

#partPackingMaster #ppmAddBtn:focus-visible,
#partPackingMaster #ppmSaveBtn:focus-visible,
#partPackingMaster #ppmRefreshBtn:focus-visible,
#partPackingMaster #ppmCancelBtn:focus-visible{
  outline:2px solid #12a8ff !important;
  outline-offset:1px !important;
}

#partPackingMaster .ppm-kg-wrap b{
  background:#59636d !important;
  color:#ffffff !important;
  border-radius:0 !important;
}

#partPackingMaster .ppm-list-title{
  color:#22303c !important;
  background:#eef1f4 !important;
  opacity:1 !important;
  visibility:visible !important;
}

#partPackingMaster thead th{
  color:#18212b !important;
  background:#dfe4e9 !important;
  opacity:1 !important;
  visibility:visible !important;
}

@media(max-width:600px){
  #partPackingMaster .ppm-toolbar-actions{width:100% !important;justify-content:flex-start !important;}
  #partPackingMaster #ppmAddBtn,
  #partPackingMaster #ppmSaveBtn,
  #partPackingMaster #ppmRefreshBtn,
  #partPackingMaster #ppmCancelBtn{height:36px !important;min-height:36px !important;max-height:36px !important;}
}

/* =========================================================
   ERPPLUS LOGIN-ONLY STARTUP SCREEN - 20260731
   Before successful login, show only the login dialog.
   ERP shell, menus, dashboard and desktop status bar remain hidden.
========================================================= */
body:has(#loginScreen:not(.hidden)) .topbar,
body:has(#loginScreen:not(.hidden)) #appShell,
body:has(#loginScreen:not(.hidden)) #ae50DesktopStatusBar {
  display: none !important;
  visibility: hidden !important;
}

body:has(#loginScreen:not(.hidden)) {
  overflow: hidden !important;
  background: #eef1f5 !important;
}

#loginScreen:not(.hidden) {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  min-height: 100vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #eef1f5 !important;
  z-index: 2147483000 !important;
}

/* =========================================================
   INOVIQ ERP MOBILE LOGIN RESPONSIVE FIX - 20260912
   Scope: login screen only. Desktop layout/business logic unchanged.
========================================================= */
@media (max-width: 600px), (max-height: 760px) and (max-width: 800px){
  body:has(#loginScreen:not(.hidden)){
    overflow:hidden !important;
  }

  #loginScreen.login-screen.ae50-login-screen-v2:not(.hidden){
    height:100dvh !important;
    min-height:100dvh !important;
    padding:8px !important;
    overflow-y:auto !important;
    align-items:flex-start !important;
    justify-content:center !important;
  }

  #loginScreen .ae50-login-shell{
    width:min(390px, 100%) !important;
    max-width:100% !important;
    min-height:0 !important;
    margin:auto 0 !important;
    grid-template-columns:1fr !important;
    overflow:hidden !important;
  }

  #loginScreen .ae50-login-brand-panel{
    min-height:132px !important;
    padding:13px 18px 12px !important;
  }

  #loginScreen .ae50-login-logo-mark{
    width:38px !important;
    height:29px !important;
    font-size:14px !important;
    margin-bottom:3px !important;
  }

  #loginScreen .ae50-login-brand-title{
    font-size:19px !important;
    margin-bottom:3px !important;
  }

  #loginScreen .ae50-login-welcome{
    font-size:27px !important;
    line-height:.92 !important;
    margin:2px 0 5px !important;
  }

  #loginScreen .ae50-login-tagline{
    max-width:none !important;
    font-size:9.5px !important;
    line-height:1.2 !important;
  }

  #loginScreen .ae50-login-version{
    left:auto !important;
    right:18px !important;
    bottom:10px !important;
    font-size:8.5px !important;
  }

  #loginScreen .ae50-login-powered{
    position:absolute !important;
    right:18px !important;
    bottom:26px !important;
    margin:0 !important;
    color:rgba(255,255,255,.92) !important;
    font-size:8.5px !important;
  }

  #loginScreen .login-card.ae50-login-card-v2{
    padding:12px 18px 13px !important;
  }

  #loginScreen .ae50-login-label{
    font-size:10.5px !important;
    margin:0 0 2px !important;
  }

  #loginScreen .ae50-login-card-v2 input,
  #loginScreen .ae50-login-card-v2 select{
    height:32px !important;
    min-height:32px !important;
    margin:0 0 6px !important;
    padding:4px 8px !important;
    font-size:12px !important;
  }

  #loginScreen .ae50-login-check{
    font-size:10.5px !important;
    margin:-1px 0 6px !important;
  }

  #loginScreen .ae50-login-check input{
    width:14px !important;
    height:14px !important;
    min-height:14px !important;
    margin:0 4px 0 0 !important;
  }

  #loginScreen .ae50-forgot,
  #loginScreen .ae50-add-org{
    font-size:10px !important;
    margin:-3px 0 6px !important;
  }

  #loginScreen .ae50-add-org{
    margin-left:0 !important;
  }

  #loginScreen .ae50-login-actions{
    gap:7px !important;
    margin-top:1px !important;
    justify-content:flex-end !important;
  }

  #loginScreen .ae50-login-actions button{
    width:82px !important;
    height:31px !important;
    min-height:31px !important;
    font-size:11px !important;
    padding:4px 8px !important;
  }
}
