/* Final admin component overrides. Keep this stylesheet last in the admin layout. */
.admin-settings-form input:not([type="submit"]),
.admin-settings-form select,
.admin-official-form input:not([type="submit"]) {
  color: #263d33;
  background: #fbfcfb;
  outline: 0;
}

.admin-settings-form input:not([type="submit"]):focus,
.admin-settings-form select:focus,
.admin-official-form input:not([type="submit"]):focus {
  border-color: #74c3a0;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(21, 151, 102, .1);
}

.admin-settings-form input.admin-filter-button,
.admin-official-form input.admin-primary-action {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 39px;
  border: 0;
  border-radius: 9px;
  color: #fff;
  background: linear-gradient(135deg, #1bad78, #13865e);
  box-shadow: 0 8px 18px rgba(21, 151, 102, .18);
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}

.admin-settings-form input.admin-filter-button:hover,
.admin-official-form input.admin-primary-action:hover {
  transform: translateY(-1px);
  box-shadow: 0 11px 23px rgba(21, 151, 102, .25);
}

.admin-settings-form input.admin-filter-button:focus-visible,
.admin-official-form input.admin-primary-action:focus-visible {
  outline: 3px solid rgba(21, 151, 102, .22);
  outline-offset: 2px;
}

.registration-window-panel {
  margin-bottom: 18px;
  overflow: hidden;
}

.registration-window-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 11px;
  border-radius: 999px;
  color: #62736b;
  background: #edf2ef;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .05em;
}

.registration-window-badge.open {
  color: #0d744f;
  background: #d9f4e7;
}

.registration-window-body {
  display: grid;
  grid-template-columns: minmax(250px, .75fr) minmax(520px, 1.25fr);
  align-items: center;
  gap: 22px;
  padding: 18px;
}

.registration-window-status {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 15px 16px;
  border: 1px solid #dce9e2;
  border-radius: 11px;
  background: linear-gradient(145deg, #f4faf6, #fbfcfb);
}

.registration-window-status strong { color: #213c31; font-size: 11px; }
.registration-window-status span { color: #6f8078; font-size: 9px; line-height: 1.6; }
.registration-window-actions { display: grid; gap: 12px; }
.registration-window-presets { display: flex; flex-wrap: wrap; gap: 8px; }
.registration-window-presets form { margin: 0; }

.registration-window-button,
.registration-window-submit {
  height: 36px;
  padding: 0 14px;
  border: 1px solid #bcdccc;
  border-radius: 8px;
  color: #116c4b;
  background: #f3fbf7;
  font-size: 9px;
  font-weight: 800;
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.registration-window-button:hover,
.registration-window-submit:hover {
  transform: translateY(-1px);
  border-color: #67ba95;
  box-shadow: 0 7px 16px rgba(21, 151, 102, .13);
}

.registration-window-button.danger {
  color: #a34a42;
  border-color: #efcbc6;
  background: #fff7f5;
}

.registration-window-custom {
  display: grid;
  grid-template-columns: minmax(230px, 1fr) auto;
  align-items: end;
  gap: 9px;
}

.registration-window-custom label {
  display: grid;
  gap: 5px;
  color: var(--admin-muted);
  font-size: 9px;
  font-weight: 750;
}

.registration-window-custom input[type="datetime-local"] {
  width: 100%;
  height: 36px;
  padding: 0 10px;
  border: 1px solid var(--admin-border);
  border-radius: 8px;
  color: #263d33;
  background: #fbfcfb;
  outline: 0;
}

.registration-window-submit {
  border: 0;
  color: #fff;
  background: linear-gradient(135deg, #1bad78, #13865e);
}

@media (max-width: 1050px) {
  .registration-window-body { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .registration-window-custom { grid-template-columns: 1fr; }
  .registration-window-submit { width: 100%; }
}
