.public-page { color:var(--color-text); background:var(--color-bg); min-height:100vh; }
.public-page a { color:inherit; text-decoration:none; }
.public-skip { position:fixed; top:10px; left:16px; z-index:20; padding:12px 18px; background:var(--color-surface); border:2px solid #595bed; border-radius:10px; transform:translateY(-180%); }
.public-skip:focus { transform:translateY(0); }
.public-page a:focus-visible,.public-page button:focus-visible,.public-page input:focus-visible { outline:3px solid #595bed; outline-offset:3px; }
.public-header a { min-height:44px; }
.public-header nav>a { align-items:center; justify-content:center; min-width:44px; }
.public-login,.public-header-catalog { display:inline-flex; }
.public-page svg { width:20px; height:20px; flex-shrink:0; }
.public-page .byn-currency-sign { width:.81em; height:1em; }
.public-empty button { min-height:44px; padding:11px 18px; border:0; border-radius:10px; background:#595bed; color:#fff; font:inherit; font-weight:650; cursor:pointer; }
.public-empty [data-catalog-back] { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:44px; }
.public-empty button:disabled { opacity:.65; cursor:wait; }
.public-retry-status:empty { display:none; }
.public-header,.public-page main,.public-footer { width:min(1180px,calc(100% - 64px)); margin:auto; }
.public-header { min-height:98px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--color-border); }
.public-brand { display:flex; align-items:center; gap:11px; letter-spacing:-.7px; font-size:21px; }
.public-brand strong>span { margin-left:4px; font-weight:400; }
.public-brand-icon { position:relative; display:grid; place-items:center; width:43px; height:43px; border-radius:13px; background:#595bed; color:white; font-size:27px; font-weight:850; box-shadow:0 6px 16px #595bed24; }
.public-brand-icon>span { position:absolute; bottom:3px; right:5px; font-size:15px; }
.public-header nav { display:flex; gap:27px; align-items:center; font-size:14px; font-weight:650; }
.public-login { white-space:nowrap; }
.public-page .public-publish { background:#595bed; color:#fff; border-radius:11px; padding:14px 19px; display:inline-flex; align-items:center; justify-content:center; gap:10px; font-weight:650; }
.public-hero { padding:68px 0 31px; }
.public-eyebrow { text-transform:uppercase; font-size:11px; font-weight:750; letter-spacing:1.6px; color:var(--color-text-secondary); display:flex; align-items:center; gap:9px; }
.public-eyebrow>span { width:7px; height:7px; background:#6b68ed; border-radius:50%; }
.public-hero h1 { font-size:clamp(40px,5vw,62px); line-height:1.08; letter-spacing:-2.5px; font-weight:760; margin:24px 0 20px; }
.public-hero h1 em { font-style:normal; color:#6461e7; }
.public-intro { color:var(--color-text-secondary); font-size:16px; line-height:1.7; margin-bottom:30px; }
.public-search { display:grid; grid-template-columns:1.55fr 1fr auto; gap:0; background:var(--color-surface); border:1px solid var(--color-border); padding:9px; border-radius:16px; box-shadow:0 7px 25px #17203b05; }
.public-search label { min-width:0; padding:7px 20px; }
.public-search label+label { border-left:1px solid var(--color-border); }
.public-search label>span { display:block; font-size:11px; color:var(--color-text-secondary); margin-bottom:7px; }
.public-search label>div { display:flex; align-items:center; gap:10px; }
.public-search input { width:100%; min-width:0; padding:0; border:0; background:transparent; color:var(--color-text); font-size:14px; }
.public-search input::placeholder { color:var(--color-text-tertiary); }
.public-search svg { color:var(--color-text-tertiary); width:17px; height:17px; }
.public-search button { border:0; border-radius:11px; background:#595bed; color:#fff; padding:15px 29px; display:flex; align-items:center; gap:20px; cursor:pointer; font-weight:650; }
.public-search button svg { color:inherit; }
.public-tabs { display:flex; gap:9px; flex-wrap:wrap; margin-top:22px; }
.public-tabs a { display:inline-flex; align-items:center; min-height:44px; padding:10px 16px; border-radius:30px; font-size:13px; border:1px solid var(--color-border); background:var(--color-surface); }
.public-tabs .is-active { background:var(--color-text); color:var(--color-bg); border-color:var(--color-text); }
.public-results-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; margin:23px 0; }
.public-results-heading .public-eyebrow { margin-bottom:8px; font-size:10px; }
.public-results-heading h2 { font-size:26px; letter-spacing:-.7px; margin:0; }
.public-results-heading h2 span { color:var(--color-text-tertiary); font-weight:450; margin-left:8px; font-size:18px; }
.public-results-heading>span { color:var(--color-text-tertiary); font-size:12px; }
.public-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.public-card { border:1px solid var(--color-border); background:var(--color-surface); padding:23px; border-radius:17px; min-width:0; transition:box-shadow .15s,border-color .15s; }
.public-card:hover { border-color:#b4b3ee; box-shadow:0 7px 24px #24225309; }
.public-card-top { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.public-company-icon { width:41px; height:41px; border-radius:12px; display:grid; place-items:center; background:var(--color-surface-soft); color:#6664d9; }
.public-kind { font-size:10px; padding:6px 9px; border:1px solid var(--color-border); border-radius:20px; color:var(--color-text-secondary); }
.public-company { font-size:12px; color:var(--color-text-secondary); margin:22px 0 8px; overflow-wrap:anywhere; }
.public-card h3 { font-size:18px; line-height:1.35; letter-spacing:-.3px; margin:0 0 13px; min-height:49px; overflow-wrap:anywhere; }
.public-salary { font-size:15px; display:block; }
.public-location { display:flex; gap:6px; color:var(--color-text-secondary); align-items:center; font-size:12px; margin:17px 0 22px; }
.public-location svg { width:15px; height:15px; }
.public-card-bottom { border-top:1px solid var(--color-border); padding-top:16px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.public-card-bottom>span { font-size:10px; color:var(--color-text-tertiary); }
.public-card-bottom a { display:flex; align-items:center; min-height:44px; gap:6px; color:#6461dc; font-size:12px; font-weight:650; }
.public-card-bottom svg { width:15px; }
.public-employer { border-radius:20px; background:var(--color-text); color:var(--color-bg); display:flex; justify-content:space-between; gap:30px; align-items:center; margin:55px 0; padding:36px 40px; }
.public-employer .public-eyebrow { color:#b8b6ff; font-size:10px; }
.public-employer h2 { margin:15px 0; font-size:29px; line-height:1.2; letter-spacing:-.7px; }
.public-employer p:last-child { font-size:13px; opacity:.7; }
.public-employer>a { background:#d8f28c; color:#222b25; padding:17px 22px; border-radius:11px; display:flex; align-items:center; gap:20px; font-size:13px; font-weight:650; }
.public-footer { border-top:1px solid var(--color-border); padding:26px 0 35px; display:flex; align-items:center; gap:23px; font-size:12px; color:var(--color-text-tertiary); }
.public-footer>strong { color:var(--color-text-secondary); }
.public-footer>span:last-child { margin-left:auto; }
.public-empty,.public-loading { text-align:center; border:1px solid var(--color-border); border-radius:16px; padding:45px 20px; margin:30px 0; background:var(--color-surface); }
.public-empty p { color:var(--color-text-secondary); line-height:1.6; }
.public-empty a { display:inline-block; color:#6461dc; margin:12px; }
.public-pagination { display:flex; justify-content:space-between; padding:25px 0; font-size:14px; }
.public-test-note { text-align:center; padding:8px 12px; background:#fff4d5; color:#715a25; font-size:11px; line-height:1.5; }
.public-detail-back { padding:32px 0; font-size:13px; }
.public-detail-back a { display:inline-flex; gap:6px; align-items:center; }
.public-detail { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:40px; padding-bottom:60px; }
.public-detail-main { min-width:0; background:var(--color-surface); padding:35px; border:1px solid var(--color-border); border-radius:20px; }
.public-detail h1 { font-size:35px; letter-spacing:-1px; line-height:1.2; margin:18px 0; overflow-wrap:anywhere; }
.public-detail-owner { display:flex; gap:9px; align-items:center; color:var(--color-text-secondary); }
.public-detail-pay { display:block; font-size:22px; margin:24px 0; }
.public-detail dl { display:grid; grid-template-columns:1fr 1fr; gap:22px; padding:25px 0; border-block:1px solid var(--color-border); margin-bottom:30px; }
.public-detail dt { font-size:12px; color:var(--color-text-secondary); margin-bottom:7px; }
.public-detail dd { font-size:14px; margin:0; overflow-wrap:anywhere; }
.public-detail h2 { font-size:20px; }
.public-description { white-space:pre-wrap; line-height:1.8; color:var(--color-text-secondary); overflow-wrap:anywhere; }
.public-detail-action { align-self:start; border:1px solid var(--color-border); border-radius:17px; background:var(--color-surface); padding:25px; }
.public-detail-action p { font-size:14px; line-height:1.7; color:var(--color-text-secondary); }
.public-detail-action .public-publish { display:flex; font-size:13px; }
.public-detail-action .public-create { display:block; text-align:center; margin:18px 0; font-size:13px; color:#6461dc; }
.public-detail-action small { display:block; line-height:1.6; font-size:11px; color:var(--color-text-tertiary); margin-top:20px; }
.public-action-icon { color:#6461dc; }
.public-tags { display:flex; flex-wrap:wrap; gap:9px; }
.public-tags span { padding:8px 12px; background:var(--color-surface-soft); border-radius:20px; font-size:12px; }
.public-media { display:flex; flex-wrap:wrap; gap:12px; margin-top:25px; }
.public-media img { max-width:100%; width:220px; height:160px; object-fit:cover; border-radius:12px; }
.auth-catalog-back { display:block; text-align:center; color:var(--color-text-secondary); margin-top:25px; font-size:13px; }
.recovery-code-note { padding:14px; border-radius:10px; background:var(--color-warning-soft); color:var(--color-warning); font-size:13px; line-height:1.6; }
@media(max-width:950px) { .public-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .public-header nav { gap:15px; } .public-header-catalog { display:none; } .public-detail { grid-template-columns:minmax(0,1fr) 270px; gap:20px; } }
@media(max-width:650px) {
 .public-header,.public-page main,.public-footer { width:calc(100% - 32px); }
 .public-header { min-height:78px; gap:10px; } .public-brand { font-size:16px; gap:8px; } .public-brand-icon { width:34px; height:34px; font-size:22px; border-radius:10px; }
 .public-header nav { gap:12px; font-size:13px; } .public-header .public-publish { display:none; }
 .public-hero { padding:35px 0 17px; } .public-hero h1 { letter-spacing:-1.8px; margin-top:20px; font-size:43px; } .public-intro { font-size:14px; } .public-intro br { display:none; }
 .public-search { grid-template-columns:1fr; gap:4px; padding:9px; } .public-search label { padding:12px 10px; } .public-search label+label { border-left:0; border-top:1px solid var(--color-border); } .public-search button { justify-content:center; padding:15px; }
 .public-search input { font-size:16px; } .public-tabs { gap:6px; margin-top:18px; } .public-tabs a { font-size:11px; padding:9px 12px; }
 .public-results-heading h2 { font-size:23px; } .public-results-heading>span { font-size:10px; } .public-grid { grid-template-columns:1fr; gap:12px; } .public-card { padding:21px; } .public-card h3 { min-height:0; font-size:20px; } .public-company { margin-top:18px; }
 .public-employer { margin:30px 0; padding:26px; flex-direction:column; align-items:stretch; gap:14px; } .public-employer h2 { font-size:27px; } .public-employer>a { justify-content:center; }
 .public-footer { flex-wrap:wrap; gap:12px; font-size:10px; } .public-footer>span:last-child { margin-left:0; }
 .public-detail { grid-template-columns:1fr; gap:18px; padding-bottom:30px; } .public-detail-main { padding:23px; border-radius:15px; } .public-detail h1 { font-size:28px; } .public-detail-pay { font-size:19px; } .public-detail-action { padding:23px; } .public-detail-back { padding:23px 0; }
}
