@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --bg:#f7f8fc; --surface:#fff; --ink:#1557a6; --profession-green:#16834d; --muted:#737887; --line:#e6e8ee; --accent:#d92f3d; --accent-dark:#b92330; --accent-soft:#fff0f2; --success:#14804a; --danger:#c53c50; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:radial-gradient(circle at 75% -10%, #e9e7ff 0, rgba(233,231,255,0) 34%), var(--bg); color:var(--ink); font-family:'Manrope',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
button,input,textarea,select { font:inherit; }
a { color:inherit; }
.page-shell { min-height:100vh; }
.site-header { width:min(1160px,calc(100% - 40px)); margin:auto; height:82px; display:flex; align-items:center; justify-content:space-between; }
.brand { display:inline-flex; align-items:center; gap:11px; text-decoration:none; font-weight:800; letter-spacing:-.02em; }
.brand-mark { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background:var(--ink); color:white; }
.brand-mark svg { width:21px; height:21px; }
.admin-link { text-decoration:none; color:var(--muted); font-size:13px; font-weight:700; transition:.2s; }
.admin-link:hover { color:var(--ink); }
.main-content { width:min(900px,calc(100% - 40px)); margin:0 auto; padding:72px 0 30px; }
.hero { max-width:760px; margin-bottom:45px; }
.eyebrow { display:flex; align-items:center; gap:9px; color:var(--accent); text-transform:uppercase; letter-spacing:.14em; font-size:11px; font-weight:800; margin-bottom:19px; }
.eyebrow span { width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 5px var(--accent-soft); }
h1 { margin:0; font-size:clamp(40px,6vw,67px); line-height:1.02; letter-spacing:-.055em; font-weight:800; }
h1 em { color:var(--accent); font-style:normal; }
.hero > p { max-width:620px; margin:25px 0 0; color:var(--muted); font-size:16px; line-height:1.75; }
.form-card { background:rgba(255,255,255,.94); border:1px solid rgba(225,227,236,.9); border-radius:28px; padding:40px; box-shadow:0 22px 70px rgba(30,34,60,.08); }
.form-intro { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:27px; }
.form-intro.compact { margin-top:0; margin-bottom:25px; }
.section-kicker { margin:0 0 7px; color:var(--accent); font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
h2 { margin:0; font-size:22px; letter-spacing:-.03em; }
.required-note { margin:0; color:var(--muted); font-size:12px; }
.required-note span,.field b { color:var(--accent); }
.field-grid { display:grid; gap:18px; }
.two-columns { grid-template-columns:1fr 1fr; }
.field-wide { min-width:0; }
.field { display:grid; gap:9px; }
.field > span { font-size:13px; font-weight:800; }
input,textarea,select { width:100%; border:1px solid var(--line); border-radius:13px; outline:none; background:#fbfbfd; color:var(--ink); padding:14px 15px; transition:border-color .18s,box-shadow .18s,background .18s,transform .18s; }
input::placeholder,textarea::placeholder { color:#a1a5b1; }
input:hover,textarea:hover,select:hover { border-color:#cfd2dc; }
input:focus,textarea:focus,select:focus { background:#fff; border-color:var(--accent); box-shadow:0 0 0 4px var(--accent-soft); }
textarea { resize:vertical; min-height:112px; line-height:1.55; }
select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' stroke='%23737887' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:42px; }
.input-suffix { position:relative; }
.input-suffix input { padding-right:86px; }
.input-suffix span { position:absolute; top:50%; right:15px; transform:translateY(-50%); color:var(--muted); font-size:12px; font-weight:700; pointer-events:none; }
.divider { height:1px; background:var(--line); margin:38px 0 31px; }
.submit-row { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:30px; }
.privacy-hint { display:flex; align-items:flex-start; gap:9px; color:var(--muted); font-size:11px; line-height:1.5; max-width:390px; }
.privacy-hint svg { flex:0 0 auto; width:17px; height:17px; color:var(--accent); margin-top:1px; }
.primary-button { display:inline-flex; align-items:center; justify-content:center; gap:18px; border:0; border-radius:13px; padding:15px 19px 15px 22px; background:var(--ink); color:#fff; font-weight:800; cursor:pointer; min-width:190px; box-shadow:0 9px 22px rgba(23,26,36,.15); transition:transform .18s,background .18s,box-shadow .18s; }
.primary-button svg { width:19px; height:19px; }
.primary-button:hover { background:var(--accent); transform:translateY(-1px); box-shadow:0 12px 26px rgba(217,47,61,.22); }
.primary-button:disabled { opacity:.6; cursor:wait; transform:none; }
.message { min-height:22px; margin:17px 0 0; font-size:13px; font-weight:700; }
.success { color:var(--success); }
.error { color:var(--danger); }
.site-footer { display:flex; justify-content:space-between; color:#9a9eaa; font-size:11px; padding:25px 2px 5px; }
@media (max-width:700px) { .site-header{width:min(100% - 28px,900px);height:68px}.admin-link{display:none}.main-content{width:min(100% - 24px,900px);padding:44px 0 18px}.hero{margin-bottom:30px}h1{font-size:43px}.hero>p{font-size:14px;line-height:1.65}.form-card{padding:25px 19px;border-radius:21px}.form-intro{align-items:flex-start;flex-direction:column;gap:10px}.two-columns{grid-template-columns:1fr}.divider{margin:31px 0 26px}.submit-row{align-items:stretch;flex-direction:column}.privacy-hint{max-width:none}.primary-button{width:100%}.site-footer{padding-left:0;padding-right:0} }


/* Mobile / Android / iOS compatibility */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}
body {
  min-width: 320px;
  overflow-x: hidden;
}
button, a, input, select, textarea {
  -webkit-tap-highlight-color: transparent;
}
input, select, textarea {
  font-size: 16px; /* prevents automatic zoom on iOS */
}
button, .primary-button, .login-button, .refresh-button, .export-button,
.topbar-actions button, .delete-btn, .danger-button, .close {
  min-height: 44px;
}
@media (max-width: 700px) {
  body {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }
  .site-header {
    width: calc(100% - 24px);
    min-height: 68px;
    height: auto;
    padding-top: max(8px, env(safe-area-inset-top));
  }
  .main-content {
    width: calc(100% - 24px);
    padding-top: 34px;
    padding-bottom: max(24px, env(safe-area-inset-bottom));
  }
  .hero {
    margin-bottom: 25px;
  }
  h1 {
    font-size: clamp(34px, 10vw, 43px);
    line-height: 1.04;
  }
  .hero > p {
    font-size: 14px;
    margin-top: 18px;
  }
  .form-card {
    padding: 22px 16px;
    border-radius: 19px;
  }
  .field input, .field textarea, .field select,
  select, input, textarea {
    min-height: 48px;
  }
  .site-footer {
    gap: 12px;
    flex-wrap: wrap;
    padding-bottom: max(10px, env(safe-area-inset-bottom));
  }
}
@media (max-width: 430px) {
  .brand {
    font-size: 13px;
  }
  .brand-mark {
    width: 36px;
    height: 36px;
  }
  .form-card {
    padding-left: 14px;
    padding-right: 14px;
  }
  .submit-row {
    gap: 16px;
  }
}

/* Admin mobile */
@media (max-width: 700px) {
  .login-screen {
    min-height: 100dvh;
    min-height: 100svh;
    padding: max(16px, env(safe-area-inset-top))
             max(14px, env(safe-area-inset-right))
             max(16px, env(safe-area-inset-bottom))
             max(14px, env(safe-area-inset-left));
  }
  .login-card {
    width: 100%;
    max-width: 440px;
    padding: 28px 20px;
    border-radius: 20px;
  }
  .login-icon {
    margin-top: 30px;
  }
  .topbar {
    height: auto;
    min-height: 64px;
    padding-top: env(safe-area-inset-top);
  }
  .topbar-inner {
    width: calc(100% - 24px);
    min-height: 64px;
    height: auto;
  }
  .admin {
    width: calc(100% - 24px);
    padding-top: 28px;
    padding-bottom: max(30px, env(safe-area-inset-bottom));
  }
  .admin-heading {
    margin-bottom: 20px;
  }
  .admin-heading h1 {
    font-size: 28px;
    line-height: 1.1;
  }
  .admin-heading p:not(.admin-kicker) {
    line-height: 1.55;
  }
  .heading-actions {
    gap: 8px;
  }
  .heading-actions > * {
    min-height: 46px;
  }
  .stats {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .stat-card {
    min-height: 100px;
    padding: 14px;
    border-radius: 14px;
  }
  .stat-card b {
    font-size: 25px;
  }
  .toolbar {
    gap: 9px;
    margin-bottom: 12px;
  }
  .search-box {
    min-height: 48px;
  }
  .toolbar select {
    min-height: 48px;
  }
  .table-card {
    overflow: hidden;
  }
  .table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
  }
  table {
    min-width: 820px;
  }
  th, td {
    white-space: nowrap;
  }
  .row-actions {
    flex-direction: row;
    align-items: center;
  }
  .row-actions button {
    min-height: 40px;
  }
  dialog {
    width: calc(100% - 20px);
    max-width: 560px;
    max-height: calc(100dvh - 20px);
    max-height: calc(100svh - 20px);
    margin: auto;
    border-radius: 18px;
    padding: 20px;
  }
}
@media (max-width: 380px) {
  .stats {
    grid-template-columns: 1fr;
  }
  .stat-card {
    min-height: 88px;
  }
  .admin-brand small {
    display: none;
  }
  .login-card {
    padding: 24px 17px;
  }
}

.field-hint {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.4;
  opacity: .68;
}

.progress-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:10px}.progress-head>div{display:flex;flex-direction:column;gap:3px}.progress-step{font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--accent)}.progress-head strong{font-size:13px}.progress-head span:last-child{font-size:10px;color:var(--muted);white-space:nowrap}.progress-track{height:5px;background:#ececf2;border-radius:999px;overflow:hidden;margin-bottom:23px}.progress-track span{display:block;height:100%;width:0;background:var(--accent);border-radius:999px;transition:width .25s ease}.trap-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.success-state{text-align:center;padding:25px 10px 8px}.success-check{width:62px;height:62px;margin:0 auto 15px;border-radius:50%;display:grid;place-items:center;background:#eaf8f0;color:#20834b;font-size:30px;font-weight:900}.success-state h2{margin:4px 0 9px;font-size:28px;letter-spacing:-.04em}.success-state>p:not(.section-kicker){max-width:470px;margin:0 auto;color:var(--muted);font-size:13px;line-height:1.65}.next-steps{max-width:520px;margin:25px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.next-steps div{padding:13px 8px;border:1px solid var(--line);border-radius:12px;background:#fafafd}.next-steps b{display:block;margin:0 auto 7px;width:24px;height:24px;border-radius:50%;background:#ececf4;display:grid;place-items:center;font-size:11px}.next-steps div:first-child b{background:#eaf8f0;color:#20834b}.next-steps span{font-size:10px;color:var(--muted)}.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:11px;color:var(--ink);font-weight:800;font-size:11px;background:#fff}.secondary-button:hover{background:#f7f7fa}@media(max-width:600px){.progress-head{align-items:flex-start}.next-steps{grid-template-columns:1fr;max-width:300px}.next-steps div{display:flex;align-items:center;gap:9px;text-align:left}.next-steps b{margin:0;flex:0 0 24px}}

.field input:invalid:not(:placeholder-shown),.field textarea:invalid:not(:placeholder-shown),.field select:invalid{border-color:#d87580}.field input:valid:not(:placeholder-shown),.field textarea:valid:not(:placeholder-shown),.field select:valid{border-color:#b8ddc8}.primary-button{transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #1a1d2a18}.primary-button:active:not(:disabled){transform:translateY(0)}.message.error{padding:11px 13px;border:1px solid #efcbd1;background:#fff5f6;border-radius:10px;color:#a23847}.message.success{padding:11px 13px;border:1px solid #c7e7d3;background:#f2fbf5;border-radius:10px;color:#287548}


/* =========================================================
   v1.5.1 — Mobile form layout
   Desktop layout is intentionally preserved above.
   ========================================================= */
@media screen and (max-width: 700px) {
  html, body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    font-size: 16px;
  }

  .page-shell,
  .main-content,
  .form-card,
  #applicationForm {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .site-header {
    width: calc(100% - 24px);
    max-width: none;
    margin: 0 auto;
  }

  .main-content {
    width: calc(100% - 24px);
    margin: 0 auto;
    padding-top: 30px;
  }

  .hero {
    width: 100%;
    max-width: 100%;
  }

  .hero h1 {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .form-card {
    padding: 22px 16px;
    border-radius: 20px;
  }

  /* Every field becomes a single full-width block. */
  .field-grid,
  .field-grid.two-columns,
  .two-columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
    gap: 16px;
  }

  .field,
  .field-wide {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    min-width: 0;
  }

  .field > span {
    display: block;
    width: 100%;
    line-height: 1.35;
  }

  .field input,
  .field textarea,
  .field select,
  .input-suffix,
  .input-suffix input {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .input-suffix {
    display: block;
  }

  .input-suffix input {
    padding-right: 88px;
  }

  .field textarea {
    min-height: 120px;
  }

  .form-intro {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .required-note {
    width: 100%;
  }

  .progress-head {
    width: 100%;
    align-items: flex-start;
  }

  .progress-head > div {
    min-width: 0;
  }

  .progress-head strong,
  .progress-head .progress-step {
    overflow-wrap: anywhere;
  }

  .progress-head span:last-child {
    flex: 0 0 auto;
  }

  .divider {
    margin: 30px 0 26px;
  }

  .submit-row {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }

  .privacy-hint {
    width: 100%;
    max-width: none;
  }

  .primary-button {
    width: 100%;
    min-width: 0;
  }

  .site-footer {
    width: 100%;
  }
}

/* Extra-small phones */
@media screen and (max-width: 380px) {
  .main-content {
    width: calc(100% - 18px);
  }

  .form-card {
    padding-left: 13px;
    padding-right: 13px;
  }

  h1 {
    font-size: 34px;
  }

  .progress-head {
    gap: 10px;
  }

  .progress-head span:last-child {
    font-size: 9px;
  }
}


/* v1.8.0 — candidate contact + private chat */
.contact-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:22px}.telegram-button{display:inline-flex;align-items:center;gap:10px;padding:13px 17px;border-radius:11px;background:#229ed9;color:#fff;text-decoration:none;font-weight:800;font-size:13px;box-shadow:0 8px 20px rgba(34,158,217,.18)}.telegram-button:hover{transform:translateY(-1px)}.contact-actions .secondary-button{margin-top:0}.candidate-chat{margin:22px auto 0;max-width:680px;text-align:left;border:1px solid #e2e5ec;border-radius:16px;background:#fbfcff;overflow:hidden}.candidate-chat-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #e5e7ed;background:#fff}.candidate-chat-head b{display:block;font-size:14px;color:#1559a6}.candidate-chat-head span:not(.chat-live-dot){display:block;margin-top:3px;font-size:10px;color:#7b8190}.chat-live-dot{width:9px;height:9px;border-radius:50%;background:#54bd70;box-shadow:0 0 0 4px #eaf8ed}.candidate-chat-messages{height:260px;overflow-y:auto;padding:14px;background:#f5f7fb}.chat-message{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:10px}.chat-message.mine{align-items:flex-end}.chat-bubble{max-width:78%;padding:9px 12px;border-radius:13px 13px 13px 4px;background:#fff;border:1px solid #e2e5ec;color:#303542;font-size:12px;line-height:1.5;box-shadow:0 2px 7px rgba(20,25,35,.04)}.chat-message.mine .chat-bubble{border-radius:13px 13px 4px 13px;background:#e6f2ff;border-color:#c9e1fa}.chat-message time{font-size:9px;color:#9298a5;margin:3px 5px 0}.chat-empty{height:100%;display:grid;place-items:center;text-align:center;color:#858b99;font-size:11px}.candidate-chat-form{display:flex;gap:8px;padding:11px;border-top:1px solid #e4e7ed;background:#fff}.candidate-chat-form textarea{flex:1;resize:none;border:1px solid #dfe2ea;border-radius:10px;padding:10px;font:inherit;font-size:12px;outline:none}.candidate-chat-form textarea:focus{border-color:#8db9e6;box-shadow:0 0 0 3px #eaf4ff}.candidate-chat-form button{align-self:stretch;border:0;border-radius:10px;background:#1760ae;color:#fff;padding:0 14px;font-weight:800;font-size:11px;cursor:pointer}.candidate-chat-form button:disabled{opacity:.6}.candidate-chat-note{margin:0;padding:0 12px 11px;font-size:9px;color:#8b91a0}@media(max-width:600px){.contact-actions{flex-direction:column}.contact-actions>*{width:100%;box-sizing:border-box;justify-content:center}.candidate-chat-form{flex-direction:column}.candidate-chat-form button{min-height:42px}.chat-bubble{max-width:88%}}


/* Precise validation feedback for candidates */
.field.field-invalid input,
.field.field-invalid textarea,
.field.field-invalid select {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 1px rgba(220, 53, 69, 0.08);
}

.profession-section.field-invalid .profession-list {
  border: 1px solid #dc3545;
  border-radius: 16px;
  padding: 4px;
}

.field-error {
  display: block;
  margin-top: 7px;
  color: #c62828;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 600;
}

/* Android app download */
.header-actions { display:flex; align-items:center; gap:18px; }
.app-download-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 15px; border:1px solid var(--accent); border-radius:12px; background:var(--accent); color:#fff; text-decoration:none; font-size:12px; font-weight:800; box-shadow:0 7px 18px rgba(217,47,61,.16); transition:transform .18s, background .18s, box-shadow .18s; }
.app-download-button:hover { background:var(--accent-dark); transform:translateY(-1px); box-shadow:0 10px 22px rgba(217,47,61,.22); }
.app-download-button span { font-size:18px; line-height:1; }
@media (max-width:700px) {
  .header-actions { gap:8px; }
  .app-download-button { padding:9px 11px; font-size:11px; }
  .app-download-button span { font-size:16px; }
}


/* Main site navigation */
.site-nav { display:flex; align-items:center; gap:6px; margin-left:auto; margin-right:18px; }
.nav-link { position:relative; display:inline-flex; align-items:center; min-height:42px; padding:9px 11px; border-radius:10px; color:var(--muted); text-decoration:none; font-size:12px; font-weight:800; transition:color .18s, background .18s; }
.nav-link:hover { color:var(--ink); background:rgba(255,255,255,.75); }
.nav-link.active { color:var(--ink); }
.nav-link.active::after { content:""; position:absolute; left:11px; right:11px; bottom:4px; height:2px; border-radius:99px; background:var(--accent); }
.nav-employer { color:var(--accent); }
@media (max-width:900px) { .site-nav { gap:2px; margin-right:8px; } .nav-link { padding-left:8px; padding-right:8px; } .app-download-button { font-size:10px; padding-left:9px; padding-right:9px; } }
@media (max-width:700px) { .site-header { flex-wrap:wrap; gap:6px; padding-bottom:8px; } .site-nav { order:3; width:100%; justify-content:center; margin:0; } .site-nav .nav-link { min-height:38px; font-size:11px; } .site-nav .nav-employer { display:none; } .header-actions { margin-left:auto; } .app-download-button { min-height:40px; } }
@media (max-width:430px) { .app-download-button { font-size:0; width:40px; padding:8px; } .app-download-button span { font-size:18px; } }

/* About page */
.about-page .main-content { width:min(1080px,calc(100% - 40px)); padding-top:60px; }
.about-hero { max-width:850px; margin-bottom:34px; }
.about-hero h1 { max-width:900px; }
.about-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:22px; }
.about-card { background:rgba(255,255,255,.94); border:1px solid rgba(225,227,236,.9); border-radius:24px; padding:30px; box-shadow:0 18px 55px rgba(30,34,60,.06); }
.about-card h2 { margin-bottom:14px; }
.about-card p { margin:0; color:var(--muted); line-height:1.75; font-size:14px; }
.about-card + .about-card { margin-top:22px; }
.about-points { display:grid; gap:12px; margin-top:22px; }
.about-point { display:flex; gap:13px; align-items:flex-start; padding:14px 0; border-top:1px solid var(--line); }
.about-point:first-child { border-top:0; padding-top:0; }
.about-point-mark { flex:0 0 30px; width:30px; height:30px; display:grid; place-items:center; border-radius:9px; background:var(--accent-soft); color:var(--accent); font-weight:900; }
.about-point strong { display:block; margin-bottom:3px; font-size:13px; }
.about-point span { color:var(--muted); font-size:12px; line-height:1.55; }
.about-stats { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:22px; }
.about-stat { padding:18px; border-radius:16px; background:#fbfbfd; border:1px solid var(--line); }
.about-stat strong { display:block; font-size:25px; letter-spacing:-.04em; margin-bottom:4px; }
.about-stat span { color:var(--muted); font-size:11px; line-height:1.45; }
.about-cta { margin-top:22px; display:flex; gap:12px; flex-wrap:wrap; }
.secondary-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:11px 16px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); text-decoration:none; font-size:12px; font-weight:800; }
.secondary-button:hover { border-color:#cfd2dc; background:#fbfbfd; }
@media (max-width:760px) { .about-page .main-content { width:calc(100% - 24px); padding-top:38px; } .about-grid { grid-template-columns:1fr; } .about-card { padding:23px 19px; border-radius:20px; } .about-hero h1 { font-size:43px; } }

/* v1.10.0 — vacancies catalog */
.vacancies-page .main-content { width:min(1120px,calc(100% - 40px)); padding-top:60px; }
.vacancies-hero { max-width:880px; margin-bottom:28px; }
.vacancy-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:18px; }
.vacancy-count { color:var(--muted); font-size:12px; font-weight:700; }
.vacancy-count strong { color:var(--ink); font-size:17px; margin-right:4px; }
.vacancy-search { width:min(420px,100%); position:relative; }
.vacancy-search span { position:absolute; left:15px; top:50%; transform:translateY(-50%); color:#8b91a0; font-size:20px; pointer-events:none; }
.vacancy-search input { height:46px; padding-left:43px; border-radius:13px; background:#fff; }
.vacancy-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.vacancy-card { background:rgba(255,255,255,.95); border:1px solid rgba(225,227,236,.9); border-radius:22px; padding:25px; box-shadow:0 16px 48px rgba(30,34,60,.055); display:flex; flex-direction:column; min-height:310px; }
.vacancy-card-top { display:flex; justify-content:space-between; gap:10px; align-items:center; margin-bottom:16px; }
.vacancy-tag { display:inline-flex; padding:6px 9px; border-radius:99px; background:var(--accent-soft); color:var(--accent); font-size:9px; font-weight:800; letter-spacing:.03em; }
.vacancy-id { color:#a0a5b1; font-size:10px; font-weight:800; }
.vacancy-card h2 { font-size:22px; line-height:1.2; margin-bottom:11px; }
.vacancy-card > p { color:var(--muted); font-size:13px; line-height:1.6; margin:0; }
.vacancy-meta { display:flex; flex-wrap:wrap; gap:8px 13px; margin-top:18px; color:#5f6573; font-size:10px; font-weight:800; }
.vacancy-card-actions { display:flex; gap:10px; margin-top:auto; padding-top:22px; }
.vacancy-card-actions .primary-button { min-width:0; flex:1; padding:12px 15px; font-size:11px; }
.vacancy-card-actions .secondary-button { flex:0 0 auto; }
.vacancy-empty { padding:35px; border:1px dashed #d9dce5; border-radius:20px; text-align:center; color:var(--muted); font-size:13px; background:rgba(255,255,255,.6); }
.vacancy-cta { margin-top:22px; padding:26px 28px; border-radius:22px; background:#fff; border:1px solid rgba(225,227,236,.9); display:flex; align-items:center; justify-content:space-between; gap:24px; box-shadow:0 14px 40px rgba(30,34,60,.045); }
.vacancy-cta h2 { max-width:690px; font-size:20px; line-height:1.35; }
.vacancy-cta .primary-button { flex:0 0 auto; min-width:210px; text-decoration:none; }
.vacancy-dialog { width:min(780px,calc(100% - 28px)); max-height:min(88vh,800px); border:0; padding:0; background:transparent; color:var(--ink); }
.vacancy-dialog::backdrop { background:rgba(20,24,35,.46); backdrop-filter:blur(3px); }
.dialog-card { position:relative; max-height:88vh; overflow:auto; padding:32px; border-radius:24px; background:#fff; box-shadow:0 30px 90px rgba(0,0,0,.22); }
.dialog-close { position:absolute; right:17px; top:15px; width:35px; height:35px; border:1px solid var(--line); border-radius:50%; background:#fff; color:#6f7480; font-size:24px; line-height:1; cursor:pointer; }
.dialog-card h2 { font-size:30px; max-width:650px; line-height:1.15; margin-bottom:13px; }
.dialog-meta { display:flex; flex-wrap:wrap; gap:8px 14px; color:#616775; font-size:11px; font-weight:800; margin-bottom:20px; }
.dialog-description { color:var(--muted); font-size:14px; line-height:1.7; margin:0 0 25px; }
.dialog-columns { display:grid; grid-template-columns:1fr 1fr; gap:24px; border-top:1px solid var(--line); padding-top:22px; }
.dialog-columns h3 { margin:0 0 12px; font-size:13px; }
.dialog-columns ul { margin:0; padding-left:19px; color:var(--muted); font-size:12px; line-height:1.7; }
.dialog-columns li + li { margin-top:7px; }
.dialog-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:25px; padding-top:20px; border-top:1px solid var(--line); }
.dialog-salary-label { display:block; color:#8a909c; font-size:10px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; margin-bottom:4px; }
.dialog-bottom strong { font-size:18px; }
.dialog-bottom .primary-button { text-decoration:none; }
@media(max-width:760px){
  .vacancies-page .main-content{width:calc(100% - 24px);padding-top:38px}
  .vacancy-toolbar{align-items:stretch;flex-direction:column}
  .vacancy-search{width:100%}
  .vacancy-grid{grid-template-columns:1fr}
  .vacancy-card{min-height:0;padding:21px}
  .vacancy-card-actions{flex-direction:column}
  .vacancy-card-actions>*{width:100%;box-sizing:border-box}
  .vacancy-cta{align-items:stretch;flex-direction:column;padding:22px 19px}
  .vacancy-cta .primary-button{width:100%}
  .dialog-card{padding:25px 20px}
  .dialog-card h2{font-size:25px;padding-right:30px}
  .dialog-columns{grid-template-columns:1fr;gap:19px}
  .dialog-bottom{align-items:stretch;flex-direction:column}
  .dialog-bottom .primary-button{width:100%}
}

/* v1.11.0 — individual vacancy pages */
.back-link { display:inline-flex; align-items:center; gap:7px; margin-bottom:28px; color:var(--muted); text-decoration:none; font-size:12px; font-weight:800; }
.back-link:hover { color:var(--ink); }
.vacancy-detail-page .main-content { width:min(1120px,calc(100% - 40px)); padding-top:52px; }
.vacancy-detail-hero { max-width:900px; padding:12px 0 28px; }
.vacancy-detail-hero h1 { max-width:850px; font-size:58px; line-height:1.04; letter-spacing:-.045em; margin-bottom:20px; }
.vacancy-detail-lead { max-width:760px; color:var(--muted); font-size:16px; line-height:1.75; margin:0; }
.detail-meta { display:flex; flex-wrap:wrap; gap:9px 18px; margin-top:22px; color:#5f6573; font-size:11px; font-weight:800; }
.detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:22px; align-items:start; }
.detail-main { display:grid; gap:18px; }
.detail-card, .detail-apply-card { background:rgba(255,255,255,.95); border:1px solid rgba(225,227,236,.9); border-radius:23px; padding:28px; box-shadow:0 16px 48px rgba(30,34,60,.055); }
.detail-card h2, .detail-apply-card h2 { font-size:24px; line-height:1.25; margin-bottom:17px; }
.detail-card ul { margin:0; padding-left:21px; color:var(--muted); font-size:13px; line-height:1.75; }
.detail-card li + li { margin-top:9px; }
.detail-apply-card { position:sticky; top:20px; }
.detail-apply-card > p:not(.section-kicker) { color:var(--muted); font-size:13px; line-height:1.7; margin:0 0 22px; }
.detail-apply-card .primary-button, .detail-apply-card .secondary-button { width:100%; box-sizing:border-box; text-decoration:none; }
.detail-apply-card .secondary-button { margin-top:9px; }
@media(max-width:800px){
  .vacancy-detail-page .main-content { width:calc(100% - 24px); padding-top:38px; }
  .vacancy-detail-hero h1 { font-size:43px; }
  .vacancy-detail-lead { font-size:14px; }
  .detail-layout { grid-template-columns:1fr; }
  .detail-apply-card { position:static; }
  .detail-card, .detail-apply-card { padding:22px 19px; border-radius:20px; }
}


/* v2.0 — ЦЗН visual redesign */
:root{--blue:#0758b5;--blue-dark:#06458e;--red:#ed2638;--blue-soft:#eef6ff;--ink:#0b438b;--muted:#61718b;--line:#dce7f3;--bg:#f7fbff;--shadow:0 18px 55px rgba(13,65,125,.10)}
body{background:linear-gradient(180deg,#f7fbff 0%,#fff 58%,#f8fbff 100%);color:var(--ink)}
.page-shell{position:relative;overflow:hidden}.page-shell:before{content:"";position:absolute;inset:0 0 auto;height:420px;background:radial-gradient(circle at 78% 0%,rgba(92,166,255,.18),transparent 38%),linear-gradient(180deg,#f1f8ff,rgba(241,248,255,0));pointer-events:none;z-index:-1}
.site-header{width:min(1320px,calc(100% - 64px));height:88px;gap:24px}.brand{flex:0 0 auto}.brand-logo{display:block;width:245px!important;height:69px!important;max-height:69px!important;object-fit:contain;object-position:left center}.site-nav{gap:2px;margin-left:auto;margin-right:12px}.nav-link{min-height:44px;padding:10px 14px;border-radius:10px;color:#193b67;font-size:13px;font-weight:800}.nav-link:hover{color:var(--blue);background:#eef6ff}.nav-link.active{color:var(--blue)}.nav-link.active::after{left:14px;right:14px;bottom:3px;height:3px;background:var(--blue)}.nav-employer{color:#173b68}.header-actions{gap:10px}.app-download-button{min-height:44px;padding:10px 17px;border:1px solid #0b66cf;border-radius:999px;background:#0b66cf;box-shadow:0 8px 20px rgba(11,102,207,.18);font-size:12px}.app-download-button:hover{background:#0758b5}.header-admin-link{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:10px 15px;border:1px solid #a9c8ea;border-radius:12px;background:#fff;color:#0b4f9f;text-decoration:none;font-size:12px;font-weight:800}.header-admin-link:hover{background:#f2f7fd;border-color:#7eaddc}
.main-content{width:min(1240px,calc(100% - 64px));padding-top:58px}.hero{max-width:980px;margin-bottom:38px}.eyebrow{color:var(--blue);margin-bottom:18px}.eyebrow span{background:var(--red);box-shadow:0 0 0 5px #fff0f2}.hero h1{font-size:clamp(48px,6vw,78px);color:#0b438b}.hero h1 em{color:var(--red)}.hero>p{max-width:760px;color:#667894;font-size:17px;line-height:1.7}.about-page .main-content,.vacancies-page .main-content,.vacancy-detail-page .main-content{width:min(1240px,calc(100% - 64px));padding-top:58px}.about-grid{gap:22px}.about-card,.vacancy-card,.vacancy-cta,.employer-card{border:1px solid #dbe8f5;background:rgba(255,255,255,.95);box-shadow:var(--shadow);border-radius:24px}.about-card h2,.vacancy-card h2,.employer-card h2{color:#0b4f9f}.about-stat{background:#f8fbff;border-color:#dce8f5}.about-point-mark{background:#fff0f2;color:var(--red)}.secondary-button{border-color:#c9dced;color:#0b4f9f;background:#fff}.primary-button{background:#0758b5;box-shadow:0 10px 24px rgba(7,88,181,.18)}.primary-button:hover{background:var(--red)}
.vacancies-hero{max-width:980px}.vacancy-toolbar{padding:16px 18px;background:#fff;border:1px solid #dbe8f5;border-radius:18px;box-shadow:0 10px 30px rgba(13,65,125,.06)}.vacancy-search input{border-color:#d9e5f2;background:#fbfdff}.vacancy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.vacancy-card{min-height:330px;padding:24px}.vacancy-card h2{font-size:20px}.vacancy-tag{background:#edf6ff;color:#0758b5}.vacancy-meta{color:#526b89}.vacancy-cta{padding:28px}.vacancy-detail-card{border-color:#dbe8f5;box-shadow:var(--shadow)}
.employer-hero{max-width:980px}.employer-card{padding:30px}.employer-benefit{background:#f8fbff;border-color:#dce8f5}.employer-form input,.employer-form textarea{border-color:#d8e5f2;background:#fbfdff}.employer-form input:focus,.employer-form textarea:focus{border-color:#6ba7df;box-shadow:0 0 0 4px #eaf4ff}
.site-footer{color:#7f91a9;padding-top:34px}
/* decorative hero frame */
.hero-visual{position:absolute;right:max(24px,calc((100vw - 1240px)/2));top:125px;width:360px;height:235px;border-radius:28px;background:linear-gradient(145deg,#dff0ff,#fff);border:1px solid #cfe2f4;box-shadow:0 30px 80px rgba(19,83,145,.12);overflow:hidden;pointer-events:none}.hero-visual:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-20px;top:-40px;background:#0b66cf}.hero-visual:after{content:"";position:absolute;width:240px;height:18px;left:-30px;bottom:44px;background:var(--red);transform:rotate(-10deg);box-shadow:0 18px 0 rgba(255,255,255,.8)}.hero-visual-label{position:absolute;left:25px;top:26px;color:#0758b5;font-weight:900;font-size:14px;letter-spacing:.1em;text-transform:uppercase}.hero-visual-number{position:absolute;left:24px;top:67px;color:#0b438b;font-size:72px;font-weight:900;letter-spacing:-.08em}.hero-visual-caption{position:absolute;left:29px;bottom:27px;color:#61718b;font-size:11px;font-weight:800}
.home-hero{position:relative;min-height:340px}.home-hero .hero-copy{max-width:720px;position:relative;z-index:2}.home-hero .hero-visual{display:block}
.home-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:10px}.home-card{display:flex;align-items:center;gap:15px;padding:22px;border:1px solid #dbe8f5;border-radius:20px;background:#fff;box-shadow:0 12px 38px rgba(13,65,125,.07);text-decoration:none}.home-card-icon{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#0b66cf;color:#fff;font-size:23px;flex:0 0 auto}.home-card b{display:block;color:#0b438b;font-size:16px;margin-bottom:5px}.home-card span{display:block;color:#6c7d94;font-size:12px;line-height:1.5}.home-card-arrow{margin-left:auto;color:#0758b5;font-size:22px}.home-info{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.home-info-card{padding:28px;border:1px solid #dbe8f5;border-radius:24px;background:#fff;box-shadow:var(--shadow)}.home-info-card h2{margin:0 0 10px}.home-info-card p{color:#61718b;line-height:1.7;margin:0}
@media(max-width:1050px){.site-header{width:min(100% - 36px,1240px)}.site-nav{gap:0}.nav-link{padding-left:9px;padding-right:9px;font-size:12px}.hero-visual{opacity:.45;right:20px}.home-hero .hero-copy{max-width:760px}.vacancy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.site-header{width:calc(100% - 24px);height:auto;min-height:72px;padding-top:max(7px,env(safe-area-inset-top));flex-wrap:wrap}.brand-logo{width:190px!important;height:54px!important;max-height:54px!important}.site-nav{order:3;width:100%;justify-content:space-between;overflow-x:auto;margin:0;padding-bottom:4px}.nav-link{font-size:11px;min-height:38px;padding:8px 7px;white-space:nowrap}.nav-link:nth-child(4),.nav-link:nth-child(5){display:none}.header-actions{margin-left:auto}.app-download-button{font-size:0;width:44px;padding:8px}.app-download-button span{font-size:18px}.header-admin-link{font-size:0;width:44px;padding:8px;justify-content:center}.header-admin-link span{font-size:17px}.main-content,.about-page .main-content,.vacancies-page .main-content,.vacancy-detail-page .main-content{width:calc(100% - 24px);padding-top:36px}.hero h1{font-size:clamp(38px,11vw,54px)}.hero>p{font-size:14px}.hero-visual{display:none}.home-hero{min-height:0}.home-cards,.home-info{grid-template-columns:1fr}.home-card{padding:18px}.vacancy-grid{grid-template-columns:1fr}}


/* v1.11.1 — vacancies rendering + stable header/logo sizing */
.vacancy-loading {
  grid-column: 1 / -1;
  min-height: 160px;
  display: grid;
  place-items: center;
  border: 1px solid #dbe8f5;
  border-radius: 22px;
  background: #fff;
  color: #6c7d94;
  font-size: 13px;
  font-weight: 700;
}
.site-header {
  width: min(1320px, calc(100% - 40px));
  gap: 14px;
}
.brand {
  flex: 0 1 220px;
  min-width: 190px;
  overflow: hidden;
}
.brand-logo {
  display: block;
  width: 220px !important;
  height: auto !important;
  max-width: 100%;
  max-height: 62px !important;
  object-fit: contain;
  object-position: left center;
}
.site-nav {
  flex: 1 1 auto;
  min-width: 0;
}
@media (max-width: 1180px) {
  .site-header { width: calc(100% - 28px); gap: 10px; }
  .brand { flex-basis: 190px; min-width: 170px; }
  .brand-logo { width: 190px !important; max-height: 54px !important; }
  .site-nav { overflow-x: auto; scrollbar-width: none; }
  .site-nav::-webkit-scrollbar { display: none; }
  .nav-link { padding-left: 8px; padding-right: 8px; white-space: nowrap; }
  .header-actions { flex: 0 0 auto; }
}

/* v2.1 — requested home-page changes, preserving the existing visual design */
.home-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-card-button { appearance: none; font: inherit; text-align: left; cursor: pointer; color: inherit; width: 100%; }
.home-card-button:hover { border-color: #c7ddef; transform: translateY(-1px); }
.home-card { transition: transform .18s, border-color .18s, box-shadow .18s; }
.public-chat-section { margin-top:22px; }
.public-chat-card { max-width:760px; margin:0 auto; padding:24px; border:1px solid #dbe8f5; border-radius:24px; background:#fff; box-shadow:var(--shadow); }
.public-chat-card .candidate-chat-messages { max-height:360px; }
.public-chat-card .candidate-chat-form { margin-top:14px; }
@media(max-width:1050px){ .home-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px){
  .home-cards { grid-template-columns:1fr; }
  .public-chat-card { padding:18px; border-radius:20px; }
}
.employer-app-download { margin:0 0 18px; display:flex; justify-content:flex-end; }
.employer-app-download .secondary-button { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
@media(max-width:700px){ .employer-app-download { justify-content:stretch; } .employer-app-download .secondary-button { width:100%; } }
@media(max-width:760px){ .site-nav .nav-link:nth-child(4){ display:inline-flex; } }

/* Application card: the whole card is the install action. */
.app-home-card { cursor:pointer; }
.app-home-card:hover { border-color:#c7ddef; transform:translateY(-1px); }
.app-home-card > span:nth-child(2) { flex:1; }
