:root {
  --gs-bg-1: #f4f8ff;
  --gs-bg-2: #eefcf5;
  --gs-surface: rgba(255,255,255,0.92);
  --gs-surface-strong: #ffffff;
  --gs-border: rgba(37, 99, 235, 0.14);
  --gs-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
  --gs-shadow-soft: 0 10px 25px rgba(59, 130, 246, 0.08);
  --gs-text: #16324f;
  --gs-muted: #5b6f88;
  --gs-primary: #2563eb;
  --gs-primary-2: #0ea5e9;
  --gs-accent: #10b981;
  --gs-radius: 18px;
}

body[class*="wp-admin"] .wrap,
body[class*="wp-admin"] .ses-card,
body[class*="wp-admin"] .ganiyu-school-dashboard,
body[class*="wp-admin"] .tab-content,
body[class*="wp-admin"] .responsive-table-container,
#ganiyu-parent-portal,
#ganiyu-parent-portal #ganiyu-parent-found,
#ganiyu-parent-portal #ganiyu-parent-report-result > div,
#ganiyu-parent-portal .ganiyu-parent-shell,
.ganiyu-school-front-shell,
.ganiyu-school-front-form,
.ganiyu-school-front-card,
.ganiyu-school-front-report {
  position: relative;
  background: var(--gs-surface);
  border: 1px solid var(--gs-border);
  border-radius: var(--gs-radius);
  box-shadow: var(--gs-shadow);
  backdrop-filter: blur(8px);
}

body.wp-admin.toplevel_page_ganiyu-school-dashboard,
body.wp-admin[class*="ganiyu-school"],
body:not(.wp-admin) {
  background:
    radial-gradient(circle at top left, rgba(37,99,235,0.12), transparent 30%),
    radial-gradient(circle at top right, rgba(16,185,129,0.10), transparent 24%),
    linear-gradient(135deg, var(--gs-bg-1), var(--gs-bg-2));
}

body[class*="wp-admin"] .wrap,
body[class*="wp-admin"] .ganiyu-school-dashboard,
#ganiyu-parent-portal,
.ganiyu-school-front-shell {
  padding: 24px;
}

body[class*="wp-admin"] .wrap h1,
body[class*="wp-admin"] .wrap h2,
body[class*="wp-admin"] .wrap h3,
#ganiyu-parent-portal h1,
#ganiyu-parent-portal h2,
#ganiyu-parent-portal h3,
#ganiyu-parent-portal label,
.ganiyu-school-front-shell h1,
.ganiyu-school-front-shell h2,
.ganiyu-school-front-shell h3 {
  color: var(--gs-text);
}

#ganiyu-parent-portal::before,
.ganiyu-school-front-shell::before,
body[class*="wp-admin"] .wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,255,255,0.28), transparent 45%);
}

#ganiyu-parent-portal form,
.ganiyu-school-front-form,
body[class*="wp-admin"] .wrap form {
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(245,250,255,0.92));
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 16px;
  padding: 20px;
  box-shadow: var(--gs-shadow-soft);
}

#ganiyu-parent-portal p,
#ganiyu-parent-portal .ganiyu-parent-field,
.ganiyu-school-front-form p,
body[class*="wp-admin"] .wrap .form-table,
body[class*="wp-admin"] .wrap .student-filters-and-search,
body[class*="wp-admin"] .wrap .tablenav {
  position: relative;
  z-index: 1;
}

#ganiyu-parent-portal input[type="text"],
#ganiyu-parent-portal input[type="email"],
#ganiyu-parent-portal input[type="date"],
#ganiyu-parent-portal input[type="number"],
#ganiyu-parent-portal select,
#ganiyu-parent-portal textarea,
.ganiyu-school-front-shell input[type="text"],
.ganiyu-school-front-shell input[type="email"],
.ganiyu-school-front-shell input[type="date"],
.ganiyu-school-front-shell input[type="number"],
.ganiyu-school-front-shell select,
.ganiyu-school-front-shell textarea,
body[class*="wp-admin"] .wrap input[type="text"],
body[class*="wp-admin"] .wrap input[type="email"],
body[class*="wp-admin"] .wrap input[type="date"],
body[class*="wp-admin"] .wrap input[type="number"],
body[class*="wp-admin"] .wrap select,
body[class*="wp-admin"] .wrap textarea {
  width: 100%;
  max-width: 100%;
  border-radius: 12px;
  border: 1px solid rgba(37,99,235,0.18);
  background: rgba(255,255,255,0.95);
  box-shadow: inset 0 1px 2px rgba(15,23,42,0.03);
  padding: 10px 12px;
}

#ganiyu-parent-portal input:focus,
#ganiyu-parent-portal select:focus,
#ganiyu-parent-portal textarea:focus,
.ganiyu-school-front-shell input:focus,
.ganiyu-school-front-shell select:focus,
.ganiyu-school-front-shell textarea:focus,
body[class*="wp-admin"] .wrap input:focus,
body[class*="wp-admin"] .wrap select:focus,
body[class*="wp-admin"] .wrap textarea:focus {
  border-color: rgba(14,165,233,0.7);
  box-shadow: 0 0 0 4px rgba(14,165,233,0.12);
  outline: none;
}

