.stack { display: flex; flex-direction: column; gap: 24px; } .gatewayCard, .comingSoonCard { background: rgba(255, 255, 255, 0.45); border: 1px solid rgba(148, 163, 184, 0.22); border-radius: var(--radius); padding: 20px; box-shadow: var(--glass-shadow); transition: var(--card-hover-transition); } .gatewayCard[data-card-hover]:hover { transform: translateY(var(--card-hover-lift)); box-shadow: var(--card-hover-shadow); } .gatewayHeader { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; } .gatewayTitle { margin: 0 0 4px; font-size: 15px; font-weight: 600; color: var(--text-primary); } .gatewayDesc { margin: 0; font-size: 13px; line-height: 1.5; color: var(--text-secondary); } .credentials { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; margin-top: 18px; padding-top: 18px; border-top: 1px solid rgba(148, 163, 184, 0.2); } .field { min-width: 0; } .field:last-of-type { grid-column: 1 / -1; } .hint { font-weight: 400; color: var(--text-muted); font-size: 12px; } .passwordWrap { position: relative; } .passwordWrap input { padding-inline-end: 40px; width: 100%; } .passwordToggle { position: absolute; inset-inline-end: 10px; top: 50%; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: none; background: transparent; color: var(--text-muted); cursor: pointer; border-radius: var(--radius-sm); } .passwordToggle:hover { color: var(--text-primary); background: rgba(148, 163, 184, 0.15); } .actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; } .saveBtn { min-height: var(--field-height); padding: 0 16px; border: none; border-radius: var(--radius-sm); background: var(--primary); color: #fff; font-size: var(--field-font-size); font-weight: 600; font-family: var(--font-ui); cursor: pointer; } .saveBtn:disabled { opacity: 0.6; cursor: not-allowed; } .comingSoonGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .badge { flex-shrink: 0; font-size: 11px; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; color: var(--text-muted); background: rgba(148, 163, 184, 0.18); border-radius: 999px; padding: 4px 10px; } @media (max-width: 768px) { .credentials, .comingSoonGrid { grid-template-columns: 1fr; } .gatewayHeader { flex-direction: column; } }