:root{
  --industrial-yellow:#FFA000;
  --industrial-amber:#FFC107;
  --industrial-blue:#0D47A1;
}

@font-face{
  font-family:"Vazirmatn";
  src:url("../fonts/Vazirmatn/Vazirmatn-FD-Regular.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"Vazirmatn";
  src:url("../fonts/Vazirmatn/Vazirmatn-FD-Bold.woff2") format("woff2");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

html,body{
  height:100%;
}

body{
  background:radial-gradient(1200px 700px at 100% 0%, rgba(255,160,0,.10), transparent 55%),
             radial-gradient(900px 600px at 0% 20%, rgba(13,71,161,.10), transparent 55%),
             #f6f7fb;
  font-family:"Vazirmatn", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  color:#111827;
  overflow:hidden;
}

input, button, select, textarea{
  font-family:inherit;
}

.ui-flash{
  transition:opacity .28s ease, transform .28s ease, max-height .28s ease, margin .28s ease, padding .28s ease;
  transform:translateY(0);
  opacity:1;
  max-height:220px;
}

.ui-flash.is-hide{
  opacity:0;
  transform:translateY(-6px);
  max-height:0;
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  pointer-events:none;
}

.ui-pager{
  margin-top:1rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  flex-wrap:wrap;
}

.ui-pages{
  display:flex;
  align-items:center;
  gap:.35rem;
  flex-wrap:wrap;
}

.ui-page{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:38px;
  padding:0 .65rem;
  border-radius:.85rem;
  border:1px solid #e9edf5;
  background:#fff;
  color:#111;
  text-decoration:none;
  font-weight:900;
}

.ui-page:hover{
  background:#f9fbff;
}

.ui-page.is-active{
  background:linear-gradient(180deg, rgba(255,193,7,.24), rgba(255,160,0,.12));
  border-color:rgba(255,160,0,.35);
}

.ui-page.is-disabled{
  opacity:.55;
  pointer-events:none;
}

button,
[type="button"],
[type="submit"],
[role="button"]{
  cursor:pointer;
}

.btn-danger{
  background:#b42318;
  border:1px solid #b42318;
  color:#fff;
}

.btn-danger:hover{
  filter:brightness(1.04);
}

.app-shell{
  min-height:100vh;
  display:flex;
  flex-direction:row;
  align-items:stretch;
  gap:0;
  height:100vh;
  direction:ltr;
}

.sidebar{
  background:linear-gradient(180deg, #0D47A1 0%, #0a3a86 100%);
  color:#fff;
  width:236px;
  flex:0 0 auto;
  padding:0;
  position:sticky;
  top:0;
  height:100vh;
  overflow:auto;
  transition:transform .28s ease;
  box-shadow:-14px 0 34px rgba(13,71,161,.20);
  direction:rtl;
  text-align:right;
  order:2;
}

.sidebar.collapsed{
  width:78px;
}

.sidebar.collapsed .brand{
  padding:.9rem .7rem !important;
}

.sidebar.collapsed .brand-title,
.sidebar.collapsed .brand-sub{
  display:none !important;
}

.sidebar .brand{
  background:rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.12);
}

.sidebar .nav{
  padding:.9rem;
  padding-bottom:1.25rem;
}

.sidebar.collapsed .nav{
  padding:.75rem .6rem;
  padding-bottom:1rem;
}

.sidebar a{
  color:rgba(255,255,255,.92);
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:.7rem;
  flex-direction:row-reverse;
  padding:.7rem .85rem;
  border-radius:.85rem;
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease;
  position:relative;
  text-align:right;
  overflow:hidden;
  isolation:isolate;
}

.sidebar a:hover{
  background:rgba(255,255,255,.12);
  transform:translateY(-1px);
}

.sidebar.collapsed a{
  justify-content:center;
  padding:.75rem .6rem;
}

.sidebar.collapsed .nav-tx{
  display:none !important;
}

.sidebar.collapsed .nav-group-arrow{
  display:none !important;
}

.sidebar.collapsed .nav-group-toggle{
  justify-content:center;
}

.sidebar.collapsed .nav-sub{
  display:none !important;
}

.sidebar a.active{
  background:rgba(255,160,0,.20);
  border:1px solid rgba(255,160,0,.35);
  box-shadow:0 10px 22px rgba(0,0,0,.12);
}

.sidebar a::before{
  content:"";
  position:absolute;
  right:-10px;
  top:50%;
  width:6px;
  height:22px;
  border-radius:999px;
  transform:translateY(-50%) scaleY(.25);
  opacity:0;
  background:linear-gradient(180deg, #FFC107, #FFA000);
  transition:transform .22s ease, opacity .22s ease;
}

.sidebar a.active::before{
  opacity:1;
  transform:translateY(-50%) scaleY(1);
}

.sidebar a.active{
  border-right:4px solid rgba(255,160,0,.95);
}

.sidebar.collapsed a.active{
  border-right:0;
}

.sidebar a.active::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(110deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.35) 48%, rgba(255,255,255,0) 70%);
  transform:translateX(120%);
  animation:nav-shine 1.8s ease-in-out infinite;
  pointer-events:none;
  opacity:.8;
}

@keyframes nav-shine{
  0%{ transform:translateX(120%); opacity:.0; }
  15%{ opacity:.65; }
  55%{ opacity:.85; }
  100%{ transform:translateX(-120%); opacity:0; }
}

.nav-ic{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  opacity:.95;
}

.nav-ic svg{
  width:18px;
  height:18px;
  display:block;
}

.nav-tx{
  flex:1 1 auto;
  min-width:0;
}

.nav-group{
  margin-top:.6rem;
  margin-bottom:.6rem;
}

.nav-group-toggle{
  width:100%;
  text-align:right;
  border:0;
  background:rgba(255,255,255,.07);
  color:rgba(255,255,255,.95);
  padding:.7rem .85rem;
  border-radius:.85rem;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  transition:background .18s ease, transform .18s ease;
  direction:rtl;
}

.nav-group-toggle:hover{
  background:rgba(255,255,255,.12);
  transform:translateY(-1px);
}

.nav-group-arrow{
  display:inline-block;
  transition:transform .22s ease;
  opacity:.9;
}

.nav-group.open .nav-group-arrow{
  transform:rotate(180deg);
}

.nav-sub{
  overflow:hidden;
  max-height:0;
  transition:max-height .25s ease, padding .2s ease;
  padding:0;
}

.nav-group.open .nav-sub{
  padding-top:.55rem;
  padding-bottom:.65rem;
}

.nav-sub-inner{
  padding:.35rem;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  border-radius:1rem;
}

.nav-sub a{
  padding:.6rem .8rem;
  border-radius:.75rem;
}

.nav-sub a.active::after{
  content:none;
}

.topbar{
  background:rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border-bottom:1px solid #e9edf5;
  height:56px;
}

.stat-card{
  border:0;
  border-radius:1rem;
  box-shadow:0 12px 34px rgba(13,71,161,.10);
  overflow:hidden;
  border:1px solid #eef2f8;
  transform:translateY(0);
  transition:transform .18s ease, box-shadow .18s ease;
}

.stat-card .accent{
  height:5px;
  background:linear-gradient(90deg, var(--industrial-amber), var(--industrial-yellow), var(--industrial-blue));
}

.stat-card:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 40px rgba(13,71,161,.14);
}

