*{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:#000;color:#fff;min-height:100vh}.app{min-height:100vh;padding:2rem}.dashboard{max-width:1400px;margin:0 auto}.dashboard-header{text-align:center;margin-bottom:3rem}.logo{height:50px;margin-bottom:1.5rem}.dashboard-header h1{font-size:2.5rem;font-weight:300;letter-spacing:1px}.error-banner{background-color:#f44;color:#fff;padding:1rem 1.5rem;margin-bottom:2rem;border-radius:8px;text-align:center;font-weight:500}.error-banner p{margin:0}.funds-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.fund-card{background:linear-gradient(145deg,#1a1a1a,#0d0d0d);border:1px solid #333;border-radius:12px;padding:2rem;cursor:pointer;transition:all .3s ease}.fund-card:hover{transform:translateY(-5px);border-color:#555;box-shadow:0 10px 30px #ffffff1a}.fund-card.loading,.fund-card.no-data{cursor:default;opacity:.6}.fund-card.loading:hover,.fund-card.no-data:hover{transform:none}.fund-card h2{font-size:1.8rem;margin-bottom:1.5rem;color:#fff;font-weight:400}.fund-metrics{display:flex;flex-direction:column;gap:1rem}.metric-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #222}.metric-row-main{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem;padding-top:1rem;border-top:2px solid #333}.metric-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.metric-label{color:#999;font-size:.9rem}.metric-value{color:#fff;font-size:1.1rem;font-weight:500}.metric-value.highlight{color:#4caf50;font-size:1.4rem;font-weight:600}.fund-detail{max-width:1600px;margin:0 auto}.back-button{color:#999;cursor:pointer;margin-bottom:2rem;display:inline-block;padding:.5rem 0;transition:color .3s ease}.back-button:hover{color:#fff}.fund-header{text-align:center;margin-bottom:3rem}.fund-header h1{font-size:2.5rem;font-weight:300;letter-spacing:1px}.metrics-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.metric-block{background:linear-gradient(145deg,#1a1a1a,#0d0d0d);border:1px solid #333;border-radius:12px;padding:2rem;text-align:center;transition:all .3s ease}.metric-block:hover{border-color:#555}.metric-block.highlight{border-color:#4caf50;background:linear-gradient(145deg,#1a2a1a,#0d1a0d)}.metric-block .metric-label{color:#999;font-size:.9rem;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:1px}.metric-block .metric-value{color:#fff;font-size:2rem;font-weight:600}.metric-block.highlight .metric-value{color:#4caf50}.breakdown-section{margin-top:3rem}.breakdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.breakdown-header h2{font-size:2rem;font-weight:300}.view-toggle{display:flex;gap:.5rem;background:#1a1a1a;padding:.25rem;border-radius:8px}.view-toggle button{padding:.75rem 1.5rem;background:transparent;border:none;color:#999;cursor:pointer;border-radius:6px;transition:all .3s ease;font-size:.95rem}.view-toggle button:hover:not(:disabled){color:#fff}.view-toggle button.active{background:#333;color:#fff}.view-toggle button:disabled{cursor:not-allowed;opacity:.5}.investment-type-header{font-size:1.5rem;font-weight:400;margin:2rem 0 1rem;color:#4caf50}.investments-table-container{overflow-x:auto;margin-bottom:3rem;border-radius:12px;border:1px solid #333}.investments-table{width:100%;border-collapse:collapse;background:#0d0d0d}.investments-table thead{background:#1a1a1a}.investments-table th{padding:1rem;text-align:left;font-weight:500;color:#999;text-transform:uppercase;font-size:.85rem;letter-spacing:1px;border-bottom:2px solid #333;cursor:pointer;transition:color .3s ease}.investments-table th:hover{color:#fff}.investments-table td{padding:1rem;border-bottom:1px solid #1a1a1a;color:#ddd}.investments-table tbody tr{transition:background-color .2s ease}.investments-table tbody tr:hover{background:#1a1a1a}.investments-table tbody tr.loss-row{background:#f443361a;border-left:3px solid #f44336}.investments-table tbody tr.loss-row:hover{background:#f4433626}.investment-name{font-weight:500;color:#fff;display:flex;align-items:center;gap:8px}.info-icon{background:none;border:1px solid #666;color:#999;border-radius:50%;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;padding:0;transition:all .2s;flex-shrink:0}.info-icon:hover{border-color:#4caf50;color:#4caf50;background:#4caf501a}.token-value{font-size:.85em;color:#999;margin-top:2px;display:block}.totals-row{background:#0d0d0d!important;border-top:2px solid #4CAF50!important;font-weight:600}.totals-row td{padding:16px 12px!important;color:#fff}.totals-row:hover{background:#0d0d0d!important}.status{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}.status.active{background:#4caf5033;color:#4caf50}.status.distributing{background:#2196f333;color:#2196f3}.status.unreleased{background:#9c27b033;color:#9c27b0}.status.completed{background:#9e9e9e33;color:#9e9e9e}.status.refunded{background:#ff980033;color:#ff9800}.status.exited{background:#9e9e9e33;color:#9e9e9e}.positive{color:#4caf50}.negative{color:#f44336}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#1a1a1a;border:1px solid #333;border-radius:8px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #00000080}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #333;position:sticky;top:0;background:#1a1a1a;z-index:1}.modal-header h3{margin:0;color:#4caf50;font-size:1.2em}.modal-close{background:none;border:none;color:#999;font-size:32px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s;line-height:1}.modal-close:hover{color:#fff}.modal-body{padding:24px}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 0;border-bottom:1px solid #2a2a2a;gap:16px}.detail-row:last-of-type{border-bottom:none}.detail-row.highlight{background:#4caf501a;padding:16px;margin:12px -12px;border-radius:4px;border:1px solid #4CAF50}.detail-label{font-weight:600;color:#999;min-width:150px;flex-shrink:0}.detail-value{color:#fff;font-weight:500;text-align:right;word-break:break-word}.detail-value.tx-hash{font-family:monospace;font-size:.9em;color:#4caf50;word-break:break-all}.detail-section{margin-top:24px;padding-top:24px;border-top:2px solid #333}.detail-section h4{margin:0 0 16px;color:#4caf50;font-size:1em}.transaction-list{background:#0d0d0d;border-radius:4px;padding:12px;max-height:300px;overflow-y:auto}.transaction-item{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;padding:8px;border-bottom:1px solid #2a2a2a;font-size:.9em}.transaction-item:last-child{border-bottom:none}.transaction-more{padding:12px 8px;text-align:center;color:#999;font-style:italic}.fund-detail.loading,.fund-detail.error{text-align:center;padding:4rem 2rem}.fund-detail.loading p,.fund-detail.error p{font-size:1.2rem;color:#999}@media (max-width: 768px){.app{padding:1rem}.dashboard-header h1,.fund-header h1{font-size:2rem}.funds-grid{grid-template-columns:1fr}.metrics-blocks{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.breakdown-header{flex-direction:column;align-items:flex-start;gap:1rem}.investments-table{font-size:.85rem}.investments-table th,.investments-table td{padding:.75rem .5rem}}.missing-symbols-banner{background:linear-gradient(135deg,#2a3f5f,#1e2d3d);border-left:4px solid #4a90e2;margin-bottom:24px;border-radius:8px;box-shadow:0 4px 12px #4a90e226;animation:slideDown .3s ease-out;overflow:hidden}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.banner-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;transition:background .2s}.banner-header:hover{background:#ffffff0d}.banner-title{display:flex;align-items:center;gap:12px;flex:1;color:#fff}.banner-title strong{font-size:15px;font-weight:600}.banner-count{font-size:13px;color:#ffffffb3;font-weight:400}.banner-controls{display:flex;align-items:center;gap:8px}.banner-toggle{background:#ffffff1a;border:none;color:#fff;font-size:14px;width:28px;height:28px;border-radius:4px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.banner-toggle:hover{background:#fff3}.banner-content{padding:0 20px 20px;color:#fff}.banner-icon{font-size:20px;flex-shrink:0}.banner-message{flex:1;color:#fff}.banner-message strong{display:block;font-size:16px;margin-bottom:8px}.banner-message p{margin:6px 0;font-size:14px;line-height:1.5}.banner-instructions{opacity:.8;font-size:13px;margin-top:12px}.banner-instructions a{color:#4a90e2;text-decoration:underline;font-weight:500}.banner-instructions a:hover{color:#5ba3f5}.banner-help{font-size:13px;opacity:.9}.banner-help a{color:#4a90e2;text-decoration:underline;font-weight:600}.banner-help a:hover{color:#5ba3f5}.banner-dismiss{background:#ffffff1a;border:none;color:#fff;font-size:18px;width:28px;height:28px;border-radius:4px;cursor:pointer;flex-shrink:0;transition:all .2s;display:flex;align-items:center;justify-content:center}.banner-dismiss:hover{background:#fff3}.manual-price-section{margin-top:16px;padding:16px;background:#0000004d;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.manual-price-section p{margin:0 0 12px;font-size:14px}.manual-price-input-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.manual-price-input-row label{font-weight:600;min-width:60px;text-transform:uppercase;font-size:13px}.manual-price-input{flex:1;max-width:150px;padding:6px 12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:14px;transition:all .2s}.manual-price-input:focus{outline:none;background:#ffffff26;border-color:#4a90e2}.manual-price-input::placeholder{color:#fff6}.set-price-button{padding:6px 16px;background:#4a90e2;border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.set-price-button:hover{background:#5ba3f5;transform:translateY(-1px);box-shadow:0 2px 8px #4a90e24d}.set-price-button:active{transform:translateY(0)}.manual-price-indicator{color:#999;font-size:14px;margin-left:4px;cursor:help}.manual-pricing-note{margin:12px 0 24px;padding:10px 16px;background:#ffffff0d;border-left:3px solid #999;border-radius:4px;font-size:13px;color:#999;font-style:italic}
