:root{--surface-0: #ffffff;--surface-100: #f4f6f8;--surface-200: #e9edf1;--border: #d3d9e0;--border-strong: #8a95a3;--ink: #1a1f29;--ink-muted: #566070;--brand: #0b6e69;--brand-hover: #085752;--on-brand: #ffffff;--brand-subtle: #e2f1ef;--accent: #e8a317;--accent-subtle: #fdefc8;--status-pending: #9a5800;--status-pending-subtle: #fdf1dc;--status-approved: #1a7f37;--status-approved-subtle: #e3f4e8;--status-rejected: #c0272d;--status-rejected-subtle: #fde7e7;--status-returned: #6f42c1;--status-returned-subtle: #efe8fb;--focus: #2563eb;--font-sans: "IBM Plex Sans Thai", "Sarabun", "Leelawadee UI", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08)}.ir-icon{flex:none;vertical-align:-3px}.ir-muted{color:var(--ink-muted)}:where(button,a,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px}.ir-docid{font-family:var(--font-mono);font-size:13px;line-height:20px;font-weight:500;color:var(--ink-muted);font-variant-numeric:tabular-nums}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ir-btn{display:inline-flex;align-items:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);font:600 14px/22px var(--font-sans);cursor:pointer;text-decoration:none;white-space:nowrap}.ir-btn-md{padding:7px var(--space-4)}.ir-btn-sm{padding:3px var(--space-3);font-size:13px}.ir-btn-primary{background:var(--brand);color:var(--on-brand)}.ir-btn-primary:hover{background:var(--brand-hover)}.ir-btn-secondary{background:var(--surface-0);color:var(--ink);border-color:var(--border-strong)}.ir-btn-secondary:hover{background:var(--surface-200)}.ir-btn-quiet{background:transparent;color:var(--brand)}.ir-btn-quiet:hover{background:var(--brand-subtle)}.ir-btn-danger{background:var(--surface-0);color:var(--status-rejected);border-color:var(--status-rejected)}.ir-btn-danger:hover{background:var(--status-rejected-subtle)}.ir-btn:disabled{opacity:.45;cursor:not-allowed}.ir-badge{display:inline-flex;align-items:center;gap:6px;padding:1px var(--space-2);border-radius:var(--radius-sm);font-size:12px;line-height:20px;font-weight:600;white-space:nowrap}.ir-badge-dot{width:8px;height:8px;border-radius:var(--radius-pill);background:currentColor}.ir-badge-draft{color:var(--ink-muted);background:var(--surface-200)}.ir-badge-pending{color:var(--status-pending);background:var(--status-pending-subtle)}.ir-badge-approved{color:var(--status-approved);background:var(--status-approved-subtle)}.ir-badge-rejected{color:var(--status-rejected);background:var(--status-rejected-subtle)}.ir-badge-returned{color:var(--status-returned);background:var(--status-returned-subtle)}.ir-badge-live{color:var(--brand);background:var(--brand-subtle)}.ir-field{display:flex;flex-direction:column;gap:var(--space-1)}.ir-label-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2)}.ir-label{font-weight:600}.ir-req{color:var(--status-rejected)}.ir-input{font:400 14px/22px var(--font-sans);color:var(--ink);background:var(--surface-0);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:7px var(--space-3);resize:vertical}.ir-input::placeholder{color:var(--ink-muted)}.ir-input.is-error{border-color:var(--status-rejected)}.ir-input:disabled{background:var(--surface-100);color:var(--ink-muted);border-color:var(--border)}.ir-input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}select.ir-input{cursor:pointer}.ir-hint{font-size:12px;line-height:18px;color:var(--ink-muted)}.ir-hint.is-error{color:var(--status-rejected)}.ir-steps{list-style:none;margin:0;padding:0;display:flex}.ir-steps.is-horizontal{flex-direction:row}.ir-step{flex:1;min-width:0;display:flex}.is-horizontal .ir-step{flex-direction:column;gap:var(--space-2)}.ir-step-rail{display:flex;align-items:center}.ir-step-dot{flex:none;width:28px;height:28px;border-radius:var(--radius-pill);display:grid;place-items:center;font:600 13px/1 var(--font-sans);border:2px solid var(--border-strong);background:var(--surface-0);color:var(--ink-muted);box-sizing:border-box}.ir-step-line{flex:1;background:var(--border-strong)}.is-horizontal .ir-step-line{height:2px;margin:0 var(--space-2)}.ir-step-body{padding-right:var(--space-3)}.ir-step-name{font-weight:600}.ir-step-person{font-size:12px;line-height:18px;color:var(--ink)}.ir-step-state{font-size:12px;line-height:18px;color:var(--ink-muted)}.ir-step-note{font-size:12px;line-height:18px;color:var(--ink);margin-top:2px}.ir-step.is-done .ir-step-dot{background:var(--status-approved);border-color:var(--status-approved);color:var(--surface-0)}.ir-step.is-done .ir-step-line{background:var(--status-approved)}.ir-step.is-done .ir-step-state{color:var(--status-approved)}.ir-step.is-current .ir-step-dot{border-color:var(--accent);background:var(--status-pending-subtle);color:var(--status-pending);box-shadow:0 0 0 4px var(--status-pending-subtle)}.ir-step.is-current .ir-step-state{color:var(--status-pending);font-weight:600}.ir-step.is-rejected .ir-step-dot{background:var(--status-rejected);border-color:var(--status-rejected);color:var(--surface-0)}.ir-step.is-rejected .ir-step-state{color:var(--status-rejected);font-weight:600}.ir-step.is-returned .ir-step-dot{background:var(--status-returned);border-color:var(--status-returned);color:var(--surface-0)}.ir-step.is-returned .ir-step-state{color:var(--status-returned);font-weight:600}.ir-item-name{font-weight:600}.ir-item-detail{font-size:13px;line-height:20px;color:var(--ink-muted)}.ir-mail{max-width:600px;margin:0 auto}.ir-mail a{color:var(--brand)}.ir-mail-subject{font-size:13px;line-height:20px;color:var(--ink);padding:var(--space-2) 0 var(--space-3)}.ir-mail-label{display:inline-block;font:500 11px/18px var(--font-mono);color:var(--ink-muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 6px;margin-right:var(--space-2)}.ir-mail-card{background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.ir-mail-head{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-6);border-bottom:3px solid var(--brand)}.ir-mail-sys{font-weight:600;color:var(--brand)}.ir-mail-body{padding:var(--space-4) var(--space-6) var(--space-6)}.ir-mail-kv,.ir-mail-items{width:100%;border-collapse:collapse;margin-bottom:var(--space-4)}.ir-mail-k{width:96px;color:var(--ink-muted);padding:2px 0;vertical-align:top}.ir-mail-v{padding:2px 0}.ir-mail-items th{text-align:left;font-size:12px;line-height:18px;font-weight:600;color:var(--ink-muted);padding:var(--space-1) 0}.ir-mail-items th.num{text-align:right;padding-left:var(--space-3)}.ir-mail-items td{padding:var(--space-2) 0;border-top:1px solid var(--border);vertical-align:top}.ir-mail-items td.num{padding-left:var(--space-3)}.ir-mail-items th:last-child,.ir-mail-items td:last-child{padding-left:var(--space-4);white-space:nowrap}.ir-mail-foot{font-size:12px;line-height:18px;color:var(--ink-muted)}body{margin:0;padding:0;background:var(--surface-100)}a{color:#0b6e69}a:hover{color:#085752}.app{min-height:100vh;background:var(--surface-100);color:var(--ink);font-family:var(--font-sans);font-size:14px;line-height:22px}.is-hidden{display:none!important}.card{background:var(--surface-0);border:1px solid var(--border);border-radius:12px}.page-title{margin:0;font-size:24px;line-height:36px;font-weight:600}.section-title{margin:0;font-size:16px;line-height:26px;font-weight:600}.optional{font-weight:400;font-size:12px;color:var(--ink-muted)}.sm .ir-input,.cell .ir-input{width:100%;box-sizing:border-box;font-size:13px;line-height:20px;padding:5px 8px;min-height:32px}.cell{min-width:0}.cell input[type=number]{text-align:right;font-family:var(--font-mono)}.chk{width:18px;height:18px;accent-color:#0b6e69;cursor:pointer}.navb{font:500 14px/22px var(--font-sans);padding:7px 12px;min-height:38px;border:0;border-radius:8px;background:transparent;color:var(--ink-muted);cursor:pointer}.navb:hover{background:var(--surface-200);color:var(--ink)}.navb.is-on{background:var(--brand-subtle);color:var(--brand);font-weight:600}.lrow{display:grid;grid-template-columns:150px minmax(240px,1fr) 56px 180px 110px 70px 240px;column-gap:16px;align-items:center;padding:12px 20px;border:0;border-bottom:1px solid var(--border);background:transparent;width:100%;box-sizing:border-box;text-align:left;font:400 14px/22px var(--font-sans);color:var(--ink)}button.lrow{cursor:pointer}button.lrow:hover{background:var(--surface-100)}.lhead{font-size:12px;line-height:18px;font-weight:600;color:var(--ink-muted);padding-top:10px;padding-bottom:10px}.irow{display:grid;grid-template-columns:28px 96px 132px 164px minmax(220px,1fr) 164px 100px 100px 76px 136px 148px 144px 32px;column-gap:8px;align-items:center;padding:0 20px}.grow{display:grid;column-gap:12px;align-items:center;padding:8px 20px;border-bottom:1px solid var(--border)}.ghead{font-size:12px;line-height:18px;font-weight:600;color:var(--ink-muted);padding-top:10px;padding-bottom:10px}.ucols{grid-template-columns:minmax(160px,1fr) minmax(200px,1.3fr) 180px 80px 40px}.rcols{grid-template-columns:minmax(150px,1fr) repeat(6,104px) 56px 40px}.flink{display:inline-flex;align-items:center;gap:6px;min-height:32px;box-sizing:border-box;padding:4px 12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-0);font-size:13px;line-height:20px;font-weight:500;text-decoration:none}.flink:hover{background:var(--brand-subtle)}.drow{display:grid;grid-template-columns:28px 52px 1fr 1.2fr 2fr 1.2fr 76px 76px 60px 1fr 1fr 92px;column-gap:8px;padding:6px 0;border-bottom:1px solid #d3d9e0;font-size:12px;line-height:18px;align-items:start}.drow>div{min-width:0;overflow-wrap:anywhere}.drow .r{text-align:right;font-family:var(--font-mono)}.drow .c{text-align:center;font-family:var(--font-mono)}.doc{padding:24px 32px 32px;box-sizing:border-box;overflow-x:auto}.doc-bar{width:297mm;margin:0 auto 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.sheet{width:297mm;height:210mm;box-sizing:border-box;padding:10mm;margin:0 auto 24px;background:#fff;border:1px solid var(--border);box-shadow:0 1px 3px #10182814;color:#1a1f29;overflow:hidden;display:flex;flex-direction:column}@page{size:A4 landscape;margin:0}@media print{html,body{background:#fff!important}.no-print{display:none!important}.doc{display:block!important;padding:0!important;background:#fff!important;overflow:visible!important}.doc-bar{display:none!important}.sheet{box-shadow:none!important;border:0!important;margin:0!important;break-after:page}.sheet.is-last{break-after:auto}}
