/* Request and confirmation pages share the sign-in theme's controls and colors. */
.pba-login-page #pba-access-request {
  box-sizing: border-box;
  width: min(680px, 100%);
  margin-inline: auto;
}
.pba-login-page #pba-access-title {
  font-size: clamp(1.6rem, 3vw, 2.1rem);
  line-height: 1.2;
  margin-bottom: 12px;
}
#pba-access-request .pba-access-intro { margin-bottom: 24px; }
#pba-access-request .pba-access-group {
  min-width: 0;
  padding: 0;
  margin: 0 0 8px;
  border: 0;
}
#pba-access-request .pba-access-group legend {
  width: 100%;
  margin-bottom: 14px;
  padding: 0 0 8px;
  border-bottom: 1px solid #d7e2eb;
  color: var(--pba-primary, #0d3b66);
  font-size: 1.05rem;
  font-weight: 700;
}
#pba-access-request .pba-access-name-row,
#pba-access-request .pba-access-address-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
#pba-access-request .pba-access-address-row {
  grid-template-columns: minmax(100px, 140px) minmax(0, 1fr);
}
#pba-access-request .pba-form-row { min-width: 0; }
#pba-access-request .pba-form-help {
  margin: 7px 0 0;
  color: #526272;
  font-size: .9rem;
  line-height: 1.5;
}
#pba-access-request .pba-access-next {
  padding: 14px 16px;
  margin: 0 0 20px;
  border: 1px solid #d7e2eb;
  border-radius: 6px;
  background: #f3f7fa;
}
.pba-login-page #pba-access-request .pba-access-next h2 {
  margin: 0 0 6px;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--pba-primary, #0d3b66);
}
#pba-access-request .pba-access-next p {
  margin: 0;
  color: #3d4652;
  font-size: .95rem;
  line-height: 1.55;
}
#pba-access-request .pba-form-actions button {
  min-height: 46px;
  padding: 11px 20px;
  border-radius: 6px;
  background: var(--pba-primary, #0d3b66);
  color: #fff;
  font: inherit;
  font-weight: 700;
  white-space: normal;
}
#pba-access-request .pba-form-actions button:hover { filter: brightness(.92); }
#pba-access-request .pba-form-actions button:focus-visible,
#pba-access-request .pba-access-footer a:focus-visible {
  outline: 3px solid var(--pba-primary, #0d3b66);
  outline-offset: 3px;
}
.pba-login-page #pba-access-request .pba-access-footer { margin: 20px 0 0; }
#pba-access-request .pba-access-footer a {
  display: inline-block;
  padding-block: 5px;
  color: var(--pba-primary, #0d3b66);
  font-size: .95rem;
  font-weight: 600;
  text-decoration: none;
}
#pba-access-request .pba-access-footer a:hover { text-decoration: underline; }
#pba-access-request textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 120px;
  padding: 11px 12px;
  border: 1px solid #b8c2cc;
  border-radius: 6px;
  font: inherit;
  resize: vertical;
}
@media (max-width: 540px) {
  #pba-access-request .pba-access-name-row,
  #pba-access-request .pba-access-address-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
  #pba-access-request .pba-form-actions button { width: 100%; }
}

/* Dashboard review queue: shared application blue, card headings and form controls. */
#pba-access-requests { --pba-access-blue: var(--pba-primary, #0d3b66); }
#pba-access-requests .pba-access-request-card {
  min-width: 0;
  margin: 0 0 20px;
  border: 1px solid #d7e2eb;
  border-radius: 10px;
  background: #fff;
  overflow-wrap: anywhere;
}
#pba-access-requests .pba-access-card-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 20px;
  padding: 16px 20px;
  border-bottom: 1px solid #d7e2eb;
  border-radius: 10px 10px 0 0;
  background: #eef4f8;
}
#pba-access-requests .pba-access-card-heading h4 { margin: 0; font-size: 1.05rem; color: #204962; }
#pba-access-requests .pba-access-status {
  padding: 4px 10px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid #c7d8e5;
  color: #204962;
  font-size: .85rem;
  font-weight: 600;
}
#pba-access-requests .pba-access-card-body { padding: 20px; }
#pba-access-requests .pba-access-identity { margin: 0 0 12px; line-height: 1.6; }
#pba-access-requests .pba-access-meta { margin-bottom: 20px; color: #536879; font-size: .9rem; }
#pba-access-requests .pba-access-meta p { margin: 3px 0; }
#pba-access-requests form { display: grid; gap: 10px; margin: 18px 0; }
#pba-access-requests form + form { padding-top: 18px; border-top: 1px solid #e2e8ef; }
#pba-access-requests form label { color: #243e50; font-weight: 600; }
#pba-access-requests input:not([type=hidden]):not([type=checkbox]),
#pba-access-requests select,
#pba-access-requests textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #b8c6d2;
  border-radius: 6px;
  background: #fff;
  color: #243e50;
  font: inherit;
}
#pba-access-requests textarea { min-height: 100px; resize: vertical; }
#pba-access-requests .pba-access-recognition {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
  line-height: 1.5;
}
#pba-access-requests input[type=checkbox] { width: 18px; height: 18px; flex: 0 0 18px; margin: 3px 0 0; accent-color: var(--pba-access-blue); }
#pba-access-requests .pba-access-actions,
#pba-access-requests nav { display: flex; flex-wrap: wrap; gap: 10px; }
#pba-access-requests button {
  justify-self: start;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid var(--pba-access-blue);
  border-radius: 6px;
  background: #fff;
  color: var(--pba-access-blue);
  font: inherit;
  font-size: .95rem;
  font-weight: 600;
  line-height: 1.4;
  white-space: normal;
  cursor: pointer;
}
#pba-access-requests button.pba-access-primary { background: var(--pba-access-blue); color: #fff; }
#pba-access-requests button.pba-access-danger { border-color: #a52b35; color: #a52b35; }
#pba-access-requests button:hover { background: #eef4f8; }
#pba-access-requests button.pba-access-primary:hover { background: #0b3256; }
#pba-access-requests button.pba-access-danger:hover { background: #fff1f2; }
#pba-access-requests :is(button, input, select, textarea, summary, a):focus-visible {
  outline: 3px solid #9ebdd4;
  outline-offset: 3px;
}
#pba-access-requests details { margin-top: 12px; border: 1px solid #d7e2eb; border-radius: 6px; }
#pba-access-requests summary { padding: 12px 14px; background: #f5f8fa; color: #204962; font-weight: 600; cursor: pointer; }
#pba-access-requests details > form,
#pba-access-requests details > p,
#pba-access-requests details > article,
#pba-access-requests details > nav { margin: 16px; }
#pba-access-requests .pba-access-unconfirmed article { padding: 16px; }
#pba-access-requests .pba-access-unconfirmed h4 { margin: 0 0 8px; }
#pba-access-requests .pba-access-related { margin-top: 18px; padding-top: 16px; border-top: 1px solid #e2e8ef; gap: 12px 24px; }
#pba-access-requests a { color: var(--pba-access-blue); font-weight: 600; text-decoration: none; }
#pba-access-requests a:hover { text-decoration: underline; }
@media (max-width: 540px) {
  #pba-access-requests .pba-access-card-heading,
  #pba-access-requests .pba-access-card-body { padding: 16px; }
  #pba-access-requests .pba-access-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  #pba-access-requests .pba-access-actions button { width: 100%; }
}

