:root {
    --st-premium-ink: #071d3b;
    --st-premium-ink-soft: #173b5f;
    --st-premium-teal: #079a67;
    --st-premium-gold: #f1b52b;
    --st-premium-mist: #f3f8f7;
}

.st-inner-page { background: linear-gradient(180deg, #f7fbfa 0, #fff 36rem); }
.st-inner-page .site-header { border-bottom-color: rgba(7, 29, 59, .1); }
.st-inner-page .site-nav a:hover, .st-inner-page .text-link:hover { color: var(--st-premium-teal); }
.st-inner-page .page-top { position: relative; overflow: hidden; }
.st-inner-page .page-top::after { background: radial-gradient(circle, rgba(7, 154, 103, .13), transparent 68%); content: ''; height: 360px; pointer-events: none; position: absolute; right: -100px; top: -180px; width: 360px; }
.st-inner-page .page-top h1 { color: var(--st-premium-ink); max-width: 760px; }
.st-inner-page .page-top .eyebrow, .st-inner-page .content-card .eyebrow { color: var(--st-premium-teal); }
.st-inner-page .content-card, .st-inner-page .side-card { border-color: rgba(7, 29, 59, .1); box-shadow: 0 16px 50px rgba(7, 29, 59, .06); }
.st-inner-page .content-card h2, .st-inner-page .content-card h3 { color: var(--st-premium-ink); }
.st-inner-page .button-dark { background: linear-gradient(135deg, var(--st-premium-ink), #0c456c); box-shadow: 0 12px 26px rgba(7, 29, 59, .16); }
.st-inner-page .button-accent { background: linear-gradient(135deg, var(--st-premium-teal), #047b58); }

.auth-wrap { background: linear-gradient(135deg, #071d3b 0%, #0d3858 54%, #edf8f5 54%, #f8fcfb 100%); min-height: calc(100vh - 150px); padding: 62px 20px; position: relative; }
.auth-wrap::before { background: url('/images/searchteachers/teacher-face-desktop.webp') center 18% / cover no-repeat; border-radius: 28px; content: ''; height: min(560px, 62vw); max-height: 560px; max-width: 570px; opacity: .96; position: absolute; right: max(4vw, calc((100vw - 1160px) / 2)); top: 150px; width: 47vw; }
@media (max-width: 640px) { .auth-wrap::before { background-image: url('/images/searchteachers/teacher-face-mobile.webp'); } }
.auth-promo { color: #fff; left: max(4vw, calc((100vw - 1160px) / 2)); max-width: 400px; position: absolute; top: 198px; z-index: 2; }
.auth-promo h2 { font-size: clamp(30px, 4vw, 52px); letter-spacing: -.06em; line-height: 1.02; margin: 14px 0; }
.auth-promo p { color: #d7e9e8; font-size: 17px; }
.auth-promo-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.auth-promo-chips span { background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.25); border-radius: 999px; color: #fff; font-size: 12px; font-weight: 750; padding: 8px 11px; }
.auth-card { background: rgba(255,255,255,.97); border: 1px solid rgba(255,255,255,.7); border-radius: 28px; box-shadow: 0 28px 80px rgba(4, 25, 49, .2); margin-right: min(46vw, 560px); max-width: 520px; padding: 42px; position: relative; z-index: 1; }
.auth-card::after { background: var(--st-premium-gold); border-radius: 50%; content: ''; height: 12px; position: absolute; right: 30px; top: 30px; width: 12px; }
.auth-card h1 { color: var(--st-premium-ink); font-size: clamp(34px, 4vw, 48px); }
.auth-card .muted { color: #536c7d; }
.auth-brand { color: var(--st-premium-ink); margin-bottom: 30px; }
.auth-brand .brand-mark { background: var(--st-premium-ink); }
.auth-card .form-stack { gap: 16px; margin-top: 26px; }
.auth-card .form-stack label { color: var(--st-premium-ink-soft); font-size: 12px; letter-spacing: .02em; }
.auth-card .form-stack input, .auth-card .form-stack select, .auth-card .form-stack textarea { background: #fbfefd; border: 1px solid #cbdedb; border-radius: 12px; color: var(--st-premium-ink); padding: 13px 14px; }
.auth-card .form-stack input:focus, .auth-card .form-stack select:focus, .auth-card .form-stack textarea:focus { border-color: var(--st-premium-teal); box-shadow: 0 0 0 4px rgba(7,154,103,.12); }
.auth-card .form-foot { color: #536c7d; font-size: 14px; }
.auth-card .form-foot a { color: var(--st-premium-teal); font-weight: 800; }
.auth-card .alert { border-radius: 12px; margin-top: 18px; }
.career-shell { background: linear-gradient(135deg, #071d3b 0, #0d3858 29%, #f5fbfa 29%, #f8fcfb 100%); min-height: calc(100vh - 150px); padding: 64px 0 90px; }
.career-intro { align-items: end; color: #fff; display: flex; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.career-intro h1 { font-size: clamp(38px, 5vw, 72px); letter-spacing: -.06em; line-height: .98; margin: 10px 0 16px; max-width: 720px; }
.career-intro .lead { color: #d5e8e8; max-width: 620px; }
.career-trust { display: flex; flex-wrap: wrap; gap: 8px; justify-content: end; max-width: 300px; }
.career-trust span, .career-private-note { background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.22); border-radius: 999px; color: #fff; font-size: 12px; font-weight: 800; padding: 9px 12px; }
.career-layout { align-items: stretch; display: grid; gap: 28px; grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr); }
.career-aside { background: #092844; border-radius: 28px; box-shadow: 0 24px 70px rgba(4,25,49,.2); color: #fff; overflow: hidden; padding: 28px; }
.career-aside-art { aspect-ratio: 1.4; border-radius: 20px; margin: -4px -4px 30px; overflow: hidden; }
.career-aside-art img { height: 100%; object-fit: cover; object-position: center 18%; width: 100%; }
.career-aside h2 { font-size: 32px; letter-spacing: -.04em; line-height: 1.05; margin: 10px 0; }
.career-aside p { color: #c5dadd; line-height: 1.6; }
.career-step-list { display: grid; gap: 12px; margin-top: 30px; }
.career-step-list span { border-top: 1px solid rgba(255,255,255,.16); color: #91b2b8; padding-top: 12px; }
.career-step-list span.is-active { color: #f4bd36; }
.career-step-list b { color: #fff; margin-left: 8px; }
.career-wizard { background: rgba(255,255,255,.98); border: 1px solid rgba(255,255,255,.7); border-radius: 28px; box-shadow: 0 24px 70px rgba(4,25,49,.15); padding: 40px; }
.career-progress { background: #e2efed; border-radius: 999px; height: 7px; margin-bottom: 32px; overflow: hidden; }
.career-progress span { background: linear-gradient(90deg, #0b9a67, #f1b52b); border-radius: inherit; display: block; height: 100%; transition: width .25s ease; width: 25%; }
.career-step { display: none; }
.career-step.is-active { display: block; }
.career-step h2 { color: var(--st-premium-ink); font-size: clamp(28px, 3vw, 42px); letter-spacing: -.05em; line-height: 1; margin: 10px 0; }
.career-fields { display: grid; gap: 16px; margin: 24px 0; }
.career-fields.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.career-wizard label { color: var(--st-premium-ink-soft); display: grid; font-size: 12px; font-weight: 800; gap: 7px; letter-spacing: .02em; }
.career-wizard input, .career-wizard select, .career-wizard textarea { background: #fbfefd; border: 1px solid #cbdedb; border-radius: 12px; color: var(--st-premium-ink); font: inherit; padding: 13px 14px; width: 100%; }
.career-wizard input:focus, .career-wizard select:focus, .career-wizard textarea:focus { border-color: var(--st-premium-teal); box-shadow: 0 0 0 4px rgba(7,154,103,.12); outline: none; }
.career-checks { border: 1px solid #d7e8e5; border-radius: 16px; margin: 22px 0; padding: 18px; }
.career-checks legend { color: var(--st-premium-ink); font-size: 13px; font-weight: 900; padding: 0 8px; }
.career-check-grid { display: grid; gap: 9px 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.career-check-grid label, .consent-line { align-items: start; display: flex !important; font-size: 13px !important; font-weight: 650 !important; gap: 8px; line-height: 1.4; }
.career-check-grid input, .consent-line input, .consent-card input { accent-color: var(--st-premium-teal); margin-top: 2px; width: auto; }
.career-actions { align-items: center; display: flex; gap: 10px; justify-content: flex-end; margin-top: 28px; }
.career-account-card, .career-private-note, .career-summary { border-radius: 14px; padding: 15px 17px; }
.career-account-card { background: #eff9f5; border: 1px solid #c9eadb; display: grid; gap: 4px; }
.career-account-card span, .career-account-card small { color: #557277; }
.career-private-note { background: #092844; border-radius: 12px; color: #dff8ec; margin: 20px 0; }
.consent-card { align-items: start; background: #f7fbfa; border: 1px solid #d4e8e4; border-radius: 16px; display: flex !important; gap: 12px; margin: 14px 0; padding: 17px; }
.consent-card.required { border-color: #0b9a67; }
.consent-card span { display: grid; gap: 5px; }
.consent-card small { color: #5b747c; font-size: 13px; font-weight: 500; line-height: 1.5; }
.captcha-box { background: #fff7dd; border: 1px solid #f0d88a; border-radius: 14px; margin-top: 22px; padding: 14px; }
.career-summary { background: #edf8f5; color: #2a5d56; display: grid; gap: 5px; margin-top: 22px; }
.career-honeypot { height: 1px !important; left: -9999px; opacity: 0; position: absolute; width: 1px !important; }
.career-dashboard-card h2, .career-consent-card h2 { color: var(--st-premium-ink); letter-spacing: -.04em; }
.career-consent-card { align-items: center; display: flex; justify-content: space-between; gap: 25px; }
@media (max-width: 900px) { .career-intro { align-items: start; flex-direction: column; } .career-trust { justify-content: start; max-width: none; } .career-layout { grid-template-columns: 1fr; } .career-aside { display: grid; grid-template-columns: 180px 1fr; gap: 18px; } .career-aside-art { grid-row: span 2; margin: 0; } .career-step-list { grid-column: 1 / -1; grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 620px) { .career-shell { padding: 30px 0 55px; } .career-intro h1 { font-size: 42px; } .career-aside { display: block; padding: 20px; } .career-aside-art { height: 180px; margin-bottom: 20px; } .career-step-list { grid-template-columns: repeat(2, 1fr); } .career-wizard { border-radius: 22px; padding: 24px 18px; } .career-fields.two, .career-check-grid { grid-template-columns: 1fr; } .career-actions { justify-content: stretch; } .career-actions .button { flex: 1; } .career-consent-card { align-items: start; flex-direction: column; } }

.premium-upload-panel { align-items: center; background: linear-gradient(135deg, #effaf6, #f8fbff); border: 1px solid #cde8df; border-radius: 18px; display: grid; gap: 20px; grid-template-columns: 1fr 1fr; padding: 20px; }
.premium-upload-panel strong { color: var(--st-premium-ink); display: block; font-size: 18px; margin-top: 5px; }
.premium-upload-panel p { font-size: 13px; margin: 6px 0 0; }
.premium-upload-panel input[type=file] { background: #fff; border: 1px dashed #9acbbe; border-radius: 12px; padding: 11px; }
.education-resume-card { background: linear-gradient(135deg, #f0faf7, #fff9ea); }
.education-resume-card .button { width: max-content; }
.st-inner-page .listing-avatar { overflow: hidden; }
.st-inner-page .listing-avatar img { height: 100%; object-fit: cover; width: 100%; }

.jobs-hero, .job-detail-hero { background: linear-gradient(135deg, #071d3b, #0d3858); border-radius: 28px; color: #fff; margin-top: 42px; padding: clamp(34px, 6vw, 76px); }
.jobs-hero h1, .job-detail-hero h1 { color: #fff; font-size: clamp(38px, 6vw, 76px); letter-spacing: -.065em; line-height: .98; max-width: 780px; }
.jobs-hero .lead { color: #d7e9e8; max-width: 650px; }
.jobs-filter { align-items: end; display: flex; gap: 12px; margin-top: 30px; max-width: 700px; }
.jobs-filter label { color: #d7e9e8; display: grid; flex: 1; font-size: 12px; font-weight: 800; gap: 7px; }
.jobs-filter input, .jobs-filter select { border: 0; border-radius: 12px; color: var(--st-premium-ink); padding: 14px; }
.jobs-grid { display: grid; gap: 20px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.job-card { background: #fff; border: 1px solid #dbe9e6; border-radius: 20px; box-shadow: 0 16px 44px rgba(7,29,59,.07); padding: 24px; }
.job-card h3 { font-size: 24px; letter-spacing: -.04em; margin: 18px 0 8px; }
.job-card h3 a { color: var(--st-premium-ink); }
.job-card-top, .job-card-meta, .job-detail-meta { align-items: center; display: flex; flex-wrap: wrap; gap: 9px 14px; justify-content: space-between; }
.job-pill, .job-detail-meta span { background: #eaf8f2; border-radius: 999px; color: #08764f; font-size: 11px; font-weight: 850; padding: 7px 10px; text-transform: capitalize; }
.job-card-meta { border-top: 1px solid #e6efed; color: #536c7d; font-size: 12px; margin-top: 22px; padding-top: 14px; }
.job-detail-hero { margin-top: 42px; }
.job-detail-hero .text-link { color: #bdebdc; }
.job-detail-meta { justify-content: start; margin-top: 22px; }
.job-detail-meta span { background: rgba(255,255,255,.13); color: #fff; }
.job-detail-layout, .job-edit-layout { align-items: start; display: grid; gap: 28px; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); }
.job-description h2 { color: var(--st-premium-ink); font-size: 22px; margin-top: 30px; }
.job-prose { color: #24455d; font-size: 17px; line-height: 1.8; white-space: normal; }
.job-apply-card { position: sticky; top: 22px; }
.job-apply-card h2, .job-status-card h2, .job-form-card h1 { color: var(--st-premium-ink); letter-spacing: -.04em; }
.job-form-card, .job-status-card { padding: clamp(24px, 4vw, 42px); }
.job-status-card { display: grid; gap: 15px; }
.job-status-card form { margin: 0; }
.form-grid-two { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.application-review-card { align-items: start; display: flex; gap: 24px; justify-content: space-between; margin-bottom: 18px; }
.private-review-note { background: #fff8e7; border: 1px solid #f0db9a; border-radius: 14px; display: grid; gap: 5px; min-width: 220px; padding: 14px; }
.private-review-note strong { color: var(--st-premium-ink); }
.private-review-note span { color: #6b603d; font-size: 13px; overflow-wrap: anywhere; }
.inline-form { align-items: center; display: flex; gap: 7px; }
.inline-form select { border: 1px solid #cbdedb; border-radius: 8px; padding: 8px; }
@media (max-width: 900px) { .jobs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .job-detail-layout, .job-edit-layout { grid-template-columns: 1fr; } .job-apply-card { position: static; } }
@media (max-width: 620px) { .jobs-hero, .job-detail-hero { border-radius: 20px; margin-top: 22px; padding: 30px 22px; } .jobs-filter { align-items: stretch; flex-direction: column; } .jobs-filter .button { width: 100%; } .jobs-grid, .form-grid-two { grid-template-columns: 1fr; } .application-review-card { display: grid; } .private-review-note { min-width: 0; } }

@media (max-width: 900px) {
    .auth-wrap { background: linear-gradient(180deg, #071d3b 0, #0d3858 390px, #f8fcfb 390px); }
    .auth-wrap::before { height: 260px; left: 20px; max-width: none; right: 20px; top: 96px; width: auto; }
    .auth-promo { left: 40px; max-width: 390px; top: 118px; }
    .auth-promo h2 { font-size: 29px; max-width: 390px; }
    .auth-promo p, .auth-promo-chips { display: none; }
    .auth-card { margin: 220px auto 0; max-width: 620px; }
}
@media (max-width: 620px) {
    .auth-wrap { padding: 30px 14px 50px; }
    .auth-wrap::before { height: 190px; top: 24px; }
    .auth-promo { left: 28px; max-width: 270px; top: 52px; }
    .auth-promo h2 { font-size: 23px; line-height: 1.04; margin: 8px 0; max-width: 270px; }
    .auth-card { border-radius: 22px; margin-top: 225px; padding: 27px 22px; }
    .premium-upload-panel { grid-template-columns: 1fr; }
}
