
:root{--blue:#123f86;--blue2:#0b2f66;--bg:#f4f8fd;--card:#fff;--text:#102033;--muted:#617187;--line:#d9e4f2;--danger:#dc2626;--shadow:0 18px 50px rgba(16,32,51,.08)}
*{box-sizing:border-box}html,body{margin:0;width:100%;max-width:100%;overflow-x:hidden;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none}.layout{display:flex;min-height:100vh;width:100%}.sidebar{width:285px;background:linear-gradient(180deg,#0b2f66,#123f86);color:#fff;padding:22px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;gap:12px;align-items:center;margin-bottom:24px}.brand-mark{width:42px;height:42px;border-radius:12px;background:#fff;color:var(--blue);display:flex;align-items:center;justify-content:center;font-weight:900}.brand strong{display:block}.brand span{font-size:11px;opacity:.82}.sidebar nav{display:flex;flex-direction:column;gap:7px}.sidebar a,.nav-group summary{color:#fff;padding:11px 12px;border-radius:12px;font-weight:900;font-size:14px}.main-link{display:block}.nav-group summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.nav-group summary a{padding:0}.nav-group .sub{display:block;margin:3px 0 3px 18px;font-size:13px;opacity:.92}.sidebar a:hover,.nav-group summary:hover{background:rgba(255,255,255,.13)}.main{flex:1;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.topbar h1{margin:0;font-size:26px}.topbar p{margin:5px 0 0;color:var(--muted)}.userbox{display:flex;align-items:center;gap:12px}.userbox small{color:var(--muted)}.language-switch{display:flex;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.language-switch a{padding:8px 11px;color:var(--blue);font-weight:900}.language-switch a.active{background:var(--blue);color:#fff}.content{padding:28px 32px}.card,.module-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:22px;margin-bottom:22px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}.kpi span{display:block;color:var(--muted);font-weight:900;font-size:12px}.kpi strong{display:block;margin-top:8px;font-size:26px;color:var(--blue2)}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:22px}.module-card{display:block;color:var(--text)}.module-card b{display:block;color:var(--blue);font-size:18px;margin-bottom:8px}.module-card span{color:var(--muted);line-height:1.45}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.toolbar{display:flex;gap:12px;margin-bottom:16px}.search{flex:1;border:1px solid var(--line);border-radius:14px;padding:13px;font-size:15px}.btn{border:1px solid var(--line);background:#fff;color:var(--blue);padding:10px 14px;border-radius:12px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.secondary{background:#f8fbff}.btn.danger{color:var(--danger);border-color:#ffd6d6;background:#fff6f6}.btn.small{padding:7px 9px;font-size:12px}.btn.full{width:100%}.row-actions,.modal-actions,.report-actions{display:flex;gap:8px;flex-wrap:wrap}.row-actions form{margin:0}.table-card{overflow-x:auto;max-width:100%}table{width:100%;border-collapse:collapse}th{font-size:11px;text-transform:uppercase;color:var(--muted);background:#f7fbff;text-align:left}th,td{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:top;font-size:13px}.entry-table{min-width:980px}.entry-table input,.entry-table select,td input,td select{width:100%;border:1px solid var(--line);border-radius:10px;padding:8px}.empty{text-align:center;color:var(--muted);padding:30px}.badge{display:inline-block;background:#e8f1ff;color:var(--blue);padding:5px 8px;border-radius:999px;font-weight:900}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.field span{display:block;font-weight:900;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:13px;padding:12px;font-size:14px;background:#fff}.wide{grid-column:1/-1}.form-actions{display:flex;gap:10px;margin-top:16px}.section-title{border-bottom:1px solid var(--line);padding-bottom:8px}.mobile-menu-btn{display:none;position:fixed;left:14px;top:14px;z-index:2001;width:44px;height:44px;border:0;border-radius:13px;background:var(--blue);color:#fff;font-size:22px;font-weight:900;box-shadow:var(--shadow)}.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 20%,#eaf3ff,#fff)}.login-card{width:min(92vw,420px);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;padding:28px}.login-card label{display:block;font-weight:900;margin:14px 0}.login-card input{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:13px;padding:12px}.alert.error{background:#fff1f1;color:#b91c1c;border:1px solid #fecaca;border-radius:12px;padding:10px;margin:12px 0}.record-modal{display:none;position:fixed;inset:0;background:rgba(16,32,51,.48);z-index:5000;padding:18px;align-items:center;justify-content:center}.record-modal.open{display:flex}.modal-card{background:#fff;border-radius:22px;box-shadow:0 25px 90px rgba(0,0,0,.25);padding:24px;max-width:760px;width:100%;max-height:90vh;overflow:auto;position:relative}.modal-close{position:absolute;right:16px;top:14px;border:0;background:#eef5ff;color:var(--blue);border-radius:50%;width:36px;height:36px;font-size:25px}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-grid div{border:1px solid var(--line);border-radius:12px;padding:10px}.modal-grid b{display:block;color:var(--muted);font-size:11px;text-transform:uppercase}.modal-grid span{display:block;margin-top:4px;font-weight:800}
@media(max-width:1120px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.module-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:860px){.mobile-menu-btn{display:flex;align-items:center;justify-content:center}.layout{display:block}.sidebar{position:fixed;left:0;top:0;height:100vh;width:82vw;max-width:340px;z-index:2000;transform:translateX(-105%);transition:.25s}.menu-open .sidebar{transform:translateX(0)}.menu-open::after{content:"";position:fixed;inset:0;background:rgba(16,32,51,.35);z-index:1999}.main{width:100%;max-width:100%}.topbar{position:relative;flex-direction:column;align-items:flex-start;gap:12px;padding:16px 14px 16px 70px}.topbar h1{font-size:24px}.content{padding:14px}.userbox{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:10px}.kpi-grid,.module-grid,.grid.two,.form-grid{grid-template-columns:1fr}.card,.module-card{border-radius:18px;padding:18px}.toolbar{display:grid}.toolbar *{width:100%}.table-card{padding:16px;overflow:visible}.table-card table:not(.entry-table){min-width:0;width:100%;border-collapse:separate}.table-card table:not(.entry-table) thead{display:none}.table-card table:not(.entry-table) tbody{display:block}.table-card table:not(.entry-table) tr{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:14px;padding:10px;box-shadow:0 10px 26px rgba(16,32,51,.06)}.table-card table:not(.entry-table) td{display:grid;grid-template-columns:42% 58%;gap:8px;border-bottom:1px solid #edf2f8;padding:10px 0;word-break:break-word}.table-card table:not(.entry-table) td::before{content:attr(data-label);font-weight:900;color:var(--muted);text-transform:uppercase;font-size:11px}.row-actions{min-width:0}.row-actions a,.row-actions form,.row-actions button{flex:1 1 46%;min-width:120px}.modal-grid{grid-template-columns:1fr}.entry-table{min-width:980px}}@media(max-width:520px){.topbar{padding-left:66px}.userbox{grid-template-columns:1fr}.language-switch,.userbox form,.userbox button{width:100%}.language-switch a{flex:1;text-align:center}.content{padding:12px}}


/* SGICR ERP V8 CLEAN MOBILE SIDEBAR */
.sidebar{
  overflow-x:hidden!important;
}

.erp-nav{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  width:100%!important;
}

.nav-group{
  display:block!important;
  width:100%!important;
}

.nav-group summary{
  list-style:none!important;
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  padding:0!important;
  cursor:pointer!important;
}

.nav-group summary::-webkit-details-marker{
  display:none!important;
}

.nav-main,
.nav-single{
  display:block!important;
  width:100%!important;
  padding:12px 12px!important;
  border-radius:12px!important;
  color:#fff!important;
  font-weight:900!important;
  font-size:15px!important;
  line-height:1.25!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
}

.nav-caret{
  color:#fff!important;
  font-size:12px!important;
  opacity:.9!important;
  padding-right:8px!important;
}

.nav-submenu{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  width:100%!important;
  margin:3px 0 10px 0!important;
  padding-left:14px!important;
}

.nav-sub{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  padding:9px 12px!important;
  border-radius:10px!important;
  color:rgba(255,255,255,.92)!important;
  font-weight:800!important;
  font-size:13px!important;
  line-height:1.25!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
}

.nav-main:hover,
.nav-single:hover,
.nav-sub:hover{
  background:rgba(255,255,255,.13)!important;
}

.brand{
  width:100%!important;
  min-width:0!important;
}

.brand-text{
  min-width:0!important;
}

.brand-text strong,
.brand-text span{
  display:block!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
}

@media(max-width:860px){
  .sidebar{
    width:78vw!important;
    max-width:315px!important;
    min-width:255px!important;
    padding:20px 16px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  .brand{
    gap:10px!important;
    margin-bottom:22px!important;
  }

  .brand-mark{
    width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
  }

  .brand-text strong{
    font-size:18px!important;
    line-height:1.15!important;
  }

  .brand-text span{
    font-size:11px!important;
    line-height:1.35!important;
  }

  .nav-main,
  .nav-single{
    font-size:15px!important;
    padding:11px 12px!important;
  }

  .nav-sub{
    font-size:13px!important;
    padding:9px 10px!important;
  }

  .nav-submenu{
    padding-left:12px!important;
  }

  .mobile-menu-btn{
    position:fixed!important;
    top:14px!important;
    left:14px!important;
    z-index:3001!important;
  }

  body.menu-open .mobile-menu-btn{
    left:calc(min(78vw, 315px) + 12px)!important;
  }
}

@media(max-width:420px){
  .sidebar{
    width:82vw!important;
    max-width:300px!important;
    min-width:245px!important;
  }

  .nav-main,
  .nav-single{
    font-size:14px!important;
  }

  .nav-sub{
    font-size:12.5px!important;
  }

  body.menu-open .mobile-menu-btn{
    left:calc(min(82vw, 300px) + 10px)!important;
  }
}


/* SGICR ERP V10 FINAL MOBILE SIDEBAR AND LINE ITEMS */
.erp-nav{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  width:100%!important;
}

.nav-group{
  display:block!important;
  width:100%!important;
}

.nav-group-header{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  border:0!important;
  background:transparent!important;
  color:#fff!important;
  padding:12px!important;
  border-radius:12px!important;
  font-family:inherit!important;
  font-size:15px!important;
  font-weight:900!important;
  text-align:left!important;
  cursor:pointer!important;
}

.nav-submenu{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  padding-left:14px!important;
  margin:2px 0 10px 0!important;
}

.nav-group.closed .nav-submenu{
  display:none!important;
}

.nav-caret{
  transition:transform .2s ease!important;
}

.nav-group.closed .nav-caret{
  transform:rotate(-90deg)!important;
}

.nav-sub,
.nav-single{
  display:block!important;
  width:100%!important;
  float:none!important;
  clear:both!important;
  color:#fff!important;
  text-decoration:none!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  font-weight:850!important;
  line-height:1.25!important;
  border-radius:10px!important;
}

.nav-sub{
  padding:9px 12px!important;
  font-size:13px!important;
  opacity:.94!important;
}

.nav-single{
  padding:12px!important;
  font-size:15px!important;
  font-weight:900!important;
}

.nav-group-header:hover,
.nav-sub:hover,
.nav-single:hover{
  background:rgba(255,255,255,.13)!important;
}

.brand-text{
  min-width:0!important;
}

.brand-text strong,
.brand-text span{
  display:block!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
}

.line-section-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  margin:24px 0 14px 0;
}

.line-section-header h3{
  margin:0;
}

.line-section-header p{
  margin:5px 0 0 0;
  color:var(--muted);
}

.line-items{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.product-line-card{
  display:grid;
  grid-template-columns:42px minmax(220px,1.5fr) minmax(180px,1fr) 90px 80px 95px 115px 85px auto;
  gap:10px;
  align-items:end;
  background:#f8fbff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px;
}

.line-number{
  width:34px;
  height:34px;
  border-radius:11px;
  background:var(--blue);
  color:#fff;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:4px;
}

.product-line-card .field{
  margin:0;
}

.product-line-card .field span{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:var(--muted);
}

.stock-display{
  background:#eef5ff!important;
  color:var(--blue)!important;
  font-weight:900!important;
}

.remove-line-btn{
  width:34px;
  height:34px;
  border:0;
  border-radius:10px;
  background:#fff1f1;
  color:#dc2626;
  font-size:22px;
  font-weight:900;
  cursor:pointer;
  margin-bottom:4px;
}

@media(max-width:1200px){
  .layout{
    display:block!important;
  }

  .sidebar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    width:82vw!important;
    max-width:315px!important;
    min-width:250px!important;
    height:100vh!important;
    z-index:4000!important;
    padding:72px 16px 22px 16px!important;
    transform:translateX(-105%)!important;
    transition:transform .25s ease!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  body.menu-open .sidebar{
    transform:translateX(0)!important;
  }

  body.menu-open::after{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(16,32,51,.42);
    z-index:3999;
  }

  .mobile-menu-btn{
    display:flex!important;
    position:fixed!important;
    top:14px!important;
    left:14px!important;
    z-index:5001!important;
    width:46px!important;
    height:46px!important;
    align-items:center!important;
    justify-content:center!important;
    border:0!important;
    border-radius:14px!important;
    background:var(--blue)!important;
    color:#fff!important;
    font-size:24px!important;
    font-weight:900!important;
    box-shadow:var(--shadow)!important;
  }

  body.menu-open .mobile-menu-btn{
    background:#fff!important;
    color:var(--blue)!important;
  }

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

  .topbar{
    position:relative!important;
    padding-left:76px!important;
  }
}

@media(min-width:1201px){
  .mobile-menu-btn{
    display:none!important;
  }
}

@media(max-width:980px){
  .product-line-card{
    grid-template-columns:42px 1fr 1fr;
  }

  .product-field,
  .description-field{
    grid-column:2 / -1;
  }
}

@media(max-width:620px){
  .line-section-header{
    align-items:stretch;
    flex-direction:column;
  }

  .line-section-header .btn{
    width:100%;
  }

  .product-line-card{
    grid-template-columns:36px 1fr;
    padding:12px;
  }

  .product-line-card .field{
    grid-column:1 / -1;
  }

  .line-number{
    grid-column:1 / 2;
    grid-row:1;
  }

  .remove-line-btn{
    grid-column:2 / 3;
    grid-row:1;
    justify-self:end;
  }

  .product-field,
  .description-field{
    grid-column:1 / -1;
  }
}
