/* =====================================================================
   KIRAN OMS — PREMIUM SHELL / PHASE 1
   Scope: design system + sidebar + top header + adaptive layout only.
   Existing OMS workflows, tables and data logic remain unchanged.
   ===================================================================== */
:root{
  --app-bg:#f4f7fb;
  --surface:#ffffff;
  --surface-soft:#f8fafc;
  --surface-raised:#ffffff;
  --text:#172033;
  --text-2:#516078;
  --text-3:#7e8ba0;
  --line:#e3e9f2;
  --line-strong:#d5deea;
  --brand:#2563eb;
  --brand-2:#1d4ed8;
  --brand-soft:#eef5ff;
  --success:#16a34a;
  --warning:#d97706;
  --danger:#dc2626;
  --sidebar:#0b1220;
  --sidebar-2:#111c2f;
  --sidebar-text:#d7e1ef;
  --sidebar-muted:#7f91aa;
  --sidebar-line:rgba(255,255,255,.075);
  --sidebar-w:244px;
  --sidebar-collapsed-w:76px;
  --header-h:68px;
  --radius-sm:8px;
  --radius:12px;
  --radius-lg:16px;
  --shadow-sm:0 1px 2px rgba(15,23,42,.04);
  --shadow:0 8px 28px rgba(15,23,42,.07);
  --shadow-lg:0 18px 44px rgba(15,23,42,.12);

  /* legacy tokens mapped to the new system */
  --bg:var(--app-bg);
  --s1:var(--surface);
  --s2:var(--surface-soft);
  --s3:#edf1f7;
  --bd:var(--line);
  --acc:var(--brand);
  --tx:var(--text);
  --mu:var(--text-2);
  --hdr-bg:var(--sidebar);
}

html,body{background:var(--app-bg)!important;color:var(--text);}
body{min-height:100vh;overflow-x:hidden!important;}
button,input,select,textarea{font-family:inherit}

