/* KEMREX CI v1.8.2 recolored */
.so100-info{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:0 0 18px;padding:14px 18px;border:1px solid #cfdded;background:#f2f6fa;border-radius:0;font-size:13px;color:#023c82}
.so100-info span{font-size:12px;color:#697179}
.so100-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:13px 0 20px}
.so100-flow-step{background:#fff;border:1px solid #e4e6e8;border-radius:12px;padding:15px 10px;color:#9ca2a9;display:flex;align-items:center;gap:7px;min-width:0;font-size:11px}
.so100-flow-step span{width:24px;height:24px;background:#f1f2f2;border-radius:50%;display:inline-grid;place-items:center;flex:none;color:#727a83;font-weight:600}
.so100-flow-step strong{overflow-wrap:anywhere;font-weight:500}
.so100-flow-step.passed{border-color:#aac2df;background:#f3f6fa;color:#023f89}
.so100-flow-step.passed span{background:#d6e1ef;color:#023b81}
.so100-flow-step.current{border:2px solid #1e497e;background:#e8eef6;color:#023472}
.so100-doc{padding:22px}
.so100-doc .so100-section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 22px}
.so100-section-head span{font-size:12px;color:#7b848d}
.so100-tabs{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:14px}
.so100-tab{border:1px solid #d5e1ef;border-radius:0;padding:12px 18px;background:white;font-weight:600;color:#5e666d;min-height:44px}
.so100-tab.selected{color:#023d86;background:#e8eef5;border-color:#799ecc;box-shadow:inset 0 -3px 0 #225491}
.so100-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.so100-buttons{display:flex;gap:9px;flex-wrap:wrap}
.so100-group{background:#fcfdfe;padding:19px;border:1px solid #e7e9eb;border-radius:0;margin:0 0 17px}
.so100-group h3{font-size:15px;margin:0 0 18px;color:#02387a;display:flex;align-items:center;gap:7px}
.so100-group h3:before{content:'';width:4px;height:15px;border-radius:0;background:#225492}
.so100-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.so100-field{min-width:0;overflow-wrap:anywhere}
.so100-field textarea{min-height:80px}
.so100-field input:disabled,.so100-field textarea:disabled{background:#eff4f9;color:#656c74;opacity:1;cursor:default}
.so-required{color:#df5555}
.so100-filegrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.so100-file-slot{background:white;border:1px solid #e6e8ea;border-radius:0;padding:14px;min-width:0}
.so100-file-slot>strong{font-size:12px;display:block;margin-bottom:9px;color:#02408b}
.so100-upload{display:flex;align-items:center;gap:6px;margin-top:12px;flex-wrap:wrap}
.so100-upload input[type=file]{width:100%;max-width:260px;font-size:12px;color:#79828a}
.so100-att{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid #f2f3f4}
.so100-att a{overflow-wrap:anywhere}.so100-att small{color:#828a92}
.so100-event{padding:13px 0 13px 20px;border-left:2px solid #cfd2d5;position:relative;display:flex;flex-wrap:wrap;gap:9px;align-items:baseline;font-size:12px}
.so100-event:before{content:'';height:8px;width:8px;border-radius:50%;position:absolute;left:-5px;top:19px;background:#24599a}
.so100-event strong{color:#02408b}.so100-event p{width:100%;margin:0;color:#285388}
.so100-timestamp{color:#939aa1;font-size:11px}
.so100-search{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:0 20px 16px}
.so100-search #so100-q{flex:1 1 230px;min-width:0}.so100-search #so100-status{flex:0 1 240px}
.so100-empty{padding:32px;color:#7a838c;text-align:center}
.so100-notice{padding:24px 30px;line-height:1.7}.so100-notice p{max-width:740px}
.so100-state{border-radius:0;padding:6px 10px;display:inline-block;white-space:normal;font-weight:500;font-size:12px}
.so100-state.done{background:#e0e9f3;color:#024392}.so100-state.waiting{background:#fff1d9;color:#a46d13}
.so100-state.returned{background:#ffebe5;color:#b64b3d}.so100-state.active{background:#e9eff6;color:#3065a6}.so100-state.draft{background:#f1f2f2;color:#6a727b}
.so100-check{display:flex;align-items:center;justify-content:center}
.so100-check input{width:20px;height:20px}
@media(max-width:1000px){.so100-flow{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.so100-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.so100-grid,.so100-filegrid{grid-template-columns:1fr}.so100-doc{padding:15px}.so100-toolbar{align-items:flex-start}.so100-tab{flex:1}.so100-search{padding:0 14px 14px}.so100-search .btn{flex:1}}

.so100-queue{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 17px}
.so100-queue button{flex:1 1 130px;min-width:0;max-width:240px;background:white;border:1px solid #e4e6e8;border-radius:10px;padding:12px 15px;display:flex;justify-content:space-between;align-items:center;gap:6px;text-align:left;cursor:pointer;color:#254d7e}
.so100-queue button:hover{border-color:#235796;background:#f2f6fa}
.so100-queue span{font-size:11px;font-weight:500;overflow-wrap:anywhere}
.so100-queue strong{font-size:19px;color:#1d487d}

/* Optional Google Maps site picker for install department */
.so100-map-search{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.so100-map-search input{flex:1 1 190px;min-width:0}
.so100-map-canvas{height:360px;width:100%;min-height:260px;border:1px solid #d9e3ef;border-radius:0;background:#f1f2f2;margin-bottom:10px}
.so100-map-picker{max-width:790px;min-width:0}
.so100-navigate{display:inline-block;margin-top:9px;font-size:12px;color:#023d84;text-decoration:underline}
.so100-field button{margin-top:8px}
@media(max-width:650px){.so100-map-canvas{height:290px}}

/* v1.5.2 directory-driven SO100 selectors */
.so100-select-note{display:block;margin-top:6px;color:#6f777f;font-size:12px;line-height:1.5}
.so100-field select[multiple]{min-height:110px;width:100%;background:#fff;border:1px solid #d7e2ef;border-radius:10px;padding:7px}
.so100-field select:disabled{background:#eff4f9;color:#616870;opacity:1}
.so100-directory{margin-bottom:16px}
.so100-directory .table-wrap{padding:0 12px 12px}
.so100-directory td:last-child{white-space:nowrap}
.so100-directory td:last-child button{margin-right:6px}

/* v1.5.8: WINSpeed SOHD catalogue, server-side paging and sortable columns. */
.so100-winspeed-dialog{width:min(1120px,calc(100% - 26px));max-height:calc(100% - 32px)}
/* v2.9.0 แท็บช่องทาง Sale Order ในหน้าต่างสร้าง SO100 — เว้นระยะระหว่างปุ่ม */
.so100-src-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:2px 0 6px}
.so100-src-tabs .btn{margin:0;min-height:38px;padding-inline:16px}
.so100-ws-filters{display:grid;grid-template-columns:minmax(180px,2fr) auto minmax(130px,.85fr) minmax(150px,1fr) auto;align-items:end;gap:9px;margin-bottom:13px}
.so100-ws-filters label{display:grid;gap:5px;font-size:12px;font-weight:500;min-width:0;color:#244d7e}
.so100-ws-filters input,.so100-ws-filters select{min-height:41px;min-width:0;width:100%;box-sizing:border-box;border:1px solid #c9d7e9;background:#fff;border-radius:10px;padding:7px 10px;font-size:14px}
.so100-ws-filters .btn{min-height:41px}
.so100-ws-results{max-height:380px;overflow:auto;overscroll-behavior:contain;border:1px solid #dce5f0;border-radius:0}
.so100-ws-results .table-wrap{overflow:visible}
.so100-ws-results table{min-width:800px;width:100%}
.so100-ws-results th{position:sticky;top:0;background:#f0f4f9;z-index:1;white-space:nowrap}
.so100-ws-results td{font-size:12px;vertical-align:middle}
.so100-sort-button{border:0;background:transparent;color:#02387a;font:inherit;cursor:pointer;text-align:left;font-weight:500;min-height:32px;padding:3px}
.so100-sort-button:focus-visible{outline:2px solid #1e4b81}
.so100-ws-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 0;color:#687077;font-size:12px}
.so100-ws-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.so100-ws-nav label{display:flex;align-items:center;gap:5px;font-size:12px}
.so100-ws-nav input{width:62px;height:36px;border:1px solid #d6d9dc;border-radius:10px;text-align:center;font-size:14px}
.so100-ws-selected{background:#eef2f8;border-left:3px solid #235695;padding:11px 13px;color:#02326c;display:block;margin:4px 0 12px;overflow-wrap:anywhere}
@media(max-width:900px){.so100-ws-filters{grid-template-columns:1fr 1fr}.so100-ws-filters label:first-child{grid-column:1/-1}}
@media(max-width:520px){.so100-src-tabs{gap:8px}.so100-ws-filters{grid-template-columns:1fr}.so100-winspeed-dialog .modal-inner{padding:14px}.so100-ws-results{max-height:315px}}

/* v1.5.9 -- Sale Check List reference picker, scoped to the selected SOHD Job */
.so100-checklist-select{border:1px solid #c8d7ea;background:#f2f6fa;padding:16px;border-radius:10px;display:grid;gap:10px}
.so100-checklist-select h3{margin:0;font-size:1.05rem;color:#012b5f}
.so100-checklist-select em{color:#ba3542}
.so100-checklist-select p{margin:0;color:#6b737c;font-size:.89rem}
.so100-ck-selected-line{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.so100-ck-selected-line input{flex:1;min-width:160px}
.so100-ck-selected-line strong{font-size:.92rem;flex:1}
.so100-ck-panel{border:1px solid #c2d3e8;border-radius:0;background:#fff;margin-top:12px;padding:14px;min-width:0;max-width:100%}
.so100-ck-panel[hidden]{display:none!important}
.so100-ck-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px}
.so100-ck-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:8px 0 14px}
.so100-ck-controls label{display:grid;gap:6px;font-size:.82rem;min-width:110px}
.so100-ck-controls input{min-width:190px;max-width:290px}
.so100-ck-controls select{max-width:200px}
.so100-ck-results{max-height:350px;overflow:auto;border:1px solid #e6e8e9;border-radius:0}
.so100-ck-results .table-wrap{margin:0;overflow:visible}
.so100-ck-results table{min-width:740px}
.so100-ck-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:10px}
.so100-ck-footer>div{display:flex;align-items:center;gap:8px}
.so100-ck-footer input{width:70px;padding:6px}
@media(max-width:720px){.so100-ck-controls label{width:100%}.so100-ck-controls input{max-width:none}}

/* v1.6.9: กรอบค้นหา Sale Check List ในแท็บฝ่ายติดตั้ง ใช้ความกว้างเต็มแถว และไม่ตัดคำไทยทีละตัวอักษร */
.so100-field-wide{grid-column:1/-1}
.so100-ck-panel{overflow-wrap:normal;word-break:normal}
.so100-ck-panel .btn{white-space:nowrap;flex:none}
.so100-field .so100-ck-panel button{margin-top:0}
.so100-ck-controls label{flex:0 1 auto}
.so100-ck-controls label:first-child{flex:1 1 260px}
.so100-ck-controls label:first-child input{max-width:none;width:100%}
.so100-ck-footer>div{flex-wrap:wrap;white-space:nowrap}
#so100-ck-goto{width:72px;min-width:72px;min-height:34px;flex:none;padding:6px;text-align:center}
@media(max-width:720px){.so100-ck-controls label:first-child{flex-basis:100%}}

/* v1.6.10: picker แสดงทุก JOB */
.so100-ck-scope{margin:0 0 10px;font-size:.82rem;color:#697179}
.so100-ck-otherjob{display:inline-block;margin-top:3px;font-size:11px;font-weight:500;color:#9a6a12;background:#fff6df;border-radius:0;padding:1px 6px;white-space:nowrap}

.so100-acl-denied{color:#ad3542;font-weight:500}.so100-acl-enabled{color:#02408b;font-weight:500}
/* v1.7.0 */
.so100-used{display:inline-block;font-size:12px;font-weight:500;color:#9a6a12;white-space:nowrap}.so100-used small{display:block;font-weight:600;color:#8a7a5a}
