:root {
    --ink: #202126;
    --ink-soft: #68696f;
    --brand: #b10f20;
    --brand-dark: #7e0b17;
    --brand-soft: #fbe9ec;
    --gold: #202126;
    --canvas: #f7f7f8;
    --surface: #ffffff;
    --line: #e8e4e5;
    --danger: #c81729;
    --danger-soft: #fff0f0;
    --shadow: 0 8px 28px rgba(31, 31, 36, .07);
}

/* Candidate portal */
.candidate-auth-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#f6f8fb}.candidate-auth-intro{padding:64px 9vw;background:linear-gradient(145deg,#0b3d3a,#126b61);color:#fff;display:flex;flex-direction:column;justify-content:space-between}.candidate-auth-intro .portal-auth-brand{color:#fff}.candidate-auth-intro>div:last-child{max-width:560px}.candidate-auth-intro p,.candidate-register-heading p,.candidate-profile-hero p{color:#d7b56d;font-weight:800;margin-bottom:10px}.candidate-auth-intro h1{font-size:clamp(34px,5vw,64px);font-weight:800;line-height:1.25}.candidate-auth-intro span{font-size:18px;color:#d7e9e5}.candidate-auth-card{margin:auto;width:min(480px,86%);background:#fff;border:1px solid #e6ebe9;border-radius:24px;padding:38px;box-shadow:0 24px 80px rgba(22,57,53,.1)}.candidate-auth-card h2{font-weight:800;margin-bottom:25px}.candidate-auth-card label,.candidate-register-form label{display:flex;flex-direction:column;gap:8px;font-weight:700;color:#29413f}.candidate-auth-card input,.candidate-register-form input,.candidate-register-form select{height:48px;border:1px solid #dbe4e1;border-radius:11px;padding:0 13px;background:#fff}.candidate-auth-card form{display:grid;gap:18px}.candidate-auth-card button,.candidate-register-form footer button{height:50px;border:0;border-radius:11px;background:#126b61;color:#fff;font-weight:800}.phone-row{display:grid!important;grid-template-columns:110px 1fr;gap:12px}.candidate-auth-card footer{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:24px;border-top:1px solid #edf0ef;padding-top:20px}.candidate-auth-card footer a{color:#126b61;font-weight:700}.candidate-register-shell,.candidate-portal-shell{max-width:1280px;margin:auto;padding:30px 28px 70px}.candidate-register-shell>header{display:flex;align-items:center;justify-content:space-between}.candidate-register-heading{text-align:center;margin:60px auto 35px}.candidate-register-heading h1{font-weight:800;font-size:42px}.candidate-register-heading span{color:#657774}.candidate-register-form{display:grid;gap:22px}.candidate-register-form>section{background:#fff;border:1px solid #e3e9e7;border-radius:20px;padding:28px}.candidate-register-form>section>header{display:flex;gap:16px;align-items:center;margin-bottom:25px}.candidate-register-form>section>header>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e8f4f1;color:#126b61;font-weight:800}.candidate-register-form h2{font-size:20px;font-weight:800;margin:0}.candidate-register-form p{margin:3px 0 0;color:#71807e}.candidate-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.candidate-fields .phone-row{grid-column:span 2}.candidate-register-form label small{color:#b54747;font-weight:500}.candidate-register-form .file-field{grid-column:span 2}.candidate-register-form .check-field{flex-direction:row;align-items:center;align-self:end;min-height:48px}.candidate-register-form .check-field input{height:20px;width:20px}.candidate-register-form .consent{grid-column:span 2}.candidate-register-form>footer{display:flex;justify-content:flex-end;align-items:center;gap:20px}.candidate-register-form>footer button{padding:0 28px}.wide-alert{max-width:900px;margin:0 auto 22px}.candidate-portal-shell .portal-header{margin-bottom:34px}.portal-success{display:flex;gap:14px;align-items:center;padding:18px 22px;background:#e9f7ee;color:#17683a;border-radius:15px;margin-bottom:20px}.portal-success i{font-size:25px}.portal-success div{display:flex;flex-direction:column}.candidate-profile-hero{background:linear-gradient(135deg,#0d4c47,#14766a);border-radius:24px;padding:36px;color:#fff;display:flex;align-items:center;justify-content:space-between}.candidate-profile-hero h1{font-weight:800}.candidate-profile-hero>div>span{color:#d7e9e5}.candidate-review-status{padding:10px 15px;border-radius:999px;background:rgba(255,255,255,.14);font-weight:800}.candidate-progress,.candidate-profile-card{background:#fff;border:1px solid #e3e9e7;border-radius:18px;padding:24px;margin-top:20px}.candidate-progress>div{display:flex;justify-content:space-between}.candidate-progress progress{width:100%;height:12px;accent-color:#d7b56d}.candidate-progress p{color:#71807e;margin:8px 0 0}.candidate-portal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px}.candidate-portal-grid article{background:#fff;border:1px solid #e3e9e7;border-radius:16px;padding:20px;display:grid;gap:5px}.candidate-portal-grid i{color:#126b61;font-size:23px}.candidate-portal-grid span{color:#71807e}.candidate-profile-card header{display:flex;justify-content:space-between}.candidate-profile-card h2{font-weight:800}.candidate-profile-card header span{color:#9b6b17}.candidate-profile-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:25px}.candidate-profile-card dl div{padding:15px;background:#f8faf9;border-radius:12px}.candidate-profile-card dt{color:#75827f;font-weight:500}.candidate-profile-card dd{font-weight:700;margin:4px 0 0}.review-approved{background:#dff4e7;color:#17683a}.review-rejected{background:#fde8e8;color:#9e3333}.review-needs_completion{background:#fff0d6;color:#8a5c0c}
@media(max-width:900px){.candidate-auth-shell{grid-template-columns:1fr}.candidate-auth-intro{min-height:310px;padding:32px}.candidate-auth-card{margin:35px auto}.candidate-fields{grid-template-columns:1fr 1fr}.candidate-portal-grid{grid-template-columns:1fr 1fr}.candidate-profile-card dl{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.candidate-register-shell,.candidate-portal-shell{padding:20px 14px 50px}.candidate-fields,.candidate-profile-card dl{grid-template-columns:1fr}.candidate-fields .phone-row,.candidate-register-form .file-field,.candidate-register-form .consent{grid-column:auto}.candidate-register-heading{margin:35px 0 25px}.candidate-register-heading h1{font-size:31px}.candidate-profile-hero{align-items:flex-start;gap:25px;flex-direction:column}.candidate-portal-grid{grid-template-columns:1fr}.phone-row{grid-template-columns:95px 1fr}}
.profile-page-heading{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#0d4c47,#14766a);color:#fff;border-radius:22px;padding:30px 34px}.profile-page-heading h1{font-weight:800}.profile-page-heading>div:first-child>span{color:#d5e8e5}.profile-score{width:112px;height:112px;border-radius:50%;border:8px solid rgba(255,255,255,.2);display:grid;place-content:center;text-align:center;background:rgba(255,255,255,.08)}.profile-score strong{font-size:27px}.profile-score span{font-size:12px}.profile-section-nav{display:flex;gap:8px;overflow:auto;position:sticky;top:0;z-index:5;background:#f6f8fb;padding:14px 0}.profile-section-nav a{white-space:nowrap;background:#fff;border:1px solid #e3e9e7;border-radius:999px;padding:8px 15px;color:#35514e;font-weight:700}.profile-completion-card{background:#fff;border:1px solid #e3e9e7;border-radius:20px;padding:26px;margin-top:18px;scroll-margin-top:80px}.profile-completion-card>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.profile-completion-card>header>div{display:flex;gap:13px;align-items:center}.profile-completion-card>header>div>span{width:40px;height:40px;border-radius:12px;background:#e8f4f1;color:#126b61;display:grid;place-items:center;font-weight:800}.profile-completion-card h2{font-size:20px;font-weight:800;margin:0}.profile-completion-card header p{color:#71807e;margin:3px 0 0}.profile-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.profile-fields label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#38504e}.profile-fields input,.profile-fields select,.compact-profile-form input,.compact-profile-form select{height:44px;border:1px solid #dbe4e1;border-radius:10px;padding:0 12px;background:#fff}.profile-fields>button,.compact-profile-form button{align-self:end;height:44px;border:0;border-radius:10px;background:#126b61;color:#fff;font-weight:800;padding:0 20px}.profile-fields .inline-check{flex-direction:row;align-items:center;align-self:end;height:44px}.inline-check input{width:19px;height:19px}.profile-items{display:grid;gap:10px;margin-bottom:18px}.profile-items article{display:flex;align-items:center;justify-content:space-between;background:#f8faf9;border-radius:12px;padding:14px 16px}.profile-items h3,.document-list h3{font-size:16px;font-weight:800;margin:0}.profile-items p,.document-list p{color:#71807e;margin:4px 0 0}.profile-items button,.document-list button{border:0;background:transparent;color:#aa4848}.split-profile{display:grid;grid-template-columns:1fr 1fr;gap:28px}.split-profile>div{background:#f8faf9;border-radius:14px;padding:18px}.split-profile h3{font-size:17px;font-weight:800}.profile-tags{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}.profile-tags>span{background:#e6f2ef;color:#175e57;border-radius:999px;padding:7px 12px;font-weight:700}.profile-tags button{border:0;background:none;color:#8b3d3d}.compact-profile-form{display:flex;gap:8px;flex-wrap:wrap}.compact-profile-form input,.compact-profile-form select{flex:1;min-width:100px}.document-list{display:grid;gap:10px;margin-bottom:20px}.document-list article{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:14px;align-items:center;border:1px solid #e6ebe9;border-radius:13px;padding:13px}.document-list>article>i{font-size:23px;color:#126b61}.document-status{font-size:13px;border-radius:999px;padding:5px 10px;background:#fff0d6;color:#8a5c0c}.document-status.status-approved{background:#dff4e7;color:#17683a}.document-status.status-rejected{background:#fde8e8;color:#9e3333}.profile-message{position:sticky;top:70px;z-index:8;padding:14px 18px;border-radius:11px;margin:14px 0;font-weight:700}.profile-message.success{background:#dff4e7;color:#17683a}.profile-message.error{background:#fde8e8;color:#9e3333}
@media(max-width:800px){.profile-fields{grid-template-columns:1fr 1fr}.split-profile{grid-template-columns:1fr}.profile-page-heading{gap:20px}.document-list article{grid-template-columns:auto 1fr auto}.document-status{grid-column:2}.document-list article>a,.document-list article>button{grid-row:1}}
@media(max-width:520px){.profile-fields{grid-template-columns:1fr}.profile-page-heading{align-items:flex-start;flex-direction:column}.profile-score{width:90px;height:90px}.profile-completion-card{padding:18px}.profile-completion-card>header{align-items:flex-start;gap:12px}.compact-profile-form{flex-direction:column}.document-list article{grid-template-columns:auto 1fr}.document-list article>a,.document-list article>button{grid-row:auto}.document-status{grid-column:2}}

* { box-sizing: border-box; }
html { font-size: 15px; }
body { margin: 0; background: var(--canvas); color: var(--ink); font-family: "Tajawal", sans-serif; }
button, select { font-family: inherit; }
button { color: inherit; }

.app-shell { min-height: 100vh; }
.sidebar {
    position: fixed; inset: 0 0 0 auto; z-index: 1030; width: 248px; padding: 22px 15px;
    display: flex; flex-direction: column; background: linear-gradient(180deg, #17171b, #29292f); color: #fff; overflow-y: auto;
}
.brand { display: flex; align-items: center; gap: 11px; padding: 2px 8px 21px; color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.11); }
.brand-mark { display: grid; place-items: center; width: 42px; height: 42px; color: #173e31; background: #d6b064; border-radius: 13px; font-size: 1.25rem; }
.brand strong, .brand small { display: block; }
.brand strong { font-size: 1.22rem; font-weight: 800; }
.brand small { margin-top: 1px; color: rgba(255,255,255,.58); font-size: .7rem; letter-spacing: .04em; }
.main-nav { display: grid; gap: 3px; padding: 16px 0; }
.nav-item { display: flex; align-items: center; gap: 11px; padding: 10px 12px; color: rgba(255,255,255,.68); text-decoration: none; border-radius: 9px; transition: .16s ease; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.07); }
.nav-item.active { color: #fff; background: linear-gradient(135deg, #c81729, #96101e); font-weight: 700; }
.nav-item i { width: 20px; text-align: center; font-size: 1.02rem; }
.nav-count { margin-right: auto; padding: 1px 7px; border-radius: 99px; background: rgba(255,255,255,.16); font-size: .72rem; }
.sidebar-user { margin-top: auto; display: grid; grid-template-columns: 38px 1fr 26px; align-items: center; gap: 9px; padding: 14px 7px 0; border-top: 1px solid rgba(255,255,255,.11); }
.sidebar-user .avatar { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; color: #fff; background: #b10f20; font-weight: 800; }
.sidebar-user strong, .sidebar-user small { display: block; }
.sidebar-user strong { font-size: .86rem; }
.sidebar-user small { color: rgba(255,255,255,.55); font-size: .73rem; }
.sidebar-user button { border: 0; color: rgba(255,255,255,.7); background: transparent; }
.app-main { margin-right: 248px; min-width: 0; }
.mobile-header { display: none; }
.dashboard-page { width: min(1600px, 100%); margin: 0 auto; padding: 30px 32px 48px; transition: opacity .15s ease; }
.dashboard-page.is-loading { opacity: .58; pointer-events: none; }

.dashboard-head { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 23px; }
.eyebrow { margin: 0 0 4px !important; color: var(--brand) !important; font-weight: 700; }
.dashboard-head h1 { margin: 0 0 5px; font-size: clamp(1.65rem, 3vw, 2.1rem); font-weight: 800; }
.dashboard-head p { margin: 0; color: var(--ink-soft); }
.head-actions { display: flex; align-items: center; gap: 9px; }
.header-action, .icon-button { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); }
.notification-dot { position: absolute; top: 8px; left: 9px; width: 7px; height: 7px; border: 2px solid #fff; border-radius: 50%; background: var(--danger); }

.dashboard-filters { display: flex; align-items: flex-end; gap: 11px; flex-wrap: wrap; margin-bottom: 28px; padding: 15px 17px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow); }
.dashboard-filters label { display: grid; gap: 5px; min-width: 150px; color: var(--ink-soft); font-size: .77rem; font-weight: 700; }
.dashboard-filters .form-select { min-height: 40px; border-color: var(--line); color: var(--ink); font-size: .85rem; box-shadow: none; }
.dashboard-filters .form-select:focus { border-color: var(--brand); }
.filter-reset { height: 40px; padding: 0 13px; border: 1px solid var(--line); border-radius: 8px; background: #fafbfa; font-size: .83rem; }
.last-update { margin-right: auto; align-self: center; color: var(--ink-soft); font-size: .76rem; }

.section-title, .panel-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 15px; }
.section-title { margin-bottom: 13px; }
.section-title h2, .panel-head h2 { margin: 0 0 3px; font-size: 1.05rem; font-weight: 800; }
.section-title p, .panel-head p { margin: 0; color: var(--ink-soft); font-size: .78rem; }
.text-action, .panel-head button { border: 0; color: var(--brand); background: transparent; font-size: .8rem; font-weight: 700; }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.metric-card { position: relative; min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow); transition: transform .15s ease, box-shadow .15s ease; overflow: hidden; }
.metric-card::after { content: ""; position: absolute; top: 0; right: 0; width: 3px; height: 100%; background: var(--brand); opacity: .75; }
.metric-card:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(25,54,42,.1); }
.metric-card.is-danger { background: linear-gradient(145deg, var(--surface), var(--danger-soft)); }
.metric-card.is-danger::after { background: var(--danger); }
.metric-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 11px; }
.metric-icon { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 10px; color: var(--brand); background: var(--brand-soft); }
.metric-card.is-danger .metric-icon { color: var(--danger); background: var(--danger-soft); }
.metric-top button { border: 0; color: #a4afa9; background: transparent; }
.metric-card p { margin: 0 0 5px; color: var(--ink-soft); font-size: .78rem; font-weight: 700; }
.metric-value { display: block; font-size: 1.55rem; font-weight: 800; letter-spacing: -.02em; }
.metric-value small { font-size: .65rem; font-weight: 700; }
.metric-context { display: block; margin-top: 4px; color: #87938d; font-size: .72rem; }

.dashboard-grid { display: grid; gap: 15px; margin-top: 17px; }
.dashboard-grid-main { grid-template-columns: minmax(0, 1.7fr) minmax(310px, .8fr); }
.charts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lower-grid { grid-template-columns: minmax(0, 1.55fr) minmax(290px, .65fr); }
.dashboard-panel { min-width: 0; padding: 19px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); box-shadow: var(--shadow); }
.panel-head { margin-bottom: 17px; }
.status-pill, .trend-label { display: inline-flex; align-items: center; gap: 5px; padding: 5px 9px; border-radius: 99px; color: var(--danger); background: var(--danger-soft); font-size: .72rem; font-weight: 700; white-space: nowrap; }
.trend-label { color: var(--brand); background: var(--brand-soft); }

.pipeline { display: grid; grid-template-columns: repeat(6, minmax(62px, 1fr)); gap: 9px; min-height: 218px; padding-top: 6px; align-items: end; }
.pipeline-stage { display: grid; gap: 7px; justify-items: center; text-align: center; }
.pipeline-stage strong { font-size: .93rem; }
.pipeline-track { display: flex; align-items: flex-end; justify-content: center; width: 100%; height: 138px; border-bottom: 1px solid var(--line); background-image: linear-gradient(to top, var(--line) 1px, transparent 1px); background-size: 100% 34px; }
.pipeline-track span { display: block; width: min(42px, 60%); min-height: 9px; border-radius: 7px 7px 1px 1px; background: linear-gradient(to top, var(--brand), #3c8a6d); transition: height .25s ease; }
.pipeline-stage small { color: var(--ink-soft); font-size: .7rem; }

.alert-item { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 10px; width: 100%; padding: 10px 0; border: 0; border-bottom: 1px solid var(--line); color: inherit; background: transparent; text-align: right; text-decoration: none; }
.alert-item:last-child { border-bottom: 0; }
.alert-icon { display: grid; place-items: center; width: 37px; height: 37px; border-radius: 11px; color: var(--gold); background: #fbf5e8; }
.alert-item strong, .alert-item small { display: block; }
.alert-item strong { margin-bottom: 1px; font-size: .82rem; }
.alert-item small { color: var(--ink-soft); font-size: .71rem; }
.alert-item > i { color: #abb4b0; }

.line-chart { height: 220px; display: flex; direction: ltr; align-items: flex-end; justify-content: space-around; gap: 8px; padding: 18px 8px 0; border-bottom: 1px solid var(--line); background-image: linear-gradient(to top, var(--line) 1px, transparent 1px); background-size: 100% 52px; }
.line-column { height: 100%; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 5px; }
.line-value { color: var(--brand); font-size: .7rem; font-weight: 800; }
.line-bar { width: min(35px, 54%); min-height: 10px; border-radius: 7px 7px 0 0; background: linear-gradient(to top, var(--brand), #56a183); }
.line-column small { height: 18px; color: var(--ink-soft); font-size: .66rem; direction: rtl; }
.source-list { display: grid; gap: 16px; padding: 5px 0; }
.source-row { display: grid; grid-template-columns: 95px 1fr 28px; gap: 9px; align-items: center; font-size: .77rem; }
.source-row > div { height: 9px; border-radius: 99px; background: #edf1ef; overflow: hidden; }
.source-row > div i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--gold), #e0bd72); }
.source-row strong { font-size: .75rem; }

.table-panel { overflow: hidden; }
.table-panel .table { font-size: .77rem; }
.table-panel thead th { padding: 10px; border-bottom-color: var(--line); color: var(--ink-soft); background: #f7f9f8; font-size: .7rem; font-weight: 700; white-space: nowrap; }
.table-panel tbody td { padding: 11px 10px; border-bottom-color: var(--line); white-space: nowrap; }
.user-cell { display: inline-flex; align-items: center; gap: 7px; font-weight: 700; }
.user-cell i { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: var(--brand); background: var(--brand-soft); font-style: normal; }
.mini-progress { display: inline-block; width: 58px; height: 6px; margin-left: 5px; border-radius: 99px; background: #edf1ef; overflow: hidden; }
.mini-progress i { display: block; height: 100%; background: var(--brand); }
.round-add { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 9px !important; color: #fff !important; background: var(--brand) !important; }
.task-item { display: flex; align-items: flex-start; gap: 9px; padding: 10px 0; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; cursor: pointer; }
.task-item input:checked + span { opacity: .5; text-decoration: line-through; }
.task-item strong, .task-item small { display: block; }
.task-item strong { font-size: .79rem; }
.task-item small { margin-top: 2px; color: var(--ink-soft); font-size: .7rem; }
.task-item .form-check-input:checked { border-color: var(--brand); background-color: var(--brand); }
.panel-footer-action { width: 100%; margin-top: 12px; padding: 8px; border: 0; border-radius: 8px; color: var(--brand); background: var(--brand-soft); font-size: .76rem; font-weight: 700; }

.matches-panel { margin-top: 17px; }
.match-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.match-item { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 11px; }
.match-score { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 50%; color: var(--brand); background: var(--brand-soft); font-size: .75rem; font-weight: 800; }
.match-item strong, .match-item small { display: block; }
.match-item strong { font-size: .82rem; }
.match-item small { margin-top: 2px; color: var(--ink-soft); font-size: .69rem; }
.match-item button, .match-item > a { border: 0; color: var(--brand); background: transparent; font-size: .72rem; font-weight: 700; text-decoration: none; }
.sidebar-backdrop { display: none; }

@media (min-width: 1450px) {
    .metric-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
}

@media (max-width: 1199px) {
    .metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .dashboard-grid-main, .lower-grid { grid-template-columns: 1fr; }
    .match-grid { grid-template-columns: 1fr; }
}

@media (max-width: 991px) {
    .sidebar { transform: translateX(100%); transition: transform .2s ease; }
    .sidebar.is-open { transform: translateX(0); }
    .app-main { margin-right: 0; }
    .mobile-header { position: sticky; top: 0; z-index: 1020; display: flex; justify-content: space-between; align-items: center; height: 59px; padding: 8px 15px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.94); backdrop-filter: blur(12px); font-weight: 800; }
    .mobile-header .icon-button { width: 38px; height: 38px; }
    .sidebar-backdrop { position: fixed; inset: 0; z-index: 1025; background: rgba(10,24,18,.48); }
    .sidebar-backdrop.is-visible { display: block; }
    .dashboard-page { padding: 23px 18px 40px; }
    .charts-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    html { font-size: 14px; }
    .dashboard-head { align-items: flex-start; }
    .dashboard-head p { max-width: 25rem; }
    .head-actions .header-action { display: none; }
    .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-filters label { flex: 1 1 135px; min-width: 0; }
    .last-update { width: 100%; margin: 2px 0 0; }
    .pipeline { grid-template-columns: repeat(3, 1fr); row-gap: 18px; }
    .match-item { grid-template-columns: 45px 1fr; }
    .match-item button, .match-item > a { grid-column: 2; justify-self: start; padding: 0; }
}

@media (max-width: 420px) {
    .dashboard-page { padding-inline: 12px; }
    .dashboard-head { display: grid; }
    .head-actions .btn { width: 100%; }
    .metric-grid { grid-template-columns: 1fr; }
    .section-title { align-items: flex-end; }
    .section-title .text-action { display: none; }
    .dashboard-panel { padding: 15px; }
}

.guest-body { min-height: 100vh; }
.login-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(360px, .8fr) minmax(480px, 1.2fr); }
.login-brand-panel { position: relative; padding: 45px; display: flex; flex-direction: column; justify-content: space-between; color: #fff; background: radial-gradient(circle at 15% 15%, rgba(214,176,100,.22), transparent 30%), linear-gradient(145deg, #174e3b, #0e3428); overflow: hidden; }
.login-brand-panel::after { content: ""; position: absolute; width: 380px; height: 380px; left: -160px; bottom: -170px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 45px rgba(255,255,255,.025), 0 0 0 90px rgba(255,255,255,.018); }
.login-brand { display: flex; align-items: center; gap: 12px; }
.login-brand > span, .mobile-login-mark { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; color: #173e31; background: #d6b064; font-size: 1.35rem; }
.login-brand strong, .login-brand small { display: block; }
.login-brand strong { font-size: 1.4rem; font-weight: 800; }
.login-brand small { color: rgba(255,255,255,.6); font-size: .68rem; font-weight: 400; letter-spacing: .06em; }
.login-message { position: relative; z-index: 1; max-width: 510px; }
.login-message p { color: #d6b064; font-weight: 800; }
.login-message h1 { margin: 0 0 17px; font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 800; line-height: 1.3; }
.login-message span { color: rgba(255,255,255,.68); line-height: 1.9; }
.login-brand-panel > small { position: relative; z-index: 1; color: rgba(255,255,255,.5); }
.login-form-panel { display: grid; place-items: center; padding: 35px; background: var(--surface); }
.login-form { width: min(410px, 100%); display: grid; gap: 18px; }
.login-heading { margin-bottom: 7px; }
.login-heading p { margin: 0 0 3px; color: var(--brand); font-weight: 800; }
.login-heading h2 { margin: 0 0 6px; font-size: 2rem; font-weight: 800; }
.login-heading small { color: var(--ink-soft); }
.mobile-login-mark { display: none; }
.login-form label { display: grid; gap: 7px; color: var(--ink); font-size: .82rem; font-weight: 700; }
.input-wrap { position: relative; display: block; }
.input-wrap > i { position: absolute; z-index: 2; top: 50%; right: 14px; transform: translateY(-50%); color: #8d9993; }
.input-wrap .form-control { min-height: 48px; padding-right: 42px; border-color: var(--line); border-radius: 10px; box-shadow: none; }
.input-wrap .form-control:focus { border-color: var(--brand); }
.login-submit { display: flex; justify-content: center; align-items: center; gap: 9px; min-height: 49px; margin-top: 3px; border: 0; border-radius: 10px; color: #fff; background: var(--brand); font-weight: 800; }
.login-submit:hover { background: var(--brand-dark); }
.login-error { display: flex; gap: 8px; align-items: center; padding: 11px 13px; border: 1px solid #f1caca; border-radius: 9px; color: var(--danger); background: var(--danger-soft); font-size: .8rem; }
.login-help { margin: 0; color: var(--ink-soft); text-align: center; font-size: .74rem; }
@media (max-width: 820px) {
    .login-shell { grid-template-columns: 1fr; }
    .login-brand-panel { display: none; }
    .login-form-panel { min-height: 100vh; padding: 25px; }
    .mobile-login-mark { display: grid; margin-bottom: 22px; }
}

.portal-auth-shell { min-height: 100vh; display: grid; place-items: center; padding: 28px; background: radial-gradient(circle at 50% 0, #edf5f1, transparent 45%), var(--canvas); }
.portal-auth-card { width: min(470px, 100%); display: grid; gap: 20px; padding: 30px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: 0 20px 60px rgba(25,54,42,.1); }
.portal-auth-brand { display: flex; align-items: center; gap: 11px; }
.portal-auth-brand > span { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 12px; color: var(--brand); background: var(--brand-soft); font-size: 1.2rem; }
.portal-auth-brand strong, .portal-auth-brand small { display: block; }
.portal-auth-brand strong { font-weight: 800; }
.portal-auth-brand small { margin-top: 2px; color: var(--ink-soft); font-size: .72rem; }
.portal-back-link { color: var(--brand); text-align: center; font-size: .76rem; font-weight: 700; }
.portal-dashboard { min-height: 100vh; padding: 0 5vw 45px; background: var(--canvas); }
.portal-header { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.portal-header form button { padding: 9px 13px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); font-size: .78rem; }
.portal-welcome { padding: 45px 0 25px; }
.portal-welcome p { margin: 0 0 4px; color: var(--brand); font-weight: 800; }
.portal-welcome h1 { margin: 0 0 6px; font-weight: 800; }
.portal-welcome span { color: var(--ink-soft); }
.portal-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; }
.portal-summary-grid article, .portal-summary-grid > a { display: grid; gap: 7px; padding: 19px; border: 1px solid var(--line); border-radius: 13px; color: var(--ink); background: var(--surface); box-shadow: var(--shadow); text-decoration: none; }
.portal-summary-grid article > i, .portal-summary-grid > a > i { color: var(--brand); font-size: 1.2rem; }
.portal-summary-grid article span, .portal-summary-grid > a span { color: var(--ink-soft); font-size: .78rem; }
.portal-summary-grid article strong, .portal-summary-grid > a strong { font-size: 1.15rem; }
.portal-company-card { margin-top: 16px; padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow); }
.portal-company-card h2 { margin: 0 0 4px; font-size: 1.05rem; font-weight: 800; }
.portal-company-card p { color: var(--ink-soft); font-size: .76rem; }
.portal-company-card dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 20px 0 0; }
.portal-company-card dl div { padding: 12px; border-radius: 9px; background: #f7f9f8; }
.portal-company-card dt { color: var(--ink-soft); font-size: .7rem; }
.portal-company-card dd { margin: 4px 0 0; font-size: .82rem; font-weight: 700; }
@media (max-width: 760px) {
    .portal-summary-grid, .portal-company-card dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .portal-dashboard { padding-inline: 18px; }
}
@media (max-width: 420px) {
    .portal-auth-shell { padding: 12px; }
    .portal-auth-card { padding: 20px; }
    .portal-summary-grid, .portal-company-card dl { grid-template-columns: 1fr; }
}

.portal-header > a { color: var(--brand); text-decoration: none; font-size: .8rem; font-weight: 700; }
.portal-primary-link { padding: 10px 14px; border-radius: 9px; color: #fff !important; background: var(--brand); }
.orders-heading { display: flex; justify-content: space-between; align-items: end; gap: 15px; padding: 38px 0 20px; }
.orders-heading p, .order-detail-head p { margin: 0 0 3px; color: var(--brand); font-weight: 800; }
.orders-heading h1, .order-detail-head h1 { margin: 0 0 5px; font-size: 1.8rem; font-weight: 800; }
.orders-heading span, .order-detail-head span { color: var(--ink-soft); }
.orders-heading > a { color: var(--brand); font-size: .78rem; font-weight: 700; }
.orders-table-card, .form-section, .order-positions, .order-history { padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow); }
.orders-table-card th { color: var(--ink-soft); background: #f7f9f8; font-size: .72rem; }
.orders-table-card td { font-size: .78rem; }
.orders-table-card td a { color: var(--brand); font-weight: 800; }
.order-status { display: inline-block; padding: 5px 9px; border-radius: 99px; color: var(--ink-soft); background: #edf1ef; font-size: .68rem; font-weight: 800; }
.status-approved, .status-in_progress, .status-completed { color: var(--brand); background: var(--brand-soft); }
.status-rejected, .status-cancelled { color: var(--danger); background: var(--danger-soft); }
.status-submitted, .status-under_review { color: #856217; background: #fbf5e8; }
.empty-state { display: grid; justify-items: center; gap: 7px; padding: 45px 15px; text-align: center; }
.empty-state > i { color: var(--brand); font-size: 2rem; }
.empty-state h2, .empty-state p { margin: 0; }
.empty-state p { color: var(--ink-soft); }
.empty-state a { margin-top: 8px; padding: 9px 14px; border-radius: 8px; color: #fff; background: var(--brand); text-decoration: none; }
.job-order-form { display: grid; gap: 15px; }
.form-section-head { display: flex; align-items: center; gap: 11px; margin-bottom: 20px; }
.form-section-head > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: var(--brand); background: var(--brand-soft); font-weight: 800; }
.form-section-head h2, .form-section-head p { margin: 0; }
.form-section-head h2 { font-size: 1rem; font-weight: 800; }
.form-section-head p { margin-top: 2px; color: var(--ink-soft); font-size: .72rem; }
.add-position { margin-right: auto; padding: 8px 11px; border: 1px solid var(--brand); border-radius: 8px; color: var(--brand); background: transparent; font-size: .75rem; font-weight: 700; }
.form-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.form-fields label { display: grid; align-content: start; gap: 6px; color: var(--ink-soft); font-size: .73rem; font-weight: 700; }
.form-fields label.wide { grid-column: 1 / -1; }
.form-fields .form-control, .form-fields .form-select { min-height: 42px; border-color: var(--line); border-radius: 8px; box-shadow: none; font-size: .8rem; }
.form-fields .form-control:focus, .form-fields .form-select:focus { border-color: var(--brand); }
.position-form { margin-top: 12px; padding: 17px; border: 1px solid var(--line); border-radius: 11px; background: #fafbfa; }
.position-form > header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; }
.position-form > header > div { display: flex; align-items: center; gap: 9px; }
.position-number { padding: 4px 8px; border-radius: 7px; color: var(--brand); background: var(--brand-soft); font-size: .68rem; font-weight: 800; }
.remove-position { border: 0; color: var(--danger); background: transparent; font-size: .72rem; }
.remove-position:disabled { display: none; }
.check-label { display: flex !important; flex-direction: row; align-items: center; align-self: end; min-height: 42px; }
.form-actions { position: sticky; bottom: 12px; display: flex; justify-content: flex-end; align-items: center; gap: 9px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.94); box-shadow: 0 10px 35px rgba(25,54,42,.12); backdrop-filter: blur(10px); }
.form-actions a { margin-left: auto; color: var(--ink-soft); font-size: .78rem; }
.form-actions button { padding: 9px 15px; border: 1px solid var(--line); border-radius: 8px; background: #fff; font-size: .78rem; font-weight: 800; }
.form-actions button.primary { border-color: var(--brand); color: #fff; background: var(--brand); }
.form-feedback { display: none; padding: 11px; border-radius: 8px; }
.form-feedback:not(:empty) { display: block; color: var(--brand); background: var(--brand-soft); }
.form-feedback.is-error { color: var(--danger); background: var(--danger-soft); }
.order-detail-head { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 38px 0 22px; }
.order-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 15px; }
.order-facts div { padding: 16px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); }
.order-facts span, .order-facts strong { display: block; }
.order-facts span { color: var(--ink-soft); font-size: .7rem; }
.order-facts strong { margin-top: 4px; }
.order-positions h2, .order-history h2 { margin: 0 0 14px; font-size: 1rem; font-weight: 800; }
.order-positions article { padding: 15px 0; border-bottom: 1px solid var(--line); }
.order-positions article:last-child { border: 0; }
.order-positions article header { display: flex; justify-content: space-between; gap: 12px; }
.order-positions article h3 { margin: 3px 0; font-size: .95rem; font-weight: 800; }
.order-positions article small, .order-positions article span { color: var(--ink-soft); font-size: .7rem; }
.order-positions article dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin: 12px 0 0; }
.order-positions article dl div { padding: 9px; border-radius: 7px; background: #f7f9f8; }
.order-positions dt { color: var(--ink-soft); font-size: .65rem; }
.order-positions dd { margin: 2px 0 0; font-size: .73rem; font-weight: 700; }
.order-history { margin-top: 15px; }
.order-history > div { display: flex; gap: 10px; padding: 8px 0; }
.order-history > div > i { width: 9px; height: 9px; margin-top: 5px; border-radius: 50%; background: var(--brand); }
.order-history strong, .order-history small { display: block; }
.order-history small { color: var(--ink-soft); font-size: .68rem; }
@media (max-width: 760px) {
    .form-fields { grid-template-columns: 1fr 1fr; }
    .order-facts, .order-positions article dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 480px) {
    .form-fields, .order-facts, .order-positions article dl { grid-template-columns: 1fr; }
    .form-actions { flex-wrap: wrap; }
}

.candidate-progress > a { display:inline-flex; align-items:center; gap:8px; margin-top:12px; color:#126b61; font-weight:800; }

/* Al Hedaya HR visual identity */
.brand-logo { display:block; object-fit:cover; object-position:center 49%; background:#fff; }
.sidebar-brand-logo { width:100%; max-width:198px; height:66px; padding:4px 8px; border-radius:10px; }
.login-brand-logo { position:relative; z-index:1; width:min(320px, 100%); height:112px; padding:8px 12px; border-radius:14px; box-shadow:0 14px 36px rgba(0,0,0,.18); }
.mobile-brand-logo { display:none; width:150px; height:58px; object-fit:contain; }
.portal-brand-logo { width:150px; height:54px; padding:4px 7px; border:1px solid #eee7e8; border-radius:9px; }
.brand { justify-content:center; padding-right:0; padding-left:0; }
.candidate-auth-intro { background:radial-gradient(circle at 15% 15%, rgba(220,25,45,.3), transparent 32%), linear-gradient(145deg,#16161b,#34343b); }
.candidate-auth-intro p,.candidate-register-heading p,.candidate-profile-hero p { color:#f05a67; }
.candidate-auth-intro span,.candidate-profile-hero>div>span,.profile-page-heading>div:first-child>span { color:#eee9ea; }
.candidate-auth-card button,.candidate-register-form footer button,.profile-fields>button,.compact-profile-form button { background:var(--brand); }
.candidate-auth-card footer a,.candidate-portal-grid i,.candidate-progress>a,.document-list>article>i { color:var(--brand); }
.login-message p { color:#f05a67; }
.candidate-register-form>section>header>span,.profile-completion-card>header>div>span { color:var(--brand); background:var(--brand-soft); }
.candidate-profile-hero,.profile-page-heading { background:radial-gradient(circle at 12% 12%, rgba(225,24,43,.35), transparent 36%), linear-gradient(135deg,#18181d,#36363d); }
.candidate-progress progress { accent-color:var(--brand); }
.profile-tags>span { color:#8c101b; background:var(--brand-soft); }
.login-brand-panel { background:radial-gradient(circle at 15% 15%, rgba(225,24,43,.3), transparent 30%), linear-gradient(145deg,#17171c,#303037); }
.portal-auth-brand>span { color:var(--brand); background:var(--brand-soft); }
input:focus,select:focus,.form-control:focus,.form-select:focus { border-color:var(--brand)!important; box-shadow:0 0 0 .18rem rgba(177,15,32,.12)!important; }
::selection { color:#fff; background:var(--brand); }
@media(max-width:760px){.login-brand-logo{width:230px;height:82px}.mobile-brand-logo{display:block}.portal-brand-logo{width:118px;height:46px}.sidebar-brand-logo{max-width:170px}}

/* Matching engine */
.matching-page{max-width:1450px}.header-link,.matching-head-actions>a{color:var(--brand);font-weight:800;text-decoration:none}.matching-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:26px}.matching-summary article{display:flex;align-items:center;gap:14px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.matching-summary i{font-size:24px;color:var(--brand);background:var(--brand-soft);width:48px;height:48px;border-radius:13px;display:grid;place-items:center}.matching-summary strong,.matching-summary span{display:block}.matching-summary strong{font-size:22px}.matching-summary span{color:var(--ink-soft)}.matching-position-list>article{display:grid;grid-template-columns:minmax(260px,1.2fr) 1fr auto auto;align-items:center;gap:20px;padding:18px 20px;margin-bottom:11px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.position-identity{display:flex;gap:12px;align-items:center}.position-identity>span{padding:6px 9px;border-radius:8px;color:var(--brand);background:var(--brand-soft);font-weight:800;font-size:12px}.position-identity h3{font-size:17px;font-weight:800;margin:0}.position-identity p{color:var(--ink-soft);margin:3px 0 0}.position-facts{display:flex;gap:14px;flex-wrap:wrap;color:var(--ink-soft);font-size:13px}.position-match-status{display:flex;flex-direction:column}.position-match-status strong{font-size:13px}.position-match-status small{color:var(--ink-soft)}.matching-position-list>article>a{color:#fff;background:var(--brand);border-radius:9px;padding:10px 13px;text-decoration:none;font-weight:800;white-space:nowrap}.matching-head-actions{display:flex;align-items:center;gap:12px}.matching-head-actions button{border:0;border-radius:10px;padding:12px 16px;color:#fff;background:var(--brand);font-weight:800}.matching-head-actions button:disabled{opacity:.6}.matching-job-facts,.matching-run-summary{display:grid;gap:12px;margin-bottom:18px}.matching-job-facts{grid-template-columns:repeat(4,1fr)}.matching-run-summary{grid-template-columns:repeat(5,1fr)}.matching-job-facts>div,.matching-run-summary>div{padding:16px;background:#fff;border:1px solid var(--line);border-radius:13px}.matching-job-facts span,.matching-run-summary p{display:block;color:var(--ink-soft);margin:0 0 4px}.matching-job-facts strong,.matching-run-summary strong{font-size:18px}.eligible-number{color:#187348}.excluded-number{color:var(--brand)}.matching-results{margin-top:26px}.matching-toggle{display:flex;gap:7px;align-items:center;color:var(--ink-soft)}.matching-toggle input{accent-color:var(--brand)}.match-result-list{display:grid;gap:13px}.match-result-card{display:grid;grid-template-columns:40px 86px minmax(220px,1fr) minmax(260px,1.2fr);gap:16px;align-items:center;padding:18px;background:#fff;border:1px solid var(--line);border-right:4px solid #188252;border-radius:15px;box-shadow:var(--shadow)}.match-result-card.excluded{border-right-color:var(--brand);background:#fffafa}.match-rank{font-weight:800;color:var(--ink-soft)}.match-score-ring{--angle:calc(var(--score)*3.6deg);width:74px;height:74px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle closest-side,#fff 75%,transparent 76%),conic-gradient(var(--brand) var(--angle),#eee 0)}.match-score-ring strong,.match-score-ring span{display:block}.match-score-ring strong{font-size:15px}.match-score-ring span{font-size:10px;color:var(--ink-soft)}.match-candidate>span{font-size:11px;color:var(--brand);font-weight:800}.match-candidate h3{font-size:18px;font-weight:800;margin:2px 0}.match-candidate p,.match-candidate small{display:block;color:var(--ink-soft);margin:0}.match-reasons{display:grid;gap:5px}.match-reasons strong{color:#187348}.excluded .match-reasons strong{color:var(--brand)}.match-reasons span{font-size:12px;color:var(--ink-soft)}.match-result-card details{grid-column:3/5;border-top:1px solid var(--line);padding-top:10px}.match-result-card summary{cursor:pointer;color:var(--brand);font-weight:800}.score-breakdown{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.score-breakdown span{display:flex;gap:8px;padding:6px 9px;border-radius:8px;background:#f7f7f8}.score-breakdown em{font-style:normal;color:var(--ink-soft)}.match-result-card details ul{margin:10px 0;color:#8b4b50}.match-actions{grid-column:1/5;display:flex;justify-content:flex-end;gap:10px}.match-actions a,.match-actions button{padding:8px 12px;border-radius:8px;font-weight:800;text-decoration:none}.match-actions a{color:var(--brand);background:var(--brand-soft)}.match-actions button{border:0;color:#fff;background:var(--brand)}.match-actions button:disabled{color:#5f6462;background:#e6e9e8}
@media(max-width:1100px){.matching-position-list>article{grid-template-columns:1fr auto}.position-facts{grid-column:1}.matching-job-facts{grid-template-columns:repeat(2,1fr)}.matching-run-summary{grid-template-columns:repeat(3,1fr)}.match-result-card{grid-template-columns:40px 80px 1fr}.match-reasons{grid-column:2/4}.match-result-card details{grid-column:2/4}.match-actions{grid-column:1/4}}
@media(max-width:700px){.matching-summary{grid-template-columns:1fr}.matching-position-list>article{grid-template-columns:1fr}.position-facts,.position-match-status{grid-column:1}.matching-job-facts,.matching-run-summary{grid-template-columns:1fr 1fr}.matching-head-actions{align-items:flex-end;flex-direction:column}.match-result-card{grid-template-columns:64px 1fr}.match-rank{display:none}.match-score-ring{width:62px;height:62px}.match-candidate{grid-column:2}.match-reasons,.match-result-card details{grid-column:1/3}.match-actions{grid-column:1/3;flex-wrap:wrap}}

/* Internal candidate profile */
.internal-candidate-page{scroll-behavior:smooth}.candidate-file-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px 34px;border-radius:22px;background:radial-gradient(circle at 12% 12%,rgba(225,24,43,.34),transparent 36%),linear-gradient(135deg,#18181d,#36363d);color:#fff}.candidate-file-identity{display:flex;align-items:center;gap:20px}.candidate-file-avatar{width:76px;height:76px;border-radius:22px;display:grid;place-items:center;background:var(--brand);font-size:32px;font-weight:800;box-shadow:0 12px 28px rgba(177,15,32,.28)}.candidate-file-hero .eyebrow{margin:0 0 3px;color:#f39aa4}.candidate-file-hero h1{margin:0;font-size:31px;font-weight:800}.candidate-name-en{margin:4px 0;color:#d8d8dc}.candidate-file-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.candidate-file-badges span{padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.12);font-size:13px;font-weight:700}.candidate-file-badges .status-approved{background:#dff4e7;color:#17683a}.candidate-file-badges .status-pending_review{background:#fff0d6;color:#8a5c0c}.candidate-file-badges .status-rejected{background:#fde8e8;color:#9e3333}.candidate-file-hero-actions{display:flex;align-items:center;gap:18px}.candidate-file-hero-actions>a{color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:11px;padding:10px 14px;font-weight:700}.candidate-completion-ring{width:94px;height:94px;border-radius:50%;display:grid;place-content:center;text-align:center;border:7px solid rgba(255,255,255,.18);box-shadow:inset 0 0 0 4px var(--brand)}.candidate-completion-ring strong{font-size:22px}.candidate-completion-ring span{font-size:11px;color:#ddd}.candidate-file-nav{display:flex;gap:8px;overflow:auto;position:sticky;top:0;z-index:6;padding:13px 0;background:#f6f7f9}.candidate-file-nav a{white-space:nowrap;padding:8px 14px;border:1px solid #e5e5e8;border-radius:999px;background:#fff;color:#47474e;font-weight:700}.candidate-file-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:18px}.candidate-file-card{background:#fff;border:1px solid #e5e5e8;border-radius:18px;padding:24px;margin-top:18px;scroll-margin-top:75px}.candidate-file-grid>.candidate-file-card{margin-top:0}.candidate-file-card>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}.candidate-file-card>header>div{display:flex;align-items:center;gap:12px}.candidate-file-card>header>div>i{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);font-size:19px}.candidate-file-card h2{font-size:20px;font-weight:800;margin:0}.candidate-file-card header p{color:#777780;margin:3px 0 0}.section-count{min-width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);font-weight:800}.candidate-data-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0}.candidate-data-list div{padding:13px;background:#f8f8fa;border-radius:11px}.candidate-data-list dt{font-size:13px;color:#7b7b84;font-weight:500}.candidate-data-list dd{margin:4px 0 0;font-weight:700;color:#28282e;overflow-wrap:anywhere}.candidate-readiness-card .readiness-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #ededf0}.candidate-readiness-card .readiness-item:last-child{border-bottom:0}.readiness-item span{color:#777780}.readiness-item strong{font-size:14px}.candidate-timeline{display:grid;gap:4px}.candidate-timeline article{display:grid;grid-template-columns:16px 1fr;gap:12px;position:relative;padding-bottom:18px}.candidate-timeline article>span{width:11px;height:11px;background:var(--brand);border-radius:50%;margin-top:6px;box-shadow:0 0 0 5px var(--brand-soft)}.candidate-timeline article:not(:last-child)::before{content:"";position:absolute;right:5px;top:19px;bottom:0;width:1px;background:#e4c4c8}.candidate-timeline h3,.candidate-list-item strong{font-size:16px;font-weight:800;margin:0}.candidate-timeline p{margin:3px 0;color:#595961}.candidate-timeline small,.candidate-list-item small{color:#85858e}.candidate-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.candidate-two-columns>div>h3{font-size:16px;font-weight:800;margin-bottom:13px}.candidate-list-item{display:flex;flex-direction:column;gap:3px;padding:13px 14px;background:#f8f8fa;border-radius:11px;margin-bottom:9px}.candidate-tag-list{display:flex;flex-wrap:wrap;gap:9px}.candidate-tag-list>span{display:flex;gap:7px;align-items:center;padding:8px 12px;border-radius:999px;background:var(--brand-soft);color:#84101b;font-weight:700}.candidate-tag-list small{padding-right:7px;border-right:1px solid #e7aeb4;color:#79545a}.candidate-tag-list .muted-tag{background:#f1f1f3;color:#777}.candidate-empty{padding:18px;border-radius:11px;background:#f8f8fa;color:#7b7b84;margin:0}.internal-document-list,.candidate-history-list{display:grid;gap:10px}.internal-document-list article{display:grid;grid-template-columns:auto 1fr auto auto;gap:13px;align-items:center;padding:13px;border:1px solid #ededf0;border-radius:12px}.internal-document-list article>i{font-size:24px;color:var(--brand)}.internal-document-list article>div{display:flex;flex-direction:column}.internal-document-list article span{color:#777780;font-size:13px}.internal-document-list article>a{padding:7px 10px;border-radius:8px;background:var(--brand-soft);color:var(--brand);font-weight:700}.document-review{padding:5px 9px;border-radius:999px;background:#fff0d6;color:#8a5c0c}.document-review-approved{background:#dff4e7;color:#17683a}.document-review-rejected{background:#fde8e8;color:#9e3333}.candidate-history-list article{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #ededf0}.candidate-history-list article:last-child{border-bottom:0}.candidate-history-list>article>i{color:var(--brand);font-size:20px}.candidate-history-list article>div{display:flex;flex-direction:column}.candidate-history-list span,.candidate-history-list time{color:#7b7b84;font-size:13px}
@media(max-width:1000px){.candidate-file-grid{grid-template-columns:1fr}.candidate-data-list{grid-template-columns:1fr 1fr}.candidate-file-hero{align-items:flex-start}.candidate-file-hero-actions{flex-direction:column;align-items:flex-end}}
@media(max-width:680px){.candidate-file-hero,.candidate-file-identity{align-items:flex-start;flex-direction:column}.candidate-file-hero-actions{width:100%;align-items:flex-start}.candidate-file-hero-actions>a{width:100%;text-align:center}.candidate-data-list,.candidate-two-columns{grid-template-columns:1fr}.internal-document-list article{grid-template-columns:auto 1fr}.internal-document-list .document-review,.internal-document-list article>a{grid-column:2}.candidate-history-list article{grid-template-columns:auto 1fr}.candidate-history-list time{grid-column:2}.candidate-file-card{padding:18px}}

/* Interviews */
.primary-action,.secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;padding:11px 16px;font-weight:800}.primary-action{background:var(--brand);color:#fff}.secondary-action{background:#ececef;color:#333}.interview-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.interview-summary-grid article{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;padding:18px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.interview-summary-grid i{grid-row:1/3;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:var(--brand-soft);color:var(--brand);font-size:21px}.interview-summary-grid span{color:var(--ink-soft)}.interview-summary-grid strong{font-size:24px}.interview-scheduler,.interview-list-section,.interview-evaluation-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:24px;box-shadow:var(--shadow)}.interview-scheduler>header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.interview-scheduler>header h2,.interview-list-section h2,.interview-evaluation-card h2{font-size:21px;font-weight:800;margin:0}.interview-scheduler>header p,.interview-evaluation-card header p{color:var(--ink-soft);margin:3px 0}.interview-scheduler>header button{border:0;background:none}.interview-scheduler form{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.interview-scheduler label,.interview-evaluation-card label,.portal-decision-card label{display:flex;flex-direction:column;gap:7px;font-weight:700}.interview-scheduler input,.interview-scheduler select,.interview-filters select,.interview-evaluation-card input,.interview-evaluation-card select,.interview-evaluation-card textarea,.danger-zone input,.portal-decision-card input,.portal-decision-card select,.portal-decision-card textarea{border:1px solid #dddde1;border-radius:9px;padding:10px;background:#fff}.interview-scheduler .wide-field{grid-column:span 2}.interview-scheduler footer{grid-column:1/4;display:flex;justify-content:flex-end;gap:10px}.interview-list-section>.section-title{display:flex;justify-content:space-between;align-items:center}.interview-filters{display:flex;gap:8px}.interview-list{display:grid;gap:11px}.interview-list>article{display:grid;grid-template-columns:78px minmax(220px,1fr) minmax(220px,.7fr) 130px auto;align-items:center;gap:16px;padding:15px;border:1px solid var(--line);border-radius:14px}.interview-list time{display:grid;place-items:center;padding:8px;border-radius:11px;background:var(--brand-soft);color:var(--brand)}.interview-list time strong{font-size:24px}.interview-list time span,.interview-list time small{font-size:11px}.interview-list-main>span{font-size:12px;color:var(--brand);font-weight:800}.interview-list-main h3{font-size:17px;font-weight:800;margin:2px 0}.interview-list-main p,.interview-list-meta span{color:var(--ink-soft);margin:0}.interview-list-meta{display:grid;gap:6px}.interview-state{display:grid;gap:5px}.interview-status{display:inline-flex;width:max-content;padding:5px 9px;border-radius:999px;background:#fff0d6;color:#895b0b;font-weight:800;font-size:12px}.interview-status.status-completed{background:#dff4e7;color:#17683a}.interview-status.status-cancelled,.interview-status.status-no_show{background:#fde8e8;color:#9e3333}.interview-state small{color:var(--ink-soft)}.interview-list>article>a{color:var(--brand);font-weight:800;text-decoration:none;white-space:nowrap}.interview-detail-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:18px}.interview-info-card,.interview-candidate-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:24px}.interview-info-card>header{display:flex;justify-content:space-between}.interview-info-card h2,.interview-candidate-card h2{font-size:20px;font-weight:800}.interview-info-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.interview-info-card dl div,.interview-candidate-card dl div{padding:12px;background:#f8f8fa;border-radius:10px}.interview-info-card dt,.interview-candidate-card dt{color:var(--ink-soft);font-size:12px}.interview-info-card dd,.interview-candidate-card dd{font-weight:700;margin:3px 0}.meeting-link,.interview-candidate-card>a{display:inline-flex;gap:7px;padding:9px 12px;border-radius:9px;background:var(--brand);color:#fff;text-decoration:none;font-weight:800}.interview-candidate-card>span{color:var(--brand);font-weight:800;font-size:12px}.interview-candidate-card>p{color:var(--ink-soft)}.interview-candidate-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.evaluation-scores{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:20px 0}.evaluation-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.interview-evaluation-card footer{display:flex;align-items:flex-end;justify-content:flex-end;gap:14px;margin-top:16px}.saved-evaluations{display:grid;gap:10px}.saved-evaluations article{display:grid;grid-template-columns:120px 1fr auto;align-items:center;padding:13px;background:#f8f8fa;border-radius:11px}.saved-evaluations article>div{display:grid}.saved-evaluations strong{font-size:20px;color:var(--brand)}.danger-zone{display:flex;justify-content:space-between;align-items:center;padding:20px;border:1px solid #efc7cb;background:#fffafa;border-radius:15px}.danger-zone h2{font-size:18px;font-weight:800;color:#9e3333}.danger-zone p{margin:0;color:var(--ink-soft)}.danger-zone form{display:flex;gap:8px}.danger-zone button{border:0;border-radius:9px;padding:10px 13px;background:#9e3333;color:#fff;font-weight:800}

/* Client portal interviews */
.portal-header nav{display:flex;gap:8px}.portal-header nav a{padding:8px 11px;border-radius:8px;color:#555;font-weight:700}.portal-header nav a.active{background:var(--brand-soft);color:var(--brand)}.portal-page-heading{padding:30px;border-radius:20px;background:linear-gradient(135deg,#1a1a1f,#3b3033);color:#fff;margin-bottom:18px}.portal-page-heading p{color:#f18b96;font-weight:800;margin:0}.portal-page-heading h1{font-weight:800;margin:5px 0}.portal-page-heading span{color:#ddd}.portal-interview-summary,.portal-candidate-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.portal-interview-summary article,.portal-candidate-facts article{display:grid;padding:17px;background:#fff;border:1px solid var(--line);border-radius:13px}.portal-interview-summary span,.portal-candidate-facts span{color:var(--ink-soft)}.portal-interview-summary strong,.portal-candidate-facts strong{font-size:21px}.portal-interview-list{display:grid;gap:12px}.portal-interview-list>article{display:grid;grid-template-columns:80px 1fr 150px auto;gap:16px;align-items:center;padding:17px;background:#fff;border:1px solid var(--line);border-radius:14px}.portal-interview-list time{display:grid;place-items:center;padding:9px;background:var(--brand-soft);color:var(--brand);border-radius:11px}.portal-interview-list time strong{font-size:23px}.portal-interview-list time span,.portal-interview-list time small{font-size:11px}.portal-interview-list h2{font-size:18px;font-weight:800;margin:2px 0}.portal-interview-list p{margin:0;color:var(--ink-soft)}.portal-interview-state{display:grid}.portal-interview-state span{color:var(--ink-soft)}.portal-interview-list>article>a,.portal-back-link{color:var(--brand);font-weight:800}.portal-empty{text-align:center;padding:50px;background:#fff;border-radius:16px}.portal-empty i{font-size:40px;color:var(--brand)}.portal-candidate-hero{display:flex;justify-content:space-between;align-items:center;padding:28px;border-radius:20px;background:linear-gradient(135deg,#1a1a1f,#3b3033);color:#fff}.portal-candidate-hero h1{font-weight:800}.portal-candidate-hero p{color:#ddd}.portal-match-score{width:100px;height:100px;border-radius:50%;display:grid;place-content:center;text-align:center;border:7px solid var(--brand)}.portal-match-score strong{font-size:23px}.portal-match-score span{font-size:11px}.portal-candidate-facts{grid-template-columns:repeat(4,1fr);margin-top:16px}.portal-interview-appointment,.portal-decision-result{display:flex;align-items:center;justify-content:space-between;padding:20px;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:18px}.portal-interview-appointment h2{font-size:18px;font-weight:800}.portal-interview-appointment p{margin:3px 0;color:var(--ink-soft)}.portal-interview-appointment>a{padding:10px 13px;border-radius:9px;background:var(--brand);color:#fff;font-weight:800}.portal-decision-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:24px}.portal-decision-card h2{font-weight:800}.portal-decision-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end;margin-top:16px}.portal-decision-row button{height:45px;border:0;border-radius:9px;background:var(--brand);color:#fff;font-weight:800;padding:0 18px}.portal-decision-result{justify-content:flex-start;gap:16px}.portal-decision-result>i{font-size:32px;color:#187348}.portal-decision-result h2{font-weight:800;margin:2px 0}
@media(max-width:1000px){.interview-summary-grid{grid-template-columns:1fr 1fr}.interview-list>article{grid-template-columns:70px 1fr auto}.interview-list-meta{grid-column:2}.interview-state{grid-row:1/3;grid-column:3}.interview-list>article>a{grid-column:3}.interview-detail-grid{grid-template-columns:1fr}.evaluation-scores{grid-template-columns:repeat(3,1fr)}.evaluation-notes{grid-template-columns:1fr}.portal-interview-list>article{grid-template-columns:75px 1fr auto}.portal-interview-state{grid-column:2}.portal-interview-list>article>a{grid-column:3;grid-row:1/3}.portal-decision-row{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.interview-summary-grid,.interview-scheduler form,.interview-info-card dl,.evaluation-scores,.portal-interview-summary,.portal-candidate-facts{grid-template-columns:1fr 1fr}.interview-scheduler .wide-field{grid-column:span 2}.interview-scheduler footer{grid-column:1/3}.interview-list>article{grid-template-columns:62px 1fr}.interview-list-meta,.interview-state,.interview-list>article>a{grid-column:2;grid-row:auto}.danger-zone,.danger-zone form,.portal-header{align-items:stretch;flex-direction:column}.portal-header nav{overflow:auto}.portal-interview-list>article{grid-template-columns:62px 1fr}.portal-interview-state,.portal-interview-list>article>a{grid-column:2;grid-row:auto}.portal-candidate-hero{align-items:flex-start;gap:20px;flex-direction:column}.portal-decision-row{grid-template-columns:1fr}}

/* Internal operations center */
.operations-page{padding-bottom:55px}.operation-back{display:inline-flex;align-items:center;gap:7px;margin-bottom:16px;color:var(--brand);font-weight:800;text-decoration:none}.operation-form-card,.operation-table-card,.operation-card{padding:23px;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);margin-bottom:20px}.operation-form-card>header,.operation-table-card>header,.operation-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px}.operation-form-card>header h2,.operation-table-card>header h2,.operation-card>header h2{margin:0;font-size:20px;font-weight:800}.operation-form-card>header p{margin:3px 0;color:var(--ink-soft)}.operation-form-card>header>button{border:0;background:transparent}.operation-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.operation-form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-form-grid label{display:grid;gap:6px;color:var(--ink-soft);font-size:13px;font-weight:700}.operation-form-grid input,.operation-form-grid select,.operation-form-grid textarea,.operation-filters input,.operation-filters select,.candidate-list-owner select,.candidate-list-review select{width:100%;min-height:43px;padding:9px 11px;border:1px solid #dddde2;border-radius:9px;background:#fff;color:var(--ink)}.operation-form-grid textarea{min-height:82px}.operation-form-grid .wide,.form-divider.wide{grid-column:1/-1}.operation-form-grid .check{display:flex;flex-direction:row;align-items:center}.operation-form-grid .check input{width:auto;min-height:auto}.operation-form-grid footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px}.form-divider{display:flex;align-items:center;gap:10px;padding:12px;border-radius:10px;background:var(--brand-soft);color:var(--brand)}.form-divider span{color:var(--ink-soft);font-size:12px}.operation-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(2,minmax(130px,1fr)) auto auto;gap:9px;margin-bottom:18px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:13px}.operation-filters button,.operation-filters a{display:grid;place-items:center;padding:8px 14px;border:0;border-radius:9px;font-weight:800;text-decoration:none}.operation-filters button{background:var(--brand);color:#fff}.operation-filters a{color:var(--ink-soft);background:#eeeef1}.candidate-filters{grid-template-columns:2fr repeat(4,1fr) auto auto}.operation-table-card table{width:100%;border-collapse:collapse}.operation-table-card th,.operation-table-card td{padding:13px;text-align:right;border-bottom:1px solid #ededf0;vertical-align:middle}.operation-table-card th{color:var(--ink-soft);background:#f8f8fa;font-size:12px}.operation-table-card td{font-size:13px}.operation-table-card td strong,.operation-table-card td small{display:block}.operation-table-card td small{color:var(--ink-soft)}.table-action{display:inline-flex;padding:7px 10px;border-radius:8px;background:var(--brand-soft);color:var(--brand);font-weight:800;text-decoration:none;white-space:nowrap}.operation-status{display:inline-flex;width:max-content;padding:5px 9px;border-radius:999px;background:#eeeef1;color:#555;font-size:12px;font-weight:800}.operation-status.status-active,.operation-status.status-approved,.operation-status.status-in_progress,.operation-status.status-completed{background:#dff4e7;color:#17683a}.operation-status.status-draft,.operation-status.status-pending_review,.operation-status.status-submitted,.operation-status.status-under_review,.operation-status.status-needs_completion{background:#fff0d6;color:#8a5c0c}.operation-status.status-rejected,.operation-status.status-cancelled,.operation-status.status-suspended{background:#fde8e8;color:#9e3333}.mini-progress{width:100px;height:6px;border-radius:99px;background:#e8e8eb;overflow:hidden}.mini-progress span{display:block;height:100%;background:var(--brand)}.operation-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px;margin-bottom:18px;border-radius:20px;background:linear-gradient(135deg,#18181d,#3d3436);color:#fff}.operation-hero>div>span{color:#f39aa4;font-weight:800}.operation-hero h1{margin:3px 0;font-size:29px;font-weight:800}.operation-hero p{margin:0;color:#ddd}.operation-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.operation-detail-grid>.operation-card,.operation-detail-grid>.operation-form-card{margin-bottom:18px}.operation-card dl{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0}.operation-card dl div{padding:12px;border-radius:10px;background:#f8f8fa}.operation-card dt{color:var(--ink-soft);font-size:12px}.operation-card dd{margin:3px 0;font-weight:700}.operation-list-item{display:grid;padding:11px 0;border-bottom:1px solid #ededf0}.operation-list-item span{color:var(--ink-soft)}.operation-account-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.operation-account-grid article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:13px;background:#f8f8fa;border-radius:11px}.operation-account-grid article>i{font-size:25px;color:var(--brand)}.operation-account-grid article div{display:grid}.operation-account-grid article span{color:var(--ink-soft)}.operation-account-grid button{border:0;color:var(--brand);background:var(--brand-soft);border-radius:8px;padding:8px;font-weight:700}.position-cards{display:grid;gap:11px}.position-cards>article{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:18px;padding:15px;border:1px solid #ededf0;border-radius:13px}.position-cards h3{margin:2px 0;font-size:18px;font-weight:800}.position-cards p,.position-cards span{margin:0;color:var(--ink-soft)}.position-cards dl{grid-template-columns:repeat(3,1fr)}.position-cards>a{padding:9px 12px;border-radius:9px;background:var(--brand);color:#fff;font-weight:800;text-decoration:none}.candidate-operations-grid{display:grid;grid-template-columns:190px 1fr;gap:16px}.candidate-queue{position:sticky;top:15px;height:max-content;display:grid;gap:5px;padding:22px;background:#202026;color:#fff;border-radius:16px}.candidate-queue strong{font-size:34px}.candidate-queue span{color:#ddd}.candidate-queue div{margin-top:10px;padding-top:12px;border-top:1px solid #444;color:#f2a0a8;font-size:12px}.candidate-operation-list{display:grid;gap:11px}.candidate-operation-list>article{display:grid;grid-template-columns:52px minmax(230px,1.5fr) 130px minmax(145px,.8fr) minmax(145px,.8fr) auto;align-items:center;gap:13px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:14px}.candidate-list-avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:var(--brand-soft);color:var(--brand);font-size:20px;font-weight:800}.candidate-list-primary>span{color:var(--brand);font-size:11px;font-weight:800}.candidate-list-primary h2{margin:1px 0;font-size:17px;font-weight:800}.candidate-list-primary p,.candidate-list-primary small{display:block;margin:0;color:var(--ink-soft)}.candidate-list-progress,.candidate-list-owner,.candidate-list-review{display:grid;gap:5px}.candidate-list-progress>span,.candidate-list-owner>span{color:var(--ink-soft);font-size:11px}.candidate-list-progress>div{height:6px;background:#e8e8eb;border-radius:99px;overflow:hidden}.candidate-list-progress i{display:block;height:100%;background:var(--brand)}.candidate-list-owner select,.candidate-list-review select{min-height:36px;padding:6px;font-size:12px}
@media(max-width:1100px){.operation-form-grid{grid-template-columns:repeat(2,1fr)}.candidate-filters{grid-template-columns:repeat(3,1fr)}.candidate-operation-list>article{grid-template-columns:52px 1fr 130px}.candidate-list-owner,.candidate-list-review,.candidate-operation-list>article>a{grid-column:auto}.candidate-list-primary{grid-column:2/4}}
@media(max-width:760px){.operation-detail-grid,.candidate-operations-grid{grid-template-columns:1fr}.operation-form-grid,.operation-form-grid.compact,.operation-card dl,.operation-account-grid{grid-template-columns:1fr}.operation-filters,.candidate-filters{grid-template-columns:1fr}.candidate-queue{position:static}.candidate-operation-list>article{grid-template-columns:48px 1fr}.candidate-list-primary{grid-column:2}.candidate-list-progress,.candidate-list-owner,.candidate-list-review,.candidate-operation-list>article>a{grid-column:1/3}.position-cards>article{grid-template-columns:1fr}.operation-hero{align-items:flex-start;flex-direction:column}}

/* Client candidate submissions */
.submission-internal-list{display:grid;gap:11px}.submission-internal-list>article{display:grid;grid-template-columns:50px minmax(190px,1.2fr) minmax(200px,1fr) 150px 150px auto;align-items:center;gap:14px;padding:15px;border:1px solid var(--line);border-radius:14px}.submission-internal-list>article>div{display:grid}.submission-person>span,.submission-internal-list small{color:var(--brand);font-size:11px;font-weight:800}.submission-person h3{font-size:17px;font-weight:800;margin:2px 0}.submission-person p,.submission-internal-list>article>div>span{color:var(--ink-soft);margin:0}.submission-scores{gap:6px}.submission-scores span{display:flex;justify-content:space-between}.submission-state{gap:5px}.submission-state small{color:var(--ink-soft);font-weight:500}.submission-actions{display:flex!important;flex-direction:column;gap:6px}.submission-actions a,.submission-actions button{border:0;border-radius:8px;padding:8px 10px;color:var(--brand);background:var(--brand-soft);font-weight:800;text-decoration:none;white-space:nowrap}.submission-actions .primary,.submission-actions button{color:#fff;background:var(--brand)}.submission-actions button.secondary{color:var(--brand);background:var(--brand-soft)}
.portal-submission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.portal-submission-grid>article{position:relative;padding:22px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.compare-check{position:absolute;left:16px;top:16px;display:flex;gap:5px;color:var(--ink-soft);font-size:12px}.portal-submission-avatar{width:54px;height:54px;display:grid;place-items:center;margin-bottom:12px;border-radius:15px;background:var(--brand-soft);color:var(--brand);font-size:22px;font-weight:800}.portal-submission-grid article>span{color:var(--brand);font-size:11px;font-weight:800}.portal-submission-grid h2{font-size:19px;font-weight:800;margin:3px 0}.portal-submission-grid p{color:var(--ink-soft)}.portal-submission-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.portal-submission-metrics>div{display:grid;padding:10px;border-radius:9px;background:#f8f8fa}.portal-submission-metrics small{color:var(--ink-soft)}.portal-submission-metrics strong{font-size:18px}.portal-submission-grid footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.portal-submission-grid footer>a{color:var(--brand);font-weight:800}.compare-toolbar{position:sticky;top:10px;z-index:8;display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:12px 16px;border-radius:12px;background:#202026;color:#fff;box-shadow:0 10px 35px rgba(0,0,0,.18)}.compare-toolbar button{border:0;border-radius:8px;padding:8px 12px;background:var(--brand);color:#fff;font-weight:800}.compare-toolbar button.clear{background:#44444c}.comparison-dialog{width:min(850px,92vw);border:0;border-radius:17px;padding:0;box-shadow:0 25px 80px rgba(0,0,0,.3)}.comparison-dialog::backdrop{background:rgba(0,0,0,.55)}.comparison-dialog>header{display:flex;justify-content:space-between;padding:18px 22px;background:#202026;color:#fff}.comparison-dialog h2{margin:0;font-weight:800}.comparison-dialog header button{border:0;background:transparent;color:#fff}.comparison-dialog>div{padding:20px;overflow:auto}.comparison-dialog table{width:100%;border-collapse:collapse}.comparison-dialog th,.comparison-dialog td{padding:12px;border:1px solid var(--line);text-align:center}.comparison-dialog tbody th{background:#f8f8fa}.portal-share-note{display:flex;gap:14px;margin:16px 0;padding:18px;border:1px solid #ead4d6;border-radius:13px;background:#fff8f8}.portal-share-note>i{font-size:25px;color:var(--brand)}.portal-share-note p{margin:4px 0;color:var(--ink-soft)}.portal-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.portal-profile-card{padding:22px;background:#fff;border:1px solid var(--line);border-radius:15px}.portal-profile-card h2{font-size:19px;font-weight:800}.portal-profile-item{display:grid;padding:11px 0;border-bottom:1px solid #ededf0}.portal-profile-item span{color:var(--ink-soft)}.portal-skill-list{display:flex;flex-wrap:wrap;gap:8px}.portal-skill-list span{padding:7px 10px;border-radius:99px;background:var(--brand-soft);color:var(--brand);font-weight:700}.portal-cv-link{display:flex;gap:8px;padding:11px;border-radius:9px;background:#f8f8fa;color:var(--brand);font-weight:800}.submission-decision-card{margin-bottom:35px}.submission-choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.submission-choice-row label{display:flex;flex-direction:row;align-items:center;padding:13px;border:1px solid var(--line);border-radius:10px}.submission-decision-card>form>label{margin:15px 0}.submission-decision-card textarea{border:1px solid var(--line);border-radius:9px;padding:10px}
@media(max-width:1100px){.submission-internal-list>article{grid-template-columns:50px 1fr 1fr}.submission-scores,.submission-state,.submission-actions{grid-column:auto}.portal-submission-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.submission-internal-list>article{grid-template-columns:48px 1fr}.submission-internal-list>article>div:not(.candidate-list-avatar),.submission-actions{grid-column:2}.portal-submission-grid,.portal-profile-grid,.submission-choice-row{grid-template-columns:1fr}.compare-toolbar{flex-wrap:wrap}}

/* Interview requests and candidate notifications */
.candidate-header-actions{display:flex;align-items:center;gap:14px}.candidate-header-actions form{margin:0}.candidate-notification-badge{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-weight:800}.candidate-latest-alert{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding:18px 20px;border:1px solid #e6c6ca;border-right:4px solid var(--brand);border-radius:14px;background:#fff7f8}.candidate-latest-alert>i{font-size:24px;color:var(--brand)}.candidate-latest-alert>div{display:grid;flex:1}.candidate-latest-alert span{color:var(--ink-soft)}.candidate-latest-alert>a,.candidate-interview-list a{padding:9px 13px;border-radius:9px;background:var(--brand);color:#fff;text-decoration:none;font-weight:800;white-space:nowrap}.candidate-card-empty{display:flex;align-items:center;justify-content:center;gap:10px;min-height:95px;color:var(--ink-soft)}.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(--line);border-radius:13px}.candidate-interview-list>article>div{display:grid;gap:3px}.candidate-interview-list small,.candidate-notification-list small{color:var(--ink-soft)}.candidate-interview-date>i{color:var(--brand)}.candidate-notification-list>article{display:flex;gap:13px;padding:15px;border:1px solid var(--line);border-radius:12px}.candidate-notification-list>article.is-unread{border-right:4px solid var(--brand);background:#fffafb}.candidate-notification-list>article>i{font-size:20px;color:var(--brand)}.candidate-notification-list p{margin:3px 0;color:var(--ink-soft)}
.client-interview-requests{margin:20px 0}.client-interview-requests .status-pill{text-decoration:none}.client-interview-request-list{display:grid;gap:10px}.client-interview-request-list>article{display:grid;grid-template-columns:auto minmax(220px,1fr) minmax(220px,.8fr) auto;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:12px}.client-interview-request-list>article>div{display:grid}.client-interview-request-list small{color:var(--ink-soft)}.client-interview-request-list .primary-action{text-decoration:none}
.submission-appointment,.portal-interview-time{display:grid!important;gap:2px;margin-top:6px;padding:8px 10px;border-radius:9px;background:#eaf6f2}.submission-appointment.is-requested,.portal-interview-time.is-requested{background:#fff2dc}.submission-appointment strong,.portal-interview-time strong{font-size:12px}.portal-interview-time{margin-top:13px}.portal-interview-summary{display:flex;align-items:center;gap:16px;margin:16px 0;padding:20px;border:1px solid #bcded6;border-right:4px solid var(--brand);border-radius:14px;background:#f4fbf9}.portal-interview-summary.is-requested{border-color:#ecd39f;background:#fff9ec}.portal-interview-summary>i{font-size:28px;color:var(--brand)}.portal-interview-summary>div{flex:1}.portal-interview-summary h2{font-size:20px;margin:3px 0}.portal-interview-summary p{margin:0;color:var(--ink-soft)}
@media(max-width:800px){.candidate-header-actions{align-items:flex-end;flex-direction:column}.candidate-latest-alert,.portal-interview-summary{align-items:flex-start;flex-wrap:wrap}.candidate-interview-list>article,.client-interview-request-list>article{grid-template-columns:1fr}.client-interview-request-list .alert-icon{display:none}}

/* Procedures module */
.procedure-summary{grid-template-columns:repeat(6,1fr)}.procedure-summary .is-danger{border-color:#e7b4b4;background:#fff5f5}.procedure-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;align-items:end;gap:12px;margin:20px 0;padding:16px;background:#fff;border:1px solid var(--line);border-radius:14px}.procedure-filters label,.procedure-sidebar label,.procedure-step-dialog label{display:grid;gap:6px;color:var(--ink-soft);font-weight:700}.procedure-filters input,.procedure-filters select,.procedure-sidebar input,.procedure-sidebar select,.procedure-sidebar textarea,.procedure-step-dialog input,.procedure-step-dialog select,.procedure-step-dialog textarea{border:1px solid var(--line);border-radius:9px;padding:10px;background:#fff}.procedure-filters>a{padding:10px;color:var(--brand);font-weight:800;text-decoration:none}.procedure-list{display:grid;gap:12px}.procedure-list>article{display:grid;grid-template-columns:110px minmax(210px,1.3fr) minmax(140px,.8fr) minmax(190px,1fr) 150px auto;align-items:center;gap:15px;padding:17px;background:#fff;border:1px solid var(--line);border-radius:15px}.procedure-list>article.has-blocker{border-right:4px solid #b33b3b}.procedure-code{display:grid;justify-items:center}.procedure-code>i{font-size:25px;color:var(--brand)}.procedure-code>span{font-size:11px;font-weight:800}.procedure-code small,.procedure-list small{color:var(--ink-soft)}.procedure-person>span{color:var(--brand);font-size:11px;font-weight:800}.procedure-person h2{font-size:18px;margin:2px 0;font-weight:800}.procedure-person p{margin:0;color:var(--ink-soft)}.procedure-progress>div{display:flex;justify-content:space-between}.procedure-progress progress,.procedure-hero-progress progress{width:100%;accent-color:var(--brand)}.procedure-status{display:grid;gap:6px}.procedure-status small{color:#a33}.procedure-open{padding:9px 12px;border-radius:9px;background:var(--brand);color:#fff;text-decoration:none;font-weight:800;white-space:nowrap}.procedure-hero{display:grid;grid-template-columns:1fr 240px auto;align-items:center;gap:25px;padding:28px;background:linear-gradient(135deg,#25252b,#404047);border-radius:20px;color:#fff}.procedure-hero>div:first-child>span{color:#e1b8ba;font-weight:800}.procedure-hero h1{font-weight:800}.procedure-hero p{margin:0;color:#ddd}.procedure-hero-progress{display:grid}.procedure-hero-progress>strong{font-size:32px}.procedure-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.procedure-facts article{display:grid;padding:16px;background:#fff;border:1px solid var(--line);border-radius:12px}.procedure-facts span,.procedure-facts small{color:var(--ink-soft)}.procedure-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px}.procedure-main{display:grid;gap:16px}.procedure-stage,.procedure-sidebar>section{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px}.procedure-stage>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.procedure-stage>header>div{display:flex;align-items:center;gap:10px}.procedure-stage>header>div>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--brand-soft);color:var(--brand);font-weight:800}.procedure-stage h2,.procedure-sidebar h2{font-size:18px;margin:0;font-weight:800}.procedure-step-list{display:grid;gap:8px}.procedure-step-list>article{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:11px}.procedure-step-list>article.step-completed{background:#f1faf6}.procedure-step-list>article.step-blocked{border-color:#e6b5b5;background:#fff6f6}.step-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--brand-soft);color:var(--brand)}.procedure-step-list>article>div{display:grid}.procedure-step-list small{color:var(--ink-soft)}.procedure-step-list p{margin:3px 0 0;color:#9a3838}.edit-procedure-step{border:0;border-radius:8px;padding:8px 10px;background:var(--brand-soft);color:var(--brand);font-weight:800}.procedure-sidebar{display:grid;align-content:start;gap:14px}.procedure-sidebar form{display:grid;gap:12px;margin-top:14px}.procedure-document-list,.procedure-history{display:grid;gap:9px;margin-top:14px}.procedure-document-list>div,.procedure-history>div{display:flex;gap:9px;padding:9px;border-radius:9px;background:#f8f8fa}.procedure-document-list i,.procedure-history i{color:var(--brand)}.procedure-document-list span,.procedure-history span{display:grid}.procedure-document-list small,.procedure-history small{color:var(--ink-soft)}.procedure-step-dialog{width:min(540px,92vw);border:0;border-radius:16px;padding:0;box-shadow:0 25px 80px rgba(0,0,0,.3)}.procedure-step-dialog::backdrop{background:rgba(0,0,0,.55)}.procedure-step-dialog form{display:grid;gap:14px;padding:22px}.procedure-step-dialog header,.procedure-step-dialog footer{display:flex;align-items:center;justify-content:space-between}.procedure-step-dialog header button,.procedure-step-dialog footer>button:first-child{border:0;background:transparent;color:var(--ink-soft)}.procedure-step-dialog h2{font-size:19px;margin:3px 0}
@media(max-width:1100px){.procedure-summary{grid-template-columns:repeat(3,1fr)}.procedure-list>article{grid-template-columns:90px 1fr 1fr}.procedure-progress,.procedure-status,.procedure-open{grid-column:auto}.procedure-layout{grid-template-columns:1fr}.procedure-sidebar{grid-template-columns:repeat(3,1fr)}}@media(max-width:750px){.procedure-summary,.procedure-facts{grid-template-columns:1fr 1fr}.procedure-filters{grid-template-columns:1fr}.procedure-list>article,.procedure-hero{grid-template-columns:1fr}.procedure-list>article>*{grid-column:1}.procedure-code{justify-items:start}.procedure-sidebar{grid-template-columns:1fr}}
.candidate-procedure-card{border-right:4px solid var(--brand)}.candidate-procedure-progress{display:grid;gap:8px;margin-top:15px}.candidate-procedure-progress>div{display:flex;align-items:end;gap:10px}.candidate-procedure-progress>div>strong{font-size:30px;color:var(--brand)}.candidate-procedure-progress progress{width:100%;accent-color:var(--brand)}.candidate-procedure-progress p{margin:0;color:var(--ink-soft)}.candidate-procedure-progress a{justify-self:start;color:var(--brand);font-weight:800}

/* Client submissions workspace */
.submissions-page{padding:30px;max-width:1500px;margin:0 auto}.submission-page-hero{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 34px;border-radius:20px;background:radial-gradient(circle at 10% 20%,rgba(193,18,35,.38),transparent 34%),linear-gradient(135deg,#1c1c21,#38383f);color:#fff;box-shadow:0 16px 45px rgba(25,25,30,.14)}.submission-page-hero p{margin:0;color:#f3a9b0;font-weight:800}.submission-page-hero h1{font-size:34px;font-weight:800;margin:6px 0}.submission-page-hero>div>span{color:#ddd}.submission-page-hero>a{display:inline-flex;align-items:center;gap:8px;padding:13px 18px;border-radius:11px;background:var(--brand);color:#fff;text-decoration:none;font-weight:800;white-space:nowrap;box-shadow:0 8px 25px rgba(193,18,35,.3)}.submission-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.submission-summary article{display:flex;align-items:center;gap:14px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 30px rgba(24,24,30,.04)}.submission-summary article>div{display:grid}.submission-summary small{color:var(--ink-soft);font-weight:700}.submission-summary strong{font-size:27px;line-height:1.1}.submission-summary p{margin:3px 0 0;color:var(--ink-soft);font-size:12px}.summary-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;font-size:20px;background:#f1f2f4;color:#555}.summary-icon.ready{background:#edf8f3;color:#18734c}.summary-icon.sent{background:#edf3fb;color:#336da8}.summary-icon.requested{background:#fff1dc;color:#a4670b}.summary-icon.reserve{background:var(--brand-soft);color:var(--brand)}.submission-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) 220px auto;align-items:end;gap:12px;margin-bottom:14px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:14px}.submission-search{display:flex;align-items:center;gap:9px;padding:0 13px;border:1px solid var(--line);border-radius:10px}.submission-search i{color:var(--ink-soft)}.submission-search input{width:100%;height:44px;border:0;outline:0;background:transparent}.submission-toolbar label{display:grid;gap:4px}.submission-toolbar label>span{font-size:11px;color:var(--ink-soft);font-weight:800}.submission-toolbar select{height:44px;border:1px solid var(--line);border-radius:10px;padding:0 11px;background:#fff}.submission-result-count{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:5px;padding:8px 14px;border-radius:10px;background:#f7f7f9}.submission-result-count strong{font-size:22px;color:var(--brand)}.submission-result-count span{font-size:12px;color:var(--ink-soft)}.submission-cards{display:grid;gap:14px}.submission-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 10px 35px rgba(24,24,30,.05);transition:.2s ease}.submission-card:hover{transform:translateY(-2px);box-shadow:0 15px 45px rgba(24,24,30,.09)}.submission-card.status-card-interview_requested{border-right:4px solid #d38b1c}.submission-card.status-card-accepted{border-right:4px solid #238257}.submission-card>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid #eeeef1}.submission-candidate{display:flex;align-items:center;gap:13px}.submission-candidate .candidate-list-avatar{width:48px;height:48px;border-radius:13px}.submission-candidate>div{display:grid}.submission-candidate small{color:var(--brand);font-size:11px;font-weight:800}.submission-candidate h2{font-size:19px;font-weight:800;margin:2px 0}.submission-candidate p{margin:0;color:var(--ink-soft)}.submission-status{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:#f1f2f4;color:#555;font-size:12px;font-weight:800}.submission-status i{font-size:7px}.submission-status.status-interview_requested{background:#fff1dc;color:#9a620c}.submission-status.status-interview_scheduled{background:#edf3fb;color:#336da8}.submission-status.status-accepted,.submission-status.status-ready{background:#eaf7f0;color:#18734c}.submission-status.status-rejected{background:#fdecec;color:#a13636}.submission-card-body{display:grid;grid-template-columns:1.05fr .9fr 1.05fr;gap:0;padding:18px 20px}.submission-card-body>div{min-height:92px;padding:10px 18px;border-left:1px solid #eeeef1}.submission-card-body>div:last-child{border-left:0}.submission-client-block,.submission-timing-block{display:flex;align-items:center;gap:12px}.submission-client-block>div,.submission-timing-block>div{display:grid}.submission-client-block small,.submission-timing-block small{color:var(--ink-soft);font-size:11px}.submission-client-block strong,.submission-timing-block strong{font-size:15px}.submission-client-block p,.submission-timing-block p{margin:3px 0 0;color:var(--ink-soft)}.block-icon,.timing-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:var(--brand-soft);color:var(--brand);font-size:18px}.timing-icon{background:#fff1dc;color:#a4670b}.timing-icon.confirmed{background:#eaf7f0;color:#18734c}.timing-icon.muted{background:#f1f2f4;color:#777}.submission-score-block{display:grid;gap:10px}.submission-score-block>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px}.submission-score-block span{font-size:11px;color:var(--ink-soft)}.submission-score-block strong{font-size:14px}.submission-score-block progress{grid-column:1/-1;width:100%;height:7px;accent-color:var(--brand)}.submission-client-note{display:flex;gap:9px;margin:0 20px 14px;padding:10px 13px;border-radius:10px;background:#fff8ed;color:#6f5223}.submission-client-note>span{display:grid}.submission-client-note small{font-size:10px;font-weight:800}.submission-card>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:#fafafa;border-top:1px solid #eeeef1}.submission-card>footer>div{display:flex;gap:8px}.submission-card .primary-action,.submission-card .secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 14px;border:0;border-radius:9px;text-decoration:none;font-weight:800}.submission-card .primary-action{background:var(--brand);color:#fff}.submission-card .secondary-action{background:#fff;border:1px solid var(--line);color:var(--brand)}.submission-no-results{text-align:center;padding:50px;background:#fff;border:1px dashed var(--line);border-radius:15px}.submission-no-results i{font-size:34px;color:var(--brand)}.submission-no-results h2{font-size:20px;font-weight:800;margin-top:10px}
@media(max-width:1050px){.submission-summary{grid-template-columns:1fr 1fr}.submission-card-body{grid-template-columns:1fr 1fr}.submission-card-body>div{border-left:0;border-bottom:1px solid #eeeef1}.submission-timing-block{grid-column:1/-1}}@media(max-width:700px){.submissions-page{padding:16px}.submission-page-hero{align-items:flex-start;flex-direction:column;padding:24px}.submission-page-hero h1{font-size:27px}.submission-summary,.submission-toolbar,.submission-card-body{grid-template-columns:1fr}.submission-summary article{padding:14px}.submission-card>header,.submission-card>footer{align-items:flex-start;flex-direction:column}.submission-card>footer,.submission-card>footer>div,.submission-card .primary-action,.submission-card .secondary-action{width:100%}.submission-card-body>div,.submission-timing-block{grid-column:1;padding:14px 0}.submission-status{align-self:flex-start}}
.master-data-type-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px}.master-data-type-grid a{display:grid;gap:4px;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-decoration:none}.master-data-type-grid a.active{border-color:var(--brand);background:var(--brand-soft)}.master-data-type-grid span{color:var(--brand);font-size:20px;font-weight:800}.master-data-type-grid strong{font-size:13px}.master-row-actions{display:flex;align-items:center;gap:7px;white-space:nowrap}.toggle-master-status,.delete-master-item{border:0;border-radius:8px;padding:7px 10px;font-weight:800}.toggle-master-status{background:#eeeef1;color:#555}.delete-master-item{background:#fde8e8;color:#a11725}.delete-master-item:disabled,.toggle-master-status:disabled{opacity:.55;cursor:not-allowed}@media(max-width:900px){.master-data-type-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:520px){.master-data-type-grid{grid-template-columns:1fr 1fr}}
.master-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.master-import-card{margin-bottom:18px}.master-upload-zone{display:flex;min-height:150px;align-items:center;justify-content:center;flex-direction:column;gap:7px;border:2px dashed #d8b8bd;border-radius:14px;background:#fff9fa;cursor:pointer;text-align:center;padding:24px}.master-upload-zone i{font-size:34px;color:var(--brand)}.master-upload-zone span{color:var(--muted);font-size:13px}.master-upload-zone input{max-width:360px;margin-top:8px}.master-import-selection{margin:10px 0;color:#555;font-size:13px}.master-import-card footer,.master-import-preview footer{display:flex;justify-content:flex-end;gap:9px;margin-top:14px}.master-import-preview{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.master-import-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:12px 0}.master-import-stats div{display:grid;gap:3px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff}.master-import-stats strong{font-size:22px;color:var(--brand)}.master-import-stats span{font-size:12px;color:var(--muted)}#masterImportFilesSummary{font-size:13px;line-height:1.8}#masterImportWarnings{margin-top:12px;padding:12px;border-radius:10px;background:#fff6df;color:#765800;font-size:13px}#masterImportWarnings:empty{display:none}@media(max-width:800px){.master-import-stats{grid-template-columns:repeat(2,1fr)}}
.candidate-correction-form{display:flex;align-items:end;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid #eee}.candidate-correction-form label{display:grid;gap:6px;flex:1}.candidate-correction-form input{min-height:42px;border:1px solid #ddd;border-radius:10px;padding:8px}.candidate-correction-form button{border:0;border-radius:10px;background:var(--brand-red,#b51225);color:#fff;padding:11px 16px;font-weight:700}.candidate-correction-form span.success{color:#16834a}.candidate-correction-form span.error{color:#b51225}@media(max-width:700px){.candidate-correction-form{align-items:stretch;flex-direction:column}}
.position-full-list{display:grid;gap:18px}.position-full-card,.portal-position-complete{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.position-full-card>header,.portal-position-complete>header{display:flex;justify-content:space-between;align-items:start;gap:16px;padding:18px 20px;background:#fafafa;border-bottom:1px solid var(--line)}.position-full-card h3,.portal-position-complete h3{margin:4px 0;font-size:21px}.position-full-card header span,.portal-position-complete header small{color:var(--brand);font-weight:800}.position-detail-sections{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:20px}.position-detail-sections>section{padding:16px;border:1px solid #eeeeef;border-radius:13px}.position-detail-sections h4{margin:0 0 12px;color:var(--brand)}.position-detail-sections dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}.position-detail-sections dl div{display:grid;gap:3px}.position-detail-sections dt{color:var(--ink-soft);font-size:12px}.position-detail-sections dd{margin:0;font-weight:750}.order-note-block,.portal-order-note{margin:0 20px 18px;padding:15px;border-radius:12px;background:#f8f8fa}.order-note-block.internal{background:#fff7e7}.order-note-block p,.portal-order-note p{margin:5px 0 0;line-height:1.8}.position-requirements{display:flex;flex-wrap:wrap;gap:8px;margin:0 20px 18px}.position-requirements>strong{width:100%}.position-requirements span{padding:7px 10px;border-radius:99px;background:var(--brand-soft);color:var(--brand);font-size:12px;font-weight:750}.position-full-card>footer{display:flex;justify-content:end;padding:0 20px 20px}.complete-section-head{margin-bottom:14px}.complete-section-head p{color:var(--ink-soft)}.portal-position-complete{margin-bottom:18px}.portal-order-note{border:1px solid var(--line);background:#fff}.form-divider.wide{grid-column:1/-1}.position-form .form-divider{margin-top:10px;padding:12px 4px 4px;border-bottom:1px solid var(--line)}.position-form .form-divider strong{display:block}.position-form .form-divider span{color:var(--ink-soft);font-size:12px}@media(max-width:800px){.position-detail-sections{grid-template-columns:1fr}.position-detail-sections dl{grid-template-columns:1fr}.position-full-card>header,.portal-position-complete>header{flex-direction:column}}
.procedure-document-card{align-items:flex-start;flex-wrap:wrap}.procedure-document-card>span{min-width:0;flex:1}.procedure-document-actions{display:flex;gap:6px;margin-inline-start:auto}.procedure-document-actions a,.procedure-document-actions button{border:0;border-radius:7px;padding:6px 9px;background:var(--brand-soft);color:var(--brand);font-weight:800;text-decoration:none}.procedure-document-card.document-approved{border-right:3px solid #2d8a61}.procedure-document-card.document-rejected,.procedure-document-card.document-expired{border-right:3px solid #b33b3b}.procedure-document-card.document-submitted{border-right:3px solid #c78c24}.expiry-warning,.document-rejection-reason{color:#a33!important}.procedure-required-documents{display:grid;gap:8px;margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafafa}.procedure-required-documents h3{margin:0 0 4px;font-size:16px}.required-document{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:8px 10px;border-radius:8px;background:#fff}.required-document small{grid-column:1/-1;color:#a33}.required-document-approved strong{color:#287952}.required-document-rejected strong,.required-document-expired strong{color:#a33}.required-document-submitted strong{color:#9a6b16}
.procedure-step-list>article.transaction-step{grid-template-columns:36px minmax(0,1fr) auto;padding:15px}.transaction-summary{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:6px;margin-top:7px}.transaction-summary span{padding:4px 7px;border-radius:6px;background:#f0f1f3;color:#555;font-size:11px}.transaction-attachments{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:6px;margin-top:8px}.transaction-attachments a{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:7px;background:#edf3fb;color:#336da8;text-decoration:none;font-size:11px;font-weight:700}.edit-procedure-transaction{border:0;border-radius:8px;padding:9px 11px;background:var(--brand);color:#fff;font-weight:800}.procedure-transaction-dialog{width:min(780px,94vw)}.transaction-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.transaction-form-grid .wide-field{grid-column:1/-1}.transaction-upload-section{padding-top:14px;border-top:1px solid var(--line)}.transaction-upload-section h3{margin:0 0 10px;font-size:16px}.transaction-upload-section>div{display:grid;grid-template-columns:1fr 1.5fr auto;align-items:end;gap:10px}.transaction-upload-section button{min-height:42px;border:0;border-radius:9px;padding:8px 12px;background:#292930;color:#fff;font-weight:800}@media(max-width:650px){.transaction-form-grid,.transaction-upload-section>div{grid-template-columns:1fr}.transaction-form-grid .wide-field{grid-column:1}.procedure-step-list>article.transaction-step{grid-template-columns:34px 1fr}.procedure-step-list>article.transaction-step>button{grid-column:1/-1;width:100%}}
.contracts-page,.contract-details-page,.finance-page{max-width:1500px;margin:0 auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 28px;border-radius:18px;background:linear-gradient(135deg,#24242a,#3c3c43);color:#fff}.page-heading p{margin:0;color:#e9aab0;font-weight:800}.page-heading h1{margin:4px 0;font-weight:800}.page-heading span{color:#ddd}.page-heading>a{display:inline-flex;align-items:center;gap:7px;padding:11px 15px;border-radius:9px;text-decoration:none}.contract-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.contract-summary article{display:grid;padding:17px;background:#fff;border:1px solid var(--line);border-radius:13px}.contract-summary span{color:var(--ink-soft);font-size:12px}.contract-summary strong{font-size:24px}.contract-list,.finance-list{display:grid;gap:11px}.contract-list>article,.finance-list>article{display:grid;grid-template-columns:minmax(230px,1.4fr) repeat(3,minmax(130px,.7fr)) auto;align-items:center;gap:14px;padding:17px 19px;background:#fff;border:1px solid var(--line);border-radius:14px}.contract-list h2,.finance-list h2{margin:2px 0;font-size:18px;font-weight:800}.contract-list p,.finance-list p{margin:0;color:var(--ink-soft)}.contract-list article>div:not(:first-child),.finance-list article>div:not(:first-child){display:grid}.contract-list span,.finance-list span,.contract-list small,.finance-list small{color:var(--ink-soft);font-size:11px}.contract-list>article>a{padding:9px 12px;border-radius:8px;background:var(--brand);color:#fff;text-decoration:none;font-weight:800}.contract-hero{display:flex;justify-content:space-between;align-items:center;padding:25px;margin:12px 0 16px;border-radius:17px;background:#fff;border:1px solid var(--line)}.contract-hero h1{font-size:27px;font-weight:800;margin:4px 0}.contract-hero p{margin:0;color:var(--ink-soft)}.contract-hero>span{padding:8px 12px;border-radius:99px;background:var(--brand-soft);color:var(--brand);font-weight:800}.contract-workspace{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.contract-panel{padding:21px;background:#fff;border:1px solid var(--line);border-radius:15px}.contract-panel>header{display:flex;justify-content:space-between;align-items:start;margin-bottom:16px}.contract-panel h2{font-size:20px;font-weight:800}.contract-panel p{margin:0;color:var(--ink-soft)}.contract-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contract-form label{display:grid;gap:5px;color:var(--ink-soft);font-weight:700}.contract-form input,.contract-form select,.contract-form textarea{border:1px solid var(--line);border-radius:9px;padding:9px;background:#fff}.contract-form .wide,.contract-form footer{grid-column:1/-1}.contract-form footer{display:flex;justify-content:flex-end;gap:8px}.contract-form button{border:0;padding:10px 14px;border-radius:9px;font-weight:800}.contract-gate{padding:30px;text-align:center;border:1px dashed var(--line);border-radius:12px;color:var(--ink-soft)}.commission-inline{display:grid;grid-template-columns:repeat(3,1fr) auto;align-items:center;gap:12px;margin-top:16px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px}.commission-inline>div{display:grid}.commission-inline span{color:var(--ink-soft)}.commission-inline a{padding:9px 12px;border-radius:8px;background:var(--brand);color:#fff;text-decoration:none}.finance-list>article{grid-template-columns:minmax(250px,1.4fr) .7fr .7fr auto}.finance-overdue{border-right:4px solid #a33!important}.finance-due{border-right:4px solid #c48318!important}.finance-paid{border-right:4px solid #25805a!important}.finance-actions{display:flex!important;flex-direction:row!important;gap:6px}.finance-actions button{border:0;border-radius:8px;padding:8px 10px;background:var(--brand);color:#fff;font-weight:800}.finance-actions .waive-action{background:#eee;color:#666}.candidate-offer-card{border-right:4px solid var(--brand)}.offer-allowances{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.offer-allowances span{padding:6px 9px;border-radius:99px;background:var(--brand-soft);color:var(--brand)}#candidateOfferForm{display:grid;gap:10px;margin-top:14px}#candidateOfferForm label{display:grid;gap:5px}#candidateOfferForm textarea{border:1px solid var(--line);border-radius:9px;padding:9px}#candidateOfferForm>div{display:flex;gap:8px}#candidateOfferForm button{border:0;border-radius:9px;padding:10px 16px;background:var(--brand);color:#fff;font-weight:800}#candidateOfferForm button[value=rejected]{background:#eee;color:#555}@media(max-width:950px){.contract-workspace{grid-template-columns:1fr}.contract-list>article,.finance-list>article{grid-template-columns:1fr 1fr}.contract-list>article>a,.finance-actions{grid-column:1/-1}}@media(max-width:650px){.contract-summary{grid-template-columns:1fr 1fr}.contract-list>article,.finance-list>article,.contract-form,.commission-inline{grid-template-columns:1fr}.contract-form .wide,.contract-form footer{grid-column:1}.page-heading{align-items:flex-start;flex-direction:column}}
.receipt-page{display:grid;place-items:center;min-height:80vh}.payment-receipt{width:min(850px,100%);padding:35px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 15px 50px rgba(0,0,0,.07)}.payment-receipt header{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:20px;padding-bottom:22px;border-bottom:2px solid var(--brand)}.payment-receipt header img{width:150px}.payment-receipt h1{font-size:27px;font-weight:800}.payment-receipt header p{margin:0;color:var(--ink-soft)}.payment-receipt header>strong{color:var(--brand)}.receipt-amount{display:grid;place-items:center;padding:30px}.receipt-amount span{color:var(--ink-soft)}.receipt-amount strong{font-size:34px;color:var(--brand)}.payment-receipt dl{display:grid;grid-template-columns:1fr 1fr;gap:14px}.payment-receipt dl>div{display:grid;padding:12px;border-radius:9px;background:#f8f8fa}.payment-receipt dt{color:var(--ink-soft);font-size:12px}.payment-receipt dd{margin:0;font-weight:800}.payment-receipt footer{display:flex;justify-content:space-between;align-items:center;margin-top:25px;padding-top:18px;border-top:1px solid var(--line)}.payment-receipt footer button{border:0;border-radius:9px;padding:10px 15px;background:var(--brand);color:#fff;font-weight:800}@media print{.sidebar,.mobile-header,.payment-receipt footer button{display:none!important}.app-main{margin:0!important}.content-page{padding:0!important}.payment-receipt{box-shadow:none;border:0}}@media(max-width:650px){.payment-receipt header,.payment-receipt dl{grid-template-columns:1fr}.payment-receipt header>strong{justify-self:start}}
.users-page{max-width:1550px;margin:0 auto}.users-page .page-heading>div:last-child{display:flex;gap:8px}.users-page .page-heading button{border:0;border-radius:9px;padding:11px 14px;font-weight:800}.user-admin-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(310px,.6fr);gap:16px}.user-admin-panel{padding:20px;background:#fff;border:1px solid var(--line);border-radius:15px}.user-admin-panel>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.user-admin-panel h2{font-size:20px;font-weight:800}.employee-list,.role-list{display:grid;gap:9px}.employee-list>article{display:grid;grid-template-columns:46px minmax(210px,1fr) minmax(170px,.8fr) auto auto;align-items:center;gap:12px;padding:13px;border:1px solid #ececef;border-radius:11px}.employee-avatar{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:var(--brand-soft);color:var(--brand);font-size:19px;font-weight:800}.employee-list h3,.role-list h3{margin:1px 0;font-size:16px;font-weight:800}.employee-list p{margin:0;color:var(--ink-soft);font-size:12px}.employee-list article>div:nth-child(3){display:grid}.employee-list small,.employee-list article>div:nth-child(3)>span,.role-list small{color:var(--ink-soft);font-size:11px}.employee-status{padding:6px 9px;border-radius:99px;font-size:11px;font-weight:800}.employee-status.status-active{background:#eaf7f0;color:#18734c}.employee-status.status-suspended{background:#fdecec;color:#a13636}.employee-status.status-inactive{background:#eee;color:#666}.employee-actions{display:flex!important;gap:5px}.employee-actions button,.role-list button{border:0;border-radius:7px;padding:7px 9px;background:#f0f1f3;color:#555;font-weight:800}.role-list>article{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:9px;padding:12px;border:1px solid #ececef;border-radius:10px}.role-list h3 i{color:var(--brand);font-size:11px}.role-picker{grid-column:1/-1;border:1px solid var(--line);border-radius:10px;padding:12px}.role-picker legend{float:none;width:auto;padding:0 6px;font-size:13px;font-weight:800}.role-picker>label{display:flex;align-items:center;gap:8px;padding:7px}.role-picker>label>span{display:grid}.user-dialog{width:min(760px,94vw)}.role-dialog{width:min(1000px,96vw)}.permission-matrix{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-height:55vh;overflow:auto}.permission-matrix>section{border:1px solid var(--line);border-radius:10px;overflow:hidden}.permission-matrix section>header{display:flex;justify-content:space-between;padding:10px;background:#f7f7f9;font-weight:800}.permission-matrix section>div{display:grid;padding:8px}.permission-matrix section>div label{display:flex;align-items:flex-start;gap:7px;padding:6px}.permission-matrix section>div label span{display:grid}.permission-matrix section>div small{color:var(--ink-soft);font-size:10px}@media(max-width:1050px){.user-admin-layout{grid-template-columns:1fr}.employee-list>article{grid-template-columns:45px 1fr 1fr}.employee-status,.employee-actions{grid-column:auto}}@media(max-width:650px){.users-page .page-heading>div:last-child{width:100%;flex-direction:column}.employee-list>article{grid-template-columns:42px 1fr}.employee-list article>div:nth-child(3),.employee-status,.employee-actions{grid-column:1/-1}.permission-matrix{grid-template-columns:1fr}}
.user-dialog{width:min(1180px,96vw)}.employee-permissions{display:grid;gap:10px}.employee-permissions>header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.employee-permissions>header>div:first-child{display:grid;gap:3px}.employee-permissions>header small{color:var(--ink-soft);font-size:11px}.permission-legend{display:flex;flex-wrap:wrap;gap:5px}.permission-legend span,.permission-origin{padding:4px 7px;border-radius:99px;background:#f0f1f3;color:#666;font-size:10px;font-weight:800}.permission-origin.is-inherited,.permission-legend .is-inherited{background:#e9f1ff;color:#315f9e}.permission-origin.is-allowed,.permission-legend .is-allowed{background:#e6f7ee;color:#16734b}.permission-origin.is-denied,.permission-legend .is-denied{background:#fdeaea;color:#a13232}.employee-permission-matrix{max-height:48vh}.employee-permission-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto auto;align-items:center;gap:6px;padding:7px;border-bottom:1px solid #f0f0f2}.employee-permission-row:last-child{border-bottom:0}.employee-permission-row>div{display:grid}.employee-permission-row .override-choice{align-items:center!important;margin:0;padding:5px 7px!important;border:1px solid var(--line);border-radius:7px;font-size:11px;font-weight:800}.employee-permission-row .override-choice.allow:has(input:checked){border-color:#4da77c;background:#e6f7ee;color:#16734b}.employee-permission-row .override-choice.deny:has(input:checked){border-color:#d46d6d;background:#fdeaea;color:#a13232}@media(max-width:750px){.employee-permissions>header{align-items:flex-start;flex-direction:column}.employee-permission-row{grid-template-columns:1fr auto auto}.employee-permission-row>div{grid-column:1/-1}.permission-origin{justify-self:start}}
