/* 覆盖旧抽屉的右对齐：网格轨道必须撑满侧栏右侧主区域，不能沿用 flex-end。 */
.drawer-backdrop.settings-center-backdrop { position: fixed; inset: 0; left: var(--sidebar-width, 224px); box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 1fr); justify-content: stretch; align-content: stretch; place-items: center; padding: 24px; background: rgba(12, 31, 30, .5); backdrop-filter: blur(6px); z-index: 90; }
.drawer-backdrop.settings-center-backdrop.is-hidden { display: none; }
.settings-drawer.settings-center { position: relative; box-sizing: border-box; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; overflow: hidden; background: #fff; color: #17312e; border: 1px solid #d5e1dd; border-radius: 20px; box-shadow: 0 30px 100px rgba(11, 35, 31, .24); }
.settings-center [hidden] { display: none !important; }
.settings-center .settings-header { height: 88px; padding: 19px 28px; border-bottom: 1px solid #e2eae7; display: flex; align-items: center; justify-content: space-between; }
.settings-center .settings-header h2 { margin: 3px 0 0; font-size: 24px; letter-spacing: -.4px; }
.settings-center .eyebrow { color: #66827b; font-size: 10px; letter-spacing: 1.7px; }
.settings-center .icon-button { min-width: 44px; min-height: 44px; }
.settings-center-layout { display: grid; grid-template-columns: 218px minmax(0, 1fr); height: calc(100% - 88px); }
.settings-navigation { display: flex; flex-direction: column; gap: 5px; padding: 17px 14px; background: #f5f8f6; border-right: 1px solid #e2eae7; overflow-y: auto; }
.settings-navigation button { display: flex; gap: 12px; align-items: center; min-height: 46px; flex-shrink: 0; padding: 10px 13px; text-align: left; font-size: 13px; font-weight: 600; background: transparent; color: #4d655e; border: 1px solid transparent; border-radius: 9px; cursor: pointer; }
.settings-navigation button:hover { background: #eaf1ed; }
.settings-navigation button[aria-current="page"] { background: #e0efea; color: #115e59; border-color: #cee3da; }
.settings-nav-symbol { width: 21px; font-size: 19px; font-weight: 400; text-align: center; }
.settings-nav-caption { margin: 15px 13px 6px; color: #657a73; font-size: 11px; }
.settings-nav-caption:first-child { margin-top: 4px; }
.settings-nav-note { margin: auto 10px 0; padding-top: 22px; font-size: 11px; line-height: 1.7; color: #63776e; }
.settings-content { overflow-y: auto; min-width: 0; padding: 22px 32px 30px; overscroll-behavior: contain; }
.settings-scope-note { margin-bottom: 25px; padding: 11px 14px; border: 1px solid #d7e6dd; border-radius: 8px; background: #f2f8f4; font-size: 12px; color: #466057; line-height: 1.6; }
.settings-section-heading { margin-bottom: 22px; }
.settings-kicker { font-size: 10px; letter-spacing: 1.8px; font-weight: 700; color: #608078; }
.settings-section-heading h3 { margin: 7px 0 8px; font-size: 24px; letter-spacing: -.7px; }
.settings-section-heading p { margin: 0; font-size: 13px; line-height: 1.8; color: #61766e; }
.settings-center fieldset, .settings-service-card { min-width: 0; margin: 0 0 20px; padding: 19px 20px; border: 1px solid #dce5e0; border-radius: 12px; background: #fff; }
.settings-center legend { padding: 0 7px; color: #24473a; font-size: 13px; font-weight: 700; }
.settings-center label { display: block; margin: 14px 0 6px; color: #365149; font-size: 12px; font-weight: 600; }
.settings-center input:not([type="checkbox"]), .settings-center select, .settings-center textarea { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #ccd9d2; border-radius: 7px; background: #fcfdfc; color: #17312e; font: inherit; font-size: 13px; box-sizing: border-box; }
.settings-center textarea { min-height: 106px; resize: vertical; font-family: monospace; }
.settings-center input:disabled, .settings-center select:disabled, .settings-center textarea:disabled { color: #63736c; background: #f2f5f3; cursor: not-allowed; }
.settings-center :focus-visible { outline: 3px solid #82b8a2; outline-offset: 2px; }
.settings-center .password-field { display: flex; gap: 7px; }
.settings-center .password-field input { min-width: 0; }
.settings-center .number-grid, .settings-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.settings-center .settings-help { font-size: 12px; color: #60766c; line-height: 1.8; }
.settings-center .settings-status-error, .settings-service-error { color: #a13838; }
.settings-center .settings-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; margin-top: 17px; }
.settings-center .button { min-height: 44px; padding: 10px 15px; border-radius: 8px; font-size: 12px; cursor: pointer; }
.settings-center .button:disabled { opacity: .5; cursor: not-allowed; }
.settings-center .settings-check { display: flex; align-items: center; gap: 10px; min-height: 38px; font-size: 12px; }
.settings-check input { width: 17px; height: 17px; accent-color: #115e59; }
.settings-overview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.settings-overview-card { padding: 17px; text-align: left; min-height: 129px; border: 1px solid #dce5e0; border-radius: 12px; background: #fff; cursor: pointer; }
.settings-overview-card:hover { border-color: #81ab99; background: #f7fbf8; }
.settings-overview-card strong { display: block; margin-bottom: 9px; color: #21473b; font-size: 14px; }
.settings-overview-card small { display: block; margin-top: 12px; color: #60786d; font-size: 11px; overflow-wrap: anywhere; }
.settings-badge { display: inline-flex; align-items: center; gap: 5px; padding: 3px 8px; border-radius: 5px; background: #ecf5ef; color: #366c50; font-size: 11px; }
.settings-badge.is-neutral { background: #f0f2f1; color: #64736c; }
.settings-badge.is-warning { background: #fbf0dd; color: #8b641e; }
.settings-callout { margin: 22px 0; padding: 17px 18px; border-left: 3px solid #8baf9c; background: #f4f7f5; border-radius: 0 9px 9px 0; }
.settings-callout strong { font-size: 13px; color: #315445; }
.settings-callout p { font-size: 12px; line-height: 1.8; color: #63766c; margin: 7px 0 0; }
.settings-service-heading { display: flex; align-items: flex-start; gap: 12px; justify-content: space-between; }
.settings-service-card h4, .settings-account-card h4 { margin: 0 0 6px; font-size: 15px; color: #234c3b; }
.settings-service-heading p { margin: 0; }
.settings-account-card { display: flex; align-items: center; gap: 15px; border: 1px solid #dce5e0; padding: 20px; border-radius: 12px; margin-bottom: 20px; }
.settings-account-card > div:nth-child(2) { flex: 1; min-width: 0; }
.settings-account-card p { margin: 0; font-size: 12px; color: #60776b; overflow-wrap: anywhere; }
.settings-account-avatar { display: grid; place-items: center; width: 44px; height: 44px; background: #e3f0e8; border-radius: 50%; color: #366d50; font-size: 12px; font-weight: 700; }
.settings-center .settings-account-actions { justify-content: flex-start; }
.settings-draft-confirm { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(19, 40, 31, .35); z-index: 2; padding: 20px; }
.settings-draft-confirm > div { width: min(420px, 100%); box-sizing: border-box; padding: 24px; background: #fff; border: 1px solid #dce5e0; border-radius: 14px; box-shadow: 0 12px 44px #15352330; }
.settings-draft-confirm h3 { margin: 0 0 10px; font-size: 19px; }
.settings-draft-confirm p { font-size: 13px; line-height: 1.8; color: #60776b; }
@media (max-width: 760px) {
    .drawer-backdrop.settings-center-backdrop { left: 0; padding: 12px; }
    .settings-drawer.settings-center { width: 100%; height: 100%; border-radius: 14px; }
    .settings-center .settings-header { height: 76px; padding: 14px 18px; }
    .settings-center-layout { height: calc(100% - 76px); grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); }
    .settings-navigation { flex-direction: row; overflow-x: auto; overflow-y: hidden; padding: 10px 12px; border-right: 0; border-bottom: 1px solid #e2eae7; }
    .settings-navigation button { white-space: nowrap; padding: 9px 13px; }
    .settings-nav-symbol, .settings-nav-caption, .settings-nav-note { display: none; }
    .settings-content { padding: 18px; }
    .settings-section-heading h3 { font-size: 22px; }
    .settings-center fieldset, .settings-service-card { padding: 16px; }
    .settings-account-card { flex-wrap: wrap; padding: 16px; }
}
@media (max-width: 420px) {
    .drawer-backdrop.settings-center-backdrop { padding: 0; }
    .settings-drawer.settings-center { height: 100%; border-radius: 0; }
    .settings-overview-grid, .settings-field-grid, .settings-center .number-grid { grid-template-columns: minmax(0, 1fr); }
}

/* 部署维护采用只读采样卡片，长设备标识和诊断说明可以换行。 */
.settings-maintenance-toolbar { display: flex; flex-wrap: wrap; gap: 9px; }
.settings-maintenance-card { margin: 0 0 16px; padding: 19px 20px; border: 1px solid #dce5e0; border-radius: 12px; min-width: 0; }
.settings-maintenance-card h4 { margin: 0 0 8px; font-size: 14px; color: #234c3b; }
.settings-maintenance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.settings-maintenance-values { display: grid; grid-template-columns: minmax(90px, 1fr) minmax(0, 2fr); gap: 9px 16px; font-size: 12px; line-height: 1.7; margin: 10px 0 0; }
.settings-maintenance-values dt { color: #60766c; }
.settings-maintenance-values dd { margin: 0; overflow-wrap: anywhere; }
.settings-maintenance-check { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid #e2eae7; }
.settings-maintenance-check > div { min-width: 0; overflow-wrap: anywhere; }
.settings-maintenance-check strong { font-size: 12px; }
.settings-maintenance-check p { margin: 4px 0 0; }
.settings-maintenance-check .settings-badge { flex-shrink: 0; }
.settings-badge.maintenance-state-warning { background: #fbf0dd; color: #8b641e; }
.settings-badge.maintenance-state-error { background: #fbe9e9; color: #a13838; }
.settings-badge.maintenance-state-unknown, .settings-badge.maintenance-state-disabled, .settings-badge.maintenance-state-not_tested { background: #f0f2f1; color: #64736c; }
@media (max-width: 760px) { .settings-maintenance-grid { grid-template-columns: minmax(0, 1fr); } .settings-maintenance-card { padding: 16px; } }

.settings-service-check-section { border-top: 1px solid #e2eae7; padding: 12px 0; }
.settings-service-check-section strong { font-size: 12px; }
.settings-service-check-grid .settings-maintenance-values { grid-template-columns: minmax(80px, 1fr) minmax(0, 2fr); }
.settings-badge.maintenance-state-running { background: #e7f0ff; color: #2b5c9b; }
