/* Shared working surfaces: the backstage identity continues past the homepage. */
.job-market-container,.tenders-container,.events-container { max-width:1360px; }
:is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--stage-accent); outline-offset:3px; }
:is(.jobs-hero,.tender-hero,.events-hero) {
  min-height:220px; padding:38px 40px; margin:0 0 24px;
  align-items:center; gap:32px; border:1px solid #3b3b35; border-radius:8px;
  background:linear-gradient(90deg,#111415 8%,#111415ed 46%,#11141575 100%),url('stage-backstage-v2.webp') right 55% / cover;
  color:#f6f4ed; box-shadow:none;
}
:is(.jobs-hero,.tender-hero,.events-hero) > div { min-width:0; }
html[data-theme="dark"] :is(.jobs-hero,.tender-hero,.events-hero) {
  border-color:var(--line);
  background-image:linear-gradient(90deg,#2c3439 8%,#2c3439eb 46%,#2c34395c 100%),url('stage-backstage-v2.webp');
}
:is(.jobs-hero,.tender-hero,.events-hero) h1 { margin:14px 0; font-size:clamp(30px,3.6vw,46px); font-weight:650; letter-spacing:-.045em; line-height:1.12; }
:is(.jobs-hero,.tender-hero,.events-hero) .eyebrow { color:#edbc72; font-size:10px; font-weight:600; letter-spacing:.15em; }
:is(.jobs-hero,.tender-hero,.events-hero) p { max-width:690px; color:#c3c8c5; font-size:14px; line-height:1.75; }
:is(.jobs-hero,.tender-hero,.events-hero) .button { background:#161a1bbf; border-color:#8a8980; color:#f6f4ed; font-size:12px; font-weight:600; }
html[data-theme] :is(.jobs-hero,.tender-hero,.events-hero) .button.primary { background:#edbc72; border-color:#edbc72; color:#201c15; }
:is(.jobs-hero,.tender-hero,.events-hero) .button:hover { background:#f1d3a5; border-color:#f1d3a5; color:#201c15; }
.job-hero-actions { max-width:280px; }
.job-market-container > .jobs-hero + p,.tender-note { color:var(--muted); font-size:12px; line-height:1.75; }
.job-market-container > .jobs-hero + p a,.tender-note a { color:var(--stage-accent); text-decoration:underline; text-underline-offset:3px; }
:is(.job-market-container,.tenders-container,.events-container) .button { font-weight:600; border-radius:5px; }
:is(.job-market-container,.tenders-container,.events-container) .field > span { font-size:12px; font-weight:600; color:var(--muted); }
:is(.job-market-container,.tenders-container,.events-container) .field :is(input,select,textarea) { border-radius:5px; min-height:44px; box-shadow:none; }
:is(.job-market-container,.tenders-container,.events-container) :is(input,select,textarea):focus-visible { outline:2px solid var(--stage-accent); outline-offset:2px; }
:is(.job-market-container,.tenders-container,.events-container) input[type=checkbox] { accent-color:var(--accent-strong); }
.jobs-layout,.tender-layout { gap:28px; grid-template-columns:250px minmax(0,1fr); }
.job-filters,.tender-filters { border-radius:7px; box-shadow:none; background:var(--panel); }
.job-filters { padding:22px; top:106px; }
.job-filters .field { margin-bottom:16px; }
.job-filter-form .button { font-size:12px; }
.job-filters .form-grid { grid-template-columns:1fr; gap:0; }
.job-filters .form-grid { margin-bottom:16px; }
#tender-search { padding:0; border:0; border-radius:0; background:transparent; }
.tender-searchbar { border-radius:6px; box-shadow:none; }
.tender-searchbar:focus-within { border-color:var(--stage-accent); box-shadow:none; }
.tender-filters > summary { padding:20px; font-size:13px; }
.tender-filter-fields { gap:16px; }
.tender-results,.tender-card { scroll-margin-top:110px; }
.tender-status-tabs { gap:10px; }
.tender-status-tabs a { border-radius:5px; padding:16px; font-size:11px; }
.tender-status-tabs strong { font-size:27px; font-weight:600; font-variant-numeric:tabular-nums; }
.tender-status-tabs a[aria-current="page"] { background:var(--panel-2); border-color:var(--stage-accent); box-shadow:inset 0 -2px var(--stage-accent); }
.tender-results-heading h2,.results-heading h2,.events-section-heading h2 { font-weight:650; font-size:23px; letter-spacing:-.035em; }
.tender-sort select { border-radius:5px; }
.job-card,.tender-card,.event-card { border-radius:7px; box-shadow:none; padding:24px; transition:border-color .15s; }
.job-card:hover,.tender-card:hover,.event-card:hover { border-color:var(--stage-accent); }
.job-card h2,.tender-card h2,.event-card h2 { font-size:21px; font-weight:650; letter-spacing:-.025em; line-height:1.4; }
.publisher-badge { font-weight:650; }
.job-date,.tender-source-label,.event-org { font-family:Consolas,"Courier New",monospace; font-size:11px; font-weight:500; }
.job-card .publisher-line small { font-size:11px; }
.job-card .job-meta { font-size:13px; }
.job-card .badge,.tender-status,.event-status { border-radius:4px; font-size:11px; font-weight:600; }
.job-position-chip { border-radius:4px; font-size:11px; font-weight:500; background:transparent; color:var(--muted); }
.job-rate { color:var(--stage-accent); font-size:21px; font-weight:650; padding-block:12px; }
.job-card-actions { border-top:1px solid var(--line); padding-top:14px; }
.tender-tags :is(a,span) { padding:4px 8px; border:1px solid var(--line); border-radius:4px; background:transparent; color:var(--muted); font-size:11px; }
.tender-buyer { font-size:14px; font-weight:600; }
.tender-summary,.tender-location { font-size:13px; }
.tender-source-label { margin-left:auto; }
.tender-card-bottom { padding-top:16px; }
.tender-card-bottom strong { font-family:Consolas,"Courier New",monospace; font-size:15px; }
.tender-review-note { border-left:2px solid var(--amber-text); border-radius:0 4px 4px 0; padding:11px 14px; font-size:12px; }
.tender-kind { font-size:11px; border-radius:4px; font-weight:600; }
.tender-detail,.tender-edit,.tender-health-card,.tender-directory { border-radius:7px; box-shadow:none; }
.tender-source-box { border-radius:5px; }
.tender-detail h1 { font-weight:650; letter-spacing:-.03em; }
.events-nav { gap:0; margin-bottom:24px; border-bottom:1px solid var(--line); }
.events-nav a { border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; padding:12px 18px; font-size:13px; }
.events-nav a[aria-current=page] { background:transparent; color:var(--stage-accent); border-color:var(--stage-accent); }
.events-nav > span { font:11px Consolas,"Courier New",monospace; }
.events-filters,.event-panel,.event-rental-card,.event-task,.event-add,.rental-availability-panel { border-radius:7px; box-shadow:none; }
:root .events-container form.events-filters { gap:16px; padding:22px; border-radius:7px; }
.events-filters .field { min-width:0; }
.events-filters .button { font-size:12px; }
.event-card-top { padding-bottom:14px; border-bottom:1px solid var(--line); }
.event-card .event-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:20px 0; }
.event-facts dd { font-size:13px; font-weight:550; }
.event-facts dt { font-size:11px; }
.event-open { border-radius:4px; font-size:12px; }
.event-metrics { padding:20px; border:1px solid var(--line); border-radius:5px; background:var(--panel-2); }
.event-metrics strong,.rental-stock,.rental-availability-count strong { font-weight:600; font-variant-numeric:tabular-nums; }
.event-panel legend { font-size:13px; font-weight:650; }
.event-callout { border-radius:4px; border-left:2px solid var(--line); }
:root .events-container form.rental-availability-filter { padding:0; border:0; background:transparent; }
.event-time { font:12px Consolas,"Courier New",monospace; }
.job-detail-hero,.public-hero { border-radius:7px; border-left:3px solid var(--stage-accent); box-shadow:none; padding:32px; }
.job-detail-hero h1,.public-hero h1 { font-weight:650; font-size:clamp(28px,3.5vw,44px); line-height:1.15; letter-spacing:-.04em; overflow-wrap:anywhere; }
.job-detail-hero .eyebrow,.public-hero .eyebrow { color:var(--stage-accent); font-size:10px; letter-spacing:.14em; }
.job-detail-hero p { font-size:13px; }
.job-section,.job-position-row,.job-facts div { border-radius:6px; box-shadow:none; }
.discipline { border-radius:7px; box-shadow:none; }
.discipline > summary { border-radius:7px; padding:20px; font-size:17px; font-weight:650; }
.subsection { border-radius:5px; box-shadow:none; }
:root .container form.login-form { border-radius:7px; box-shadow:none; padding:30px; border-top:2px solid var(--stage-accent); }
.login-form input,.login-form select { border-radius:5px; min-height:46px; }
.login-form .button { width:100%; font-size:14px; font-weight:650; }
.container:has(> .login-form) { max-width:620px; padding-top:36px; }
.container:has(> .login-form)::before { content:""; display:block; height:125px; margin-bottom:30px; border:1px solid #41413b; border-radius:7px; background:linear-gradient(90deg,#101213bb,#10121322),url('stage-backstage-v2.webp') right 58% / cover; }
.container:has(> .login-form) > h1 { font-size:40px; font-weight:650; letter-spacing:-.04em; }
.container:has(> .login-form) > p { color:var(--muted); font-size:14px; }
.container:has(> .login-form) .login-form { max-width:none; margin:26px 0 18px; }
.container:has(> .login-form) .register-prompt { display:block; text-align:center; background:transparent; border:0; font-size:13px; }
.header-menu-toggle { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:40px; padding:8px 12px; border:1px solid var(--line); border-radius:5px; background:var(--panel); color:var(--text); font-size:12px; }
.header-menu-toggle svg { width:18px; height:18px; }
.header-menu-toggle[hidden],.header-actions[hidden] { display:none; }
@media (max-width:1000px) {
  :is(.jobs-hero,.tender-hero,.events-hero) { padding:30px; }
  .jobs-layout,.tender-layout { grid-template-columns:230px minmax(0,1fr); gap:20px; }
}
@media (max-width:820px) {
  .header.is-menu-enhanced { min-height:72px; flex-wrap:nowrap; padding:14px 20px; }
  .header.is-menu-enhanced .header-menu-toggle { margin-left:auto; }
  .header.is-menu-enhanced .header-actions { position:absolute; top:calc(100% - 1px); left:16px; right:16px; padding:12px; margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; border:1px solid var(--line); border-radius:0 0 7px 7px; background:var(--header); max-height:calc(100dvh - 100px); overflow-y:auto; box-shadow:0 20px 32px #00000033; }
  .header.is-menu-enhanced .header-actions[hidden] { display:none; }
  .header.is-menu-enhanced .header-actions > .button { justify-content:flex-start; padding:12px; font-size:12px; min-height:44px; }
  .header.is-menu-enhanced .theme-toggle { margin:0; width:44px; height:44px; }
  .header.is-menu-enhanced .panel-menu > summary { min-height:44px; }
  .header.is-menu-enhanced .panel-menu-popover { position:static; min-width:0; margin-top:8px; }
  .home-catalog-panel,.tender-results,.tender-card { scroll-margin-top:92px; }
  :is(.jobs-hero,.tender-hero,.events-hero) { flex-direction:column; align-items:flex-start; min-height:0; padding:28px; gap:20px; }
  :is(.jobs-hero,.tender-hero,.events-hero) h1 { font-size:34px; }
  .jobs-layout,.tender-layout { grid-template-columns:minmax(0,1fr); }
  .job-filters { position:static; }
  .job-filter-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:12px; }
  .job-filter-form > .field:first-of-type,.job-filter-form > .form-grid { grid-column:1 / -1; }
  .job-filters .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .job-filter-form .field { min-width:0; }
  .job-filter-form .field :is(input,select) { width:100%; min-width:0; }
  .tender-source-label { margin-left:0; }
}
@media (max-width:520px) {
  :is(.jobs-hero,.tender-hero,.events-hero) { padding:25px 22px; border-radius:6px; }
  :is(.jobs-hero,.tender-hero,.events-hero) h1 { font-size:31px; }
  :is(.jobs-hero,.tender-hero,.events-hero) p { font-size:13px; }
  :is(.jobs-hero,.tender-hero,.events-hero) .eyebrow { font-size:9px; }
  .job-filters { padding:18px; }
  .job-card,.tender-card,.event-card { padding:20px; }
  .job-card h2,.tender-card h2,.event-card h2 { font-size:20px; }
  .event-card .event-facts { grid-template-columns:1fr; }
  .events-nav a { padding-inline:12px; }
  .events-nav > span { margin:8px 0 12px; }
  :root .events-container form.events-filters { padding:18px; }
  :root .events-container form.rental-availability-filter { padding:0; }
  .tender-status-tabs a { padding:12px; }
  .tender-status-tabs strong { font-size:23px; }
  .public-hero,.job-detail-hero { padding:24px 20px; }
  :root .container form.login-form { padding:24px; }
  .container:has(> .login-form) { padding-top:20px; }
  .container:has(> .login-form)::before { height:95px; margin-bottom:24px; }
}
@media (prefers-reduced-motion:reduce) { .job-card,.tender-card,.event-card { transition:none; } }
