@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/noto-sans-thai-thai-400-normal.0deeb29e.woff2) format("woff2"),url(/_next/static/media/noto-sans-thai-thai-400-normal.3a5d8780.woff) format("woff");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/noto-sans-thai-latin-ext-400-normal.3589c6d9.woff2) format("woff2"),url(/_next/static/media/noto-sans-thai-latin-ext-400-normal.37fa23cf.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/noto-sans-thai-latin-400-normal.b6e916c2.woff2) format("woff2"),url(/_next/static/media/noto-sans-thai-latin-400-normal.e5ecb78a.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/noto-sans-thai-thai-600-normal.871a5c9f.woff2) format("woff2"),url(/_next/static/media/noto-sans-thai-thai-600-normal.2ce5631b.woff) format("woff");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/noto-sans-thai-latin-ext-600-normal.5b0e8bdc.woff2) format("woff2"),url(/_next/static/media/noto-sans-thai-latin-ext-600-normal.919c1116.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/noto-sans-thai-latin-600-normal.5864c91b.woff2) format("woff2"),url(/_next/static/media/noto-sans-thai-latin-600-normal.5a7a54c8.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/noto-sans-thai-thai-700-normal.8ef05e6d.woff2) format("woff2"),url(/_next/static/media/noto-sans-thai-thai-700-normal.147ea1b0.woff) format("woff");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/noto-sans-thai-latin-ext-700-normal.013aa587.woff2) format("woff2"),url(/_next/static/media/noto-sans-thai-latin-ext-700-normal.8aa1a9e4.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/noto-sans-thai-latin-700-normal.e92d438c.woff2) format("woff2"),url(/_next/static/media/noto-sans-thai-latin-700-normal.bed15659.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{color-scheme:light;--bg:#f6f7f9;--panel:#ffffff;--panel-line:#d9dee7;--text:#18202f;--muted:#667085;--blue:#1d5fd0;--green:#1d7d46;--red:#ba2f2f;--amber:#ad6b00}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica Neue,sans-serif}a{color:inherit}.nav-list{display:flex;flex-wrap:wrap;gap:12px}.nav-list a{background:#eef2f7;border:1px solid var(--panel-line);border-radius:8px;font-size:13px;font-weight:700;padding:9px 11px;text-decoration:none}.shell{min-height:100vh}.topbar{align-items:center;background:var(--panel);border-bottom:1px solid var(--panel-line);display:flex;gap:16px;justify-content:space-between;min-height:56px;padding:0 24px}.brand{align-items:baseline;display:flex;gap:12px}.brand h1{font-size:18px;margin:0}.brand span,.muted{color:var(--muted);font-size:13px}.main{padding:20px 24px 32px}.grid,.main{display:grid;gap:16px}.grid{grid-template-columns:repeat(4,minmax(0,1fr))}.panel{background:var(--panel);border:1px solid var(--panel-line);border-radius:8px;padding:16px}.metric{min-height:112px}.metric-label{color:var(--muted);font-size:13px}.metric-value{font-size:30px;font-weight:700;margin-top:16px}.section-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.section-title h2{font-size:16px;margin:0}.table-wrap{overflow:auto}table{border-collapse:collapse;min-width:980px;width:100%}td,th{border-bottom:1px solid var(--panel-line);font-size:13px;padding:10px 8px;text-align:left;white-space:nowrap}th{color:var(--muted);font-weight:600}.badge{border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;padding:4px 8px}.badge-ok{background:#e7f5ec;color:var(--green)}.badge-mismatch{background:#fdecec;color:var(--red)}.badge-readonly{background:#eaf1ff;color:var(--blue)}.warning{color:var(--amber)}.detail-grid{grid-template-columns:minmax(0,760px)}.detail-list{display:grid;gap:8px 16px;grid-template-columns:140px minmax(0,1fr)}.detail-list dt{color:var(--muted);font-size:13px;font-weight:700}.detail-list dd{margin:0}.brief-list{margin:0;padding-left:20px}.brief-list li{margin:8px 0}.freshness-badge{color:var(--muted);font-size:13px}.exception-list{display:grid;gap:10px;list-style:none;margin:0;padding:0}.exception-card{background:#fdecec;border-left:4px solid var(--red);border-radius:6px;padding:12px 14px}.exception-message{font-size:14px;font-weight:700}.exception-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.owner-tag{background:#ffffff;border:1px solid var(--panel-line);border-radius:999px;color:var(--muted);font-size:12px;padding:3px 9px}@media (max-width:980px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.grid{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column;gap:4px;padding:12px 16px}.main{padding:16px}}.wms-shell{min-height:100vh;background:#edf1f4;color:#10231f;padding-bottom:40px}.wms-header{display:flex;align-items:center;justify-content:space-between;background:#123c34;color:#fff;padding:18px clamp(18px,4vw,48px)}.wms-header h1{font-size:clamp(22px,3vw,34px);margin:3px 0 0}.wms-kicker{font-size:11px;font-weight:800;letter-spacing:.15em;color:#9ee1c9}.wms-online{font-size:13px;color:#b9f3dc}.wms-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;max-width:1180px;margin:18px auto;padding:0 18px}.wms-progress div{display:flex;align-items:center;gap:8px;color:#718078;font-size:12px;font-weight:700;padding:10px 8px;border-bottom:3px solid #cbd5d1}.wms-progress div.active{color:#0b6b55;border-color:#0b8062}.wms-progress span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#dbe3df}.wms-progress .active span{background:#0b8062;color:#fff}.wms-layout{display:grid;grid-template-columns:minmax(0,760px) 320px;gap:20px;max-width:1180px;margin:auto;padding:0 18px}.wms-review,.wms-task{background:#fff;border:1px solid #ccd7d2;border-radius:14px;box-shadow:0 8px 24px rgba(16,35,31,.06)}.wms-task{padding:clamp(18px,4vw,34px)}.wms-review{padding:24px;align-self:start;position:sticky;top:18px}.wms-access{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-bottom:22px;border-bottom:1px solid #dce4e0}.wms-access label{font-size:12px;font-weight:800;color:#52635b}.wms-access input,.wms-fallback input{display:block;width:100%;margin-top:7px;border:1px solid #adbbb5;border-radius:9px;padding:12px;font:inherit}.wms-stage{padding-top:26px}.wms-step-label{font-size:11px;font-weight:900;letter-spacing:.14em;color:#0b8062}.wms-stage h2{font-size:clamp(24px,4vw,36px);margin:8px 0}.wms-stage>p{color:#64736c;line-height:1.55;max-width:620px}.wms-btn,.wms-camera-upload{min-height:48px;border:1px solid #9eb0a8;border-radius:10px;background:#fff;color:#123c34;font-weight:800;font-size:15px;padding:12px 18px;cursor:pointer}.wms-btn-primary,.wms-camera-upload{background:#0b8062;border-color:#0b8062;color:#fff;display:inline-flex;align-items:center;justify-content:center}.wms-btn:disabled{opacity:.45;cursor:not-allowed}.wms-scanner{margin-top:20px}.wms-scanner video{display:block;width:100%;max-height:420px;object-fit:cover;border-radius:12px;margin-top:12px;background:#081b17}.wms-inline-warning{color:#a25d00;font-size:13px}.wms-fallback{margin-top:18px;border-top:1px solid #e0e7e4;padding-top:14px}.wms-fallback summary{cursor:pointer;color:#65756e;font-size:13px}.wms-fallback div{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-top:10px}.wms-camera-upload input{display:none}.wms-confirm{display:grid;gap:10px;background:#eef8f4;border:1px solid #b9ddcf;border-radius:12px;padding:18px;margin:18px 0}.wms-confirm strong{font-size:clamp(24px,5vw,38px);color:#0a654f}.wms-alert{margin-top:18px;border-left:4px solid #b22d2d;background:#fff0f0;padding:14px}.wms-alert.warning{border-color:#ad6b00;background:#fff7e6}.wms-review h3{margin-top:0}.wms-review dl{display:grid;grid-template-columns:80px 1fr;gap:12px;font-size:13px}.wms-review dt{color:#6d7b75;font-weight:700}.wms-review dd{margin:0;font-weight:700;overflow-wrap:anywhere}.wms-safety{background:#f3f6f4;border-radius:9px;color:#52635b;font-size:12px;line-height:1.5;padding:12px;margin-top:20px}@media(max-width:820px){.wms-header{align-items:flex-start}.wms-online{display:none}.wms-progress{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:0 10px}.wms-progress div{min-width:0;flex-direction:column;gap:5px;padding:8px 1px;font-size:9px;text-align:center;white-space:nowrap}.wms-progress span{width:22px;height:22px}.wms-layout{grid-template-columns:1fr}.wms-review{position:static;order:-1}.wms-review dl{grid-template-columns:70px 1fr}.wms-access{grid-template-columns:1fr}.wms-btn,.wms-camera-upload{width:100%}.wms-fallback div{grid-template-columns:1fr}.wms-task{border-radius:10px}.wms-review{display:none}}.control-shell{min-height:100vh;background:#eef1f3;color:#172421}.control-top{min-height:86px;background:#163b34;color:#fff;padding:16px clamp(20px,4vw,52px);display:flex;align-items:center;justify-content:space-between}.control-top span,.section-head span{font-size:10px;letter-spacing:.16em;font-weight:900;color:#77cbb1}.control-top h1{margin:4px 0 0;font-size:26px}.control-top nav{display:flex;gap:8px}.control-top a{border:1px solid #4d7069;border-radius:7px;text-decoration:none;padding:9px 12px;font-size:12px;font-weight:800}.control-access{display:grid;grid-template-columns:minmax(260px,400px) auto 1fr;align-items:end;padding:14px clamp(20px,4vw,52px);background:#fff;border-bottom:1px solid #d4ddda}.control-access label,.job-form label{font-size:11px;font-weight:800;color:#566762}.control-access input,.job-form input,.job-form select{width:100%;display:block;margin-top:6px;border:1px solid #aebbb7;border-radius:7px;background:#fff;padding:10px 11px;font:inherit}.control-access button,.job-form>button,.queue-row button{border:0;border-radius:7px;background:#126b55;color:#fff;font-weight:900;padding:0 16px;cursor:pointer}.control-access p{margin:0 0 10px;color:#687873;font-size:12px}.control-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ccd6d2;border-bottom:1px solid #ccd6d2}.control-metrics article{background:#fff;padding:18px clamp(20px,4vw,52px)}.control-metrics span{font-size:11px;color:#65746f;font-weight:800}.control-metrics strong{display:block;font-size:30px;margin-top:8px}.control-metrics .risk strong{color:#b23535}.control-metrics .metric-text{font-size:14px}.control-metrics small{font-weight:500;color:#687873}.control-grid{padding:22px clamp(20px,4vw,52px) 46px;display:grid;grid-template-columns:minmax(320px,420px) minmax(560px,1fr);gap:18px}.job-form,.queue{background:#fff;border:1px solid #cfd8d5;border-radius:9px;padding:18px;align-self:start}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-head span{color:#167259}.section-head h2{font-size:18px;margin:3px 0 0}.section-head b{font-size:12px;color:#65746f}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.job-form .control-primary{width:100%;margin-top:16px;min-height:46px}.form-note{font-size:11px;color:#687873;line-height:1.45;margin-bottom:0}.queue-list,.queue-row{display:grid}.queue-row{grid-template-columns:48px minmax(180px,1fr) auto 90px;gap:12px;align-items:center;border-top:1px solid #e1e7e5;padding:12px 0}.job-code{display:grid;place-items:center;width:44px;height:34px;border-radius:5px;background:#e3ece9;color:#1b5245;font-size:11px;font-weight:900}.type-in{background:#dbf2e9;color:#087157}.type-out{background:#e6edfa;color:#3159a0}.type-move{background:#fff0d7;color:#956000}.type-rework,.type-status{background:#f4e7fa;color:#7f3b91}.type-count{background:#e8eef0;color:#425d66}.type-conversion{background:#e5e2fa;color:#4b4592}.job-main{display:grid;gap:3px}.job-main strong{font-size:14px}.job-main small,.job-main span{font-size:11px;color:#697873}.status{border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;text-align:center;background:#e8eeec;color:#53635e}.status-released{background:#e4edff;color:#315fba}.status-claimed,.status-in_progress{background:#fff0d4;color:#996000}.status-exception{background:#fde6e6;color:#b12d2d}.status-completed,.status-confirmed{background:#dff2e8;color:#167052}.queue-owner{font-size:11px;color:#6b7975}.empty{padding:42px 16px;text-align:center;color:#74817d;font-size:13px}.mobile-jobs{min-height:100vh;background:#edf1f0;color:#14231f;padding-bottom:76px}.mobile-jobs>header{background:#153e35;color:#fff;padding:18px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:5}.mobile-jobs header span{font-size:10px;letter-spacing:.14em;color:#7ad0b4;font-weight:900}.mobile-jobs h1{font-size:25px;margin:3px 0 0}.mobile-jobs header a{font-size:12px;text-decoration:none;border:1px solid #5c7b74;border-radius:7px;padding:8px}.mobile-auth{padding:14px 16px;background:#fff;border-bottom:1px solid #d2dcda;display:grid;gap:10px}.mobile-auth label{font-size:11px;font-weight:800;color:#5f6f69}.mobile-auth input{display:block;width:100%;margin-top:5px;border:1px solid #aab9b4;border-radius:8px;min-height:45px;padding:10px;font:inherit}.mobile-auth button,.mobile-job-list article>button{border:0;border-radius:9px;min-height:49px;background:#0d755a;color:#fff;font-weight:900;font-size:15px}.sync-note{padding:10px 16px;background:#e3ebe8;color:#52635d;font-size:12px}.mobile-job-list{padding:14px;display:grid;gap:12px;max-width:680px;margin:auto}.mobile-job-list article{background:#fff;border:1px solid #cad6d2;border-radius:12px;padding:16px;box-shadow:0 4px 16px rgba(15,42,35,.05)}.mobile-job-head{display:flex;justify-content:space-between;align-items:center}.mobile-job-list h2{font-size:22px;margin:14px 0 5px}.mobile-job-list p{color:#5e706a;margin:0 0 6px}.mobile-job-list small{display:block;color:#74817d;margin-bottom:16px;overflow-wrap:anywhere}.mobile-job-list article>button{width:100%}.mobile-empty{padding:60px 20px;display:grid;gap:8px;text-align:center;color:#6a7974}.mobile-empty strong{color:#30413c}.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:62px;background:#fff;border-top:1px solid #cad5d1;display:grid;grid-template-columns:repeat(3,1fr);z-index:10}.mobile-nav a{display:grid;place-items:center;text-decoration:none;font-size:11px;font-weight:800;color:#687872}.mobile-nav .active{color:#0c7258;border-top:3px solid #0c7258}.mobile-jobs header a{min-height:44px;display:inline-flex;align-items:center}.submission-track{max-width:640px;margin:16px auto;padding:20px;background:#fff;border:1px solid #c9d6d1;border-radius:12px}.submission-track>span{font-size:10px;letter-spacing:.14em;color:#0c7359;font-weight:900}.submission-track h2{font-size:20px;overflow-wrap:anywhere}.submission-states{display:grid;gap:9px;margin:20px 0}.submission-states article{display:flex;gap:12px;align-items:center;border:1px solid #d5dedb;border-radius:10px;padding:13px}.submission-states article>b{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e6ecea;color:#65746f}.submission-states article>div{display:grid;gap:2px}.submission-states strong{font-size:13px}.submission-states small{font-size:11px;color:#697873}.submission-states .confirmed{border-color:#a8d8c4;background:#eef8f4}.submission-states .confirmed>b{background:#0c785b;color:#fff}.submission-states .pending{border-color:#e3c888;background:#fff8e7}.submission-states .pending>b{background:#d39421;color:#fff}.submission-states .locked{opacity:.65}.scan-execution{max-width:680px;margin:0 auto;padding:14px 14px 82px;display:grid;gap:12px}.scan-back{justify-self:start;border:0;background:transparent;color:#315149;min-height:44px;font-weight:800}.scan-statusbar{display:flex;justify-content:space-between;align-items:center;background:#dce8e4;border-radius:9px;padding:11px 13px;font-size:12px}.scan-statusbar b{color:#0d755a}.scan-line-picker{font-size:11px;font-weight:850;color:#5d6e68}.scan-line-picker select{display:block;width:100%;min-height:48px;margin-top:5px;border:1px solid #aab9b4;border-radius:8px;background:#fff;padding:9px}.scan-card{background:#fff;border:1px solid #c8d6d1;border-radius:12px;padding:17px}.scan-action>span,.scan-card>span{font-size:9px;letter-spacing:.16em;color:#778985;font-weight:900}.scan-card h2{margin:7px 0 3px;font-size:24px}.scan-card p{margin:0;color:#5f706a;font-size:13px}.scan-checks{display:grid;gap:7px;margin-top:17px}.scan-checks>div{min-height:42px;border-radius:8px;padding:8px 10px;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:800}.scan-checks .done{background:#e3f4ed;color:#086849}.scan-checks .pending{background:#f0f2f1;color:#71807b}.scan-checks b{font-size:19px}.scan-action{background:#fff;border:2px solid #0d755a;border-radius:13px;padding:17px}.scan-action h3{margin:6px 0 14px;font-size:20px}.scan-action>input{width:100%;min-height:52px;border:1px solid #8fa39c;border-radius:9px;padding:11px;font:inherit;font-size:16px}.scan-action>div{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;margin-top:9px}.scan-action button,.submit-job{min-height:52px;border:0;border-radius:9px;font-weight:900}.camera-button{background:#e4ece9;color:#17473b}.confirm-scan,.submit-job{background:#0d755a;color:#fff}.camera-input{display:none}.scan-action small{display:block;margin-top:10px;color:#73827d;line-height:1.4}.scan-complete{border:1px solid #93cab7;background:#e5f5ef;color:#0b654b;border-radius:12px;padding:18px;display:grid;gap:4px}.scan-complete b{font-size:17px}.scan-complete span{font-size:11px}.submit-job{width:100%;font-size:16px}.scan-action button:disabled,.submit-job:disabled{opacity:.38}@media(max-width:980px){.control-grid{grid-template-columns:1fr}.control-metrics article{padding:16px 20px}.control-access{grid-template-columns:1fr auto}.control-access p{grid-column:1/-1}}@media(max-width:640px){.control-top{align-items:flex-start;gap:12px}.control-top h1{font-size:21px}.control-top nav{flex-direction:column}.control-metrics{grid-template-columns:1fr 1fr}.control-grid{padding:14px}.form-grid{grid-template-columns:1fr}.queue-row{grid-template-columns:44px 1fr auto}.queue-owner,.queue-row button{grid-column:2/-1}.control-access{grid-template-columns:1fr}.control-access button{min-height:46px}}.import-shell{min-height:100vh;background:#edf1f3;color:#172421}.import-shell>header{background:#173c35;color:#fff;padding:18px clamp(20px,4vw,52px);display:flex;justify-content:space-between;align-items:center}.import-shell header span{font-size:10px;letter-spacing:.15em;color:#7cd0b5;font-weight:900}.import-shell h1{margin:4px 0 0;font-size:26px}.import-shell nav{display:flex;gap:8px}.import-shell nav a{border:1px solid #52746d;border-radius:7px;padding:9px 12px;text-decoration:none;font-size:12px;font-weight:800}.import-access{padding:14px clamp(20px,4vw,52px);display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;background:#fff;border-bottom:1px solid #d2dcda}.import-access label,.paste-label{font-size:11px;color:#586963;font-weight:800}.import-access input,.paste-label textarea{display:block;width:100%;margin-top:6px;border:1px solid #aab9b4;border-radius:8px;padding:10px;font:inherit}.import-layout{display:grid;grid-template-columns:minmax(360px,520px) 1fr;gap:18px;padding:22px clamp(20px,4vw,52px)}.import-input,.import-results{background:#fff;border:1px solid #ccd7d3;border-radius:9px;padding:18px;align-self:start}.file-drop{display:grid;place-items:center;min-height:76px;border:2px dashed #9eb3ac;border-radius:9px;background:#f4f8f6;color:#176a55;font-weight:900;cursor:pointer}.file-drop input{max-width:240px;margin-top:8px}.paste-label{display:block;margin-top:16px}.paste-label textarea{resize:vertical;line-height:1.45}.import-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.import-actions button{min-height:48px;border:0;border-radius:8px;background:#285c50;color:#fff;font-weight:900;cursor:pointer}.import-actions .commit{background:#0b795b}.import-actions button:disabled{opacity:.4;cursor:not-allowed}.import-note{font-size:11px;color:#667670}.import-notice{background:#e9f0ed;border-left:4px solid #2a705d;padding:12px;font-size:13px}.result-summary{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.result-summary span{background:#eef2f1;border-radius:999px;padding:6px 9px;font-size:11px}.result-summary .result-valid{background:#dff3e9;color:#096847}.result-summary .result-error{background:#fde8e8;color:#ac3030}.result-list{max-height:520px;overflow:auto}.result-list article{display:grid;grid-template-columns:75px 70px 1fr;gap:8px;border-top:1px solid #e1e7e5;padding:10px 4px;font-size:12px}.result-list article.has-error{border-left:3px solid #bd3434;padding-left:9px}.result-list p{margin:0;color:#65756f}.result-list strong{font-size:11px}.result-list span{font-weight:900}.import-results .empty{padding:60px 20px}@media(max-width:900px){.import-access,.import-layout{grid-template-columns:1fr}.import-shell>header{align-items:flex-start}.import-shell nav{flex-direction:column}}@media(max-width:560px){.import-layout{padding:14px}.import-actions{grid-template-columns:1fr}.result-list article{grid-template-columns:65px 1fr}.result-list p{grid-column:1/-1}.import-shell nav a{min-height:44px;display:flex;align-items:center}}.file-drop input,.import-access input,.paste-label textarea{min-height:44px}.wms-app-shell{min-height:100vh;background:#edf1f3}.wms-side{position:fixed;inset:0 auto 0 0;width:244px;background:#102f29;color:#dcebe6;z-index:40;display:flex;flex-direction:column;border-right:1px solid #315149}.side-brand{height:78px;padding:15px 18px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #315149}.side-mark{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#e4b65d;color:#18372f;font-size:21px;font-weight:950}.side-brand>div:nth-child(2){display:grid}.side-brand strong{font-size:18px}.side-brand span{font-size:10px;color:#8faaa2}.side-brand button{display:none;margin-left:auto;border:0;background:transparent;color:#fff;font-size:26px}.wms-side nav{padding:15px 10px;overflow:auto;flex:1 1}.wms-side nav section{margin-bottom:19px}.wms-side nav b{display:block;padding:0 10px 7px;font-size:9px;letter-spacing:.16em;color:#77948b}.wms-side nav a{min-height:42px;display:flex;align-items:center;gap:11px;border-radius:7px;text-decoration:none;color:#b8ccc6;font-size:13px;font-weight:750}.wms-side nav a:hover{background:#1b4037;color:#fff}.wms-side nav a.active{background:#e7f3ef;color:#103b31}.wms-side nav i{width:25px;text-align:center;font-style:normal;font-size:18px}.side-account{border-top:1px solid #315149;padding:16px;display:flex;gap:10px;align-items:center}.side-account>span{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.bypass-dot{background:#f0b64c;box-shadow:0 0 0 4px #594d2c}.secure-dot{background:#55cf9d}.side-account div{display:grid;gap:2px}.side-account strong{font-size:11px}.side-account small{font-size:9px;color:#86a29a}.wms-app-main{min-height:100vh;margin-left:244px}.mobile-shellbar,.side-scrim{display:none}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(380px,520px) 1fr;background:#e9efed}.login-panel{background:#fff;padding:clamp(30px,7vw,72px);display:flex;flex-direction:column;justify-content:center}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:46px}.login-brand>span{width:46px;height:46px;border-radius:11px;display:grid;place-items:center;background:#153d34;color:#f1c263;font-size:23px;font-weight:950}.login-brand div{display:grid}.login-brand strong{font-size:16px}.login-brand small{font-size:11px;color:#6d7b76}.login-mode{border-left:4px solid #27745e;background:#edf7f3;padding:13px;margin-bottom:22px;display:grid;gap:4px}.login-mode.bypass{border-color:#c98818;background:#fff6df}.login-mode b{font-size:11px}.login-mode span{font-size:12px;color:#61706b;line-height:1.4}.login-panel form{display:grid;gap:15px}.login-panel label{font-size:11px;font-weight:800;color:#54645e}.login-panel input{display:block;width:100%;margin-top:6px;min-height:48px;border:1px solid #aebbb7;border-radius:8px;padding:11px;font:inherit}.bypass-enter,.login-panel form button{min-height:49px;border:0;border-radius:8px;background:#123f34;color:#fff;font-weight:900;display:grid;place-items:center;text-decoration:none}.login-panel form button:disabled{opacity:.35}.bypass-enter{margin-top:10px;background:#b77712}.login-panel>p{font-size:10px;color:#75827e;line-height:1.5;margin-top:20px}.login-aside{background:#143b33;color:#fff;padding:clamp(40px,8vw,100px);display:flex;flex-direction:column;justify-content:center}.login-aside>span{font-size:10px;letter-spacing:.18em;color:#edbf61;font-weight:900}.login-aside h1{font-size:clamp(34px,5vw,62px);line-height:1.05;margin:16px 0 34px}.login-aside ul{list-style:none;padding:0;margin:0;display:grid;gap:13px;color:#bcd2cb;font-size:13px}.login-aside li{border-bottom:1px solid #31554c;padding-bottom:12px}.users-page{min-height:100vh;background:#edf1f3;color:#172421}.users-head{background:#fff;border-bottom:1px solid #d1dad7;padding:24px clamp(20px,4vw,44px);display:flex;justify-content:space-between;align-items:center}.users-head span{font-size:10px;color:#137159;letter-spacing:.15em;font-weight:900}.users-head h1{margin:5px 0;font-size:28px}.users-head p{margin:0;color:#687872;font-size:12px}.auth-bypass-chip{border:1px solid #e4bb6d;background:#fff5dc;color:#885b06;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:900}.users-access{background:#fff;border-bottom:1px solid #d1dad7;padding:13px clamp(20px,4vw,44px);display:grid;grid-template-columns:minmax(220px,340px) 220px auto 1fr;gap:9px;align-items:end}.user-create label,.users-access label{font-size:11px;font-weight:800;color:#5a6964}.user-create input,.user-create select,.user-list select,.users-access input{display:block;width:100%;margin-top:5px;min-height:42px;border:1px solid #adbab6;border-radius:7px;padding:9px;font:inherit;background:#fff}.user-create>button,.users-access button{min-height:42px;border:0;border-radius:7px;background:#146b56;color:#fff;font-weight:900;padding:0 15px}.users-access p{margin:0 0 10px;font-size:11px;color:#677671}.users-layout{padding:20px clamp(20px,4vw,44px);display:grid;grid-template-columns:340px 1fr;gap:17px}.user-create,.user-table{background:#fff;border:1px solid #ccd6d3;border-radius:9px;padding:18px;align-self:start}.user-create{display:grid;gap:12px}.user-create .section-head{margin-bottom:2px}.user-create>button{margin-top:4px}.user-create>p{font-size:10px;color:#71807b;margin:0}.user-list{display:grid}.user-list article{display:grid;grid-template-columns:42px minmax(190px,1fr) 135px 105px 105px;gap:10px;align-items:center;border-top:1px solid #e1e7e5;padding:12px 2px}.user-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#dcebe6;color:#145644;font-weight:900}.user-info{display:grid;gap:2px}.user-info strong{font-size:13px}.user-info small,.user-info span{font-size:10px;color:#6b7974}.user-list select{margin:0;min-height:38px}.user-status{min-height:36px;border:1px solid #d6b2b2;border-radius:999px;background:#fff0f0;color:#a12e2e;font-size:9px;font-weight:900}.user-status.active{border-color:#abd3c1;background:#e7f6ef;color:#0d6c4e}.permission-count{font-size:9px;color:#687772;text-align:right}@media(max-width:1050px){.users-layout{grid-template-columns:1fr}.users-access{grid-template-columns:1fr 1fr auto}.users-access p{grid-column:1/-1}.user-list article{grid-template-columns:42px 1fr 120px 95px}.permission-count{grid-column:2/-1}}@media(max-width:760px){.wms-side{transform:translateX(-100%);transition:transform .2s}.wms-side.open{transform:translateX(0)}.side-brand button{display:block}.wms-app-main{margin-left:0;padding-top:48px}.mobile-shellbar{height:48px;display:flex;align-items:center;gap:12px;background:#102f29;color:#fff;padding:0 13px;position:fixed;z-index:35;inset:0 0 auto 0}.mobile-shellbar button{width:44px;height:44px;border:0;background:transparent;color:#fff;font-size:22px}.mobile-shellbar strong{font-size:15px}.mobile-shellbar span{margin-left:auto;border:1px solid #8b713d;color:#f0c56e;border-radius:999px;padding:4px 7px;font-size:8px}.side-scrim{display:block;position:fixed;inset:0;border:0;background:#071a16aa;z-index:30}.login-page{grid-template-columns:1fr}.login-aside{display:none}.users-head{align-items:flex-start;gap:12px}.users-access{grid-template-columns:1fr}.users-layout{padding:13px}.user-list article{grid-template-columns:38px 1fr}.permission-count,.user-list select,.user-status{grid-column:2}.permission-count{text-align:left}.auth-bypass-chip{font-size:8px}.control-top,.import-shell>header,.wms-header{padding-left:18px}}.side-brand button{width:44px;height:44px}.wms-app-main .control-top nav,.wms-app-main .import-shell>header nav,.wms-app-main .mobile-jobs>header>a{display:none}.login-error{margin:0;color:#a83232;font-size:11px;font-weight:800}.password-tool{margin:14px clamp(20px,4vw,44px) 0;padding:13px;background:#fff;border:1px solid #ccd6d3;border-radius:9px;display:grid;grid-template-columns:minmax(240px,420px) auto 1fr;gap:9px;align-items:end}.password-tool label{font-size:11px;font-weight:800;color:#5a6964}.password-tool input{display:block;width:100%;margin-top:5px;min-height:42px;border:1px solid #adbab6;border-radius:7px;padding:9px;font:inherit}.password-reset,.password-tool button{min-height:38px;border:1px solid #9db8af;border-radius:7px;background:#edf5f2;color:#154f41;font-weight:850;padding:0 11px}.password-tool p{margin:0 0 10px;font-size:10px;color:#677671}.user-list article{grid-template-columns:42px minmax(190px,1fr) 125px 95px 90px 90px}@media(max-width:1050px){.password-tool{grid-template-columns:1fr auto}.password-tool p{grid-column:1/-1}.password-reset{grid-column:2/-1}}@media(max-width:760px){.password-tool{grid-template-columns:1fr;margin:13px}.user-list .password-reset{grid-column:2}}.password-reset,.password-tool button{min-height:44px}.wms-session-note{min-height:48px;border:1px solid #afd4c5;background:#edf8f3;border-radius:9px;padding:9px 12px;display:grid;align-content:center;gap:2px}.wms-session-note b{font-size:11px;color:#0b6b52}.wms-session-note span{font-size:10px;color:#5d6f68}:root{--wms-bg:#f5f6f9;--wms-surface:#ffffff;--wms-border:#e3e6eb;--wms-text:#242932;--wms-muted:#737b87;--wms-orange:#f25536;--wms-orange-soft:#fff0ec;--wms-teal:#17b8a6;--wms-blue:#5576d8}body{font-family:Noto Sans Thai,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.wms-app-shell{background:var(--wms-bg);color:var(--wms-text)}.wms-side{width:226px;background:var(--wms-surface);color:#454b55;border-right:1px solid var(--wms-border);box-shadow:4px 0 18px rgba(30,35,45,.025)}.side-brand{height:68px;padding:13px 17px;border-bottom:1px solid var(--wms-border)}.side-mark{width:36px;height:36px;border-radius:5px;background:var(--wms-orange);color:#fff;font-size:18px;box-shadow:0 5px 12px rgba(242,85,54,.2)}.side-brand strong{color:#252a32;font-size:16px;letter-spacing:.02em}.side-brand span{color:#9aa1ab;font-size:9px}.side-brand button{color:#535a65}.wms-side nav{padding:18px 10px}.wms-side nav section{margin-bottom:22px}.wms-side nav b{color:#a4aab3;font-size:8px;letter-spacing:.18em;padding:0 10px 8px}.wms-side nav a{position:relative;min-height:40px;gap:10px;margin:2px 0;padding:8px 10px;border-radius:5px;color:#666e79;font-size:12px;font-weight:600;transition:background-color .15s ease,color .15s ease,transform .15s ease}.wms-side nav a:hover{background:#faf3f0;color:#d94d32;transform:translateX(1px)}.wms-side nav a.active{background:var(--wms-orange-soft);color:#d9472b}.wms-side nav a.active:before{content:"";position:absolute;inset:8px auto 8px -10px;width:3px;border-radius:0 3px 3px 0;background:var(--wms-orange)}.side-nav-icon{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.side-account{min-height:68px;padding:14px 16px;border-top:1px solid var(--wms-border);background:#fbfbfc}.side-account strong{color:#454b55}.side-account small{color:#969da7}.bypass-dot{background:var(--wms-orange);box-shadow:0 0 0 4px #ffe4dc}.secure-dot{background:var(--wms-teal);box-shadow:0 0 0 4px #dff8f4}.wms-app-main{margin-left:226px;background:var(--wms-bg)}.wms-desktop-bar{height:64px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--wms-surface);border-bottom:1px solid var(--wms-border)}.wms-desktop-bar>div:first-child{display:grid;gap:1px}.wms-desktop-bar>div:first-child span{color:#a0a7b1;font-size:8px;font-weight:700;letter-spacing:.16em}.wms-desktop-bar>div:first-child strong{font-size:14px}.wms-toolbar-meta,.wms-user-pill{display:flex;align-items:center}.wms-toolbar-meta{gap:13px}.wms-access-pill{display:inline-flex;align-items:center;gap:6px;color:#757d87;font-size:9px;font-weight:700;letter-spacing:.08em}.wms-access-pill i{width:7px;height:7px;border-radius:50%;background:var(--wms-teal);box-shadow:0 0 0 3px #dff8f4}.wms-access-pill.testing i{background:var(--wms-orange);box-shadow:0 0 0 3px #ffe4dc}.wms-user-pill{gap:8px;padding-left:13px;border-left:1px solid var(--wms-border);color:#555d68;font-size:10px;font-weight:600}.wms-user-pill b{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#eff1f4;color:#69717c;font-size:11px}.control-shell{min-height:calc(100vh - 64px);background:transparent;color:var(--wms-text)}.control-top{min-height:92px;padding:20px 28px 17px;background:var(--wms-surface);color:var(--wms-text);border-bottom:1px solid var(--wms-border)}.control-shell .section-head span,.control-top span{color:var(--wms-orange);font-size:8px;letter-spacing:.16em}.control-top h1{margin:4px 0 1px;font-size:24px;letter-spacing:-.025em}.control-top p{margin:0;color:var(--wms-muted);font-size:11px}.control-top nav{gap:7px}.control-top a{border:1px solid var(--wms-border);border-radius:4px;color:#69717c;background:#fff;padding:8px 11px;font-size:10px}.control-top a:hover{border-color:#f1ac9e;color:#d9492e}.control-access{margin:16px 28px 0;padding:12px 13px;grid-template-columns:minmax(260px,380px) auto 1fr;gap:10px;background:var(--wms-surface);border:1px solid var(--wms-border);border-radius:6px}.control-access label,.job-form label{color:#636b76;font-size:10px}.control-access input,.job-form input,.job-form select{min-height:40px;margin-top:5px;padding:9px 10px;border:1px solid #d9dde3;border-radius:4px;color:#2f3540;transition:border-color .14s ease,box-shadow .14s ease}.control-access input:focus,.job-form input:focus,.job-form select:focus{outline:none;border-color:#ee8e7b;box-shadow:0 0 0 3px rgba(242,85,54,.1)}.control-access button,.job-form>button,.queue-row button{min-height:40px;border-radius:4px;background:var(--wms-orange);box-shadow:0 4px 10px rgba(242,85,54,.16)}.control-access button:hover:not(:disabled),.job-form>button:hover:not(:disabled),.queue-row button:hover:not(:disabled){background:#df482b}.control-access button:disabled,.job-form>button:disabled,.queue-row button:disabled{box-shadow:none;cursor:not-allowed;opacity:.45}.control-access p{display:flex;align-items:center;gap:8px;margin:0 0 8px;color:#717985;font-size:10px}.control-access p i{width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:var(--wms-teal)}.control-metrics{margin:12px 28px;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;background:transparent;border:0}.control-metrics article{position:relative;min-height:100px;padding:15px 16px 13px;overflow:hidden;background:var(--wms-surface);border:1px solid var(--wms-border);border-radius:6px;box-shadow:0 1px 2px rgba(31,36,45,.03)}.control-metrics article:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--wms-orange)}.control-metrics article[data-tone=teal]:before{background:var(--wms-teal)}.control-metrics article[data-tone=red]:before{background:#ed6b68}.control-metrics article[data-tone=blue]:before{background:var(--wms-blue)}.control-metrics span{color:#7b838e;font-size:10px}.control-metrics strong{margin-top:7px;color:#252b34;font-size:27px;line-height:1.1}.control-metrics article>small{display:block;margin-top:4px;color:#a0a6af;font-size:8px}.control-metrics .risk strong{color:#d84b47}.control-metrics .metric-text{font-size:12px;line-height:1.25}.control-metrics .metric-text small{color:#9299a3;font-size:8px}.control-grid{grid-template-columns:minmax(340px,400px) minmax(520px,1fr);gap:12px;padding:0 28px 36px}.job-form,.queue{padding:17px;border:1px solid var(--wms-border);border-radius:6px;box-shadow:0 1px 2px rgba(31,36,45,.03)}.control-shell .section-head{margin-bottom:14px}.control-shell .section-head h2{margin-top:2px;color:#2d333d;font-size:16px}.control-shell .section-head b{padding:4px 8px;border-radius:999px;background:#f2f3f5;color:#7d858f;font-size:9px}.form-grid{gap:10px}.job-form .control-primary{min-height:44px;margin-top:14px}.form-note{color:#858d97;font-size:9px}.queue-row{grid-template-columns:46px minmax(180px,1fr) auto 88px;gap:11px;min-height:61px;padding:10px 4px;border-top:1px solid #edf0f3;transition:background-color .14s ease}.queue-row:hover{background:#fafbfc}.job-code{width:41px;height:31px;border-radius:4px;font-size:9px}.type-in{background:#ddf7f1;color:#078571}.type-out{background:#e8edfd;color:#4969c6}.type-move{background:#fff0eb;color:#d95237}.job-main strong{font-size:12px}.job-main small,.job-main span{color:#858c96;font-size:9px}.status{padding:4px 7px;font-size:8px;letter-spacing:.02em}.queue-owner{color:#8d949d;font-size:9px}.queue .empty{min-height:260px;display:grid;place-items:center;align-content:center;gap:7px;padding:40px 20px;color:#9aa1aa}.queue .empty span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#f1f3f5;color:#a3aab3;font-size:18px}.queue .empty strong{color:#626a75;font-size:12px}.queue .empty small{max-width:300px;font-size:9px;line-height:1.5}.wms-app-shell a:focus-visible,.wms-app-shell button:focus-visible,.wms-app-shell input:focus-visible,.wms-app-shell select:focus-visible,.wms-app-shell summary:focus-visible{outline:3px solid rgba(242,85,54,.28);outline-offset:2px}@media (max-width:1180px){.control-grid{grid-template-columns:1fr}.job-form{max-width:none}}@media (max-width:860px){.control-access{grid-template-columns:1fr auto}.control-access p{grid-column:1/-1}}@media (max-width:760px){.wms-side{width:min(86vw,300px)}.wms-app-main{margin-left:0;padding-top:52px}.wms-desktop-bar{display:none}.mobile-shellbar{height:52px;background:#fff;color:#2d333c;border-bottom:1px solid var(--wms-border);box-shadow:0 2px 10px rgba(27,33,43,.05)}.mobile-shellbar button{color:#4e5661}.mobile-shellbar span{border-color:#f0b4a8;background:var(--wms-orange-soft);color:#d84a2f}.side-scrim{background:rgba(28,31,38,.38);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.control-shell{min-height:calc(100vh - 52px)}.control-top{padding:17px 16px 14px}.control-top h1{font-size:21px}.control-access{margin:12px 14px 0}.control-metrics{margin:10px 14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.control-metrics article{min-height:94px;padding:14px}.control-grid{padding:0 14px 26px}}@media (max-width:560px){.control-access{grid-template-columns:1fr}.control-access button{width:100%;min-height:44px}.control-access p{grid-column:auto;margin:0}.queue-row{grid-template-columns:42px minmax(0,1fr) auto}}@media (prefers-reduced-motion:reduce){.queue-row,.wms-side,.wms-side nav a{transition:none}}