/* Jobs in Kolkata V5: layered on V4 palette and responsive layout. */
:root{--v5-blue:#1679c8;--v5-sky:#54caff;--v5-ink:#0e3359;--v5-line:#ddecf9;--v5-surface:#f4faff}
.v5-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:24px 0}
.v5-qualification-card,.v5-company-card{display:flex;flex-direction:column;align-items:flex-start;min-height:190px;padding:28px;text-decoration:none;color:var(--v5-ink);border:1px solid var(--v5-line);border-radius:21px;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,background .3s;background:#fff;box-shadow:0 10px 36px #135c9a0a}
.v5-qualification-card:hover,.v5-company-card:hover{transform:translateY(-7px);box-shadow:0 22px 50px #135c9a20;background:#f9fdff}
.v5-qualification-card h3,.v5-company-card h3{margin:12px 0;font-size:19px}.v5-qualification-card strong{margin-top:auto;color:var(--v5-blue)}
.v5-company-logo{display:grid;place-items:center;width:86px;height:74px;border:1px solid #e3f0f9;background:#f4faff;border-radius:17px;color:var(--v5-blue);font-size:32px;overflow:hidden}
.v5-company-logo img{max-width:100%;max-height:100%;object-fit:contain;padding:7px}.v5-company-card p{margin:4px 0 13px;color:#6c86a0}.v5-verified{color:#087cb1;font-weight:800;font-size:12px}
.v5-company-detail{padding:36px;margin-bottom:35px}.v5-company-banner{height:210px;object-fit:cover;width:100%;border-radius:16px;margin-bottom:20px}
.v5-home{scroll-margin-top:110px}.v5-update-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0}
.v5-update-item{display:flex;align-items:center;gap:17px;padding:19px;border:1px solid var(--v5-line);border-radius:16px;color:var(--v5-ink);text-decoration:none;transition:transform .23s,box-shadow .23s}.v5-update-item:hover{transform:translateY(-3px);box-shadow:0 10px 35px #0c68af17}
.v5-update-item>span:nth-child(2){flex:1}.v5-update-item strong{display:block;margin-bottom:7px}.v5-update-item small{display:block;color:#71869b}.v5-update-icon{display:grid;place-items:center;width:48px;height:48px;background:linear-gradient(140deg,#d6efff,#e9f9ff);color:var(--v5-blue);border-radius:13px;flex:none}
.v5-form{max-width:980px;padding:28px}.v5-form label{display:block;margin:15px 0 9px;font-weight:650}.v5-form input,.v5-form textarea,.v5-form select{width:100%}.v5-form .row label{margin-top:0}.v5-tabs{display:flex;gap:10px;overflow-x:auto;margin:18px 0 30px;padding-bottom:8px}.v5-tabs a{white-space:nowrap;background:#f1f8fe;padding:10px 15px;border-radius:12px;font-size:13px;font-weight:700;text-decoration:none;color:#54718f}.v5-tabs a.active{background:#137dcd;color:white}
.v5-check{display:flex!important;align-items:flex-start;gap:9px;font-size:13px;font-weight:500!important;line-height:1.5}.v5-check input[type=checkbox]{width:18px!important;min-width:18px;height:18px;margin:2px 0}.hp-field{position:absolute!important;opacity:0;pointer-events:none;height:0;overflow:hidden}
.v5-list-line{border-bottom:1px solid #e2eefa;padding:14px 0}.v5-list-line:last-child{border-bottom:0}.v5-list-line p{margin:6px 0;color:#72859a}.v5-list-line form{margin-top:10px}
.v5-job-facts{margin-top:30px;padding:22px}.v5-job-facts h2{font-size:23px;margin:8px 0 21px}.v5-facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.v5-facts-grid>div{padding:13px;background:#f3f9ff;border-radius:12px}.v5-facts-grid small{display:block;color:#637c96;font-size:12px;margin-bottom:7px}.v5-facts-grid strong{font-weight:700;overflow-wrap:anywhere}
.v5-editor-group{background:#f7fbff;border:1px solid #d9eefa;border-radius:22px;padding:20px;margin:20px 0}.v5-editor-group h3{margin-top:0}.v5-editor-group select[multiple]{min-height:155px}
.v5-story img{width:100%;height:140px;object-fit:cover;border-radius:12px}.v5-story p{line-height:1.8}.v5-story strong{display:block}.v5-story small{color:#7c90a5}
.v5-admin-link{background:linear-gradient(120deg,#1174b7,#269de3)!important;color:#fff!important;border-radius:10px}
.v5-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.v5-toolbar .btn{font-size:13px}.v5-footer-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.v5-empty-inline{padding:30px;color:#68819c;text-align:center}.v5-resume{max-width:920px;padding:36px}.v5-resume h1{font-size:32px}.v5-blog-search{margin:15px 0 28px;display:flex;gap:10px;flex-wrap:wrap}.v5-blog-search input{flex:1;min-width:200px}.v5-blog-search select{min-width:180px}.v5-blog-search input,.v5-blog-search select{padding:12px;border:1px solid #d9e6f6;border-radius:10px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #37aaf9;outline-offset:3px}
@keyframes v5Float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes v5Enter{from{opacity:0;transform:translateY(23px)}to{opacity:1;transform:translateY(0)}}
.v5-home .section-heading{animation:v5Enter .55s ease both}.v5-home .category-icon{animation:v5Float 5s ease-in-out infinite}
.v5-update-item:nth-child(2n) .v5-update-icon{background:linear-gradient(135deg,#d5fbfd,#e4f1ff)}
@media(max-width:1000px){.v5-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v5-update-grid{grid-template-columns:1fr}.v5-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.v5-feature-grid{grid-template-columns:1fr}.v5-update-grid{grid-template-columns:1fr}.v5-facts-grid{grid-template-columns:1fr}.v5-form{padding:19px}.v5-qualification-card,.v5-company-card{min-height:145px}.v5-toolbar{gap:6px}.v5-toolbar .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.v5-home .category-icon,.v5-home .section-heading{animation:none!important}.v5-company-card,.v5-qualification-card,.v5-update-item{transition:none!important}}
@media print{.site-header,.topline,.footer,.v5-tabs,.v5-resume button,.section-heading,.breadcrumbs{display:none!important}.v5-resume{border:0;box-shadow:none}.v5-resume #print-resume{display:block!important}}

.v5-lang-switch{display:flex;align-items:center;gap:4px;border:1px solid #d9e9f7;padding:4px;border-radius:12px;background:#f8fcff}.v5-lang-switch a{font-size:11px!important;padding:5px 6px!important;border-radius:7px;color:#2677ae!important}.v5-lang-switch a:hover{background:#ddf1fe}

.v5-urgent-badge{position:absolute;left:15px;bottom:15px;background:#fff2ca;color:#a84b09;border:1px solid #ffca84;border-radius:99px;padding:5px 12px;font-size:11px;font-weight:900;letter-spacing:.08em}

[hidden]{display:none!important}

.v5-completion{padding:21px 25px;margin-bottom:18px}.v5-progress{height:12px;border-radius:99px;background:#e2eefb;overflow:hidden;margin:12px 0}.v5-progress span{display:block;height:100%;background:linear-gradient(90deg,#159add,#6dd3ff);border-radius:99px;transition:width .45s ease}

/* V5.1: Email/password sign-in + mandatory mobile registration */
.auth-page {max-width:1180px;padding-top:48px;padding-bottom:70px}
.auth-intro{text-align:center;max-width:690px;margin:0 auto 30px}
.auth-intro .eyebrow{color:#147ec0;letter-spacing:.09em}
.auth-intro h1{font-size:clamp(30px,4.3vw,48px);letter-spacing:-.045em;line-height:1.17;margin:12px 0}
.auth-intro p{line-height:1.8;color:#627d98;margin:0 auto}
.auth-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:24px;align-items:start}
.auth-panel{padding:clamp(23px,3vw,36px);border:1px solid #d9eafb;border-radius:23px;background:#fff;box-shadow:0 14px 42px rgba(17,95,163,.075)}
.auth-register{background:linear-gradient(155deg,#f5fbff 0%,#fff 32%)}
.auth-panel-heading{display:flex;align-items:center;gap:14px;margin-bottom:25px}
.auth-panel-heading h2{margin:0 0 4px;font-size:25px;letter-spacing:-.025em}
.auth-panel-heading p{margin:0;color:#71889e;font-size:13px}
.auth-panel-icon{width:49px;height:49px;display:grid;place-items:center;flex:none;border-radius:15px;background:linear-gradient(130deg,#d9f0ff,#ebf8ff);color:#1177ba;font-size:20px}
.auth-panel label:not(.v5-check):not(.hp-field),.auth-simple label:not(.v5-check):not(.hp-field){display:block;font-size:13px;font-weight:750;color:#254765;margin:16px 0 8px}
.auth-panel input:not([type=checkbox]),.auth-panel select,.auth-simple input:not([type=checkbox]){box-sizing:border-box;display:block;width:100%;min-height:48px;border:1px solid #cfe1f0;border-radius:12px;background:#fff;font:inherit;font-size:14px;color:#163c5e;padding:11px 14px;outline:none}
.auth-panel input:focus,.auth-panel select:focus,.auth-simple input:focus{border-color:#1688dc;box-shadow:0 0 0 3px #1688dc25}
.auth-required{color:#d3414d}
.auth-password-wrap{position:relative}
.auth-password-wrap input{padding-right:96px!important}
.auth-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;gap:6px;min-height:36px!important;padding:0 10px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#31668e!important;font-size:12px!important;font-weight:700!important;box-shadow:none!important;cursor:pointer}
.auth-eye:hover{background:#e9f5fe!important;color:#106eaf!important}
.auth-eye:focus-visible{outline:2px solid #137bc3;outline-offset:2px}
.auth-eye i{width:17px;font-size:15px}
.auth-mobile-wrap{display:flex;align-items:center;overflow:hidden;border:1px solid #cfe1f0;border-radius:12px;background:#fff}
.auth-mobile-wrap:focus-within{border-color:#1688dc;box-shadow:0 0 0 3px #1688dc25}
.auth-mobile-wrap>span{font-weight:750;padding:0 13px;display:flex;align-items:center;align-self:stretch;border-right:1px solid #dbeaf7;background:#f0f8fe;color:#1b659b}
.auth-mobile-wrap input{border:0!important;box-shadow:none!important;border-radius:0!important;flex:1;min-width:0}
.auth-hint{display:block;font-size:11px;line-height:1.55;color:#64829a;margin:7px 0 5px}
.auth-panel .v5-check{margin:15px 0!important;font-size:12px!important;color:#425b72}
.auth-panel .v5-check a{font-weight:700}
.auth-submit{display:flex;align-items:center;justify-content:center;gap:11px;margin-top:23px;width:100%;min-height:48px;border-radius:12px!important;background:linear-gradient(110deg,#0878c4,#269edf)!important;color:#fff!important;font-size:14px;font-weight:800;cursor:pointer;transition:transform .2s,box-shadow .2s}
.auth-submit:hover{transform:translateY(-2px);box-shadow:0 12px 28px #1878bb38}
.auth-inline-note{text-align:right;margin:15px 0 0;font-size:13px}
.auth-inline-note a{font-weight:700}
.auth-simple{margin:0 auto}
@media(max-width:860px){.auth-grid{grid-template-columns:1fr}.auth-page{padding-top:28px}.auth-panel{padding:25px}}
@media(max-width:480px){.auth-panel{padding:20px}.auth-panel-heading h2{font-size:22px}.auth-intro h1{font-size:31px}}
@media(prefers-reduced-motion:reduce){.auth-submit{transition:none}.auth-submit:hover{transform:none}}

.auth-account-contact{display:flex;align-items:center;gap:10px;margin:0 0 20px;padding:13px 17px;border-radius:12px;background:#edf8ff;border:1px solid #d8edf9;color:#235879;font-size:13px;overflow-wrap:anywhere}
.auth-account-contact i{color:#0e82c7;font-size:17px}


/* V5.3 - Password visibility control stays vertically centered on hover/click.
   Overrides the global button hover transform and filter. */
.auth-password-wrap button.auth-eye {
  position:absolute; top:50%; right:6px;
  width:78px; min-width:78px; height:36px; min-height:36px!important;
  padding:0 7px!important; box-sizing:border-box;
  transform:translateY(-50%)!important;
  transition:background-color .16s ease,color .16s ease!important;
  box-shadow:none!important; filter:none!important;
}
.auth-password-wrap button.auth-eye:hover,
.auth-password-wrap button.auth-eye:active,
.auth-password-wrap button.auth-eye:focus-visible {
  transform:translateY(-50%)!important;
  box-shadow:none!important; filter:none!important;
}
.auth-password-wrap button.auth-eye i {flex:0 0 17px;}