.btn-industrial{
  background:var(--industrial-yellow);
  border-color:var(--industrial-yellow);
  color:#111;
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
  box-shadow:0 10px 24px rgba(255,160,0,.18);
}

.btn-industrial:hover{
  background:#FFC107;
  border-color:#FFC107;
  transform:translateY(-1px);
  box-shadow:0 14px 34px rgba(255,160,0,.22);
}

.btn-industrial:active{
  transform:translateY(0);
  filter:brightness(.98);
}

.btn-secondary{
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(249,251,255,1));
  border-color:#e9edf5;
  color:#111827;
  cursor:pointer;
}

.btn-secondary:hover{
  background:#fff;
  border-color:#d6e4ff;
  box-shadow:0 10px 24px rgba(13,71,161,.10);
}

.toggle-sidebar{
  border:1px solid #e9edf5;
}

.main{
  height:100vh;
  min-width:0;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  direction:rtl;
  order:1;
}

.content{
  flex:1 1 auto;
  overflow:auto;
  padding:1rem;
}

.dashboard-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  margin-bottom:1rem;
}

.dashboard-title{
  font-weight:900;
  font-size:1.1rem;
  color:#111;
}

.dashboard-sub{
  margin-top:.25rem;
  color:#667085;
  font-size:.95rem;
}

.kpi-grid{
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  gap:1rem;
}

.kpi-card{
  background:#fff;
  border:1px solid #eef2f8;
  border-radius:1.1rem;
  box-shadow:0 10px 28px rgba(13,71,161,.08);
  overflow:hidden;
}

.kpi-card.kpi-top-yellow{
  background:linear-gradient(135deg,
    rgba(255,193,7,.72) 0%,
    rgba(255,160,0,.38) 44%,
    rgba(255,255,255,.90) 100%
  );
  border-color:rgba(255,193,7,.55);
}

.kpi-card.kpi-top-blue{
  background:linear-gradient(135deg,
    rgba(13,71,161,.26) 0%,
    rgba(13,71,161,.12) 46%,
    rgba(255,255,255,.92) 100%
  );
  border-color:rgba(13,71,161,.28);
}

.kpi-card.kpi-top-yellow .kpi-card-inner,
.kpi-card.kpi-top-blue .kpi-card-inner{
  background:transparent;
}

.kpi-card-inner{
  padding:1rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}

.users-form-grid{
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  gap:.75rem;
}

