/* site-ui002: light / dark mode for every page. Colours in the site sources are written as var(--w-*, <the light colour>) (tools:
   site-src/theme-sweep.js), and the --w-* tokens are defined ONLY for dark here, so light mode is exactly what it was. html[data-theme]
   is set in <head> before first paint (build.js step 4z3) from the choice kept in this browser (Light / Dark / Auto = the device setting).
   WARNO's own dark palette: dark neutral background (not black), slightly lighter panels, soft dividers, off-white text. Print is always light. */
:root[data-theme="dark"] {
  color-scheme: dark;
  /* surfaces */
  --w-page: #0e131b; --w-surface: #151b25; --w-surface2: #1b2230; --w-hover: #222a39; --w-input: #10161f;
  /* text */
  --w-text: #e6ebf2; --w-text2: #c2cbd7; --w-muted: #98a3b3; --w-faint: #7d889a;
  /* lines */
  --w-line: #2b3445; --w-line2: #3a4558;
  /* strong: the near-black buttons and chips of the light look become a raised slate with white text */
  --w-strong: #34405a; --w-on-strong: #ffffff; --w-on-strong-muted: #c9d3e0;
  /* links, accents, states */
  --w-link: #8ab8ee; --w-gold-text: #e0b457; --w-ok-text: #6fd3a4; --w-bad-text: #f19a91; --w-warn-text: #f0c060; --w-info-text: #9cc4f0;
  --w-tint-ok: #15302a; --w-tint-warn: #352b12; --w-tint-bad: #3b1d1b; --w-tint-info: #172539; --w-tint-gold: #2e2614;
  --w-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 3px rgba(0,0,0,.3);
  /* the page template's own variables (about.html header), remapped */
  --ground: #0e131b; --ground2: #151b25; --sheet: #151b25; --ink: #e6ebf2; --ink2: #c2cbd7; --dim: #98a3b3; --line: #2b3445;
  --contour: #2b3445; --contour-i: #3a4558; --olive: #3a4558; --friendly: #8ab8ee; --sys: #8ab8ee; --obj2: #e0b457;
  --bg: #151b25; /* account-profile.html: var(--bg, #f4f6f9), never set in light */
  --paper: #e6ebf2; /* the template's "paper" is its near-black ink (headings, logo, buttons' text) */
  /* shell.css variables */
  --soft: #2b3445; --accent-bg: #2e2614; --shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 3px rgba(0,0,0,.3);
  /* the search page's own variables (.hg) are set below */
}
/* LIGHT mode, the one change from before: the muted greys and the small gold text were 3.1-3.7:1 on white (WCAG AA needs 4.5:1), so
   they are a little darker now. Everything else in light mode keeps its exact colour. */
