    :root{
      --bg:#ffffff;
      --label:#111111cc;
      --placeholder:#11111166;
      --sqFill:#00000010;
      --sqBorder:#00000018;
      --sqHoverFill:#00000014;
      --sqHoverBorder:#00000022;
      --btnW: 310px;
      --btnH: 132px;
      --btnRadius: 46px;
      --inW: 430px;
      --inH: 70px;
      --inRadius: 28px;
      --gapX: 52px;
      --gapY: 16px;
      --backFill:#00000008;
      --backBorder:#00000014;
      --accentFill: rgba(110,231,255,.22);
      --accentBorder: rgba(110,231,255,.35);
      --accentText: rgba(0,80,95,.95);
      --accentHoverFill: rgba(110,231,255,.28);
      --accentHoverBorder: rgba(110,231,255,.48);
      --fade: 260ms;
    }
    /* ── FORGOT / VERIFY / RESET PASSWORD ── */
    .authFlowTitle{
      font-size: 24px;
      font-weight: 800;
      letter-spacing: -.02em;
      color: rgba(0,0,0,.88);
      text-align:center;
      margin-bottom: 4px;
    }
    .authFlowSub{
      font-size: 14px;
      color: rgba(0,0,0,.50);
      text-align:center;
      max-width: 340px;
      line-height: 1.5;
      margin-bottom: 8px;
    }
    /* 6-digit code cells */
    .codeInputRow{
      display:flex;
      gap: 10px;
      justify-content:center;
    }
    .codeCell{
      width: 56px;
      height: 68px;
      border-radius: 18px;
      background: #00000008;
      border: 1.5px solid #00000018;
      display:flex;
      align-items:center;
      justify-content:center;
      font-size: 26px;
      font-weight: 700;
      color: rgba(0,0,0,.88);
      letter-spacing: 0;
      transition: border-color 150ms cubic-bezier(0.23,1,0.32,1),
                  background 150ms cubic-bezier(0.23,1,0.32,1),
                  transform 150ms cubic-bezier(0.23,1,0.32,1);
      cursor: text;
      position: relative;
      overflow:hidden;
    }
    .codeCell input{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      border:0;
      outline:none;
      background:transparent;
      font-size: 26px;
      font-weight: 700;
      color: rgba(0,0,0,.88);
      text-align:center;
      letter-spacing:0;
      caret-color: transparent;
      -webkit-text-fill-color: rgba(0,0,0,.88);
    }
    .codeCell.active{
      border-color: rgba(110,231,255,.55);
      background: rgba(110,231,255,.08);
      transform: translateY(-2px);
      box-shadow: 0 8px 20px rgba(110,231,255,.18);
    }
    .codeCell.filled{
      border-color: rgba(0,0,0,.25);
      background: #00000010;
    }
    .codeCell.error{
      border-color: rgba(239,68,68,.50) !important;
      background: rgba(239,68,68,.06) !important;
      animation: codeShake 320ms cubic-bezier(0.23,1,0.32,1);
    }
    @keyframes codeShake{
      0%,100%{ transform: translateX(0); }
      20%{ transform: translateX(-6px); }
      40%{ transform: translateX(6px); }
      60%{ transform: translateX(-4px); }
      80%{ transform: translateX(4px); }
    }
    .codeError{
      font-size: 13px;
      color: #dc2626;
      text-align:center;
      font-weight: 600;
      min-height: 20px;
      transition: opacity 180ms ease;
    }
    .codeError.hidden{ opacity:0; }
    /* resend hint */
    .resendHint{
      font-size: 13px;
      color: rgba(0,0,0,.45);
      text-align:center;
    }
    .resendHint button{
      background:none;
      border:none;
      color: rgba(0,80,95,.85);
      font-weight:700;
      cursor:pointer;
      padding:0;
      font-size:13px;
    }
    .resendHint button:hover{ text-decoration:underline; }
    #screenVerifyCode #verifySkipBtn{
      width:min(320px, 100%);
      max-width:var(--inW);
      min-height:52px;
      height:auto;
      padding:14px 20px;
      border-radius:999px;
      border:1px solid rgba(0,0,0,.12);
      background:transparent;
      color:rgba(0,0,0,.72);
      font-size:15px;
      font-weight:600;
      box-shadow:none;
      margin-top:12px;
    }
    #screenVerifyCode #verifySkipBtn:hover{
      border-color:rgba(38,110,120,.28);
      color:#1a5c68;
      background:rgba(38,110,120,.04);
      transform:none;
    }
    /* password strength bar */
    .strengthBar{
      width: var(--inW);
      height: 4px;
      border-radius: 999px;
      background: #00000010;
      overflow:hidden;
      margin-top:-4px;
    }
    .strengthFill{
      height:100%;
      border-radius:999px;
      width:0;
      transition: width 300ms cubic-bezier(0.23,1,0.32,1), background 300ms ease;
    }
    .addExpBtn{display:block;width:100%;padding:11px;margin:4px 0 16px;border:1.5px dashed #2a7a8a;border-radius:12px;background:none;color:#2a7a8a;font-size:14px;font-weight:600;cursor:pointer;text-align:center;transition:background .2s;}
    .addExpBtn:hover{background:#f0fdfa;}
    .workExpEntry{background:#f8fafb;border:1px solid #e2e8f0;border-radius:14px;padding:14px 14px 6px;margin-bottom:10px;position:relative;}
    .workExpEntry .sqInput{margin-bottom:8px;}
    .removeExpBtn{position:absolute;top:8px;right:10px;background:none;border:none;color:#bbb;font-size:20px;cursor:pointer;line-height:1;padding:0;}
    .removeExpBtn:hover{color:#e53e3e;}
    .scJobLine{font-size:13px;color:#2a7a8a;font-weight:500;margin:4px 0 2px;}
    .scWorkExp{margin-top:6px;border-top:1px solid rgba(38,110,120,.10);padding-top:6px;}
    .scExpItem{font-size:12px;color:#555;margin-bottom:3px;line-height:1.4;}
    .scExpCo{font-weight:600;color:#333;}
    .scExpRole{color:#666;}
    .scExpPeriod{color:#aaa;font-size:11px;margin-left:4px;}

    *{ box-sizing:border-box; }
    html, body{ height:100%; min-height:100%; }
    body{
      margin:0;
      background:
        radial-gradient(1200px 700px at 20% 10%, rgba(110,231,255,.20), transparent 60%),
        radial-gradient(900px 600px at 85% 18%, rgba(168,85,247,.12), transparent 55%),
        radial-gradient(900px 650px at 50% 95%, rgba(34,197,94,.10), transparent 60%),
        #ffffff;
      font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text",
                   "Segoe UI", Roboto, Arial, sans-serif;
      overflow-x:hidden;
      overflow-y:hidden;
      min-height:100svh;
    }

    .hidden { display: none !important; }

    .stage{
      position:relative;
      width:100%;
      max-width:100vw;
      height:100%;
      min-height:100svh;
      overflow:hidden;
    }

    .screen{
      position:absolute;
      inset:0;
      width:100%;
      max-width:100vw;
      display:flex;
      align-items:center;
      justify-content:center;
      background: var(--bg);
      opacity:0;
      visibility:hidden;
      pointer-events:none;
      transition: opacity var(--fade) ease;
    }
    .screen.active{
      opacity:1;
      visibility:visible;
      pointer-events:auto;
      overflow-y:auto;
      overflow-x:hidden;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior-y: contain;
    }

    #screenRecruiterPublic.screen,
    #screenEmployeePublic.screen,
    #screenMyEmployerProfile.screen,
    #screenMyEmployeeProfile.screen,
    #screenAdminQueue.screen,
    #screenChat.screen,
    #screenPublicProfile.screen,
    #screenMyJobs.screen,
    #screenPostJob.screen{
      align-items:flex-start;
      justify-content:flex-start;
      flex-direction:column;
    }

    .wrap{
      width:100%;
      min-height:100%;
      display:flex;
      align-items:center;
      justify-content:center;
      position:relative;
      flex-direction:column;
      overflow-y:auto;
      box-sizing:border-box;
      padding-bottom: env(safe-area-inset-bottom, 0);
    }

    .centerBlock{
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap: 20px;
    }
    .centerBlockTight{
      gap: 14px;
    }
    .centerBlockLoose{
      gap: 18px;
    }
    .nextBtnOffset{
      margin-top: 16px;
    }
    .consentLinkAction{
      cursor: pointer;
      text-decoration: underline;
    }

    /* ── Registration step 2 title ───────────────────── */
    .regFormTitle{
      font-size: 22px;
      font-weight: 800;
      letter-spacing: -.025em;
      color: rgba(0,0,0,.88);
      text-align: center;
      margin-bottom: -4px;
    }

    /* ── Consent box card ───────────────────────────── */
    .consentBox{
      width: var(--inW);
      background: #fff;
      border: 1.5px solid rgba(0,0,0,.09);
      border-radius: 20px;
      padding: 16px 20px 12px;
      display: flex;
      flex-direction: column;
      gap: 11px;
      box-shadow: 0 1px 4px rgba(0,0,0,.03);
      margin-bottom: 8px;
    }
    .consentBox.error{
      border-color: rgba(220,38,38,.35);
      background: rgba(220,38,38,.02);
    }
    .consentTitle{
      font-size: 10px;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: rgba(38,110,120,.75);
    }
    .consentItem{
      display: flex;
      align-items: flex-start;
      gap: 10px;
      cursor: pointer;
    }
    .consentItem input[type="checkbox"]{
      appearance: none;
      -webkit-appearance: none;
      width: 20px;
      height: 20px;
      min-width: 20px;
      border-radius: 7px;
      border: 1.5px solid rgba(0,0,0,.18);
      background: #f9fafb;
      cursor: pointer;
      position: relative;
      margin-top: 1px;
      transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
      flex-shrink: 0;
    }
    .consentItem input[type="checkbox"]:checked{
      background: #26707a;
      border-color: #26707a;
      box-shadow: 0 2px 8px rgba(38,112,122,.25);
    }
    .consentItem input[type="checkbox"]:checked::after{
      content: '';
      position: absolute;
      left: 5px;
      top: 2px;
      width: 6px;
      height: 10px;
      border: 2px solid #fff;
      border-top: 0;
      border-left: 0;
      transform: rotate(42deg);
    }
    .consentItem:hover input[type="checkbox"]:not(:checked){
      border-color: rgba(38,110,120,.4);
      background: #f0fdfa;
    }
    .consentText{
      font-size: 13px;
      color: rgba(0,0,0,.70);
      line-height: 1.5;
      padding-top: 1px;
    }
    .consentError{
      font-size: 12px;
      color: #dc2626;
      font-weight: 600;
      display: none;
      margin-top: -2px;
    }

    /* ── Password strength label ─────────────────────── */
    .strengthLabel{
      font-size: 12px;
      font-weight: 600;
      width: var(--inW);
      padding-left: 4px;
      min-height: 16px;
      margin-top: -8px;
      transition: color .2s ease;
    }

    .choiceRow{
      display:flex;
      gap: var(--gapX);
      align-items:center;
      justify-content:center;
    }

    .sqBtn{
      width: var(--btnW);
      height: var(--btnH);
      border-radius: var(--btnRadius);
      background: var(--sqFill);
      border: 1px solid var(--sqBorder);
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      cursor:pointer;
      user-select:none;
      transition: transform 140ms ease, background 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
    }
    .sqBtn:hover{
      transform: translateY(-1px);
      background: var(--sqHoverFill);
      border-color: var(--sqHoverBorder);
    }
    .sqBtn:active{
      transform: translateY(0) scale(.995);
    }
    .sqBtn.selected{
      background: #0000001e;
      border-color: #00000038;
      box-shadow: 0 10px 22px rgba(0,0,0,.06);
    }

    .sqText{
      font-weight: 600;
      letter-spacing: 0.06em;
      font-size: 20px;
      color: var(--label);
      text-align:center;
    }
    .sqSubtext{
      font-size: 12px;
      opacity: .6;
      margin-top: 4px;
      letter-spacing: .02em;
      color: var(--label);
      text-align:center;
    }

    /* INPUTS */
    .formCol{
      display:flex;
      flex-direction:column;
      gap: var(--gapY);
      align-items:center;
      justify-content:center;
    }

    .sqInput{
      width: var(--inW);
      height: var(--inH);
      border-radius: var(--inRadius);
      background: var(--sqFill);
      border: 1px solid var(--sqBorder);
      display:flex;
      align-items:center;
      padding: 0 18px;
      transition: border-color 140ms ease, background 140ms ease;
    }
    .sqInput.passwordField{
      gap: 10px;
    }
    .sqInput input{
      width:100%;
      height:100%;
      border:0;
      outline:none;
      background: transparent;
      font-size: 18px;
      font-weight: 500;
      letter-spacing: 0.01em;
      color: var(--label);
    }
    .passwordToggle{
      flex: 0 0 auto;
      border: 0;
      background: transparent;
      color: var(--placeholder);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .04em;
      text-transform: uppercase;
      cursor: pointer;
      padding: 0;
      transition: color 140ms ease, opacity 140ms ease;
    }
    .passwordToggle:hover,
    .passwordToggle:focus-visible{
      color: var(--label);
      outline: none;
    }
    .passwordToggle[aria-pressed="true"]{
      color: var(--accent);
    }
    .sqInput input::placeholder{
      color: var(--placeholder);
      font-weight: 400;
    }
    .sqInput:focus-within{
      background: #00000014;
      border-color: #00000028;
    }
    .sqInput.inputError{
      border-color: rgba(239,68,68,.5) !important;
      background: rgba(239,68,68,.05) !important;
    }
    .fieldError{
      font-size: 11px;
      color: #dc2626;
      margin-top: 4px;
      padding-left: 18px;
      letter-spacing: .01em;
      width: var(--inW);
    }

    /* BACK BUTTON */
    .backBtn{
      position:absolute;
      left: 28px;
      top: 24px;
      padding: 10px 14px;
      border-radius: 16px;
      background: var(--backFill);
      border: 1px solid var(--backBorder);
      cursor:pointer;
      user-select:none;
      font-weight: 600;
      letter-spacing: .02em;
      color: #111111cc;
      transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
    }
    .backBtn:hover{
      background:#0000000c;
      border-color:#00000020;
      transform: translateY(-1px);
    }
    .backBtn:active{
      transform: translateY(0) scale(.995);
    }

    /* FOOTER */
    .footerArea{
      position:absolute;
      left:0;
      right:0;
      bottom: 70px;
      display:flex;
      flex-direction:column;
      align-items:center;
      gap: 10px;
      padding: 0 18px;
    }

    /* ACCENT BUTTONS */
    .accentBtn{
      border-radius: 999px;
      border: 1px solid var(--accentBorder);
      background: var(--accentFill);
      color: var(--accentText);
      font-weight: 700;
      letter-spacing: .05em;
      cursor:pointer;
      user-select:none;
      transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
    }
    .accentBtn:hover{
      background: var(--accentHoverFill);
      border-color: var(--accentHoverBorder);
      transform: translateY(-1px);
    }
    .accentBtn:active{
      transform: translateY(0) scale(.995);
    }
    .accentBtn:disabled{
      opacity: .45;
      cursor: not-allowed;
      transform: none !important;
      box-shadow: none !important;
    }
    .accentBtn:disabled:hover{
      background: var(--accentFill);
      border-color: var(--accentBorder);
      transform: none;
    }

    .nextBtn{
      padding: 12px 22px;
      font-size: 13px;
      text-transform:none;
    }

    .linkBtn{
      padding: 10px 16px;
      font-size: 13px;
      letter-spacing: .02em;
      text-transform:none;
    }

    .sqBtn,
    .accentBtn,
    .backBtn,
    .backBtnInline,
    .burgerBtn,
    .drawerItem,
    .drawerClose,
    .linkBtn{
      touch-action: manipulation;
      -webkit-tap-highlight-color: transparent;
    }

    #screenRegForm .wrap{
      gap: 16px;
      padding-top: 76px;
      padding-bottom: 0;
      justify-content: flex-start;
      align-items: center;
      background: #fff;
      overflow-y: visible;
    }
    #screenRegForm .wrap > .regProgress {
      margin-bottom: 4px;
    }
    #screenRegForm .wrap > .nextBtn {
      align-self: center;
      margin: 4px 0 40px;
    }
    #screenRegForm .centerBlock{
      gap: 14px;
    }
    /* Role selection: vertically centered */
    #screenRoleReg .wrap {
      justify-content: center;
      padding-top: 60px;
      padding-bottom: 60px;
    }

    #screenLoginForm .backBtn,
    #screenRoleReg .backBtn,
    #screenRegForm .backBtn{
      border-radius: 999px;
      border: 1.5px solid rgba(0,0,0,.13);
      background: transparent;
      color: #0e0f0f;
      box-shadow: none;
      transition: all .2s ease;
    }
    #screenLoginForm .backBtn:hover,
    #screenRoleReg .backBtn:hover,
    #screenRegForm .backBtn:hover{
      border-color: rgba(38,110,120,.35);
      color: #1a5c68;
      background: rgba(38,110,120,.07);
      transform: translateY(-1px);
    }

    #screenLoginForm .sqInput,
    #screenRoleReg .sqInput,
    #screenRegForm .sqInput{
      border-radius: 16px;
      border: 1.5px solid rgba(0,0,0,.09);
      background: #fff;
      box-shadow: 0 1px 4px rgba(0,0,0,.03);
      transition: border-color .15s ease, box-shadow .15s ease, background .15s ease, transform .15s ease;
    }
    #screenLoginForm .sqInput input,
    #screenRoleReg .sqInput input,
    #screenRegForm .sqInput input{
      outline: none;
    }
    #screenLoginForm .sqInput:focus-within,
    #screenRoleReg .sqInput:focus-within,
    #screenRegForm .sqInput:focus-within{
      background: #fff;
      border-color: rgba(38,110,120,.4);
      box-shadow: 0 0 0 3px rgba(38,110,120,.08);
    }

    #screenLoginForm .accentBtn,
    #screenRoleReg .accentBtn,
    #screenRegForm .accentBtn{
      border-radius: 999px;
      border-color: #0e0f0f;
      background: #0e0f0f;
      color: #fff;
      letter-spacing: .02em;
      transition: all .2s ease;
    }
    #screenLoginForm .accentBtn:hover,
    #screenRoleReg .accentBtn:hover,
    #screenRegForm .accentBtn:hover{
      background: #1a5c68;
      border-color: #1a5c68;
      transform: translateY(-1px);
    }
    #screenLoginForm .accentBtn:disabled:hover,
    #screenRoleReg .accentBtn:disabled:hover,
    #screenRegForm .accentBtn:disabled:hover{
      background: #0e0f0f;
      border-color: #0e0f0f;
      transform: none;
    }

    #screenRoleReg .sqBtn{
      border-radius: 24px;
      border-color: rgba(0,0,0,.08);
      background: #fff;
      box-shadow: 0 1px 6px rgba(0,0,0,.04);
      transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
    }
    #screenRoleReg .sqBtn:hover{
      border-color: rgba(38,110,120,.3);
      background: rgba(38,110,120,.03);
      box-shadow: 0 10px 24px rgba(38,110,120,.08);
      transform: translateY(-2px);
    }
    #screenRoleReg .sqBtn.selected{
      border-color: rgba(38,110,120,.34);
      background: rgba(38,110,120,.07);
      box-shadow: 0 10px 24px rgba(38,110,120,.10);
    }

    #screenLoginForm .regStep.active,
    #screenRoleReg .regStep.active,
    #screenRegForm .regStep.active{
      background: #26707a;
      border-color: #26707a;
      color: #fff;
    }

    /* DONE SCREEN */
    .doneWrap{
      display:flex;
      flex-direction:column;
      align-items:center;
      gap: 20px;
      text-align:center;
    }
    .doneCheck{
      width: 72px;
      height: 72px;
      border-radius: 50%;
      background: rgba(34,197,94,.14);
      border: 2px solid rgba(34,197,94,.3);
      display:flex;
      align-items:center;
      justify-content:center;
      font-size: 32px;
    }
    .doneText{
      font-weight: 700;
      letter-spacing: 0.04em;
      font-size: 20px;
      color: var(--label);
      text-align:center;
      max-width: 80vw;
    }
    .doneOnboard {
      background: rgba(38,112,122,.07);
      border: 1.5px solid rgba(38,112,122,.18);
      border-radius: 14px;
      padding: 20px 24px;
      text-align: left;
      max-width: min(400px, 86vw);
      width: 100%;
    }
    .doneOnboardTitle {
      font-weight: 700;
      font-size: 14px;
      color: #1a5c68;
      margin-bottom: 12px;
      text-transform: uppercase;
      letter-spacing: .05em;
    }
    .doneOnboardSteps {
      margin: 0;
      padding-left: 20px;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .doneOnboardSteps li {
      font-size: 14px;
      color: var(--label);
      line-height: 1.45;
    }

    @media (min-width: 1200px){
      :root{
        --btnW: 300px;
        --btnH: 126px;
        --gapX: 56px;
        --inW: 460px;
        --inH: 72px;
      }
      .sqText{ font-size: 21px; }
      .doneText{ font-size: 22px; }
      .sqInput input{ font-size: 19px; }
    }

    @media (max-width: 980px){
      :root{
        --inW: min(86vw, 460px);
        --btnW: min(40vw, 310px);
        --gapX: 32px;
      }
    }

/* ── Verification banner ─────────────────────────────────────────── */
.verifBanner {
  display: flex;
  align-items: center;
  gap: 14px;
  background: linear-gradient(90deg, #0c3c4a 0%, #0e5a6e 100%);
  padding: 11px 20px;
  margin: 12px 16px 0;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(12,60,74,.22);
}
.verifBanner.hidden { display: none; }
.verifBannerLeft {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}
.verifBannerIco {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
  border: 1px solid rgba(255,255,255,.18);
}
.verifBannerText {
  font-size: 13px;
  color: rgba(255,255,255,.88);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .01em;
}
.verifBannerBtn {
  padding: 7px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  border: 1px solid rgba(255,255,255,.28);
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background .15s, border-color .15s;
  letter-spacing: .02em;
}
.verifBannerBtn:hover {
  background: rgba(255,255,255,.22);
  border-color: rgba(255,255,255,.45);
}
.verifBannerClose {
  background: none;
  border: none;
  font-size: 18px;
  color: rgba(255,255,255,.45);
  cursor: pointer;
  flex-shrink: 0;
  padding: 0 2px;
  line-height: 1;
  transition: color .15s;
}
.verifBannerClose:hover { color: rgba(255,255,255,.8); }

/* ── screenDone redesign ─────────────────────────────────────────── */
.doneWrapNew {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 70vh;
  padding: 32px 20px 48px;
}
.doneView {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: 100%;
  max-width: 480px;
  animation: doneSlideIn .5s cubic-bezier(.22,.68,0,1.2) both;
}
.doneView.hidden { display: none !important; }

@keyframes doneSlideIn {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}

.doneIconBig {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: #0e7490;
  color: #fff;
  font-size: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
  box-shadow: 0 8px 24px rgba(14,116,144,.28);
  animation: donePop .55s cubic-bezier(.22,.68,0,1.4) .1s both;
}
.doneIconBig.doneIconEmployer {
  background: linear-gradient(135deg,#0e7490,#155e75);
}
@keyframes donePop {
  from { transform: scale(0.4); opacity: 0; }
  to   { transform: scale(1);   opacity: 1; }
}

.doneTitle {
  font-size: 22px;
  font-weight: 800;
  color: #0e0f0f;
  text-align: center;
  letter-spacing: -.5px;
  margin: 0;
}
.doneSub {
  font-size: 14px;
  color: #6b7280;
  text-align: center;
  line-height: 1.55;
  max-width: 360px;
  margin: 0;
}
.doneCtaBtn {
  margin-top: 12px;
  padding: 14px 32px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 700;
  min-width: 220px;
}

/* 3-step cards for employer onboarding */
.doneStepsCards {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  max-width: 400px;
  margin-top: 4px;
}
.doneStepCard {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: rgba(14,116,144,.05);
  border: 1.5px solid rgba(14,116,144,.14);
  border-radius: 12px;
  padding: 14px 16px;
}
.doneStepIcon {
  font-size: 22px;
  flex-shrink: 0;
  margin-top: 1px;
}
.doneStepH {
  font-size: 14px;
  font-weight: 700;
  color: #0e0f0f;
  margin-bottom: 3px;
}
.doneStepP {
  font-size: 12px;
  color: #6b7280;
  line-height: 1.4;
}

/* ── Jobs: feed cards ────────────────────────────────────────────────────────── */
.jobFeedFilters { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.feedFilterSelect { background:#fff; border:1px solid #e5e7eb; border-radius:20px; padding:6px 14px; font-size:13px; color:#374151; cursor:pointer; }
.feedFilterSelect:focus { outline:none; border-color:#14b8a6; }

.jobFeedListWrap { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; padding:16px; }

.jobCard { background:#fff; border-radius:16px; box-shadow:0 1px 4px rgba(0,0,0,.07); padding:18px; display:flex; flex-direction:column; gap:12px; transition:box-shadow .2s; }
.jobCard:hover { box-shadow:0 4px 16px rgba(0,0,0,.12); }
.jobCardHead { display:flex; flex-direction:column; gap:6px; }
.jobCardCompanyRow { display:flex; align-items:center; gap:10px; }
.jobCardAvatarWrap { flex-shrink:0; }
.jobCardLogo { width:36px; height:36px; border-radius:50%; object-fit:cover; }
.jobCardLogoFallback { width:36px; height:36px; border-radius:50%; background:#0d9488; color:#fff; display:flex; align-items:center; justify-content:center; font-size:15px; font-weight:700; }
.jobCardCompanyInfo { display:flex; flex-direction:column; gap:2px; }
.jobCardCompany { font-size:13px; font-weight:600; color:#374151; }
.jobVerifiedBadge { font-size:11px; color:#059669; background:#d1fae5; padding:1px 8px; border-radius:10px; display:inline-block; }
.jobCardTitle { font-size:16px; font-weight:700; color:#111827; line-height:1.3; }
.jobCardMeta { display:flex; flex-wrap:wrap; gap:6px; }
.jobMetaPill { font-size:12px; background:#f3f4f6; color:#374151; border-radius:12px; padding:3px 10px; }
.jobMetaPill.salary { background:#ecfdf5; color:#065f46; font-weight:600; }
.jobMetaPill.dir { background:#eff6ff; color:#1d4ed8; }
.jobCardSkills { display:flex; flex-wrap:wrap; gap:5px; }
.skillPill { font-size:12px; background:#f0fdf4; color:#166534; border-radius:10px; padding:2px 8px; }
.jobCardFooter { margin-top:auto; }
.jobApplyBtn { width:100%; }

/* ── Jobs: My Jobs list ──────────────────────────────────────────────────────── */
.myJobsList { padding:16px; display:flex; flex-direction:column; gap:10px; }
.myJobRow { background:#fff; border-radius:14px; padding:14px 16px; display:flex; align-items:center; gap:12px; box-shadow:0 1px 3px rgba(0,0,0,.07); }
.myJobInfo { flex:1; min-width:0; }
.myJobTitle { font-size:15px; font-weight:600; color:#111827; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.myJobMeta { font-size:12px; color:#6b7280; margin-top:3px; display:flex; flex-wrap:wrap; gap:4px; align-items:center; }
.myJobActions { display:flex; gap:8px; flex-shrink:0; }
.miniLink.ok  { color:#059669; }
.miniLink.warn { color:#d97706; }
.miniLink.bad  { color:#dc2626; }

/* ── Jobs: Create form ───────────────────────────────────────────────────────── */

/* Full-width fields inside job post cards — override centered auth layout */
#screenPostJob .profileEditSection .formCol { align-items: stretch; }
#screenPostJob .profileEditSection .sqInput  { width: 100%; box-sizing: border-box; }

/* Select element inherits sqInput container, no double styling */
#screenPostJob .sqSelect {
  width: 100%;
  height: 100%;
  background: transparent;
  border: none;
  padding: 0 28px 0 0;
  font-size: 16px;
  font-weight: 500;
  color: var(--label);
  cursor: pointer;
  outline: none;
  appearance: auto;
  -webkit-appearance: auto;
}
#screenPostJob .sqSelect option { color: #222; background: #fff; }

/* Salary row — side-by-side inputs, full width */
.jobSalaryLabel { font-size: 12px; font-weight: 600; color: var(--placeholder); letter-spacing: .03em; text-transform: uppercase; padding-left: 2px; }
.jobSalaryRow  { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; }
.salaryInput   { width: 100% !important; flex: none !important; }
.jobSalaryDash { color: #9ca3af; font-size: 15px; flex-shrink: 0; }

/* Hide number spinners */
#screenPostJob input[type=number]::-webkit-inner-spin-button,
#screenPostJob input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
#screenPostJob input[type=number] { -moz-appearance: textfield; }

/* Textarea — proper padding and auto height */
#screenPostJob .sqInput:has(textarea) { height: auto; padding: 16px 18px; align-items: flex-start; }
#screenPostJob .sqInput textarea {
  width: 100%;
  background: transparent;
  border: none;
  outline: none;
  resize: none;
  font-size: 16px;
  font-weight: 500;
  color: var(--label);
  min-height: 120px;
  line-height: 1.55;
  font-family: inherit;
}
#screenPostJob .sqInput textarea::placeholder { color: var(--placeholder); font-weight: 400; }

/* Skill tags — accent colours consistent with app palette */
.skillTagsWrap { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px 0; min-height: 36px; }
.skillTag      { display: inline-flex; align-items: center; gap: 4px; background: rgba(110,231,255,.20); color: rgba(0,80,95,.95); border: 1px solid rgba(110,231,255,.40); border-radius: 999px; padding: 5px 12px; font-size: 13px; font-weight: 600; }
.skillTagDel   { background: none; border: none; cursor: pointer; color: inherit; font-size: 16px; line-height: 1; padding: 0; opacity: .65; }
.skillTagDel:hover { opacity: 1; }

/* Action buttons — equal width, consistent height */
.jobFormActions { display: flex; gap: 12px; padding-bottom: 40px; }
#screenPostJob .jobFormActions button { flex: 1; height: auto; padding: 15px 20px; border-radius: 16px; font-size: 15px; font-weight: 700; min-height: 52px; width: auto; }

/* ── Company verification ────────────────────────────────────────────────────── */
.companyVerifyBanner { border-radius:12px; padding:12px 16px; margin-bottom:16px; font-size:14px; font-weight:500; }
.companyVerifyBanner.pending { background:#fef3c7; color:#92400e; }
.companyVerifyBanner.ok      { background:#d1fae5; color:#065f46; }
.companyVerifyBanner.bad     { background:#fee2e2; color:#991b1b; }
.companyVerifyHelp { border:1px solid rgba(38,110,120,.16); background:rgba(235,248,250,.55); border-radius:18px; padding:14px 16px; margin-bottom:16px; }
.companyVerifyHelpTitle { font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#1a5c68; margin-bottom:6px; }
.companyVerifyHelpText { font-size:13px; line-height:1.5; color:#4b5563; }
.companyVerifyAction { margin-top:16px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.innHint { font-size:12px; margin-top:4px; padding-left:4px; }
.innHint.ok  { color:#059669; }
.innHint.bad { color:#dc2626; }
.checkboxRow { display:flex; align-items:center; gap:8px; font-size:14px; color:#374151; cursor:pointer; padding:4px 0; }
.inputError { outline:2px solid #ef4444 !important; }
.inputOk    { outline:2px solid #10b981 !important; }

/* ── Company verification: new UI components ─────────────────────────────────── */
.companyTypeSwitch { display:flex; align-items:center; gap:12px; margin-bottom:16px; flex-wrap:wrap; }
.companyTypeSwitchLabel { font-size:13px; font-weight:600; color:#374151; }
.companyTypeSwitchBtns { display:flex; gap:6px; }
.companyTypeBtn {
  padding:7px 16px;
  border-radius:999px;
  border:1.5px solid rgba(38,110,120,.22);
  background:#fff;
  color:#374151;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  transition:all .15s ease;
}
.companyTypeBtn:hover { border-color:rgba(38,110,120,.4); background:#f0fdfa; }
.companyTypeBtn.active { background:#0e7490; color:#fff; border-color:#0e7490; }

.companyFormBlock {
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  padding:18px 18px 14px;
  margin-bottom:16px;
  background:#fff;
}
.companyFormBlock .formCol { align-items:stretch; }
.companyFormBlock .sqInput { width:100%; box-sizing:border-box; }
#companyOgrnRow,
#companyOgrnipRow { display:flex; flex-direction:column; gap:12px; }

.companyFormBlockHead {
  font-size:14px;
  font-weight:700;
  color:#111827;
  margin-bottom:14px;
}
.companyFormBlockSub { font-size:13px; font-weight:400; color:#9ca3af; }

.verifyGrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; }
.miniCard {
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  padding:14px;
  background:#f9fafb;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.miniLabel { font-size:11px; font-weight:700; color:#6b7280; text-transform:uppercase; letter-spacing:.04em; }
.miniValue { font-size:14px; color:#111827; word-break:break-word; }
.miniOptional { font-size:11px; font-weight:400; color:#9ca3af; text-transform:none; letter-spacing:0; }
.docHelpText { font-size:12px; color:#6b7280; line-height:1.45; }

.companyReadyChecklist {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:6px;
  margin-bottom:16px;
}
.checklistItem {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  padding:7px 12px;
  border-radius:10px;
  line-height:1.35;
}
.checklistItem.ok   { background:#f0fdf4; color:#166534; }
.checklistItem.miss { background:#f5f5f5; color:#6b7280; }
.ciIcon {
  flex-shrink:0;
  width:18px;
  height:18px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:800;
}
.checklistItem.ok   .ciIcon { background:#bbf7d0; color:#166534; }
.checklistItem.miss .ciIcon { background:#e5e7eb; color:#9ca3af; }
.ciLabel { flex:1; min-width:0; }

.companyVerifyAction .accentBtn {
  background:#0e7490;
  border-color:#0e7490;
  color:#fff;
}
.companyVerifyAction .accentBtn:hover {
  background:#0c6482;
  border-color:#0c6482;
}

/* ── Admin: Company warnings ─────────────────────────────────────────────────── */
.adminCompanyWarnings {
  border:1.5px solid #f59e0b;
  background:#fffbeb;
  border-radius:12px;
  padding:12px 14px;
  margin-bottom:16px;
}
.adminCompanyWarningsHead {
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#92400e;
  margin-bottom:8px;
}
.adminCompanyWarning {
  font-size:13px;
  color:#78350f;
  line-height:1.4;
  padding:4px 0;
  border-top:1px solid rgba(245,158,11,.2);
}
.adminCompanyWarning:first-of-type { border-top:none; }

/* ── Admin: Companies panel ──────────────────────────────────────────────────── */
.pendingBadge { background:#ef4444; color:#fff; border-radius:10px; padding:1px 7px; font-size:11px; font-weight:700; margin-left:6px; }
.adminCompanyRow { display:flex; align-items:center; gap:12px; padding:12px 16px; background:#fff; border-radius:12px; margin-bottom:8px; box-shadow:0 1px 3px rgba(0,0,0,.06); }
.adminCompanyLogoWrap { flex-shrink:0; }
.adminCompanyLogo { width:36px; height:36px; border-radius:50%; object-fit:cover; }
.adminCompanyLogoFb { width:36px; height:36px; border-radius:50%; background:#0d9488; color:#fff; display:flex; align-items:center; justify-content:center; font-size:15px; font-weight:700; }
.adminCompanyInfo { flex:1; min-width:0; }
.adminCompanyName { font-size:14px; font-weight:600; color:#111827; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.adminCompanyMeta { font-size:12px; color:#6b7280; margin-top:2px; }
.adminCompanyActions { display:flex; gap:8px; flex-shrink:0; }

/* ── Admin: Company modal ────────────────────────────────────────────────────── */
.modalOverlay { position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:1000; display:flex; align-items:center; justify-content:center; padding:16px; }
.adminCompanyModalInner { background:#fff; border-radius:20px; width:100%; max-width:780px; max-height:90vh; overflow-y:auto; padding:24px; position:relative; }
.modalCloseBtn { position:absolute; top:16px; right:16px; background:none; border:none; font-size:22px; cursor:pointer; color:#6b7280; }
.adminCompanyModalCols { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.adminCompanyModalCol {}
.adminCompanyModalHead { font-size:13px; font-weight:700; color:#6b7280; text-transform:uppercase; letter-spacing:.05em; margin-bottom:12px; }
.adminModalRow { display:flex; flex-direction:column; gap:2px; margin-bottom:10px; }
.adminModalLabel { font-size:11px; color:#9ca3af; text-transform:uppercase; letter-spacing:.04em; }
.adminModalVal { font-size:14px; color:#111827; }
.adminDocRow { display:flex; justify-content:space-between; align-items:center; padding:10px 12px; background:#f9fafb; border-radius:10px; margin-bottom:8px; font-size:14px; }
.adminDocRow.emptyDoc { color:#9ca3af; }
.adminCompanyModalActions { margin-top:20px; border-top:1px solid #f0f0f0; padding-top:16px; display:flex; flex-direction:column; gap:12px; }
.adminRejectForm { display:flex; gap:8px; }
.adminRejectForm textarea { flex:1; }
.accentBtn.ok  { background:#059669; }
.accentBtn.bad { background:#dc2626; }

@media (max-width:600px) {
  .adminCompanyModalCols { grid-template-columns:1fr; }
  .jobFeedListWrap { grid-template-columns:1fr; }
  .jobFormActions { flex-direction:column; }
}
