*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#333;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5}a{color:#2196f3;text-decoration:none}a:hover{color:#1976d2}img{max-width:100%;height:auto;display:block}.client-app{background-color:#f5f7fa;max-width:1024px;min-height:100vh;margin:0 auto;position:relative}.client-main{padding-bottom:70px}.client-tabbar{z-index:100;background-color:#fff;border-top:1px solid #e8e8e8;justify-content:space-around;align-items:center;width:100%;max-width:1024px;height:60px;padding:0 8px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tabbar-item{color:#999;flex-direction:column;flex:1;justify-content:center;align-items:center;height:100%;font-size:10px;text-decoration:none;transition:color .2s;display:flex}.tabbar-icon{width:22px;height:22px;margin-bottom:2px}.tabbar-label{font-size:10px;line-height:1.2}.tabbar-center-icon{width:24px;height:24px}.tabbar-item .tab-icon{margin-bottom:2px;font-size:22px}.tabbar-item.active{color:#2196f3}.tabbar-center{flex:1;justify-content:center;align-items:center;display:flex;position:relative}.tabbar-center-btn{color:#fff;background:linear-gradient(135deg,#2196f3,#1976d2);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;position:absolute;top:-24px;box-shadow:0 2px 8px #2196f366}.tabbar-center-btn:hover{color:#fff;transform:scale(1.05);box-shadow:0 4px 12px #2196f380}.app-header{background-color:#fff;padding:12px 16px}.app-header-inner{align-items:center;gap:8px;display:flex}.app-header-logo{object-fit:contain;border-radius:6px;flex-shrink:0;width:32px;height:32px}.app-header-title{color:#333;white-space:nowrap;font-size:17px;font-weight:600}.banner-carousel{width:100%;position:relative;overflow:hidden}.banner-slide{width:100%;display:none}.banner-slide.active{display:block}.banner-slide img{object-fit:cover;width:100%;height:180px}.banner-dots{gap:6px;display:flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.banner-dot{background-color:#ffffff80;border-radius:50%;width:6px;height:6px;transition:background-color .3s}.banner-dot.active{background-color:#fff;border-radius:3px;width:16px}.quick-entry{background-color:#fff;padding:16px}.quick-entry-grid{grid-template-columns:repeat(4,1fr);gap:16px 8px;display:grid}.quick-entry-item{color:#333;flex-direction:column;align-items:center;font-size:12px;text-decoration:none;display:flex}.quick-entry-icon{border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:6px;font-size:22px;display:flex}.quick-entry-item .entry-icon{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:6px;font-size:22px;display:flex}.quick-entry-item span{text-align:center;line-height:1.3}.article-list{background-color:#fff;padding:12px 16px}.article-item{color:#333;border-bottom:1px solid #f0f0f0;align-items:flex-start;gap:12px;padding:10px 0;text-decoration:none;display:flex}.article-item:last-child{border-bottom:none}.article-thumb{object-fit:cover;border-radius:4px;flex-shrink:0;width:80px;height:60px}.article-info{flex:1;min-width:0}.article-title{color:#333;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;font-weight:500;line-height:1.5;display:-webkit-box;overflow:hidden}.article-summary{color:#999;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.article-item .article-date{color:#999;white-space:nowrap;margin-left:12px;font-size:12px}.recommend-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:12px;padding:0 16px 12px;display:flex;overflow-x:auto}.recommend-scroll::-webkit-scrollbar{display:none}.recommend-card{color:#333;background-color:#fff;border-radius:8px;flex:0 0 140px;padding:12px;text-decoration:none;box-shadow:0 1px 4px #0000000f}.recommend-name{text-overflow:ellipsis;white-space:nowrap;margin-bottom:8px;font-size:14px;font-weight:500;overflow:hidden}.recommend-price{margin-bottom:4px;font-size:18px;font-weight:600}.recommend-change{font-size:12px}.product-grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:0 16px 16px;display:grid}.product-card{color:#333;background-color:#fff;border-radius:8px;text-decoration:none;overflow:hidden;box-shadow:0 1px 4px #0000000f}.product-card-img{object-fit:cover;width:100%;height:90px;display:block}.product-card-body{padding:10px 12px}.product-card-name{text-overflow:ellipsis;white-space:nowrap;margin-bottom:6px;font-size:14px;font-weight:500;overflow:hidden}.product-card-price{margin-bottom:4px;font-size:16px;font-weight:600}.product-card-change{font-size:12px}.product-card .product-summary{color:#999;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.price-up{color:#4caf50}.price-down{color:#f44336}.price-neutral{color:#999}.anti-fraud-notice{color:#e65100;background-color:#fff3e0;border:1px solid #ffe0b2;padding:12px 16px;font-size:12px;line-height:1.6}.anti-fraud-inner{align-items:flex-start;gap:8px;display:flex}.anti-fraud-icon{flex-shrink:0;font-size:16px}.anti-fraud-notice .notice-title{margin-bottom:4px;font-size:13px;font-weight:600}.section-header{justify-content:space-between;align-items:center;padding:12px 16px 8px;display:flex}.section-title{color:#333;font-size:16px;font-weight:600}.section-header .section-more{color:#999;font-size:12px}.client-header{color:#fff;background:linear-gradient(135deg,#2196f3,#1976d2);padding:16px}.client-header .header-top{justify-content:space-between;align-items:center;display:flex}.client-header .company-name{font-size:18px;font-weight:600}.client-header .header-actions{gap:16px;display:flex}.positions-search{background-color:#fff;align-items:center;gap:8px;padding:12px 16px;display:flex}.positions-search input{border:1px solid #e0e0e0;border-radius:4px;flex:1;height:36px;padding:0 12px;font-size:14px}.positions-tabs{background-color:#fff;border-bottom:1px solid #f0f0f0;display:flex}.positions-tabs .tab-item{text-align:center;color:#666;cursor:pointer;border-bottom:2px solid #0000;flex:1;padding:12px 0;font-size:14px;transition:color .2s,border-color .2s}.positions-tabs .tab-item.active{color:#2196f3;border-bottom-color:#2196f3}.empty-state{text-align:center;color:#999;padding:60px 20px}.empty-state .empty-icon{margin-bottom:12px;font-size:48px}.empty-state .empty-text{font-size:14px}.service-list{padding:12px 16px}.service-item{background-color:#fff;border-radius:8px;align-items:center;margin-bottom:12px;padding:16px;display:flex;box-shadow:0 1px 4px #0000000f}.service-item .service-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:48px;height:48px;margin-right:12px}.service-item .service-info{flex:1}.service-item .service-name{margin-bottom:4px;font-size:15px;font-weight:500}.service-item .service-desc{color:#999;font-size:12px}.service-item .service-status{border-radius:10px;flex-shrink:0;padding:2px 8px;font-size:12px}.service-item .service-status.online{color:#4caf50;background-color:#e8f5e9}.service-item .service-status.offline{color:#999;background-color:#f5f5f5}.service-notice{color:#1565c0;background-color:#e3f2fd;border-radius:8px;margin:0 16px 16px;padding:12px 16px;font-size:12px;line-height:1.6}#cs-modal{z-index:9999;background:#00000080;width:100vw;height:100vh;display:none;position:fixed;inset:0}#cs-modal.show{flex-direction:column;display:flex}.cs-modal-header{background:#fff;border-bottom:1px solid #eee;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.cs-modal-info{align-items:center;gap:10px;display:flex}.cs-modal-avatar{object-fit:cover;border-radius:50%;width:36px;height:36px;display:none}.cs-modal-avatar.show{display:block}.cs-modal-name{color:#333;font-size:16px;font-weight:600}.cs-modal-close{color:#666;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:28px;line-height:1;display:flex}.cs-modal-close:hover{color:#333}.cs-modal-body{background:#fff;flex:1;overflow:hidden}#cs-iframe{border:none;width:100%;height:100%}.profile-header{color:#fff;background:linear-gradient(135deg,#2196f3,#1976d2);align-items:center;padding:24px 16px;display:flex}.profile-header .profile-avatar{object-fit:cover;border:2px solid #ffffff80;border-radius:50%;width:56px;height:56px;margin-right:16px}.profile-header .profile-info .profile-name{margin-bottom:4px;font-size:18px;font-weight:600}.profile-header .profile-info .profile-level{background-color:#fff3;border-radius:10px;padding:2px 8px;font-size:12px;display:inline-block}.profile-assets{z-index:1;background-color:#fff;border-radius:8px;margin:-12px 16px 12px;padding:16px;position:relative;box-shadow:0 2px 8px #00000014}.profile-assets .assets-title{color:#999;margin-bottom:8px;font-size:12px}.profile-assets .assets-amount{color:#333;margin-bottom:16px;font-size:24px;font-weight:600}.profile-actions{gap:12px;display:flex}.profile-actions .action-btn{cursor:pointer;border:none;border-radius:18px;flex:1;height:36px;font-size:14px;font-weight:500;transition:opacity .2s}.profile-actions .action-btn.primary{color:#fff;background:linear-gradient(135deg,#2196f3,#1976d2)}.profile-actions .action-btn.secondary{color:#333;background-color:#f5f7fa}.profile-grid{background-color:#f0f0f0;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:1px;margin:0 16px 16px;display:grid;overflow:hidden}.profile-grid .grid-item{color:#333;background-color:#fff;flex-direction:column;justify-content:center;align-items:center;padding:16px 8px;text-decoration:none;display:flex}.profile-grid .grid-item .grid-icon{margin-bottom:6px;font-size:24px}.profile-grid .grid-item .grid-label{color:#666;font-size:12px}.page-title-bar{text-align:center;background-color:#fff;border-bottom:1px solid #f0f0f0;padding:14px 16px;font-size:17px;font-weight:600}@media (width>=1024px){.client-app{box-shadow:0 0 20px #0000000d}}.market-chart-section{background-color:#fff;margin-bottom:12px}.market-chart-header{align-items:baseline;gap:12px;padding:12px 16px 8px;display:flex}.market-chart-name{color:#333;font-size:16px;font-weight:600}.market-chart-price{color:#333;font-size:18px;font-weight:600}.market-chart-change{font-size:13px;font-weight:500}.market-kline-canvas{width:100%;height:200px;display:block}.market-period-tabs{border-top:1px solid #f0f0f0;justify-content:space-around;padding:8px 16px 12px;display:flex}.period-tab{color:#999;cursor:pointer;border-radius:12px;padding:4px 10px;font-size:12px;transition:color .2s,background-color .2s}.period-tab.active{color:#2196f3;background-color:#e3f2fd}.market-product-list{background-color:#fff}.market-list-header{color:#999;border-bottom:1px solid #f0f0f0;align-items:center;padding:10px 16px;font-size:12px;display:flex}.market-product-row{color:#333;border-bottom:1px solid #f8f8f8;align-items:center;padding:12px 16px;text-decoration:none;transition:background-color .15s;display:flex}.market-product-row:last-child{border-bottom:none}.market-product-row.active{background-color:#f5f9ff}.market-col-name{flex:2}.market-col-price{text-align:right;flex:1;font-size:15px;font-weight:500}.market-col-change{text-align:right;flex:1}.market-product-name{color:#333;font-size:14px;font-weight:500}.market-product-currency{color:#999;margin-top:2px;font-size:11px}.market-change-badge{text-align:center;border-radius:4px;min-width:60px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.badge-up{color:#4caf50;background-color:#4caf501a}.badge-down{color:#f44336;background-color:#f443361a}.badge-neutral{color:#999;background-color:#f5f5f5}.pos-search-bar{background-color:#fff;align-items:center;gap:8px;padding:10px 12px;display:flex}.pos-search-icon{flex-shrink:0;align-items:center;display:flex}.pos-search-input{color:#999;background:0 0;border:none;outline:none;flex:1;height:36px;font-size:14px}.pos-search-date-btn{cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.pos-search-btn{color:#fff;cursor:pointer;background-color:#1a2a4a;border:none;border-radius:4px;flex-shrink:0;height:32px;padding:0 14px;font-size:13px}.pos-tabs{background-color:#f5f7fa;display:flex}.pos-tab{text-align:center;color:#999;cursor:pointer;border-bottom:2px solid #0000;flex:1;padding:12px 0;font-size:15px;font-weight:500;transition:color .2s,border-color .2s}.pos-tab.active{color:#2196f3;border-bottom-color:#2196f3}.pos-tab-content{min-height:50vh}.pos-empty-state{flex-direction:column;justify-content:center;align-items:center;padding:80px 20px;display:flex}.pos-empty-icon{opacity:.6;margin-bottom:12px}.pos-empty-text{color:#999;margin:0;font-size:15px}.mkt-section{margin-bottom:16px}.mkt-section-title{color:#333;margin:0;padding:12px 16px 8px;font-size:16px;font-weight:600}.mkt-recommend-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:10px;padding:0 16px 12px;display:flex;overflow-x:auto}.mkt-recommend-scroll::-webkit-scrollbar{display:none}.mkt-recommend-card{color:#333;background-color:#fff;border-radius:8px;flex-direction:column;flex:0 0 130px;gap:6px;padding:10px 12px;text-decoration:none;display:flex;box-shadow:0 1px 4px #0000000f}.mkt-recommend-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.mkt-mini-chart{display:block}.mkt-recommend-price{font-size:15px;font-weight:600}.mkt-product-grid{grid-template-columns:repeat(2,1fr);gap:10px;padding:0 16px 16px;display:grid}.mkt-product-card{color:#333;background-color:#fff;border-radius:8px;text-decoration:none;overflow:hidden;box-shadow:0 1px 4px #0000000f}.mkt-product-img-wrap{width:100%;height:90px;overflow:hidden}.mkt-product-img{object-fit:cover;width:100%;height:100%}.mkt-product-info{justify-content:space-between;align-items:flex-start;padding:10px;display:flex}.mkt-product-left{flex:1;min-width:0}.mkt-product-right{text-align:right;flex-shrink:0;margin-left:8px}.mkt-product-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.mkt-product-currency{color:#999;margin-top:2px;font-size:11px}.mkt-product-price{font-size:14px;font-weight:600}.mkt-product-change{margin-top:2px;font-size:12px}@media (width<=480px){.quick-entry{padding:12px 8px}.quick-entry-grid{gap:12px 6px}.quick-entry-icon{width:40px;height:40px;font-size:18px}.mkt-recommend-card{flex:0 0 110px;padding:8px 10px}}@media (width<=380px){.pos-search-bar{flex-wrap:wrap;gap:6px;padding:8px 10px}.pos-search-input{min-width:0}.pos-search-btn{padding:0 10px;font-size:12px}}