body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{display:flex;flex-direction:column;min-height:100vh}.header{background:linear-gradient(135deg,#1e40af,#1e3a8a);box-shadow:0 4px 6px rgba(0,0,0,.1);color:#fff;padding:2rem;text-align:center}.header h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.subtitle{font-size:1rem;font-weight:300;opacity:.9}.tabs{background-color:#fff;border-bottom:2px solid #e2e8f0;display:flex;gap:.5rem;padding:0 2rem}.tab{background:none;border:none;border-bottom:3px solid transparent;color:#64748b;cursor:pointer;font-size:1rem;font-weight:500;padding:1rem 2rem;transition:all .3s ease}.tab:hover{background-color:#f8f9fa;color:#1e40af}.tab.active{border-bottom-color:#1e40af;color:#1e40af}.content{flex:1 1;margin:0 auto;max-width:1400px;padding:2rem;width:100%}.dashboard h2,.patterns h2,.prediction-market h2{color:#1e293b;font-size:1.75rem;margin-bottom:1.5rem}.dashboard h3{color:#475569;font-size:1.25rem;margin:2rem 0 1rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.12);transform:translateY(-4px)}.stat-value{color:#1e40af;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.stat-label{color:#64748b;font-size:.875rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.transactions-list{display:flex;flex-direction:column;gap:1rem}.transaction-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:1.5rem}.tx-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.tx-id{color:#1e293b;font-size:1.1rem;font-weight:600}.tx-status{border-radius:20px;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.tx-status.flagged{background-color:#fee2e2;color:#dc2626}.tx-status.approved{background-color:#d1fae5;color:#059669}.tx-status.review{background-color:#fef3c7;color:#d97706}.tx-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.tx-row{display:flex;font-size:.95rem;justify-content:space-between}.tx-row .label{color:#64748b;font-weight:500}.tx-row .value{color:#1e293b;font-weight:600}.tx-row .risk-score{color:#dc2626}.risk-bar{background-color:#e2e8f0;border-radius:4px;height:8px;margin-top:1rem;overflow:hidden}.risk-fill{height:100%;transition:width .3s ease}.market-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:2rem}.market-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.market-header h3{color:#1e293b;font-size:1.25rem;margin:0}.market-status{background-color:#d1fae5;border-radius:20px;color:#059669;font-size:.875rem;font-weight:600;padding:.5rem 1rem}.risk-score-large{background:linear-gradient(135deg,#1e40af,#1e3a8a);border-radius:12px;color:#fff;margin-bottom:2rem;padding:2rem;text-align:center}.score-label{font-size:1rem;margin-bottom:.5rem;opacity:.9}.score-value{font-size:4rem;font-weight:700;margin-bottom:1rem}.score-action{background-color:hsla(0,0%,100%,.2);border-radius:8px;display:inline-block;font-size:1.25rem;font-weight:600;padding:.75rem 1.5rem}.market-card h4{color:#1e293b;font-size:1.1rem;margin:2rem 0 1rem}.predictions-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.prediction-item{background-color:#f8f9fa;border-left:4px solid #1e40af;border-radius:8px;padding:1rem}.pred-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.bank-name{color:#1e293b;font-size:1.05rem;font-weight:600}.confidence{color:#1e40af;font-weight:600}.pred-details{color:#64748b;display:flex;font-size:.875rem;gap:1.5rem;margin-bottom:.75rem}.confidence-bar{background-color:#e2e8f0;border-radius:3px;height:6px;overflow:hidden}.confidence-fill{background:linear-gradient(90deg,#1e40af,#1e3a8a);height:100%}.market-info{background-color:#f8f9fa;border-radius:8px;margin-top:2rem;padding:1.5rem}.market-info p{color:#475569;font-size:.95rem;margin-bottom:.5rem}.patterns-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.pattern-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:1.5rem;transition:transform .2s ease}.pattern-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.12);transform:translateY(-4px)}.pattern-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.pattern-header h4{color:#1e293b;font-size:1.1rem;margin:0}.pattern-category{background-color:#dbeafe;border-radius:20px;color:#1e40af;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.pattern-stats{display:flex;justify-content:space-around;margin-bottom:1rem}.pattern-stat{text-align:center}.stat-number{color:#1e40af;display:block;font-size:2rem;font-weight:700;margin-bottom:.25rem}.stat-text{color:#64748b;display:block;font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.pattern-id{border-top:1px solid #e2e8f0;color:#94a3b8;font-size:.875rem;padding-top:1rem;text-align:center}.pattern-info{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:2rem}.pattern-info h3{color:#1e293b;font-size:1.25rem;margin-bottom:1rem}.pattern-info ol{margin-bottom:1.5rem;margin-left:1.5rem}.pattern-info li{color:#475569;line-height:1.6;margin-bottom:.75rem}.privacy-note{background-color:#f0fdf4;border-left:4px solid #22c55e;border-radius:4px;color:#166534;font-size:.95rem;line-height:1.6;padding:1rem}.footer{background-color:#1e293b;color:#fff;margin-top:auto;padding:1.5rem;text-align:center}.footer p{font-size:.875rem;margin:0;opacity:.8}@media (max-width:768px){.header h1{font-size:1.75rem}.subtitle{font-size:.875rem}.tabs{padding:0 1rem}.tab{font-size:.875rem;padding:.75rem 1rem}.content{padding:1rem}.stats-grid{grid-template-columns:1fr}.score-value{font-size:3rem}.patterns-grid{grid-template-columns:1fr}}