/* Reserved for small per-page adjustments in the new UI. */

/* Profile security settings */
.security-form .field-inline {
  align-items: flex-start;
}

.security-inline-option input {
  margin-top: 2px;
}

.security-inline-option {
  cursor: pointer;
}

.security-methods {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr;
}

.security-method-row {
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  align-items: start;
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--line);
  background: var(--surface-2);
}

.security-method-label {
  min-height: 40px;
}

.security-method-box {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.security-method-input {
  max-width: 260px;
}

@media (max-width: 840px) {
  .security-method-row {
    grid-template-columns: 1fr;
  }

  .security-method-input {
    max-width: 100%;
  }
}

.security-trigger-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.security-trigger-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--line);
  background: var(--surface-2);
}

.security-trigger-title {
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
}

.security-trigger-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.security-trigger-label {
  font-size: 13px;
  color: var(--text);
}

.security-trigger-desc {
  font-size: 12px;
  color: var(--muted-2);
  line-height: 1.4;
}

/* Register terms */
.terms-box {
  border-radius: var(--radius-sm);
  border: 1px solid var(--line);
  background: var(--surface-2);
  padding: 12px 14px;
  max-height: 220px;
  overflow-y: auto;
}

.terms-title {
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 8px;
}

.terms-list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
  font-size: 12.5px;
  color: var(--text);
  line-height: 1.45;
}

.terms-note {
  margin: 10px 0 0;
  font-size: 12.5px;
  color: var(--muted-2);
  line-height: 1.45;
}

.terms-accept {
  align-items: flex-start;
  gap: 10px;
}

/* -------------------------------------------------------------------------
   Shared modal shell
   ------------------------------------------------------------------------- */
.help-modal{
  position: fixed;
  inset: 0;
  z-index: 9999;
}

.help-modal__backdrop{
  position: absolute;
  inset: 0;
  background: var(--modal-backdrop);
  backdrop-filter: blur(6px);
}

.help-modal__panel{
  position: relative;
  max-width: 760px;
  width: calc(100% - 32px);
  margin: 10vh auto 0 auto;
  border-radius: 18px;
  border: 1px solid var(--modal-panel-border);
  background: var(--modal-panel-bg);
  box-shadow: var(--modal-panel-shadow);
  overflow: hidden;
}

.help-modal__header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--modal-header-border);
}

.help-modal__title{
  font-size: 14px;
  font-weight: 700;
  color: var(--modal-title);
}

.help-modal__close{
  border: 1px solid var(--modal-close-border);
  background: var(--modal-close-bg);
  color: var(--modal-close-text);
  border-radius: 12px;
  padding: 6px 10px;
  cursor: pointer;
}

.help-modal__close:hover{
  border-color: var(--modal-close-border-hover);
  background: var(--modal-close-bg-hover);
}

.help-modal__body{
  padding: 14px 16px;
  color: var(--modal-body);
  font-size: 13.5px;
  line-height: 1.45;
}

.help-modal__body code{
  font-size: 12.5px;
}

.help-modal__body strong{
  color: var(--modal-strong);
}

.help-modal__footer{
  padding: 12px 16px 16px 16px;
  border-top: 1px solid var(--modal-header-border);
  display: flex;
  justify-content: flex-end;
}


/* -------------------------------------------------------------------------
   Bot field help popovers
   ------------------------------------------------------------------------- */
[data-field-help-root] .field-help:not([data-field-help-ignore="1"]) {
  display: none;
}

.label-with-help {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.field-help-heading {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.field-help-trigger-row {
  display: flex;
  align-items: center;
  margin-top: 6px;
}

.field-help-trigger{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  border: 1px solid var(--info-border);
  background: var(--info-bg);
  color: var(--info-text);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  transition: border-color 140ms ease, background 140ms ease, color 140ms ease, transform 140ms ease;
}

.field-help-trigger:hover,
.field-help-trigger:focus-visible,
.field-help-trigger[aria-expanded="true"]{
  border-color: var(--info-border-hover);
  background: var(--info-bg-hover);
  transform: translateY(-1px);
}

.field-help-trigger:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent);
}

