:root { --app-bg:#f4f6fb; --app-card:#fff; --app-border:#e8ebf2; --app-text:#202938; --app-muted:#778196; --app-accent:#4f63d9; }
html[data-bs-theme="dark"] { --app-bg:#101522; --app-card:#171f2e; --app-border:#2a3447; --app-text:#e8edf7; --app-muted:#a0abc0; --app-accent:#8b9aff; color-scheme:dark; }
body { min-height:100vh; background:var(--app-bg); color:var(--app-text); font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif; }
.app-navbar { background:var(--app-card); border-bottom:1px solid var(--app-border); }
.navbar-brand { color:var(--app-text); letter-spacing:-.35px; }
.navbar-brand:hover { color:var(--app-accent); }
.brand-mark { width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:linear-gradient(135deg,#5269e8,#7b56ca);color:#fff;font-size:18px;box-shadow:0 5px 14px #5269e833; }
.brand-muted { color:var(--app-accent); }
.navbar .nav-link { color:var(--app-muted); font-weight:550; padding-left:.85rem!important;padding-right:.85rem!important; }
.navbar .nav-link:hover,.navbar .nav-link.active { color:var(--app-accent); }
.user-chip { display:flex;align-items:center;gap:9px;color:var(--app-text);font-size:12px;line-height:1.25; }
.user-chip strong,.user-chip small { display:block; }
.user-chip small { color:var(--app-muted);margin-top:2px; }
.user-avatar { width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(79,99,217,.12);color:var(--app-accent);font-size:17px; }
.app-main { min-height:calc(100vh - 130px);max-width:1600px;margin:0 auto; }
.app-footer { color:var(--app-muted);font-size:12px;padding:17px 0;border-top:1px solid var(--app-border);background:var(--app-card); }
.page-title { font-size:clamp(1.55rem,2vw,2rem);font-weight:750;letter-spacing:-.7px;margin:2px 0 5px; }
.eyebrow { font-size:10px;font-weight:800;letter-spacing:1.35px;color:var(--app-accent); }
.app-card,.app-modal { background:var(--app-card);border:1px solid var(--app-border);border-radius:16px;color:var(--app-text); }
.stat-card {height:100%;padding:18px 20px;background:var(--app-card);border:1px solid var(--app-border);border-radius:15px;display:flex;align-items:center;gap:14px;}
.stat-icon {width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:21px;}
.stat-icon.blue {background:rgba(63,120,231,.12);color:#4d83e6;}.stat-icon.purple {background:rgba(136,91,207,.12);color:#9569d7;}
.stat-label {font-size:12px;color:var(--app-muted);margin-bottom:4px;}.stat-value {font-size:24px;font-weight:760;line-height:1.1;letter-spacing:-.5px;}
.app-table {--bs-table-bg:transparent;--bs-table-color:var(--app-text);--bs-table-hover-bg:rgba(100,120,170,.055);--bs-table-border-color:var(--app-border);font-size:13px;}
.app-table thead th {font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--app-muted);font-weight:750;border-bottom-width:1px;padding:12px 10px;white-space:nowrap;}
.app-table tbody td {padding:13px 10px;}
.search-group .input-group-text,.search-group .form-control {background:var(--app-bg);border-color:var(--app-border);color:var(--app-text);}
.search-group .input-group-text {color:var(--app-muted);}
.status-pill,.role-pill {display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:30px;font-size:11px;font-weight:650;background:rgba(120,130,150,.12);color:var(--app-muted);}
.status-pill.active {background:rgba(25,166,112,.12);color:#15966a;}.status-pill.inactive {background:rgba(220,80,80,.1);color:#d45a5a;}
.role-pill.admin {background:rgba(79,99,217,.13);color:var(--app-accent);}.role-pill.user {background:rgba(30,160,130,.12);color:#199a80;}
.empty-state {display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;min-height:185px;color:var(--app-muted);}.empty-state i {font-size:30px;opacity:.6;}.empty-state strong {color:var(--app-text);}
.pagination {--bs-pagination-bg:var(--app-card);--bs-pagination-color:var(--app-text);--bs-pagination-border-color:var(--app-border);--bs-pagination-hover-bg:var(--app-bg);--bs-pagination-hover-color:var(--app-text);--bs-pagination-active-bg:var(--app-accent);--bs-pagination-active-border-color:var(--app-accent);--bs-pagination-disabled-bg:var(--app-bg);}
.modal-header,.modal-footer {border-color:var(--app-border);}.modal-body .form-label {color:var(--app-muted);}.profile-avatar {width:58px;height:58px;background:rgba(79,99,217,.13);color:var(--app-accent);border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:26px;}.profile-value {font-size:14px;font-weight:650;overflow-wrap:anywhere;}
.upload-drop {padding:22px;border:1px dashed #9aa7c4;border-radius:14px;background:var(--app-bg);text-align:center;}.upload-drop>i {font-size:34px;color:var(--app-accent);display:block;margin-bottom:8px;}.upload-drop .form-control {max-width:100%;}.import-option {display:flex;gap:11px;padding:13px;border:1px solid var(--app-border);border-radius:12px;cursor:pointer;}.import-option:has(input:checked) {border-color:var(--app-accent);background:rgba(79,99,217,.06);}.import-option strong,.import-option small {display:block;}.import-option small {color:var(--app-muted);font-size:12px;margin-top:3px;}.help-icon {width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:rgba(79,99,217,.12);color:var(--app-accent);font-size:17px;}.code-preview {padding:13px 15px;border-radius:10px;background:var(--app-bg);border:1px solid var(--app-border);font-family:ui-monospace,monospace;font-size:12px;line-height:1.8;color:var(--app-muted);columns:2;}
.login-page {background:radial-gradient(circle at 15% 10%,rgba(91,111,231,.12),transparent 33%),var(--app-bg);}.login-wrap {width:min(100% - 28px,460px);margin:5vh auto 0;}.login-card {overflow:hidden;}.login-brand .brand-mark {width:54px;height:54px;border-radius:17px;font-size:24px;margin-bottom:12px;}.login-brand h1 {font-size:25px;font-weight:800;letter-spacing:-.7px;margin:0;color:var(--app-text);}.login-brand p {color:var(--app-muted);margin:5px 0 0;font-size:13px;}.success-icon {width:60px;height:60px;display:grid;place-items:center;background:rgba(25,166,112,.13);border-radius:50%;color:#15966a;font-size:30px;margin:auto;}
.form-control,.form-select,.input-group-text {background-color:var(--app-card);border-color:var(--app-border);color:var(--app-text);}.form-control:focus,.form-select:focus {background-color:var(--app-card);color:var(--app-text);border-color:var(--app-accent);box-shadow:0 0 0 .2rem rgba(79,99,217,.14);}.form-control::placeholder {color:var(--app-muted);opacity:.8;}.form-text {color:var(--app-muted);}.btn-primary {--bs-btn-bg:#5269df;--bs-btn-border-color:#5269df;--bs-btn-hover-bg:#4359cb;--bs-btn-hover-border-color:#4359cb;--bs-btn-active-bg:#384db9;--bs-btn-active-border-color:#384db9;}.btn-outline-secondary {--bs-btn-color:var(--app-muted);--bs-btn-border-color:var(--app-border);--bs-btn-hover-bg:var(--app-bg);--bs-btn-hover-color:var(--app-text);--bs-btn-hover-border-color:var(--app-border);}
html[data-bs-theme="dark"] .navbar-toggler {filter:invert(1);}.theme-toggle {min-width:35px;}.text-secondary {color:var(--app-muted)!important;}hr {border-color:var(--app-border);opacity:1;}
@media (max-width:575.98px){.app-main{padding-top:22px!important;}.stat-card{padding:14px;}.app-table tbody td{padding:11px 7px;}.app-table thead th{padding:10px 7px;}.navbar-brand{font-size:16px;}.login-wrap{margin-top:3vh;}}

/* Daftar pelamar: tampilkan hanya nama, email, dan password. */
.applicant-table {min-width:700px;}
.applicant-table th:nth-child(1){width:23%;}
.applicant-table th:nth-child(2){width:27%;}
.applicant-table th:nth-child(3){width:50%;}
.applicant-name-link {color:var(--app-text);max-width:100%;white-space:normal;overflow-wrap:anywhere;}
.applicant-name-link:hover {color:var(--app-accent);}
.applicant-email-cell {overflow-wrap:anywhere;}
.password-cell {display:flex;align-items:flex-start;gap:10px;min-width:0;}
.password-raw {display:block;min-width:0;flex:1;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-size:12px;line-height:1.6;padding:6px 0;color:var(--app-text);}
.password-copy-btn {display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;}
@media (max-width:575.98px){.applicant-table{min-width:620px;}.password-cell{gap:7px;}.password-copy-btn{padding:5px 8px;font-size:12px;}}
