.gate-requests {
  background: #fff;
  border: 1px solid #dce8e4;
  border-radius: 20px;
  box-shadow: 0 8px 22px rgba(10, 39, 50, .05);
  margin: 24px 0;
  padding: 22px;
}
.gate-requests.has-pending {
  background: #fffaf0;
  border-color: #d7a542;
  box-shadow: 0 0 0 3px rgba(215, 165, 66, .16), 0 10px 26px rgba(10, 39, 50, .09);
}
.gate-requests.has-pending .gate-requests-head h2::before {
  content: '●';
  color: #b45309;
  font-size: 16px;
  margin-right: 9px;
}
.gate-alert-controls {
  align-items: center;
  background: #edf5f3;
  border: 1px solid #d5e8e2;
  border-radius: 12px;
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
  padding: 12px;
}
.gate-alert-buttons { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 8px; }
.gate-alert-copy { min-width: 0; }
.gate-alert-button { flex: 0 0 auto; min-height: 42px; }
.gate-alert-status { color: #36545c; font-size: 12px; line-height: 1.5; margin: 0; }
.gate-push-status { color: #36545c; font-size: 12px; line-height: 1.5; margin: 4px 0 0; }
.gate-alert-button[hidden] { display: none; }
.gate-requests-head {
  align-items: flex-start;
  display: flex;
  gap: 20px;
  justify-content: space-between;
}
.gate-requests-head h2 { font-size: 20px; margin: 7px 0; }
.gate-requests-head p { color: #60747a; font-size: 13px; margin: 0 0 16px; }
.gate-requests-head .secondary { flex: 0 0 auto; font-size: 12px; }
.gate-request-card {
  align-items: center;
  background: #fff9ed;
  border: 1px solid #e7c778;
  border-radius: 14px;
  display: flex;
  gap: 15px;
  justify-content: space-between;
  margin-top: 12px;
  padding: 16px;
}
.gate-request-card strong { color: #132e38; display: block; font-size: 16px; }
.gate-request-card small { color: #60747a; display: block; font-size: 12px; line-height: 1.6; margin-top: 5px; }
.gate-request-actions { display: flex; gap: 8px; }
.gate-request-actions button { font-size: 12px; min-height: 42px; }
.gate-idle { margin: 8px 0 0; }
.gate-feedback { background: #e4f4ee; border-radius: 9px; color: #116951; font-size: 13px; padding: 10px 12px; }
@media (max-width: 580px) {
  .gate-requests { padding: 17px; }
  .gate-requests-head, .gate-request-card { align-items: stretch; flex-direction: column; }
  .gate-alert-controls { align-items: stretch; flex-direction: column; }
  .gate-alert-buttons { flex-direction: column; }
  .gate-request-actions { width: 100%; }
  .gate-request-actions button { flex: 1; }
}