.field-help-popover{
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: min(360px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid var(--field-help-dialog-border);
  background: var(--field-help-dialog-bg);
  box-shadow: var(--field-help-dialog-shadow);
  color: var(--field-help-body-text);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  opacity: 0;
  transform: translateY(4px) scale(0.98);
  pointer-events: none;
  transition: opacity 140ms ease, transform 140ms ease;
}

.field-help-popover[hidden]{
  display: none;
}

.field-help-popover.is-open{
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.field-help-popover__title{
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: var(--modal-title);
}

.field-help-popover__body{
  display: grid;
  gap: 6px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--field-help-body-text);
}

.field-help-popover__body code{
  font-size: 12px;
}

.field-help-popover__body strong{
  color: var(--modal-strong);
}

@media (max-width: 720px) {
  .field-help-popover{
    width: min(320px, calc(100vw - 20px));
    max-width: calc(100vw - 20px);
    padding: 12px 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .field-help-trigger,
  .field-help-popover{
    transition: none;
  }
}

/* -------------------------------------------------------------------------
   Admin UI cleanup
   ------------------------------------------------------------------------- */

.admin-panel .field-input {
  padding: 10px 12px;
  font-size: 12.5px;
  min-height: 38px;
}

.admin-panel .field-label {
  font-size: 11px;
  letter-spacing: 0.12em;
}

.admin-shell {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  background: var(--admin-shell-bg);
  border: 1px solid var(--admin-shell-border);
  box-shadow: var(--admin-shell-shadow);
}

.admin-header .section-title {
  font-size: 26px;
}

.admin-divider {
  background: var(--admin-divider);
}

.admin-card {
  border-radius: 16px;
  border: 1px solid var(--admin-card-border);
  background: var(--admin-card-bg);
  padding: 18px 20px;
  box-shadow: var(--admin-card-shadow);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.admin-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
  gap: 12px;
}

.admin-card__title {
  font-size: 14px;
  font-weight: 600;
  color: var(--admin-card-title);
}

.admin-card__sub {
  font-size: 12px;
  color: var(--admin-card-sub);
  line-height: 1.4;
}

.admin-card--search {
  max-width: none;
}

.admin-card--action {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.admin-card--danger {
  border-color: var(--admin-card-danger-border);
  background: var(--admin-card-danger-bg);
}

.admin-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.admin-row--compact {
  gap: 8px;
}

.admin-input {
  flex: 1;
  min-width: 220px;
}

.pin-input {
  max-width: 200px;
}

.admin-control-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.admin-panel .action-btn {
  padding: 10px 16px;
  font-size: 12px;
  border-radius: 12px;
}

.admin-panel .action-btn.action-small {
  padding: 6px 10px;
  font-size: 11px;
}

.btn-primary {
  border-color: var(--admin-btn-primary-border);
  background: var(--admin-btn-primary-bg);
  color: var(--admin-btn-primary-text);
}

.btn-primary:hover {
  border-color: var(--admin-btn-primary-hover);
}

.btn-neutral {
  border-color: var(--admin-btn-neutral-border);
  background: var(--admin-btn-neutral-bg);
  color: var(--admin-btn-neutral-text);
}

.btn-neutral:hover {
  border-color: var(--admin-btn-neutral-hover);
}

.btn-warn {
  border-color: var(--admin-btn-warn-border);
  background: var(--admin-btn-warn-bg);
  color: var(--admin-btn-warn-text);
}

.btn-warn:hover {
  border-color: var(--admin-btn-warn-hover);
}

.btn-danger {
  border-color: var(--admin-btn-danger-border);
  background: var(--admin-btn-danger-bg);
  color: var(--admin-btn-danger-text);
}

.btn-danger:hover {
  border-color: var(--admin-btn-danger-hover);
}

.admin-section-header {
  margin-top: 18px;
}

.admin-panel .log-filter {
  display: flex;
  align-items: center;
  gap: 8px;
}

.admin-panel .field-input--select {
  min-width: 120px;
}

.admin-panel .log-table-wrap {
  max-height: 420px;
  overflow: auto;
}

.admin-panel .log-table td {
  vertical-align: top;
}

.admin-scroll-panel {
  max-height: 420px;
  overflow: auto;
}

.text-good {
  color: rgba(143, 226, 173, 0.92);
}

.text-dim {
  color: rgba(168, 178, 198, 0.72);
}

.admin-inline-mono-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 180px;
  overflow: auto;
}

.admin-scroll-panel--bindings {
  max-height: 46vh;
}

.data-table--compact th,
.data-table--compact td {
  padding-top: 9px;
  padding-bottom: 9px;
  vertical-align: top;
}

.table-cell-stack {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.table-cell-sub {
  font-size: 11px;
  color: rgba(168, 180, 202, 0.72);
}

.admin-inline-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.admin-inline-list__item {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(15, 23, 38, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.05);
  color: rgba(229, 236, 250, 0.9);
  font-size: 11px;
  line-height: 1.2;
  white-space: nowrap;
}

.admin-inline-list__item--lease {
  background: rgba(17, 28, 44, 0.9);
  border-color: rgba(106, 147, 214, 0.14);
}

.lease-group-body + .lease-group-body tr:first-child td {
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.lease-group-row td {
  padding: 10px 12px;
  background: rgba(11, 16, 28, 0.9);
}

.lease-group-row__content {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  font-size: 12px;
  color: rgba(194, 204, 223, 0.82);
}

.lease-group-row__title {
  font-size: 12px;
  color: rgba(238, 243, 255, 0.95);
}

.admin-panel .log-pre {
  margin: 0;
  white-space: pre-wrap;
  word-break: break-word;
}

.admin-panel .chip-warn {
  border-color: var(--admin-chip-warn-border);
  color: var(--admin-chip-warn-text);
  background: var(--admin-chip-warn-bg);
}

.admin-tabs {
  display: inline-flex;
  gap: 10px;
  padding: 8px;
  border-radius: 14px;
  background: var(--admin-tabs-bg);
  border: 1px solid var(--admin-tabs-border);
  margin-bottom: 18px;
}

.admin-tab {
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--admin-tab-text);
  border: 1px solid transparent;
}

.admin-tab.is-active {
  color: var(--admin-tab-active-text);
  border-color: var(--admin-tab-active-border);
  background: var(--admin-tab-active-bg);
}

.admin-metric-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.metric-card {
  border-radius: 16px;
  border: 1px solid var(--admin-metric-border);
  background: var(--admin-metric-bg);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.metric-card.metric-muted {
  border-style: dashed;
  opacity: 0.75;
}

.metric-label {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--admin-metric-label);
}

.metric-value {
  font-size: 22px;
  font-weight: 700;
  color: var(--admin-metric-value);
}

.metric-sub {
  font-size: 12px;
  color: var(--admin-metric-sub);
}

.admin-split-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.admin-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.admin-list__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 10px;
  border-radius: 12px;
  background: var(--admin-list-bg);
  border: 1px solid var(--admin-list-border);
}

.admin-pill {
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11px;
  color: var(--admin-pill-text);
  background: var(--admin-pill-bg);
  border: 1px solid var(--admin-pill-border);
}

.admin-state-hero {
  gap: 16px;
}

.admin-state-hero__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.admin-state-hero__title {
  font-size: 20px;
  font-weight: 700;
  color: rgba(242, 246, 255, 0.96);
}

.admin-state-hero__sub {
  margin-top: 6px;
  max-width: 900px;
  font-size: 13px;
  line-height: 1.45;
  color: rgba(191, 202, 222, 0.82);
}

.admin-state-hero__meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.admin-notice-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-height: 320px;
  overflow: auto;
}

.admin-notice-list__item {
  padding: 12px 13px;
  border-radius: 12px;
  background: rgba(14, 20, 33, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.admin-notice-list__headline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(235, 241, 252, 0.94);
}

.admin-notice-list__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
  font-size: 11px;
  color: rgba(165, 179, 204, 0.76);
}

.admin-notice-list__summary {
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.45;
  color: rgba(201, 210, 226, 0.86);
}

.field-help-modal{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}

.field-help-modal.open{ display: block; }

.field-help-backdrop{
  position: absolute;
  inset: 0;
  background: var(--field-help-backdrop);
  backdrop-filter: blur(2px);
}

.field-help-dialog{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(720px, calc(100vw - 32px));
  max-height: min(78vh, 760px);
  overflow: auto;
  border-radius: 18px;
  border: 1px solid var(--field-help-dialog-border);
  background: var(--field-help-dialog-bg);
  box-shadow: var(--field-help-dialog-shadow);
}

.field-help-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--field-help-header-border);
}

.field-help-title{
  font-weight: 700;
  letter-spacing: 0.2px;
}

.field-help-close{
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border: 1px solid var(--field-help-close-border);
  background: var(--field-help-close-bg);
  color: var(--field-help-close-text);
  font-size: 20px;
  cursor: pointer;
}

.field-help-close:hover{
  border-color: var(--field-help-close-border-hover);
  background: var(--field-help-close-bg-hover);
}

.brand-name.brand-accent{
  color: #1db4b4;
}

.brand-block{
  gap: 12px;
}

.brand-clock{
  font-family: "Space Mono", monospace;
  font-size: 13px;
  letter-spacing: 0.6px;
  color: #1db4b4;
  display: inline-flex;
  align-items: center;
}

.field-help-body{
  padding: 14px 16px 18px 16px;
  color: var(--field-help-body-text);
  line-height: 1.5;
}

body.modal-open{
  overflow: hidden;
}
