/* Produce Inventory visual system. Overrides AdminKit without changing module markup. */
:root{
  --pi-bg:#eaf1f8;
  --pi-surface:#ffffff;
  --pi-surface-soft:#f8fbff;
  --pi-border:#dbe6f3;
  --pi-text:#0b2b55;
  --pi-muted:#607294;
  --pi-primary:#2563eb;
  --pi-primary-dark:#163d8f;
  --pi-primary-2:#3aa7e9;
  --pi-sidebar:#17003f;
  --pi-sidebar-active:#32115f;
  --pi-success:#16b364;
  --pi-warning:#f59e0b;
  --pi-danger:#e74c3c;
  --pi-info:#13b8c8;
  --pi-radius:16px;
  --pi-shadow:0 16px 42px rgba(16,42,82,.10);
}

html{height:100%;min-height:100%;background:var(--pi-bg);margin:0;padding:0;overflow-x:hidden}
body{
  height:100%;
  min-height:100%;
  margin:0;
  padding:0;
  background:var(--pi-bg);
  color:var(--pi-text);
  font-family:'Poppins',Arial,sans-serif;
  font-size:14px;
  letter-spacing:0;
}
a{color:var(--pi-primary)}
a:hover{color:var(--pi-primary-dark)}

/* Login */
.produce-login-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 50% 36%, rgba(255,255,255,.95), rgba(234,241,248,.88) 34%, #dfe8f2 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
}
.produce-login-shell{width:min(470px, calc(100vw - 28px)); text-align:center}
.produce-login-card{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(207,221,239,.95);
  border-radius:20px;
  padding:30px 28px 26px;
  box-shadow:0 26px 70px rgba(20,42,78,.18);
}
.produce-login-logo{
  border:1px solid #cfe0f7;
  border-radius:18px;
  padding:22px 18px;
  margin:0 auto 18px;
  background:#fff;
}
.produce-login-logo img{max-width:220px; max-height:96px; object-fit:contain}
.produce-login-card h1{font-size:23px; font-weight:700; color:#5b6f88; margin:2px 0 4px}
.login-subtitle{font-size:13px; color:#7b8ea9; margin-bottom:20px}
.produce-login-card label{display:block; text-align:left; color:#00285c; font-weight:700; font-size:13px; margin-bottom:8px}
.produce-login-card .form-control{
  height:44px;
  border:1px solid #c9d8ee;
  border-radius:11px;
  box-shadow:none;
  color:var(--pi-text);
}
.produce-login-card .form-control:focus{
  border-color:var(--pi-primary);
  box-shadow:0 0 0 3px rgba(37,99,235,.14);
}
.password-field{position:relative}
.password-field .form-control{padding-right:72px}
.password-toggle{
  position:absolute;
  right:5px;
  top:5px;
  width:42px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-left:1px solid #d7e2f1;
  background:#fff;
  color:#536982;
  padding:0;
  border-radius:0 9px 9px 0;
  font-size:12px;
  font-weight:700;
}
.password-toggle svg{
  width:16px;
  height:16px;
  display:block;
}
.login-submit{
  height:46px;
  margin-top:16px;
  font-size:18px;
  font-weight:700;
  border-radius:11px;
  background:linear-gradient(90deg,#3867f0,#48aee9);
  border:0;
}
.produce-login-copy{color:#fff; font-size:13px; margin-top:18px; text-shadow:0 1px 3px rgba(0,0,0,.15)}

/* Searchable state selectors */
.pi-state-search{
  position:relative;
  width:100%;
}
.pi-state-search__native{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.pi-state-search__control{
  min-height:34px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:6px 10px;
  border:1px solid #c9d8ee;
  border-radius:9px;
  background:#fff;
  color:var(--pi-text);
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.pi-state-search__control:focus{
  outline:0;
  border-color:var(--pi-primary);
  box-shadow:0 0 0 3px rgba(37,99,235,.14);
}
.pi-state-search__value{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.pi-state-search__arrow{
  width:0;
  height:0;
  flex:0 0 auto;
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-top:6px solid #50698a;
}
.pi-state-search__panel{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 4px);
  z-index:2200;
  display:none;
  padding:8px;
  border:1px solid #c9d8ee;
  border-radius:9px;
  background:#fff;
  box-shadow:0 14px 34px rgba(16,42,82,.18);
}
.pi-state-search.is-open .pi-state-search__panel{display:block}
.pi-state-search__input{
  width:100%;
  height:34px;
  margin-bottom:6px;
  padding:6px 9px;
  border:1px solid #c9d8ee;
  border-radius:8px;
  color:var(--pi-text);
  font:inherit;
}
.pi-state-search__input:focus{
  outline:0;
  border-color:var(--pi-primary);
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.pi-state-search__list{
  max-height:230px;
  overflow:auto;
}
.pi-state-search__option{
  width:100%;
  display:block;
  padding:7px 9px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:var(--pi-text);
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.pi-state-search__option:hover,
.pi-state-search__option.is-active{
  background:#eaf2ff;
  color:#123f95;
}
.pi-state-search__empty{
  padding:8px 9px;
  color:var(--pi-muted);
}

/* Layout – sticky footer
   IMPORTANTE: adminkit.js setea inline styles en wrapper y content-wrapper.
   Usamos flex + !important para ganarle al inline style del JS. */
.produce-ui .wrapper{
  background:var(--pi-bg);
  display:flex!important;
  flex-direction:column!important;
  min-height:100vh!important;
  height:100vh!important;
  overflow-y:auto!important;
  position:relative;
}
.produce-ui .content-wrapper{
  background:var(--pi-bg);
  flex:1 1 auto!important;
  min-height:0!important;  /* override JS inline Xpx */
  overflow-y:auto;
}
.produce-ui .content-wrapper,
.produce-ui .main-footer{
  margin-left:220px;
}
.produce-ui .content{padding:20px 22px 30px}
.produce-ui .main-header{box-shadow:0 1px 0 rgba(13,42,75,.08)}
.produce-ui .main-header .logo{
  width:108px;
  height:62px;
  padding:0;
  background:#fff!important;
  border:1px solid #d8e4f3;
  border-radius:10px;
  position:absolute;
  left:58px;
  top:6px;
  transform:none;
  z-index:2;
  box-shadow:0 10px 24px rgba(42,76,113,.10);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.produce-ui .main-header .logo .logo-lg{
  width:100%;
  height:60px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:14px;
  background:transparent;
  box-shadow:none;
}
.produce-ui .main-header .logo .logo-mini{
  display:none;
}
.produce-ui .main-header .logo img{max-width:96px; max-height:54px; object-fit:contain}
.produce-ui .main-header .navbar{
  min-height:74px;
  margin-left:0;
  padding:0 18px 0 0;
  background:#fff!important;
  border-bottom:1px solid #d8e4f3!important;
  position:relative;
  display:flex;
  align-items:center;
  overflow:visible;
}
.produce-ui .main-header .navbar .navbar-nav{margin:0}
.produce-ui .main-header .navbar .navbar-nav>li{float:none!important;display:flex!important;align-items:center}
.produce-ui .main-header .navbar .navbar-nav>li>a{padding:0;color:#17243d;font-weight:700;display:flex;align-items:center;height:100%}
.produce-ui .main-header .navbar .navbar-nav.pull-left{
  position:relative;
  z-index:3;
  float:none!important;
  height:74px;
  display:flex;
  align-items:center;
  width:58px;
  justify-content:center;
  padding:0;
}
.produce-ui .navbar-custom-menu{
  margin-left:auto;
  position:relative;
  z-index:3;
}
.produce-ui .main-header .sidebar-toggle::before{display:none!important;content:none!important}
.produce-ui .navbar-custom-menu .dropdown-toggle{display:flex!important;align-items:center;gap:9px}
.topbar-status-dot{width:8px;height:8px;border-radius:50%;background:var(--pi-primary);display:inline-block}
.pi-sidebar-toggle{
  width:34px;
  height:34px;
  margin:0;
  padding:6px 7px!important;
  border:0;
  border-radius:0;
  background:transparent;
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:4px;
  box-shadow:none;
}
.pi-sidebar-toggle span{
  display:block;
  width:18px;
  height:2px;
  border-radius:999px;
  background:#17345f;
}
.produce-ui .main-header .navbar .navbar-nav.pull-left > li{
  float:none!important;
  width:58px;
  height:74px;
  display:flex!important;
  align-items:center;
  justify-content:center;
}
.produce-ui .main-header .navbar .navbar-nav > li > a.pi-sidebar-toggle{
  float:none!important;
  width:34px!important;
  height:34px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  padding:6px 7px!important;
  gap:4px;
}
.produce-ui .navbar-custom-menu .dropdown-menu{
  min-width:332px;
  border:0;
  border-radius:18px;
  padding:0;
  box-shadow:0 18px 40px rgba(22,48,84,.16);
  overflow:hidden;
}
.produce-ui .user-header{
  min-height:auto;
  padding:18px!important;
  border-bottom:1px solid #e6eef8;
}
.produce-ui .user-top{
  display:flex;
  align-items:flex-start;
  gap:14px;
}
.produce-ui .user-avatar{
  width:56px;
  height:56px;
  border-radius:50%;
  background:#e7f0ff;
  color:var(--pi-primary);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:22px;
  flex:0 0 auto;
}
.produce-ui .user-header p{
  font-weight:800;
  line-height:1.08;
  margin:0;
  color:#17243d;
  font-size:16px;
}
.produce-ui .user-header small{
  display:block;
  color:var(--pi-muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-top:4px;
}
.produce-ui .user-header .user-email{
  margin-top:14px;
  color:#596a84;
  font-size:12px;
  letter-spacing:.2px;
  text-transform:none;
}
.produce-ui .user-header .account-chip{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:10px;
  padding:12px 14px;
  border-radius:14px;
  background:#eef4ff;
  color:#1c4ed8;
  font-weight:700;
  font-size:12px;
  line-height:1.2;
  white-space:normal;
}
.produce-ui .user-header .account-chip svg{
  width:14px;
  height:14px;
  flex:0 0 auto;
}
.produce-ui .user-footer{
  padding:14px 18px 18px;
}
.logout-link{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
  border:1px solid #cbd9ea;
  border-radius:14px;
  padding:12px 12px!important;
  margin:0;
  color:#17345f!important;
  font-weight:700;
  background:#fff;
}
.logout-icon{
  width:16px;
  height:16px;
  flex:0 0 auto;
}

/* Company hub */
.company-page{
  padding:4px 0 10px;
}
.company-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  background:linear-gradient(105deg,#173987,#2a72bd);
  color:#fff;
  border-radius:18px;
  padding:20px 22px;
  margin-bottom:18px;
  box-shadow:0 18px 38px rgba(24,70,135,.16);
}
.company-hero h2{
  margin:0;
  font-size:26px;
  font-weight:800;
  color:#fff;
}
.company-hero p{
  margin:6px 0 0;
  color:rgba(255,255,255,.88);
  font-size:13px;
}
.company-hero-chip{
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  font-weight:700;
  white-space:nowrap;
}
.company-hero-chip-icon{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.company-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:14px;
}
.catalogs-strip{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:8px 2px 16px;
  border-bottom:1px solid #e2ebf5;
  margin-bottom:16px;
}
.catalogs-strip strong{
  display:block;
  color:#163865;
  font-size:15px;
  font-weight:800;
}
.catalogs-strip span{
  display:block;
  color:#6a7b94;
  font-size:12px;
  margin-top:2px;
}
.catalogs-strip-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid #d7e3f0;
  background:#f7fbff;
  color:#45607f;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.catalogs-strip-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#2a72bd;
  box-shadow:0 0 0 3px rgba(42,114,189,.12);
}
.company-card{
  min-height:142px;
  border-radius:14px;
  color:#fff!important;
  padding:18px 16px 16px;
  text-align:left;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 16px 34px rgba(18,45,76,.18);
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease, opacity .15s ease;
}
.company-card:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 40px rgba(18,45,76,.24);
  filter:saturate(1.1);
  color:#fff!important;
}
.company-card::after{
  content:"";
  position:absolute;
  inset:auto -18px -32px auto;
  width:126px;
  height:126px;
  border-radius:50%;
  background:rgba(255,255,255,.16);
  pointer-events:none;
}
.company-card-icon{
  width:60px;
  height:60px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,.12));
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(4px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 10px 24px rgba(0,0,0,.08);
}
.company-card-icon svg{
  width:38px;
  height:38px;
  color:#fff;
}
.company-card-label{
  font-size:10px;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;
  opacity:1;
}
.company-card-title{
  font-size:17px;
  font-weight:800;
  line-height:1.2;
  min-height:44px;
  display:flex;
  align-items:flex-end;
}
.company-card-count{
  min-width:24px;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.22);
  font-size:11px;
  font-weight:800;
  line-height:1;
}
.company-card.is-navy{background:linear-gradient(145deg,#1b52ad,#2f7dff)}
.company-card.is-emerald{background:linear-gradient(145deg,#13a555,#28d86f)}
.company-card.is-forest{background:linear-gradient(145deg,#0f8f63,#18b77b)}
.company-card.is-slate{background:linear-gradient(145deg,#5b3ce0,#8b4af5)}
.company-card.is-slate-blue{background:linear-gradient(145deg,#2c79b8,#42a0df)}
.company-card.is-azure{background:linear-gradient(145deg,#1670e8,#4c98ff)}
.company-card.is-gold{background:linear-gradient(145deg,#de7f00,#ff9e18)}
.company-card.is-steel{background:linear-gradient(145deg,#0f8a8b,#18b8b7)}
.company-card.is-blue{background:linear-gradient(145deg,#1660f3,#337dff) !important}
.company-card.is-green{background:linear-gradient(145deg,#14a957,#27d96f) !important}
.company-card.is-sky{background:linear-gradient(145deg,#1972f2,#31a0ff) !important}
.company-card.is-cyan{background:linear-gradient(145deg,#10a8c6,#1ed6ee) !important}
.company-card.is-green-alt{background:linear-gradient(145deg,#0c9a87,#19c6a4) !important}
.company-card.is-amber{background:linear-gradient(145deg,#f07a00,#ffb11f) !important}
.company-card.is-indigo{background:linear-gradient(145deg,#6c43f0,#9a54ff) !important}

.company-quick-actions .company-card{
  min-height:162px;
  border-radius:14px;
  padding:16px 16px 14px;
  box-shadow:0 16px 32px rgba(18,45,76,.16);
}
.company-quick-actions .company-card-icon{
  width:54px;
  height:54px;
  border-radius:16px;
  background:rgba(255,255,255,.22);
  border-color:rgba(255,255,255,.16);
}
.company-quick-actions .company-card-icon svg{
  width:28px;
  height:28px;
}
.company-quick-actions .company-card-label{
  font-size:10px;
  letter-spacing:1px;
}
.company-quick-actions .company-card-title{
  font-size:17px;
  min-height:40px;
}
.company-quick-actions .company-card-count{
  align-self:flex-start;
}
.company-quick-actions{
  gap:14px;
}
.company-grid--catalogs{
  display:grid !important;
  grid-template-columns:repeat(8,minmax(0,1fr)) !important;
  align-items:stretch;
}
.company-grid--catalogs .company-card{
  min-height:166px;
}
.company-grid--catalogs .company-card-icon{
  width:54px;
  height:54px;
}
.company-grid--catalogs .company-card-title{
  font-size:17px;
}

@media (max-width:1600px){
  .company-grid--catalogs{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}

@media (max-width:991px){
  .company-grid--catalogs{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:575px){
  .company-grid--catalogs{
    grid-template-columns:1fr !important;
  }
}

@media (max-width:767px){
  .produce-ui .main-header .logo{
    width:176px;
    height:42px;
    left:50%;
    top:9px;
    transform:translateX(-50%);
  }
  .produce-ui .main-header .logo img{
    max-width:124px;
    max-height:24px;
  }
  .produce-ui .main-header .navbar{
    margin-left:0;
    min-height:54px;
    padding:0 10px 0 8px;
  }
  .produce-ui .main-header .navbar .navbar-nav.pull-left{
    height:54px;
    padding-left:0;
  }
  .pi-sidebar-toggle{
    margin:0 0 0 2px;
  }
  .produce-ui .main-sidebar{padding-top:102px}
  .company-hero{
    display:block;
    padding:16px;
  }
  .company-hero h2{
    font-size:22px;
  }
  .company-hero p{
    font-size:12px;
    line-height:1.45;
  }
  .company-hero-chip{
    margin-top:12px;
    display:inline-flex;
    white-space:normal;
    max-width:100%;
  }
  .company-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .company-card{
    min-height:108px;
    border-radius:12px;
    padding:12px 12px 11px;
  }
  .company-card-icon{
    width:54px;
    height:54px;
    border-radius:16px;
  }
  .company-card-icon svg{
    width:30px;
    height:30px;
  }
  .company-card-label{
    font-size:10px;
  }
  .company-card-title{
    font-size:12px;
  }
}

@media (min-width:768px) and (max-width:1199px){
  .company-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .company-card{
    min-height:118px;
  }
  .produce-ui .main-header .logo{
    width:208px;
    left:50%;
    transform:translateX(-50%);
  }
}

/* Sidebar */
.produce-ui .main-sidebar{
  width:220px;
  padding-top:74px;
  background:#fff;
  box-shadow:12px 0 30px rgba(18,45,76,.06);
}
.produce-ui .sidebar{background:#fff}
.produce-ui .sidebar-menu{padding:12px 0 24px}
.produce-ui .sidebar-menu li.header{
  color:#5d708f;
  font-weight:800;
  letter-spacing:1.1px;
  font-size:12px;
  padding:13px 16px 7px;
  background:#fff;
}
.produce-ui .sidebar-menu>li>a{
  color:#2c4a72;
  padding:9px 14px 9px 16px;
  font-weight:600;
  font-size:13px;
  border-left:3px solid transparent!important;
  border-radius:0 10px 10px 0;
  margin:1px 10px 1px 0;
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  transition:background .15s,color .15s,border-color .15s;
}
.produce-ui .sidebar-menu>li>a:hover{
  background:#f0f6ff!important;
  color:#1246b5!important;
  border-left-color:#b8d0f8!important;
}
.produce-ui .sidebar-menu>li.active>a{
  background:linear-gradient(90deg,#edf4ff,#f5f9ff)!important;
  color:#1246b5!important;
  border-left-color:#1246b5!important;
  font-weight:700;
}
.produce-ui .sidebar-menu>li.treeview>a{justify-content:flex-start}
.produce-ui .sidebar-menu .treeview-menu{display:none}
.produce-ui .sidebar-menu .menu-open>.treeview-menu{display:block}
.produce-ui .sidebar-menu .treeview-menu{
  background:#f8fbff;
  padding:4px 0 8px 16px;
  border-left:2px solid #dce8f7;
}
.produce-ui .treeview-menu>li>a{
  color:#455d7a;
  padding:7px 12px 7px 14px;
  border-radius:0 9px 9px 0;
  margin:1px 6px 1px 0;
  border-left:2px solid transparent;
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  font-size:12.5px;
  font-weight:600;
  transition:background .15s,color .15s,border-color .15s;
}
.produce-ui .treeview-menu>li>a:hover{
  color:#1246b5;
  background:#f0f6ff;
  border-left-color:#b8d0f8;
}
.produce-ui .treeview-menu>li.active>a{
  color:#1246b5;
  background:linear-gradient(90deg,#edf4ff,#f5f9ff);
  border-left-color:#1246b5;
  font-weight:700;
}
.menu-icon{
  display:inline-block;
  flex:0 0 auto;
  width:18px;
  height:18px;
  color:#3a66f0;
}
.menu-icon svg{
  width:18px;
  height:18px;
  display:block;
}
.menu-label{
  display:inline-flex;
  align-items:center;
  min-width:0;
  flex:1 1 auto;
  white-space:normal;
  line-height:1.2;
}
.pull-right-container{
  margin-left:auto;
  color:#7f94b3;
  font-weight:800;
  font-size:12px;
}
.menu-caret{
  display:inline-block;
  width:14px;
  height:14px;
  line-height:14px;
  transform:rotate(0deg);
  transition:transform .15s ease;
}
.menu-caret::before{
  content:"\203A";
  display:block;
  font-size:24px;
  line-height:14px;
  color:#6f86a9;
  transform:translateY(-2px);
}
.menu-open > a .menu-caret{
  transform:rotate(90deg);
}
.sidebar-menu .active > a .menu-icon,
.sidebar-menu .menu-open > a .menu-icon{
  color:#0649ff;
}

/* Content surfaces */
.produce-ui .content>.d-flex.justify-content-between,
.produce-ui .content>.row:first-child+.d-flex.justify-content-between,
.produce-ui .content>h2:first-child,
.produce-ui .content>h3:first-child{
  background:linear-gradient(105deg,#173987,#2a72bd);
  color:#fff;
  border-radius:18px;
  padding:18px 20px;
  margin-bottom:14px!important;
  box-shadow:0 18px 38px rgba(24,70,135,.16);
}
.produce-ui .content>h2:first-child,
.produce-ui .content>h3:first-child{
  font-size:25px;
  font-weight:800;
  margin-top:0;
}
.produce-ui .content>.d-flex.justify-content-between h1,
.produce-ui .content>.d-flex.justify-content-between h2,
.produce-ui .content>.d-flex.justify-content-between h3{
  color:#fff;
  font-size:25px;
  font-weight:800;
  margin:0;
}
.produce-ui .content>.d-flex.justify-content-between .btn-secondary,
.produce-ui .content>.d-flex.justify-content-between .btn-outline-secondary{
  background:#fff;
  color:#17345f;
  border-color:#d7e4f4;
}
.card,.stat-card,.module-placeholder{
  background:var(--pi-surface);
  border:1px solid var(--pi-border);
  border-radius:var(--pi-radius);
  box-shadow:var(--pi-shadow);
  margin-bottom:18px;
}
.card-header{
  background:#fff;
  border-bottom:1px solid #e4edf7;
  padding:16px 18px;
  font-weight:800;
  color:var(--pi-text);
  border-radius:var(--pi-radius) var(--pi-radius) 0 0!important;
}
.card-body{padding:18px}
.stat-card{padding:18px}
.stat-card h3{margin:0;font-size:28px;font-weight:800;color:#07376d}
.stat-card span,.small-muted{font-size:12px;color:var(--pi-muted)}
.dashboard-metric{
  color:#fff;
  border:0;
  overflow:hidden;
  position:relative;
}
.dashboard-metric span,
.dashboard-metric small,
.dashboard-metric h3{
  color:#fff;
}
.dashboard-metric h3{
  font-size:30px;
}
.dashboard-metric-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:12px;
  background:rgba(255,255,255,.16);
  font-size:18px;
  font-weight:900;
  margin-bottom:12px;
}
.dashboard-metric-receiving{background:linear-gradient(145deg,#0f4fd0,#2f8fff)}
.dashboard-metric-shipping{background:linear-gradient(145deg,#0f8a4a,#1dc56d)}
.dashboard-metric-tasks{background:linear-gradient(145deg,#c96d00,#ff9f1a)}
.dashboard-task-card .card-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.dashboard-task-form{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.dashboard-task-input{
  min-height:110px;
  resize:vertical;
}
.dashboard-task-actions{
  display:flex;
  justify-content:flex-end;
}
.dashboard-task-feed{
  padding:8px 12px 12px;
}
.dashboard-task-item{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:14px 4px;
  border-bottom:1px solid #edf2f8;
  transition:background-color .15s ease, transform .15s ease;
}
.dashboard-task-item:last-child{
  border-bottom:0;
}
.dashboard-task-item:hover{
  background:#f8fbff;
}
.dashboard-task-content{
  min-width:0;
  flex:1 1 auto;
}
.dashboard-task-delete-form{
  flex:0 0 auto;
  margin-left:12px;
  display:flex;
  align-items:flex-start;
}
.dashboard-task-message{
  color:#17345f;
  font-weight:700;
  line-height:1.35;
  word-break:break-word;
}
.dashboard-task-meta{
  color:#6a7b94;
  font-size:12px;
  margin-top:4px;
}
.dashboard-task-delete{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  min-width:34px;
  padding:0;
  border-radius:999px;
  border:1px solid rgba(211,47,47,.14);
  background:rgba(211,47,47,.05);
  color:#c62828;
  line-height:1;
  box-shadow:0 1px 2px rgba(16,24,40,.04);
  transition:background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.dashboard-task-delete svg{
  width:16px;
  height:16px;
  flex:0 0 auto;
}
.dashboard-task-delete:hover,
.dashboard-task-delete:focus{
  background:rgba(211,47,47,.1);
  border-color:rgba(211,47,47,.24);
  color:#b71c1c;
  box-shadow:0 6px 16px rgba(211,47,47,.14);
  transform:translateY(-1px);
}
.dashboard-task-delete:focus{
  outline:none;
}
.dashboard-task-empty{
  padding:18px 4px 10px;
  color:#6a7b94;
  text-align:center;
}

/* Forms and buttons */
.form-control{
  border:1px solid #cad9ea;
  border-radius:11px;
  min-height:38px;
  color:#152a49;
  box-shadow:none;
}
.form-control:focus{
  border-color:var(--pi-primary);
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
label{
  color:#17345f;
  font-size:12px;
  font-weight:800;
  letter-spacing:.2px;
}
.btn{
  border-radius:12px;
  font-weight:700;
  padding:9px 16px;
  border-width:1px;
}
.btn-sm{border-radius:10px;padding:6px 11px}
.btn-primary{
  background:linear-gradient(90deg,var(--pi-primary),var(--pi-primary-2));
  border-color:transparent;
  color:#fff;
}
.btn-primary:hover{background:linear-gradient(90deg,#1d4ed8,#218bd8)}
.btn-secondary,.btn-outline-secondary{
  background:#fff;
  border-color:#cbd9ea;
  color:#17345f;
}
.btn-success{background:#08a86b;border-color:#08a86b}
.btn-info{background:#0891b2;border-color:#0891b2;color:#fff}
.btn-warning{background:#f59e0b;border-color:#f59e0b;color:#17243d}
.btn-danger{background:var(--pi-danger);border-color:var(--pi-danger)}
.btn-icon{
  width:16px;
  height:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 16px;
}
.btn-icon svg{
  width:16px;
  height:16px;
  display:block;
}
.btn-with-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.btn-with-icon.btn-sm{
  padding-left:12px;
  padding-right:12px;
}
.required:after{content:" *";color:var(--pi-danger)}

/* Receiving screen */
.receiving-hero-btn{
  min-height:48px;
  padding:10px 18px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  box-shadow:0 12px 24px rgba(37,99,235,.16);
}
.receiving-filter-panel{
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  border:1px solid #dbe6f3;
  border-radius:20px;
  padding:18px 18px 16px;
  box-shadow:0 16px 34px rgba(18,45,76,.08);
}
.receiving-filter-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-bottom:14px;
  margin-bottom:16px;
  border-bottom:1px solid #e6eef8;
}
.receiving-filter-head strong{
  display:block;
  color:#102d55;
  font-size:16px;
  font-weight:800;
}
.receiving-filter-head span{
  display:block;
  margin-top:4px;
  color:#6a7b94;
  font-size:12px;
}
.receiving-filter-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.receiving-field{
  min-width:0;
}
.receiving-field .form-label{
  margin-bottom:8px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.7px;
}
.receiving-field .form-control{
  min-height:42px;
  border-radius:12px;
  background:#fff;
}
.receiving-filter-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:flex-end;
  margin-top:16px;
}
.receiving-filter-actions--top{
  margin-top:0;
}
.receiving-action-btn{
  min-height:44px;
  padding:10px 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:12px;
  font-weight:800;
}
.receiving-action-btn--sm{
  min-height:36px;
  padding:7px 12px;
  font-size:12px;
}
.receiving-action-btn.btn-outline-success{
  border-color:#1fb35b;
  color:#15944a;
}
.receiving-action-btn.btn-outline-success:hover{
  background:#eafff2;
  color:#0b7f3d;
}
.receiving-action-btn.btn-outline-dark{
  border-color:#64748b;
  color:#334155;
}
.receiving-action-btn.btn-outline-dark:hover{
  background:#f1f5f9;
  color:#0f172a;
}
.receiving-list-tools{
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto;
  align-items:center;
  gap:10px;
  justify-content:flex-end;
  width:min(100%, 520px);
}
.receiving-search{
  position:relative;
  min-width:0;
  width:100%;
}
.receiving-search-icon{
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  color:#7990b0;
  pointer-events:none;
}
.receiving-search-input{
  min-height:38px;
  padding-left:38px;
  border-radius:12px;
  width:100%;
}
.receiving-list-tools .receiving-action-btn{
  flex:0 0 auto;
  white-space:nowrap;
}

/* Tables */
.table-responsive{overflow-x:auto}
.table{
  color:#102d55;
  margin-bottom:0;
}
.table thead th{
  border-top:0;
  border-bottom:1px solid #cfdcec;
  color:#002b60;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.8px;
  font-weight:800;
  padding:14px 12px;
  background:#fff;
}
.table tbody td{
  border-top:1px solid #edf2f8;
  padding:13px 12px;
  vertical-align:middle;
}
.table-striped tbody tr:nth-of-type(odd){background:#fbfdff}
.table-hover tbody tr:hover{background:#edf6ff}
.receiving-grid{
  border-collapse:separate;
  border-spacing:0;
}
.receiving-grid thead th{
  background:#f8fbff;
  border-color:#dbe6f3;
  white-space:nowrap;
}
.receiving-grid tbody td{
  border-color:#e6eef8;
}
.receiving-grid tbody tr{
  transition:background-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.receiving-grid tbody tr:hover{
  background:#edf6ff;
  box-shadow:inset 0 0 0 1px rgba(42,114,189,.10);
}
.receiving-grid tbody tr:hover td{
  background:#edf6ff;
}
.receiving-grid tbody td.text-nowrap .btn{
  margin-right:6px;
}
.timezone-live-box{
  margin-top:8px;
  padding:10px 12px;
  border:1px solid #d8e5f5;
  border-radius:12px;
  background:linear-gradient(180deg,#f7fbff 0%,#eef5ff 100%);
  color:#35507d;
  font-size:13px;
  line-height:1.4;
}
.badge,.badge-status{
  border-radius:999px;
  padding:7px 10px;
  font-weight:800;
}
.bg-success,.badge-success{background:#d9fbe8!important;color:#057239!important}
.bg-danger,.badge-danger{background:#ffe3df!important;color:#b42318!important}
.bg-secondary,.badge-secondary{background:#e9eef7!important;color:#435572!important}
.bg-warning,.badge-warning{background:#fff1cb!important;color:#936000!important}
.bg-primary,.badge-primary{background:#e2ecff!important;color:#0b4cd6!important}

/* Filters, alerts, footer */
form.row.g-2,
form.row.g-3{
  background:rgba(255,255,255,.72);
  border:1px solid var(--pi-border);
  border-radius:16px;
  padding:12px;
}
.alert{
  border:0;
  border-radius:14px;
  box-shadow:0 8px 24px rgba(17,42,73,.08);
}
.main-footer{
  background:#fff;
  color:#52627a;
  border-top:1px solid #d9e5f2;
  padding:16px 24px;
  font-size:13px;
}
.module-placeholder{
  border-style:dashed;
  padding:18px;
  background:#fbfdff;
}

/* Sidebar collapsed */
.sidebar-mini.sidebar-collapse .main-header .logo{
  width:108px;
  height:62px;
  padding:0;
  top:6px;
  left:58px;
  transform:none;
  border-radius:10px;
}
.sidebar-mini.sidebar-collapse .main-header .logo>.logo-mini{display:none}
.sidebar-mini.sidebar-collapse .main-header .logo>.logo-lg{display:flex}
.sidebar-mini.sidebar-collapse .main-header .navbar{margin-left:0}
.sidebar-mini.sidebar-collapse .main-sidebar{width:58px}
.sidebar-mini.sidebar-collapse .main-sidebar{
  background:var(--pi-sidebar);
  box-shadow:none;
}
.sidebar-mini.sidebar-collapse .main-sidebar .sidebar{
  background:var(--pi-sidebar);
}
.sidebar-mini.sidebar-collapse .content-wrapper,
.sidebar-mini.sidebar-collapse .main-footer{margin-left:58px}
.sidebar-mini.sidebar-collapse .sidebar-menu>li>a{
  position:relative;
  padding:0!important;
  width:100%;
  height:50px;
  justify-content:center;
  align-items:center;
  color:#fff;
  overflow:visible;
  transition:background .15s ease, box-shadow .15s ease, transform .15s ease;
  cursor:pointer;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.sidebar-mini.sidebar-collapse .sidebar-menu>li{
  margin:0!important;
  background:var(--pi-sidebar)!important;
}
.sidebar-mini.sidebar-collapse .sidebar-menu>li>a>.menu-icon{
  display:flex!important;
  position:static;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  margin:0!important;
  color:#fff;
  opacity:1!important;
  visibility:visible!important;
}
.sidebar-mini.sidebar-collapse .sidebar-menu>li>a>.menu-icon *{
  opacity:1!important;
  visibility:visible!important;
}
.sidebar-mini.sidebar-collapse .sidebar-menu>li>a .menu-label,
.sidebar-mini.sidebar-collapse .sidebar-menu li.header,
.sidebar-mini.sidebar-collapse .sidebar-menu .treeview-menu,
.sidebar-mini.sidebar-collapse .sidebar-menu>li.treeview>a .pull-right-container{
  display:none!important;
}
.sidebar-mini.sidebar-collapse .sidebar-menu>li>a .menu-icon svg{
  width:18px;
  height:18px;
}
.sidebar-mini.sidebar-collapse .sidebar-menu>li.active>a,
.sidebar-mini.sidebar-collapse .sidebar-menu>li>a:hover{
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
}
.sidebar-mini.sidebar-collapse .sidebar-menu>li.active>a{
  background:rgba(255,255,255,.16)!important;
  box-shadow:inset 4px 0 0 #ffffff;
}
.sidebar-mini.sidebar-collapse .sidebar-menu>li.active>a>.menu-icon{
  color:#fff!important;
}
.sidebar-mini.sidebar-collapse .sidebar-menu>li>a:hover>.menu-icon,
.sidebar-mini.sidebar-collapse .sidebar-menu>li.active>a>.menu-icon{
  transform:scale(1.08);
}
.sidebar-mini.sidebar-collapse .sidebar-menu .menu-caret{
  display:none;
}
.sidebar-mini.sidebar-collapse.pi-sidebar-collapsed .sidebar-menu>li.treeview>.treeview-menu,
.sidebar-mini.sidebar-collapse.pi-sidebar-collapsed .sidebar-menu>li.treeview:hover>.treeview-menu{
  display:none!important;
}
.sidebar-mini.sidebar-collapse.pi-sidebar-collapsed .sidebar-menu>li.treeview>a,
.sidebar-mini.sidebar-collapse.pi-sidebar-collapsed .sidebar-menu>li.treeview:hover>a{
  background:transparent!important;
}
.sidebar-mini.sidebar-collapse.pi-sidebar-collapsed .sidebar-menu>li.treeview.active>a,
.sidebar-mini.sidebar-collapse.pi-sidebar-collapsed .sidebar-menu>li.treeview.active:hover>a{
  background:rgba(255,255,255,.16)!important;
  box-shadow:inset 4px 0 0 #ffffff;
}
.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu>li:hover>a>span:not(.pull-right),
.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu>li:hover>.treeview-menu{
  display:none!important;
  position:static!important;
  width:auto!important;
  left:auto!important;
}
.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu>li:hover>a>.pull-right-container{
  display:none!important;
}
.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu,
.sidebar-mini.sidebar-collapse .sidebar-menu>li.menu-open>.treeview-menu{
  display:none!important;
}
.sidebar-mini.sidebar-collapse .sidebar-menu>li:hover{
  background:var(--pi-sidebar)!important;
}

@media (min-width:768px){
  .content-wrapper,.main-footer{margin-left:220px}
}
@media (max-width:767px){
  .produce-ui .content{padding:10px}
  .produce-ui .content-wrapper{
    margin-left:0!important;
  }
  .produce-ui .main-footer{
    margin-left:0!important;
  }
  .produce-ui .main-header .navbar{margin-left:0}
  .produce-ui .content>.d-flex.justify-content-between{display:block!important}
  .produce-ui .content>.d-flex.justify-content-between .btn{margin-top:12px}
  .produce-login-card{padding:22px 18px}
  .receiving-filter-head{
    display:block;
  }
  .receiving-filter-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .receiving-filter-actions{
    justify-content:stretch;
  }
  .receiving-filter-actions .receiving-action-btn{
    flex:1 1 100%;
  }
  .receiving-list-tools{
    width:100%;
  }
  .receiving-search{
    width:100%;
  }
  .receiving-list-tools{
    grid-template-columns:1fr auto;
  }
}

.profile-permission{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid #d8e2f3;
  border-radius:12px;
  background:#f8fbff;
  color:#1f3a78;
  font-weight:600;
  line-height:1.2;
  cursor:pointer;
}
.profile-permission input{
  margin:0;
  width:16px;
  height:16px;
  flex:0 0 auto;
}
.profile-permission span{
  display:block;
}
.profile-permission-group{
  border:1px solid #d8e2f3;
  border-radius:14px;
  padding:14px;
  background:#fff;
}
.profile-permission-group-title{
  font-weight:700;
  color:#21427c;
  margin-bottom:12px;
}

/* Page hero / screen header */
.page-hero,
.dynamic-field-page-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:16px;
  background:linear-gradient(105deg,#173987,#2a72bd);
  color:#fff;
  border-radius:18px;
  padding:20px 22px;
  margin-bottom:16px;
  box-shadow:0 18px 38px rgba(24,70,135,.16);
}
.page-hero .page-hero-title,
.dynamic-field-page-title{
  min-width:0;
}
.page-hero h1,
.page-hero h2,
.page-hero h3,
.dynamic-field-page-title h2{
  color:#fff;
  font-size:25px;
  font-weight:800;
  margin:2px 0 4px;
}
.page-hero p,
.dynamic-field-page-title p{
  color:rgba(255,255,255,.72);
  margin:0;
}
.page-hero .page-hero-kicker,
.dynamic-field-kicker{
  display:block;
  color:#b9d5ff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.9px;
  text-transform:uppercase;
}
.page-hero .page-hero-actions,
.dynamic-field-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.page-hero .btn-outline-primary,
.dynamic-field-page-header .btn-outline-primary{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.28);
  color:#fff;
}
.page-hero .btn-outline-primary:hover,
.dynamic-field-page-header .btn-outline-primary:hover{
  background:#fff;
  border-color:#fff;
  color:#17408d;
}
.unit-search-box{
  min-width:min(320px, 100%);
}
.unit-search-box .form-control{
  min-height:38px;
  border-radius:10px;
}
.unit-table .is-inactive td{
  opacity:.62;
}
.unit-toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0;
  font-weight:700;
  color:#17345f;
}
.unit-toggle input{
  width:16px;
  height:16px;
  margin:0;
  accent-color:#2a72bd;
}
.unit-toggle--form{
  padding:12px 14px;
  border:1px solid #dbe6f3;
  border-radius:14px;
  background:#fbfdff;
}

/* Receiving form sections */
.section-card{
  margin-bottom:16px;
  border:1px solid #d9e5f2;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 12px 28px rgba(18,45,76,.06);
}
.section-card-header{
  padding:12px 16px;
  border-bottom:1px solid #e4edf7;
  background:#fff;
  color:#102d55;
  font-weight:800;
}
.section-card-header-accent{
  background:linear-gradient(105deg,#173987,#2a72bd);
  color:#fff;
  border-bottom:0;
}
.section-card .card-body{
  padding:18px;
}
.receiving-summary-card .card-body{
  background:#fbfdff;
}
.receiving-summary-body{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.receiving-summary-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:1px solid #e4edf7;
  border-radius:12px;
  background:#fff;
}
.receiving-summary-row span{
  color:#6b7f9d;
  font-weight:700;
}
.receiving-summary-row strong{
  color:#102d55;
  text-align:right;
  word-break:break-word;
}
.receiving-action-stack{
  margin-top:16px;
}
.receiving-action-stack .btn{
  width:100%;
}
.receiving-branch-group .btn{
  border-top-left-radius:0;
  border-bottom-left-radius:0;
}
.receiving-branch-group .form-control{
  border-top-right-radius:0;
  border-bottom-right-radius:0;
}

.dynamic-field-panel{
  border:1px solid #d7e4f4;
  border-radius:18px;
  box-shadow:0 16px 36px rgba(18,45,76,.08);
  overflow:hidden;
}
.dynamic-field-panel .card-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  padding:18px 20px;
  border-bottom:1px solid #e1ebf6;
}
.dynamic-field-panel-header strong{
  display:block;
  color:#102d55;
  font-size:16px;
}
.dynamic-field-panel-eyebrow{
  display:block;
  color:#2563eb;
  font-size:11px;
  font-weight:800;
  letter-spacing:.8px;
  margin-bottom:4px;
  text-transform:uppercase;
}
.dynamic-field-panel-header .badge{
  border:1px solid #d7e4f4;
  border-radius:999px;
  background:#eef4ff!important;
  color:#1e4ed8!important;
  padding:8px 12px;
}
.dynamic-field-pane{
  border:1px solid #dbe6f3;
  border-radius:16px;
  background:#fbfdff;
  padding:18px;
  min-height:100%;
}
.dynamic-field-pane-main{
  background:linear-gradient(180deg,#fff,#fbfdff);
}
.dynamic-field-pane-title{
  font-weight:800;
  color:#17345f;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.7px;
  margin-bottom:14px;
}
.dynamic-field-panel .form-control-lg{
  min-height:48px;
  font-size:14px;
  border-radius:12px;
}
.dynamic-field-panel .form-text{
  margin-top:8px;
  color:#6a7b94;
  font-size:12px;
}
.dynamic-field-table-check{
  width:16px;
  height:16px;
  margin:0;
  vertical-align:middle;
}
.dynamic-field-grid .dynamic-field-handle-head{
  width:56px;
}
.dynamic-field-handle-cell{
  width:56px;
}
.dynamic-field-drag-handle{
  width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #cfdcec;
  border-radius:10px;
  background:#fff;
  color:#52627a;
  cursor:grab;
  font-size:15px;
  line-height:1;
}
.dynamic-field-drag-handle:active,
.dynamic-field-drag-handle.is-dragging{
  cursor:grabbing;
  box-shadow:0 4px 14px rgba(14,37,68,.12);
}
.dynamic-field-row.is-inactive{
  opacity:.72;
}
.dynamic-field-row.is-drop-target{
  outline:2px dashed #2a72bd;
  outline-offset:-2px;
}
.dynamic-field-config-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
.dynamic-field-config-row{
  display:block;
}
.dynamic-field-key-input{
  background:#eef2f7!important;
  color:#50617a!important;
  font-family:Consolas, Monaco, monospace;
  font-size:13px!important;
}
.dynamic-field-select{
  min-height:48px;
  padding:10px 38px 10px 13px;
  border-radius:12px;
  border:1px solid #cbd9ea;
  background-color:#fff;
  background-image:linear-gradient(45deg,transparent 50%,#52627a 50%),linear-gradient(135deg,#52627a 50%,transparent 50%);
  background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
  box-shadow:none;
  appearance:none;
  -webkit-appearance:none;
}
.dynamic-field-select:focus{
  border-color:var(--pi-primary);
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.dynamic-field-flag-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding-top:2px;
}
.dynamic-field-flag{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  padding:12px;
  border:1px solid #d8e2f3;
  border-radius:14px;
  background:#fff;
  color:#17345f;
  cursor:pointer;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.dynamic-field-flag:hover{
  border-color:#9fb9dc;
  box-shadow:0 8px 20px rgba(26,60,105,.08);
}
.dynamic-field-flag input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.dynamic-field-toggle{
  position:relative;
  flex:0 0 auto;
  width:38px;
  height:22px;
  border-radius:999px;
  background:#d6e0ec;
  transition:background .15s ease;
}
.dynamic-field-toggle:after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 6px rgba(15,40,75,.22);
  transition:transform .15s ease;
}
.dynamic-field-flag input:checked + .dynamic-field-toggle{
  background:#2563eb;
}
.dynamic-field-flag input:checked + .dynamic-field-toggle:after{
  transform:translateX(16px);
}
.dynamic-field-flag strong,
.dynamic-field-flag small{
  display:block;
}
.dynamic-field-flag strong{
  color:#102d55;
  font-size:13px;
  line-height:1.15;
}
.dynamic-field-flag small{
  color:#6a7b94;
  font-size:11px;
  line-height:1.25;
  margin-top:2px;
}
.dynamic-field-submit-row{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  padding-top:2px;
}
@media (max-width:991px){
  .page-hero,
  .dynamic-field-page-header,
  .dynamic-field-panel .card-header{
    align-items:flex-start;
  }
  .page-hero .page-hero-actions,
  .dynamic-field-actions,
  .dynamic-field-submit-row{
    width:100%;
  }
  .page-hero .page-hero-actions .btn,
  .dynamic-field-actions .btn,
  .dynamic-field-submit-row .btn{
    flex:1 1 auto;
  }
  .dynamic-field-pane{
    padding:14px;
  }
  .dynamic-field-panel .card-header{
    padding:16px 16px 14px;
  }
}
@media (max-width:575px){
  .page-hero,
  .dynamic-field-page-header{
    padding:16px;
  }
  .dynamic-field-flag-row{
    grid-template-columns:1fr;
  }
  .dynamic-field-submit-row{
    flex-direction:column-reverse;
  }
  .dynamic-field-submit-row .btn{
    width:100%;
  }
}

/* Global tab safety: keep labels visible on hover/focus across the app. */
.nav-tabs .nav-link,
.tab-style1 ul li a,
.customtab li a.nav-link,
.nav-tabs-custom > .nav-tabs > li > a,
.invoice-tabs-nav .nav-link,
.receiving-tabs-nav .nav-link,
.sales-tabs-nav button {
  text-decoration: none;
  opacity: 1;
  visibility: visible;
  white-space: nowrap;
  -webkit-text-fill-color: currentColor;
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:focus-visible,
.tab-style1 ul li a:hover,
.tab-style1 ul li a:focus,
.customtab li a.nav-link:hover,
.customtab li a.nav-link:focus,
.nav-tabs-custom > .nav-tabs > li > a:hover,
.nav-tabs-custom > .nav-tabs > li > a:focus,
.nav-tabs-custom > .nav-tabs > li > a:active,
.invoice-tabs-nav .nav-link:hover,
.invoice-tabs-nav .nav-link:focus,
.receiving-tabs-nav .nav-link:hover,
.receiving-tabs-nav .nav-link:focus,
.sales-tabs-nav button:hover,
.sales-tabs-nav button:focus,
.sales-tabs-nav button:focus-visible {
  opacity: 1;
  visibility: visible;
  text-decoration: none;
  -webkit-text-fill-color: currentColor;
  filter: none;
}

.nav-tabs .nav-link span,
.tab-style1 ul li a span,
.customtab li a.nav-link span,
.nav-tabs-custom > .nav-tabs > li > a span,
.invoice-tabs-nav .nav-link span,
.receiving-tabs-nav .nav-link span,
.sales-tabs-nav button span {
  white-space: nowrap;
}

/* Keep Bootstrap modals above app wrappers, sidebars, sticky tables and backdrops. */
body.modal-open .modal {
  z-index: 2060;
}

body.modal-open .modal-backdrop {
  z-index: 2050;
}
