/* Philippine HRIS — application styles (Bootstrap 5 baseline) */
:root{
  --hris-primary:#198754;
  --hris-sidebar:#0f2e22;
  --hris-sidebar-fg:#cfe6d8;
  --hris-bg:#f4f7f5;
  --hris-border:#e4ebe6;
  --hris-sidebar-w:250px;
}
*{box-sizing:border-box}
body{background:var(--hris-bg);color:#1f2937;margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{text-decoration:none}

/* Login */
.login-bg{background:linear-gradient(135deg,#e8f5ec,#f4f7f5);min-height:100vh}
.login-card{width:100%;max-width:480px;border-radius:18px}
.brand-mark{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:var(--hris-primary);color:#fff;font-weight:800;font-size:1.1rem}

/* Layout shell */
.hris-sidebar{position:fixed;top:0;left:0;width:var(--hris-sidebar-w);height:100vh;background:var(--hris-sidebar);color:var(--hris-sidebar-fg);overflow-y:auto;z-index:1040;transition:transform .2s ease}
.sidebar-brand{display:flex;align-items:center;gap:.6rem;padding:1.1rem 1.25rem;border-bottom:1px solid #ffffff14;color:#fff}
.sidebar-brand .brand-text{font-weight:700;line-height:1.1}
.sidebar-nav{padding:.5rem 0 2rem}
.nav-section{padding:.9rem 1.25rem .35rem;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:#7fb599}
.nav-link-item{display:flex;align-items:center;gap:.7rem;padding:.55rem 1.25rem;color:var(--hris-sidebar-fg);font-size:.92rem;border-left:3px solid transparent}
.nav-link-item i{width:18px;opacity:.85}
.nav-link-item:hover{background:#ffffff10;color:#fff}
.nav-link-item.active{background:#ffffff18;color:#fff;border-left-color:#3ddc97}

.hris-body{margin-left:var(--hris-sidebar-w);min-height:100vh;display:flex;flex-direction:column}
.hris-topbar{position:sticky;top:0;z-index:1030;background:#fff;border-bottom:1px solid var(--hris-border);display:flex;align-items:center;gap:1rem;padding:.6rem 1.25rem}
.topbar-title{font-weight:700;font-size:1.05rem}
.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:.5rem}
.hris-main{padding:1.5rem;flex:1}
.notif-menu{width:340px;max-width:90vw}
.notif-item{white-space:normal;padding:.5rem .9rem;border-bottom:1px solid #f0f0f0}
.notif-item small{display:block}

.hris-backdrop{display:none;position:fixed;inset:0;background:#0006;z-index:1035}

/* Cards / panels */
.stat-card,.module-card,.hris-panel{background:#fff;border:1px solid var(--hris-border);border-radius:14px;padding:1.1rem;box-shadow:0 4px 16px #15291c08}
.hris-panel{padding:0}
.hris-panel .card-header{background:#fff;border-bottom:1px solid var(--hris-border);border-radius:14px 14px 0 0;padding:.75rem 1.1rem}
.hris-panel .card-body{padding:1.1rem}
.stat-icon{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}
.module-card{display:block;color:inherit}
.module-card strong,.module-card span{display:block}
.module-card span{color:#6b7280;margin-top:.45rem;font-size:.9rem}
.module-card:hover{border-color:var(--hris-primary);transform:translateY(-1px)}

.table{vertical-align:middle;background:#fff}
.table thead th{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:#6b7280}
.avatar-sm{width:38px;height:38px;border-radius:50%;object-fit:cover;background:#e5e7eb}

/* Forms */
.form-label{font-weight:600;font-size:.85rem;color:#374151}
.required:after{content:" *";color:#dc3545}

/* Print (payslips) */
@media print{
  .hris-sidebar,.hris-topbar,.topbar-actions,.no-print,.hris-backdrop{display:none !important}
  .hris-body{margin:0}
  .hris-main{padding:0}
  .payslip{border:none !important;box-shadow:none !important}
}

/* Responsive */
@media (max-width: 991.98px){
  .hris-sidebar{transform:translateX(-100%)}
  body.sidebar-open .hris-sidebar{transform:translateX(0)}
  body.sidebar-open .hris-backdrop{display:block}
  .hris-body{margin-left:0}
}
@media (max-width: 575.98px){
  .hris-main{padding:1rem .75rem}
  .display-6{font-size:1.7rem}
}
