@font-face{font-family:Siam;src:url('/fonts/noto-sans-thai-thai-wght-normal.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0E00-0E7F}@font-face{font-family:Siam;src:url('/fonts/noto-sans-thai-latin-wght-normal.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF}
:root{--ink:#183b2e;--green:#16593f;--deep:#133e31;--gold:#bd9849;--wash:#f3f6f2;--line:#dce5dc;--mute:#5c7065;--paper:#fff;--alert:#914319;font-family:Siam,'Noto Sans Thai',system-ui,sans-serif;font-size:15px;color:var(--ink);background:var(--wash);font-variant-numeric:tabular-nums}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}input,select,button{font:inherit;color:inherit}button,.btn{min-height:42px;border-radius:9px;border:1px solid #c9d8cd;background:var(--paper);padding:8px 15px;font-weight:650;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:5px}button:hover,.btn:hover{border-color:var(--green);background:#f3f8f3}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:var(--deep)}a{color:var(--green)}:focus-visible{outline:3px solid #bea453;outline-offset:3px}h1,h2,h3,p{margin:0}h2{font-size:21px;line-height:1.4}h3{font-size:16px}small,.muted{color:var(--mute);font-size:13px}.kicker{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--green)}.mast{background:var(--deep);border-bottom:3px solid var(--gold)}.mast-inner,.wrap{width:min(1100px,100%);margin:auto;padding:0 26px}.mast-inner{display:flex;align-items:center;justify-content:space-between;min-height:65px;color:white;gap:12px}.identity{display:flex;align-items:center;gap:10px;color:white;text-decoration:none;font:700 16px/1.15 system-ui;letter-spacing:.08em}.identity img{border-radius:8px;background:#fff}.identity small{display:block;color:#cad9cd;font:600 9px/1.7 system-ui;letter-spacing:.24em}.account,.actions,.title-actions{display:flex;align-items:center;gap:12px}.account{font-size:13px}.return{color:white;text-decoration:none;border:1px solid #769386;padding:6px 10px;border-radius:8px}.wrap{padding-bottom:72px}.title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:31px 0 20px}.title h1{font-size:clamp(28px,4.5vw,40px);letter-spacing:-.04em;line-height:1.35}.title .kicker{margin-bottom:3px}.icon-btn{width:42px;padding:0;font-size:22px}.tabs{display:flex;gap:4px;border-bottom:1px solid #bed0c2}.tabs a{padding:11px 18px 12px;text-decoration:none;font-weight:650;color:var(--mute);border-bottom:3px solid transparent}.tabs a[aria-current]{border-color:var(--green);color:var(--deep)}.screen{margin-top:24px}.section-head,.filters{display:flex;align-items:center;gap:12px}.section-head{justify-content:space-between;margin-bottom:15px}.section-head h2 span{font-size:13px;vertical-align:middle;background:#dee8df;border-radius:7px;padding:1px 8px;margin-left:4px}.filters{margin-bottom:16px}.search{position:relative;flex:1}.search svg{position:absolute;left:12px;top:14px;width:17px;fill:none;stroke:var(--mute);stroke-width:2}.search input{padding-left:38px}input,select{width:100%;min-width:0;border:1px solid #c8d5ca;border-radius:8px;background:white;padding:9px 11px;min-height:44px}#category{width:auto;max-width:42%}.catalog,.panel,.result,.roy-picker{background:var(--paper);border:1px solid var(--line);border-radius:12px}.catalog{overflow:hidden}.table-head,.product-line{display:grid;grid-template-columns:minmax(220px,1fr) 100px 100px 105px 26px;align-items:center;gap:15px;text-align:right}.table-head{background:#eaf0e9;color:var(--mute);font-size:12px;font-weight:650;padding:12px 17px}.table-head>:first-child{text-align:left}.product-line{width:100%;border:0;border-radius:0;border-bottom:1px solid var(--line);padding:13px 17px;min-height:65px;font-weight:500;background:white}.product-line:last-child{border-bottom:0}.product-line:hover{background:#f4f8f3}.pname{text-align:left;min-width:0;overflow-wrap:anywhere}.pname b{display:block;font-weight:650}.pname small{display:block;font-size:12px;margin-top:2px;color:var(--mute)}.com-num{color:var(--green);font-weight:750}.arrow{color:#82988a}.empty{padding:30px 16px;text-align:center;color:var(--mute)}.gate{min-height:85vh;display:grid;place-items:center;padding:20px}.gate-card{background:white;border:1px solid var(--line);padding:28px;border-radius:16px;text-align:center;min-width:min(360px,100%)}.gate-card p{margin:12px 0 22px}.gate-card .actions{justify-content:center}
.deal-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:18px;align-items:start}.panel,.result,.roy-picker{padding:20px}.panel label,.fields label,.roy-picker label,.edit-label{display:grid;gap:5px;font-weight:600;font-size:13px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}.reference{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap;color:var(--mute);font-size:12px}.reference span{background:#eff5ef;padding:3px 8px;border-radius:5px}.options{margin-top:16px;border-top:1px solid var(--line);padding-top:13px}.options summary{cursor:pointer;font-size:14px}.panel .check{display:flex;align-items:center;gap:8px;margin-top:10px}.check input{width:18px;height:18px;min-height:0}#under-floor{background:#fff6e6;margin-top:14px;padding:12px;border-radius:8px}.result{border-top:4px solid var(--green)}.result .big{font-size:32px;font-weight:800;letter-spacing:-.04em;color:var(--green)}.status{display:inline-block;font-size:12px;font-weight:650;padding:4px 10px;border-radius:20px;background:#f9eacd;color:#754a12}.status.ok{background:#e4f3e7;color:#166636}.metrics{margin:12px 0 0}.metric{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.metric:last-child{border:0}.metric dt{font-size:14px;color:var(--mute)}.metric dd{margin:0;text-align:right;font-weight:650;overflow-wrap:anywhere}.metric.strong{font-weight:700;color:var(--green)}.roy-picker{margin-bottom:14px}.roy-picker select{max-width:360px}.roy-row{display:grid;grid-template-columns:1fr 72px 120px;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid var(--line)}.roy-row:last-child{border-bottom:0}.roy-row>span,.roy-row>strong{text-align:right}.roy-row small{display:block}.roy-row.caption{background:#eaf0e9;font-size:12px;font-weight:650}.roy-row strong{color:var(--green)}dialog{border:1px solid var(--line);border-radius:16px;padding:0;width:min(480px,calc(100% - 24px));max-height:88dvh;color:var(--ink);box-shadow:0 24px 80px #153e3130}dialog::backdrop{background:#10281970}.dialog-top,.dialog-actions{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;gap:10px}.dialog-top{border-bottom:1px solid var(--line)}.dialog-top button{font-size:22px;padding:0 8px;border:0;min-width:36px;min-height:36px}.dialog-actions{border-top:1px solid var(--line);justify-content:flex-end;background:white;position:sticky;bottom:0}.fields,#detail-body{padding:18px 20px}.fields h3{margin:21px 0 6px;border-top:1px solid var(--line);padding-top:14px;display:flex;align-items:center;justify-content:space-between}.fields>label{margin-top:10px}.fields .two{margin:10px 0}.error{background:#fff0e9;color:#853e1c;border-radius:8px;padding:10px;margin-top:12px}.small-dialog{padding:20px}.small-dialog p{margin:8px 0 16px}.detailsub{margin-top:4px}.detail-amount{background:#edf5ee;border-radius:10px;display:flex;justify-content:space-between;align-items:center;padding:10px 14px;margin:16px 0 4px}.detail-amount strong{font-size:23px;color:var(--green)}#toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);padding:9px 15px;border-radius:10px;background:var(--deep);color:white;max-width:90vw;z-index:10;text-align:center}
@media(max-width:680px){:root{font-size:14px}.mast-inner,.wrap{padding-left:15px;padding-right:15px}.mast-inner{min-height:56px}.title{padding:20px 0 12px}.title-actions{gap:6px}.title-actions button{padding:6px 10px}.account{gap:6px}.account #user-name{max-width:95px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.tabs a{flex:1;text-align:center;padding:11px 2px}.screen{margin-top:18px}.section-head h2{font-size:19px}.filters{gap:8px;margin-bottom:11px}#category{max-width:38%;padding-left:6px}.table-head,.product-line{grid-template-columns:minmax(0,1fr) 66px 64px;gap:7px;padding-left:12px;padding-right:12px}.table-head>:nth-child(2),.product-line>:nth-child(2),.product-line .arrow,.table-head>:last-child{display:none}.product-line{min-height:66px;font-size:13px}.pname small{font-size:11px}.deal-grid{grid-template-columns:1fr}.panel,.result,.roy-picker{padding:14px}.roy-row{grid-template-columns:minmax(0,1fr) 45px 80px;gap:8px;padding:10px 12px}.roy-row b{overflow-wrap:anywhere}.dialog-actions,.dialog-top,.fields,#detail-body{padding-left:15px;padding-right:15px}.search input,input,select{font-size:16px}.two{gap:8px}.dialog-actions button{flex:1}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.code-tag{font:600 10px/1.5 ui-monospace,monospace;color:#476455;display:inline-block;margin-left:4px;letter-spacing:.04em}.pname small .code-tag{white-space:normal}
.tabs{overflow-x:auto}.tabs a{white-space:nowrap}.ledger-dialog{width:min(660px,calc(100% - 20px))}.ledger-dialog h3{margin:18px 0 8px}.ledger-dialog form label,.report-range label{display:grid;gap:5px;font-size:13px;font-weight:620}.ledger-dialog form>label,.bill-line>label{margin-top:10px}.sub-head,.line-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.sub-head{margin:16px 0 4px}.sub-head h3{margin:0}.sub-head button,.line-head button,.seller-row button{font-size:12px;min-height:35px;padding:5px 10px}.seller-row{display:grid;grid-template-columns:minmax(0,1fr) 74px 35px;gap:8px;align-items:end;margin:8px 0}.bill-line{border:1px solid var(--line);border-left:3px solid #b79a55;border-radius:10px;padding:13px;margin-top:10px}.history-fields{padding-top:10px}.source-line{font-size:12px;color:var(--mute)}.draft-value{background:var(--pale,#eef5ed);color:var(--green);padding:11px 13px;border-radius:8px;margin:14px 0;font-weight:650}.ledger-dialog .check{display:flex;align-items:center}.ledger-dialog .check input{width:18px;min-height:0}.bill-row,.statement-row{display:flex;width:100%;justify-content:space-between;text-align:left;border-radius:0;border:0;border-bottom:1px solid var(--line);padding:12px 15px;gap:12px}.bill-row>span:first-child,.statement-row>span:first-child{flex:1;min-width:0}.ledger-dialog small,.bill-row small,.statement-row small,.import-list small{display:block}.receipt-line{background:#f5f8f4;padding:12px;border-radius:9px;margin-top:12px}.report-range{display:grid;grid-template-columns:1fr 1fr 120px;gap:10px;margin-bottom:14px}.statement-total{background:var(--deep);color:white;display:flex;align-items:center;justify-content:space-between;padding:14px;border-radius:10px;margin-bottom:12px}.statement-total strong{font-size:19px}.report-actions{margin-top:14px}.import-list{margin-bottom:12px;max-height:350px;overflow:auto}.import-list .section-head{margin-bottom:4px}.filters #bill-status{width:auto;max-width:42%}.fields .history-fields>label{margin-top:8px}
@media(max-width:680px){.tabs a{padding-left:8px;padding-right:8px}.report-range{grid-template-columns:1fr 1fr}.report-range label:last-child{grid-column:1/-1;max-width:135px}.bill-row{flex-wrap:wrap;gap:5px}.section-head .actions{gap:4px}.section-head .actions button{font-size:13px;padding:7px 9px}.ledger-dialog .two{gap:8px}.statement-total{flex-wrap:wrap;gap:5px}.wrap{padding-bottom:45px}}
:root{scrollbar-gutter:stable;scrollbar-color:#8ca699 var(--wash);scrollbar-width:thin}*::-webkit-scrollbar{width:9px;height:7px}*::-webkit-scrollbar-track{background:var(--wash)}*::-webkit-scrollbar-thumb{background:#8ca699;border-radius:10px}*::-webkit-scrollbar-thumb:hover{background:var(--mute)}.reconnect{text-align:center;padding:8px;background:#fff1d8}.settings-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:16px;align-items:start}.settings-layout label,.slip-form label{display:grid;gap:5px;font-weight:620;font-size:13px}.settings-layout form>label,.settings-layout .actions,.slip-form .actions{margin-top:12px}.settings-layout .actions,.slip-toolbar .actions,.report-actions{flex-wrap:wrap}.upload-block{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:12px;margin-top:16px}.upload-block small{display:block}.upload-block .file-pick{position:relative;display:inline-flex;justify-content:center;align-items:center;margin:8px 4px 0 0;border:1px solid var(--line);border-radius:8px;min-height:42px;padding:7px 12px;background:var(--wash);cursor:pointer}.file-pick input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-pick:focus-within{outline:3px solid var(--gold)}.upload-block>p{grid-column:1/-1}.image-preview{height:80px;display:grid;place-items:center;border:1px dashed var(--line);border-radius:8px;background:#fcfdfb}.image-preview img{max-width:102px;max-height:72px;object-fit:contain}.image-preview span{font-size:12px;color:var(--mute)}.archive-head{margin-top:26px}.slip-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 10px}.slip-scroll{max-width:100%}.slip-paper{background:white;border:1px solid var(--line);border-top:4px solid var(--deep);padding:clamp(16px,3vw,34px);border-radius:3px;color:var(--ink)}.slip-paper header,.slip-paper footer,.slip-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.slip-paper header>div:last-child{text-align:right}.slip-company{max-width:55%}.slip-company h2,.slip-paper header h2{font-size:clamp(17px,2.4vw,24px)}.slip-company p,.slip-meta p{font-size:14px;margin:4px 0}.slip-logo{display:block;max-width:150px;height:62px;object-fit:contain;object-position:left;margin-bottom:6px}.slip-wordmark{font-size:12px;letter-spacing:.1em}.slip-meta{padding:13px 0;margin-top:14px;border-top:1px solid var(--line)}.slip-meta p{overflow-wrap:anywhere}.slip-meta span{color:var(--mute);display:inline-block;margin-right:8px}.slip-grid{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid var(--line)}.slip-grid section{min-width:0;padding:10px 12px;border-right:1px solid var(--line)}.slip-grid section:last-child{border:0}.slip-grid h3{padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:4px}.slip-grid h3 small{display:block;font-size:11px}.slip-row{display:flex;align-items:baseline;justify-content:space-between;gap:7px;margin:8px 0;font-size:13px}.slip-row strong{white-space:nowrap}.slip-net{margin-top:12px;background:var(--deep);color:white;padding:10px 12px}.slip-net span,.slip-net strong{display:block}.slip-net strong{font-size:24px}.slip-net small{color:white}.slip-paper footer{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);align-items:flex-end;font-size:13px}.slip-sign{min-width:180px;text-align:center;display:grid;justify-items:center}.slip-sign img,.sign-blank{height:55px;max-width:150px;object-fit:contain}.slip-sign b{display:block;border-top:1px solid var(--mute);padding:4px 8px 0;overflow-wrap:anywhere}.slip-sign small{font-size:11px}[aria-invalid=true]{border-color:var(--alert)}.tabs a:active,button:active{transform:translateY(1px)}.slip-toolbar button{min-width:88px}.tabs{scrollbar-gutter:auto}.gate-card img{width:80px;height:66px;object-fit:contain}.gate-card h1{margin-top:8px}
@media(max-width:720px){.settings-layout{grid-template-columns:minmax(0,1fr)}.slip-meta{display:grid;grid-template-columns:1fr;gap:0}.slip-grid{grid-template-columns:1fr}.slip-grid section{border-right:0;border-bottom:1px solid var(--line)}.slip-grid h3 small{display:inline}.slip-paper header{gap:8px}.slip-paper footer{flex-wrap:wrap}.slip-form .two{grid-template-columns:1fr 1fr}.slip-sign{margin-left:auto}.tabs a{padding-inline:12px}.section-head{flex-wrap:wrap}.identity img{height:34px;width:34px}.report-actions{gap:5px}.report-actions button{flex:1 1 auto}}
@media print{@page{size:A5 landscape;margin:8mm}body{background:#fff}body *{visibility:hidden}.slip-paper,.slip-paper *{visibility:visible}.slip-paper{position:absolute;inset:0 auto auto 0;width:100%;margin:0;break-inside:avoid}.slip-grid{grid-template-columns:1fr 1fr 1fr}.slip-meta{display:flex}.slip-net{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.sku-first{font-family:ui-monospace,monospace;letter-spacing:.03em;font-size:11px!important;color:#576e60;margin-bottom:2px}
#pending-list{margin-top:14px}#pending-list .metric{padding:14px;background:#fff9eb;border:1px solid #e7d9b8;border-radius:8px}#pending-list small{display:block;color:#706954}
.reference-dialog{width:min(1040px,94vw);max-width:1040px;padding:0}.reference-content{padding:20px 24px}.reference-content>label{max-width:400px}.reference-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.reference-totals div{background:#edf3ed;padding:16px;border-radius:8px}.reference-totals strong{display:block;font-size:23px;color:#133e31}.reference-note{color:#705f39;background:#fff9eb;padding:12px;font-size:13px}.table-scroll{overflow:auto}.reference-table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}.reference-table th,.reference-table td{padding:12px;border-bottom:1px solid #dce5dc;text-align:right;font-variant-numeric:tabular-nums}.reference-table th:first-child{text-align:left}.reference-table th small{display:block;color:#65766d;font-weight:400}.reference-table thead{background:#f4f7f3}.reference-content details p{font-size:13px}.reference-content .options{margin-top:16px}@media(max-width:620px){.reference-content{padding:14px}.reference-totals{gap:5px}.reference-totals div{padding:9px 6px}.reference-totals strong{font-size:17px}.reference-totals small{font-size:11px}.reference-table th,.reference-table td{padding:10px 8px}}