:root:not([data-theme="dark"]) { --w-muted: #5f6b7c; --dim: #5f6b7c; --w-gold-text: #8a5f12; --w-ok-text: #187a50; }
:root:not([data-theme="dark"]) .hg { --mu: #5f6b7c; } /* search page greys (tabs, page count, sort) */
:root:not([data-theme="dark"]) .hgblue { background: #8f6510; border-color: #8f6510; } :root:not([data-theme="dark"]) .hgblue:hover { background: #7a560d; border-color: #7a560d; } /* Export / Save & Alert: white on gold was 3.25:1 */
:root[data-theme="dark"] body { background: var(--w-page); color: var(--w-text); }
:root[data-theme="dark"] .hgo:disabled { background: var(--w-line2) !important; border-color: var(--w-line2) !important; color: var(--w-muted) !important; } /* site-ui003: the home page's disabled "Go" (its page rule is a hard-coded #c9d1dc !important the sweep leaves alone) */
:root[data-theme="dark"] .top2 { background: rgba(14, 19, 27, .94); }
/* the search page draws its near-black buttons and count badges with its own --ink, which is light text in dark: give them the slate */
:root[data-theme="dark"] .hgdark, :root[data-theme="dark"] .hgtab.on .hgct, :root[data-theme="dark"] .hgpg button.on { background: var(--w-strong); border-color: var(--w-strong); color: #fff; }
/* gold buttons: white text needs a deeper gold for 4.5:1 */
:root[data-theme="dark"] .hgblue { background: #8f6510; border-color: #8f6510; } :root[data-theme="dark"] .hgblue:hover { background: #7a560d; border-color: #7a560d; }
:root[data-theme="dark"] .hg { --ink: #e6ebf2; --lnk: #8ab8ee; --ln: #2b3445; --ln2: #3a4558; --mu: #98a3b3; --bg2: #1b2230; --grn: #4fbf8a; --red: #f19a91; --gold: #c99a33; --goldd: #b8861f; }
/* form fields and dropdowns */
:root[data-theme="dark"] input, :root[data-theme="dark"] select, :root[data-theme="dark"] textarea { background-color: var(--w-input); color: var(--w-text); border-color: var(--w-line2); }
:root[data-theme="dark"] ::placeholder { color: var(--w-faint); }
:root[data-theme="dark"] option { background: var(--w-surface); color: var(--w-text); }
/* uploaded company logos and white-background images: a light chip behind them so they neither vanish nor glare */
:root[data-theme="dark"] img.logo, :root[data-theme="dark"] .colog img, :root[data-theme="dark"] img[src*="logos/"], :root[data-theme="dark"] .wlogo { background: #f4f6f9; border-radius: 6px; padding: 2px; }
/* code and preformatted text */
:root[data-theme="dark"] pre, :root[data-theme="dark"] code { background: var(--w-surface2); color: var(--w-text); }
/* the match % badges keep their 21 colours and per-step text colour (inline styles); only "no score yet" changes */
:root[data-theme="dark"] .dbsc2[data-pct=""] { background: #2a3342 !important; color: #b9c3d1 !important; }
/* a faint light edge so the darkest reds and greens keep their shape against the dark page (the 21 colours stay) */
:root[data-theme="dark"] .dbsc2 { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22); }

/* the theme button (theme.js), in the top bar */
.thtog { display: inline-flex; align-items: center; justify-content: center; gap: 6px; flex: none; height: 30px; min-width: 30px; padding: 0 8px; border: 1px solid var(--soft, #e3e8ef);
  border-radius: 6px; background: var(--w-surface, #fff); color: var(--w-text2, #3b4656); font: 600 11px/1 "Instrument Sans", "InstrumentSans", system-ui, sans-serif; cursor: pointer; }
.thtog:hover { color: var(--w-text, #0b1019); border-color: var(--w-text, #0b1019); }
.thtog:focus-visible { outline: 2px solid #b8861f; outline-offset: 2px; }
.thtog svg { width: 15px; height: 15px; }
@media (max-width: 1279px) { .thtog .thl { display: none; } }

/* print is always light: theme.js switches data-theme to "light" for the print (beforeprint / afterprint) */
/* Brazil map fix (3 Oct 2026, Site Designer's home-band palette): the World Map in dark: calmer fill steps, dark pins with a gold ring */
:root[data-theme="dark"] .wmap path.h1 { fill: #3a3321; } :root[data-theme="dark"] .wmap path.h2 { fill: #5e4f26; } :root[data-theme="dark"] .wmap path.h3 { fill: #8a6f2a; }
:root[data-theme="dark"] .wmap .pin circle, :root[data-theme="dark"] .wmap .pin.usp circle { fill: #0a0d12; stroke: #f0c05a; }

@font-face { font-family: "Instrument Sans"; src: url("fonts/instrument-sans-latin-wght-normal.woff2") format("woff2"); font-style: normal; font-weight: 400 700; font-display: swap; }
@font-face { font-family: "Instrument Sans"; src: url("fonts/instrument-sans-latin-ext-wght-normal.woff2") format("woff2"); font-style: normal; font-weight: 400 700; font-display: swap; unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "InstrumentSans"; src: url("fonts/instrument-sans-latin-wght-normal.woff2") format("woff2"); font-style: normal; font-weight: 400 700; font-display: swap; }
@font-face { font-family: "InstrumentSans"; src: url("fonts/instrument-sans-latin-ext-wght-normal.woff2") format("woff2"); font-style: normal; font-weight: 400 700; font-display: swap; unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
/* Bulletproof aliases: Any request for legacy Inter resolves directly to canonical Instrument Sans */
@font-face { font-family: "Inter"; src: url("fonts/instrument-sans-latin-wght-normal.woff2") format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter Tight"; src: url("fonts/instrument-sans-latin-wght-normal.woff2") format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap; }
:root {
  --w2-font: "Instrument Sans", "InstrumentSans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --sd-disp: "Instrument Sans", "InstrumentSans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --disp: var(--sd-disp);
  --stencil: var(--sd-disp);
  --cond: var(--w2-font);
  --sans: var(--w2-font);
  --font: var(--w2-font);
  --mono: var(--w2-font);
  --sd-mono: var(--w2-font);
}
html body { font-family: var(--w2-font) !important; }
/* Unified typography across all elements */
html:root body :is(h1,h2,h3,h4,h5,h6,p,a,span,div,section,article,aside,nav,header,footer,main,button,input,textarea,select,option,label,legend,summary,details,li,dt,dd,th,td,caption,b,strong,i,em,small,time,figcaption) { font-family: var(--w2-font) !important; }
/* Typography normalization: ensure all buttons, tabs, inputs, section titles, kickers are clean Instrument Sans without uppercase/monospace */
html:root body :is(button, .btn, .hgb, .hgtab, .hgmode, .plseg button, .pbill button, input, select, textarea) {
  font-family: var(--w2-font) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
html:root body :is(h1, h2, h3, h4, h5, h6, .hgh1, .sh h2, .phead h2, .section-title, .sec-title, .nth1, .ntsub) {
  font-family: var(--sd-disp) !important;
  text-transform: none !important;
  letter-spacing: -0.015em !important;
}
html:root body :is(.k, .kick, .eyebrow, .hgkicker, .ovtag) {
  font-family: var(--w2-font) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
html:root body .ovtag {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--sd-gold-ink, #8f6510) !important;
}
html:root body :is(pre,code,kbd,samp), html:root body :is(pre,code,kbd,samp) * { font-family: ui-monospace, SFMono-Regular, Consolas, monospace !important; }
/* Preserve the existing original mark rather than changing its letterform with body type. */
html body .w2-brand .mk b { font-family: "Plex", system-ui, sans-serif !important; }
/* Cursor blink changes opacity only, so the wordmark never shifts. */
@keyframes warno-wordmark-blink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
@media (prefers-reduced-motion: no-preference) {
  html body .w2-brand .wm > span { animation: warno-wordmark-blink 1.2s step-end infinite; }
}
@media (prefers-reduced-motion: reduce) {
  html body .w2-brand .wm > span { animation: none !important; opacity: 1; }
}
/* Scoped to the active Learn/Intel routes and the Setup guide. Content and
   interactive hooks remain untouched; nested rules share this page boundary. */
html body:has(#lngrp.on, #side > a.on:is([href="news.html"],[href="company.html"],[href="office.html"],[href="recruiter.html"],[href="proposal.html"],[href="foia.html"],[href="protests.html"],[href="data.html"]), .onboard) .wrap.ov.doc {
  max-width: 1180px; font-size: 15px; line-height: 1.6;
  & .phead { margin-bottom: 24px; }
  & .phead h2 { font-size: clamp(24px, 2.3vw, 32px) !important; line-height: 1.2 !important; font-weight: 600; letter-spacing: -.02em; text-transform: none; margin: 0 0 12px; }
  & .phead p { max-width: 78ch; font-size: 16px; line-height: 1.6; color: var(--w-text2, #506078); }
  & h3 { font-size: 20px; line-height: 1.35; font-weight: 600; text-transform: none; letter-spacing: -.01em; margin: 28px 0 12px; }
  & h4 { font-size: 17px; line-height: 1.4; font-weight: 600; text-transform: none; letter-spacing: 0; }
  & :is(p,li) { line-height: 1.65; }
  & :is(ul,ol) { padding-left: 23px; }
  & li + li { margin-top: 8px; }
  & a:not(.btn):not(.t):not(.pill) { text-underline-offset: 3px; }
  & :is(.card2,.grid3 > div,.steps > div) { border-radius: 10px; padding: 20px; border-color: var(--w-line, #dfe6ee); background: var(--w-surface, #fff); }
  & :is(.grid3,.steps) { gap: 14px; margin-block: 20px; }
  & :is(.card2,.grid3 > div,.steps > div) > :is(h3,h4):first-child { margin-top: 0; }
  & :is(.grid3,.steps) b { font-size: 16px; line-height: 1.4; text-transform: none; letter-spacing: 0; }
  & :is(.xtable,.dtbl) { font-size: 14px; line-height: 1.55; border-radius: 8px; }
  & :is(.xtable,.dtbl) th { font-size: 12px; line-height: 1.4; text-transform: none; letter-spacing: 0; background: var(--w-surface2, #f1f5fa); }
  & :is(.xtable,.dtbl) :is(th,td) { padding: 12px; vertical-align: top; }
  & .btn { min-height: 48px !important; align-content: center; text-transform: none; letter-spacing: 0; font-size: 14px; }
  & :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { font-size: 15px; }
  & .xmeta { font-size: 13px; line-height: 1.6; }
  & .tplbox { white-space: pre-wrap; overflow-wrap: anywhere; }
  & .onboard { max-width: none; }
  & .onboard > section { padding-block: 0; margin-block: 28px; }
  & .onboard > section.card2 { padding: 20px; }
  & .onboard nav { gap: 4px 18px; }
  & .onboard nav a { min-height: 44px; align-content: center; }
  & .onboard summary { min-height: 44px; align-content: center; line-height: 1.5; }
}
@media (max-width: 800px) {
  html body:has(#lngrp.on, #side > a.on:is([href="news.html"],[href="company.html"],[href="office.html"],[href="recruiter.html"],[href="proposal.html"],[href="foia.html"],[href="protests.html"],[href="data.html"]), .onboard) .wrap.ov.doc {
    padding-inline: 12px !important; width: 100%; min-width: 0; box-sizing: border-box;
    & .phead h2 { font-size: 26px !important; }
    & h3 { font-size: 19px; }
    & :is(.grid3,.steps) { grid-template-columns: 1fr; }
    & :is(.card2,.grid3 > div,.steps > div,.onboard > section.card2) { padding: 16px; }
    & :is(.xtable,.dtbl) { display: block; width: 100%; max-width: 100%; overflow: visible; }
    & :is(.xtable,.dtbl) > tbody { display: block; width: 100%; min-width: 0; }
    & :is(.xtable,.dtbl) :is(th,td) { padding: 10px; }
    & :is(.xtable,.dtbl) td { display: block; text-align: left; white-space: normal; overflow-wrap: anywhere; }
    & :is(.xtable,.dtbl) td:not(:first-child)::before { display: block; width: auto; max-width: none; margin-bottom: 5px; }
    & .xform { grid-template-columns: 1fr; }
    & .btn { min-height: 44px !important; }
    & .xform > label { grid-column: 1/-1; min-width: 0; }
    & #items { grid-template-columns: 1fr !important; }
    & .onboard .setup-menu { grid-template-columns: 1fr; }
    & .onboard .setup-menu dt { padding-bottom: 2px; border-bottom: 0; }
    & .onboard .setup-menu dd { padding-top: 0; }
  }
}
html body :is(a,button,input,textarea,select,summary):focus-visible { outline: 2px solid var(--w-accent, #b87a12); outline-offset: 3px; }
/* Keep sign-out available in Account; remove the prominent global navigation action. */
html body #tlogout, html body .top2 [data-logout], html body .nav [data-logout] { display: none !important; }
html body #acin .acsum a.btn.out[data-logout] { display: inline-flex !important; align-items: center; justify-content: center; color: #fff !important; border-color: #b42318 !important; background: #b42318 !important; min-height: 44px; }
html body #acin .acsum a.btn.out[data-logout]:hover { border-color: #912018 !important; background: #912018 !important; }
html body #pricing .plan-summary { margin: 24px 0; padding: 0; border: 0; }
html body #pricing .plan-summary h3 { font-size: 22px; font-weight: 600; margin: 0 0 12px; }
html body #pricing .plan-summary table { width: 100%; margin: 0; border-collapse: collapse; table-layout: fixed; background: var(--w-surface, #fff); }
html body #pricing .plan-summary :is(th,td) { padding: 12px 14px; border: 1px solid var(--w-line, #dfe6ee); text-align: left; white-space: normal; overflow-wrap: anywhere; font-size: 14px; line-height: 1.5; }
html body #pricing .plan-summary th { font-weight: 600; text-transform: none; letter-spacing: 0; }
html body #pricing .plan-summary thead { background: var(--w-surface2, #f1f5fa); }
html body #pricing .plan-summary p { margin: 10px 0 0; font-size: 13px; line-height: 1.5; color: var(--w-text2, #506078); }
@media (max-width: 700px) {
  html body #pricing .plan-summary :is(th,td) { padding: 10px 7px; font-size: 12px; }
  html body #pricing .plan-summary th:first-child { width: 24%; }
}
/* Shared reading rhythm for the real app surfaces; keep their data and controls. */
/* GovCon 101 predates the shared .doc template; retain its contents navigation. */
html body:has(#lngrp.on) .wrap.guide { max-width: 1180px; grid-template-columns: 210px minmax(0,1fr); gap: 30px; padding-block: 28px 48px; }
html body:has(#lngrp.on) .guide .gd { max-width: none; font-size: 15px; line-height: 1.65; }
html body:has(#lngrp.on) .guide .gd h1 { font-size: 32px !important; line-height: 1.2; font-weight: 600; color: var(--w-text, #142033); }
html body:has(#lngrp.on) .guide .gd .lede { font-size: 16px; line-height: 1.6; }
html body:has(#lngrp.on) .guide .gd h2 { font-size: 23px; line-height: 1.35; font-weight: 600; color: var(--w-text, #142033); }
html body:has(#lngrp.on) .guide .gd section { padding-top: 28px !important; }
html body:has(#lngrp.on) .guide .gd .path { grid-template-columns: repeat(auto-fit,minmax(125px,1fr)); border-radius: 8px; }
html body:has(#lngrp.on) .guide .csx { grid-template-columns: minmax(0,1fr); }
html body:has(#lngrp.on) .guide .toc a { min-height: 32px; font-size: 13px; color: var(--w-link, #1d5fa0); }
@media (max-width: 900px) {
  html body:has(#lngrp.on) .wrap.guide { grid-template-columns: minmax(0,1fr); padding-inline: 12px; }
  html body:has(#lngrp.on) .guide .gd h1 { font-size: 26px !important; }
  html body:has(#lngrp.on) .guide .gd h2 { font-size: 21px; }
}
html body :is(#pl,#db,#coprof) { --completion-line: var(--w-line, #dfe6ee); }
html body :is(.plhead,.dbhead,.cohead) h2 { font-size: 28px !important; line-height: 1.2 !important; font-weight: 600 !important; letter-spacing: -.015em !important; }
html body :is(.plhead,.dbhead) p { font-size: 14px; line-height: 1.5; margin-top: 6px; }
html body :is(.plseg button,.plact .btn,.dbact .btn,.coact .btn) { text-transform: none; letter-spacing: normal; font-size: 14px; min-height: 36px; }
html body :is(#pl,#db,#coprof) :is(button,.btn) { font-family: var(--w2-font) !important; text-transform: none !important; letter-spacing: normal !important; }
html body #pl .plk { gap: 0; border-block: 1px solid var(--completion-line); padding-block: 12px; margin-block: 16px; }
html body #pl .plk > div { background: transparent; border: 0; border-radius: 0; box-shadow: none; padding: 4px 16px; }
html body #pl .plk > div + div { border-left: 1px solid var(--completion-line); }
html body #pl .plk i { text-transform: none; letter-spacing: normal; font-size: 13px; line-height: 1.5; }
html body #pl .plk b { font-size: 26px; font-weight: 600; line-height: 1.3; }
html body #pl .plk small { font-size: 12.5px; line-height: 1.5; }
html body #pl .plboard { gap: 10px; }
html body #pl .plcol { border-radius: 10px; padding: 8px; gap: 8px; }
html body #pl .plch { gap: 5px; padding: 3px 2px 5px; }
html body #pl .plch b { font-size: 12.5px; letter-spacing: 0; text-transform: none; }
html body #pl .plch :is(.n,.v) { font-size: 12.5px; }
html body #pl .plc { padding: 10px; border-radius: 8px; box-shadow: none; }
html body #pl .plc h4 { font-size: 14px; line-height: 1.4; -webkit-line-clamp: 3; }
html body #pl .plc .ag { font-size: 12.5px; line-height: 1.5; margin-top: 4px; }
html body #pl :is(.pt,.plempty) { font-size: 12.5px; line-height: 1.4; }
html body #db .dbch { gap: 12px; align-items: baseline; flex-wrap: wrap; }
/* Compact linked counts and an open, deadline-first Dashboard. All existing
   links, calendar controls, saved searches and email settings remain in place. */
html body #db #dbk { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 24px; padding: 8px 0; margin: 12px 0 24px; border-block: 1px solid var(--w-line, #dfe6ee); }
html body #db #dbk > :is(a,div) { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px; min-height: 48px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
html body #db #dbk b { order: -1; font-size: 19px; line-height: 1.3; font-weight: 600; }
html body #db #dbk i { font-size: 14px !important; line-height: 1.5; font-style: normal; text-transform: none; letter-spacing: 0; }
html body #db #dbk small { font-size: 11px; line-height: 1.5; margin: 0; }
html body #db #dbk a:hover :is(i,b) { color: var(--w-link, #1d5fa0); text-decoration: underline; text-underline-offset: 3px; }
html body #db .dbc { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
html body #db .dbcol { gap: 24px; }
html body #db .dbcol > .dbc + .dbc { border-top: 1px solid var(--w-line, #dfe6ee); padding-top: 20px; }
html body #db .dbch { margin-bottom: 12px; }
html body #db .dbch h3 { font-size: 18px !important; font-weight: 600; line-height: 1.4; text-transform: none; letter-spacing: -.01em; }
html body #db #dbdue .dbl li { padding-block: 12px; align-items: flex-start; }
html body #db #dbdue .dbl li > div { display: block; white-space: normal; overflow: visible; }
html body #db #dbdue .dbl li > div > a { display: block; font-size: 14px; line-height: 1.45; white-space: normal; overflow: visible; text-overflow: clip; }
html body #db #dbdue .dbl li > div > small { display: block; margin-top: 4px; font-size: 12px; white-space: normal; overflow: visible; }
@media (min-width: 981px) { html body #db .dbgrid { grid-template-columns: minmax(0,1.45fr) minmax(0,1fr); gap: 30px; } }
@media (max-width: 800px) {
  html body #db #dbk { gap: 0 18px; margin-bottom: 20px; }
  html body #db #dbk > :is(a,div) { min-height: 44px; }
  html body #db #dbk small { display: none; }
  html body #db #dbk i { font-size: 13px !important; }
  html body #db #dbk b { font-size: 18px; }
  html body .wrap:has(#db) { padding-inline: 12px !important; }
}
html body #db .dbch h3, html body #coprof .cosec > h3 { font-size: 18px; font-weight: 600; line-height: 1.4; letter-spacing: -.01em; }
html body :is(#db,#coprof) .xmeta { font-size: 13px; line-height: 1.5; }
html body #coprof .cosec { border-radius: 12px; }
html body #coprof .cosec > h4 { margin-block: 24px 8px; font-size: 16px; font-weight: 600; }
html body #coprof :is(.xtable,.cotbl) { font-size: 14px; line-height: 1.45; }
html body #coprof :is(.xtable,.cotbl) th { text-transform: none; letter-spacing: 0; font-size: 13px; }
html body #coprof :is(.xtable,.cotbl) td { padding-block: 12px; }
html body #coprof :is(.kpis,.cobar .v) { font-variant-numeric: tabular-nums; }
/* Search research layout: title and real excerpt lead each result; keep every existing data/control hook. */
html body #hg .hgh1 { font-size: 24px !important; line-height: 1.25 !important; margin-bottom: 14px !important; }
html body #hg .hgcard { padding: 12px 14px 8px; border-radius: 10px; }
html body #hg .hgbar { gap: 6px; margin-bottom: 4px; padding-bottom: 8px; }
html body #hg .hgb { height: 34px; font-size: 12px; text-transform: none; letter-spacing: 0; padding-inline: 10px; }
html body #hg .hgr { grid-template-columns: 140px minmax(0, 1fr); min-height: 40px; padding-block: 3px; }
html body #hg :is(.hgin,.hgsel,.hgrange input) { height: 34px; font-size: 14px; }
html body #hg .hgbox { min-height: 34px; }
html body #hg .hglw { font-size: 13px; }
html body #hg .hgtabs { margin-top: 18px; align-items: center; }
html body #hg #hgsources { display: flex; flex-wrap: wrap; gap: 2px; }
html body #hg .hgtab { min-height: 40px; padding-inline: 10px; text-transform: none; letter-spacing: 0; font-size: 13px; }
/* Saved column widths may be narrower than today's panel; retain them without leaving a blank right side. */
html body #hg .hgt { width: 100%; min-width: max(1120px, 100%) !important; table-layout: fixed; margin-top: 0; }
html body #hg .hgt th { font-size: 12px; padding: 10px 8px; background: var(--w-surface2, #f1f5fa); }
html body #hg .hgt td { padding: 12px 8px 6px; vertical-align: top; line-height: 1.45; font-size: 13px; white-space: normal; overflow-wrap: anywhere; }
html body #hg .hgt th.t { width: 34%; min-width: 280px; }
html body #hg .hgt th.ag { width: 18%; }
html body #hg .hgt th.sa { width: 76px; }
html body #hg .hgt td.sa { white-space: nowrap; overflow-wrap: normal; }
html body #hg .hgt td.sa[data-label*="Eligibility"] { white-space: normal; overflow-wrap: anywhere; }
html body #hg .hgtab:disabled { color: var(--w-muted, #59697d); background: var(--w-surface2, #f1f4f8); border-color: transparent; cursor: not-allowed; opacity: 1; }
/* Disabled navigation uses the same indentation and row rhythm as its sibling links. */
html body #side .snav-coming-soon { display: flex; align-items: center; justify-content: flex-start; box-sizing: border-box; width: calc(100% - 34px); margin: 0 6px 0 28px !important; padding: 3px 8px !important; min-height: 22px; border: 0; border-radius: 6px; background: transparent; color: var(--w-muted, #59697d); font-family: inherit; font-size: 12px !important; font-weight: 400; line-height: 16px; letter-spacing: -.01em; text-align: left; cursor: not-allowed; opacity: 1; }
@media (max-width: 800px) {
  html body.mopen #side .snav-coming-soon { width: calc(100% - 39px); margin-left: 33px !important; padding: 5px 10px !important; min-height: 2.75rem !important; font-size: 13.5px !important; }
}
html body #side .snav-coming-soon small { font-size: 10px; line-height: 1.3; }
html body :is(.hgtab,.snav-coming-soon) .coming-soon-label { font-size: 10px; font-weight: 500; line-height: 1.3; white-space: nowrap; }
html body #hg .hgt th.to { width: 176px; }
html body #hg .hgt :is(th.po,th.dl) { width: 88px; }
html body #hg .hgt :is(td.po,td.dl,td.to) { white-space: nowrap; overflow-wrap: normal; }
html body #hg .hgt .hgtl { display: block; white-space: normal; }
html body #hg .hgt td.t .hgtl a { display: inline; font-size: 15px; line-height: 1.4; white-space: normal; overflow: visible; color: var(--w-link, #1d5fa0); text-decoration: underline; text-underline-offset: 3px; }
html body #hg .hgtl .hgflags { display: flex; flex-wrap: wrap; max-width: none; margin-top: 6px; gap: 4px; overflow: visible; }
html body #hg .hgtl .hgf { font-size: 11px; line-height: 18px; }
html body #hg .hgt td.ag :is(a,span) { white-space: normal; overflow: visible; font-size: 13px; line-height: 1.4; }
html body #hg .hgt td.ag :is(img.seal,.hgseal) { display: inline-block; width: 20px; height: 20px; object-fit: contain; vertical-align: middle; margin-right: 5px; }
/* Logo/code must never consume a flex row and squeeze the agency name to zero width. */
html body #hg .hgt td.ag .hgagency { display: block; min-width: 0; }
html body #hg .hgt td.ag .hgagency :is(img.seal,.hgseal) { margin-right: 5px; }
html body #hg .hgt td.ag .hgagency-code { white-space: normal; overflow-wrap: anywhere; }
html body #hg .hgt tr.d { display: none !important; }
html body #hg .hgt tr.d td { padding: 0; }
html body #hg .hgt :is(.sv button,.hglink) { width: 32px !important; height: 32px !important; }
html body #hg .hgt .hgpct { font-size: 12px; line-height: 22px; padding-inline: 5px; }
html body #hg .hgt td.dl > small { display: block; margin-top: 4px; white-space: normal; line-height: 1.4; }
html body #hg .hgt .hgfit-details { margin-top: 10px; padding: 10px 12px; border: 1px solid var(--w-line, #dfe6ee); border-radius: 8px; background: var(--w-surface2, #f1f5fa); }
html body #hg .hgt .hgfit-details summary { min-height: 32px; align-content: center; color: var(--w-link, #1d5fa0); cursor: pointer; font-size: 13px; font-weight: 600; }
html body #hg .hgt .hgfit-details ul { padding-left: 20px; margin: 8px 0 0; }
html body #hg .hgt .hgfit-details li { margin: 6px 0; line-height: 1.5; }
html body #hg .hgt td.sa.eligibility small { display: block; margin-top: 6px; font-size: 12px; line-height: 1.4; font-weight: 400; }
html body #hg .hgt td.mt > small { display: block; font-size: 11px; line-height: 1.4; margin-top: 4px; font-weight: 400; }
html body #hg .hgt td.t > small { display: block; margin-top: 3px; font-size: 12px; line-height: 1.4; white-space: normal; overflow-wrap: anywhere; }
@media (min-width: 1440px) {
  /* This column now contains full industry names, not just the former six-digit code. */
  html body #hg .hgt th.xn { width: 180px; }
}
@media (min-width: 801px) {
  html body #hg .hgt[data-search-source]:not([data-search-source="federal"]) th.mt { width: 78px; }
  html body #hg .hgt[data-search-source]:not([data-search-source="federal"]) th.po { width: 104px; }
  html body #hg .hgt[data-search-source]:not([data-search-source="federal"]) th.dl { width: 110px; }
  html body #hg .hgt[data-search-source]:not([data-search-source="federal"]) th.t { width: auto; min-width: 0; }
  html body #hg .hgt[data-search-source]:not([data-search-source="federal"]) th.ty { width: 90px; }
  html body #hg .hgt[data-search-source]:not([data-search-source="federal"]) th.ag { width: 170px; }
  html body #hg .hgt[data-search-source]:not([data-search-source="federal"]) th.sa { width: 150px; white-space: normal; }
  html body #hg .hgt[data-search-source]:not([data-search-source="federal"]) th.to { width: 90px; }
  html body #hg .hgt[data-search-source]:not([data-search-source="federal"]) td.mt { overflow-wrap: normal; }
}
@media (max-width: 800px) {
  html body .main .wrap:has(> #hg) { padding-inline: 12px !important; }
  html body #hg .hgcard { padding: 10px; }
  html body #hg .hgr { grid-template-columns: 1fr; gap: 5px; padding-block: 8px; }
  html body #hg :is(.hgb,.hgin,.hgsel,.hgmode,.hgpg button) { min-height: 44px; height: auto; }
  html body #hg :is(.hgin,.hgsel) { padding-block: 10px; }
  /* The legacy mobile select width:100% must not consume the keyword input. */
  html body #hg .hgkw { display: grid; grid-template-columns: minmax(0,1fr) 88px; width: 100%; }
  html body #hg .hgkw :is(.hgin,.hgsel) { width: 100%; min-width: 0; box-sizing: border-box; }
  html body #hg .hgtabs { gap: 8px; flex-wrap: wrap; overflow: visible; }
  html body #hg #hgsources { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; min-width: 0; flex-basis: 100%; }
  html body #hg .hgtab { min-height: 44px; font-size: 12px; padding-inline: 6px; }
  html body #hg #hg-state-local { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; min-width: 0; max-width: 100%; height: auto; white-space: normal; }
  html body #hg #hg-state-local small { font-size: 10px; line-height: 1.3; white-space: normal; }
  html body #hg .hgtr { flex-wrap: wrap; min-width: 0; width: 100%; }
  html body #hg #hgcnt::before { content: 'Results: '; }
  html body #hg .hgtw { overflow: visible; border: 0; border-radius: 0; background: transparent; }
  html body #hg .hgt { display: block; width: 100% !important; min-width: 0 !important; }
  html body #hg .hgt thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  html body #hg .hgt tbody { display: block; }
  html body #hg .hgt tr.r { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 12px; margin-top: 14px; padding: 14px 12px; border: 1px solid var(--w-line, #dfe6ee); border-radius: 10px 10px 0 0; background: var(--w-surface, #fff); }
  html body #hg .hgt tr.r td { display: block; width: auto !important; min-width: 0; padding: 0; border: 0; position: static; box-shadow: none; white-space: normal; grid-column: auto; grid-row: auto; }
  html body #hg .hgt tr.r td[data-label]::before { content: attr(data-label); display: block; margin-bottom: 3px; font-size: 12px; color: var(--w-muted, #617086); font-weight: 500; }
  html body #hg .hgt tr.r td.t { grid-column: 1 / -1; grid-row: 1; }
  html body #hg .hgt tr.r td.t::before { display: none; }
  html body #hg .hgt tr.r td.to { grid-column: 1 / -1; }
  html body #hg .hgt tr.d { display: none !important; }
  html body #hg .hgt tr.r { border-radius: 10px; }
  html body #hg .hgt :is(.sv button,.hglink) { width: 44px !important; height: 44px !important; }
  html body #hg .hgt .sv { gap: 6px; }
  html body #hg .hgt .hgfit-details summary { min-height: 44px; }
}
/* Notice summaries: preserve source fields and action handlers, improve their reading order and spacing. */
html body #nt [hidden] { display: none !important; }
html body #nt .nthead { padding-bottom: 20px; margin-bottom: 12px; }
html body #nt .ntmeta { gap: 8px 12px; letter-spacing: 0; font-size: 13px; line-height: 1.5; }
html body #nt .ntmeta .pill { text-transform: none; letter-spacing: 0; font-size: 13px; border-radius: 6px; padding: 4px 9px; }
html body #nt .nttl { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 12px; margin-block: 16px; }
html body #nt #ntseal { grid-column: 1; grid-row: 1; align-self: start; }
html body #nt #nttitle { grid-column: 2; grid-row: 1; }
html body #nt #ntfav { grid-column: 1; grid-row: 2; width: 48px; height: 48px; margin: 0; justify-self: start; }
html body #nt .ntsv { grid-column: 2; grid-row: 2; display: flex; align-items: center; gap: 8px; margin: 0; justify-self: start; }
html body #nt .ntsv :is(.svt,.svp) { min-height: 48px; height: 48px; padding: 0 12px; font-size: 13px; margin: 0; }
html body #nt #ntseal .seal.big { width: 48px; height: 48px; }
html body #nt #nttitle { min-width: 0; max-width: none !important; text-wrap: wrap; margin: 0 !important; font-size: clamp(22px, 1.75vw, 28px) !important; font-weight: 600; line-height: 1.25 !important; letter-spacing: -.018em; overflow-wrap: anywhere; }
html body #nt .ntacts { gap: 8px; }
html body #nt .ntsavegroup { display: flex; align-items: center; gap: 8px; margin-left: auto; }
html body #nt .ntsavegroup .ntsv { display: flex; align-items: center; }
html body #nt :is(.ntacts .btn,.nttabs a,.more,.doclist a.lk) { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; text-transform: none; letter-spacing: 0; font-size: 14px; }
html body #nt .nttabs { gap: 2px; padding-block: 4px; }
html body #nt .nttabs a { padding: 8px 12px; border-radius: 6px; }
html body #nt .card { padding: 18px 20px; border-radius: 8px; scroll-margin-top: 132px; }
html body #nt .card h2 { font-size: 18px; line-height: 1.35; font-weight: 600; margin-bottom: 16px; }
html body #nt .card > h2 { margin: -18px -20px 16px; padding: 12px 17px; border-left: 3px solid var(--w-accent, #dba839); border-bottom: 1px solid var(--w-line, #dfe6ee); border-radius: 7px 7px 0 0; background: var(--w-surface2, #f1f5fa); }
html body #nt :is(#ntkv,.contact,.doclist,.lk-card) a:not(.btn):not(.lk) { color: var(--w-link, #1d5fa0); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
html body #nt :is(#ntkv,.contact,.doclist,.lk-card) a:hover { text-decoration-thickness: 2px; }
html body #nt .pill.nt-due-urgent { background: #fde7e7; color: #991c25; border-color: #e6a0a6; }
html body #nt .pill.nt-due-soon { background: #fff4c9; color: #725000; border-color: #d8bb55; }
html body #nt .pill.nt-due-open { background: #e5f5e9; color: #176333; border-color: #9dccaa; }
html body #nt :is(.pill.nt-due-unknown,.pill.nt-due-closed) { background: var(--w-surface2, #f1f4f8); color: var(--w-text2, #46566b); border-color: var(--w-line, #dfe6ee); }
html[data-theme="dark"] body #nt .pill.nt-due-urgent { background: #452027; color: #ffb7bf; border-color: #86404b; }
html[data-theme="dark"] body #nt .pill.nt-due-soon { background: #3c331a; color: #f9df80; border-color: #807041; }
html[data-theme="dark"] body #nt .pill.nt-due-open { background: #17382b; color: #9adeb1; border-color: #407954; }
html body #nt #ntkv { grid-template-columns: minmax(140px, .55fr) minmax(0, 1.7fr); }
html body #nt #ntkv :is(dt,dd) { padding-block: 8px; line-height: 1.5; min-width: 0; overflow-wrap: anywhere; }
html body #nt #ntkv dt { font-size: 13px; font-weight: 500; }
html body #nt #ntkv dd { font-size: 15px; font-weight: 500; }
html body #nt #ntkv .pill { display: inline-block; margin-left: 6px; white-space: nowrap; text-transform: none; letter-spacing: 0; }
html body #nt .desc p { max-width: 78ch; font-size: 16px; line-height: 1.7; }
html body #nt .desc:not(.open)::after { background: linear-gradient(transparent, var(--w-surface, #fff)); }
html body #nt .desc:has(> .hint)::after { display: none; }
html body #nt .doclist li { grid-template-columns: 44px minmax(0, 1fr) auto 44px; gap: 12px; padding-block: 12px; }
html body #nt .doclist .dn { min-width: 0; overflow-wrap: anywhere; line-height: 1.5; }
html body #nt .doclist .ft { border-radius: 6px; font-size: 11px; padding-block: 5px; white-space: nowrap; }
html body #nt .doclist .lk { min-width: 44px; border-radius: 6px; }
html body #nt :is(.zipwrap,.pocl) { gap: 10px; flex-wrap: wrap; }
html body #nt :is(#ntprice,#ntflags) { padding-block: 0; margin-block: 24px; }
html body #nt :is(.ntpe,.ntps,.ntfl) :is(small,blockquote) { font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
html body #nt :is(.ntpe,.ntps) small { margin-top: 5px; }
html body #nt :is(.ntload,.nterr) { padding: 28px; border: 1px solid var(--w-line, #dfe6ee); border-radius: 12px; background: var(--w-surface, #fff); line-height: 1.6; }
@media (max-width: 700px) {
  html body .main #nt.wrap { padding-inline: 12px !important; }
  html body #nt .nttl { grid-template-columns: 44px minmax(0, 1fr); gap: 10px 8px; }
  html body #nt #ntseal .seal.big { width: 32px; height: 32px; }
  html body #nt #nttitle { grid-column: 2; }
  html body #nt #ntfav { grid-column: 1; justify-self: start; width: 44px; height: 44px; }
  html body #nt .ntsv { grid-column: 2; gap: 6px; }
  html body #nt .ntsv :is(.svt,.svp) { padding-inline: 8px; font-size: 12px; min-height: 44px; height: 44px; }
  html body #nt .ntsavegroup { flex-basis: 100%; margin-left: 0; }
  html body #nt .ntacts > .btn { flex: 1 1 150px; text-align: center; white-space: normal; }
  html body #nt .card { padding: 18px 12px; }
  html body #nt .card > h2 { margin-inline: -12px; padding-inline: 12px; }
  html body #nt #ntkv { grid-template-columns: minmax(0, 1fr); }
  html body #nt #ntkv dt { padding-top: 12px; padding-bottom: 2px; border-bottom: 0; }
  html body #nt #ntkv dd { padding-top: 0; padding-bottom: 12px; }
  html body #nt .doclist li { grid-template-columns: 36px minmax(0, 1fr) 44px; gap: 8px; }
  html body #nt .doclist .ds { display: none; }
  html body #nt .ntpa { display: block; overflow-x: auto; }
}
@media (min-width: 801px) {
  html body .side > .status { line-height: 1.6; }
  html body .side > .status a { display: inline; padding: 0 !important; margin: 0 !important; white-space: nowrap; }
}
@media (max-width: 800px) {
  html body :is(.plhead,.dbhead,.cohead) h2 { font-size: 24px !important; }
  html body :is(.plseg button,.plact .btn,.dbact .btn,.coact .btn) { min-height: 44px; }
  html body #pl .plk > div { padding-inline: 10px; }
  html body #pl .plk > div:nth-child(3) { border-left: 0; }
  html body #pl .plcol { padding: 0; }
}
/* Account basics and the separate company matching profile. IDs and form actions stay intact. */
html body .wrap:has(#cp-load) { width: 100%; max-width: none !important; }
html body .wrap:has(#cp-load) > div:not(.ovtag) { width: 100%; max-width: none !important; }
html body .wrap:has(#cp-load) :is(#acin,#pwrap,#pform) { width: 100%; max-width: none !important; }
html body .wrap:has(#cp-load) #acin > .bf:has(#pwrap) { border: 0; padding: 0 !important; margin: 0; max-width: none !important; background: transparent; box-shadow: none; }
html body .wrap:has(#cp-load) #acin > .bf:has(#pwrap) > .bq { display: none; }
html body .wrap:has(#cp-load) .phead { margin-bottom: 20px; }
html body .wrap:has(#cp-load) .phead h2 { font-size: 28px !important; margin-bottom: 8px; }
html body .wrap:has(#cp-load) .phead p { font-size: 15px; line-height: 1.6; max-width: 78ch; }
html body .wrap:has(#cp-load) .organization-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
html body .wrap:has(#cp-load) .organization-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px; border: 1px solid var(--w-line, #dce3ed); border-radius: 7px; background: var(--w-surface, #fff); color: var(--w-link, #225f97); font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
html body .wrap:has(#cp-load) :is(.pcard,#propdocs) { padding: 20px; margin: 18px 0; border: 1px solid var(--w-line, #dce3ed); border-radius: 10px; background: var(--w-surface, #fff); scroll-margin-top: 80px; }
html body .wrap:has(#cp-load) .pcard > h3 { font-size: 20px; line-height: 1.4; margin: 0 0 12px; }
html body .wrap:has(#cp-load) #pwrap .pcard > h3 { text-transform: none !important; letter-spacing: 0 !important; font-size: 20px !important; }
html body .wrap:has(#cp-load) :is(.btn,#propdocs h3) { text-transform: none !important; letter-spacing: 0 !important; }
html body .wrap:has(#cp-load) :is(.pdim,.pmsg) { font-size: 14px; line-height: 1.55; }
html body .wrap:has(#cp-load) .pgrid { gap: 14px 20px; }
html body .wrap:has(#cp-load) .pgrid label { font-size: 14px; line-height: 1.5; }
html body .wrap:has(#cp-load) .pgrid :is(input:not([type="checkbox"]),select,textarea) { font: inherit; min-height: 44px; }
html body .wrap:has(#cp-load) .pauto { border-color: var(--w-gold-line, #dfc991); background: var(--w-surface2, #fff9eb); }
html body .wrap:has(#cp-load) :is(.pauto,#cs-review) .btn { min-height: 44px; white-space: normal; }
html body .wrap:has(#cp-load) #cs-review { border-left: 4px solid var(--w-accent, #dba839); }
html body .wrap:has(#cp-load) #cs-review[hidden] { display: none !important; }
html body .wrap:has(#cp-load) .pptw { max-width: 100%; overflow-x: auto; }
html body .wrap:has(#cp-load) .psticky { gap: 10px; flex-wrap: wrap; padding: 12px; margin-inline: 0 !important; width: 100%; max-width: 100%; box-sizing: border-box; border-top: 1px solid var(--w-line, #dce3ed); background: var(--w-surface, #fff); }
html body .wrap:has(#cp-load) .psticky .btn { min-height: 48px !important; }
html body #acin.account-basic:not([hidden]) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
html body #acin.account-basic[hidden] { display: none !important; }
html body #acin.account-basic > .bf { margin: 0; padding: 20px; border: 1px solid var(--w-line, #dce3ed); border-radius: 10px; background: var(--w-surface, #fff); min-width: 0; }
html body #acin.account-basic :is(.acsum,.account-links) { grid-column: 1 / -1; }
html body #acin.account-basic .account-links { padding: 16px 20px; border: 1px solid var(--w-line, #dce3ed); border-radius: 10px; background: var(--w-surface, #fff); }
html body #acin.account-basic .account-links a { color: var(--w-link, #225f97); text-decoration: underline; text-underline-offset: 3px; }
html body #acin.account-basic h3 { font-size: 20px; line-height: 1.4; }
/* Saved opportunities: one readable horizontal row per notice, with real metadata. */
/* Industry labels always retain both the filter code and its readable full name. */
html body .naics-label { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; overflow-wrap: anywhere; max-width: 100%; line-height: 1.5; }
html body .naics-label .naics-code { display: inline; white-space: nowrap; font-variant-numeric: tabular-nums; }
html body .naics-label .naics-name { display: inline; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
html body .naics-labels { display: grid; gap: 6px; margin-top: 8px; font-size: 13px; line-height: 1.5; }
html body .naics-labels .naics-label { display: block; padding: 7px 9px; border: 1px solid var(--w-line, #dce3ed); border-radius: 6px; background: var(--w-surface2, #f1f5f9); }
html body .naics-selected { display: grid; gap: 6px; margin-top: 8px; font-size: 13px; line-height: 1.5; }
html body .naics-selected .naics-label { display: block; }
html body :is(.hgchip,.xchip):has(.naics-label) { height: 24px !important; min-height: 24px !important; max-width: 360px !important; padding: 0 6px 0 9px !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; align-items: center !important; }
html body :is(.hgchip,.xchip) .naics-label { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-flex; align-items: center; gap: 4px; }
html body :is(.hgchip,.xchip):has(.naics-label) button { flex: 0 0 auto; align-self: center; }
html body #hg .hgt td.xn .naics-label { display: block; font-size: 12px; }
html body #hg .hgt td.xn:has(.naics-label) { white-space: normal; overflow: visible; }
html body #nt #ntkv .naics-label { display: inline; }
html body :is(#fvbox,#trbox) .fv-naics { min-width: 0; }
html body :is(#fvbox,#trbox) .fv-naics .naics-label { display: block; font-size: 13px; }
html body .wrap:has(#fvbox) { max-width: none !important; width: 100%; }
html body :is(#fvbox,#trbox) :is(.fvlist,.trlist) { display: grid !important; grid-template-columns: minmax(0,1fr) !important; gap: 10px; width: 100%; max-width: none; margin: 0; padding: 0; list-style: none; }
html body :is(#fvbox,#trbox) :is(.fvlist,.trlist) > li { width: 100%; max-width: none; margin: 0; list-style: none; }
html body :is(#fvbox,#trbox) :is(.fvlist,.trlist) > li::before { content: none; display: none; }
html body :is(#fvbox,#trbox) .fv-row { display: grid; grid-template-columns: minmax(220px,2.5fr) minmax(140px,1.25fr) 76px 105px 108px 48px; align-items: start; gap: 12px; padding: 16px; border: 1px solid var(--w-line, #dce3ed); border-radius: 9px; background: var(--w-surface, #fff); }
html body :is(#fvbox,#trbox) .fv-row > * { min-width: 0; }
html body :is(#fvbox,#trbox) .fv-main a { display: inline; color: var(--w-link, #225f97); font-size: 16px; font-weight: 600; line-height: 1.4; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
html body :is(#fvbox,#trbox) .fv-main .t { min-width: 0; max-width: none; }
html body :is(#fvbox,#trbox) .fv-reference { margin-top: 6px; color: var(--w-muted, #63738a); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
html body :is(#fvbox,#trbox) .fv-label { display: block; margin-bottom: 5px; color: var(--w-muted, #63738a); font-size: 11px; font-weight: 500; line-height: 1.4; }
html body :is(#fvbox,#trbox) .fv-value { display: block; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
html body :is(#fvbox,#trbox) .fv-agency .fv-value { display: flex; align-items: flex-start; gap: 7px; }
html body :is(#fvbox,#trbox) .fv-agency img { width: 24px; height: 24px; flex: 0 0 24px; object-fit: contain; }
html body :is(#fvbox,#trbox) .fv-setaside .fv-value { white-space: nowrap; }
html body :is(#fvbox,#trbox) .fv-due .fv-value { display: inline-block; padding: 4px 7px; border: 1px solid var(--w-line, #dce3ed); border-radius: 6px; background: var(--w-surface2, #f1f4f8); font-size: 13px; }
html body :is(#fvbox,#trbox) .fv-due[data-urgency="urgent"] .fv-value { background: #fde7e7; border-color: #e6a0a6; color: #991c25; }
html body :is(#fvbox,#trbox) .fv-due[data-urgency="soon"] .fv-value { background: #fff4c9; border-color: #d8bb55; color: #725000; }
html body :is(#fvbox,#trbox) .fv-due[data-urgency="open"] .fv-value { background: #e5f5e9; border-color: #9dccaa; color: #176333; }
html body :is(#fvbox,#trbox) .fv-due .fv-value small { display: block; margin-top: 4px; font-size: 11px; }
html body :is(#fvbox,#trbox) .fv-evidence { margin-top: 7px; border: 0; padding: 0; }
html body :is(#fvbox,#trbox) .fv-evidence summary { min-height: 32px; padding: 4px 0; color: var(--w-link, #225f97); font-size: 12px; text-decoration: underline; cursor: pointer; }
html body :is(#fvbox,#trbox) .fv-evidence :is(p,small) { font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
html body :is(#fvbox,#trbox) .fv-actions { display: flex; align-items: center; gap: 8px; }
html body :is(#fvbox,#trbox) .fv-actions :is(button,a) { display: inline-flex; align-items: center; justify-content: center; width: 48px !important; height: 48px !important; min-width: 48px !important; min-height: 48px !important; position: static; flex: 0 0 auto; padding: 8px; border: 1px solid var(--w-line, #dce3ed); border-radius: 7px; background: var(--w-surface, #fff); }
html body :is(#fvbox,#trbox) .fv-updates { grid-column: 1/-1; padding-top: 10px; border-top: 1px solid var(--w-line, #dce3ed); font-size: 13px; line-height: 1.5; }
html body :is(#fvbox,#trbox) .fv-updates a { color: var(--w-link, #225f97); text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 801px) and (max-width: 1100px) {
  html body :is(#fvbox,#trbox) .fv-row { grid-template-columns: minmax(240px,2fr) minmax(140px,1fr) 110px 48px; }
  html body :is(#fvbox,#trbox) .fv-main { grid-column: 1; grid-row: 1/3; }
  html body :is(#fvbox,#trbox) .fv-actions { grid-column: 4; grid-row: 1/3; }
}
@media (max-width: 800px) {
  html body .wrap:has(#cp-load) { padding-inline: 12px !important; }
  html body .wrap:has(#cp-load) .phead h2 { font-size: 24px !important; }
  html body .wrap:has(#cp-load) #pwrap .pcard > h3 { font-size: 18px !important; }
  html body .wrap:has(#cp-load) :is(.pcard,#propdocs) { padding: 16px; }
  html body .wrap:has(#cp-load) .pgrid { grid-template-columns: minmax(0,1fr); }
  html body .wrap:has(#cp-load) .organization-nav { gap: 6px; }
  html body .wrap:has(#cp-load) .organization-nav a { font-size: 12px; padding-inline: 9px; }
  html body .wrap:has(#cp-load) .plogo { flex-wrap: wrap; }
  html body .wrap:has(#cp-load) .plogo .btn { white-space: normal; min-height: 44px; }
  html body .wrap:has(#cp-load) .psticky .btn { flex: 1 1 120px; white-space: normal; text-align: center; }
  html body #acin.account-basic:not([hidden]) { grid-template-columns: minmax(0,1fr); }
  html body #acin.account-basic > .bf { padding: 16px; }
  html body .wrap:has(#fvbox) { padding-inline: 12px !important; }
  html body :is(#fvbox,#trbox) .fv-row { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 14px 12px; gap: 12px; }
  html body :is(#fvbox,#trbox) .fv-main { grid-column: 1/-1; }
  html body :is(#fvbox,#trbox) .fv-main a { font-size: 16px; }
  html body :is(#fvbox,#trbox) .fv-evidence summary { min-height: 44px; display: flex; align-items: center; }
  html body :is(#fvbox,#trbox) .fv-actions { grid-column: 1/-1; justify-content: flex-end; }
  html body :is(#fvbox,#trbox) .fv-actions :is(button,a) { height: 44px !important; width: 44px !important; min-height: 44px !important; min-width: 44px !important; }
}
/* One Insights entry retains three independent tools and their existing panels. */
html body #insights .insight-tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 6px; margin: 16px 0 24px; border: 1px solid var(--w-line, #dfe6ee); border-radius: 10px; background: var(--w-surface, #fff); }
html body #insights .insight-tabs > button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px !important; padding: 10px 18px !important; border: 1px solid transparent; border-radius: 7px; background: transparent; color: var(--w-text2, #506078); font-size: 14px; line-height: 1.4; font-weight: 600; text-transform: none; letter-spacing: 0; cursor: pointer; }
html body #insights .insight-tabs > button[aria-selected="true"] { border-color: var(--w-accent, #b87a12) !important; background: var(--w-surface2, #f5efdf); color: var(--w-text, #142033); box-shadow: inset 0 -2px 0 var(--w-accent, #b87a12); }
html body #insights .insight-panel { padding: 0; border: 0; }
html body #insights .insight-panel[hidden] { display: none !important; }
html body #insights .insight-panel .phead { margin: 20px 0; }
html body #insights .insight-panel .phead h2 { font-size: 28px; line-height: 1.25; text-transform: none; letter-spacing: -.015em; }
html body #insights .insight-panel .phead p { font-size: 15px; line-height: 1.6; max-width: 78ch; }
html body #insights .insight-panel .btn { min-height: 44px; text-transform: none; letter-spacing: 0; }
/* News is an editorial list, not a bulleted Learn article. */
html body #warno-news { box-sizing: border-box; padding: 0 24px; }
html body #warno-news #news-list { width: 100%; max-width: none; padding: 0; }
html body #warno-news #news-list > li { display: block; width: 100%; max-width: none; margin: 0; padding: 20px 0; }
html body #warno-news #news-list > li::before { content: none !important; display: none !important; }
html body #warno-news .news-filters [aria-pressed="true"] { background: var(--w-accent, #b87a12) !important; border-color: var(--w-accent, #b87a12) !important; color: #111821 !important; }
@media (max-width: 800px) {
  html body #warno-news { padding-inline: 16px; }
  html body #warno-news #news-list > li { padding-block: 16px; }
}
@media (max-width: 800px) {
  html body #insights .insight-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; padding: 4px; }
  html body #insights .insight-tabs > button { min-height: 44px !important; padding: 8px 5px !important; font-size: 12px; overflow-wrap: anywhere; min-width: 0; }
  html body #insights .insight-panel .phead h2 { font-size: 24px; }
  html body .wrap:has(#insights) { padding-inline: 12px !important; }
}

/* 7.48.1 search results: one scannable line per result (approved mockup); full text stays available on hover. */
@media (min-width: 801px) {
  html body #hg table.hgt td { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; overflow-wrap: normal; vertical-align: middle; padding: 9px 8px; line-height: 1.35; }
  html body #hg table.hgt td.sa[data-label*="Eligibility"] { white-space: nowrap; overflow-wrap: normal; }
  html body #hg table.hgt td.t .hgtl { display: flex; align-items: center; gap: 6px; min-width: 0; white-space: nowrap; overflow: hidden; }
  html body #hg table.hgt td.t .hgtl a { display: block; flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; line-height: 1.35; }
  html body #hg table.hgt td.t .hgtl .amb { flex: 0 0 auto; white-space: nowrap; }
  html body #hg table.hgt .hgtl .hgflags { display: flex; flex-wrap: nowrap; flex: 0 1 auto; min-width: 0; margin-top: 0; overflow: hidden; }
  html body #hg table.hgt .hgtl .hgf { flex: 0 0 auto; white-space: nowrap; }
  html body #hg table.hgt td.ag .hgagency { display: flex; align-items: center; min-width: 0; overflow: hidden; white-space: nowrap; }
  html body #hg table.hgt td.ag :is(a,span) { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  html body #hg table.hgt td.ag :is(img.seal,.hgseal) { flex: 0 0 auto; }
  html body #hg table.hgt td.ag .hgagency-code { white-space: nowrap; overflow-wrap: normal; }
  html body #hg table.hgt td :is(small) { display: inline; margin: 0 0 0 6px; white-space: nowrap; }
  html body #hg table.hgt td.xn a { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  html body #hg table.hgt td.xn :is(.naics-label,.naics-code,.naics-name) { display: inline !important; white-space: nowrap !important; flex-wrap: nowrap; }
  html body #hg table.hgt td:has(.hgfit-details[open]) { white-space: normal; overflow: visible; }
  html body #hg table.hgt td.ag .hgagency-code { display: none !important; }
  html body #hg table.hgt td.ag .hgagency-name { flex: 1 1 auto; min-width: 0; }
  html body #hg table.hgt th.mt { width: 78px; }
  html body #hg table.hgt td.mt .hgnote { font-size: 11.5px; }
}
/* NAICS filter chips: code plus a short name; the full industry name is the tooltip. */
html body #hg .hgchip, html body #hg .hgchip:has(.naics-label) { max-width: 230px !important; min-width: 0; overflow: hidden; }
html body #hg .hgchip .hgchip-l { display: block !important; flex: 1 1 auto; min-width: 0; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; line-height: 22px; }
html body #hg .hgchip .hgchip-l * { display: inline !important; white-space: nowrap !important; }
html body #hg .hgchip .hgchip-l .naics-label { display: inline !important; white-space: nowrap; }
html body #hg .hgchip button { flex: 0 0 auto; }
/* Native dropdown lists and form controls use the site font too. */
html:root body :is(select, option, optgroup, datalist, input, textarea, button) { font-family: "Instrument Sans", InstrumentSans, system-ui, sans-serif !important; }
html body #hg .hgchip[hidden] { display: none !important; }
html body #hg .hgmore { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border: 1px solid var(--w-line, #dfe6ee); border-radius: 6px; background: var(--w-surface, #fff); color: var(--w-link, #1d5fa0); font-size: 12px; font-weight: 600; cursor: pointer; white-space: nowrap; }
html body #hg .hgmore:hover { background: var(--w-surface2, #f1f5fa); }

