:root:has(.app-shell){--bg: #071725;--panel: #102a42;--panel-raised: #15344d;--line: #28506a;--text: #edf6ff;--muted: #adc4d8;--accent: #68d6f0;--blue: var(--accent);--accent-soft: #15384e;--success: #8be8d1;--warning: #efcd90;--danger: #ffb3a9;color-scheme:dark}.app-shell{background:var(--bg);color:var(--text)}body:has(.app-shell) .page{background:var(--bg)}body:has(.app-shell) .sidebar nav a.selected{background:#133b5c;color:var(--text);box-shadow:inset 3px 0 #56cfee}body:has(.app-shell) :is(.breadcrumbs,.today,.account small){color:var(--muted)}body:has(.app-shell) .avatar{background:var(--panel-raised);color:var(--accent)}body:has(.app-shell) .research-tabs button{color:var(--muted)}body:has(.app-shell) .text-link{background:transparent}body:has(.app-shell) :is(.citation-link,.synthesis-evidence>a){color:var(--accent)}body:has(.app-shell) :is(.ocindex-summary,.incb-evidence h3,.incb-evidence p){color:var(--text)}body:has(.app-shell) :is(.synthesis-metric-head,.incb-evidence .sub,.incb-evidence .scope-note){color:var(--muted)}body:has(.app-shell) :is(.stat,.metric-card,.situation-toolbar,.assessment-metric,.country-gap,.country-indicators>a,.report-theme-grid a,.court-day-decisions,.synthesis-coverage-grid>div,.incb-evidence,.port-traffic-values>a,.port-traffic-values>button){background:var(--panel);color:var(--text);border-color:var(--line)}body:has(.app-shell) :is(.btn,.pick,.search-box),body:has(.app-shell) :is(.pick-menu,.modal){background:var(--panel-raised);color:var(--text);border-color:var(--line)}body:has(.app-shell) .btn.primary{background:var(--accent-soft);color:var(--text);border-color:#326182}body:has(.app-shell) :is(.btn:hover:not(:disabled),.btn.primary:hover:not(:disabled),.btn.accent){background:#1c435d;color:var(--text);border-color:#4b8ba6}body:has(.app-shell) .pick-item[data-highlighted]{background:#1c435d;color:var(--text)}body:has(.app-shell) .pick-menu{max-width:var(--radix-select-content-available-width)}body:has(.app-shell) .pick-item>span{min-width:0;overflow-wrap:anywhere}body:has(.app-shell) .modal-overlay{background:#020e1bc9}body:has(.app-shell) :is(.form input,.form textarea),body:has(.app-shell) :is(.court-search-form input,.court-decision-search input,.ports-workspace input){background:var(--bg);color:var(--text);border-color:var(--line)}.app-shell input::placeholder,body:has(.app-shell) .modal input::placeholder,body:has(.app-shell) .modal textarea::placeholder{color:var(--muted)}body:has(.app-shell) :is(.notice,.refresh-status){background:#0c2335;color:#cceafa;border-color:var(--line)}body:has(.app-shell) :is(.notice.error,.source-error){background:#3a292e;color:var(--danger);border-color:#795159}body:has(.app-shell) :is(.evidence-caveat,.tag.missing,.assessment-scope-badge){background:#383124;color:var(--warning);border-color:#716044}body:has(.app-shell) :is(.evidence-caveat>b,.evidence-caveat p){color:var(--warning)}body:has(.app-shell) :is(.tag,.tag.mn,.role-badge){background:var(--panel-raised);color:var(--muted)}body:has(.app-shell) .role-badge.producer{background:#392e2c;color:#ffbd96}body:has(.app-shell) .role-badge.consumer{background:#133e43;color:#8be8dc}body:has(.app-shell) .role-badge.both{background:#392e2c;color:#ffbd96}.research-citations-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;border:0;padding:0;background:transparent;color:var(--text);text-align:left;font:inherit;font-weight:700;cursor:pointer}.research-citations-toggle svg{flex-shrink:0;transition:transform .15s}.research-citations-toggle[aria-expanded=true] svg{transform:rotate(180deg)}body:has(.app-shell) .role-badge.transit{background:#383124;color:var(--warning)}body:has(.app-shell) :is(.dataset-state.ready,.status-tag.active){color:var(--success)}body:has(.app-shell) .dataset-state.failed{color:var(--danger)}body:has(.app-shell) :is(.research-tabs,.assessment-tabs button,.court-section-choices button,.news-image-missing,.news-source-image,.article-source-image,.assessment-bar-track,.trend-track,.bar-track,.national-bar-track,.court-bar-chart i,.resident-row>i,.comparison-score-track,.ocindex-score-track,.dataset-info-track,.substance-bars i){background:var(--panel-raised);border-color:var(--line);color:var(--muted)}body:has(.app-shell) :is(.research-tabs button.active,.assessment-tabs button[aria-pressed=true],.court-section-choices button.selected,.dataset-card.selected,.court-bar-chart button:hover,.court-bar-chart button.selected,.court-date-toggle:hover,.court-date-toggle[aria-expanded=true],.port-summary-card[aria-pressed=true],.dataset-info-facts button,.dataset-info-facts button:hover,.dataset-info-facts button[aria-pressed=true],.dataset-figure-list button[aria-pressed=true],.port-traffic-values>button[aria-pressed=true]){background:var(--accent-soft);color:var(--accent);border-color:#4b8ba6}body:has(.app-shell) :is(.evidence-metric blockquote,.synthesis-evidence blockquote,.research-citations blockquote,.medicine-finding blockquote,.medicine-evidence blockquote,.court-quote,.nps-detail blockquote,.report-infographic-metric,.assessment-observations,.assessment-metric .assessment-rate,.ocindex-score){background:var(--panel-raised);color:var(--text);border-color:#4b8ba6}body:has(.app-shell) :is(.assessment-metric.missing,.country-assessment-page .assessment-metric.missing){background:#142c3b;border-color:#756548}body:has(.app-shell) .country-assessment-page{--assessment-accent: #68d6f0}body:has(.app-shell) :is(.assessment-metric h3,.assessment-value,.assessment-users strong,.assessment-method>h2,.assessment-source-status>h2,.assessment-context>h2,.assessment-method h3,.assessment-section-heading h2,.assessment-data-counts a,.assessment-metric .assessment-period,.assessment-metric .assessment-change,.assessment-mini-point.current>small,.assessment-source a,.assessment-source-status>a,.report-theme-grid small,.court-summary a,.court-group-row b,.market-value,.dossier-flight,.ocindex-score strong,.comparison-fact strong){color:var(--accent)}body:has(.app-shell) :is(.assessment-users span,.assessment-users p,.assessment-metric-title,.assessment-metric p,.assessment-metric details,.assessment-source span,.assessment-method p,.assessment-source-status article>span,.assessment-footer,.assessment-availability a,.assessment-availability small,.assessment-completeness p,.assessment-section-heading p,.assessment-metric-explainer,.assessment-mini-point>small,.ocindex-score small,.dossier-metric span,.nps-detail dt){color:var(--muted)}body:has(.app-shell) :is(.assessment-data-counts a+a,.assessment-gap,.country-assessment-page .assessment-gap,.assessment-availability .missing){color:var(--warning)}body:has(.app-shell) :is(.assessment-data-counts a+a,.assessment-availability,.assessment-mini-history,.assessment-previous,.assessment-missing-section,.assessment-method article,.assessment-source-status article,.court-group-row,.court-review-person,.dossier-metric,.research-source-card,.refresh-steps>div,.port-fields>div){border-color:var(--line)}body:has(.app-shell) .assessment-mini-point.current .assessment-bar-track>i{background:var(--accent)}body:has(.app-shell) .trend-chart text{fill:var(--muted)}body:has(.app-shell) .dataset-grid-scroll{scrollbar-color:#4b718d var(--panel)}body:has(.app-shell) .report-infographic-metric>span,body:has(.app-shell) .report-infographic-metric p{color:var(--muted)}body:has(.app-shell) .report-infographic-metric strong{color:var(--text)}body:has(.app-shell) .report-infographic-metric b,body:has(.app-shell) .report-infographic-metric>.text-link,body:has(.app-shell) .port-summary-card strong{color:var(--accent)}body:has(.app-shell) .port-traffic-values>button:hover{background:var(--panel-raised);border-color:var(--accent)}body:has(.app-shell) .port-traffic-values>button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 3px 0 var(--accent)}body:has(.app-shell) .port-traffic-values>:is(a,button){min-width:0;line-height:1.6;overflow-wrap:anywhere}body:has(.app-shell) .port-traffic-values>:is(a,button)>span:first-child{color:var(--muted);font-size:14px}body:has(.app-shell) .port-traffic-values strong{color:var(--text);line-height:1.4}body:has(.app-shell) .port-traffic-values small{color:var(--muted);font-size:13px}body:has(.app-shell) .port-traffic .scope-note{font-size:13px;line-height:1.7}body:has(.app-shell) .port-traffic-values .text-link{margin-top:auto;color:var(--accent);font-size:12px}@media(max-width:700px){.app-shell .filterbar .pick{min-width:0;max-width:100%}.app-shell .filterbar .pick>span{white-space:normal;text-align:left}}@media print{:root:has(.app-shell){--bg: #fff;--panel: #fff;--panel-raised: #f2f5fb;--line: #d9e2ef;--text: #192b44;--muted: #53677f;--accent: #2c56c5;--accent-soft: #edf2ff;--success: #246653;--warning: #805612;--danger: #9b352e;color-scheme:light}}.workspace-sections{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px;padding-bottom:18px;border-bottom:1px solid var(--line)}.workspace-sections a{padding:10px 13px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--muted);font-size:12px;line-height:1.6}.workspace-sections a.active{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.workspace-stacked-section{margin:32px 0;padding-top:28px;border-top:1px solid var(--line)}.workspace-stacked-section>h2{font-size:23px;margin:0 0 24px}@media(max-width:700px){.workspace-sections{gap:7px}.workspace-sections a{flex:1 1 42%;text-align:center;padding:9px 7px}}.comparison-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:20px;margin-bottom:24px}.comparison-controls .pick{width:100%;min-width:0;max-width:100%;min-height:44px;height:auto;white-space:normal}.comparison-controls .pick>span{min-width:0;overflow-wrap:anywhere;text-align:left}.comparison-controls .pick>svg{flex-shrink:0}.assessment-comparison-group{padding:24px;margin:24px 0}.assessment-comparison-group h2{margin:0 0 20px;font-size:21px}.comparison-matrix-scroll{overflow-x:auto}.assessment-comparison-row{display:grid;grid-template-columns:minmax(200px,1fr) repeat(2,minmax(190px,1fr));border-bottom:1px solid var(--line);gap:24px;padding:22px 0}.assessment-comparison-row>*{min-width:0}.assessment-comparison-row h3{font-size:14px;line-height:1.7;margin:0 0 12px}.assessment-comparison-row p{font-size:12px;color:var(--muted);line-height:1.8;overflow-wrap:anywhere}.comparison-head{color:var(--accent);padding-top:0}.assessment-comparison-cell{display:grid;gap:12px;align-content:start;font-size:12px;line-height:1.7}.comparison-point-value{font-size:23px;font-weight:700;color:var(--text);text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.comparison-point-value small{font-size:11px;display:block;color:var(--muted);font-weight:400}.assessment-comparison-cell>span{text-align:right;color:var(--muted)}.assessment-comparison-cell>i{height:5px;background:var(--line);border-radius:99px;overflow:hidden}.assessment-comparison-cell em{display:block;height:100%;background:var(--accent)}.assessment-comparison-row>div:last-child em{background:var(--success)}.assessment-comparison-cell details{border-top:1px solid var(--line);padding-top:9px}.assessment-comparison-cell details a,.assessment-comparison-cell details small{display:block;margin:8px 0}.comparison-profile-links{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;margin:20px 0}.comparison-difference{color:var(--accent)!important}.domestic-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.domestic-source-card{padding:24px;min-width:0}.domestic-source-card h2{font-size:17px;line-height:1.6}.domestic-source-card h3{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.domestic-source-card>p{font-size:12px;color:var(--muted);line-height:1.8}.domestic-source-count{display:block;padding:16px 0;color:var(--accent);font-size:12px}.domestic-source-count strong{font-size:27px;margin-right:8px}.source-infographic-points a{display:grid;grid-template-columns:minmax(90px,1fr) minmax(40px,1.2fr) 90px;gap:12px;align-items:center;font-size:11px;padding:10px 0;color:var(--text)}.source-infographic-points span{overflow-wrap:anywhere;line-height:1.6}.source-infographic-points b{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.source-infographic-points i{height:5px;background:var(--line);overflow:hidden;border-radius:99px}.source-infographic-points em{display:block;height:100%;background:var(--accent)}@media(max-width:1200px){.comparison-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.domestic-source-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:700px){.comparison-controls{grid-template-columns:minmax(0,1fr);padding:16px}.assessment-comparison-matrix{min-width:660px}.assessment-comparison-group,.domestic-source-card{padding:16px}.source-infographic-points a{grid-template-columns:minmax(75px,1fr) minmax(30px,1fr) 75px;gap:8px}}.synthesis-coverage{margin-top:28px}.synthesis-coverage-grid>div>a{color:var(--accent);font-size:12px}.synthesis-coverage-grid small{color:var(--muted);font-size:11px;line-height:1.8;overflow-wrap:anywhere}.synthesis-coverage .source-error{overflow-wrap:anywhere;white-space:pre-wrap;font-size:12px;max-height:150px;overflow:auto;width:100%}.app-shell .flow-map-layout{grid-template-columns:minmax(0,1fr);gap:16px}.app-shell .flow-map-sidebar{order:0}.app-shell .flow-named-regions{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .flow-named-regions>:is(h4,p){grid-column:1 / -1}.app-shell .flow-named-regions>button{grid-template-columns:38px minmax(0,1fr);padding:10px 14px}.app-shell .flow-region-emblem svg{width:38px;height:38px}.app-shell .flow-map-layout .meth-flow-map{min-height:0;max-height:none;aspect-ratio:756 / 310;height:auto}.app-shell .meth-production-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:stretch}.app-shell .meth-production-legend>:is(span,small){grid-column:1 / -1}.app-shell .meth-production-legend button{text-align:left;line-height:1.5}.app-shell .meth-production-legend button>i{flex-shrink:0}.app-shell .meth-production-legend button>span{display:grid;gap:3px}@media(max-width:600px){.app-shell .flow-named-regions{grid-template-columns:minmax(0,1fr)}.app-shell .meth-production-legend{margin:0 16px 18px;grid-template-columns:minmax(0,1fr)}}.substance-evidence{min-width:0;overflow-wrap:anywhere}.substance-evidence h3{margin-top:24px}.substance-evidence h4{margin:0 0 8px}.substance-evidence details{margin-bottom:10px}.substance-evidence summary{cursor:pointer}.nps-card>span{overflow-wrap:anywhere}.nps-group-links{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:16px}.nps-source-groups{margin-block:20px}.app-shell .substance-image-open{background:transparent;color:var(--text)}.app-shell .substance-image-open img{background:#fff}.app-shell .substance-image-open span{color:var(--accent, #61e3c0);padding:12px 0}.app-shell .nps-workspace .section-head{flex-wrap:wrap;gap:18px}.app-shell .nps-workspace .field{display:grid;gap:8px;width:min(100%,360px)}.app-shell .nps-workspace .field input{width:100%;min-width:0;box-sizing:border-box;background:#112b42;color:#eef6ff;border:1px solid #37536c;border-radius:7px;padding:11px 12px;font:inherit}.app-shell .nps-workspace .field input::placeholder{color:#a8bfd1}.app-shell .nps-workspace .section-head .sub{color:#b9cada}.foreign-residents-workspace{min-width:0}.residents-filters{display:flex;flex-wrap:wrap;gap:14px;align-items:end;margin:18px 0}.residents-filters .field{flex:1 1 190px;min-width:0}.residents-table{padding:0;overflow-x:auto}.residents-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(130px,1fr) 110px 110px;gap:16px;padding:13px 18px;border-bottom:1px solid var(--line);align-items:center}.residents-head{font-weight:700;color:var(--muted);font-size:12px}.residents-number{text-align:right;font-variant-numeric:tabular-nums}.residents-visas .residents-row{grid-template-columns:70px 130px minmax(240px,1fr) 120px}.residents-row>*{min-width:0;overflow-wrap:anywhere}@media(max-width:650px){.residents-row{grid-template-columns:minmax(140px,2fr) 95px 75px 85px;gap:10px;padding:12px;font-size:12px}.residents-visas .residents-row{grid-template-columns:48px 85px minmax(170px,1fr) 90px}.residents-filters>*{flex:1 1 100%}}.residents-filters .field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:var(--muted)}.residents-filters .field input{width:100%;box-sizing:border-box;min-height:40px;border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;background:var(--surface);color:var(--text);font:inherit}.residents-filters .pick{min-height:40px}.sports-substance blockquote{margin:16px 0;padding-left:12px;border-left:2px solid var(--accent)}
