.auth-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e293b,#1a56db);padding:1rem}.auth-card{width:100%;max-width:420px;padding:2.5rem}.auth-logo{font-size:1.6rem;font-weight:800;color:var(--primary);margin-bottom:1rem}.auth-card h2{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.auth-subtitle{color:var(--muted);font-size:.9rem;margin-bottom:1.8rem}.field{margin-bottom:1rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.auth-btn{width:100%;padding:.75rem;font-size:1rem;margin-top:.5rem}.auth-link{text-align:center;margin-top:1.5rem;font-size:.9rem;color:var(--muted)}.auth-link a{color:var(--primary);font-weight:600}.dashboard h1{font-size:1.6rem;font-weight:700}.dashboard .subtitle{color:var(--muted);margin-bottom:1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{text-align:center}.stat-label{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:2rem;font-weight:700;color:var(--primary);margin-top:.3rem}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 700px){.dashboard-grid{grid-template-columns:1fr}}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h2{font-size:1rem;font-weight:700}.view-all{font-size:.85rem;color:var(--primary)}.account-row{display:flex;justify-content:space-between;align-items:center;padding:.7rem 0;border-bottom:1px solid var(--border)}.account-row:last-child{border-bottom:none}.acc-type{font-weight:600;text-transform:capitalize;font-size:.9rem}.acc-number{font-size:.75rem;color:var(--muted)}.acc-balance{font-weight:700;font-size:1rem}.tx-row{display:flex;align-items:center;gap:.8rem;padding:.6rem 0;border-bottom:1px solid var(--border)}.tx-row:last-child{border-bottom:none}.tx-type-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;padding:.2rem .5rem;border-radius:4px;flex-shrink:0}.tx-desc{flex:1;font-size:.875rem;color:var(--muted)}.tx-amount{font-weight:700;font-size:.9rem}.tx-amount.credit{color:var(--success)}.tx-amount.debit{color:var(--danger)}.loading{padding:2rem;color:var(--muted)}.empty{color:var(--muted);font-size:.9rem;padding:1rem 0}.keda-panel{margin-top:1.5rem}.keda-desc{font-size:.85rem;color:var(--muted);margin-bottom:1rem;line-height:1.5}.keda-thresholds{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;font-size:.8rem}.keda-thresholds span{background:var(--bg);padding:.4rem .7rem;border-radius:6px;border:1px solid var(--border)}.keda-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.85rem;transition:background .2s}.btn-ghost:hover:not(:disabled){background:var(--bg)}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background:var(--danger);color:#fff;padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;transition:opacity .2s}.btn-danger:hover:not(:disabled){opacity:.9}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.keda-status{font-size:.85rem;color:var(--muted)}.keda-result{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:1rem}.keda-msg{font-weight:600;color:var(--success);margin-bottom:.8rem;font-size:.9rem}.queue-depths{display:flex;flex-direction:column;gap:.5rem}.queue-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#fff;border-radius:4px;font-size:.85rem}.queue-name{font-family:monospace;color:var(--muted)}.queue-len{font-weight:700;color:var(--text)}.queue-len.active{color:var(--primary)}.accounts-page h1{font-size:1.6rem;font-weight:700}.accounts-page .subtitle{color:var(--muted)}.open-account-form{margin-bottom:1.5rem;max-width:400px}.open-account-form h3{margin-bottom:1rem}.open-account-form .field{margin-bottom:.8rem}.accounts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.account-card{border-top:4px solid var(--primary);padding:1.5rem}.account-card.savings{border-top-color:#0e9f6e}.account-card.checking{border-top-color:#1a56db}.account-card.loan{border-top-color:#e3a008}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.acc-type-label{font-size:.8rem;font-weight:700;text-transform:uppercase;color:var(--muted);letter-spacing:.05em}.status-badge{font-size:.7rem;font-weight:700;padding:.15rem .5rem;border-radius:999px}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.acc-balance-large{font-size:2rem;font-weight:800;margin-bottom:.5rem}.acc-number-display{font-size:.8rem;color:var(--muted);font-family:monospace}.acc-currency{font-size:.75rem;color:var(--muted);margin-top:.25rem}.transactions-page h1{font-size:1.6rem;font-weight:700}.transactions-page .subtitle{color:var(--muted)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.tx-form{margin-bottom:1.5rem}.tx-form h3{margin-bottom:1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media (max-width: 600px){.form-grid{grid-template-columns:1fr}}.tx-table-wrapper{padding:0;overflow-x:auto}.tx-table{width:100%;border-collapse:collapse;font-size:.9rem}.tx-table th,.tx-table td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--border)}.tx-table th{font-size:.8rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:#f9fafb}.tx-table tbody tr:hover{background:#f9fafb}.tx-table tbody tr:last-child td{border-bottom:none}.tx-type-badge{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;padding:.2rem .5rem;border-radius:4px}.tx-type-badge.deposit{background:#d1fae5;color:#065f46}.tx-type-badge.withdrawal{background:#fee2e2;color:#991b1b}.tx-type-badge.transfer{background:#dbeafe;color:#1e40af}.credit{color:var(--success);font-weight:700}.debit{color:var(--danger);font-weight:700}.status-dot.completed{color:var(--success);font-weight:600;font-size:.8rem}.empty-state{text-align:center;padding:3rem;color:var(--muted)}.layout{display:flex;min-height:100vh}.sidebar{width:240px;background:#1e293b;color:#e2e8f0;display:flex;flex-direction:column;padding:1.5rem 1rem;flex-shrink:0}.sidebar-brand{display:flex;align-items:center;gap:.6rem;font-size:1.3rem;font-weight:700;color:#fff;padding-bottom:2rem;border-bottom:1px solid #334155;margin-bottom:1.5rem}.brand-icon{font-size:1.5rem}.sidebar-nav{display:flex;flex-direction:column;gap:.3rem;flex:1}.nav-link{display:block;padding:.7rem 1rem;border-radius:6px;color:#94a3b8;font-size:.95rem;transition:background .15s,color .15s}.nav-link:hover{background:#334155;color:#fff}.nav-link.active{background:var(--primary);color:#fff}.sidebar-footer{border-top:1px solid #334155;padding-top:1rem;display:flex;flex-direction:column;gap:.8rem}.user-info{display:flex;align-items:center;gap:.7rem}.avatar{width:36px;height:36px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:#fff;flex-shrink:0}.user-name{font-size:.85rem;font-weight:600;color:#e2e8f0}.user-email{font-size:.75rem;color:#94a3b8}.main-content{flex:1;padding:2rem;overflow-y:auto}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #1a56db;--primary-dark: #1e429f;--success: #0e9f6e;--danger: #e02424;--bg: #f3f4f6;--surface: #ffffff;--border: #e5e7eb;--text: #111827;--muted: #6b7280;--radius: 8px;--shadow: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;outline:none;border-radius:var(--radius);font-size:.9rem;font-weight:600;padding:.6rem 1.2rem;transition:background .2s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--border);color:var(--text)}.btn-secondary:hover{background:#d1d5db}input,select{width:100%;padding:.6rem .8rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.95rem;background:var(--surface);color:var(--text);outline:none;transition:border-color .2s}input:focus,select:focus{border-color:var(--primary)}label{font-size:.85rem;font-weight:600;color:var(--muted);display:block;margin-bottom:.3rem}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.error-msg{color:var(--danger);font-size:.85rem;margin-top:.4rem}
