section.moo {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.moo_grid {
  display: grid;
  grid-template-columns: 7fr 3fr;
  grid-gap: 1rem;
}

.moo_page {
  padding: 1rem;
}

.moo_nav {
  margin: 1rem 0;
}

.card.moo {
  border-radius: 0;
}
.card.moo .card-body {
  border-radius: 0;
}

header.amen,
nav.amen,
section.amen {
  margin-bottom: 1rem !important;
}

section.amen {
  padding: 0 !important;
}

/*
 * Falcon ajoute un grand espacement vertical à toutes les balises section.
 * Dans MENORA, une section portant la classe card est un composant compact :
 * elle ne doit donc pas hériter de l'espacement d'une section de page.
 * Les utilitaires p-0, p-2, etc. restent prioritaires lorsqu'ils sont présents.
 */
#layoutAdmin section.card {
  padding: 0;
}

header.amen {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
}

h1.amen {
  margin-bottom: 0;
  font-size: 1.3rem;
  font-weight: bold;
}
h1.amen .labelModule {
  font-size: 1.2rem;
}

nav.amen .navbar-brand {
  font-size: 1.3rem;
  text-transform: uppercase;
}
nav.amen .cellNav,
nav.amen .cellAction {
  display: flex;
  align-items: center;
}

.gridLayout {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 1rem;
}

#viewPage {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-gap: 1rem;
  /* background-color: #464646; */
}

#viewBody {
  display: grid;
  grid-template-columns: 4fr 4fr;
  grid-gap: 1rem;
}

#zone1,
#zone2 {
  padding: 1rem;
}

#viewBody.lay_0 {
  grid-template-columns: 1fr;
}

#zoneHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#zoneHeader .cellGauche {
  display: flex;
  align-items: center;
}

.gridAside {
  display: grid;
  grid-template-columns: 4fr 4fr;
  grid-gap: 1rem;
}

.zoneFlash {
  position: relative;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  height: 50px;
  border-radius: 6px;
}

.btn.btnAmen {
  box-shadow: none;
}