#ganiyu-parent-portal button,
#ganiyu-parent-portal .button,
.ganiyu-school-front-shell button,
.ganiyu-school-front-shell .button,
body[class*="wp-admin"] .wrap .button,
body[class*="wp-admin"] .wrap button {
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--gs-primary), var(--gs-primary-2));
  color: #fff;
  box-shadow: 0 10px 24px rgba(37,99,235,0.24);
  padding: 10px 18px;
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

#ganiyu-parent-portal button:hover,
#ganiyu-parent-portal .button:hover,
.ganiyu-school-front-shell button:hover,
.ganiyu-school-front-shell .button:hover,
body[class*="wp-admin"] .wrap .button:hover,
body[class*="wp-admin"] .wrap button:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(14,165,233,0.2);
  color: #fff;
}

body[class*="wp-admin"] .wrap .button-secondary,
body[class*="wp-admin"] .wrap .button-danger,
#ganiyu-parent-portal .button-secondary {
  background: linear-gradient(135deg, #64748b, #334155);
}

#ganiyu-parent-found,
#ganiyu-parent-report-result,
.ganiyu-school-front-card,
body[class*="wp-admin"] .responsive-table-container,
body[class*="wp-admin"] .ses-card,
body[class*="wp-admin"] .ganiyu-school-dashboard-card,
body[class*="wp-admin"] .ganiyu-school-help-section {
  padding: 18px;
  margin-top: 18px;
}

#ganiyu-parent-student-info {
  background: linear-gradient(135deg, rgba(37,99,235,0.08), rgba(16,185,129,0.08));
  border-radius: 14px;
  padding: 16px;
}

#ganiyu-parent-portal table,
.ganiyu-school-front-shell table,
body[class*="wp-admin"] .wrap table.widefat,
body[class*="wp-admin"] .wrap table.wp-list-table {
  border: 0;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: var(--gs-shadow-soft);
}

#ganiyu-parent-portal table th,
.ganiyu-school-front-shell table th,
body[class*="wp-admin"] .wrap table.widefat thead th,
body[class*="wp-admin"] .wrap table.wp-list-table thead th {
  background: linear-gradient(135deg, rgba(37,99,235,0.95), rgba(14,165,233,0.92));
  color: #fff;
  border-bottom: 0;
}

#ganiyu-parent-portal table td,
.ganiyu-school-front-shell table td,
body[class*="wp-admin"] .wrap table.widefat td,
body[class*="wp-admin"] .wrap table.wp-list-table td {
  background: rgba(255,255,255,0.94);
}

#ganiyu-parent-portal .description,
.ganiyu-school-front-shell .description,
body[class*="wp-admin"] .wrap .description {
  color: var(--gs-muted);
}

#ganiyu-parent-portal label,
.ganiyu-school-front-shell label,
body[class*="wp-admin"] .wrap label {
  font-weight: 600;
}

@media (max-width: 782px) {
  body[class*="wp-admin"] .wrap,
  #ganiyu-parent-portal,
  .ganiyu-school-front-shell {
    padding: 16px;
  }

  #ganiyu-parent-portal form,
  .ganiyu-school-front-form,
  body[class*="wp-admin"] .wrap form {
    padding: 16px;
  }
}


/* Better admin tab styling and student list layout fixes */
body[class*="wp-admin"] .wrap .nav-tab-wrapper {
  border-bottom: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

body[class*="wp-admin"] .wrap .nav-tab-wrapper .nav-tab {
  border: 1px solid rgba(37,99,235,0.18);
  border-radius: 12px 12px 0 0;
  background: linear-gradient(135deg, rgba(59,130,246,0.16), rgba(14,165,233,0.12));
  color: var(--gs-text);
  font-weight: 600;
  margin-left: 0;
  padding: 10px 16px;
}

body[class*="wp-admin"] .wrap .nav-tab-wrapper .nav-tab:hover {
  background: linear-gradient(135deg, rgba(37,99,235,0.22), rgba(14,165,233,0.18));
  color: var(--gs-text);
}

body[class*="wp-admin"] .wrap .nav-tab-wrapper .nav-tab-active {
  background: linear-gradient(135deg, rgba(37,99,235,0.95), rgba(14,165,233,0.92));
  color: #fff;
  border-color: rgba(37,99,235,0.55);
  box-shadow: 0 10px 24px rgba(37,99,235,0.16);
}

body[class*="wp-admin"] .wrap .student-filters-and-search .search-box input,
body[class*="wp-admin"] .wrap .student-filters-and-search .actions select,
body[class*="wp-admin"] .wrap #bulk-actions-form .tablenav .actions select,
body[class*="wp-admin"] .wrap #bulk-actions-form .tablenav .actions .button {
  width: auto;
  max-width: none;
}