.users-col-2{ grid-column:span 2; }
.users-col-3{ grid-column:span 3; }
.users-col-4{ grid-column:span 4; }
.users-col-12{ grid-column:span 12; }

.users-form-row{
  display:flex;
  align-items:stretch;
  gap:.75rem;
  flex-wrap:wrap;
}

@media (min-width: 992px){
  .users-form-row{
    flex-wrap:nowrap;
  }
}

.users-form-row .uf-field{
  min-width:0;
}

.users-add-grid{
  display:grid;
  grid-template-columns:
    minmax(120px, 1.05fr)
    minmax(14ch, 1.15fr)
    minmax(7.3rem, .55fr)
    minmax(120px, 1fr)
    minmax(8.6rem, .7fr);
  gap:.75rem;
  align-items:stretch;
}

.users-add-grid input[name="phone"]{
  text-align:left;
  font-variant-numeric: tabular-nums;
}

.users-add-grid .users-add-submit{
  width:100%;
  white-space:nowrap;
}

.users-add-actions{
  margin-top:.75rem;
  display:flex;
  justify-content:flex-start;
}

@media (max-width: 991.98px){
  .users-add-grid{
    grid-template-columns: 1fr;
  }
}

.users-filter-row{
  display:flex;
  align-items:center;
  gap:.5rem;
  flex-wrap:wrap;
}

@media (min-width: 992px){
  .users-filter-row{
    flex-wrap:nowrap;
  }
}

.users-filter-row select.users-input{
  min-width:150px;
}

.users-filter-row input.users-input{
  min-width:280px;
}

.users-input,
.ui-input{
  padding:.7rem .8rem;
  border:1px solid #e9edf5;
  border-radius:.75rem;
  background:#fff;
  outline:none;
  font-size:1.02rem;
  min-height:44px;
  box-sizing:border-box;
  width:100%;
}

.users-input:not(textarea),
.ui-input:not(textarea){
  height:44px;
  line-height:1.2;
}

.users-input:disabled,
.ui-input:disabled{
  opacity:.75;
  background:#f7f8fb;
}

.users-input[type="tel"],
.ui-input[type="tel"]{
  letter-spacing:.02em;
  font-variant-numeric: tabular-nums;
}

select.users-input,
select.ui-input{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  padding-left:2.2rem;
  cursor:pointer;
  background:
    linear-gradient(180deg, rgba(255,255,255,1), rgba(249,251,255,1)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23667085' d='M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z'/%3E%3C/svg%3E");
  background-repeat:no-repeat,no-repeat;
  background-size:auto,18px 18px;
  background-position:0 0, .8rem 50%;
}

select.users-input option,
select.ui-input option{
  padding:.55rem .7rem;
}

.ui-file{
  position:relative;
  display:flex;
  align-items:center;
  gap:.6rem;
  border:1px solid #e9edf5;
  background:#fff;
  border-radius:.85rem;
  box-sizing:border-box;
  height:44px;
  padding:0 .55rem;
}

.ui-file-input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.ui-file-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:34px;
  padding:0 .75rem;
  border-radius:.75rem;
  border:1px solid rgba(255,160,0,.25);
  background:linear-gradient(180deg, rgba(255,193,7,.22), rgba(255,160,0,.1));
  color:#4b3200;
  font-weight:900;
  white-space:nowrap;
}

.ui-file-btn:hover{
  filter:brightness(.98);
}

.ui-file-name{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.92rem;
  color:#667085;
  font-weight:900;
}

.molds-label{
  font-size:.86rem;
  font-weight:900;
  color:#344054;
  margin-bottom:.35rem;
}

.molds-table{
  width:100%;
  table-layout:fixed;
  border-spacing:0 .45rem;
}

.molds-table thead th{
  padding:.2rem .5rem;
}

.molds-table tbody td{
  padding:.6rem .5rem;
}

.molds-table th,
.molds-table td{
  overflow-wrap:normal;
  word-break:normal;
}

