:root{--primary: #0066FF;--primary-dark: #0052CC;--primary-light: #3385FF;--primary-bg: rgba(0, 102, 255, .08);--success: #00C853;--success-bg: rgba(0, 200, 83, .1);--warning: #FF9500;--warning-bg: rgba(255, 149, 0, .1);--danger: #FF3B30;--danger-bg: rgba(255, 59, 48, .1);--gray-50: #FAFAFA;--gray-100: #F5F5F5;--gray-200: #EEEEEE;--gray-300: #E0E0E0;--gray-400: #BDBDBD;--gray-500: #9E9E9E;--gray-600: #757575;--gray-700: #616161;--gray-800: #424242;--gray-900: #212121;--background: #FFFFFF;--surface: #FAFBFC;--surface-elevated: #FFFFFF;--text-primary: #1A1A2E;--text-secondary: #4A5568;--text-muted: #A0AEC0;--text-inverse: #FFFFFF;--border: #E8ECF0;--border-light: #F0F4F8;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 8px rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 12px 24px rgba(0, 0, 0, .08), 0 4px 8px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .12), 0 8px 16px rgba(0, 0, 0, .06);--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--gradient-primary: linear-gradient(135deg, #0066FF 0%, #0052CC 100%);--gradient-hero: linear-gradient(135deg, #0F172A 0%, #1E293B 100%);--gradient-card: linear-gradient(180deg, rgba(0, 102, 255, .02) 0%, transparent 100%)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.6;color:var(--text-primary);background-color:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-dark)}img{max-width:100%;height:auto}.container{max-width:1440px;margin:0 auto;padding:0 var(--spacing-xl)}@media(min-width:1600px){.container{max-width:1600px}}@media(min-width:1920px){.container{max-width:1800px}}.page{width:100%;min-height:calc(100vh - 72px);padding:var(--spacing-2xl) 0}.layout{min-height:100vh;display:flex;flex-direction:column}.header{position:fixed;top:0;left:0;right:0;z-index:100;height:72px;background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light);transition:all .3s ease}.header-content{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:1440px;margin:0 auto;padding:0 var(--spacing-xl)}.logo{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1.375rem;font-weight:700;color:var(--text-primary);text-decoration:none}.logo-icon{width:36px;height:36px;background:var(--gradient-primary);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-sm)}.nav{display:flex;align-items:center;gap:var(--spacing-xl)}.nav-link{position:relative;color:var(--text-secondary);font-weight:500;font-size:.9375rem;padding:var(--spacing-sm) 0;text-decoration:none;transition:color .2s ease}.nav-link:hover,.nav-link.active{color:var(--primary)}.nav-link.active:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--primary);border-radius:2px}.header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.mobile-menu-btn,.mobile-menu{display:none}@media(max-width:768px){.nav,.header-actions{display:none!important}.mobile-menu-btn{display:flex!important}.mobile-menu{display:block!important;position:fixed;top:72px;left:0;right:0;background:var(--background);border-bottom:1px solid var(--border);z-index:40;padding:var(--spacing-md)}.mobile-nav{display:flex;flex-direction:column;gap:var(--spacing-xs)}.mobile-nav-link{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);color:var(--text-secondary);text-decoration:none;border-radius:var(--radius);transition:all .2s ease;background:transparent;border:none;width:100%;font-size:.9375rem;cursor:pointer}.mobile-nav-link:hover,.mobile-nav-link.active{background:var(--surface);color:var(--primary)}.header{height:64px}.mobile-menu{top:64px}}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;height:72px;background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light);transition:all .3s ease}.navbar-content{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:1440px;margin:0 auto;padding:0 var(--spacing-xl)}.navbar-logo{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1.375rem;font-weight:700;color:var(--text-primary);text-decoration:none}.navbar-logo-icon{width:36px;height:36px;background:var(--gradient-primary);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-sm)}.navbar-menu{display:flex;align-items:center;gap:var(--spacing-xl)}.navbar-link{position:relative;color:var(--text-secondary);font-weight:500;font-size:.9375rem;padding:var(--spacing-sm) 0;text-decoration:none;transition:color .2s ease}.navbar-link:hover,.navbar-link.active{color:var(--primary)}.navbar-link.active:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--primary);border-radius:2px}.navbar-actions{display:flex;align-items:center;gap:var(--spacing-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;border-radius:var(--radius);border:none;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--gray-100);border-color:var(--gray-300)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--surface);color:var(--text-primary)}.btn-outline{background:transparent;color:var(--primary);border:1.5px solid var(--primary)}.btn-outline:hover:not(:disabled){background:var(--primary-bg)}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-lg{padding:1rem 2rem;font-size:1.0625rem}.btn-xl{padding:1.25rem 2.5rem;font-size:1.125rem}.btn-full{width:100%}.card{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-xs);transition:all .3s ease}.card:hover{box-shadow:var(--shadow-md)}.card-elevated{border:none;box-shadow:var(--shadow-md)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-light)}.card-title{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.card-subtitle{font-size:.875rem;color:var(--text-muted);margin-top:var(--spacing-xs)}.card-body{flex:1}.card-footer{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-light)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.form-input{width:100%;padding:.875rem 1rem;font-size:1rem;color:var(--text-primary);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);transition:all .2s ease}.form-input:focus{outline:none;border-color:var(--primary);background:var(--background);box-shadow:0 0 0 4px var(--primary-bg)}.form-input::placeholder{color:var(--text-muted)}.form-error{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--danger);font-size:.8125rem;margin-top:var(--spacing-xs)}.form-hint{font-size:.8125rem;color:var(--text-muted);margin-top:var(--spacing-xs)}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border)}.table{width:100%;border-collapse:collapse;font-size:.9375rem}.table th{padding:1rem 1.25rem;text-align:left;font-weight:600;color:var(--text-secondary);background:var(--surface);border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:1rem 1.25rem;border-bottom:1px solid var(--border-light)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--surface)}.badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:.375rem .75rem;font-size:.75rem;font-weight:600;border-radius:9999px;white-space:nowrap}.badge-primary{background:var(--primary-bg);color:var(--primary)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-gray{background:var(--gray-100);color:var(--gray-700)}.signal-buy{color:var(--success)}.signal-sell{color:var(--danger)}.signal-neutral{color:var(--text-muted)}.signal-support{color:var(--success)}.signal-resistance{color:var(--danger)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);color:var(--text-muted)}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-50) 50%,var(--gray-100) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:2rem}.text-4xl{font-size:2.5rem}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-primary{color:var(--text-primary)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.navbar-menu{display:none}.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.container{padding:0 var(--spacing-md)}.page{padding:var(--spacing-xl) 0}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.btn-lg{padding:.875rem 1.5rem;font-size:1rem}.card{padding:var(--spacing-lg)}.navbar{height:64px}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background:linear-gradient(135deg,var(--gray-50) 0%,var(--gray-100) 100%)}.auth-container{width:100%;max-width:420px}.auth-card{background:var(--background);padding:var(--spacing-2xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}.auth-logo{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl)}.auth-title{font-size:1.5rem;font-weight:700;text-align:center;margin-bottom:var(--spacing-sm)}.auth-subtitle{text-align:center;color:var(--text-muted);margin-bottom:var(--spacing-xl)}.pricing-card{background:var(--background);border:2px solid var(--border);border-radius:var(--radius-xl);padding:var(--spacing-2xl);text-align:center;transition:all .3s ease;display:flex;flex-direction:column}.pricing-card:hover{border-color:var(--primary-light);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.pricing-card.featured{border-color:var(--primary);position:relative;box-shadow:var(--shadow-md)}.pricing-card.featured:before{content:"推荐";position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--gradient-primary);color:#fff;padding:.375rem 1.25rem;border-radius:9999px;font-size:.75rem;font-weight:700}.pricing-header{margin-bottom:var(--spacing-lg)}.pricing-name{font-size:1.125rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.pricing-price{display:flex;align-items:baseline;justify-content:center;gap:var(--spacing-xs)}.pricing-amount{font-size:3rem;font-weight:800;color:var(--text-primary);line-height:1}.pricing-currency{font-size:1.25rem;font-weight:600;color:var(--text-secondary)}.pricing-period{font-size:.875rem;color:var(--text-muted)}.pricing-description{color:var(--text-muted);font-size:.875rem;margin-bottom:var(--spacing-lg)}.pricing-features{list-style:none;text-align:left;margin-bottom:var(--spacing-xl);flex:1}.pricing-features li{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;color:var(--text-secondary);font-size:.9375rem}.pricing-features li svg{color:var(--success);flex-shrink:0}.hero{position:relative;padding:8rem 0 6rem;background:var(--gradient-hero);overflow:hidden}.hero-content{position:relative;z-index:1;text-align:center}.hero-badge{display:inline-flex;align-items:center;gap:var(--spacing-sm);background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:9999px;padding:.5rem 1rem;margin-bottom:var(--spacing-lg);font-size:.875rem;color:#ffffffe6}.hero-title{font-size:3.5rem;font-weight:800;color:#fff;margin-bottom:var(--spacing-lg);line-height:1.1}.hero-title-gradient{background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.25rem;color:#ffffffb3;max-width:600px;margin:0 auto var(--spacing-xl);line-height:1.7}.hero-actions{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-2xl)}.hero-stats{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2xl);padding-top:var(--spacing-xl);border-top:1px solid rgba(255,255,255,.1)}.hero-stat{text-align:center}.hero-stat-value{font-size:2rem;font-weight:700;color:#fff}.hero-stat-label{font-size:.875rem;color:#fff9;margin-top:var(--spacing-xs)}.empty-state{text-align:center;padding:var(--spacing-2xl)}.empty-state-icon{width:64px;height:64px;margin:0 auto var(--spacing-lg);color:var(--text-muted)}.empty-state-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.empty-state-description{color:var(--text-muted);margin-bottom:var(--spacing-lg)}.companies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}@media(max-width:768px){.companies-grid{grid-template-columns:1fr}}.company-card{display:flex;flex-direction:column;background:var(--background);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-decoration:none;color:inherit;transition:all .2s ease}.company-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.company-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.company-symbol{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.risk-badge{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:9999px;font-size:.75rem;font-weight:600;color:#fff}.company-name{font-size:.875rem;color:var(--text-secondary);margin-bottom:var(--spacing-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-price{display:flex;align-items:baseline;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.price-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.price-change{font-size:.875rem;font-weight:600}.company-support{display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:var(--surface);border-radius:var(--radius);margin-bottom:var(--spacing-md)}.support-label{font-size:.8125rem;color:var(--text-muted)}.support-value{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.company-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--border-light)}.stat-item{text-align:center}.stat-label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:2px}.stat-value{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.stat-value.grade{font-size:1.125rem;font-weight:700}.company-footer{display:flex;justify-content:space-between;margin-top:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px solid var(--border-light);font-size:.75rem;color:var(--text-muted)}.signals-page .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.signals-page .stat-card{display:flex;align-items:center;gap:var(--spacing-md);background:var(--background);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.signals-page .stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius)}.signals-page .stat-icon.safe{background:var(--success-bg);color:var(--success)}.signals-page .stat-icon.warning{background:var(--warning-bg);color:var(--warning)}.signals-page .stat-icon.danger{background:var(--danger-bg);color:var(--danger)}.signals-page .stat-icon.total{background:var(--primary-bg);color:var(--primary)}.signals-page .stat-content .stat-value{font-size:1.75rem;font-weight:700}.signals-page .stat-content .stat-label{font-size:.875rem;color:var(--text-muted)}.filter-chip{padding:.5rem 1rem;border:1px solid var(--border);border-radius:9999px;background:transparent;font-size:.875rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.filter-chip:hover{border-color:var(--primary);color:var(--primary)}.filter-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.filter-chip.danger.active{background:var(--danger);border-color:var(--danger)}.filter-chip.warning.active{background:var(--warning);border-color:var(--warning)}.filter-chip.safe.active{background:var(--success);border-color:var(--success)}.signals-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg)}@media(max-width:768px){.signals-list{grid-template-columns:1fr}}.signal-card{display:flex;flex-direction:column;background:var(--background);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-decoration:none;color:inherit;transition:all .2s ease;gap:var(--spacing-md)}.signal-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.signal-header{display:flex;justify-content:space-between;align-items:flex-start}.signal-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--surface);border-radius:var(--radius)}.signal-body{min-width:0;flex:1}.signal-company{display:flex;align-items:baseline;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.signal-company .company-name{font-size:1rem;font-weight:600;margin:0}.signal-company .company-symbol{font-size:.875rem;color:var(--text-muted)}.signal-description{font-size:.875rem;color:var(--text-secondary);line-height:1.5}.signal-data{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--surface);border-radius:var(--radius)}.data-row{text-align:center}.data-label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:2px}.data-value{font-size:.9375rem;font-weight:600}.signal-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-sm);border-top:1px solid var(--border-light)}.risk-tag{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:9999px;font-size:.75rem;font-weight:600;color:#fff}.strength-tag{font-size:.75rem;color:var(--text-muted)}.companies-page,.signals-page,.company-detail-page{min-height:100vh;background:var(--surface)}.page-content{width:100%;padding-top:72px;min-height:100vh}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl);padding-top:var(--spacing-xl)}.page-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.page-subtitle{font-size:1rem;color:var(--text-muted)}.page-date{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);font-size:.9375rem}.filter-bar{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:var(--spacing-sm);background:var(--background);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;flex:1;max-width:400px}.search-icon{color:var(--text-muted);flex-shrink:0}.search-input{border:none;outline:none;font-size:.9375rem;color:var(--text-primary);background:transparent;width:100%}.search-input::placeholder{color:var(--text-muted)}.filter-group{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.filter-select{padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);font-size:.9375rem;color:var(--text-primary);cursor:pointer;min-width:120px}.filter-select:focus{outline:none;border-color:var(--primary)}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--spacing-lg);margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--border-light)}.pagination-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:.75rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);color:var(--text-secondary);font-size:.9375rem;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:.9375rem;color:var(--text-secondary)}.back-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--text-secondary);font-size:.9375rem;margin-bottom:var(--spacing-lg);padding-top:var(--spacing-lg);transition:color .2s ease}.back-link:hover{color:var(--primary)}.company-header-section{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl)}.company-title h1{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.company-meta{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--text-secondary);font-size:.9375rem}.company-meta .symbol{font-weight:600;color:var(--primary)}.company-meta .separator{color:var(--text-muted)}.risk-badge-large{display:flex;align-items:center;gap:var(--spacing-sm);padding:.75rem 1.25rem;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;color:#fff}.price-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.price-card{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.price-card.main{background:var(--gradient-primary);border:none;color:#fff}.price-card.main .price-label{color:#fffc}.price-card.main .price-value{color:#fff}.price-label{font-size:.8125rem;color:var(--text-muted);margin-bottom:var(--spacing-xs)}.price-value{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.price-value.small{font-size:1.25rem}.price-value.highlight{color:var(--primary)}.price-change{font-size:.875rem;font-weight:600;margin-top:var(--spacing-xs)}.analysis-section,.trendlines-section{margin-bottom:var(--spacing-xl)}.section-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-lg)}.analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md)}.analysis-card{background:var(--background);border:1px solid var(--border);border-radius:var(--radius);padding:var(--spacing-md);text-align:center}.analysis-label{font-size:.75rem;color:var(--text-muted);margin-bottom:var(--spacing-xs)}.analysis-value{display:flex;align-items:baseline;justify-content:center;gap:var(--spacing-xs)}.analysis-value .grade{font-size:1.5rem;font-weight:700}.analysis-value .score{font-size:.875rem;color:var(--text-secondary)}.analysis-value .angle,.analysis-value .days,.analysis-value .bars{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.analysis-value .unit{font-size:.875rem;color:var(--text-muted)}.trendlines-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.trendline-card{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.trendline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.trendline-type{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.valid-badge{display:flex;align-items:center;gap:4px;padding:4px 10px;background:var(--success-bg);color:var(--success);border-radius:9999px;font-size:.75rem;font-weight:600}.trendline-price{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-md)}.trendline-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-md)}.detail-item{display:flex;flex-direction:column}.detail-label{font-size:.75rem;color:var(--text-muted)}.detail-value{font-size:.9375rem;font-weight:500;color:var(--text-primary)}.last-updated{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-muted);font-size:.8125rem;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--border-light)}.error{text-align:center;padding:var(--spacing-2xl);color:var(--danger);font-size:1.125rem}:root{--color-primary: var(--primary);--color-success: var(--success);--color-warning: var(--warning);--color-danger: var(--danger);--text-primary: var(--text-primary);--text-secondary: var(--text-secondary)}.kline-chart-container{background:var(--background);border-radius:var(--radius-lg);border:1px solid var(--border-light);overflow:hidden;margin-bottom:var(--spacing-lg)}.kline-chart-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-light);background:#ffffff05}.chart-symbol{font-size:1rem;font-weight:600;color:var(--text-primary)}.trendline-legend{display:flex;gap:var(--spacing-lg);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.75rem;color:var(--text-secondary)}.legend-color{width:12px;height:3px;border-radius:2px}.legend-label{font-weight:500}.valid-dot{width:6px;height:6px;border-radius:50%;background:var(--success);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.kline-chart{width:100%;background:transparent}.kline-chart-loading{display:flex;align-items:center;justify-content:center;background:var(--background);border-radius:var(--radius-lg);border:1px solid var(--border-light)}.loading-text{color:var(--text-muted);font-size:.875rem}.period-selector{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.period-btn{padding:var(--spacing-xs) var(--spacing-md);font-size:.75rem;font-weight:500;color:var(--text-secondary);background:transparent;border:1px solid var(--border-light);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease}.period-btn:hover{background:#ffffff0d;color:var(--text-primary)}.period-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}
