/* TeamBench pages inside the yeap-core theme. Everything is scoped under .tb-main. */
.tb-main{--tb-navy:#0f2742;--tb-teal:#0d7c72;--tb-teal-light:#e8f5f2;--tb-ink:#14213d;--tb-muted:#4f5f73;--tb-line:#c9d4e0;--tb-surface:#fff;--tb-canvas:#f4f7fa;max-width:1120px;margin:0 auto;padding:24px 4px 40px;color:var(--tb-ink);font-size:16px;line-height:1.55}
.tb-main :is(p,span,label,dt,dd,small,li,legend,strong,h1,h2,h3,div,summary){color:inherit}
.tb-main a:not(.tb-button){color:#0a665e}
.tb-main *,.tb-main *::before,.tb-main *::after{box-sizing:border-box}
.tb-main h1{font-size:clamp(28px,4vw,42px);line-height:1.15;margin:0 0 12px;color:var(--tb-navy)}
.tb-main h2{font-size:20px;margin:0 0 8px;color:var(--tb-navy)}
.tb-main h3{font-size:16px;margin:18px 0 6px}
.tb-eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--tb-teal);margin:0 0 8px}
.tb-hero{background:var(--tb-canvas);border:1px solid var(--tb-line);border-radius:16px;padding:28px}
.tb-search{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:18px}
.tb-field{display:grid;gap:4px;font-size:14px;min-width:0}
.tb-field>span{font-weight:600}
.tb-field small{color:var(--tb-muted);font-size:12px}
.tb-field input,.tb-field select,.tb-field textarea{width:100%;min-height:42px;border:1px solid var(--tb-line);border-radius:8px;padding:8px 10px;font:inherit;background:var(--tb-surface);color:var(--tb-ink)}
.tb-field input[readonly]{background:var(--tb-canvas)}
.tb-grow{flex:1 1 240px}
.tb-check{display:inline-flex;gap:6px;align-items:center;font-size:14px}
.tb-verified-only{min-height:42px}
.tb-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 16px;border-radius:8px;border:1px solid var(--tb-line);background:var(--tb-surface);color:var(--tb-navy);font-weight:700;text-decoration:none;cursor:pointer;font:inherit;font-weight:700}
.tb-button:hover{border-color:var(--tb-teal)}
.tb-primary{background:var(--tb-teal);border-color:var(--tb-teal);color:#fff}
.tb-primary:hover{background:#0a665e;color:#fff}
.tb-button[disabled]{opacity:.6;cursor:not-allowed}
.tb-results{margin-top:24px;display:grid;gap:14px}
.tb-count{color:var(--tb-muted);margin:0}
.tb-card{background:var(--tb-surface);border:1px solid var(--tb-line);border-radius:12px;padding:18px 20px}
.tb-card.is-featured{border-color:var(--tb-teal);box-shadow:0 0 0 1px var(--tb-teal) inset}
.tb-card-head,.tb-profile-head{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between}
.tb-card h2 a{color:var(--tb-navy);text-decoration:none}
.tb-card h2 a:hover{text-decoration:underline}
.tb-meta{color:var(--tb-muted);margin:2px 0 8px;font-size:14px}
.tb-chips{display:flex;flex-wrap:wrap;gap:6px}
.tb-chip{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--tb-canvas);border:1px solid var(--tb-line);font-size:12px;font-weight:600;color:var(--tb-ink)}
.tb-cert.is-verified{background:var(--tb-teal-light);border-color:var(--tb-teal)}
.tb-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;margin-left:6px}
.tb-verified{background:var(--tb-teal-light);color:#075e56}
.tb-featured{background:#fff4d6;color:#7a5200}
.tb-empty,.tb-gate,.tb-notice{background:var(--tb-canvas);border:1px solid var(--tb-line);border-radius:12px;padding:18px 20px}
.tb-error,.tb-status.is-error{color:#b42318}
.tb-pages{display:flex;flex-wrap:wrap;gap:6px}
.tb-pages a{min-width:36px;text-align:center;padding:6px 10px;border:1px solid var(--tb-line);border-radius:8px;text-decoration:none}
.tb-pages a[aria-current]{background:var(--tb-navy);color:#fff}
.tb-ctas{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:32px}
.tb-ctas>div{border:1px solid var(--tb-line);border-radius:12px;padding:20px;background:var(--tb-surface)}
.tb-breadcrumb{margin-bottom:12px;font-size:14px}
.tb-summary{font-size:18px}
.tb-facts{display:grid;gap:10px;margin:18px 0;padding:18px 20px;border:1px solid var(--tb-line);border-radius:12px;background:var(--tb-surface)}
.tb-facts>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px}
.tb-facts dt{font-weight:700}
.tb-facts dd{margin:0}
.tb-full,.tb-contact,.tb-bid{margin-top:20px;padding:18px 20px;border:1px solid var(--tb-line);border-radius:12px;background:var(--tb-surface)}
.tb-text{white-space:normal;overflow-wrap:anywhere}
.tb-report{margin-top:24px}
.tb-page{display:grid;gap:14px}
.tb-form{display:grid;gap:16px}
.tb-form fieldset{border:1px solid var(--tb-line);border-radius:12px;padding:16px 18px;margin:0;min-width:0}
.tb-form legend{font-weight:700;padding:0 6px}
.tb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.tb-wide{grid-column:1/-1}
.tb-checks{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px}
.tb-checks>span{flex-basis:100%;font-weight:600;font-size:14px}
.tb-actions{display:flex;flex-wrap:wrap;gap:8px}
.tb-status:empty{display:none}
.tb-status{font-weight:600}
.tb-muted{color:var(--tb-muted)}
.tb-mine{border:1px solid var(--tb-line);border-radius:14px;padding:18px;background:var(--tb-surface);display:grid;gap:12px}
.tb-request{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid var(--tb-line);padding:12px 0}
.tb-request p{margin:4px 0 0;overflow-wrap:anywhere}
@media (max-width:700px){.tb-grid{grid-template-columns:1fr}.tb-facts>div{grid-template-columns:1fr;gap:2px}.tb-search>*{flex:1 1 100%}.tb-hero{padding:20px}}
/* yeap-core forces white text on a navy gradient (body * { color: … !important }) on every Yeap site.
   TeamBench follows it: copy on the background stays white; inside TeamBench's light panels and form
   controls the dark text is enforced, scoped to .tb-main only. */
body .tb-main{padding-top:calc(var(--navbar-height,64px) + 28px)}
body .tb-main :is(.tb-hero,.tb-card,.tb-facts,.tb-full,.tb-contact,.tb-bid,.tb-gate,.tb-notice,.tb-empty,.tb-ctas>div,.tb-mine,.tb-form fieldset),
body .tb-main :is(.tb-hero,.tb-card,.tb-facts,.tb-full,.tb-contact,.tb-bid,.tb-gate,.tb-notice,.tb-empty,.tb-ctas>div,.tb-mine,.tb-division,.tb-form fieldset) :is(p,span,label,dt,dd,small,li,legend,strong,h1,h2,h3,h4,div,summary,code){color:var(--tb-ink)!important}
body .tb-main :is(.tb-hero,.tb-card,.tb-facts,.tb-full,.tb-contact,.tb-bid,.tb-gate,.tb-notice,.tb-empty,.tb-ctas>div,.tb-mine,.tb-division,.tb-form fieldset) :is(.tb-meta,.tb-muted,small){color:var(--tb-muted)!important}
body .tb-main :is(.tb-hero,.tb-card,.tb-facts,.tb-full,.tb-contact,.tb-bid,.tb-gate,.tb-notice,.tb-empty,.tb-ctas>div,.tb-mine,.tb-division,.tb-form fieldset) a:not(.tb-button){color:#0a665e!important}
body .tb-main :is(.tb-hero,.tb-card,.tb-gate,.tb-ctas>div) h1,body .tb-main .tb-card h2 a,body .tb-main .tb-division :is(h3,h4){color:var(--tb-navy)!important}
body .tb-main :is(input,select,textarea,option){color:var(--tb-ink)!important;background:#fff!important}
body .tb-main .tb-button{color:var(--tb-navy)!important}
body .tb-main .tb-primary,body .tb-main .tb-primary *{color:#fff!important}
body .tb-main .tb-chip{color:var(--tb-ink)!important}
body .tb-main .tb-verified{color:#075e56!important}
body .tb-main .tb-featured{color:#7a5200!important}
body .tb-main .tb-pages a{color:#fff!important;border-color:rgba(255,255,255,.35)}
body .tb-main .tb-pages a[aria-current]{background:#fff;color:var(--tb-navy)!important}
body .tb-main .tb-breadcrumb a{color:#9fe3d9!important}
body .tb-main .tb-error,body .tb-main .tb-status.is-error{color:#b42318!important}
body .tb-main>.tb-count,body .tb-main .tb-results>.tb-count{color:#d9e4f2!important}
body .tb-main :is(.tb-profile-head h1,.tb-page>h1,.tb-page>p,.tb-profile>.tb-summary,.tb-profile>.tb-profile-head .tb-meta){color:#fff!important}
body .tb-main{padding-left:16px;padding-right:16px}
body .tb-main :is(.tb-profile-head h1,.tb-page>h1){background:none!important;-webkit-text-fill-color:#fff!important;text-shadow:none!important}
.tb-grid{align-items:start}.tb-field{align-content:start}
body .tb-main .tb-form fieldset{background:#fff}body .tb-main .tb-page>.tb-muted,body .tb-main .tb-page>.tb-form>.tb-status{color:#d9e4f2!important}
/* 0.2.0: claim panel (a light panel), sign-in prompt, SAM.gov details, pagination gaps. */
.tb-claim{margin-top:20px;padding:18px 20px;border:1px solid var(--tb-teal);border-radius:12px;background:var(--tb-teal-light)}
.tb-claim .tb-form{gap:10px}
.tb-claim-way{display:grid;gap:8px;padding:12px 0;border-top:1px solid var(--tb-line)}
.tb-claim-code{display:grid;gap:8px;max-width:360px;padding-top:12px}
.tb-claim-review{padding-top:12px}.tb-claim-review summary{cursor:pointer;font-weight:600}
.tb-signin{margin-top:24px}
.tb-sam .tb-plain{border:0;padding:0;margin:8px 0 12px;background:none}
.tb-chip.is-primary{border-color:var(--tb-teal);background:var(--tb-teal-light)}
.tb-gap{padding:6px 2px}
.tb-uei-lookup p{margin:0}
body .tb-main .tb-claim,body .tb-main .tb-claim :is(p,span,label,dt,dd,small,li,legend,strong,h2,h3,div,summary,code){color:var(--tb-ink)!important}
body .tb-main .tb-claim :is(.tb-muted,small){color:var(--tb-muted)!important}
body .tb-main .tb-claim a:not(.tb-button){color:#0a665e!important}
body .tb-main .tb-claim .tb-primary,body .tb-main .tb-claim .tb-primary *{color:#fff!important}
body .tb-main .tb-claim .tb-status.is-error{color:#b42318!important}
body .tb-main .tb-gap,body .tb-main .tb-profile>.tb-source{color:#d9e4f2!important}
.tb-chips{align-items:flex-start}
.tb-claim-way{justify-items:start}.tb-claim-way .tb-field{width:min(100%,420px)}
.tb-contact .tb-form,.tb-report .tb-form{justify-items:start}.tb-contact .tb-form .tb-field,.tb-report .tb-form .tb-field,.tb-contact .tb-form>p{width:100%}
.tb-waiting{margin:0 0 4px}
.tb-subjects{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:14px}
body .tb-main .tb-subjects>span{color:#d9e4f2!important}
body .tb-main .tb-subjects a.tb-chip{color:var(--tb-ink)!important;text-decoration:none}
body .tb-main .tb-subjects a.tb-chip:hover{border-color:var(--tb-teal)}
/* 0.4.0: find your company first; short form for a company not on TeamBench; My listing asks for what SAM.gov lacks; save for later. */
.tb-find h2,.tb-find p{margin:0 0 6px}
.tb-find .tb-search{margin-top:10px}
.tb-find-results:empty{display:none}
.tb-find-results{margin-top:14px}
.tb-find-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tb-find-item{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid var(--tb-line);border-radius:10px;background:var(--tb-surface)}
.tb-find-item>div{min-width:0;overflow-wrap:anywhere}
.tb-new>summary,.tb-known>summary{cursor:pointer;font-weight:700;min-height:32px;display:flex;align-items:center}
.tb-new[open]>summary{margin-bottom:10px}
.tb-new .tb-form fieldset{background:#fff}
.tb-known{border:1px solid var(--tb-line);border-radius:12px;padding:12px 18px;background:#fff}
.tb-known[open]>summary{margin-bottom:10px}
.tb-known fieldset{border:0;padding:0}
.tb-missing{margin:0}
.tb-missing[hidden]{display:none}
.tb-restored{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid var(--tb-teal);border-radius:10px;background:var(--tb-teal-light)}
.tb-restored p{margin:0;flex:1 1 260px}
.tb-actions{align-items:center}
.tb-draft-state{font-size:14px;flex:1 1 240px}
.tb-draft-state:empty{display:none}
body .tb-main :is(.tb-known,.tb-restored,.tb-find-item),body .tb-main :is(.tb-known,.tb-restored,.tb-find-item) :is(p,span,label,small,strong,div,summary,legend){color:var(--tb-ink)!important}
body .tb-main :is(.tb-known,.tb-find-item) :is(.tb-muted,small){color:var(--tb-muted)!important}
body .tb-main .tb-find-item a:not(.tb-button){color:#0a665e!important}
body .tb-main .tb-find-item .tb-primary{color:#fff!important}
body .tb-main .tb-actions .tb-draft-state{color:var(--tb-muted)!important}
body .tb-main .tb-actions .tb-draft-state.is-error{color:#b42318!important}
.tb-card-summary{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}
.tb-summary{white-space:pre-line}
.tb-areas{display:grid;gap:4px;font-size:14px}
.tb-gov{margin:12px 0}
/* My companies (0.12.0). */
.tb-company-cards{display:grid;gap:12px;margin:14px 0}
.tb-company-card{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;background:var(--tb-surface);border:1px solid var(--tb-line);border-radius:14px;padding:16px 18px}
.tb-company-card h2{font-size:20px;margin:0 0 4px}
.tb-company-card p{margin:4px 0}
.tb-add-company{margin-top:16px}
body .tb-main .tb-company-card :is(h2,h2 a,p,span,strong){color:var(--tb-ink)!important}
body .tb-main .tb-company-card h2 a{color:var(--tb-teal)!important}
/* Public search and trade pages (0.11.0). */
.tb-browse-links{margin:10px 0 0;font-size:14px}
.tb-public-note{margin-top:12px}
.tb-removal{margin-top:18px;font-size:13px}
.tb-trade-group{margin:18px 0}
.tb-trade-group h2{font-size:18px;margin:0 0 8px}
.tb-trade-list{list-style:none;padding:0;margin:0;columns:2 320px;column-gap:24px}
.tb-trade-list li{break-inside:avoid;padding:3px 0;font-size:14px}
.tb-landing-intro{font-size:17px}
.tb-states{margin:12px 0}
.tb-states summary{cursor:pointer;font-weight:700}
a.tb-chip{text-decoration:none}
body .tb-main :is(.tb-trades,.tb-landing)>:is(h1,p,nav,details) :is(a,span,summary){color:inherit}
.tb-areas-label{font-weight:600}
.tb-areas>.tb-checks{margin:2px 0 8px}
.tb-areas .tb-check input{width:18px;height:18px;min-height:0;margin:0}
.tb-areas>.tb-field{margin:0}
.tb-areas>.tb-field>span{font-weight:500;font-size:14px}
/* Upgrade visibility (0.10.0): Pro page, home strip, plan line, owner bar, viewer teaser. */
.tb-main .tb-pro-chip{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:1px 7px;border-radius:999px;background:#fff4dc;border:1px solid #f0d49a;color:#7a5200;vertical-align:middle}
.tb-main .tb-pro-chip.is-on{background:#e6f5ed;border-color:#a8dcc0;color:#17643f}
.tb-main .tb-pro-chip.is-feat{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}
.tb-pro-strip{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;margin:14px 0;padding:12px 16px;border-radius:12px;background:var(--tb-canvas);border:1px dashed var(--tb-line);font-size:14px}
.tb-pro-strip a{font-weight:700}
.tb-plan-line{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:6px 0 10px;font-size:14px}
.tb-main .tb-button.tb-small{min-height:32px;padding:4px 12px;font-size:13px}
.tb-owner-pro{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between}
.tb-teaser{margin-top:8px}
.tb-pro-price{font-size:17px}
.tb-compare-wrap{overflow-x:auto;margin:18px 0}
.tb-compare{width:100%;border-collapse:collapse;background:var(--tb-surface);border:1px solid var(--tb-line);border-radius:12px;overflow:hidden;font-size:14px}
.tb-compare th,.tb-compare td{padding:10px 12px;border-bottom:1px solid var(--tb-line);text-align:left;vertical-align:top}
.tb-compare thead th{background:var(--tb-canvas);font-size:13px;text-transform:uppercase;letter-spacing:.05em}
.tb-compare tbody th{font-weight:600}
.tb-compare td:last-child{font-weight:600}
.tb-pro-notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.tb-pro-notes h2{font-size:18px;margin:0 0 8px}
@media (max-width:700px){.tb-compare{font-size:13px}.tb-compare th,.tb-compare td{padding:8px}}
body .tb-main :is(.tb-pro-strip,.tb-compare,.tb-pro-notes,.tb-plan-line,.tb-owner-pro,.tb-teaser) :is(p,span,th,td,li,h2,strong){color:var(--tb-ink)!important}
body .tb-main .tb-pro-hero h1{color:var(--tb-navy)!important;text-shadow:none!important}
/* Divisions on a profile (TeamBench Pro). */
.tb-divisions{margin:18px 0}
.tb-division{border:1px solid var(--tb-line);border-radius:12px;padding:14px 16px;margin:10px 0;background:var(--tb-surface);scroll-margin-top:90px}
.tb-division h3{margin:0 0 4px;font-size:18px;color:var(--tb-navy)}
.tb-division h4{margin:12px 0 4px;font-size:15px;color:var(--tb-navy)}
.tb-division p{overflow-wrap:anywhere}
.tb-division-headline{color:var(--tb-teal);font-weight:600;margin:0 0 6px}
body .tb-main .tb-division .tb-division-headline{color:#0a665e!important}
.tb-division .tb-button{margin-top:10px}
