*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;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}.container{margin:0 auto;max-width:1200px;padding:20px}.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.auth-card{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:400px;padding:2rem;width:100%}.auth-header{margin-bottom:2rem;text-align:center}.auth-title{color:#1f2937;font-size:2rem;font-weight:700;margin-bottom:.5rem}.auth-subtitle{color:#6b7280;font-size:1rem}.form-group{margin-bottom:1.5rem}.form-label{color:#374151;display:block;font-weight:500;margin-bottom:.5rem}.form-input{border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;padding:.75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-error{color:#ef4444;font-size:.875rem;margin-top:.25rem}.btn{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition:all .15s ease-in-out}.btn-primary{background-color:#667eea;color:#fff}.btn-primary:hover{background-color:#5a67d8}.btn-primary:disabled{background-color:#9ca3af;cursor:not-allowed}.btn-secondary{background-color:#f3f4f6;color:#374151}.btn-secondary:hover{background-color:#e5e7eb}.btn-full{width:100%}.dashboard{background-color:#f9fafb}.dashboard-header{background:#fff;border-bottom:1px solid #e5e7eb;margin-bottom:2rem;padding:1rem 0}.dashboard-nav{align-items:center;display:flex;justify-content:space-between}.dashboard-title{color:#1f2937;font-size:1.5rem;font-weight:700}.user-menu{align-items:center;display:flex;gap:1rem}.user-info{color:#6b7280}.card{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;margin-bottom:1.5rem;padding:1.5rem}.card-header{margin-bottom:1rem}.card-title{color:#1f2937;font-size:1.25rem;font-weight:600}.spinner{animation:spin 1s linear infinite;border:2px solid #f3f4f6;border-radius:50%;border-top-color:#667eea;height:20px;margin-right:.5rem;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.table-container{overflow-x:auto}.table{background:#fff;border-collapse:collapse;border-radius:.5rem;box-shadow:0 1px 3px 0 #0000001a;overflow:hidden;width:100%}.table td,.table th{border-bottom:1px solid #e5e7eb;padding:.75rem;text-align:left}.table th{color:#374151;font-weight:600}.table th,.table tr:hover{background-color:#f9fafb}@media (max-width:768px){.container{padding:10px}.auth-card{margin:1rem}.dashboard-nav{align-items:flex-start;flex-direction:column;gap:1rem}}.text-center{text-align:center}.text-right{text-align:right}.text-green{color:#10b981}.text-red{color:#ef4444}.text-orange{color:#f59e0b}.font-bold{font-weight:700}.mb-4{margin-bottom:1rem}.mt-4{margin-top:1rem}:root{--primary-color:#667eea;--primary-dark:#5a67d8;--success-color:#10b981;--error-color:#ef4444;--warning-color:#f59e0b;--text-primary:#1f2937;--text-secondary:#6b7280;--bg-primary:#f5f5f5;--bg-secondary:#f9fafb;--border-color:#e5e7eb}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;max-width:450px;padding:2.5rem;width:100%;z-index:2}.login-header{margin-bottom:2rem;text-align:center}.login-header h1{color:#1f2937;color:var(--text-primary);font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.login-header p{color:#6b7280;color:var(--text-secondary);font-size:1.1rem}.login-content{gap:1.5rem}.login-content,.login-options{display:flex;flex-direction:column}.login-options{gap:1rem}.demo-login-btn,.google-login-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.75rem;justify-content:center;padding:1rem 1.5rem;transition:all .3s ease}.google-login-btn{background:#4285f4;color:#fff}.google-login-btn:hover{background:#3367d6;box-shadow:0 10px 25px #4285f44d;transform:translateY(-2px)}.demo-login-btn{background:#f9fafb;background:var(--bg-secondary);border:2px solid #e5e7eb;border:2px solid var(--border-color);color:#1f2937;color:var(--text-primary)}.demo-login-btn:hover{background:#e5e7eb;background:var(--border-color);transform:translateY(-2px)}.loading-spinner{animation:spin 1s linear infinite}.divider{align-items:center;color:#6b7280;color:var(--text-secondary);display:flex;margin:1rem 0;text-align:center}.divider:after,.divider:before{background:#e5e7eb;background:var(--border-color);content:"";flex:1 1;height:1px}.divider span{font-size:.9rem;padding:0 1rem}.login-features{background:#f9fafb;background:var(--bg-secondary);border-radius:8px;padding:1.5rem}.login-features h3{color:#1f2937;color:var(--text-primary);font-size:1.1rem;margin-bottom:1rem}.login-features ul{display:flex;flex-direction:column;gap:.5rem;list-style:none}.login-features li{color:#6b7280;color:var(--text-secondary);font-size:.9rem}.login-security{background:#10b9811a;border:1px solid #10b98133;border-radius:8px;padding:1rem;text-align:center}.login-security p{align-items:center;color:#10b981;color:var(--success-color);display:flex;font-size:.9rem;gap:.5rem;justify-content:center;margin:0}.config-message{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin-bottom:1rem;padding:1.5rem;text-align:left}.config-message h3{color:#856404;font-size:1.1rem;margin:0 0 1rem}.config-message p{color:#856404;font-size:.9rem;margin:.5rem 0}.config-message ol{color:#856404;margin:1rem 0;padding-left:1.5rem}.config-message li{font-size:.85rem;margin:.5rem 0}.config-message a{color:#06c;text-decoration:none}.config-message a:hover{text-decoration:underline}.login-background{z-index:1}.bg-pattern,.login-background{bottom:0;left:0;position:absolute;right:0;top:0}.bg-pattern{background-image:radial-gradient(circle at 25% 25%,#fff 2px,#0000 0),radial-gradient(circle at 75% 75%,#fff 2px,#0000 0);background-size:50px 50px;opacity:.1}.dashboard{background:#f5f5f5;background:var(--bg-primary);min-height:100vh}.dashboard-header{background:linear-gradient(135deg,#2c3e50,#34495e);border-bottom:none;box-shadow:0 4px 20px #00000026;overflow:hidden;padding:2rem;position:relative}.dashboard-header:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='25' cy='25' r='.5' fill='%23fff' opacity='.1'/%3E%3Ccircle cx='75' cy='25' r='.5' fill='%23fff' opacity='.1'/%3E%3Ccircle cx='50' cy='50' r='.5' fill='%23fff' opacity='.1'/%3E%3Ccircle cx='25' cy='75' r='.5' fill='%23fff' opacity='.1'/%3E%3Ccircle cx='75' cy='75' r='.5' fill='%23fff' opacity='.1'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px;position:relative;z-index:1}.header-left h1{color:#fff;font-size:2.5rem;font-weight:900;letter-spacing:-1px;margin:0;text-shadow:0 2px 4px #0000004d}.user-info{color:#ffffffe6;font-size:1rem;font-weight:500;margin-left:1rem;text-shadow:0 1px 2px #0003}.header-right{display:flex;gap:.5rem}.logout-btn,.settings-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #fff3;border-radius:12px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.settings-btn:hover{background:#fff3;border-color:#fff6;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.logout-btn:hover{background:#e74c3c;border-color:#e74c3c;box-shadow:0 4px 12px #e74c3c66;transform:translateY(-2px)}.settings-btn:hover{background:#667eea;background:var(--primary-color);color:#fff}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto;max-width:1200px;padding:2rem}.stat-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:1rem;padding:1.5rem;transition:transform .2s}.stat-card:hover{transform:translateY(-2px)}.stat-icon{background:#f9fafb;background:var(--bg-secondary);border-radius:8px;font-size:2rem;padding:.5rem}.stat-content h3{color:#1f2937;color:var(--text-primary);font-size:1.5rem;margin:0}.stat-content p{color:#6b7280;color:var(--text-secondary);font-size:.9rem;margin:.25rem 0 0}.positive{color:#10b981;color:var(--success-color)}.negative{color:#ef4444;color:var(--error-color)}.dashboard-tabs{background:#fff;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);display:flex;margin:0 auto;max-width:1200px;overflow-x:auto;padding:0 2rem}.tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;color:var(--text-secondary);cursor:pointer;padding:1rem 1.5rem;transition:all .2s;white-space:nowrap}.tab-btn:hover{background:#f9fafb;background:var(--bg-secondary)}.tab-btn.active,.tab-btn:hover{color:#667eea;color:var(--primary-color)}.tab-btn.active{border-bottom-color:#667eea;border-bottom-color:var(--primary-color)}.dashboard-content{margin:0 auto;max-width:1200px;padding:2rem}.coming-soon{color:#6b7280;color:var(--text-secondary);padding:4rem;text-align:center}.coming-soon h2{color:#1f2937;color:var(--text-primary);margin-bottom:1rem}.stock-recommendations{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.recommendations-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.header-title h2{color:#1f2937;color:var(--text-primary);margin:0}.last-updated{color:#6b7280;color:var(--text-secondary);display:block;font-size:.8rem;margin-top:.25rem}.refresh-btn{background:#fff;border:1px solid #667eea;border:1px solid var(--primary-color);border-radius:6px;color:#667eea;color:var(--primary-color);cursor:pointer;padding:.5rem 1rem;transition:all .2s}.refresh-btn:hover{background:#667eea;background:var(--primary-color);color:#fff}.recommendations-filters{background:#f9fafb;background:var(--bg-secondary);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:1rem;padding:1rem 1.5rem}.filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-group label{color:#6b7280;color:var(--text-secondary);font-size:.8rem;font-weight:500}.filter-group select{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:4px;font-size:.9rem;padding:.5rem}.recommendations-table-container{overflow-x:hidden;width:100%}.recommendations-table{border-collapse:collapse;table-layout:fixed;width:100%}.recommendations-table td:first-child,.recommendations-table th:first-child{width:10%}.recommendations-table td:nth-child(2),.recommendations-table th:nth-child(2){width:8%}.recommendations-table td:nth-child(3),.recommendations-table th:nth-child(3){width:10%}.recommendations-table td:nth-child(4),.recommendations-table td:nth-child(5),.recommendations-table td:nth-child(7),.recommendations-table th:nth-child(4),.recommendations-table th:nth-child(5),.recommendations-table th:nth-child(7){width:8%}.recommendations-table td:nth-child(6),.recommendations-table th:nth-child(6){width:7%}.recommendations-table td:nth-child(8),.recommendations-table td:nth-child(9),.recommendations-table th:nth-child(8),.recommendations-table th:nth-child(9){width:5%}.recommendations-table td:nth-child(10),.recommendations-table th:nth-child(10){width:6%}.recommendations-table td:nth-child(11),.recommendations-table td:nth-child(12),.recommendations-table th:nth-child(11),.recommendations-table th:nth-child(12){width:4%}.recommendations-table th{background:#f9fafb;background:var(--bg-secondary);color:#1f2937;color:var(--text-primary);font-weight:600;padding:.6rem .4rem;white-space:nowrap}.recommendations-table td,.recommendations-table th{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);font-size:.8rem;text-align:center;vertical-align:middle}.recommendations-table td{padding:.5rem .4rem}.stock-symbol{text-align:left!important}.stock-symbol strong{color:#1f2937;color:var(--text-primary);display:block}.stock-symbol small{color:#6b7280;color:var(--text-secondary);font-size:.8rem}.price{font-weight:600}.price small{display:block;font-size:.8rem;font-weight:400;margin-top:.25rem}.score-badge{border-radius:12px;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .5rem}.score-badge.excellent{background:#28a745}.score-badge.good{background:#6c757d}.score-badge.fair{background:#ffc107;color:#000}.score-badge.average{background:#fd7e14}.score-badge.poor{background:#dc3545}.risk-badge{border-radius:12px;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .5rem}.risk-badge.risk-low{background:#28a745}.risk-badge.risk-medium{background:#ffc107;color:#000}.risk-badge.risk-high{background:#dc3545}.risk-badge.risk-unknown{background:#6c757d}.priority-badge{border-radius:12px;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .5rem}.priority-badge.priority-immediate{background:#dc3545}.priority-badge.priority-high{background:#fd7e14}.priority-badge.priority-medium{background:#ffc107;color:#000}.priority-badge.priority-low{background:#28a745}.priority-badge.priority-unknown{background:#6c757d}.action-badge{border-radius:12px;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .5rem}.action-badge.buy{background:#28a745}.action-badge.sell{background:#dc3545}.action-badge.hold{background:#6c757d}.risk-notes{max-width:200px}.risk-note{cursor:help;font-size:.8rem}.no-recommendations,.risk-note{color:#6b7280;color:var(--text-secondary)}.no-recommendations{padding:3rem;text-align:center}.recommendations-summary{background:#f9fafb;background:var(--bg-secondary);border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color);padding:1.5rem}.summary-stats{display:flex;justify-content:space-around;text-align:center}.summary-stats .stat{display:flex;flex-direction:column;gap:.25rem}.summary-stats .stat span{color:#6b7280;color:var(--text-secondary);font-size:.8rem}.summary-stats .stat strong{color:#1f2937;color:var(--text-primary);font-size:1.2rem}.watchlist-manager{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.watchlist-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.watchlist-header h2{color:#1f2937;color:var(--text-primary);margin:0}.create-watchlist-btn{background:#667eea;background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:background .2s}.create-watchlist-btn:hover{background:#5a67d8;background:var(--primary-dark)}.watchlist-layout{display:flex;min-height:500px}.watchlist-sidebar{background:#f9fafb;background:var(--bg-secondary);border-right:1px solid #e5e7eb;border-right:1px solid var(--border-color);width:300px}.watchlist-list{padding:1rem 0}.watchlist-item{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.5rem;transition:background .2s}.watchlist-item:hover{background:#0000000d}.watchlist-item.active{background:#fff;border-right:3px solid #667eea;border-right:3px solid var(--primary-color)}.watchlist-info h4{color:#1f2937;color:var(--text-primary);margin:0}.watchlist-info .stock-count{color:#6b7280;color:var(--text-secondary);font-size:.8rem}.watchlist-actions{display:flex;gap:.5rem}.delete-btn,.edit-btn{background:none;border:none;border-radius:4px;cursor:pointer;padding:.25rem;transition:background .2s}.edit-btn:hover{background:#0000001a}.delete-btn:hover{background:#dc35451a}.watchlist-content{flex:1 1;padding:1.5rem}.watchlist-content-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.watchlist-title h3{color:#1f2937;color:var(--text-primary);margin:0}.watchlist-title .stock-count{color:#6b7280;color:var(--text-secondary);font-size:.9rem;margin-left:.5rem}.watchlist-content .watchlist-actions{display:flex;gap:.5rem}.add-stock-btn,.refresh-btn{background:#fff;border:1px solid #667eea;border:1px solid var(--primary-color);border-radius:6px;color:#667eea;color:var(--primary-color);cursor:pointer;padding:.5rem 1rem;transition:all .2s}.add-stock-btn:hover,.refresh-btn:hover{background:#667eea;background:var(--primary-color);color:#fff}.add-stock-form{background:#f9fafb;background:var(--bg-secondary);border-radius:8px;display:flex;gap:.5rem;margin-bottom:1.5rem;padding:1rem}.add-stock-form input{border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:4px;flex:1 1;font-size:.9rem;padding:.5rem}.add-stock-form button{border:none;border-radius:4px;cursor:pointer;padding:.5rem 1rem;transition:background .2s}.add-stock-form button:first-of-type{background:#667eea;background:var(--primary-color);color:#fff}.add-stock-form button:first-of-type:hover{background:#5a67d8;background:var(--primary-dark)}.add-stock-form button:last-of-type{background:#f5f5f5;background:var(--bg-primary);color:#6b7280;color:var(--text-secondary)}.add-stock-form button:last-of-type:hover{background:#ddd}.stocks-table-container{overflow-x:auto}.stocks-table{border-collapse:collapse;width:100%}.stocks-table th{background:#f9fafb;background:var(--bg-secondary);color:#1f2937;color:var(--text-primary);font-weight:600;text-align:left}.stocks-table td,.stocks-table th{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);padding:1rem .75rem}.stock-info .stock-symbol strong{color:#1f2937;color:var(--text-primary);display:block}.stock-info .stock-symbol small{color:#6b7280;color:var(--text-secondary);font-size:.8rem}.change.positive{color:#10b981;color:var(--success-color)}.change.negative{color:#ef4444;color:var(--error-color)}.change-percent.positive{color:#10b981;color:var(--success-color)}.change-percent.negative{color:#ef4444;color:var(--error-color)}.market-cap,.pe-ratio,.volume{font-family:monospace}.actions{display:flex;gap:.5rem}.details-btn,.remove-btn{background:none;border:none;border-radius:4px;cursor:pointer;padding:.25rem;transition:background .2s}.remove-btn:hover{background:#dc35451a}.details-btn:hover{background:#0000001a}.no-stocks,.no-watchlist-selected{color:#6b7280;color:var(--text-secondary);padding:3rem;text-align:center}.auth-callback{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.auth-callback-container{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;max-width:400px;padding:3rem;text-align:center;width:90%}.auth-callback-container .loading-spinner{animation:spin 1s linear infinite;font-size:3rem;margin-bottom:1.5rem}.auth-callback-container h2{color:#1f2937;color:var(--text-primary);font-size:1.5rem;margin-bottom:1rem}.auth-callback-container p{color:#6b7280;color:var(--text-secondary);font-size:1rem;line-height:1.5}@media (max-width:1024px){.dashboard-content,.stats-grid{padding:1rem}.stats-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (max-width:768px){.dashboard-tabs{padding:0 1rem}.dashboard-content,.stats-grid{padding:1rem}.stats-grid{grid-template-columns:1fr}.watchlist-layout{flex-direction:column}.watchlist-sidebar{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);border-right:none;width:100%}.recommendations-filters{flex-direction:column;gap:.5rem}.filter-group{align-items:center;flex-direction:row;gap:1rem}.summary-stats{flex-direction:column;gap:1rem}.login-card{margin:1rem;padding:2rem}.header-content{align-items:flex-start;flex-direction:column;gap:1rem}.recommendations-table,.stocks-table{font-size:.75rem}.recommendations-table td,.recommendations-table th,.stocks-table td,.stocks-table th{padding:.3rem .15rem}}.error-message{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;margin:1rem 0;padding:1rem;text-align:center}.error-help{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;margin-top:1rem;padding:1rem;text-align:left}.error-help p{color:#856404;font-size:.9rem;margin:.5rem 0}.error-help ol{color:#856404;margin:.5rem 0;padding-left:1.5rem}.error-help li{font-size:.85rem;margin:.25rem 0}.error-help code{background:#f1f3f4;border-radius:3px;color:#333;font-family:monospace;padding:.2rem .4rem}.error-help a{color:#06c;text-decoration:none}.error-help a:hover{text-decoration:underline}.recommendations-preview{background:#f8f9ff;border:1px solid #e1e6ff;border-radius:12px;padding:1.5rem}.recommendations-preview h3{color:#2c3e50;font-size:1.3rem;margin:0 0 1.5rem;text-align:center}.recommendations-content,.recommendations-content-vertical{display:flex;flex-direction:column;gap:2rem;margin-bottom:2rem}.recommendations-table-section{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.recommendations-table-section h3{background:#f9fafb;background:var(--bg-secondary);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);color:#1f2937;color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0;padding:1rem 1.5rem;text-align:left}.recommended-date{color:#6b7280;color:var(--text-secondary);font-size:.75rem;white-space:nowrap}.current-price,.suggested-price,.target-price{color:#667eea;color:var(--primary-color);font-weight:600;white-space:nowrap}.stock-symbol{font-size:.8rem;font-weight:600}.industry{font-size:.75rem}.time-badge{background:#e8f5e8;border-radius:6px;color:#2e7d32;display:inline-block;font-size:.65rem;font-weight:500;padding:.15rem .3rem;white-space:nowrap}.current-price,.suggested-price{text-align:right}.loading-price{color:#ffc107}.pl-badge{border-radius:12px;font-size:.8rem;padding:.25rem .5rem}.pl-badge.profit{background:#28a745}.pl-badge.loss{background:#dc3545}.recommendations-table .loss-row{background-color:#ffebee!important;border-left:4px solid #f44336}.recommendations-table .profit-row{background-color:#e8f5e8!important;border-left:4px solid #4caf50}.recommendations-table .loss-row:hover,.recommendations-table .profit-row:hover{box-shadow:0 2px 8px #0000001a;transform:none}.position-badge{border-radius:6px;color:#fff;display:inline-block;font-size:.65rem;font-weight:600;padding:.12rem .3rem;text-transform:uppercase;white-space:nowrap}.position-badge.buy{background:#28a745;color:#fff}.position-badge.sell{background:#dc3545;color:#fff}.position-badge.hold{background:#fd7e14;color:#fff}.industry-pe,.pe-ratio{color:#666;font-weight:500;text-align:center}.industry{color:#666;font-size:.9rem;font-weight:500}.info-btn{align-items:center;background:#17a2b8;border:none;border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:700;height:18px;justify-content:center;padding:0;transition:all .2s ease;width:18px}.info-btn:hover{background-color:#138496;transform:scale(1.1)}.chart-btn{align-items:center;background:#28a745;border:none;border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:700;height:20px;justify-content:center;padding:0;transition:all .2s ease;width:20px}.chart-btn:hover{background-color:#218838;transform:scale(1.1)}.chart-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.chart-modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:1000px;overflow:hidden;width:90%}.chart-modal-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.chart-modal-header h3{color:#333;font-size:1.2rem;margin:0}.chart-modal-close{align-items:center;background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:30px;justify-content:center;transition:all .2s ease;width:30px}.chart-modal-close:hover{background:#c82333;transform:scale(1.1)}.chart-container{height:500px;overflow:hidden;padding:0}@media (max-width:768px){.chart-modal-content{margin:10px;width:95%}.chart-container{height:400px}.chart-modal-header{padding:.75rem 1rem}.chart-modal-header h3{font-size:1rem}}.reason-tooltip,.remarks-tooltip{text-align:center;width:40px}@media (max-width:1200px){.recommendations-table{font-size:.75rem}.recommendations-table td,.recommendations-table th{padding:.3rem .2rem}.info-btn{font-size:.85rem;height:20px;width:20px}}.current-price,.suggested-price{color:#667eea;color:var(--primary-color);font-weight:600}.loading-price{color:#6c757d;font-size:.9rem}.price-error{color:#dc3545;font-size:.9rem}.pl-badge{border-radius:6px;color:#fff;display:inline-block;font-size:.65rem;font-weight:600;padding:.12rem .3rem;white-space:nowrap}.pl-badge.profit{background:#92eda7}.pl-badge.loss{background:#ea99a1}.profit-loss{text-align:center}.recommendations-content,.recommendations-content-vertical{flex-direction:column!important;width:100%}.recommendations-table-section{flex:none;max-width:100%;width:100%}.recommendations-table th:first-child{width:12%}.recommendations-table th:nth-child(2),.recommendations-table th:nth-child(3){width:10%}.recommendations-table th:nth-child(4),.recommendations-table th:nth-child(5),.recommendations-table th:nth-child(6),.recommendations-table th:nth-child(7){width:9%}.recommendations-table th:nth-child(10),.recommendations-table th:nth-child(8),.recommendations-table th:nth-child(9){width:7%}.recommendations-table th:nth-child(11){width:5%}.recommendations-table th:nth-child(12),.recommendations-table th:nth-child(13){width:4%}@media (min-width:1200px){.recommendations-content,.recommendations-content-vertical{flex-direction:column!important;width:100%}.recommendations-table-section{max-width:100%!important;width:100%!important}}.recommendations-list{display:flex;flex-direction:column;gap:1.5rem;max-height:600px;overflow-y:auto}.recommendation-item{background:#fff;border:1px solid #e1e6ff;border-radius:10px;box-shadow:0 2px 4px #0000000d;padding:1.25rem;transition:all .2s ease}.recommendation-item:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-1px)}.stock-header{align-items:flex-start;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.stock-info h4.stock-name{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 .25rem}.stock-symbol{background:#e9ecef;border-radius:4px;color:#6c757d;font-family:monospace;font-size:.85rem;padding:.2rem .5rem}.recommendation-date{color:#6c757d;font-size:.85rem;white-space:nowrap}.recommendation-content{display:flex;flex-direction:column;gap:1rem}.recommendation-section{display:flex;flex-direction:column;gap:.5rem}.recommendation-section strong{align-items:center;color:#495057;display:flex;font-size:.9rem;gap:.25rem}.recommendation-section p{color:#6c757d;font-size:.9rem;line-height:1.5;margin:0;padding-left:1.5rem}.action.hold{background:#fff3cd;color:#f39c12}.recommendations-disclaimer{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;margin-top:1rem;padding:.75rem}.recommendations-disclaimer p{align-items:flex-start;color:#856404;display:flex;font-size:.8rem;gap:.5rem;margin:0}.recommendations-disclaimer span{margin-top:.1rem}@media (max-width:768px){.recommendation-item{align-items:flex-start;flex-direction:column;gap:.5rem}.recommendation-details{text-align:left;width:100%}.meta-info{align-items:center;flex-direction:row;justify-content:space-between;width:100%}}
/*# sourceMappingURL=main.bb7cdd98.css.map*/