:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.auth-card{background:#fff;padding:40px;border-radius:16px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:450px}.auth-card h1{color:#667eea;font-size:2rem;margin-bottom:8px;text-align:center}.auth-card h2{color:#333;font-size:1.5rem;margin-bottom:32px;text-align:center;font-weight:500}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:500}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#667eea}.auth-card button[type=submit]{width:100%;margin-top:8px}.auth-footer{text-align:center;margin-top:24px;color:#666}.auth-footer a{color:#667eea;text-decoration:none;font-weight:600}.auth-footer a:hover{text-decoration:underline}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:40px;border-radius:16px;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-content h2{color:#d63031;margin-bottom:24px;font-size:1.8rem}.disclaimer-text{color:#333;line-height:1.6;margin-bottom:32px}.disclaimer-text p{margin-bottom:16px}.disclaimer-text ul{margin-left:24px;margin-bottom:16px}.disclaimer-text li{margin-bottom:8px}.disclaimer-text strong{color:#000}.disclaimer-emphasis{background:#fff3cd;padding:16px;border-radius:8px;border-left:4px solid #ffc107;font-size:1.1rem}.modal-actions{display:flex;gap:16px;justify-content:flex-end}.modal-actions button{min-width:120px}.financial-snapshot{background:#fff;padding:32px;border-radius:16px;box-shadow:0 4px 20px #0000001a;margin-bottom:32px}.financial-snapshot h2{color:#333;font-size:1.8rem;margin-bottom:8px}.snapshot-date{color:#666;font-size:.9rem;margin-bottom:24px}.no-data{color:#999;font-style:italic;padding:20px 0}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:32px}.metric-card{background:#f8f9fa;padding:20px;border-radius:12px;border:2px solid #e9ecef;transition:transform .2s,box-shadow .2s}.metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.metric-card.highlight{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.metric-card h3{font-size:.9rem;margin-bottom:8px;opacity:.8;text-transform:uppercase;letter-spacing:.5px}.metric-card.highlight h3{opacity:.9}.metric-value{font-size:1.8rem;font-weight:700}.metric-value.positive{color:#28a745}.metric-value.negative{color:#dc3545}.spending-breakdown{margin-top:32px;padding-top:32px;border-top:2px solid #e9ecef}.spending-breakdown h3{color:#333;font-size:1.3rem;margin-bottom:20px}.category-list{display:flex;flex-direction:column;gap:12px}.category-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f8f9fa;border-radius:8px}.category-name{font-weight:500;color:#333}.category-amount{font-weight:700;color:#667eea}.accounts-list{background:#fff;padding:32px;border-radius:16px;box-shadow:0 4px 20px #0000001a}.accounts-list h2{color:#333;font-size:1.8rem;margin-bottom:24px}.accounts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.account-card{background:#f8f9fa;padding:24px;border-radius:12px;border:2px solid #e9ecef;transition:transform .2s,box-shadow .2s}.account-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.account-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.account-icon{font-size:2rem}.account-info h3{color:#333;font-size:1.1rem;margin-bottom:4px}.account-subtype{color:#666;font-size:.9rem}.account-balance{padding-top:16px;border-top:1px solid #dee2e6}.balance-label{color:#666;font-size:.85rem;margin-bottom:4px}.balance-value{color:#333;font-size:1.5rem;font-weight:700}.account-available{margin-top:12px}.available-label{color:#666;font-size:.85rem;margin-bottom:4px}.available-value{color:#28a745;font-size:1.1rem;font-weight:600}.dashboard{min-height:100vh;background-color:#f5f5f5}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px 40px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #0000001a}.dashboard-header h1{font-size:1.8rem}.header-actions{display:flex;gap:16px;align-items:center}.header-actions span{font-size:1rem}.dashboard-main{max-width:1200px;margin:0 auto;padding:40px 20px}.welcome-section{background:#fff;padding:60px 40px;border-radius:16px;text-align:center;box-shadow:0 4px 20px #0000001a}.welcome-section h2{color:#333;font-size:2rem;margin-bottom:16px}.welcome-section p{color:#666;font-size:1.1rem;margin-bottom:32px}.dashboard-actions{display:flex;gap:16px;margin-bottom:32px;justify-content:flex-end}.agent-visualization{background:#fff;border-radius:8px;padding:24px;margin:24px 0;box-shadow:0 2px 4px #0000001a}.agent-visualization h2{margin:0 0 24px;color:#1f2937;font-size:24px}.no-data{text-align:center;color:#6b7280;padding:40px 0}.risk-overview{background:#f9fafb;border-radius:8px;padding:20px;margin-bottom:24px}.risk-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.risk-header h3{margin:0;color:#1f2937;font-size:18px}.safety-badge{padding:6px 12px;border-radius:20px;color:#fff;font-weight:600;font-size:14px}.risk-content{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.risk-chart{display:flex;justify-content:center;align-items:center}.risk-score-label{text-align:center}.score-value{font-size:32px;font-weight:700;color:#1f2937}.score-text{font-size:14px;color:#6b7280;margin-top:4px}.risk-details{background:#fff;padding:16px;border-radius:6px}.risk-details p{margin:0 0 8px;color:#374151}.risk-details ul{margin:0;padding-left:20px;color:#4b5563}.risk-details li{margin:4px 0}.revision-note{margin-top:12px;padding:8px;background:#fef3c7;border-left:3px solid #f59e0b;border-radius:4px;font-size:14px;color:#92400e}.agents-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.agent-card{background:#f9fafb;border-radius:8px;overflow:hidden;border:1px solid #e5e7eb;transition:transform .2s,box-shadow .2s}.agent-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.agent-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:16px;color:#fff}.agent-header h3{margin:0;font-size:16px;font-weight:600}.agent-content{padding:16px}.agent-analysis{margin-bottom:16px}.agent-analysis p{margin:0;color:#374151;line-height:1.6;font-size:14px;white-space:pre-wrap}.agent-metrics{background:#fff;padding:12px;border-radius:6px;border:1px solid #e5e7eb}.agent-metrics h4{margin:0 0 12px;font-size:14px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.metrics-list{display:flex;flex-direction:column;gap:8px}.metric-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid #f3f4f6}.metric-item:last-child{border-bottom:none}.metric-key{font-size:13px;color:#6b7280;text-transform:capitalize;flex:1}.metric-value{font-weight:600;color:#1f2937;font-size:13px;text-align:right}@media(max-width:768px){.risk-content,.agents-grid{grid-template-columns:1fr}.agent-visualization{padding:16px}}.chat-container{display:flex;flex-direction:column;height:100vh;background-color:#f5f5f5}.chat-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 40px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #0000001a}.chat-header h1{font-size:1.5rem}.header-actions{display:flex;gap:12px;align-items:center}.btn-agent-analysis{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);padding:10px 20px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s}.btn-agent-analysis:hover:not(:disabled){background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.btn-agent-analysis:disabled{opacity:.5;cursor:not-allowed}.btn-back{background:#fff3;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:1rem;transition:background .2s}.btn-back:hover{background:#ffffff4d}.disclaimer-banner{background:#fff3cd;color:#856404;padding:12px 40px;text-align:center;border-bottom:1px solid #ffeaa7}.messages-container{flex:1;overflow-y:auto;padding:32px 40px;display:flex;flex-direction:column;gap:20px}.message{display:flex;gap:12px;max-width:80%}.user-message{align-self:flex-end;flex-direction:row-reverse}.assistant-message{align-self:flex-start}.message-avatar{font-size:2rem;flex-shrink:0}.message-content{background:#fff;padding:16px 20px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.user-message .message-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.message-content p{margin:0;line-height:1.5;white-space:pre-wrap}.chat-input-form{display:flex;gap:12px;padding:20px 40px;background:#fff;border-top:1px solid #e9ecef}.chat-input{flex:1;padding:14px 20px;border:2px solid #e9ecef;border-radius:12px;font-size:1rem;transition:border-color .2s}.chat-input:focus{outline:none;border-color:#667eea}.btn-send{padding:14px 28px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s}.btn-send:hover:not(:disabled){transform:translateY(-2px)}.btn-send:disabled{opacity:.5;cursor:not-allowed}.agent-view-container{background:#fff;margin:20px 40px;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden}.agent-view-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:16px 24px;display:flex;justify-content:space-between;align-items:center}.agent-view-header h3{margin:0;font-size:18px}.btn-close-view{background:#fff3;color:#fff;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.btn-close-view:hover{background:#ffffff4d}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.5rem;color:#666}.btn-primary{background-color:#007bff;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.btn-secondary{background-color:#6c757d;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.btn-large{padding:16px 32px;font-size:1.1rem}.error-message{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;padding:12px;border-radius:8px;margin-bottom:16px}.success-message{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb;padding:12px;border-radius:8px;margin-bottom:16px}