.molds-table thead th{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.molds-table th,
.molds-table td{
  text-align:right;
}

.molds-table .ui-actions{
  width:auto;
  overflow:hidden;
}

.molds-table .ui-actions-row{
  justify-content:flex-start;
  flex-wrap:nowrap;
  gap:.4rem;
}

.molds-table .molds-name,
.molds-table .molds-owner{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.molds-table .molds-weight{
  white-space:nowrap;
  text-align:center;
  font-variant-numeric: tabular-nums;
}

.molds-table th:nth-child(6),
.molds-table td:nth-child(6){
  text-align:center;
}

.molds-table .molds-weight span[dir="ltr"]{
  display:inline-block;
  white-space:nowrap;
}

.molds-table td:nth-child(8) .ui-btn{
  padding:.45rem .55rem;
  font-size:.88rem;
}

.molds-table th:nth-child(1),
.molds-table td:nth-child(1){
  width:12%;
}

.molds-table th:nth-child(2),
.molds-table td:nth-child(2){
  width:18%;
}

.molds-table th:nth-child(3),
.molds-table td:nth-child(3),
.molds-table th:nth-child(4),
.molds-table td:nth-child(4){
  width:7%;
}

.molds-table th:nth-child(5),
.molds-table td:nth-child(5){
  width:18%;
}

.molds-table th:nth-child(6),
.molds-table td:nth-child(6){
  width:10%;
}

.molds-table th:nth-child(7),
.molds-table td:nth-child(7){
  width:12%;
}

.molds-table th:nth-child(8),
.molds-table td:nth-child(8){
  width:8%;
}

.molds-table th:nth-child(9),
.molds-table td:nth-child(9){
  width:8%;
}

.is-icon-btn{
  width:36px;
  height:36px;
  min-width:36px;
  padding:.4rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:.85rem;
  border:1px solid #e9edf5;
  background:#fff;
  color:#344054;
  cursor:pointer;
}

.ui-btn-sm.is-icon-btn,
.users-btn-sm.is-icon-btn{
  width:32px;
  height:32px;
  min-width:32px;
  padding:.3rem;
  border-radius:.75rem;
}

.is-icon-btn svg{
  width:18px;
  height:18px;
  display:block;
}

.is-icon-btn:hover{
  background:#f9fbff;
  border-color:#d6e4ff;
}

.btn-danger.is-icon-btn{
  border-color:#ffd3d3;
  background:#fff2f2;
  color:#b42318;
}

.btn-danger.is-icon-btn:hover{
  background:#ffe9e9;
  border-color:#ffbdbd;
}

.tx-list-wrap{
  overflow:hidden;
}

.tx-table{
  width:100%;
  table-layout:fixed;
  min-width:0;
}

.tx-table th,
.tx-table td{
  overflow:hidden;
  text-overflow:ellipsis;
}

.tx-table th:nth-child(1),
.tx-table td:nth-child(1){ width:18%; }
.tx-table th:nth-child(2),
.tx-table td:nth-child(2){ width:22%; }
.tx-table th:nth-child(3),
.tx-table td:nth-child(3){ width:10%; }
.tx-table th:nth-child(4),
.tx-table td:nth-child(4){ width:18%; }
.tx-table th:nth-child(5),
.tx-table td:nth-child(5){ width:20%; }
.tx-table th:nth-child(6),
.tx-table td:nth-child(6){ width:12%; }

.ui-radio-group{
  display:flex;
  align-items:center;
  gap:0;
  flex-wrap:nowrap;
  width:100%;
  min-height:44px;
  height:44px;
  border:1px solid #e9edf5;
  border-radius:.75rem;
  overflow:hidden;
  background:#fff;
  box-sizing:border-box;
}

.ui-radio-group-compact{
  width:fit-content;
  max-width:100%;
}

.ui-radio-group-compact .ui-radio{
  flex:0 0 auto;
}

.ui-radio-group-compact .ui-radio-pill{
  width:auto;
  padding:0 .95rem;
}

.tx-print-panel{
  max-width:440px;
}

.tx-print-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid #e9edf5;
  background:#f9fbff;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#0D47A1;
  flex:0 0 auto;
}

.tx-print-icon svg{
  width:22px;
  height:22px;
  display:block;
}

.tx-print-panel .modal-body{
  padding:1.1rem 1.1rem .85rem;
}

.tx-print-panel .modal-actions{
  padding:.85rem 1.1rem 1.1rem;
  gap:.6rem;
}

.tx-print-panel .modal-actions .ui-btn{
  min-width:120px;
}

.ui-radio{
  flex:1 1 0;
  height:100%;
}

.ui-radio-pill{
  width:100%;
  height:100%;
}

.ui-radio + .ui-radio .ui-radio-pill{
  border-right:1px solid #eef2f8;
}

.ui-radio{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  cursor:pointer;
  user-select:none;
}

.ui-radio input{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  pointer-events:none;
}

.ui-radio-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:100%;
  padding:0 .75rem;
  border-radius:0;
  border:none;
  background:transparent;
  font-weight:900;
  color:#344054;
  white-space:nowrap;
  font-size:.9rem;
  box-sizing:border-box;
  line-height:1;
}

.order-finalize .ui-radio-pill{
  gap:.4rem;
  padding:0 1rem;
}

.order-finalize .ui-radio-pill svg{
  width:16px;
  height:16px;
  display:block;
}

.ui-radio-pill.is-in{
  color:#067647;
}

.ui-radio-pill.is-out{
  color:#b42318;
}

.ui-radio input:focus-visible + .ui-radio-pill{
  outline:3px solid rgba(255,160,0,.22);
  outline-offset:2px;
}

.ui-radio input:checked + .ui-radio-pill{
  background:#f9fbff;
  box-shadow:inset 0 0 0 2px rgba(13,71,161,.18);
}

.ui-radio input:checked + .ui-radio-pill.is-in{
  box-shadow:inset 0 0 0 2px rgba(6,118,71,.25);
}

