/* MASTER UNLOCKER — Main stylesheet */

@import url("./variables.css");
@import url("./layout.css");
@import url("./components.css");
@import url("./dashboard.css");
@import url("./admin.css");
@import url("./responsive.css");

/* Checkout payment module */
.pay-module .pay-section {
  margin-top: var(--space-6);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.pay-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
}

.pay-section-title {
  margin: 0;
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--color-text);
}

.pay-offer-card {
  padding: var(--space-4);
  border-radius: var(--radius-md);
  background: var(--color-surface-2);
  border: 1px solid var(--color-border);
}

.pay-offer-service {
  margin: 0 0 var(--space-4);
  color: var(--color-text);
}

.pay-offer-amount {
  margin: 0;
  word-break: break-word;
}

.pay-reveal:not([hidden]) {
  display: grid;
  gap: var(--space-4);
}

.pay-reveal[hidden] {
  display: none !important;
}

.pay-operator {
  padding: var(--space-3);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  background: var(--color-bg-elevated);
}

.pay-operator-active {
  border-color: var(--color-accent);
  background: var(--color-accent-soft);
}

.pay-operator-title {
  margin: 0 0 var(--space-2);
  font-size: var(--text-sm);
  font-weight: 600;
}

.pay-mono {
  margin: 0 0 var(--space-2);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  word-break: break-all;
  color: var(--color-text);
}

.pay-network-badge {
  margin: 0;
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-sm);
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-size: var(--text-sm);
  font-weight: 600;
  text-align: center;
}

.pay-crypto-qr-wrap {
  display: flex;
  justify-content: center;
}

.pay-crypto-qr {
  width: 160px;
  height: 160px;
  border-radius: var(--radius-md);
  background: #fff;
  padding: var(--space-2);
}

.pay-tabs {
  display: flex;
  gap: var(--space-2);
  margin-bottom: var(--space-3);
}

.pay-tab {
  flex: 1;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  cursor: pointer;
  pointer-events: auto;
  position: relative;
  z-index: 1;
  transition: background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}

.pay-tab.is-active {
  background: var(--color-primary-soft);
  border-color: var(--color-primary);
  color: var(--color-text);
}

.pay-tab-panel {
  margin: 0;
}

.pay-tab-panel[hidden],
.pay-tab-panel:not(.is-active) {
  display: none !important;
}

.pay-tab-panel.is-active:not([hidden]) {
  display: block;
}

.pay-intl-list {
  margin: var(--space-3) 0 0;
  padding-left: var(--space-5);
  color: var(--color-text-muted);
  font-size: var(--text-sm);
}

.pay-intl-list li {
  margin-bottom: var(--space-1);
}

.pay-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-2);
}

.pay-mode-fieldset {
  margin: var(--space-4) 0 0;
  padding: 0;
  border: 0;
}

.pay-mode-option {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  margin-top: var(--space-2);
  color: var(--color-text);
  font-size: var(--text-sm);
  cursor: pointer;
}

/* Password visibility toggle */
.password-field {
  position: relative;
  display: block;
  width: 100%;
}

.password-field .form-input {
  width: 100%;
  padding-right: calc(var(--space-10) + var(--space-2));
}

.password-toggle {
  position: absolute;
  top: 50%;
  right: var(--space-2);
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--color-text-muted);
  cursor: pointer;
  z-index: 1;
}

.password-toggle:hover,
.password-toggle:focus-visible {
  color: var(--color-text);
  outline: none;
  background: var(--color-primary-soft);
}

.password-toggle-icon {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  pointer-events: none;
}

.password-toggle-icon[hidden] {
  display: none !important;
}
