.header.topbar-redesign{z-index:1200;min-height:64px;color:var(--ds-ink,#22313f);-webkit-backdrop-filter:blur(25px)saturate(130%);background:#fff6;border:1px solid #fff9;border-radius:16px;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:18px;margin-bottom:18px;padding:10px 12px;display:grid;position:relative;overflow:visible;box-shadow:0 8px 32px #1f268712}.header.topbar-redesign .header-content,.header.topbar-redesign .main-nav{display:contents}.header.topbar-redesign .title-section{z-index:1;order:1;justify-self:start;min-width:max-content;position:relative}.header.topbar-redesign .title-section h1{font-weight:800;font-size:var(--brand-lockup-text-compact,22px);color:var(--ds-ink,#22313f);margin:0;line-height:1}.header.topbar-redesign .title-section h1 a{align-items:center;gap:var(--brand-lockup-gap,10px);text-decoration:none;display:inline-flex;color:inherit!important}.header.topbar-redesign .title-section h1 img{border-radius:8px;flex:none;box-shadow:0 8px 24px #10182024;width:var(--brand-lockup-icon-compact,34px)!important;height:var(--brand-lockup-icon-compact,34px)!important}.header.topbar-redesign .mobile-hamburger{z-index:1;flex:none;order:0;display:none;position:relative}.header.topbar-redesign .hamburger-btn{box-sizing:border-box;color:#222f3af0;cursor:pointer;-webkit-backdrop-filter:blur(20px)saturate(180%);background:#fff6;border:1px solid #fff9;border-radius:10px;place-items:center;width:38px;height:38px;padding:0;font-size:1rem;transition:transform .18s,border-color .18s,background .18s,color .18s;display:inline-grid;position:relative;box-shadow:0 4px 16px #1f26870f}.header.topbar-redesign .hamburger-btn .fa-bars{width:16px;height:12px;font-size:0;line-height:0;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.header.topbar-redesign .hamburger-btn .fa-bars:before,.header.topbar-redesign .hamburger-btn .fa-bars:after{content:"";background:currentColor;border-radius:999px;width:16px;height:2px;position:absolute;left:0;transform:none}.header.topbar-redesign .hamburger-btn .fa-bars:before{top:0;box-shadow:0 5px}.header.topbar-redesign .hamburger-btn .fa-bars:after{bottom:0}.header.topbar-redesign .nav-tabs{z-index:1;-webkit-backdrop-filter:blur(20px)saturate(180%);scrollbar-width:none;background:#ffffff52;border:1px solid #fff9;border-radius:10px;order:2;justify-self:center;align-items:center;gap:4px;min-width:0;max-width:100%;margin-left:0;margin-right:0;padding:4px;list-style:none;display:flex;position:relative;overflow-x:auto;box-shadow:0 4px 16px #1f26870d}.header.topbar-redesign .nav-tabs::-webkit-scrollbar{display:none}.header.topbar-redesign .nav-tab,.header.topbar-redesign .nav-tab.active{box-shadow:none;background:0 0;border:none;margin:0;list-style:none;display:flex}.header.topbar-redesign .nav-tab a{min-height:36px;color:var(--ds-muted,#64727f);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:7px;padding:0 12px;font-size:.92rem;font-weight:650;text-decoration:none;transition:transform .18s,border-color .18s,background .18s,color .18s;display:inline-flex}.header.topbar-redesign .nav-tab a i{font-size:.92rem}body.market-tab .header.topbar-redesign .nav-tab a[href=\/market],body.raw-data-tab .header.topbar-redesign .nav-tab a[href=\/raw-data],body.permits-tab .header.topbar-redesign .nav-tab a[href=\/permits],body.developer-tab .header.topbar-redesign .nav-tab a[href=\/developer],body.sales-ranking-tab .header.topbar-redesign .nav-tab a[href=\/sales],.header.topbar-redesign .nav-tab.active>a,.header.topbar-redesign .nav-tab>a.active,.header.topbar-redesign .nav-tab>a[aria-current=page]{color:var(--ds-ink,#22313f);background:#ffffffb8;border-color:#ffffffe6;font-weight:750;box-shadow:0 2px 8px #1f26870f,inset 0 1px #ffffffe6}@media (hover:hover){.header.topbar-redesign .nav-tab:not(.active) a:hover,.header.topbar-redesign .header-actions button:hover,.header.topbar-redesign .header-actions a:hover,.header.topbar-redesign .header-actions .user-dropdown-toggle:hover,.header.topbar-redesign .hamburger-btn:hover{color:var(--ds-ink,#22313f);background:#fff9;border-color:#ffffffd1;transform:translateY(-1px)}}.header.topbar-redesign .header-actions{z-index:1300;background:0 0;border:none;order:3;justify-self:end;align-items:center;gap:8px;padding:0;position:relative;opacity:1!important;display:flex!important}.header.topbar-redesign .header-actions .user-dropdown{align-items:center;height:38px;line-height:1;display:flex;position:relative}.header.topbar-redesign .header-actions .user-dropdown-menu{z-index:1400}.header.topbar-redesign .header-actions .header-btn,.header.topbar-redesign .header-actions .search-btn,.header.topbar-redesign .header-actions .register-btn,.header.topbar-redesign .header-actions .sponsor-btn,.header.topbar-redesign .header-actions .user-dropdown-toggle{color:#222f3af0;cursor:pointer;-webkit-backdrop-filter:blur(20px)saturate(180%);background:#fff6;border:1px solid #fff9;border-radius:10px;justify-content:center;align-items:center;gap:6px;height:38px;min-height:38px;padding:0 10px;font-size:.86rem;font-weight:650;line-height:1;text-decoration:none;display:inline-flex;box-shadow:0 4px 16px #1f26870f}.header.topbar-redesign .header-actions .user-dropdown-toggle{margin:0}.header.topbar-redesign .header-actions .user-dropdown-toggle .user-name-text{color:inherit;text-shadow:none;line-height:1}.header.topbar-redesign .header-actions .user-dropdown-toggle .avatar-img,.header.topbar-redesign .header-actions .user-dropdown-toggle .avatar-initials{width:28px;height:28px}.header.topbar-redesign .header-actions .header-btn .btn-text{color:inherit}.header.topbar-redesign .header-actions .search-btn{place-items:center;width:38px;height:38px;padding:0}@media (width<=1500px){.header.topbar-redesign{gap:12px;padding:10px 12px}.header.topbar-redesign .nav-tabs{gap:4px;padding:4px}.header.topbar-redesign .nav-tab a{min-height:34px;padding:0 9px;font-size:.85rem}.header.topbar-redesign .header-actions{gap:6px}.header.topbar-redesign .header-actions .header-btn .btn-text{display:none}.header.topbar-redesign .header-actions .header-btn,.header.topbar-redesign .header-actions .user-dropdown-toggle{place-items:center;width:38px;height:38px;padding:0}.header.topbar-redesign .header-actions .user-dropdown-toggle .user-name-text,.header.topbar-redesign .header-actions .user-dropdown-toggle .fa-caret-down{display:none}.header.topbar-redesign .header-actions .user-dropdown-toggle .avatar-img,.header.topbar-redesign .header-actions .user-dropdown-toggle .avatar-initials{width:28px;height:28px}}@media (width<=1080px) and (width>=769px){.header.topbar-redesign{grid-template-columns:max-content max-content;justify-content:space-between}.header.topbar-redesign .nav-tabs{order:4;grid-column:1/-1;justify-content:center;width:100%;margin-left:0;margin-right:0}.header.topbar-redesign .header-actions{margin-left:auto}}@media (width<=768px){.header.topbar-redesign{color:#0f172a;-webkit-backdrop-filter:blur(24px)saturate(145%);background:linear-gradient(135deg,#f8fafc57,#fff3),#ffffff42;border:1px solid #ffffff85;border-radius:20px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:60px;margin:8px 0 18px;padding:9px 10px;display:grid;box-shadow:inset 0 1px #ffffff8f,0 14px 36px #0f172a1f}.header.topbar-redesign .header-content{display:contents!important}.header.topbar-redesign .hamburger-btn{color:#0f172a;background:#ffffff61;border:1px solid #ffffff8a;border-radius:12px;box-shadow:inset 0 1px #ffffff94,0 6px 18px #0f172a14}.header.topbar-redesign .title-section h1,.header.topbar-redesign .title-section h1 a{color:#0f172a}.header.topbar-redesign .mobile-hamburger{grid-column:1;place-self:center start;display:inline-flex!important}.header.topbar-redesign .nav-tabs,.header.topbar-redesign .main-nav{display:none}.header.topbar-redesign .header-actions{grid-column:3;place-self:center end;gap:6px;margin-left:0;display:flex!important}.header.topbar-redesign .header-actions .register-btn .btn-text,.header.topbar-redesign .header-actions .sponsor-btn .btn-text{display:none}.header.topbar-redesign .header-actions .header-btn{background:#ffffff61;border-color:#ffffff8a;border-radius:12px;place-items:center;width:36px;height:36px;min-height:36px;padding:0;box-shadow:inset 0 1px #ffffff94,0 6px 18px #0f172a14}.header.topbar-redesign .header-actions .user-dropdown,.header.topbar-redesign .header-actions .user-dropdown-toggle{width:36px;height:36px;min-height:36px;padding:0}.header.topbar-redesign .title-section{text-align:center;grid-column:2;justify-self:center;min-width:0}.header.topbar-redesign .title-section h1{font-size:1rem}.header.topbar-redesign .title-section h1 img{width:28px!important;height:28px!important}}body.market-tab{background-color:#f4f7f6}.time-range-section{background:var(--color-bg-surface);padding:1rem var(--section-px);border-radius:var(--radius-lg);margin-bottom:1rem}.time-range-section h2{color:var(--color-text);margin-bottom:.75rem;font-size:1.2rem}.time-range-grid{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.time-range-grid select{border:2px solid var(--color-border-input);border-radius:var(--radius-md);transition:border-color var(--transition-fast);padding:.6rem .8rem;font-size:.95rem}.time-range-grid select:focus-visible{border-color:var(--color-primary-light);outline:none}.market-redesign .field-group[data-member-only=date-range].member-locked .time-range-grid select{cursor:pointer}.market-redesign .member-only-badge{min-height:20px;color:var(--m-teal);background:#2f8c8214;border:1px solid #2f8c823d;border-radius:999px;align-items:center;margin-left:6px;padding:0 8px;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.market-redesign .field-group[data-member-only=date-range]:not(.member-locked) .member-only-badge{display:none}.time-range-separator{color:var(--color-text-muted);padding:0 .25rem;font-weight:500}.quick-select-section{background:var(--color-bg-surface);padding:1rem var(--section-px);border-radius:var(--radius-lg);margin-bottom:1rem}.quick-select-section h2{color:var(--color-text);margin-bottom:.75rem;font-size:1.2rem}.quick-select-group{margin-bottom:.5rem}.quick-select-label{color:var(--color-text-secondary);margin-bottom:.4rem;font-size:.85rem;font-weight:600}.quick-cards-row{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.quick-card{border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);color:var(--color-text);background:#fff;align-items:center;gap:.4rem;min-height:44px;padding:.6rem 1rem;font-size:.95rem;font-weight:500;display:flex}@media (hover:hover){.quick-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);background-color:#12766e14}}.quick-card:active{background-color:#12766e26}.quick-card i{color:var(--color-primary);font-size:.9rem}#market-tab>.filter-actions{justify-content:center;gap:.75rem;margin-bottom:1.5rem;display:flex}@media (width<=768px){.time-range-section,.quick-select-section{padding-top:.5rem;padding-bottom:.5rem}.time-range-section h2,.quick-select-section h2{font-size:1rem}.time-range-grid select{padding:.5rem .6rem;font-size:.9rem}.quick-card{padding:.5rem .8rem;font-size:.9rem}}body.market-tab .container{max-width:1440px;padding-left:16px;padding-right:16px}@media (width<=760px){body.market-tab .container{padding-left:10px;padding-right:10px}}body.market-tab #main-content{box-shadow:none;background:0 0;border-radius:0;margin:0;padding:0}#market-tab .market-redesign .workspace{margin-top:0}.market-redesign{--m-ink:#22313f;--m-muted:#64727f;--m-line:#dce4ea;--m-soft:#eef4f2;--m-paper:#fff;--m-brand:#12766e;--m-brand-dark:#245f8d;--m-teal:#2f8c82;--m-teal-soft:#dff0ed;--m-amber:#0891b2;--m-amber-soft:#e0f2fe;--m-red:#bf4f4b;--m-shadow:0 14px 42px #1f2d371a;--m-radius:8px}.market-redesign .control-panel{border-radius:var(--m-radius);box-shadow:var(--m-shadow);background:#ffffffeb;border:1px solid #dce4eaf2;gap:0;display:grid}.market-redesign .hero-strip{color:#fff;border-radius:var(--m-radius) var(--m-radius) 0 0;background:linear-gradient(110deg,#22313ff0,#22313f8a),linear-gradient(135deg,#2f8c82 0%,#1f594f 100%);min-height:168px;padding:18px 20px}.market-redesign .hero-strip .eyebrow{color:#ffffffeb;background:#ffffff24;border:1px solid #ffffff47;border-radius:6px;align-items:center;padding:4px 9px;font-size:.78rem;font-weight:700;display:inline-flex}.market-redesign .hero-strip h1{color:#fff;margin:14px 0 8px;font-size:clamp(1.45rem,2.6vw,1.95rem);font-weight:800;line-height:1.2}.market-redesign .hero-strip p{color:#ffffffd6;margin:0;font-size:.9rem;line-height:1.6}.market-redesign .search-stack{gap:16px;padding:16px;display:grid}.market-redesign .field-group{display:block}.market-redesign .field-label{color:var(--m-muted);margin-bottom:8px;font-size:.84rem;font-weight:700;display:block}.market-redesign .field-label i{margin-right:4px}.market-redesign .search-stack .time-range-grid{grid-template-columns:1fr 1fr 14px 1fr 1fr;gap:6px;display:grid}.market-redesign .search-stack .time-range-grid select{border:1px solid var(--m-line);background:#fff;border-radius:6px;min-height:36px;padding:0 8px;font-size:.86rem}.market-redesign .search-stack .time-range-separator{color:var(--m-muted);text-align:center;padding:0;line-height:36px}.market-redesign .quick-group .quick-head{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.market-redesign .quick-group .quick-head strong{color:var(--m-ink);font-size:.92rem}.market-redesign .quick-group .quick-head span{color:var(--m-muted);font-size:.76rem;font-weight:600}.market-redesign .quick-group .quick-cards-row{flex-wrap:wrap;gap:6px;margin:0;display:flex}.market-redesign .quick-card{border:1px solid var(--m-line);min-height:30px;color:var(--m-ink);box-shadow:none;background:#fff;border-radius:6px;padding:4px 10px;font-size:.82rem;font-weight:600}.market-redesign .quick-card.active,.market-redesign .quick-card[aria-pressed=true]{border-color:var(--m-teal);background:var(--m-teal-soft);color:var(--m-ink);font-weight:750}.market-redesign .quick-card i{color:var(--m-muted)}.market-redesign .quick-card[aria-pressed=true] i{color:var(--m-teal)}@media (hover:hover){.market-redesign .quick-card:hover:not(.active):not([aria-pressed=true]){border-color:var(--m-muted);box-shadow:none;background:#fff}.market-redesign .quick-card.active:hover,.market-redesign .quick-card[aria-pressed=true]:hover{border-color:var(--m-teal);background:var(--m-teal-soft);box-shadow:none}}.market-redesign .zone-drawer-trigger{border:1px dashed var(--m-line);width:100%;min-height:36px;color:var(--m-teal);cursor:pointer;background:#fff;border-radius:6px;margin-top:10px;padding:0 12px;font-size:.86rem;font-weight:700;transition:background .18s}.market-redesign .zone-drawer-trigger:hover{background:#fff;border-color:#2f8c826b}.market-redesign .quick-card.district-more-btn{border-color:var(--m-line);color:var(--m-teal);background:#fff;border-style:dashed;align-items:center;gap:4px;display:inline-flex}.market-redesign .quick-card.district-more-btn[aria-pressed=true]{background:var(--m-teal-soft);border-style:solid;border-color:var(--m-teal);color:var(--m-ink)}.market-redesign .quick-card.district-more-btn i{color:inherit;font-size:.7rem}.market-redesign .quick-group[data-quick-group=district]{position:relative}.market-redesign .district-popover{z-index:80;border:1px solid var(--m-line);border-radius:var(--m-radius);background:#fff;padding:12px;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 18px 48px #1f2d3724}.market-redesign .district-popover[hidden]{display:none}.market-redesign .district-popover-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.market-redesign .district-popover-btn{border:1px solid var(--m-line);min-height:30px;color:var(--m-ink);cursor:pointer;background:#fff;border-radius:6px;padding:4px 6px;font-size:.82rem;font-weight:600;transition:border-color .15s,background .15s}@media (hover:hover){.market-redesign .district-popover-btn:hover{border-color:var(--m-muted)}}.market-redesign .district-popover-btn[aria-pressed=true],.market-redesign .district-popover-btn.active{border-color:var(--m-teal);background:var(--m-teal-soft);font-weight:750}.market-redesign .district-popover-all{color:var(--m-teal);border-style:dashed}@media (width<=760px){.market-redesign .district-popover{z-index:1000;max-height:70vh;position:fixed;top:50%;left:16px;right:16px;overflow-y:auto;transform:translateY(-50%)}.market-redesign .district-popover-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.market-redesign .filter-actions{gap:8px;margin:0;display:flex}.market-redesign .filter-actions button{cursor:pointer;border:1px solid #0000;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:0 12px;font-weight:700;line-height:1;display:inline-flex}.market-redesign .filter-actions button i{text-align:center;width:1em}.market-redesign .filter-actions .btn-primary{background:var(--m-teal);color:#fff;border-color:var(--m-teal)}.market-redesign .filter-actions .btn-primary:hover{background:#237971}.market-redesign .filter-actions .btn-secondary{color:var(--m-ink);border-color:var(--m-line);background:#fff}.market-redesign .content{gap:18px;min-width:0;padding:0;display:grid}.market-redesign .content>.ad-slot{justify-self:center;width:min(100%,970px);margin-left:0;margin-right:0}.market-redesign .panel{border-radius:var(--m-radius);box-shadow:var(--m-shadow);background:#ffffffeb;border:1px solid #dce4eaf2;position:relative;overflow:hidden}.market-redesign .price-range-comparison,.market-redesign .presale-statistics{margin-bottom:0}.market-redesign .panel .chart-container{box-shadow:none;background:0 0;border-radius:0;margin:0;padding:16px 18px 18px}.market-redesign #presale-statistics .chart-container{padding-top:14px}.market-redesign .panel>.panel-head{border-bottom:1px solid var(--m-line);justify-content:space-between;align-items:center;gap:16px;min-height:0;padding:14px 18px;display:flex}.market-redesign .panel-title{color:var(--m-ink);align-items:center;gap:8px;font-size:.95rem;font-weight:800;line-height:1.35;display:flex}.market-redesign .panel-title i{color:var(--m-teal)}.market-redesign .panel-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.market-redesign .panel>h2{color:var(--m-ink);border-bottom:1px solid var(--m-line);margin:0;padding:16px 18px 10px;font-size:.95rem}.market-redesign .panel-copy{max-width:720px;color:var(--m-muted);margin:5px 0 0;font-size:.82rem;font-weight:500;line-height:1.55}.market-redesign .market-signal-strip{border-bottom:1px solid var(--m-line);background:#ffffffd1;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.market-redesign .market-signal-period{color:var(--m-muted);font-variant-numeric:tabular-nums;margin-top:5px;font-size:.78rem;font-weight:650;line-height:1.45}.market-redesign .market-signal-card{border-right:1px solid var(--m-line);font-variant-numeric:tabular-nums;align-content:center;gap:5px;min-height:88px;padding:14px 18px;font-family:Noto Sans TC,Microsoft JhengHei,PingFang TC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid}.market-redesign .market-signal-card:last-child{border-right:0}.market-redesign .market-signal-card .signal-label{color:var(--m-muted);font-size:.8rem;font-weight:800;line-height:1.35}.market-redesign .market-signal-card strong{color:var(--m-ink);font-size:1.15rem;font-weight:900;line-height:1.25}.market-redesign .market-signal-card strong.signal-up{color:#b94e3d}.market-redesign .market-signal-card strong.signal-down{color:#2f6f9f}.market-redesign .market-signal-card strong.signal-flat{color:var(--m-teal)}.market-redesign .market-signal-card small{color:var(--m-muted);font-size:.8rem;font-weight:500;line-height:1.45}.market-redesign .summary-band{border-radius:var(--m-radius);box-shadow:var(--m-shadow);background:#ffffffeb;border:1px solid #dce4eaf2;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;display:grid;overflow:hidden}.market-redesign .summary-band .metric-card{min-height:86px;box-shadow:none;background:0 0;border:0;border-right:1px solid #dce4ead9;border-radius:0;grid-template-rows:18px 32px;align-content:center;gap:8px;padding:14px 16px;display:grid}.market-redesign .summary-band .metric-card:last-child{border-right:0}.market-redesign .summary-band .metric-top{color:var(--m-muted);letter-spacing:.02em;justify-content:space-between;align-items:center;min-width:0;font-size:.78rem;font-weight:700;line-height:1.2;display:flex}.market-redesign .summary-band .metric-top span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.market-redesign .summary-band .metric-top i{width:auto;height:auto;color:var(--m-muted);opacity:.55;background:0 0;font-size:.86rem}.market-redesign .summary-band .metric-value{color:var(--m-ink);align-items:baseline;gap:6px;min-height:32px;margin:0;font-size:clamp(1.45rem,2.4vw,1.75rem);font-weight:850;line-height:32px;display:flex}.market-redesign .summary-band .metric-value small{color:var(--m-muted);font-size:.7rem;font-weight:600;line-height:1}.market-redesign .market-map-panel .seg{border:1px solid var(--m-line);background:#fff;border-radius:6px;display:inline-flex;overflow:hidden}.market-redesign .market-map-panel .seg-btn{border:0;border-right:1px solid var(--m-line);min-height:30px;color:var(--m-muted);cursor:pointer;background:0 0;padding:0 10px;font-size:.82rem;font-weight:700;transition:background .18s,color .18s}.market-redesign .market-map-panel .seg-btn:last-child{border-right:0}.market-redesign .market-map-panel .seg-btn.active{background:var(--m-teal);color:#fff}.market-redesign .market-map-panel .seg-btn:disabled{cursor:wait;opacity:.62}.market-redesign .market-map-panel .map-board{grid-template-columns:minmax(0,1fr) 240px;gap:0;display:grid}@media (width<=1180px){.market-redesign .market-map-panel .map-board{grid-template-columns:1fr}}.market-redesign .market-map-panel .map-stage{background:#eef4f1;position:relative}.market-redesign .market-map-panel .map-reset-btn{z-index:450;color:#4d5c68;cursor:pointer;background:#fffffff2;border:1px solid #22313f24;border-radius:6px;place-items:center;width:36px;height:36px;transition:border-color .18s,color .18s,background .18s;display:inline-grid;position:absolute;top:12px;right:12px;box-shadow:0 8px 20px #1f2d3724}.market-redesign .market-map-panel .map-reset-btn:hover{color:var(--m-teal);background:#fff;border-color:#2f8c826b}.market-redesign .market-map-panel .map-skeleton{color:var(--m-muted);z-index:1200;background:#fffffff5;padding:14px 18px;font-size:.86rem;display:block;position:absolute;inset:0}.market-redesign .market-map-panel .map-skeleton-layout{grid-template-rows:22px minmax(240px,1fr) 12px 12px;grid-template-columns:minmax(0,1fr) 220px;gap:12px 18px;height:100%;min-height:430px;display:grid}.market-redesign .market-map-panel .map-skeleton-layout span{background:linear-gradient(90deg,#dce4eac7,#f4f7f6f5,#dce4eac7) 0 0/220% 100%;border-radius:8px;animation:1.15s ease-in-out infinite skeleton-shimmer;display:block}.market-redesign .market-map-panel .map-skeleton-title{grid-column:1;width:180px}.market-redesign .market-map-panel .map-skeleton-pill{grid-column:2;width:100%}.market-redesign .market-map-panel .map-skeleton-canvas{grid-area:2/1/span 3;min-height:360px}.market-redesign .market-map-panel .map-skeleton-row{grid-column:2;width:100%}.market-redesign .market-map-panel .map-skeleton-row.short{width:72%}.market-redesign .market-map-panel .map-skeleton-status{pointer-events:none;align-content:center;place-items:center;gap:10px;display:grid;position:absolute;inset:0}.market-redesign .market-map-panel .map-skeleton-spinner{border:3px solid #2f8c8238;border-top-color:var(--m-teal);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite m-spin}@keyframes m-spin{to{transform:rotate(360deg)}}.market-redesign .market-map-panel.is-ready .map-skeleton{display:none}@media (width<=1180px){.market-redesign .market-map-panel .map-skeleton-layout{grid-template-rows:22px minmax(260px,1fr) 12px 12px;grid-template-columns:1fr;min-height:520px}.market-redesign .market-map-panel .map-skeleton-pill,.market-redesign .market-map-panel .map-skeleton-row,.market-redesign .market-map-panel .map-skeleton-row.short{grid-column:1}.market-redesign .market-map-panel .map-skeleton-canvas{grid-area:2/1}}.market-redesign .market-map-panel .map-aside{border-left:1px solid var(--m-line);background:#ffffffc7;flex-direction:column;gap:8px;padding:14px;display:flex}@media (width<=1180px){.market-redesign .market-map-panel .map-aside{border-left:0;border-top:1px solid var(--m-line)}}.market-redesign .map-aside-head{color:var(--m-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.8rem;font-weight:800}.market-redesign .map-aside-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.market-redesign .map-aside-row{grid-template:"rank name value""rank bar bar"/22px minmax(0,1fr) minmax(74px,max-content);align-items:center;gap:4px 8px;padding:4px 0;font-size:.8rem;display:grid}.market-redesign .map-aside-rank{width:20px;height:20px;color:var(--m-teal);background:#2f8c821f;border-radius:4px;grid-area:rank;place-items:center;font-size:.74rem;font-weight:800;display:grid}.market-redesign .map-aside-name{text-overflow:ellipsis;white-space:nowrap;color:var(--m-ink);grid-area:name;font-weight:700;overflow:hidden}.market-redesign .map-aside-bar{background:#2f8c821a;border-radius:3px;grid-area:bar;height:6px;display:block;overflow:hidden}.market-redesign .map-aside-fill{border-radius:inherit;background:linear-gradient(90deg,#56b8aa,#2f8c82);height:100%;display:block}.market-redesign .map-aside-value{text-align:right;white-space:nowrap;min-width:74px;color:var(--m-ink);grid-area:value;justify-content:flex-end;align-items:baseline;font-size:.84rem;font-weight:800;display:inline-flex}.market-redesign .map-aside-value small{color:var(--m-muted);flex:none;margin-left:2px;font-size:.66rem;font-weight:600}.market-redesign .map-aside-empty{color:var(--m-muted);padding:8px 0;font-size:.84rem;font-style:italic}.market-redesign .map-aside-loading{gap:8px;padding:4px 0;display:grid}.market-redesign .map-aside-loading span{background:linear-gradient(90deg,#dce4eacc,#f4f7f6f2,#dce4eacc) 0 0/220% 100%;border-radius:999px;height:10px;animation:1.15s ease-in-out infinite skeleton-shimmer;display:block}.market-redesign .map-aside-loading span:first-child{width:90%}.market-redesign .map-aside-loading span:nth-child(2){width:74%}.market-redesign .map-aside-loading span:nth-child(3){width:82%}.market-redesign .map-aside-loading span:nth-child(4){width:66%}.market-redesign .map-legend-loading{background:linear-gradient(90deg,#dce4eacc,#f4f7f6f2,#dce4eacc) 0 0/220% 100%;border-radius:999px;min-width:180px;height:9px;animation:1.15s ease-in-out infinite skeleton-shimmer}.market-redesign .market-map-panel .map-error-overlay{color:var(--m-ink);z-index:5;background:#fffffff0;align-content:center;place-items:center;gap:12px;padding:24px;display:grid;position:absolute;inset:0}.market-redesign .market-map-panel .map-error-overlay i{color:var(--m-red);font-size:1.8rem}.market-redesign .market-map-panel .map-error-overlay p{text-align:center;color:var(--m-muted);margin:0;font-size:.92rem}.market-redesign .market-map-panel .map-error-overlay .map-error-retry{border:1px solid var(--m-line);cursor:pointer;color:var(--m-ink);background:#fff;border-radius:6px;padding:8px 18px;font-weight:700}.market-redesign .market-map-panel .map-error-overlay .map-error-retry:hover{border-color:var(--m-teal);color:var(--m-teal)}.market-redesign .visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.market-map-poly-sparse{stroke-dasharray:3 3}.market-redesign .map-legend-bar{border-top:1px solid var(--m-line);color:var(--m-muted);background:#ffffffc7;flex-wrap:wrap;align-items:center;gap:12px;min-height:38px;padding:10px 18px;font-size:.78rem;display:flex}.market-redesign .map-legend-gradient{background:linear-gradient(90deg,#eef2f6,#8fb7d6,#f2c66d,#d0644d);border-radius:4px;width:120px;height:8px;display:inline-block}.market-redesign .map-legend-range{margin-left:auto}.market-redesign .map-legend-swatch{vertical-align:middle;border-radius:3px;width:12px;height:12px;margin-right:4px;display:inline-block}.market-map-poly{transition:fill-opacity .18s,stroke-width .18s}.market-map-poly-tooltip{white-space:nowrap;border-radius:6px;padding:6px 10px;font-size:.82rem;line-height:1.5;color:#fff!important;outline-offset:0!important;background:#22313f!important;border:0!important;outline:0!important;box-shadow:0 4px 12px #0000002e!important}.leaflet-tooltip-top.market-map-poly-tooltip:before{border-top-color:#22313f!important}.leaflet-tooltip-bottom.market-map-poly-tooltip:before{border-bottom-color:#22313f!important}.leaflet-tooltip-left.market-map-poly-tooltip:before{border-left-color:#22313f!important}.leaflet-tooltip-right.market-map-poly-tooltip:before{border-right-color:#22313f!important}.market-map-permanent-label{box-sizing:border-box;width:max-content;min-width:0;max-width:160px;color:var(--m-ink);white-space:normal;text-align:center;pointer-events:none;background:#fffffff5;border:1px solid #2f8c828c;border-radius:6px;padding:5px 8px;font-size:.78rem;font-weight:800;line-height:1.35;display:inline-block;box-shadow:0 4px 14px #1f2d3738}.market-map-permanent-label .label-name{overflow-wrap:anywhere;word-break:keep-all;max-width:100%;display:block}.market-map-permanent-label .label-value{color:var(--m-teal);white-space:nowrap;margin-top:1px;font-weight:850;display:block}.market-map-permanent-label .label-subvalue{color:#64727f;white-space:nowrap;margin-top:1px;font-size:.68rem;font-weight:750;display:block}.market-map-permanent-label-icon{background:0 0!important;border:0!important}.market-map-label-leader{stroke:var(--m-teal);stroke-width:1.5px;stroke-dasharray:3 3;opacity:.75;pointer-events:none}.market-project-marker{background:#0891b2;border:2px solid #fff;border-radius:50%;width:14px;height:14px;box-shadow:0 2px 6px #00000040}.market-project-marker.presale{background:#0891b2}.market-project-marker.completed{background:#2f8c82}.market-redesign .ranking-tabs{border:1px solid var(--m-line);background:#fff;border-radius:6px;display:inline-flex;overflow:hidden}.market-redesign .ranking-tab{border:0;border-right:1px solid var(--m-line);min-height:32px;color:var(--m-muted);cursor:pointer;background:0 0;padding:0 14px;font-family:inherit;font-size:.86rem;font-weight:700;transition:background .18s}.market-redesign .ranking-tab:last-child{border-right:0}.market-redesign .ranking-tab.active{background:var(--m-teal);color:#fff}.market-redesign .ranking-table-wrap{-webkit-overflow-scrolling:touch;padding:14px 18px 18px;overflow-x:auto}.market-redesign .ranking-table{border-collapse:collapse;font-variant-numeric:tabular-nums;table-layout:fixed;width:max(100%,860px);font-family:Microsoft JhengHei,PingFang TC,-apple-system,BlinkMacSystemFont,Segoe UI,Heiti TC,Noto Sans TC,Noto Sans,Roboto,sans-serif;font-size:.86rem}.market-redesign .ranking-table th:first-child,.market-redesign .ranking-table td:first-child{width:54px}.market-redesign .ranking-table th:nth-child(2),.market-redesign .ranking-table td:nth-child(2){width:190px}.market-redesign .ranking-table th:nth-child(3),.market-redesign .ranking-table td:nth-child(3){width:92px}.market-redesign .ranking-table th:nth-child(4),.market-redesign .ranking-table td:nth-child(4){width:128px}.market-redesign .ranking-table th:nth-child(5),.market-redesign .ranking-table td:nth-child(5){width:150px}.market-redesign .ranking-table th:nth-child(6),.market-redesign .ranking-table td:nth-child(6),.market-redesign .ranking-table th:nth-child(7),.market-redesign .ranking-table td:nth-child(7){width:104px}.market-redesign .ranking-table th:nth-child(8),.market-redesign .ranking-table td:nth-child(8){width:88px}.market-redesign .ranking-table thead th{text-align:left;border-bottom:1px solid var(--m-line);color:var(--m-muted);white-space:nowrap;padding:8px 10px;font-size:.78rem;font-weight:700}.market-redesign .ranking-table tbody td{color:var(--m-ink);white-space:nowrap;border-bottom:1px solid #dce4ea99;padding:8px 10px;font-weight:500}.market-redesign .ranking-table tbody td.rank-project{white-space:normal;word-break:keep-all;overflow-wrap:normal}.market-redesign .ranking-table tbody td.rank-project a{color:var(--m-ink);font-family:inherit;font-weight:650;text-decoration:none}.market-redesign .ranking-table tbody td.rank-project a:hover{color:var(--m-teal)}.market-redesign .ranking-table tbody tr:hover{background:#2f8c820a}.market-redesign .ranking-table .rank-num{width:22px;height:22px;color:var(--m-teal);background:#2f8c821a;border-radius:5px;place-items:center;font-size:.74rem;font-weight:850;display:inline-grid}.market-redesign .ranking-table tbody tr.ranking-empty td{text-align:center;color:var(--m-muted);padding:24px;font-style:italic}.market-redesign .ranking-expand-btn{border:1px solid var(--m-line);width:calc(100% - 24px);min-height:38px;color:var(--m-ink);background:#fff;border-radius:6px;margin:0 12px 12px;font-family:inherit;font-weight:750;display:none}.market-redesign .ranking-expand-btn[hidden]{display:none}.zone-drawer{background:#fff;border:0;border-radius:12px;width:min(560px,92vw);max-height:80vh;padding:0;overflow:hidden;box-shadow:0 24px 80px #0000004d}.zone-drawer::backdrop{background:#0006}.zone-drawer-head{color:#22313f;border-bottom:1px solid #dce4ea;justify-content:space-between;align-items:center;padding:14px 18px;font-weight:800;display:flex}.zone-drawer-close{color:#64727f;cursor:pointer;background:0 0;border:0;border-radius:6px;width:32px;height:32px;font-size:1rem}.zone-drawer-close:hover{background:#eef4f2}.zone-drawer-search{border-bottom:1px solid #dce4ea;padding:10px 18px;position:relative}.zone-drawer-search i{color:#64727f;pointer-events:none;font-size:.8rem;position:absolute;top:50%;left:30px;transform:translateY(-50%)}.zone-drawer-search input{border:1px solid #dce4ea;border-radius:6px;width:100%;min-height:36px;padding:0 12px 0 32px;font-size:.92rem}.zone-drawer-body{max-height:calc(80vh - 200px);padding:8px 18px;overflow-y:auto}.zone-drawer-district-group{margin-bottom:4px}.zone-drawer-district-group summary{cursor:pointer;color:#22313f;justify-content:space-between;align-items:center;padding:8px 0;font-size:.92rem;font-weight:700;list-style:none;display:flex}.zone-drawer-district-group summary::-webkit-details-marker{display:none}.zone-drawer-district-group summary:after{content:"";color:#64727f;font-family:"Font Awesome 6 Free";font-size:.74rem;font-weight:900;transition:transform .18s}.zone-drawer-district-group[open] summary:after{transform:rotate(180deg)}.zone-drawer-district-group .zone-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:4px 0 8px;display:grid}.zone-drawer-district-group .zone-list label{color:#22313f;cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:6px 8px;font-size:.84rem;display:flex}.zone-drawer-district-group .zone-list label:hover{background:#eef4f2}.zone-drawer-district-group .zone-list input[type=radio]{cursor:pointer;width:14px;height:14px}.zone-drawer-foot{background:#f4f7f6;border-top:1px solid #dce4ea;align-items:center;gap:8px;padding:12px 18px;display:flex}.zone-drawer-count{color:#64727f;flex:1;font-size:.84rem}.zone-drawer-foot button{cursor:pointer;border:1px solid #0000;border-radius:6px;min-height:36px;padding:0 16px;font-weight:700}.zone-drawer-foot .btn-primary{color:#fff;background:#2f8c82;border-color:#2f8c82}.zone-drawer-foot .btn-secondary{color:#22313f;background:#fff;border-color:#dce4ea}.market-redesign .time-range-section,.market-redesign .quick-select-section{display:none}.market-redesign .control-panel #filter-info{color:var(--m-ink);opacity:1;background:0 0;border:0;max-height:none;margin-top:8px;padding:0;font-size:.78rem;line-height:1.55;overflow:visible}.market-redesign .control-panel #filter-info[hidden]{display:none}.market-redesign+.market-intro,body.market-tab .market-intro{border:1px solid var(--m-line);border-radius:var(--m-radius);max-width:1440px;box-shadow:var(--m-shadow);color:var(--m-ink);background:#ffffffeb;margin:24px auto 0;padding:22px 24px;font-size:.92rem;line-height:1.75}body.market-tab .market-intro .market-intro-title{color:var(--m-ink);letter-spacing:.01em;margin:0 0 10px;font-size:1.05rem;font-weight:800}body.market-tab .market-intro p{color:var(--m-muted);margin:0 0 14px}body.market-tab .market-intro p strong a,body.market-tab .market-intro p a{color:var(--m-teal);font-weight:700;text-decoration:none}body.market-tab .market-intro p a:hover{text-decoration:underline}body.market-tab .market-intro .raw-data-glossary{border:1px solid var(--m-line);background:0 0;border-radius:6px;overflow:hidden}body.market-tab .market-intro .raw-data-glossary summary{background:var(--m-soft);color:var(--m-ink);padding:8px 12px;font-size:.85rem;font-weight:600}body.market-tab .market-intro .raw-data-glossary[open] summary{border-bottom:1px solid var(--m-line)}body.market-tab .market-intro .raw-data-glossary ol{background:#fff;padding:12px 16px 12px 36px;font-size:.85rem;line-height:1.65}body.market-tab .market-intro .raw-data-glossary li{color:var(--m-muted)}body.market-tab .market-intro .raw-data-glossary li a{color:var(--m-ink);font-weight:600;text-decoration:none}body.market-tab .market-intro .raw-data-glossary li a:hover{color:var(--m-teal)}.market-redesign #filter-info .finfo-chips{flex-wrap:wrap;gap:6px;display:flex}.market-redesign #filter-info .finfo-chip{border:1px solid var(--m-line);color:var(--m-ink);background:#fff;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.76rem;font-weight:600;line-height:1.4;display:inline-flex}.market-redesign #filter-info .finfo-chip i{color:var(--m-muted);font-size:.7rem}.market-redesign #filter-info .finfo-chip-muted{color:var(--m-muted);background:0 0;font-weight:500}.market-redesign #filter-info .finfo-details{color:#536371;margin-top:8px;font-family:Noto Sans TC,Microsoft JhengHei,PingFang TC,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.76rem;line-height:1.65}.market-redesign #filter-info .finfo-details summary{cursor:pointer;color:var(--m-ink);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:.78rem;font-weight:800;display:inline-flex}.market-redesign #filter-info .finfo-details[open] summary{margin-bottom:6px}.market-redesign #filter-info .finfo-details>div{padding-left:12px;line-height:1.65}.market-redesign #filter-info .finfo-details>div+div{margin-top:2px}@media (width<=1180px){#market-tab .market-redesign .workspace{grid-template-columns:minmax(0,1fr)}#market-tab .market-redesign .control-panel,#market-tab .market-redesign .content{min-width:0}#market-tab .market-redesign .control-panel>*,#market-tab .market-redesign .content>*{min-width:0;max-width:100%}body.market-tab #main-content,#market-tab,#market-tab .market-redesign{overflow-x:hidden}.market-redesign .summary-band{grid-template-columns:repeat(2,minmax(0,1fr))}.market-redesign .market-signal-strip{grid-template-columns:1fr}.market-redesign .market-signal-card{border-right:0;border-bottom:1px solid var(--m-line)}.market-redesign .market-signal-card:last-child{border-bottom:0}.market-redesign .summary-band .metric-card{border-bottom:1px solid #dce4ead9;border-right:1px solid #dce4ead9}.market-redesign .summary-band .metric-card:nth-child(2n){border-right:0}.market-redesign .summary-band .metric-card:nth-last-child(-n+2){border-bottom:0}.market-redesign .panel-tools .seg-btn{padding:0 8px;font-size:.78rem}}@media (width<=768px){.market-redesign .summary-band{gap:0}.market-redesign .summary-band .metric-card{grid-template-rows:17px 30px;gap:6px;min-height:78px;padding:11px 12px}.market-redesign .summary-band .metric-value{min-height:30px;font-size:1.45rem;line-height:30px}.market-redesign .panel-head{flex-wrap:wrap;min-height:0;padding:12px}.market-redesign .panel-tools{flex-wrap:wrap;gap:6px}.market-redesign .ranking-table-wrap{margin:0 -1px;padding:10px 10px 12px}.market-redesign .ranking-table{width:860px}.market-redesign .ranking-tables-panel:not(.show-all) .ranking-table tbody tr.ranking-extra{display:none}.market-redesign .ranking-expand-btn{display:block}}body.sales-ranking-tab{background-color:#f4f7f6}body.sales-ranking-tab .container{max-width:1440px;padding-left:16px;padding-right:16px}body.sales-ranking-tab #main-content{box-shadow:none;background:0 0;border-radius:0;margin:0;padding:0}#sales-ranking-tab{--sales-ink:#22313f;--sales-muted:#5f6f7d;--sales-line:#dce4ea;--sales-paper:#fff;--sales-soft:#f4f7f6;--sales-teal:#2f8c82;--sales-teal-dark:#22756d;--sales-blue:#386f8f;--sales-blue-soft:#e8f1f5;--sales-brand:#2f8c82;--sales-red:#bf4f4b;--sales-shadow:0 12px 28px #22313f12}#sales-ranking-tab .sales-redesign{color:var(--sales-ink);letter-spacing:0;grid-template-columns:minmax(360px,420px) minmax(0,1fr);align-items:start;gap:1rem;margin:0 auto 1.5rem;font-family:Noto Sans TC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid}#sales-ranking-tab .sales-control-panel,#sales-ranking-tab .sales-panel{box-shadow:var(--sales-shadow);background:#ffffffeb;border:1px solid #dce4eaf2;border-radius:8px}#sales-ranking-tab .sales-control-panel{align-self:start;gap:.75rem;min-width:0;max-height:calc(100vh - 110px);padding:.85rem;display:grid;position:sticky;top:92px;overflow:hidden auto}#sales-ranking-tab .sales-hero-strip{min-height:104px;color:var(--sales-ink);background:linear-gradient(135deg,#2f8c8221,#386f8f14),#f7fbfb;border:1px solid #dce4eaf2;border-radius:8px;flex-direction:column;justify-content:flex-end;padding:1rem;display:flex}#sales-ranking-tab .eyebrow,#sales-ranking-tab .panel-kicker{color:#2f8c82f2;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}#sales-ranking-tab .eyebrow i,#sales-ranking-tab .panel-kicker i{margin-right:.35rem}#sales-ranking-tab .sales-hero-strip h2{color:var(--sales-ink);letter-spacing:0;margin:.24rem 0 .32rem;font-size:1.48rem;font-weight:800;line-height:1.25}#sales-ranking-tab .sales-hero-strip p,#sales-ranking-tab .sales-intro p{color:var(--sales-muted);margin:0;font-size:.9rem;font-weight:400;line-height:1.58}#sales-ranking-tab .sales-intro{border:1px solid var(--sales-line);background:#ffffffeb;border-radius:8px;gap:.7rem;min-width:0;padding:1rem;display:grid}#sales-ranking-tab .sales-intro-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}#sales-ranking-tab .sales-intro a{color:var(--sales-teal);font-weight:700;text-decoration:none}#sales-ranking-tab .sales-intro a:hover{text-decoration:underline}#sales-ranking-tab .raw-data-glossary{background:#fff;border:1px solid #dce4eaf2;border-radius:8px;padding:.7rem .8rem}#sales-ranking-tab .raw-data-glossary summary{cursor:pointer;color:var(--sales-muted);overflow-wrap:anywhere;font-size:.84rem;font-weight:800}#sales-ranking-tab .raw-data-glossary ol{color:var(--sales-muted);margin:.55rem 0 0;padding-left:1.25rem;font-size:.84rem;line-height:1.6}#sales-ranking-tab .sales-intro-details .raw-data-glossary{min-width:0}#sales-ranking-tab .glossary-copy-btn{color:var(--sales-teal);cursor:pointer;background:0 0;border:0;margin-left:.4rem}#sales-ranking-tab .filter-panel,#sales-ranking-tab .property-type-panel{min-width:0;padding:.95rem 1rem}#sales-ranking-tab .filter-panel h3,#sales-ranking-tab .property-type-panel h3,#sales-ranking-tab .ranking-header h3{color:var(--sales-ink);letter-spacing:0;margin:0;font-size:1rem;font-weight:800;line-height:1.35;display:block}#sales-ranking-tab .filter-panel h3{margin-bottom:.85rem}#sales-ranking-tab .property-type-panel h3{margin-bottom:.7rem}#sales-ranking-tab .filter-panel h3 i,#sales-ranking-tab .property-type-panel h3 i,#sales-ranking-tab .ranking-header h3 i{color:var(--sales-teal);margin-right:.4rem}#sales-ranking-tab .filter-grid{grid-template-columns:1fr 1fr;gap:.8rem .85rem;margin-bottom:0;display:grid}#sales-ranking-tab .filter-grid .filter-group:last-child{grid-column:1/-1}#sales-ranking-tab .filter-group label{color:var(--sales-muted);margin-bottom:.42rem;font-size:.78rem;font-weight:800;line-height:1.2;display:block}#sales-ranking-tab .date-selector-group{grid-template-columns:minmax(82px,1fr) minmax(76px,.9fr);gap:.5rem;display:grid}#sales-ranking-tab .date-selector-group select{border:1px solid var(--sales-line);width:100%;min-width:0;min-height:42px;color:var(--sales-ink);background:#fff;border-radius:8px;padding:0 .55rem;font-size:.92rem;font-weight:500}#sales-ranking-tab .sales-control-panel>*{max-width:100%}#sales-ranking-tab .date-selector-group select:focus-visible{border-color:#2f8c828c;outline:3px solid #2f8c8229}#sales-ranking-tab #apply-sales-filter{background:var(--sales-teal);color:#fff;width:100%;min-height:44px;box-shadow:none;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;padding:0 1rem;font-weight:800;display:inline-flex}#sales-ranking-tab #apply-sales-filter i{color:#fff}#sales-ranking-tab .property-type-toggle{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}#sales-ranking-tab .property-type-btn{appearance:none;border:1px solid var(--sales-line);min-width:0;min-height:46px;color:var(--sales-ink);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;font-size:.88rem;font-weight:800;transition:border-color .16s,background .16s,color .16s,box-shadow .16s;display:inline-flex}#sales-ranking-tab .property-type-btn i{color:var(--sales-teal)}#sales-ranking-tab .property-type-btn.active{border-color:var(--sales-teal-dark);background:var(--sales-teal);color:#fff;box-shadow:0 4px 12px #2f8c822e}#sales-ranking-tab .property-type-btn.active i{color:#fff}#sales-ranking-tab .member-property-type:after{content:"VIP";color:#7c5d12;font-size:.66rem;font-weight:800}#sales-ranking-tab .property-type-btn.active.member-property-type:after{color:#ffffffdb}@media (hover:hover){#sales-ranking-tab .property-type-btn:hover:not(.active){background:#2f8c820f;border-color:#2f8c8273}}#sales-ranking-tab .sales-subnav .sub-nav-tabs{grid-template-columns:1fr;gap:.55rem;margin:0;padding:0;list-style:none;display:grid}#sales-ranking-tab .sales-subnav{margin:0}#sales-ranking-tab .completed-rules-panel{color:var(--sales-muted);box-shadow:none;background:#f7fbfb94;border:1px solid #dce4eab8;border-radius:8px;padding:.65rem .75rem}#sales-ranking-tab .completed-rules-title{color:#2f8c82e0;align-items:center;gap:.4rem;margin-bottom:.42rem;font-size:.78rem;font-weight:800;display:flex}#sales-ranking-tab .completed-rules-panel ul{margin:0;padding-left:1rem}#sales-ranking-tab .completed-rules-panel li{margin:.2rem 0;font-size:.75rem;line-height:1.55}#sales-ranking-tab .completed-rules-panel strong{color:var(--sales-ink);font-weight:800}#sales-ranking-tab .sales-subnav .sub-nav-tab{border:1px solid var(--sales-line);min-height:64px;color:var(--sales-ink);cursor:pointer;text-align:left;background:#fff;border-radius:8px;grid-template-columns:auto 1fr;align-content:center;align-items:center;gap:.15rem .65rem;padding:.72rem .8rem;transition:border-color .16s,background .16s,box-shadow .16s;display:grid}#sales-ranking-tab .sales-subnav .sub-nav-tab i{color:var(--sales-teal);grid-row:span 2;font-size:1.05rem}#sales-ranking-tab .sales-subnav .sub-nav-tab span{font-size:1rem;font-weight:800}#sales-ranking-tab .sales-subnav .sub-nav-tab small{color:var(--sales-muted);font-size:.76rem}#sales-ranking-tab .sales-subnav .sub-nav-tab.active{background:#2f8c8217;border-color:#2f8c8273;box-shadow:inset 0 0 0 1px #2f8c8229}@media (hover:hover){#sales-ranking-tab .sales-subnav .sub-nav-tab:hover,#sales-ranking-tab #apply-sales-filter:hover{border-color:#2f8c8273;box-shadow:0 12px 24px #22313f14}#sales-ranking-tab #apply-sales-filter:hover{background:var(--sales-teal-dark);color:#fff;transform:none}}#sales-ranking-tab .sales-content{align-self:start;gap:.8rem;min-width:0;display:grid}#sales-ranking-tab .sub-tab-content{background:0 0;border:0;border-radius:0;margin:0;padding:0;display:none}#sales-ranking-tab .sub-tab-content.active{align-content:start;gap:.85rem;display:grid}#sales-ranking-tab .ranking-header{justify-content:space-between;align-items:center;gap:.85rem;min-height:86px;padding:.9rem 1rem;display:flex}#sales-ranking-tab .metric-toggle{flex-wrap:wrap;align-items:center;gap:.45rem;padding:.7rem .85rem;display:flex}#sales-ranking-tab .metric-chip{appearance:none;border:1px solid var(--sales-line);color:var(--sales-ink);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;padding:.42rem .95rem;font-size:.84rem;font-weight:700;transition:border-color .16s,background .16s,color .16s,box-shadow .16s}#sales-ranking-tab .metric-chip.active{border-color:var(--sales-teal-dark);background:var(--sales-teal);color:#fff;box-shadow:0 4px 12px #2f8c822e}@media (hover:hover){#sales-ranking-tab .metric-chip:hover:not(.active){background:#2f8c820f;border-color:#2f8c8273}}#sales-ranking-tab .metric-chip:focus-visible{outline-offset:1px;outline:3px solid #2f8c822e}#sales-ranking-tab .positive-change{color:#b42318;font-weight:800}#sales-ranking-tab .negative-change{color:#16803c;font-weight:800}#sales-ranking-tab .completed-mobile-card{display:none}#sales-ranking-tab .completed-repeat-table{table-layout:fixed;min-width:1480px}#sales-ranking-tab .completed-repeat-table thead th,#sales-ranking-tab .completed-repeat-table tbody td{padding:.72rem .58rem;font-size:.82rem}#sales-ranking-tab .completed-repeat-table th[data-key=_rank],#sales-ranking-tab .completed-repeat-table td[data-key=_rank]{width:52px}#sales-ranking-tab .completed-repeat-table th[data-key=社區名稱],#sales-ranking-tab .completed-repeat-table td[data-key=社區名稱]{text-align:left;width:132px}#sales-ranking-tab .completed-repeat-table th[data-key=地址],#sales-ranking-tab .completed-repeat-table td[data-key=地址]{text-align:left;white-space:normal;width:210px;line-height:1.45}#sales-ranking-tab .completed-repeat-table th[data-key=行政區],#sales-ranking-tab .completed-repeat-table td[data-key=行政區],#sales-ranking-tab .completed-repeat-table th[data-key=交易筆數],#sales-ranking-tab .completed-repeat-table td[data-key=交易筆數]{width:72px}#sales-ranking-tab .completed-repeat-table th[data-key=買入日期],#sales-ranking-tab .completed-repeat-table td[data-key=買入日期],#sales-ranking-tab .completed-repeat-table th[data-key=賣出日期],#sales-ranking-tab .completed-repeat-table td[data-key=賣出日期]{width:96px}#sales-ranking-tab .completed-repeat-table th[data-key="漲跌金額(萬)"],#sales-ranking-tab .completed-repeat-table td[data-key="漲跌金額(萬)"],#sales-ranking-tab .completed-repeat-table th[data-key="買入總價(萬)"],#sales-ranking-tab .completed-repeat-table td[data-key="買入總價(萬)"],#sales-ranking-tab .completed-repeat-table th[data-key="賣出總價(萬)"],#sales-ranking-tab .completed-repeat-table td[data-key="賣出總價(萬)"]{width:98px}#sales-ranking-tab .completed-repeat-table th[data-key="漲跌幅(%)"],#sales-ranking-tab .completed-repeat-table td[data-key="漲跌幅(%)"],#sales-ranking-tab .completed-repeat-table th[data-key=買入坪數],#sales-ranking-tab .completed-repeat-table td[data-key=買入坪數],#sales-ranking-tab .completed-repeat-table th[data-key=賣出坪數],#sales-ranking-tab .completed-repeat-table td[data-key=賣出坪數]{width:84px}#sales-ranking-tab .completed-repeat-table th[data-key=備註],#sales-ranking-tab .completed-repeat-table td[data-key=備註]{width:110px}#sales-ranking-tab .completed-repeat-table td[data-key]:not([data-key=地址]):not([data-key=備註]){white-space:nowrap}#sales-ranking-tab .ranking-header>div:first-child{grid-template-columns:auto 1fr;align-items:center;gap:.15rem .6rem;min-width:0;display:grid}#sales-ranking-tab .ranking-header .panel-kicker{grid-column:1/-1;margin-left:1.85rem}#sales-ranking-tab .ranking-header h3 i{text-align:center;width:1.25rem;margin-right:.2rem}#sales-ranking-tab .luxury-filter-container{background:#2f8c8214;border:1px solid #2f8c8247;border-radius:999px;flex-shrink:0;align-items:center;gap:.65rem;padding:.34rem .48rem .34rem .6rem;display:inline-flex}#sales-ranking-tab .filter-label{color:var(--sales-ink);white-space:nowrap;align-items:center;gap:.35rem;font-size:.8rem;font-weight:800;display:inline-flex}#sales-ranking-tab .filter-label i{color:var(--sales-teal)}#sales-ranking-tab .ios-switch{width:42px;height:24px;display:inline-block;position:relative}#sales-ranking-tab .ios-switch input{opacity:0;width:0;height:0}#sales-ranking-tab .ios-slider{cursor:pointer;background-color:#d2dbe0;border-radius:999px;transition:background-color .16s;position:absolute;inset:0}#sales-ranking-tab .ios-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:transform .16s;position:absolute;bottom:3px;left:3px;box-shadow:0 2px 5px #22313f38}#sales-ranking-tab .ios-switch input:checked+.ios-slider{background:var(--sales-teal-dark)}#sales-ranking-tab .ios-switch input:checked+.ios-slider:before{transform:translate(18px)}#sales-ranking-tab .ios-switch input:focus-visible+.ios-slider{outline:3px solid #2f8c822e}#sales-ranking-tab .table-container{padding:0;overflow:auto}#sales-ranking-tab .data-table{border-collapse:separate;border-spacing:0;table-layout:auto;width:100%;min-width:920px;margin:0}#sales-ranking-tab .data-table thead th{z-index:1;box-shadow:inset 0 -1px 0 var(--sales-line);color:var(--sales-muted);text-align:center;white-space:nowrap;background:#f8fbfa;padding:.78rem .72rem;font-size:.78rem;font-weight:800;position:sticky;top:0}#sales-ranking-tab .data-table tbody td{color:var(--sales-ink);text-align:center;vertical-align:middle;border-bottom:1px solid #dce4eab8;padding:.78rem .72rem;font-size:.9rem}#sales-ranking-tab .data-table tbody tr:hover{background:#2f8c820d}#sales-ranking-tab .data-table tbody tr:last-child td{border-bottom:0}#sales-ranking-tab .data-table .project-name,#sales-ranking-tab .data-table td:nth-child(2){text-align:left;font-weight:800}#sales-ranking-tab .data-table a{font-weight:800;color:var(--sales-teal)!important;text-decoration:none!important}#sales-ranking-tab .data-table a:hover{text-decoration:underline!important}#sales-ranking-tab .data-table .amount,#sales-ranking-tab .data-table .volume,#sales-ranking-tab .data-table td:nth-child(3){color:var(--sales-brand);font-weight:800}#sales-ranking-tab .loading-row,#sales-ranking-tab .error-row{height:92px;color:var(--sales-muted)!important;text-align:center!important}#sales-ranking-tab .sales-skeleton-row td{background:0 0;height:48px;padding:.78rem .72rem}#sales-ranking-tab .sales-table-skeleton-cell{border-radius:999px;max-width:100%;height:.9rem;margin:0 auto}#sales-ranking-tab .sales-skeleton-row td:nth-child(2) .sales-table-skeleton-cell,#sales-ranking-tab #top-rankings-table .sales-skeleton-row td:nth-child(2n) .sales-table-skeleton-cell{margin-left:0}#sales-ranking-tab #top-rankings{padding:0}#sales-ranking-tab #top-rankings-table{table-layout:fixed;min-width:1120px}#sales-ranking-tab #top-rankings-table th:nth-child(3),#sales-ranking-tab #top-rankings-table td:nth-child(3),#sales-ranking-tab #top-rankings-table th:nth-child(5),#sales-ranking-tab #top-rankings-table td:nth-child(5),#sales-ranking-tab #top-rankings-table th:nth-child(7),#sales-ranking-tab #top-rankings-table td:nth-child(7),#sales-ranking-tab #top-rankings-table th:nth-child(9),#sales-ranking-tab #top-rankings-table td:nth-child(9){border-right:1px solid #dce4eaeb}#sales-ranking-tab #top-rankings-table .top-rank{color:var(--sales-red)}#sales-ranking-tab #top-rankings-table tbody td:nth-child(2n){text-align:left;font-weight:800}#sales-ranking-tab #top-rankings-table tbody td:nth-child(odd):not(:first-child){color:var(--sales-brand);text-align:right;font-weight:800}#sales-ranking-tab #top-rankings-table thead th:nth-child(odd):not(:first-child){text-align:center}@media (width<=1180px){body.sales-ranking-tab,body.sales-ranking-tab .container,body.sales-ranking-tab #main-content,body.sales-ranking-tab #sales-ranking-tab{max-width:100%;overflow-x:hidden}body.sales-ranking-tab .container{padding-left:10px;padding-right:10px}#sales-ranking-tab .sales-redesign{grid-template-columns:1fr;width:100%;max-width:100%;overflow:hidden}#sales-ranking-tab .sales-content{width:100%;max-width:100%;margin-top:0;overflow:hidden}#sales-ranking-tab .sales-control-panel{box-sizing:border-box;width:100%;max-width:100%;position:static}#sales-ranking-tab .sales-subnav .sub-nav-tabs{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:.55rem;padding-bottom:.15rem;display:flex;overflow:auto hidden}#sales-ranking-tab .sales-subnav .sub-nav-tab{scroll-snap-align:start;flex:0 0 148px;min-width:148px}#sales-ranking-tab .sales-control-panel{max-height:none;overflow:visible}#sales-ranking-tab .sales-intro-details{grid-template-columns:1fr}#sales-ranking-tab .table-container{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}#sales-ranking-tab .ranking-header,#sales-ranking-tab .sales-panel,#sales-ranking-tab .sub-tab-content.active{box-sizing:border-box;max-width:100%}}@media (width<=640px){body.sales-ranking-tab .container{padding-left:8px;padding-right:8px}body.sales-ranking-tab #main-content>.tab-content.active{padding-top:10px}#sales-ranking-tab,#sales-ranking,#sales-ranking-tab .sales-redesign,#sales-ranking-tab .sales-control-panel,#sales-ranking-tab .sales-content,#sales-ranking-tab .filter-panel,#sales-ranking-tab .property-type-panel,#sales-ranking-tab .sales-hero-strip{box-sizing:border-box;width:100%;min-width:0;max-width:100%}#sales-ranking-tab .sales-redesign{gap:.65rem;margin-bottom:1rem}#sales-ranking-tab .sales-control-panel{gap:.55rem;padding:.55rem}#sales-ranking-tab .sales-hero-strip{min-height:96px;padding:.75rem}#sales-ranking-tab .sales-hero-strip h2{font-size:1.36rem}#sales-ranking-tab .sales-hero-strip p,#sales-ranking-tab .sales-intro p{font-size:.82rem}#sales-ranking-tab .filter-grid{grid-template-columns:1fr;gap:.55rem}#sales-ranking-tab .date-selector-group{grid-template-columns:minmax(0,1fr) minmax(0,.78fr);gap:.4rem}#sales-ranking-tab .date-selector-group select{min-height:38px;padding:0 .45rem;font-size:.82rem}#sales-ranking-tab #apply-sales-filter{min-height:40px;font-size:.9rem}#sales-ranking-tab .property-type-panel{padding:.75rem}#sales-ranking-tab .property-type-panel h3{margin-bottom:.55rem;font-size:.95rem}#sales-ranking-tab .property-type-toggle{gap:.45rem}#sales-ranking-tab .property-type-btn{gap:.32rem;min-height:42px;padding:0 .5rem;font-size:.82rem}#sales-ranking-tab .member-property-type:after{font-size:.6rem}#sales-ranking-tab .sales-subnav{overflow:hidden}#sales-ranking-tab .sales-subnav .sub-nav-tabs{width:100%;max-width:100%;padding-right:.25rem}#sales-ranking-tab .sales-subnav .sub-nav-tab{flex-basis:142px;min-width:142px}#sales-ranking-tab .ranking-header{flex-direction:column;align-items:flex-start;min-height:0;padding:.75rem}#sales-ranking-tab .ranking-header .panel-kicker{margin-left:0}#sales-ranking-tab .ranking-header>div:first-child{grid-template-columns:1fr}#sales-ranking-tab .luxury-filter-container{justify-content:space-between;width:100%}#sales-ranking-tab .data-table{min-width:760px}#sales-ranking-tab .data-table thead th,#sales-ranking-tab .data-table tbody td{padding:.62rem .52rem;font-size:.72rem}#sales-ranking-tab .table-container:has(.completed-repeat-table){box-shadow:none;background:0 0;border:0;overflow:visible}#sales-ranking-tab .completed-repeat-table{border-spacing:0;width:100%;min-width:0;display:block}#sales-ranking-tab .completed-repeat-table thead{display:none}#sales-ranking-tab .completed-repeat-table tbody{gap:.65rem;display:grid}#sales-ranking-tab .completed-repeat-table tbody tr{background:#fff;border:1px solid #dce4eaf0;border-radius:8px;display:block;overflow:hidden;box-shadow:0 8px 18px #22313f0f}#sales-ranking-tab .completed-repeat-table tbody tr:hover{background:#fff}#sales-ranking-tab .completed-repeat-table tbody td:not(.completed-mobile-card){display:none}#sales-ranking-tab .completed-repeat-table tbody td{text-align:left;min-width:0;color:var(--sales-ink);border-bottom:0;padding:0;font-size:.78rem;line-height:1.35}#sales-ranking-tab .completed-repeat-table tbody td.completed-mobile-card{box-sizing:border-box;width:100%;color:var(--sales-ink);padding:.9rem;display:block!important}#sales-ranking-tab .completed-mobile-card:before,#sales-ranking-tab .completed-mobile-card:after{display:none}#sales-ranking-tab .completed-card-head{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.72rem;display:grid}#sales-ranking-tab .completed-card-rank{min-width:2.35rem;min-height:2.35rem;color:var(--sales-teal-dark);white-space:nowrap;background:#2f8c8217;border-radius:8px;justify-content:center;align-items:center;padding:0 .38rem;font-size:.82rem;font-weight:900;line-height:1;display:inline-flex}#sales-ranking-tab .completed-card-summary{min-width:0}#sales-ranking-tab .completed-card-community{min-width:0;font-size:1.02rem;font-weight:900;line-height:1.25}#sales-ranking-tab .completed-card-community a{overflow-wrap:anywhere;color:var(--sales-teal)!important}#sales-ranking-tab .completed-card-address{color:var(--sales-muted);overflow-wrap:anywhere;background:#f4f7f6c7;border-radius:8px;grid-template-columns:auto minmax(0,1fr);gap:.45rem;margin-top:.72rem;padding:.52rem .6rem;font-size:.76rem;line-height:1.45;display:grid}#sales-ranking-tab .completed-card-address small{color:var(--sales-muted);font-size:.68rem;font-weight:800}#sales-ranking-tab .completed-card-change{text-align:left;flex-wrap:wrap;align-items:baseline;gap:.18rem .42rem;min-width:0;margin-top:.44rem;display:flex}#sales-ranking-tab .completed-card-change small{color:var(--sales-muted);font-size:.72rem;font-weight:800}#sales-ranking-tab .completed-card-change strong{white-space:nowrap;font-size:1.22rem;line-height:1.05}#sales-ranking-tab .completed-card-change em{margin-left:.08rem;font-size:.82rem;font-style:normal;font-weight:800}#sales-ranking-tab .completed-card-change span{font-size:.86rem;line-height:1.08}#sales-ranking-tab .completed-card-trades{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.58rem;display:grid}#sales-ranking-tab .completed-card-trade{min-width:0;color:var(--sales-ink);overflow-wrap:anywhere;background:#fff;border:1px solid #dce4eae0;border-radius:8px;flex-direction:column;gap:.12rem;padding:.48rem .54rem;font-size:.72rem;line-height:1.28;display:flex}#sales-ranking-tab .completed-card-trade--buy{background:#2f8c8209}#sales-ranking-tab .completed-card-trade--sell{background:#386f8f09}#sales-ranking-tab .completed-card-trade small,#sales-ranking-tab .completed-card-meta small{color:var(--sales-muted);font-size:.64rem;font-weight:800}#sales-ranking-tab .completed-card-trade strong{font-size:.76rem;line-height:1.16}#sales-ranking-tab .completed-card-trade span{color:var(--sales-muted);font-size:.7rem;line-height:1.2}#sales-ranking-tab .completed-card-meta{flex-wrap:wrap;gap:.45rem;margin-top:.62rem;display:flex}#sales-ranking-tab .completed-card-meta span{min-width:0;color:var(--sales-ink);background:#f4f7f6e0;border-radius:999px;align-items:center;gap:.28rem;padding:.32rem .48rem;font-size:.76rem;line-height:1.2;display:inline-flex}#sales-ranking-tab .completed-mobile-card--loading .skeleton{display:block}#sales-ranking-tab .completed-skeleton-rank{border-radius:8px;width:2.35rem;height:2.35rem}#sales-ranking-tab .completed-skeleton-title{border-radius:8px;width:62%;height:1.2rem}#sales-ranking-tab .completed-skeleton-change{border-radius:8px;width:72%;height:1.05rem;margin-top:.5rem}#sales-ranking-tab .completed-skeleton-address{border-radius:8px;width:100%;height:2.5rem;margin-top:.72rem}#sales-ranking-tab .completed-skeleton-trade{border-radius:8px;height:3.8rem}#sales-ranking-tab .completed-card-note{overflow-wrap:anywhere;border-radius:8px!important}#sales-ranking-tab .completed-repeat-table td:before{content:attr(data-label);color:var(--sales-muted);font-size:.68rem;font-weight:700;line-height:1.2}#sales-ranking-tab .completed-repeat-table .completed-mobile-card:before,#sales-ranking-tab .completed-repeat-table .completed-mobile-card:after{content:none;display:none}#sales-ranking-tab .completed-repeat-table td[data-key=_rank]{width:2.15rem;min-height:2.15rem;color:var(--sales-teal-dark);background:#2f8c8217;border-radius:8px;grid-area:1/1/span 2;justify-content:center;align-self:start;font-size:.82rem;font-weight:800}#sales-ranking-tab .completed-repeat-table td[data-key=_rank]:before,#sales-ranking-tab .completed-repeat-table td[data-key=社區名稱]:before,#sales-ranking-tab .completed-repeat-table td[data-key="漲跌金額(萬)"]:before,#sales-ranking-tab .completed-repeat-table td[data-key="漲跌幅(%)"]:before{display:none}#sales-ranking-tab .completed-repeat-table td[data-key=社區名稱]{grid-area:1/2;align-items:center;font-size:.96rem;font-weight:800}#sales-ranking-tab .completed-repeat-table td[data-key="漲跌金額(萬)"]{white-space:nowrap;grid-area:1/3;justify-content:flex-end;align-items:center;font-size:1rem;font-weight:900}#sales-ranking-tab .completed-repeat-table td[data-key="漲跌幅(%)"]{white-space:nowrap;grid-area:2/3;justify-content:flex-end;font-size:.78rem;font-weight:800}#sales-ranking-tab .completed-repeat-table td[data-key=地址]{color:var(--sales-muted);text-overflow:ellipsis;white-space:nowrap;grid-area:2/2/auto/3;font-size:.76rem;overflow:hidden}#sales-ranking-tab .completed-repeat-table tbody tr:not(:has(td[data-key=_rank])) td[data-key=行政區]{width:3rem;min-height:2.15rem;color:var(--sales-teal-dark);text-align:center;background:#2f8c8217;border-top:0;border-radius:8px;grid-area:1/1/span 2;justify-content:center;align-self:start;font-size:.76rem;font-weight:800}#sales-ranking-tab .completed-repeat-table tbody tr:not(:has(td[data-key=_rank])) td[data-key=行政區]:before{display:none}#sales-ranking-tab .completed-repeat-table td[data-key=行政區],#sales-ranking-tab .completed-repeat-table td[data-key=買入日期],#sales-ranking-tab .completed-repeat-table td[data-key=買入坪數],#sales-ranking-tab .completed-repeat-table td[data-key="買入總價(萬)"],#sales-ranking-tab .completed-repeat-table td[data-key=賣出日期],#sales-ranking-tab .completed-repeat-table td[data-key=賣出坪數],#sales-ranking-tab .completed-repeat-table td[data-key="賣出總價(萬)"],#sales-ranking-tab .completed-repeat-table td[data-key=交易筆數],#sales-ranking-tab .completed-repeat-table td[data-key=備註]{border-top:1px solid #dce4eab8;flex-direction:column;grid-column:span 1;gap:.12rem;padding-top:.42rem}#sales-ranking-tab .completed-repeat-table td[data-key=行政區]{grid-column:1/2}#sales-ranking-tab .completed-repeat-table td[data-key=買入日期],#sales-ranking-tab .completed-repeat-table td[data-key="買入總價(萬)"],#sales-ranking-tab .completed-repeat-table td[data-key=買入坪數]{background:#2f8c8209}#sales-ranking-tab .completed-repeat-table td[data-key=備註]{grid-column:1/-1}#sales-ranking-tab .completed-repeat-table td[data-key=備註]:empty{display:none}#sales-ranking-tab .sales-skeleton-row td{height:44px;padding:.62rem .52rem}#sales-ranking-tab .sales-table-skeleton-cell{height:.76rem}#sales-ranking-tab #top-rankings-table{min-width:980px}#sales-ranking-tab .metric-toggle{gap:.35rem;padding:.55rem .65rem}#sales-ranking-tab .metric-chip{padding:.36rem .75rem;font-size:.78rem}#sales-ranking-tab .sales-intro{padding:.75rem}#sales-ranking-tab .raw-data-glossary{padding:.6rem}}body.raw-data-tab{background-color:#f4f7f6}body.raw-data-tab #main-content{box-shadow:none;background:0 0;border-radius:0;margin:0;padding:0}.raw-data-section{border-radius:var(--radius-lg);padding:1.5rem var(--section-px);box-shadow:var(--shadow-lg);clear:both;background:#fff;width:100%;margin-top:0;display:block;position:relative}.raw-data-section h2{color:var(--color-text);align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.5rem;display:flex}.raw-data-section h3{color:var(--color-text);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.3rem;display:flex}.data-info{color:#7f8c8d;margin-left:.5rem;font-size:.85rem;font-weight:400}.raw-data-section .table-container{border:1px solid var(--color-border-input);border-radius:var(--radius-md);box-shadow:none;background:#fff;margin-top:1rem;margin-bottom:0;padding:0;overflow:hidden}.raw-data-section .table-header{background-color:var(--color-bg-surface);border-bottom:2px solid var(--color-border-light);z-index:10;position:relative}.raw-data-section .table-header table{border-collapse:collapse;table-layout:fixed;width:100%;margin:0}.raw-data-section .table-header th{background-color:var(--color-bg-surface);color:var(--color-text);border-right:1px solid var(--color-border-light);text-align:center;box-sizing:border-box;padding:.75rem .5rem;font-size:.9rem;font-weight:600}.raw-data-section .table-header th:last-child{border-right:none}.raw-data-section .table-body{scrollbar-width:none;-ms-overflow-style:none;max-height:700px;overflow:hidden auto}.raw-data-section .table-body::-webkit-scrollbar{background:0 0;width:0}.raw-data-section .table-body::-webkit-scrollbar-thumb{background:0 0}.raw-data-section .table-body table{border-collapse:collapse;table-layout:fixed;width:100%;margin:0}.raw-data-section .table-body td{text-align:center;border-right:1px solid var(--color-border-light);word-wrap:break-word;text-overflow:ellipsis;box-sizing:border-box;border-bottom:1px solid #f0f0f0;padding:.75rem .5rem;font-size:.9rem;overflow:hidden}.raw-data-section .table-body td:last-child{border-right:none}.raw-data-section .table-body tr:hover{background-color:var(--color-bg-surface)}.raw-data-section .table-body tr:nth-child(2n){background-color:#fafafa}.raw-data-section .table-body tr:nth-child(2n):hover{background-color:#f0f0f0}.raw-data-toggle{gap:.5rem;width:fit-content;margin-bottom:1.5rem;display:flex}.raw-data-district-section{margin-bottom:2rem}.raw-data-district-section h3{color:var(--color-text);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.1rem;display:flex}.raw-data-district-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.75rem;display:grid}.raw-data-district-card{border:1px solid var(--color-border);background:var(--color-bg-white);color:var(--color-text);cursor:pointer;border-radius:var(--radius-md);transition:border-color var(--transition-fast), background-color var(--transition-fast);text-align:center;padding:.75rem 1rem;font-size:.9rem;font-weight:500}@media (hover:hover){.raw-data-district-card:hover{border-color:var(--color-primary-light);background:var(--color-bg-surface)}}.raw-data-district-card.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.raw-data-table-section{background:var(--color-bg-white);border-radius:var(--radius-lg);padding:1.5rem var(--section-px);box-shadow:var(--shadow-md)}.raw-data-table-section h3{color:var(--color-text);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.1rem;display:flex}#raw-data-count{color:var(--color-text-muted);font-size:.9rem;font-weight:400}#raw-data-table-container{border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:600px;box-shadow:none;margin-bottom:0;padding:0;overflow-y:auto}#raw-data-table{border-collapse:separate;border-spacing:0;width:100%}#raw-data-table th{background:var(--color-bg-surface);color:var(--color-text);text-align:left;box-shadow:inset 0 -2px 0 var(--color-border-light);z-index:10;border-bottom:none;padding:.75rem;font-weight:600;position:sticky;top:0}#raw-data-table td{border-bottom:1px solid var(--color-border);padding:.75rem;font-size:.9rem}#raw-data-table td.number{text-align:right;font-family:Consolas,Monaco,monospace}#raw-data-table tbody tr:hover{background:var(--color-bg-surface)}#raw-data-table .project-link{color:var(--color-primary-dark);text-decoration:none}#raw-data-table .project-link:hover{text-decoration:underline}.loading-spinner-row td{text-align:center;padding:20px}.raw-data-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:24px;height:24px;margin:0 auto;animation:.8s linear infinite rawDataSpin}@keyframes rawDataSpin{to{transform:rotate(360deg)}}#raw-data-table tbody tr.fade-in{animation:.3s ease-in-out rawDataFadeIn}@keyframes rawDataFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.raw-data-intro,.permits-intro,.sales-intro,.market-intro,.developer-intro{margin-bottom:1.5rem;font-size:.92rem;line-height:1.7}.raw-data-intro p,.permits-intro p,.sales-intro p,.market-intro p,.developer-intro p{margin-bottom:.75rem}.raw-data-completed-note{border:1px solid var(--color-border-light);border-left:3px solid var(--color-type-completed,#7c3aed);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-muted);margin:0 0 1.5rem;padding:.75rem 1rem;font-size:.9rem;line-height:1.6}.raw-data-completed-note[hidden]{display:none}.raw-data-glossary{border:1px solid var(--color-border-light);border-radius:var(--radius-md);margin-top:.5rem;overflow:hidden}.raw-data-glossary+.raw-data-glossary{margin-top:.25rem}.raw-data-glossary summary{cursor:pointer;background:var(--color-bg-surface);align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.9rem;font-weight:500;list-style:disclosure-closed;display:flex}.raw-data-glossary[open]>summary{list-style:disclosure-open}.raw-data-glossary summary::marker{font-size:.75rem}.glossary-copy-btn{cursor:pointer;color:var(--color-text-muted,#999);border-radius:var(--radius-sm,4px);background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:.2rem .4rem;font-size:.85rem;transition:color .2s,background .2s}@media (hover:hover){.glossary-copy-btn:hover{color:var(--color-primary-dark,#245f8d);background:#0000000d}}.glossary-copy-btn.copied{color:var(--color-success,#22c55e)}.raw-data-glossary ul,.raw-data-glossary dl,.raw-data-glossary ol{margin:0;padding:.75rem 1rem;font-size:.85rem;line-height:1.6}.raw-data-glossary ol{padding-left:2rem}.raw-data-glossary ul{list-style:inside}.raw-data-glossary li+li{margin-top:.3rem}.raw-data-glossary dt{margin-top:.5rem;font-weight:600}.raw-data-glossary dt:first-child{margin-top:0}.raw-data-glossary dd{margin-bottom:.25rem;margin-left:0}.raw-data-glossary a,.raw-data-intro a,.permits-intro a,.sales-intro a,.market-intro a,.developer-intro a{color:var(--color-primary-dark);text-decoration:none}.developer-seo-drawer{border-radius:var(--radius-md);color:var(--color-text);background:#ffffffd1;border:1px solid #dce4eaf2;margin:1rem 0;padding:.85rem}.developer-seo-drawer:not([open]){background:#ffffffb8;padding:.38rem .65rem;display:block}.developer-seo-drawer>summary{min-height:32px;color:var(--color-text-muted);cursor:pointer;align-items:center;gap:.55rem;font-size:.82rem;font-weight:700;list-style:none;display:flex}.developer-seo-drawer>summary::-webkit-details-marker{display:none}.developer-seo-drawer>summary:before{content:"+";border-radius:var(--radius-sm);color:#2f8c82;background:#ffffffc2;border:1px solid #dce4eaf2;place-items:center;width:1.2rem;height:1.2rem;font-weight:800;line-height:1;display:inline-grid}.developer-seo-drawer[open]>summary{color:#22313f}.developer-seo-drawer[open]>summary:before{content:"-";color:var(--color-primary-dark)}.developer-seo-drawer .raw-data-glossary{border-radius:var(--radius-md);background:#ffffffb8;border-color:#dce4eae6;margin:.65rem 0 0}.developer-seo-drawer .raw-data-glossary summary{color:#22313f;background:#ffffffb3;min-height:42px;padding:.6rem .8rem;font-size:.86rem;font-weight:700}.developer-seo-drawer .raw-data-glossary ol{gap:.4rem;padding:.7rem .9rem .75rem 2rem;display:grid}.developer-seo-drawer .raw-data-glossary ol li{color:var(--color-text-secondary);margin:0;font-size:.82rem;line-height:1.65}.developer-seo-drawer .raw-data-glossary ol li::marker{color:#2f8c82;font-weight:800}.developer-seo-drawer .raw-data-glossary ol a{color:#22313f;font-weight:750}@media (width<=768px){.raw-data-section{padding-top:1rem;padding-bottom:1rem}.raw-data-section .table-container{font-size:.8rem}.raw-data-section .data-table th,.raw-data-section .data-table td{white-space:nowrap;text-overflow:ellipsis;max-width:120px;padding:.5rem .25rem;overflow:hidden}.raw-data-section .table-body{max-height:600px}.raw-data-toggle{width:100%}.raw-data-toggle-btn{flex:1}.raw-data-district-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:.5rem}.raw-data-district-card{padding:.5rem .75rem;font-size:.85rem}#raw-data-table-container{max-height:400px}#raw-data-table th,#raw-data-table td{padding:.5rem;font-size:.8rem}}body.raw-data-tab .raw-data-section{border-radius:var(--radius-lg);background:#ffffff7a;border:1px solid #dce4eaf0;padding:clamp(1.1rem,2vw,1.55rem);box-shadow:0 16px 42px #1f2d370f}body.raw-data-tab .raw-data-head{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}body.raw-data-tab .raw-data-title-block{gap:.42rem;min-width:0;display:grid}body.raw-data-tab .raw-data-eyebrow{color:#0d5d54;letter-spacing:0;align-items:center;gap:.45rem;font-size:.78rem;font-weight:850;display:inline-flex}body.raw-data-tab .raw-data-section h2{color:#22313f;margin:0;font-size:clamp(1.65rem,2.4vw,2.15rem);line-height:1.18}body.raw-data-tab .raw-data-title-block p{color:#64727f;max-width:42rem;margin:0;font-size:.94rem;line-height:1.6}body.raw-data-tab .raw-data-toggle{border-radius:var(--radius-md);background:#eef4f2d1;border:1px solid #dce4ea;grid-template-columns:1fr 1fr;gap:.35rem;min-width:220px;margin:0;padding:.25rem;display:grid}body.raw-data-tab .raw-data-toggle-btn{border-radius:var(--radius-sm);color:#64727f;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:.45rem;min-height:38px;font-weight:850;display:inline-flex}body.raw-data-tab .raw-data-toggle-btn.active{color:#0d5d54;background:#fff;box-shadow:0 6px 18px #1f2d3714}body.raw-data-tab .raw-data-intro{color:#64727f;margin:0 0 1rem}body.raw-data-tab .raw-data-intro .raw-data-glossary{border-radius:var(--radius-md);background:#ffffffc7;border:1px solid #dce4ea;margin-top:.75rem}body.raw-data-tab .raw-data-intro .raw-data-glossary summary{color:#22313f;letter-spacing:0;background:#eef4f2d1;align-items:center;gap:.55rem;min-height:42px;padding:.6rem .8rem;font-size:.86rem;font-weight:850;line-height:1.45;list-style:none;display:flex}body.raw-data-tab .raw-data-intro .raw-data-glossary summary::-webkit-details-marker{display:none}body.raw-data-tab .raw-data-intro .raw-data-glossary summary:before{content:"+";border-radius:var(--radius-sm);color:#2f8c82;background:#ffffffd1;border:1px solid #dce4ea;flex:none;place-items:center;width:1.2rem;height:1.2rem;font-size:.82rem;font-weight:850;line-height:1;display:inline-grid}body.raw-data-tab .raw-data-intro .raw-data-glossary[open] summary{border-bottom:1px solid #dce4ea}body.raw-data-tab .raw-data-intro .raw-data-glossary[open] summary:before{content:"-";color:#855514}body.raw-data-tab .raw-data-intro .raw-data-glossary ol{color:#64727f;background:#ffffffeb;padding:.8rem 1rem .9rem 2.2rem;font-size:.85rem;line-height:1.65}body.raw-data-tab .raw-data-intro .raw-data-glossary li a{color:#22313f;font-weight:750}body.raw-data-tab .raw-data-intro .glossary-copy-btn{border-radius:var(--radius-sm);color:#64727f;place-items:center;width:2rem;height:2rem;margin-left:auto;padding:0;display:inline-grid}@media (hover:hover){body.raw-data-tab .raw-data-intro .glossary-copy-btn:hover{color:#0d5d54;background:#2f8c821a}}body.raw-data-tab .raw-data-district-section{margin:0 0 1rem}body.raw-data-tab .raw-data-district-section h3{color:#22313f;margin-bottom:.75rem;font-size:1rem;font-weight:850}body.raw-data-tab .raw-data-district-grid{flex-wrap:wrap;gap:.5rem;display:flex}body.raw-data-tab .raw-data-district-card{border-radius:var(--radius-md);color:#22313f;cursor:pointer;background:#ffffffd1;border:1px solid #dce4ea;min-height:36px;padding:0 .75rem;font-size:.86rem;font-weight:850;transition:border-color .18s,background-color .18s,transform .18s}@media (hover:hover){body.raw-data-tab .raw-data-toggle-btn:hover,body.raw-data-tab .raw-data-district-card:hover{border-color:#2f8c8261;transform:translateY(-1px)}}body.raw-data-tab .raw-data-district-card.active{color:#0d5d54;background:#dff0ed;border-color:#2f8c8275}body.raw-data-tab .raw-data-table-section{border-radius:var(--radius-md);box-shadow:none;background:#ffffffd6;border:1px solid #dce4eaf0;margin-top:1rem;padding:0;overflow:hidden}body.raw-data-tab .raw-data-table-head{border-bottom:1px solid #dce4ea;justify-content:space-between;align-items:center;gap:.85rem;min-height:58px;padding:0 1rem;display:flex}body.raw-data-tab .raw-data-table-head h3{color:#22313f;margin:0;font-size:1rem;font-weight:850}body.raw-data-tab #raw-data-count{color:#64727f;font-size:.82rem;font-weight:750}body.raw-data-tab #raw-data-table-container{background:#eef4f29e;border:0;border-radius:0;max-height:620px;margin:0;padding:.75rem;overflow:auto}body.raw-data-tab #raw-data-table{border-collapse:separate;border-spacing:0 .5rem;min-width:920px}body.raw-data-tab #raw-data-table th{box-shadow:none;color:#64727f;white-space:nowrap;background:#eef4f2f5;border:0;padding:0 .75rem .35rem;font-size:.78rem;font-weight:850;position:sticky;top:-.75rem}body.raw-data-tab #raw-data-table td{color:#22313f;vertical-align:middle;background:#fffffff0;border-top:1px solid #dce4ea;border-bottom:1px solid #dce4ea;height:60px;padding:.65rem .75rem;font-size:.9rem}body.raw-data-tab #raw-data-table td:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md);white-space:nowrap;border-left:1px solid #dce4ea;font-weight:850}body.raw-data-tab #raw-data-table td:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0;border-right:1px solid #dce4ea}body.raw-data-tab #raw-data-table tbody tr:hover td{background:#f8fbfa}body.raw-data-tab .raw-data-name-cell{gap:.25rem;min-width:220px;display:grid}body.raw-data-tab .raw-data-name-cell strong,body.raw-data-tab #raw-data-table .project-link{color:#22313f;font-size:.94rem;font-weight:850;text-decoration:none}body.raw-data-tab .raw-data-name-cell span{color:#64727f;font-size:.78rem}body.raw-data-tab #raw-data-table td.number,body.raw-data-tab #raw-data-table th.number{text-align:right;font-variant-numeric:tabular-nums;font-weight:850}body.raw-data-tab .raw-data-type-tag{border-radius:var(--radius-md);white-space:nowrap;justify-content:center;align-items:center;min-height:26px;padding:0 .55rem;font-size:.78rem;font-weight:850;display:inline-flex}body.raw-data-tab .raw-data-type-tag.presale{color:var(--color-type-presale,#0f766e);background:var(--color-type-presale-soft,#e0f2fe)}body.raw-data-tab .raw-data-type-tag.completed{color:var(--color-type-completed,#7c3aed);background:var(--color-type-completed-soft,#ede9fe)}body.raw-data-tab .raw-data-mobile-list{display:none}body.raw-data-tab .raw-data-empty{color:#64727f;text-align:center;padding:1rem;font-weight:750}body.raw-data-tab .raw-data-skeleton-row td{background:0 0;border:0;height:60px;padding:.65rem .75rem}body.raw-data-tab .raw-data-skeleton-row .skeleton{border-radius:var(--radius-md);height:42px}body.raw-data-tab .raw-data-loadmore-skeleton{border-radius:var(--radius-md);height:32px}@media (width<=860px){body.raw-data-tab .raw-data-head{flex-direction:column;align-items:stretch}body.raw-data-tab .raw-data-toggle{min-width:0}body.raw-data-tab .raw-data-table-head{flex-direction:column;align-items:flex-start;padding:.85rem}body.raw-data-tab #raw-data-table-container{display:none}body.raw-data-tab .raw-data-mobile-list{-webkit-overflow-scrolling:touch;background:#eef4f2b8;gap:0;max-height:70vh;padding:0;display:grid;overflow-y:auto}body.raw-data-tab .raw-data-mobile-row{background:#fffffff0;border-bottom:1px solid #dce4ea;min-width:0;padding:.74rem .82rem}body.raw-data-tab .raw-data-mobile-row:last-child{border-bottom:0}body.raw-data-tab .raw-data-mobile-skeleton{gap:.46rem;min-height:86px;display:grid}body.raw-data-tab .raw-data-mobile-skeleton .skeleton{border-radius:var(--radius-sm);height:13px}body.raw-data-tab .raw-data-mobile-skeleton .skeleton:first-child{width:82%;height:17px}body.raw-data-tab .raw-data-mobile-skeleton .skeleton:nth-child(2){width:58%}body.raw-data-tab .raw-data-mobile-skeleton .skeleton:nth-child(3){width:72%}body.raw-data-tab .raw-data-mobile-main,body.raw-data-tab .raw-data-mobile-meta,body.raw-data-tab .raw-data-mobile-detail{align-items:baseline;min-width:0;display:flex}body.raw-data-tab .raw-data-mobile-main{justify-content:space-between;gap:.7rem}body.raw-data-tab .raw-data-mobile-main strong{color:#22313f;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:850;line-height:1.45;overflow:hidden}body.raw-data-tab .raw-data-mobile-main b{color:#0d5d54;white-space:nowrap;flex:none;font-size:.9rem;font-weight:850;line-height:1.45}body.raw-data-tab .raw-data-mobile-meta,body.raw-data-tab .raw-data-mobile-detail{color:#64727f;white-space:nowrap;gap:.42rem;margin-top:.24rem;font-size:.75rem;font-weight:750;line-height:1.45;overflow:hidden}body.raw-data-tab .raw-data-mobile-meta span,body.raw-data-tab .raw-data-mobile-detail span{flex:none}body.raw-data-tab .raw-data-mobile-detail span:last-child{text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}body.raw-data-tab .raw-data-mobile-main .project-link{color:inherit;text-decoration:none}}body.permits-tab{background-color:#f4f7f6}#permits-tab{--permit-ink:#22313f;--permit-muted:#64727f;--permit-line:#dce4ea;--permit-page:#f4f7f6;--permit-teal:#2f8c82;--permit-amber:#0891b2;--permit-brand:#245f8d}body.permits-tab .container{max-width:1440px;padding-left:16px;padding-right:16px}@media (width<=760px){body.permits-tab .container{padding-left:10px;padding-right:10px}}body.permits-tab #main-content{box-shadow:none;background:0 0;border-radius:0;margin:0;padding:0}#permits-tab .permits-redesign{color:var(--permit-ink);grid-template-columns:minmax(260px,300px) minmax(0,1fr);align-items:start;gap:1.25rem;margin:0 auto 2rem;display:grid}#permits-tab .permit-control-panel,#permits-tab .permit-panel,#permits-tab .permit-summary-band .metric-card{background:#ffffffeb;border:1px solid #dce4eaf2;border-radius:8px;box-shadow:0 14px 34px #22313f14}#permits-tab .permit-control-panel{gap:.85rem;padding:.85rem;display:grid;position:sticky;top:92px}#permits-tab .permit-hero-strip{min-height:156px;color:var(--permit-ink);background:linear-gradient(135deg,#2f8c821f,#0891b214),#f8fbfa;border:1px solid #dce4eaf2;border-radius:8px;flex-direction:column;justify-content:flex-end;padding:1rem;display:flex}#permits-tab .permit-hero-strip .eyebrow,#permits-tab .panel-kicker{color:#2f8c82f2;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}#permits-tab .permit-hero-strip h2{color:var(--permit-ink);letter-spacing:0;margin:.28rem 0 .38rem;font-size:1.62rem}#permits-tab .permit-hero-strip p,#permits-tab .permit-page-head p,#permits-tab .permit-side-note p{color:var(--permit-muted);margin:0;font-size:.92rem;line-height:1.65}#permits-tab .permit-subnav{grid-template-columns:1fr;gap:.55rem;display:grid}#permits-tab .permit-subnav .sub-nav-tab{border:1px solid var(--permit-line);min-height:64px;color:var(--permit-ink);cursor:pointer;text-align:left;background:#fff;border-radius:8px;grid-template-columns:auto 1fr;align-content:center;align-items:center;gap:.15rem .65rem;padding:.72rem .8rem;transition:border-color .16s,background .16s,color .16s,box-shadow .16s;display:grid}#permits-tab .permit-subnav .sub-nav-tab i{color:var(--permit-teal);grid-row:span 2;font-size:1.05rem}#permits-tab .permit-subnav .sub-nav-tab span{font-size:1rem;font-weight:800}#permits-tab .permit-subnav .sub-nav-tab small{color:var(--permit-muted);font-size:.76rem}#permits-tab .permit-subnav .sub-nav-tab.active{background:#2f8c821a;border-color:#2f8c8273;box-shadow:inset 0 0 0 1px #2f8c8229}#permits-tab .permit-subnav .sub-nav-tab.active small,#permits-tab .permit-subnav .sub-nav-tab.active i{color:var(--permit-teal)}@media (hover:hover){#permits-tab .permit-subnav .sub-nav-tab:hover{background:#2f8c8212;border-color:#2f8c8273}}#permits-tab .permit-side-note,#permits-tab .permit-seo-drawer{background:#f8fafad9;border:1px solid #dce4eaf2;border-radius:8px;padding:.78rem}#permits-tab .permit-side-note strong{color:var(--permit-ink);margin-bottom:.35rem;font-size:.88rem;display:block}#permits-tab .permit-side-note p{color:var(--permit-muted);font-size:.8rem;line-height:1.55}#permits-tab .permit-seo-drawer{padding:.5rem .7rem}#permits-tab .permit-seo-drawer>summary{cursor:pointer;color:var(--permit-muted);font-size:.82rem;font-weight:800}#permits-tab .permit-seo-drawer .permits-intro{margin:.75rem 0 0}#permits-tab .permit-content{gap:1rem;min-width:0;display:grid}#permits-tab .construction-vip-badge{color:#8a5a00;vertical-align:middle;background:#fff2c8;border-radius:999px;align-items:center;gap:.28rem;margin-left:.45rem;padding:.22rem .48rem;font-size:.68rem;font-weight:900;display:inline-flex}#permits-tab .construction-progress-vip-gate{text-align:center;background:linear-gradient(145deg,#fffdf6,#f7fbfa);justify-items:center;gap:.65rem;padding:clamp(2.5rem,8vw,5rem) 1.25rem;display:grid}#permits-tab .construction-progress-vip-gate[hidden],#permits-tab #construction-progress-vip-data[hidden]{display:none}#permits-tab .construction-progress-vip-gate h3,#permits-tab .construction-progress-vip-gate p{margin:0}#permits-tab .construction-progress-vip-gate p{max-width:520px;color:var(--permit-muted);line-height:1.7}#permits-tab .construction-progress-filters{grid-template-columns:minmax(220px,1.35fr) minmax(150px,.7fr) minmax(170px,.8fr) auto;align-items:end;gap:.85rem;padding:1rem 1.1rem;display:grid}#permits-tab .construction-progress-filters label{color:var(--permit-muted);gap:.35rem;font-size:.78rem;font-weight:800;display:grid}#permits-tab .construction-progress-filters input,#permits-tab .construction-progress-filters select{border:1px solid var(--permit-line);width:100%;min-height:42px;color:var(--permit-ink);font:inherit;background:#fff;border-radius:7px;padding:.55rem .7rem;font-size:.88rem}#permits-tab .construction-progress-filters input:focus,#permits-tab .construction-progress-filters select:focus{border-color:var(--permit-teal);outline:2px solid #2f8c8221}#permits-tab .construction-progress-meta{min-width:150px;min-height:42px;color:var(--permit-ink);flex-direction:column;justify-content:center;align-items:flex-end;gap:.15rem;font-size:.85rem;font-weight:800;display:flex}#permits-tab .construction-progress-meta small{color:var(--permit-muted);font-size:.7rem;font-weight:500}#permits-tab .construction-progress-table-wrap{max-height:680px;overflow:auto}#permits-tab #construction-progress-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%}#permits-tab #construction-progress-table th:first-child{width:10%}#permits-tab #construction-progress-table th:nth-child(2),#permits-tab #construction-progress-table th:nth-child(3),#permits-tab #construction-progress-table th:nth-child(4){width:24%}#permits-tab #construction-progress-table th:nth-child(5){width:18%}#permits-tab #construction-progress-table thead th{z-index:2;color:var(--permit-ink);box-shadow:inset 0 -1px 0 var(--permit-line);text-align:left;background:#f4f8f7;padding:.78rem .7rem;font-size:.78rem;position:sticky;top:0}#permits-tab #construction-progress-table tbody td{color:var(--permit-ink);overflow-wrap:anywhere;border-bottom:1px solid #edf1f3;padding:.72rem .7rem;font-size:.82rem;line-height:1.45}#permits-tab .construction-status{border-radius:999px;align-items:center;padding:.25rem .55rem;font-size:.76rem;font-weight:800;text-decoration:none;display:inline-flex}#permits-tab .construction-status.is-ready{color:#17665e;background:#2f8c821f}#permits-tab .construction-status.is-pending{color:#7a6224;background:#eab30824}#permits-tab .construction-project-aliases{color:var(--permit-muted);margin-top:.2rem;font-size:.7rem;font-weight:500;display:block}#permits-tab .construction-status-note{color:#8a6d1d;margin-top:.2rem;font-size:.68rem;display:block}@media (hover:hover){#permits-tab .construction-status.is-ready:hover{background:#2f8c8233}}#permits-tab .sub-tab-content{background:0 0;border:0;border-radius:0;margin:0;padding:0;display:none}#permits-tab .sub-tab-content.active{gap:1rem;display:grid}#permits-tab .permit-page-head{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}#permits-tab .permit-page-head h3{color:var(--permit-ink);letter-spacing:0;margin:.12rem 0 0;font-size:1.35rem}#permits-tab .permit-page-head p{max-width:460px;color:var(--permit-muted);font-size:.88rem}#permits-tab .permit-summary-band{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;display:grid}#permits-tab .permit-summary-band--duo{grid-template-columns:repeat(2,minmax(0,1fr));max-width:640px}#permits-tab .permit-summary-band .metric-card{align-content:space-between;gap:.5rem;min-height:126px;padding:1rem;display:grid}#permits-tab .metric-top{color:var(--permit-muted);justify-content:space-between;align-items:center;gap:.75rem;font-size:.82rem;font-weight:800;display:flex}#permits-tab .metric-top i{color:var(--permit-teal)}#permits-tab .metric-value{color:var(--permit-ink);font-family:Consolas,Monaco,monospace;font-size:2rem;font-weight:800;line-height:1}#permits-tab .metric-card small{color:var(--permit-muted);font-size:.78rem}#permits-tab .permit-charts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}#permits-tab .permit-panel{min-width:0;padding:1rem}#permits-tab .panel-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem;display:flex}#permits-tab .panel-title{color:var(--permit-ink);align-items:center;gap:.5rem;font-size:1rem;font-weight:850;display:flex}#permits-tab .panel-title i{color:var(--permit-teal)}#permits-tab .panel-tag,#permits-tab .panel-note{color:var(--permit-muted);font-size:.78rem;font-weight:700}#permits-tab .panel-tag{color:var(--permit-teal);background:#2f8c821a;border-radius:999px;padding:.25rem .5rem}#permits-tab .chart-section{margin:0}#permits-tab .chart-section h3{border:0;margin:0;padding:0}#permits-tab .chart-container{min-width:0;height:400px;padding:.35rem}#permits-tab .raw-data-section{clear:none;margin:0;box-shadow:0 14px 34px #22313f14}#permits-tab .raw-data-section .table-container{border-color:var(--permit-line);border-radius:8px;margin:0}#permits-tab .raw-data-section .table-header{border-bottom:1px solid var(--permit-line);background:#f7faf9}#permits-tab .raw-data-section .table-header th{color:var(--permit-muted);text-align:left;background:#f7faf9;border-right:0;font-size:.78rem;font-weight:850}#permits-tab .raw-data-section .table-body{scrollbar-width:thin;max-height:560px;overflow-y:auto}#permits-tab .raw-data-section .table-body td{color:var(--permit-ink);text-align:left;vertical-align:middle;border-bottom:1px solid #edf2f2;border-right:0;font-size:.84rem}#permits-tab .raw-data-section .table-body tr:nth-child(2n){background:#fbfcfc}#permits-tab .raw-data-section .table-body tr:hover{background:#2f8c820f}#permits-tab .sortable-header{-webkit-user-select:none;user-select:none}#permits-tab .sortable-header.active-sort{color:var(--permit-teal)!important}#permits-tab .sort-indicator{color:var(--permit-teal);margin-left:.18rem;font-size:.72rem;display:inline-block}#permits-tab .permit-link{color:#2b766f;font-weight:750;text-decoration:none}#permits-tab .table-body td[data-label=基地地號]{color:#526474;font-weight:650}#permits-tab .table-body td[data-label=建照號碼],#permits-tab .table-body td[data-label=使照號碼]{color:#2b766f;font-weight:750}#permits-tab .table-body td[data-label=社區名稱]{color:var(--permit-ink);font-weight:800}#permits-tab .table-body td[data-label=行政區],#permits-tab .table-body td[data-label=重劃區],#permits-tab .table-body td[data-label=型態]{color:#64727f;font-weight:600}#permits-tab .table-body td[data-label=建照號碼] .permit-link,#permits-tab .table-body td[data-label=使照號碼] .permit-link,#permits-tab .table-body td[data-label=社區名稱] .permit-link{color:inherit}#permits-tab .table-body td[data-label=基地地號] .permit-link{color:#526474;font-weight:650}@media (hover:hover){#permits-tab .permit-link:hover{color:#17635d;text-decoration:underline}#permits-tab .table-body td[data-label=基地地號] .permit-link:hover{color:#22313f}}#permits-tab .usage-permit-title,#permits-tab .compact-cards{display:none}@media (width<=1020px){#permits-tab .permits-redesign{grid-template-columns:1fr}#permits-tab .permit-control-panel{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:stretch;position:static}#permits-tab .permit-subnav{grid-template-columns:1fr 1fr}#permits-tab .permit-subnav .sub-nav-tab{min-height:72px}#permits-tab .permit-hero-strip{grid-row:span 2;min-height:148px}}@media (width<=860px){#permits-tab .permit-control-panel,#permits-tab .permit-summary-band,#permits-tab .permit-charts-grid{grid-template-columns:1fr}#permits-tab .permit-summary-band{grid-template-columns:repeat(2,minmax(0,1fr))}#permits-tab .permit-page-head{flex-direction:column;align-items:flex-start}}@media (width<=640px){#permits-tab .permits-redesign{gap:.85rem}#permits-tab .permit-control-panel,#permits-tab .permit-panel{padding:.85rem}#permits-tab .permit-hero-strip{justify-content:center;min-height:132px}#permits-tab .permit-hero-strip h2{font-size:1.45rem}#permits-tab .permit-hero-strip p{font-size:.86rem;line-height:1.55}#permits-tab .permit-subnav .sub-nav-tab{min-height:68px;padding:.65rem}#permits-tab .permit-side-note{display:none}#permits-tab .permit-page-head{gap:.55rem}#permits-tab .permit-page-head h3{font-size:1.2rem}#permits-tab .permit-page-head p{font-size:.82rem;line-height:1.55}#permits-tab .permit-summary-band{gap:.65rem}#permits-tab .permit-summary-band .metric-card{min-height:112px;padding:.85rem}#permits-tab .metric-value{font-size:1.55rem}#permits-tab .panel-head{flex-direction:column;align-items:flex-start;gap:.35rem}#permits-tab .chart-container{height:300px}#permits-tab #usage-permit-content.sub-tab-content.active{gap:.75rem}#permits-tab #usage-permit-content .permit-page-head{padding:.78rem .85rem}#permits-tab #usage-permit-content .permit-page-head p{display:none}#permits-tab #usage-permit-content .chart-section{padding:.78rem}#permits-tab #usage-permit-content .chart-container{height:300px;padding:.15rem}#permits-tab #usage-permit-content .raw-data-section{padding:.78rem}#permits-tab .raw-data-section .table-header,#permits-tab .raw-data-section colgroup{display:none}#permits-tab .raw-data-section .table-container,#permits-tab .raw-data-section .table-body{border:0;max-height:none;overflow:visible}#permits-tab .raw-data-section table,#permits-tab .raw-data-section tbody,#permits-tab .raw-data-section tr,#permits-tab .raw-data-section td{width:100%;display:block}#permits-tab .raw-data-section tr{border:1px solid var(--permit-line);background:#fff;border-radius:8px;padding:.8rem}#permits-tab .raw-data-section tr+tr{margin-top:.65rem}#permits-tab .raw-data-section .table-body td{text-align:right;word-break:break-word;border:0;justify-content:space-between;gap:.9rem;padding:.42rem 0;display:flex}#permits-tab .raw-data-section .table-body td:before{content:attr(data-label);color:var(--permit-muted);text-align:left;flex:none;font-size:.78rem;font-weight:800}#permits-tab .raw-data-section .table-body td[colspan]{text-align:center;display:block}#permits-tab .raw-data-section .table-body td[colspan]:before{display:none}#permits-tab #building-permit-raw-data tr{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .85rem;padding:.95rem;display:grid}#permits-tab #building-permit-raw-data td{text-align:left;width:auto;min-width:0;padding:0;display:block}#permits-tab #building-permit-raw-data td:before{color:#7a8792;margin-bottom:.18rem;font-size:.72rem;font-weight:800;line-height:1.2;display:block}#permits-tab #building-permit-raw-data td[data-label=建照號碼]{color:#22313f;border-bottom:1px solid #edf2f2;order:1;grid-column:1/-1;padding-bottom:.65rem;font-size:.98rem;font-weight:850}#permits-tab #building-permit-raw-data td[data-label=建照號碼]:before{display:none}#permits-tab #building-permit-raw-data td[data-label=建照號碼] .permit-link{color:#22313f}#permits-tab #building-permit-raw-data td[data-label=發照日期]{order:2}#permits-tab #building-permit-raw-data td[data-label=版本資訊]{order:3}#permits-tab #building-permit-raw-data td[data-label=建物高度]{order:4}#permits-tab #building-permit-raw-data td[data-label=戶數]{order:5}#permits-tab #building-permit-raw-data td[data-label=起造人]{order:6;grid-column:1/-1}#permits-tab #building-permit-raw-data td[data-label=基地地號]{order:7;grid-column:1/-1;line-height:1.45}#permits-tab #usage-permit-raw-data tr,#permits-tab #recent-usage-with-presale tr{grid-template-columns:repeat(2,minmax(0,1fr));gap:.46rem .72rem;padding:.78rem;display:grid}#permits-tab #usage-permit-raw-data td,#permits-tab #recent-usage-with-presale td{text-align:left;width:auto;min-width:0;padding:0;display:block}#permits-tab #usage-permit-raw-data td:before,#permits-tab #recent-usage-with-presale td:before{color:#7a8792;margin-bottom:.18rem;font-size:.72rem;font-weight:800;line-height:1.2;display:block}#permits-tab #usage-permit-raw-data td[data-label=使照號碼],#permits-tab #recent-usage-with-presale td[data-label=社區名稱]{color:#22313f;border-bottom:1px solid #edf2f2;order:1;grid-column:1/-1;padding-bottom:.52rem;font-size:.92rem;font-weight:850}#permits-tab #usage-permit-raw-data td[data-label=使照號碼]:before,#permits-tab #recent-usage-with-presale td[data-label=社區名稱]:before{display:none}#permits-tab #usage-permit-raw-data td[data-label=使照號碼] .permit-link,#permits-tab #recent-usage-with-presale td[data-label=社區名稱] .permit-link{color:#22313f}#permits-tab #usage-permit-raw-data td[data-label=發照日期]{order:2}#permits-tab #usage-permit-raw-data td[data-label=建物高度]{order:3}#permits-tab #usage-permit-raw-data td[data-label=起造人]{order:4;grid-column:1/-1}#permits-tab #usage-permit-raw-data td[data-label=基地地號]{order:5;grid-column:1/-1;line-height:1.45}#permits-tab #building-permit-raw-data td[data-label=建物高度],#permits-tab #building-permit-raw-data td[data-label=戶數],#permits-tab #usage-permit-raw-data td[data-label=建物高度]{background:#fbfcfc;border:1px solid #edf2f2;border-radius:8px;min-height:54px;padding:.55rem .65rem}#permits-tab #building-permit-raw-data td[data-label=起造人],#permits-tab #building-permit-raw-data td[data-label=基地地號],#permits-tab #usage-permit-raw-data td[data-label=起造人],#permits-tab #usage-permit-raw-data td[data-label=基地地號]{padding-top:.15rem}#permits-tab #recent-usage-with-presale td[data-label=發照日期]{order:2}#permits-tab #recent-usage-with-presale td[data-label=行政區]{order:3}#permits-tab #recent-usage-with-presale td[data-label=使照號碼]{order:4}#permits-tab #recent-usage-with-presale td[data-label=建照號碼]{order:5}#permits-tab #recent-usage-with-presale td[data-label=重劃區]{order:6}#permits-tab #recent-usage-with-presale td[data-label=型態]{order:7}#permits-tab #usage-permit-content .raw-data-section .table-body,#permits-tab #building-permit-content .raw-data-section .table-body{scrollbar-width:thin;max-height:70vh;padding-right:.15rem;overflow-y:auto}#permits-tab #usage-permit-content .raw-data-section:last-child .table-body{max-height:70vh}#permits-tab #usage-permit-content .raw-data-section tr+tr{margin-top:.5rem}}@media (width<=860px){#permits-tab .construction-progress-filters{grid-template-columns:repeat(2,minmax(0,1fr))}#permits-tab .construction-progress-meta{grid-column:1/-1;align-items:flex-start}}@media (width<=640px){#permits-tab .construction-progress-filters{grid-template-columns:1fr}#permits-tab .construction-progress-meta{grid-column:auto}#permits-tab #construction-progress-content .raw-data-section .construction-progress-table-wrap{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:70vh;padding:.15rem;overflow-y:auto}#permits-tab #construction-progress-table,#permits-tab #construction-progress-table tbody{display:block}#permits-tab #construction-progress-table thead{display:none}#permits-tab #construction-progress-table tr{border:1px solid var(--permit-line);background:#fff;border-radius:10px;grid-template-columns:minmax(0,1fr);gap:.42rem;margin-bottom:.6rem;padding:.72rem .78rem;display:grid;box-shadow:0 2px 8px #1d36430a}#permits-tab #construction-progress-table tbody td{border:0;grid-template-columns:4.65rem minmax(0,1fr);align-items:center;gap:.5rem;width:auto;min-width:0;padding:0;font-size:.83rem;line-height:1.35;display:grid}#permits-tab #construction-progress-table tbody td:before{content:attr(data-label);color:var(--permit-muted);letter-spacing:.02em;margin:0;font-size:.7rem;font-weight:800;display:block}#permits-tab #construction-progress-table td[data-label=建案名稱]{order:1}#permits-tab #construction-progress-table td[data-label=行政區]{order:2}#permits-tab #construction-progress-table td[data-label=建設公司]{order:3}#permits-tab #construction-progress-table td[data-label=建照號碼]{order:4}#permits-tab #construction-progress-table td[data-label=工程狀態]{order:5}#permits-tab #construction-progress-table td[data-label=建案名稱] .permit-link{font-size:.92rem;font-weight:900}#permits-tab #construction-progress-table .construction-project-aliases,#permits-tab #construction-progress-table .construction-status-note{grid-column:2;margin-top:.05rem}#permits-tab #construction-progress-table .construction-status{justify-self:start;padding:.2rem .5rem;font-size:.72rem}}@media (width<=768px){.cards-grid{grid-template-columns:repeat(2,1fr);gap:.8rem}.metric-card{text-align:center;padding:.8rem .6rem}.metric-icon{margin-bottom:.6rem;font-size:1.8rem}.metric-content h3{font-size:1.4rem}.metric-content p{font-size:.8rem}.developer-charts{gap:1rem;grid-template-columns:1fr!important}.developer-charts .chart-section{width:100%;max-width:100%}.developer-charts .chart-container{box-sizing:border-box;padding:.5rem;overflow:hidden;width:100%!important;min-width:0!important;max-width:calc(100vw - 2rem)!important;height:250px!important}.developer-charts .chart-container canvas{width:100%!important;max-width:100%!important;height:auto!important}}.developer-search-section{border-radius:var(--radius-lg);background:#fff;margin-bottom:2rem;padding:1.5rem;box-shadow:0 2px 10px #0000001a}.developer-projects-section .table-header table{border-collapse:collapse;table-layout:fixed;width:100%;margin:0}.developer-projects-section .table-header th{background-color:var(--color-bg-surface);color:var(--color-text);border-right:1px solid var(--color-border-light);text-align:center;box-sizing:border-box;padding:.75rem .5rem;font-size:.9rem;font-weight:600}.developer-projects-section .table-header th:last-child{border-right:none}.developer-projects-section .table-body{scrollbar-width:none;-ms-overflow-style:none;max-height:400px;overflow:hidden auto}.developer-projects-section .table-body::-webkit-scrollbar{background:0 0;width:0}.developer-projects-section .table-body::-webkit-scrollbar-thumb{background:0 0}.developer-projects-section .table-body table{border-collapse:collapse;table-layout:fixed;width:100%;margin:0}.developer-projects-section .table-body td{text-align:center;border-right:1px solid var(--color-border-light);word-wrap:break-word;text-overflow:ellipsis;box-sizing:border-box;border-bottom:1px solid #f0f0f0;padding:.75rem .5rem;font-size:.9rem;overflow:hidden}.developer-projects-section .table-body td:last-child{border-right:none}.developer-projects-section .table-body tr:hover{background-color:var(--color-bg-surface)}.developer-projects-section .table-body tr:nth-child(2n){background-color:#fafafa}.developer-projects-section .table-body tr:nth-child(2n):hover{background-color:#f0f0f0}.search-form{flex-wrap:wrap;align-items:end;gap:1rem;display:flex}.input-group{flex:1;min-width:300px}.developer-projects-section{border-radius:var(--radius-lg);background:#fff;margin-bottom:2rem;padding:1.5rem;box-shadow:0 2px 10px #0000001a}.developer-charts{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:2rem;max-width:100%;display:grid}@media (width>=1200px){.developer-charts{grid-template-columns:repeat(2,1fr)}}.quick-search-section{border-top:1px solid var(--color-border);margin-top:1.5rem;padding-top:1.5rem}.quick-search-section h4{color:var(--color-text);margin-bottom:1rem;font-size:1rem;font-weight:600}.quick-search-buttons{flex-wrap:wrap;gap:.75rem;display:flex}.btn-quick{background:linear-gradient(135deg, var(--color-bg-surface) 0%, var(--color-border) 100%);color:var(--color-text-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:background .3s,color .3s,border-color .3s,transform .3s,box-shadow .3s}.btn-quick:hover{color:#fff;background:linear-gradient(135deg,#2f8c82 0%,#12766e 100%);border-color:#2f8c82;transform:translateY(-2px);box-shadow:0 4px 12px #12766e4d}.btn-quick:active{transform:translateY(0);box-shadow:0 2px 8px #12766e33}@media (width<=768px){.developer-projects-section .table-header th,.developer-projects-section .table-body td{padding:.5rem .25rem;font-size:.8rem}.developer-projects-section .table-body{max-height:300px}}#developer-projects a.project-link.completed-property{color:var(--color-success)!important;font-weight:600!important}#developer-projects a.project-link.presale-property{color:var(--color-info)!important;font-weight:500!important}#developer-projects a.project-link.completed-property:hover{text-decoration:underline;color:var(--color-success-hover)!important}#developer-projects a.project-link.presale-property:hover{text-decoration:underline;color:#2563eb!important}.project-status-legend{background-color:var(--color-bg-surface);border-radius:var(--radius-sm);color:var(--color-text-secondary);border-left:4px solid #2f8c82;margin:10px 0;padding:8px 12px;font-size:.9rem}.project-status-legend .status-item{margin-right:20px;display:inline-block}.project-status-legend .status-color{vertical-align:middle;border-radius:50%;width:12px;height:12px;margin-right:5px;display:inline-block}.project-status-legend .completed-color{background-color:var(--color-success)}.project-status-legend .presale-color{background-color:var(--color-info)}body.developer-tab{background-color:#f4f7f6}body.developer-tab .container{max-width:1440px;padding-left:16px;padding-right:16px}@media (width<=760px){body.developer-tab .container{padding-left:10px;padding-right:10px}}body.developer-tab #main-content{box-shadow:none;background:0 0;border-radius:0;margin:0;padding:0}#developer-tab>section{box-shadow:none;filter:none;background:0 0;border:0;border-radius:0;outline:0;padding:0;overflow:visible}#developer-tab>section:before,#developer-tab>section:after{content:none;box-shadow:none;filter:none}#developer-tab .developer-redesign .workspace,#developer-tab>section>div.developer-redesign-body.workspace{margin-top:0}#developer-tab>section>div{box-shadow:none;background:0 0;border:0;outline:0}#developer-tab>section>div>section{box-shadow:none;filter:none;background:0 0;border:0;border-radius:0;outline:0;padding:0;overflow:visible}#developer-tab>section>div>section:before,#developer-tab>section>div>section:after{content:none;box-shadow:none;filter:none}#developer-tab .developer-redesign{--shadow:0 14px 42px #1f2d371a;--radius:8px}#developer-tab .developer-redesign *{box-sizing:border-box}#developer-tab .developer-redesign{min-height:100vh;color:var(--ink);letter-spacing:0;background:0 0;margin:0;font-family:Microsoft JhengHei,PingFang TC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}#developer-tab .developer-redesign a{color:inherit;text-decoration:none}#developer-tab .developer-redesign button,#developer-tab .developer-redesign input,#developer-tab .developer-redesign select{font:inherit}#developer-tab .developer-redesign .shell{width:min(1440px,100% - 32px);margin:0 auto;padding:22px 0 48px}#developer-tab .developer-redesign .workspace{box-shadow:none;background:0 0;border:0}#developer-tab .developer-redesign .topbar{justify-content:space-between;align-items:center;gap:18px;min-height:64px;padding:0 4px;display:flex}#developer-tab .developer-redesign .brand{min-width:max-content;color:var(--ink);align-items:center;gap:10px;font-size:1.18rem;font-weight:800;display:flex}#developer-tab .developer-redesign .brand img{border-radius:8px;width:34px;height:34px}#developer-tab .developer-redesign .nav{border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffc7;border:1px solid #dce4eacc;align-items:center;gap:6px;padding:6px;display:flex;overflow-x:auto}#developer-tab .developer-redesign .nav a{min-height:36px;color:var(--muted);white-space:nowrap;border-radius:6px;align-items:center;gap:7px;padding:0 12px;font-size:.92rem;font-weight:650;display:inline-flex}#developer-tab .developer-redesign .nav a.active{color:#fff;background:var(--brand-dark)}@media (hover:hover){#developer-tab .developer-redesign .nav a:hover,#developer-tab .developer-redesign .icon-btn:hover,#developer-tab .developer-redesign .quick-chip:hover,#developer-tab .developer-redesign .project-row:hover{border-color:#2f8c8261;transform:translateY(-1px)}}#developer-tab .developer-redesign .top-actions{align-items:center;gap:8px;display:flex}#developer-tab .developer-redesign .icon-btn{width:38px;height:38px;color:var(--ink);cursor:pointer;background:#ffffffd6;border:1px solid #dce4eaf2;border-radius:8px;place-items:center;transition:transform .18s,border-color .18s,background .18s;display:inline-grid}#developer-tab .developer-redesign .control-panel,#developer-tab .developer-redesign .panel,#developer-tab .developer-redesign .metric,#developer-tab .developer-redesign .project-row{border-radius:var(--radius);background:#ffffffeb;border:1px solid #dce4eaf2;box-shadow:inset 0 1px #ffffffd1}#developer-tab .developer-redesign .control-panel{box-shadow:var(--shadow)}#developer-tab .developer-redesign .hero-strip{color:#fff;background:linear-gradient(110deg,#22313ff0,#22313f8a),url(/assets/home12-Cg_o4rMM.webp) 50%/cover;min-height:178px;padding:20px}#developer-tab .developer-redesign .eyebrow{color:#ffffffe6;background:#ffffff24;border:1px solid #ffffff47;border-radius:6px;align-items:center;gap:7px;min-height:28px;padding:0 9px;font-size:.78rem;font-weight:700;display:inline-flex}#developer-tab .developer-redesign .hero-strip h1{letter-spacing:0;max-width:8em;margin:18px 0 8px;font-size:clamp(2rem,4vw,2.7rem);line-height:1.08}#developer-tab .developer-redesign .hero-strip p{color:#ffffffd1;max-width:27rem;margin:0;font-size:.98rem;line-height:1.7}#developer-tab .developer-redesign .search-stack{padding:18px}#developer-tab .developer-redesign .field-label{color:var(--muted);margin-bottom:8px;font-size:.86rem;font-weight:700;display:block}#developer-tab .developer-redesign .search-box{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:1fr 44px;min-height:48px;display:grid;overflow:hidden}#developer-tab .developer-redesign .search-box input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;padding:0 14px}#developer-tab .developer-redesign .search-box button{border:0;border-left:1px solid var(--line);color:#fff;background:var(--teal);cursor:pointer}#developer-tab .developer-redesign .filter-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}#developer-tab .developer-redesign .select-wrap{position:relative}#developer-tab .developer-redesign .select-wrap select{appearance:none;border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background:#fff;border-radius:8px;padding:0 34px 0 12px}#developer-tab .developer-redesign .select-wrap i{color:var(--muted);pointer-events:none;position:absolute;bottom:21px;right:12px;transform:translateY(50%)}#developer-tab .developer-redesign .quick-group{margin-top:18px}#developer-tab .developer-redesign .quick-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}#developer-tab .developer-redesign .quick-head strong{font-size:.94rem}#developer-tab .developer-redesign .quick-head span{color:var(--muted);font-size:.8rem}#developer-tab .developer-redesign .quick-list{flex-wrap:wrap;gap:8px;display:flex}#developer-tab .developer-redesign .quick-chip{border:1px solid var(--line);min-height:34px;color:var(--ink);background:var(--soft);cursor:pointer;border-radius:8px;padding:0 11px;transition:transform .18s,border-color .18s,background .18s}#developer-tab .developer-redesign .quick-chip.active{color:#0d5d54;background:var(--teal-soft);border-color:#2f8c827a;font-weight:750}#developer-tab .developer-redesign .insight-note{color:#475569;background:#eef8fb;border:1px solid #0e74902e;border-radius:8px;gap:8px;margin-top:18px;padding:13px;font-size:.9rem;line-height:1.6;display:grid}#developer-tab .developer-redesign .insight-note strong{color:#0f4f5f}#developer-tab .developer-redesign .insight-note span{color:#475569}#developer-tab .developer-redesign .side-market-feed{margin-top:14px}#developer-tab .developer-redesign .content{gap:18px;min-width:0;display:none}#developer-tab .developer-redesign .summary-band{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}#developer-tab .developer-redesign .metric{min-height:106px;box-shadow:var(--shadow);padding:16px}#developer-tab .developer-redesign .metric-top{min-height:24px;color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:.84rem;font-weight:750;display:flex}#developer-tab .developer-redesign .metric-top i{width:28px;height:28px;color:var(--teal);background:var(--teal-soft);border-radius:8px;place-items:center;display:grid}#developer-tab .developer-redesign .metric-value{color:var(--ink);margin-top:12px;font-size:clamp(1.65rem,3vw,2.2rem);font-weight:850;line-height:1}#developer-tab .developer-redesign .metric-foot{color:var(--muted);margin-top:8px;font-size:.82rem}#developer-tab .developer-redesign .board{grid-template-columns:1fr;gap:18px;display:grid}#developer-tab .developer-redesign .map-panel{grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:0;display:grid}#developer-tab .developer-redesign .charts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}#developer-tab .developer-redesign .panel{min-width:0;box-shadow:var(--shadow);overflow:hidden}#developer-tab .developer-redesign .mini-map{background:radial-gradient(circle at 76% 12%,#6988ad33,#0000 28%),linear-gradient(135deg,#2f8c821f,#0891b214),#eef4f1;align-items:center;min-height:318px;padding:18px;display:grid;position:relative;overflow:hidden}#developer-tab .developer-redesign .dev-leaflet-map{border-radius:8px;width:100%;height:460px;min-height:320px;overflow:hidden;box-shadow:inset 0 0 0 1px #dce4ea99}#developer-tab .developer-redesign .dev-leaflet-tooltip{color:var(--ink);background:#fffffff0;border:1px solid #2f8c8247;border-radius:6px;padding:3px 7px;font-size:.74rem;font-weight:750;box-shadow:0 4px 12px #1f2d3729}#developer-tab .developer-redesign .dev-leaflet-tooltip:before{border-top-color:#fffffff0}#developer-tab .developer-redesign .leaflet-tooltip-left.dev-leaflet-tooltip:before{border-left-color:#fffffff0}#developer-tab .developer-redesign .leaflet-tooltip-right.dev-leaflet-tooltip:before{border-right-color:#fffffff0}#developer-tab .developer-redesign .leaflet-tooltip-bottom.dev-leaflet-tooltip:before{border-bottom-color:#fffffff0}#developer-tab .developer-redesign .dev-map-reset-control{box-shadow:none;background:0 0;border:0}#developer-tab .developer-redesign .dev-map-reset-btn{min-height:32px;color:var(--ink);cursor:pointer;background:#fffffff0;border:1px solid #dce4eaeb;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:.78rem;font-weight:800;display:inline-flex;box-shadow:0 6px 16px #1f2d3724}#developer-tab .developer-redesign .dev-map-reset-btn:hover{color:#0d5d54;background:#fff;border-color:#2f8c8261}#developer-tab .developer-redesign .leaflet-popup-content-wrapper{border-radius:8px}#developer-tab .developer-redesign .leaflet-popup-content{margin:10px 12px;font-size:.86rem;line-height:1.4}#developer-tab .developer-redesign .map-svg{width:100%;height:100%;min-height:276px;display:block}#developer-tab .developer-redesign .map-grid-line{stroke:#22313f0e;stroke-width:1px;vector-effect:non-scaling-stroke}#developer-tab .developer-redesign .map-water{fill:none;stroke:#4897ab3d;stroke-linecap:round;stroke-width:17px;vector-effect:non-scaling-stroke}#developer-tab .developer-redesign .map-water-highlight{fill:none;stroke:#ffffff7a;stroke-linecap:round;stroke-width:6px;vector-effect:non-scaling-stroke}#developer-tab .developer-redesign .map-road{fill:none;stroke:#ffffffe0;stroke-linecap:round;stroke-width:7px;filter:drop-shadow(0 2px 2px #22313f0f);vector-effect:non-scaling-stroke}#developer-tab .developer-redesign .map-road.major{stroke:#faecd0f5;stroke-width:9px}#developer-tab .developer-redesign .map-district{stroke:#2f8c8252;stroke-width:1.4px;fill:#ffffff8c;vector-effect:non-scaling-stroke}#developer-tab .developer-redesign .map-district.active,#developer-tab .developer-redesign .map-district.has-projects{fill:#2f8c8238;stroke:#2f8c828c;stroke-width:1.8px}#developer-tab .developer-redesign .map-district.no-projects,#developer-tab .developer-redesign .map-district-label.no-projects{display:none}#developer-tab .developer-redesign .map-district.small{fill:#ffffff59;stroke:#22313f24}#developer-tab .developer-redesign .map-district-label{fill:var(--ink);text-anchor:middle;paint-order:stroke;stroke:#ffffffeb;stroke-width:4px;stroke-linejoin:round;font-size:16px;font-weight:800}#developer-tab .developer-redesign .map-district-label.small{fill:#22313f8c;font-size:11px;font-weight:700}#developer-tab .developer-redesign .map-district-label.muted{fill:#22313f8c;font-size:13px;font-weight:700}#developer-tab .developer-redesign .map-pin circle{fill:var(--teal);stroke:#fffffff5;stroke-width:2.5px;filter:drop-shadow(0 4px 8px #1f2d3738)}#developer-tab .developer-redesign .map-pin text{fill:#fff;text-anchor:middle;dominant-baseline:central;font-size:14px;font-weight:850}#developer-tab .developer-redesign .map-project-halo{fill:#ffffffe0;stroke:#2f8c826b;stroke-width:1.2px}#developer-tab .developer-redesign .map-project-dot{fill:var(--teal);stroke:#fff;stroke-width:1px;cursor:pointer;transition:r .15s,fill .15s}@media (hover:hover){#developer-tab .developer-redesign .map-project-dot:hover{fill:var(--brand-dark)}}@media (width>=769px){#developer-tab .developer-redesign .map-pin{display:none}}@media (width<=768px){#developer-tab .developer-redesign .map-projects{display:none}}#developer-tab .developer-redesign .map-legend{flex-wrap:wrap;gap:8px;display:flex;position:absolute;bottom:16px;left:16px}#developer-tab .developer-redesign .map-legend span{min-height:28px;color:var(--muted);background:#ffffffd1;border:1px solid #dce4eae6;border-radius:8px;align-items:center;gap:6px;padding:0 9px;font-size:.76rem;font-weight:750;display:inline-flex}#developer-tab .developer-redesign .map-legend i{background:var(--pin);border-radius:50%;width:9px;height:9px}#developer-tab .developer-redesign .map-legend .legend-pin i{background:var(--teal);border-radius:50%;width:14px;height:14px;box-shadow:inset 0 0 0 2px #fff}#developer-tab .developer-redesign .map-summary{border-left:1px solid var(--line);background:#ffffffc7;align-content:start;gap:12px;padding:18px;display:grid}#developer-tab .developer-redesign .map-summary-item{border:1px solid var(--line);background:var(--paper);border-radius:8px;gap:4px;padding:12px;display:grid}#developer-tab .developer-redesign .map-summary-item span{color:var(--muted);font-size:.76rem;font-weight:750}#developer-tab .developer-redesign .map-summary-item strong{color:var(--ink);font-size:1rem}#developer-tab .developer-redesign .map-link{background:var(--ink);color:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;font-size:.88rem;font-weight:800;display:inline-flex}#developer-tab .developer-redesign .panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:0 18px;display:flex}#developer-tab .developer-redesign .panel-title{align-items:center;gap:9px;min-width:0;font-weight:850;display:flex}#developer-tab .developer-redesign .panel-title i{color:var(--brand)}#developer-tab .developer-redesign .panel-tools{flex-shrink:0;align-items:center;gap:8px;display:flex}#developer-tab .developer-redesign .chart-body{grid-template-columns:repeat(7,minmax(36px,1fr));align-items:stretch;gap:13px;min-height:286px;padding:22px 22px 16px;display:grid}#developer-tab .developer-redesign .bar-item{grid-template-rows:minmax(0,1fr) auto;align-items:stretch;gap:8px;min-width:0;height:236px;display:grid}#developer-tab .developer-redesign .bar{background:linear-gradient(#4ca79c,#2f8c82);border-radius:7px 7px 3px 3px;align-self:end;width:100%;min-height:24px;position:relative}#developer-tab .developer-redesign .bar:before{content:attr(data-value);color:var(--ink);white-space:nowrap;font-size:.8rem;font-weight:800;position:absolute;top:-28px;left:50%;transform:translate(-50%)}#developer-tab .developer-redesign .bar-label{min-height:30px;color:var(--muted);text-align:center;overflow-wrap:anywhere;font-size:.8rem;line-height:1.3}#developer-tab .developer-redesign .area-list{gap:12px;padding:18px;display:grid}#developer-tab .developer-redesign .hbar-list{counter-reset:ranking;scrollbar-width:thin;scrollbar-color:#2f8c8257 transparent;align-content:start;gap:13px;max-height:338px;padding:20px 18px;display:grid;overflow-y:auto}#developer-tab .developer-redesign .hbar-item{grid-template-columns:28px minmax(92px,132px) minmax(0,1fr) 56px;align-items:center;gap:10px;min-height:32px;font-size:.9rem;display:grid}#developer-tab .developer-redesign .hbar-item:before{counter-increment:ranking;content:counter(ranking);width:24px;height:24px;color:var(--teal);background:#2f8c821a;border-radius:7px;place-items:center;font-size:.74rem;font-weight:850;display:inline-grid}#developer-tab .developer-redesign .hbar-item strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}#developer-tab .developer-redesign .hbar-fill{border-radius:inherit;background:linear-gradient(90deg,#0891b2,#38bdf8);height:100%;display:block}#developer-tab .developer-redesign .unit-price-list .hbar-fill{background:linear-gradient(90deg,#2f8c82,#56b8aa)}#developer-tab .developer-redesign .donut-layout{grid-template-columns:190px minmax(0,1fr);align-items:center;gap:18px;min-height:266px;padding:22px 20px;display:grid}#developer-tab .developer-redesign .donut{aspect-ratio:1;background:conic-gradient(var(--teal) 0 44%, var(--amber) 44% 72%, #6988ad 72% 89%, #c96b5f 89% 100%);border-radius:50%;width:178px;position:relative;box-shadow:inset 0 0 0 1px #1f2d370f}#developer-tab .developer-redesign .donut:after{content:attr(data-center);background:var(--paper);color:var(--ink);border-radius:50%;place-items:center;font-size:1.5rem;font-weight:850;display:grid;position:absolute;inset:38px}#developer-tab .developer-redesign .legend-list{gap:10px;display:grid}#developer-tab .developer-redesign .legend-item{color:var(--muted);grid-template-columns:12px minmax(0,1fr) 42px;align-items:center;gap:9px;font-size:.9rem;display:grid}#developer-tab .developer-redesign .legend-dot{background:var(--teal);border-radius:4px;width:12px;height:12px}#developer-tab .developer-redesign .area-item{grid-template-columns:68px 1fr 44px;align-items:center;gap:10px;min-height:32px;font-size:.9rem;display:grid}#developer-tab .developer-redesign .track{background:var(--soft);border-radius:99px;height:9px;overflow:hidden}#developer-tab .developer-redesign .fill{border-radius:inherit;background:var(--amber);height:100%;display:block}#developer-tab .developer-redesign .developer-projects-section .table-container{background:var(--paper);max-height:520px;box-shadow:none;scrollbar-width:thin;border-radius:0;margin:0;padding:0 14px 16px;overflow:auto}#developer-tab .developer-redesign .developer-projects-section thead th{z-index:3;background:var(--paper);box-shadow:0 1px 0 var(--line), 0 -12px 0 12px var(--paper);position:sticky;top:0}#developer-tab .developer-redesign .developer-projects-section table{border-collapse:separate;border-spacing:0 8px;table-layout:fixed;width:100%;min-width:860px}#developer-tab .developer-redesign .developer-projects-section .table-header{display:none}#developer-tab .developer-redesign .developer-projects-section th{color:var(--muted);text-align:left;white-space:nowrap;border-bottom:1px solid var(--line);padding:10px 12px;font-size:.76rem}#developer-tab .developer-redesign .developer-projects-section th:first-child{width:25%}#developer-tab .developer-redesign .developer-projects-section th:nth-child(2){width:11%}#developer-tab .developer-redesign .developer-projects-section th:nth-child(3){width:14%}#developer-tab .developer-redesign .developer-projects-section th:nth-child(4){width:15%}#developer-tab .developer-redesign .developer-projects-section th:nth-child(5){width:11%}#developer-tab .developer-redesign .developer-projects-section th:nth-child(6){width:24%}#developer-tab .developer-redesign .developer-projects-section th:nth-child(3),#developer-tab .developer-redesign .developer-projects-section th:nth-child(4),#developer-tab .developer-redesign .developer-projects-section th:nth-child(5){text-align:right}#developer-tab .developer-redesign .developer-projects-section td{border-top:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:middle;background:#ffffffeb;height:70px;padding:12px 14px;font-size:.9rem}#developer-tab .developer-redesign .developer-projects-section tbody tr{transition:transform .18s,filter .18s}#developer-tab .developer-redesign .developer-projects-section tbody tr:hover{filter:drop-shadow(0 8px 18px #1f2d3714);transform:translateY(-1px)}#developer-tab .developer-redesign .developer-projects-section td:first-child{border-left:1px solid var(--line);border-radius:8px 0 0 8px;font-weight:850}#developer-tab .developer-redesign .developer-projects-section td:last-child{border-right:1px solid var(--line);border-radius:0 8px 8px 0}#developer-tab .developer-redesign .developer-projects-section td:nth-child(3),#developer-tab .developer-redesign .developer-projects-section td:nth-child(4),#developer-tab .developer-redesign .developer-projects-section td:nth-child(5){text-align:right;font-weight:800}#developer-tab .developer-redesign .project-cell-main a{color:var(--ink);font-weight:850;text-decoration:none}#developer-tab .developer-redesign .project-cell-main a:hover{color:var(--teal);text-underline-offset:3px;text-decoration:underline}#developer-tab .developer-redesign .project-company{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:.76rem;font-weight:650;display:block;overflow:hidden}#developer-tab .developer-redesign .numeric strong{color:var(--ink);font-size:.96rem;line-height:1.1;display:block}#developer-tab .developer-redesign .numeric span{color:var(--muted);margin-top:4px;font-size:.72rem;font-weight:700;display:block}#developer-tab .developer-redesign .district-pill,#developer-tab .developer-redesign .zone-pill{color:#245f58;text-overflow:ellipsis;white-space:nowrap;background:#eef4f2d1;border-radius:7px;align-items:center;max-width:100%;min-height:28px;padding:0 9px;font-size:.78rem;font-weight:800;display:inline-flex;overflow:hidden}#developer-tab .developer-redesign .zone-pill{color:#0f4f5f;background:#0891b21f}#developer-tab .developer-redesign .project-list{gap:10px;padding:14px;display:grid}#developer-tab .developer-redesign .project-row{grid-template-columns:minmax(150px,1.3fr) repeat(4,minmax(82px,.65fr));align-items:center;gap:12px;min-height:66px;padding:12px;transition:transform .18s,border-color .18s;display:grid}#developer-tab .developer-redesign .project-name{min-width:0}#developer-tab .developer-redesign .project-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;display:block;overflow:hidden}#developer-tab .developer-redesign .project-name span{color:var(--muted);margin-top:3px;font-size:.78rem;display:block}#developer-tab .developer-redesign .cell{min-width:0}#developer-tab .developer-redesign .cell b{text-align:right;font-size:.96rem;display:block}#developer-tab .developer-redesign .cell span{color:var(--muted);text-align:right;margin-top:3px;font-size:.76rem;display:block}#developer-tab .developer-redesign .tag{background:var(--soft);min-height:25px;color:var(--muted);white-space:nowrap;border-radius:6px;align-items:center;padding:0 8px;font-size:.76rem;font-weight:750;display:inline-flex}#developer-tab .developer-redesign .tag.presale{color:#0f4f5f;background:#e0f2fe}#developer-tab .developer-redesign .tag.done{color:#15633b;background:#dff1e7}#developer-tab .developer-redesign .market-feed{counter-reset:signal;gap:8px;padding:14px;display:grid}#developer-tab .developer-redesign .feed-item{border:1px solid var(--line);background:#f8faf9e0;border-radius:8px;grid-template-columns:24px 1fr;align-items:start;gap:4px 9px;min-height:48px;padding:10px;display:grid}#developer-tab .developer-redesign .feed-item strong,#developer-tab .developer-redesign .feed-item span{grid-column:2}#developer-tab .developer-redesign .feed-item:before{counter-increment:signal;content:counter(signal);color:#0d5d54;background:var(--teal-soft);border-radius:7px;place-items:center;width:24px;height:24px;font-size:.72rem;font-weight:850;display:grid}#developer-tab .developer-redesign .feed-item.hot:before{color:#8f2e2b;background:#f4dfdd}#developer-tab .developer-redesign .feed-item.good:before{color:#15633b;background:#dff1e7}#developer-tab .developer-redesign .feed-item strong{font-size:.92rem;line-height:1.45;display:block}#developer-tab .developer-redesign .feed-item span{color:var(--muted);margin-top:0;font-size:.82rem;line-height:1.55;display:block}@media (width<=1180px){#developer-tab .developer-redesign .board{grid-template-columns:1fr}#developer-tab .developer-redesign .charts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#developer-tab .developer-redesign .hero-strip{min-height:0;padding:18px 20px}#developer-tab .developer-redesign .hero-strip h1{margin:12px 0 6px;font-size:1.8rem}#developer-tab .developer-redesign .hero-strip p{font-size:.92rem;line-height:1.55}#developer-tab .developer-redesign .summary-band{grid-template-columns:repeat(4,minmax(0,1fr))}#developer-tab .developer-redesign .map-panel{grid-template-columns:minmax(0,1fr) minmax(260px,.42fr)}}@media (width<=980px){#developer-tab .developer-redesign .summary-band{grid-template-columns:repeat(2,minmax(0,1fr))}#developer-tab .developer-redesign .control-panel{display:block}#developer-tab .developer-redesign .hero-strip{min-height:0;padding:16px 18px}#developer-tab .developer-redesign .hero-strip h1{margin:10px 0 6px;font-size:1.6rem}#developer-tab .developer-redesign .hero-strip p{font-size:.9rem;line-height:1.55}#developer-tab .developer-redesign .chart-body{grid-template-columns:repeat(7,minmax(64px,1fr));padding-bottom:20px;overflow-x:auto}#developer-tab .developer-redesign .developer-projects-section table{min-width:720px}#developer-tab .developer-redesign .donut-layout{grid-template-columns:132px minmax(0,1fr);gap:12px;min-height:230px;padding:18px 16px}#developer-tab .developer-redesign .donut{width:132px}#developer-tab .developer-redesign .donut:after{font-size:1.15rem;inset:30px}#developer-tab .developer-redesign .map-panel{grid-template-columns:1fr}#developer-tab .developer-redesign .mini-map{min-height:260px}#developer-tab .developer-redesign .map-summary{border-left:0;border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr))}#developer-tab .developer-redesign .map-link{grid-column:1/-1}}@media (width<=760px){#developer-tab .developer-redesign{background-attachment:scroll}#developer-tab .developer-redesign .shell{width:min(100% - 20px,1440px);padding-top:10px}#developer-tab .developer-redesign .topbar{flex-direction:column;align-items:stretch}#developer-tab .developer-redesign .top-actions{position:absolute;top:12px;right:10px}#developer-tab .developer-redesign .nav{width:100%}#developer-tab .developer-redesign .workspace{gap:12px;margin-top:12px}#developer-tab .developer-redesign .control-panel{display:block}#developer-tab .developer-redesign .hero-strip{min-height:0;padding:14px 16px 16px}#developer-tab .developer-redesign .hero-strip h1{margin:10px 0 6px;font-size:1.4rem}#developer-tab .developer-redesign .hero-strip p{font-size:.84rem;line-height:1.5}#developer-tab .developer-redesign .search-stack{padding:14px}#developer-tab .developer-redesign .filter-grid,#developer-tab .developer-redesign .summary-band{grid-template-columns:1fr}#developer-tab .developer-redesign .charts-grid{grid-template-columns:1fr;gap:14px}#developer-tab .developer-redesign .panel-head{min-height:unset;flex-direction:row;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px}#developer-tab .developer-redesign .developer-projects-section .panel-head{flex-direction:column;align-items:flex-start;gap:8px;padding:14px}#developer-tab .developer-redesign .developer-projects-section .panel-tools{flex-wrap:wrap;justify-content:flex-start}#developer-tab .developer-redesign .chart-body{grid-template-columns:repeat(4,minmax(42px,1fr));gap:12px;min-height:270px;padding:20px 14px 14px;overflow-x:auto}#developer-tab .developer-redesign .bar-item{height:206px}#developer-tab .developer-redesign .mini-map{min-height:230px;padding:10px}#developer-tab .developer-redesign .map-svg{min-height:210px}#developer-tab .developer-redesign .map-district-label{font-size:14px}#developer-tab .developer-redesign .map-district-label.small,#developer-tab .developer-redesign .map-district-label.muted{font-size:10px}#developer-tab .developer-redesign .map-pin text{font-size:12px}#developer-tab .developer-redesign .map-summary{grid-template-columns:1fr;padding:14px}#developer-tab .developer-redesign .hbar-list{max-height:314px;padding:16px 14px}#developer-tab .developer-redesign .hbar-item{grid-template-columns:26px minmax(104px,128px) minmax(76px,1fr) 48px;gap:8px;font-size:.84rem}#developer-tab .developer-redesign .hbar-item:before{border-radius:6px;width:22px;height:22px;font-size:.68rem}#developer-tab .developer-redesign .donut-layout{min-height:unset;grid-template-columns:1fr;justify-items:center;padding:18px 14px}#developer-tab .developer-redesign .legend-list{width:100%}#developer-tab .developer-redesign .metric{min-height:88px;padding:14px}#developer-tab .developer-redesign .metric-value{font-size:1.75rem}#developer-tab .developer-redesign .developer-projects-section .table-container{max-height:60vh;padding:8px}#developer-tab .developer-redesign .developer-projects-section table,#developer-tab .developer-redesign .developer-projects-section thead,#developer-tab .developer-redesign .developer-projects-section tbody,#developer-tab .developer-redesign .developer-projects-section tr,#developer-tab .developer-redesign .developer-projects-section td{width:100%;min-width:0;display:block}#developer-tab .developer-redesign .developer-projects-section thead{display:none}#developer-tab .developer-redesign .developer-projects-section table{border-spacing:0}#developer-tab .developer-redesign .developer-projects-section tr{background:#ffffffeb;border:0;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:10px;padding:10px;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #dce4eab8}#developer-tab .developer-redesign .developer-projects-section td{text-align:left;background:0 0;border:0;border-radius:0;min-width:0;height:auto;min-height:0;padding:0;font-size:.82rem;display:block}#developer-tab .developer-redesign .developer-projects-section td:first-child,#developer-tab .developer-redesign .developer-projects-section td:last-child{border:0;border-radius:0}#developer-tab .developer-redesign .developer-projects-section td:first-child{order:1;grid-column:1/-1;padding-bottom:2px;font-size:.98rem;font-weight:850;display:block}#developer-tab .developer-redesign .developer-projects-section .project-company{margin-top:4px;font-size:.72rem}#developer-tab .developer-redesign .developer-projects-section td:nth-child(2),#developer-tab .developer-redesign .developer-projects-section td:nth-child(6){color:var(--muted);font-size:.74rem;font-weight:700;line-height:1.35}#developer-tab .developer-redesign .developer-projects-section td:nth-child(2){order:2}#developer-tab .developer-redesign .developer-projects-section td:nth-child(6){order:3;grid-column:span 2}#developer-tab .developer-redesign .developer-projects-section .district-pill,#developer-tab .developer-redesign .developer-projects-section .zone-pill{max-width:100%;min-height:26px;font-size:.72rem}#developer-tab .developer-redesign .developer-projects-section td:nth-child(3),#developer-tab .developer-redesign .developer-projects-section td:nth-child(4),#developer-tab .developer-redesign .developer-projects-section td:nth-child(5){text-align:left;background:#eef4f2b8;border-radius:8px;margin-top:0;padding:8px}#developer-tab .developer-redesign .developer-projects-section .numeric strong{font-size:.9rem}#developer-tab .developer-redesign .developer-projects-section .numeric span{margin-top:2px;font-size:.66rem}#developer-tab .developer-redesign .developer-projects-section td:nth-child(3){order:4}#developer-tab .developer-redesign .developer-projects-section td:nth-child(4){order:5}#developer-tab .developer-redesign .developer-projects-section td:nth-child(5){order:6}#developer-tab .developer-redesign .developer-projects-section td:before{content:none}#developer-tab .developer-redesign .developer-projects-section td:nth-child(3):before,#developer-tab .developer-redesign .developer-projects-section td:nth-child(4):before,#developer-tab .developer-redesign .developer-projects-section td:nth-child(5):before{color:var(--muted);margin-bottom:3px;font-size:.68rem;font-weight:750;display:block}#developer-tab .developer-redesign .developer-projects-section td:nth-child(3):before{content:"單價"}#developer-tab .developer-redesign .developer-projects-section td:nth-child(4):before{content:"總價"}#developer-tab .developer-redesign .developer-projects-section td:nth-child(5):before{content:"戶數"}#developer-tab .developer-redesign .market-feed{padding:12px}#developer-tab .developer-redesign .feed-item{min-height:unset;grid-template-columns:22px 1fr;gap:3px 8px;padding:9px}#developer-tab .developer-redesign .feed-item:before{width:22px;height:22px}#developer-tab .developer-redesign .feed-item strong{font-size:.82rem}#developer-tab .developer-redesign .feed-item span{font-size:.76rem}}#developer-tab .developer-redesign .hbar-empty{min-height:120px;color:var(--muted);border:1px dashed var(--line);background:#ffffff8f;border-radius:8px;place-items:center;font-weight:750;display:grid}#developer-tab .developer-redesign .filter-date-range{margin-top:12px}#developer-tab .developer-redesign .filter-date-range>.field-label{color:var(--muted);margin-bottom:6px;font-size:.78rem;font-weight:600;display:block}#developer-tab .developer-redesign .date-selector-group{box-sizing:border-box;grid-template-columns:1fr 1fr;grid-template-areas:"sy sm""ey em";align-items:center;gap:6px;display:grid}#developer-tab .developer-redesign .date-selector-group #developer-start-year{grid-area:sy}#developer-tab .developer-redesign .date-selector-group #developer-start-month{grid-area:sm}#developer-tab .developer-redesign .date-selector-group #developer-end-year{grid-area:ey}#developer-tab .developer-redesign .date-selector-group #developer-end-month{grid-area:em}#developer-tab .developer-redesign .date-selector-group select{border:1px solid var(--line);width:100%;min-width:0;min-height:40px;color:var(--ink);appearance:none;cursor:pointer;box-sizing:border-box;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path fill='none' stroke='%2364727f' stroke-width='1.4' d='M3 4.5l3 3 3-3'/></svg>") right 8px center/12px 12px no-repeat;border-radius:8px;padding:8px 26px 8px 10px;font-size:.88rem}#developer-tab .developer-redesign .date-selector-group select:focus-visible{border-color:var(--color-primary,#2f8c82);outline:none;box-shadow:0 0 0 3px #2f8c821f}#developer-tab .developer-redesign .date-selector-group .date-sep{display:none}#developer-tab .auth-prompt{background:linear-gradient(135deg,#fff8ec 0%,#fff2dd 100%);border:1px solid #f3d59a;border-radius:12px;align-items:center;gap:14px;margin-bottom:18px;padding:18px 22px;display:flex;box-shadow:0 1px 4px #c4912414}#developer-tab .auth-prompt>i{color:#c48b18;flex:none;font-size:1.6rem}#developer-tab .auth-prompt .auth-prompt-body{flex-direction:column;flex:1;gap:2px;display:flex}#developer-tab .auth-prompt .auth-prompt-body strong{color:#6f4a08;font-size:1rem;font-weight:700}#developer-tab .auth-prompt .auth-prompt-body p{color:#8d6a2a;margin:0;font-size:.86rem}#developer-tab .auth-prompt .auth-prompt-cta{color:#fff;background:#c48b18;border-radius:8px;flex:none;padding:9px 18px;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s}@media (hover:hover){#developer-tab .auth-prompt .auth-prompt-cta:hover{background:#a3720d}}@media (width<=600px){#developer-tab .auth-prompt{flex-wrap:wrap;padding:14px 16px}#developer-tab .auth-prompt .auth-prompt-cta{margin-left:auto}}.src-badge{vertical-align:middle;border-radius:4px;margin-left:6px;padding:1px 7px;font-size:.7rem;font-weight:700;line-height:1.5;display:inline-block}.src-badge.presale{background:var(--color-type-presale-soft);color:var(--color-type-presale)}.src-badge.completed{background:var(--color-type-completed-soft);color:var(--color-type-completed)}#developer-tab>section,#developer-tab>section>div,#developer-tab>section>div.developer-redesign-body,#developer-tab>section>div.workspace,#developer-tab>section>div.developer-redesign-body.workspace,#developer-tab>section>div>section{box-shadow:none!important;filter:none!important;background:0 0!important;border:0!important;border-radius:0!important;outline:0!important}#developer-tab>section:before,#developer-tab>section:after,#developer-tab>section>div:before,#developer-tab>section>div:after,#developer-tab>section>div>section:before,#developer-tab>section>div>section:after{content:none!important;box-shadow:none!important;filter:none!important}