.ui-radio input:checked + .ui-radio-pill.is-out{
  box-shadow:inset 0 0 0 2px rgba(180,35,24,.22);
}

.mold-thumb{
  width:52px;
  height:44px;
  border-radius:12px;
  border:1px solid #e9edf5;
  background:#fff;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
}

.mold-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.mold-thumb-empty{
  color:#98a2b3;
  font-weight:900;
  font-size:.9rem;
}

.ui-pick{
  display:flex;
  align-items:center;
  gap:.5rem;
  flex-wrap:wrap;
}

.ui-pick .ui-input{
  flex:1 1 220px;
  min-width:180px;
}

.ui-pick .ui-btn{
  white-space:nowrap;
}

.ui-owner{
  position:relative;
  width:100%;
}

.ui-owner .ui-input{
  padding-left:2.65rem;
}

.ui-input-icon{
  position:absolute;
  left:.55rem;
  top:50%;
  transform:translateY(-50%);
  width:36px;
  height:36px;
  border-radius:.8rem;
  border:none;
  background:transparent;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#344054;
  cursor:pointer;
}

.ui-input-icon:hover{
  background:rgba(13,71,161,.06);
}

.ui-owner .ui-input.users-input-sm{
  padding-left:2.35rem;
}

.ui-owner .ui-input.users-input-sm ~ .ui-input-icon{
  left:.4rem;
  width:32px;
  height:32px;
  border-radius:.7rem;
}

.ui-suggest{
  position:absolute;
  z-index:60;
  top:calc(100% + .35rem);
  right:0;
  left:0;
  background:#fff;
  border:1px solid #e9edf5;
  border-radius:1rem;
  box-shadow:0 18px 45px rgba(13,71,161,.12);
  overflow:hidden;
}

.ui-suggest-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:.65rem .8rem;
  color:#111;
  font-weight:900;
  cursor:pointer;
}

.ui-suggest-item:hover{
  background:linear-gradient(180deg, rgba(255,193,7,.12), rgba(249,251,255,1));
}

.ui-suggest-sub{
  color:#667085;
  font-weight:800;
  font-size:.9rem;
  white-space:nowrap;
}

.ui-suggest-empty{
  padding:.75rem .8rem;
  color:#667085;
  font-weight:900;
}

.picker-search{
  display:flex;
  align-items:center;
  gap:.5rem;
  flex-wrap:wrap;
}

.picker-search .ui-input{
  flex:1 1 260px;
}

.picker-table{
  width:100%;
  table-layout:fixed;
}

.picker-table th,
.picker-table td{
  overflow-wrap:anywhere;
  padding:.45rem .45rem;
}

.picker-table th:nth-child(1),
.picker-table td:nth-child(1){
  width:72px;
}

.picker-table th:nth-child(2),
.picker-table td:nth-child(2){
  width:72px;
}

.picker-table th:nth-child(4),
.picker-table td:nth-child(4){
  width:88px;
}

.picker-table th:nth-child(5),
.picker-table td:nth-child(5){
  width:92px;
}

.picker-table td:nth-child(3){
  line-height:1.35;
  white-space:normal;
}

.users-table,
.ui-table{
  width:100%;
  max-width:100%;
  border-collapse:separate;
  border-spacing:0 .6rem;
}

.orders-table{
  border-spacing:0 clamp(.25rem, .5vw, .6rem);
}

.users-table thead th,
.ui-table thead th{
  text-align:right;
  padding:.25rem .6rem;
  color:#667085;
  font-size:.9rem;
  font-weight:900;
}

.orders-table thead th{
  padding:clamp(.15rem, .2vw + .1rem, .35rem) clamp(.35rem, .6vw + .2rem, 1rem);
  font-size:clamp(.8rem, .25vw + .72rem, .95rem);
}

.users-table tbody tr,
.ui-table tbody tr{
  background:#f9fbff;
}

.mold-reports-table{
  table-layout:fixed;
}

.mold-reports-table thead th,
.mold-reports-table tbody td{
  overflow:hidden;
  text-overflow:ellipsis;
}

.mold-reports-table th:nth-child(1),
.mold-reports-table td:nth-child(1){
  width:22ch;
  white-space:nowrap;
}

.mold-reports-table th:nth-child(2),
.mold-reports-table td:nth-child(2){
  width:8ch;
}

.mold-reports-table th:nth-child(3),
.mold-reports-table td:nth-child(3){
  width:18ch;
}

.mold-reports-table th:nth-child(4),
.mold-reports-table td:nth-child(4){
  width:10ch;
}

.mold-reports-table th:nth-child(5),
.mold-reports-table td:nth-child(5){
  text-align:center;
}

