.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); } .masterOffHint { margin: 0; padding: 10px 12px; border-radius: var(--radius-sm); font-size: 12px; line-height: 1.5; background: rgba(217, 119, 6, 0.1); border: 1px solid rgba(217, 119, 6, 0.28); color: #b45309; } .credentials { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 10px 12px; margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(148, 163, 184, 0.2); align-items: end; } .credentialsInline { display: flex; align-items: center; gap: 10px 12px; margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(148, 163, 184, 0.2); } .credentialsDisabled { filter: blur(2px); opacity: 0.55; pointer-events: none; user-select: none; } .field { grid-column: span 3; min-width: 0; } .inlineLabel { flex-shrink: 0; font-size: 12px; font-weight: 500; color: var(--text-secondary); white-space: nowrap; } .inlineInput { flex: 1; min-width: 0; min-height: var(--field-height); padding: var(--field-padding-y) var(--field-padding-x); font-size: var(--field-font-size); line-height: 1.4; font-family: var(--font-ui); color: var(--text-primary); background-color: rgba(255, 255, 255, 0.7); border: 1px solid rgba(148, 163, 184, 0.35); border-radius: var(--radius-sm); outline: none; box-sizing: border-box; } .inlineInput:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(var(--primary-rgb) / 0.12); } .inlineInput:disabled { opacity: 0.7; cursor: not-allowed; } .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:not(:disabled) { color: var(--text-primary); background: rgba(148, 163, 184, 0.15); } .passwordToggle:disabled { cursor: not-allowed; opacity: 0.6; } .actionsInline { grid-column: span 3; display: flex; align-items: flex-end; justify-content: flex-end; min-width: 0; } .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; flex-shrink: 0; white-space: nowrap; } .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; } .field, .actionsInline { grid-column: 1 / -1; } .actionsInline { justify-content: stretch; } .actionsInline .saveBtn { width: 100%; } .credentialsInline { flex-wrap: wrap; } .inlineLabel { width: 100%; } .inlineInput { flex: 1 1 100%; } .credentialsInline .saveBtn { width: 100%; } .gatewayHeader { flex-direction: column; } }