.card.ooViewer {
  box-shadow: none !important;
  border-radius: 0;
  background-image: url("../kit/falcon/img/icons/spot-illustrations/corner-4.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
}

.card.cardView {
  margin-bottom: 1.5rem;
}

.card.cardView .card-title {
  margin-bottom: 1rem;
  border-left: 5px solid #2c7be5;
  padding-left: 0.5rem;
}

.card.cardView .card-header .card-title {
  margin: 0;
}

.card.cardView form {
  padding: 1rem;
}

.card.cardView .form-input,
.card.cardView .form-group {
  margin-bottom: 0;
}

.card.cardView .cardBox form {
  border: none;
}

.card.cardView .cardBox p {
  margin: 0;
}

.card.cardView .navControl {
  padding: 0.5rem 1rem;
}

.card.cardView form.formModal {
  padding: 0;
}

.cardView {
  margin: 1rem 0;
}

.card.cardView .navControl {
  margin: 0 1rem;
  border-radius: 4px;
  background-color: #263549;
}

.cardEdit {
  margin: 1rem 0;
  border-radius: 0;
}

.cardEdit .card-body,
.cardEdit .card-img-top {
  border-radius: 0;
}

.row.rowInput {
  margin-bottom: 1rem;
}

form input.form-control,
form select.form-select {
  padding: 0.72rem;
}

form .form-group label {
  font-weight: bold !important;
  font-style: italic;
  margin-bottom: 0.2rem;
  color: black;
}

form.admen .row {
  margin-bottom: 1rem;
}

div.kdre_btnSave,
div.kdre_btnAction {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  background-color: #0b1727;
  margin-bottom: 2rem;
  padding: 0.5rem;
}

div.kdre_btnSave.them_1 {
  margin-bottom: 1rem;
}

.modal.admen {
  padding: 1rem;
}
.modal.admen .modalHeader,
.modal.admen .modalFooter {
  padding: 1rem 2rem;
}
.modal.admen .modalHeader {
  display: flex;
  justify-content: space-between;
}
.modal.admen .modalHeader .modal-title {
  font-weight: bold;
}
.modal.admen .modalBody {
  padding: 2rem;
}
.modal.admen .modalFooter {
  text-align: center;
}

.navbarAdmen .navFirst .nav-link {
  margin-right: 0.5rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.kdre_responsive .table-responsive {
  min-height: 500px;
}

.table-responsive {
  min-height: 500px !important;
}

.mediaPhotos {
  background-color: #01040A;
  padding: 2rem;
}

.mediaPhotos .photo {
  margin-right: 0.25rem;
  border: 3px solid #344050;
}

.mediaPhotos .photo:hover {
  border: 3px solid #f37736;
}

.mediaPhotos .photo.select {
  border: 3px solid green;
  padding: 5px;
  background-color: green;
}

.mediaPhotos .consigne {
  border-left: 5px solid #f9fafd;
  padding-left: 1rem;
}

.mediaPhotos .consigne span.libel {
  margin-right: 0.5rem;
  color: #ededed;
}

.mediaPhotos .consigne span.path {
  color: #27bcfd;
}

.mediaPhotos .consigne span.dim {
  color: #f5803e;
}

.zonePhotos {
  background-color: black;
  padding: 1rem;
  margin-bottom: 1rem;
}

.mediaPhotos .media {
  margin-right: 0.25rem;
  border: 3px solid #344050;
}

.headerFormation {
  margin: 1rem 0 0;
  padding: 1rem;
  text-align: left;
  color: black;
  font-size: 1.4rem;
  font-weight: bold;
  border-left: 1px solid #042571;
  border-right: 1px solid #042571;
}
.headerFormation span.ref {
  color: #a87000;
}
.headerFormation p.labelFormation {
  color: #3e8ffa;
  margin-bottom: 0;
}

fieldset {
  margin: 2rem 0;
  padding: 1rem;
  border: 1px solid #263549;
}
fieldset legend {
  margin-bottom: 1rem;
  color: #3e8ffa;
}

@media (min-width: 1200px) {
  .container.container1140 {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container.container1140 {
    max-width: 1140px;
  }
}
article.card.cardRowProduit {
  display: flex;
  flex-direction: row;
  margin-bottom: 5px;
}

article.card.cardRowProduit .cellItem {
  flex: 1;
  padding: 5px;
}

@media (min-width: 1400px) {
  .container.container1440 #layoutPublic .container.container1140 {
    max-width: 1140px !important;
  }
}

#fiche_formation .gridTitle {
  display: grid;
  grid-template-columns: 8fr 4fr;
  grid-gap: 1rem;
}

.gridTitle .fiche_title {
  padding: 2rem 1rem;
  /* border-left: 10px solid #5f6782; */
  font-size: 1.6rem;
}

html.dark .zoneFlash {
  background-color: #000712;
}

html.dark h1.h1ViewAdmin {
  color: #ededed;
}

html.dark .cardEntete h1,
html.dark .cardEntete h2,
html.dark .cardEntete h3 {
  border-left: 5px solid #2c7be5;
  padding-left: 0.5rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

html.dark .tableA.ws_01 tr:hover {
  background-color: #0b1727;
}

html.dark .tableA.ws_01 td {
  border: 1px solid black;
}

html.dark .tableA.ws_01 td .btn:hover {
  color: white;
}

html.dark .tableA.ws_01 td .btn.btn-falcon-danger:hover {
  background-color: #e63757;
}

html.dark .tableA.ws_01 td .btn.btn-falcon-success:hover {
  background-color: #00d079;
  color: #0b1727;
}

html.dark .tableA.ws_01 td .btn.btn-falcon-info:hover {
  background-color: #00d079;
  color: #0b1727;
}

html.dark .tableA.ws_01 td .btn.btn-falcon-primary:hover {
  background-color: dark(#00d27a, 0.7);
  color: #0b1727;
}

html.dark .tableA.ws_01 a.aLabel {
  color: white;
}

html.dark .kdreEdit .form-label_title {
  font-weight: bold;
  color: black;
  font-size: 1.2rem;
}

html.dark .card.cardView form {
  border: 1px solid #000712;
}

html.dark #navbarModuloo .navbar-toggler {
  background-color: #0444a3;
  color: white;
}

html.dark #navbarModuloo .navbar-brand {
  color: #fff !important;
}

html.dark #navbarModuloo .navbar-brand .fa-home {
  color: #fff;
}

html.dark #navbarModuloo .nav-link {
  color: black;
}