.mold-reports-table .mold-report-text{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.mold-reports-table .mold-report-text-cell{
  text-align:center;
}

.mold-reports-table .mold-report-text-cell .is-icon-btn{
  width:32px;
  height:32px;
  min-width:32px;
  border-radius:.8rem;
}

.report-text-modal-body{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  word-break:break-word;
  font-weight:800;
  color:#111;
  line-height:1.7;
}

.mold-reports-table .mold-report-row.is-success{
  background:#ecfdf3;
}

.mold-reports-table .mold-report-row.is-failed{
  background:#fff2f2;
}

.users-table tbody td,
.ui-table tbody td{
  padding:.75rem .6rem;
  vertical-align:middle;
}

.orders-table tbody td{
  padding:clamp(.5rem, .5vw + .35rem, .95rem) clamp(.35rem, .6vw + .2rem, 1rem);
}

.users-table tbody tr td:first-child,
.ui-table tbody tr td:first-child{
  border-top-right-radius:.9rem;
  border-bottom-right-radius:.9rem;
}

.users-table tbody tr td:last-child,
.ui-table tbody tr td:last-child{
  border-top-left-radius:.9rem;
  border-bottom-left-radius:.9rem;
}

.users-code,
.ui-code{
  font-weight:900;
  color:#111;
  white-space:nowrap;
}

.users-phone,
.ui-phone{
  direction:ltr;
  text-align:right;
  font-variant-numeric: tabular-nums;
  white-space:nowrap;
}

.users-actions,
.ui-actions{
  width:1%;
  white-space:nowrap;
  text-align:right;
}

.users-actions-row,
.ui-actions-row{
  display:flex;
  align-items:center;
  gap:.5rem;
  justify-content:flex-start;
  width:100%;
  direction:rtl;
}

.users-actions-row form,
.ui-actions-row form{
  margin:0;
}

.users-empty,
.ui-empty{
  padding:1rem;
  color:#667085;
}

.mat-name{
  font-size:1rem;
  font-weight:800;
  color:#111;
}

.mat-table .ui-actions{
  width:auto;
  white-space:normal;
}

.mat-table .ui-actions-row{
  flex-wrap:wrap;
}

.mat-table{
  width:100%;
  table-layout:fixed;
}

.mat-table th,
.mat-table td{
  overflow-wrap:anywhere;
}

.mat-table th:nth-child(1),
.mat-table td:nth-child(1){
  width:96px;
}

.mat-table th:nth-child(3),
.mat-table td:nth-child(3){
  width:168px;
}

.cust-add-grid{
  display:grid;
  grid-template-columns:
    minmax(140px, 1.25fr)
    minmax(14ch, 1fr)
    minmax(140px, 1fr)
    minmax(7.6rem, .7fr);
  gap:.75rem;
  align-items:stretch;
}

.cust-add-grid .cust-add-submit{
  width:100%;
  white-space:nowrap;
}

@media (max-width: 991.98px){
  .cust-add-grid{
    grid-template-columns:1fr;
  }
}

.cust-table{
  width:100%;
  table-layout:fixed;
}

.cust-table th,
.cust-table td{
  overflow-wrap:anywhere;
}

.cust-table th:nth-child(1),
.cust-table td:nth-child(1){
  width:96px;
}

.cust-table th:nth-child(3),
.cust-table td:nth-child(3){
  width:150px;
}

.cust-table th:nth-child(4),
.cust-table td:nth-child(4){
  width:168px;
}

.ui-form-grid{
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  gap:.75rem;
}

.ui-col-2{ grid-column:span 2; }
.ui-col-3{ grid-column:span 3; }
.ui-col-4{ grid-column:span 4; }
.ui-col-5{ grid-column:span 5; }
.ui-col-6{ grid-column:span 6; }
.ui-col-8{ grid-column:span 8; }
.ui-col-10{ grid-column:span 10; }
.ui-col-12{ grid-column:span 12; }

@media (max-width: 991.98px){
  .ui-col-2,
  .ui-col-3,
  .ui-col-4,
  .ui-col-5,
  .ui-col-6,
  .ui-col-8,
  .ui-col-10,
  .ui-col-12{
    grid-column:span 12;
  }
}

@media (max-width: 1199.98px) and (min-width: 992px){
  .orders-form-grid .ui-col-4{ grid-column:span 6; }
  .orders-form-grid .ui-col-8{ grid-column:span 12; }
  .orders-form-grid .molds-label{ font-size:clamp(.78rem, .4vw + .6rem, .86rem); }
  .orders-form-grid .ui-input{ font-size:clamp(.95rem, .35vw + .8rem, 1.02rem); }
}

.modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(17,24,39,.55);
  z-index:2000;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}

.modal-backdrop.show{
  opacity:1;
  pointer-events:auto;
}

.modal{
  position:fixed;
  inset:0;
  z-index:2001;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1rem;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}

.modal.show{
  opacity:1;
  pointer-events:auto;
}

.modal-panel{
  width:min(560px, 100%);
  max-height:calc(100vh - 2rem);
  background:rgba(255,255,255,.98);
  border:1px solid #e9edf5;
  border-radius:1.1rem;
  box-shadow:0 22px 60px rgba(13,71,161,.18);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transform:translateY(10px) scale(.985);
  transition:transform .18s ease;
}

