  * { margin: 0; padding: 0; box-sizing: border-box; }
  body {
    font-family: "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #1a2332;
    background: #fff;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
  }
  a { text-decoration: none; color: inherit; }

  /* ===== Navigation ===== */
  .nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 100;
    background: rgba(255,255,255,0.97);
    border-bottom: 1px solid #e8eaed;
    backdrop-filter: blur(12px);
  }
  .nav-inner {
    max-width: 1200px; margin: 0 auto;
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 40px; height: 64px;
  }
  .nav-logo {
    display: flex; align-items: center; gap: 10px;
    font-size: 18px; font-weight: 700; color: #1a2332;
    letter-spacing: -0.5px;
  }
  .nav-logo .dot { width: 8px; height: 8px; background: #c9a96e; border-radius: 50%; }
  .nav-links { display: flex; gap: 36px; }
  .nav-links a {
    font-size: 14px; color: #5a6370; font-weight: 500;
    transition: color 0.2s; position: relative;
  }
  .nav-links a:hover, .nav-links a.active { color: #1a2332; }
  .nav-links a.active::after {
    content: ''; position: absolute; bottom: -20px; left: 0; right: 0;
    height: 2px; background: #c9a96e;
  }
  .nav-actions { display: flex; align-items: center; gap: 20px; }
  .btn-login {
    font-size: 14px; color: #5a6370; background: none; border: none; cursor: pointer;
    font-weight: 500;
  }
  .btn-login:hover { color: #1a2332; }
  .btn-contact {
    font-size: 13px; padding: 8px 20px; background: #1a2332; color: #fff;
    border: none; border-radius: 4px; cursor: pointer; font-weight: 500;
    transition: background 0.2s;
  }
  .btn-contact:hover { background: #2a3444; }
  .btn-primary {
    font-size: 15px; padding: 14px 32px; background: #1a2332; color: #fff;
    border: none; border-radius: 4px; cursor: pointer; font-weight: 500;
    transition: all 0.2s;
  }
  .btn-primary:hover { background: #2a3444; transform: translateY(-1px); }
  .btn-outline {
    font-size: 15px; padding: 14px 32px; background: transparent;
    color: #1a2332; border: 1px solid #d1d5db; border-radius: 4px;
    cursor: pointer; font-weight: 500; transition: all 0.2s;
  }
  .btn-outline:hover { border-color: #1a2332; }


  /* ===== Footer ===== */
  .footer {
    background: #111827; padding: 60px 40px 40px; color: rgba(255,255,255,0.5);
  }
  .footer-inner {
    max-width: 1200px; margin: 0 auto;
    display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px;
  }
  .footer-brand .logo-text {
    font-size: 16px; font-weight: 700; color: #fff; margin-bottom: 16px;
    display: flex; align-items: center; gap: 8px;
  }
  .footer-brand .logo-text .dot { width: 6px; height: 6px; background: #c9a96e; border-radius: 50%; }
  .footer-brand p { font-size: 13px; line-height: 1.7; }
  .footer-col h4 {
    font-size: 13px; font-weight: 600; color: #fff;
    margin-bottom: 20px; text-transform: uppercase; letter-spacing: 1px;
  }
  .footer-col a {
    display: block; font-size: 13px; color: rgba(255,255,255,0.5);
    margin-bottom: 12px; transition: color 0.2s;
  }
  .footer-col a:hover { color: #c9a96e; }
  .footer-bottom {
    max-width: 1200px; margin: 40px auto 0;
    padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.1);
    display: flex; justify-content: space-between;
    font-size: 12px;
  }


  /* ===== PC Tab Navigation (replaces old bottom-nav) ===== */
  .pc-tab-bar {
    position: sticky; top: 64px; z-index: 90;
    background: rgba(255,255,255,0.97); backdrop-filter: blur(12px);
    border-bottom: 1px solid #e8eaed;
    max-width: 1200px; margin: 0 auto;
    display: flex; gap: 0; padding: 0 40px;
  }
  .pc-tab-bar .nav-tab {
    padding: 14px 28px; font-size: 14px; font-weight: 500;
    color: #5a6370; cursor: pointer; border: none; background: none;
    border-bottom: 2px solid transparent; transition: all 0.2s;
    position: relative;
  }
  .pc-tab-bar .nav-tab:hover { color: #1a2332; }
  .pc-tab-bar .nav-tab.active {
    color: #1a2332; font-weight: 600;
    border-bottom-color: #c9a96e;
  }

  /* ===== Data Platform Section ===== */
  .data-platform {
    max-width: 1200px; margin: 0 auto; padding: 60px 40px;
  }
  .data-platform-title {
    font-size: 24px; font-weight: 700; color: #1a2332;
    margin-bottom: 32px; padding-bottom: 16px;
    border-bottom: 1px solid #e8eaed;
  }

  /* ===== Original Functional Styles ===== */
        :root {
            --gold:#C9A227;--gold-light:#E8D48A;--gold-dark:#A68B20;
            --bg:#F7F8FA;--card:#FFFFFF;--text:#1A1A2E;--text2:#6B7280;--text3:#9CA3AF;--border:#E5E7EB;
            --success:#10B981;--warning:#F59E0B;--danger:#EF4444;--info:#3B82F6;
        }
        *{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
        html{font-size:14px;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
        body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden}
        ::-webkit-scrollbar{width:0;height:0}*{scrollbar-width:none;-ms-overflow-style:none}
        .header{position:fixed;top:0;left:0;right:0;z-index:100;background:linear-gradient(180deg,var(--bg) 0%,var(--bg) 80%,transparent 100%);backdrop-filter:blur(10px);padding:12px 16px 20px}
        .brand{display:flex;align-items:center;justify-content:space-between}
        .brand-name{font-size:1.4rem;font-weight:600;background:linear-gradient(135deg,#1A365D 0%,#2D4A7C 50%,#0F4C81 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
        .brand-tag{font-size:0.7rem;color:var(--gold);background:rgba(201,162,39,.12);padding:3px 8px;border-radius:4px;border:1px solid rgba(201,162,39,.4)}
        .user-area{display:flex;align-items:center;gap:8px}
        .user-btn{padding:6px 12px;border-radius:20px;font-size:0.75rem;border:1px solid var(--border);background:var(--card);cursor:pointer;transition:all .2s}
        .user-btn:active{transform:scale(.96)}
        .user-btn.primary{background:var(--gold);color:#fff;border-color:var(--gold)}
        .user-btn.vip{background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:#fff;border:none}
        .container{max-width:430px;margin:0 auto;padding:0 16px;padding-top:70px;padding-bottom:80px}
        

        /* 市场概况区域 */
        .market-overview{background:var(--card);border-radius:16px;padding:16px;margin-bottom:16px;border:1px solid var(--border)}
        .market-overview-title{font-size:0.85rem;font-weight:600;margin-bottom:10px;display:flex;align-items:center;gap:6px}
        .market-overview-title::before{content:'🏢';font-size:0.9rem}
        .market-overview-text{font-size:0.75rem;line-height:1.7;color:var(--text2)}

        /* 信号层区域 */
        .signal-section{background:var(--card);border-radius:16px;padding:16px;margin-bottom:16px;border:1px solid var(--border);position:relative;overflow:hidden}
        .signal-section::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-light),var(--gold))}
        .signal-title{font-size:0.75rem;color:var(--text3);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;display:flex;align-items:center;gap:6px}
        .signal-title::before{content:'📊';font-size:0.9rem}
        .signal-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
        .signal-kpi{text-align:center;padding:10px 6px;background:var(--bg);border-radius:10px}
        .signal-kpi .num{font-size:1.3rem;font-weight:700;color:var(--gold-dark)}
        .signal-kpi .num.up{color:var(--success)}
        .signal-kpi .num.down{color:var(--danger)}
        .signal-kpi .label{font-size:0.65rem;color:var(--text3);margin-top:4px}
        .signal-chips{display:flex;flex-wrap:wrap;gap:6px}
        .signal-chip{padding:4px 10px;background:var(--bg);border-radius:15px;font-size:0.7rem;color:var(--text2);border:1px solid var(--border)}
        .signal-chip.hot{border-color:var(--gold);color:var(--gold-dark);background:rgba(201,162,39,.08)}
        
        /* Tab */
        .tabs{display:flex;background:var(--card);border-radius:12px;padding:4px;margin-bottom:16px;border:1px solid var(--border)}
        .tab{flex:1;padding:10px 6px;text-align:center;font-size:0.75rem;font-weight:500;color:var(--text3);cursor:pointer;border-radius:8px;transition:all .2s}
        .tab.active{background:var(--gold);color:#fff}
        .tab-content{display:none;animation:fadeIn .3s}
        .tab-content.active{display:block}
        @keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
        
        /* 列表 */
        .deal-card{background:var(--card);border-radius:12px;padding:14px;margin-bottom:10px;border:1px solid var(--border);position:relative}

        /* 筛选栏 */
        .deals-filter-bar{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0;margin-bottom:4px;border-bottom:1px solid var(--border)}
        .filter-group{display:flex;align-items:center;gap:4px}
        .filter-label{font-size:0.7rem;color:var(--text3);white-space:nowrap;min-width:auto}
        .filter-select{font-size:0.75rem;padding:5px 10px;border-radius:16px;border:1px solid var(--border);background:white;color:var(--text);cursor:pointer;outline:none;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath fill='%23999' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;padding-right:20px}
        .filter-select:active,.filter-select:focus{border-color:var(--gold)}
        .filter-reset{font-size:0.7rem;padding:4px 10px;border-radius:12px;border:1px solid #ddd;background:white;color:var(--text3);cursor:pointer;white-space:nowrap}
        .filter-reset:active{background:#f5f5f5}
        .filter-count{font-size:0.7rem;color:var(--text3);padding:4px 0;width:100%;text-align:right}
        .deal-card .action-tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:0.65rem;font-weight:500;margin-right:4px;vertical-align:middle}
        .deal-card .tag-row{display:flex;align-items:center;gap:4px;margin-bottom:6px;flex-wrap:wrap}
        .tag-move{background:rgba(239,68,68,.08);color:#EF4444}
        .tag-new{background:rgba(59,130,246,.08);color:#3B82F6}
        .tag-expand{background:rgba(201,162,39,.08);color:var(--gold-dark)}
        .tag-renew{background:rgba(139,92,246,.08);color:#8B5CF6}
        .deal-card .proj{font-size:0.95rem;font-weight:600;margin-bottom:6px;padding-right:60px}
        .deal-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:0.75rem;color:var(--text2)}
        .deal-meta span{display:flex;align-items:center;gap:3px}
        .deal-meta .area{color:var(--gold-dark);font-weight:600}
        .deal-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
        .deal-footer .date{font-size:0.7rem;color:var(--text3)}
        
        /* 付费墙 */
        .paywall{background:linear-gradient(180deg,transparent 0%,var(--bg) 30%);padding:20px 0;text-align:center;margin-top:10px}
        .paywall-icon{font-size:2.5rem;margin-bottom:10px}
        .paywall-title{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:6px}
        .paywall-desc{font-size:0.8rem;color:var(--text2);margin-bottom:16px;line-height:1.5}
        .paywall-btns{display:flex;flex-direction:column;gap:10px;padding:0 20px}
        .paywall-btn{padding:12px;border-radius:25px;font-size:0.9rem;font-weight:600;cursor:pointer;border:none;transition:all .2s}
        .paywall-btn:active{transform:scale(.96)}
        .paywall-btn.register{background:var(--gold);color:#fff}
        .paywall-btn.login{background:transparent;color:var(--gold);border:1px solid var(--gold)}
        .paywall-btn.share{background:var(--card);color:var(--text);border:1px solid var(--border)}
        .paywall-btn.vip{background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:#fff}
        .paywall-btn.code{background:var(--card);color:var(--gold-dark);border:1px solid var(--gold)}
        
        /* 解锁提示 */
        .unlock-tip{background:rgba(201,162,39,.08);border:1px solid rgba(201,162,39,.3);border-radius:10px;padding:12px;margin-bottom:10px;text-align:center}
        .unlock-tip .count{font-size:1.2rem;font-weight:700;color:var(--gold-dark)}
        .unlock-tip .desc{font-size:0.75rem;color:var(--text2);margin-top:4px}
        
        /* 分享解锁区 */
        .share-unlock{background:var(--card);border-radius:12px;padding:16px;margin-bottom:10px;border:1px solid var(--border);text-align:center}
        .share-unlock h3{font-size:0.9rem;margin-bottom:10px}
        .share-unlock p{font-size:0.75rem;color:var(--text2);margin-bottom:12px}
        .share-link{background:var(--bg);padding:10px;border-radius:8px;margin-bottom:10px;word-break:break-all;font-size:0.75rem;color:var(--text2)}
        .share-btns{display:flex;gap:10px}
        .share-btn{flex:1;padding:10px;border-radius:20px;font-size:0.8rem;cursor:pointer;border:none;font-weight:500}
        .share-btn.copy{background:var(--gold);color:#fff}
        .share-btn.more{background:var(--bg);color:var(--text2);border:1px solid var(--border)}
        .share-modal-text{background:var(--bg);padding:12px;border-radius:8px;word-break:break-all;font-size:0.75rem;color:var(--text);margin-bottom:12px;line-height:1.6;border:1px dashed var(--border)}
        .share-modal-btn{width:100%;padding:12px;border-radius:25px;background:var(--gold);color:#fff;border:none;font-size:0.9rem;font-weight:600;cursor:pointer}
        
        /* Modal */
        .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:200;display:none;align-items:center;justify-content:center;padding:20px}
        .modal-overlay.show{display:flex}
        .modal{background:var(--card);border-radius:16px;width:100%;max-width:360px;padding:24px;animation:modalIn .3s}
        @keyframes modalIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
        .modal h2{font-size:1.1rem;text-align:center;margin-bottom:16px}
        .modal-close{position:absolute;top:12px;right:12px;font-size:1.2rem;color:var(--text3);cursor:pointer}
        .form-group{margin-bottom:14px}
        .form-group label{display:block;font-size:0.75rem;color:var(--text2);margin-bottom:6px}
        .form-input{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;font-size:0.9rem;outline:none;transition:border-color .2s}
        .form-input:focus{border-color:var(--gold)}
        .form-row{display:flex;gap:10px}
        .form-row .form-group{flex:1}
        .code-input{flex:1!important}
        .code-btn{padding:12px 16px;background:var(--bg);border:1px solid var(--border);border-radius:10px;font-size:0.8rem;color:var(--gold-dark);cursor:pointer;white-space:nowrap}
        .code-btn:disabled{opacity:.5}
        .modal-btn{width:100%;padding:14px;border-radius:25px;background:var(--gold);color:#fff;border:none;font-size:0.95rem;font-weight:600;cursor:pointer;margin-top:10px}
        .modal-btn:disabled{opacity:.5}
        .modal-btn.secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}
        .modal-hint{text-align:center;font-size:0.75rem;color:var(--text3);margin-top:12px}
        
        /* Toast */
        .toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%) translateY(20px);background:rgba(0,0,0,.8);color:#fff;padding:10px 20px;border-radius:25px;font-size:0.85rem;opacity:0;transition:all .3s;z-index:300;white-space:nowrap}
        .toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
        .toast.success{background:rgba(16,185,129,.9)}
        .toast.error{background:rgba(239,68,68,.9)}
        .detail-card{padding:4px 0}
        .detail-proj{font-size:1.15rem;font-weight:600;color:var(--text);margin-bottom:8px;line-height:1.4}
        .detail-table{width:100%;border-collapse:collapse;margin:12px 0}
        .detail-table td{padding:10px 8px;border-bottom:1px solid var(--border);font-size:0.85rem}
        .detail-table td:first-child{color:var(--text3);width:70px;white-space:nowrap}
        .detail-note{margin-top:12px;padding:12px;background:var(--bg);border-radius:8px;font-size:0.82rem;color:var(--text2);line-height:1.6}
        .tag-sale{background:rgba(239,68,68,.1)!important;color:#EF4444!important;border-color:rgba(239,68,68,.3)!important}
        .tag-rent{background:rgba(59,130,246,.1)!important;color:#3B82F6!important;border-color:rgba(59,130,246,.3)!important}
        
        /* User Panel */
        .user-panel{background:var(--card);border-radius:16px;padding:20px;margin-bottom:16px;border:1px solid var(--border)}
        .user-info{display:flex;align-items:center;gap:12px;margin-bottom:16px}
        .user-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-dark));display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.3rem;font-weight:600}
        .user-name{font-size:1rem;font-weight:600}
        .user-tier{font-size:0.75rem;color:var(--gold-dark);margin-top:2px}
        .user-tier.premium{color:var(--gold)}
        .user-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:center}
        .user-stat{padding:10px;background:var(--bg);border-radius:10px}
        .user-stat .num{font-size:1.1rem;font-weight:700;color:var(--gold-dark)}
        .user-stat .label{font-size:0.65rem;color:var(--text3);margin-top:2px}
        .user-actions{margin-top:16px;display:flex;flex-direction:column;gap:8px}
        .user-action{padding:10px;background:var(--bg);border-radius:10px;font-size:0.85rem;cursor:pointer;text-align:center;border:1px solid var(--border)}
        .user-action:active{background:var(--border)}
        
        /* 会员权益 */
        .vip-benefits{background:var(--card);border-radius:12px;padding:16px;margin-bottom:16px;border:1px solid rgba(201,162,39,.3)}
        .vip-benefits h3{font-size:0.9rem;margin-bottom:12px;display:flex;align-items:center;gap:6px}
        .benefit-item{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:0.8rem;color:var(--text2);border-bottom:1px solid var(--border)}
        .benefit-item:last-child{border-bottom:none}
        .benefit-icon{width:20px;height:20px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:0.7rem}
        
        .loading{text-align:center;padding:40px;color:var(--text3)}
        .empty{text-align:center;padding:30px;color:var(--text3);font-size:0.85rem}
        
        /* ========== 市场数据看板模块样式 ========== */
        .module{background:var(--card);border-radius:12px;margin-bottom:12px;overflow:hidden;border:1px solid var(--border);transition:all .3s ease}
        .module:hover{border-color:#0F4C81}
        .module-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer;user-select:none}
        .module-header h3{font-size:0.9rem;font-weight:600;display:flex;align-items:center;gap:8px}
        .module-header h3::before{content:'';width:3px;height:14px;background:#0F4C81;border-radius:2px}
        .module-toggle{width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:transform .3s ease}
        .module-toggle svg{width:16px;height:16px;fill:var(--text2)}
        .module.collapsed .module-toggle{transform:rotate(-90deg)}
        .module-content{padding:0 16px 16px;display:block;overflow:hidden;transition:all .3s ease}
        .module.collapsed .module-content{display:none}
        .chart-container{position:relative;height:200px;margin-top:12px}
        
        /* KPI卡片 */
        .kpi-grid-4{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
        .kpi-card-sm{background:var(--bg);border-radius:10px;padding:12px;text-align:center}
        .kpi-card-sm .label{font-size:0.65rem;color:var(--text3);margin-bottom:4px}
        .kpi-card-sm .value{font-size:1.2rem;font-weight:700;color:var(--gold-dark)}
        .kpi-card-sm .value.up{color:var(--success)}
        .kpi-card-sm .value.down{color:var(--danger)}
        .kpi-trend{display:inline-flex;align-items:center;gap:2px;font-size:0.6rem;padding:2px 5px;border-radius:3px;margin-top:4px}
        .kpi-trend.up{color:var(--success);background:rgba(74,222,128,.1)}
        .kpi-trend.down{color:var(--danger);background:rgba(248,113,113,.1)}
        
        /* 商圈对比 */
        .district-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}
        .district-门头沟{background:rgba(120,85,72,.15);color:#785448}
        .district-card{background:rgba(255,255,255,.95);border-radius:8px;padding:10px;border:1px solid var(--border)}
        .district-name{font-size:0.8rem;font-weight:600;margin-bottom:6px;display:flex;justify-content:space-between;align-items:center}
        .district-badge{font-size:0.55rem;padding:2px 5px;border-radius:3px;background:rgba(212,175,55,.2);color:var(--gold)}
        .district-stats{display:flex;justify-content:space-between}
        .district-stat{text-align:center}
        .district-stat-label{font-size:0.55rem;color:var(--text3)}
        .district-stat-value{font-size:0.75rem;font-weight:600}
        .vacancy-low{color:var(--success)}
        .vacancy-mid{color:var(--warning)}
        .vacancy-high{color:var(--danger)}
        
        /* 行业图表 */
        .industry-chart-container{display:flex;flex-direction:column;align-items:center;gap:16px}
        .pie-wrapper{position:relative;width:160px;height:160px}
        .pie-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;background:var(--card);width:70px;height:70px;border-radius:50%;display:flex;flex-direction:column;justify-content:center}
        .pie-center-value{font-size:16px;font-weight:700;color:var(--gold)}
        .pie-center-label{font-size:8px;color:var(--text2)}
        .industry-legend{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;width:100%}
        .legend-item{display:flex;align-items:center;gap:6px;font-size:0.7rem}
        .legend-color{width:10px;height:10px;border-radius:2px}
        .legend-value{color:var(--text2);margin-left:auto}
        
        /* 供应预测 */
        .supply-summary{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
        .supply-tag{background:rgba(201,162,39,.1);border:1px solid rgba(201,162,39,.3);border-radius:4px;padding:4px 8px;font-size:0.6rem;display:flex;align-items:center;gap:4px}
        .supply-tag .dot{width:6px;height:6px;border-radius:50%}
        
        /* 表格 */
        .comparison-table{width:100%;border-collapse:collapse;font-size:0.65rem;margin-top:12px;overflow-x:auto}
        .comparison-table th,.comparison-table td{padding:8px 4px;text-align:left;border-bottom:1px solid var(--border)}
        .comparison-table th{background:rgba(201,162,39,.12);color:var(--gold);font-weight:600}
        .comparison-table tr:hover td{background:rgba(255,255,255,.95)}
        .comparison-table td:nth-child(n+2){text-align:right;font-family:'SF Mono','Menlo',monospace}
        .highlight-diff{background:rgba(248,113,113,.2);color:var(--danger)}
        .table-note{font-size:0.6rem;color:var(--text3);margin-top:8px;font-style:italic}
        
        /* 数据来源 */
        .data-source{margin-top:20px;padding:12px;background:var(--card);border-radius:8px;border:1px solid var(--border);cursor:pointer;user-select:none}
        .data-source h4{font-size:0.75rem;color:var(--gold);margin-bottom:6px}
        .data-source p{font-size:0.6rem;color:var(--text2);line-height:1.6}
        
        
        /* 大宗交易卡片样式 */
        .sub-tabs{display:flex;gap:0;margin-bottom:12px;background:var(--bg);border-radius:8px;padding:3px;border:1px solid var(--border)}
        .sub-tab{flex:1;padding:8px 6px;text-align:center;font-size:0.75rem;font-weight:500;color:var(--text3);cursor:pointer;border-radius:6px;transition:all .2s}
        .sub-tab.active{background:var(--gold);color:#fff}
        .deal-card.large-deal{border-left:3px solid var(--gold)}
        .large-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:0.6rem;font-weight:600;background:linear-gradient(135deg,rgba(201,162,39,.15),rgba(201,162,39,.25));color:var(--gold-dark);border:1px solid rgba(201,162,39,.3);margin-right:4px}
        .event-card{background:var(--card);border-radius:12px;padding:14px;margin-bottom:10px;border:1px solid var(--border);border-left:3px solid #a855f7}
        .event-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:0.6rem;font-weight:600;background:rgba(168,85,247,.1);color:#a855f7;border:1px solid rgba(168,85,247,.3);margin-right:4px}
        .event-title{font-size:0.95rem;font-weight:600;margin-bottom:6px}
        .event-summary{font-size:0.8rem;color:var(--text2);line-height:1.5;margin-bottom:8px}
        .event-footer{display:flex;justify-content:space-between;align-items:center;font-size:0.7rem;color:var(--text3)}
        .overview-section{background:var(--card);border-radius:12px;padding:14px;margin-bottom:12px;border:1px solid var(--border)}
        .overview-section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
        .overview-section-title span:first-child{font-size:0.85rem;font-weight:600}
        .overview-section-title span:last-child{font-size:0.7rem;color:var(--gold-dark);cursor:pointer}

        /* 版权 */
        .copyright{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);font-size:0.55rem;color:var(--text3);text-align:center;line-height:1.6}
        
        /* ========== 政策模块样式 ========== */
        .policy-summary{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:16px;overflow-x:auto}
        .policy-summary-title{font-size:0.75rem;color:var(--gold);margin-bottom:10px;display:flex;align-items:center;gap:6px}
        .policy-summary-grid{display:flex;gap:10px;min-width:max-content}
        .policy-summary-card{background:var(--bg);border-radius:8px;padding:10px;min-width:140px;border:1px solid var(--border)}
        .policy-summary-district{font-size:0.75rem;font-weight:600;color:var(--text);margin-bottom:4px}
        .policy-summary-highlight{font-size:0.6rem;color:var(--success);margin-bottom:4px}
        .policy-summary-desc{font-size:0.55rem;color:var(--text3);line-height:1.4}
        .policy-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:12px;cursor:pointer;transition:all .3s ease}
        .policy-card:active{transform:scale(.99)}
        .policy-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}
        .policy-card-title{font-size:0.9rem;font-weight:600;color:var(--text);line-height:1.3;flex:1;margin-right:8px}
        .policy-district-tag{flex-shrink:0;font-size:0.6rem;padding:3px 8px;border-radius:4px;font-weight:500}
        .district-chaoyang{background:rgba(96,165,250,.15);color:var(--info)}
        .district-haidian{background:rgba(74,222,128,.15);color:var(--success)}
        .district-xicheng{background:rgba(212,175,55,.15);color:var(--gold)}
        .district-fengtai{background:rgba(251,191,36,.15);color:var(--warning)}
        .district-tongzhou{background:rgba(168,85,247,.15);color:#a855f7}
        .district-shijingshan{background:rgba(248,113,113,.15);color:var(--danger)}
        .district-daxing{background:rgba(59,130,246,.15);color:var(--info)}
        .district-shunyi{background:rgba(236,72,153,.15);color:#ec4899}
        .district-changping{background:rgba(34,197,94,.15);color:var(--success)}
        .district-yizhuang{background:rgba(249,115,22,.15);color:#f97316}
        .district-quanshi{background:rgba(201,162,39,.15);color:var(--gold)}
        .district-quanguo{background:rgba(139,92,246,.15);color:#8B5CF6}
        .policy-type-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
        .policy-type-tag{font-size:0.55rem;padding:2px 8px;border-radius:10px;font-weight:500}
        .type-lease{background:rgba(74,222,128,.15);color:var(--success)}
        .type-tax{background:rgba(96,165,250,.15);color:var(--info)}
        .type-industry{background:rgba(168,85,247,.15);color:#a855f7}
        .type-talent{background:rgba(249,115,22,.15);color:#f97316}
        .type-fund{background:rgba(236,72,153,.15);color:#ec4899}
        .type-land{background:rgba(156,163,175,.15);color:var(--text2)}
        .type-biz{background:rgba(59,130,246,.15);color:#3b82f6}
        .policy-expired-badge{font-size:0.55rem;padding:2px 6px;border-radius:4px;background:rgba(239,68,68,.12);color:#ef4444;font-weight:600;margin-left:6px}
        .policy-card.expired{opacity:0.65}
        .policy-card.expired .policy-card-title{text-decoration:line-through;color:var(--text3)}
        .policy-summary-text{font-size:0.8rem;color:var(--text);font-weight:500;line-height:1.4;margin-bottom:8px}
        .policy-detail-text{font-size:0.7rem;color:var(--text2);line-height:1.5;margin-bottom:10px}
        .policy-footer{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid var(--border)}
        .policy-date{font-size:0.6rem;color:var(--text3)}
        .policy-source{font-size:0.6rem;color:var(--info);text-decoration:none}
        .policy-filter-section{margin-bottom:16px}
        .policy-filter-label{font-size:0.65rem;color:var(--text3);margin-bottom:6px}
        .filter-bar{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
        .filter-bar::-webkit-scrollbar{display:none}
        .filter-chip{flex-shrink:0;padding:6px 12px;border:1px solid var(--border);background:transparent;color:var(--text2);font-size:0.75rem;border-radius:16px;cursor:pointer;transition:all .2s ease;white-space:nowrap}
        .filter-chip.active{background:#0F4C81;color:#fff;border-color:#0F4C81}
        
        /* 底部导航 */
        .bottom-nav{position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.95);border-top:1px solid var(--border);box-shadow:0 -2px 10px rgba(0,0,0,.04);display:flex;justify-content:space-around;padding:8px 0;padding-bottom:max(8px,env(safe-area-inset-bottom));z-index:100}
        .nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 12px;border:none;background:transparent;color:var(--text3);cursor:pointer;transition:all .2s;border-radius:8px;font-size:0.65rem}
        .nav-item.active{color:var(--gold)}
        .nav-item svg{width:18px;height:18px;fill:currentColor}
        .nav-item span{font-size:0.55rem}
        
        /* 详情面板 */
        .detail-panel{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg);z-index:200;overflow-y:auto;padding:16px;padding-top:60px}
        .detail-panel.show{display:block;animation:slideUp .3s ease}
        @keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
        .detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
        .detail-title{font-size:1.1rem;font-weight:600;color:var(--text)}
        .close-btn{width:32px;height:32px;border:1px solid var(--border);background:var(--card);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}
        .close-btn svg{width:16px;height:16px;fill:var(--text2)}
        .detail-content{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}
        .detail-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}
        .detail-row:last-child{border-bottom:none}
        .detail-label{font-size:0.8rem;color:var(--text3)}
        .detail-value{font-size:0.85rem;color:var(--text);font-weight:500;text-align:right;max-width:60%}
        .detail-value.highlight{color:var(--gold)}
        
        @media (max-width: 360px){.kpi-card-sm .value{font-size:1rem}.kpi-label{font-size:0.6rem}}
    
/* 详情锁定样式 */
.detail-lock {
    margin-top: 16px;
    padding: 20px;
    background: linear-gradient(135deg, #f8f9ff 0%, #eef1ff 100%);
    border-radius: 12px;
    text-align: center;
}
.detail-lock .lock-icon {
    font-size: 28px;
    margin-bottom: 8px;
}
.detail-lock .lock-msg {
    font-size: 14px;
    color: #666;
    margin-bottom: 12px;
}
.detail-lock .paywall-btn {
    display: inline-block;
    margin: 4px;
    padding: 8px 16px;
    border: none;
    border-radius: 8px;
    font-size: 13px;
    cursor: pointer;
}
.detail-lock .paywall-btn.register {
    background: #4A6CF7;
    color: white;
}
.detail-lock .paywall-btn.share {
    background: #10B981;
    color: white;
}
.detail-lock .paywall-btn.code {
    background: #F59E0B;
    color: white;
}
.detail-blur {
    filter: blur(3px);
    user-select: none;
}


.policy-source-link {
    color: #d4af37;
    text-decoration: underline;
    cursor: pointer;
}


  /* ===== PC Overrides for Old Components ===== */
  .header { display: none !important; }
  .container { max-width: 1200px !important; padding: 0 40px !important; margin: 0 auto; }
  .tabs { display: none !important; }
  .bottom-nav { display: none !important; }
  
  .signal-section { margin-bottom: 32px; }
  .signal-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  
  .market-overview { margin-bottom: 24px; }
  
  .tab-content { padding: 0; }
  
  /* Grid layout for deal cards */
  .deal-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
  
  /* Market data KPI grid */
  .kpi-grid-3, .kpi-grid-4 { display: grid; gap: 16px; }
  .kpi-grid-3 { grid-template-columns: repeat(3, 1fr); }
  .kpi-grid-4 { grid-template-columns: repeat(4, 1fr); }
  
  /* Policy filter horizontal */
  .policy-filter { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
  
  /* Chart containers side by side */
  .module { margin-bottom: 24px; }
  
  /* Detail panel wider */
  .detail-panel { max-width: 600px !important; width: 90% !important; }
  
  /* Modal wider */
  .modal-box { max-width: 420px !important; }
  
  /* Overview section in grid */
  .overview-section { margin-bottom: 20px; }
  
  /* Data table */
  .data-table { width: 100%; overflow-x: auto; }
  
  /* Toast */
  .toast { position: fixed; bottom: 40px; left: 50%; transform: translateX(-50%); z-index: 10000; }

