:root {
  color-scheme: light;
  /* 整站简约视觉基座：暖中性画布 + 单一墨绿强调 + 低饱和语义色。 */
  --bg: #f6f7f5;
  --panel: #ffffff;
  --surface: #ffffff;
  --surface-hover: #f8fbfa;
  --text: #1f2933;
  --text-2: #475467;
  --muted: #667085;
  --quiet: #667085;
  --accent: #176b5b;
  --accent-hover: #12594c;
  --success: #16803c;
  --danger: #c2413b;
  --ui-up: #c2413b;
  --ui-down: #16803c;
  --ui-pass: #175cd3;
  --ui-review: #b54708;
  --ui-block: #7a271a;
  --border: #dfe3e8;
  --border-subtle: #eaecf0;
  font-family: "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-feature-settings: normal;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--bg); }
body { margin: 0; min-height: 100vh; background: var(--bg); color: var(--text); -webkit-font-smoothing: antialiased; }
button, input { font: inherit; }
a { color: inherit; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 99; padding: 10px 14px; background: var(--text); color: var(--bg); border-radius: 6px; }
.skip-link:focus { top: 16px; }

.auth-layout { min-height: 100vh; display: grid; grid-template-columns: minmax(420px, 1.08fr) minmax(420px, .92fr); }
.brand-panel { position: relative; min-height: 100vh; padding: clamp(32px, 5vw, 76px); display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; border-right: 1px solid var(--border-subtle); }
.brand-panel::before, .brand-panel::after { content: ""; position: absolute; pointer-events: none; border: 1px solid var(--border-subtle); }
.brand-panel::before { width: 360px; height: 360px; right: -190px; top: 16%; transform: rotate(45deg); }
.brand-panel::after { width: 170px; height: 170px; right: 5%; bottom: 11%; transform: rotate(45deg); }
.brand-lockup { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 12px; width: fit-content; text-decoration: none; color: var(--text-2); font: 600 20px/1.2 "PingFang SC","Microsoft YaHei",sans-serif; letter-spacing: .02em; }
.brand-lockup.compact { gap: 10px; }
.brand-mark { width: 40px; height: 40px; display: grid; grid-template-columns: repeat(3, 1fr); align-items: end; gap: 3px; padding: 7px; border: 1px solid var(--border); background: rgba(255,255,255,.03); border-radius: 7px; }
.brand-mark i { display: block; background: var(--text); opacity: .9; }
.brand-mark i:nth-child(1) { height: 9px; }
.brand-mark i:nth-child(2) { height: 19px; background: var(--accent-hover); }
.brand-mark i:nth-child(3) { height: 13px; }
.brand-visual { position: relative; z-index: 1; display: grid; place-items: center; flex: 1 1 auto; min-height: 280px; margin: 28px 0; }
.brand-visual img { display: block; width: min(100%, 620px); height: auto; }
.icp-record { position: relative; z-index: 1; display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin: 18px 0 0; color: var(--quiet); font-size: 11px; line-height: 1.6; }
.site-signature { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.site-signature .brand-mark { width: 18px; height: 18px; gap: 1px; padding: 3px; border-radius: 4px; }
.site-signature .brand-mark i:nth-child(1) { height: 4px; }
.site-signature .brand-mark i:nth-child(2) { height: 9px; }
.site-signature .brand-mark i:nth-child(3) { height: 6px; }
.icp-record a { color: inherit; text-decoration: none; }
.site-version { margin-left: 2px; color: inherit; font: inherit; letter-spacing: .08em; }

.eyebrow, .section-index { margin: 0 0 18px; color: var(--accent-hover); font: 510 11px/1.5 ui-monospace, "SFMono-Regular", Consolas, monospace; letter-spacing: .14em; }
.brand-copy h1 { margin: 0; max-width: 660px; font-size: clamp(48px, 6vw, 82px); font-weight: 510; line-height: .98; letter-spacing: -.045em; }
.brand-description { max-width: 580px; margin: 30px 0 0; color: var(--muted); font-size: 16px; line-height: 1.8; }
.system-readout { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.system-readout div { min-width: 0; padding: 18px 16px 18px 0; }
.system-readout div + div { padding-left: 20px; border-left: 1px solid var(--border-subtle); }
.system-readout dt { display: flex; align-items: center; gap: 7px; color: var(--quiet); font-size: 11px; line-height: 1.4; }
.system-readout dd { margin: 7px 0 0; color: var(--text-2); font: 510 13px/1.4 ui-monospace, "SFMono-Regular", Consolas, monospace; overflow-wrap: anywhere; }
.status-dot { display: inline-block; width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 4px rgba(39,166,68,.12); }
.security-note { position: relative; z-index: 1; margin: 24px 0 0; color: var(--quiet); font-size: 12px; }
.security-note span { color: var(--accent-hover); margin-right: 8px; }

.form-panel { min-height: 100vh; padding: 32px clamp(28px, 6vw, 96px); display: flex; flex-direction: column; justify-content: center; background: var(--panel); }
.auth-card { width: 100%; max-width: 440px; margin: 0 auto; }
.auth-card.narrow { padding: 40px; background: rgba(255,255,255,.02); border: 1px solid var(--border); border-radius: 12px; }
.card-heading { margin-bottom: 34px; }
.card-heading h1, .card-heading h2 { margin: 0; font-size: 32px; line-height: 1.12; font-weight: 510; letter-spacing: -.022em; }
.card-heading > p:last-child { margin: 12px 0 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.auth-form { display: grid; gap: 20px; }
.field-group { display: grid; gap: 8px; }
.field-group label { color: var(--text-2); font-size: 13px; font-weight: 510; }
.field-group small { color: var(--quiet); font-size: 11px; line-height: 1.5; }
.field-group input { width: 100%; min-height: 48px; padding: 0 14px; border: 1px solid var(--border); border-radius: 6px; outline: 0; background: rgba(255,255,255,.025); color: var(--text); transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease; }
.field-group input::placeholder { color: var(--quiet); }
.field-group input:hover { border-color: rgba(255,255,255,.15); }
.field-group input:focus { border-color: var(--accent-hover); box-shadow: 0 0 0 3px rgba(23,107,91,.15); background: rgba(255,255,255,.04); }
.password-field { position: relative; }
.password-field input { padding-right: 64px; }
.reveal-button { position: absolute; right: 7px; top: 7px; height: 34px; padding: 0 9px; border: 0; background: transparent; color: var(--muted); cursor: pointer; font-size: 12px; border-radius: 4px; }
.reveal-button:hover { color: var(--text); background: rgba(255,255,255,.04); }
.check-row { display: flex; align-items: center; gap: 10px; width: fit-content; color: var(--muted); cursor: pointer; font-size: 12px; line-height: 1.5; }
.check-row input { appearance: none; width: 16px; height: 16px; margin: 0; border: 1px solid var(--border); border-radius: 4px; background: rgba(255,255,255,.03); }
.check-row input:checked { background: var(--accent); border-color: var(--accent); box-shadow: inset 0 0 0 4px var(--accent); }
.check-row input:checked::after { content: "✓"; display: block; color: white; font-size: 11px; line-height: 14px; text-align: center; }
.form-message { min-height: 20px; margin: -4px 0; color: var(--danger); font-size: 12px; line-height: 1.6; }
.form-message:empty { display: none; }
.form-message.success { padding: 10px 12px; margin: 0 0 20px; color: #8bd59e; background: rgba(39,166,68,.1); border-left: 2px solid var(--success); }
.primary-button, .ghost-button { min-height: 48px; border-radius: 6px; cursor: pointer; font-weight: 510; transition: background-color .16s ease, border-color .16s ease, transform .16s ease; }
.primary-button { position: relative; width: 100%; padding: 0 18px; border: 1px solid var(--accent); background: var(--accent); color: #fff; }
.primary-button:hover { background: var(--accent-hover); }
.primary-button:active { transform: translateY(1px); }
.primary-button:disabled { cursor: wait; opacity: .65; }
.button-loader { display: none; width: 16px; height: 16px; margin-left: 8px; vertical-align: -3px; border: 2px solid rgba(255,255,255,.35); border-top-color: #fff; border-radius: 50%; animation: spin .7s linear infinite; }
.auth-form[aria-busy="true"] .button-loader { display: inline-block; }
@keyframes spin { to { transform: rotate(360deg); } }
.card-footer { display: flex; justify-content: center; gap: 6px; margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--border-subtle); color: var(--quiet); font-size: 12px; }
.card-footer a, .back-link { color: var(--text-2); text-decoration: none; }
.card-footer a:hover, .back-link:hover { color: var(--accent-hover); }
.legal-note { width: min(100%, 440px); margin: 26px auto 0; color: var(--quiet); text-align: center; font-size: 10px; line-height: 1.6; }

.center-layout { min-height: 100vh; display: grid; place-items: center; padding: 48px 24px; }
.center-layout.with-bar { min-height: calc(100vh - 68px); }
.info-card { width: min(100%, 660px); padding: clamp(28px, 5vw, 56px); border: 1px solid var(--border); background: rgba(255,255,255,.02); border-radius: 12px; }
.info-card .section-index { margin-top: 54px; }
.info-card h1 { margin: 0; font-size: clamp(32px, 5vw, 48px); line-height: 1.08; letter-spacing: -.035em; font-weight: 510; }
.info-card .lead { margin: 22px 0 0; color: var(--muted); font-size: 15px; line-height: 1.8; }
.invite-steps { list-style: none; padding: 0; margin: 38px 0; border-top: 1px solid var(--border); }
.invite-steps li { display: grid; grid-template-columns: 48px 1fr; gap: 14px; padding: 20px 0; border-bottom: 1px solid var(--border-subtle); }
.invite-steps li > span { color: var(--accent-hover); font: 510 11px/1.6 ui-monospace, monospace; }
.invite-steps strong { display: block; font-size: 14px; font-weight: 510; }
.invite-steps p { margin: 5px 0 0; color: var(--quiet); font-size: 12px; line-height: 1.6; }
.info-actions { width: 180px; }
.link-button { display: grid; place-items: center; text-decoration: none; }
.inline-status { display: flex; align-items: center; gap: 9px; margin-top: 28px; color: var(--quiet); font-size: 11px; }

.account-bar { height: 68px; display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(22px, 4vw, 56px); border-bottom: 1px solid var(--border-subtle); background: var(--panel); }
.account-actions { display: flex; align-items: center; gap: 20px; }
.account-identity { display: grid; gap: 3px; text-align: right; }
.account-identity span { font-size: 13px; font-weight: 510; }
.account-identity small { color: var(--quiet); font-size: 10px; }
.ghost-button { min-height: 36px; padding: 0 13px; border: 1px solid var(--border); background: rgba(255,255,255,.02); color: var(--text-2); font-size: 12px; }
.ghost-button:hover { border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.05); }
.account-layout { width: min(1100px, calc(100% - 48px)); margin: 0 auto; padding: clamp(72px, 10vh, 120px) 0; }
.welcome-block { max-width: 720px; }
.welcome-block h1 { margin: 0; font-size: clamp(40px, 6vw, 68px); line-height: 1; letter-spacing: -.045em; font-weight: 510; }
.welcome-block > p:last-child { max-width: 620px; margin: 24px 0 0; color: var(--muted); line-height: 1.8; }
.account-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 68px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.metric-card { min-width: 0; padding: 24px 24px 24px 0; }
.metric-card + .metric-card { padding-left: 24px; border-left: 1px solid var(--border-subtle); }
.metric-card span, .metric-card small { display: block; color: var(--quiet); font-size: 11px; }
.metric-card strong { display: block; margin: 16px 0 9px; font: 510 20px/1.3 ui-monospace, "SFMono-Regular", Consolas, monospace; overflow-wrap: anywhere; }
.account-links { margin-top: 32px; }
.account-links a { display: grid; grid-template-columns: 170px 1fr auto; align-items: center; gap: 24px; min-height: 72px; padding: 0 20px; border: 1px solid var(--border-subtle); text-decoration: none; transition: background-color .16s ease, border-color .16s ease; }
.account-links a:hover { background: rgba(255,255,255,.025); border-color: var(--border); }
.account-links span { font-size: 14px; font-weight: 510; }
.account-links small { color: var(--quiet); }
.account-links b { color: var(--accent-hover); font-weight: 400; }
.back-link { display: inline-block; margin-bottom: 32px; font-size: 12px; }

.watchlist-summary, .watchlist-table, .watchlist-add-form, .empty-hint { margin-top: 32px; }
.watchlist-add-form { padding: 20px; border: 1px solid var(--border); border-radius: 8px; background: rgba(255,255,255,.02); }
.watchlist-add-form form { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(160px, 1fr) auto; gap: 12px; }
.watchlist-add-form input { min-height: 44px; padding: 0 12px; border: 1px solid var(--border); border-radius: 6px; outline: 0; background: rgba(255,255,255,.025); color: var(--text); }
.watchlist-add-form input:focus { border-color: var(--accent-hover); box-shadow: 0 0 0 3px rgba(23,107,91,.15); }
.watchlist-add-form .primary-button { width: auto; min-width: 96px; min-height: 44px; }
.form-result { min-height: 20px; margin-top: 12px; color: var(--quiet); font-size: 12px; }
.form-result.ok { color: #8bd59e; }
.form-result.err { color: var(--danger); }
.watchlist-summary h2 { margin: 0 0 16px; font-size: 18px; font-weight: 510; }
.watchlist-table, .watchlist-summary { overflow-x: auto; }
.data-table { width: 100%; min-width: 680px; border-collapse: collapse; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.data-table th, .data-table td { padding: 14px 12px; border-bottom: 1px solid var(--border-subtle); text-align: left; white-space: nowrap; }
.data-table th { color: var(--quiet); font-size: 11px; font-weight: 510; }
.data-table td { color: var(--text-2); font: 450 12px/1.5 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.data-table tbody tr:hover { background: rgba(255,255,255,.02); }
.data-table tbody tr:last-child td { border-bottom: 0; }
.actions-cell { display: flex; gap: 6px; }
.actions-cell .ghost-button { min-height: 32px; padding: 0 10px; }
.ghost-button.danger { color: var(--danger); }
.empty-hint { padding: 24px; border: 1px dashed var(--border); color: var(--quiet); text-align: center; }
.empty-hint a { color: var(--accent-hover); text-decoration: none; }
.admin-section { margin-top: 38px; padding-top: 24px; border-top: 1px solid var(--border); }
.admin-section h2 { margin: 0 0 18px; font-size: 18px; font-weight: 510; }
.admin-form { display: grid; grid-template-columns: 150px minmax(220px, 1fr) 130px auto; gap: 12px; }
.admin-form input, .admin-form select, .inline-controls select, .role-select { min-height: 38px; padding: 0 10px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); color: var(--text); }
.admin-form .primary-button { width: auto; min-width: 108px; }
.inline-controls { display: flex; align-items: center; gap: 6px; }
.override-list { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 7px; font-size: 11px; color: var(--quiet); }
.override-list span:not(.quiet-text) { padding: 3px 6px; border: 1px solid var(--border); border-radius: 999px; }
.quiet-text { color: var(--quiet); font-size: 12px; }
.admin-users-table { min-width: 1100px; }
.token-output { min-height: 20px; margin-top: 14px; padding: 10px 12px; border-radius: 6px; color: var(--quiet); font: 12px/1.6 ui-monospace, Consolas, monospace; overflow-wrap: anywhere; }
.token-output.ok { border: 1px solid rgba(139,213,158,.3); color: #8bd59e; }
.token-output.err { border: 1px solid rgba(255,107,107,.3); color: var(--danger); }
.status-pill { padding: 4px 8px; border: 1px solid var(--border); border-radius: 999px; font-size: 11px; }
.status-active { color: #8bd59e; }
.status-pending { color: #f0c674; }
.status-disabled { color: var(--danger); }

.module-nav { display: flex; align-items: center; gap: 18px; margin: 28px 0; font: 500 13px/1.2 "IBM Plex Sans", "Noto Sans SC", sans-serif; }
.module-links { display: flex; align-items: center; gap: 6px; min-width: 0; }
.module-link { padding: 9px 12px; border: 1px solid transparent; border-radius: 4px; color: var(--muted); white-space: nowrap; }
.module-link:hover { border-color: var(--border); background: rgba(255,255,255,.035); color: var(--text); }
.module-brand { display:flex;align-items:center;gap:9px;margin-right:8px;color:#fff;text-decoration:none;font:600 14px/1 "PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:.02em }
.module-brand .brand-mark{width:30px;height:30px;padding:5px;border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.06)}
.module-session { display: flex; align-items: center; gap: 14px; margin-left: auto; flex: 0 0 auto; }
.module-session a { display: grid; gap: 2px; color: var(--text); text-align: right; }
.module-session small { color: var(--quiet); font-size: 10px; font-weight: 450; }
.module-session button { min-height: 36px; padding: 0 12px; border: 1px solid var(--border); border-radius: 6px; background: transparent; color: var(--muted); cursor: pointer; }
.module-session button:hover { border-color: var(--accent); color: var(--accent); }
.module-nav[data-panel-shell] { position: sticky; top: 0; z-index: 9000; margin: 0; padding: 10px 18px; border-bottom: 1px solid rgba(255,255,255,.10); background:rgba(31,41,51,.98); backdrop-filter:blur(14px); }
.module-nav[data-panel-shell] .module-link{color:#d0d5dd}.module-nav[data-panel-shell] .module-link:hover{color:#fff;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.06)}
.module-nav[data-panel-shell] .module-session a,.module-nav[data-panel-shell] .module-session button{color:#f8fafc}.module-nav[data-panel-shell] .module-session small{color:#98a2b3}
body > #undo-bar { top: 66px !important; }

:focus-visible { outline: 2px solid var(--accent-hover); outline-offset: 3px; }
@media (max-width: 900px) {
  .auth-layout { grid-template-columns: 1fr; }
  .brand-panel { min-height: auto; padding: 30px 24px 34px; border-right: 0; border-bottom: 1px solid var(--border-subtle); }
  .brand-copy { margin: 56px 0 42px; }
  .brand-copy h1 { font-size: clamp(42px, 11vw, 64px); }
  .brand-description { max-width: 620px; }
  .form-panel { min-height: auto; padding: 64px 24px 72px; }
  .security-note { display: none; }
  .account-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric-card:nth-child(3) { padding-left: 0; border-left: 0; }
}
@media (max-width: 720px) {
  .admin-form { grid-template-columns: 1fr; }
  .admin-form .primary-button { width: 100%; }
}
@media (max-width: 600px) {
  .brand-panel::before, .brand-panel::after { display: none; }
  .brand-panel { padding-bottom: 24px; }
  .brand-copy { margin: 36px 0 24px; }
  .brand-copy h1 { font-size: 38px; }
  .brand-description { display: none; }
  .system-readout { grid-template-columns: 1fr 1fr; }
  .system-readout div:nth-child(3) { display: none; }
  .form-panel { padding: 40px 20px 48px; }
  .card-heading { margin-bottom: 26px; }
  .card-heading h1, .card-heading h2 { font-size: 28px; }
  .center-layout { padding: 28px 16px; }
  .center-layout.with-bar { align-items: start; }
  .info-card, .auth-card.narrow { padding: 24px 20px; }
  .info-card .section-index { margin-top: 42px; }
  .account-bar { padding: 0 18px; }
  .account-identity { display: none; }
  .account-layout { width: calc(100% - 32px); padding: 64px 0; }
  .account-grid { grid-template-columns: 1fr; }
  .metric-card, .metric-card + .metric-card { padding: 20px 0; border-left: 0; border-bottom: 1px solid var(--border-subtle); }
  .metric-card:last-child { border-bottom: 0; }
  .account-links a { grid-template-columns: 1fr auto; gap: 8px; padding: 14px 16px; }
  .account-links small { grid-column: 1 / -1; grid-row: 2; }
  .watchlist-add-form form { grid-template-columns: 1fr; }
  .watchlist-add-form .primary-button { width: 100%; }
  .module-nav { align-items: stretch; flex-direction: column; gap: 10px; }
  .module-links { overflow-x: auto; padding-bottom: 4px; }
  .module-nav[data-panel-shell] { align-items: center; flex-direction: row; padding: 8px 10px; }
  .module-nav[data-panel-shell] .module-links { flex: 1 1 auto; }
  .module-session { gap: 8px; }
  .module-session a { display: none; }
  .module-session button { min-height: 40px; }
  body > #undo-bar { top: 62px !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

.overview-shell { background:#f6f7f5; color:var(--text); min-height:100vh; min-height:100dvh; }
.tenant-overview { height:calc(100vh - 72px); height:calc(100dvh - 72px); display:flex; flex-direction:column; background:#f6f7f5; }
.drift-health-banner { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:12px 16px 0; padding:10px 14px; border:1px solid transparent; border-left-width:4px; border-radius:10px; box-shadow:0 2px 8px rgba(31,41,51,.06); font-size:13px; line-height:1.5; flex:0 0 auto; }
.drift-health-banner.alert { background:#fff5f3; border-color:#e9c3bd; border-left-color:#a9473d; color:#742d27; }
.drift-health-banner.pending { background:#fff9eb; border-color:#ead8a8; border-left-color:#9b7623; color:#6f5418; }
.drift-health-banner strong { white-space:nowrap; font-weight:750; }
.tenant-tabs { display:flex; overflow-x:auto; background:#1f2933; padding:0 12px; flex:0 0 auto; border-bottom:1px solid rgba(255,255,255,.1); }
.overview-decision-strip { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:8px; margin:8px 12px 0; flex:0 0 auto; }
.overview-summary-group { display:flex; align-items:center; gap:8px; min-width:0; padding:8px 10px; background:#fff; border:1px solid var(--border); border-radius:8px; font-size:12px; white-space:nowrap; overflow:hidden; }
.overview-summary-group strong { color:var(--text); flex:0 0 auto; }
.overview-summary-group span { color:var(--muted); }
.overview-summary-group .summary-priority { overflow:hidden; text-overflow:ellipsis; }
.summary-status { padding:2px 7px; border-radius:999px; font-weight:700; }
.summary-status.pass { color:var(--ui-pass); background:#eaf2ff; }
.summary-status.review { color:var(--ui-review); background:#fff3df; }
.summary-status.blocked { color:var(--ui-block); background:#fff0ee; }
.summary-status.neutral { color:#475467; background:#f2f4f7; }
.overview-severe-risk { display:flex; align-items:center; gap:8px; margin:6px 12px 0; padding:7px 10px; flex:0 0 auto; color:#7a231e; background:#fff4f2; border:1px solid #c2413b; border-left-width:4px; border-radius:7px; font-size:12px; }
.overview-severe-risk span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.overview-folds { margin:6px 12px 0; flex:0 0 auto; }
.overview-fold-buttons { display:flex; gap:6px; overflow-x:auto; }
.overview-fold-buttons button { min-height:34px; padding:6px 10px; border:1px solid var(--border); border-radius:7px; background:#fff; color:var(--text); font-weight:650; cursor:pointer; white-space:nowrap; }
.overview-fold-buttons button[aria-expanded="true"] { color:#fff; background:#1f2933; border-color:#1f2933; }
.overview-fold-panel { max-height:none; overflow:visible; margin-top:6px; padding:8px; background:#fff; border:1px solid var(--border); border-radius:8px; }
.overview-fold-panel[hidden] { display:none !important; }
.overview-fold-panel .action-center { margin:0; }
.overview-fold-panel .drift-health-banner { margin:6px 0 0; }

.tenant-tab { border:0; border-bottom:3px solid transparent; background:transparent; color:#d0d5dd; padding:14px 20px; font-weight:650; white-space:nowrap; cursor:pointer; }
.tenant-tab:hover { background:rgba(255,255,255,.06); color:#fff; }
.tenant-tab.active { border-bottom-color:#49a38f; color:#fff; background:rgba(73,163,143,.16); }
.tenant-pane { display:none; flex:1; min-height:0; }
/* 矮视口下Tab内容保有最低可见高度（超出时页面整体滚动，不把iframe压成0） */
.tenant-pane.active { display:block; min-height:320px; }
.tenant-pane iframe { display:block; width:100%; height:100%; min-height:320px; border:0; background:#f6f7f5; }
@media (max-width: 768px) {
  .tenant-overview { height:calc(100vh - 64px); height:calc(100dvh - 64px); }
  .tenant-tab { padding: 12px 14px; font-size: 13px; }
  .drift-health-banner { margin:8px 10px 0; padding:9px 11px; gap:7px; font-size:12px; }
  .overview-decision-strip { grid-template-columns:1fr; margin:6px 8px 0; gap:5px; }
  .overview-summary-group { padding:5px 7px; gap:4px 6px; white-space:normal; flex-wrap:wrap; font-size:11px; }
  .overview-summary-group .summary-priority { flex-basis:100%; white-space:nowrap; }
  .overview-severe-risk,.overview-folds { margin-left:8px; margin-right:8px; }

}