.modal.show .modal-panel{
  transform:translateY(0) scale(1);
}

.modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1rem .75rem;
  border-bottom:1px solid #eef2f8;
  background:linear-gradient(180deg, rgba(255,193,7,.18), rgba(255,255,255,.98));
}

.modal-title{
  font-weight:900;
  color:#111;
}

.modal-close{
  width:40px;
  height:40px;
  border-radius:.85rem;
  border:1px solid #e9edf5;
  background:#fff;
  color:#111;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.35rem;
  line-height:1;
}

.modal-body{
  padding:1rem;
  flex:1 1 auto;
  overflow:auto;
}

.modal-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:.75rem;
}

.modal-col-12{
  grid-column:span 2;
}

.modal-label{
  font-size:.86rem;
  font-weight:900;
  color:#344054;
  margin-bottom:.35rem;
}

.modal-actions{
  margin-top:1rem;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.5rem;
  flex-wrap:wrap;
}

@media (max-width: 560px){
  .modal-grid{
    grid-template-columns:1fr;
  }
  .modal-col-12{
    grid-column:span 1;
  }
}

@media (max-width: 767.98px){
  [data-pager-scope]{
    overflow:auto !important;
    -webkit-overflow-scrolling:touch;
  }

  .users-table,
  .ui-table{
    min-width:44rem;
  }

  .mat-table{
    min-width:34rem;
  }

  .cust-table{
    min-width:40rem;
  }

  .molds-table{
    min-width:70rem;
  }

  .tx-table{
    min-width:0;
  }
}

.users-input:focus{
  border-color:rgba(255,160,0,.55);
  box-shadow:0 0 0 4px rgba(255,160,0,.12);
}

.users-input-sm{
  padding:.55rem .7rem;
  border-radius:.65rem;
  font-size:.95rem;
}

.users-btn,
.ui-btn{
  padding:.7rem 1rem;
  border-radius:.8rem;
  font-weight:900;
}

.users-btn-sm,
.ui-btn-sm{
  padding:.55rem .85rem;
  border-radius:.7rem;
  font-weight:900;
}

@media (max-width: 991.98px){
  .users-col-2,
  .users-col-3,
  .users-col-4,
  .users-col-12{
    grid-column:span 12;
  }
}

.kpi-meta{
  min-width:0;
  flex:1 1 auto;
  text-align:center;
}

.kpi-card-inner{
  position:relative;
}

.kpi-label{
  color:#667085;
  font-size:.92rem;
}

.kpi-value{
  margin-top:.25rem;
  font-weight:900;
  font-size:1.65rem;
  color:#111;
  letter-spacing:-.02em;
  line-height:1;
  justify-content:center;
}

.kpi-meta{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.kpi-value{
  min-height:1.65rem;
  display:flex;
  align-items:center;
}

.kpi-icon{
  width:46px;
  height:46px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, rgba(255,193,7,.22), rgba(255,160,0,.16), rgba(13,71,161,.10));
  border:1px solid rgba(13,71,161,.12);
  color:#0D47A1;
  flex:0 0 auto;
}

.kpi-icon svg{
  width:22px;
  height:22px;
}

.badge{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.25rem .55rem;
  border-radius:999px;
  font-weight:800;
  font-size:.82rem;
  border:1px solid transparent;
  white-space:nowrap;
}

.badge svg{
  width:14px;
  height:14px;
  display:block;
}

.badge-muted{
  background:#f2f4f7;
  color:#344054;
  border-color:#e4e7ec;
}

.badge-success{
  background:#ecfdf3;
  color:#067647;
  border-color:#abefc6;
}

.badge-failed{
  background:#fff2f2;
  color:#b42318;
  border-color:#ffd3d3;
}

.badge-open{
  background:linear-gradient(180deg, rgba(255,193,7,.18), rgba(255,193,7,.08));
  color:#4b3200;
  border-color:rgba(255,193,7,.35);
}

.order-chips{
  display:flex;
  gap:.45rem;
  flex-wrap:wrap;
  margin-top:.45rem;
}

.order-item{
  position:relative;
  padding-top:5.35rem;
}

