/* Shared page frame: S defines 1100px of usable width and 20px side gutters. */
:root {--site-width:1100px;--site-gutter:20px;--site-fluid-width:calc(100% - 2 * var(--site-gutter));--site-screen-width:min(var(--site-width),calc(100vw - 2 * var(--site-gutter)));--site-reading-width:var(--site-width);--site-admin-width:var(--site-width)}
/* Approved Figma page 04: entry pages, L and the shared CV processing screen. */
.modern-entry,.modern-legal,.modern-search,.modern-detail,.modern-detail-body {
  --brand-text:#123f2a;--text:#123f2a;--muted:#647069;--green:#dce6df;--subtle:#f7f8f7;--border:#cbd3cf;
  color:var(--text);background:#fff;
}
.page-shell.modern-entry {
  --primary-height:379px;
  display:flex;flex-direction:column;align-items:center;gap:0;width:100%;max-width:none;min-height:100svh;margin:0;padding:0;
}
.page-shell--index.modern-entry {--primary-height:384px}
.modern-entry .index-header {display:flex;align-items:center;justify-content:center;width:var(--site-fluid-width);max-width:var(--site-width);height:56px;min-height:56px;flex:none;margin-inline:auto;padding:0}
.modern-entry .logo-link {min-height:32px}
.site-header.modern-header {display:grid;grid-template-columns:74px minmax(0,1fr) 74px;gap:0;width:var(--site-fluid-width);max-width:var(--site-width);min-height:56px;height:56px;flex:none;padding:0;margin-inline:auto}
.header-city-group {display:flex;align-items:center;justify-content:center;justify-self:center;gap:6px;min-width:0;max-width:100%}
.header-city-group .city-button {flex:0 1 auto;min-width:0}
.admin-mode-toggle {display:flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;padding:7px;border:0;border-radius:50%;background:var(--green);color:var(--brand-text);cursor:pointer}
.admin-mode-toggle svg {display:block;width:18px;height:18px}
.admin-mode-toggle:hover {background:var(--subtle)}
.admin-mode-toggle:disabled {cursor:wait;opacity:.6}
.admin-mode-error {margin:0 auto;padding:0 20px;max-width:1100px;text-align:center;color:var(--brand-text);font-size:12px}
.modern-header .city-button {width:auto;min-height:32px;gap:4px;padding:0;max-width:100%;font:500 12px/18px var(--heading);color:var(--brand-text)}
.modern-header .city-button > span {flex:0 1 auto;text-align:center}
.modern-header .city-button:hover {background:none;opacity:.8}
.modern-header .language-switch {width:74px;height:32px;gap:0;padding:0;border-radius:16px;background:var(--subtle)}
.modern-header .language-button {width:50%;height:32px;padding:0;border-radius:16px;color:var(--brand-text)}
.modern-header .language-button.is-selected {background:var(--green)}
.modern-home {display:flex;align-items:center;width:44px;min-height:32px}
.modern-entry .entry-main {
  display:flex;flex:1;flex-direction:column;align-items:center;gap:0;width:100%;min-height:0;
  padding: max(32px,calc((100svh - var(--primary-height)) / 2 - 56px)) 20px 0;
}
.modern-entry .entry-content {display:flex;flex:none;flex-direction:column;align-items:center;gap:20px;width:350px;max-width:100%;margin-inline:auto}
.modern-entry .home-intro {display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;text-align:center}
.modern-entry .title-lockup {display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:fit-content;max-width:100%;text-align:left}
.brand-mark {display:block;flex:none;line-height:0}
.brand-mark > .asset--desktop,.brand-mark > img[src$='brand-mark-desktop.svg'] {display:none}
.modern-entry .hero-title {width:auto;max-width:100%;font:600 28px/34px var(--heading);letter-spacing:-.8px;color:var(--brand-text);overflow-wrap:break-word}
.modern-entry .index-title {width:auto;max-width:100%;font:600 26px/32px var(--heading);letter-spacing:-.7px;color:var(--brand-text);overflow-wrap:break-word}
.modern-entry .hero-description,.modern-entry .index-description {width:100%;max-width:none;font:400 14px/20px var(--body);color:var(--muted)}
.modern-entry .home-actions,.modern-entry .setup-card {display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%;max-width:none;padding:20px;border:0;border-radius:20px;background:#fff;box-shadow:none}
.modern-entry .mode-switch,.modern-entry .language-choices {display:flex;flex-wrap:nowrap;width:100%;max-width:none;height:32px;min-height:32px;gap:0;padding:0;border:0;border-radius:16px;background:var(--subtle)}
.modern-entry .mode-button,.modern-entry .language-choice {display:flex;flex:1;align-items:center;justify-content:center;min-width:0;height:32px;min-height:32px;padding:0 4px;border:0;border-radius:16px;background:var(--subtle);color:var(--brand-text);font:500 12px/18px var(--heading)}
.modern-entry .mode-button.is-selected,.modern-entry .language-choice.is-selected {background:var(--green)}
.modern-entry .mode-button:not(.is-selected):hover,.modern-entry .language-choice:not(.is-selected):hover {background:#edf1ee}
.modern-entry .hero-action,.modern-entry .continue-button {display:flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:none;height:35px;min-height:35px;padding:0 12px;border-radius:12px;font:600 13px/20px var(--heading)}
.modern-entry .continue-button {background:var(--subtle);color:var(--muted);opacity:1}
.modern-entry .continue-button:not(.is-ready) .asset {visibility:hidden}
.modern-entry .continue-button.is-ready {background:var(--brand);color:#fff}
.modern-entry .setup-field {gap:4px}
.modern-entry .field-label {font:600 12px/18px var(--body);color:var(--brand-text)}
.modern-entry .city-field {gap:8px;min-height:35px;height:35px;padding:0 12px;border:1px solid var(--green);border-radius:12px;background:#fff}
.modern-entry .city-field-value {font:400 14px/20px var(--body);color:var(--muted)}
.modern-entry .city-field-value.has-value {color:var(--brand-text)}
.modern-entry .index-note {font:400 11px/16px var(--body);color:var(--muted);text-align:center}
.modern-entry .home-channels {display:flex;flex-direction:column;align-items:center;gap:8px;padding:0;font:400 11px/16px var(--body);color:var(--muted);text-align:center}
.modern-entry .channel-links {gap:12px;width:auto}
.modern-entry .channel-link {display:flex;align-items:center;justify-content:center;width:32px;min-height:32px;height:32px;padding:0;border:1px solid var(--green);border-radius:12px;background:#fff}
.modern-entry .channel-link:hover {background:var(--subtle)}
.modern-entry .support-zone {display:flex;flex:1;align-items:center;justify-content:center;width:100%;min-height:64px}
.modern-entry .partners {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;max-width:390px;width:100%;padding:4px 16px 12px;color:var(--muted);text-align:center}
.modern-entry .partner-group {display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;min-width:0}
.modern-entry .partners h2 {font:500 10px/14px var(--heading);letter-spacing:.5px;color:var(--muted)}
.modern-entry .partner-list {display:block;width:100%;padding:0;font:400 11px/16px var(--body);color:var(--muted);text-align:center}
.modern-entry .partner-link {display:inline}
.partner-link:hover {text-decoration:underline;text-underline-offset:3px}
.modern-footer.site-footer {display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:var(--site-fluid-width);max-width:var(--site-width);margin-inline:auto;padding:20px 0 16px;font:400 11px/16px var(--body);color:var(--muted);background:#fff;text-align:center}
.modern-footer .legal-links {gap:4px 8px;color:var(--brand-text)}
.modern-footer .footer-contacts {display:flex;align-items:center;justify-content:center;gap:8px;color:var(--brand-text)}
.modern-footer .footer-contact {display:flex;align-items:center;justify-content:center;width:32px;min-height:32px}
.modern-footer .footer-contact:hover {opacity:.75}

.page-shell.modern-legal {display:flex;flex-direction:column;align-items:center;gap:0;width:100%;max-width:none;min-height:100svh;margin:0;padding:0}
.modern-legal .legal-page {display:flex;flex:1;flex-direction:column;align-items:stretch;gap:24px;width:var(--site-fluid-width);max-width:var(--site-reading-width);padding:24px 0 32px;margin:0 auto}
.legal-tabs {display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}
.legal-tab {display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:var(--subtle);color:var(--brand-text);font:600 13px/20px var(--heading)}
.legal-tab.is-selected {background:var(--green)}
.legal-tab:hover {background:#edf1ee}
.legal-document {display:flex;flex-direction:column;align-items:stretch;gap:24px;min-width:0;color:var(--brand-text);font:400 14px/22px var(--body)}
.modern-legal .legal-document h1 {margin:0;color:var(--brand-text);font:600 26px/32px var(--heading);letter-spacing:-.7px;overflow-wrap:break-word}
.modern-legal .legal-intro {margin:0;color:var(--muted);font:400 14px/22px var(--body)}
.legal-document > .legal-intro {margin-top:-12px}
.modern-legal .legal-section {display:flex;flex-direction:column;gap:12px;margin:0;padding:0;border:0;background:none}
.modern-legal .legal-section h2 {margin:0;font:600 18px/26px var(--heading);letter-spacing:-.2px;color:var(--brand-text)}
.modern-legal .legal-item {margin:0}
.pricing-content--modern {display:flex;flex-direction:column;align-items:stretch;gap:24px}
.pricing-introduction {display:flex;flex-direction:column;gap:12px}
.modern-legal .pricing-plans {display:flex;flex-direction:column;gap:16px}
.modern-legal .pricing-card {display:flex;flex:1;flex-direction:column;gap:12px;min-width:0;margin:0;padding:16px;border:1px solid var(--border);border-radius:16px;background:#fff}
.pricing-card-heading {display:flex;align-items:center;gap:12px}
.modern-legal .pricing-card-heading h2 {flex:1;font:600 14px/20px var(--heading);letter-spacing:-.2px}
.modern-legal .pricing-card .pricing-value {flex:none;margin:0;padding:0;font:600 24px/30px var(--heading);color:var(--brand-text);white-space:nowrap}
.pricing-card > p {color:var(--muted)}
.pricing-indexation {display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:16px;background:var(--subtle)}
.pricing-indexation h2 {font:600 18px/26px var(--heading);letter-spacing:-.2px}
.modern-legal .pricing-publish {min-height:40px;height:auto;padding:10px 12px;font:600 13px/20px var(--heading)}
.pricing-content--modern .s-caption {margin:0;color:var(--muted);font:400 11px/16px var(--body)}

.page-shell.page-shell--processing {display:block;width:100%;max-width:none;min-height:100svh;margin:0;padding:0;background:#fff;color:#123f2a}
.processing-screen,.message-page--loading {position:fixed;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;width:100%;height:100vh;height:100dvh;min-height:0;padding:24px var(--site-gutter);margin:0;background:#fff}
.page-loader.processing {display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;gap:24px;width:min(350px,100%);height:auto;min-height:0;min-width:0;padding:0;margin:0;background:none}
.s-results > .processing {align-self:center;margin-block:48px}
.processing-message {width:100%;color:#123f2a;text-align:center;font:500 18px/26px var(--heading);letter-spacing:-.2px;overflow-wrap:break-word}
.processing-dots {display:flex;align-items:flex-start;gap:16px;width:80px;height:32px}
.processing-dot {display:block;flex:none;width:16px;height:32px;animation:processing-bounce 1.86s ease-in-out infinite}
.processing-dot .asset {margin-left:2px}
.processing-dot--orange {animation-delay:-1.24s}
.processing-dot--blue {animation-delay:-.62s}
/* Figma: 360ms hold + 260ms Smart Animate, three phases, a 12px rise. */
@keyframes processing-bounce {0%,19.3548%,100% {transform:translateY(0)} 33.3333%,86.0215% {transform:translateY(12px)}}
@media (prefers-reduced-motion:reduce) {.processing-dot {animation:none;transform:translateY(6px)}}

@media (min-width:900px) {
  .page-shell.modern-entry {--primary-height:187px}
  .page-shell--index.modern-entry {--primary-height:216px}
  .modern-entry .entry-content {flex-direction:row;align-items:center;gap:80px;width:980px}
  .modern-entry .home-intro {align-items:flex-start;width:500px;flex:none;text-align:left}
  .modern-entry .title-lockup {width:100%}
  .brand-mark > img[src$='brand-mark-mobile.svg'] {display:none}
  .brand-mark > img[src$='brand-mark-desktop.svg'] {display:block}
  .modern-entry .hero-title,.modern-entry .index-title {font-size:36px;line-height:44px;letter-spacing:-.72px}
  .modern-entry .hero-mobile-break {display:none}
  .modern-entry .hero-description,.modern-entry .index-description {font-size:16px;line-height:26px;text-align:left}
  .modern-entry .home-actions,.modern-entry .setup-card {width:400px;flex:none}
  .modern-entry .support-zone {min-height:80px}
  .modern-entry .partners {max-width:650px}
  .modern-footer.site-footer {flex-direction:row;gap:32px;padding:32px 0}
  .modern-legal .legal-page {padding:24px 0 40px}
  .modern-legal .legal-document {font-size:16px;line-height:26px}
  .modern-legal .legal-document h1 {font-size:36px;line-height:44px;letter-spacing:-.72px}
  .modern-legal .legal-intro {font-size:16px;line-height:26px}
  .modern-legal .pricing-plans {flex-direction:row}
}
@media (min-width:900px) and (max-width:1059px) {
  .modern-entry .entry-content {gap:40px;width:100%}
  .modern-entry .home-intro {flex:1;min-width:0;width:auto}
  .modern-entry .home-actions,.modern-entry .setup-card {width:360px}
}

/* Home uses the mobile composition at every width; index keeps its desktop layout. */
.page-shell--home.modern-entry {--footer-height:124px;--support-space:64px}
.page-shell--home.modern-entry .entry-main {padding-top:max(32px,min(calc((100svh - var(--primary-height)) / 2 - 56px),calc(100svh - var(--primary-height) - 56px - var(--footer-height) - var(--support-space))))}
@media (min-width:900px) {
  .page-shell--home.modern-entry {--primary-height:379px;--footer-height:96px;--support-space:80px}
  .page-shell--home.modern-entry .entry-content {flex-direction:column;gap:20px;width:390px}
  .page-shell--home.modern-entry .home-intro {flex:none;align-items:center;width:100%;text-align:center}
  .page-shell--home.modern-entry .title-lockup {width:fit-content}
  .page-shell--home.modern-entry .hero-title {font-size:28px;line-height:34px;letter-spacing:-.8px}
  .page-shell--home.modern-entry .hero-mobile-break {display:initial}
  .page-shell--home.modern-entry .hero-description {font-size:14px;line-height:20px;text-align:center}
  .page-shell--home.modern-entry .home-actions {width:100%;flex:none}
  .page-shell--home.modern-entry .brand-mark > img[src$='brand-mark-mobile.svg'] {display:block}
  .page-shell--home.modern-entry .brand-mark > img[src$='brand-mark-desktop.svg'] {display:none}
}

.startup-loader {position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;width:100%;height:100vh;height:100dvh;padding:24px var(--site-gutter);background:#fff}
#app[hidden] {display:none!important}
.choice-notice {position:fixed;inset:76px auto auto 50%;transform:translateX(-50%);display:flex;align-items:flex-start;gap:16px;width:calc(100% - 32px);max-width:400px;margin:0;padding:16px 20px;border:1px solid #cbd3cf;border-radius:16px;background:#fff;color:#123f2a;box-shadow:none;z-index:1000;font:400 14px/20px var(--body)}
.choice-notice-copy {flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.choice-notice-copy > p {font:600 14px/20px var(--heading)}
.choice-notice-copy > span {font:400 12px/18px var(--body);color:#647069}
.choice-notice--saved {border-color:#148345}
.choice-notice--error {border-color:#bb645e}
.choice-notice-close {display:flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;margin:-6px -8px -6px 0;padding:0;color:#123f2a;font:400 24px/32px var(--body)}
.choice-notice .button {min-height:35px;padding:6px 12px;font-size:13px;align-self:flex-start}

/* Vacancy catalogue and related screens. */
.page-shell.page-shell--search.modern-search {display:flex;flex-direction:column;align-items:center;gap:0;width:100%;max-width:none;min-height:100svh;margin:0;padding:0;overflow-anchor:none}
.modern-search .s-content {display:flex;flex:1;flex-direction:column;align-items:stretch;gap:20px;width:var(--site-fluid-width);max-width:var(--site-width);padding:16px 0 24px}
.modern-search .s-search-toolbar {display:flex;align-items:center;gap:8px;width:100%;padding:0;border:0;background:none}
.modern-search .s-search-entry {display:flex;flex:1;align-items:center;gap:8px;min-width:0;width:auto}
.modern-search .s-search-field {display:flex;flex:1;align-items:center;gap:8px;min-width:0;height:40px;min-height:40px;margin:0;padding:0 12px;border:0;border-radius:12px;background:var(--subtle)}
.modern-search .s-search-field input {flex:1;min-width:0;width:100%;height:40px;margin:0;padding:0;border:0;background:transparent;color:var(--brand-text);font:400 14px/20px var(--body)}
.modern-search .s-search-field input::placeholder {color:var(--muted);opacity:1}
.modern-search .s-search-actions {display:flex;flex:none;align-items:center;gap:0;width:auto}
.modern-search .s-find-button,.modern-search .s-filter-entry {display:flex;flex:none;align-items:center;justify-content:center;gap:8px;width:40px;min-height:40px;height:40px;padding:0;border:0;border-radius:12px;font:600 13px/20px var(--heading)}
.modern-search .s-filter-entry {background:var(--subtle);color:var(--brand-text)}
.modern-search .s-find-button.is-clear > .asset {filter:brightness(0) invert(1)}
.modern-search .s-find-label,.modern-search .s-filter-label {display:none}
.modern-search .s-result-heading {display:block;padding:0;font:600 14px/20px var(--heading);letter-spacing:-.2px;color:var(--brand-text)}
.modern-search .s-result-heading > span {display:none}
.modern-search .s-results {display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%;padding:0}
.modern-search .s-card.s-vacancy {display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%;margin:0;padding:16px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:none}
.modern-search .s-card.s-vacancy.is-promoted {border:1.5px solid var(--brand);border-left-width:3px;background:#fff}
.modern-search .s-card-meta {display:flex;align-items:center;gap:8px;width:100%;font:400 11px/16px var(--body);color:var(--muted)}
.modern-search .s-card-meta > .catalog-category {flex:1;min-width:0;overflow-wrap:anywhere}
.modern-search .catalog-number {flex:none;white-space:nowrap}
.modern-search .s-pinned {display:flex;flex:none;align-items:center;gap:4px;padding:3px 7px;border:1px solid var(--brand);border-radius:999px;background:var(--brand);color:#fff;font:400 11px/16px var(--body)}
.s-pinned .asset {filter:brightness(0) invert(1)}
.modern-search .s-tag.s-tag--top,.modern-detail-body .s-tag.s-tag--top,.s-tag.s-tag--top {background:var(--brand);color:#fff}
.catalog-top-long {display:none}
.modern-search .catalog-heading {display:flex;flex-direction:column;align-items:stretch;gap:8px}
.modern-search .s-vacancy-heading {display:flex;flex-direction:column;gap:4px;min-width:0}
.modern-search .s-vacancy-heading h2 {margin:0;color:var(--brand-text);font:600 22px/30px var(--heading);letter-spacing:-.3px;overflow-wrap:anywhere;text-transform:none}
.modern-search .s-vacancy-heading .s-muted {font:600 12px/18px var(--body);color:var(--muted)}
.modern-search .s-price {margin:0;color:#272626;font:600 18px/26px var(--heading);letter-spacing:-.2px;overflow-wrap:anywhere}
.vacancy-identity {display:flex;flex-direction:column;gap:4px;min-width:0}
.vacancy-identity > p {display:flex;align-items:flex-start;gap:6px;min-width:0;margin:0;color:#4c4c4c;font:400 12px/18px var(--body)}
.vacancy-identity > .vacancy-company {color:#272626;font-weight:600}
.vacancy-identity span {min-width:0;overflow-wrap:anywhere}
.vacancy-icon {flex:none;object-fit:contain}
.detail-icon-heading {display:flex;align-items:center;gap:8px}
.modern-search .s-tags {display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;width:100%;margin:0;padding:0}
.modern-search .s-tag {display:inline-flex;align-items:center;max-width:100%;min-height:24px;padding:4px 8px;border:0;border-radius:999px;background:var(--subtle);color:var(--muted);font:400 11px/16px var(--body);overflow-wrap:anywhere}
.modern-search .catalog-special {display:flex;flex-direction:column;align-items:stretch;gap:8px}
.modern-search .catalog-special > p {color:var(--muted);font:400 11px/16px var(--body)}
.modern-search .catalog-special-tag--students {background:#ece3ff;color:#6c42d4}
.modern-search .catalog-special-tag--mothers {background:#ffebdc;color:#965026}
.modern-search .catalog-special-tag--pensioners {background:#e0f0ff;color:#245f93}
.modern-search .catalog-special-tag--accessible {background:#e3f2ee;color:#21645f}
.modern-search .s-card-footer {display:flex;flex-direction:column;align-items:stretch;gap:12px;margin:0;padding:0}
.modern-search .s-stats {display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;width:auto;color:var(--muted);font:400 11px/16px var(--body)}
.modern-search .s-stats > span {display:inline-flex;align-items:center;gap:4px}
.modern-search .s-card-footer > .button {display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:36px;height:36px;padding:8px 12px;border:0;border-radius:12px;background:var(--brand);color:#fff;font:600 13px/20px var(--heading)}
.modern-search .s-card-footer > .button:hover {background:var(--brand-hover)}
.modern-search .s-card-footer > .button:active {background:#0d5b30}
.modern-search .s-card-footer > .button > .asset {filter:brightness(0) invert(1)}
.modern-search .s-pagination {display:flex;flex-direction:column;align-items:center;gap:8px;padding:0}
.modern-search .s-pagination p {font:400 11px/16px var(--body);color:var(--muted)}
.modern-search .s-pagination .button {width:100%;min-height:35px;padding:7px 12px;border:0;background:var(--subtle);color:var(--brand-text);font:600 13px/20px var(--heading)}
.modern-search .home-channels {display:flex;flex-direction:column;align-items:center;gap:8px;padding:0;font:400 11px/16px var(--body);color:var(--muted);text-align:center}
.modern-search .channel-links {gap:12px;width:auto}
.modern-search .channel-link {display:flex;align-items:center;justify-content:center;width:32px;min-height:32px;height:32px;padding:0;border:1px solid var(--green);border-radius:12px;background:#fff}
.modern-search .s-back-top {background:#fff;color:var(--brand-text);box-shadow:none}
@media (min-width:900px) {
  .modern-search .s-vacancy-heading h2 {font-size:24px;line-height:32px}
  .modern-search .s-content {padding-top:32px}
  .modern-search .s-find-button {width:104px;padding:0 12px}
  .modern-search .s-find-button > .asset {display:none}
  .modern-search .s-filter-entry {width:112px;padding:0 12px}
  .modern-search .s-find-label,.modern-search .s-filter-label {display:inline}
  .modern-search .s-results {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;width:100%;margin-inline:auto}
  .modern-search .s-results[data-masonry] {display:block;position:relative}
  .modern-search .s-results[data-masonry] > .s-vacancy {position:absolute;width:calc((100% - 16px)/2)}
  .modern-search .s-results > :is(.processing,.s-empty) {grid-column:1/-1;justify-self:center}
  .modern-search .s-results > .processing {width:min(350px,100%)}
  .modern-search .catalog-heading {flex-direction:column;align-items:stretch;gap:8px}
  .modern-search .s-price {flex:none;font-size:18px;line-height:26px;text-align:left}
  .modern-search .s-card-footer {flex-direction:column;align-items:stretch;gap:12px}
  .modern-search .s-stats {flex:none;min-width:0}
  .modern-search .s-card-footer > .button {width:100%}
  .modern-search .s-pagination .button {max-width:220px}
  .catalog-top-short {display:none}
  .catalog-top-long {display:inline}
}

/* Vacancy details follow the full-screen Figma composition. */
.action-dialog.s-dialog--detail-page {inset:0;width:100%;height:100svh;max-width:none;max-height:100svh;margin:0;padding:0;border:0;border-radius:0;background:#fff;box-shadow:none;overflow:auto;overscroll-behavior:contain}
.s-dialog--detail-page::backdrop {background:#fff}
.page-shell.modern-detail {display:flex;flex-direction:column;align-items:center;gap:0;width:100%;max-width:none;min-height:100%;margin:0;padding:0}
.modern-detail .detail-content {display:flex;flex:1;flex-direction:column;gap:20px;width:var(--site-fluid-width);max-width:var(--site-width);padding:16px 0 24px}
.detail-return {display:flex;align-items:center;justify-content:flex-end;gap:16px;width:100%}
.detail-return button {display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0;color:var(--brand-text);font:600 13px/20px var(--heading);text-align:left}
.detail-return .asset {width:16px;height:16px}
.vacancy-detail-dialog .s-panel-close.vacancy-close {display:flex;align-items:center;justify-content:flex-end;gap:8px;width:auto;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;color:var(--brand-text);font:600 13px/20px var(--heading)}
.vacancy-detail-dialog .vacancy-close:hover {background:transparent}
.vacancy-detail-dialog .vacancy-close:hover .asset {border-radius:6px;background:#dce6df}
.modern-detail-body {display:flex;flex-direction:column;gap:24px;width:100%;min-width:0;color:#272626;font:400 14px/22px var(--body)}
.modern-detail-body .detail-meta {display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;color:var(--muted);font:400 11px/16px var(--body)}
.modern-detail-body .detail-top {flex:none;padding:4px 8px;border-radius:999px;background:var(--brand);color:#fff}
.modern-detail-body .detail-overview {display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:0;margin-top:-12px}
.modern-detail-body .s-detail-heading {display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}
.modern-detail-body .s-detail-heading :is(h1,h2,h3) {margin:0;color:var(--brand-text);font:600 28px/34px var(--heading);letter-spacing:-.8px;overflow-wrap:anywhere;text-transform:none}
.modern-detail-body .vacancy-identity > p {font-size:14px;line-height:22px}
.modern-detail-body .vacancy-identity .vacancy-icon {margin-top:2px}
.modern-detail-body .s-muted {color:var(--muted);font:400 14px/22px var(--body)}
.modern-detail-body .s-caption {color:var(--muted);font:400 11px/16px var(--body)}
.modern-detail-body .detail-salary {display:flex;flex-direction:column;gap:4px;min-width:0}
.modern-detail-body .s-detail-price {margin:0;color:#272626;font:600 24px/30px var(--heading);letter-spacing:0;overflow-wrap:anywhere}
.modern-detail-body .detail-columns {display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding-top:24px;border-top:1px solid #cbd3cf}
.modern-detail-body .s-detail-section {display:flex;flex-direction:column;gap:8px;min-width:0}
.modern-detail-body .s-detail-section > h3 {margin:0;color:var(--brand-text);font:600 18px/26px var(--heading);letter-spacing:-.2px}
.modern-detail-body .s-detail-description {margin:0;color:#272626;font:400 14px/22px var(--body);white-space:pre-wrap;overflow-wrap:anywhere}
.modern-detail-body .detail-condition-rows {display:flex;flex-direction:column;gap:12px;margin:0}
.modern-detail-body .detail-condition-rows > div {display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0}
.modern-detail-body .detail-condition-rows dt {display:flex;align-items:flex-start;gap:6px;flex:1;color:var(--muted);font:400 14px/22px var(--body);overflow-wrap:anywhere}
.modern-detail-body .detail-condition-rows dd {flex:1;margin:0;color:#272626;font:600 12px/18px var(--body);text-align:right;overflow-wrap:anywhere}
.detail-condition-list {display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0;color:var(--brand-text)}
.modern-detail-body .detail-special {display:flex;flex-direction:column;gap:8px;padding-top:8px}
.modern-detail-body .s-tags {display:flex;flex-wrap:wrap;gap:8px;min-width:0;margin:0}
.modern-detail-body .s-tag {min-height:24px;max-width:100%;padding:4px 8px;border:0;border-radius:999px;background:var(--subtle);color:var(--muted);font:400 11px/16px var(--body);white-space:normal;overflow-wrap:anywhere}
.modern-detail-body .catalog-special-tag--students {background:#ece3ff;color:#6c42d4}
.modern-detail-body .catalog-special-tag--mothers {background:#ffebdc;color:#965026}
.modern-detail-body .catalog-special-tag--pensioners {background:#e0f0ff;color:#245f93}
.modern-detail-body .catalog-special-tag--accessible {background:#e3f2ee;color:#21645f}
.modern-detail-body .s-contact-actions {display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0}
.modern-detail-body .s-detail-contacts .s-contact-actions .button {display:flex;flex:none;align-items:center;justify-content:center;gap:8px;width:100%;max-width:none;height:auto;min-height:40px;padding:9px 12px;border-radius:12px;font:600 13px/20px var(--heading);white-space:normal;overflow-wrap:anywhere}
.modern-detail-body .s-contact-actions .button-secondary {border:1px solid #dce6df;background:#fff;color:var(--brand-text)}
.modern-detail-body .s-contact-actions .button-primary {border:0;background:var(--brand);color:#fff}
.modern-detail-body .s-detail-date {padding-top:4px}
.modern-detail-body .s-report {display:flex;align-items:center;justify-content:flex-start;margin:0;padding:0;border:0;border-radius:0;background:none}
.modern-detail-body .s-report .button {display:inline-flex;flex:none;align-items:center;justify-content:flex-start;gap:8px;max-width:100%;min-height:44px;height:auto;padding:6px 0;border:0;background:none;color:var(--brand-text);font:600 13px/20px var(--heading);text-align:left;white-space:normal}
.modern-detail-body .s-report .asset {flex:none;width:18px;height:18px}
@media (min-width:900px) {
  .modern-detail .detail-content {padding-top:32px}
  .modern-detail-body {gap:32px}
  .modern-detail-body .detail-overview {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,350px);align-items:start;gap:12px 40px;margin-top:-16px}
  .modern-detail-body .detail-overview > .vacancy-identity {grid-column:1/-1}
  .modern-detail-body .s-detail-heading :is(h1,h2,h3) {font-size:36px;line-height:44px}
  .modern-detail-body .detail-salary {flex:0 1 350px}
  .modern-detail-body .detail-columns {grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;padding-top:32px}
  .modern-detail-body .detail-columns > :only-child {grid-column:1/-1}
  .modern-detail-body .s-contact-actions {flex-direction:row;flex-wrap:wrap}
  .modern-detail-body .s-detail-contacts .s-contact-actions .button {flex:1 1 180px;width:auto}
}

/* All dialogs use the same white surface, including future confirmations. */
dialog {
  --brand-text:#123f2a;--text:#123f2a;--muted:#647069;--green:#dce6df;--subtle:#f7f8f7;--border:#cbd3cf;--page:#fff;
  color:var(--text);background:#fff;border:0;border-radius:0;box-shadow:none;
}
dialog::backdrop,dialog.action-dialog::backdrop,dialog.s-dialog::backdrop,dialog.city-dialog::backdrop {
  background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;
}
dialog .button {min-height:40px;padding:0 12px;border-radius:12px;font:600 13px/20px var(--heading);gap:8px}
dialog .button-primary {background:var(--brand);color:#fff}
dialog .button-secondary {background:#fff;color:var(--text);border:1px solid var(--green)}
dialog .button-quiet {background:transparent;color:var(--text);border:0}
dialog .dialog-close {width:32px;height:32px;min-width:32px;padding:0;border:0;background:transparent}
.city-dialog {width:560px;max-width:calc(100% - 40px);padding:24px;max-height:calc(100dvh - 40px)}
.city-dialog .dialog-heading {align-items:flex-start;gap:16px;margin-bottom:20px}
.city-dialog h2 {font:600 26px/32px var(--heading);letter-spacing:-.7px}
.city-dialog .search-label {font:600 12px/18px var(--body);color:var(--muted);margin-bottom:8px}
.city-dialog .city-search {min-height:44px;height:44px;padding:12px 16px;border:1px solid var(--green);border-radius:12px;background:#fff;font:400 14px/20px var(--body);color:var(--text)}
.city-dialog .city-options {margin-top:16px;gap:8px}
.city-dialog .city-option {min-height:44px;padding:12px;border:0;border-radius:12px;background:#fff;color:var(--text);font:400 14px/20px var(--body)}
.city-dialog .city-option:hover {background:var(--subtle)}
.city-dialog .city-option[aria-selected='true'] {background:var(--green)}
.city-dialog .city-option-mark {color:var(--brand)}
.city-dialog .empty-cities {font:400 14px/22px var(--body);color:var(--muted)}

/* Figma 337:4089 / 337:4093: fixed heading and choices that scroll independently. */
dialog.s-dialog--filters,dialog.action-dialog--social {
  position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;
}
dialog.s-dialog--filters {overflow:hidden}
.modern-filter-page {display:flex;flex-direction:column;width:100%;height:100%;min-height:0}
.s-dialog--filters .s-filter-panel {position:relative;display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr);gap:16px;width:100%;max-width:1140px;height:calc(100dvh - 56px);min-height:0;margin:0 auto;padding:16px 20px 24px;background:#fff}
.s-dialog--filters .s-panel-header {display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0}
.s-dialog--filters .s-panel-header h2 {font:600 26px/32px var(--heading);letter-spacing:-.7px}
.s-dialog--filters .s-panel-close {display:flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;padding:0;border:0;background:transparent;border-radius:0}
.s-dialog--filters .s-filter-intro {font:400 14px/22px var(--body);color:var(--muted)}
.s-dialog--filters .s-filter-categories {display:flex;align-items:flex-start;flex-wrap:nowrap;gap:8px;min-height:40px;margin:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.s-dialog--filters .s-filter-categories::-webkit-scrollbar {display:none}
.s-dialog--filters .s-filter-category {flex:none;min-height:36px;padding:8px 12px;border:0;border-radius:999px;background:var(--subtle);color:var(--text);font:600 13px/20px var(--heading);white-space:nowrap}
.s-dialog--filters .s-filter-category.is-active {background:var(--green)}
.s-dialog--filters .s-filter-selected {display:flex;flex-direction:column;gap:8px;min-height:66px;padding:12px;border-radius:12px;background:var(--subtle)}
.s-dialog--filters .s-filter-selected > p {font:600 12px/18px var(--body)}
.s-dialog--filters .s-filter-selected .s-tags {gap:8px;margin:0}
.s-dialog--filters .s-filter-selected .s-tag {display:inline-flex;align-items:center;gap:4px;max-width:100%;min-height:24px;padding:4px 8px;border:0;border-radius:999px;background:var(--green);font:400 11px/16px var(--body);color:var(--text);overflow-wrap:anywhere}
.filter-chip-close {display:flex;align-items:center;justify-content:center;flex:none;width:12px;height:12px}
.filter-chip-close > .asset {transform:scale(.75)}
.s-dialog--filters .s-filter-scroll {min-height:0;max-height:none;height:auto;margin:0;padding:0;overflow-y:auto;overscroll-behavior:contain}
.s-dialog--filters .has-filter-actions .s-filter-scroll {padding-bottom:114px}
.s-dialog--filters .s-filter-columns {display:flex;flex-direction:column;align-content:start;gap:20px;flex:none}
.s-dialog--filters .s-filter-column {display:contents}
.s-dialog--filters .s-filter-block {order:var(--filter-order,0);display:flex;flex:none;flex-direction:column;gap:8px;margin:0}
.s-dialog--filters .s-filter-block h3 {font:600 18px/26px var(--heading);letter-spacing:-.2px}
.s-dialog--filters .s-filter-list {display:flex;flex:none;flex-direction:column;gap:0}
.s-dialog--filters .s-filter-row {display:flex;flex:none;align-items:center;gap:12px;width:100%;min-height:36px;padding:8px 12px;border:0;border-radius:12px;background:#fff;color:var(--text);font:400 14px/20px var(--body);text-align:left}
.s-dialog--filters .s-filter-row > span:first-of-type {flex:1;min-width:0}
.s-dialog--filters .s-filter-row > .asset {flex:none}
.s-dialog--filters .s-filter-row.is-selected {background:var(--subtle)}
.s-dialog--filters .s-filter-count {flex:none;font:400 11px/16px var(--body);color:var(--muted)}
.s-dialog--filters .s-filter-actions {position:fixed;inset:auto 20px max(16px,env(safe-area-inset-bottom));z-index:2;width:calc(100% - 40px);max-width:620px;margin:0 auto;padding:16px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:none}
.s-dialog--filters .s-filter-actions .s-caption {font:400 11px/16px var(--body);color:var(--muted)}
.s-dialog--filters .s-panel-actions {display:flex;gap:8px;flex-wrap:nowrap;margin-top:8px}
.s-dialog--filters .s-panel-actions .button {flex:1;min-width:0;width:auto;height:40px}

/* Figma 337:4099 / 337:4103: bilingual covers and separate publication texts. */
dialog.action-dialog--social {overflow-y:auto;overscroll-behavior:contain}
.social-materials-dialog {display:flex;flex-direction:column;min-height:100%;width:100%;gap:0}
.social-materials-content {width:100%;max-width:1140px;margin:0 auto;padding:16px 20px 32px}
.social-heading {display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.social-heading h2 {margin:0;font:600 26px/32px var(--heading);letter-spacing:-.7px}
.social-close {display:flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;padding:0;border:0;background:transparent}
.social-context {display:flex;flex-direction:column;gap:8px;margin:24px 0}
.social-vacancy-title {margin:0;color:var(--muted);font:600 12px/18px var(--body)}
.social-context > div {display:flex;align-items:center;gap:12px}
.social-context > div > p {flex:1;min-width:0;font:400 14px/22px var(--body);color:var(--muted)}
.social-tier {flex:none;padding:4px 8px;border-radius:999px;background:var(--brand);color:#fff;font:400 11px/16px var(--body)}
.social-materials-grid {display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:start}
.social-cover-column {display:flex;flex-direction:column;gap:16px;min-width:0}
.social-materials-grid h3 {margin:0;font:600 18px/26px var(--heading);letter-spacing:-.2px}
.social-materials-grid .s-caption {font:400 11px/16px var(--body);color:var(--muted)}
.social-cover-ready {display:flex;flex-direction:column;gap:12px;width:100%;padding:16px;border-radius:16px;background:var(--subtle)}
.social-ready-label {font:600 12px/18px var(--body)}
.social-posters {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;width:100%}
.social-posters.social-posters--single {grid-template-columns:minmax(0,1fr)}
.social-posters figure {display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%;min-width:0;margin:0}
.social-posters .social-cover-image {display:block;width:100%;height:auto;max-width:100%;max-height:none;aspect-ratio:4/5;object-fit:contain;border:0;border-radius:0;background:#fff}
.social-cover-placeholder {display:flex;align-items:center;justify-content:center;width:100%;min-height:0;aspect-ratio:4/5;padding:12px;background:#fff;font:400 11px/16px var(--body);color:var(--muted);text-align:center}
.social-posters figcaption {display:block;margin:0;width:100%}
.social-posters figcaption .button,.social-cover-column > .button {width:100%}
.social-text-column {display:flex;flex-direction:column;gap:24px;min-width:0}
.social-caption {display:flex;flex-direction:column;gap:12px;margin:0;width:100%;min-width:0}
.social-text-block {display:flex;flex-direction:column;gap:8px;width:100%;min-width:0;padding:16px;border-radius:16px;background:var(--subtle)}
.social-text-block textarea {display:block;width:100%;max-width:100%;min-height:0;padding:0;border:0;border-radius:0;outline:0;resize:vertical;background:transparent;color:var(--text);font:400 14px/22px var(--body);overflow-wrap:anywhere}
.social-language-tabs {display:flex;gap:0;width:100%;height:32px;border-radius:16px;background:var(--subtle)}
.social-language-tabs .button {flex:1;width:50%;height:32px;min-height:32px;padding:0 4px;border:0;border-radius:16px;background:var(--subtle);color:var(--text);font:500 12px/18px var(--heading)}
.social-language-tabs .button[aria-pressed='true'] {background:var(--green)}
.social-materials-dialog .modern-footer {margin-block:auto 0}
.admin-operation-dialog {display:flex;flex-direction:column;align-items:stretch;gap:20px;max-width:592px;width:100%;margin:0 auto}
.admin-operation-dialog h2 {margin:0;font:600 26px/32px var(--heading);letter-spacing:-.7px;padding-right:40px}
.admin-operation-dialog > p {font:400 14px/22px var(--body)}
.admin-operation-dialog > .s-caption {font:400 11px/16px var(--body);color:var(--muted)}
.admin-operation-dialog .dialog-close {position:absolute;top:24px;right:24px}
.admin-operation-dialog .operation-status {padding:16px;border-radius:16px;background:var(--subtle)}
.admin-operation-actions {display:flex;gap:8px;width:100%}
.admin-operation-actions > .button {flex:1;min-width:0}
.admin-session-note {padding:16px;border-radius:16px;background:#f7f8f7;color:#123f2a;font:400 14px/22px var(--body)}
@media (min-width:768px) {
  .s-dialog--filters .s-filter-panel {padding-top:32px}
  .s-dialog--filters .s-filter-categories {flex-wrap:wrap;overflow:visible}
  .s-dialog--filters .s-filter-columns {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
  .s-dialog--filters .s-filter-columns.single-category {grid-template-columns:minmax(0,1fr)}
  .s-dialog--filters .s-filter-column {display:flex;flex-direction:column;align-self:start;gap:20px;min-width:0}
  .s-dialog--filters .single-category .s-filter-column:empty {display:none}
  .social-materials-content {padding-top:32px}
  .social-materials-grid {grid-template-columns:minmax(0,620fr) minmax(0,440fr);gap:40px}
}
@media (max-width:639px) {
  .city-dialog {width:100%;max-width:calc(100% - 40px);padding:16px 0}
  .admin-operation-actions {flex-direction:column}
  .admin-operation-dialog .dialog-close {top:16px;right:16px}
}
.city-dialog .city-option {justify-content:flex-start;gap:12px}
.city-dialog .city-option > .asset {flex:none}
.city-dialog .city-option > span {flex:1;min-width:0}
.social-posters figcaption {padding-top:0}
.city-dialog .city-options {margin-top:20px}
.city-dialog .city-option[aria-selected='true'] {background:var(--subtle)}
.social-materials-dialog {max-width:none;padding:0}
.social-heading h2 {padding:0}
.social-materials-grid .button {height:40px;min-height:40px;padding:0 12px}
.social-materials-grid .social-language-tabs .button {height:32px;min-height:32px;padding:0 4px}
.admin-operation-dialog {padding:0}
dialog.action-dialog:has(.admin-operation-dialog) {width:640px}
.s-dialog--filters .s-panel-header {padding:0}
.social-text-block textarea {margin:0}

.pricing-breakdown{margin:24px 0;font-size:14px;line-height:1.55}.pricing-breakdown h2{font-size:18px;margin:0 0 10px}.pricing-breakdown p{color:#64736a;margin:0 0 14px}.pricing-table-scroll{overflow-x:auto}.pricing-breakdown table{width:100%;border-collapse:collapse;text-align:left}.pricing-breakdown th,.pricing-breakdown td{padding:10px 8px;border-bottom:1px solid #e3eae5}.pricing-breakdown th{font-weight:500}.pricing-breakdown tfoot{font-weight:600;color:#18764b}.pricing-breakdown a{color:inherit;text-underline-offset:3px}.cv-location-card .pricing-breakdown{font-size:13px}.cv-location-card .pricing-breakdown h2{font-size:16px}

/* Jidek AI beta entry remains available in both home audience modes. */
.modern-entry .home-ai-action {display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 12px;border:1.5px solid transparent;border-radius:12px;color:#fff;background:linear-gradient(135deg,#148345,#175932);font:600 13px/20px var(--heading)}
.modern-entry .home-ai-action:hover {background:linear-gradient(135deg,#106d39,#123f2a)}
.home-ai-action small {padding:2px 6px;border-radius:8px;background:#ffffff24;font:500 10px/14px var(--heading);color:#fff}
