/* TDesign desktop design adaptation. Official tokens are loaded before this file.
   The existing business controllers remain the source of interaction and permission behavior. */
body.tdesign-app{
 --ink:var(--td-text-color-primary);--muted:var(--td-text-color-secondary);--line:var(--td-border-level-1-color);--soft:var(--td-bg-color-secondarycontainer);--accent:var(--td-brand-color);--green:var(--td-success-color);--amber:var(--td-warning-color);
 --control-bg:var(--td-bg-color-container);--control-hover:var(--td-bg-color-container-hover);--ease-out:cubic-bezier(0,0,.15,1);--analytics-ease:cubic-bezier(.38,0,.24,1);
 color:var(--td-text-color-primary);background:var(--td-bg-color-page);font:var(--td-font-body-medium);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei UI","Microsoft YaHei",sans-serif;
}
body.tdesign-app *{letter-spacing:normal}
body.tdesign-app p,body.tdesign-app small,body.tdesign-app .muted{color:var(--td-text-color-secondary)}
body.tdesign-app small{font:var(--td-font-body-small)}
body.tdesign-app button,body.tdesign-app input,body.tdesign-app select,body.tdesign-app textarea{font:var(--td-font-body-medium);font-family:inherit;box-shadow:none}
body.tdesign-app button{box-shadow:none!important;border-radius:var(--td-radius-default)!important;transition:background-color .2s cubic-bezier(.38,0,.24,1),color .2s cubic-bezier(.38,0,.24,1),border-color .2s cubic-bezier(.38,0,.24,1)}
body.tdesign-app button:not(:where(nav button,.bar-hit,.donut-item,.timeline-card,.map-project,.hot-rank-row,.funder-share-row,.related-lease,.amap-project-marker,.sort-heading,.calendar-day)){
 height:var(--td-comp-size-m);min-height:var(--td-comp-size-m)!important;padding:0 var(--td-comp-paddingLR-m)!important;line-height:30px;border:1px solid var(--td-border-level-2-color);background:var(--td-bg-color-container);color:var(--td-text-color-primary);font-size:14px;
}
body.tdesign-app button:not(:where(.bar-hit,.amap-project-marker,.calendar-day)):hover{background:var(--td-bg-color-container-hover)}
body.tdesign-app button:active{transform:none}
body.tdesign-app button.primary{background:var(--td-brand-color)!important;border-color:var(--td-brand-color)!important;color:var(--td-text-color-anti)!important;font-weight:400}
body.tdesign-app button.primary:hover{background:var(--td-brand-color-hover)!important;border-color:var(--td-brand-color-hover)!important}
body.tdesign-app button.primary:active{background:var(--td-brand-color-active)!important;border-color:var(--td-brand-color-active)!important}
body.tdesign-app button:disabled{opacity:1;color:var(--td-text-color-disabled)!important;cursor:not-allowed}
body.tdesign-app button.primary:disabled{background:var(--td-brand-color-disabled)!important;border-color:var(--td-brand-color-disabled)!important;color:var(--td-text-color-anti)!important}
body.tdesign-app .quiet-button,body.tdesign-app button.link{background:transparent!important;border-color:transparent!important;color:var(--td-brand-color)!important}
body.tdesign-app .quiet-button:hover,body.tdesign-app button.link:hover{background:var(--td-brand-color-light)!important}
body.tdesign-app button:focus-visible,body.tdesign-app input:focus-visible,body.tdesign-app select:focus-visible,body.tdesign-app textarea:focus-visible{outline:2px solid var(--td-brand-color-focus);outline-offset:2px}
body.tdesign-app input,body.tdesign-app select{height:var(--td-comp-size-m)!important;min-height:var(--td-comp-size-m);padding:0 var(--td-comp-paddingLR-m)!important;border:1px solid var(--td-border-level-2-color)!important;border-radius:var(--td-radius-default)!important;background:var(--td-bg-color-container)!important;color:var(--td-text-color-primary);font-size:14px!important;line-height:30px}
body.tdesign-app :is(input,select,textarea):hover{border-color:var(--td-brand-color)!important}
body.tdesign-app :is(input,select,textarea):focus{border-color:var(--td-brand-color)!important}
body.tdesign-app input::placeholder,body.tdesign-app textarea::placeholder{color:var(--td-text-color-placeholder)}
body.tdesign-app input[type=checkbox]{width:16px!important;height:16px!important;min-height:0;padding:0!important;accent-color:var(--td-brand-color)}
body.tdesign-app input[type=file]{height:auto!important;line-height:22px;padding:8px!important}
body.tdesign-app textarea{padding:8px 12px;border:1px solid var(--td-border-level-2-color)!important;border-radius:var(--td-radius-default);resize:vertical}
body.tdesign-app aside{width:232px;padding:0 12px 16px;background:var(--td-bg-color-container);border-right:1px solid var(--td-border-level-1-color)}
body.tdesign-app .brand{height:64px;min-height:64px;padding:0 4px!important;border:0;gap:8px!important}
body.tdesign-app .brand-wordmark{font:var(--td-font-title-large);font-family:var(--td-font-family),sans-serif;letter-spacing:normal;color:var(--td-text-color-primary)}
body.tdesign-app .brand-mark{width:32px;height:32px}
body.tdesign-app nav p{font:var(--td-font-body-small);color:var(--td-text-color-placeholder);margin:24px 12px 8px}
body.tdesign-app nav button{height:40px;min-height:40px!important;margin:4px 0;padding:0 12px!important;border:0!important;border-radius:var(--td-radius-default)!important;color:var(--td-text-color-primary);gap:12px;font-size:14px;line-height:22px}
body.tdesign-app nav button.active{background:var(--td-brand-color-light)!important;color:var(--td-brand-color)!important;font-weight:600}
body.tdesign-app nav button:hover:not(.active){background:var(--td-bg-color-container-hover)!important}
body.tdesign-app nav .icon{width:20px;height:20px;color:inherit}
body.tdesign-app nav .badge{font:var(--td-font-body-small);color:var(--td-text-color-secondary);background:var(--td-bg-color-secondarycontainer);padding:0 6px;border-radius:var(--td-radius-small)}
body.tdesign-app main{margin-left:232px}
body.tdesign-app main>header{height:64px;padding:0 24px;background:var(--td-bg-color-container);border-bottom:1px solid var(--td-border-level-1-color);font:var(--td-font-body-medium)}
body.tdesign-app header b{color:var(--td-text-color-primary);font-weight:400}
body.tdesign-app .header-actions{gap:16px}body.tdesign-app .user-avatar{width:32px;height:32px;background:var(--td-brand-color-light);color:var(--td-brand-color);font-size:14px;font-weight:600}
body.tdesign-app .workspace{padding:24px;max-width:1920px;margin:auto}
body.tdesign-app .toolbar{margin:0 0 24px;min-height:32px;align-items:center;gap:16px}
body.tdesign-app h1{font:var(--td-font-headline-small);margin:0}
body.tdesign-app h2,body.tdesign-app .section-heading h2{font:var(--td-font-title-medium)}
body.tdesign-app h3{font:var(--td-font-title-small)}
body.tdesign-app .frame{background:var(--td-bg-color-container)!important;border:0!important;border-radius:var(--td-radius-medium);padding:0;box-shadow:none;min-width:0}
body.tdesign-app .frame-title{padding:20px 24px 0;min-height:48px;gap:12px;align-items:center;background:transparent}
body.tdesign-app .frame-title h2{font:var(--td-font-title-medium)}
body.tdesign-app .paper{border:0!important;border-radius:0;background:transparent;padding:20px 24px 24px}
body.tdesign-app .metrics{gap:24px;margin-bottom:24px}
body.tdesign-app .metric .frame-title{padding:20px 24px 0;font:var(--td-font-body-medium);color:var(--td-text-color-secondary);min-height:42px}
body.tdesign-app .metric .metric-icon{color:var(--td-brand-color);width:20px;height:20px}
body.tdesign-app .metric .paper{grid-template-columns:minmax(0,1fr) 112px;padding:12px 24px 20px;min-height:112px;gap:16px;height:auto}
body.tdesign-app .number{font:var(--td-font-headline-large);font-variant-numeric:tabular-nums;color:var(--td-text-color-primary);white-space:nowrap}
body.tdesign-app .number small{font:var(--td-font-body-medium);margin-left:4px}
body.tdesign-app .foot,body.tdesign-app .metric .foot{font:var(--td-font-body-small);margin-top:8px;color:var(--td-text-color-secondary)}
body.tdesign-app .spark-caption{font:var(--td-font-body-small);color:var(--td-text-color-placeholder);white-space:nowrap}
body.tdesign-app .spark-wrap{width:112px!important;max-width:112px}
body.tdesign-app .industry-section{margin:0 0 24px}
body.tdesign-app .section-heading{margin:0 0 16px;min-height:32px}
body.tdesign-app .analytics-controls{gap:8px}
body.tdesign-app .analytics-controls select{font:var(--td-font-body-medium);max-width:200px}
body.tdesign-app .section-eyebrow{font:var(--td-font-body-small);color:var(--td-text-color-placeholder)}
body.tdesign-app .industry-grid{gap:24px}
body.tdesign-app .industry-grid .frame-title{padding:20px 24px 0;min-height:44px}
body.tdesign-app .industry-grid .paper{padding:16px 24px 20px;min-height:248px}
body.tdesign-app .industry-grid .donut-layout{flex-direction:row;gap:16px;min-height:212px}
body.tdesign-app .industry-grid .donut-visual{width:144px}
body.tdesign-app .industry-grid .donut-center strong{font:var(--td-font-headline-small);font-variant-numeric:tabular-nums}
body.tdesign-app .donut-center span,body.tdesign-app .donut-center small{font:var(--td-font-body-small);color:var(--td-text-color-secondary)}
body.tdesign-app .donut-center{padding:24px}
body.tdesign-app .donut-legend{max-width:none}
body.tdesign-app .donut-item{min-height:36px;padding:4px!important;gap:8px;border:0!important;background:transparent!important}
body.tdesign-app .donut-item:hover{background:var(--td-bg-color-container-hover)!important}
body.tdesign-app .legend-name,body.tdesign-app .legend-value{font:var(--td-font-body-medium)}
body.tdesign-app .legend-name small,body.tdesign-app .legend-value small{font:var(--td-font-body-small);color:var(--td-text-color-placeholder)}
body.tdesign-app .donut-item i{border-radius:2px;width:8px;height:8px}
body.tdesign-app .chart-controls{height:32px;padding:2px;background:var(--td-bg-color-secondarycontainer)!important;border:0;border-radius:var(--td-radius-default)}
body.tdesign-app .chart-controls button{height:28px!important;min-height:28px!important;padding:0 12px!important;line-height:26px!important;font-size:14px!important;color:var(--td-text-color-secondary);border:0!important;border-radius:var(--td-radius-small)!important}
body.tdesign-app .chart-controls button.selected{background:var(--td-bg-color-container)!important;color:var(--td-brand-color)!important;box-shadow:0 1px 2px rgba(0,0,0,.08)!important;font-weight:600}
body.tdesign-app #dateRange .date-trigger,body.tdesign-app .date-trigger{height:32px;min-height:32px!important;font:var(--td-font-body-medium);line-height:30px;border:1px solid var(--td-border-level-2-color)!important;border-radius:var(--td-radius-default)!important;background:var(--td-bg-color-container)!important;color:var(--td-text-color-primary)!important;padding:0 12px!important}
body.tdesign-app #dateRange .date-trigger:hover,body.tdesign-app .date-trigger:hover{border-color:var(--td-brand-color)!important;background:var(--td-bg-color-container)!important}
body.tdesign-app #dateRange .date-trigger .icon,body.tdesign-app #dateRange .range-chevron{color:var(--td-text-color-placeholder)}
body.tdesign-app .range-popover{border:1px solid var(--td-border-level-1-color);border-radius:var(--td-radius-default);background:var(--td-bg-color-container);box-shadow:var(--td-shadow-2);z-index:5500;font:var(--td-font-body-medium)}
body.tdesign-app .range-top b{font:var(--td-font-title-small)}
body.tdesign-app .range-presets button{height:28px;min-height:28px!important;font:var(--td-font-body-small);line-height:26px;background:var(--td-bg-color-secondarycontainer)}
body.tdesign-app .range-inputs label,body.tdesign-app .calendar-week,body.tdesign-app .range-coverage,body.tdesign-app .calendar-navigation>span{font:var(--td-font-body-small)}
body.tdesign-app .calendar-day{height:32px;min-height:32px;border-radius:var(--td-radius-default);font:var(--td-font-body-medium);border:0!important;color:var(--td-text-color-primary);background:transparent}
body.tdesign-app .calendar-day.endpoint{background:var(--td-brand-color)!important;color:var(--td-text-color-anti)!important}
body.tdesign-app .calendar-day.in-range{background:var(--td-brand-color-light)!important;color:var(--td-brand-color)}
body.tdesign-app .calendar-day:hover:not(.endpoint){background:var(--td-bg-color-container-hover)!important}
body.tdesign-app .calendar-day.has-data:after{background:var(--td-brand-color)}
body.tdesign-app .calendar-month h3{font:var(--td-font-title-small)}
body.tdesign-app .homepage-map,body.tdesign-app .grid,body.tdesign-app .funders-insights{margin-bottom:24px;gap:24px}
body.tdesign-app .map-filter-toolbar{padding:0 0 16px;margin:0 0 16px;border-color:var(--td-border-level-1-color)}
body.tdesign-app .map-filter-toolbar label{font:var(--td-font-title-small);color:var(--td-text-color-primary)}
body.tdesign-app .map-filter-toolbar select{background:var(--td-bg-color-container)!important;border-color:var(--td-border-level-2-color)!important;color:var(--td-text-color-primary);font-weight:400}
body.tdesign-app .map-filter-toolbar>span,body.tdesign-app .map-scope,body.tdesign-app .map-industry-caption,body.tdesign-app .color-label{font:var(--td-font-body-small)}
body.tdesign-app .map-stage{border:1px solid var(--td-border-level-1-color);border-radius:var(--td-radius-default);background:var(--td-bg-color-secondarycontainer)}
body.tdesign-app .map-detail-heading h3{font:var(--td-font-title-medium)}
body.tdesign-app .map-detail-meta,body.tdesign-app .map-detail-heading .muted,body.tdesign-app .map-detail-numbers small,body.tdesign-app .map-project-lessor,body.tdesign-app .map-project-bottom time,body.tdesign-app .map-detail-subtitle{font:var(--td-font-body-small);color:var(--td-text-color-secondary)}
body.tdesign-app .map-detail-numbers b{font:var(--td-font-headline-small);font-variant-numeric:tabular-nums}
body.tdesign-app .map-project-name{font:var(--td-font-title-small);color:var(--td-text-color-primary)}
body.tdesign-app .map-project{border-color:var(--td-border-level-1-color)!important;border-radius:0!important;background:transparent!important;padding:12px 4px!important}
body.tdesign-app .map-project:hover{background:var(--td-bg-color-container-hover)!important}
body.tdesign-app .map-project-bottom strong{font:var(--td-font-mark-medium);color:var(--td-brand-color)}
body.tdesign-app .map-project-bottom strong small,body.tdesign-app .map-detail-foot,body.tdesign-app .map-source,body.tdesign-app .map-rank{font:var(--td-font-body-small)}
body.tdesign-app .map-location-ranking>button{height:32px;min-height:32px!important;padding:4px!important;font:var(--td-font-body-medium)}
body.tdesign-app .map-ranking-bar{background:var(--td-brand-color-light);height:4px}
body.tdesign-app .map-ranking-bar i{background:var(--td-brand-color)}
body.tdesign-app .map-tools button{width:32px;height:32px;min-height:32px!important;background:var(--td-bg-color-container)!important;border:1px solid var(--td-border-level-1-color)!important;padding:0!important}
body.tdesign-app .map-tools button[data-map-zoom=reset]{width:48px}
body.tdesign-app .map-provider-status,body.tdesign-app .map-legend{border-radius:var(--td-radius-default);font:var(--td-font-body-small)}
body.tdesign-app .trend-dashboard>.frame{height:484px}
body.tdesign-app .trend-dashboard>.frame>.paper{padding:20px 24px 24px}
body.tdesign-app .trend-dashboard>.frame:first-child .frame-title{min-height:60px;padding-top:20px}
body.tdesign-app #trendChart .number{font:var(--td-font-headline-medium)}
body.tdesign-app .chart-scope-tag{font:var(--td-font-body-small);background:var(--td-brand-color-light);color:var(--td-brand-color);border-radius:var(--td-radius-small);padding:2px 8px}
body.tdesign-app .bar-hit .bar{border-radius:var(--td-radius-small) var(--td-radius-small) 0 0;border:0;animation-duration:.28s;animation-delay:0s;background:color-mix(in srgb,var(--trend-color,var(--td-brand-color)) 30%,white)}
body.tdesign-app .bar-hit.is-active .bar,body.tdesign-app .bar-hit:hover .bar{background:var(--trend-color,var(--td-brand-color))}
body.tdesign-app .chart-tooltip{font:var(--td-font-body-small);color:var(--td-text-color-anti);border-radius:var(--td-radius-default);background:var(--td-gray-color-13);box-shadow:var(--td-shadow-1)}
body.tdesign-app .bar-label{font:var(--td-font-body-small);color:var(--td-text-color-secondary)}
body.tdesign-app #trendChart .chart-meta{font:var(--td-font-body-small);border-color:var(--td-border-level-1-color);padding:12px 0 0;min-height:32px}
body.tdesign-app #recentProjects .timeline-intro strong,body.tdesign-app .timeline-lessee{font:var(--td-font-title-small);color:var(--td-text-color-primary)}
body.tdesign-app .timeline-intro small,body.tdesign-app .timeline-head time,body.tdesign-app .timeline-lessor{font:var(--td-font-body-small);color:var(--td-text-color-secondary)}
body.tdesign-app .timeline-head strong{font:var(--td-font-mark-medium)}
body.tdesign-app .timeline-card{background:transparent;border:0!important;padding:12px 4px!important}
body.tdesign-app #recentProjects .timeline-foot{font:var(--td-font-body-small);border-color:var(--td-border-level-1-color)}
body.tdesign-app .period-indicator{background:var(--td-brand-color)}
body.tdesign-app .industry-pill,body.tdesign-app .timeline-industry{border-radius:var(--td-radius-default);font:var(--td-font-mark-small);padding:1px 8px;line-height:20px;color:#fff;border:0!important}
body.tdesign-app .pill,body.tdesign-app .status-chip{border:0;border-radius:var(--td-radius-default);font:var(--td-font-body-small);line-height:20px;padding:2px 8px;background:var(--td-warning-color-light);color:var(--td-warning-color-7)}
body.tdesign-app .pill.green,body.tdesign-app .status-chip.is-confirmed{background:var(--td-success-color-light);color:var(--td-success-color-7)}
body.tdesign-app .status-chip.is-warning{background:var(--td-error-color-light);color:var(--td-error-color-7)}
body.tdesign-app .method-chip{background:var(--td-bg-color-secondarycontainer);color:var(--td-text-color-secondary);border-radius:var(--td-radius-default);font:var(--td-font-body-small);line-height:20px;padding:2px 8px}
body.tdesign-app .preview-header-controls{gap:8px;flex-wrap:wrap}
body.tdesign-app .preview-amount-filter input{height:28px!important;min-height:28px;width:104px;font:var(--td-font-body-small)!important}
body.tdesign-app .preview-header-controls button{height:28px;min-height:28px!important;font:var(--td-font-body-small)!important;line-height:26px!important}
body.tdesign-app .preview-panel .paper{padding-top:16px}
body.tdesign-app .table-scroll{border:0;scrollbar-width:thin}
body.tdesign-app table,body.tdesign-app .projects-table,body.tdesign-app .funder-table{font:var(--td-font-body-medium);border-collapse:collapse}
body.tdesign-app th{background:var(--td-bg-color-secondarycontainer);color:var(--td-text-color-secondary);font:var(--td-font-body-medium);padding:12px 16px;border-bottom:1px solid var(--td-border-level-1-color)}
body.tdesign-app td,body.tdesign-app .projects-table td,body.tdesign-app .funder-table td{padding:8px 16px;line-height:22px;border-bottom:1px solid var(--td-border-level-1-color);color:var(--td-text-color-primary)}
body.tdesign-app .projects-table th,body.tdesign-app .funder-table th{padding:12px 16px}
body.tdesign-app tbody tr:hover,body.tdesign-app .project-row:hover{background:var(--td-bg-color-container-hover)}
body.tdesign-app .projects-table .name{max-width:260px}
body.tdesign-app .sort-heading{font:inherit!important;padding:0!important;height:auto;line-height:22px!important}
body.tdesign-app th[aria-sort=ascending] .sort-heading,body.tdesign-app th[aria-sort=descending] .sort-heading{color:var(--td-brand-color)}
body.tdesign-app .sort-heading span{color:var(--td-text-color-placeholder)}
body.tdesign-app .projects-table button.link,body.tdesign-app .funder-table button.link{height:24px;min-height:24px!important;line-height:22px!important;font-size:14px}
body.tdesign-app .amount-number small{font:var(--td-font-body-small);color:var(--td-text-color-placeholder)}
body.tdesign-app .amount-track,body.tdesign-app .funder-track{height:4px;background:var(--td-bg-color-secondarycontainer);border-radius:var(--td-radius-round);margin-top:4px}
body.tdesign-app .funder-name{font:var(--td-font-body-medium)}
body.tdesign-app .table-pagination{font:var(--td-font-body-medium);padding:16px 0 0;color:var(--td-text-color-secondary)}
body.tdesign-app .filters{gap:12px;margin-bottom:16px}body.tdesign-app .filters input{min-width:280px}body.tdesign-app .active-scope{font:var(--td-font-body-small);background:var(--td-brand-color-light);color:var(--td-brand-color);border:0;border-radius:var(--td-radius-default);margin-bottom:16px}
body.tdesign-app .funder-summary{border:0;border-radius:var(--td-radius-medium);background:var(--td-bg-color-container);padding:24px;gap:24px;margin-bottom:24px}
body.tdesign-app .funder-summary>div>span{font:var(--td-font-body-medium);color:var(--td-text-color-secondary)}
body.tdesign-app .funder-summary strong{font:var(--td-font-headline-medium);font-variant-numeric:tabular-nums}
body.tdesign-app .funder-summary small,body.tdesign-app .funder-summary>p{font:var(--td-font-body-small)}
body.tdesign-app .funders-insights{gap:24px}body.tdesign-app .funders-insights .paper{padding:20px 24px 24px}
body.tdesign-app .funder-share-top,body.tdesign-app .funder-share-top>b{font:var(--td-font-body-small);color:var(--td-text-color-secondary)}
body.tdesign-app .funder-share-top>strong{font:var(--td-font-headline-small);color:var(--td-text-color-primary)}
body.tdesign-app .funder-share-strip{height:24px;border-radius:var(--td-radius-default);margin:12px 0}
body.tdesign-app .funder-share-row{font:var(--td-font-body-medium);height:36px;min-height:36px!important;padding:4px!important;grid-template-columns:20px 8px minmax(0,1fr) auto 56px;gap:8px;background:transparent!important;border-radius:var(--td-radius-default)!important}
body.tdesign-app .funder-share-row:hover{background:var(--td-bg-color-container-hover)!important}
body.tdesign-app .share-name,body.tdesign-app .funder-share-row strong{font:var(--td-font-body-medium);color:var(--td-text-color-primary)}
body.tdesign-app .share-rank,body.tdesign-app .funder-share-row>b,body.tdesign-app .funder-share-row small{font:var(--td-font-body-small);color:var(--td-text-color-secondary)}
body.tdesign-app .hot-rank-row{padding:14px 4px!important;border-radius:var(--td-radius-default)!important}
body.tdesign-app .hot-rank-title{font:var(--td-font-body-medium);color:var(--td-text-color-primary)}
body.tdesign-app .hot-rank-meta{font:var(--td-font-body-small);color:var(--td-text-color-secondary)}
body.tdesign-app .hot-rank-number{font:var(--td-font-mark-small);border-radius:var(--td-radius-default)}
body.tdesign-app .hot-rank-row>strong{font:var(--td-font-title-extraLarge)}
body.tdesign-app .hot-rank-row>strong small{font:var(--td-font-body-small)}
body.tdesign-app .funder-local-controls{font:var(--td-font-body-small);gap:8px}
body.tdesign-app #overlay{background:rgba(0,0,0,.6);z-index:1500}
body.tdesign-app .drawer{width:min(880px,100vw);border-radius:0;background:var(--td-bg-color-container);box-shadow:var(--td-shadow-2)}
body.tdesign-app .drawer-head{min-height:64px;padding:16px 24px;border-color:var(--td-border-level-1-color)}
body.tdesign-app .drawer-head h2{font:var(--td-font-title-medium)}
body.tdesign-app .drawer-head button{width:32px;height:32px;background:transparent!important;border:0!important;color:var(--td-text-color-secondary)}
body.tdesign-app #detail{padding:24px}
body.tdesign-app .project-dashboard{gap:24px}
body.tdesign-app .project-parties{gap:16px 24px;border-color:var(--td-border-level-1-color);padding-bottom:16px}
body.tdesign-app .project-parties h2{font:var(--td-font-title-large);margin-top:8px;color:var(--td-text-color-primary)}
body.tdesign-app .project-parties .detail-eyebrow{font:var(--td-font-body-small);color:var(--td-text-color-secondary)}
body.tdesign-app .project-parties .detail-eyebrow .icon{color:var(--td-brand-color)}
body.tdesign-app .project-parties .party-lessee{border-color:var(--td-border-level-1-color)}
body.tdesign-app .project-parties .project-badges{gap:8px}
body.tdesign-app .project-parties .project-badges>span{font:var(--td-font-body-small);padding:0 8px;line-height:24px}
body.tdesign-app .detail-amount>span,body.tdesign-app .detail-amount>small{font:var(--td-font-body-small);color:var(--td-text-color-secondary)}
body.tdesign-app .detail-amount strong{font:var(--td-font-headline-large);color:var(--td-text-color-primary);font-variant-numeric:tabular-nums}
body.tdesign-app .detail-amount strong small{font:var(--td-font-body-medium);color:var(--td-text-color-secondary)}
body.tdesign-app .project-facts dl{gap:8px}body.tdesign-app .project-facts dl>div{font:var(--td-font-body-medium);gap:16px}
body.tdesign-app .project-facts dt{color:var(--td-text-color-secondary);min-width:84px}body.tdesign-app .project-facts dd{color:var(--td-text-color-primary)}
body.tdesign-app .fact-industry{margin-top:24px;gap:8px}body.tdesign-app .fact-industry>span:first-child{font:var(--td-font-body-small);color:var(--td-text-color-secondary)}
body.tdesign-app #quickConfirmIndustry{height:28px;min-height:28px!important;font:var(--td-font-body-small);background:var(--td-brand-color)!important;color:var(--td-text-color-anti)!important;border-radius:var(--td-radius-default)!important}
body.tdesign-app #quickConfirmIndustry.is-confirming{background:var(--td-brand-color-hover)!important}
body.tdesign-app #quickConfirmIndustry.is-confirmed{background:var(--td-success-color-6)!important;color:#fff!important}
body.tdesign-app #quickConfirmIndustry:before{background:var(--td-success-color-6)}
body.tdesign-app .detail-evidence,body.tdesign-app .related-leases{border-color:var(--td-border-level-1-color);padding-top:24px}
body.tdesign-app .detail-section-heading h3{font:var(--td-font-title-small)}
body.tdesign-app .evidence-text{background:var(--td-bg-color-secondarycontainer);border-radius:var(--td-radius-default);font:var(--td-font-body-medium);color:var(--td-text-color-secondary);line-height:24px;padding:12px 16px;margin-top:12px}
body.tdesign-app .related-lease{font:var(--td-font-body-medium);padding:12px 0;border-color:var(--td-border-level-1-color)!important;border-radius:0!important}
body.tdesign-app .related-lease strong{color:var(--td-brand-color);font-weight:600}body.tdesign-app .related-lease time,body.tdesign-app .related-lease small,body.tdesign-app .related-empty{font:var(--td-font-body-small);color:var(--td-text-color-secondary)}
body.tdesign-app .drawer-footer{min-height:64px;padding:16px 24px;border-color:var(--td-border-level-1-color);gap:8px}
body.tdesign-app .drawer-footer>small{font:var(--td-font-body-small)}
body.tdesign-app #reviewEditor,body.tdesign-app #batchReviewEditor{background:var(--td-bg-color-secondarycontainer);border-radius:var(--td-radius-default);padding:16px}
body.tdesign-app .review-editor-title h3{font:var(--td-font-title-small)}
body.tdesign-app .review-editor-title small,body.tdesign-app .review-batch-toolbar,body.tdesign-app .review-form-grid label,body.tdesign-app .review-industry-fields label,body.tdesign-app .review-reason{font:var(--td-font-body-small)}
body.tdesign-app .review-error{font:var(--td-font-body-small);color:var(--td-error-color)}
body.tdesign-app .review-submit-actions{gap:8px}body.tdesign-app .review-submit-actions small{font:var(--td-font-body-small)}
body.tdesign-app .drop{background:var(--td-bg-color-secondarycontainer);border:1px dashed var(--td-border-level-2-color);border-radius:var(--td-radius-default);padding:32px 24px}
body.tdesign-app .drop h2{font:var(--td-font-title-medium)}
body.tdesign-app .field label,body.tdesign-app .drop p,body.tdesign-app .step{font:var(--td-font-body-medium)}
body.tdesign-app .note{background:var(--td-brand-color-light);border:0;border-radius:var(--td-radius-default);font:var(--td-font-body-small)}
body.tdesign-app #toast{font:var(--td-font-body-medium);background:var(--td-bg-color-container);color:var(--td-text-color-primary);border-radius:var(--td-radius-default);padding:12px 24px;box-shadow:var(--td-shadow-3);z-index:5000;max-width:calc(100vw - 32px)}
/* Account and role management use the same system. */
body.tdesign-app.account-page .account-header{height:64px;padding:0 24px;background:var(--td-bg-color-container);border-color:var(--td-border-level-1-color)}
body.tdesign-app.account-page main{margin:0 auto;padding:32px 24px;max-width:1440px}
body.tdesign-app.account-page .auth-card{margin:8vh auto;max-width:432px;background:var(--td-bg-color-container);border:0;border-radius:var(--td-radius-medium);padding:32px;box-shadow:none;animation:none}
body.tdesign-app.account-page h1{font:var(--td-font-headline-small);margin-bottom:8px}
body.tdesign-app.account-page .auth-card p{font:var(--td-font-body-medium)}
body.tdesign-app.account-page label{font:var(--td-font-body-medium);gap:8px;margin-top:24px}
body.tdesign-app.account-page .primary{margin-top:24px}
body.tdesign-app.account-page .account-heading .primary{margin-top:0}
body.tdesign-app.account-page .account-panel{background:var(--td-bg-color-container);border:0;border-radius:var(--td-radius-medium);animation:none}
body.tdesign-app.account-page .account-panel :is(td,th){padding:12px 16px}
body.tdesign-app.account-page dialog{padding:24px;border:0;border-radius:var(--td-radius-medium);box-shadow:var(--td-shadow-3);color:var(--td-text-color-primary);animation:none}
body.tdesign-app.account-page dialog::backdrop{background:rgba(0,0,0,.6);backdrop-filter:none}
body.tdesign-app.account-page #message{font:var(--td-font-body-medium);border-radius:var(--td-radius-default);background:var(--td-bg-color-container);color:var(--td-text-color-primary);box-shadow:var(--td-shadow-3);border:0}
body.tdesign-app.account-page .error{color:var(--td-error-color);font:var(--td-font-body-small)}
body.tdesign-app .account-header a{color:var(--td-brand-color)}
@media(min-width:1600px){body.tdesign-app .industry-grid .donut-visual{width:160px}body.tdesign-app .industry-grid .paper{min-height:248px}}
@media(max-width:1350px) and (min-width:1001px){body.tdesign-app .industry-grid .donut-layout{flex-direction:column;gap:8px}body.tdesign-app .industry-grid .paper{min-height:392px;padding:12px 16px 20px}body.tdesign-app .industry-grid .donut-visual{width:136px}body.tdesign-app .industry-grid .legend-name{font-size:14px}body.tdesign-app .industry-grid .legend-value{font-size:12px}}
@media(max-width:1100px){body.tdesign-app .workspace{padding:16px}body.tdesign-app .metrics,body.tdesign-app .industry-grid,body.tdesign-app .funders-insights{gap:16px}body.tdesign-app .metric .paper{grid-template-columns:1fr;gap:4px;min-height:148px;padding:12px 16px 16px}body.tdesign-app .metric .frame-title{padding:16px 16px 0}body.tdesign-app .metric .spark-wrap{width:96px!important;margin-left:auto}body.tdesign-app .trend-dashboard{grid-template-columns:1fr}body.tdesign-app .funder-share-row{grid-template-columns:16px 8px minmax(0,1fr) auto 44px;gap:6px}body.tdesign-app .funder-share-row strong small{display:none}}
@media(max-width:1000px){body.tdesign-app aside{width:200px}body.tdesign-app main{margin-left:200px}body.tdesign-app .industry-grid{grid-template-columns:1fr}body.tdesign-app .industry-grid .donut-layout{flex-direction:row;gap:24px}body.tdesign-app .industry-grid .donut-visual{width:160px}body.tdesign-app .industry-grid .paper{min-height:240px;padding:16px 24px}body.tdesign-app .industry-grid .donut-legend{max-width:none}body.tdesign-app .funders-insights{grid-template-columns:1fr}body.tdesign-app .funder-summary{grid-template-columns:repeat(3,minmax(0,1fr));padding:16px}body.tdesign-app .funder-summary strong{font:var(--td-font-headline-small)}body.tdesign-app .map-layout{grid-template-columns:1fr}body.tdesign-app .map-selection{padding-left:0}body.tdesign-app .frame-title{flex-wrap:wrap}}
@media(max-width:700px){body.tdesign-app aside{position:static;width:auto;padding:0 16px 8px;border:0;border-bottom:1px solid var(--td-border-level-1-color)}body.tdesign-app .brand{height:56px;min-height:56px}body.tdesign-app nav{display:flex;overflow:auto;gap:4px}body.tdesign-app nav button{height:36px;min-height:36px!important;flex-shrink:0;width:auto;gap:6px;padding:0 12px!important}body.tdesign-app nav p{display:none}body.tdesign-app main{margin:0}body.tdesign-app main>header{height:48px;padding:0 16px;font:var(--td-font-body-small)}body.tdesign-app .workspace{padding:16px}body.tdesign-app .toolbar{margin-bottom:16px}body.tdesign-app .toolbar-controls{width:auto;flex:1;min-width:0}body.tdesign-app .date-trigger{max-width:100%;font:var(--td-font-body-small)!important}body.tdesign-app .metrics{grid-template-columns:1fr;margin-bottom:16px}body.tdesign-app .metric .paper{grid-template-columns:minmax(0,1fr) 112px;min-height:112px;padding:12px 20px 16px}body.tdesign-app .metric .number{font:var(--td-font-headline-medium)}body.tdesign-app .metric .frame-title{padding:16px 20px 0}body.tdesign-app .section-heading{gap:12px}body.tdesign-app .analytics-controls{width:auto;flex-wrap:wrap}body.tdesign-app .analytics-controls select{max-width:160px;flex:1}body.tdesign-app .industry-grid .paper{padding:12px 16px 20px}body.tdesign-app .industry-grid .donut-visual{width:128px}body.tdesign-app .industry-grid .donut-layout{gap:12px}body.tdesign-app .frame-title{padding:16px 16px 0;min-height:40px}body.tdesign-app .paper{padding:16px}body.tdesign-app .trend-dashboard>.frame:first-child{height:512px}body.tdesign-app .trend-dashboard>.frame>.paper{padding:16px}body.tdesign-app .trend-controls{gap:8px}body.tdesign-app .preview-header-controls{width:100%;justify-content:flex-start;gap:8px}body.tdesign-app .preview-amount-filter{flex-wrap:wrap}body.tdesign-app .preview-amount-filter input{width:96px}body.tdesign-app .preview-header-controls>button{margin-left:0}body.tdesign-app .filters input{width:100%;min-width:0}body.tdesign-app .filters select{min-width:0;flex:1}body.tdesign-app .projects-table{min-width:1000px}body.tdesign-app .funder-table{min-width:740px}body.tdesign-app .funder-summary{gap:12px}body.tdesign-app .funder-summary>div>span{font:var(--td-font-body-small)}body.tdesign-app .funder-summary strong{font:var(--td-font-title-extraLarge)}body.tdesign-app .funder-share-row{font:var(--td-font-body-small);grid-template-columns:18px 8px minmax(0,1fr) auto 44px;gap:6px}body.tdesign-app .funder-share-row .share-name,body.tdesign-app .funder-share-row strong{font:var(--td-font-body-small)}body.tdesign-app .map-source{gap:8px;flex-wrap:wrap}body.tdesign-app .map-industry-caption{gap:8px}body.tdesign-app .map-project-list{max-height:360px}body.tdesign-app .map-legend{font-size:12px!important}body.tdesign-app .drawer-head{min-height:56px;padding:12px 16px}body.tdesign-app #detail{padding:16px}body.tdesign-app .project-parties{grid-template-columns:1fr}body.tdesign-app .project-parties .party-lessee{padding-left:0;border-left:0}body.tdesign-app .facts-top{gap:16px}body.tdesign-app .fact-industry{row-gap:8px}body.tdesign-app .fact-industry .quick-confirm{margin-left:auto}body.tdesign-app .drawer-footer{padding:12px 16px;min-height:56px}body.tdesign-app .related-lease{grid-template-columns:72px minmax(0,1fr) auto;gap:8px}body.tdesign-app.account-page .account-header{padding:0 16px}body.tdesign-app.account-page .account-header .brand-wordmark{font-size:16px}body.tdesign-app.account-page main{padding:24px 16px}body.tdesign-app.account-page .auth-card{padding:24px;margin:4vh auto}body.tdesign-app .range-popover{max-width:calc(100vw - 32px)}}
@media(prefers-reduced-motion:reduce){body.tdesign-app *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@font-face{font-family:TCloudNumber;src:url('vendor/tdesign/fonts/TCloudNumber-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0025,U+002A-003A}
@font-face{font-family:TCloudNumber;src:url('vendor/tdesign/fonts/TCloudNumber-Bold.ttf') format('truetype');font-style:normal;font-weight:600 700;font-display:swap;unicode-range:U+0025,U+002A-003A}
body.tdesign-app .number,body.tdesign-app .donut-center strong,body.tdesign-app .funder-summary strong,body.tdesign-app .detail-amount strong,body.tdesign-app .funder-share-top strong,body.tdesign-app .map-detail-numbers b{font-family:TCloudNumber,-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;font-variant-numeric:tabular-nums}
body.tdesign-app .icon path[fill=white]{fill:var(--td-bg-color-container)}
body.tdesign-app .legend-value small{color:var(--td-text-color-secondary)}
body.tdesign-app #quickConfirmIndustry{transition:background-color .2s cubic-bezier(.38,0,.24,1),color .2s cubic-bezier(.38,0,.24,1)}
body.tdesign-app #quickConfirmIndustry:before{transition:transform .24s cubic-bezier(.38,0,.24,1)}
body.tdesign-app #quickConfirmIndustry svg path{transition:stroke-dashoffset .24s cubic-bezier(.38,0,.24,1)}
body.tdesign-app :is(input,textarea):user-invalid{border-color:var(--td-error-color)!important}
body.tdesign-app #toast:before{content:'i';display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--td-brand-color);color:white;font:600 12px/16px sans-serif;margin-right:8px}
@media(prefers-reduced-motion:reduce){body.tdesign-app #quickConfirmIndustry,body.tdesign-app #quickConfirmIndustry:before,body.tdesign-app #quickConfirmIndustry svg path{transition:none!important}}
body.tdesign-app.account-page .account-panel .actions{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
body.tdesign-app.account-page .account-panel :is(td,th){padding:8px 16px}
body.tdesign-app.account-page .account-panel .actions button{height:28px;min-height:28px!important;font:var(--td-font-body-small)!important;line-height:26px!important;padding:0 8px!important;border-color:transparent;background:transparent;color:var(--td-brand-color)}
body.tdesign-app.account-page .account-panel .actions button:hover{background:var(--td-brand-color-light)}
body.tdesign-app.account-page .account-panel .actions button.danger-action{color:var(--td-error-color)}
body.tdesign-app.account-page .auth-card .primary{height:36px;min-height:36px!important;line-height:34px!important}
/* Ring and legend share the same hover, focus and pinned selection. */
body.tdesign-app .donut-segment{pointer-events:stroke;cursor:pointer;transition:opacity .2s cubic-bezier(.38,0,.24,1),stroke-width .2s cubic-bezier(.38,0,.24,1)}
body.tdesign-app .donut-segment.is-active{stroke-width:28;opacity:1}
body.tdesign-app .donut-segment.is-muted{opacity:.24}
body.tdesign-app .donut-segment:focus{outline:none}
body.tdesign-app .donut-segment:focus-visible{outline:none;stroke-width:30;filter:drop-shadow(0 0 2px var(--td-brand-color))}
body.tdesign-app .donut-item.is-active{background:var(--td-brand-color-light)!important}
body.tdesign-app .donut-tooltip{position:fixed;z-index:5500;max-width:min(300px,calc(100vw - 16px));padding:10px 12px;border-radius:var(--td-radius-default);background:var(--td-gray-color-13);color:var(--td-text-color-anti);box-shadow:var(--td-shadow-2);font:var(--td-font-body-small);pointer-events:none;white-space:normal}
body.tdesign-app .donut-tooltip strong,body.tdesign-app .donut-tooltip span{display:block}
body.tdesign-app .donut-tooltip strong{font-weight:600;margin-bottom:4px}
body.tdesign-app .donut-tooltip[hidden]{display:none}
@media(prefers-reduced-motion:reduce){body.tdesign-app .donut-segment{transition:none}}
/* Annual opening campaign: the same TDesign surfaces, typography and controls. */
body.tdesign-app .nav-submenu{margin:0 0 8px 30px;border-left:1px solid var(--td-border-level-1-color);padding-left:8px}
body.tdesign-app .nav-submenu button{font:var(--td-font-body-medium);height:36px;padding-left:12px!important;gap:10px}
body.tdesign-app .nav-submenu-dot{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.65}
body.tdesign-app .campaign-page{display:grid;gap:24px}
body.tdesign-app .campaign-settings,body.tdesign-app .campaign-period{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
body.tdesign-app .campaign-settings{justify-content:space-between}
body.tdesign-app .campaign-period>span{color:var(--td-text-color-secondary);font:var(--td-font-body-small)}
body.tdesign-app .campaign-notice{padding:10px 16px;background:var(--td-brand-color-light);color:var(--td-brand-color);border-radius:var(--td-radius-default);font:var(--td-font-body-medium);margin-top:-12px}
body.tdesign-app .campaign-notice.is-demo{background:var(--td-warning-color-light);color:var(--td-warning-color-active)}
body.tdesign-app .campaign-panel{background:var(--td-bg-color-container);border-radius:var(--td-radius-medium);padding:24px;min-width:0}
body.tdesign-app .campaign-heading,body.tdesign-app .campaign-subheading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}
body.tdesign-app .campaign-heading h2{margin:0;font:var(--td-font-title-medium);color:var(--td-text-color-primary)}
body.tdesign-app .campaign-heading p,body.tdesign-app .campaign-heading>span,body.tdesign-app .campaign-subheading>span,body.tdesign-app .campaign-note{font:var(--td-font-body-small);color:var(--td-text-color-secondary);margin:4px 0 0}
body.tdesign-app .campaign-subheading{margin:0 0 16px}
body.tdesign-app .campaign-subheading h3{font:var(--td-font-title-small);margin:0}
body.tdesign-app .campaign-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
body.tdesign-app .campaign-total{display:flex;flex-direction:column;gap:8px;padding:0 0 24px;margin:0 0 24px;border-bottom:1px solid var(--td-border-level-1-color)}
body.tdesign-app .campaign-total>span{color:var(--td-text-color-secondary);font:var(--td-font-body-medium)}
body.tdesign-app .campaign-total>strong{font:var(--td-font-headline-large);font-family:TCloudNumber,var(--td-font-family),sans-serif}
body.tdesign-app .campaign-total strong small{font:var(--td-font-body-medium);color:var(--td-text-color-secondary)}
body.tdesign-app .campaign-ranking{list-style:none;margin:0;padding:0;display:grid;gap:18px}
body.tdesign-app .campaign-ranking li{display:flex;align-items:center;gap:12px;min-width:0}
body.tdesign-app .campaign-rank{font:var(--td-font-body-small);color:var(--td-text-color-placeholder);width:18px;flex-shrink:0;font-variant-numeric:tabular-nums}
body.tdesign-app .campaign-ranking li:nth-child(-n+3)>.campaign-rank{color:var(--td-brand-color);font-weight:600}
body.tdesign-app .campaign-rank-body{flex:1;min-width:0}
body.tdesign-app .campaign-rank-body>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--td-font-body-medium)}
body.tdesign-app .campaign-track{height:4px;background:var(--td-bg-color-secondarycontainer);margin-top:8px;overflow:hidden;border-radius:2px}
body.tdesign-app .campaign-track i{display:block;height:100%;background:var(--td-brand-color);border-radius:2px}
body.tdesign-app .campaign-ranking li>strong{min-width:70px;text-align:right;font:var(--td-font-title-small);font-family:TCloudNumber,var(--td-font-family),sans-serif;font-variant-numeric:tabular-nums}
body.tdesign-app .campaign-ranking small{font:var(--td-font-body-small);color:var(--td-text-color-secondary)}
body.tdesign-app .campaign-ticker{overflow:hidden;margin:0 -24px;padding:0 24px}
body.tdesign-app .campaign-ticker-track{display:flex;width:max-content;animation:campaign-scroll var(--ticker-duration) linear infinite}
body.tdesign-app .campaign-ticker-batch{display:flex;gap:12px;padding-right:12px}
body.tdesign-app .campaign-project{display:block;width:320px;flex-shrink:0;border:1px solid var(--td-border-level-1-color);border-radius:var(--td-radius-default);padding:16px!important;text-align:left;background:var(--td-bg-color-container)!important;color:var(--td-text-color-primary)}
body.tdesign-app button.campaign-project:hover{border-color:var(--td-brand-color)!important;background:var(--td-brand-color-light)!important}
body.tdesign-app .campaign-project>div{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
body.tdesign-app .campaign-project>div>span{color:var(--td-text-color-secondary);font:var(--td-font-body-small)}
body.tdesign-app .campaign-project strong,body.tdesign-app .campaign-project b{font:var(--td-font-title-small);white-space:normal;overflow-wrap:anywhere}
body.tdesign-app .campaign-project b{font-weight:400}
body.tdesign-app .campaign-project .campaign-project-meta{display:flex;flex-direction:row;justify-content:space-between;align-items:baseline;gap:8px;margin:0}
body.tdesign-app .campaign-project-meta>strong{font:var(--td-font-title-extraLarge);color:var(--td-brand-color);font-family:TCloudNumber,var(--td-font-family),sans-serif}
body.tdesign-app .campaign-project-meta small{font:var(--td-font-body-small);color:var(--td-text-color-secondary)}
body.tdesign-app .campaign-ticker:hover .campaign-ticker-track,body.tdesign-app .campaign-ticker:focus-within .campaign-ticker-track,body.tdesign-app .campaign-ticker.is-paused .campaign-ticker-track{animation-play-state:paused}
body.tdesign-app .campaign-industry-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}
body.tdesign-app .campaign-industry-tabs button{display:flex;flex-direction:column;align-items:flex-start;height:auto;gap:8px;padding:16px!important;min-width:0;border:1px solid var(--td-border-level-1-color)!important;background:var(--td-bg-color-container)!important}
body.tdesign-app .campaign-industry-tabs button.selected{border-color:var(--td-brand-color)!important;background:var(--td-brand-color-light)!important;color:var(--td-brand-color)}
body.tdesign-app .campaign-industry-tabs strong{font:var(--td-font-headline-small);font-family:TCloudNumber,var(--td-font-family),sans-serif;white-space:nowrap}
body.tdesign-app .campaign-industry-tabs small,body.tdesign-app .campaign-industry-tabs button>span:last-child{font:var(--td-font-body-small);color:var(--td-text-color-secondary)}
body.tdesign-app .campaign-industry-detail{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:32px;border-top:1px solid var(--td-border-level-1-color);padding-top:24px}
body.tdesign-app .campaign-industry-detail>div{min-width:0}
body.tdesign-app .campaign-industry-projects{display:grid;gap:0}
body.tdesign-app .campaign-project.is-compact{width:100%;border:0;border-radius:0;border-bottom:1px solid var(--td-border-level-1-color);padding:16px 0!important;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px}
body.tdesign-app .campaign-project.is-compact>div{margin:0}
body.tdesign-app .campaign-project.is-compact>div:nth-child(2){grid-column:1}
body.tdesign-app .campaign-project.is-compact>.campaign-project-meta{grid-column:2;grid-row:1/3;flex-direction:column;align-items:flex-end;justify-content:center}
body.tdesign-app .campaign-empty{padding:32px 12px;text-align:center;color:var(--td-text-color-secondary);font:var(--td-font-body-medium)}
@keyframes campaign-scroll{to{transform:translateX(-50%)}}
@media(max-width:1000px){body.tdesign-app .campaign-overview-grid{grid-template-columns:1fr}body.tdesign-app .campaign-industry-detail{grid-template-columns:1fr}body.tdesign-app .campaign-industry-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){body.tdesign-app .nav-submenu{display:flex;margin:4px 0;border:0;padding:0}body.tdesign-app .campaign-page{gap:16px}body.tdesign-app .campaign-panel{padding:16px}body.tdesign-app .campaign-ticker{margin:0 -16px;padding:0 16px}body.tdesign-app .campaign-project{width:280px}body.tdesign-app .campaign-industry-tabs button{padding:12px!important}body.tdesign-app .campaign-project.is-compact{grid-template-columns:minmax(0,1fr)}body.tdesign-app .campaign-project.is-compact>.campaign-project-meta{grid-column:1;grid-row:auto;flex-direction:row;align-items:baseline;justify-content:space-between}body.tdesign-app .campaign-period{gap:8px}body.tdesign-app .campaign-period>span{width:100%}}
@media(prefers-reduced-motion:reduce){body.tdesign-app .campaign-ticker-track{animation:none}body.tdesign-app .campaign-ticker{overflow:auto}body.tdesign-app .campaign-ticker-batch[aria-hidden]{display:none}}

body.tdesign-app .registration-status-chip{display:inline-flex;align-items:center;padding:2px 8px;background:var(--td-brand-color-light);color:var(--td-brand-color);border:1px solid var(--td-brand-color-focus);border-radius:var(--td-radius-default);font:var(--td-font-body-small)}
/* Campaign cards must not inherit the 32px height of a single-line button. */
body.tdesign-app .campaign-project{height:auto!important;min-height:180px!important;line-height:22px!important;overflow:visible;position:relative}
body.tdesign-app .campaign-project.is-compact{min-height:112px!important;height:auto!important;align-items:start}
body.tdesign-app .industry-grid .donut-center strong{font-size:18px;line-height:26px;letter-spacing:0}
body.tdesign-app .campaign-rank-hit{display:flex;align-items:center;gap:12px;width:100%;height:auto!important;min-height:44px!important;padding:6px 4px!important;text-align:left;background:transparent!important;border:0!important;line-height:22px!important}
body.tdesign-app .campaign-rank-hit:hover{background:var(--td-brand-color-light)!important}
body.tdesign-app .campaign-rank-hit>strong{min-width:70px;text-align:right;font:var(--td-font-title-small);font-family:TCloudNumber,var(--td-font-family),sans-serif}
body.tdesign-app .campaign-project-dialog{width:min(760px,calc(100vw - 32px));max-height:85vh;padding:24px;border:0;border-radius:var(--td-radius-medium);color:var(--td-text-color-primary);background:var(--td-bg-color-container);box-shadow:var(--td-shadow-3)}
body.tdesign-app .campaign-project-dialog::backdrop{background:rgba(0,0,0,.5)}
body.tdesign-app .campaign-modal-heading{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:16px}
body.tdesign-app .campaign-modal-heading h2{font:var(--td-font-title-large);margin:0}
body.tdesign-app .campaign-modal-heading p{font:var(--td-font-body-small);color:var(--td-text-color-secondary);margin-top:8px}
body.tdesign-app .campaign-modal-list{display:grid;max-height:55vh;overflow:auto}
body.tdesign-app .campaign-modal-project{display:flex;width:100%;height:auto!important;min-height:88px!important;align-items:center;justify-content:space-between;gap:16px;padding:12px!important;text-align:left;border:0!important;border-bottom:1px solid var(--td-border-level-1-color)!important;background:white!important;line-height:22px!important}
body.tdesign-app .campaign-modal-project:hover{background:var(--td-brand-color-light)!important}
body.tdesign-app .campaign-modal-project>span{display:flex;flex-direction:column;gap:4px;min-width:0}
body.tdesign-app .campaign-modal-project>span:last-child{flex-shrink:0;text-align:right}
body.tdesign-app .campaign-modal-project small{color:var(--td-text-color-secondary)}
body.tdesign-app .campaign-modal-pagination{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;font:var(--td-font-body-small)}
@media(max-width:700px){body.tdesign-app .campaign-project-dialog{padding:16px}body.tdesign-app .campaign-modal-project{flex-wrap:wrap}}
/* Long date windows retain readable bars and labels within their own viewport. */
body.tdesign-app .trend-scroll{min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;flex:0 0 268px;scrollbar-gutter:stable}
body.tdesign-app .trend-scroll .trend-plot{height:234px;margin:12px 0 0}
body.tdesign-app .trend-scroll .chart{gap:6px;width:100%}
body.tdesign-app .trend-scroll .bar-group{flex:1 0 28px;min-width:28px}
body.tdesign-app .trend-scroll .bar-label{white-space:nowrap;font-size:12px}
body.tdesign-app .campaign-ticker-batch>button.campaign-project{border:1px solid var(--td-border-level-2-color)!important;background:var(--td-bg-color-container)!important;border-radius:var(--td-radius-medium)!important}
body.tdesign-app .campaign-ticker-batch>button.campaign-project:hover{border-color:var(--td-brand-color)!important;background:var(--td-brand-color-light)!important}

/* Selected map region: full project list uses the existing TDesign dialog. */
body.tdesign-app .map-all-projects{width:100%;flex-shrink:0;margin-bottom:8px}
body.tdesign-app .map-project-dialog .map-project{border-radius:0;padding:12px;flex-shrink:0;border-bottom:1px solid var(--td-border-level-1-color);min-width:0}
body.tdesign-app .map-project-dialog .map-project:hover{background:var(--td-brand-color-light)}
body.tdesign-app .map-project-dialog .map-project-name{font-size:14px;line-height:20px}
body.tdesign-app .map-project-dialog .campaign-modal-list{display:block;overscroll-behavior:contain}
body.tdesign-app .map-project-dialog .campaign-modal-pagination{flex-wrap:wrap}
