/* ===== ADMIN USERS ===== */
.admin-page-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom: 18px;
}

.admin-subtitle{
  color:#aaa;
  font-size:13px;
}

.admin-tabs{
  display:flex;
  gap:10px;
  margin: 8px 0 16px;
}
.admin-tab{
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid rgba(60,255,195,.22);
  background: rgba(30,30,30,.55);
  color:#e8e8e8;
  font-weight:700;
  cursor:pointer;
  transition:.2s;
}
.admin-tab.active{
  background: rgba(60,255,195,.14);
  border-color: rgba(60,255,195,.45);
  color:#3cffc3;
}

.birthdays-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin: 10px 0 18px;
  flex-wrap: wrap;
}
.birthdays-filter{
  display:flex;
  align-items:center;
  gap:10px;
  color:#cfcfcf;
  font-size: 13px;
}
.birthdays-filter input{
  width: 90px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(60,255,195,.2);
  background: rgba(30,30,30,.8);
  color:#fff;
}
.birthdays-filter input:focus{
  outline:none;
  border-color:#3cffc3;
  box-shadow: 0 0 10px rgba(60,255,195,.25);
}

.btn-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding: 10px 16px;
  border-radius: 10px;
  border: 1px solid rgba(60,255,195,.25);
  background: rgba(30,30,30,.6);
  color: #fff;
  text-decoration:none;
  cursor:pointer;
  transition:.3s;
  font-weight:600;
}

.btn-secondary:hover{
  border-color: rgba(60,255,195,.55);
  box-shadow: 0 0 18px rgba(60,255,195,.12);
  transform: translateY(-1px);
}

.admin-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin: 10px 0 18px;
  flex-wrap: wrap;
}

.search-wrap{
  display:flex;
  gap:10px;
  flex: 1;
  min-width: 280px;
}

.search-input{
  flex:1;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid rgba(60,255,195,.2);
  background: rgba(30,30,30,.8);
  color: #fff;
  font-size: 14px;
}

.search-input:focus{
  outline:none;
  border-color:#3cffc3;
  box-shadow: 0 0 10px rgba(60,255,195,.25);
}

.admin-table-wrap{
  background: rgba(20,20,20,.8);
  border: 1px solid rgba(60,255,195,.2);
  border-radius: 14px;
  overflow:hidden;
}

.admin-table{
  width:100%;
  border-collapse: collapse;
}

.admin-table thead{
  background: rgba(60,255,195,.1);
}

.admin-table th,
.admin-table td{
  padding: 12px 12px;
  border-bottom: 1px solid rgba(60,255,195,.12);
  font-size: 13px;
  vertical-align: middle;
}

.admin-table th{
  color:#3cffc3;
  font-weight:700;
  text-align:left;
}

.admin-table td{
  color:#e8e8e8;
}

.table-loading{
  text-align:center;
  padding: 24px 12px !important;
  color:#aaa !important;
}

.cell-input{
  width: 100%;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid rgba(60,255,195,.18);
  background: rgba(30,30,30,.7);
  color:#fff;
  font-size: 13px;
}

.cell-input:focus{
  outline:none;
  border-color:#3cffc3;
}

.admin-switch{
  display:flex;
  align-items:center;
  gap:10px;
}

.admin-switch input{
  width:18px;
  height:18px;
  accent-color: #3cffc3;
}

.row-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}

.btn-mini{
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid rgba(60,255,195,.25);
  background: rgba(30,30,30,.6);
  color: #fff;
  cursor:pointer;
  transition:.2s;
  font-weight:700;
  font-size: 12px;
}
.btn-mini:hover{
  border-color: rgba(60,255,195,.55);
}
.btn-mini.primary{
  background: rgba(60,255,195,.16);
  color:#3cffc3;
}

.admin-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top: 16px;
}

.page-info{
  color:#aaa;
  font-size: 13px;
  min-width: 140px;
  text-align:center;
}

@media (max-width: 900px){
  .admin-table-wrap{ overflow:auto; }
  .admin-table{ min-width: 860px; }
}

