:root {
    --hr-ink: #0b1f33;
    --hr-navy: #102a43;
    --hr-teal: #0f766e;
    --hr-cyan: #0891b2;
    --hr-gold: #d7a93b;
    --hr-surface: #ffffff;
    --hr-line: #dce6ee;
    --hr-muted: #60758a;
    --hr-shadow: 0 14px 36px rgba(15, 42, 67, .09);
}

.personnel-command-shell {
    position: sticky;
    top: 50px;
    /* Global header menus/notifications must always open above the module bar. */
    z-index: 80;
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto minmax(190px, 1fr);
    align-items: center;
    gap: 1rem;
    min-height: 74px;
    margin: 0 -.75rem 1.15rem;
    padding: .75rem 1rem;
    color: #eaf7f7;
    background:
        radial-gradient(circle at 12% -80%, rgba(34, 211, 238, .35), transparent 44%),
        linear-gradient(112deg, #071827 0%, #0b2738 48%, #0b3c42 100%);
    border-bottom: 1px solid rgba(125, 211, 252, .24);
    box-shadow: 0 12px 30px rgba(2, 16, 29, .2);
}

.personnel-command-identity,
.personnel-command-actions,
.personnel-command-nav { display: flex; align-items: center; }
.personnel-command-identity { gap: .72rem; min-width: 0; }
.personnel-command-mark {
    display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px;
    border: 1px solid rgba(165, 243, 252, .34); border-radius: 13px;
    background: linear-gradient(145deg, rgba(34, 211, 238, .23), rgba(15, 118, 110, .28));
    color: #a5f3fc; box-shadow: inset 0 1px rgba(255,255,255,.2);
}
.personnel-command-identity small { display: block; color: #7dd3fc; font-size: .61rem; letter-spacing: .14em; font-weight: 800; }
.personnel-command-identity strong { display: block; overflow: hidden; color: #fff; font-size: .94rem; line-height: 1.25; white-space: nowrap; text-overflow: ellipsis; }
.personnel-command-nav { gap: .25rem; padding: .27rem; border: 1px solid rgba(148, 211, 224, .2); border-radius: 14px; background: rgba(3, 15, 27, .3); }
.personnel-command-nav a { display: flex; align-items: center; gap: .42rem; padding: .55rem .68rem; border-radius: 10px; color: #bfd5df; font-size: .78rem; font-weight: 700; text-decoration: none; transition: .18s ease; }
.personnel-command-nav a:hover { color: #fff; background: rgba(255,255,255,.08); transform: translateY(-1px); }
.personnel-command-nav a.active { color: #06252b; background: linear-gradient(135deg, #a5f3fc, #5eead4); box-shadow: 0 7px 16px rgba(45, 212, 191, .2); }
.personnel-command-actions { justify-content: flex-end; gap: .65rem; }
.personnel-command-definitions { position: relative; }
.personnel-command-trust { color: #a7f3d0; font-size: .7rem; font-weight: 700; white-space: nowrap; }
.personnel-command-menu { display: flex; align-items: center; gap: .45rem; min-height: 38px; padding: 0 .72rem; color: #e6f7f7; border: 1px solid rgba(165, 243, 252, .3); border-radius: 10px; background: rgba(255,255,255,.07); font-size: .76rem; font-weight: 700; }
.personnel-command-dropdown { position: absolute; top: calc(100% + .55rem); right: 0; z-index: 1040; min-width: 265px; padding: .65rem; color: var(--hr-ink); border: 1px solid var(--hr-line); border-radius: 14px; background: #fff; box-shadow: 0 22px 50px rgba(11,31,51,.18); }
.personnel-command-dropdown-title { padding: .35rem .65rem; color: var(--hr-muted); font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.personnel-command-dropdown .dropdown-item { display: flex; align-items: center; gap: .65rem; padding: .58rem .65rem; border-radius: 8px; color: var(--hr-ink); font-size: .8rem; font-weight: 600; }
.personnel-command-dropdown .dropdown-item i { width: 18px; color: var(--hr-teal); text-align: center; }

article.content:has(.personnel-command-shell) {
    background:
        radial-gradient(circle at 95% 2%, rgba(8,145,178,.08), transparent 24rem),
        linear-gradient(180deg, #f4f8fb 0%, #eef4f7 100%);
    min-height: calc(100vh - 50px);
}
.main-content:has(.personnel-command-shell) .dropdown-menu:not(.show) { display: none; }
article.content:has(.personnel-command-shell) > :not(.personnel-command-shell) { animation: hrPageIn .32s ease-out both; }
article.content:has(.personnel-command-shell) .card,
article.content:has(.personnel-command-shell) .filter-card,
article.content:has(.personnel-command-shell) .summary-card,
article.content:has(.personnel-command-shell) .stat-card,
article.content:has(.personnel-command-shell) .metric-card {
    border-color: var(--hr-line) !important;
    border-radius: 15px !important;
    box-shadow: var(--hr-shadow) !important;
}
article.content:has(.personnel-command-shell) .card-header { border-color: var(--hr-line); background: linear-gradient(180deg,#fff,#f8fbfc); }
article.content:has(.personnel-command-shell) .e-grid { border: 1px solid var(--hr-line) !important; border-radius: 14px !important; overflow: hidden; box-shadow: 0 10px 28px rgba(15,42,67,.07); }
article.content:has(.personnel-command-shell) .e-grid .e-headercell { color: #36546b !important; background: #edf5f7 !important; border-color: #dce8ed !important; font-size: .72rem !important; font-weight: 800 !important; letter-spacing: .025em; text-transform: uppercase; }
article.content:has(.personnel-command-shell) .e-grid .e-row:hover .e-rowcell { background: #f0fdfa !important; }
article.content:has(.personnel-command-shell) .btn-primary,
article.content:has(.personnel-command-shell) .e-primary { border-color: #0f766e !important; background: linear-gradient(135deg,#0f766e,#0891b2) !important; box-shadow: 0 7px 15px rgba(15,118,110,.2); }
article.content:has(.personnel-command-shell) input:focus,
article.content:has(.personnel-command-shell) select:focus { border-color: #14b8a6 !important; box-shadow: 0 0 0 .2rem rgba(20,184,166,.12) !important; }

/* ──────────────────────────────────────────────────────────────────────────
   PERSONNEL ENTERPRISE DATA EXPERIENCE
   Shared visual language for master data, parameters, reports and analytics
   ────────────────────────────────────────────────────────────────────────── */
.personnel-enterprise-page { --pe-accent:#0f766e; --pe-accent-2:#0891b2; color:var(--hr-ink); }
.personnel-enterprise-page > .row { margin-left:0; margin-right:0; }
.personnel-enterprise-page .personnel-page-header,
.personnel-enterprise-page > .d-flex:first-child {
    position:relative; padding:1rem 1.15rem !important; border:1px solid var(--hr-line);
    border-radius:16px; background:linear-gradient(115deg,#fff 0%,#f5fbfb 72%,#e8f8f7 100%);
    box-shadow:var(--hr-shadow); overflow:hidden;
}
.personnel-enterprise-page .personnel-page-header::before,
.personnel-enterprise-page > .d-flex:first-child::before {
    content:""; position:absolute; inset:0 auto 0 0; width:4px;
    background:linear-gradient(180deg,var(--pe-accent-2),var(--pe-accent));
}
.personnel-enterprise-page .page-title { color:var(--hr-ink) !important; font-size:1.15rem !important; letter-spacing:-.02em; }

/* Standard card headers become compact product headers. */
.personnel-enterprise-page > .row > [class*="col-"] > .card > .card-header:first-child,
.personnel-enterprise-page > .card > .card-header:first-child {
    position:relative; min-height:76px; padding:1rem 1.15rem !important;
    background:linear-gradient(112deg,#fff 0%,#f6fbfc 74%,#e8f8f7 100%) !important;
}
.personnel-enterprise-page > .row > [class*="col-"] > .card > .card-header:first-child::before,
.personnel-enterprise-page > .card > .card-header:first-child::before {
    content:""; position:absolute; left:0; top:16px; bottom:16px; width:4px; border-radius:0 5px 5px 0;
    background:linear-gradient(180deg,var(--pe-accent-2),var(--pe-accent));
}
.personnel-enterprise-page .card-header h5,
.personnel-enterprise-page .card-header h4 { color:var(--hr-ink); font-size:1.04rem; font-weight:800; letter-spacing:-.015em; }

/* KPI system: consistent geometry, hierarchy, accent line and hover motion. */
.personnel-kpi-grid { display:grid !important; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.75rem !important; }
.personnel-kpi-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.personnel-kpi-grid > [class*="col-"] { width:auto !important; max-width:none !important; padding:0 !important; }
.personnel-enterprise-page .stat-card,
.personnel-enterprise-page .position-metric,
.personnel-enterprise-page .rp-kpi,
.personnel-enterprise-page .to-kpi,
.personnel-enterprise-page .mid-kpi,
.personnel-enterprise-page .kpi-card {
    position:relative; min-height:104px; padding:1rem 1rem .9rem !important; overflow:hidden;
    border:1px solid var(--hr-line) !important; border-left:1px solid var(--hr-line) !important;
    border-radius:15px !important; background:linear-gradient(145deg,#fff,#f8fbfc) !important;
    box-shadow:0 9px 24px rgba(15,42,67,.07) !important; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.personnel-enterprise-page .stat-card::before,
.personnel-enterprise-page .position-metric::before,
.personnel-enterprise-page .rp-kpi::before,
.personnel-enterprise-page .to-kpi::before,
.personnel-enterprise-page .mid-kpi::before,
.personnel-enterprise-page .kpi-card::before {
    content:""; position:absolute; left:0; right:0; top:0; height:3px;
    background:linear-gradient(90deg,var(--pe-accent),var(--pe-accent-2));
}
.personnel-enterprise-page .stat-card::after,
.personnel-enterprise-page .rp-kpi::after,
.personnel-enterprise-page .to-kpi::after,
.personnel-enterprise-page .mid-kpi::after {
    content:""; position:absolute; width:70px; height:70px; right:-28px; bottom:-32px; border-radius:50%;
    background:color-mix(in srgb,var(--pe-accent) 8%,transparent);
}
.personnel-enterprise-page .stat-icon { position:absolute; top:.85rem; right:.85rem; display:grid; place-items:center; width:34px; height:34px; color:var(--pe-accent); border:1px solid #cfe6e3; border-radius:10px; background:#eaf8f6; }
.personnel-enterprise-page .stat-context { margin-top:.42rem; color:#7a8fa0; font-size:.64rem; font-weight:600; }
.personnel-people-page .stat-val { padding-right:2.5rem; }

/* Compact executive summary used above definition grids. */
.enterprise-summary-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:0 1rem; border:1px solid var(--hr-line); border-radius:14px; background:#fff; box-shadow:0 8px 20px rgba(15,42,67,.055); overflow:hidden; }
.enterprise-summary-strip > div { position:relative; display:grid; grid-template-columns:38px 1fr; grid-template-rows:auto auto; column-gap:.7rem; min-height:76px; padding:.8rem 1rem; border-right:1px solid #e3ecef; }
.enterprise-summary-strip > div:last-child { border-right:0; }
.enterprise-summary-strip small { align-self:end; color:#6b8193; font-size:.62rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.enterprise-summary-strip strong { align-self:start; color:var(--hr-ink); font-size:1.05rem; font-variant-numeric:tabular-nums; }
.enterprise-summary-strip .summary-icon { grid-row:1/3; align-self:center; display:grid; place-items:center; width:36px; height:36px; color:#0f766e; border-radius:11px; background:#e7f8f5; }
.enterprise-summary-strip .summary-icon.cyan { color:#087d9a; background:#e5f7fb; }
.enterprise-summary-strip .summary-icon.green { color:#15803d; background:#eaf8ef; }
.enterprise-summary-strip .summary-icon.amber { color:#b7791f; background:#fff6df; }
.enterprise-summary-strip .summary-icon.slate { color:#5f7080; background:#eef2f5; }

.hier-node-kind { display:inline-flex; margin-left:.45rem; padding:.15rem .38rem; color:#668093; border:1px solid #d9e5e9; border-radius:999px; background:#f5f9fa; font-size:.54rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; vertical-align:2px; }
.hierarchy-count-badge { min-width:54px; padding:.28rem .48rem !important; color:#0f766e; border:1px solid #cae9e4; border-radius:999px; background:#e9f8f5; text-align:center; }
.personnel-enterprise-page .stat-card:hover,
.personnel-enterprise-page .position-metric:hover,
.personnel-enterprise-page .rp-kpi:hover,
.personnel-enterprise-page .to-kpi:hover,
.personnel-enterprise-page .mid-kpi:hover { transform:translateY(-3px); border-color:#b7d8d6 !important; box-shadow:0 16px 34px rgba(15,42,67,.12) !important; }
.personnel-enterprise-page :is(.stat-val,.position-metric-value,.rp-kpi-val,.to-kpi-value,.mid-kpi-value,.kpi-value) {
    color:var(--hr-ink) !important; font-variant-numeric:tabular-nums; letter-spacing:-.035em;
}
.personnel-enterprise-page :is(.stat-lbl,.position-metric-label,.rp-kpi-label,.to-kpi-label,.mid-kpi-label,.kpi-label) {
    color:#526b7f !important; font-size:.68rem !important; font-weight:800 !important; letter-spacing:.055em; text-transform:uppercase;
}
.personnel-enterprise-page :is(.position-metric-detail,.rp-kpi-sub,.to-kpi-sub,.mid-kpi-sub,.kpi-sub) { color:#71869a !important; font-size:.69rem !important; }

/* Bootstrap-like KPI blocks in legacy definition pages. */
.personnel-enterprise-page .personnel-kpi-grid .d-flex.align-items-center.p-3 {
    min-height:100px; border:1px solid var(--hr-line); border-radius:14px !important;
    background:linear-gradient(145deg,#fff,#f7fbfc) !important; box-shadow:0 8px 20px rgba(15,42,67,.06);
}

/* Tabs read as a product-level segmented control. */
.personnel-enterprise-page .nav-tabs { display:inline-flex; gap:.25rem; padding:.3rem; border:1px solid var(--hr-line) !important; border-radius:13px; background:#eaf1f4; }
.personnel-enterprise-page .nav-tabs .nav-link { padding:.58rem .9rem; color:#526b7f; border:0 !important; border-radius:9px !important; font-size:.76rem; font-weight:800; }
.personnel-enterprise-page .nav-tabs .nav-link.active { color:#fff !important; background:linear-gradient(135deg,var(--pe-accent),var(--pe-accent-2)) !important; box-shadow:0 7px 14px rgba(15,118,110,.2); }

/* Syncfusion Grid / TreeGrid — financial software density with clear hierarchy. */
.personnel-enterprise-page .e-grid,
.personnel-enterprise-page .e-treegrid { font-family:inherit !important; color:var(--hr-ink); background:#fff; }
.personnel-enterprise-page .e-grid .e-gridheader,
.personnel-enterprise-page .e-treegrid .e-gridheader { border-bottom:1px solid #cddde5 !important; background:#eaf2f5 !important; }
.personnel-enterprise-page .e-grid .e-headercell,
.personnel-enterprise-page .e-treegrid .e-headercell {
    height:46px !important; padding:0 .72rem !important; color:#355268 !important;
    background:linear-gradient(180deg,#f1f7f8,#e7f0f3) !important; border-color:#d8e5ea !important;
    font-size:.66rem !important; font-weight:850 !important; letter-spacing:.055em; text-transform:uppercase;
}
.personnel-enterprise-page .e-grid .e-headercelldiv { line-height:1.25; }
.personnel-enterprise-page .e-grid .e-rowcell,
.personnel-enterprise-page .e-treegrid .e-rowcell {
    height:44px; padding:.52rem .72rem !important; color:#263f53 !important; border-color:#e6eef2 !important;
    font-size:.75rem !important; vertical-align:middle; font-variant-numeric:tabular-nums;
}
.personnel-enterprise-page .e-grid .e-altrow .e-rowcell,
.personnel-enterprise-page .e-treegrid .e-altrow .e-rowcell { background:#f9fbfc !important; }
.personnel-enterprise-page .e-grid .e-row:hover .e-rowcell,
.personnel-enterprise-page .e-treegrid .e-row:hover .e-rowcell { background:#ebfbf8 !important; box-shadow:inset 0 1px #c9eee8,inset 0 -1px #c9eee8; }
.personnel-enterprise-page .e-grid .e-selectionbackground,
.personnel-enterprise-page .e-treegrid .e-selectionbackground { color:#0b3d3a !important; background:#d8f4ef !important; }
.personnel-enterprise-page .e-grid .e-frozenheader,
.personnel-enterprise-page .e-grid .e-frozencontent { box-shadow:5px 0 12px rgba(15,42,67,.06); }
.personnel-enterprise-page .e-grid .e-toolbar { min-height:52px; padding:.45rem .6rem !important; border-color:var(--hr-line) !important; background:#fff !important; }
.personnel-enterprise-page .e-grid .e-toolbar .e-toolbar-item .e-tbar-btn { border-radius:9px !important; }
.personnel-enterprise-page .e-grid .e-search { min-width:230px; border:1px solid #d4e2e8 !important; border-radius:9px !important; background:#f8fbfc !important; }
.personnel-enterprise-page .e-grid .e-pager { min-height:54px; padding:.5rem .7rem !important; border-color:var(--hr-line) !important; background:#fbfcfd !important; }
.personnel-enterprise-page .e-grid .e-pager .e-currentitem { color:#fff !important; border-color:var(--pe-accent) !important; background:var(--pe-accent) !important; border-radius:7px; }
.personnel-enterprise-page .e-grid .e-filtermenudiv,
.personnel-enterprise-page .e-grid .e-sortfilterdiv { color:#7690a2 !important; }
.personnel-enterprise-page .e-treegrid .e-treecell { font-weight:650; }
.personnel-enterprise-page .e-treegrid .e-treegridexpand,
.personnel-enterprise-page .e-treegrid .e-treegridcollapse { color:var(--pe-accent); border-radius:6px; background:#e4f5f2; }
.personnel-enterprise-page .e-grid .badge,
.personnel-enterprise-page .e-treegrid .badge { padding:.38rem .55rem; border-radius:999px; font-size:.64rem; font-weight:800; letter-spacing:.02em; }
.personnel-enterprise-page .e-grid .btn-group { gap:.25rem; }
.personnel-enterprise-page .e-grid .btn-sm { display:inline-grid; place-items:center; width:30px; height:30px; padding:0; border-radius:8px !important; }

/* Maaş Parametreleri ağacı: departman/pozisyon satırlarını kişi satırlarından ayırt etmek için. */
.personnel-enterprise-page .e-treegrid .tree-department-row .e-rowcell { background:#eaf2f5 !important; font-weight:800 !important; }
.personnel-enterprise-page .e-treegrid .tree-position-row .e-rowcell { background:#f5f9fa !important; font-weight:700 !important; }

/* Enterprise HR worksheet: dense, spreadsheet-like, stable headers and clear editable cells. */
.personnel-sheet-frame { border:1px solid #cbd9e1; border-radius:12px; background:#fff; box-shadow:0 12px 30px rgba(15,42,67,.08); overflow:hidden; }
.personnel-sheet-caption { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:46px; padding:.55rem .8rem; border-bottom:1px solid #dbe6eb; background:linear-gradient(180deg,#fbfdfd,#f3f7f9); }
.personnel-sheet-caption strong { color:#20394d; font-size:.76rem; }
.personnel-sheet-caption small { color:#718597; font-size:.65rem; }
.personnel-sheet-grid.e-grid { border:0 !important; border-radius:0 !important; box-shadow:none !important; }
.personnel-sheet-grid.e-grid .e-headercell { height:40px !important; padding:0 .55rem !important; background:#e8f0f4 !important; border-right:1px solid #cfdee5 !important; font-size:.62rem !important; }
.personnel-sheet-grid.e-grid .e-rowcell { height:38px !important; padding:.18rem .38rem !important; border-right:1px solid #e0e9ed !important; border-bottom:1px solid #e3ebef !important; }
.personnel-sheet-grid.e-grid .e-input-group { min-height:30px !important; border:1px solid transparent !important; border-radius:4px !important; background:transparent !important; box-shadow:none !important; }
.personnel-sheet-grid.e-grid .e-input-group:hover { border-color:#b9cbd4 !important; background:#fff !important; }
.personnel-sheet-grid.e-grid .e-input-group.e-input-focus { border-color:#0f766e !important; background:#fff !important; box-shadow:0 0 0 2px rgba(15,118,110,.1) !important; }
.personnel-sheet-grid.e-grid input.e-input { height:28px !important; padding:.15rem .32rem !important; font-size:.72rem !important; font-variant-numeric:tabular-nums; }
.personnel-sheet-grid.e-grid .e-altrow .e-rowcell { background:#fafcfd !important; }
.personnel-sheet-grid.e-grid .e-row:hover .e-rowcell { background:#effaf8 !important; }

/* Hierarchy and position master-data workbenches. */
.personnel-people-page .hier-card,
.personnel-positions-page .positions-workspace { border:1px solid #cfdde4 !important; border-radius:12px !important; box-shadow:0 12px 30px rgba(15,42,67,.08) !important; }
.personnel-people-page .hier-card > .card-header { padding:.72rem .9rem !important; background:linear-gradient(180deg,#fff,#f6f9fa) !important; }
.personnel-people-page .hier-card .row.g-2 { padding:.5rem; margin:0 !important; border:1px solid #dae5ea; border-radius:10px; background:#edf3f5; }
.personnel-people-page .hier-grid .e-rowcell { height:38px !important; padding:.35rem .62rem !important; }
.personnel-people-page .hier-grid .e-headercell { height:40px !important; }
.personnel-positions-page.positions-page { padding-top:12px; }
.personnel-positions-page .positions-header { padding:.9rem 1rem; border:1px solid var(--hr-line); border-radius:14px; background:linear-gradient(115deg,#fff,#eef8f8); box-shadow:var(--hr-shadow); }
.personnel-positions-page .positions-toolbar { position:sticky; top:0; z-index:5; background:#f8fbfc; }
.personnel-positions-page .e-treegrid .e-rowcell { height:38px !important; padding:.35rem .6rem !important; }

/* Salary matrix usability controls. */
.salary-matrix-commandbar { position:sticky; top:0; z-index:8; display:grid; grid-template-columns:minmax(240px,1fr) auto auto; gap:.65rem; align-items:center; padding:.65rem .75rem; margin-bottom:.75rem; border:1px solid #d6e2e8; border-radius:11px; background:rgba(248,251,252,.96); box-shadow:0 7px 18px rgba(15,42,67,.07); backdrop-filter:blur(8px); }
.salary-matrix-search { position:relative; }
.salary-matrix-search i { position:absolute; left:.7rem; top:50%; z-index:2; color:#7890a0; transform:translateY(-50%); }
.salary-matrix-search input { width:100%; min-height:36px; padding:.4rem .7rem .4rem 2.05rem; border:1px solid #cedde4; border-radius:8px; background:#fff; font-size:.76rem; }
.salary-matrix-commandbar .form-check { margin:0; white-space:nowrap; }
.salary-department-list { display:grid; gap:.65rem; }
.salary-department { border:1px solid #d3e1e7 !important; border-radius:11px !important; background:#fff; box-shadow:0 7px 18px rgba(15,42,67,.055); overflow:hidden; }
.salary-department > summary { min-height:54px; padding:.65rem .85rem !important; background:linear-gradient(180deg,#fff,#f4f8f9); }
.salary-department-body { max-height:440px; overflow:auto; }
.salary-department-body thead { position:sticky; top:0; z-index:3; }
.salary-department-body .table > :not(caption) > * > * { padding:.38rem .55rem; border-color:#e2eaee; }

/* Progressive disclosure for the large salary-parameter workspace. */
.salary-parameter-guide { display:flex; align-items:center; gap:.4rem; padding:.55rem .7rem; margin-bottom:.75rem; border:1px solid #d8e5ea; border-radius:10px; background:#f5f9fa; }
.salary-parameter-guide span { display:flex; align-items:center; gap:.35rem; color:#587084; font-size:.67rem; font-weight:700; }
.salary-parameter-guide b { display:grid; place-items:center; width:21px; height:21px; color:#fff; border-radius:50%; background:#0f766e; font-size:.62rem; }
.salary-parameter-guide i { color:#9aabb6; font-size:.55rem; }
.salary-advanced-panel { padding:.7rem; border:1px dashed #bdd0d9; border-radius:10px; background:#f8fbfc; }

/* Viewport-fit policy studio: only the grid scrolls, not the whole business screen. */
@media (min-width:1200px) and (min-height:760px) {
    .personnel-raise-policy-page { height:calc(100vh - 142px); overflow:hidden; }
    .personnel-raise-policy-page > .row,
    .personnel-raise-policy-page > .row > .col-12,
    .personnel-raise-policy-page > .row > .col-12 > .card { height:100%; }
    .personnel-raise-policy-page > .row > .col-12 > .card { display:flex; flex-direction:column; }
    .personnel-raise-policy-page .card-header { flex:0 0 auto; min-height:64px !important; padding:.7rem 1rem !important; }
    .personnel-raise-policy-page .card-body { display:flex; flex:1 1 auto; min-height:0; flex-direction:column; padding:.7rem !important; overflow:hidden; }
    .personnel-raise-policy-page .enterprise-summary-strip { flex:0 0 auto; min-height:62px; margin:0 0 .55rem !important; }
    .personnel-raise-policy-page .enterprise-summary-strip > div { min-height:58px; padding:.45rem .7rem; }
    .personnel-raise-policy-page .card-body > .row { flex:0 0 auto; margin-bottom:.55rem !important; }
    .personnel-raise-policy-page .e-grid { flex:1 1 auto; min-height:0; }
}

/* Professional parameter detail drawer/dialog. */
.netgross-detail-dialog .e-dlg-header-content { padding:0 !important; border:0 !important; }
.netgross-detail-header { padding:1rem 1.15rem; color:#fff; background:linear-gradient(120deg,#0b2538,#0f766e); }
.netgross-detail-header small { display:block; margin-top:.25rem; color:#bdebe4; }
.netgross-detail-body { padding:1rem; background:#f4f8fa; }
.netgross-detail-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.55rem; margin-bottom:.8rem; }
.netgross-detail-kpis div { padding:.65rem; border:1px solid #d8e4e9; border-radius:9px; background:#fff; }
.netgross-detail-kpis small { display:block; color:#6f8394; font-size:.58rem; font-weight:800; text-transform:uppercase; }
.netgross-detail-kpis strong { display:block; margin-top:.2rem; color:#142f44; font-size:.95rem; }
.netgross-detail-section { margin-top:.7rem; border:1px solid #d8e4e9; border-radius:10px; background:#fff; overflow:hidden; }
.netgross-detail-section h6 { margin:0; padding:.55rem .7rem; color:#29465b; border-bottom:1px solid #e0e9ed; background:#edf4f6; font-size:.7rem; font-weight:850; text-transform:uppercase; }
.netgross-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.netgross-detail-grid div { padding:.55rem .7rem; border-right:1px solid #e8eef1; border-bottom:1px solid #e8eef1; }
.netgross-detail-grid span { display:block; color:#738696; font-size:.6rem; }
.netgross-detail-grid strong { color:#213d51; font-size:.76rem; font-variant-numeric:tabular-nums; }
@media (max-width:800px) { .salary-matrix-commandbar { grid-template-columns:1fr; } .netgross-detail-kpis,.netgross-detail-grid { grid-template-columns:1fr 1fr; } }

/* Filters look like a single analytics query bar. */
.personnel-enterprise-page :is(.rp-filter-bar,.to-filter,.mid-filter,.filter-card),
.personnel-enterprise-page .card-body:has(> .row > [class*="col-"] label.form-label) {
    border:1px solid var(--hr-line) !important; border-radius:14px !important;
    background:linear-gradient(180deg,#fff,#f8fbfc) !important; box-shadow:0 8px 22px rgba(15,42,67,.06) !important;
}
.personnel-enterprise-page label,
.personnel-enterprise-page .rp-label { color:#50697d !important; font-size:.67rem !important; font-weight:800 !important; letter-spacing:.04em; text-transform:uppercase; }
.personnel-enterprise-page .e-input-group,
.personnel-enterprise-page .form-control,
.personnel-enterprise-page .form-select { min-height:38px; border-color:#d3e1e7 !important; border-radius:9px !important; background:#fff !important; }

/* Analytics panels and charts. */
.personnel-enterprise-page :is(.rp-panel,.to-panel,.mid-panel,.chart-card,.analysis-card),
.personnel-enterprise-page .card:has(.echarts-for-react),
.personnel-enterprise-page .card:has(canvas) {
    position:relative; border:1px solid var(--hr-line) !important; border-radius:16px !important;
    background:linear-gradient(155deg,#fff,#f9fcfd) !important; box-shadow:0 12px 30px rgba(15,42,67,.075) !important;
}
.personnel-enterprise-page :is(.rp-panel,.to-panel,.mid-panel) h6 { color:var(--hr-ink); font-size:.82rem; letter-spacing:-.01em; }
.personnel-enterprise-page :is(.rp-panel,.to-panel,.mid-panel) h6::before { content:""; display:inline-block; width:4px; height:15px; margin-right:.5rem; border-radius:4px; vertical-align:-3px; background:linear-gradient(var(--pe-accent-2),var(--pe-accent)); }

/* Executive report navigation. */
.personnel-reports-page .rp-report-tabs { gap:.3rem; padding:.35rem; border:1px solid #d9e6eb; border-radius:12px; background:#edf4f6; }
.personnel-reports-page .rp-tab { padding:.52rem .7rem; border:0; border-radius:8px; color:#4b667a; font-size:.68rem; font-weight:800; text-decoration:none; }
.personnel-reports-page .rp-tab:hover { color:var(--pe-accent); background:#fff; }
.personnel-reports-page .rp-tab.active { color:#fff; background:linear-gradient(135deg,var(--pe-accent),var(--pe-accent-2)); box-shadow:0 6px 13px rgba(15,118,110,.18); }

/* KPI grids remain intentional even if the external Bootstrap CDN is unavailable. */
.personnel-reports-page .row:has(> [class*="col-"] > .rp-kpi),
.personnel-turnover-page .row:has(> [class*="col-"] > .to-kpi),
.personnel-attendance-page .row:has(> [class*="col-"] > .mid-kpi),
.personnel-cost-report-page .row:has(> [class*="col-"] > .kpi-card) { display:grid !important; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.75rem !important; }
.personnel-reports-page .row:has(> [class*="col-"] > .rp-kpi) > [class*="col-"],
.personnel-turnover-page .row:has(> [class*="col-"] > .to-kpi) > [class*="col-"],
.personnel-attendance-page .row:has(> [class*="col-"] > .mid-kpi) > [class*="col-"],
.personnel-cost-report-page .row:has(> [class*="col-"] > .kpi-card) > [class*="col-"] { width:auto !important; max-width:none !important; padding:0 !important; }
.personnel-salary-matrix-page .row:has(> [class*="col-"] > .card > .card-body > .fs-4) { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem !important; }
.personnel-salary-matrix-page .row:has(> [class*="col-"] > .card > .card-body > .fs-4) > [class*="col-"] { width:auto !important; max-width:none !important; padding:0 !important; }
.personnel-salary-matrix-page .row:has(> [class*="col-"] > .card > .card-body > .fs-4) .card-body { position:relative; min-height:92px; padding:1rem !important; }
.personnel-salary-matrix-page .row:has(> [class*="col-"] > .card > .card-body > .fs-4) .card-body::before { content:""; position:absolute; left:0; right:0; top:0; height:3px; background:linear-gradient(90deg,var(--pe-accent),var(--pe-accent-2)); }

/* Native salary matrix tables receive the same density as Syncfusion grids. */
.personnel-enterprise-page .table { --bs-table-bg:transparent; color:#263f53; border-color:#e1eaee; font-size:.75rem; }
.personnel-enterprise-page .table thead th { height:44px; padding:.7rem .75rem; color:#355268; background:linear-gradient(180deg,#f1f7f8,#e7f0f3) !important; border-color:#d8e5ea; font-size:.64rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; vertical-align:middle; }
.personnel-enterprise-page .table tbody td { height:43px; padding:.55rem .75rem; border-color:#e7eef2; vertical-align:middle; }
.personnel-enterprise-page .table tbody tr:nth-child(even) td { background:#f9fbfc; }
.personnel-enterprise-page .table tbody tr:hover td { background:#ebfbf8 !important; }
.personnel-enterprise-page code { padding:.2rem .38rem; color:#315f6b; border:1px solid #d6e7e8; border-radius:6px; background:#edf7f6; }

/* Salary matrix: department accordion prevents a 40+ section endless page. */
.salary-department-list { max-height:68vh; padding:.15rem .35rem .15rem .1rem; overflow-y:auto; overscroll-behavior:contain; scrollbar-color:#9ac7c3 #edf4f5; scrollbar-width:thin; }
.salary-department-list::-webkit-scrollbar { width:9px; }
.salary-department-list::-webkit-scrollbar-track { border-radius:9px; background:#edf4f5; }
.salary-department-list::-webkit-scrollbar-thumb { border:2px solid #edf4f5; border-radius:9px; background:#86b8b4; }
.salary-department { margin-bottom:.72rem; border:1px solid var(--hr-line); border-radius:14px; background:#fff; box-shadow:0 8px 22px rgba(15,42,67,.06); overflow:hidden; }
.salary-department > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:72px; padding:.75rem 1rem; cursor:pointer; list-style:none; background:linear-gradient(115deg,#fff,#f3faf9); transition:.18s ease; }
.salary-department > summary::-webkit-details-marker { display:none; }
.salary-department > summary:hover { background:#edf9f7; }
.salary-department[open] > summary { border-bottom:1px solid var(--hr-line); box-shadow:inset 4px 0 var(--pe-accent); }
.salary-department-title,.salary-department-metrics { display:flex; align-items:center; gap:.72rem; }
.salary-department-title > span:last-child { display:flex; flex-direction:column; }
.salary-department-title strong { color:var(--hr-ink); font-size:.82rem; }
.salary-department-title small { margin-top:.15rem; color:#71869a; font-size:.64rem; }
.salary-department-icon { display:grid; place-items:center; width:38px; height:38px; color:var(--pe-accent); border-radius:11px; background:#e3f5f2; }
.salary-department-metrics > span:not(.salary-department-chevron) { display:flex; flex-direction:column; min-width:68px; padding-left:.75rem; border-left:1px solid #dbe7eb; }
.salary-department-metrics b { color:var(--hr-ink); font-size:.88rem; }
.salary-department-metrics small { color:#71869a; font-size:.56rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.salary-department-chevron { display:grid; place-items:center; width:30px; height:30px; color:#668093; border-radius:8px; background:#eef4f6; transition:transform .2s ease; }
.salary-department[open] .salary-department-chevron { transform:rotate(180deg); color:var(--pe-accent); }
.salary-department-body { overflow-x:auto; }

/* Report hero and chart canvas polish. */
.personnel-reports-page .rp-hero { position:relative; overflow:hidden; padding:1.15rem 1.25rem; border-color:#cfe0e6; background:linear-gradient(120deg,#fff 0%,#f6fbfc 66%,#e4f6f3 100%); }
.personnel-reports-page .rp-hero::after { content:""; position:absolute; right:-55px; top:-85px; width:210px; height:210px; border:1px solid rgba(15,118,110,.13); border-radius:50%; box-shadow:0 0 0 38px rgba(8,145,178,.035),0 0 0 76px rgba(15,118,110,.025); pointer-events:none; }
.personnel-reports-page .rp-hero > * { position:relative; z-index:1; }
.personnel-enterprise-page canvas { filter:saturate(.94) contrast(1.02); }

@media (max-width:1200px) {
    .personnel-reports-page .row:has(> [class*="col-"] > .rp-kpi),.personnel-turnover-page .row:has(> [class*="col-"] > .to-kpi),.personnel-attendance-page .row:has(> [class*="col-"] > .mid-kpi),.personnel-cost-report-page .row:has(> [class*="col-"] > .kpi-card) { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:1200px) { .personnel-kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:700px) {
    .personnel-kpi-grid,.personnel-kpi-grid-three { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .personnel-enterprise-page .e-grid .e-rowcell,.personnel-enterprise-page .e-treegrid .e-rowcell { padding:.45rem .55rem !important; }
}
@media (max-width:900px) { .enterprise-summary-strip { grid-template-columns:repeat(2,minmax(0,1fr)); } .enterprise-summary-strip > div:nth-child(2){border-right:0}.enterprise-summary-strip > div:nth-child(-n+2){border-bottom:1px solid #e3ecef} }

@keyframes hrPageIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }

@media (max-width: 1250px) {
    .personnel-command-shell { grid-template-columns: auto 1fr auto; }
    .personnel-command-identity strong, .personnel-command-trust { display: none; }
    .personnel-command-nav a span { display: none; }
    .personnel-command-nav a { padding: .6rem .75rem; }
}
@media (max-width: 767px) {
    .personnel-command-shell { position: relative; top: auto; grid-template-columns: 1fr auto; margin-bottom: .75rem; }
    .personnel-command-nav { grid-column: 1 / -1; order: 3; justify-content: space-between; overflow-x: auto; }
    .personnel-command-nav a span { display: inline; }
    .personnel-command-nav a { white-space: nowrap; }
}
