/* KormoHR application system: one authenticated workspace layer over legacy vendor adapters. */
.peoplepro-modern { font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }

.pp-workspace-app {
    --pp-ink: #202938;
    --pp-muted: #667085;
    --pp-border: #e1e5ea;
    --pp-surface: #f5f7fa;
    --pp-sidebar: #f0f3f6;
    --pp-radius: 7px;
    font-size: 13px;
    line-height: 1.5;
}
.pp-workspace-app .header { position: sticky; top: 0; z-index: 1030; }
.pp-workspace-app nav.navbar { background: #fff; box-shadow: none; }
.pp-workspace-app .navbar .container-fluid { padding-inline: 18px; }
.pp-workspace-app .navbar .nav-menu { gap: 4px; flex-shrink: 0; }
.pp-workspace-app .navbar .nav-link { padding: 7px 9px; border-radius: 6px; }
.pp-workspace-app .navbar .nav-link:hover { background: #f2f4f7; }
.pp-workspace-app .navbar .profile-photo { width: 28px; height: 28px; object-fit: cover; border-radius: 50%; }
.pp-workspace-app .pp-toolbar-context { display: flex; align-items: center; gap: 12px; margin-inline-end: auto; min-width: 0; }
.pp-workspace-app .pp-toolbar-label { color: var(--pp-muted); font-size: 12px; padding-inline-end: 12px; border-inline-end: 1px solid var(--pp-border); }
.pp-workspace-app .pp-workspace-context { font-weight: 600; color: var(--pp-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pp-workspace-app .side-navbar { top: 65px !important; height: calc(100vh - 65px); background: var(--pp-sidebar); padding-inline-start: 10px; box-shadow: none; }
.pp-workspace-app .pp-sidebar-brand { min-height: 70px; padding: 18px 12px; display: flex; align-items: center; font-size: 19px; font-weight: 650; color: var(--pp-primary); }
.pp-workspace-app .pp-sidebar-brand img { max-width: 154px; max-height: 36px; width: auto; object-fit: contain; }
.pp-workspace-app .pp-sidebar-menu { padding-block: 0 24px; }
.pp-workspace-app .side-navbar .pp-sidebar-section-label { font-size: 10px; letter-spacing: .06em; border: 0; padding: 18px 11px 7px; margin-block: 0; color: #667085; }
.pp-workspace-app .side-navbar li a { font-size: 13px; line-height: 1.45; border-radius: 6px; padding: 8px 11px; color: #465263; }
.pp-workspace-app .pp-sidebar-menu > li > a { min-height: 35px; gap: 9px; }
.pp-workspace-app .pp-sidebar-menu > li:not(.pp-sidebar-section-label) { margin-block: 2px; }
.pp-workspace-app .side-navbar li a i { color: #7b8794; font-size: 16px; }
.pp-workspace-app .side-navbar li a:hover { background: #e6eaf0; color: var(--pp-ink); }
.pp-workspace-app .side-navbar li.active > a,
.pp-workspace-app .pp-sidebar-menu a[aria-current="page"] { background: #e0eaf2; color: var(--pp-primary); box-shadow: none; font-weight: 600; }
.pp-workspace-app .side-navbar li ul { border-color: #d9dfe6; margin-block: 3px; }
.pp-workspace-app .side-navbar li ul li a { font-size: 12px; padding-block: 7px; }
.pp-workspace-app #content { padding-bottom: 30px; }
.pp-workspace-app #content > section { padding-top: 22px; }
.pp-workspace-app h1 { font-size: 22px; font-weight: 600; }
.pp-workspace-app h2 { font-size: 18px; }
.pp-workspace-app h3 { font-size: 16px; }
.pp-workspace-app h4 { font-size: 15px; }
.pp-workspace-app .card, .pp-workspace-app .wrapper.count-title { border-radius: var(--pp-radius); box-shadow: none; }
.pp-workspace-app .card-header { background: #fff; padding: 14px 18px; }
.pp-workspace-app .card-body { padding: 18px; }
.pp-workspace-app .card-footer { padding: 12px 18px; background: #fafbfc; }
.pp-workspace-app .dashboard-metrics { gap: 12px; }
.pp-workspace-app .dashboard-metrics .count-title { padding: 16px 18px; }
.pp-workspace-app .dashboard-metrics .count-title::before { background: var(--pp-secondary); width: 2px; }
.pp-workspace-app .dashboard-metrics .count-number { font-size: clamp(22px, 1.8vw, 27px); margin-top: 8px; }
.pp-workspace-app .dashboard-date { background: transparent; border: 0; padding-inline: 0; }
.pp-workspace-app .btn { font-size: 13px; font-weight: 600; min-height: 34px; padding: 6px 12px; border-radius: 6px; }
.pp-workspace-app .btn-sm { min-height: 28px; padding: 4px 8px; font-size: 11px; }
.pp-workspace-app .btn-secondary { background: #fff; border-color: #d0d5dd; color: #344054; }
.pp-workspace-app .btn-secondary:hover { background: #f2f4f7; border-color: #98a2b3; }
.pp-workspace-app #create_record.btn-info,
.pp-workspace-app input[type="submit"].btn-warning { background: var(--pp-primary); border-color: var(--pp-primary); color: #fff; }
.pp-workspace-app #create_record.btn-info:hover,
.pp-workspace-app input[type="submit"].btn-warning:hover { background: var(--pp-primary-hover); border-color: var(--pp-primary-hover); }
.pp-workspace-app .form-group { margin-bottom: 18px; }
.pp-workspace-app .form-group > label { font-size: 12px; font-weight: 600; color: #344054; margin-bottom: 6px; }
.pp-workspace-app .form-control, .pp-workspace-app .bootstrap-select > .dropdown-toggle { min-height: 36px; font-size: 13px; border-color: #d0d5dd; }
.pp-workspace-app .form-control[readonly], .pp-workspace-app .form-control:disabled { background: #f2f4f7; color: #667085; }
.pp-workspace-app .form-text { font-size: 12px; }
.pp-workspace-app #content > section > .table-responsive { margin-inline: 24px; width: calc(100% - 48px); background: #fff; border: 1px solid var(--pp-border); border-radius: var(--pp-radius); }
.pp-workspace-app .table { margin-bottom: 0; font-size: 13px; }
.pp-workspace-app .table thead th { background: #f9fafb; color: #475467; font-size: 12px; letter-spacing: .01em; padding: 10px 12px; }
.pp-workspace-app .table tbody td { padding: 9px 12px; color: #344054; border-color: #edf0f3; }
.pp-workspace-app .table-hover tbody tr:hover { background: #f3f7fa; }
.pp-workspace-app .dataTables_wrapper > .row { margin-inline: 0; padding: 10px 0; }
.pp-workspace-app .dataTables_wrapper .dataTables_filter input { border-radius: 6px; background: #fff; }
.pp-workspace-app .page-link { padding: 6px 10px; font-size: 12px; }
.pp-workspace-app .modal-content { border-radius: 10px; border-color: #d0d5dd; box-shadow: 0 20px 60px #10182830; }
.pp-workspace-app .modal-header { background: #fafbfc; padding: 16px 20px; border-radius: 10px 10px 0 0; }
.pp-workspace-app .modal-title { font-size: 16px; font-weight: 600; }
.pp-workspace-app .modal-header .close { color: #667085; opacity: 1; font-size: 20px; }
.pp-workspace-app .modal-footer { background: #fafbfc; padding: 12px 20px; }
.pp-workspace-app .dropdown-menu { padding-block: 5px; border-radius: 8px; box-shadow: 0 8px 24px #1018281a; font-size: 13px; }
.pp-workspace-app .nav-tabs .nav-link { padding: 10px 14px; font-size: 13px; }
.pp-workspace-app .badge { font-size: 11px; padding: 4px 7px; border-radius: 4px; }
.pp-workspace-app .alert { font-size: 13px; padding: 12px 16px; border-radius: 6px; }
.pp-workspace-app .swal2-popup { border-radius: 10px; }
.pp-workspace-app footer.main-footer { font-size: 11px; padding: 12px 24px; margin-top: 24px; }
html[dir="rtl"] .pp-workspace-app .side-navbar li.active > a,
html[dir="rtl"] .pp-workspace-app .pp-sidebar-menu a[aria-current="page"] { box-shadow: none; }
@media (max-width: 767px) {
    .pp-workspace-app .pp-toolbar-label { display: none; }
    .pp-workspace-app .pp-toolbar-context { max-width: 100px; font-size: 12px; }
    .pp-workspace-app .navbar .container-fluid { padding-inline: 8px; }
    .pp-workspace-app .navbar .nav-link { padding-inline: 6px; }
    .pp-workspace-app .navbar .nav-menu > li:last-child > .nav-link > span { display: none; }
    .pp-workspace-app #content > section > .table-responsive { margin-inline: 14px; width: calc(100% - 28px); }
    .pp-workspace-app .card-body { padding: 16px; }
}
@media print {
    .pp-workspace-app #content > section > .table-responsive { width: 100%; margin: 0; border: 0; }
}

/* Form and grid adapters: preserve native elements and library ownership. */
.pp-workspace-app .pp-page-bar { padding: 22px 24px 0; display: flex; align-items: center; gap: 16px; }
.pp-workspace-app .pp-page-bar h1 { margin: 0; font-size: 22px; line-height: 1.35; letter-spacing: -.025em; }
.pp-workspace-app .btn-info { background: #0ab7a3; border-color: #0ab7a3; color: #073d3b; }
.pp-workspace-app .btn-info:hover { background: #078f80; border-color: #078f80; color: #fff; }
.pp-workspace-app .btn-primary, .pp-workspace-app #create_record.btn-info { background: var(--pp-primary); border-color: var(--pp-primary); color: #fff; }
.pp-workspace-app .btn-primary:hover, .pp-workspace-app #create_record.btn-info:hover { background: var(--pp-primary-hover); border-color: var(--pp-primary-hover); }
.pp-workspace-app .btn:focus-visible { outline: 2px solid var(--pp-secondary); outline-offset: 2px; }
.pp-workspace-app fieldset { min-width: 0; margin-block: 0 20px; border: 0; padding: 0; }
.pp-workspace-app legend { width: 100%; font-size: 16px; font-weight: 600; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid var(--pp-border); }
.pp-workspace-app .form-control { height: 38px; padding: 8px 11px; }
.pp-workspace-app textarea.form-control { height: auto; min-height: 88px; }
.pp-workspace-app input[type="file"].form-control { height: auto; }
.pp-workspace-app .bootstrap-select.form-control { height: auto; padding: 0; }
.pp-workspace-app .bootstrap-select > .dropdown-toggle { min-height: 38px; padding: 8px 11px; font-weight: 400; }
.pp-workspace-app .select2-container .select2-selection--single,
.pp-workspace-app .select2-container .select2-selection--multiple { min-height: 38px; border-color: #d0d5dd; border-radius: 6px; }
.pp-workspace-app .select2-container .select2-selection--single .select2-selection__rendered { line-height: 36px; }
.pp-workspace-app .select2-container .select2-selection--single .select2-selection__arrow { height: 36px; }
.pp-workspace-app .select2-selection__choice { font-size: 12px; }
.pp-workspace-app .select2-container--focus .select2-selection,
.pp-workspace-app .form-control:focus { border-color: var(--pp-secondary); box-shadow: 0 0 0 3px #0ab7a322; }
.pp-workspace-app .form-group small, .pp-workspace-app .invalid-feedback, .pp-workspace-app .form-text { font-size: 12px; line-height: 1.5; }
.pp-workspace-app input[type="checkbox"], .pp-workspace-app input[type="radio"] { accent-color: var(--pp-primary); }
.pp-workspace-app .modal-content { max-height: none; overflow: visible; }
.pp-workspace-app .modal-body { padding: 20px; }
.pp-workspace-app .table { font-variant-numeric: tabular-nums; }
.pp-workspace-app .dt-buttons .btn { min-height: 32px; font-weight: 500; background: #fff; border-color: var(--pp-border); color: #475467; }
.pp-workspace-app .dataTables_empty { padding: 30px 16px !important; font-size: 13px; }
.pp-workspace-app .dataTables_filter label, .pp-workspace-app .dataTables_length label { font-size: 12px; font-weight: 400; }
.pp-workspace-app .dataTables_filter input { height: 34px; font-size: 13px; }
.pp-workspace-app .dataTables_processing { background: #fff; color: var(--pp-muted); border: 1px solid var(--pp-border); border-radius: 6px; box-shadow: 0 3px 12px #20293812; }
.pp-workspace-app .pp-command-access { display: flex; align-items: center; gap: 20px; padding: 16px 18px; background: #fff; border: 1px solid var(--pp-border); border-radius: 8px; margin-bottom: 20px; }
.pp-workspace-app .pp-command-label { flex: 0 0 175px; }
.pp-workspace-app .pp-command-label h2 { font-size: 14px; margin: 0 0 4px; }
.pp-workspace-app .pp-command-label p, .pp-workspace-app .pp-personal-heading p { font-size: 12px; color: var(--pp-muted); margin: 0; }
.pp-workspace-app .pp-command-links { display: flex; flex-wrap: wrap; gap: 8px; }
.pp-workspace-app .pp-command-links a { padding: 7px 10px; font-size: 13px; border: 1px solid var(--pp-border); border-radius: 6px; color: var(--pp-primary); background: #fff; }
.pp-workspace-app .pp-command-links a:hover { border-color: #b8cbd9; background: #edf3f8; }
.pp-workspace-app .pp-personal-heading { margin-bottom: 18px; }
.pp-workspace-app .dashboard-heading { margin-block: 18px; }
.pp-workspace-app .dashboard-eyebrow { font-size: 11px; }
.pp-workspace-app .dashboard-heading h2 { font-size: 18px; margin: 0; }

/* Public entry and help use the same typography and palette without app navigation. */
.pp-public-header { min-height: 64px; padding: 12px clamp(16px, 4vw, 56px); display: flex; align-items: center; justify-content: space-between; gap: 20px; background: #fff; border-bottom: 1px solid #e1e5ea; }
.pp-public-brand { font-size: 20px; font-weight: 650; letter-spacing: -.04em; text-decoration: none; color: #144d78; }
.pp-public-header nav { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; }
.pp-public-header nav a { font-size: 13px; text-decoration: none; color: #475467; padding-block: 6px; }
.pp-public-header nav a:hover, .pp-public-header nav a[aria-current] { color: #144d78; text-decoration: underline; text-underline-offset: 5px; }
.peoplepro-modern .pp-auth-workspace { background: #f5f7fa; min-height: calc(100vh - 64px); }
.peoplepro-modern .pp-auth-workspace .form-outer { flex-direction: column; justify-content: center; min-height: calc(100vh - 64px); padding: 40px 0 24px; }
.peoplepro-modern .pp-auth-workspace .form-inner { width: 100%; max-width: 420px; padding: 32px; background: #fff; border: 1px solid #e1e5ea; border-radius: 12px; box-shadow: 0 8px 28px #2029380a; backdrop-filter: none; text-align: start; }
.peoplepro-modern .pp-auth-workspace .logo { margin-bottom: 26px; }
.peoplepro-modern .pp-auth-workspace .login-brand-logo { max-width: 210px; max-height: 64px; }
.peoplepro-modern .pp-auth-title { font-size: 22px; font-weight: 600; letter-spacing: -.03em; line-height: 1.35; margin-bottom: 8px; }
.peoplepro-modern .pp-auth-description { font-size: 13px; line-height: 1.6; color: #667085; margin-bottom: 24px; }
.peoplepro-modern .pp-auth-workspace .form-control { height: 40px; min-height: 40px; font-size: 14px; }
.peoplepro-modern .pp-auth-workspace label { font-size: 13px; font-weight: 500; }
.peoplepro-modern .pp-auth-workspace .btn-primary { min-height: 40px; background: #144d78; border-color: #144d78; border-radius: 6px; font-size: 14px; }
.peoplepro-modern .pp-auth-workspace .btn-primary:hover { background: #103d60; border-color: #103d60; }
.peoplepro-modern .pp-auth-workspace .copyrights { position: static; padding-top: 24px; font-size: 11px; color: #667085; }
.pp-password-field { position: relative; }
.peoplepro-modern .pp-password-field .form-control { padding-inline-end: 110px; }
.pp-password-toggle { position: absolute; inset-inline-end: 8px; top: 7px; padding: 4px 6px; border: 0; border-radius: 4px; background: #f2f4f7; color: #144d78; font: inherit; font-size: 11px; cursor: pointer; }
.pp-help-page { margin: 0; background: #f5f7fa; }
.pp-help-page *, .pp-help-page *::before, .pp-help-page *::after { box-sizing: border-box; }
.pp-help-content { max-width: 800px; margin: 40px auto; padding: 32px; background: #fff; border: 1px solid #e1e5ea; border-radius: 10px; }
.pp-help-content h1 { font-size: 26px; margin: 0 0 20px; }
.pp-help-content h2 { font-size: 17px; margin: 28px 0 10px; }
.pp-help-content p, .pp-help-content li { font-size: 14px; line-height: 1.75; color: #475467; }
.pp-help-content .pp-eyebrow { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: #667085; }
.pp-help-content details { border-bottom: 1px solid #e1e5ea; padding: 18px 0; }
.pp-help-content summary { font-size: 15px; font-weight: 600; cursor: pointer; color: #202938; }
.pp-help-content details p { margin-bottom: 8px; }
.pp-help-note { background: #f5f7fa; padding: 14px; border-inline-start: 3px solid #0ab7a3; }
.pp-help-back { display: inline-block; margin-top: 24px; font-size: 13px; }
@media (max-width: 767px) {
    .pp-workspace-app .pp-page-bar { padding-inline: 14px; }
    .pp-workspace-app .pp-command-access { flex-direction: column; align-items: stretch; gap: 12px; }
    .pp-workspace-app .pp-command-label { flex-basis: auto; }
    .pp-public-header { flex-wrap: wrap; gap: 8px; }
    .pp-public-header nav { gap: 16px; }
    .peoplepro-modern .pp-auth-workspace .form-inner { padding: 24px; }
    .pp-help-content { margin: 20px 12px; padding: 24px 18px; }
}
@media print { .pp-public-header { display: none; } .pp-help-content { border: 0; margin: 0; } }
