.settings-card { padding: 0; } .security-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 152px; grid-template-areas: "main submenu"; align-items: start; gap: 20px; } .security-main { grid-area: main; min-width: 0; } .security-main > .settings-divider:first-child { display: none; } .settings-header { margin-bottom: 24px; } .settings-header h3 { font-size: 18px; font-weight: 600; color: var(--pm-text-primary); margin: 0 0 8px; } .settings-desc { font-size: 14px; color: var(--pm-text-secondary); margin: 0; } .settings-body { width: 100%; } .danger-text { color: #ef4444 !important; } .premium-input :deep(.el-input__wrapper) { box-shadow: none; border-radius: var(--pm-radius-sm); border: 1px solid var(--pm-border-color); background-color: var(--pm-bg-secondary); transition: all 0.2s; } .premium-input :deep(.el-input__wrapper:hover), .premium-input :deep(.el-input__wrapper.is-focus) { border-color: var(--pm-primary-color); background-color: var(--pm-bg-primary); } .form-actions { margin-top: 24px; } .submit-btn { border-radius: var(--pm-radius-sm); font-weight: 500; } .submit-btn { padding: 10px 24px; } .settings-divider { margin: 32px 0; border-color: var(--pm-border-color); } .security-key-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; } .security-key-header > .section-actions { display: flex; flex: 0 0 auto; flex-direction: row; flex-wrap: nowrap !important; align-items: center; align-content: center; justify-content: flex-end; gap: 6px; min-width: max-content; white-space: nowrap; margin: 0; } .security-key-header > .security-recovery-actions { display: flex; flex: 0 0 auto; align-items: center; align-content: center; justify-content: flex-end; flex-flow: row nowrap !important; gap: 8px; height: 36px; min-height: 36px; min-width: max-content; white-space: nowrap; vertical-align: middle; } .security-key-header > .security-recovery-actions :deep(.el-button) { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; height: 36px; min-height: 36px; box-sizing: border-box; margin: 0 !important; padding: 8px 12px; line-height: 1.25; white-space: nowrap; vertical-align: middle; } .security-key-header > .section-actions :deep(.el-button) { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; height: 36px; min-height: 36px; margin: 0; padding: 8px 12px; line-height: 1.25; white-space: nowrap; vertical-align: middle; } .security-alert { margin-bottom: 18px; } .external-email-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; } .external-email-header > div { min-width: 0; } .external-email-header > .el-button { flex: none; margin: 0; } .external-list { display: grid; gap: 12px; min-height: 72px; } .external-item { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; border: 1px solid var(--pm-border-color); border-radius: var(--pm-radius-sm); background: var(--pm-bg-secondary); } .external-item > div { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; min-width: 0; } .external-item strong { width: 100%; color: var(--pm-text-primary); overflow-wrap: anywhere; } .external-item span { color: var(--pm-text-secondary); font-size: 13px; } .credential-list { min-height: 72px; display: grid; gap: 12px; } .credential-item { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px; border: 1px solid var(--pm-border-color); border-radius: var(--pm-radius-sm); background: var(--pm-bg-secondary); } .credential-info { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; min-width: 0; } .credential-info strong { width: 100%; color: var(--pm-text-primary); overflow-wrap: anywhere; } .credential-info span { color: var(--pm-text-secondary); font-size: 13px; } .credential-warning { width: 100%; color: #b45309 !important; font-size: 13px; } .credential-actions { display: flex; flex: none; gap: 8px; } @container settings-content (max-width: 560px) { .security-workspace { grid-template-columns: minmax(0, 1fr); grid-template-areas: "submenu" "main"; gap: 16px; } .credential-item, .external-email-header, .external-item { display: flex; flex-direction: column; align-items: stretch; } .credential-actions { width: 100%; } .credential-actions .el-button { flex: 1; } } @media (max-width: 767px) { .security-key-header { display: flex; flex-direction: column; align-items: stretch; } .security-key-header > .section-actions { width: 100%; min-width: 0; justify-content: flex-start; overflow-x: auto; padding-bottom: 2px; } } .password-verification-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; width: 100%; } .password-verification-row strong { overflow-wrap: anywhere; } .recovery-code-panel { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 16px; } .recovery-code-panel .one-time-tip { grid-column: 1 / -1; margin-bottom: 4px; color: var(--pm-text-secondary); font-size: 13px; line-height: 1.6; } .recovery-code { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 44px; box-sizing: border-box; padding: 10px 4px; border: 1px solid var(--pm-border-color); border-radius: var(--pm-radius-sm); background: var(--pm-bg-secondary); color: var(--pm-text-primary); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; line-height: 1.5; letter-spacing: 0; text-align: center; white-space: nowrap; user-select: all; } @container settings-content (max-width: 860px) { .security-workspace--recovery { grid-template-columns: minmax(0, 1fr); grid-template-areas: "submenu" "main"; gap: 16px; } .security-workspace--recovery :deep(.settings-submenu) { position: static; padding: 8px; border: 1px solid var(--pm-border-color); border-radius: var(--pm-radius-sm); } .security-workspace--recovery :deep(.settings-submenu-list) { display: flex; flex-wrap: wrap; gap: 4px; } .security-workspace--recovery :deep(.settings-submenu-item) { white-space: nowrap; } .security-workspace--recovery :deep(.settings-submenu-item.active::before) { top: auto; bottom: 2px; left: 10px; right: 10px; width: auto; height: 2px; } } @container settings-content (max-width: 720px) { .recovery-code-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @container settings-content (max-width: 360px) { .recovery-code-panel { grid-template-columns: 1fr; } } .security-settings-card .settings-form :deep(.el-form-item:has(input[autocomplete="one-time-code"])) { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 12px; } .security-settings-card .settings-form :deep(.el-form-item:has(input[autocomplete="one-time-code"]) .el-form-item__label) { width: auto !important; margin: 0; padding: 0; line-height: 1.4; white-space: nowrap; } .security-settings-card .settings-form :deep(.el-form-item:has(input[autocomplete="one-time-code"]) .el-form-item__content) { min-width: 0; margin-left: 0 !important; } .security-settings-card .security-key-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; justify-content: initial; gap: 16px; } .security-settings-card .security-key-header > :first-child { min-width: 0; flex: 1 1 auto; } .security-settings-card .security-key-header > .security-recovery-actions { display: flex !important; flex: 0 0 auto !important; flex-flow: row nowrap !important; align-items: center !important; align-content: center !important; align-self: center; justify-content: flex-end !important; gap: 8px !important; width: max-content; max-width: 100%; min-width: 0 !important; height: 36px; min-height: 36px; overflow-x: auto; overflow-y: hidden; padding: 0 0 2px; box-sizing: border-box; white-space: nowrap; scrollbar-width: thin; } .security-settings-card .security-key-header > .security-recovery-actions > :deep(.el-button) { display: inline-flex !important; flex: 0 0 auto !important; align-items: center !important; justify-content: center !important; width: max-content; min-width: max-content; height: 36px !important; max-height: 36px; box-sizing: border-box; margin: 0 !important; padding: 0 14px !important; line-height: 1 !important; white-space: nowrap !important; word-break: keep-all !important; overflow-wrap: normal !important; writing-mode: horizontal-tb !important; vertical-align: middle; } .security-settings-card .security-key-header > .security-recovery-actions > :deep(.el-button) > span { display: inline-block; max-width: none; overflow: visible; white-space: nowrap; word-break: keep-all; line-height: 1; } @media (max-width: 767px) { .security-settings-card .security-key-header { display: flex; align-items: stretch; } .security-settings-card .security-key-header > .security-recovery-actions { width: 100%; justify-content: flex-start !important; } }