html.dark #navbarModuloo .nav-link:hover {
  color: #057ccc;
}

html.dark #navbarModuloo .cellGauche .nav-link {
  border-right: 1px solid #0f2f44;
  color: white;
}

html.dark #navbarModuloo .cellGauche .nav-link.add {
  color: orange;
  font-weight: bold;
}

html.dark #navbarModuloo .cellGauche .nav-link.first {
  border-left: 1px solid #ababab;
}

html.dark .card.ooViewer {
  background-image: url("../kit/falcon/img/icons/spot-illustrations/corner-4.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
}

html.dark .card.cardParam .card-body.themeTransp {
  background-image: none;
}

html.dark .card.cardTitleTop {
  background-image: url("../kit/falcon/img/icons/spot-illustrations/corner-4.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  border-radius: 0;
}

html.dark .card.cardTitleTop .kdre a.link_01 {
  color: white;
}

html.dark .card.cardTitleTop h1.h1Oo .labelModule {
  color: white;
}

html.dark form .form-group label {
  color: white;
}

html.dark h1.amen .titleView {
  color: #3e8ffa;
}
.dark .modal.admen .btn-close {
  background-color: rgb(187, 51, 51);
  opacity: 1;
}

.dark .modal.admen .modalBody {
  border-left: 3px solid #01204f;
  border-right: 3px solid #01204f;
}

html.light .zoneFlash {
  background-color: #0b1727;
}

html.light h1.h1ViewAdmin {
  color: #ededed;
}

html.light .cardEntete h1,
html.light .cardEntete h2,
html.light .cardEntete h3 {
  border-left: 5px solid #2c7be5;
  padding-left: 0.5rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

html.light .tableA.ws_01 tr:hover {
  background-color: #0b1727;
}

html.light .tableA.ws_01 td {
  border: 1px solid black;
}

html.light .tableA.ws_01 td .btn:hover {
  color: white;
}

html.light .tableA.ws_01 td .btn.btn-falcon-danger:hover {
  background-color: #e63757;
}

html.light .tableA.ws_01 td .btn.btn-falcon-success:hover {
  background-color: #00d079;
  color: #0b1727;
}

html.light .tableA.ws_01 td .btn.btn-falcon-info:hover {
  background-color: #00d079;
  color: #0b1727;
}

html.light .tableA.ws_01 td .btn.btn-falcon-primary:hover {
  background-color: dark(#00d27a, 0.7);
  color: #0b1727;
}

html.light .tableA.ws_01 a.aLabel {
  color: white;
}

html.light .btn-falcon-secondary {
  border: 1px solid black;
  color: black;
}

html.light .tableA.ws_01 tr:hover {
  background-color: #0b1727;
}

html.light .tableA.ws_01 tr:hover a {
  color: white;
}

html.light .tableA.ws_01 tr:hover a.btn-falcon-success {
  color: green;
}

html.light .tableA.ws_01 tr:hover a.btn-falcon-info {
  color: #2c7be5;
}

html.light .tableA.ws_01 td {
  border: 1px solid #aaa;
}

html.light .tableA.ws_01 td .btn:hover {
  color: white;
}

html.light .tableA.ws_01 td .btn.btn-falcon-danger:hover {
  background-color: #aa0000;
}

html.light .tableA.ws_01 td .btn.btn-falcon-info:hover {
  background-color: #00d27a;
}

html.light .tableA.ws_01 td .btn.btn-falcon-primary:hover {
  background-color: #00d27a;
}

html.light .tableA.ws_01 a.aLabel {
  color: black;
}

html.light .arianAdmin .active {
  color: #0b1727;
}

html.light h3.cardView {
  border-left: 5px solid #2c7be5;
  padding-left: 0.5rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

html.light div.kdre_btnSave,
html.light div.kdre_btnAction {
  /* background-color: #efefef; */
  background-color: white;
}

html.light .card.cardMenu {
  border: none;
}

html.light .card.cardMenu .card-body {
  padding: 1rem;
  background-color: #efefef;
  border-radius: 0;
}

html.light #sidebarMenu .linkMenu {
  color: black;
}

html.light #sidebarMenu .list-group-item {
  background-color: white;
}

html.light #viewHeader {
  border: none;
}

.light .cardTeam h5.itemFonction {
  color: #f5803e;
}

html.light .card.cardView {
  padding: 20px;
  background-color: white;
  background-image: url("../data/bkg/pineapple-cut.png");
}

html.light .card.cardGuide {
  background-color: #edf2f9;
  background-image: url("../data/bkg/pineapple-cut.png");
}

html.light .rowGrid .colGridPage_right {
  background-color: #edf2f9;
  background-image: url("../data/bkg/pineapple-cut.png");
  padding: 1rem;
  padding-right: 1rem;
}

html.light .card.cardMenu .card-body {
  padding: 0 !important;
}

html.light #navbarModuloo {
  background-color: #fff;
}

html.light #navbarModuloo .navbar-toggler {
  background-color: #0444a3;
  color: white;
}

