:root{--bg: #eef1f7;--surface: #ffffff;--surface-2: #f7f9fc;--border: #e6e9f0;--text: #161a23;--muted: #8a91a3;--primary: #4f46e5;--primary-700: #4338ca;--blue: #3b82f6;--green: #10b981;--violet: #8b5cf6;--amber: #f59e0b;--red: #ef4444;--cyan: #06b6d4;--radius: 18px;--radius-sm: 12px;--shadow: 0 1px 2px rgba(16,24,40,.04), 0 12px 32px rgba(16,24,40,.06);--shadow-hover: 0 8px 28px rgba(79,70,229,.14)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-size:15px;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.02em}.muted{color:var(--muted);font-size:14px}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.78rem}.hide-sm{display:inline}.brand{display:flex;align-items:center;gap:10px;cursor:pointer}.brand strong{font-size:18px}.brand h1{font-size:22px}.brand-logo{height:30px;width:auto;border-radius:9px;object-fit:contain}.brand-logo.lg{height:44px}button{font:inherit;cursor:pointer;border:none}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-700));color:#fff;padding:12px 18px;border-radius:var(--radius-sm);font-weight:600;transition:filter .15s,transform .05s,box-shadow .15s;box-shadow:0 6px 16px #4f46e540}.btn-primary:hover{filter:brightness(1.05)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.55;cursor:default;box-shadow:none}.btn-primary.sm{padding:9px 14px;font-size:14px}.btn-success{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:12px 18px;border-radius:var(--radius-sm);font-weight:600;transition:filter .15s,transform .05s;box-shadow:0 6px 16px #10b98147}.btn-success:hover{filter:brightness(1.05)}.btn-success:active{transform:translateY(1px)}.btn-success.sm{padding:9px 14px;font-size:14px}.btn-success:disabled{opacity:.55;cursor:default;box-shadow:none}.btn-success .bx{font-size:16px}.btn-ghost{background:var(--surface);color:var(--text);padding:9px 14px;border-radius:var(--radius-sm);font-weight:600;border:1px solid var(--border);transition:background .15s,border-color .15s}.btn-ghost:hover{background:var(--surface-2);border-color:#d7dbe6}.btn-ghost.sm{padding:7px 12px;font-size:14px}.btn-ghost.xs{padding:5px 10px;font-size:12px}.btn-ghost:disabled{opacity:.5;cursor:default}.btn-danger{background:#fff;color:var(--red);border:1px solid #f6c9c9;padding:9px 14px;border-radius:var(--radius-sm);font-weight:600;transition:background .15s}.btn-danger:hover{background:#fef2f2}.btn-danger.xs{padding:5px 9px;font-size:12px}.btn-danger:disabled{opacity:.5;cursor:default}.link{background:none;color:var(--primary);font-weight:600;padding:0}input{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-size:14px;background:var(--surface-2);color:var(--text);transition:border-color .15s,box-shadow .15s}input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e526;background:#fff}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#4b5563}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(1000px 560px at 50% -8%,#e6e7ff 0%,var(--bg) 55%)}.auth-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow)}.auth-card .brand{justify-content:center;flex-direction:column;gap:12px}.auth-card form{display:flex;flex-direction:column;gap:15px}.alert{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;padding:10px 12px;border-radius:var(--radius-sm);font-size:14px}.note-ok{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;padding:10px 12px;border-radius:var(--radius-sm);font-size:14px}.switch{margin:20px 0 0;font-size:14px;color:var(--muted);text-align:center}.turnstile{min-height:65px;display:flex;justify-content:center}.app{min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.topbar-right{display:flex;align-items:center;gap:12px}.container{max-width:1200px;margin:0 auto;padding:28px 24px 64px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px;flex-wrap:wrap}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-head h3{font-size:17px}.status{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600}.status-dot{width:8px;height:8px;border-radius:50%}.status.online{color:var(--green)}.status.online .status-dot{background:var(--green);box-shadow:0 0 0 4px #10b98126}.status.offline{color:var(--muted)}.status.offline .status-dot{background:var(--muted)}.badge{font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px}.badge.ok{background:#ecfdf5;color:#047857}.role-badge{margin-left:8px;font-size:11px;font-weight:700;text-transform:uppercase;color:#fff;background:var(--violet);padding:2px 7px;border-radius:999px;letter-spacing:.03em}.sess-badge{font-size:11px;font-weight:700;text-transform:uppercase;padding:3px 9px;border-radius:999px;letter-spacing:.03em}.sess-badge.active{background:#ecfdf5;color:#047857}.sess-badge.expired{background:#fef2f2;color:var(--red)}.apk-btn{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-700));border:none;border-radius:var(--radius-sm);padding:7px 14px;font-weight:600;font-size:13px;box-shadow:0 4px 12px #4f46e54d;transition:filter .15s,transform .05s,box-shadow .15s}.apk-btn i{font-size:16px}.apk-btn:hover{filter:brightness(1.08);box-shadow:0 6px 18px #4f46e566}.apk-btn:active{transform:translateY(1px)}.userid-box{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f1f0ff;border:1px solid #ddd9fb;border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:18px;font-size:14px}.userid-box.admin{color:#5b21b6;font-weight:600}.userid{font-family:ui-monospace,monospace;font-size:13px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:4px 8px;color:var(--primary);word-break:break-all}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:18px;align-items:start}.acc-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:transform .18s,box-shadow .18s}.acc-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}.acc-open{width:100%;text-align:left;background:transparent;padding:20px}.acc-open-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}.acc-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:22px;background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:var(--green);flex-shrink:0}.acc-alias{font-size:16px;font-weight:700}.acc-owner{font-size:12px}.acc-balance-label{font-size:12px;color:var(--muted);font-weight:600}.acc-balance-value{font-size:26px;font-weight:800;color:var(--green);letter-spacing:-.02em}.wh-section{border-top:1px solid var(--border)}.wh-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--surface-2);font-weight:600;font-size:14px;color:#4b5563}.wh-toggle:hover{background:#eef1f7}.wh-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--muted);margin-left:4px;vertical-align:middle}.wh-dot.on{background:var(--green)}.webhook-box{padding:16px 20px}.wh-label{display:block;font-size:12px;font-weight:700;color:#4b5563;margin:0 0 6px}.wh-url{margin-bottom:14px}.wh-headers-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.wh-headers-head .wh-label{margin:0}.wh-empty{font-size:13px;margin:0 0 12px}.wh-header-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-bottom:8px}.wh-save{margin-top:6px;width:100%}.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);display:flex;align-items:center;gap:16px}.stat-ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:24px;flex-shrink:0}.stat-ico.primary{background:#eef0ff;color:var(--primary)}.stat-ico.green{background:#e9fbf3;color:var(--green)}.stat-ico.violet{background:#f3eefe;color:var(--violet)}.stat-ico.amber{background:#fef5e7;color:var(--amber)}.stat-ico.cyan{background:#e6f9fc;color:var(--cyan)}.stat-ico.blue{background:#e8f1fe;color:var(--blue)}.stat-meta{min-width:0}.stat-label{font-size:13px;color:var(--muted);font-weight:600}.stat-value{font-size:24px;font-weight:800;letter-spacing:-.01em;line-height:1.15;word-break:break-word}.stat-value.sm{font-size:18px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}.panel-head h3{font-size:17px}.panel-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.search{max-width:280px}.tx-toolbar{display:flex;justify-content:flex-end;gap:10px;margin-bottom:14px;flex-wrap:wrap}.detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px;flex-wrap:wrap}.detail-title{display:flex;align-items:center;gap:12px}.detail-title h2{font-size:22px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.tx-table{width:100%;border-collapse:collapse;font-size:14px;min-width:820px}.tx-table thead th{background:var(--surface-2);text-align:left;padding:12px 14px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.tx-table th.num,.tx-table td.num{text-align:right}.tx-table th.sortable{cursor:pointer;transition:color .12s}.tx-table th.sortable:hover{color:var(--text)}.tx-table th.sortable.active{color:var(--primary)}.sort-ind{margin-left:5px;opacity:.55;font-size:11px}.tx-table th.active .sort-ind{opacity:1}.tx-table tbody td{padding:12px 14px;border-bottom:1px solid #f1f3f8}.tx-table tbody tr:last-child td{border-bottom:none}.tx-table tbody tr:hover{background:var(--surface-2)}.td-empty{text-align:center;color:var(--muted);padding:30px 0!important}.nowrap{white-space:nowrap}.num.strong{font-weight:700}.tag{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px}.tag.credit{background:#ecfdf5;color:#047857}.tag.debit{background:#fef2f2;color:var(--red)}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;flex-wrap:wrap}.pager-btns{display:flex;gap:8px}.empty{color:var(--muted);font-size:14px;padding:28px 0;text-align:center}.bar-chart{width:100%;height:220px;display:block}.bar-chart .bar{fill:url(#barGrad)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#10182880;display:grid;place-items:center;padding:20px;z-index:100;animation:fadeIn .12s ease}.modal{background:var(--surface);border-radius:var(--radius);padding:28px;width:100%;max-width:400px;box-shadow:0 1rem 3rem #00000040;animation:pop .14s ease}.modal h3{font-size:18px;margin-bottom:8px}.modal p{margin:0 0 22px}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.date-range{display:flex;gap:12px;margin-bottom:22px}.date-range label{flex:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.bank-select-wrap{position:relative;width:100%}.bank-select-trigger{display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);cursor:pointer;transition:border-color .15s,box-shadow .15s}.bank-select-trigger.open{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e526;background:#fff}.bank-select-trigger.disabled{opacity:.5;cursor:default}.bank-select-ico{font-size:16px;color:var(--muted);flex-shrink:0}.bank-select-arrow{font-size:16px;color:var(--muted);flex-shrink:0;margin-left:auto}.bank-select-input{flex:1;border:none;background:transparent;font:inherit;font-size:14px;color:var(--text);padding:0;outline:none;width:0;cursor:pointer}.bank-select-input:focus{cursor:text}.bank-select-input::placeholder{color:var(--muted)}.bank-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);max-height:220px;overflow-y:auto;animation:pop .1s ease}.bank-select-option{padding:10px 14px;font-size:14px;cursor:pointer;transition:background .1s}.bank-select-option:hover{background:var(--surface-2)}.bank-select-option.selected{background:#4f46e512;color:var(--primary);font-weight:600}.bank-select-empty{padding:12px 14px;font-size:14px;color:var(--muted);text-align:center}.btn-transfer-dana{display:inline-flex;align-items:center;gap:7px;background:linear-gradient(135deg,var(--primary),var(--primary-700));color:#fff;padding:10px 18px;border-radius:var(--radius-sm);font-weight:600;font-size:14px;transition:filter .15s,transform .05s;box-shadow:0 4px 14px #4f46e547}.btn-transfer-dana:hover:not(:disabled){filter:brightness(1.07)}.btn-transfer-dana:active:not(:disabled){transform:translateY(1px)}.btn-transfer-dana:disabled{opacity:.5;cursor:default;box-shadow:none}.btn-transfer-dana.sm{padding:9px 15px}.btn-transfer-bank{display:inline-flex;align-items:center;gap:7px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;padding:10px 18px;border-radius:var(--radius-sm);font-weight:600;font-size:14px;transition:filter .15s,transform .05s;box-shadow:0 4px 14px #2563eb47}.btn-transfer-bank:hover:not(:disabled){filter:brightness(1.07)}.btn-transfer-bank:active:not(:disabled){transform:translateY(1px)}.btn-transfer-bank:disabled{opacity:.5;cursor:default;box-shadow:none}.btn-transfer-bank.sm{padding:9px 15px}.modal-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:22px;margin-bottom:14px}.modal-icon.dana{background:#4f46e51a;color:var(--primary)}.modal-icon.bank{background:#2563eb1a;color:#2563eb}.modal-icon.otp{background:#f59e0b1f;color:var(--amber)}.modal-icon.sheets{background:#16a34a1a;color:#16a34a}.sheets-setup-modal{max-width:520px}.sheets-steps{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.sheets-step{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5}.step-num{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--primary);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;margin-top:1px}.sheets-email-box{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface-2);border:1.5px solid var(--border);border-radius:var(--radius-sm)}.sheets-email-box code{flex:1;font-size:12px;color:var(--text);word-break:break-all}.btn-copy-small{padding:4px 8px;border-radius:7px;background:var(--surface);border:1.5px solid var(--border);color:var(--muted);font-size:14px;display:grid;place-items:center;transition:background .15s}.btn-copy-small:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.sheets-global-panel{margin-bottom:20px;padding:0;overflow:hidden}.sheets-global-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;padding:16px 20px;font-size:14px;font-weight:600;cursor:pointer;color:var(--text)}.sheets-global-toggle:hover{background:var(--surface-2)}.sheets-global-badge{display:inline-block;margin-left:10px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px}.sheets-global-badge.on{background:#ecfdf5;color:#047857}.sheets-global-badge.off{background:#fef2f2;color:var(--red)}.sheets-global-body{padding:16px 20px 20px;border-top:1px solid var(--border)}.sheets-tutorial{display:flex;flex-direction:column;gap:10px}.sheets-tutorial-step{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.5}.sheets-tutorial-step .step-num{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--primary);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;margin-top:1px}.sheets-tutorial-step--note{background:#f0fdf4;border:1.5px solid #bbf7d0;border-radius:var(--radius-sm);padding:10px 14px}.card-sheets-row{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-top:1px solid var(--border);background:var(--surface-2)}.card-sheets-label{font-size:13px;font-weight:600;color:#4b5563;display:flex;align-items:center}.sheets-toggle-btn{padding:4px 14px;border-radius:20px;font-size:12px;font-weight:700;border:none;cursor:pointer;transition:background .15s,color .15s;min-width:46px}.sheets-toggle-btn.on{background:var(--green);color:#fff}.sheets-toggle-btn.off{background:#e5e7eb;color:#6b7280}.sheets-toggle-btn:disabled{opacity:.6;cursor:not-allowed}.modal-fields{display:flex;flex-direction:column;gap:14px;margin-bottom:22px}.btn-sheets-toggle{display:inline-flex;align-items:center;gap:7px;border-radius:var(--radius-sm);border:none;font-size:13px;font-weight:700;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s;padding:9px 15px;letter-spacing:.01em}.btn-sheets-toggle.on{background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;box-shadow:0 4px 14px #16a34a4d}.btn-sheets-toggle.on:hover:not(:disabled){filter:brightness(1.07)}.btn-sheets-toggle.off{background:var(--surface);color:var(--muted);border:1.5px solid var(--border);box-shadow:none}.btn-sheets-toggle.off:hover:not(:disabled){border-color:#16a34a;color:#16a34a}.btn-sheets-toggle:disabled{opacity:.6;cursor:default}.btn-sheets-open{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:var(--radius-sm);background:#16a34a14;color:#16a34a;border:1.5px solid rgba(22,163,74,.25);font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s}.btn-sheets-open:hover{background:#16a34a26;border-color:#16a34a}.check-row{display:flex;gap:8px;align-items:stretch}.check-row input{flex:1}.btn-check{padding:0 14px;border-radius:var(--radius-sm);border:1.5px solid var(--primary);background:transparent;color:var(--primary);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.btn-check:hover:not(:disabled){background:var(--primary);color:#fff}.btn-check:disabled{opacity:.45;cursor:default}.check-result{display:flex;align-items:center;gap:6px;font-size:13px;margin-top:4px;padding:6px 10px;border-radius:8px}.check-result.ok{background:#10b9811a;color:#059669}.check-result .bx{font-size:15px}.transfer-select{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-size:14px;background:var(--surface-2);color:var(--text);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:border-color .15s,box-shadow .15s}.transfer-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e526;background:#fff}.transfer-select:disabled{opacity:.5;cursor:default}.transfer-toast{position:fixed;bottom:28px;right:28px;z-index:200;display:flex;align-items:center;gap:10px;background:#1e2330;color:#fff;padding:14px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;box-shadow:0 8px 28px #0000004d;animation:pop .15s ease;max-width:340px}.transfer-toast .bx{font-size:18px;flex-shrink:0}.transfer-toast.success .bx{color:var(--green)}.transfer-toast.error{background:#2a1515}.transfer-toast.error .bx{color:var(--red)}@media (max-width: 900px){.stat-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.hide-sm{display:none}.container{padding:20px 14px 48px}.topbar{padding:12px 14px}.card-grid{grid-template-columns:1fr}.stat-cards{grid-template-columns:1fr 1fr}.search{max-width:100%}.detail-title h2{font-size:19px}}.sub-topbar-btn{display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;font:inherit;cursor:pointer;transition:background .15s}.sub-topbar-btn:hover,.sub-topbar-btn.active{background:var(--surface-2);border-color:#d7dbe6}.sub-topbar-badge{font-size:12px;font-weight:700;padding:2px 8px;border-radius:20px;background:var(--surface-2);color:var(--muted)}.sub-topbar-badge.green{background:#dcfce7;color:#166534}.sub-topbar-badge.cyan{background:#cffafe;color:#164e63}.sub-topbar-badge.red{background:#fee2e2;color:#991b1b}.sub-required-banner{display:flex;align-items:center;gap:10px;background:#fef9ec;border:1px solid #f3d077;border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:16px;font-size:14px;color:#92400e}.sub-required-banner .bx{font-size:18px;flex-shrink:0}.sub-badge{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px}.sub-badge--green{background:#dcfce7;color:#166534}.sub-badge--cyan{background:#cffafe;color:#164e63}.sub-badge--red{background:#fee2e2;color:#991b1b}.sub-badge--muted{background:var(--surface-2);color:var(--muted)}.sub-status-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;box-shadow:var(--shadow)}.sub-status-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.sub-status-info{display:flex;flex-direction:column;gap:2px}.sub-label{font-size:12px;color:var(--muted);font-weight:600}.sub-value{font-size:15px;font-weight:700}.sub-days-left{text-align:center;flex-shrink:0}.sub-days-num{display:block;font-size:32px;font-weight:800;color:var(--green);line-height:1}.sub-days-txt{font-size:12px;color:var(--muted)}.sub-plan-card{background:linear-gradient(135deg,#f0f0ff,#e8f4f8);border:1px solid #c7d7f0;border-radius:var(--radius);padding:20px 24px;margin-bottom:16px}.sub-plan-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.sub-plan-name{font-size:17px;font-weight:800}.sub-plan-price{margin-left:auto;font-size:18px;font-weight:800;color:var(--primary)}.sub-plan-features{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:6px}.sub-plan-features li{display:flex;align-items:center;gap:8px;font-size:14px}.sub-plan-features .bx-check{color:var(--green);font-size:16px}.sub-plan-note{font-size:13px;margin:0;display:flex;align-items:center;gap:6px}.sub-payment-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;box-shadow:var(--shadow)}.sub-payment-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.sub-payment-head h4{margin:0;font-size:15px}.sub-qr-wrap{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap}.sub-qr-img{width:180px;height:180px;border-radius:var(--radius-sm);border:2px solid var(--border)}.sub-qr-info{flex:1;min-width:180px}.sub-qr-amount{font-size:22px;font-weight:800;color:var(--primary);margin-bottom:8px}.sub-qr-countdown{font-size:13px;color:var(--amber);display:flex;align-items:center;gap:5px}.note-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;border-radius:var(--radius-sm);padding:10px 14px;font-size:14px}.admin-user-list{display:flex;flex-direction:column;gap:0}.admin-user-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.admin-user-row:last-child{border-bottom:none}.admin-user-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1}.admin-user-name{font-weight:700;font-size:14px}.admin-user-uname{font-size:13px}.admin-user-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.merchant-balance-row{display:flex;gap:32px;flex-wrap:wrap;padding:4px 0}.merchant-balance-item{display:flex;flex-direction:column;gap:4px}.pay-status-badge{display:inline-block;font-size:12px;font-weight:700;padding:2px 10px;border-radius:20px}.pay-status--berhasil{background:#dcfce7;color:#166534}.pay-status--pending{background:#fef9ec;color:#92400e}.pay-status--expired,.pay-status--failed{background:#fee2e2;color:#991b1b}.hist-table{width:100%;border-collapse:collapse;font-size:13px}.hist-table th{text-align:left;padding:8px 12px;background:var(--surface-2);font-weight:700;font-size:12px;color:var(--muted);border-bottom:1px solid var(--border)}.hist-table td{padding:9px 12px;border-bottom:1px solid var(--border)}.hist-table tr:last-child td{border-bottom:none}.hist-table tr:hover td{background:var(--surface-2)}.log-panel{background:#0f1117;border-radius:var(--radius-sm);padding:12px;height:300px;overflow-y:auto;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;display:flex;flex-direction:column;gap:2px}.log-empty{color:#555;font-style:italic}.log-row{display:flex;gap:10px;align-items:baseline;line-height:1.5}.log-time{color:#555;flex-shrink:0}.log-type{font-weight:700;padding:0 5px;border-radius:4px;font-size:10px;flex-shrink:0}.log-type--dana{background:#1e3a5f;color:#60a5fa}.log-type--sheets{background:#14532d;color:#4ade80}.log-alias{color:#c084fc;flex-shrink:0;min-width:80px}.log-msg{color:#e2e8f0}.log-info .log-msg{color:#94a3b8}.log-warn .log-msg{color:#fbbf24}.log-error .log-msg{color:#f87171}.log-success .log-msg{color:#4ade80}.btn-ghost.active{background:var(--primary);color:#fff;border-color:var(--primary)}
