/* REGISTRATIE Employees R1
   Business module layer. Keeps the red design system, avoids generic Bootstrap visuals. */

.emp-page { display: grid; gap: 18px; }
.emp-hero {
    position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between;
    gap: 24px; min-height: 150px; padding: 28px 30px; border-radius: 24px;
    color: #fff; background: linear-gradient(125deg,#721426 0%,#a91332 56%,#c71843 100%);
    box-shadow: 0 22px 55px rgba(125,16,35,.18);
}
.emp-hero::after { content:""; position:absolute; width:240px; height:240px; right:-42px; top:-76px; border:1px solid rgba(255,255,255,.13); border-radius:50%; box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 70px rgba(255,255,255,.028); }
.emp-hero-copy { position: relative; z-index: 1; max-width: 850px; }
.emp-kicker { display:inline-flex; align-items:center; gap:9px; font-size:.67rem; letter-spacing:.19em; text-transform:uppercase; font-weight:800; opacity:.82; }
.emp-kicker::before { content:""; width:24px; height:2px; background:rgba(255,255,255,.82); border-radius:99px; }
.emp-hero h1 { margin:8px 0 5px; font-size:clamp(1.75rem,3vw,2.55rem); font-weight:800; letter-spacing:-.035em; }
.emp-hero p { margin:0; color:rgba(255,255,255,.78); font-size:.92rem; }
.emp-hero-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.emp-hero-meta span { padding:6px 10px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.08); border-radius:999px; font-size:.68rem; font-weight:700; }
.emp-hero-action { position:relative; z-index:2; flex:0 0 auto; }
.emp-btn-light { display:inline-flex; align-items:center; gap:9px; padding:11px 15px; border-radius:12px; border:1px solid rgba(255,255,255,.45); background:#fff; color:#7d1023; text-decoration:none; font-size:.78rem; font-weight:800; box-shadow:0 10px 30px rgba(66,8,18,.18); }
.emp-btn-light:hover { color:#9b1530; transform:translateY(-1px); }

.emp-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.emp-stat { position:relative; padding:17px 18px; background:#fff; border:1px solid #efe4e6; border-radius:17px; box-shadow:0 8px 26px rgba(77,35,44,.045); }
.emp-stat small { display:block; color:#927982; font-size:.64rem; letter-spacing:.13em; text-transform:uppercase; font-weight:800; }
.emp-stat strong { display:block; margin-top:4px; font-size:1.62rem; line-height:1; color:#2c1d21; }
.emp-stat span { display:block; margin-top:5px; color:#a08c92; font-size:.7rem; }
.emp-stat::before { content:""; position:absolute; left:0; top:15px; bottom:15px; width:3px; border-radius:0 4px 4px 0; background:#bc1c3d; opacity:.78; }

.emp-card { background:#fff; border:1px solid #eee3e6; border-radius:19px; box-shadow:0 9px 30px rgba(65,29,37,.045); }
.emp-filter { padding:16px; }
.emp-filter-grid { display:grid; grid-template-columns:minmax(220px,1.7fr) repeat(4,minmax(135px,.75fr)) auto; gap:10px; align-items:end; }
.emp-field label { display:block; margin:0 0 5px; color:#745f65; font-size:.64rem; text-transform:uppercase; letter-spacing:.1em; font-weight:800; }
.emp-control { width:100%; min-height:40px; border:1px solid #e4d8dc; border-radius:11px; background:#fff; padding:8px 11px; color:#35282c; font-size:.78rem; outline:none; transition:.16s ease; }
.emp-control:focus { border-color:#c43250; box-shadow:0 0 0 3px rgba(196,50,80,.10); }
.emp-filter-actions { display:flex; gap:7px; }
.emp-btn { min-height:40px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:8px 13px; border-radius:11px; border:1px solid transparent; text-decoration:none; font-size:.74rem; font-weight:800; cursor:pointer; transition:.16s ease; white-space:nowrap; }
.emp-btn-primary { color:#fff; background:linear-gradient(135deg,#8b122a,#c31e43); box-shadow:0 8px 20px rgba(161,23,53,.16); }
.emp-btn-primary:hover { color:#fff; transform:translateY(-1px); }
.emp-btn-soft { color:#8b1730; background:#fff5f7; border-color:#f0d5dc; }
.emp-btn-soft:hover { color:#a01232; background:#fdecf0; }
.emp-btn-neutral { color:#4d3f43; background:#fff; border-color:#e7dde0; }
.emp-btn-danger { color:#a30d2d; background:#fff1f4; border-color:#efc7d0; }
.emp-btn-danger:hover { color:#8c0d28; background:#ffe9ee; }
.emp-btn-xs { min-height:31px; padding:5px 9px; border-radius:9px; font-size:.68rem; }

.emp-table-card { overflow:hidden; }
.emp-table-head { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:15px 17px; border-bottom:1px solid #f0e8ea; }
.emp-table-head h2 { margin:0; font-size:.94rem; font-weight:800; color:#35282c; }
.emp-table-head p { margin:2px 0 0; color:#9a878d; font-size:.7rem; }
.emp-count-badge { padding:6px 10px; border-radius:999px; background:#fff1f4; color:#a41534; border:1px solid #f2d4dc; font-size:.68rem; font-weight:800; }
.emp-table-wrap { overflow:auto; }
.emp-table { width:100%; border-collapse:separate; border-spacing:0; min-width:1040px; }
.emp-table th { padding:10px 12px; background:#fcf9fa; color:#8c747b; font-size:.61rem; text-transform:uppercase; letter-spacing:.11em; font-weight:800; border-bottom:1px solid #eee5e7; }
.emp-table td { padding:11px 12px; border-bottom:1px solid #f3edef; color:#4b3b40; font-size:.73rem; vertical-align:middle; }
.emp-table tbody tr { transition:.15s ease; }
.emp-table tbody tr:hover { background:#fffafb; }
.emp-table tbody tr:last-child td { border-bottom:0; }
.emp-person { display:flex; align-items:center; gap:10px; min-width:220px; }
.emp-avatar { width:38px; height:38px; flex:0 0 38px; position:relative; display:grid; place-items:center; overflow:hidden; border-radius:12px; background:linear-gradient(145deg,#fff3f6,#f8dce3); color:#991a34; border:1px solid #f0d0d8; font-weight:900; font-size:.74rem; }
.emp-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.emp-avatar-initials { width:100%; height:100%; display:grid; place-items:center; }
.emp-avatar.has-photo .emp-avatar-initials { visibility:hidden; }
.emp-person strong { display:block; color:#33262a; font-size:.78rem; }
.emp-person small { display:block; margin-top:2px; color:#9e8a90; font-size:.66rem; }
.emp-company strong { display:block; color:#433438; font-size:.72rem; }
.emp-company small { display:block; color:#9d888e; font-size:.65rem; margin-top:2px; }
.emp-muted { color:#a28f95; }
.emp-status { display:inline-flex; align-items:center; gap:6px; padding:5px 8px; border-radius:999px; font-size:.64rem; font-weight:800; }
.emp-status::before { content:""; width:6px; height:6px; border-radius:50%; }
.emp-status-active { color:#13754d; background:#edf9f4; }
.emp-status-active::before { background:#22b274; box-shadow:0 0 0 3px rgba(34,178,116,.11); }
.emp-status-inactive { color:#a3223b; background:#fff0f3; }
.emp-status-inactive::before { background:#c92848; }
.emp-account { display:inline-flex; align-items:center; gap:5px; color:#6b555c; font-size:.67rem; }
.emp-account-dot { width:7px; height:7px; border-radius:50%; background:#bbb0b3; }
.emp-account.is-active .emp-account-dot { background:#22b274; }
.emp-actions { display:flex; gap:5px; justify-content:flex-end; }

.emp-pagination { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:13px 16px; border-top:1px solid #f0e8ea; }
.emp-pagination-info { color:#9b878d; font-size:.68rem; }
.emp-pager { display:flex; gap:5px; }
.emp-page-link { min-width:33px; height:33px; display:grid; place-items:center; padding:0 8px; border:1px solid #e7dce0; border-radius:9px; background:#fff; color:#6f555d; text-decoration:none; font-size:.68rem; font-weight:800; }
.emp-page-link:hover,.emp-page-link.is-current { background:#9e1733; border-color:#9e1733; color:#fff; }
.emp-page-link.is-disabled { pointer-events:none; opacity:.42; }

.emp-alert { padding:11px 14px; border-radius:12px; border:1px solid; font-size:.75rem; font-weight:650; }
.emp-alert-success { color:#156946; background:#eef9f4; border-color:#ceeadd; }
.emp-alert-error { color:#9c1832; background:#fff1f4; border-color:#efcbd3; }
.emp-alert-info { color:#6d5360; background:#faf5f7; border-color:#eadde1; }

.emp-detail-hero { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:22px; }
.emp-detail-person { display:flex; align-items:center; gap:14px; }
.emp-detail-avatar { width:68px; height:68px; position:relative; display:grid; place-items:center; overflow:hidden; border-radius:19px; background:linear-gradient(145deg,#8d132c,#ca2248); color:#fff; font-size:1.18rem; font-weight:900; box-shadow:0 12px 28px rgba(154,22,50,.20); }
.emp-detail-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.emp-detail-avatar-initials { width:100%; height:100%; display:grid; place-items:center; }
.emp-detail-avatar.has-photo .emp-detail-avatar-initials { visibility:hidden; }
.emp-detail-person h1 { margin:0; font-size:1.45rem; color:#33252a; font-weight:850; }
.emp-detail-person p { margin:4px 0 0; color:#927c83; font-size:.73rem; }
.emp-detail-actions { display:flex; flex-wrap:wrap; gap:7px; justify-content:flex-end; }

.emp-detail-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:14px; }
.emp-section { padding:18px; }
.emp-section-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; }
.emp-section-head h2 { margin:0; font-size:.9rem; font-weight:850; color:#37282d; }
.emp-section-head small { color:#a38f95; font-size:.66rem; }
.emp-info-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:#eee5e8; border:1px solid #eee5e8; border-radius:13px; overflow:hidden; }
.emp-info { padding:11px 12px; background:#fff; min-height:61px; }
.emp-info small { display:block; color:#9b858c; font-size:.59rem; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.emp-info strong { display:block; margin-top:4px; color:#49373d; font-size:.74rem; font-weight:750; word-break:break-word; }
.emp-account-card { padding:14px; border-radius:14px; background:linear-gradient(145deg,#fff8fa,#fff); border:1px solid #efdce1; }
.emp-account-card-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.emp-account-card h3 { margin:0; font-size:.82rem; font-weight:850; }
.emp-account-card p { margin:6px 0 0; color:#907b81; font-size:.68rem; }
.emp-note { margin-top:12px; padding:10px 11px; border-left:3px solid #b31b3a; background:#fff7f9; color:#735961; border-radius:0 10px 10px 0; font-size:.68rem; }

.emp-assignment-list { display:grid; gap:9px; }
.emp-assignment { display:grid; grid-template-columns:minmax(180px,1.3fr) minmax(150px,1fr) 140px auto; align-items:center; gap:12px; padding:12px 13px; border:1px solid #eee2e5; border-radius:13px; background:#fff; }
.emp-assignment.is-inactive { opacity:.65; background:#fcf9fa; }
.emp-assignment strong { display:block; font-size:.75rem; color:#3f3035; }
.emp-assignment small { display:block; margin-top:2px; color:#9d898f; font-size:.64rem; }
.emp-assignment-tags { display:flex; flex-wrap:wrap; gap:5px; margin-top:5px; }
.emp-tag { padding:3px 6px; border-radius:7px; background:#fff1f4; color:#a31c38; font-size:.56rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }

.emp-form-shell { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:14px; align-items:start; }
.emp-form-main { display:grid; gap:14px; }
.emp-form-card { padding:18px; }
.emp-form-card h2 { margin:0 0 3px; font-size:.91rem; font-weight:850; color:#37282d; }
.emp-form-card > p { margin:0 0 15px; color:#9a858b; font-size:.69rem; }
.emp-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.emp-form-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.emp-form-full { grid-column:1/-1; }
.emp-check-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.emp-check { display:flex; align-items:center; gap:8px; padding:10px 11px; border:1px solid #eadde1; border-radius:11px; background:#fffafb; font-size:.7rem; color:#614b52; }
.emp-check input { accent-color:#a71836; }
.emp-validation { color:#b51b3b; font-size:.64rem; margin-top:4px; }
.emp-validation-summary { margin-bottom:12px; padding:10px 12px; border-radius:11px; background:#fff1f4; border:1px solid #edcbd3; color:#a21b36; font-size:.69rem; }
.emp-form-aside { position:sticky; top:88px; padding:17px; }
.emp-form-aside h3 { margin:0; font-size:.84rem; font-weight:850; }
.emp-form-aside p { margin:6px 0 14px; color:#927d84; font-size:.68rem; line-height:1.55; }
.emp-form-aside .emp-btn { width:100%; margin-top:7px; }
.emp-context-chip { display:flex; align-items:center; gap:8px; margin-bottom:12px; padding:9px 10px; border-radius:10px; background:#fff4f7; color:#8f1933; font-size:.68rem; font-weight:800; }

.emp-empty { padding:42px 20px; text-align:center; }
.emp-empty-mark { width:58px; height:58px; display:grid; place-items:center; margin:0 auto 12px; border-radius:18px; background:#fff0f3; color:#a91836; font-size:1.15rem; }
.emp-empty h3 { margin:0; font-size:.95rem; color:#453338; }
.emp-empty p { margin:6px auto 0; max-width:420px; color:#9a858b; font-size:.72rem; }

.emp-modal .modal-content { border:1px solid #ecdde1; border-radius:18px; overflow:hidden; box-shadow:0 25px 70px rgba(74,24,37,.22); }
.emp-modal .modal-header { border-bottom:1px solid #f0e4e7; background:#fffafb; }
.emp-modal .modal-title { font-size:.9rem; font-weight:850; }
.emp-modal .modal-footer { border-top:1px solid #f0e4e7; }

@media (max-width: 1200px) {
    .emp-filter-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .emp-filter-grid .emp-search { grid-column:span 2; }
    .emp-detail-grid { grid-template-columns:1fr; }
    .emp-assignment { grid-template-columns:1fr 1fr; }
    .emp-form-shell { grid-template-columns:1fr; }
    .emp-form-aside { position:static; }
}
@media (max-width: 860px) {
    .emp-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .emp-filter-grid { grid-template-columns:1fr 1fr; }
    .emp-filter-grid .emp-search { grid-column:1/-1; }
    .emp-filter-actions { grid-column:1/-1; }
    .emp-detail-hero { align-items:flex-start; flex-direction:column; }
    .emp-detail-actions { justify-content:flex-start; }
    .emp-form-grid,.emp-form-grid-3 { grid-template-columns:1fr; }
    .emp-check-grid { grid-template-columns:1fr; }
    .emp-assignment { grid-template-columns:1fr; }
}
@media (max-width: 575px) {
    .emp-hero { padding:23px 20px; border-radius:18px; }
    .emp-hero-action { display:none; }
    .emp-stat-grid,.emp-filter-grid { grid-template-columns:1fr; }
    .emp-filter-grid .emp-search { grid-column:auto; }
    .emp-info-grid { grid-template-columns:1fr; }
    .emp-pagination { align-items:flex-start; flex-direction:column; }
}
