:root{color:#24383e;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#20353c;--muted:#718086;--border:#e5ebed;--teal:#176b5a;--teal-light:#eaf5ef;--red:#ae4846;--amber:#91621b;--surface:#fff;--radius:12px;background:#f5f7f8;font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button,a,input,select,textarea{transition:background .16s,border-color .16s,color .16s,box-shadow .16s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #5dbea3}button{color:inherit}a{color:inherit;text-decoration:none}svg{vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin:0}button{background:0 0;border:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:#fff;padding:12px 20px;position:fixed;top:-70px;left:16px}.skip-link:focus{top:16px}.app-shell{min-height:100dvh;display:flex}.sidebar{color:#b6c7cb;background:#122c34;flex-direction:column;width:224px;padding:32px 19px 23px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#fff;letter-spacing:-1.8px;align-items:center;gap:10px;padding:0 8px;font-size:30px;font-weight:650;display:flex}.brand img{background:#25414a;border:1px solid #39545c;border-radius:9px;width:34px;height:34px}.brand-period{color:#8fe2c3}.workspace{border-bottom:1px solid #29424b;align-items:center;gap:10px;margin-top:31px;padding:18px 9px 27px;display:flex}.workspace-symbol{color:#d8e4e4;border:1px solid #50636b;border-radius:8px;place-items:center;width:33px;height:33px;font-size:14px;display:grid}.workspace strong{color:#e2e9eb;font-size:13px;font-weight:550;display:block}.workspace small{letter-spacing:1px;color:#94acb4;font-size:8px}.nav-label{color:#8da7ae;letter-spacing:2px;margin:28px 13px 14px;font-size:10px}.sidebar nav{flex-direction:column;gap:7px;display:flex}.sidebar nav a{border:1px solid #0000;border-radius:7px;align-items:center;gap:13px;padding:14px;font-size:13px;display:flex;position:relative}.sidebar nav a:hover{color:#fff;background:#1a3840}.sidebar nav a.active{color:#b3ebd6;background:#24453f;border-color:#35564d}.sidebar nav a.active:after{content:"";background:#a2e6ca;border-radius:50%;width:5px;height:5px;position:absolute;right:13px}.sidebar-bottom{margin-top:auto;padding:34px 13px 0}.sidebar-bottom>svg{color:#91baa8;margin-bottom:15px}.sidebar-bottom strong{color:#dce8e8;font-size:13px;font-weight:500;display:block}.sidebar-bottom p{color:#8da7ae;margin:10px 0 32px;font-size:11px;line-height:1.9}.sidebar-bottom>span{letter-spacing:1.2px;border-top:1px solid #29424b;justify-content:space-between;padding-top:17px;font-size:8px;display:flex}.sidebar-bottom i{color:#d5e4df;font-style:normal}.main-shell{flex-direction:column;width:calc(100% - 224px);margin-left:224px;display:flex}.topbar{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;height:52px;padding:0 20px;font-size:12px;display:flex}.topbar>div{color:var(--muted);align-items:center;gap:13px;display:flex}.topbar strong{color:#40555c;font-weight:500}.topbar-label{color:#7a898f;align-items:center;gap:7px;font-size:11px;display:flex}main{outline:none;flex:1}.approval-page{max-width:none;margin:auto;padding:16px 20px 12px}.eyebrow{color:#627b7a;letter-spacing:2.2px;margin-bottom:10px;font-size:9px;font-weight:600}.button{white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:9px 15px;font-size:12px;font-weight:550;display:inline-flex}.button.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.button.primary:hover:not(:disabled){background:#105445;box-shadow:0 3px 7px #176b5a20}.button.secondary{background:#fff;border-color:#dce4e6}.button.secondary:hover:not(:disabled){background:#f6f9f8;border-color:#a8bfba}.button.danger{background:var(--red);border-color:var(--red)}.button.danger:hover:not(:disabled){background:#903735}.icon-button{min-width:36px;min-height:36px;color:var(--muted);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover:not(:disabled){color:var(--ink);background:#edf2f2}.text-button{color:var(--teal);text-underline-offset:3px;min-height:36px;padding:5px 6px;font-size:12px;text-decoration:underline}.records-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.panel-heading{justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex}.panel-heading>div{align-items:center;gap:13px;display:flex}.panel-heading h1,h2{font-size:15px;font-weight:600}.panel-heading>div>span{color:var(--muted);font-size:10px}.panel-order{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:flex}.filter-form{padding:0 16px 12px}.filter-grid{grid-template-columns:minmax(140px,1.3fr) minmax(105px,.8fr) minmax(120px,1fr) minmax(95px,.7fr);align-items:end;gap:10px;display:grid}label>span:first-child{color:#687a80;margin-bottom:7px;font-size:11px;display:block}input,select,textarea{width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #dfe6e8;border-radius:6px;min-height:39px;padding:9px 11px;font-size:12px}input::placeholder,textarea::placeholder{color:#9ca8ad}input:hover,select:hover,textarea:hover{border-color:#b0c3bd}input:focus,select:focus,textarea:focus{border-color:#6a9f8d}.input-icon{position:relative}.input-icon svg{color:#839398;position:absolute;top:11px;left:11px}.input-icon input{padding-left:35px}.filter-buttons{justify-content:flex-end;align-items:center;gap:8px;display:flex}.filter-buttons .button{min-height:34px;padding:6px 12px}.extra-filters{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:10px;margin-top:10px;display:grid}.filter-form label>span:first-child{margin-bottom:4px}.filter-form input,.filter-form select{min-height:34px;padding-block:6px}.filter-form .input-icon svg{top:8px}.table-wrap{overflow-x:auto}.approval-table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.approval-table th{border-block:1px solid var(--border);color:#7b8a90;white-space:nowrap;background:#f7f9fa;padding:9px 12px;font-size:10px;font-weight:450}.approval-table th:first-child,.approval-table td:first-child{padding-left:16px}.approval-table th:last-child,.approval-table td:last-child{padding-right:16px}.approval-table td{border-bottom:1px solid #edf1f2;padding:8px 12px}.approval-table tr:last-child td{border-bottom:0}.approval-table tbody tr:hover{background:#fafcfb}.transaction-link{letter-spacing:.2px;text-align:left;overflow-wrap:anywhere;padding:0;font-size:11px;font-weight:600;line-height:1.6;display:block}.transaction-link:hover{color:var(--teal);text-underline-offset:4px;text-decoration:underline}.type-tag{color:#52686e;white-space:nowrap;font-size:11px}.type-code{color:#8d9a9e;letter-spacing:.4px;margin-top:4px;font-size:8px;display:block}.amount-cell{font-variant-numeric:tabular-nums;letter-spacing:.2px;white-space:nowrap;font-size:12px;font-weight:550}.align-right{text-align:right}.unknown-amount{color:var(--amber);font-size:11px}.status-badge{white-space:nowrap;color:#50656b;background:#f0f4f4;border-radius:4px;align-items:center;gap:5px;padding:5px 8px;font-size:10px;line-height:1.25;display:inline-flex}.status-dot{background:currentColor;border-radius:50%;width:4px;height:4px;display:inline-block}.status-badge.pending{color:#936a25;background:#fbf3e2}.status-badge.approved,.status-badge.success{color:#33745b;background:#eaf5ee}.status-badge.rejected,.status-badge.failed{color:#ab514d;background:#fbefed}.status-badge.processing{color:#507a92;background:#edf4fa}.status-badge.not_required{color:#849196;background:#f3f5f6}.status-badge.subtle{background:0 0;padding:5px 0;font-size:10px}.time-cell{font-variant-numeric:tabular-nums;color:#7b8c90;white-space:nowrap;font-size:10px}.detail-button{white-space:nowrap;color:var(--teal);align-items:center;gap:4px;min-height:35px;padding:0 4px;font-size:11px;display:flex}.detail-button:hover{text-underline-offset:3px;text-decoration:underline}.pagination{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:9px 16px;font-size:10px;display:flex}.pagination>div{align-items:center;gap:9px;display:flex}.pagination select{min-height:30px;padding:5px 24px 5px 9px;font-size:10px}.pagination .icon-button{border:1px solid var(--border);min-width:30px;min-height:30px}.prev svg{transform:rotate(180deg)}.page-number{color:var(--ink);align-items:center;gap:7px;font-size:12px;display:flex}.page-number small{color:#829096;font-size:10px}.workflow-note{color:#89969c;align-items:center;gap:8px;padding:10px 2px;font-size:10px;line-height:1.7;display:flex}.workflow-note svg{color:#738b82}.page-footer{color:#92a0a5;letter-spacing:.3px;justify-content:space-between;padding:20px 38px;font-size:9px;display:flex}.page-footer b{color:#bdc7c9;margin:0 8px;font-weight:400}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:310px;padding:30px;display:flex}.empty-icon{color:#749288;background:#f1f6f3;border:1px solid #e7efea;border-radius:18px;place-items:center;width:64px;height:64px;margin-bottom:6px;display:grid}.empty-icon.error-icon{color:var(--amber);background:#fcf2eb}.empty-state h3{font-size:15px;font-weight:550}.empty-state p{color:var(--muted);max-width:350px;font-size:12px;line-height:1.8}.empty-state .button{margin-top:8px}.table-loading{padding:0 24px}.skeleton-row{border-bottom:1px solid var(--border);grid-template-columns:2fr 1fr 1fr 1fr;align-items:center;gap:40px;height:75px;display:grid}.skeleton-row span{background:#edf2f2;border-radius:3px;height:11px;animation:1.4s ease-in-out infinite pulse}.skeleton-row span:first-child{width:75%}.toast{z-index:15;color:#fff;background:#1c4037;border-radius:9px;align-items:center;gap:10px;max-width:calc(100% - 40px);padding:10px 13px 10px 17px;font-size:13px;display:flex;position:fixed;bottom:28px;left:calc(50% + 112px);transform:translate(-50%);box-shadow:0 8px 30px #1c403733}.toast .icon-button{color:#bedace}.approval-drawer{color:var(--ink);background:#fff;border:0;width:660px;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;position:fixed;inset:0 0 0 auto;box-shadow:-15px 0 70px #132e321f}.approval-drawer::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#142f3660}.approval-drawer[open]{animation:.2s ease-out slide-in}.drawer-content{flex-direction:column;min-height:100%;display:flex}.drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 20px;display:flex}.drawer-header h2{font-size:17px}.drawer-transaction{background:#f7faf8;border-bottom:1px solid #e6eeea;grid-template-columns:minmax(0,1fr) auto;gap:3px 16px;padding:10px 20px;display:grid}.drawer-status{grid-area:1/2/3;justify-content:space-between;align-items:center;gap:12px;display:flex}.drawer-transaction>p{color:#788981;margin:0;font-size:11px}.drawer-transaction>strong{font-variant-numeric:tabular-nums;letter-spacing:-.7px;overflow-wrap:anywhere;grid-column:1;font-size:26px;font-weight:550;display:block}.drawer-transaction>strong.unknown-amount{font-size:24px}.transaction-reference{color:#788b81;grid-column:1/-1;align-items:center;gap:10px;margin-top:3px;font-size:11px;display:flex}.transaction-reference>span:first-child{overflow-wrap:anywhere}.transaction-reference>span:last-child{border-left:1px solid #cfdfd5;flex-shrink:0;padding-left:10px}.drawer-tabs{border-bottom:1px solid var(--border);gap:28px;padding:0 20px;display:flex}.drawer-tabs button{color:var(--muted);border-bottom:2px solid #0000;padding:10px 0 8px;font-size:12px}.drawer-tabs button.active{color:var(--teal);border-color:var(--teal);font-weight:600}.drawer-tabs button>span{background:#eef3f1;border-radius:3px;margin-left:6px;padding:1px 5px;font-size:10px}.drawer-body{padding:12px 20px}.detail-section{padding-bottom:12px}.detail-section h3,.decision-section h3,.notification-section h3{align-items:center;gap:7px;font-size:13px;font-weight:600;display:flex}.detail-section h3 svg,.decision-section h3 svg,.notification-section h3 svg{color:#688b7b}.details-grid{grid-template-columns:1fr 1fr;gap:9px 16px;margin:10px 0 0;display:grid}.transaction-details{grid-template-columns:repeat(3,minmax(0,1fr))}.details-grid .full{grid-column:1/-1}.details-grid dt{color:#8a979c;margin-bottom:3px;font-size:10px}.details-grid dd{color:#485e65;overflow-wrap:anywhere;margin:0;font-size:12px}.id-value{align-items:center;gap:4px;display:flex}.id-value>span{flex:1;font-family:SFMono-Regular,Consolas,monospace;font-size:10px}.id-value .icon-button{min-width:28px;min-height:28px}.reason-content{white-space:pre-wrap;background:#f7f9f9;border-radius:6px;padding:8px;line-height:1.6}.decision-section{border-top:1px solid var(--border);padding:12px 0}.decision-section form{margin-top:10px}fieldset{border:0;min-width:0;margin:0;padding:0}legend{color:#74868a;margin-bottom:10px;font-size:11px}.decision-options{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px;display:grid}.decision-options label{border:1px solid var(--border);cursor:pointer;border-radius:6px;align-items:center;gap:7px;min-height:36px;padding:6px 10px;font-size:12px;display:flex}.decision-options input{width:13px;height:13px;min-height:0;accent-color:var(--teal);margin:0 3px 0 0;padding:0}.decision-options .chosen{color:var(--teal);background:#eef7f2;border-color:#85b79f}.decision-options .reject-option.chosen{color:var(--red);background:#fcf1ef;border-color:#d69a97}.decision-options .reject-option input{accent-color:var(--red)}.reason-label{color:#6b7c82;gap:3px;margin-bottom:8px;font-size:11px;display:flex}.reason-label span{color:var(--red)}textarea{resize:vertical;min-height:64px;line-height:1.8}textarea[aria-invalid=true]{border-color:var(--red)}.textarea-meta{color:#85969a;justify-content:space-between;gap:10px;margin-top:5px;font-size:9px;display:flex}.field-error{color:var(--red);margin-top:7px;font-size:11px}.textarea-meta .field-error{margin:0;font-size:10px}.decision-hint{color:#8b795c;align-items:center;gap:5px;margin:8px 0;font-size:10px;display:flex}.submit-decision{width:100%;min-height:43px}.notification-section{background:#f8fafb;border:1px solid #e5ebed;border-radius:8px;padding:10px 12px}.section-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.notification-section>p{color:#7e8e93;margin-top:5px;font-size:11px;line-height:1.7}.notification-bottom{justify-content:space-between;align-items:center;gap:10px;margin-top:6px;display:flex}.notification-bottom>span{color:#8a979c;flex-wrap:wrap;gap:5px;font-size:9px;display:flex}.notification-bottom strong{color:#52696e;font-size:11px;font-weight:450}.notification-bottom .button{min-height:34px;font-size:11px}.drawer-footer{border-top:1px solid var(--border);color:#91a29f;align-items:center;gap:7px;margin-top:auto;padding:8px 20px;font-size:10px;display:flex}.inline-alert{color:#98603c;background:#fff8f2;border:1px solid #f0d6c7;border-radius:7px;align-items:center;gap:8px;margin:16px 20px 0;padding:12px;font-size:12px;line-height:1.7;display:flex}.decision-section .inline-alert,.drawer-body .inline-alert{margin:15px 0 0}.drawer-loading{min-height:320px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:12px;display:flex}.loader{border:2px solid #d4e5dc;border-top-color:var(--teal);border-radius:50%;width:18px;height:18px;animation:1s linear infinite spin}.timeline{margin:0;padding:0 0 0 25px;list-style:none}.timeline li{border-left:1px solid #d9e6df;padding:0 0 28px 24px;position:relative}.timeline-dot{width:25px;height:25px;color:var(--teal);background:#eaf5ee;border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:-13px}.timeline-header{justify-content:space-between;align-items:center;gap:8px;padding-top:3px;display:flex}.timeline h3{font-size:13px}.timeline time{color:var(--muted);font-size:10px}.timeline p{margin-top:12px;font-size:11px}.timeline p span{color:var(--muted);margin-left:6px}.timeline blockquote{white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f8f8;border-radius:6px;margin:12px 0;padding:13px;font-size:12px;line-height:1.8}.timeline small{color:#8c9a9e;overflow-wrap:anywhere;margin-top:6px;font-size:10px;display:block}.history-empty{min-height:230px}.spinning{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.4}}@keyframes slide-in{0%{opacity:.5;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@media (width<=1200px){.sidebar{width:190px;padding-inline:13px}.main-shell{width:calc(100% - 190px);margin-left:190px}.approval-page{padding:16px 20px 12px}.topbar{padding-inline:24px}.filter-grid{grid-template-columns:1fr 1fr}.filter-buttons{justify-content:flex-end}.approval-table th,.approval-table td{padding-inline:10px}.time-cell{white-space:normal;max-width:86px;line-height:1.7}.toast{left:calc(50% + 95px)}}@media (width<=900px){.sidebar{width:100%;padding:15px 24px 0;position:static}.app-shell{display:block}.brand{gap:7px;padding:0;font-size:24px}.brand img{width:29px;height:29px}.workspace,.nav-label,.sidebar-bottom{display:none}.sidebar nav{flex-direction:row;gap:8px;margin-top:15px}.sidebar nav a{border-bottom:0;border-radius:6px 6px 0 0;gap:7px;padding:12px 14px;font-size:12px}.sidebar nav a.active:after{display:none}.sidebar nav a svg{width:16px}.main-shell{width:100%;margin:0}.topbar{height:51px}.toast{left:50%}.table-wrap{overflow:auto}}@media (width<=640px){body{font-size:14px}.sidebar{padding-inline:18px}.sidebar nav{gap:0}.sidebar nav a{flex:1;justify-content:center;min-height:44px;padding-inline:9px}.topbar{padding-inline:18px}.topbar-label{display:none}.approval-page{padding:12px}.eyebrow{letter-spacing:1.5px;font-size:8px}.panel-heading{padding:12px 12px 10px}.panel-heading>div{gap:8px}.panel-order{display:none}.filter-form{padding:0 12px 12px}.filter-grid{grid-template-columns:1fr 1fr;gap:13px 10px}.search-field,.filter-buttons{grid-column:1/-1}.filter-buttons .button{flex:1;min-height:44px}input,select,textarea{min-height:44px;font-size:16px}label>span:first-child{font-size:12px}.input-icon svg{top:13px}.extra-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-form input,.filter-form select{min-height:44px}.filter-form .input-icon svg{top:13px}.table-wrap{overflow:visible}.approval-table,.approval-table tbody{display:block}.approval-table thead{display:none}.approval-table tr{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:10px 12px;padding:12px;display:grid}.approval-table td,.approval-table td:first-child,.approval-table td:last-child{border:0;padding:0;display:block}.approval-table td:before{content:attr(data-label);color:#87979b;margin-bottom:6px;font-size:10px;font-weight:400;display:block}.approval-table .transaction-cell{grid-column:1/-1}.row-action:before{display:none!important}.transaction-link{min-height:28px;font-size:14px}.amount-cell{font-size:14px}.align-right{text-align:left}.type-tag{font-size:13px}.type-code{margin-left:7px;font-size:9px;display:inline}.status-badge,.status-badge.subtle{font-size:12px}.time-cell{max-width:none;font-size:11px}.row-action{place-self:center end}.detail-button{background:#eef6f1;border-radius:6px;min-height:44px;padding:6px 14px;font-size:13px}.pagination{flex-direction:column;align-items:flex-start;padding:14px 16px}.pagination>div{justify-content:flex-end;width:100%}.pagination select{min-height:40px;font-size:12px}.pagination .icon-button{min-width:40px;min-height:40px}.workflow-note{align-items:flex-start;font-size:10px}.workflow-note svg{margin-top:2px}.page-footer{padding:17px 18px}.page-footer>span:last-child{display:none}.toast{width:calc(100% - 24px);font-size:12px;bottom:12px}.drawer-header{padding:6px 16px}.drawer-transaction{padding:8px 16px}.drawer-transaction>strong{font-size:24px}.drawer-tabs{padding-inline:20px}.drawer-body{padding:12px 16px}.details-grid{gap:9px 12px}.transaction-details{grid-template-columns:repeat(2,minmax(0,1fr))}.details-grid dt{font-size:11px}.details-grid dd{font-size:13px}.id-value>span{font-size:10px}.decision-options label{min-height:44px;padding:8px 9px;font-size:13px}.decision-options input{min-height:0}.reason-label{font-size:12px}.submit-decision{min-height:46px;font-size:14px}.drawer-header .icon-button,.drawer-status .icon-button{min-width:44px;min-height:44px}.notification-bottom{flex-wrap:wrap}.notification-bottom .button{min-height:44px}.timeline{padding-left:13px}.timeline-header{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.auditor-cell,.merchant-cell,.psp-cell{color:#52686e;overflow-wrap:anywhere;max-width:110px;font-size:10px}@media (width<=640px){.auditor-cell,.merchant-cell,.psp-cell{max-width:none;font-size:12px}.approval-table .row-action{grid-column:1/-1}}.reason-count{margin-left:auto}.submit-decision{margin-top:8px}.payee-account-cell{white-space:nowrap;font-variant-numeric:tabular-nums;color:#52686e}
