.performance-chart{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.chart-title h3{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.chart-performance{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.performance{font-weight:600;padding:.25rem .5rem;border-radius:4px;font-size:.85rem}.performance.positive{color:var(--success-color);background:var(--success-bg)}.performance.negative{color:var(--error-color);background:var(--error-bg)}.period-label{color:var(--text-secondary);font-size:.8rem}.cached-indicator{font-size:.8rem;opacity:.7}.period-tabs{display:flex;gap:.25rem;background:var(--bg-secondary);padding:.25rem;border-radius:6px;border:1px solid var(--border-color)}.period-tab{padding:.5rem .75rem;border:none;background:transparent;color:var(--text-secondary);font-size:.85rem;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s ease;min-width:40px}.period-tab:hover:not(:disabled){background:var(--bg-primary);color:var(--text-primary)}.period-tab.active{background:var(--accent-color);color:#fff;box-shadow:0 1px 3px #0000001a}.period-tab:disabled{opacity:.5;cursor:not-allowed}.chart-container{position:relative;min-height:300px;display:flex;align-items:center;justify-content:center}.chart-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-secondary)}.loading-spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top:3px solid var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}.chart-error{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--error-color);text-align:center}.retry-button{padding:.5rem 1rem;background:var(--accent-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;transition:background-color .2s ease}.retry-button:hover{background:var(--accent-hover)}.chart-empty{color:var(--text-secondary);text-align:center;font-style:italic}@media (max-width: 768px){.chart-header{flex-direction:column;align-items:stretch;gap:.75rem}.period-tabs{justify-content:center}.period-tab{flex:1;min-width:0}.chart-performance{justify-content:center}}:root{--bg: #0b0d12;--card: #1a2029;--text: #e6e8eb;--muted: #9aa4b2;--accent: #2563eb;--pos: #16a34a;--neg: #dc2626;--border-color: rgba(255, 255, 255, .06);--bg-secondary: rgba(255, 255, 255, .02);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius: 8px;--font-s: 12px;--font-m: 14px;--font-l: 16px;--font-xl: 20px;--font-2xl: 24px}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";line-height:1.4}.container{padding:var(--space-6)}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-5)}.card{background:var(--card);border-radius:var(--radius);padding:var(--space-5);border:1px solid rgba(255,255,255,.06);box-shadow:0 1px 2px #0000004d}.card:hover{border-color:#ffffff1f}.kpis{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-5)}.section-two-col{grid-column:1 / -1;display:grid;grid-template-columns:2fr 1fr;gap:var(--space-5)}@media (max-width: 900px){.kpis{grid-template-columns:1fr 1fr}.section-two-col{grid-template-columns:1fr}}.muted{color:var(--muted)}.btn{background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:8px 12px;cursor:pointer}.btn:disabled{opacity:.6;cursor:not-allowed}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.06);font-size:var(--font-m)}.table th{color:var(--muted);font-weight:600}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.badge-pos{color:var(--pos)}.badge-neg{color:var(--neg)}.badge-warn{background:#ffc10733;color:#ffc107;padding:2px 6px;border-radius:4px;font-size:.75rem;font-weight:500}.small{font-size:var(--font-s)}.title{font-size:var(--font-xl);font-weight:700;margin:0 0 var(--space-3) 0}.subtitle{font-size:var(--font-m);margin:0;color:var(--muted)}.value-pos{color:var(--pos)}.value-neg{color:var(--neg)}.skeleton{background:#ffffff0f;border-radius:var(--radius);position:relative;overflow:hidden}.skeleton:after{content:"";position:absolute;top:0;left:-40%;bottom:0;width:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);animation:shimmer 1.2s infinite}@keyframes shimmer{0%{transform:translate(0)}to{transform:translate(250%)}}.skeleton-kpi{height:84px}.skeleton-table{height:260px}.skeleton-chart{height:220px}.skeleton-list{height:160px}.positions-split-view{display:grid;grid-template-rows:auto 1fr;gap:var(--space-5);grid-column:1 / -1}.positions-list{background:var(--card);border-radius:var(--radius);padding:var(--space-5);border:1px solid rgba(255,255,255,.06);box-shadow:0 1px 2px #0000004d;height:fit-content}.positions-list:hover{border-color:#ffffff1f}.position-detail{background:var(--card);border-radius:var(--radius);padding:var(--space-5);border:1px solid rgba(255,255,255,.06);box-shadow:0 1px 2px #0000004d;height:fit-content}.position-detail:hover{border-color:#ffffff1f}.position-row{cursor:pointer;transition:background-color .2s ease}.position-row:hover{background-color:#ffffff0a}.position-row.selected{background-color:#2563eb26;border-left:3px solid var(--accent)}.position-closed{opacity:.5;color:var(--muted)}.position-closed td{color:var(--muted)!important}.position-tabs{margin-bottom:var(--space-4)}.position-tabs-nav{display:flex;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:var(--space-4)}.position-tab-button{background:none;border:none;padding:var(--space-3) var(--space-4);color:var(--muted);border-bottom:2px solid transparent;cursor:pointer;font-size:var(--font-m);font-weight:400;transition:all .2s ease}.position-tab-button:hover{color:var(--text)}.position-tab-button.active{color:var(--text);border-bottom-color:var(--accent);font-weight:500}.position-chart-placeholder{background:#ffffff08;padding:var(--space-4);border-radius:var(--radius);border:1px solid rgba(255,255,255,.06);text-align:center;min-height:300px;display:flex;align-items:center;justify-content:center}@media (max-width: 768px){.positions-split-view{gap:var(--space-4)}}.app-layout{height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);background:var(--card);border-bottom:1px solid rgba(255,255,255,.1)}.main-content{flex:1;display:flex;overflow:hidden}.page-content{flex:1;overflow-y:auto;padding:var(--space-6)}.navigation{width:200px;background:var(--card);border-right:1px solid rgba(255,255,255,.1);padding:var(--space-4) 0}.nav-links{display:flex;flex-direction:column;gap:var(--space-1)}.nav-link{display:block;padding:var(--space-3) var(--space-4);color:var(--muted);text-decoration:none;font-size:var(--font-m);transition:all .2s ease;border-left:3px solid transparent}.nav-link:hover{color:var(--text);background:#ffffff0d}.nav-link.active{color:var(--accent);background:#2563eb1a;border-left-color:var(--accent)}@media (max-width: 768px){.main-content{flex-direction:column}.navigation{width:100%;order:2}.nav-links{flex-direction:row;justify-content:center;padding:var(--space-2) 0}.nav-link{border-left:none;border-bottom:3px solid transparent;text-align:center;min-width:80px}.nav-link.active{border-left:none;border-bottom-color:var(--accent)}.page-content{order:1;padding:var(--space-4)}}.import-page{max-width:900px;margin:0 auto;padding:2rem}.page-header{text-align:center;margin-bottom:2rem}.page-header h1{color:var(--text-primary);margin-bottom:.5rem}.page-header p{color:var(--text-secondary);font-size:1.1rem}.import-content{margin-top:2rem}.import-progress{margin-bottom:2rem}.progress-steps{display:flex;justify-content:space-between;align-items:flex-start;position:relative}.progress-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative}.step-indicator{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:.5rem;z-index:2;position:relative}.progress-step.upcoming .step-indicator{background:var(--bg-secondary);border:2px solid var(--border-color);color:var(--text-secondary)}.progress-step.active .step-indicator{background:var(--accent-color);border:2px solid var(--accent-color);color:#fff}.progress-step.completed .step-indicator{background:var(--success-color);border:2px solid var(--success-color);color:#fff}.step-number{font-weight:600;font-size:.9rem}.step-content{text-align:center}.step-label{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.step-description{font-size:.85rem;color:var(--text-secondary)}.step-connector{position:absolute;top:20px;left:50%;right:-50%;height:2px;background:var(--border-color);z-index:1}.step-connector.completed{background:var(--success-color)}.progress-step:last-child .step-connector{display:none}.file-upload{background:var(--bg-primary);border-radius:8px;padding:2rem}.step-header{text-align:center;margin-bottom:2rem}.step-header h2{color:var(--text-primary);margin-bottom:.5rem}.step-header p{color:var(--text-secondary)}.upload-section,.account-selection{margin-bottom:2rem}.account-selection label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.account-selection select{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:1rem}.account-selection select:focus{outline:none;border-color:var(--accent-color)}.detected-account{padding:1rem;background:var(--success-color-light);border:2px solid var(--success-color);border-radius:8px;margin-bottom:1rem}.detected-account label{color:var(--success-color);font-weight:600;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.account-info{display:flex;flex-direction:column;gap:.25rem}.account-info strong{color:var(--text-primary);font-size:1.1rem}.depot-info{color:var(--text-secondary);font-size:.9rem;font-family:monospace}.file-drop-zone{border:2px dashed var(--border-color);border-radius:8px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .2s ease;background:var(--bg-secondary)}.file-drop-zone:hover{border-color:var(--accent-color);background:var(--bg-primary)}.file-drop-zone.drag-over{border-color:var(--accent-color);background:var(--accent-color-light)}.file-drop-zone.has-file{border-color:var(--success-color);background:var(--bg-primary)}.file-prompt{color:var(--text-secondary)}.upload-icon{font-size:3rem;margin-bottom:1rem}.upload-text{font-size:1.1rem;margin-bottom:.5rem}.upload-hint{font-size:.9rem;color:var(--text-muted)}.file-selected{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-primary);border-radius:4px;border:1px solid var(--success-color)}.file-icon{font-size:2rem}.file-info{flex:1;text-align:left}.file-name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.file-size{color:var(--text-secondary);font-size:.9rem}.remove-file{background:var(--error-color);color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;display:flex;align-items:center;justify-content:center}.upload-info{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color)}.upload-info h3{color:var(--text-primary);margin-bottom:1rem}.upload-info ul,.upload-info ol{color:var(--text-secondary);margin-left:1.5rem}.upload-info li{margin-bottom:.5rem}.exchange-selection{background:var(--bg-primary);border-radius:8px;padding:2rem}.instruments-list{margin-bottom:2rem}.instrument-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.instrument-header{margin-bottom:1rem}.instrument-header h3{color:var(--text-primary);margin-bottom:.25rem;font-family:monospace}.instrument-name{color:var(--text-secondary);font-size:.9rem}.exchange-options{display:flex;flex-direction:column;gap:.75rem}.exchange-option{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .2s ease}.exchange-option:hover{background:var(--bg-primary);border-color:var(--accent-color)}.exchange-option input[type=radio]:checked+.exchange-details{color:var(--accent-color)}.exchange-option input[type=radio]:checked{accent-color:var(--accent-color)}.exchange-details{flex:1}.exchange-primary{display:flex;align-items:center;gap:1rem;margin-bottom:.25rem}.exchange-field,.symbol-field,.asset-type-field,.uic-field,.currency-field{display:flex;align-items:center;gap:.5rem}.field-label{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;min-width:fit-content}.exchange-name{font-weight:600;color:var(--text-primary)}.symbol{font-family:monospace;color:var(--text-secondary);background:var(--bg-primary);padding:.25rem .5rem;border-radius:4px;font-size:.85rem}.asset-type{font-weight:600;color:var(--accent-color);background:var(--accent-color-light);padding:.25rem .5rem;border-radius:4px;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.exchange-secondary{display:flex;align-items:center;gap:1rem;font-size:.85rem;color:var(--text-muted)}.uic{font-family:monospace}.currency{background:var(--bg-primary);padding:.125rem .375rem;border-radius:3px}.selection-status{text-align:center;padding:1rem;background:var(--warning-bg);border:1px solid var(--warning-color);border-radius:4px;color:var(--warning-color)}.import-results{background:var(--bg-primary);border-radius:8px;padding:2rem;text-align:center}.result-header{margin-bottom:2rem}.success-icon,.error-icon{font-size:4rem;margin-bottom:1rem}.result-header h2{color:var(--text-primary)}.result-summary{margin-bottom:2rem}.summary-cards{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.summary-card{background:var(--bg-secondary);border-radius:8px;padding:1.5rem;min-width:120px;text-align:center}.summary-card.success{border-left:4px solid var(--success-color)}.summary-card.warning{border-left:4px solid var(--warning-color)}.summary-card.error{border-left:4px solid var(--error-color)}.card-number{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.card-label{color:var(--text-secondary);font-size:.9rem}.transaction-breakdown{margin-bottom:2rem;text-align:left}.transaction-breakdown h3{color:var(--text-primary);margin-bottom:1rem;text-align:center}.breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.breakdown-item{display:flex;flex-direction:column;align-items:center;padding:1rem;background:var(--bg-secondary);border-radius:6px}.breakdown-icon{font-size:1.5rem;margin-bottom:.5rem}.breakdown-count{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.breakdown-label{font-size:.85rem;color:var(--text-secondary)}.error-details{margin-bottom:2rem;text-align:left}.error-details h3{color:var(--error-color);margin-bottom:1rem;text-align:center}.error-list{background:var(--error-bg);border:1px solid var(--error-color);border-radius:6px;padding:1rem}.error-item{margin-bottom:1rem}.error-item:last-child{margin-bottom:0}.error-row{color:var(--error-color);margin-bottom:.5rem}.error-data{margin-left:1rem}.error-data details{margin-top:.5rem}.error-data pre{background:var(--bg-secondary);padding:.75rem;border-radius:4px;font-size:.8rem;overflow-x:auto;margin-top:.5rem}.next-steps{margin-top:2rem;text-align:left}.next-steps h3{color:var(--text-primary);margin-bottom:1rem;text-align:center}.next-steps ul{color:var(--text-secondary);margin-left:1.5rem}.next-steps li{margin-bottom:.5rem}.import-processing{background:var(--bg-primary);border-radius:8px;padding:3rem 2rem;text-align:center}.processing-icon{font-size:4rem;margin-bottom:1rem;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.import-processing h2{color:var(--text-primary);margin-bottom:.5rem}.import-processing p{color:var(--text-secondary);margin-bottom:2rem}.loading-spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top:4px solid var(--accent-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}.step-actions{display:flex;justify-content:center;gap:1rem;margin-top:2rem}.result-actions{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.error-message{background:var(--error-bg);border:1px solid var(--error-color);border-radius:6px;padding:1rem;margin-bottom:1rem;color:var(--error-color)}@media (max-width: 768px){.import-page{padding:1rem}.progress-steps{flex-direction:column;gap:1rem}.step-connector{display:none}.summary-cards{flex-direction:column}.breakdown-grid{grid-template-columns:repeat(2,1fr)}.step-actions,.result-actions{flex-direction:column}.exchange-primary{flex-direction:column;align-items:flex-start;gap:.5rem}}.exchange-wizard{padding:2rem;max-width:800px;margin:0 auto}.wizard-header{margin-bottom:2rem}.step-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.step-info h2{margin:0;color:var(--text-primary)}.step-info p{margin:0;color:var(--text-secondary);font-weight:500}.progress-bar{width:100%;height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--accent-color);transition:width .3s ease}.wizard-content{margin-bottom:2rem}.instrument-info{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:var(--bg-primary);border-radius:8px;margin-bottom:2rem;border:2px solid var(--accent-color-light)}.instrument-icon{font-size:2rem}.instrument-details h3{margin:0 0 .5rem;color:var(--text-primary);font-size:1.2rem}.instrument-details .isin{margin:0;color:var(--text-secondary);font-family:monospace;font-size:.9rem}.recommended-section,.other-options-section{margin-bottom:2rem}.section-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.recommendation-badge{background:var(--success-color);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.recommendation-reason{color:var(--text-secondary);font-size:.85rem;font-style:italic}.section-title{color:var(--text-primary);font-weight:600;font-size:1rem}.exchange-option.recommended{border:2px solid var(--success-color);background:var(--success-color-light)}.exchange-option.recommended:hover{border-color:var(--success-color);background:var(--success-color-light)}.wizard-actions{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0;border-top:1px solid var(--border-color)}.step-indicator{color:var(--text-secondary);font-weight:500;font-size:.9rem}@media (max-width: 768px){.exchange-wizard{padding:1rem}.instrument-info{flex-direction:column;text-align:center;gap:.5rem}.step-info{flex-direction:column;gap:.5rem;text-align:center}.wizard-actions{flex-direction:column;gap:1rem}.wizard-actions .btn{width:100%}}
