:root{--bg-0: #f4f8f5;--bg-1: #ffffff;--bg-3: #eef4f0;--line: #e2eae4;--line-2: #cddbd2;--ink: #0e1f16;--ink-2: #48594f;--ink-3: #84958b;--green: #0e7a4b;--amber: #a8641a;--red: #b42318;--blue: #2456c7;--violet: #6941c6;--green-t: rgba(14,122,75,.1);--amber-t: rgba(168,100,26,.12);--red-t: rgba(180,35,24,.1);--blue-t: rgba(36,86,199,.1);--violet-t: rgba(105,65,198,.12);--brand: #00bb46;--brand-2: #00a03c;--brand-strong: #00832f;--brand-tint: rgba(0,187,70,.12);--navy: #0a6b31;--navy-2: #075023;--sh-sm: 0 1px 2px rgba(13,22,38,.05);--shadow: 0 1px 2px rgba(13,22,38,.04), 0 2px 6px rgba(13,22,38,.05);--sh-md: 0 6px 16px rgba(13,22,38,.09), 0 2px 6px rgba(13,22,38,.05);--r-sm: 8px;--r: 12px;--r-lg: 16px;--ease: .16s cubic-bezier(.4,0,.2,1);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg-0);color-scheme:light}*{box-sizing:border-box}html{background:var(--bg-0)}body{margin:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:14px;line-height:1.55}::selection{background:#2456c729}a{color:var(--blue);text-underline-offset:2px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;height:62px;padding:0 22px;background:#ffffffdb;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;white-space:nowrap}.brand .mark{width:36px;height:36px;border-radius:9px;flex:0 0 auto;background:var(--bg-1);border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-sm)}.brand .mark svg{width:26px;height:26px;display:block}.brand .wm{display:flex;flex-direction:column;line-height:1.15}.brand .wm b{font-weight:680;font-size:15px;letter-spacing:-.01em;color:var(--ink)}.brand .wm small{font-size:10.5px;color:var(--ink-3);letter-spacing:.02em;font-weight:500}.topbar .spacer{flex:1}.who{font-size:12.5px;color:var(--ink-2);display:flex;align-items:center;gap:12px}.who .idn b{color:var(--ink);font-weight:650}.who .idn a{margin-left:8px}.admin-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:8px;background:var(--brand);color:#fff;font-weight:650;font-size:12.5px;text-decoration:none;box-shadow:var(--sh-sm);transition:filter var(--ease),box-shadow var(--ease),transform var(--ease)}.admin-btn:hover{filter:brightness(1.06);box-shadow:var(--sh-md);transform:translateY(-1px)}.admin-btn svg{width:14px;height:14px}.test-toggle{display:flex;align-items:center;gap:10px;padding:12px 14px;margin-bottom:16px;border:1px dashed var(--line-2);border-radius:var(--r-sm);background:var(--bg-3)}.test-toggle input{width:17px;height:17px;accent-color:var(--violet);cursor:pointer}.test-toggle label{font-size:13px;color:var(--ink-2);cursor:pointer}.test-toggle .tag{margin-left:auto;font-size:10.5px;font-weight:700;letter-spacing:.06em;color:var(--violet);background:var(--violet-t);border:1px solid rgba(105,65,198,.3);padding:2px 8px;border-radius:999px}.badge.test{color:var(--violet);background:var(--violet-t);border-color:#6941c64d}.app{max-width:940px;margin:0 auto;padding:26px 20px 72px}h1{font-size:1.35rem;letter-spacing:-.01em;margin:0 0 4px}h2{font-size:1.02rem;letter-spacing:-.01em;margin:0 0 16px;font-weight:660}.lead{color:var(--ink-2);margin:0 0 20px;font-size:13.5px}.tabs{display:inline-flex;gap:4px;margin-bottom:22px;padding:4px;background:var(--bg-3);border:1px solid var(--line);border-radius:10px}.tabs button{padding:8px 18px;border:0;background:transparent;border-radius:7px;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-2);transition:background var(--ease),color var(--ease),box-shadow var(--ease)}.tabs button:hover{color:var(--ink)}.tabs button.active{background:var(--bg-1);color:var(--navy);box-shadow:var(--sh-sm)}.card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--sh-sm)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:12px;font-weight:650;color:var(--ink-2);letter-spacing:.01em}.field input{padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--r-sm);font-size:14px;color:var(--ink);background:var(--bg-1);transition:border-color var(--ease),box-shadow var(--ease)}.field input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-t)}.field input:disabled{background:var(--bg-3);color:var(--ink-2)}.field input[type=file]{padding:9px 12px;cursor:pointer;background:var(--bg-3)}.field input[type=file]::file-selector-button{margin-right:12px;border:1px solid var(--line-2);background:var(--bg-1);padding:6px 12px;border-radius:6px;font-weight:600;font-size:12.5px;color:var(--ink);cursor:pointer;transition:background var(--ease)}.field input[type=file]::file-selector-button:hover{background:var(--bg-3)}.row{display:flex;gap:16px;flex-wrap:wrap}.row .field{flex:1;min-width:200px}button.primary{background:var(--navy);color:#fff;border:none;padding:11px 22px;border-radius:var(--r-sm);font-size:13.5px;font-weight:650;cursor:pointer;box-shadow:var(--sh-sm);transition:filter var(--ease),box-shadow var(--ease),transform var(--ease)}button.primary:hover{filter:brightness(1.08);box-shadow:var(--sh-md);transform:translateY(-1px)}button.primary:active{transform:translateY(0)}button.primary:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:none}table{width:100%;border-collapse:collapse;font-size:13px}thead th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line-2);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:700}tbody td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}tbody tr{transition:background var(--ease)}tbody tr:hover{background:var(--bg-3)}tbody td small{color:var(--ink-3)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:650;border:1px solid var(--line-2);background:var(--bg-3);color:var(--ink-2)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.submitted{color:var(--ink-2);background:var(--bg-3);border-color:var(--line-2)}.badge.sent_to_finance{color:var(--blue);background:var(--blue-t);border-color:#2456c74d}.badge.staged_in_ebs{color:var(--violet);background:var(--violet-t);border-color:#6941c64d}.badge.imported{color:var(--green);background:var(--green-t);border-color:#0e7a4b4d}.badge.rejected{color:var(--red);background:var(--red-t);border-color:#b423184d}.badge.failed{color:var(--amber);background:var(--amber-t);border-color:#a8641a4d}.alert{padding:11px 14px;border-radius:var(--r-sm);margin-bottom:16px;font-size:13px;border:1px solid transparent}.alert.error{background:var(--red-t);color:var(--red);border-color:#b4231840}.alert.success{background:var(--green-t);color:var(--green);border-color:#0e7a4b40}.reason{color:var(--red);font-size:12px;margin-top:3px}.link{color:var(--blue)}.hint{margin:5px 0 0;font-size:12px;color:var(--ink-3)}.field select{padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--r-sm);font-size:14px;color:var(--ink);background:var(--bg-1);cursor:pointer;transition:border-color var(--ease),box-shadow var(--ease)}.field select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-t)}.po-picker{position:relative}.multi-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--bg-1);font-size:14px;color:var(--ink);cursor:pointer;text-align:left}.multi-trigger:hover{background:var(--bg-3)}.mt-caret{color:var(--ink-3);font-size:11px}.multi-panel{padding:8px}.multi-search{width:100%;padding:8px 10px;margin-bottom:6px;font-size:13px;border:1px solid var(--line-2);border-radius:6px;background:var(--bg-1);color:var(--ink)}.multi-clear{width:100%;padding:6px;margin-bottom:6px;font-size:12px;cursor:pointer;border:1px dashed var(--line-2);border-radius:6px;background:transparent;color:var(--ink-2)}.multi-panel ul{margin:0;padding:0;list-style:none}.multi-row{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:13.5px}.multi-row input{width:15px;height:15px;accent-color:var(--brand);cursor:pointer}.sup-tag{margin-left:auto;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);background:var(--bg-3);border:1px solid var(--line-2);padding:1px 6px;border-radius:999px;white-space:nowrap}.sup-tag.hold{color:var(--red);background:var(--red-t);border-color:#b423184d}.po-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);max-height:320px;overflow-y:auto;margin:0;padding:4px;list-style:none;background:var(--bg-1);border:1px solid var(--line-2);border-radius:var(--r-sm);box-shadow:var(--sh-md)}.po-list li{padding:8px 10px;border-radius:6px;cursor:pointer}.po-list li.on{background:var(--bg-3)}.po-row{display:flex;align-items:baseline;gap:10px}.po-num{font-variant-numeric:tabular-nums}.po-sup{flex:1;color:var(--ink-2);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.po-due{font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--ink);font-weight:650}.po-sub{font-size:11.5px;color:var(--ink-3);margin-top:2px}.read-back{margin:18px 0 4px;padding:14px 16px;background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r-sm)}.read-back>b{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.read-back ul{margin:10px 0 0;padding:0;list-style:none}.read-back li{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px}.read-back li:last-child{border-bottom:0}.read-back li span{color:var(--ink-2)}.read-back li b{font-variant-numeric:tabular-nums;color:var(--ink)}.section-note{margin:18px 0 2px;padding:10px 12px;font-size:12.5px;line-height:1.5;color:var(--ink-2);background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r-sm)}.signin-actions{margin-top:4px}.gbtn{display:inline-flex;align-items:center;gap:9px;padding:11px 18px;background:#fff;color:#1f2937;border:1px solid var(--line-2);border-radius:var(--r-sm);font-weight:650;font-size:13.5px;text-decoration:none;transition:background var(--ease),box-shadow var(--ease)}.gbtn:hover{background:var(--bg-3);box-shadow:var(--sh-sm)}