body[class*="wp-admin"] .wrap .student-filters-and-search .search-box input {
  min-width: 280px;
}

body[class*="wp-admin"] .wrap .student-filters-and-search .actions select,
body[class*="wp-admin"] .wrap #bulk-actions-form .tablenav .actions select {
  min-width: 170px;
}

body[class*="wp-admin"] .wrap #bulk-actions-form .tablenav.top {
  display: block;
  margin-bottom: 14px;
}

body[class*="wp-admin"] .wrap #bulk-actions-form .tablenav .actions {
  float: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding-bottom: 0;
}

body[class*="wp-admin"] .wrap #bulk-actions-form .responsive-table-container {
  clear: both;
}

body[class*="wp-admin"] .wrap .students-table .column-action,
body[class*="wp-admin"] .wrap .students-table td[data-colname="Action"] {
  white-space: nowrap;
}

@media (max-width: 782px) {
  body[class*="wp-admin"] .wrap .student-filters-and-search .search-box input,
  body[class*="wp-admin"] .wrap .student-filters-and-search .actions select,
  body[class*="wp-admin"] .wrap #bulk-actions-form .tablenav .actions select,
  body[class*="wp-admin"] .wrap #bulk-actions-form .tablenav .actions .button {
    width: 100%;
    min-width: 0;
  }
}


@media (max-width: 900px) {
  body[class*="wp-admin"] .wrap .responsive-table-container {
    overflow-x: visible;
  }

  body[class*="wp-admin"] .wrap .students-table {
    min-width: 0 !important;
    width: 100% !important;
  }

  body[class*="wp-admin"] .wrap .students-table td[data-colname="Action"] {
    white-space: normal;
  }
}


/* Student table header contrast + true stacked mobile layout */
body[class*="wp-admin"] .wrap .students-table thead th,
body[class*="wp-admin"] .wrap .students-table thead th span,
body[class*="wp-admin"] .wrap .students-table thead th a,
body[class*="wp-admin"] .wrap .students-table thead th a:visited,
body[class*="wp-admin"] .wrap .students-table thead th a:hover {
  color: #ffffff !important;
}

@media (max-width: 900px) {
  body[class*="wp-admin"] .wrap .students-table tbody,
  body[class*="wp-admin"] .wrap .students-table tr,
  body[class*="wp-admin"] .wrap .students-table td,
  body[class*="wp-admin"] .wrap .students-table th.check-column,
  body[class*="wp-admin"] .wrap .students-table tbody th {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both;
  }

  body[class*="wp-admin"] .wrap .students-table td,
  body[class*="wp-admin"] .wrap .students-table th.check-column,
  body[class*="wp-admin"] .wrap .students-table tbody th {
    padding: 12px 14px !important;
  }

  body[class*="wp-admin"] .wrap .students-table td[data-colname]::before,
  body[class*="wp-admin"] .wrap .students-table th.check-column::before,
  body[class*="wp-admin"] .wrap .students-table tbody th[data-colname]::before {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 8px 0 !important;
  }
}


/* Force true vertical stacking for students table on phones */
@media screen and (max-width: 782px) {
  body[class*="wp-admin"] .wrap table.wp-list-table.students-table,
  body[class*="wp-admin"] .wrap table.wp-list-table.students-table tbody,
  body[class*="wp-admin"] .wrap table.wp-list-table.students-table tr,
  body[class*="wp-admin"] .wrap table.wp-list-table.students-table td,
  body[class*="wp-admin"] .wrap table.wp-list-table.students-table th.check-column,
  body[class*="wp-admin"] .wrap table.wp-list-table.students-table tbody th {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    float: none !important;
    clear: both !important;
  }

  body[class*="wp-admin"] .wrap table.wp-list-table.students-table td,
  body[class*="wp-admin"] .wrap table.wp-list-table.students-table th.check-column,
  body[class*="wp-admin"] .wrap table.wp-list-table.students-table tbody th {
    padding: 12px 14px !important;
    padding-left: 14px !important;
    text-align: left !important;
    white-space: normal !important;
  }

  body[class*="wp-admin"] .wrap table.wp-list-table.students-table td::before,
  body[class*="wp-admin"] .wrap table.wp-list-table.students-table th.check-column::before,
  body[class*="wp-admin"] .wrap table.wp-list-table.students-table tbody th::before {
    content: attr(data-colname) !important;
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    position: static !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    color: #1e3a8a !important;
    font-weight: 700 !important;
  }

  body[class*="wp-admin"] .wrap table.wp-list-table.students-table td.check-column::before,
  body[class*="wp-admin"] .wrap table.wp-list-table.students-table th.check-column::before {
    content: attr(data-colname) !important;
  }

  body[class*="wp-admin"] .wrap table.wp-list-table.students-table td[data-colname="Action"] a {
    margin: 4px 8px 0 0 !important;
  }
}