html.light #navbarModuloo .navbar-brand {
  color: #0b1727 !important;
}

html.light #navbarModuloo .navbar-brand .fa-home {
  color: #0444a3;
}

html.light #navbarModuloo .nav-link {
  color: black;
}

html.light #navbarModuloo .nav-link:hover {
  color: #057ccc;
}

html.light #navbarModuloo .cellGauche .nav-link {
  border-right: 1px solid #ababab;
}

html.light #navbarModuloo .cellGauche .nav-link.add {
  color: orange;
  font-weight: bold;
}

html.light #navbarModuloo .cellGauche .nav-link.first {
  border-left: 1px solid #ababab;
}

html.light .card.ooViewer {
  background-color: white;
  background-image: url("../kit/falcon/img/icons/spot-illustrations/corner-4.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
}

html.light .card.cardParam .card-header {
  background-color: white;
}

html.light .card.cardParam .card-body {
  background-color: #ecf1f9;
  background-color: #fff;
}

html.light .card.cardParam .card-body.themeTransp {
  background-image: none;
  background-color: white;
}

html.light .card.cardParam .card-footer {
  background-color: white;
}

html.light .card.cardParam .card-footer .formFooter {
  background-color: white;
}

html.light .card.cardTitleTop {
  background-image: url("../kit/falcon/img/icons/spot-illustrations/corner-4.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  border-radius: 0;
}

html.light .card.cardTitleTop .kdre a.link_01 {
  color: black;
}

html.light .card.cardTitleTop h1.h1Oo .labelModule {
  color: #0444a3;
}

html.light form .form-group label {
  color: black;
}

html.light header.amen,
html.light nav.amen {
  border: 1px solid #eee !important;
}
html.light h1.amen .titleView {
  color: #3e8ffa;
}
html.light .btn.btnAmen {
  border: 1px solid #eee;
}

.light .modal.admen .btn-close {
  background-color: rgb(187, 51, 51);
  opacity: 1;
}

.light .modal.admen .modalBody {
  border-left: 3px solid #01204f;
  border-right: 3px solid #01204f;
}

.dropdown-toggle.iconone::after {
  display: none !important;
}

form.moo .form-group {
  margin: 1rem 0;
}

.table-responsive.minheight {
  min-height: 350px;
}

td[contenteditable=true] {
  border: 1px dashed #3e8ffa;
}

/*
 * Réglages centralisés de la sidebar Menora.
 * Ces variables permettent d'ajuster sa largeur, son écart avec le contenu et
 * la taille des libellés sans devoir modifier les règles du thème Falcon.
 */
:root {
  --menora-sidebar-expanded-width: 14.75rem;
  --menora-sidebar-content-gap: .25rem;
  --menora-sidebar-font-size: .8rem;
}

.menora-sidebar .navbar-nav {
  font-size: var(--menora-sidebar-font-size);
}

.menora-sidebar #navbarVerticalNav .nav-link {
  padding-top: .23rem;
  padding-bottom: .23rem;
  line-height: 1.2;
}

.menora-sidebar #navbarVerticalNav .nav-link-icon {
  width: 1.25rem;
  min-width: 1.25rem;
  font-size: .8rem;
}

.menora-sidebar .navbar-brand .py-3 {
  padding-top: .45rem !important;
  padding-bottom: .45rem !important;
}

.menora-sidebar .navbar-brand img {
  width: 36px;
}

.menora-sidebar .navbar-vertical-label-wrapper {
  margin-top: .5rem !important;
  margin-bottom: .3rem !important;
}

