:root{--bg: #f4f5f7;--panel: #ffffff;--border: #dde1e6;--text: #1c2024;--muted: #6b7280;--accent: #2f6fed;--accent-hover: #2559c9;--danger: #d64545;color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--panel);border-right:1px solid var(--border);padding:20px 12px;flex-shrink:0}.sidebar h1{font-size:16px;margin:0 0 20px 8px}.sidebar nav a{display:block;padding:8px 10px;border-radius:6px;color:var(--text);margin-bottom:2px}.sidebar nav a.active{background:var(--accent);color:#fff}.sidebar nav a:hover{text-decoration:none;background:#eef1f5}.sidebar nav a.active:hover{background:var(--accent-hover)}.main{flex:1;padding:28px 32px;max-width:1100px}.main h2{margin-top:0}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:18px;margin-bottom:18px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--text)}.sort-ind{font-size:10px}tr.row-link{cursor:pointer}tr.row-link:hover td{background:#f6f8fb}.bank-tile:hover{border-color:var(--accent)}input,select,button,textarea{font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:#fff}button{background:var(--accent);color:#fff;border-color:var(--accent);cursor:pointer}button:hover{background:var(--accent-hover)}button.secondary{background:#fff;color:var(--text);border-color:var(--border)}button.secondary:hover{background:#eef1f5}.form-row{display:flex;gap:12px;margin-bottom:12px;flex-wrap:wrap}.form-row label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.form-row label input,.form-row label select{min-width:180px}.error{color:var(--danger);margin:8px 0}.muted{color:var(--muted)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#eef1f5;font-size:12px}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%}.login-card{width:320px}