/* Compact pending request table; retain stacked labels on narrow screens. */
#pba-access-requests .pba-access-table { width:100%; table-layout:fixed; border-collapse:collapse; margin:20px 0; }
#pba-access-requests .pba-access-table th,
#pba-access-requests .pba-access-table td { padding:14px; text-align:left; vertical-align:top; border-bottom:1px solid #d7e2eb; overflow-wrap:anywhere; }
#pba-access-requests .pba-access-table th { background:#eef4f8; color:#243e50; font-weight:600; }
#pba-access-requests .pba-access-table th:nth-child(1) { width:28%; }
#pba-access-requests .pba-access-table th:nth-child(2) { width:25%; }
#pba-access-requests .pba-access-table th:nth-child(3) { width:15%; }
#pba-access-requests .pba-access-table th:nth-child(4) { width:32%; }
#pba-access-requests .pba-access-table small { display:block; margin-top:6px; color:#536879; font-size:.85rem; line-height:1.5; }
#pba-access-requests .pba-access-note { margin:8px 0 0; font-size:.9rem; }
#pba-access-requests .pba-access-row-actions { display:flex; flex-wrap:wrap; align-items:flex-start; gap:8px; }
#pba-access-requests .pba-access-row-actions form { display:block; margin:0; padding:0; border:0; }
#pba-access-requests .pba-access-row-actions .pba-access-deny-form { flex:1; min-width:120px; }
#pba-access-requests .pba-access-deny-form details { border:0; margin:8px 0 0; }
#pba-access-requests .pba-access-deny-form summary { background:transparent; padding:0; font-size:.85rem; }
#pba-access-requests .pba-access-deny-form label { display:block; margin:10px 0 6px; font-size:.85rem; }
#pba-access-requests .pba-access-deny-form textarea { min-height:70px; }
#pba-access-requests button:disabled { background:#f1f4f6; border-color:#c7d1d9; color:#667887; cursor:not-allowed; }
@media(max-width:700px) {
  #pba-access-requests .pba-access-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  #pba-access-requests .pba-access-table tbody,
  #pba-access-requests .pba-access-table tr,
  #pba-access-requests .pba-access-table td { display:block; width:auto; }
  #pba-access-requests .pba-access-table tr { border:1px solid #d7e2eb; border-radius:6px; margin-bottom:16px; }
  #pba-access-requests .pba-access-table td { border:0; padding:10px 14px; }
  #pba-access-requests .pba-access-table td::before { content:attr(data-label); display:block; margin-bottom:4px; font-size:.85rem; font-weight:600; color:#536879; }
}

/* Needs Attention shares one destination and keeps each review category distinct. */
.pba-attention-page { max-width:1240px; margin:0 auto; color:#243e50; }
.pba-attention-heading h1 { color:#17324a; margin:0 0 8px; }
.pba-attention-heading p { color:#536879; margin:0 0 20px; }
.pba-attention-tabs { display:flex; flex-wrap:wrap; gap:8px; border-bottom:1px solid #d7e2eb; margin-bottom:24px; padding-bottom:12px; }
.pba-attention-tabs a { display:inline-flex; align-items:center; gap:8px; min-height:44px; box-sizing:border-box; padding:10px 16px; border:1px solid #b9cbd8; border-radius:6px; color:#0d3b66; background:#fff; text-decoration:none; font-weight:600; }
.pba-attention-tabs a[aria-current=page] { color:#fff; background:#0d3b66; border-color:#0d3b66; }
.pba-attention-tabs a:focus-visible { outline:3px solid #9ebdd4; outline-offset:3px; }
.pba-attention-tabs span { display:inline-flex; align-items:center; justify-content:center; min-width:24px; padding:2px 6px; border-radius:20px; background:#eef4f8; color:#243e50; font-size:.85rem; }
.pba-attention-page .pba-own-review-hero { display:none; }
@media(max-width:540px) { .pba-attention-tabs a { flex:1 1 auto; justify-content:center; } }
