:root{font-family:system-ui,-apple-system,Noto Sans Thai,sans-serif;color:#172554;background:#f5f7ff;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:3px}button{border:1px solid #d7e0f4;background:#fff;border-radius:8px;padding:9px 15px;cursor:pointer;color:#243b6b}button:disabled{opacity:.5;cursor:default}.primary,.upload-button{background:#009;color:#fff;border:0}.full{width:100%}a{color:#1d4ed8;text-decoration:none}h1,h2,h3,h4{margin:0 0 12px}h1{font-size:30px;letter-spacing:-.6px}h2{font-size:20px}h3{font-size:17px}p{line-height:1.8}small{display:block;color:#64749a;font-size:12px;margin-top:5px}.muted{color:#64749a;font-size:14px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#536b9c}.layout{display:flex;min-height:100vh}aside{width:250px;background:#eaf0ff;color:#172554;position:fixed;inset:0 auto 0 0;padding:32px 20px;display:flex;flex-direction:column}.company-logo{width:160px;max-width:100%;padding:0;background:transparent;align-self:flex-start}.company-logo img{display:block;width:100%;height:auto}.brand-panel .company-logo{width:190px}.sidebar-label{display:block;margin:26px 12px 12px;font-size:10px;color:#536b9c;letter-spacing:1.8px}nav button{display:block;width:100%;text-align:left;border:0;background:transparent;color:#354e80;margin:5px 0;padding:13px 12px}nav button.active{background:#d4e1ff;color:#009}.sidebar-bottom{margin-top:auto;padding:20px 10px 0;border-top:1px solid #cfdbf5}.sidebar-bottom button{margin-top:16px;border:0;background:transparent;color:#4b6292;padding:0;font-size:12px}.workspace{margin-left:250px;width:calc(100% - 250px);padding:36px 42px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}header h1{margin:8px 0}input,select{border:1px solid #d7e0f4;border-radius:7px;padding:10px 12px;background:#fff;min-width:0;color:#243b6b}select{max-width:320px}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;color:#4b6292;margin-bottom:15px}input:disabled{background:#f1f5ff;color:#64749a}.card{background:#fff;border:1px solid #e0e7f5;border-radius:14px;padding:24px;margin-bottom:22px;box-shadow:0 2px 8px #17255408}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stats article{background:#fff;border:1px solid #e0e7f5;border-radius:12px;padding:22px}.stats article span{color:#64749a;font-size:13px}.stats strong{display:block;font-size:34px;margin-top:8px;color:#009}.upload-card{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;margin-bottom:24px;border:1px dashed #90a9e0;border-radius:14px;background:#edf3ff}.upload-card p{font-size:13px;color:#4b6292;margin:0}.upload-button{padding:13px 20px;border-radius:8px;cursor:pointer;margin:0}.upload-button input{display:none}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.section-heading h2,.section-heading h3{margin:0}.empty{text-align:center;padding:40px;color:#64749a}.empty span{font-size:40px;color:#90a9e0}.empty h3{color:#243b6b;margin-top:14px}.empty p{font-size:14px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#64749a;font-size:11px;font-weight:600;padding:12px;border-bottom:1px solid #e0e7f5}td{padding:15px 12px;border-bottom:1px solid #edf1fa;vertical-align:middle}.badge{display:inline-block;padding:5px 10px;background:#edf3ff;color:#4b6292;border-radius:6px;font-size:11px;white-space:nowrap}.badge.completed,.badge.confirmed{color:#167457;background:#e8f6ed}.badge.processing,.badge.queued{color:#8f6e24;background:#fbf4df}.badge.failed{color:#b35454;background:#fceded}.badge.awaiting_configuration{color:#876aa4;background:#f2edf8}.report{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:16px 0;border-top:1px solid #edf1fa;font-size:13px}.review-grid{display:grid;grid-template-columns:minmax(300px,1fr) minmax(350px,1fr);gap:24px;align-items:start}.preview{position:sticky;top:20px}.preview h2{font-size:16px;overflow-wrap:anywhere}.preview iframe{width:100%;height:680px;border:1px solid #e0e7f5;background:#f5f7ff;border-radius:6px;margin-bottom:12px}.preview img{width:100%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.company-form{max-width:1000px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px}.checkbox{flex-direction:row;align-items:center;gap:8px;font-weight:400;margin-top:16px}.checkbox input{width:17px;height:17px}.region{display:flex;gap:6px;align-items:center;margin:12px 0}.region input{width:60px;padding:8px}.region label{margin:0}.note{background:#f1f5ff;padding:12px;color:#4b6292;font-size:12px;border-radius:7px}.alert,.success{padding:15px 20px;border-radius:9px;margin:0 0 20px;overflow-wrap:anywhere}.alert{background:#fff0ed;color:#ab5242;border:1px solid #f2d6cf}.success{background:#edf3ff;color:#1e40af}.secret{display:block;overflow-wrap:anywhere;padding:12px;background:#f1f5ff;border-radius:6px;margin:12px 0;-webkit-user-select:all;user-select:all}.recovery{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:15px 0}.auth{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.brand-panel{background:linear-gradient(145deg,#eaf0ff,#dce7ff);color:#172554;padding:60px;display:flex;flex-direction:column;justify-content:space-between}.brand-panel h1{font-size:42px;line-height:1.5;margin-top:20px}.brand-panel p{color:#4b6292}.auth-panel{display:flex;align-items:center;justify-content:center;padding:40px}.auth-card{width:100%;max-width:400px}.auth-card h2{font-size:28px;margin-top:14px}.auth-card form{margin-top:28px}.text-button{border:0;background:transparent;padding:14px 0;color:#4b6292}.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:25px}.mfa-card{max-width:600px}.mfa-card h2{margin-top:14px}footer{color:#64749a;font-size:11px;padding:20px 0}@media(max-width:1100px){aside{width:210px}.workspace{margin-left:210px;width:calc(100% - 210px);padding:28px 22px}.review-grid{grid-template-columns:1fr}.preview{position:static}.preview iframe{height:460px}.stats{gap:10px}.stats article{padding:15px}.brand-panel{padding:40px}.brand-panel h1{font-size:32px}}@media(max-width:700px){.auth{grid-template-columns:1fr}.brand-panel{padding:25px;gap:20px}.brand-panel h1{font-size:25px}.brand-panel small{display:none}.auth-panel{padding:30px}.layout{display:block}aside{position:static;width:100%;padding:18px}nav{display:flex;overflow-x:auto}nav button{white-space:nowrap;width:auto;font-size:12px}.sidebar-label,.sidebar-bottom{display:none}.workspace{margin:0;width:100%;padding:20px 15px}header{align-items:start;flex-direction:column}header h1{font-size:25px}.stats{grid-template-columns:1fr 1fr}.upload-card{padding:18px;align-items:start;flex-direction:column;gap:15px}.card{padding:18px}.form-grid{grid-template-columns:1fr}.region input{width:48px}.report{align-items:start;flex-direction:column}.recovery{grid-template-columns:1fr}}@media(max-width:700px){.brand-panel .company-logo{width:130px}aside .company-logo{width:110px}}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #2563eb}.primary:hover:not(:disabled),.upload-button:hover{background:#1d4ed8}nav button:hover{background:#dde7ff}nav button.active{box-shadow:inset 3px 0 #009}.brand-panel small{color:#4b6292}.document-actions{display:flex;gap:8px;flex-wrap:wrap}.danger-button{color:#b91c1c;border-color:#fecaca}.danger-button:hover:not(:disabled){background:#fef2f2}.table-review{grid-template-columns:minmax(0,1fr)}.table-review>.preview{position:static}.table-review>.preview summary{cursor:pointer;font-weight:600;overflow-wrap:anywhere}.table-review>.preview iframe{height:460px;margin-top:16px}.table-review>.preview img{margin-top:16px}.receipt-table-card{padding:18px}.receipt-table{min-width:1280px}.receipt-table th{white-space:nowrap}.receipt-table td{padding:12px 8px}.receipt-table input:not([type=checkbox]){width:100%;padding:9px}.receipt-cell.date{min-width:125px}.receipt-cell.invoice_number{min-width:145px}.receipt-cell.merchant_name{min-width:220px}.receipt-cell.item_description{min-width:190px}.receipt-cell.total{min-width:110px}.receipt-cell.currency{min-width:85px}.receipt-row-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:190px}.receipt-row-actions button{padding:7px 9px;font-size:12px}.receipt-row-actions a{font-size:12px}.receipt-row.expanded{background:#edf3ff}.receipt-details{padding:20px;background:#f8faff;border-radius:10px;max-width:1000px}.receipt-details .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.receipt-table td>input[type=checkbox]{width:17px;height:17px}@media(max-width:700px){.receipt-table-card{padding:12px}.receipt-details .form-grid{grid-template-columns:1fr 1fr}}textarea{font:inherit;border:1px solid #d7e0f4;border-radius:7px;padding:10px 12px;resize:vertical;color:#243b6b}textarea:focus-visible{outline:2px solid #2563eb}.vendor-address{min-width:220px;max-width:360px;white-space:pre-wrap}.vendor-link{padding:18px;border:1px solid #d7e0f4;border-radius:9px;margin:16px 0;background:#fff}.vendor-link select{max-width:100%;width:100%}.vendor-matches{margin:12px 0}.vendor-matches>div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #e0e7f5}.report-actions{display:flex;align-items:center;gap:12px}.report-actions .danger-button{padding:6px 10px}.select-all{flex-direction:row;align-items:center;gap:6px;margin:0;font-size:11px}.select-all input{width:17px;height:17px}.modal-backdrop{position:fixed;inset:0;z-index:1000;background:#17255499;display:flex;align-items:center;justify-content:center;padding:24px}.modal-card{width:min(900px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:16px;padding:26px;box-shadow:0 24px 70px #0f172a55}.modal-card .section-heading{position:sticky;top:-26px;z-index:1;background:#fff;padding:4px 0 14px}.modal-card h2{margin-top:6px}.modal-close{font-size:26px;line-height:1;padding:7px 12px;border:0;background:#f1f5ff}@media(max-width:700px){.modal-backdrop{padding:10px}.modal-card{max-height:calc(100vh - 20px);padding:18px}.modal-card .section-heading{top:-18px}}
