/* ===== ATP Group HR — بر اساس فایل مرجع ATP Recruitment.dc.html ===== */
html, body { margin: 0; padding: 0; background: #EDE7DA; }
* { box-sizing: border-box; }
body, input, select, textarea, button { font-family: 'Vazirmatn', Tahoma, sans-serif; }
a { color: #8A6620; text-decoration: none; }
a:hover { color: #6E4F15; text-decoration: underline; }
::placeholder { color: #B7AC96; opacity: 1; }
input:focus, select:focus, textarea:focus { outline: 2px solid rgba(181,137,43,.45); outline-offset: 1px; }

@keyframes fadeUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes pop { 0% { transform: scale(.5); opacity: 0; } 70% { transform: scale(1.08); } 100% { transform: scale(1); opacity: 1; } }

.hidden { display: none !important; }
.container { max-width: 1080px; margin: 0 auto; padding: 0 24px; }

/* ---------- هدر عمومی ---------- */
.top-dark { background: #191410; }
.brandbar { max-width: 1080px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; height: 78px; padding: 0 24px; }
.brand { display: flex; align-items: center; gap: 14px; }
.brand img { height: 54px; display: block; }
.brand-title { color: #F3E3BC; font-size: 16.5px; font-weight: 800; }
.brand-sub { color: #9E8F6E; font-size: 12px; margin-top: 2px; }
.btn-outline-dark { height: 38px; padding: 0 16px; border-radius: 10px; border: 1px solid #45392A; background: transparent; color: #C7B99A; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; }
.btn-outline-dark:hover { border-color: #8A6620; color: #F3D9A4; text-decoration: none; }
.gold-line { height: 3px; background: linear-gradient(90deg, #F3BE71, #FFE9C9, #F3BE71); }

/* ---------- عنوان صفحه apply ---------- */
.page-head { padding-top: 34px; }
.page-title { font-size: 27px; font-weight: 900; color: #241C0F; }
.page-sub { margin-top: 7px; color: #6B6252; font-size: 14px; line-height: 1.9; max-width: 660px; text-wrap: pretty; }
.meta-chips { display: flex; gap: 8px; margin-top: 16px; flex-wrap: wrap; }
.meta-chip { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: 8px; background: #FFFDF8; border: 1px solid #DFD5C0; color: #6B6252; font-size: 12.5px; font-weight: 600; }

/* ---------- stepper ---------- */
.stepper-wrap { max-width: 1080px; margin: 26px auto 0; padding: 0 24px; }
.stepper { position: relative; display: flex; }
.step-line { position: absolute; top: 20px; right: 7%; left: 7%; height: 2px; background: #D8CEBA; }
.step-item { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; position: relative; z-index: 1; }
.step-circle { width: 42px; height: 42px; border-radius: 13px; border: 1px solid #D8CEBA; background: #FFFDF8; color: #8A7F6A; font-size: 15px; font-weight: 800; display: flex; align-items: center; justify-content: center; cursor: default; transition: all .2s; }
.step-circle.reach { cursor: pointer; }
.step-circle.cur { border: 2px solid #8A6620; background: #B5892B; color: #FFF8E8; }
.step-circle.done { border: 2px solid #241C0F; background: #241C0F; color: #F3E3BC; }
.step-lbl { font-size: 12px; font-weight: 600; color: #8A7F6A; text-align: center; }
.step-lbl.cur { font-weight: 800; color: #241C0F; }

/* ---------- کارت فرم ---------- */
.form-wrap { max-width: 1080px; margin: 24px auto 80px; padding: 0 24px; }
.form-card { background: #FFFFFF; border: 1px solid #E3DAC6; border-radius: 16px; box-shadow: 0 18px 44px -30px rgba(36,28,15,.4); overflow: hidden; animation: fadeUp .4s ease; }
.errbox { margin: 20px 26px 0; padding: 12px 16px; background: #F9E9E5; border: 1px solid #E5B9AF; border-radius: 10px; color: #8F3A2E; font-size: 13.5px; font-weight: 700; }
.card-body { padding: 26px 26px 32px; }

.sec-head { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; }
.sec-head.tight { margin-bottom: 6px; }
.sec-head.mt { margin-top: 26px; }
.sec-head.mt2 { margin-top: 28px; }
.sec-dot { width: 9px; height: 9px; border-radius: 3px; background: #B5892B; flex-shrink: 0; }
.sec-title { font-size: 16px; font-weight: 800; color: #241C0F; }
.sec-line { flex: 1; height: 1px; background: #EDE5D3; }
.hint { color: #8A7F6A; font-size: 12.5px; margin-bottom: 14px; }

.grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.grid2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.span2 { grid-column: span 2; }
.spanall { grid-column: 1 / -1; }

.field { display: flex; flex-direction: column; gap: 6px; }
.field-g8 { gap: 8px; }
.label { font-size: 13px; font-weight: 700; color: #5C5343; }
.req { color: #A8433B; }
.input { height: 42px; padding: 0 12px; border: 1px solid #D8CEBA; border-radius: 10px; background: #FFFDF8; font-size: 14.5px; color: #241C0F; width: 100%; }
.input.sm { height: 40px; border-radius: 9px; font-size: 14px; padding: 0 11px; }
.input.white { background: #FFFFFF; }
.input.ltr { direction: ltr; text-align: left; }
textarea.input { height: auto; padding: 10px 12px; resize: vertical; line-height: 1.8; }

.chips-row { display: flex; gap: 8px; flex-wrap: wrap; }
.chip { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 42px; padding: 9px 18px; border-radius: 10px; border: 1px solid #D8CEBA; background: #FFFFFF; color: #4A4335; font-size: 14px; font-weight: 600; cursor: pointer; transition: background .15s, color .15s, border .15s; }
.chip.on { border: 1.5px solid #241C0F; background: #241C0F; color: #F3E3BC; }
.chip-sm { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 4px 12px; border-radius: 8px; border: 1px solid #D8CEBA; background: #FFFFFF; color: #6B6252; font-size: 12.5px; font-weight: 600; cursor: pointer; transition: background .15s, color .15s, border .15s; white-space: nowrap; }
.chip-sm.on { border: 1.5px solid #241C0F; background: #241C0F; color: #F3E3BC; }
a.chip-sm:hover, a.chip-sm.on:hover { text-decoration: none; }

.cond-box { display: flex; align-items: center; gap: 10px; margin-top: 12px; background: #FBF7EC; border: 1px solid #EBDFC4; border-radius: 10px; padding: 10px 14px; flex-wrap: wrap; }

.tbl-scroll { overflow-x: auto; }
.tbl-head { display: grid; gap: 10px; padding: 0 2px 8px; color: #8A7F6A; font-size: 12px; font-weight: 700; }
.tbl-row { display: grid; gap: 10px; align-items: center; margin-bottom: 10px; }
.row-num { color: #B5892B; font-weight: 800; font-size: 14px; text-align: center; }

.lang-card { border: 1px solid #EBE2CF; border-radius: 12px; padding: 16px; margin-bottom: 12px; background: #FDFBF5; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 14px; align-items: end; }
.lvl-lbl { font-size: 12.5px; font-weight: 700; color: #8A7F6A; }
.lvl-chips { display: flex; gap: 5px; }

.work-card { border: 1px solid #EBE2CF; border-radius: 12px; padding: 16px; margin-bottom: 14px; background: #FDFBF5; }
.work-title { font-size: 13.5px; font-weight: 800; color: #B5892B; margin-bottom: 12px; }
.work-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.work-grid .label { font-size: 12.5px; }

/* رزومه */
.upload-label { display: inline-flex; align-items: center; gap: 10px; height: 46px; padding: 0 20px; border-radius: 11px; border: 1.5px dashed #C9B472; cursor: pointer; background: #FBF7EC; color: #6B5A33; font-size: 14px; font-weight: 700; }
.upload-hint { color: #8A7F6A; font-size: 12px; margin-top: 8px; }
.file-card { display: inline-flex; align-items: center; gap: 12px; padding: 10px 16px; border-radius: 11px; border: 1px solid #D9CFA9; background: #F7F0DC; }
.file-name { font-size: 13.5px; font-weight: 800; color: #5C4A1E; direction: ltr; text-align: right; }
.file-size { font-size: 11.5px; color: #8A7F6A; margin-top: 2px; }
.file-del { width: 30px; height: 30px; border-radius: 8px; border: 1px solid #D9CFA9; background: #FFFDF8; color: #A8433B; font-size: 14px; font-weight: 800; display: flex; align-items: center; justify-content: center; cursor: pointer; }

/* تعهدنامه */
.consent-box { margin-top: 26px; border: 1px solid #E0CE9E; background: #FBF5E4; border-radius: 14px; padding: 20px; }
.consent-title { font-size: 15px; font-weight: 800; color: #5C4A1E; margin-bottom: 10px; }
.consent-text { margin: 0; color: #6B5F45; font-size: 13.5px; line-height: 2.1; text-align: justify; }
.consent-box .chip { margin-top: 14px; width: 100%; justify-content: center; }

/* پاورقی فرم */
.footer-nav { display: flex; justify-content: space-between; align-items: center; padding: 16px 26px; border-top: 1px solid #EFE8D8; background: #FBF8F1; gap: 12px; }
.btn-prev { height: 46px; padding: 0 22px; border-radius: 11px; border: 1px solid #D8CEBA; background: #FFFFFF; color: #5C5343; font-size: 14px; font-weight: 700; cursor: pointer; }
.btn-prev.disabled { background: #F4EFE4; color: #B3A78E; cursor: default; }
.step-counter { color: #8A7F6A; font-size: 12.5px; font-weight: 600; }
.btn-next { height: 46px; padding: 0 28px; border-radius: 11px; border: none; background: #241C0F; color: #F6ECD4; font-size: 14.5px; font-weight: 800; cursor: pointer; }
.btn-next:hover { background: #3A2E1B; }
.btn-submit { height: 46px; padding: 0 30px; border-radius: 11px; border: none; background: #8A6620; color: #FFFDF6; font-size: 14.5px; font-weight: 800; box-shadow: 0 10px 22px -12px rgba(138,102,32,.8); cursor: pointer; }
.btn-submit:hover { background: #6E4F15; }
.foot-note { text-align: center; color: #9A8F79; font-size: 12px; margin-top: 22px; }

/* ---------- صفحه موفقیت / رهگیری ---------- */
.center-page { min-height: 100vh; background: #EDE7DA; display: flex; align-items: center; justify-content: center; padding: 30px; }
.done-card { width: 580px; max-width: 100%; background: #FFFFFF; border: 1px solid #E3DAC6; border-radius: 18px; box-shadow: 0 24px 50px -32px rgba(36,28,15,.45); padding: 48px 42px; text-align: center; animation: fadeUp .4s ease; }
.done-check { width: 84px; height: 84px; border-radius: 50%; background: #F3E8CF; border: 2px solid #D9BE7C; display: flex; align-items: center; justify-content: center; margin: 0 auto 22px; animation: pop .5s ease; }
.done-title { font-size: 22px; font-weight: 900; color: #241C0F; }
.done-text { color: #6B6252; font-size: 14px; line-height: 2.1; margin: 14px 0 24px; text-wrap: pretty; }
.code-box { background: #FBF7EC; border: 1px dashed #C9B472; border-radius: 12px; padding: 16px; margin-bottom: 26px; }
.code-lbl { font-size: 12.5px; color: #8A7F6A; font-weight: 700; margin-bottom: 6px; }
.code-val { font-size: 24px; font-weight: 900; color: #8A6620; letter-spacing: 2px; direction: ltr; }
.btn-dark { height: 46px; padding: 0 26px; border-radius: 11px; border: none; background: #241C0F; color: #F6ECD4; font-size: 14.5px; font-weight: 800; cursor: pointer; display: inline-flex; align-items: center; }
.btn-dark:hover { background: #3A2E1B; color: #F6ECD4; text-decoration: none; }

.track-rows { text-align: right; margin: 8px 0 20px; }
.track-row { display: flex; gap: 12px; font-size: 13.5px; padding: 9px 0; border-bottom: 1px dashed #F1EBDD; }
.track-row .k { width: 130px; flex-shrink: 0; color: #8A7F6A; font-weight: 600; }
.track-row .v { color: #241C0F; font-weight: 700; }
.timeline { text-align: right; margin-bottom: 24px; }
.timeline-item { display: flex; align-items: center; gap: 10px; padding: 8px 0; font-size: 13px; color: #5C5343; }
.timeline-date { margin-right: auto; color: #9A8F79; font-size: 12px; }

/* ---------- بج وضعیت ---------- */
.badge { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 11px; border-radius: 8px; font-size: 12.5px; font-weight: 700; white-space: nowrap; }
.badge .bdot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.st-new       { background: #F4E9CE; color: #8A6620; } .st-new .bdot       { background: #B5892B; }
.st-review    { background: #E2ECF5; color: #3E668F; } .st-review .bdot    { background: #4E7FB0; }
.st-interview { background: #EBE7F7; color: #6B5AA8; } .st-interview .bdot { background: #7E6CC0; }
.st-assess    { background: #DEEFEC; color: #2E7A70; } .st-assess .bdot    { background: #3A9486; }
.st-accepted  { background: #E2F0E2; color: #3F7A43; } .st-accepted .bdot  { background: #4E9853; }
.st-rejected  { background: #F6E3E1; color: #A8443C; } .st-rejected .bdot  { background: #C05A50; }
.st-on        { background: #E2F0E2; color: #3F7A43; } .st-on .bdot        { background: #4E9853; }
.st-off       { background: #EFEAE0; color: #8A7F6A; } .st-off .bdot       { background: #B3A78E; }

/* ---------- لاگین ---------- */
.login-page { min-height: 100vh; background: #191410; background-image: radial-gradient(900px 420px at 50% -8%, rgba(243,190,113,.09), transparent 62%); display: flex; align-items: center; justify-content: center; padding: 30px; }
.login-box { width: 410px; max-width: 100%; }
.login-card { background: #FFFDF8; border-radius: 18px; padding: 36px 32px; box-shadow: 0 30px 60px -30px rgba(0,0,0,.6); animation: fadeUp .4s ease; }
.login-logo { width: 88px; height: 76px; background: #241C0F; border-radius: 16px; display: flex; align-items: center; justify-content: center; margin: 0 auto; }
.login-logo img { height: 52px; display: block; }
.login-title { font-size: 18px; font-weight: 900; color: #241C0F; }
.login-sub { font-size: 13px; color: #8A7F6A; margin-top: 6px; }
.login-form { margin-top: 24px; display: flex; flex-direction: column; gap: 14px; }
.login-form .input { height: 44px; background: #FFFFFF; }
.login-err { padding: 10px 14px; background: #F9E9E5; border: 1px solid #E5B9AF; border-radius: 10px; color: #8F3A2E; font-size: 13px; font-weight: 700; }
.login-btn { height: 46px; border-radius: 11px; border: none; background: #241C0F; color: #F6ECD4; font-size: 14.5px; font-weight: 800; margin-top: 4px; cursor: pointer; }
.login-btn:hover { background: #3A2E1B; }
.login-hint { margin-top: 16px; background: #F3E8CF; border-radius: 10px; padding: 10px 14px; font-size: 12.5px; color: #6B5A33; font-weight: 600; text-align: center; }
.login-hint b { direction: ltr; unicode-bidi: embed; }
.login-back { text-align: center; margin-top: 18px; }
.login-back a { color: #C9B384; font-size: 13px; font-weight: 700; }
.login-back a:hover { color: #F3D9A4; text-decoration: none; }

/* ---------- پنل ادمین ---------- */
.admin-layout { min-height: 100vh; background: #EFEAE0; display: flex; }
.sidebar { width: 250px; flex-shrink: 0; background: #191410; display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; }
.side-brand { display: flex; align-items: center; gap: 12px; padding: 20px 18px; border-bottom: 1px solid #2C2418; }
.side-brand img { height: 42px; display: block; }
.side-brand-title { color: #F3E3BC; font-size: 13.5px; font-weight: 800; }
.side-brand-sub { color: #8A7C5F; font-size: 11px; margin-top: 2px; }
.side-nav { display: flex; flex-direction: column; gap: 4px; padding: 16px 12px; flex: 1; }
.nav-btn { display: flex; align-items: center; gap: 11px; width: 100%; padding: 11px 13px; border-radius: 11px; border: none; background: transparent; color: #A3957A; font-size: 14px; font-weight: 600; cursor: pointer; text-align: right; transition: background .15s, color .15s; }
.nav-btn:hover { color: #F3DFB4; text-decoration: none; }
.nav-btn.on { background: rgba(243,190,113,.13); color: #F3DFB4; font-weight: 700; }
.side-foot { padding: 14px 12px; border-top: 1px solid #2C2418; display: flex; flex-direction: column; gap: 10px; }
.side-user { display: flex; align-items: center; gap: 10px; padding: 0 4px; }
.side-avatar { width: 36px; height: 36px; border-radius: 10px; background: #B5892B; color: #FFF8E8; font-size: 14px; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.side-user-name { color: #EADFC4; font-size: 13px; font-weight: 700; }
.side-user-role { color: #8A7C5F; font-size: 11px; margin-top: 1px; }
.logout-btn { display: flex; align-items: center; gap: 9px; width: 100%; padding: 10px 12px; border-radius: 10px; border: 1px solid #3A2F1F; background: transparent; color: #A3957A; font-size: 13px; font-weight: 700; cursor: pointer; }
.logout-btn:hover { color: #F3D9A4; border-color: #8A6620; text-decoration: none; }

.admin-main { flex: 1; min-width: 0; padding: 28px 32px 60px; }
.head-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.tab-title { font-size: 23px; font-weight: 900; color: #241C0F; }
.tab-sub { color: #8A7F6A; font-size: 13px; margin-top: 5px; }
.date-chip { color: #8A7F6A; font-size: 12.5px; font-weight: 600; background: #FFFDF8; border: 1px solid #E3DAC6; border-radius: 9px; height: 34px; display: inline-flex; align-items: center; padding: 0 14px; }

.panel { background: #FFFFFF; border: 1px solid #E3DAC6; border-radius: 14px; }
.panel-pad { padding: 20px 22px; }
.panel-title { font-size: 15px; font-weight: 800; color: #241C0F; margin-bottom: 16px; }

.stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 22px; }
.stat-card { background: #FFFFFF; border: 1px solid #E3DAC6; border-radius: 14px; padding: 18px 20px; }
.stat-label { color: #8A7F6A; font-size: 12.5px; font-weight: 700; }
.stat-n { font-size: 32px; font-weight: 900; color: #241C0F; margin-top: 8px; }
.stat-sub { color: #B3A78E; font-size: 11.5px; margin-top: 4px; }

.dash-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 14px; margin-top: 14px; align-items: start; }
.pipe-bar { display: flex; height: 12px; border-radius: 99px; overflow: hidden; background: #F1EBDD; }
.pipe-rows { display: flex; flex-direction: column; gap: 11px; margin-top: 18px; }
.pipe-row { display: flex; align-items: center; gap: 10px; }
.pipe-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.pipe-lbl { width: 110px; color: #5C5343; font-size: 13px; font-weight: 600; }
.pipe-track { flex: 1; background: #F1EBDD; border-radius: 99px; height: 8px; overflow: hidden; }
.pipe-fill { height: 8px; border-radius: 99px; }
.pipe-n { width: 34px; text-align: left; color: #241C0F; font-size: 13.5px; font-weight: 800; }

.recent-item { display: flex; align-items: center; gap: 12px; padding: 11px 8px; border: none; border-bottom: 1px solid #F1EBDD; background: transparent; cursor: pointer; width: 100%; text-align: right; border-radius: 8px; }
.recent-item:hover { background: #FBF7EC; text-decoration: none; }
.recent-avatar { width: 36px; height: 36px; border-radius: 10px; background: #F3E8CF; color: #8A6620; font-size: 13px; font-weight: 800; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.recent-name { font-size: 13.5px; font-weight: 700; color: #241C0F; }
.recent-sub { font-size: 11.5px; color: #8A7F6A; margin-top: 2px; }

/* لیست درخواست‌ها */
.filters-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.search-input { height: 40px; padding: 0 14px; border: 1px solid #D8CEBA; border-radius: 10px; background: #FFFDF8; font-size: 13.5px; color: #241C0F; width: 280px; }
.select-sm { height: 40px; padding: 0 12px; border: 1px solid #D8CEBA; border-radius: 10px; background: #FFFDF8; font-size: 13px; color: #241C0F; }
.export-btn { height: 40px; margin-inline-start: auto; }
.status-chips { display: flex; gap: 7px; margin-top: 12px; flex-wrap: wrap; }

.apps-table { margin-top: 14px; overflow: hidden; }
.apps-cols { grid-template-columns: 110px 1.4fr 1.2fr 130px 90px 150px 40px; }
.table-head { display: grid; gap: 10px; padding: 13px 18px; background: #FBF8F1; border-bottom: 1px solid #EFE8D8; color: #8A7F6A; font-size: 12px; font-weight: 700; }
.table-row { display: grid; gap: 10px; align-items: center; padding: 13px 18px; border: none; border-bottom: 1px solid #F5F0E4; background: transparent; width: 100%; cursor: pointer; text-align: right; }
.table-row:hover { background: #FBF7EC; text-decoration: none; }
.cell-code { color: #8A6620; font-size: 13px; font-weight: 800; direction: ltr; text-align: right; }
.cell-name { font-size: 14px; font-weight: 700; color: #241C0F; }
.cell-job { font-size: 13px; color: #5C5343; }
.cell-date { font-size: 12.5px; color: #8A7F6A; }
.cell-resume { font-size: 12.5px; font-weight: 700; }
.cell-arrow { color: #B3A78E; font-size: 16px; }
.empty-note { padding: 44px 20px; text-align: center; color: #9A8F79; font-size: 13.5px; }

.pagination { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 16px; }
.page-btn { height: 34px; padding: 0 14px; border-radius: 9px; border: 1px solid #D8CEBA; background: #FFFFFF; color: #5C5343; font-size: 12.5px; font-weight: 700; display: inline-flex; align-items: center; }
.page-btn:hover { background: #FBF7EC; text-decoration: none; }
.page-btn.off { opacity: .45; pointer-events: none; }
.page-info { color: #8A7F6A; font-size: 12.5px; font-weight: 600; }

/* جزئیات متقاضی */
.detail-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.btn-light { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 16px; border-radius: 10px; border: 1px solid #D8CEBA; background: #FFFFFF; color: #5C5343; font-size: 13px; font-weight: 700; cursor: pointer; }
.btn-light:hover { background: #FBF7EC; text-decoration: none; }
.btn-light.sm { height: 32px; padding: 0 13px; border-radius: 8px; font-size: 12px; white-space: nowrap; }
.status-select-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.status-select-lbl { color: #8A7F6A; font-size: 12.5px; font-weight: 700; }
.select-status { height: 38px; padding: 0 12px; border: 1px solid #D8CEBA; border-radius: 10px; background: #FFFDF8; font-size: 13px; color: #241C0F; font-weight: 700; }

.detail-head { margin-top: 14px; padding: 22px 24px; }
.detail-head-row { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.detail-avatar { width: 58px; height: 58px; border-radius: 16px; background: #241C0F; color: #F3E3BC; font-size: 21px; font-weight: 900; display: flex; align-items: center; justify-content: center; }
.detail-name { font-size: 19px; font-weight: 900; color: #241C0F; }
.detail-sub { color: #8A7F6A; font-size: 13px; margin-top: 4px; }
.detail-sub b { color: #8A6620; direction: ltr; display: inline-block; }
.resume-chip { display: inline-flex; align-items: center; gap: 10px; margin-top: 16px; padding: 9px 14px; border-radius: 10px; border: 1px solid #D9CFA9; background: #F7F0DC; color: #5C4A1E; }
.resume-chip:hover { background: #F3E8CF; text-decoration: none; }
.resume-chip .rname { font-size: 12.5px; font-weight: 800; direction: ltr; }
.resume-chip .rsize { font-size: 11.5px; color: #8A7F6A; }

.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; align-items: start; }
.detail-col { display: flex; flex-direction: column; gap: 14px; }
.kv-rows { display: flex; flex-direction: column; gap: 9px; }
.kv { display: flex; gap: 12px; font-size: 13px; line-height: 1.8; }
.kv .k { width: 120px; flex-shrink: 0; color: #8A7F6A; font-weight: 600; }
.kv .k.wide { width: 170px; }
.kv .v { color: #241C0F; font-weight: 600; }
.edu-row { display: flex; gap: 10px; align-items: baseline; padding: 8px 0; border-bottom: 1px dashed #F1EBDD; font-size: 13px; flex-wrap: wrap; }
.edu-degree { color: #8A6620; font-weight: 800; }
.edu-field { color: #241C0F; font-weight: 600; }
.edu-meta { color: #8A7F6A; }
.skill-tag { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border-radius: 8px; background: #F3E8CF; color: #6B5A33; font-size: 12.5px; font-weight: 700; }
.skill-note { font-size: 12.5px; color: #8A7F6A; margin-top: 10px; }
.skill-note span { color: #241C0F; font-weight: 600; }
.lang-line { font-size: 13px; margin-top: 10px; color: #5C5343; }
.lang-line b { color: #241C0F; }
.fam-line { font-size: 13px; padding: 7px 0; border-bottom: 1px dashed #F1EBDD; color: #5C5343; }
.fam-line b { color: #241C0F; }
.emg-line { font-size: 13px; padding: 7px 0; color: #5C5343; }
.emg-line b { color: #241C0F; }
.emg-line span { direction: ltr; display: inline-block; }
.work-item { border: 1px solid #EBE2CF; border-radius: 11px; padding: 13px 15px; margin-bottom: 10px; background: #FDFBF5; }
.work-item-title { font-size: 13.5px; font-weight: 800; color: #241C0F; }
.work-item-sub { font-size: 12px; color: #8A7F6A; margin-top: 5px; line-height: 1.9; }

/* فرم ارزیابی کمیته جذب */
.eval-card { background: #FFFDF6; border: 1.5px solid #D9BE7C; border-radius: 14px; padding: 20px 22px; }
.eval-head { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.eval-title { font-size: 15px; font-weight: 900; color: #5C4A1E; }
.eval-sub { font-size: 11.5px; color: #9A8A62; margin-bottom: 16px; }
.eval-body { display: flex; flex-direction: column; gap: 14px; }
.eval-sec-title { font-size: 13px; font-weight: 800; color: #5C5343; margin-bottom: 7px; }
.eval-row { display: flex; gap: 8px; margin-top: 8px; }
.eval-input { height: 36px; padding: 0 11px; border: 1px solid #D8CEBA; border-radius: 9px; background: #FFFFFF; font-size: 12.5px; color: #241C0F; }
.eval-input.grow { flex: 1; }
.eval-input.date { width: 120px; }
.eval-divider { border-top: 1px dashed #D9BE7C; padding-top: 14px; }
.eval-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.eval-lbl { font-size: 12px; font-weight: 700; color: #8A7F6A; }
.eval-final { display: flex; align-items: center; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
.eval-final-lbl { font-size: 13px; font-weight: 800; color: #5C5343; }
.eval-save { height: 46px; border-radius: 11px; border: none; background: #8A6620; color: #FFFDF6; font-size: 14px; font-weight: 800; cursor: pointer; box-shadow: 0 10px 22px -12px rgba(138,102,32,.8); width: 100%; }
.eval-save:hover { background: #6E4F15; }

/* موقعیت‌های شغلی */
.jobs-grid { margin-top: 22px; display: grid; grid-template-columns: 1.5fr 1fr; gap: 14px; align-items: start; }
.jobs-col { display: flex; flex-direction: column; gap: 12px; }
.job-card { background: #FFFFFF; border: 1px solid #E3DAC6; border-radius: 14px; padding: 18px 20px; }
.job-title-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.job-title { font-size: 15.5px; font-weight: 800; color: #241C0F; }
.job-meta { color: #8A7F6A; font-size: 12.5px; margin-top: 5px; }
.job-desc { color: #5C5343; font-size: 13px; margin-top: 8px; line-height: 1.9; }
.job-actions { display: flex; align-items: center; gap: 8px; margin-top: 14px; flex-wrap: wrap; }
.job-url { flex: 1; min-width: 240px; display: flex; align-items: center; gap: 8px; background: #FBF8F1; border: 1px dashed #D8CEBA; border-radius: 9px; padding: 8px 12px; direction: ltr; overflow: hidden; }
.job-url span { font-size: 11.5px; color: #6B6252; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.btn-copy { height: 36px; padding: 0 15px; border-radius: 9px; border: none; background: #241C0F; color: #F3E3BC; font-size: 12.5px; font-weight: 700; cursor: pointer; }
.btn-copy:hover { background: #3A2E1B; }
.btn-job { height: 36px; padding: 0 14px; border-radius: 9px; border: 1px solid #D8CEBA; background: #FFFFFF; color: #5C5343; font-size: 12.5px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; }
.btn-job:hover { background: #FBF7EC; text-decoration: none; }
.new-job-panel { position: sticky; top: 20px; }
.new-job-sub { color: #8A7F6A; font-size: 12px; margin-top: 5px; margin-bottom: 16px; }
.new-job-form { display: flex; flex-direction: column; gap: 12px; }
.btn-create { height: 44px; border-radius: 10px; border: none; background: #241C0F; color: #F3E3BC; font-size: 13.5px; font-weight: 800; cursor: pointer; }
.btn-create:hover { background: #3A2E1B; }

/* آرشیو */
.arch-grid { margin-top: 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: start; }
.arch-panel { overflow: hidden; }
.arch-head-acc { padding: 16px 20px; background: #E9F2E8; border-bottom: 1px solid #D5E5D4; font-size: 14.5px; font-weight: 800; color: #3F7A43; }
.arch-head-rej { padding: 16px 20px; background: #F6E7E5; border-bottom: 1px solid #EBD2CE; font-size: 14.5px; font-weight: 800; color: #A8443C; }
.arch-item { display: flex; align-items: center; gap: 12px; padding: 13px 20px; border: none; border-bottom: 1px solid #F5F0E4; background: transparent; width: 100%; cursor: pointer; text-align: right; }
.arch-item:hover { background: #FBF7EC; text-decoration: none; }
.arch-item-row { display: flex; align-items: center; gap: 10px; padding: 13px 20px; border-bottom: 1px solid #F5F0E4; }
.arch-name { font-size: 13.5px; font-weight: 700; color: #241C0F; }
.arch-sub { font-size: 11.5px; color: #8A7F6A; margin-top: 2px; }
.arch-empty { padding: 30px 20px; text-align: center; color: #9A8F79; font-size: 13px; }

/* توست */
#toasts { position: fixed; bottom: 26px; right: 50%; transform: translateX(50%); z-index: 99; display: flex; flex-direction: column; gap: 8px; align-items: center; }
.toast { background: #241C0F; color: #F3E3BC; padding: 12px 22px; border-radius: 12px; font-size: 13.5px; font-weight: 700; box-shadow: 0 16px 34px -14px rgba(0,0,0,.55); animation: fadeUp .25s ease; transition: opacity .4s; }
.toast.error { background: #8F3A2E; color: #FBEAE6; }

/* تاریخچه وضعیت */
.history-line { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px dashed #F1EBDD; font-size: 12.5px; color: #5C5343; }
.history-by { color: #8A7F6A; }
.history-at { margin-right: auto; color: #9A8F79; font-size: 11.5px; }

/* کاربران و حساب کاربری */
.side-user { border-radius: 10px; padding: 6px 4px; }
a.side-user:hover { background: rgba(243,190,113,.09); text-decoration: none; }
.user-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.user-me { color: #8A7F6A; font-size: 12px; font-weight: 600; }
.user-inline { display: flex; align-items: center; gap: 7px; }
.user-pass { height: 36px; width: 170px; }
.btn-danger { height: 36px; padding: 0 14px; border-radius: 9px; border: 1px solid #E5B9AF; background: #FBEFEC; color: #A8443C; font-size: 12.5px; font-weight: 700; cursor: pointer; }
.btn-danger:hover { background: #F6E3E1; }
.account-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; align-items: start; }
.acc-col { display: flex; flex-direction: column; gap: 14px; }
.acc-form { display: flex; flex-direction: column; gap: 13px; align-items: stretch; }
.acc-form .btn-job { align-self: flex-start; }
.acc-id { display: flex; align-items: center; gap: 14px; }
.acc-note { color: #8A7F6A; font-size: 13px; line-height: 2; }

/* ---------- ویرایش درون‌خطی موقعیت شغلی ---------- */
.job-edit { margin-top: 14px; padding-top: 14px; border-top: 1px dashed #E3DAC6; animation: fadeUp .2s ease; }
.job-edit-form { display: flex; flex-direction: column; gap: 12px; }
.job-edit-form .label { font-size: 12.5px; }
.job-edit-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.btn-save-inline { height: 36px; padding: 0 18px; border-radius: 9px; border: none; background: #241C0F; color: #F3E3BC; font-family: inherit; font-size: 12.5px; font-weight: 700; cursor: pointer; }
.btn-save-inline:hover { background: #3A2E1B; }
.job-lock { display: inline-flex; align-items: center; height: 36px; padding: 0 12px; border-radius: 9px; background: #FBF8F1; border: 1px dashed #D8CEBA; color: #9A8F79; font-size: 12px; font-weight: 600; }
/* نشانی لینک کلاً LTR است تا «/apply/» پیش از اسلاگ بنشیند */
.slug-wrap { display: flex; align-items: stretch; direction: ltr; }
.slug-prefix { display: inline-flex; align-items: center; padding: 0 10px; border: 1px solid #D8CEBA; border-right: none; border-radius: 10px 0 0 10px; background: #F4EFE3; color: #6B6252; font-size: 12px; font-weight: 700; white-space: nowrap; }
.slug-wrap .input { border-radius: 0 10px 10px 0; }

/* ---------- کادر تأیید حذف ---------- */
.danger-box { border-top-color: #E5B9AF; }
.del-title { font-size: 13.5px; font-weight: 800; color: #A8443C; }
.del-warn { margin-top: 9px; padding: 10px 14px; border-radius: 10px; background: #FBEFEC; border: 1px solid #F0D7D2; color: #5C5343; font-size: 13px; line-height: 2; text-align: justify; }
.del-warn b { color: #A8443C; }
.danger-box .btn-job { margin-top: 10px; }
.del-form { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.del-form .switch-line { height: auto; align-items: flex-start; line-height: 1.9; }
.del-form .switch-line input { margin-top: 3px; flex-shrink: 0; }
.btn-danger:disabled { opacity: .45; cursor: not-allowed; }
.btn-danger:disabled:hover { background: #FBEFEC; }

/* ---------- بیمه تکمیلی: فرم عمومی ---------- */
.insurer-chip { color: #C7B99A; font-size: 12.5px; font-weight: 700; border: 1px solid #45392A; border-radius: 10px; padding: 8px 14px; }

.choice-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 4px; }
.choice-card { display: flex; align-items: flex-start; gap: 12px; text-align: right; padding: 16px; border-radius: 13px; border: 1px solid #DFD5C0; background: #FFFDF8; cursor: pointer; font-family: inherit; transition: all .18s; }
.choice-card:hover { border-color: #C8AE79; }
.choice-card.on { border-color: #8A6620; background: #FBF4E4; box-shadow: 0 0 0 1px #8A6620 inset; }
.choice-mark { flex-shrink: 0; width: 20px; height: 20px; border-radius: 50%; border: 2px solid #C8BCA1; margin-top: 2px; position: relative; }
.choice-card.on .choice-mark { border-color: #8A6620; }
.choice-card.on .choice-mark::after { content: ''; position: absolute; inset: 3px; border-radius: 50%; background: #8A6620; }
.choice-title { display: block; font-size: 14px; font-weight: 800; color: #241C0F; }
.choice-sub { display: block; margin-top: 4px; font-size: 12.5px; color: #8A7F6A; line-height: 1.8; }

.plan-row { display: flex; gap: 12px; flex-wrap: wrap; }
.plan-card { flex: 1; min-width: 200px; display: flex; flex-direction: column; align-items: flex-start; gap: 5px; padding: 16px; border-radius: 13px; border: 1px solid #DFD5C0; background: #FFFDF8; cursor: pointer; font-family: inherit; text-align: right; transition: all .18s; }
.plan-card:hover { border-color: #C8AE79; }
.plan-card.on { border-color: #8A6620; background: #FBF4E4; box-shadow: 0 0 0 1px #8A6620 inset; }
.plan-mark { width: 18px; height: 18px; border-radius: 50%; border: 2px solid #C8BCA1; position: relative; }
.plan-card.on .plan-mark { border-color: #8A6620; }
.plan-card.on .plan-mark::after { content: ''; position: absolute; inset: 3px; border-radius: 50%; background: #8A6620; }
.plan-name { font-size: 14.5px; font-weight: 800; color: #241C0F; }
.plan-amount { font-size: 16px; font-weight: 900; color: #8A6620; }
.plan-amount small { font-size: 11.5px; font-weight: 700; color: #9A8F79; }
.plan-desc { font-size: 12.5px; color: #8A7F6A; line-height: 1.8; }

.date-trio { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 8px; }
/* کادر شبا کلاً LTR است تا «IR» دقیقاً کنار ارقام و پیش از آن‌ها بنشیند */
.iban-wrap { display: flex; align-items: stretch; gap: 0; direction: ltr; }
.iban-prefix { display: inline-flex; align-items: center; padding: 0 12px; border: 1px solid #D8CEBA; border-right: none; border-radius: 10px 0 0 10px; background: #F4EFE3; color: #6B6252; font-size: 13px; font-weight: 800; }
.iban-wrap .input { border-radius: 0 10px 10px 0; }

.dep-card { border: 1px solid #E8E0CE; border-radius: 13px; padding: 14px 16px; margin-top: 12px; background: #FAF7EF; }
.dep-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.dep-title { font-size: 13px; font-weight: 800; color: #5C5343; }
.dep-del { width: 28px; height: 28px; border-radius: 8px; border: 1px solid #E5DACB; background: #FFFDF8; color: #A79B85; cursor: pointer; font-size: 13px; line-height: 1; transition: all .15s; }
.dep-del:hover { background: #FBEFEC; border-color: #E5B9AF; color: #A8443C; }
.btn-add { margin-top: 12px; height: 40px; padding: 0 18px; border-radius: 10px; border: 1px dashed #C8AE79; background: #FFFDF8; color: #8A6620; font-family: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.btn-add:hover { background: #FBF4E4; border-style: solid; }
.btn-add.sm { height: 34px; padding: 0 14px; font-size: 12.5px; margin-top: 8px; }

.notes-title { font-size: 13px; font-weight: 800; color: #5C5343; margin-bottom: 6px; }
.notes-list { margin: 0; padding-right: 20px; color: #5C5343; font-size: 13px; line-height: 2.1; text-align: justify; list-style-type: persian; }
.notes-list li { margin-bottom: 4px; }

/* ---------- بیمه تکمیلی: پنل ---------- */
.plan-pills { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 9px; }
.plan-pill { display: inline-flex; align-items: center; height: 27px; padding: 0 11px; border-radius: 8px; background: #FBF4E4; border: 1px solid #E5D6B4; color: #8A6620; font-size: 12px; font-weight: 700; }
.btn-job.danger { border-color: #E5B9AF; background: #FBEFEC; color: #A8443C; }
.btn-job.danger:hover { background: #F6E3E1; }

.ins-cols { grid-template-columns: 96px 1.4fr 1fr 1.2fr 76px 1fr 128px 22px; }

.choice-banner { margin-top: 14px; border-radius: 10px; padding: 10px 14px; font-size: 13px; font-weight: 700; }

.repeat-rows { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.repeat-row { display: grid; gap: 8px; align-items: start; }
.repeat-row.one { grid-template-columns: 1fr 34px; }
.plan-edit-row { grid-template-columns: 1fr 1fr 1.3fr 34px; }
/* حذف ردیف: در حالت عادی خنثی، هنگام اشاره قرمز — تا کادر پر از علامت قرمز نشود */
.row-del { height: 38px; border-radius: 9px; border: 1px solid #E5DACB; background: #FFFDF8; color: #A79B85; cursor: pointer; font-size: 13px; line-height: 1; transition: all .15s; }
.row-del:hover { background: #FBEFEC; border-color: #E5B9AF; color: #A8443C; }
.repeat-actions { display: flex; align-items: flex-end; gap: 16px; flex-wrap: wrap; }
.switch-line { display: flex; align-items: center; gap: 9px; font-size: 13px; color: #5C5343; cursor: pointer; height: 44px; }
.switch-line input { width: 17px; height: 17px; accent-color: #8A6620; cursor: pointer; }
.edit-save-bar { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 16px; padding-bottom: 20px; }

.admin-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.admin-table th, .admin-table td { border-bottom: 1px solid #F1EBDD; padding: 8px 10px; text-align: right; white-space: nowrap; }
.admin-table th { color: #8A7F6A; font-size: 11.5px; font-weight: 700; background: #FAF7EF; }
.admin-table td { color: #3C3527; }

/* ---------- ریسپانسیو ---------- */
@media (max-width: 900px) {
  .grid3, .work-grid { grid-template-columns: repeat(2, 1fr); }
  .lang-card { grid-template-columns: 1fr 1fr; }
  .stat-grid { grid-template-columns: repeat(2, 1fr); }
  .dash-grid, .detail-grid, .jobs-grid, .arch-grid, .account-grid { grid-template-columns: 1fr; }
  .sidebar { width: 210px; }
}
@media (max-width: 900px) {
  .plan-edit-row { grid-template-columns: 1fr 1fr 34px; }
  .ins-cols { grid-template-columns: 92px 1.3fr 1fr 1fr 60px 1fr 120px 20px; gap: 7px; font-size: 12px; }
}
@media (max-width: 640px) {
  .grid3, .grid2, .work-grid, .lang-card { grid-template-columns: 1fr; }
  .choice-row { grid-template-columns: 1fr; }
  .plan-edit-row { grid-template-columns: 1fr 34px; }
  .date-trio { grid-template-columns: 1fr 1fr 1fr; }
  .span2 { grid-column: auto; }
  .admin-layout { flex-direction: column; }
  .sidebar { width: 100%; height: auto; position: static; }
  .step-lbl { display: none; }
  .admin-main { padding: 20px 16px 50px; }
}
