/* C247 Admin/HR Mobile Polish 38
   Blue/white PSG branded shell.
   Visual-only layer. No route/permission changes.
*/

:root {
  --c247-blue: #0b5ed7;
  --c247-blue-dark: #063b88;
  --c247-blue-soft: #eaf3ff;
  --c247-ink: #102033;
  --c247-muted: #607086;
  --c247-border: #dbe7f6;
  --c247-card: #ffffff;
  --c247-bg: #f4f8ff;
}

/* Global soft background for Admin + HR + staff records */
body.c247-admin-area,
body.c247-hr-area,
body.c247-admin-area main,
body.c247-hr-area main {
  background:
    radial-gradient(circle at top left, rgba(11,94,215,.12), transparent 32rem),
    linear-gradient(180deg, #f7fbff 0%, #eef6ff 100%) !important;
  color: var(--c247-ink) !important;
}

/* Keep pages full width but readable */
body.c247-admin-area main,
body.c247-hr-area main,
body.c247-admin-area .container,
body.c247-hr-area .container,
body.c247-admin-area .container-fluid,
body.c247-hr-area .container-fluid {
  max-width: 1180px !important;
}

/* C247-like page headings */
body.c247-admin-area h1,
body.c247-admin-area h2,
body.c247-admin-area h3,
body.c247-hr-area h1,
body.c247-hr-area h2,
body.c247-hr-area h3 {
  color: var(--c247-blue-dark) !important;
  font-weight: 900 !important;
  letter-spacing: -.03em !important;
}

/* Cards / panels */
body.c247-admin-area .card,
body.c247-hr-area .card,
body.c247-admin-area .shadow-sm,
body.c247-hr-area .shadow-sm,
body.c247-admin-area .list-group,
body.c247-hr-area .list-group {
  border: 1px solid var(--c247-border) !important;
  border-radius: 20px !important;
  box-shadow: 0 16px 34px rgba(10, 60, 130, .08) !important;
  overflow: hidden !important;
}

body.c247-admin-area .card-header,
body.c247-hr-area .card-header {
  background: linear-gradient(135deg, #ffffff, #eef6ff) !important;
  border-bottom: 1px solid var(--c247-border) !important;
  color: var(--c247-blue-dark) !important;
  font-weight: 900 !important;
}

/* Buttons */
body.c247-admin-area .btn-primary,
body.c247-hr-area .btn-primary,
body.c247-admin-area .btn-success,
body.c247-hr-area .btn-success {
  background: linear-gradient(135deg, var(--c247-blue), #1b7cff) !important;
  border-color: var(--c247-blue) !important;
  color: #fff !important;
  font-weight: 800 !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 22px rgba(11, 94, 215, .18) !important;
}

body.c247-admin-area .btn-outline-primary,
body.c247-hr-area .btn-outline-primary,
body.c247-admin-area .btn-outline-secondary,
body.c247-hr-area .btn-outline-secondary,
body.c247-admin-area .btn-outline-dark,
body.c247-hr-area .btn-outline-dark,
body.c247-admin-area .btn-outline-info,
body.c247-hr-area .btn-outline-info,
body.c247-admin-area .btn-outline-warning,
body.c247-hr-area .btn-outline-warning {
  border-color: var(--c247-border) !important;
  color: var(--c247-blue-dark) !important;
  background: #fff !important;
  font-weight: 800 !important;
  border-radius: 14px !important;
}

body.c247-admin-area .btn-outline-primary:hover,
body.c247-hr-area .btn-outline-primary:hover,
body.c247-admin-area .btn-outline-secondary:hover,
body.c247-hr-area .btn-outline-secondary:hover {
  background: var(--c247-blue-soft) !important;
}

/* Forms */
body.c247-admin-area input,
body.c247-admin-area select,
body.c247-admin-area textarea,
body.c247-hr-area input,
body.c247-hr-area select,
body.c247-hr-area textarea {
  border-radius: 14px !important;
  border-color: var(--c247-border) !important;
}

body.c247-admin-area input:focus,
body.c247-admin-area select:focus,
body.c247-admin-area textarea:focus,
body.c247-hr-area input:focus,
body.c247-hr-area select:focus,
body.c247-hr-area textarea:focus {
  border-color: var(--c247-blue) !important;
  box-shadow: 0 0 0 .2rem rgba(11,94,215,.12) !important;
}

/* Tables desktop */
body.c247-admin-area table,
body.c247-hr-area table {
  background: #fff !important;
}

body.c247-admin-area thead,
body.c247-hr-area thead {
  background: #eef6ff !important;
  color: var(--c247-blue-dark) !important;
}

body.c247-admin-area th,
body.c247-hr-area th {
  font-weight: 900 !important;
  color: var(--c247-blue-dark) !important;
}

/* Badges / pills */
body.c247-admin-area .badge,
body.c247-hr-area .badge {
  border-radius: 999px !important;
  font-weight: 800 !important;
  padding: .45rem .7rem !important;
}

/* Mobile C247 card-table behaviour */
@media (max-width: 768px) {
  body.c247-admin-area main,
  body.c247-hr-area main {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  body.c247-admin-area .container,
  body.c247-hr-area .container,
  body.c247-admin-area .container-fluid,
  body.c247-hr-area .container-fluid {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  body.c247-admin-area h1,
  body.c247-hr-area h1 {
    font-size: 1.35rem !important;
    line-height: 1.15 !important;
    margin-bottom: .8rem !important;
  }

  body.c247-admin-area h2,
  body.c247-hr-area h2 {
    font-size: 1.15rem !important;
  }

  body.c247-admin-area .card,
  body.c247-hr-area .card {
    border-radius: 18px !important;
    margin-bottom: 12px !important;
  }

  body.c247-admin-area .card-body,
  body.c247-hr-area .card-body {
    padding: 14px !important;
  }

  body.c247-admin-area .btn,
  body.c247-hr-area .btn {
    min-height: 42px !important;
    padding: 9px 12px !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
  }

  body.c247-admin-area .d-flex,
  body.c247-hr-area .d-flex {
    gap: 8px !important;
  }

  /* Convert large action rows into neat buttons */
  body.c247-admin-area .btn-toolbar,
  body.c247-hr-area .btn-toolbar,
  body.c247-admin-area .card-header .d-flex,
  body.c247-hr-area .card-header .d-flex {
    flex-wrap: wrap !important;
  }

  /* Mobile table -> readable stacked cards */
  body.c247-admin-area table.table,
  body.c247-hr-area table.table {
    border-collapse: separate !important;
    border-spacing: 0 10px !important;
  }

  body.c247-admin-area table.table thead,
  body.c247-hr-area table.table thead {
    display: none !important;
  }

  body.c247-admin-area table.table tbody,
  body.c247-admin-area table.table tr,
  body.c247-admin-area table.table td,
  body.c247-hr-area table.table tbody,
  body.c247-hr-area table.table tr,
  body.c247-hr-area table.table td {
    display: block !important;
    width: 100% !important;
  }

  body.c247-admin-area table.table tr,
  body.c247-hr-area table.table tr {
    background: #fff !important;
    border: 1px solid var(--c247-border) !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 28px rgba(10,60,130,.07) !important;
    margin-bottom: 12px !important;
    overflow: hidden !important;
  }

  body.c247-admin-area table.table td,
  body.c247-hr-area table.table td {
    border: 0 !important;
    border-bottom: 1px solid #eef3fa !important;
    padding: 9px 12px !important;
    font-size: 13px !important;
  }

  body.c247-admin-area table.table td:last-child,
  body.c247-hr-area table.table td:last-child {
    border-bottom: 0 !important;
  }

  body.c247-admin-area table.table td.text-end,
  body.c247-hr-area table.table td.text-end {
    text-align: left !important;
  }

  body.c247-admin-area table.table td .btn,
  body.c247-hr-area table.table td .btn {
    width: 100% !important;
    margin-top: 5px !important;
  }

  /* Search/filter boxes */
  body.c247-admin-area form.row,
  body.c247-hr-area form.row {
    background: #fff !important;
    border: 1px solid var(--c247-border) !important;
    border-radius: 18px !important;
    padding: 12px !important;
    box-shadow: 0 12px 28px rgba(10,60,130,.06) !important;
  }

  body.c247-admin-area .row.g-2 > *,
  body.c247-hr-area .row.g-2 > *,
  body.c247-admin-area .row.g-3 > *,
  body.c247-hr-area .row.g-3 > * {
    margin-bottom: 6px !important;
  }
}

/* PSG logo feel in topbar */
.psgTop11-logo img,
.psgTop11-brand img,
.psgTop11 img[src*="psg-logo"] {
  object-fit: contain !important;
}
