body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;zoom:1.2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.trade-record-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10001}.trade-record-dialog{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;max-height:75vh;max-width:700px;overflow:hidden;width:90%}.trade-record-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:space-between;padding:20px 24px}.trade-record-header h2{color:#fff;font-size:22px;font-weight:600;margin:0}.trade-record-content{flex:1 1;overflow-y:auto;padding:24px}.error-message{background:#ffebee;border:1px solid #f44336;border-radius:6px;margin-bottom:20px;padding:12px}.decision-section,.input-section{margin-bottom:24px}.decision-section h3,.input-section h3{border-bottom:2px solid #2196f3;color:#333;font-size:18px;font-weight:600;margin:0 0 16px;padding-bottom:8px}.recommendation-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:16px}.recommendation-card{background:#fff;border-left:4px solid #2196f3;border-radius:8px;padding:16px}.recommendation-card.claude{background:#faf5ff;border-left-color:#7c3aed}.recommendation-card.gpt{background:#f0fdf4;border-left-color:#059669}.recommendation-card .card-header{align-items:center;display:flex;gap:8px;margin-bottom:12px}.recommendation-card .card-header strong{color:#333;font-size:15px}.recommendation-card .card-header .rank,.recommendation-card .card-header .rating{background:#fff;border:1px solid #e0e0e0;border-radius:4px;font-size:13px;font-weight:500;padding:3px 10px}.recommendation-card .card-details p{color:#555;font-size:14px;line-height:1.6;margin:6px 0}.recommendation-card .card-details strong{color:#333;margin-right:4px}.followed-selector{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin:16px 0;padding:16px}.followed-selector h4{color:#333;font-size:14px;font-weight:600;margin:0 0 12px}.followed-cards{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.followed-card{background:#fafafa;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;padding:12px;position:relative;text-align:center;transition:all .2s}.followed-card:hover{border-color:#999;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.followed-card.claude.selected{background:#f0f4ff;border-color:#667eea}.followed-card.gpt.selected{background:#f0fdf4;border-color:#10b981}.followed-card.both.selected{background:#fefce8;border-color:#f59e0b}.followed-card.manual.selected{background:#f3f4f6;border-color:#6b7280}.followed-card .card-icon{font-size:24px;margin-bottom:4px}.followed-card .card-logo{height:28px;margin-bottom:4px;object-fit:contain;width:28px}.followed-card .card-logos{align-items:center;display:flex;gap:4px;justify-content:center;margin-bottom:4px}.followed-card .card-logo-small{height:20px;object-fit:contain;width:20px}.followed-card .card-logos .plus{color:#666;font-size:14px;font-weight:700}.followed-card .card-label{color:#333;font-size:14px;font-weight:600;margin-bottom:2px}.followed-card .card-pattern{color:#666;font-size:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.followed-card .selected-badge{align-items:center;background:#667eea;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;position:absolute;right:6px;top:6px;width:20px}.followed-card.gpt .selected-badge{background:#10b981}.followed-card.both .selected-badge{background:#f59e0b}.followed-card.manual .selected-badge{background:#6b7280}.market-context-condensed{background:#fff;border-radius:6px;display:flex;flex-direction:column;font-size:15px;gap:12px;padding:14px}.context-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.context-row.stock-metrics{border-bottom:1px solid #f0f0f0;padding-bottom:10px}.context-row .metric{color:#555;font-size:14px}.context-row .metric.positive{color:#4caf50;font-weight:600}.context-row .metric.negative{color:#f44336;font-weight:600}.context-row .metric.score-highlight{color:#2196f3;font-weight:700}.context-row .divider{color:#ddd;font-size:12px}.sentiment-badge{border-radius:4px;font-size:14px;font-weight:600;padding:5px 14px}.sentiment-badge.bullish{background:#e8f5e9;color:#2e7d32}.sentiment-badge.bearish{background:#ffebee;color:#c62828}.sentiment-badge.neutral{background:#f5f5f5;color:#666}.sentiment-badge.unknown{background:#f5f5f5;color:#999}.form-group{margin-bottom:16px}.form-group label{font-size:15px;font-weight:500;margin-bottom:6px}.form-group input,.form-group textarea{box-sizing:border-box;font-family:inherit;font-size:15px;padding:10px 12px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.form-group .hint{color:#999;display:block;font-size:13px;margin-top:4px}.form-group input.input-error{background-color:#fff8f8;border-color:#f44336}.form-group input.input-error:focus{border-color:#f44336;box-shadow:0 0 0 3px #f443361a}.form-group .field-error{color:#f44336;display:block;font-size:12px;margin-top:4px}.analysis-subsection{margin-bottom:20px}.analysis-subsection:last-child{margin-bottom:0}.analysis-subsection h4{color:#555;font-size:16px;font-weight:600;margin:0 0 12px}.summary-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.summary-card{border-left:3px solid;border-radius:6px}.summary-card.claude{background:#faf5ff;border-left-color:#7c3aed}.summary-card.gpt{background:#f0fdf4;border-left-color:#059669}.summary-card .card-label{font-size:13px;font-weight:700;margin-bottom:6px}.summary-card.claude .card-label{color:#7c3aed}.summary-card.gpt .card-label{color:#059669}.summary-card .card-text{color:#374151;font-size:14px;line-height:1.6}.analysis-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.analysis-card{border-left:3px solid;border-radius:6px;padding:12px}.analysis-card.claude{background:#faf5ff;border-left-color:#7c3aed}.analysis-card.gpt{background:#f0fdf4;border-left-color:#059669}.analysis-card .card-label{font-size:13px;font-weight:700;margin-bottom:8px}.analysis-card.claude .card-label{color:#7c3aed}.analysis-card.gpt .card-label{color:#059669}.analysis-card .card-text{color:#374151;font-size:14px;line-height:1.6;white-space:pre-wrap}.analysis-card .card-text.scrollable{max-height:200px;overflow-y:auto}.action-buttons{border-top:1px solid #e0e0e0;display:flex;gap:12px;margin-top:24px;padding-top:20px}.btn-cancel,.btn-save{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-save{background:#2196f3;color:#fff}.btn-save:hover:not(:disabled){background:#1976d2;box-shadow:0 4px 12px #2196f34d;transform:translateY(-1px)}.btn-save:disabled{background:#ccc;cursor:not-allowed}.btn-cancel{background:#f5f5f5;color:#666}.btn-cancel:hover:not(:disabled){background:#e0e0e0}.close-btn{border-radius:4px;padding:4px 8px}@media (max-width:768px){.trade-record-dialog{max-height:79vh;width:95%}.analysis-grid,.recommendation-cards,.summary-grid{grid-template-columns:1fr}.market-context-condensed{font-size:12px;gap:8px}.context-row{gap:6px}.context-row .metric,.sentiment-badge{font-size:11px}.action-buttons{flex-direction:column}.followed-cards{gap:8px;grid-template-columns:1fr 1fr}.followed-card{padding:10px 8px}.followed-card .card-logo{height:24px;width:24px}.followed-card .card-label{font-size:12px}.followed-card .card-pattern{font-size:10px}}.broker-import-overlay{align-items:center;animation:brokerFadeIn .2s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes brokerFadeIn{0%{opacity:0}to{opacity:1}}.broker-import-dialog{animation:brokerSlideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;max-height:75vh;max-width:700px;overflow:hidden;width:90%}@keyframes brokerSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.broker-import-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px;position:relative;z-index:10}.broker-import-header h2{color:#fff;flex:1 1;font-size:20px;font-weight:600;margin:0}.close-btn{flex-shrink:0;min-height:32px;min-width:32px;transition:all .2s;z-index:100}.close-btn:hover{transform:scale(1.05)}.broker-import-content{overflow-y:auto;padding:24px}.drop-zone{background:#fafafa;border:2px dashed #ccc;border-radius:8px;padding:60px 20px;text-align:center;transition:all .3s}.drop-zone.dragover{background:#e8f5e9;border-color:#4caf50}.drop-zone.importing{background:#f5f5f5;border-color:#999}.drop-zone.disabled{background:#f5f5f5;border-color:#ddd;cursor:not-allowed;opacity:.7}.drop-zone.disabled .drop-hint,.drop-zone.disabled .drop-text{color:#999}.drop-icon{font-size:48px;margin-bottom:16px}.drop-text{color:#333;font-size:18px;font-weight:500;margin:0 0 8px}.drop-hint{color:#666;font-size:14px;margin:0 0 20px}.file-select-btn{background:#2196f3;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;padding:10px 24px;transition:background .2s}.file-select-btn:hover{background:#1976d2}.importing-state{align-items:center;display:flex;flex-direction:column}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#2196f3;height:48px;margin-bottom:16px;width:48px}.import-result{border-radius:8px;margin-top:24px;padding:20px;text-align:center}.import-result.success{background:#e8f5e9;border:1px solid #4caf50}.import-result.error{background:#ffebee;border:1px solid #f44336}.result-icon{font-size:48px;margin-bottom:12px}.import-result h3{color:#333;font-size:18px;margin:0 0 16px}.result-details{background:#fff;border-radius:4px;margin-top:12px;padding:16px;text-align:left}.result-details p{color:#666;font-size:14px;margin:8px 0}.result-details strong{color:#333;margin-right:8px}.error-message{font-size:14px}.import-history{margin-top:32px}.history-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.history-header h3{color:#333;font-size:16px;margin:0}.clear-history-btn{background:none;border:1px solid #fecaca;border-radius:4px;color:#dc2626;cursor:pointer;font-size:12px;padding:4px 10px;transition:all .2s}.clear-history-btn:hover{background:#fef2f2;border-color:#f87171}.no-history{color:#999;font-size:14px;padding:20px;text-align:center}.history-list{border:1px solid #e0e0e0;border-radius:8px;max-height:300px;overflow-y:auto}.history-item{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:12px 16px;transition:background .2s}.history-item:last-child{border-bottom:none}.history-item:hover{background:#f5f5f5}.history-info{flex:1 1}.history-date{color:#333;font-size:14px;font-weight:600;margin-bottom:4px}.history-filename{color:#666;font-size:12px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-stats{color:#999;font-size:12px}.history-actions{display:flex;gap:8px}.delete-btn,.export-btn,.view-btn{background:none;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;padding:6px 10px;transition:all .2s}.export-btn:hover:not(:disabled),.view-btn:hover:not(:disabled){background:#f0f0f0;border-color:#999}.export-btn:disabled,.view-btn:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.4}.delete-btn{border-color:#fecaca}.delete-btn:hover{background:#fef2f2;border-color:#f87171}.usage-guide{background:#f9f9f9;border-left:4px solid #2196f3;border-radius:8px;margin-top:32px;padding:16px}.usage-guide h4{color:#333;font-size:14px;margin:0 0 12px}.usage-guide ol{margin:0;padding-left:20px}.usage-guide li{color:#666;font-size:13px;line-height:1.5;margin:6px 0}.storage-mode{margin-bottom:24px}.storage-mode.filesystem{background:#e8f5e9;border-color:#4caf50}.storage-info.warning{background:#ffebee;border-radius:4px;padding:12px}.directory-path{background:#fff;border:1px solid #ddd;border-radius:4px;color:#666;font-family:Courier New,monospace;font-size:13px;padding:8px;word-break:break-all}.reset-btn,.setup-btn{align-self:flex-start;background:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;margin-top:8px;padding:8px 16px;transition:background .2s}.reset-btn:hover,.setup-btn:hover{background:#1976d2}.reset-btn{background:#666}.reset-btn:hover{background:#555}.storage-badge{background:#e8f5e9;border-radius:3px;font-size:12px;margin-left:8px;padding:2px 6px}.storage-badge.local{background:#fff3e0}.journal-overlay{align-items:center;animation:journalFadeIn .2s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes journalFadeIn{0%{opacity:0}to{opacity:1}}.journal-dialog{animation:journalSlideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;height:75vh;max-height:79vh;max-width:1400px;overflow:hidden;width:95%}@keyframes journalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.journal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.journal-header h2{font-size:20px;font-weight:600;margin:0}.close-btn{align-items:center;background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:background .2s;width:32px}.close-btn:hover{background:#ffffff4d}.storage-mode{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;margin:16px 24px;padding:16px}.storage-mode.not-configured{background:#fff3e0;border-color:#ff9800}.storage-info{display:flex;flex-direction:column;gap:8px}.storage-info p{color:#333;font-size:14px;margin:0}.storage-hint{color:#666;font-size:13px}.journal-tabs-row{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 24px}.journal-tabs{display:flex;gap:8px}.journal-tabs button{background:#fff;border:1px solid #ddd;border-radius:6px;color:#555;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.journal-tabs button:hover{background:#f0f0f0;border-color:#667eea}.journal-tabs button.active{background:#667eea;border-color:#667eea;color:#fff;font-weight:600}.custom-date-range{border-left:1px solid #ddd;margin-left:12px;padding-left:12px}.custom-date-range input[type=date]{cursor:pointer;font-size:13px;padding:6px 10px}.custom-date-range input[type=date]:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea33;outline:none}.custom-date-range .date-separator{color:#666;font-size:13px}.view-toggle{background:#e5e7eb;border-radius:8px;display:flex;gap:4px;padding:4px}.view-toggle-btn{background:#0000;border:none;border-radius:6px;color:#555;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.view-toggle-btn:hover{background:#ffffff80}.view-toggle-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#333}.journal-toolbar{background:#fafafa;border-bottom:1px solid #e0e0e0;display:flex;flex-direction:column;gap:12px;padding:16px 24px}.toolbar-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.toolbar-row.filters{gap:16px}.search-box{flex:1 1;min-width:250px;position:relative}.search-input{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:14px;outline:none;padding:8px 32px 8px 12px;transition:border-color .2s;width:100%}.search-input:focus{border-color:#667eea}.clear-search{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:16px;justify-content:center;padding:4px;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.clear-search:hover{color:#333}.sort-box{min-width:180px}.sort-select{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;outline:none;padding:8px 12px;transition:border-color .2s;width:100%}.sort-select:focus{border-color:#667eea}.filter-group{align-items:center;display:flex;gap:6px}.filter-label{color:#666;font-size:13px;font-weight:600;margin-right:4px}.filter-separator{color:#ccc;font-size:16px;margin:0 8px;-webkit-user-select:none;user-select:none}.filter-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s;white-space:nowrap}.filter-btn:hover{background:#e5e7eb;border-color:#667eea}.filter-btn.active{background:#667eea;border-color:#667eea;box-shadow:0 2px 4px #667eea4d;color:#fff;font-weight:600}.journal-stats{background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:16px;padding:16px 24px}.stat-item{align-items:center;display:flex;flex-direction:column;gap:4px}.stat-value{color:#333;font-size:20px;font-weight:700}.stat-value.entry{color:#16a34a}.stat-value.exit{color:#dc2626}.stat-value.ai{color:#667eea}.stat-value.both-ai{color:#f59e0b}.journal-content{flex:1 1;overflow-y:auto;padding:16px 24px}.journal-loading{color:#666;font-size:16px;padding:60px;text-align:center}.empty-state p{margin:8px 0}.empty-state .hint{color:#999;font-size:14px}.day-group{margin-bottom:24px}.day-header{align-items:center;background:#f0f0f0;border-radius:6px;display:flex;font-weight:600;justify-content:space-between;margin-bottom:12px;padding:8px 12px}.day-label{color:#333;font-size:16px}.day-date{color:#666;font-size:14px}.record-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:12px;padding:16px;transition:all .2s}.record-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.record-card.entry{border-left:4px solid #16a34a}.record-card.exit{border-left:4px solid #dc2626}.record-header{justify-content:space-between;margin-bottom:12px}.record-header,.record-title{align-items:center;display:flex}.record-title{flex-wrap:wrap;gap:12px}.record-actions{align-items:center;display:flex;gap:8px}.action-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:18px;opacity:.6;padding:4px;transition:all .2s}.action-btn:hover{background:#0000000d;opacity:1}.edit-btn:hover{background:#667eea1a}.delete-btn:hover{background:#dc26261a}.action-badge{border-radius:6px;color:#fff;font-size:13px;font-weight:700;padding:4px 12px}.action-badge.entry{background:#16a34a}.action-badge.exit{background:#dc2626}.symbol{color:#333;font-size:18px;font-weight:700}.price{color:#667eea;font-size:16px;font-weight:600}.quantity{color:#666;font-size:14px}.time{color:#999;font-family:monospace;font-size:14px}.ai-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.ai-badge{border-radius:6px;font-size:12px;font-weight:600;padding:4px 10px}.ai-badge.claude{background:#e0f2fe;border:1px solid #7dd3fc;color:#0369a1}.ai-badge.gpt{background:#dcfce7;border:1px solid #86efac;color:#15803d}.ai-badge.none{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.snapshot{background:#f8f9fa;border-radius:6px;margin-bottom:12px;padding:10px 12px}.snapshot-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:6px}.snapshot-row:last-child{margin-bottom:0}.snapshot-item{color:#666;font-size:13px}.snapshot-item strong{color:#333;font-weight:600}.snapshot-item .positive{color:#16a34a}.snapshot-item .negative{color:#dc2626}.notes{background:#fffbeb;border-left:3px solid #f59e0b;border-radius:4px;color:#555;font-size:14px;margin-bottom:12px;padding:10px 12px}.notes strong{color:#d97706}.broker-status{border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;padding-top:8px}.status-badge{border-radius:6px;cursor:help;font-size:12px;font-weight:600;padding:4px 10px;transition:all .2s}.status-badge:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.status-badge.linked{background:#dcfce7;border:1px solid #86efac;color:#15803d}.status-badge.unlinked{background:#fef3c7;border:1px solid #fcd34d;color:#92400e}.journal-footer{align-items:center;background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 24px}.footer-left{display:flex;flex-direction:column;gap:8px}.storage-info{color:#666;font-size:13px}.force-rematch-checkbox{align-items:center;color:#f59e0b;cursor:pointer;display:flex;font-size:12px;gap:6px;-webkit-user-select:none;user-select:none}.force-rematch-checkbox input[type=checkbox]{accent-color:#f59e0b;cursor:pointer;height:16px;width:16px}.force-rematch-checkbox:hover{color:#d97706}.footer-actions{display:flex;gap:12px}.btn-secondary{background:#fff;border:1px solid #667eea;border-radius:6px;box-shadow:0 2px 4px #667eea1a;color:#667eea;cursor:pointer;font-size:14px;font-weight:600;min-width:140px;padding:10px 24px;transition:all .2s;white-space:nowrap}.btn-secondary:hover:not(:disabled){background:#f8f9fa;border-color:#667eea;box-shadow:0 2px 4px #0000001a;color:#667eea;transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled,.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.modal-overlay{align-items:center;animation:modalFadeIn .2s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:11000}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-dialog{animation:modalSlideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;max-height:71vh;max-width:600px;overflow:hidden;width:90%}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.confirm-dialog{max-width:480px}.modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e0e0e0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{color:#fff;font-size:20px;font-weight:600;margin:0}.modal-header .close-btn{align-items:center;background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;min-height:32px;min-width:32px;padding:0;transition:all .2s;width:32px}.modal-header .close-btn:hover{background:#ffffff4d;transform:scale(1.05)}.modal-content{background:#fafafa;flex:1 1;overflow-y:auto;padding:24px}.modal-content p{color:#555;font-size:14px;line-height:1.6;margin:0 0 12px}.modal-footer{background:#fff;border-top:1px solid #e0e0e0;box-shadow:0 -2px 8px #0000000d;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.form-group{margin-bottom:20px}.form-group:last-of-type{margin-bottom:0}.form-group label{color:#555;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input,.form-group textarea{background:#fafafa;border:1px solid #ddd;border-radius:6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;padding:10px 14px;transition:all .2s;width:100%}.form-group input:focus,.form-group textarea:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group textarea{line-height:1.5;min-height:80px;resize:vertical}.btn-primary{background:#667eea;border:none;border-radius:6px;box-shadow:0 2px 4px #667eea33;color:#fff;cursor:pointer;font-size:14px;font-weight:600;min-width:140px;padding:10px 24px;transition:all .2s;white-space:nowrap}.btn-primary:hover:not(:disabled){background:#5568d3;box-shadow:0 4px 8px #667eea4d;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-danger{background:#dc2626;border:none;border-radius:6px;box-shadow:0 2px 4px #dc262633;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.btn-danger:hover:not(:disabled){background:#b91c1c;box-shadow:0 4px 8px #dc26264d;transform:translateY(-1px)}.btn-danger:active:not(:disabled){transform:translateY(0)}.delete-preview{background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;box-shadow:0 1px 3px #dc26261a;display:flex;flex-direction:column;gap:6px;margin:16px 0;padding:16px}.delete-preview strong{color:#dc2626;font-size:15px;font-weight:600}.delete-preview span{color:#555;font-size:14px}.delete-time{color:#666;font-family:SF Mono,Monaco,Cascadia Code,Courier New,monospace;font-size:14px}.warning{background:#fff1f2;border-left:3px solid #dc2626;border-radius:6px;color:#dc2626;font-size:14px;font-weight:600;margin-bottom:0;margin-top:12px;padding:12px}.match-results-dialog{max-height:71vh;max-width:800px}.ai-analysis,.match-stats,.pairs-section,.unmatched-section{margin-bottom:24px}.ai-analysis h4,.match-stats h4,.pairs-section h4,.unmatched-section h4{color:#333;font-size:16px;margin:0 0 12px}.stats-grid{margin-bottom:12px}.stat-box{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:12px;text-align:center}.stat-box.success{background:#f0fdf4;border-color:#86efac}.stat-number{color:#333;font-size:24px;font-weight:700}.stat-box.success .stat-number{color:#16a34a}.stat-label{color:#666;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.ai-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.ai-stat-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.ai-stat-card.highlight{background:#fef3c7;border-color:#fcd34d}.ai-stat-header{background:#667eea;color:#fff;font-size:13px;font-weight:600;padding:8px 12px}.ai-stat-card.highlight .ai-stat-header{background:#f59e0b}.ai-stat-body{color:#555;font-size:13px;padding:12px}.ai-stat-body div{margin-bottom:4px}.ai-stat-body strong{color:#333;font-weight:700}.pairs-list{border:1px solid #e0e0e0;border-radius:8px;max-height:300px;overflow-y:auto}.pair-card{border-bottom:1px solid #e0e0e0;padding:12px}.pair-card:last-child{border-bottom:none}.pair-card.profit{background:#f0fdf4;border-left:3px solid #16a34a}.pair-card.loss{background:#fef2f2;border-left:3px solid #dc2626}.pair-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.pair-header strong{color:#333;font-size:15px}.profit-text{color:#16a34a}.loss-text,.profit-text{font-size:14px;font-weight:700}.loss-text{color:#dc2626}.pair-details{align-items:center;color:#666;display:flex;font-size:13px;gap:8px}.unmatched-list{background:#fffbeb;border:1px solid #e0e0e0;border-radius:8px;max-height:200px;overflow-y:auto}.unmatched-card{align-items:center;border-bottom:1px solid #fcd34d;display:flex;font-size:13px;gap:12px;padding:10px 12px}.unmatched-card:last-child{border-bottom:none}.unmatched-card .hint{color:#92400e;font-style:italic;margin-left:auto}.more-info{color:#666;font-size:13px;font-style:italic;padding:8px;text-align:center}.more-info-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#4b5563;cursor:pointer;font-size:13px;margin-top:8px;padding:10px;transition:all .2s;width:100%}.more-info-btn:hover{background:#e5e7eb;border-color:#9ca3af;color:#1f2937}.more-info-btn:active{transform:scale(.98)}.section-header-with-sort{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:8px}.section-header-with-sort h4{align-items:center;color:#1f2937;display:flex;font-size:16px;gap:8px;margin:0}.count-badge{background:#e0e7ff;border-radius:12px;color:#4338ca;font-size:12px;font-weight:600;margin-left:8px;padding:4px 10px}.count-badge.warning{background:#fef3c7;color:#92400e}.sort-control{align-items:center;display:flex;gap:8px}.sort-control label{color:#6b7280;font-size:13px;font-weight:500}.sort-select-small{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;padding:6px 10px;transition:all .2s}.sort-select-small:hover{border-color:#9ca3af}.sort-select-small:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.apply-progress-info{align-items:center;display:flex;flex:1 1;gap:12px;margin-right:16px}.progress-bar-container{background:#e5e7eb;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;height:100%;transition:width .3s ease}.progress-percentage{color:#667eea;font-size:14px;font-weight:600;min-width:45px;text-align:right}@media (max-width:768px){.journal-dialog{border-radius:0;height:83vh;max-height:83vh;max-width:100%;width:100%}.record-title{font-size:14px}.journal-stats{gap:12px}.stat-item{min-width:80px}.modal-dialog{width:95%}.record-actions{flex-wrap:wrap}.ai-comparison-grid{grid-template-columns:1fr!important}.ai-comparison-table{font-size:12px}.ai-comparison-table td,.ai-comparison-table th{padding:8px 10px}.ai-comparison-table td.field-label,.ai-comparison-table th.field-column{font-size:11px;width:70px}}.ai-analysis-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.ai-analysis-section h4{border-bottom:2px solid #f0f0f0;color:#555;font-size:15px;font-weight:600;margin:0 0 16px;padding-bottom:12px}.ai-comparison-table{border:1px solid #e0e0e0;border-collapse:collapse;border-radius:8px;font-size:13px;overflow:hidden;width:100%}.ai-comparison-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.ai-comparison-table th{font-size:14px;font-weight:600;padding:12px 16px;text-align:left}.ai-comparison-table th.field-column{background:#0000001a;width:100px}.ai-comparison-table th.claude-column{background:#667eea26}.ai-comparison-table th.gpt-column{background:#10b98126}.ai-comparison-table tbody tr{border-bottom:1px solid #e0e0e0}.ai-comparison-table tbody tr:last-child{border-bottom:none}.ai-comparison-table tbody tr:hover{background:#f8f9fa}.ai-comparison-table td{line-height:1.5;padding:12px 16px;vertical-align:top}.ai-comparison-table td.field-label{background:#f8f9fa;color:#666;font-weight:600;width:100px}.ai-comparison-table td.claude-cell{background:#f0f4ff;border-left:3px solid #667eea;color:#333}.ai-comparison-table td.gpt-cell{background:#f0fdf4;border-left:3px solid #10b981;color:#333}.ai-comparison-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.ai-comparison-grid:has(.ai-detail:only-child){grid-template-columns:1fr}.ai-detail{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;box-shadow:0 1px 3px #0000000d;padding:16px}.ai-detail.claude-detail{background:#f0f4ff;border-left-color:#667eea}.ai-detail.gpt-detail{background:#f0fdf4;border-left-color:#10b981}.ai-detail-header{border-bottom:1px solid #00000014;margin-bottom:12px;padding-bottom:10px}.ai-detail-header strong{color:#333;font-size:14px;font-weight:600}.ai-field{display:flex;font-size:13px;gap:10px;line-height:1.6;margin-bottom:10px}.ai-field:last-child{margin-bottom:0}.ai-field-label{color:#666;flex-shrink:0;font-weight:600;min-width:75px}.ai-field span:last-child{color:#444;flex:1 1}.journal-view-toggle{background:#e5e7eb;border-radius:8px;display:flex;gap:4px;margin:0 24px;padding:4px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.backtest-view{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:0 24px 24px}.backtest-tabs{align-items:center;flex-wrap:wrap;gap:4px;padding:12px 0}.backtest-tabs button{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#555;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .2s}.backtest-tabs button:hover{background:#f3f4f6}.backtest-tabs button.active{background:#667eea;border-color:#667eea;color:#fff}.backtest-tabs .custom-date-range{align-items:center;display:flex;gap:6px;margin-left:4px}.backtest-tabs .btn-small{background:#667eea;border:1px solid #667eea;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:5px 12px}.backtest-loading{padding:40px 20px;text-align:center}.backtest-progress .progress-text{color:#555;font-size:14px;margin-bottom:12px}.backtest-empty{color:#666;padding:60px 20px;text-align:center}.backtest-empty .btn-primary{margin:16px 0}.backtest-empty .hint{color:#999;font-size:13px}.backtest-summary{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.summary-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex:1 1;min-width:100px;padding:12px;text-align:center}.summary-card .summary-label{color:#6b7280;display:block;font-size:11px;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.summary-card .summary-value{color:#1f2937;display:block;font-size:18px;font-weight:700}.summary-card .summary-value.positive{color:#059669}.summary-card .summary-value.negative{color:#dc2626}.summary-card .summary-value.target{color:#059669}.summary-card .summary-value.stop{color:#dc2626}.summary-card .summary-value.cutoff{color:#d97706}.backtest-section{margin-bottom:16px}.backtest-section h4{border-bottom:1px solid #e5e7eb;color:#374151;font-size:14px;margin:0 0 10px;padding-bottom:6px}.ai-accuracy-grid{display:flex;flex-wrap:wrap;gap:10px}.ai-accuracy-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;flex:1 1;min-width:120px;padding:10px 14px}.ai-accuracy-card.highlight{background:#ecfdf5;border-color:#a7f3d0}.ai-accuracy-card .ai-label{color:#374151;display:block;font-size:13px;font-weight:600;margin-bottom:4px}.ai-accuracy-card .ai-winrate{color:#059669;display:block;font-size:16px;font-weight:700}.ai-accuracy-card .ai-trades{color:#6b7280;display:block;font-size:12px}.pattern-grid{display:flex;flex-wrap:wrap;gap:8px}.pattern-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;display:flex;font-size:13px;gap:6px;padding:6px 10px}.pattern-name{color:#374151;text-transform:capitalize}.pattern-winrate{font-weight:700}.pattern-winrate.positive{color:#059669}.pattern-winrate.negative{color:#dc2626}.pattern-count{color:#9ca3af;font-size:12px}.rating-grid{display:flex;flex-wrap:wrap;gap:10px}.rating-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;font-size:13px;gap:6px;padding:6px 10px}.rating-label{min-width:50px}.rating-winrate{font-weight:700}.rating-winrate.positive{color:#059669}.rating-winrate.negative{color:#dc2626}.rating-count{color:#9ca3af;font-size:12px}.backtest-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.backtest-table{border-collapse:collapse;font-size:13px;width:100%}.backtest-table th{background:#f3f4f6;border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:8px 12px;text-align:left;white-space:nowrap}.backtest-table td{border-bottom:1px solid #f3f4f6;padding:8px 12px;white-space:nowrap}.backtest-table tr:hover{background:#f9fafb}.backtest-table tr.win{background:#05966908}.backtest-table tr.loss{background:#dc262608}.backtest-table .symbol-cell{font-weight:600}.backtest-table .symbol-cell .both-badge{background:#059669;border-radius:50%;color:#fff;display:inline-block;font-size:10px;font-weight:700;height:16px;line-height:16px;margin-left:4px;text-align:center;vertical-align:middle;width:16px}.backtest-table .source-cell{color:#6b7280;font-size:12px;text-transform:capitalize}.backtest-table .profit-text{color:#059669;font-weight:600}.backtest-table .loss-text{color:#dc2626;font-weight:600}.reason-badge{border-radius:4px;display:inline-block;font-size:11px;font-weight:600;padding:2px 8px}.reason-badge.target{background:#dcfce7;color:#166534}.reason-badge.stop_loss{background:#fef2f2;color:#991b1b}.reason-badge.time_cutoff{background:#fef3c7;color:#92400e}.reason-badge.no_entry{background:#f3f4f6;color:#6b7280}.reason-badge.no_data{background:#f3f4f6;color:#9ca3af}.missing-backtests{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-bottom:16px;padding:14px 16px}.missing-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:10px}.missing-title{color:#92400e;font-size:13px;font-weight:600}.missing-list{display:flex;flex-direction:column;gap:6px}.missing-item{align-items:center;background:#fff;border:1px solid #fde68a;border-radius:6px;display:flex;font-size:13px;gap:12px;padding:8px 12px}.missing-date{color:#374151;font-weight:600;min-width:90px}.missing-info{color:#6b7280;flex:1 1}.btn-run{background:#667eea;border:1px solid #667eea;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:4px 12px;white-space:nowrap}.btn-run:hover{background:#5a6fd6}.btn-run:disabled{cursor:not-allowed;opacity:.5}.backtest-footer{padding:16px 0;text-align:center}.trade-chart-view{background:#fff;border-radius:8px;padding:16px}.chart-selector{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:12px;margin-bottom:16px;padding-bottom:16px}.chart-selector-label{color:#333;font-size:14px;font-weight:600}.chart-selector-dropdown{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#333;cursor:pointer;font-size:14px;min-width:200px;padding:8px 12px}.chart-selector-dropdown:hover{border-color:#667eea}.chart-selector-dropdown:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea33;outline:none}.chart-description{color:#666;font-size:13px;font-style:italic}.chart-stats{background:#f8f9fa;border-radius:6px;display:flex;gap:20px;margin-bottom:16px;padding:12px 16px}.chart-stat{color:#666;font-size:13px}.chart-stat strong{color:#333;font-weight:600}.chart-container{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;min-height:600px;padding:16px}.chart-legend{border-top:1px solid #e0e0e0;gap:20px;margin-top:16px;padding-top:12px}.chart-legend,.legend-item{align-items:center;display:flex}.legend-item{color:#666;font-size:13px;gap:6px}.legend-dot{border-radius:50%;height:12px;width:12px}.legend-dot.entry{background:#22c55e}.legend-dot.exit{background:#ef4444}.legend-dot-solid{background:#3b82f6}.legend-dot-hollow,.legend-dot-solid{border-radius:50%;height:12px;width:12px}.legend-dot-hollow{background:#fff;border:3px solid #3b82f6;box-sizing:border-box}.legend-line-dashed{border-top:2px dashed #3b82f6;height:0;width:24px}.legend-bar{border-radius:2px;height:12px;width:20px}.legend-bar.profit{background:#22c55e}.legend-bar.loss{background:#ef4444}.legend-hint{color:#999;font-size:12px;font-style:italic;margin-left:auto}@media (max-width:768px){.chart-selector{align-items:flex-start;flex-direction:column}.chart-selector-dropdown{width:100%}.chart-legend,.chart-stats{flex-wrap:wrap;gap:12px}.legend-hint{margin-left:0;margin-top:8px;width:100%}}.insights-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10002}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.insights-dashboard{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;max-height:79vh;max-width:900px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.insights-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.insights-header h2{font-size:20px;font-weight:600;margin:0}.insights-header .close-btn{align-items:center;background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;transition:background .2s;width:32px}.insights-header .close-btn:hover{background:#ffffff4d}.insights-content{flex:1 1;overflow-y:auto;padding:24px}.section{margin-bottom:24px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.section-header h3{color:#333;font-size:16px;font-weight:600;margin:0}.last-updated{color:#888;font-size:13px}.performance-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.perf-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:16px;text-align:center}.perf-value{color:#333;font-size:24px;font-weight:700;margin-bottom:4px}.perf-value.positive{color:#16a34a}.perf-value.negative{color:#dc2626}.perf-value.accent{color:#667eea}.perf-value.claude-color{color:#7c3aed}.perf-value.gpt-color{color:#16a34a}.pl-avg{color:#888;font-size:14px;font-weight:500}.perf-label{color:#666;font-size:13px;letter-spacing:.5px;text-transform:uppercase}.ai-ranking-section{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;padding:16px}.ai-ranking-section .section-header{margin-bottom:12px}.btn-toggle-breakdown{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#666;cursor:pointer;font-size:14px;padding:6px 12px;transition:all .2s}.btn-toggle-breakdown:hover{background:#f0f0f0;border-color:#999}.ai-ranking-list{display:flex;flex-direction:column;gap:6px}.ai-ranking-row{grid-gap:10px;align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;display:grid;gap:10px;grid-template-columns:20px 24px 28px 70px 1fr 80px 55px;padding:8px 12px}.rank-number{color:#666;font-size:14px;font-weight:600}.rank-icon{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:24px;justify-content:center;width:24px}.rank-name{font-size:14px;font-weight:600}.rank-bar-container{background:#e5e7eb;border-radius:5px;height:10px;overflow:hidden}.rank-bar{border-radius:5px;height:100%;transition:width .3s ease}.rank-score{color:#333;font-weight:600}.rank-percent,.rank-score{font-size:14px;text-align:right}.rank-percent{color:#666}.rank-check{color:#16a34a;font-size:16px;font-weight:700;text-align:center}.score-breakdown{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-top:12px;overflow:hidden}.breakdown-header{background:#f0f0f0;color:#666;font-size:12px;font-weight:600;text-transform:uppercase}.breakdown-header,.breakdown-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:2fr .5fr .5fr .7fr .5fr repeat(2,.7fr);padding:10px 12px}.breakdown-row{align-items:center;border-bottom:1px solid #f0f0f0;font-size:14px}.breakdown-row:last-child{border-bottom:none}.breakdown-row.bonus-row{background:#fefce8;border-top:1px solid #fde68a}.breakdown-row.total-row{background:#f0f4ff;border-top:2px solid #667eea}.breakdown-row .col-pattern{align-items:center;display:flex;gap:6px;overflow:hidden}.source-tag{border-radius:3px;flex-shrink:0;font-size:10px;font-weight:600;padding:2px 6px;text-transform:uppercase}.source-tag.claude{background:#ede9fe;color:#7c3aed}.source-tag.gpt{background:#dcfce7;color:#16a34a}.source-tag.both{background:#fef3c7;color:#d97706}.breakdown-row .col-bonus,.breakdown-row .col-profit,.breakdown-row .col-trades,.breakdown-row .col-winrate{color:#666;text-align:center}.breakdown-row .col-ai{font-weight:500;text-align:center}.breakdown-row .col-claude{color:#7c3aed}.breakdown-row .col-gpt{color:#16a34a}.formula-note{background:#f8f9fa;border-top:1px solid #e0e0e0;color:#666;font-family:Monaco,Menlo,monospace;font-size:12px;padding:12px}.formula-note strong{color:#333}.market-conditions-section{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;padding:16px}.market-conditions-section h3{color:#333;font-size:16px;font-weight:600;margin:0 0 14px}.market-conditions-columns{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.conditions-column{border-radius:8px;padding:14px}.conditions-column.positive{background:#f0fdf4;border:1px solid #bbf7d0}.conditions-column.negative{background:#fef2f2;border:1px solid #fecaca}.column-header{border-bottom:1px solid;font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;padding-bottom:8px;text-transform:uppercase}.conditions-column.positive .column-header{border-bottom-color:#bbf7d0;color:#16a34a}.conditions-column.negative .column-header{border-bottom-color:#fecaca;color:#dc2626}.conditions-column .conditions-list{display:flex;flex-direction:column;gap:8px}.conditions-column .condition-item{align-items:flex-start;display:flex;font-size:14px;gap:10px;line-height:1.5}.conditions-column .condition-item.empty{color:#999;font-style:italic}.condition-badge{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:18px;justify-content:center;margin-top:1px;width:18px}.conditions-column.positive .condition-badge{background:#16a34a;color:#fff}.conditions-column.negative .condition-badge{background:#dc2626;color:#fff}.condition-text{color:#333;font-size:14px;line-height:1.5}.trading-patterns-section{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;padding:16px}.trading-patterns-section>h3{color:#333;font-size:16px;font-weight:600;margin:0 0 14px}.patterns-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.patterns-column{border-radius:8px;padding:14px}.patterns-column.winning{background:#f0fdf4;border:1px solid #bbf7d0}.patterns-column.danger{background:#fef2f2;border:1px solid #fecaca}.patterns-column .column-header{border-bottom:1px solid;font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;padding-bottom:8px;text-transform:uppercase}.patterns-column.winning .column-header{border-bottom-color:#bbf7d0;color:#16a34a}.patterns-column.danger .column-header{border-bottom-color:#fecaca;color:#dc2626}.patterns-list{display:flex;flex-direction:column;gap:10px}.pattern-card{align-items:flex-start;background:#ffffffb3;border-radius:6px;display:flex;flex-wrap:wrap;gap:10px;padding:12px 14px}.pattern-card.empty{justify-content:center;padding:16px}.pattern-card .empty-text{color:#999;font-size:14px;font-style:italic}.pattern-icon{align-items:center;display:flex;flex-shrink:0;font-size:16px;height:20px;justify-content:center;margin-top:2px;width:20px}.pattern-content{flex:1 1;min-width:0}.pattern-name{color:#333;font-size:14px;font-weight:500;line-height:1.5;margin-bottom:6px}.pattern-stats{display:flex;flex-wrap:wrap;font-size:14px;gap:8px}.stat-winrate{color:#666;font-weight:500}.stat-trades{color:#888}.stat-profit{color:#16a34a;font-weight:500}.stat-loss{color:#dc2626;font-weight:500}.pattern-stats .source-tag{border-radius:3px;font-size:10px;font-weight:600;padding:1px 5px;text-transform:uppercase}.pattern-stats .source-tag.claude{background:#ede9fe;color:#7c3aed}.pattern-stats .source-tag.gpt{background:#dcfce7;color:#16a34a}.pattern-stats .source-tag.both{background:#fef3c7;color:#d97706}.pattern-stats .origin-tag{border-radius:3px;font-size:10px;font-weight:600;padding:1px 5px}.pattern-stats .origin-tag.simulated{background:#e0e7ff;color:#4338ca}.pattern-stats .origin-tag.mixed{background:#fef3c7;color:#d97706}.show-all-btn{border:1px dashed #d1d5db;border-radius:6px;color:#6b7280;font-size:.85em;padding:8px;transition:all .2s;width:100%}.show-all-btn:hover{background:#f9fafb;border-color:#9ca3af;color:#374151}.last-review-info{color:#999}.loading-state{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #e0e0e0;border-radius:50%;border-top-color:#667eea;height:40px;margin-bottom:16px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.error-state{color:#dc2626;padding:40px 20px}.error-state button{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;margin-top:12px;padding:8px 16px}.empty-state{padding:60px 20px;text-align:center}.empty-icon{font-size:48px;opacity:.5}.empty-state h3{color:#333;margin:0 0 8px}.empty-state p{font-size:14px}.insights-footer{border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.insights-footer .btn-secondary{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;font-size:14px;padding:8px 20px;transition:all .2s}.insights-footer .btn-secondary:hover{background:#e0e0e0}.pattern-health{color:#888;display:flex;flex-wrap:wrap;font-size:12px;gap:8px;margin-top:4px}.health-trend{font-weight:500}.health-trend.trend-improving{color:#16a34a}.health-trend.trend-declining{color:#dc2626}.health-trend.trend-new{color:#3b82f6}.health-trend.trend-stable{color:#6b7280}.health-reviews{color:#888}.health-missed{color:#dc2626;font-weight:500}.pattern-winrate-bar{align-items:center;display:flex;gap:8px;margin-top:6px}.winrate-bar-track{background:#e5e7eb;border-radius:3px;flex:1 1;height:6px;overflow:hidden}.winrate-bar-fill{border-radius:3px;height:100%;transition:width .3s ease}.winrate-bar-fill.trend-improving{background:#16a34a}.winrate-bar-fill.trend-declining{background:#dc2626}.winrate-bar-fill.trend-new{background:#3b82f6}.winrate-bar-fill.trend-stable{background:#9ca3af}.winrate-bar-label{color:#666;font-size:12px;font-weight:500;min-width:55px;text-align:right;white-space:nowrap}.health-details-section{border-top:1px dashed #d1d5db;margin-top:16px;padding-top:12px}.btn-toggle-health{background:#0000;border:1px dashed #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;font-size:.85em;padding:8px;transition:all .2s;width:100%}.btn-toggle-health:hover{background:#f9fafb;border-color:#9ca3af;color:#374151}.health-details-table{border:1px solid #e0e0e0;border-radius:8px;margin-top:12px;overflow:hidden}.health-header{background:#f0f0f0;color:#666;font-size:12px;font-weight:600;padding:10px 12px;text-transform:uppercase}.health-header,.health-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:2fr .6fr 1fr .6fr .6fr .8fr}.health-row{align-items:center;border-bottom:1px solid #f0f0f0;font-size:14px;padding:8px 12px}.health-row:last-child{border-bottom:none}.health-row.has-missed{background:#fef2f2}.hcol-type{font-size:13px;font-weight:500;text-align:center}.hcol-type.type-win{color:#16a34a}.hcol-type.type-avoid{color:#dc2626}.hcol-trend{font-weight:500}.hcol-trend.trend-improving{color:#16a34a}.hcol-trend.trend-declining{color:#dc2626}.hcol-trend.trend-new{color:#3b82f6}.hcol-trend.trend-stable{color:#6b7280}.hcol-missed,.hcol-reviews,.hcol-since{color:#666;text-align:center}.hcol-missed.warn{color:#dc2626;font-weight:600}.health-header .sortable{cursor:pointer;transition:color .15s;-webkit-user-select:none;user-select:none}.health-header .sortable:hover{color:#111}.review-reminder{align-items:center;border-radius:8px;display:flex;font-size:14px;justify-content:space-between;line-height:1.5;margin-bottom:16px;padding:10px 16px}.review-reminder.warn{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.reminder-text{flex:1 1}.btn-review-now{border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;margin-left:12px;padding:5px 14px;transition:background .2s;white-space:nowrap}.review-reminder.warn .btn-review-now{background:#f59e0b;color:#fff}.review-reminder.warn .btn-review-now:hover{background:#d97706}@media (max-width:768px){.insights-dashboard{max-height:79vh;width:95%}.performance-cards{grid-template-columns:repeat(2,1fr)}.ai-ranking-row{gap:6px;grid-template-columns:18px 20px 22px 55px 1fr 60px 45px;padding:6px 10px}.rank-icon{font-size:10px;height:20px;width:20px}.rank-name,.rank-score{font-size:12px}.rank-percent{font-size:11px}.breakdown-header,.breakdown-row{font-size:10px;grid-template-columns:1.5fr .4fr .4fr .6fr .4fr repeat(2,.6fr);padding:8px}.market-conditions-columns,.patterns-row{grid-template-columns:1fr}.health-header,.health-row{font-size:10px;grid-template-columns:1.5fr .5fr .8fr .5fr .5fr .7fr;padding:6px 8px}}.pattern-badges{display:flex;flex-basis:100%;flex-wrap:wrap;gap:6px;margin-bottom:8px;width:100%}.tier-badge{border-radius:4px;display:inline-block;flex-shrink:0;font-size:.85em;font-weight:600;padding:3px 8px}.tier-badge.tier-core{background:#fef9c3;color:#854d0e}.tier-badge.tier-reliable{background:#dbeafe;color:#1e40af}.tier-badge.tier-emerging{background:#f3f4f6;color:#6b7280}.cat-badge{border-radius:4px;display:inline-block;flex-shrink:0;font-size:.85em;font-weight:500;padding:3px 8px}.cat-badge.cat-breakout{background:#fef2f2;color:#991b1b}.cat-badge.cat-pullback{background:#f0fdf4;color:#15803d}.cat-badge.cat-gap-go{background:#fff7ed;color:#9a3412}.cat-badge.cat-reversal{background:#fdf4ff;color:#86198f}.cat-badge.cat-momentum-fade{background:#fefce8;color:#854d0e}.cat-badge.cat-other{background:#f9fafb;color:#374151}.ai-review-overlay{align-items:center;animation:aiReviewFadeIn .2s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:11000}@keyframes aiReviewFadeIn{0%{opacity:0}to{opacity:1}}.ai-review-dialog{animation:aiReviewSlideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;height:75vh;max-height:79vh;max-width:1400px;width:95%}@keyframes aiReviewSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ai-review-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.ai-review-header h2{color:#fff;font-size:20px;font-weight:600;margin:0}.ai-review-header .close-btn{align-items:center;background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.ai-review-header .close-btn:hover{background:#ffffff4d;transform:scale(1.05)}.ai-review-toolbar{align-items:center;background:#f9fafb;border-bottom:1px solid #e0e0e0;display:flex;gap:16px;justify-content:space-between;padding:16px 24px}.time-range-selector{display:flex;gap:8px}.time-range-selector button{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#333;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.time-range-selector button:hover{background:#f3f4f6;border-color:#667eea}.time-range-selector button.active{background:#667eea;border-color:#667eea;color:#fff}.time-range-selector button:disabled{cursor:not-allowed;opacity:.5}.analyze-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:10px 24px;transition:background .2s}.analyze-btn:hover:not(:disabled){background:#5568d3}.analyze-btn:disabled{cursor:not-allowed;opacity:.5}.ai-review-content{background:#fafafa;flex:1 1;overflow-y:auto;padding:24px}.empty-state{color:#666;padding:30px 20px}.empty-icon{font-size:64px;margin-bottom:16px}.empty-state p{color:#666;font-size:15px;margin:0}.data-preview{text-align:left}.data-preview,.data-preview-placeholder{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:16px 24px}.data-preview-placeholder{align-items:center;color:#9ca3af;display:flex;font-size:14px;min-height:90px}.data-preview h4{color:#333;font-size:16px;font-weight:600;margin:0 0 12px}.preview-item{display:flex;font-size:15px;gap:8px;padding:6px 0}.preview-label{color:#666;min-width:150px}.preview-value{color:#333;font-weight:600}.loading-state{padding:60px 20px;text-align:center}.loading-icon{animation:pulse 1.5s ease-in-out infinite;font-size:48px;margin-bottom:16px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.loading-state h3{color:#333;font-size:18px;margin:0 0 8px}.loading-state p{color:#555;font-size:15px;margin:0}.review-stats-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:20px}.review-stats-section h3{color:#333;font-size:18px;font-weight:600;margin:0 0 16px}.stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.stat-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:16px;text-align:center}.stat-card-label{color:#555;font-size:13px;font-weight:500;margin-bottom:8px}.stat-card-value{color:#333;font-size:24px;font-weight:700}.ai-analysis-section{margin-top:24px}.ai-analysis-section h3{color:#333;font-size:18px;font-weight:600;margin:0 0 16px}.consensus-insights{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:8px;margin-bottom:20px;padding:20px}.consensus-insights h4{align-items:center;color:#92400e;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 12px}.consensus-list{list-style:none;margin:0;padding:0}.consensus-list li{align-items:flex-start;color:#78350f;display:flex;font-size:15px;gap:8px;line-height:1.5;padding:8px 0}.consensus-list li:before{color:#f59e0b;content:"•";font-size:18px;font-weight:700}.ai-results-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.ai-result-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.ai-result-card.claude{background:#f0f4ff;border-left:4px solid #667eea}.ai-result-card.gpt{background:#f0fdf4;border-left:4px solid #10b981}.ai-result-header{background:#fff;border-bottom:1px solid #e0e0e0;padding:16px}.ai-result-header h4{color:#333;font-size:16px;font-weight:600;margin:0}.ai-result-content{padding:16px}.ai-result-section{margin-bottom:20px}.ai-result-section:last-child{margin-bottom:0}.ai-result-section h5{color:#555;font-size:15px;font-weight:600;margin:0 0 12px}.ai-result-section ul{list-style:none;margin:0;padding:0}.ai-result-section li{border-bottom:1px solid #e0e0e0;color:#333;font-size:14px;line-height:1.5;padding:8px 0}.ai-result-section li:last-child{border-bottom:none}.error-state{background:#ffebee;border:1px solid #f44336;border-radius:8px;padding:20px;text-align:center}.error-icon{font-size:48px;margin-bottom:12px}.error-message{color:#d32f2f;font-size:15px;margin:0}.ai-review-footer{align-items:center;background:#fff;border-radius:0 0 12px 12px;border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:space-between;padding:16px 24px}.footer-buttons{display:flex;gap:12px;margin-left:auto}.ai-review-footer button{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:15px;font-weight:600;padding:10px 24px;transition:all .2s}.ai-review-footer button:hover{background:#f3f4f6;border-color:#9ca3af}.ai-review-footer .btn-primary{background:#667eea;border-color:#667eea;color:#fff;font-size:15px;font-weight:600;padding:10px 24px}.ai-review-footer .btn-primary:hover:not(:disabled){background:#5568d3;border-color:#5568d3}.ai-review-footer .btn-primary:disabled{cursor:not-allowed;opacity:.6}.ai-review-footer .btn-secondary{background:#667eea;border-color:#667eea;color:#fff;font-size:15px;font-weight:600;padding:10px 24px}.ai-review-footer .btn-secondary:hover{background:#5568d3;border-color:#5568d3}.custom-date-range{align-items:center;display:flex;gap:8px;margin-left:8px}.custom-date-range input[type=date]{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#333;font-size:14px;padding:6px 8px}.custom-date-range span{color:#888;font-size:14px}.save-message{align-items:center;border-radius:6px;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px}.save-message.success{background:#d1fae5;border:1px solid #10b981;color:#065f46}.save-message.error{background:#fee2e2;border:1px solid #ef4444;color:#991b1b}.ai-result-section.overall-summary{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #0ea5e9;border-radius:8px;margin-bottom:20px;padding:16px}.ai-result-section.overall-summary h5{color:#0369a1;font-size:15px;margin-bottom:12px}.summary-text{color:#333;font-size:15px;line-height:1.6;margin:0 0 12px}.performance-metrics{border-top:1px solid #0ea5e94d;display:flex;flex-wrap:wrap;gap:16px;padding-top:12px}.performance-metrics .metric{color:#555;font-size:14px}.performance-metrics .metric strong{font-weight:600}.performance-metrics .metric strong.profit{color:#16a34a}.performance-metrics .metric strong.loss{color:#dc2626}.ai-result-section.win-analysis{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #22c55e;border-radius:8px;margin-bottom:20px;padding:16px}.ai-result-section.win-analysis h5{color:#15803d;font-size:15px;margin-bottom:12px}.ai-result-section.loss-analysis{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #ef4444;border-radius:8px;margin-bottom:20px;padding:16px}.ai-result-section.loss-analysis h5{color:#b91c1c;font-size:15px;margin-bottom:12px}.section-summary{background:#fff9;border-radius:6px;color:#444;font-size:14px;line-height:1.6;margin:0 0 16px;padding:12px 14px}.patterns-list h6{color:#555;font-size:14px;font-weight:600;margin:0 0 10px}.patterns-list ul{margin:0;padding:0}.pattern-item{background:#ffffffb3;border:1px solid #0000001a;border-radius:6px;margin-bottom:10px;padding:12px}.pattern-item:last-child{margin-bottom:0}.pattern-item.success{border-left:3px solid #22c55e}.pattern-item.loss{border-left:3px solid #ef4444}.pattern-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:8px}.pattern-header strong{color:#333;font-size:15px}.pattern-stats{background:#0000000d;border-radius:4px;color:#555;font-size:13px;padding:4px 10px}.pattern-description{color:#444;font-size:14px;line-height:1.6;margin:0 0 10px}.key-factors{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.factors-label{color:#555;font-size:13px;font-weight:500}.factor-tag{background:#22c55e;border-radius:12px;color:#fff;font-size:12px;font-weight:500;padding:4px 10px}.how-to-avoid,.root-cause{border-radius:6px;font-size:14px;line-height:1.5;margin-top:10px;padding:12px 14px}.root-cause{background:#ef44441a;border:1px solid #ef44444d}.how-to-avoid{background:#22c55e1a;border:1px solid #22c55e4d}.avoid-label,.cause-label{font-weight:600;margin-right:6px}.cause-label{color:#b91c1c}.avoid-label{color:#15803d}.cause-text{color:#7f1d1d}.avoid-text{color:#14532d}.common-mistakes{border-top:1px solid #ef44444d;margin-top:16px;padding-top:16px}.common-mistakes h6{color:#b91c1c;font-size:14px;font-weight:600;margin:0 0 10px}.common-mistakes ul{list-style:disc;margin:0;padding-left:20px}.common-mistakes li{border-bottom:none;color:#7f1d1d;font-size:14px;line-height:1.5;margin-bottom:6px;padding:4px 0}.ai-result-section.actionable-recommendations{background:linear-gradient(135deg,#fefce8,#fef9c3);border:1px solid #eab308;border-radius:8px;margin-bottom:20px;padding:16px}.ai-result-section.actionable-recommendations h5{color:#a16207;font-size:15px;margin-bottom:12px}.recommendations-list{margin:0;padding:0}.recommendation-item{align-items:flex-start;background:#ffffffb3;border:1px solid #0000001a;border-radius:6px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;padding:12px}.recommendation-item:last-child{margin-bottom:0}.recommendation-item.high{border-left:3px solid #ef4444}.recommendation-item.medium{border-left:3px solid #f59e0b}.recommendation-item.low{border-left:3px solid #22c55e}.priority-badge{border-radius:4px;font-size:12px;font-weight:600;padding:4px 10px;text-transform:uppercase}.priority-badge.high{background:#fee2e2;color:#b91c1c}.priority-badge.medium{background:#fef3c7;color:#92400e}.priority-badge.low{background:#dcfce7;color:#15803d}.category-tag{background:#e0e7ff;border-radius:4px;color:#4338ca;font-size:12px;font-weight:500;padding:4px 10px}.rec-text{color:#333;flex:1 1;font-size:14px;line-height:1.6}.ai-result-section.ai-accuracy{background:#fff9;border:1px solid #e0e0e0;border-radius:8px;padding:16px}.ai-result-section.ai-accuracy h5{color:#333;margin-bottom:12px}.accuracy-grid{display:flex;flex-wrap:wrap;gap:16px}.accuracy-item{background:#f8f9fa;border-radius:6px;min-width:80px;padding:10px 16px;text-align:center}.accuracy-label{color:#555;display:block;font-size:13px;margin-bottom:4px}.accuracy-value{color:#333;display:block;font-size:18px;font-weight:700}.token-count{border-top:1px solid #e0e0e0;color:#999;font-size:12px;margin-top:16px;padding-top:12px;text-align:right}.existing-reviews-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-top:18px;padding:14px 16px}.existing-reviews-section h4{color:#374151;font-size:14px;margin:0 0 10px}.existing-reviews-section .empty-list{color:#9ca3af;font-size:13px;margin:0;padding:8px 0}.existing-reviews-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.existing-review-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;font-size:13px;gap:12px;padding:8px 12px}.existing-review-meta{flex-shrink:0}.existing-review-item:hover{background:#f3f4f6}.existing-review-meta strong{color:#1f2937;font-weight:600}.existing-review-date,.existing-review-range{color:#6b7280}.view-review-btn{background:#6366f1;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:4px 12px}.view-review-btn:hover{background:#4f46e5}.show-all-btn{background:#0000;border:1px solid #c7d2fe;border-radius:4px;color:#6366f1;cursor:pointer;font-size:12px;font-weight:500;margin-top:10px;padding:6px 14px}.show-all-btn:hover{background:#eef2ff}@media (max-width:768px){.ai-review-dialog{max-width:none;width:95%}.stats-grid{grid-template-columns:repeat(2,1fr)}.ai-results-grid{grid-template-columns:1fr}.ai-review-toolbar{align-items:stretch;flex-direction:column}.analyze-btn{width:100%}.pattern-header{align-items:flex-start;flex-direction:column}.performance-metrics{gap:8px}.accuracy-grid,.performance-metrics,.recommendation-item{flex-direction:column}}.review-detail-overlay{align-items:center;background:#0000008c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:12000}.review-detail-dialog{background:#fff;border-radius:8px;box-shadow:0 12px 40px #00000059;display:flex;flex-direction:column;max-height:78vh;max-width:1200px;width:92vw}.review-detail-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px 8px 0 0;color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:14px 22px}.review-detail-header h3{font-size:16px;font-weight:600;margin:0}.review-detail-header .close-btn{align-items:center;background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:16px;height:30px;justify-content:center;width:30px}.review-detail-header .close-btn:hover{background:#ffffff59}.review-detail-content{background:#f9fafb;flex:1 1;min-height:0;overflow-y:auto;padding:16px}.review-detail-content .error-state,.review-detail-content .loading-state{color:#6b7280;padding:60px 20px;text-align:center}.review-detail-content .error-icon,.review-detail-content .loading-icon{font-size:36px;margin-bottom:12px}.review-detail-content .ai-results-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}.review-detail-footer{align-items:center;background:#fff;border-radius:0 0 8px 8px;border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;padding:12px 22px}.review-detail-footer .save-error{color:#dc2626;flex:1 1;font-size:13px}.save-review-btn{background:#6366f1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 18px;transition:background-color .15s}.save-review-btn:hover:not(:disabled){background:#4f46e5}.save-review-btn:disabled{cursor:not-allowed;opacity:.85}.save-review-btn.saved,.save-review-btn.saved:disabled{background:#16a34a;opacity:1}.review-detail-footer .btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;padding:8px 16px}.review-detail-footer .btn-secondary:hover{background:#e5e7eb}.profile-update-overlay{align-items:center;animation:profileFadeIn .2s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:11000}@keyframes profileFadeIn{0%{opacity:0}to{opacity:1}}.profile-update-dialog{animation:profileSlideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;height:75vh;max-height:79vh;max-width:1000px;position:relative;width:95%}@keyframes profileSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.profile-update-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.profile-update-header h2{color:#fff;font-size:20px;font-weight:600;margin:0}.profile-update-header .close-btn{align-items:center;background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.profile-update-header .close-btn:hover{background:#ffffff4d;transform:scale(1.05)}.profile-update-toolbar{align-items:center;background:#f9fafb;border-bottom:1px solid #e0e0e0;display:flex;gap:16px;padding:16px 24px}.mode-selector{display:flex;gap:8px}.mode-selector button{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#333;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.mode-selector button:hover{background:#f3f4f6;border-color:#667eea}.mode-selector button.active{background:#667eea;border-color:#667eea;color:#fff}.profile-update-content{background:#fafafa;flex:1 1;overflow-y:auto;padding:24px}.profile-error-message{background:#fee2e2;border:1px solid #ef4444;border-radius:6px;color:#991b1b;font-size:15px;margin-bottom:16px;padding:12px 16px}.profile-range-section{margin-bottom:20px}.profile-range-section label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.range-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.range-buttons .custom-date-input{border:1px solid #d1d5db;border-radius:6px;font-size:14px;outline:none;padding:6px 10px}.range-buttons span{color:#888;font-size:14px}.range-buttons button{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#333;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.range-buttons button:hover{border-color:#667eea}.range-buttons button.active{background:#667eea;border-color:#667eea;color:#fff}.profile-range-section .custom-date-range{align-items:center;display:flex;gap:8px;margin-bottom:12px}.profile-range-section .custom-date-range input[type=date]{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#333;font-size:14px;padding:6px 10px}.profile-range-section .custom-date-range span{color:#888;font-size:14px}.scan-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:10px 24px;transition:background .2s}.scan-btn:hover:not(:disabled){background:#5568d3}.scan-btn:disabled{cursor:not-allowed;opacity:.5}.scan-results{margin-top:16px}.available-reviews-section h4,.current-coverage-section h4,.scan-results h4{color:#333;font-size:16px;font-weight:600;margin:0 0 12px}.review-file-list{display:flex;flex-direction:column;gap:4px}.review-file-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;display:flex;font-size:14px;gap:10px;padding:10px 14px;transition:all .2s}.review-file-item.selected{background:#f0f4ff;border-color:#667eea}.review-file-item.deselected{opacity:.6}.review-file-item.merged-item{background:#f0fdf4;border-color:#bbf7d0}.review-file-item.gap-item{background:#fef3c7;border-color:#fbbf24;border-left:3px solid #f59e0b}.review-file-item.review-file-dup{background:#f9fafb;border-color:#e5e7eb;opacity:.7}.review-file-item.classify-recommended{border-left:3px solid #22c55e}.review-file-item.classify-caution{border-left:3px solid #f59e0b}.review-file-item.classify-safe{border-left:3px solid #d1d5db}.review-file-item.classify-needs_update{border-left:3px solid #3b82f6}.review-checkbox{align-items:center;cursor:pointer;display:flex}.review-checkbox input[type=checkbox]{cursor:pointer}.review-file-info{min-width:0}.review-file-info,.review-file-main{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.review-date-range{color:#333;font-weight:500}.review-file-name,.review-pairs{color:#6b7280;font-size:13px}.review-status-badge{align-items:center;border-radius:50%;display:inline-flex;flex-shrink:0;font-size:11px;font-weight:700;height:18px;justify-content:center;width:18px}.review-status-badge.status-recommended{background:#dcfce7;color:#15803d}.review-status-badge.status-caution{background:#fef3c7;color:#92400e}.review-status-badge.status-needs_update{background:#dbeafe;color:#1d4ed8}.merged-at-label{color:#6b7280;font-size:13px;font-style:italic}.review-status-badge.status-safe{background:#f3f4f6;color:#6b7280}.needs-update-tag{color:#1d4ed8;font-size:12px}.gap-icon{align-items:center;background:#f59e0b;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:11px;font-weight:700;height:18px;justify-content:center;width:18px}.gap-label{color:#92400e;font-size:13px}.gap-action-btn{background:#f59e0b;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:5px 12px;transition:background .2s;white-space:nowrap}.gap-action-btn:hover{background:#d97706}.merged-icon{background:#22c55e}.dup-icon,.merged-icon{align-items:center;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:11px;font-weight:700;height:18px;justify-content:center;width:18px}.dup-icon{background:#d1d5db}.dup-reason{color:#9ca3af;font-size:13px;font-style:italic}.review-view-btn{background:#6366f1;border:none;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;font-size:12px;font-weight:500;padding:4px 12px;transition:background-color .2s}.review-view-btn:hover{background:#4f46e5}.review-delete-btn{background:none;border:none;cursor:pointer;flex-shrink:0;font-size:14px;opacity:.5;padding:2px 6px;transition:opacity .2s}.review-delete-btn:hover{opacity:1}.review-classification-details{display:flex;flex-direction:column;gap:2px;margin-top:4px}.cls-tag{border-radius:4px;display:inline-block;font-size:12px;padding:2px 8px}.cls-tag.fills-gap{background:#dcfce7;color:#15803d}.cls-tag.extends-range{background:#dbeafe;color:#1d4ed8}.overlap-details{display:flex;flex-direction:column;gap:2px}.overlap-label{color:#92400e;font-size:13px}.non-overlap-label{color:#6b7280;font-size:13px}.overlap-estimate{color:#dc2626;font-size:13px}.overlap-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.overlap-action-btn{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;font-size:13px;padding:5px 10px;transition:all .2s}.overlap-action-btn:hover{background:#f3f4f6;border-color:#667eea}.overlap-action-btn.update-btn{background:#667eea;border-color:#667eea;color:#fff}.overlap-action-btn.update-btn:hover{background:#5a6fd6;border-color:#5a6fd6}.fully-covered-hint{color:#9ca3af;font-size:13px;font-style:italic}.duplicates-section{border-top:1px solid #e0e0e0;margin-top:16px;padding-top:16px}.duplicates-section h5{color:#555;font-size:14px;font-weight:600;margin:0 0 8px}.coverage-summary{color:#555;font-size:14px;padding:8px 0}.coverage-stats{background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#333;display:flex;font-size:14px;gap:16px;margin-bottom:12px;padding:10px 14px}.coverage-stats span{font-weight:500}.no-coverage-message,.no-profile-message,.no-reviews-message{color:#555;font-size:15px;padding:24px;text-align:left}.current-coverage-section{margin-bottom:20px}.available-reviews-section{margin-top:16px}.profile-update-content .loading-state{color:#555;font-size:15px;padding:40px;text-align:center}.rebuild-result{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #22c55e;border-radius:8px;margin-top:16px;padding:16px}.rebuild-result h4{color:#15803d;font-size:16px;font-weight:600;margin:0 0 8px}.rebuild-stats{color:#333;display:flex;flex-wrap:wrap;font-size:14px;gap:16px}.rebuild-stats span{font-weight:500}.profile-update-footer{align-items:center;background:#fff;border-radius:0 0 12px 12px;border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.profile-update-dialog .btn-primary{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:10px 24px;transition:background .2s}.profile-update-dialog .btn-primary:hover:not(:disabled){background:#5568d3}.profile-update-dialog .btn-primary:disabled{cursor:not-allowed;opacity:.6}.profile-update-footer .btn-secondary{background:#667eea;border:1px solid #667eea;border-radius:6px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:10px 24px;transition:all .2s}.profile-update-footer .btn-secondary:hover{background:#5568d3;border-color:#5568d3}.confirm-delete-overlay{align-items:center;background:#0006;border-radius:12px;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1}.confirm-delete-dialog{background:#fff;border-radius:8px;box-shadow:0 4px 16px #0003;max-width:360px;padding:24px;text-align:center}.confirm-delete-dialog p{color:#333;font-size:14px;margin:0 0 8px}.confirm-delete-warning{color:#dc2626!important;font-size:12px!important}.confirm-delete-buttons{display:flex;gap:12px;justify-content:center;margin-top:16px}.confirm-delete-buttons .btn-danger{background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:background .2s}.confirm-delete-buttons .btn-danger:hover{background:#dc2626}.confirm-delete-buttons .btn-secondary{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#333;cursor:pointer;font-size:13px;padding:8px 16px;transition:all .2s}.confirm-delete-buttons .btn-secondary:hover{background:#f3f4f6}.backups-section{border-top:1px solid #e0e0e0;margin-top:16px;padding-top:12px}.backups-section h4{color:#555;font-size:14px;font-weight:600;margin:0 0 8px}.backup-list{display:flex;flex-direction:column;gap:6px}.backup-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:4px;display:flex;justify-content:space-between;padding:6px 10px}.backup-info{display:flex;font-size:13px;gap:8px}.backup-timestamp{color:#333}.backup-size{color:#9ca3af}.restore-btn{background:#667eea;border:1px solid #5568d3;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:5px 12px;transition:background .2s}.restore-btn:hover{background:#5568d3}.restore-btn:disabled{cursor:not-allowed;opacity:.5}.confirm-delete-buttons .btn-primary{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:background .2s}.confirm-delete-buttons .btn-primary:hover{background:#5568d3}@media (max-width:768px){.profile-update-dialog{max-width:none;width:95%}.profile-update-toolbar{align-items:stretch;flex-direction:column}.range-buttons{flex-wrap:wrap}.coverage-stats,.rebuild-stats{flex-direction:column;gap:4px}}@keyframes backtestFadeIn{0%{opacity:0}to{opacity:1}}@keyframes backtestSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.backtest-overlay{align-items:center;animation:backtestFadeIn .2s;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.backtest-dialog{animation:backtestSlideUp .3s;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;color:#333;display:flex;flex-direction:column;max-height:75vh;width:900px}.backtest-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.backtest-header h2{font-size:20px;margin:0}.backtest-tabs{background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;gap:8px;padding:16px 24px}.backtest-tab{background:#fff;border:1px solid #ddd;border-radius:6px;color:#555;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.backtest-tab:hover:not(.active){background:#f0f0f0;border-color:#667eea}.backtest-tab.active{background:#667eea;border-color:#667eea;color:#fff;font-weight:600}.backtest-body{flex:1 1;overflow-y:auto;padding:16px 20px}.scan-list{margin-bottom:16px}.scan-item{align-items:center;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;display:flex;font-size:14px;gap:10px;margin-bottom:4px;padding:8px 12px}.scan-item.backtested{opacity:.5}.scan-item.backtested.force-mode{opacity:1}.scan-item input[type=checkbox]{accent-color:#667eea}.scan-time{color:#667eea;font-weight:600;width:50px}.scan-source{color:#888;width:55px}.scan-picks{color:#888;min-width:80px}.scan-status{border-radius:4px;font-size:13px;padding:2px 8px}.scan-status.new{background:#667eea1f;color:#667eea}.scan-status.done{background:#50c8501f;color:#2e7d32}.scan-status.next-day{background:#f59e0b1f;color:#92400e}.delete-scan-btn{background:none;border:none;cursor:pointer;font-size:14px;opacity:.5;padding:2px 6px;transition:opacity .2s}.delete-scan-btn:hover{background:#dc26261a;border-radius:4px;opacity:1}.scan-actions{align-items:center;display:flex;gap:8px;margin-bottom:16px}.scan-actions button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px}.scan-actions .run-btn{background:#667eea;color:#fff}.scan-actions .run-btn:hover:not(:disabled){background:#5a6fd6}.scan-actions .run-btn:disabled{background:#ccc;cursor:not-allowed}.scan-actions .force-btn{background:#0000;border:1px solid #ddd;color:#888}.scan-actions .force-btn:hover{border-color:#667eea;color:#667eea}.scan-actions label{align-items:center;color:#888;display:flex;font-size:13px;gap:4px}.progress-bar{background:#f0f0f0;border:1px solid #e0e0e0;border-radius:6px;margin-top:12px;padding:12px}.progress-bar .bar{background:#e0e0e0;border-radius:3px;height:6px;margin-top:8px;overflow:hidden}.progress-bar .bar-fill{background:#667eea;border-radius:3px;height:100%;transition:width .3s}.progress-text{color:#888;font-size:13px}.analysis-timerange{display:flex;gap:4px;margin-bottom:16px}.analysis-timerange button{background:#0000;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:13px;padding:6px 14px}.analysis-timerange button.active{background:#667eea;border-color:#667eea;color:#fff}.stats-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:12px;padding:12px 16px}.stats-card h4{color:#555;font-size:14px;margin:0 0 8px}.stats-row{display:flex;flex-wrap:wrap;gap:20px}.hero-row{display:flex;gap:24px;margin-bottom:10px}.hero-metric{display:flex;flex-direction:column}.hero-value{color:#333;font-size:22px;font-weight:700;line-height:1.2}.hero-label{color:#888;font-size:12px;text-transform:uppercase}.summary-details{border-top:1px solid #eee;color:#888;display:flex;flex-wrap:wrap;font-size:13px;gap:6px 16px;padding-top:8px}.positive{color:#2e7d32}.negative{color:#d32f2f}.stat-item{font-size:14px}.stat-item .stat-label{color:#888;margin-right:4px}.stat-item .stat-value{color:#333;font-weight:600}.stat-value.positive{color:#2e7d32}.stat-value.negative{color:#d32f2f}.trades-table{border-collapse:collapse;font-size:13px;margin-top:8px;width:100%}.trades-table th{border-bottom:1px solid #e0e0e0;color:#888;cursor:pointer;padding:6px 8px;text-align:left;-webkit-user-select:none;user-select:none;white-space:nowrap}.trades-table th:hover{color:#555}.trades-table th .sort-arrow{font-size:10px;margin-left:2px}.trades-table td{border-bottom:1px solid #f0f0f0;padding:6px 8px;white-space:nowrap}.trades-table tr:hover td{background:#f8f9fa}.trade-profit{font-weight:600}.trade-profit.positive{color:#2e7d32}.trade-profit.negative{color:#d32f2f}.exit-badge{border-radius:3px;font-size:12px;padding:1px 6px}.exit-badge.target{background:#2e7d321a;color:#2e7d32}.exit-badge.stop_loss{background:#d32f2f1a;color:#d32f2f}.exit-badge.time_cutoff{background:#eda8001f;color:#c68d00}.exit-badge.no_data,.exit-badge.no_entry{background:#0000000f;color:#999}.pagination{align-items:center;color:#666;display:flex;font-size:13px;gap:12px;justify-content:center;margin-top:12px}.pagination button{background:#0000;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:13px;padding:4px 10px}.pagination button:hover:not(:disabled){border-color:#667eea;color:#667eea}.pagination button:disabled{cursor:not-allowed;opacity:.3}.trade-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.trade-filters select{background:#fff;border:1px solid #ddd;border-radius:4px;color:#333;font-size:13px;padding:4px 8px}.best-worst-row{display:flex;gap:12px;margin-bottom:12px}.best-worst-row .stats-card{flex:1 1}.trade-highlight{align-items:center;display:flex;font-size:13px;gap:8px;padding:4px 0}.trade-highlight .icon{font-size:14px}.trade-highlight .symbol{color:#667eea;font-weight:600}.trade-highlight .detail{color:#888}.no-data{color:#999;font-size:14px;padding:40px;text-align:center}.login-page{align-items:center;background:#0a0e17;display:flex;justify-content:center;min-height:100vh}.login-container{background:#1a1f2e;border:1px solid #2a3040;border-radius:12px;box-shadow:0 8px 32px #0006;padding:40px;width:360px}.login-container h2{color:#e0e6ed;font-size:24px;margin:0 0 8px;text-align:center}.login-subtitle{color:#6b7a90;font-size:13px;margin-bottom:24px;text-align:center}.login-form{gap:16px}.login-field,.login-form{display:flex;flex-direction:column}.login-field{gap:6px}.login-field label{color:#8b95a5;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.login-field input{background:#0d1117;border:1px solid #2a3040;border-radius:6px;color:#e0e6ed;font-size:14px;outline:none;padding:10px 12px;transition:border-color .2s}.login-field input:focus{border-color:#667eea}.login-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:8px;padding:12px;transition:background .2s}.login-btn:hover:not(:disabled){background:#5a6fd6}.login-btn:disabled{background:#2a3040;cursor:not-allowed}.login-error{background:#ff50501a;border:1px solid #ff50504d;border-radius:6px;color:#ff6b6b;font-size:13px;padding:10px 12px;text-align:center}
/*# sourceMappingURL=main.c486530d.css.map*/