:root{font-family:Inter,Arial,sans-serif;color:#142536;background:#f1f4f7;font-size:16px;--dark:#101d2b;--green:#0e7764;--line:#dce3e9;--muted:#637282}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;min-height:44px;border-radius:8px;padding:10px 16px;border:1px solid transparent;font-weight:600}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{width:100%;border:1px solid #b9c6d0;border-radius:8px;padding:12px;background:#fff;color:inherit;min-height:46px}textarea{resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid #9ad8cb;outline-offset:2px}label{display:block;font-size:.9rem;font-weight:600;margin-bottom:20px}label input,label select,label textarea{margin-top:8px}h1,h2,h3,p{margin-top:0}h1{font-size:1.9rem;letter-spacing:-.04em;margin-bottom:0}h2{font-size:1.2rem;letter-spacing:-.02em}p{line-height:1.6}a{color:inherit}small,.small{display:block;font-size:.8rem;color:var(--muted);line-height:1.5;font-weight:400}.muted{color:var(--muted);font-size:.9rem}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.12em;color:var(--muted);margin-bottom:10px}.primary{background:var(--green);color:white}.primary:hover:not(:disabled){background:#095f50}.secondary{background:white;border-color:#b9c6d0;color:#183a46}.quiet{background:transparent;color:inherit;border-color:var(--line)}.wide{width:100%;margin:8px 0 12px}.error{color:#a32131}.notice{padding:14px 18px;border:1px solid #dfcd9d;background:#fff9e9;border-radius:8px;margin-bottom:24px;font-size:.9rem;line-height:1.6}.notice.error{background:#fff0f1;border-color:#efb4bc}.login-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;max-width:940px;margin:auto;padding:48px}.login-brand h1{font-size:2.8rem;margin:18px 0}.login-brand>p:first-of-type{font-size:.85rem;font-weight:700;letter-spacing:.13em}.login-brand .monogram{margin-bottom:24px}.login-card{background:white;border:1px solid var(--line);padding:36px;border-radius:16px;box-shadow:0 18px 70px #1020300b}.login-card .primary{width:100%}.monogram{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;background:#2fd0b3;color:#092b27;border-radius:10px;font-size:1.05rem;font-weight:800;letter-spacing:-.07em}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:var(--dark);color:#ced9e2;padding:30px 22px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:.8rem;font-weight:800;letter-spacing:.08em;color:white}.brand small{font-size:.8rem;margin-top:4px;font-weight:400;color:#98aab9;letter-spacing:0}.sidebar nav{margin-top:52px;display:grid;gap:10px}.nav{text-align:left;width:100%;background:transparent;color:#aabcce;font-size:.88rem}.nav.active{background:#243848;color:#fff;border-left:3px solid #31c5a8}.sidebar-bottom{margin-top:auto;display:grid;gap:10px;font-size:.9rem}.sidebar-bottom span{font-size:.8rem;color:#90a5b7}.sidebar .quiet{border-color:#344552;margin-top:10px;text-align:left}main{margin-left:236px;padding:40px 44px;max-width:1700px}.page-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:32px}.timezone{color:var(--muted);font-size:.8rem;white-space:nowrap}.transaction-grid{display:grid;grid-template-columns:minmax(380px,1.65fr) minmax(260px,1fr);gap:24px;align-items:start}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px}.card-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.card-heading h2{margin:0}.tag{font-size:.75rem;background:#e9f5f1;color:#13705e;padding:6px 9px;border-radius:6px;font-weight:600}.types{padding:0;border:0;display:flex;gap:12px;margin:22px 0}.types legend{font-size:.9rem;font-weight:600;margin-bottom:10px}.types label{display:flex;align-items:center;gap:8px;background:#f4f7f9;border:1px solid var(--line);border-radius:8px;padding:13px 15px;flex:1;margin:0}.types input{width:18px;min-height:18px;height:18px;margin:0;accent-color:var(--green)}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.money-input{display:flex;align-items:center;margin-top:8px;border:1px solid #b9c6d0;border-radius:8px}.money-input span{padding-left:14px;font-size:.9rem;color:var(--muted)}.money-input input{margin:0;border:0;min-width:0;font-size:1.15rem;font-weight:600;letter-spacing:.015em}.optional{font-size:.8rem;font-weight:400;color:var(--muted);margin-left:6px}.approval-hint{font-size:.85rem;background:#f4f7f9;border-left:3px solid #c4ced8;padding:12px 14px}.approval-hint.required{background:#fff6dd;border-color:#bc8d21;color:#715510}.result-card{border-top:4px solid var(--green)}.result-card h2{font-size:1.4rem;margin:18px 0}.result-card dl{margin:20px 0}.result-card .rule{padding-top:22px;border-top:1px solid var(--line);margin-top:22px;font-size:.85rem}.rule p{color:var(--muted);margin:8px 0 0}.result-message{overflow-wrap:anywhere}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:22px}.filters label{margin:0;min-width:145px;flex:1}.filters input,.filters select{font-size:.85rem;padding:10px}.filters button{font-size:.85rem}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.85rem;text-align:left}th{font-size:.75rem;color:var(--muted);font-weight:600;border-bottom:2px solid var(--line);padding:14px 10px;white-space:nowrap}td{padding:18px 10px;border-bottom:1px solid var(--line);line-height:1.5;vertical-align:top}td small{margin-top:4px}.right{text-align:right}.badge{font-size:.75rem;border-radius:5px;padding:5px 8px;display:inline-block;white-space:nowrap;background:#edf1f5;color:#465c70}.badge[data-status="berhasil"],.badge[data-status="berhasil_dikonfirmasi"]{background:#e2f4eb;color:#096445}.badge[data-status="menunggu_acc"],.badge[data-status="perlu_cek"]{background:#fff1cf;color:#795615}.badge[data-status="ditolak"],.badge[data-status="gagal"],.badge[data-status="gagal_dikonfirmasi"]{background:#ffe8ec;color:#a42a41}.pagination{display:flex;gap:12px;align-items:center;margin-top:22px;font-size:.85rem}.pagination span{margin-right:auto}.agent-form{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.agent-form button{justify-self:start}.spaced{margin-top:24px}footer{display:flex;gap:25px;justify-content:space-between;color:var(--muted);font-size:.75rem;line-height:1.5;margin-top:30px}dialog{border:1px solid var(--line);border-radius:12px;max-width:650px;width:calc(100% - 32px);padding:28px;max-height:85vh;overflow:auto;box-shadow:0 20px 90px #10203035}dialog::backdrop{background:#09152199}.dialog-head{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:24px}.dialog-head h2{margin:0}dl{display:grid;grid-template-columns:130px 1fr;gap:14px;font-size:.9rem;line-height:1.5}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}#resolve-form{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}.empty{text-align:center;color:var(--muted);padding:48px}.button-small{padding:7px 10px;min-height:36px;font-size:.8rem}[hidden]{display:none!important}@media(max-width:1150px){main{padding:30px 24px}.sidebar{width:210px;padding:25px 16px}main{margin-left:210px}.transaction-grid{grid-template-columns:1fr}.result-card{max-width:none}.result-card .rule{display:none}}@media(max-width:750px){.sidebar{position:static;width:auto;padding:20px;display:block}.sidebar nav{margin:22px 0 0;display:flex;flex-wrap:wrap;gap:6px}.nav{width:auto;flex:1;text-align:center;font-size:.8rem;padding:10px}.sidebar-bottom{display:flex;align-items:center;margin-top:18px;gap:12px}.sidebar-bottom .quiet{margin:0 0 0 auto;padding:7px 12px;min-height:36px}.sidebar-bottom span{display:none}main{margin:0;padding:26px 16px}.page-header{align-items:start}.timezone{display:none}h1{font-size:1.65rem}.card{padding:20px}.two-columns,.agent-form{grid-template-columns:1fr}.types label{padding:12px 9px;font-size:.82rem}.login-screen{grid-template-columns:1fr;gap:30px;padding:32px 22px;max-width:480px}.login-brand h1{font-size:2rem}.login-brand .monogram{margin-bottom:15px}.login-card{padding:25px}.filters label{min-width:130px}.filters button{flex:1}footer{display:block}footer span{display:block;margin:8px 0}dl{grid-template-columns:100px 1fr;font-size:.85rem}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s ease}}