.order-ribbon{
  position:absolute;
  top:.75rem;
  left:0;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.3rem .85rem;
  padding-left:1rem;
  border-radius:0 .95rem .95rem 0;
  font-weight:900;
  font-size:.82rem;
  background:linear-gradient(180deg, rgba(13,71,161,.12), rgba(13,71,161,.06));
  color:#0D47A1;
  border:1px solid rgba(13,71,161,.18);
  border-left:0;
  box-shadow:0 6px 18px rgba(13,71,161,.08);
  z-index:2;
  max-width:calc(100% - 5rem);
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.order-ribbon--status{
  top:3.25rem;
}

.order-ribbon--status.is-open{
  background:linear-gradient(180deg, rgba(255,193,7,.34), rgba(255,193,7,.16));
  color:#6b3f00;
  border-color:rgba(255,193,7,.55);
  box-shadow:0 6px 18px rgba(255,193,7,.14);
}

.order-ribbon--status.is-success{
  background:linear-gradient(180deg, rgba(22,163,74,.16), rgba(22,163,74,.08));
  color:#067647;
  border-color:rgba(171,239,198,.9);
  box-shadow:0 6px 18px rgba(22,163,74,.10);
}

.order-ribbon--status.is-failed{
  background:linear-gradient(180deg, rgba(239,68,68,.14), rgba(239,68,68,.07));
  color:#b42318;
  border-color:rgba(255,189,189,.9);
  box-shadow:0 6px 18px rgba(239,68,68,.10);
}

.order-ribbon::before{
  content:"";
  position:absolute;
  left:0;
  top:100%;
  width:0;
  height:0;
  border-top:10px solid rgba(13,71,161,.16);
  border-left:10px solid transparent;
}

.order-ribbon--status.is-open::before{
  border-top-color:rgba(255,193,7,.55);
}

.order-ribbon--status.is-open svg{
  animation:order-spin 1.4s linear infinite;
  transform-origin:50% 50%;
}

@keyframes order-spin{
  from{ transform:rotate(0deg); }
  to{ transform:rotate(360deg); }
}

@media (prefers-reduced-motion: reduce){
  .order-ribbon--status.is-open svg{ animation:none; }
}

.order-ribbon--status.is-success::before{
  border-top-color:rgba(22,163,74,.25);
}

.order-ribbon--status.is-failed::before{
  border-top-color:rgba(239,68,68,.25);
}

.order-ribbon svg{
  width:14px;
  height:14px;
  display:block;
}

.list{
  display:flex;
  flex-direction:column;
  gap:.55rem;
}

.list-item{
  background:#f9fbff;
  border:1px solid #e9edf5;
  border-radius:1rem;
  padding:.85rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}

.list-main{
  min-width:0;
}

.list-title{
  font-weight:900;
  color:#111;
}

.list-sub{
  margin-top:.25rem;
  color:#667085;
  font-size:.92rem;
}

.mini-bar{
  height:10px;
  border-radius:999px;
  background:#eef2f8;
  overflow:hidden;
}

.mini-bar > span{
  display:block;
  height:10px;
  background:linear-gradient(90deg, #FFC107, #0D47A1);
  width:0%;
  transition:width .85s cubic-bezier(.2,.9,.2,1);
  will-change:width;
}

@media (max-width: 991.98px){
  .kpi-col-3{ grid-column:span 12 !important; }
  .kpi-col-4{ grid-column:span 12 !important; }
  .kpi-col-6{ grid-column:span 12 !important; }
}

.ui-ready .mini-bar > span{
  width:var(--w, 0%);
}

.dash-anim .kpi-card,
.dash-anim .list-item{
  opacity:0;
  transform:translateY(10px);
}

.ui-ready .dash-anim .kpi-card,
.ui-ready .dash-anim .list-item{
  animation:dash-pop .52s cubic-bezier(.2,.9,.2,1) forwards;
  animation-delay:var(--d, 0ms);
}

@keyframes dash-pop{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:translateY(0); }
}

@media (prefers-reduced-motion: reduce){
  .ui-ready .dash-anim .kpi-card,
  .ui-ready .dash-anim .list-item{
    animation:none;
    opacity:1;
    transform:none;
  }
  .mini-bar > span{
    transition:none;
  }
}

.footer-credit{
  padding:.28rem .65rem .75rem;
  display:flex;
  justify-content:center;
}

.footer-credit-box{
  background:rgba(255,255,255,.88);
  border:1px solid #e9edf5;
  border-radius:1rem;
  box-shadow:0 4px 10px rgba(13,71,161,.08);
  padding:.22rem .55rem;
  color:#667085;
  font-weight:800;
  font-size:.75rem;
  margin-bottom:.15rem;
}

.footer-credit-box a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.12rem .42rem;
  border-radius:.6rem;
  background:var(--industrial-yellow);
  border:1px solid rgba(0,0,0,.06);
  color:#111;
  text-decoration:none;
  margin-right:.25rem;
}

.footer-credit-box a:hover{
  background:#FFC107;
}

.sidebar-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.45);
  z-index:1039;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
  display:none;
}

.sidebar-backdrop.show{
  display:block;
  opacity:1;
  pointer-events:auto;
}

@media (max-width: 991.98px){
  .app-shell{
    display:block;
  }
  .sidebar{
    position:fixed;
    top:0;
    right:0;
    height:100vh;
    z-index:1040;
    transform:translateX(100%);
    width:84vw;
    max-width:320px;
  }
  .sidebar.open{
    transform:translateX(0);
  }
  .sidebar-backdrop{ display:block; }
}

@media (min-width: 992px){
  .sidebar-backdrop{ display:none !important; }
}
