.fixed-income-dashboard{max-width:1200px;margin:0 auto;padding:24px}.fi-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.fi-header h1{color:#1a1a2e;font-size:24px;font-weight:700}.fi-tabs{background:#f0f2f5;border-radius:8px;gap:4px;padding:4px;display:flex}.fi-tabs button{cursor:pointer;color:#555;background:0 0;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .15s}.fi-tabs button.active{color:#1a1a2e;background:#fff;box-shadow:0 1px 3px #0000001a}.fi-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:32px;display:grid}.fi-card{color:#fff;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border-radius:12px;padding:20px}.fi-card h3{text-transform:uppercase;letter-spacing:.08em;color:#fff9;margin:0 0 8px;font-size:13px}.fi-card-value{margin-bottom:4px;font-size:28px;font-weight:700}.fi-card-sub{color:#fff9;font-size:13px}.fi-section{margin-bottom:32px}.fi-section h2{color:#1a1a2e;margin-bottom:16px;font-size:18px;font-weight:600}.fi-alerts{flex-direction:column;gap:8px;display:flex}.fi-alert{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #f59e0b;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;display:flex}.fi-alert-name{color:#1a1a2e;flex:1;font-weight:600}.fi-alert-bank{color:#6b7280;font-size:13px}.fi-alert-date{color:#92400e;background:#fef3c7;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600}.fi-alert-value{color:#1a1a2e;font-weight:700}.fi-badge{color:#1e40af;background:#dbeafe;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.fi-empty{color:#9ca3af;text-align:center;padding:24px;font-size:14px}.fi-list{flex-direction:column;gap:8px;display:flex}.fi-item{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:16px;padding:14px 16px;transition:all .15s;display:flex}.fi-item:hover{border-color:#6366f1;box-shadow:0 2px 8px #6366f114}.fi-item.selected{background:#eef2ff;border-color:#6366f1}.fi-item-main{flex:1;min-width:0}.fi-item-name{color:#1a1a2e;white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:block;overflow:hidden}.fi-item-type{color:#6b7280;text-transform:capitalize;font-size:12px}.fi-item-details{color:#6b7280;gap:16px;font-size:13px;display:flex}.fi-item-value{color:#1a1a2e;text-align:right;flex-direction:column;align-items:flex-end;gap:2px;font-size:15px;font-weight:700;display:flex}.fi-pnl{font-size:12px;font-weight:500}.fi-pnl.positive{color:#059669}.fi-pnl.negative{color:#dc2626}.fi-toolbar{margin-bottom:16px}.fi-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:20px;padding:20px}.fi-form h3{margin:0 0 16px;font-size:16px;font-weight:600}.fi-form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px;display:grid}.fi-form-grid label{color:#374151;flex-direction:column;gap:4px;font-size:13px;font-weight:500;display:flex}.fi-form-grid input,.fi-form-grid select{border:1px solid #d1d5db;border-radius:6px;padding:8px 10px;font-size:14px}.fi-form-actions{gap:8px;display:flex}.btn-secondary{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:8px 16px;font-size:14px}.btn-danger{color:#991b1b;cursor:pointer;background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;margin-top:12px;padding:8px 16px;font-size:14px}.btn-icon{cursor:pointer;opacity:.5;background:0 0;border:none;padding:4px 8px;font-size:16px}.fi-analytics-panel{background:#fff;border:2px solid #6366f1;border-radius:12px;margin-bottom:16px;padding:20px}.fi-analytics-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.fi-analytics-header h3{margin:0;font-size:16px;font-weight:600}.fi-analytics-header button{cursor:pointer;color:#6b7280;background:0 0;border:none;font-size:20px}.fi-analytics-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:16px;display:grid}.fi-analytics-item{background:#f9fafb;border-radius:8px;flex-direction:column;gap:4px;padding:12px;display:flex}.fi-analytics-item span{color:#6b7280;font-size:12px}.fi-analytics-item strong{color:#1a1a2e;font-size:18px}.fi-loading{color:#6b7280;justify-content:center;align-items:center;gap:12px;padding:60px;display:flex}.fi-error{text-align:center;color:#dc2626;padding:40px}.fi-error button{margin-left:12px}.spinner{border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;width:24px;height:24px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.positive{color:#059669}.negative{color:#dc2626}.commodity-dashboard{max-width:1200px;margin:0 auto;padding:24px}.commodity-dashboard .dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.commodity-dashboard .dashboard-header h2{color:#1a1a2e;margin:0;font-size:24px;font-weight:700}.commodity-dashboard .header-actions{gap:8px;display:flex}.commodity-dashboard .tab-bar{background:#f0f2f5;border-radius:8px;gap:4px;margin-bottom:24px;padding:4px;display:flex}.commodity-dashboard .tab-bar button{cursor:pointer;color:#555;background:0 0;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .15s}.commodity-dashboard .tab-bar button.active{color:#1a1a2e;background:#fff;box-shadow:0 1px 3px #0000001a}.commodity-dashboard .overview-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.commodity-dashboard .summary-card{color:#fff;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border-radius:12px;padding:20px}.commodity-dashboard .summary-card h3{color:#e0e0e0;border-bottom:1px solid #ffffff1a;margin:0 0 16px;padding-bottom:8px;font-size:16px;font-weight:600}.commodity-dashboard .stat-row{justify-content:space-between;align-items:center;padding:6px 0;font-size:14px;display:flex}.commodity-dashboard .stat-row span:first-child{color:#a0a0a0}.commodity-dashboard .stat-row span:last-child{color:#fff;font-weight:600}.commodity-dashboard .metal-row{color:#e0e0e0;justify-content:space-between;padding:6px 0;font-size:14px;display:flex}.commodity-dashboard .alert-card{border:1px solid #ffc10766}.commodity-dashboard .alert-row{color:#ffc107;justify-content:space-between;padding:6px 0;font-size:13px;display:flex}.commodity-dashboard .positive{color:#4caf50}.commodity-dashboard .negative{color:#f44336}.commodity-dashboard .badge{text-transform:uppercase;background:#ffffff26;border-radius:4px;padding:2px 8px;font-size:12px}.commodity-dashboard .form-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;margin-bottom:24px;padding:24px}.commodity-dashboard .form-card h3{color:#1a1a2e;margin:0 0 20px;font-size:18px}.commodity-dashboard .form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:20px;display:grid}.commodity-dashboard .form-grid label{color:#555;flex-direction:column;gap:4px;font-size:13px;font-weight:500;display:flex}.commodity-dashboard .form-grid label input,.commodity-dashboard .form-grid label select,.commodity-dashboard .form-grid label textarea{color:#1a1a2e;background:#fafafa;border:1px solid #d0d0d0;border-radius:6px;padding:8px 10px;font-size:14px}.commodity-dashboard .form-grid label textarea{resize:vertical;min-height:60px}.commodity-dashboard .form-actions{gap:8px;display:flex}.commodity-dashboard .empty-state{text-align:center;color:#888;padding:48px;font-size:15px}.commodity-dashboard .data-table{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 3px #00000014}.commodity-dashboard .data-table th{text-align:left;color:#555;text-transform:uppercase;letter-spacing:.5px;background:#f5f5f5;padding:10px 12px;font-size:12px;font-weight:600}.commodity-dashboard .data-table td{color:#333;border-top:1px solid #f0f0f0;padding:10px 12px;font-size:14px}.commodity-dashboard .data-table tr:hover td{background:#fafafa}.commodity-dashboard .btn-primary{color:#fff;cursor:pointer;background:#1a1a2e;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .15s}.commodity-dashboard .btn-primary:hover{background:#2a2a4e}.commodity-dashboard .btn-primary:disabled{opacity:.6;cursor:not-allowed}.commodity-dashboard .btn-secondary{color:#333;cursor:pointer;background:#f0f2f5;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .15s}.commodity-dashboard .btn-secondary:hover{background:#e0e2e5}.commodity-dashboard .btn-icon{cursor:pointer;opacity:.6;background:0 0;border:none;padding:2px 4px;font-size:14px}.commodity-dashboard .btn-icon:hover{opacity:1}.commodity-dashboard .loading{text-align:center;color:#888;padding:48px;font-size:16px}.commodity-dashboard .error-banner{color:#c62828;background:#ffebee;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.esg-dashboard{max-width:1200px;margin:0 auto;padding:24px}.esg-header h1{color:#1a1a2e;margin:0 0 4px;font-size:28px;font-weight:700}.esg-header p{color:#666;margin:0 0 24px}.esg-tabs{flex-wrap:wrap;gap:4px;margin-bottom:24px;display:flex}.esg-tab{cursor:pointer;color:#666;background:#f0f0f0;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.esg-tab.active{color:#fff;background:#2e7d32}.esg-tab:hover:not(.active){background:#e0e0e0}.esg-score-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.esg-score-card{background:#fff;border:1px solid #e8e8e8;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014}.esg-score-card.main{color:#fff;background:linear-gradient(135deg,#2e7d32,#43a047);border:none}.esg-score-card.main .card-label{color:#ffffffd9}.esg-score-card.main .card-sub{color:#ffffffb3}.card-label{color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:13px}.card-value{margin-bottom:4px;font-size:36px;font-weight:700}.card-value.env{color:#2e7d32}.card-value.social{color:#1565c0}.card-value.gov{color:#6a1b9a}.card-sub{color:#999;font-size:13px}.esg-carbon-card{background:#fff;border:1px solid #e8e8e8;border-radius:12px;margin-bottom:24px;padding:20px;box-shadow:0 2px 8px #00000014}.esg-carbon-card h3{color:#1a1a2e;margin:0 0 16px;font-size:18px}.carbon-stats{flex-wrap:wrap;gap:24px;display:flex}.carbon-stat{flex-direction:column;gap:4px;display:flex}.stat-label{color:#888;text-transform:uppercase;font-size:12px}.stat-value{color:#333;font-size:18px;font-weight:600}.stat-value.warn{color:#d32f2f}.esg-distribution-card{background:#fff;border:1px solid #e8e8e8;border-radius:12px;margin-bottom:24px;padding:20px;box-shadow:0 2px 8px #00000014}.esg-distribution-card h3{color:#1a1a2e;margin:0 0 16px;font-size:18px}.rating-bars{flex-direction:column;gap:8px;display:flex}.rating-bar-row{align-items:center;gap:12px;display:flex}.rating-badge{color:#fff;text-align:center;border-radius:4px;min-width:36px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-block}.bar-track{background:#f0f0f0;border-radius:6px;flex:1;height:12px;overflow:hidden}.bar-fill{border-radius:6px;height:100%;transition:width .3s}.bar-count{color:#555;min-width:20px;font-size:14px;font-weight:600}.esg-section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.esg-section-header h3{color:#1a1a2e;margin:0;font-size:18px}.esg-table{border-collapse:collapse;width:100%;margin-top:12px}.esg-table th{text-align:left;text-transform:uppercase;color:#888;background:#f5f5f5;border-bottom:2px solid #e0e0e0;padding:10px 12px;font-size:12px}.esg-table td{color:#333;border-bottom:1px solid #f0f0f0;padding:10px 12px;font-size:14px}.esg-table tr:hover{background:#fafafa}.alerts-list{flex-direction:column;gap:12px;margin-top:12px;display:flex}.alert-card{background:#fff;border-left:4px solid #f44336;border-radius:10px;padding:16px;box-shadow:0 1px 4px #00000014}.alert-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.alert-ticker{color:#1a1a2e;font-size:16px;font-weight:700}.alert-severity{color:#fff;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.alert-headline{color:#333;margin-bottom:4px;font-weight:500}.alert-desc{color:#666;margin-bottom:8px;font-size:13px}.alert-footer{justify-content:space-between;align-items:center;display:flex}.alert-date{color:#999;font-size:12px}.alert-actions{gap:8px;display:flex}.excl-type-badge{text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.excl-type-badge.negative_screening{color:#e65100;background:#fff3e0}.excl-type-badge.ethical_exclusion{color:#c2185b;background:#fce4ec}.btn-primary{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500}.btn-primary:disabled{cursor:not-allowed;background:#a5d6a7}.btn-dismiss{color:#666;cursor:pointer;background:#f5f5f5;border:1px solid #ddd;border-radius:6px;padding:4px 12px;font-size:12px}.btn-dismiss:hover{background:#eee}.btn-danger-sm{color:#c62828;cursor:pointer;background:#ffebee;border:1px solid #ef9a9a;border-radius:6px;padding:4px 10px;font-size:12px}.btn-danger-sm:hover{background:#ffcdd2}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:480px;max-width:95vw;max-height:90vh;padding:24px;overflow-y:auto}.modal h3{color:#1a1a2e;margin:0 0 20px;font-size:20px}.form-grid{gap:12px;display:grid}.form-grid label{color:#555;flex-direction:column;gap:4px;font-size:13px;font-weight:500;display:flex}.form-grid input,.form-grid select{border:1px solid #ddd;border-radius:8px;margin-top:2px;padding:8px 12px;font-size:14px}.form-grid input:focus,.form-grid select:focus{border-color:#2e7d32;outline:none}.modal-actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.screen-results{flex-direction:column;gap:24px;display:flex}.compliance-card{text-align:center;background:#fff;border:1px solid #e8e8e8;border-radius:12px;width:200px;padding:20px;box-shadow:0 2px 8px #00000014}.flagged-list,.screened-section{background:#fff;border:1px solid #e8e8e8;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014}.flagged-section h4,.screened-section h4{color:#1a1a2e;margin:0 0 12px;font-size:16px}.flagged-item{border-bottom:1px solid #f0f0f0;align-items:center;gap:12px;padding:8px 0;display:flex}.flagged-item:last-child{border-bottom:none}.flagged-ticker{color:#1a1a2e;min-width:60px;font-weight:700}.flagged-name{color:#666;flex:1;font-size:13px}.flagged-reason{color:#c62828;background:#ffebee;border-radius:4px;padding:2px 8px;font-size:12px}.esg-loading,.esg-empty{text-align:center;color:#888;padding:48px;font-size:16px}.esg-error{text-align:center;color:#f44336;padding:48px;font-size:16px}.app{min-height:100vh}.navbar{color:#fff;z-index:100;background-color:#1a1a2e;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0;box-shadow:0 2px 4px #0000001a}.navbar h1{font-size:1.5rem}.nav-links{gap:2rem;list-style:none;display:flex}.nav-links a{color:#fff;border-radius:4px;padding:.25rem .5rem;font-weight:500;text-decoration:none;transition:color .2s}.nav-links a:hover{color:#4fc3f7;background:#ffffff1a}.nav-links a.active{color:#4fc3f7;border-bottom:2px solid #4fc3f7}.nav-auth{align-items:center;gap:.75rem;display:flex}.nav-user{color:#4fc3f7;font-size:.9rem}.btn-nav{color:#1a1a2e!important;background:#4fc3f7!important;border-radius:4px!important;padding:.4rem .75rem!important;font-weight:600!important}.btn-nav:hover{color:#1a1a2e!important;background:#81d4fa!important}.btn-logout{color:#ccc;cursor:pointer;background:0 0;border:1px solid #666;border-radius:4px;padding:.3rem .75rem;font-size:.85rem}.btn-logout:hover{color:#fff;border-color:#999}.btn-lang-switch{color:#4caf50;cursor:pointer;background:0 0;border:1px solid #4caf50;border-radius:4px;margin-right:.5rem;padding:.3rem .6rem;font-size:.8rem}.btn-lang-switch:hover{color:#fff;background:#4caf50}.auth-container{justify-content:center;align-items:center;min-height:60vh;display:flex}.auth-card{background:#1e1e3f;border-radius:12px;width:100%;max-width:400px;padding:2rem;box-shadow:0 4px 20px #0000004d}.auth-card h2{text-align:center;color:#fff;margin-bottom:1.5rem}.auth-error{color:#fff;text-align:center;background:#ff4757;border-radius:6px;margin-bottom:1rem;padding:.75rem;font-size:.9rem}.auth-card .form-group{margin-bottom:1rem}.auth-card label{color:#aaa;margin-bottom:.4rem;font-size:.9rem;display:block}.auth-card input{color:#fff;box-sizing:border-box;background:#0d0d1a;border:1px solid #333;border-radius:6px;width:100%;padding:.75rem;font-size:1rem}.auth-card input:focus{border-color:#4fc3f7;outline:none}.btn-primary{color:#1a1a2e;cursor:pointer;background:#4fc3f7;border:none;border-radius:6px;width:100%;margin-top:.5rem;padding:.75rem;font-size:1rem;font-weight:600}.btn-primary:hover{background:#81d4fa}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-link{text-align:center;color:#aaa;margin-top:1rem}.auth-link a{color:#4fc3f7;text-decoration:none}.auth-link a:hover{text-decoration:underline}.auth-demo-hint{text-align:center;color:#666;margin-top:1rem;font-size:.85rem}.loading{color:#4fc3f7;justify-content:center;align-items:center;min-height:200px;font-size:1.2rem;display:flex}.main-content{max-width:1200px;margin:0 auto;padding:1.5rem}@media (width<=768px){.navbar{flex-direction:column;gap:1rem;padding:1rem}.navbar h1{font-size:1.25rem}.nav-links{flex-wrap:wrap;justify-content:center;gap:1rem}.nav-links a{font-size:.9rem}.main-content{padding:1rem}}@media (width<=480px){.navbar h1{font-size:1.1rem}.nav-links{gap:.5rem}.nav-links a{padding:.25rem .4rem;font-size:.85rem}}@media (width<=768px){.stock-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))!important;gap:.75rem!important}.indices-grid{grid-template-columns:repeat(2,1fr)!important}}@media (width<=480px){.stock-grid{grid-template-columns:1fr 1fr!important;gap:.5rem!important}.stock-card{padding:.75rem!important}.stock-price{font-size:1.25rem!important}}*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}#root{min-height:100vh}
