/* HF05EW · Kanokphan customer editor modal · styling only, isolated by class. */
#customer-edit-dialog.cm-form-dialog-v2{
  width:min(914px,calc(100vw - 32px))!important;max-width:calc(100vw - 24px)!important;
  max-height:min(850px,calc(100dvh - 24px))!important;border:1px solid #e0e9e6!important;
  border-radius:13px!important;background:#fff!important;color:#163956!important;
  box-shadow:0 24px 70px rgba(0,40,41,.26)!important;overflow:hidden!important;
}
#customer-edit-dialog.cm-form-dialog-v2::backdrop{background:rgba(6,52,47,.45)!important;backdrop-filter:blur(3px)}
#customer-edit-dialog.cm-form-dialog-v2>header{
  display:grid!important;grid-template-columns:58px minmax(0,1fr) 40px!important;grid-template-rows:auto auto!important;
  column-gap:14px!important;align-items:center!important;position:sticky!important;top:0!important;z-index:5!important;
  background:#fff!important;border:0!important;padding:16px 22px 11px!important;color:#163956!important;
}
#customer-edit-dialog .cm-modal-heading-icon{grid-column:1;grid-row:1/3;display:flex;align-items:center;justify-content:center;
  width:58px;height:58px;border-radius:12px;background:linear-gradient(135deg,#e3f8ef,#d1f3e3);color:#007e5b}
#customer-edit-dialog .cm-modal-heading-icon svg{width:27px!important;height:27px!important;stroke-width:1.8}
#customer-edit-dialog.cm-form-dialog-v2>header h2{grid-column:2!important;grid-row:1!important;font-size:21px!important;line-height:1.25!important;
 color:#183c59!important;font-weight:800!important;margin:0!important;padding:0!important}
#customer-edit-dialog .cm-modal-subtitle{grid-column:2;grid-row:2;color:#697e8f;font-size:13px;line-height:1.45;margin:2px 0 0!important}
#customer-edit-dialog.cm-form-dialog-v2>header [data-cm="close"]{
 grid-column:3;grid-row:1/3;align-self:start;width:36px;height:36px;min-height:36px;display:flex;align-items:center;justify-content:center;
 border-radius:8px;background:#fff!important;border:1px solid #d4e0eb!important;color:#315e79!important;box-shadow:none!important;padding:7px!important}
#customer-edit-dialog.cm-form-dialog-v2>header [data-cm="close"] svg{width:18px;height:18px}
#customer-edit-dialog.cm-form-dialog-v2 .ar-dialog-body{padding:0 21px 15px!important;overflow:auto!important;max-height:calc(100dvh - 124px)!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-v2{display:flex;flex-direction:column;gap:0}
#customer-edit-dialog.cm-form-dialog-v2 .cm-code-note{position:absolute!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;
 height:1px!important;width:1px!important;white-space:nowrap!important;overflow:hidden!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-section{
 padding:0!important;margin:0 0 12px!important;border:1px solid #dcece7!important;border-radius:11px!important;
 background:linear-gradient(#f7fbf9,#fff 56px)!important;overflow:visible!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-section-heading{
 display:flex;align-items:center;gap:11px;padding:9px 12px 4px!important;height:43px;
 background:transparent;border-radius:11px 11px 0 0}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-section-icon{
 display:flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:50%;
 background:#e6f6f0;color:#087c59}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-section-icon svg{height:18px!important;width:18px!important;stroke-width:2}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-section-heading h3{margin:0!important;font-size:16px!important;
 line-height:1.3!important;font-weight:800!important;color:#006849!important;display:block!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-section-content{
 background:#fff;border-radius:10px;margin:0 5px 5px!important;padding:11px 15px 14px!important;
 box-shadow:0 1px 2px rgba(25,70,56,.04)!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-top-row,
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-name-row,
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-tax-row,
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-address-row,
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-address-last-row{display:grid;column-gap:17px;row-gap:10px;align-items:start}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-top-row{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr)}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-name-row{grid-template-columns:minmax(0,1.57fr) minmax(0,1fr);margin-top:10px}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-tax-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:10px}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-branch{grid-column:2}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-address-row{grid-template-columns:minmax(0,1fr) minmax(0,1.95fr)}
#customer-edit-dialog.cm-form-dialog-v2 .cm-edit-location{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;margin-top:10px!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-address-last-row{grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);margin-top:10px!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-postcode-row{max-width:none!important;margin:0!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field{position:relative;display:flex!important;flex-direction:column!important;
 gap:4px!important;margin:0!important;min-width:0!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field>span:first-child,
#customer-edit-dialog.cm-form-dialog-v2 .cm-edit-note>span{font-weight:700!important;color:#314d64!important;font-size:12px!important;line-height:1.4!important;letter-spacing:0!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-required{color:#d83a39;font-weight:900;font-size:14px}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field.cm-required-label>span:first-child{font-size:0!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field.cm-required-label>span:first-child::before{content:'ชื่อลูกค้า / บริษัท';font-size:12px!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field.cm-required-label>span:first-child::after{content:' *';font-size:13px!important;color:#d83a39}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field>i[data-lucide],
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field>svg{position:absolute!important;left:13px!important;bottom:11px!important;
 width:16px!important;height:16px!important;color:#365b70!important;stroke-width:1.9!important;pointer-events:none!important;z-index:1}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field input,
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field select,
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field textarea{
 display:block!important;width:100%!important;box-sizing:border-box!important;margin:0!important;
 min-height:37px!important;height:37px!important;padding:8px 11px!important;
 font:600 12px/1.4 inherit!important;color:#233f59!important;background:#fff!important;
 border:1px solid #d0dee8!important;border-radius:7px!important;box-shadow:none!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field input:focus,
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field select:focus,
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field textarea:focus{outline:2px solid rgba(16,137,98,.18)!important;
 border-color:#118a63!important;outline-offset:0!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field input::placeholder,
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field textarea::placeholder{color:#9aaaba!important;font-weight:400!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field>i[data-lucide]+input,
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field>svg+input,
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field>i[data-lucide]+select,
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field>svg+select,
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field>i[data-lucide]+textarea,
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field>svg+textarea{padding-left:39px!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field select{padding-right:24px!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field select:disabled,
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field input:disabled,
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field input[readonly],
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field textarea[readonly]{background:#f1f5f8!important;color:#728393!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field input:disabled::placeholder{color:#98a5b2!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field small{font-size:10px!important;color:#6b7d8c!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-address-last-row .cm-full-address{margin:0!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-full-address textarea{
 height:49px!important;min-height:49px!important;line-height:1.45!important;resize:vertical!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-full-address>i[data-lucide],
#customer-edit-dialog.cm-form-dialog-v2 .cm-full-address>svg{bottom:26px!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-extra{display:block!important;margin:0 0 7px!important;padding:0!important;
 border:1px solid #d7ece4!important;border-radius:9px!important;background:#f3fbf8!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-extra>summary{list-style:none!important;display:flex!important;align-items:center!important;
 min-height:40px!important;padding:9px 14px!important;margin:0!important;color:#006348!important;
 cursor:pointer!important;font-size:12px!important;font-weight:800!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-extra>summary::-webkit-details-marker{display:none}
#customer-edit-dialog.cm-form-dialog-v2 .cm-extra>summary i,
#customer-edit-dialog.cm-form-dialog-v2 .cm-extra>summary svg{width:15px!important;height:15px!important;margin-right:7px!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-extra[open]>summary svg{transform:rotate(90deg)}
#customer-edit-dialog.cm-form-dialog-v2 .cm-extra-fields{padding:0 15px 13px!important;display:grid;grid-template-columns:1fr 1fr;gap:12px!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-extra-fields .cm-edit-note{margin:0!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-extra-fields textarea{width:100%;box-sizing:border-box;border:1px solid #cbdbe7;border-radius:7px}
#customer-edit-dialog.cm-form-dialog-v2 .cm-edit-active{padding:7px 0!important;margin:0!important;color:#36576c;font-size:12px}
#customer-edit-dialog.cm-form-dialog-v2 .cm-edit-active[hidden],
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-branch[hidden]{display:none!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-edit-actions{position:sticky!important;bottom:-1px!important;display:flex!important;
 justify-content:flex-end!important;gap:10px!important;align-items:center!important;
 background:#fff!important;padding:11px 0 3px!important;margin:0!important;
 box-shadow:0 -8px 13px rgba(255,255,255,.97)!important;z-index:5!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-edit-actions button{height:39px!important;min-height:39px!important;
 min-width:120px!important;padding:8px 15px!important;border-radius:8px!important;display:inline-flex!important;
 justify-content:center!important;align-items:center!important;gap:8px!important;font-size:12px!important;
 font-weight:800!important;background:#fff!important;border:1px solid #cbdbe7!important;color:#255b7c!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-edit-actions button svg{width:17px;height:17px}
#customer-edit-dialog.cm-form-dialog-v2 .cm-edit-actions button[type=submit]{background:#07865e!important;
 border-color:#07865e!important;color:#fff!important;min-width:138px!important;
 box-shadow:0 2px 5px rgba(0,105,77,.12)!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-edit-actions button:hover:not(:disabled){filter:brightness(.97)}
#customer-edit-dialog.cm-form-dialog-v2 .cm-edit-actions button:disabled{opacity:.6!important;cursor:wait!important}
#customer-edit-dialog.cm-form-dialog-v2 .ar-message:not(:empty){margin:3px 0 8px!important;padding:8px 10px!important}
@media(max-width:730px){
 #customer-edit-dialog.cm-form-dialog-v2{max-height:calc(100dvh - 12px)!important;width:calc(100vw - 12px)!important}
 #customer-edit-dialog.cm-form-dialog-v2>header{padding:12px 14px 9px!important;grid-template-columns:45px minmax(0,1fr) 33px!important;column-gap:10px!important}
 #customer-edit-dialog .cm-modal-heading-icon{width:45px;height:45px}
 #customer-edit-dialog.cm-form-dialog-v2>header h2{font-size:18px!important}
 #customer-edit-dialog .cm-modal-subtitle{font-size:11px!important}
 #customer-edit-dialog.cm-form-dialog-v2 .ar-dialog-body{padding:0 10px 10px!important;max-height:calc(100dvh - 82px)!important}
 #customer-edit-dialog.cm-form-dialog-v2 .cm-form-section-content{padding:10px!important}
 #customer-edit-dialog.cm-form-dialog-v2 .cm-form-top-row,
 #customer-edit-dialog.cm-form-dialog-v2 .cm-form-name-row,
 #customer-edit-dialog.cm-form-dialog-v2 .cm-form-tax-row,
 #customer-edit-dialog.cm-form-dialog-v2 .cm-form-address-row,
 #customer-edit-dialog.cm-form-dialog-v2 .cm-form-address-last-row,
 #customer-edit-dialog.cm-form-dialog-v2 .cm-edit-location{grid-template-columns:1fr!important;gap:10px!important}
 #customer-edit-dialog.cm-form-dialog-v2 .cm-extra-fields{grid-template-columns:1fr!important}
 #customer-edit-dialog.cm-form-dialog-v2 .cm-form-branch{grid-column:auto}
}
/* Give the two-line heading its full height, without overlapping the section. */
#customer-edit-dialog.cm-form-dialog-v2>header{min-height:92px!important;box-sizing:border-box!important;grid-template-rows:minmax(26px,auto) minmax(22px,auto)!important;padding-bottom:17px!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field input,
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field select,
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-field textarea{font-family:inherit!important;font-size:12px!important;font-weight:600!important;line-height:1.4!important}
@media(max-width:730px){#customer-edit-dialog.cm-form-dialog-v2>header{min-height:85px!important;padding-bottom:12px!important}}

/* HF05EX: mandatory customer type selector and inline error, create + edit. */
#customer-edit-dialog.cm-form-dialog-v2 .cm-customer-type select[aria-invalid="true"]{
 border-color:#d83a39!important;outline:2px solid rgba(216,58,57,.14)!important;
}
#customer-edit-dialog.cm-form-dialog-v2 .cm-customer-type .cm-type-validation-error:not([hidden]){
 display:block!important;color:#b42318!important;font-weight:700!important;font-size:11px!important;line-height:1.35!important;
}
#customer-edit-dialog.cm-form-dialog-v2 .cm-customer-type .cm-type-validation-error[hidden]{display:none!important}

/* HF05EY: overflow-safe modal layout. Header and save/cancel bar stay visible.
   Only the customer edit dialog is targeted. */
#customer-edit-dialog.cm-form-dialog-v2[open]{
  display:flex!important;flex-direction:column!important;
  box-sizing:border-box!important;
  height:min(812px,calc(100dvh - 28px))!important;
  max-height:calc(100dvh - 28px)!important;
  overflow:hidden!important;
}
#customer-edit-dialog.cm-form-dialog-v2>header{
  flex:0 0 auto!important;position:relative!important;top:auto!important;
}
#customer-edit-dialog.cm-form-dialog-v2>.ar-dialog-body{
  flex:1 1 0%!important;min-height:0!important;
  max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;
  overscroll-behavior:contain;scrollbar-gutter:stable;
  padding-bottom:12px!important;
}
#customer-edit-dialog.cm-form-dialog-v2>.cm-edit-actions{
  flex:0 0 auto!important;position:relative!important;bottom:auto!important;
  box-sizing:border-box!important;width:100%!important;min-height:64px!important;
  border-top:1px solid #e2eae8!important;box-shadow:0 -2px 12px rgba(17,65,55,.06)!important;
  padding:11px 22px!important;margin:0!important;background:#fff!important;
  justify-content:flex-end!important;z-index:10!important;
}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-tax-row.cm-has-tax-branch{
  grid-template-columns:minmax(0,1.18fr) minmax(0,1fr) minmax(0,.8fr)!important;
}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-tax-row.cm-has-tax-branch>.cm-form-branch{grid-column:auto!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-tax-row.cm-has-tax-branch .cm-form-field{min-width:0!important}
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-tax-row.cm-has-tax-branch input,
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-tax-row.cm-has-tax-branch select{min-width:0!important}
@media(max-width:730px){
 #customer-edit-dialog.cm-form-dialog-v2[open]{height:calc(100dvh - 12px)!important;max-height:calc(100dvh - 12px)!important}
 #customer-edit-dialog.cm-form-dialog-v2 .cm-form-tax-row.cm-has-tax-branch{grid-template-columns:1fr!important}
 #customer-edit-dialog.cm-form-dialog-v2>.cm-edit-actions{padding:10px 13px!important;gap:8px!important}
 #customer-edit-dialog.cm-form-dialog-v2>.cm-edit-actions button{min-width:0!important;flex:1 1 0!important}
}
/* HF05EY: branch helper adds a second text line; keep its leading icon within the input. */
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-branch>i[data-lucide],
#customer-edit-dialog.cm-form-dialog-v2 .cm-form-branch>svg{
  bottom:28px!important;
}