.menora-sidebar .navbar-vertical-label {
  font-size: .68rem;
}

.menora-sidebar .sidebar-ar-year {
  margin-bottom: .4rem !important;
  padding: .4rem .5rem;
}

.menora-sidebar .sidebar-ar-year .form-label,
.menora-sidebar .sidebar-ar-year .small {
  font-size: .68rem;
  line-height: 1.25;
}

.menora-sidebar .sidebar-ar-year .form-select {
  padding-top: .2rem;
  padding-bottom: .2rem;
  font-size: .78rem;
}

.menora-sidebar #navbarVerticalNav .sidebar-feature-link {
  margin-top: .1rem;
  margin-bottom: .1rem;
}

.menora-sidebar .scrollbar::-webkit-scrollbar {
  width: 4px;
}

/* La poignée reste invisible sur mobile et lorsque le menu est replié. */
.menora-sidebar-resize-handle {
  display: none;
}

@media (min-width: 1200px) {
  /* La sidebar rejoint presque le contenu afin de supprimer la large bande grise. */
  html:not(.navbar-vertical-collapsed) .menora-sidebar.navbar-expand-xl,
  html.navbar-vertical-collapsed-hover .menora-sidebar.navbar-expand-xl {
    width: var(--menora-sidebar-expanded-width);
    max-width: var(--menora-sidebar-expanded-width) !important;
  }

  html:not(.navbar-vertical-collapsed) .menora-sidebar.navbar-expand-xl .navbar-collapse,
  html:not(.navbar-vertical-collapsed) .menora-sidebar.navbar-expand-xl .navbar-vertical-content,
  html.navbar-vertical-collapsed-hover .menora-sidebar.navbar-expand-xl .navbar-collapse,
  html.navbar-vertical-collapsed-hover .menora-sidebar.navbar-expand-xl .navbar-vertical-content {
    width: var(--menora-sidebar-expanded-width) !important;
  }

  html:not(.navbar-vertical-collapsed) .menora-sidebar.navbar-expand-xl + .content {
    margin-left: calc(var(--menora-sidebar-expanded-width) + var(--menora-sidebar-content-gap));
  }

  html:not(.navbar-vertical-collapsed) .menora-sidebar.navbar-expand-xl .menora-sidebar-resize-handle {
    position: absolute;
    top: 0;
    right: -.25rem;
    z-index: 4;
    display: block;
    width: .5rem;
    height: 100vh;
    cursor: col-resize;
    touch-action: none;
  }

  html:not(.navbar-vertical-collapsed) .menora-sidebar-resize-handle::after {
    position: absolute;
    top: 0;
    right: .2rem;
    width: 1px;
    height: 100%;
    background: rgba(94, 110, 130, .18);
    content: "";
    transition: width .15s ease, background-color .15s ease;
  }

  html:not(.navbar-vertical-collapsed) .menora-sidebar-resize-handle:hover::after,
  html:not(.navbar-vertical-collapsed) .menora-sidebar-resize-handle:focus-visible::after,
  html.menora-sidebar-resizing .menora-sidebar-resize-handle::after {
    width: 2px;
    background: #2c7be5;
  }

  html.menora-sidebar-resizing,
  html.menora-sidebar-resizing * {
    cursor: col-resize !important;
    user-select: none !important;
  }

  html.menora-sidebar-resizing .menora-sidebar.navbar-expand-xl .navbar-collapse {
    transition: none;
  }
}