/* ===== PREMIUM TOP HEADER ===== */
header.app-header{
  position:sticky!important;
  top:0!important;
  z-index:1200!important;
  height:var(--header-h)!important;
  padding:0 18px!important;
  display:grid!important;
  grid-template-columns:minmax(245px,auto) minmax(180px,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  background:rgba(255,255,255,.97)!important;
  color:var(--text)!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  box-shadow:0 5px 18px rgba(15,23,42,.055)!important;
  backdrop-filter:blur(14px);
}
.header-brand{display:flex;align-items:center;gap:11px;min-width:0}
.sidebar-toggle{
  width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;
  background:#f7f9fc;border:1px solid var(--line);border-radius:10px;
  color:#334155;font-size:18px;cursor:pointer;transition:.18s;
}
.sidebar-toggle:hover{background:var(--brand-soft);color:var(--brand);border-color:#cbdcf9}
.brand-mark{
  width:39px;height:39px;border-radius:11px;display:grid;place-items:center;
  background:linear-gradient(145deg,#2f73f5,#1d4ed8);color:#fff;font-weight:900;font-size:19px;
  box-shadow:0 7px 18px rgba(37,99,235,.25);
}
header .brand-copy{min-width:0}
header .logo{font-family:inherit!important;font-size:16px!important;line-height:1.05;color:#101828!important;letter-spacing:.15px;font-weight:850!important;white-space:nowrap}
header .logo span{color:var(--brand)!important}
.brand-subtitle{font-size:10.5px;color:var(--text-3);margin-top:4px;white-space:nowrap}

.header-context{display:flex;align-items:center;justify-content:center;gap:17px;min-width:0}
.header-page-line{display:flex;flex-direction:column;min-width:0;line-height:1.1}
.header-page-kicker{font-size:8.5px;font-weight:800;letter-spacing:1.25px;color:#99a5b7}
#app-page-title{font-size:14px;color:#26344a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}
header .header-current-date{display:flex!important;align-items:center!important;flex-direction:row!important;gap:8px;color:#6b7a90!important;font-size:11px!important;letter-spacing:0!important;white-space:nowrap}
header .header-current-date b{color:#344258!important;font-weight:750!important}
header .header-last-work{margin:0 0 0 2px!important;padding-left:10px!important;border-left:1px solid var(--line)!important;color:#7d899c!important;font-size:10px!important}
header .header-last-work b{color:var(--brand)!important}

.header-right{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
header .header-kpis{display:flex!important;gap:5px!important;align-items:center!important}
.header-kpi{
  min-width:48px;padding:6px 7px;border-radius:9px;background:#f8fafc;border:1px solid #edf1f6;
  display:flex!important;flex-direction:column;gap:0!important;text-align:center;color:var(--text-3)!important;line-height:1.05;
}
.header-kpi small{font-size:8.5px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.header-kpi b{font-size:12px!important;color:#29364a!important;margin-top:3px}
.header-kpi.kpi-pending b{color:#dc2626!important}.header-kpi.kpi-prod b{color:#c26a06!important}.header-kpi.kpi-dispatched b{color:#2563eb!important}
.header-system-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}
.sys-pill,.header-icon-btn,.fit-control button{
  height:34px!important;border:1px solid var(--line)!important;background:#fff!important;color:#46556b!important;
  border-radius:9px!important;padding:0 9px!important;font-size:10.5px!important;font-weight:700!important;cursor:pointer;box-shadow:none!important;
}
.sys-pill{display:inline-flex;align-items:center;gap:4px}
.lan-pill{background:#effaf3!important;border-color:#cee9d6!important;color:#18723a!important}
.oms-pill{background:#fff6f6!important;border-color:#f4d1d1!important;color:#a72c2c!important}
.header-icon-btn:hover,.fit-control button:hover,.sys-pill:hover{background:#f7f9fc!important;border-color:#cbd5e1!important}
.fit-control{display:inline-flex!important;align-items:center;gap:3px!important;margin:0!important;padding:0!important}
.fit-control button{min-width:32px;padding:0 7px!important}
#fit-pct{min-width:45px!important}

/* ===== FIXED LEFT SIDEBAR ===== */
nav.top-nav{
  position:fixed!important;
  left:0!important;top:var(--header-h)!important;bottom:0!important;
  width:var(--sidebar-w)!important;height:auto!important;min-height:0!important;
  z-index:1100!important;
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  gap:3px!important;padding:14px 10px 12px!important;
  background:linear-gradient(180deg,var(--sidebar) 0%,#0d1728 100%)!important;
  border:0!important;border-right:1px solid #13223a!important;box-shadow:8px 0 28px rgba(15,23,42,.08)!important;
  overflow-y:auto!important;overflow-x:hidden!important;
  scrollbar-width:thin;scrollbar-color:#2c3c54 transparent;
  transition:width .2s ease,transform .22s ease!important;
}
nav.top-nav::-webkit-scrollbar{width:5px;height:0}nav.top-nav::-webkit-scrollbar-thumb{background:#2b3a50;border-radius:10px}
.sidebar-head{display:flex;align-items:center;gap:10px;padding:2px 7px 13px;border-bottom:1px solid var(--sidebar-line);margin-bottom:6px}
.sidebar-head-mark{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:#2563eb;color:#fff;font-weight:900;flex:0 0 auto}
.sidebar-head-copy{display:flex;flex-direction:column;min-width:0}.sidebar-head-copy b{color:#f5f8fc;font-size:12px;letter-spacing:.2px}.sidebar-head-copy small{font-size:9.5px;color:var(--sidebar-muted);margin-top:1px}
.sidebar-section-label{padding:8px 10px 5px;color:#64758d;font-size:8.5px;letter-spacing:1.15px;font-weight:850}

nav.top-nav>.tab,
nav.top-nav>.nav-history-menu>.tab,
nav.top-nav>.nav-admin-menu>.tab{
  width:100%!important;min-height:42px!important;margin:0!important;padding:0 11px!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;
  text-align:left!important;border:0!important;border-radius:9px!important;
  color:#aebbd0!important;background:transparent!important;font:650 12.5px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  white-space:nowrap!important;overflow:hidden!important;transition:background .16s,color .16s,transform .16s!important;
}
nav.top-nav>.tab:hover,nav.top-nav>.nav-history-menu>.tab:hover,nav.top-nav>.nav-admin-menu>.tab:hover{background:#16243a!important;color:#f5f8fc!important;transform:translateX(1px)}
nav.top-nav>.tab.on,nav.top-nav>.nav-history-menu>.tab.on,nav.top-nav>.nav-admin-menu>.tab.on{background:#173363!important;color:#fff!important;box-shadow:inset 3px 0 0 #5b9bff!important}
nav.top-nav>.tab::after,nav.top-nav>.nav-history-menu>.tab::after,nav.top-nav>.nav-admin-menu>.tab::after{display:none!important}
.nav-history-menu,.nav-admin-menu{display:flex!important;flex:0 0 auto!important;align-items:stretch!important;position:relative!important;width:100%!important}
.nav-history-toggle,.nav-admin-toggle{border-left:0!important;padding-left:11px!important;padding-right:11px!important}
.nav-caret{margin-left:auto;color:#70829b}
#hold-count-badge,#trash-count-badge,#staff-activity-count-badge{margin-left:auto!important}

/* fly-out menus from the left navigation */
.nav-history-dropdown,.nav-admin-dropdown{
  position:fixed!important;left:calc(var(--sidebar-w) + 8px)!important;
  min-width:225px!important;max-width:270px!important;max-height:70vh!important;
  padding:7px!important;border:1px solid var(--line)!important;border-radius:11px!important;
  background:#fff!important;box-shadow:var(--shadow-lg)!important;z-index:13000!important;
}
.nav-history-dropdown .tab,.nav-admin-dropdown .tab{min-height:38px!important;border-radius:7px!important;padding:8px 10px!important;font-size:11.5px!important;color:#35445a!important;background:#fff!important}
.nav-history-dropdown .tab:hover,.nav-admin-dropdown .tab:hover{background:#f3f7fc!important;color:#1d4ed8!important}

.sidebar-footer{margin-top:auto;padding:12px 8px 3px;border-top:1px solid var(--sidebar-line);display:flex;align-items:center;gap:8px;min-height:48px}
.sidebar-server-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.09);flex:0 0 auto}
.sidebar-footer-copy{display:flex;flex-direction:column;min-width:0}.sidebar-footer-copy b{font-size:10.5px;color:#dce6f2}.sidebar-footer-copy small{font-size:9px;color:#73859e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ===== CONTENT CANVAS ===== */
main{
  margin-left:var(--sidebar-w)!important;
  width:calc(100% - var(--sidebar-w))!important;
  padding:22px 24px 30px!important;
  min-height:calc(100vh - var(--header-h));
  transition:margin-left .2s ease,width .2s ease,padding .2s ease!important;
}
.alert-bar{margin-left:var(--sidebar-w)!important;width:calc(100% - var(--sidebar-w))!important;position:relative!important;z-index:900!important;transition:margin-left .2s ease,width .2s ease!important}
.pg{max-width:100%!important}

/* Page surfaces inherit a consistent premium language without changing functionality */
.filter-card,.stbl,.rpt-card,.card,.panel{border-color:var(--line)!important;box-shadow:var(--shadow-sm);}
input,select,textarea{border-color:var(--line-strong)!important}
input:focus,select:focus,textarea:focus{outline:none;box-shadow:0 0 0 3px rgba(37,99,235,.1);border-color:#8bb4fb!important}
.btn{border-radius:8px!important}

/* ===== COLLAPSED SIDEBAR (desktop/tablet) ===== */
body.sidebar-collapsed nav.top-nav{width:var(--sidebar-collapsed-w)!important;padding-left:8px!important;padding-right:8px!important}
body.sidebar-collapsed main{margin-left:var(--sidebar-collapsed-w)!important;width:calc(100% - var(--sidebar-collapsed-w))!important}
body.sidebar-collapsed .alert-bar{margin-left:var(--sidebar-collapsed-w)!important;width:calc(100% - var(--sidebar-collapsed-w))!important}
body.sidebar-collapsed .sidebar-head{justify-content:center;padding-left:0;padding-right:0}
body.sidebar-collapsed .sidebar-head-copy,body.sidebar-collapsed .sidebar-section-label,body.sidebar-collapsed .sidebar-footer-copy{display:none!important}
body.sidebar-collapsed .sidebar-footer{justify-content:center}
body.sidebar-collapsed nav.top-nav>.tab,
body.sidebar-collapsed nav.top-nav>.nav-history-menu>.tab,
body.sidebar-collapsed nav.top-nav>.nav-admin-menu>.tab{
  justify-content:center!important;padding:0!important;font-size:0!important;overflow:visible!important;
}
body.sidebar-collapsed nav.top-nav>.tab>* ,
body.sidebar-collapsed nav.top-nav>.nav-history-menu>.tab>* ,
body.sidebar-collapsed nav.top-nav>.nav-admin-menu>.tab>*{display:none!important}
body.sidebar-collapsed nav.top-nav>.tab::before,
body.sidebar-collapsed nav.top-nav>.nav-history-menu>.tab::before,
body.sidebar-collapsed nav.top-nav>.nav-admin-menu>.tab::before{content:attr(data-nav-icon);display:block!important;font-size:18px!important;line-height:1!important}
body.sidebar-collapsed .nav-history-dropdown,body.sidebar-collapsed .nav-admin-dropdown{left:calc(var(--sidebar-collapsed-w) + 8px)!important}

/* ===== MOBILE BACKDROP ===== */
.sidebar-backdrop{display:none;position:fixed;inset:var(--header-h) 0 0 0;background:rgba(15,23,42,.38);backdrop-filter:blur(1px);z-index:1050}

/* ===== ADAPTIVE RULES ===== */
@media (max-width:1700px){
  header.app-header{grid-template-columns:minmax(220px,auto) 1fr auto!important;gap:12px!important}
  .header-kpi.kpi-pairs{display:none!important}
  .header-kpi{min-width:45px;padding-left:6px;padding-right:6px}
}
@media (max-width:1450px){
  :root{--sidebar-w:226px}
  .header-kpi.kpi-orders,.header-kpi.kpi-dispatched{display:none!important}
  .brand-subtitle{display:none}
  .fit-control button span,#fs-btn span{display:none}
  .fit-control button{min-width:31px!important}
  .header-context{justify-content:flex-start}
}
@media (max-width:1180px){
  :root{--sidebar-w:210px}
  header.app-header{grid-template-columns:auto 1fr auto!important;padding:0 13px!important}
  .brand-copy{display:none}
  .header-kpis{display:none!important}
  .header-current-date{display:none!important}
  main{padding:18px 16px 26px!important}
}
@media (max-width:900px){
  :root{--header-h:62px;--sidebar-w:250px}
  header.app-header{height:var(--header-h)!important;grid-template-columns:auto 1fr auto!important;gap:8px!important}
  .brand-mark{width:34px;height:34px;border-radius:9px}
  .header-page-kicker{display:none}.header-page-line{align-items:flex-start}
  #app-page-title{font-size:13px}
  .oms-pill span,.lan-pill span,.fit-control{display:none!important}
  .sys-pill,.header-icon-btn{width:34px!important;padding:0!important;justify-content:center!important}
  #fs-btn span{display:none!important}
  nav.top-nav,body.sidebar-collapsed nav.top-nav{width:var(--sidebar-w)!important;transform:translateX(-103%)!important;padding:14px 10px!important}
  body.sidebar-mobile-open nav.top-nav{transform:translateX(0)!important;box-shadow:18px 0 44px rgba(15,23,42,.23)!important}
  body.sidebar-mobile-open .sidebar-backdrop{display:block}
  body.sidebar-collapsed .sidebar-head-copy,body.sidebar-collapsed .sidebar-section-label,body.sidebar-collapsed .sidebar-footer-copy{display:flex!important}
  body.sidebar-collapsed .sidebar-section-label{display:block!important}
  body.sidebar-collapsed nav.top-nav>.tab,body.sidebar-collapsed nav.top-nav>.nav-history-menu>.tab,body.sidebar-collapsed nav.top-nav>.nav-admin-menu>.tab{justify-content:flex-start!important;padding:0 11px!important;font-size:12.5px!important}
  body.sidebar-collapsed nav.top-nav>.tab>* ,body.sidebar-collapsed nav.top-nav>.nav-history-menu>.tab>* ,body.sidebar-collapsed nav.top-nav>.nav-admin-menu>.tab>*{display:initial!important}
  body.sidebar-collapsed nav.top-nav>.tab::before,body.sidebar-collapsed nav.top-nav>.nav-history-menu>.tab::before,body.sidebar-collapsed nav.top-nav>.nav-admin-menu>.tab::before{display:none!important}
  main,body.sidebar-collapsed main{margin-left:0!important;width:100%!important;padding:15px 12px 24px!important}
  .alert-bar,body.sidebar-collapsed .alert-bar{margin-left:0!important;width:100%!important}
  .nav-history-dropdown,.nav-admin-dropdown,body.sidebar-collapsed .nav-history-dropdown,body.sidebar-collapsed .nav-admin-dropdown{left:12px!important;right:12px!important;width:auto!important;max-width:none!important}
}
@media (max-width:560px){
  header.app-header{padding:0 9px!important}
  .header-brand{gap:7px}.brand-mark{display:none}
  .header-system-actions{gap:4px}.oms-pill{display:none!important}
  #app-page-title{max-width:125px}
  main{padding:11px 8px 22px!important}
}

/* Print should never include application navigation chrome */
@media print{
  header.app-header,nav.top-nav,.sidebar-backdrop{display:none!important}
  main,body.sidebar-collapsed main{margin:0!important;width:100%!important;padding:0!important}
  .alert-bar{display:none!important}
}
