body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.main-content{margin:0 auto;padding:.5rem}.footer{margin-top:2rem;padding:1rem;text-align:center}.footer-content p{font-size:.8rem}@media (max-width:768px){.main-content{padding:.5rem}.footer-content p{font-size:.7rem}}body{background-color:#f5f5f5;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0;padding:0}.App{display:flex;flex-direction:column;min-height:100vh;width:100%}.app-header{background-color:#2c3e50;box-shadow:0 2px 4px #0000001a;color:#fff;padding:.1rem 1rem}.navbar{justify-content:space-between;margin:0 auto;max-width:1200px}.nav-brand,.navbar{align-items:center;display:flex}.nav-brand{color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;gap:10px;margin:0}.nav-logo{height:30px;width:auto}.brand-text{display:inline-block;vertical-align:middle}.nav-tabs{display:flex;gap:1rem;list-style:none}.nav-tab{background:none;border:none;border-radius:4px;color:#ecf0f1;cursor:pointer;font-size:.8rem;padding:.25rem .5rem;transition:background-color .3s}.nav-tab:hover{background-color:#ffffff1a}.nav-tab.active{background-color:#3498db;color:#fff}.user-info,.user-section{align-items:center;display:flex;gap:1rem}.user-info span{color:#ecf0f1;font-weight:700}.login-link,.logout-link,.profile-link,.register-link{background-color:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:.8rem;padding:.25rem .5rem;text-decoration:none;transition:background-color .3s}.login-link:hover,.logout-link:hover,.profile-link:hover,.register-link:hover{background-color:#c0392b}.main-content{box-sizing:border-box;flex:1 1;width:100%}.footer{background-color:#f8f9fa;border-top:1px solid #dee2e6;margin-top:auto;padding:1rem 0}.footer-content{margin:0 auto;max-width:1200px;padding:0 2rem;text-align:center}.footer-content p{color:#6c757d;font-size:.875rem;margin:.25rem 0}@media (max-width:768px){.app-header{flex-direction:column;gap:1rem;padding:1rem}.main-content{width:100%}.navbar{flex-direction:column;gap:1rem}.nav-brand{gap:5px}.nav-logo{height:25px}}.search-section{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;margin-bottom:2rem;padding:2rem;position:relative}.search-section h2{color:#2c3e50;margin-top:0}.search-description{color:#7f8c8d;margin-bottom:1rem;text-align:center}.maintenance-notice{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404;margin-bottom:1rem;max-width:800px;padding:.75rem;text-align:center;width:100%}.maintenance-notice p{font-weight:500;margin:0}.search-form{margin-bottom:0}.search-input-container{max-width:800px;position:relative;width:60vw}.search-input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:1rem;padding:.75rem 2.5rem .75rem 1rem;width:100%}.search-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.search-icon{pointer-events:none;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.search-suggestions{background:#fff;border:1px solid #ddd;border-radius:0 0 4px 4px;border-top:none;box-shadow:0 2px 4px #0000001a;box-sizing:border-box;left:0;list-style:none;margin:0;max-height:300px;overflow-y:auto;padding:0;position:absolute;right:0;top:100%;width:100%;z-index:100}.suggestion-item{align-items:center;border-bottom:1px solid #eee;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem 1rem}.suggestion-item:hover{background-color:#f5f5f5}.suggestion-item:last-child{border-bottom:none}.suggestion-info{flex:1 1}.suggestion-name-code{display:flex;flex-direction:column}.suggestion-name{color:#2c3e50;font-weight:700}.suggestion-code{color:#7f8c8d;font-size:.875rem}.view-button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;min-width:50px;padding:.25rem .5rem}.view-button:hover{background-color:#2980b9}@media (max-width:768px){.search-form{flex-direction:column}}.macro-indicators{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:2rem}.macro-indicators h2{color:#2c3e50;margin-top:0}.charts-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.chart-card{background:#f8f9fa;border-radius:8px;cursor:pointer;padding:1rem;transition:transform .3s,box-shadow .3s}.chart-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-5px)}.chart-card h3{color:#2c3e50;margin-top:0;text-align:center}.chart-container{height:250px}.enlarged-chart-overlay{align-items:center;background-color:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.enlarged-chart{background:#fff;border-radius:8px;max-height:90%;max-width:90%;overflow:auto;padding:2rem;position:relative}.close-button{color:#7f8c8d;font-size:2rem;position:absolute;right:1rem;top:1rem}.close-button:hover{color:#2c3e50}.chart-container-large{height:500px;width:800px}@media (max-width:768px){.macro-indicators{grid-template-columns:1fr}.chart-container-large{height:50vh;width:95vw}}.stock-detail{background-color:#f5f5f5;font-family:Arial,sans-serif;min-height:100vh;padding:0}.stock-detail-container{display:flex;gap:0;margin:0;max-width:100%}.stock-sidebar{background:#fff;box-shadow:0 2px 8px #0000001a;height:calc(100vh - 40px);left:0;margin:0;overflow-y:auto;padding:20px 0;position:-webkit-sticky;position:sticky;top:20px;width:170px;z-index:100}.stock-sidebar ul{list-style:none;margin:0;padding:0}.stock-sidebar li{border-left:3px solid #0000;color:#333;cursor:pointer;font-size:14px;padding:12px 20px;transition:all .3s ease}.stock-sidebar li:hover{background-color:#f0f0f0}.stock-content{display:flex;flex:1 1;flex-direction:column;gap:0;margin-left:0;padding:20px}.content-section{background:#fff;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:20px}.content-section h3{border-bottom:1px solid #eee;color:#333;margin-top:0;padding-bottom:10px}.info-details{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.info-details h3{color:#333;margin:0}.business-details h4{color:#333;margin-top:0}.business-text.collapsible{max-height:100px;overflow:hidden;position:relative}.business-text.collapsible:after{background:linear-gradient(180deg,#fff0,#fff);bottom:0;content:"";height:40px;left:0;position:absolute;right:0}.expand-button{background:none;border:none;color:#007bff;cursor:pointer;font-size:14px;padding:5px 0}.expand-button:hover{text-decoration:underline}.chart-controls{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.chart-control-btn,.chart-controls button{background:#f0f0f0;border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .3s ease}.chart-control-btn.active,.chart-controls button.active{background:#007bff;color:#fff}.chart-control-btn:hover:not(.active),.chart-controls button:hover:not(.active){background:#e0e0e0}.valuation-charts-section .chart-controls{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:20px}.valuation-charts-section .chart-type-controls,.valuation-charts-section .time-range-controls{display:flex;flex-wrap:wrap;gap:5px}.stock-chart-container{min-height:400px}.chart-wrapper{height:350px;margin-bottom:20px}.table-wrapper{margin-top:20px;overflow-x:auto}.data-table{border-collapse:collapse;font-size:14px;width:100%}.data-table td,.data-table th{border:1px solid #ddd;padding:10px;text-align:center}.data-table th{font-weight:700}.data-table tbody tr:nth-child(2n),.data-table th{background-color:#f8f9fa}.data-table tbody tr:hover{background-color:#e9ecef}.financial-score-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:30px}.quantitative-valuation-grid{display:flex;flex-direction:column;gap:15px}.quantitative-section{border:1px solid #eee;border-radius:8px;padding:15px}.quantitative-section-title{align-items:center;color:#333;display:flex;font-weight:700;justify-content:space-between;margin-bottom:10px}.info-icon{background-color:#007bff;border-radius:50%;color:#fff;cursor:pointer;display:inline-block;font-size:12px;height:18px;line-height:18px;text-align:center;width:18px}.quantitative-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr}.score-with-rank{align-items:flex-end;display:flex;flex-direction:column}.quantitative-item{align-items:center;display:flex;justify-content:space-between;padding:5px 0}.quantitative-label{font-weight:500}.quantitative-value{font-weight:700}.valuation-ratio{color:#28a745}.market-value{color:#007bff}.percentile{color:#ffc107}.financial-score{color:#e83e8c}.quantitative-rank{color:#6c757d;font-size:.8rem;margin-left:5px;margin-top:2px;white-space:nowrap}.radar-chart-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px}.radar-chart-section h4{color:#333;margin-bottom:15px;margin-top:0}.radar-chart-container{height:300px}.financial-score-detail{height:calc(100% - 30px)}.financial-score-table{margin-top:20px}.financial-score-table .table-wrapper{margin-top:0;max-height:200px;overflow-y:auto}.financial-score-table .data-table td:first-child,.financial-score-table .data-table th:first-child{max-width:40px!important;min-width:40px!important;text-align:left;width:40px!important}.financial-score-table .data-table td:nth-child(2),.financial-score-table .data-table td:nth-child(3),.financial-score-table .data-table th:nth-child(2),.financial-score-table .data-table th:nth-child(3),.narrow-column{max-width:60px!important;min-width:60px!important;width:60px!important}.narrow-column{overflow:hidden}.valuation-charts-section{margin-top:30px}.valuation-charts-section h4{color:#333;margin-top:0}.valuation-metrics-summary{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:20px}.metric-item{background:#f8f9fa;border-radius:4px;display:flex;flex-direction:column;padding:10px}.metric-label{color:#6c757d;font-size:14px;margin-bottom:5px}.metric-value{color:#333;font-size:16px;font-weight:700}.median-value{color:#ff7300}.percentile-30{color:#28a745}.percentile-70{color:red}.current-value{color:#8884d8}.custom-tooltip{background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;max-width:300px;padding:10px;z-index:9999}.tooltip-header{color:#333;font-weight:700;margin-bottom:8px}.tooltip-content p{color:#666;font-size:14px;margin:5px 0}.tooltip-content ul{margin:5px 0;padding-left:20px}.tooltip-content li{color:#666;font-size:13px;margin-bottom:3px}@media (max-width:1024px){.stock-detail-container{flex-direction:column}.stock-sidebar{height:auto;left:auto;position:static;top:auto;width:100%}.stock-content{margin-left:0}.financial-score-grid{grid-template-columns:1fr}}@media (max-width:768px){.stock-detail{padding:10px}.content-section{padding:15px}.chart-controls{flex-direction:column}.chart-controls button{width:100%}.quantitative-row{grid-template-columns:1fr}.valuation-metrics-summary{grid-template-columns:1fr 1fr}}@media (max-width:480px){.info-details{align-items:flex-start;flex-direction:column;gap:10px}.valuation-metrics-summary{grid-template-columns:1fr}}.price-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px;transition:background-color .3s}.price-button:hover{background-color:#0056b3}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000004d;max-height:90vh;max-width:800px;overflow:hidden;width:90%}.modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:20px}.modal-header h3{color:#333;margin:0}.close-button{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;width:30px}.close-button:hover{color:#333}.modal-body{max-height:70vh;overflow-y:auto;padding:20px}.login-page{align-items:center;background-color:#f5f5f5;display:flex;justify-content:center;min-height:calc(100vh - 200px);padding:2rem}.login-form-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:400px;padding:2rem;width:100%}.login-form-container h2{color:#2c3e50;margin-top:0;text-align:center}.form-group{margin-bottom:1.5rem}.form-group label{color:#2c3e50;font-weight:700}.login-button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem;transition:background-color .3s;width:100%}.login-button:hover{background-color:#2980b9}.login-button:disabled{background-color:#bdc3c7;cursor:not-allowed}.register-link-container{margin-top:1rem;text-align:center}.text-link{color:#3498db}.text-link:hover{color:#2980b9}.error-message{background-color:#fadbd8;color:#e74c3c;text-align:center}.register-page{align-items:center;background-color:#f8f9fa;display:flex;justify-content:center;min-height:80vh;padding:2rem}.register-form-container{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:400px;padding:2rem;width:100%}.register-form-container h2{color:#333;margin-bottom:1.5rem;text-align:center}.form-group{margin-bottom:1rem}.form-group label{color:#555;display:block;font-weight:500;margin-bottom:.5rem}.form-group input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:1rem;padding:.75rem;width:100%}.form-group input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.register-button{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:.75rem;transition:background-color .2s;width:100%}.register-button:hover:not(:disabled){background-color:#218838}.register-button:disabled{background-color:#6c757d;cursor:not-allowed}.login-link-container{margin-top:1.5rem;text-align:center}.text-link{background:none;border:none;color:#007bff;cursor:pointer;font-size:1rem;padding:0;text-decoration:underline}.text-link:hover{color:#0056b3}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#dc3545}.error-message,.success-message{margin-bottom:1rem;padding:.75rem}.success-message{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724}.user-profile{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:2rem auto;max-width:600px;padding:2rem}.user-profile h2{color:#2c3e50;margin-top:0;text-align:center}.profile-info{margin-bottom:2rem}.profile-item{border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:1rem 0}.profile-item:last-child{border-bottom:none}.profile-item .label{color:#34495e;font-weight:700}.profile-item .value{color:#7f8c8d}.logout-button{background-color:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem;transition:background-color .3s;width:100%}.logout-button:hover{background-color:#c0392b}.logout-button:disabled{background-color:#bdc3c7;cursor:not-allowed}
/*# sourceMappingURL=main.f5651ae8.css.map*/