.integration-school-card {
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.integration-school-card::before {
  display: block;
  height: .3rem;
  background: linear-gradient(90deg, #2c7be5, #6f42c1);
  content: "";
}

.integration-school-card:hover {
  border-color: rgba(44, 123, 229, .45) !important;
  box-shadow: 0 .45rem 1rem rgba(35, 46, 60, .12);
  transform: translateY(-2px);
}

.integration-school-card:focus-within {
  outline: .2rem solid rgba(44, 123, 229, .25);
  outline-offset: .1rem;
}

.integration-school-card-has-students {
  border-color: rgba(0, 172, 105, .45) !important;
  background: linear-gradient(180deg, rgba(0, 172, 105, .07), #fff 45%);
}

.integration-school-card-has-students::before {
  background: linear-gradient(90deg, #00ac69, #4fc58d);
}

.integration-school-card-has-students:hover {
  border-color: rgba(0, 172, 105, .7) !important;
  box-shadow: 0 .45rem 1rem rgba(0, 112, 70, .15);
}

.integration-school-card-has-students:focus-within {
  outline-color: rgba(0, 172, 105, .25);
}

.integrations-empty-state {
  background: linear-gradient(135deg, rgba(44, 123, 229, .04), rgba(111, 66, 193, .06));
  border-style: dashed !important;
}

.integration-admin-list {
  max-height: 22rem;
  overflow-y: auto;
}

.pia-photo-drop {
  min-height: 20rem;
  cursor: pointer;
  background: rgba(44, 123, 229, .04);
  border-style: dashed !important;
  transition: background-color .2s ease, border-color .2s ease;
}

.pia-student-card {
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.pia-student-card:hover,
.pia-student-card:focus {
  border-color: rgba(44, 123, 229, .45) !important;
  box-shadow: 0 .4rem .9rem rgba(35, 46, 60, .12);
  transform: translateY(-2px);
}

.pia-student-photo,
.pia-student-photo-placeholder {
  width: 100%;
  aspect-ratio: 4 / 3;
}

.pia-student-photo {
  object-fit: cover;
  object-position: center;
}

.pia-student-photo-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #748194;
  font-size: 3rem;
  background: linear-gradient(135deg, rgba(44, 123, 229, .1), rgba(111, 66, 193, .1));
}

.pia-full-form {
  display: block;
}

.integration-student-header-avatar {
  width: 4.25rem;
  height: 4.25rem;
  overflow: hidden;
  color: #2c7be5;
  font-size: 1.5rem;
  background: rgba(44, 123, 229, .1);
  border: 2px solid rgba(44, 123, 229, .18);
  border-radius: .75rem;
  box-shadow: 0 .15rem .4rem rgba(35, 46, 60, .12);
}

.integration-student-header-avatar img,
.integration-student-header-avatar span {
  width: 100%;
  height: 100%;
}

.integration-student-header-avatar img {
  display: block;
  object-fit: cover;
  object-position: center;
}

.integration-student-header-avatar span {
  display: flex;
  align-items: center;
  justify-content: center;
}

.integration-student-header-identity {
  min-width: 0;
}

.integration-student-tabs .nav {
  gap: .4rem;
  padding: .65rem;
  background: rgba(44, 123, 229, .05);
  border: 1px solid rgba(44, 123, 229, .14);
  border-radius: .5rem;
  scrollbar-width: thin;
}

.integration-student-tabs .nav-link {
  flex: 0 0 auto;
  white-space: nowrap;
  color: #344050;
  background: #fff;
  border: 1px solid rgba(44, 123, 229, .18);
}

.integration-student-tabs .nav-link:hover,
.integration-student-tabs .nav-link:focus {
  color: #2c7be5;
  border-color: #2c7be5;
}

.integration-student-tabs .nav-link.active {
  color: #fff;
  background: #2c7be5;
  border-color: #2c7be5;
}

.integration-overview-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  flex: 0 0 3rem;
  color: #2c7be5;
  font-size: 1.25rem;
  background: rgba(44, 123, 229, .12);
  border-radius: 50%;
}

.integration-school-overview {
  height: auto;
  min-height: 0;
  --geeks-card-spacer-y: 1rem;
  --geeks-card-spacer-x: 1.25rem;
  --geeks-card-cap-padding-y: 1rem;
  --geeks-card-cap-padding-x: 1.25rem;
}

.integration-school-overview > .card-header,
.integration-school-overview > .card-body {
  flex: 0 0 auto;
}

.integration-details > div {
  display: grid;
  grid-template-columns: minmax(6.5rem, 35%) 1fr;
  gap: .75rem;
  padding: .45rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, .06);
}

.integration-details > div:last-child {
  border-bottom: 0;
}

.integration-details dt {
  color: #748194;
  font-weight: 600;
}

.integration-details dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.integration-student-summary {
  position: sticky;
  top: 1rem;
  overflow: hidden;
}

.integration-student-summary-photo,
.integration-student-summary-placeholder {
  width: 100%;
  aspect-ratio: 4 / 3;
}

.integration-student-summary-photo {
  object-fit: cover;
  object-position: center;
}

.integration-student-summary-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #748194;
  font-size: 4rem;
  background: linear-gradient(135deg, rgba(44, 123, 229, .1), rgba(111, 66, 193, .1));
}

.profile-photo-panel,
.student-document-panel {
  padding: 1rem;
  background: rgba(44, 123, 229, .035);
  border: 1px solid rgba(44, 123, 229, .16);
  border-radius: .5rem;
}

.profile-photo-panel .pia-photo-drop {
  min-height: 17rem;
}

.student-document-drop {
  cursor: pointer;
  background: #fff;
  border-style: dashed !important;
  transition: background-color .2s ease, border-color .2s ease, opacity .2s ease;
}

.student-document-drop:hover,
.student-document-drop:focus,
.student-document-drop.is-dragging {
  background: rgba(44, 123, 229, .08);
  border-color: #2c7be5 !important;
}

.student-document-drop.is-uploading {
  cursor: wait;
  opacity: .65;
}

.student-document-list {
  display: grid;
  gap: .75rem;
}

.student-document-item {
  margin: 0;
  background: #fff;
  box-shadow: none;
}

.integration-placeholder-text {
  max-width: 38rem;
}

.pia-point-index {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
  padding: .65rem;
  background: rgba(44, 123, 229, .05);
  border: 1px solid rgba(44, 123, 229, .14);
  border-radius: .5rem;
}

.pia-workspace .pia-form-section {
  scroll-margin-top: 1rem;
}

.student-journal-choice {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 2.4rem;
  margin: 0;
  padding: .45rem .7rem;
  cursor: pointer;
  background: #fff;
  border: 1px solid #d8e2ef;
  border-radius: .375rem;
}

.student-journal-choice:focus-within {
  border-color: #2c7be5;
  box-shadow: 0 0 0 .12rem rgba(44, 123, 229, .14);
}

.student-journal-timeline {
  position: relative;
}

.student-journal-timeline::before {
  position: absolute;
  top: .2rem;
  bottom: .2rem;
  left: 1.1rem;
  width: 2px;
  content: '';
  background: #d8e2ef;
}

.student-journal-entry {
  position: relative;
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  gap: .8rem;
  padding-bottom: 1rem;
}

.student-journal-entry:last-child {
  padding-bottom: 0;
}

.student-journal-marker {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  color: #2c7be5;
  background: #edf5ff;
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(44, 123, 229, .22);
}

.student-journal-card {
  min-width: 0;
  box-shadow: 0 .12rem .35rem rgba(35, 46, 60, .05);
}

.student-journal-content {
  color: #344050;
  overflow-wrap: anywhere;
  white-space: normal;
}

@media (max-width: 575.98px) {
  .student-journal-timeline::before {
    left: .85rem;
  }

  .student-journal-entry {
    grid-template-columns: 1.75rem minmax(0, 1fr);
    gap: .55rem;
  }

  .student-journal-marker {
    width: 1.75rem;
    height: 1.75rem;
    font-size: .75rem;
  }
}

.menora-scroll-controls {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 1030;
  display: flex;
  flex-direction: column;
  gap: .4rem;
}

.menora-scroll-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  color: #fff;
  background: #2c7be5;
  border: 1px solid #2c7be5;
  border-radius: 50%;
  box-shadow: 0 .25rem .75rem rgba(35, 46, 60, .25);
  transition: background-color .2s ease, border-color .2s ease, opacity .2s ease, transform .2s ease;
}

