.employees-table-scroll {
  max-height: 180px;
  overflow-y: auto;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: #fff;
}
.employees-table-scroll table {
  margin-bottom: 0;
}
:root{
	--bg:#bfc3c6;
	--card:#ffffff;
	--muted:#44505a;
	--accent:#0b5cff;
	--accent-2:#0b7a3f;
	--border:#c6c9cc;
	--shadow:0 14px 40px rgba(8,20,40,0.14);
	--max-width:1100px;
}
*{box-sizing:border-box}
.app{max-width:unset;margin:0;padding:0}

.app-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:linear-gradient(90deg, #ffffff, #fbfdff);border-radius:10px;box-shadow:var(--shadow);}
*{box-sizing:border-box}
body{font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:#0f172a;margin:0}
.brand{display:flex;align-items:center;gap:12px}
.logo{font-size:28px}
.brand h1{margin:0;font-size:20px}
.subtitle{margin:0;color:var(--muted);font-size:13px}
.header-controls{display:flex;align-items:center;gap:10px}
.mode-indicator{color:var(--muted);font-size:13px;padding:6px 10px;border-radius:6px;background:#eef6ff}
.btn{border:0;padding:8px 12px;border-radius:8px;cursor:pointer;background:#fff;box-shadow:0 1px 0 rgba(15,23,42,0.06);}
.btn.small{padding:6px 10px;font-size:13px}
.btn.primary{background:var(--accent);color:#fff}
.btn.muted{background:#f1f5f9;color:var(--muted)}

.grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:16px}
.panel{background:var(--card);border-radius:10px;padding:14px;box-shadow:var(--shadow);border:1px solid var(--border)}
.panel h2{margin:0 0 8px 0;font-size:16px}
.panel-body{padding-top:8px}

table{width:100%;border-collapse:collapse;margin:8px 0;font-size:13px}
th,td{padding:10px;border-bottom:1px solid var(--border);text-align:left}
thead th{background:#fbfdff;color:var(--muted);font-weight:600}

.form-card{margin-top:12px;padding:12px;border-radius:8px;background:#fbfdff;border:1px solid var(--border)}
.form-card h3{margin:0 0 8px 0}
.form-card .row{margin:8px 0}
input[type=text], input[type=password], input{padding:8px;border:1px solid var(--border);border-radius:6px;width:100%;font-size:14px}
.muted{color:var(--muted)}
.small{font-size:13px}

.app-footer{margin:12px 0 40px 0;color:var(--muted);font-size:13px;text-align:center}

@media (max-width:900px){
	.grid{grid-template-columns:1fr}
}

.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:60}
.modal[aria-hidden="false"]{display:flex}
.modal-backdrop{position:absolute;inset:0;background:rgba(2,6,23,0.45)}
.modal-card{position:relative;background:var(--card);width:min(720px,95%);border-radius:12px;box-shadow:0 20px 60px rgba(2,6,23,0.35);overflow:hidden}
.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}
.modal-body{padding:18px;color:#0f172a;line-height:1.5}
.modal-footer{padding:12px 18px;border-top:1px solid var(--border);text-align:right}
.modal-close{border:0;background:none;font-size:18px;cursor:pointer}

.btn.primary{background:linear-gradient(180deg,var(--accent),#0a48d9)}
.mode-indicator{background:linear-gradient(90deg,#f8fafc,#ffffff)}
.panel h2{color:var(--accent-2)}

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.sidebar-toggle {
  position: fixed;
  top: 14px;
  left: 14px;
  display: none;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(135deg, #111827, #1f2937);
  color: #f9fafb;
  font-weight: 600;
  letter-spacing: 0.2px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.22);
  z-index: 1200;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  animation: slideInLeft 0.5s ease-out;
}
.sidebar-toggle:hover {
  transform: scale(1.08);
  box-shadow: 0 15px 40px rgba(0,0,0,0.35);
  background: linear-gradient(135deg, #1f2937, #374151);
}
.sidebar-toggle:active {
  transform: scale(0.98);
}
.sidebar-toggle .sidebar-toggle-icon {
  display: flex;
  flex-direction: column;
  gap: 3px;
  width: 18px;
}
.sidebar-toggle .sidebar-toggle-icon .bar {
  width: 100%;
  height: 2px;
  background: #f9fafb;
  border-radius: 2px;
  transition: all 0.3s ease;
}
.sidebar-toggle:hover .sidebar-toggle-icon .bar:nth-child(1) {
  transform: translateY(-1px);
}
.sidebar-toggle:hover .sidebar-toggle-icon .bar:nth-child(3) {
  transform: translateY(1px);
}
.sidebar-toggle .sidebar-toggle-label { font-size: 14px; }

.sidebar-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  background: rgba(255, 255, 255, 0.1);
  color: #e5e7eb;
  font-size: 18px;
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.sidebar-close:hover {
  background: rgba(239, 68, 68, 0.9);
  color: #fff;
  transform: rotate(90deg) scale(1.1);
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4);
}
.sidebar-close:active {
  transform: rotate(90deg) scale(0.95);
}
.sidebar-close-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.sidebar-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.4);
  z-index: 1040;
}

.sidebar {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 260px;
  background: linear-gradient(135deg, #0f172a 0%, #1a2744 100%) !important;
  border-right: 1px solid #162a47 !important;
  box-shadow: 0 6px 18px rgba(10,20,30,0.04);
  padding-top: 14px;
  z-index: 1050;
  overflow-x: hidden;
  overflow-y: auto;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.sidebar .sidebar-top { padding: 20px 16px; border-bottom: 1px solid #162a47 !important; margin-bottom: 8px; }
.sidebar .sidebar-brand { text-align: left; display: flex; align-items: center; justify-content: space-between; }
.sidebar .sidebar-brand .fw-bold { 
  color: #f9fafb; 
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.3px;
}
.sidebar .sidebar-user { display:flex; align-items:center; gap:10px; margin-top:10px; padding:10px 8px; border-radius:8px; background:#1a2744 !important; transition: background 0.3s ease; }
.sidebar .sidebar-user .avatar { width:36px; height:36px; border-radius:50%; background:#162a47 !important; color:#e5e7eb; display:flex; align-items:center; justify-content:center; font-weight:600; font-size:14px; transition: transform 0.2s ease; }
.sidebar .sidebar-user .user-meta { display:flex; flex-direction:column; min-width:0; }
.sidebar .sidebar-user .user-name { color:#f9fafb; font-size:14px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sidebar .sidebar-user .user-role { color:#d1d5db; font-size:12px; }
.sidebar .sidebar-user .login-link { color:#e5e7eb; text-decoration:underline; }
.sidebar .logo { width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:#1a2744 !important;font-size:18px; }
.sidebar .text-muted { color: #d1d5db !important; }
.side-nav { margin:0;padding:8px;list-style:none; }
.side-nav li { list-style:none; }
.side-nav .nav-item {
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  color:#f9fafb;
  text-decoration:none;
  border-radius:8px;
  margin:4px 6px;
  font-size:14px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}
.side-nav .nav-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 3px;
  background: linear-gradient(180deg, #60a5fa, #3b82f6);
  transform: scaleY(0);
  transition: transform 0.3s ease;
}
.side-nav .nav-item:hover::before {
  transform: scaleY(1);
}
.side-nav .nav-item .icon {
  width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#1a2744 !important;font-size:15px;flex-shrink:0;
}
.side-nav .nav-item .nav-label {
  flex:1;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.side-nav .nav-item:hover { 
  background:#1a2744 !important; 
  color:#ffffff; 
  transform: translateX(8px);
  box-shadow: 0 4px 12px rgba(26, 39, 68, 0.4);
}
.side-nav .nav-item:active {
  transform: translateX(6px) scale(0.98);
}
.side-nav .nav-item.active,
.side-nav .nav-item.active:hover {
  background:#162a47 !important;
  color:#ffffff;
  font-weight:600;
  transform: translateX(8px);
  box-shadow: 0 4px 16px rgba(59, 130, 246, 0.3);
  border-left: 3px solid #3b82f6;
}

.main-content {
  margin-left: 260px;
  padding: 16px;
  max-width: 100%;
}
.main-content .container-fluid {
  max-width: 100%;
  padding: 0;
}
.main-content .panel {
  max-width: 100%;
}

@media (max-width: 991px) {
  .sidebar {
    transform: translateX(-110%);
    transition: transform .25s ease;
    width: 260px;
  }
  .sidebar.open { transform: translateX(0); }
  .sidebar-toggle { display: inline-flex !important; }
  .sidebar-close { display: inline-flex !important; }
  .sidebar-backdrop.visible { display: block; }
  .main-content { margin-left: 0; padding: 12px; }
}

.header-controls { display:flex; gap:8px; align-items:center; }



.report-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:8px}
.requests-table{width:100%;table-layout:fixed;border-collapse:collapse}
.requests-table th,.requests-table td{white-space:normal;word-break:break-word}

