*{box-sizing:border-box}:root{--ink:#1a2233;--muted:#6b7280;--line:#e3e7ee;--bg:#f4f6fa;--accent:#0b5394;--accent-dark:#083b6b;--debit:#14532d;--credit:#7f1d1d}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px}.wrap{max-width:1180px;margin:0 auto;padding:24px 20px 64px}.topbar{display:flex;align-items:baseline;gap:12px;margin-bottom:18px}.topbar h1{font-size:20px;margin:0;font-weight:700;letter-spacing:.2px}.topbar .sub{color:var(--muted);font-size:13px}.controls{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;box-shadow:0 1px 2px rgba(16,24,40,.04)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px}.field input,.field select{height:38px;padding:0 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;background:#fff;color:var(--ink);min-width:220px}.field input[type=date]{min-width:170px}button{height:38px;padding:0 18px;border:0;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;color:#fff;background:var(--accent)}button:hover{background:var(--accent-dark)}button:disabled{opacity:.5;cursor:default}button.ghost{background:#fff;color:var(--accent);border:1px solid var(--accent)}button.ghost:hover{background:#f0f6fc}.msg{margin:18px 0;padding:12px 14px;border-radius:8px;font-size:13px}.msg.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.msg.warn{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.msg.empty{color:var(--muted)}.msg.empty,.report{background:#fff;border:1px solid var(--line)}.report{border-radius:12px;margin-top:20px;overflow:hidden;box-shadow:0 1px 2px rgba(16,24,40,.04)}.report-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.report-head .title{font-family:Georgia,Times New Roman,serif}.report-head .bank{font-size:18px;font-weight:700}.report-head .doc{font-size:13px;color:var(--muted);margin-top:2px}.report-head .meta{font-size:12px;color:var(--muted);margin-top:6px}.teller-band{background:#eef4fb;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 22px;font-weight:700;font-size:13px;color:var(--accent-dark);display:flex;gap:18px;flex-wrap:wrap}.teller-band .uid{color:var(--muted);font-weight:500}table{width:100%;border-collapse:collapse}thead.cols th{position:-webkit-sticky;position:sticky;top:0;background:#fafbfd;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:9px 10px;border-bottom:1px solid var(--line)}tbody td{padding:7px 10px;border-bottom:1px solid #f1f3f7;font-size:13px;vertical-align:top}tbody tr:hover td{background:#fbfcfe}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-family:SFMono-Regular,Menlo,Consolas,monospace}.debit{color:var(--debit)}.credit{color:var(--credit)}.sym{font-family:SFMono-Regular,Menlo,Consolas,monospace;font-weight:600}.sym.legacy{font-weight:500}.code,.sym.legacy{color:var(--muted)}.acct,.code{font-family:SFMono-Regular,Menlo,Consolas,monospace}.acct{color:#334;white-space:nowrap}.subtotal td{background:#f7f9fc;font-weight:700;border-top:1px solid var(--line);border-bottom:2px solid var(--line)}.tabs{display:flex;gap:4px;margin-bottom:14px;border-bottom:1px solid var(--line)}.tab{background:transparent;color:var(--muted);border:0;border-bottom:2px solid transparent;border-radius:0;height:40px;padding:0 18px;font-weight:600;font-size:14px}.tab:hover{background:#fff;color:var(--ink)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.check{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--ink);padding-bottom:9px;cursor:pointer}.check input{width:15px;height:15px}.result-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:18px 0 0;padding:10px 14px;font-size:13px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:10px}.result-bar .ok{color:var(--debit);font-weight:600}.result-bar .warn-text{color:#92400e;font-weight:600}table.tb tbody td{font-size:13px}table.tb tbody td:first-child{white-space:normal}.class-band td{background:#eef4fb;color:var(--accent-dark);font-weight:800;text-transform:uppercase;letter-spacing:.4px;font-size:12px;padding:9px 10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.acct-header td{font-weight:700}.class-total td{font-weight:700;background:#f7f9fc;border-top:1px solid var(--line);border-bottom:2px solid var(--line)}tr.grand td{font-weight:800;background:#eef4fb;border-top:2px solid var(--accent);padding:10px}.grand-note{font-weight:500;color:var(--muted);font-size:11px}.grand-foot{padding:12px 16px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);line-height:1.5}.grand-foot code{background:#eef2f7;padding:1px 5px;border-radius:4px;font-size:11px}.field input[type=file]{padding:7px 10px;min-width:320px;background:#fff}.cust-row{cursor:pointer}.cust-row:hover td{background:#f0f6fc}.cust-row .caret{color:var(--accent);font-weight:700}.cust-row .subj,.cust-row .type{color:var(--muted);font-size:12px}.cust-row .addr{font-size:12px;color:#475;max-width:320px;white-space:normal}.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}.badge.exact{background:#dcfce7;color:#14532d}.badge.possible{background:#fef3c7;color:#92400e}.muted{color:var(--muted)}.loan-panel td{background:#f9fafc;padding:0}table.loans{width:100%;margin:4px 0}table.loans thead th{background:transparent;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);padding:6px 10px;border-bottom:1px solid var(--line)}table.loans tbody td{padding:6px 10px;font-size:12px;border-bottom:1px solid #eef1f5}.pill{display:inline-block;padding:1px 8px;border-radius:12px;font-size:10px;font-weight:700}.pill.present{background:#dbeafe;color:#1e40af}.pill.past{background:#ececf0;color:#555}.summary{margin-top:22px}.summary table tbody td{font-size:13px}.summary .grand td{font-weight:800;background:#eef4fb;border-top:2px solid var(--accent)}.right{text-align:right}.center{text-align:center}.spinner{color:var(--muted);font-size:13px}