.menora-scroll-button:hover,
.menora-scroll-button:focus-visible {
  color: #fff;
  background: #1f6ac4;
  border-color: #1f6ac4;
  transform: translateY(-1px);
}

.menora-scroll-button:disabled {
  cursor: default;
  opacity: .35;
  transform: none;
}

@media (max-width: 767.98px) {
  .menora-scroll-controls {
    right: .65rem;
    bottom: .65rem;
  }

  .menora-scroll-button {
    width: 2.5rem;
    height: 2.5rem;
  }
}

.pia-tabs .nav {
  gap: .4rem;
  padding: .65rem;
  background: rgba(44, 123, 229, .05);
  border: 1px solid rgba(44, 123, 229, .14);
  border-bottom: 0;
  border-radius: .5rem .5rem 0 0;
  scrollbar-width: thin;
}

.pia-tabs .nav-link {
  flex: 0 0 auto;
  white-space: nowrap;
  color: #344050;
  background: #fff;
  border: 1px solid rgba(44, 123, 229, .18);
}

.pia-tabs .nav-link:hover,
.pia-tabs .nav-link:focus {
  color: #2c7be5;
  border-color: #2c7be5;
}

.pia-tabs .nav-link.active {
  color: #fff;
  background: #2c7be5;
  border-color: #2c7be5;
}

