@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap");
:root{--primary:#cc0001;--primary-dark:#990000;--secondary:#1a1a2e;--dark:#0a0a0f;--card-bg:rgba(26,26,46,0.8);--border:rgba(204,0,1,0.2);--text-light:#e0e0e0;--success:#198754;--info:#0dcaf0;--warning:#ffc107}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:Outfit,sans-serif;background:#0a0a0f;color:#e0e0e0;min-height:100vh;overflow-x:hidden}
body::before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 20% 50%,rgba(204,0,1,0.05),transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(13,110,253,0.05),transparent 50%);pointer-events:none;z-index:0}
.navbar{background:rgba(13,13,13,0.95)!important;backdrop-filter:blur(20px);border-bottom:1px solid rgba(204,0,1,0.3);padding:.75rem 0;position:sticky;top:0;z-index:1050}
.navbar-brand{font-size:1.4rem;font-weight:800;color:#fff!important;letter-spacing:1px}
.navbar-brand span{color:var(--primary)}
.nav-link{color:#ccc!important;font-weight:500;padding:.5rem 1rem!important;border-radius:8px;transition:all .3s;font-size:.9rem}
.nav-link:hover,.nav-link.active{color:#fff!important;background:rgba(204,0,1,0.2)!important}
.hero-section{min-height:70vh;display:flex;align-items:center;padding:4rem 0;position:relative;overflow:hidden}
.hero-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:900;line-height:1.1;letter-spacing:-1px}
.hero-title .highlight{color:var(--primary);text-shadow:0 0 30px rgba(204,0,1,0.5)}
.hero-subtitle{font-size:1.2rem;color:#888;margin-top:1rem}
.btn-hero{background:var(--primary);color:#fff;border:none;padding:.85rem 2.5rem;border-radius:50px;font-weight:700;font-size:1rem;transition:all .3s;box-shadow:0 0 30px rgba(204,0,1,0.4)}
.btn-hero:hover{background:var(--primary-dark);transform:translateY(-3px);box-shadow:0 0 50px rgba(204,0,1,0.6);color:#fff}
.stat-card{background:rgba(26,26,46,0.6);border:1px solid rgba(204,0,1,0.2);border-radius:20px;padding:1.5rem;text-align:center;transition:all .4s;backdrop-filter:blur(10px);position:relative;overflow:hidden}
.stat-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),transparent)}
.stat-card:hover{transform:translateY(-8px);border-color:var(--primary);box-shadow:0 20px 60px rgba(204,0,1,0.2)}
.stat-number{font-size:2.5rem;font-weight:800;color:#fff;line-height:1}
.stat-label{font-size:.85rem;color:#888;margin-top:.5rem;text-transform:uppercase;letter-spacing:1px}
.unit-card{background:rgba(26,26,46,0.7);border:1px solid rgba(255,255,255,0.08);border-radius:24px;padding:2rem;transition:all .4s;backdrop-filter:blur(15px);height:100%;position:relative;overflow:hidden;cursor:pointer}
.unit-card::after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--unit-color,var(--primary));transform:scaleX(0);transition:transform .4s}
.unit-card:hover{transform:translateY(-10px);box-shadow:0 30px 80px rgba(0,0,0,0.4)}
.unit-card:hover::after{transform:scaleX(1)}
.unit-icon{width:70px;height:70px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin-bottom:1.5rem;position:relative}
.section-title{font-size:1.8rem;font-weight:800;color:#fff;position:relative;padding-bottom:.75rem}
.section-title::after{content:"";position:absolute;bottom:0;left:0;width:60px;height:3px;background:var(--primary);border-radius:2px}
.section-title.text-center::after{left:50%;transform:translateX(-50%)}
.staff-card{background:rgba(26,26,46,0.8);border:1px solid rgba(255,255,255,0.06);border-radius:20px;padding:1.5rem;text-align:center;transition:all .4s;backdrop-filter:blur(10px)}
.staff-card:hover{transform:translateY(-6px);border-color:rgba(204,0,1,0.3);box-shadow:0 20px 50px rgba(0,0,0,0.3)}
.staff-avatar{width:100px;height:100px;border-radius:50%;object-fit:cover;border:3px solid rgba(204,0,1,0.4);margin-bottom:1rem;box-shadow:0 0 20px rgba(204,0,1,0.2)}
.staff-name{font-weight:700;font-size:1rem;color:#fff;margin-bottom:.25rem}
.staff-position{font-size:.8rem;color:#888;margin-bottom:.75rem}
.glass-card{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:20px;backdrop-filter:blur(10px)}
.sidebar{width:260px;background:rgba(10,10,15,0.98);border-right:1px solid rgba(204,0,1,0.15);height:100vh;position:fixed;left:0;top:0;z-index:1040;transition:all .3s;backdrop-filter:blur(20px);overflow-y:auto;display:flex;flex-direction:column}
.sidebar-brand{padding:1rem 1.5rem;border-bottom:1px solid rgba(204,0,1,0.15);text-align:center;flex-shrink:0}
.sidebar-menu{padding:.5rem .75rem .75rem;flex:1;overflow-y:auto}
.sidebar-item{display:flex;align-items:center;padding:.6rem 1rem;border-radius:10px;color:#888;text-decoration:none;transition:all .3s;margin-bottom:.15rem;font-size:.875rem;font-weight:500}
.sidebar-item:hover,.sidebar-item.active{background:rgba(204,0,1,0.15);color:#fff;text-decoration:none;padding-left:1.25rem}
.sidebar-item i{width:22px;margin-right:.65rem;font-size:.95rem}
.sidebar-section{font-size:.65rem;color:#444;text-transform:uppercase;letter-spacing:2px;padding:.35rem 1rem;margin-top:.65rem}
.main-content{margin-left:260px;padding:2rem;transition:all .3s;min-height:100vh}
.page-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,0.05)}
.content-card{background:rgba(26,26,46,0.6);border:1px solid rgba(255,255,255,0.06);border-radius:20px;padding:1.5rem;backdrop-filter:blur(10px)}
.form-control,.form-select{background:rgba(255,255,255,0.05)!important;border:1px solid rgba(255,255,255,0.1)!important;color:#e0e0e0!important;border-radius:12px;padding:.75rem 1rem;transition:all .3s}
.form-control:focus,.form-select:focus{background:rgba(255,255,255,0.08)!important;border-color:rgba(204,0,1,0.5)!important;box-shadow:0 0 0 .25rem rgba(204,0,1,0.15)!important;color:#fff!important}
.form-label{color:#ccc;font-size:.9rem;font-weight:500;margin-bottom:.5rem}
.btn-primary{background:var(--primary)!important;border-color:var(--primary)!important;border-radius:10px;font-weight:600;padding:.6rem 1.5rem;transition:all .3s}
.btn-primary:hover{background:var(--primary-dark)!important;transform:translateY(-2px);box-shadow:0 8px 25px rgba(204,0,1,0.4)!important}
.btn-outline-primary{border-color:var(--primary)!important;color:var(--primary)!important;border-radius:10px;font-weight:600;transition:all .3s}
.btn-outline-primary:hover{background:var(--primary)!important;color:#fff!important}
.table{color:#e0e0e0!important;--bs-table-bg:transparent;--bs-table-color:#e0e0e0;--bs-table-striped-bg:transparent;--bs-table-hover-bg:rgba(255,255,255,0.03)}
.table thead th{background:rgba(204,0,1,0.1)!important;border-color:rgba(255,255,255,0.05)!important;color:#ccc!important;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:1rem}
.table tbody tr{background:transparent!important}
.table td,.table th{background:transparent!important;border-color:rgba(255,255,255,0.04)!important;padding:.9rem 1rem;vertical-align:middle}
.table tbody tr:hover td{background:rgba(255,255,255,0.03)!important}
table.dataTable tbody tr.odd, table.dataTable tbody tr.even { background-color: transparent !important; }
table.dataTable tbody tr.odd > *, table.dataTable tbody tr.even > * { box-shadow: inset 0 0 0 9999px transparent !important; }
.modal-content{background:#0f0f1a!important;border:1px solid rgba(204,0,1,0.3)!important;border-radius:20px!important}
.modal-header{border-bottom:1px solid rgba(255,255,255,0.05)!important;padding:1.5rem!important}
.modal-footer{border-top:1px solid rgba(255,255,255,0.05)!important}
.badge{border-radius:8px;font-weight:600;font-size:.75rem;padding:.4rem .8rem}
.link-dashboard-btn{background:rgba(26,26,46,0.8);border:1px solid rgba(255,255,255,0.1);border-radius:16px;padding:1.25rem 1.5rem;text-decoration:none;color:#e0e0e0;transition:all .3s;display:flex;align-items:center;gap:1rem;position:relative;overflow:hidden}
.link-dashboard-btn:hover{text-decoration:none;color:#fff;transform:translateY(-4px);box-shadow:0 15px 40px rgba(0,0,0,0.3)}
.link-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes loading{from{width:0}to{width:100%}}
.animate-fade{animation:fadeInUp .6s ease forwards}
.glow-text{text-shadow:0 0 20px rgba(204,0,1,0.5)}
.fc{color:#e0e0e0}
.fc .fc-toolbar-title{color:#fff;font-weight:700;font-size:1.2rem}
.fc .fc-button-primary{background:var(--primary)!important;border-color:var(--primary)!important;border-radius:8px!important}
.fc .fc-daygrid-day{background:rgba(26,26,46,0.4)}
.fc .fc-col-header-cell{background:rgba(204,0,1,0.1);color:#ccc;font-weight:600;font-size:.85rem}
.fc-theme-standard td,.fc-theme-standard th{border-color:rgba(255,255,255,0.06)}
.fc .fc-daygrid-day-number{color:#ccc}
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-thumb{background:rgba(204,0,1,0.4);border-radius:3px}
.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:#0a0a0f;z-index:9999;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.5rem}
.loading-logo{font-size:3rem;font-weight:900;color:#fff;letter-spacing:2px}
.loading-logo span{color:var(--primary)}
.loading-bar{width:200px;height:3px;background:rgba(255,255,255,0.1);border-radius:2px;overflow:hidden}
.loading-bar-fill{height:100%;background:var(--primary);border-radius:2px;animation:loading 1.5s ease forwards}
.sidebar-toggle{display:none;background:rgba(204,0,1,0.15);border:1px solid rgba(204,0,1,0.3);border-radius:10px;color:#fff;padding:.4rem .75rem;cursor:pointer}
.dark-overlay{background:rgba(0,0,0,0.7);position:fixed;top:0;left:0;width:100%;height:100%;z-index:1030;display:none}
.timeline{position:relative;padding-left:2rem}
.timeline::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--primary),transparent)}
.timeline-item{position:relative;margin-bottom:2rem;padding-left:1.5rem}
.timeline-item::before{content:"";position:absolute;left:-2.35rem;top:.25rem;width:12px;height:12px;border-radius:50%;background:var(--primary);border:2px solid #0a0a0f;box-shadow:0 0 10px rgba(204,0,1,0.5)}
.search-box{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:50px;padding:.5rem 1.25rem;color:#e0e0e0;width:300px;transition:all .3s}
.search-box:focus{background:rgba(255,255,255,0.08);border-color:rgba(204,0,1,0.4);box-shadow:0 0 0 .2rem rgba(204,0,1,0.15);outline:none;width:350px;color:#fff}
.breadcrumb{background:transparent!important;padding:0!important}
.breadcrumb-item a{color:rgba(204,0,1,0.8);text-decoration:none}
select option{background:#1a1a2e;color:#e0e0e0}
.dataTables_wrapper .dataTables_filter input{background:rgba(255,255,255,0.05)!important;border:1px solid rgba(255,255,255,0.1)!important;color:#e0e0e0!important;border-radius:10px;padding:.4rem 1rem}
.dataTables_wrapper .dataTables_length select{background:rgba(255,255,255,0.05)!important;border:1px solid rgba(255,255,255,0.1)!important;color:#e0e0e0!important;border-radius:8px}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button:hover{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important;border-radius:8px}
@media(max-width:991px){.sidebar{transform:translateX(-100%)}.sidebar.show{transform:translateX(0)}.main-content{margin-left:0}.hero-title{font-size:2rem}.sidebar-toggle{display:block}}
@media(max-width:768px){
  .main-content > div[style*="padding"] { padding: calc(1rem + env(safe-area-inset-top)) 0.75rem 1rem 0.75rem !important; }
  .fc .fc-toolbar { flex-direction: column !important; gap: 10px; }
  .fc .fc-toolbar-chunk { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; }
  .fc .fc-toolbar-title { font-size: 1.2rem !important; text-align: center; width: 100%; }
  .fc .fc-button { padding: 0.4rem 0.75rem !important; font-size: 0.85rem !important; }
  .content-card { padding: 1rem !important; }
  .btn { padding: 0.4rem 0.8rem !important; font-size: 0.8rem !important; }
  .d-flex.justify-content-between { flex-wrap: wrap !important; gap: 10px; }
  .nav-pills { flex-wrap: nowrap !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding-bottom: 8px !important; margin-bottom: 1rem !important; }
  .nav-pills::-webkit-scrollbar { height: 4px; }
  .nav-pills::-webkit-scrollbar-thumb { background: rgba(204,0,1,0.5); border-radius: 4px; }
  .row { margin-right: 0 !important; margin-left: 0 !important; }
  .row > * { padding-right: 4px; padding-left: 4px; }
  .col-md-9, .col-md-3 { padding-left: 0 !important; padding-right: 0 !important; }
  
  /* Fix staff card tallness and padding */
  .staff-card { padding: 0.75rem !important; border-radius: 15px; }
  .staff-avatar { width: 65px; height: 65px; margin-bottom: 0.5rem; border-width: 2px; }
  .staff-name { font-size: 0.85rem !important; margin-bottom: 0.2rem; line-height: 1.2; }
  .staff-position { font-size: 0.75rem !important; margin-bottom: 0.5rem; line-height: 1.2; }
  .staff-card .badge, .staff-card span[style*="border"] { font-size: 0.7rem !important; padding: 0.2rem 0.4rem !important; white-space: normal !important; line-height: 1.2 !important; display: inline-block; }
  .staff-card i { font-size: 0.8rem; }
  .staff-card .btn { padding: 0.3rem 0.5rem !important; font-size: 0.7rem !important; }
  .staff-card div[style*="font-size:"] { font-size: 0.7rem !important; word-break: break-all; }
}
@media(max-width:576px){
  .stat-number{font-size:2rem}
  .hero-section{min-height:50vh;padding:2rem 0}
}
@media(max-width:430px){
  .fc .fc-col-header-cell { font-size: 0.75rem !important; padding: 0.2rem !important; }
  .fc .fc-daygrid-day-number { font-size: 0.75rem !important; padding: 2px !important; }
  .section-title { font-size: 1.2rem !important; }
  .stat-card { padding: 1rem !important; }
  .stat-number { font-size: 1.5rem !important; }
  #calendar { min-height: 400px !important; }
}
