body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body{font-family:Arial,sans-serif;margin:0;padding:0;box-sizing:border-box}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}.App-header{background-color:#282c34;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(10px + 2vmin);color:#fff}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.trade-container{display:inline-block;margin-left:10px;padding:10px;text-align:left}.trades-container{display:flex;flex-direction:column;gap:10px;padding:20px}nav{position:fixed;top:0;left:0;width:100%;background-color:#2c3e50;z-index:1000;box-shadow:0 2px 4px #0003}nav ul{display:flex;margin:0;padding:0;list-style:none}nav li{margin:0;padding:0}nav a{display:block;padding:15px 20px;color:#fff;text-decoration:none;font-weight:500;transition:background-color .2s}nav a:hover{background-color:#34495e}.App>*:not(nav){margin-top:50px;padding-top:10px}.trade-block{border:1px solid #ccc;border-radius:5px;padding:0;margin-bottom:10px;background-color:#f9f9f9;flex:1}.trade-list-row{display:flex;align-items:stretch;gap:8px;margin-bottom:10px}.trade-close-button{align-self:center;min-width:72px;height:36px;border:1px solid #b04a4a;background:#fff5f5;color:#8b1e1e;border-radius:4px;cursor:pointer;font-weight:600}.trade-close-button:disabled{opacity:.6;cursor:default}.trade-row{display:flex}.trade-header{background-color:#e0e0e0;font-weight:700;border-bottom:1px solid #ccc;border-right:1px solid #ccc}.trade-header .trade-column{text-align:center}.trade-column{padding:0 2px;text-align:left;border-right:1px solid #ccc}.trade-column:last-child{border-right:none}.trade-column-trade-number{width:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.trade-column-type{width:80px}.trade-column-current-profit{width:60px}.trade-column-delta{width:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.trade-column-max-loss,.trade-column-max-profit{width:50px}.bold{font-weight:700}.trade-column-short-long{width:10px;background-color:#fff}.trade-header-column-short-long{width:10px;background-color:#e0e0e0}.trade-column-quantity{width:20px;background-color:#fff}.trade-header-column-quantity{width:20px;background-color:#e0e0e0}.trade-column-price{width:40px;background-color:#fff}.trade-column-header-price{width:40px;background-color:#e0e0e0}.trade-column-openPL{width:60px;background-color:#fff}.trade-column-header-openPL{width:60px;background-color:#e0e0e0}.trade-column div{margin-bottom:1px}.neutral{color:#000}.trade-column-grey{background-color:#f0f0f0}.trade-column-border-bottom{border-bottom:1px solid #ccc}.log-viewer{padding:20px;max-width:1200px;margin:0 auto}.log-filters{margin-bottom:20px;display:flex;gap:10px}.log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.log-controls{display:flex;gap:10px;align-items:center}.log-controls select{padding:8px;border-radius:4px;border:1px solid #ccc}.log-controls button{padding:8px 16px;background-color:#4a90e2;color:#fff;border:none;border-radius:4px;cursor:pointer}.log-error{color:#d32f2f;margin-bottom:20px;padding:10px;background-color:#ffebee;border-radius:4px}.log-loading{text-align:center;padding:20px;color:#666}.log-table-container{height:calc(100vh - 180px);overflow-y:auto;border:1px solid #ddd;position:relative}.log-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9em}.log-table th{position:relative;padding:8px;border:1px solid #ddd;text-align:left;background-color:#f4f4f4;overflow:hidden;white-space:nowrap;-webkit-user-select:none;user-select:none}.column-resizer{position:absolute;top:0;right:0;width:5px;height:100%;cursor:col-resize;z-index:11}.column-resizer:hover{background-color:#0084ff}.log-table td{padding:8px;border:1px solid #ddd;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-table tbody td:hover{overflow:visible;white-space:normal;background-color:#f8f8f8;position:relative;z-index:1}.level-error{background-color:#ffebee}.level-warn{background-color:#fff8e1}.level-info{background-color:#e3f2fd}.level-debug{background-color:#f5f5f5}.resize-active{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.diagnostics-panel{margin:15px 0;padding:15px;border-radius:4px;background-color:#f8f8f8;border-left:4px solid #ccc}.diagnostics-panel.success{border-left-color:#4caf50;background-color:#f1f8e9}.diagnostics-panel.error{border-left-color:#f44336;background-color:#ffebee}.diagnostics-panel h4{margin-top:0;margin-bottom:10px}.diagnostics-panel p{margin:5px 0}.diagnostics-panel .error-message{color:#d32f2f}.diagnostic-button{background-color:#ff9800;color:#fff}.diagnostic-button:disabled{background-color:#ffcc80}.account-tracking{padding:20px;max-width:95%;margin:0 auto}.account-controls{margin-bottom:20px;display:flex;flex-direction:column;gap:20px}.filter-controls{display:flex;gap:15px;align-items:center;padding:15px;background-color:#f5f5f5;border-radius:5px}.filter-controls label{display:flex;align-items:center;gap:5px}.filter-controls select,.filter-controls input{padding:5px;border-radius:4px;border:1px solid #ccc}.filter-controls button{padding:5px 15px;border-radius:4px;background-color:#4a90e2;color:#fff;border:none;cursor:pointer}.filter-controls button:hover{background-color:#3a80d2}.new-movement-form{background-color:#f9f9f9;padding:15px;border-radius:5px;border:1px solid #e0e0e0}.new-movement-form h3{margin-top:0;margin-bottom:15px;color:#333}.form-row{display:flex;gap:15px;margin-bottom:15px;align-items:flex-end}.form-row label{display:flex;flex-direction:column;gap:5px}.notes-label{flex-grow:1}.form-row input,.form-row select{padding:8px;border-radius:4px;border:1px solid #ccc}.submit-button{padding:8px 15px;border-radius:4px;background-color:#4caf50;color:#fff;border:none;cursor:pointer;height:36px}.submit-button:hover{background-color:#3d9c40}.data-section{margin-bottom:30px}.data-section h3{margin-bottom:15px;color:#333}.data-table{width:100%;border-collapse:collapse;box-shadow:0 1px 3px #0000001a}.data-table th,.data-table td{padding:10px;border:1px solid #ddd;text-align:left}.data-table th{background-color:#f4f4f4;font-weight:700}.data-table tr:nth-child(2n){background-color:#f9f9f9}.data-table tr:hover{background-color:#f1f1f1}.deposit{background-color:#e6ffe6}.withdrawal{background-color:#ffe6e6}.trading{background-color:#e6f3ff}.react-datepicker-wrapper,.react-datepicker__input-container{width:100%}.custom-datepicker{padding:8px;border-radius:4px;border:1px solid #ccc;width:100%;font-size:14px}.react-datepicker{font-family:inherit;border-radius:4px;border:1px solid #ccc}.react-datepicker__header{background-color:#f4f4f4;border-bottom:1px solid #e0e0e0}.react-datepicker__day--selected{background-color:#4a90e2;color:#fff}.react-datepicker__day:hover{background-color:#e6f3ff}.section-controls{display:flex;align-items:center;gap:10px}.recalculate-button{background-color:#9aa5af;color:#fff;border:1px solid #5a6268;border-radius:4px;padding:5px 10px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:4px}.recalculate-button:hover{background-color:#5a6268}.recalculate-button:disabled{background-color:#adb5bd;border-color:#adb5bd;cursor:not-allowed;opacity:.65}.user-selector{margin-right:15px}.user-selector select{padding:5px 10px;border-radius:4px;border:1px solid #ccc;font-size:.9rem;background-color:#f8f8f8}.toggle-button{background-color:#4a90e2;color:#fff;border:1px solid #3a80d2;border-radius:4px;padding:5px 10px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:4px}.toggle-button:hover{background-color:#3a80d2}.charts-section{margin-top:30px;border:1px solid #ddd;border-radius:5px;padding:15px;background-color:#fff}.charts-container{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.chart{flex:1 1 400px;min-height:300px;border:1px solid #eee;border-radius:5px;padding:10px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;background-color:#fdfdfd}.recharts-wrapper{margin:0 auto}.profit-rates-section{margin:20px 0;padding:15px;background-color:#f9f9f9;border-radius:8px}.profit-rates-container{display:flex;justify-content:space-between;margin-top:15px}.profit-rate-card{flex:1;background:#fff;border:1px solid #ddd;border-radius:6px;padding:15px;margin:0 10px;text-align:center;box-shadow:0 2px 4px #0000000d}.profit-rate-card:first-child{margin-left:0}.profit-rate-card:last-child{margin-right:0}.profit-rate-title{font-size:1.1rem;font-weight:600;color:#555;margin-bottom:8px}.profit-rate-value{font-size:1.8rem;font-weight:700;margin:10px 0}.profit-rate-subtitle{font-size:.85rem;color:#777}.profit-rate-value.positive{color:#28a745}.profit-rate-value.negative{color:#dc3545}.refresh-indicator{position:fixed;top:10px;right:10px;background-color:#4f81bde6;color:#fff;padding:5px 10px;border-radius:4px;font-size:.8rem;z-index:1000;animation:fadeIn .3s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.user-detail-row{background-color:#f9f9f9}.detail-toggle{background:none;border:none;color:#4a90e2;cursor:pointer;font-size:.9rem;padding:5px;text-align:left;width:100%}.detail-toggle:hover{text-decoration:underline}.user-detail-header{background-color:#edf5fd;font-weight:400;font-style:italic;font-size:.9rem}.user-detail-item{background-color:#f5f9ff}.user-detail-item td{font-size:.9rem;padding:6px 10px}@media screen and (max-width:768px){.data-table{display:block;overflow-x:auto;white-space:nowrap}}.daily-profit{display:block;font-size:1rem;margin-top:2px}.daily-movement{display:block;font-size:.85rem;margin-top:2px;font-style:italic}.deposit-indicator{color:green;padding-right:4px}.withdrawal-indicator{color:red}.data-table td[title]{cursor:help;border-bottom:1px dotted #ccc;position:relative}.summaries-table td{padding:10px;vertical-align:middle;min-width:120px}.ownership-button{background-color:#6c757d;color:#fff;border:none;padding:5px 10px;border-radius:4px;cursor:pointer;margin-left:10px}.ownership-button:hover{background-color:#5a6268}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;border-radius:5px;width:80%;max-width:800px;max-height:80vh;overflow-y:auto;box-shadow:0 4px 8px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #e0e0e0}.modal-header h3{margin:0;color:#333}.close-button:hover{color:#333}.ownership-table{width:100%;border-collapse:collapse;margin-top:15px}.ownership-table th,.ownership-table td{padding:10px;border:1px solid #ddd;text-align:left}.ownership-table th{background-color:#f4f4f4;font-weight:700}.ownership-table tr:nth-child(2n){background-color:#f9f9f9}.ownership-table .total-row{font-weight:700;background-color:#f0f0f0}.growth-percentage{margin-left:4px;font-size:.8rem;color:#666}.data-table-container{width:100%;overflow-x:auto;margin-bottom:20px}.summaries-table{width:100%;border-collapse:collapse;table-layout:fixed}.summaries-table th,.summaries-table td{padding:8px 6px;white-space:normal;overflow:hidden;text-overflow:ellipsis}.summaries-table th:first-child,.summaries-table td:first-child{width:90px;min-width:90px;max-width:90px}.summaries-table th:nth-child(2),.summaries-table td:nth-child(2){width:90px;min-width:90px;max-width:90px}.summaries-table th:not(:first-child):not(:nth-child(2)):not(:nth-last-child(1)):not(:nth-last-child(2)),.summaries-table td:not(:first-child):not(:nth-child(2)):not(:nth-last-child(1)):not(:nth-last-child(2)){width:100px;min-width:100px;max-width:120px}.summaries-table th:nth-last-child(2),.summaries-table td:nth-last-child(2){width:90px;min-width:90px;max-width:90px}.summaries-table td:nth-child(2),.summaries-table td[class*=balance]:not(:nth-child(2)),.summaries-table td[class*=profit]{text-align:right}.summaries-table td:nth-child(2){text-align:left}.summaries-table th:first-child,.summaries-table td:first-child{position:sticky;left:0;background-color:#f4f4f4;z-index:20;box-shadow:2px 0 5px -2px #0000001a}.summaries-table th:nth-last-child(2),.summaries-table td:nth-last-child(2),.summaries-table th:nth-last-child(1),.summaries-table td:nth-last-child(1){position:sticky;right:0;background-color:#f4f4f4;z-index:10;width:80px;min-width:80px;max-width:80px}.summaries-table th:nth-last-child(2),.summaries-table td:nth-last-child(2){right:80px}.summaries-table td:nth-last-child(2){box-shadow:-2px 0 5px -2px #0000001a}.summaries-table{border:1px solid #ddd;box-shadow:0 2px 8px #0000001a}.summaries-table tr:hover td{background-color:#f0f0f099}.summaries-table tr:hover td:first-child,.summaries-table tr:hover td:nth-last-child(1),.summaries-table tr:hover td:nth-last-child(2){background-color:#eaeaea}.data-source-indicator{margin:15px 0;padding:10px;background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;display:flex;flex-wrap:wrap;gap:10px}.error-badge{display:inline-block;padding:4px 8px;background-color:#dc3545;color:#fff;border-radius:3px;font-size:.85rem;font-weight:500}.warning-badge{display:inline-block;padding:4px 8px;background-color:#ffc107;color:#333;border-radius:3px;font-size:.85rem;font-weight:500}.performance-metrics-section{margin:20px 0;padding:15px;background-color:#f9f9f9;border-radius:8px}.metrics-content{margin-top:15px}.metric-category{font-size:1.2rem;font-weight:600;color:#333;margin:20px 0 10px;border-bottom:2px solid #ddd;padding-bottom:5px}.metrics-table{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:15px;margin-bottom:20px}.metric-row{display:flex;flex-direction:column;background:#fff;border:1px solid #ddd;border-radius:6px;padding:15px;box-shadow:0 2px 4px #0000000d}.metric-cell{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.metric-name{font-weight:600;color:#555;font-size:.95rem}.metric-value{font-size:1.5rem;font-weight:700;color:#333}.metric-description{font-size:.85rem;color:#777;line-height:1.4}.db-warning{color:#f90;font-size:.9rem}.reliability-indicator{color:#f90;font-size:.8rem;margin-left:4px}.metrics-legend{margin-top:15px;padding:10px;background-color:#fff3cd;border-radius:4px;font-size:.85rem;color:#856404}.account-admin{padding:20px;max-width:1600px;margin:0 auto}.account-admin h2{margin-bottom:20px;color:#333}.error-message{background-color:#f8d7da;color:#721c24;padding:10px;border-radius:4px;margin-bottom:20px}.admin-grid{display:grid;grid-template-columns:250px 1fr;gap:20px;align-items:start}.admin-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;margin-bottom:20px}.admin-section h3{margin-top:0;margin-bottom:15px;color:#333;border-bottom:1px solid #eee;padding-bottom:10px}.accounts-list ul{list-style-type:none;padding:0;margin:0;max-height:500px;overflow-y:auto}.accounts-list li{padding:10px;margin-bottom:5px;background-color:#f8f9fa;border-radius:4px;cursor:pointer;transition:background-color .2s}.accounts-list li:hover{background-color:#e9ecef}.accounts-list li.selected{background-color:#007bff;color:#fff}.account-id{font-size:.8em;opacity:.7}.account-details h4{margin-top:0;margin-bottom:15px;color:#007bff}.account-details p{margin-bottom:8px}.account-details table{width:100%;border-collapse:collapse;margin-bottom:20px}.account-details th,.account-details td{padding:8px;border:1px solid #dee2e6;text-align:left}.account-details th{background-color:#f8f9fa}.historical-table{margin-top:10px;width:100%;font-size:.9em}.historical-row{background-color:#f8f9fa}.historical-section{margin-top:20px;padding-top:10px;border-top:1px dashed #dee2e6}.admin-forms{grid-column:1 / -1;margin-top:20px;border-top:2px solid #eaeaea;padding-top:20px}.accordion{display:flex;flex-direction:row;flex-wrap:wrap;gap:15px;justify-content:space-between}.accordion-item{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;padding:15px;flex:1 1 calc(50% - 15px);min-width:300px;margin-bottom:15px}.accordion-item h4{margin-top:0;margin-bottom:15px;color:#495057}.form-group{margin-bottom:15px}.form-group select,.form-group input[type=text],.form-group input[type=email],.form-group input[type=number],.form-group textarea{width:100%;padding:8px;border:1px solid #ced4da;border-radius:4px}.form-group small{display:block;margin-top:5px;color:#6c757d;font-size:.8em}.form-group.checkbox label{display:flex;align-items:center;font-weight:400}.form-group.checkbox input[type=checkbox]{margin-right:10px}button{padding:8px 15px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}button:hover{background-color:#0069d9}.edit-button,.save-button{background-color:#28a745}.edit-button:hover,.save-button:hover{background-color:#218838}.end-button,.cancel-button{background-color:#dc3545}.end-button:hover,.cancel-button:hover{background-color:#c82333}.action-buttons{display:flex;gap:5px}.edit-form{background-color:#f0f7ff;border:1px solid #b8daff}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:15px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.toggle-container{display:flex;align-items:center}.toggle-container label{display:flex;align-items:center;font-weight:400;margin:0}.toggle-container input[type=checkbox]{margin-right:8px}.debug-cell{padding:10px}.debug-message{color:#6c757d;font-style:italic;margin-bottom:10px}.debug-actions{display:flex;gap:10px}.loading{display:flex;justify-content:center;align-items:center;height:200px;font-size:1.2em;color:#6c757d}.positive{color:green}.negative{color:red}@media(max-width:1200px){.accordion-item{flex:1 1 calc(100% - 15px)}}@media(max-width:992px){.admin-grid{grid-template-columns:200px 1fr}}@media(max-width:768px){.admin-grid{grid-template-columns:1fr}.accounts-list,.account-details{grid-column:1 / -1}.accounts-list ul{max-height:300px}.account-details table{display:block;overflow-x:auto;white-space:nowrap}.form-actions{flex-direction:column}.form-actions button{width:100%}}@media(max-width:576px){.action-buttons{flex-direction:column}.action-buttons button{width:100%;margin-bottom:5px}}.settings-manager{max-width:1200px;margin:0 auto;padding:20px}.settings-manager h2{color:#333;margin-bottom:20px}.error-message{background-color:#fee;color:#d32f2f;padding:10px;border-radius:4px;margin-bottom:15px;border-left:4px solid #d32f2f}.success-message{background-color:#efe;color:#2e7d32;padding:10px;border-radius:4px;margin-bottom:15px;border-left:4px solid #2e7d32}.loading{display:flex;justify-content:center;align-items:center;height:200px;color:#666}.settings-container{display:flex;border:1px solid #ddd;border-radius:4px;overflow:hidden;min-height:500px}.categories-sidebar{width:220px;background-color:#f5f5f5;border-right:1px solid #ddd;overflow-y:auto}.categories-sidebar ul{list-style:none;padding:0;margin:0}.categories-sidebar li{padding:12px 15px;cursor:pointer;border-bottom:1px solid #eee;transition:background-color .2s}.categories-sidebar li:hover{background-color:#e0e0e0}.categories-sidebar li.active{background-color:#e3f2fd;color:#1976d2;font-weight:500;border-left:4px solid #1976d2}.settings-content{flex:1;padding:0;overflow-y:auto}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #eee;background-color:#fafafa}.settings-header h3{margin:0;color:#333}.settings-actions{display:flex;gap:10px}.new-setting-button,.export-button{padding:8px 16px;background-color:#4a90e2;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.export-button{background-color:#45a049}.settings-actions button{padding:8px 16px;border-radius:4px;cursor:pointer;border:none;font-weight:500;transition:background-color .2s}.edit-button{background-color:#1976d2;color:#fff}.edit-button:hover{background-color:#1565c0}.save-button{background-color:#43a047;color:#fff}.save-button:hover{background-color:#388e3c}.cancel-button{background-color:#e0e0e0;color:#333}.cancel-button:hover{background-color:#d5d5d5}.settings-list{padding:10px 0}.setting-item{display:flex;padding:15px 20px;border-bottom:1px solid #eee;align-items:flex-start}.setting-info{flex:1;padding-right:20px}.setting-name{font-weight:500;margin-bottom:5px;color:#333}.setting-description{font-size:.9rem;color:#666}.setting-control{width:250px}.setting-input{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:.9rem}.setting-input:disabled{background-color:#f5f5f5;color:#666;cursor:not-allowed}.setting-input:focus{border-color:#1976d2;outline:none;box-shadow:0 0 0 2px #1976d233}.time-input{text-align:center}.select-input{height:36px}.number-input{text-align:right}.no-settings{display:flex;justify-content:center;align-items:center;height:300px;color:#666;font-style:italic}.new-setting-form{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;padding:20px;margin-bottom:20px}.new-setting-form h3{margin-top:0;margin-bottom:15px;color:#333}.form-row{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px}.form-group{flex:1;min-width:200px}.form-group.full-width{flex-basis:100%}.form-group label{display:block;margin-bottom:5px;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px}.form-group textarea{min-height:80px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.form-actions button{padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px}.form-actions button[type=submit]{background-color:#4a90e2;color:#fff;border:none}.form-actions button[type=button]{background-color:#f5f5f5;border:1px solid #ccc}.delete-button{margin-left:10px;background-color:#ff4d4f;color:#fff;border:none;border-radius:50%;width:24px;height:24px;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.category-tree{list-style-type:none;padding:0;margin:0}.category-tree li{padding:10px 15px;cursor:pointer;border-bottom:1px solid #eee;text-align:left}.category-tree li:hover{background-color:#f5f5f5}.category-tree li.active{background-color:#4a90e2;color:#fff}.subcategories{list-style-type:none;padding:0;margin:0}.subcategories li{padding:8px 10px 8px 25px;font-size:.9em;border-bottom:1px solid #f0f0f0;background-color:#f9f9f9;text-align:left;position:relative}.subcategories li:before{content:"›";position:absolute;left:10px;color:#999}.subcategories li.sub.active{background-color:#61a5f2;color:#fff}.subcategories li:hover{background-color:#eaeaea}.subcategories li.sub.active:hover{background-color:#61a5f2}.subcategories li.sub.active:before{color:#fff}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;pointer-events:auto}.modal-content{background-color:#fff;border-radius:4px;width:90%;max-width:500px;box-shadow:0 2px 10px #0003;position:relative;z-index:1001}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #eee}.modal-header h3{margin:0;font-size:1.2rem}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666}.modal-body{padding:20px}.settings-actions-bar{display:flex;justify-content:space-between;margin-bottom:20px}.left-actions{display:flex;gap:10px}.manage-categories-button{background-color:#45a049;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer}.manage-categories-button:hover{background-color:#3d8b40}.new-category-inputs{margin-top:10px}@media(max-width:768px){.settings-container{flex-direction:column}.categories-sidebar{width:100%;border-right:none;border-bottom:1px solid #ddd;max-height:300px}.setting-item{flex-direction:column}.setting-info{padding-right:0;margin-bottom:10px}.setting-control{width:100%}}.metrics-analysis{padding:20px;max-width:95%;margin:0 auto}.metrics-analysis h2{margin-bottom:20px;color:#333}.analysis-controls{display:flex;gap:15px;align-items:center;padding:15px;background-color:#f5f5f5;border-radius:5px;margin-bottom:20px}.analysis-controls label{display:flex;align-items:center;gap:8px;font-weight:500}.analysis-controls select,.analysis-controls input[type=date]{padding:8px;border-radius:4px;border:1px solid #ccc;font-size:14px}.analysis-controls button{padding:8px 20px;border-radius:4px;background-color:#4a90e2;color:#fff;border:none;cursor:pointer;font-size:14px;font-weight:500}.analysis-controls button:hover{background-color:#3a80d2}.analysis-controls button:disabled{background-color:#adb5bd;cursor:not-allowed}.top-chart{margin-bottom:30px;background-color:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a}.metrics-section{margin-bottom:40px}.metrics-section h3{margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #4a90e2;color:#333;font-size:1.3rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:20px}@media(max-width:1200px){.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}}@media(max-width:900px){.metrics-grid{grid-template-columns:1fr}}.error-message{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:4px;padding:12px;margin-bottom:20px}.sticky-chart-container{position:sticky;top:0;z-index:100;background-color:#fff;padding:1px 0 5px;margin-bottom:1px;box-shadow:0 2px 4px #0000001a}.sticky-chart-wrapper{height:150px;position:relative}.sticky-chart-wrapper .chart{height:100%;margin-bottom:0}.sticky-chart-wrapper .chart>div{height:180px!important}.metrics-section:first-of-type{margin-top:2px}.market-data-dashboard{padding:20px;max-width:1400px;margin:0 auto}.market-data-dashboard h2{margin-bottom:30px;color:#333}.loading,.error-message{text-align:center;padding:40px;font-size:1.1rem}.error-message{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px}.dashboard-section{margin-bottom:40px;background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.dashboard-section h3{margin-top:0;margin-bottom:20px;color:#555;border-bottom:2px solid #4a90e2;padding-bottom:10px}.symbols-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.symbol-card{border:2px solid #e0e0e0;border-radius:8px;padding:15px;cursor:pointer;transition:all .3s ease}.symbol-card:hover{border-color:#4a90e2;box-shadow:0 4px 8px #4a90e233}.symbol-card.active{border-color:#28a745}.symbol-card.inactive{border-color:#dc3545;opacity:.7}.symbol-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.symbol-header h4{margin:0;font-size:1.4rem;color:#333}.status-badge{padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600}.status-badge.active{background-color:#d4edda;color:#155724}.status-badge.inactive{background-color:#f8d7da;color:#721c24}.symbol-info{display:flex;flex-direction:column;gap:8px}.info-row{display:flex;justify-content:space-between;padding:4px 0}.info-row .label{color:#666;font-weight:500}.info-row .value{color:#333;font-weight:600}.options-table-container{overflow-x:auto}.options-table{width:100%;border-collapse:collapse;min-width:800px}.options-table th,.options-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.options-table th{background-color:#f8f9fa;font-weight:600;color:#555;position:sticky;top:0}.options-table tr:hover{background-color:#f8f9fa}.options-table .inactive-row{opacity:.6}.option-type{padding:3px 8px;border-radius:4px;font-size:.85rem;font-weight:600}.option-type.call{background-color:#d4edda;color:#155724}.option-type.put{background-color:#f8d7da;color:#721c24}.no-gaps{text-align:center;padding:40px;color:#28a745;font-size:1.2rem;font-weight:600}.gaps-table{width:100%;border-collapse:collapse}.gaps-table th,.gaps-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.gaps-table th{background-color:#f8f9fa;font-weight:600;color:#555}.gaps-table tr:hover{background-color:#fff3cd}.alert-badge{padding:3px 8px;border-radius:4px;font-size:.85rem;font-weight:600}.alert-badge.yes{background-color:#d4edda;color:#155724}.alert-badge.no{background-color:#fff3cd;color:#856404}.controls-section{margin:20px 0;padding:20px;background-color:#f9f9f9;border-radius:8px;border:1px solid #e0e0e0}.controls-section h3{margin-top:0;margin-bottom:15px;color:#333}.control-buttons{display:flex;flex-direction:column;gap:15px}.button-group{display:flex;align-items:center;gap:10px}.button-group label{font-weight:500;min-width:180px}.button-group select{padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px;min-width:150px}.primary-button,.secondary-button{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.primary-button{background-color:#4a90e2;color:#fff}.primary-button:hover:not(:disabled){background-color:#3a80d2}.secondary-button{background-color:#6c757d;color:#fff}.secondary-button:hover:not(:disabled){background-color:#5a6268}.primary-button:disabled,.secondary-button:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.success-message{padding:12px;margin:15px 0;background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724}@media(max-width:768px){.symbols-grid{grid-template-columns:1fr}.market-data-dashboard{padding:10px}}.tick-repairs-log-root{max-width:1200px;margin:0 auto;padding:24px 12px;background:#fff}.tick-repairs-intro{color:#555;margin-bottom:18px}.tick-repairs-filter{margin-bottom:10px}.tick-repairs-table{width:100%;border-collapse:collapse;margin-bottom:24px;background:#fafbfc}.tick-repairs-table th,.tick-repairs-table td{padding:6px 8px;border:1px solid #e0e0e0;font-size:.97em}.tick-repairs-table th{background:#f3f3f3;font-weight:600}.tick-repairs-table tr:nth-child(2n){background:#f9f9f9}.tick-repairs-table tr:hover{background:#eaf6ff}.tick-repairs-table td{vertical-align:middle}.tick-repairs-table button{padding:2px 8px;font-size:.95em;cursor:pointer}.tick-repairs-loading{text-align:center}.tick-repairs-error{color:red;text-align:center}.tick-repairs-empty{text-align:center;color:#888;padding:40px 0}.tick-repairs-icon{font-size:2.5em;margin-bottom:10px;opacity:.2}.tick-repairs-empty-desc{font-size:.95em;color:#bbb;margin-top:6px}.tick-repairs-manual-box{margin-top:20px;border:1px solid #ccc;padding:10px;background:#f8f8f8}.tick-repairs-manual-user,.tick-repairs-manual-submit,.tick-repairs-manual-cancel{margin-left:8px}.tick-repair-row-manual{background:#e6ffe6!important}.tick-repair-row-system{background:#e6f0ff!important}.tick-repair-row-unrepaired{background:#ffe6e6!important}@media(max-width:900px){.tick-repairs-log-root{padding:8px 2px}.tick-repairs-table th,.tick-repairs-table td{padding:4px;font-size:.92em}}
