/* KALATHONG BRAND UI - soft corporate blue */
:root{
  --kt-navy:#0b1f4d;
  --kt-blue:#1d4ed8;
  --kt-blue-2:#2563eb;
  --kt-sky:#eff6ff;
  --kt-sky-2:#f8fbff;
  --kt-ink:#0f172a;
  --kt-muted:#64748b;
  --kt-line:#dbeafe;
  --kt-line-2:#e5e7eb;
  --kt-card:#ffffff;
  --kt-bg:#f4f7fb;
  --kt-success:#047857;
  --kt-warning:#b45309;
  --kt-danger:#b91c1c;
  --kt-radius:16px;
  --kt-shadow:0 10px 26px rgba(15,23,42,.07);
  --kt-shadow-soft:0 4px 14px rgba(15,23,42,.05);
}
*{box-sizing:border-box}
body{
  background:radial-gradient(circle at top left,#eef6ff 0,#f8fbff 28%,var(--kt-bg) 100%)!important;
  color:var(--kt-ink)!important;
  line-height:1.55;
}
a{color:var(--kt-blue);text-decoration:none}a:hover{text-decoration:underline}
.top{
  background:linear-gradient(135deg,var(--kt-navy),#173b86 55%,var(--kt-blue))!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(15,31,77,.18)!important;
  border-bottom:1px solid rgba(255,255,255,.18);
  position:relative;
  overflow:hidden;
}
.top:after{content:"";position:absolute;right:-80px;top:-120px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none}
.top:before{
  content:"";width:44px;height:44px;min-width:44px;
  background:#fff url('gantong_logo.png') center/contain no-repeat;
  border-radius:999px;margin-right:12px;
  box-shadow:0 4px 12px rgba(0,0,0,.16);
  display:inline-block;vertical-align:middle;
}
.top a{color:#fff!important;opacity:.95}.top a:hover{opacity:1}
.wrap{max-width:1250px;margin-left:auto;margin-right:auto}
.hero,.card,.box,.panel,.tablebox,.tile,.section,.summary,.notice{
  background:var(--kt-card)!important;
  border:1px solid var(--kt-line)!important;
  border-radius:var(--kt-radius)!important;
  box-shadow:var(--kt-shadow)!important;
}
.hero{
  background:linear-gradient(135deg,#fff 0%,#f8fbff 62%,#eef6ff 100%)!important;
  position:relative;overflow:hidden;
}
.hero:before{
  content:"";display:block;width:86px;height:68px;
  background:url('gantong_logo.png') center/contain no-repeat;
  margin-bottom:10px;opacity:.96;
}
h1,h2,h3{color:var(--kt-navy)!important;letter-spacing:-.01em}p{color:inherit}.muted,small,.hint{color:var(--kt-muted)!important}
.card:hover,.tile:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(15,23,42,.09)!important;transition:.18s ease}
.num,.step,.circle{
  background:linear-gradient(135deg,var(--kt-navy),var(--kt-blue))!important;
  color:#fff!important;box-shadow:0 6px 14px rgba(29,78,216,.18);
}
.badge,.pill,.tag{
  background:var(--kt-sky)!important;color:var(--kt-navy)!important;
  border:1px solid var(--kt-line)!important;
}
.btn,button,input[type=submit],input[type=button],.button{
  border:0;border-radius:12px!important;font-weight:800;cursor:pointer;
  transition:.16s ease;box-shadow:var(--kt-shadow-soft);
}
button:not(.danger):not(.warn):not(.gray):not(.secondary),
.btn:not(.gray):not(.danger):not(.warn):not(.secondary),
input[type=submit]:not(.danger):not(.warn):not(.gray):not(.secondary){
  background:linear-gradient(135deg,var(--kt-navy),var(--kt-blue))!important;color:#fff!important;
}
button:hover,.btn:hover,input[type=submit]:hover{transform:translateY(-1px);filter:brightness(1.03);text-decoration:none!important}
.gray,.secondary{background:#eaf0f8!important;color:var(--kt-navy)!important}.warn{background:#fff7ed!important;color:var(--kt-warning)!important}.danger{background:#fee2e2!important;color:var(--kt-danger)!important}
input,select,textarea{
  border:1px solid #cbd5e1!important;border-radius:12px!important;background:#fff!important;color:var(--kt-ink)!important;
  outline:none;box-shadow:none!important;
}
input:focus,select:focus,textarea:focus{border-color:#93c5fd!important;box-shadow:0 0 0 4px rgba(147,197,253,.28)!important}
table{border-collapse:separate!important;border-spacing:0;width:100%}th{background:#eff6ff!important;color:var(--kt-navy)!important;font-weight:900}td,th{border-color:#e5e7eb!important}tr:nth-child(even) td{background:#fbfdff}
.logo{border:0!important;border-radius:0!important;color:transparent!important;overflow:hidden;background:#fff!important}.logo img{width:100%;height:100%;object-fit:contain;display:block}.print-logo{width:58px;height:58px;object-fit:contain;display:block}
hr{border:0;border-top:1px solid var(--kt-line-2)}
.alert,.success,.error{border-radius:14px!important;border:1px solid var(--kt-line)!important;box-shadow:var(--kt-shadow-soft)}
.success{background:#ecfdf5!important;color:#065f46!important}.error{background:#fef2f2!important;color:#991b1b!important}.alert{background:#eff6ff!important;color:var(--kt-navy)!important}
@media(max-width:700px){
  .top{display:block!important;padding:14px 16px!important}.top:before{width:38px;height:38px;min-width:38px;margin-right:8px}.top div:last-child{margin-top:10px}.hero:before{width:76px;height:58px}.card,.tile,.box,.panel{border-radius:14px!important}
}
@media print{
  body{background:#fff!important;color:#000!important}.top,.no-print,.btn,button,input[type=submit],.filter,.actions{display:none!important}.wrap{max-width:none!important;margin:0!important;padding:0!important}.hero,.card,.box,.panel,.tablebox,.tile{box-shadow:none!important;border:1px solid #ddd!important}.hero:before,.top:before,.top:after{display:none!important}a{color:#000!important;text-decoration:none!important}.logo img,.print-logo{filter:none!important}
}


/* KALATHONG MENU POLISH - equal height cards and clean responsive layout */
.wrap{
  width:100%;
}
.hero{
  padding:30px 34px!important;
  margin-bottom:22px!important;
}
.hero:before{
  width:74px!important;
  height:54px!important;
  margin-bottom:14px!important;
}
.hero h1{
  line-height:1.15!important;
}
.grid,.cards{
  align-items:stretch!important;
}
.main-menu-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:18px!important;
}
.office-menu-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.unit-menu-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.report-menu-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
}
.grid > .card,
.grid > .tile,
.cards > .card{
  height:100%!important;
  min-height:268px!important;
  display:flex!important;
  flex-direction:column!important;
  padding:24px!important;
  border:1px solid var(--kt-line)!important;
  border-radius:18px!important;
  box-shadow:0 10px 24px rgba(15,23,42,.055)!important;
}
.grid > .card h2,
.grid > .tile h2,
.cards > .card h2{
  min-height:2.25em;
  display:flex;
  align-items:flex-start;
}
.grid > .card p,
.grid > .tile p,
.cards > .card p{
  flex:1 1 auto!important;
  margin-bottom:18px!important;
}
.grid > .card .btn,
.cards > .card .btn{
  margin-top:auto!important;
  width:100%!important;
  min-height:50px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.grid > .tile{
  justify-content:flex-start!important;
}
.num{
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  margin-bottom:18px!important;
}
.badge{
  align-self:flex-start;
}
.top{
  min-height:64px;
}
@media(max-width:1180px){
  .main-menu-grid,.office-menu-grid,.unit-menu-grid,.report-menu-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:720px){
  .wrap{margin:18px auto!important;padding:0 12px!important;}
  .hero{padding:22px!important;margin-bottom:14px!important;}
  .hero:before{width:66px!important;height:48px!important;margin-bottom:10px!important;}
  .main-menu-grid,.office-menu-grid,.unit-menu-grid,.report-menu-grid,.grid,.cards{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .grid > .card,
  .grid > .tile,
  .cards > .card{
    min-height:0!important;
    padding:18px!important;
  }
  .grid > .card h2,
  .grid > .tile h2,
  .cards > .card h2{
    min-height:0!important;
  }
  .grid > .card p,
  .grid > .tile p,
  .cards > .card p{
    margin-bottom:14px!important;
  }
  .num{width:42px!important;height:42px!important;min-width:42px!important;margin-bottom:12px!important;}
}

/* KANTHONG_STATUS_BADGE_COLORS_V15_PUBLIC_INTERNAL
   ใช้ร่วมกันทั้งสถานะละเอียดออฟฟิศ และสถานะย่อหน่วย/บัญชี
   ต้องวางท้ายไฟล์เพื่อ override .badge เดิมที่มี !important
*/
.badge.status-general,
.badge.status-received,
.badge.status-default {
  background:#eef2ff !important;
  color:#3730a3 !important;
  border:1px solid #c7d2fe !important;
  font-weight:900 !important;
}

.badge.status-lens-wait,
.badge.status-lens {
  background:#ecfeff !important;
  color:#0e7490 !important;
  border:1px solid #a5f3fc !important;
  font-weight:900 !important;
}

.badge.status-tech-wait,
.badge.status-tech {
  background:#f5f3ff !important;
  color:#6d28d9 !important;
  border:1px solid #ddd6fe !important;
  font-weight:900 !important;
}

.badge.status-general-check,
.badge.status-packing {
  background:#fff7ed !important;
  color:#c2410c !important;
  border:1px solid #fed7aa !important;
  font-weight:900 !important;
}

.badge.status-shipping-wait,
.badge.status-shipping {
  background:#dbeafe !important;
  color:#1d4ed8 !important;
  border:1px solid #93c5fd !important;
  font-weight:900 !important;
}

.badge.status-delivering,
.badge.shipping,
.badge.status-kerry {
  background:#e0f2fe !important;
  color:#0369a1 !important;
  border:1px solid #7dd3fc !important;
  font-weight:900 !important;
}

.badge.status-done,
.badge.done {
  background:#dcfce7 !important;
  color:#166534 !important;
  border:1px solid #86efac !important;
  font-weight:900 !important;
}

.badge.status-return,
.badge.return {
  background:#ffedd5 !important;
  color:#9a3412 !important;
  border:1px solid #fdba74 !important;
  font-weight:900 !important;
}

.badge.status-cancel,
.badge.cancel,
.badge-cancel,
.status-cancel {
  background:#fee2e2 !important;
  color:#b91c1c !important;
  border:1px solid #ef4444 !important;
  font-weight:900 !important;
}

/* สถานะย่อ public ที่ใช้ในบัญชี/หน่วยผ่าน optical_status_class() */
.badge.status-public-received { background:#eef2ff !important; color:#3730a3 !important; border:1px solid #c7d2fe !important; font-weight:900 !important; }
.badge.status-public-lens { background:#ecfeff !important; color:#0e7490 !important; border:1px solid #a5f3fc !important; font-weight:900 !important; }
.badge.status-public-tech { background:#f5f3ff !important; color:#6d28d9 !important; border:1px solid #ddd6fe !important; font-weight:900 !important; }
.badge.status-public-pack { background:#fff7ed !important; color:#c2410c !important; border:1px solid #fed7aa !important; font-weight:900 !important; }
.badge.status-public-outbound { background:#dbeafe !important; color:#1d4ed8 !important; border:1px solid #93c5fd !important; font-weight:900 !important; }

/* กรณีบางไฟล์เก่าใช้ class สีสั้น green/blue/orange/red */
.badge.green { background:#dcfce7 !important; color:#166534 !important; border:1px solid #86efac !important; font-weight:900 !important; }
.badge.blue { background:#dbeafe !important; color:#1d4ed8 !important; border:1px solid #93c5fd !important; font-weight:900 !important; }
.badge.orange { background:#ffedd5 !important; color:#9a3412 !important; border:1px solid #fdba74 !important; font-weight:900 !important; }
.badge.red { background:#fee2e2 !important; color:#b91c1c !important; border:1px solid #ef4444 !important; font-weight:900 !important; }


/* KANTHONG_STATUS_BADGE_COLORS_V21_ALL_WORKFLOW_PAGES */
.badge.kt-status-badge.status-general,
.badge.kt-status-badge.status-received,
.badge.kt-status-badge.status-default { background:#eef2ff !important; color:#3730a3 !important; border:1px solid #c7d2fe !important; font-weight:900 !important; }
.badge.kt-status-badge.status-lens-wait,
.badge.kt-status-badge.status-lens { background:#ecfeff !important; color:#0e7490 !important; border:1px solid #a5f3fc !important; font-weight:900 !important; }
.badge.kt-status-badge.status-tech-wait,
.badge.kt-status-badge.status-tech { background:#f5f3ff !important; color:#6d28d9 !important; border:1px solid #ddd6fe !important; font-weight:900 !important; }
.badge.kt-status-badge.status-general-check,
.badge.kt-status-badge.status-packing { background:#fff7ed !important; color:#c2410c !important; border:1px solid #fed7aa !important; font-weight:900 !important; }
.badge.kt-status-badge.status-shipping-wait,
.badge.kt-status-badge.status-shipping { background:#dbeafe !important; color:#1d4ed8 !important; border:1px solid #93c5fd !important; font-weight:900 !important; }
.badge.kt-status-badge.status-delivering,
.badge.kt-status-badge.status-kerry { background:#e0f2fe !important; color:#0369a1 !important; border:1px solid #7dd3fc !important; font-weight:900 !important; }
.badge.kt-status-badge.status-done { background:#dcfce7 !important; color:#166534 !important; border:1px solid #86efac !important; font-weight:900 !important; }
.badge.kt-status-badge.status-return { background:#ffedd5 !important; color:#9a3412 !important; border:1px solid #fdba74 !important; font-weight:900 !important; }
.badge.kt-status-badge.status-cancel { background:#fee2e2 !important; color:#b91c1c !important; border:1px solid #ef4444 !important; font-weight:900 !important; }
.badge.kt-status-badge.status-public-received { background:#eef2ff !important; color:#3730a3 !important; border:1px solid #c7d2fe !important; font-weight:900 !important; }
.badge.kt-status-badge.status-public-lens { background:#ecfeff !important; color:#0e7490 !important; border:1px solid #a5f3fc !important; font-weight:900 !important; }
.badge.kt-status-badge.status-public-tech { background:#f5f3ff !important; color:#6d28d9 !important; border:1px solid #ddd6fe !important; font-weight:900 !important; }
.badge.kt-status-badge.status-public-pack { background:#fff7ed !important; color:#c2410c !important; border:1px solid #fed7aa !important; font-weight:900 !important; }
.badge.kt-status-badge.status-public-outbound { background:#dbeafe !important; color:#1d4ed8 !important; border:1px solid #93c5fd !important; font-weight:900 !important; }
