:root{--portal-brand:#b10f20;--portal-brand-soft:#fbe9ec;--portal-ink:#202126;--portal-muted:#68696f;--portal-canvas:#f7f7f8;--portal-line:#e8e4e5;--portal-surface:#fff;--portal-shadow:0 10px 34px rgba(31,31,36,.08)}
*{box-sizing:border-box}html{font-size:15px;-webkit-text-size-adjust:100%;text-size-adjust:100%}body.guest-body{margin:0;min-height:100vh;background:var(--portal-canvas);color:var(--portal-ink);font-family:"Tajawal",Tahoma,Arial,sans-serif;overflow-x:hidden}body.guest-body a{text-decoration:none;color:inherit}body.guest-body img{max-width:100%}
.candidate-portal-shell{width:min(1280px,100%);margin:auto;padding:24px 28px 70px}.candidate-portal-shell .portal-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:28px;padding:12px 0 20px;border-bottom:1px solid var(--portal-line)}
.portal-auth-brand{display:flex;align-items:center;gap:12px;color:var(--portal-ink)}.portal-auth-brand>div{display:grid}.portal-auth-brand strong{font-size:17px;font-weight:800}.portal-auth-brand small{color:var(--portal-muted);font-size:12px}.portal-brand-logo{display:block;width:150px;height:58px;padding:4px 7px;border:1px solid #eee7e8;border-radius:10px;background:#fff;object-fit:contain}
.candidate-header-actions{display:flex;align-items:center;gap:12px}.candidate-header-actions form{margin:0}.candidate-header-actions button{min-height:42px;padding:9px 14px;border:1px solid var(--portal-line);border-radius:10px;background:#fff;color:var(--portal-ink);font:700 14px inherit}.candidate-notification-badge{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border-radius:999px;background:var(--portal-brand-soft);color:var(--portal-brand);font-weight:800}
.portal-success,.candidate-latest-alert{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:18px 20px;border:1px solid #e7c9cd;border-right:4px solid var(--portal-brand);border-radius:15px;background:#fff}.portal-success{border-color:#bfe1ce;border-right-color:#198754;background:#f2fbf6;color:#17683a}.portal-success>div,.candidate-latest-alert>div{display:grid;flex:1;gap:3px}.portal-success i,.candidate-latest-alert>i{font-size:24px;color:var(--portal-brand)}.portal-success i{color:#198754}.candidate-latest-alert span{color:var(--portal-muted)}.candidate-latest-alert>a{padding:10px 14px;border-radius:10px;background:var(--portal-brand);color:#fff;font-weight:800;white-space:nowrap}
.candidate-profile-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:34px;border-radius:24px;background:radial-gradient(circle at 12% 12%,rgba(225,24,43,.35),transparent 36%),linear-gradient(135deg,#18181d,#36363d);color:#fff;box-shadow:var(--portal-shadow)}.candidate-profile-hero p{margin:0 0 6px;color:#f05a67;font-weight:800}.candidate-profile-hero h1{margin:0 0 6px;font-size:clamp(28px,5vw,42px);font-weight:800}.candidate-profile-hero>div>span{color:#eee9ea}.candidate-review-status{padding:10px 15px;border-radius:999px;background:rgba(255,255,255,.14);font-weight:800;white-space:nowrap}
.candidate-progress,.candidate-profile-card{margin-top:18px;padding:24px;border:1px solid var(--portal-line);border-radius:18px;background:#fff;box-shadow:0 8px 26px rgba(31,31,36,.04)}.candidate-progress>div{display:flex;justify-content:space-between;gap:10px}.candidate-progress progress{width:100%;height:12px;margin-top:8px;accent-color:var(--portal-brand)}.candidate-progress p{margin:8px 0 0;color:var(--portal-muted)}.candidate-progress>a{display:inline-flex;align-items:center;gap:8px;margin-top:13px;color:var(--portal-brand);font-weight:800}
.candidate-portal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:18px}.candidate-portal-grid article{display:grid;gap:5px;padding:20px;border:1px solid var(--portal-line);border-radius:16px;background:#fff;box-shadow:0 7px 24px rgba(31,31,36,.04)}.candidate-portal-grid i{color:var(--portal-brand);font-size:24px}.candidate-portal-grid span{color:var(--portal-muted)}.candidate-portal-grid strong{font-size:18px}
.candidate-profile-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.candidate-profile-card h2{margin:0 0 4px;font-size:22px;font-weight:800}.candidate-profile-card header p{margin:0;color:var(--portal-muted)}.candidate-profile-card header>span{padding:7px 11px;border-radius:999px;background:var(--portal-brand-soft);color:var(--portal-brand);font-weight:800}.candidate-profile-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0 0}.candidate-profile-card dl div{padding:15px;border-radius:12px;background:#f8f8fa}.candidate-profile-card dt{color:var(--portal-muted)}.candidate-profile-card dd{margin:5px 0 0;font-weight:800}
.candidate-card-empty{display:flex;align-items:center;justify-content:center;gap:10px;min-height:95px;color:var(--portal-muted)}.candidate-interview-list,.candidate-notification-list{display:grid;gap:11px;margin-top:18px}.candidate-interview-list>article{display:grid;grid-template-columns:minmax(210px,.8fr) 1.4fr auto;align-items:center;gap:18px;padding:16px;border:1px solid var(--portal-line);border-radius:13px}.candidate-interview-list>article>div{display:grid;gap:3px}.candidate-interview-list small,.candidate-notification-list small{color:var(--portal-muted)}.candidate-interview-list a{padding:9px 13px;border-radius:9px;background:var(--portal-brand);color:#fff;font-weight:800}.candidate-notification-list>article{display:flex;gap:13px;padding:15px;border:1px solid var(--portal-line);border-radius:12px}.candidate-notification-list>article.is-unread{border-right:4px solid var(--portal-brand);background:#fffafb}.candidate-notification-list>article>i{font-size:20px;color:var(--portal-brand)}.candidate-notification-list p{margin:3px 0;color:var(--portal-muted)}
.candidate-procedure-progress{margin-top:18px}.candidate-procedure-progress progress{width:100%;height:12px;accent-color:var(--portal-brand)}.candidate-procedure-progress a,.primary-action,.secondary-action{display:inline-flex;margin-top:9px;padding:10px 13px;border-radius:9px;color:var(--portal-brand);font-weight:800}.review-approved{background:#dff4e7;color:#17683a}.review-rejected{background:#fde8e8;color:#9e3333}.review-needs_completion,.review-pending_review{background:#fff0d6;color:#8a5c0c}
@media(max-width:900px){.candidate-portal-grid{grid-template-columns:1fr 1fr}.candidate-profile-card dl{grid-template-columns:1fr 1fr}}
@media(max-width:640px){html{font-size:14px}.candidate-portal-shell{padding:14px 14px 44px}.candidate-portal-shell .portal-header,.candidate-header-actions,.candidate-profile-hero,.candidate-profile-card>header{align-items:flex-start;flex-direction:column}.candidate-header-actions{width:100%}.candidate-header-actions form,.candidate-header-actions button{width:100%}.portal-auth-brand{width:100%}.portal-brand-logo{width:116px;height:48px}.candidate-latest-alert{align-items:flex-start;flex-wrap:wrap}.candidate-latest-alert>a{width:100%;text-align:center}.candidate-profile-hero{padding:25px 20px}.candidate-review-status{white-space:normal}.candidate-portal-grid,.candidate-profile-card dl{grid-template-columns:1fr}.candidate-progress,.candidate-profile-card{padding:19px 16px}.candidate-interview-list>article{grid-template-columns:1fr}.candidate-profile-card h2{font-size:19px}}