.pia-tabs + #piaFeedback.d-none + .pia-form-section,
.pia-tabs + .pia-form-section {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.pia-form-section {
  overflow: hidden;
  border: 1px solid rgba(44, 123, 229, .18);
  box-shadow: 0 .2rem .6rem rgba(35, 46, 60, .06);
}

.pia-section-heading {
  padding: 1rem 1.25rem;
  background: linear-gradient(90deg, rgba(44, 123, 229, .12), rgba(111, 66, 193, .06));
  border-bottom: 1px solid rgba(44, 123, 229, .18);
}

.pia-section-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.3rem;
  height: 2.3rem;
  margin-right: .75rem;
  padding: 0 .45rem;
  color: #fff;
  font-weight: 700;
  background: #2c7be5;
  border-radius: 50rem;
}

.pia-photo-panel {
  padding: 1rem;
  background: rgba(44, 123, 229, .035);
  border: 1px solid rgba(44, 123, 229, .2);
  border-radius: .5rem;
}

.pia-identification-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  border: 1px solid #b9c2ce;
  border-radius: .35rem;
  overflow: hidden;
}

#piaFeedback {
  margin: 0;
  border-radius: 0;
}

.pia-identification-fields {
  padding: 1.25rem;
  border-right: 1px solid #b9c2ce;
}

.pia-field-row {
  display: grid;
  grid-template-columns: minmax(13rem, 38%) 1fr;
  gap: .75rem;
  align-items: center;
  margin-bottom: .8rem;
}

.pia-field-row:last-child {
  margin-bottom: 0;
}

.pia-field-row label {
  margin: 0;
  font-weight: 700;
}

.pia-form-section .form-control {
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.pia-form-section .form-control.pia-autosave-pending {
  border-color: #f6c343;
  box-shadow: 0 0 0 .12rem rgba(246, 195, 67, .14);
}

.pia-form-section .form-control.pia-autosave-saved {
  border-color: #00a876;
  background-color: rgba(0, 168, 118, .035);
  box-shadow: 0 0 0 .12rem rgba(0, 168, 118, .12);
}

.pia-form-section .form-control.pia-autosave-error {
  border-color: #e63757;
  box-shadow: 0 0 0 .12rem rgba(230, 55, 87, .12);
}

.pia-identification-grid .pia-photo-panel {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-self: stretch;
  border: 0;
  border-radius: 0;
}

.pia-resource-table.table-responsive,
.pia-committee-table-wrap.table-responsive {
  min-height: 0 !important;
}

.pia-committee-table .pia-committee-label {
  width: 20%;
  min-width: 10rem;
  vertical-align: top;
  font-weight: 700;
  background: rgba(44, 123, 229, .04);
}

.pia-committee-table textarea {
  min-height: 5rem;
}

.pia-photo-drop:hover,
.pia-photo-drop:focus-within,
.pia-photo-drop.is-dragging {
  background: rgba(44, 123, 229, .1);
  border-color: #2c7be5 !important;
}

.pia-photo-drop img {
  max-height: 12rem;
  object-fit: cover;
}

.pia-sort-row {
  cursor: grab;
}

.pia-sort-row:active {
  cursor: grabbing;
}

#contactAssociations .table-responsive {
  min-height: 0 !important;
}

@media (max-width: 767.98px) {
  .integration-school-card:hover {
    transform: none;
  }

  .pia-identification-grid {
    display: flex;
  }

  .pia-identification-fields {
    border-right: 0;
    border-bottom: 1px solid #b9c2ce;
  }

  .pia-field-row {
    grid-template-columns: 1fr;
    gap: .3rem;
  }

  .integration-details > div {
    grid-template-columns: 1fr;
    gap: .15rem;
  }

  .integration-student-summary {
    position: static;
  }
}
