/* MOEX Booster UI 2026 — final cascade layer. */
:root {
  color-scheme: light;
  --md-sys-color-primary: #006c46;
  --md-sys-color-on-primary: #ffffff;
  --md-sys-color-primary-container: #a7f2c9;
  --md-sys-color-on-primary-container: #002114;
  --md-sys-color-secondary: #4d6357;
  --md-sys-color-on-secondary: #ffffff;
  --md-sys-color-secondary-container: #cfe9d9;
  --md-sys-color-on-secondary-container: #0a1f15;
  --md-sys-color-tertiary: #3d6472;
  --md-sys-color-on-tertiary: #ffffff;
  --md-sys-color-tertiary-container: #c1e9fa;
  --md-sys-color-on-tertiary-container: #001f29;
  --md-sys-color-error: #ba1a1a;
  --md-sys-color-on-error: #ffffff;
  --md-sys-color-error-container: #ffdad6;
  --md-sys-color-on-error-container: #410002;
  --md-sys-color-surface: #f6faf6;
  --md-sys-color-on-surface: #181d19;
  --md-sys-color-on-surface-variant: #404943;
  --md-sys-color-surface-container-lowest: #ffffff;
  --md-sys-color-surface-container-low: #f0f4f0;
  --md-sys-color-surface-container: #eaeFEB;
  --md-sys-color-surface-container-high: #e4e9e5;
  --md-sys-color-surface-container-highest: #dfe3df;
  --md-sys-color-outline: #707973;
  --md-sys-color-outline-variant: #bfc9c1;
  --md-sys-color-inverse-surface: #2d322e;
  --md-sys-color-inverse-on-surface: #eef1ed;
  --md-sys-shape-corner-small: 8px;
  --md-sys-shape-corner-medium: 12px;
  --md-sys-shape-corner-large: 16px;
  --md-sys-shape-corner-extra-large: 28px;
  --md-sys-shape-corner-full: 9999px;
  --md-sys-typescale-body-large-size: 1rem;
  --md-sys-typescale-body-large-line-height: 1.5;
  --md-sys-typescale-title-large-size: 1.375rem;
  --md-sys-typescale-headline-large-size: clamp(2rem, 3vw, 3rem);
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --bg: var(--md-sys-color-surface);
  --panel: var(--md-sys-color-surface-container-lowest);
  --line: var(--md-sys-color-outline-variant);
  --text: var(--md-sys-color-on-surface);
  --muted: var(--md-sys-color-on-surface-variant);
  --green: var(--md-sys-color-primary);
  --active-text: #005f3d;
  --control-border: #89938c;
  --surface-soft: var(--md-sys-color-surface-container-low);
  --card-shadow: none;
}

/* Daily credit-rating transition inside the portfolio risk monitor. */
.risk-paper-state.rating-worsened{border-left-color:var(--md-sys-color-error);box-shadow:0 0 0 2px color-mix(in srgb,var(--md-sys-color-error) 22%,transparent)}
.risk-paper-filter{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;margin-left:auto;font-size:12px;font-weight:700}.risk-paper-filter select{min-height:42px;max-width:100%}
.rating-change{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin:12px 0;padding:11px 12px;border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;background:var(--md-sys-color-surface-container)}
.rating-change strong{grid-column:1/2;font-size:16px}.rating-change small{font-size:10px}.rating-change a{grid-column:2;grid-row:1/4;align-self:center;font-size:11px;font-weight:750}
.rating-change.rating-worsened{border-color:var(--md-sys-color-error);background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}
.rating-change.rating-improved{border-color:#167746;background:#d4f7df;color:#06391f}.rating-change.rating-unchanged{background:var(--md-sys-color-surface-container-high)}
@media(max-width:700px){.rating-change{grid-template-columns:1fr}.rating-change a{grid-column:1;grid-row:auto;min-height:44px;display:inline-flex;align-items:center}}

:root[data-theme="dark"] {
  color-scheme: dark;
  --md-sys-color-primary: #8bd7ad;
  --md-sys-color-on-primary: #003823;
  --md-sys-color-primary-container: #005234;
  --md-sys-color-on-primary-container: #a7f2c9;
  --md-sys-color-secondary: #b3ccbd;
  --md-sys-color-on-secondary: #20352a;
  --md-sys-color-secondary-container: #364b3f;
  --md-sys-color-on-secondary-container: #cfe9d9;
  --md-sys-color-tertiary: #a5cddd;
  --md-sys-color-on-tertiary: #073542;
  --md-sys-color-tertiary-container: #244c59;
  --md-sys-color-on-tertiary-container: #c1e9fa;
  --md-sys-color-error: #ffb4ab;
  --md-sys-color-on-error: #690005;
  --md-sys-color-error-container: #93000a;
  --md-sys-color-on-error-container: #ffdad6;
  --md-sys-color-surface: #101411;
  --md-sys-color-on-surface: #dfe4df;
  --md-sys-color-on-surface-variant: #bfc9c1;
  --md-sys-color-surface-container-lowest: #0b0f0c;
  --md-sys-color-surface-container-low: #181d19;
  --md-sys-color-surface-container: #1c211d;
  --md-sys-color-surface-container-high: #272b27;
  --md-sys-color-surface-container-highest: #323632;
  --md-sys-color-outline: #89938c;
  --md-sys-color-outline-variant: #404943;
  --md-sys-color-inverse-surface: #dfe4df;
  --md-sys-color-inverse-on-surface: #2d322e;
  --bg: var(--md-sys-color-surface);
  --panel: var(--md-sys-color-surface-container-low);
  --line: var(--md-sys-color-outline-variant);
  --text: var(--md-sys-color-on-surface);
  --muted: var(--md-sys-color-on-surface-variant);
  --green: var(--md-sys-color-primary);
  --active-text: var(--md-sys-color-primary);
  --control-border: var(--md-sys-color-outline);
  --surface-soft: var(--md-sys-color-surface-container);
}

* { box-sizing: border-box; }
html { background: var(--md-sys-color-surface); }
body {
  background: var(--md-sys-color-surface);
  color: var(--md-sys-color-on-surface);
  font-family: Inter, "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.5;
}

:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--md-sys-color-primary) 78%, white);
  outline-offset: 3px;
}

button, input, select, textarea { font: inherit; }
button, .panel-link {
  min-height: 44px;
  border-radius: var(--md-sys-shape-corner-full);
  transition: background-color 180ms cubic-bezier(.2,0,0,1), color 180ms cubic-bezier(.2,0,0,1), transform 180ms cubic-bezier(.2,0,0,1);
}
.dashboard-primary-action .panel-link{border-color:var(--md-sys-color-primary);background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)!important}
:root[data-theme="light"] body .dashboard-panel.dashboard-primary-action>a.panel-link:link,
:root[data-theme="light"] body .dashboard-panel.dashboard-primary-action>a.panel-link:visited,
:root[data-theme="dark"] body .dashboard-panel.dashboard-primary-action>a.panel-link:link,
:root[data-theme="dark"] body .dashboard-panel.dashboard-primary-action>a.panel-link:visited{color:var(--md-sys-color-on-primary)!important}
.health-badge{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}
.health-badge.warning{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}
.global-tooltip{position:fixed;z-index:2000;width:max-content;max-width:min(360px,calc(100vw - 24px));padding:11px 13px;border:1px solid color-mix(in srgb,var(--md-sys-color-inverse-on-surface) 18%,transparent);border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface);box-shadow:0 12px 36px rgba(0,0,0,.3);font-size:12px;font-weight:550;line-height:1.5;text-align:left;white-space:normal;pointer-events:none}
.global-tooltip[hidden]{display:none}
html.tooltip-portal-ready [data-tooltip]::after,html.tooltip-portal-ready [data-tooltip]::before{display:none!important}
button:not(.ghost):not(.secondary):not(:disabled) {
  border-color: var(--md-sys-color-primary);
  background: var(--md-sys-color-primary);
  color: var(--md-sys-color-on-primary);
}
.secondary:not(:disabled) {
  border-color: transparent;
  background: var(--md-sys-color-secondary-container);
  color: var(--md-sys-color-on-secondary-container);
}
.ghost:not(:disabled) {
  border-color: transparent;
  background: transparent;
  color: var(--md-sys-color-on-surface-variant);
}
input, select, textarea {
  min-height: 48px;
  border: 1px solid var(--md-sys-color-outline);
  border-radius: var(--md-sys-shape-corner-small);
  background: var(--md-sys-color-surface-container-lowest);
  color: var(--md-sys-color-on-surface);
}

/* App shell */
.topbar {
  height: 72px;
  padding: 0 var(--space-6);
  border-bottom: 0;
  background: color-mix(in srgb, var(--md-sys-color-surface) 92%, transparent);
  box-shadow: none;
  backdrop-filter: blur(20px);
}
.brand { gap: var(--space-3); font-size: 16px; letter-spacing: -.02em; }
.brand .mark {
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: var(--md-sys-shape-corner-medium);
  background: var(--md-sys-color-primary-container);
  color: var(--md-sys-color-on-primary-container);
}
.topbar-right { gap: var(--space-2); }
.topbar-right .ghost { border: 0; background: var(--md-sys-color-surface-container-low); }
.topbar .mode {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  border: 0;
  border-radius: var(--md-sys-shape-corner-full);
  padding: 0 14px;
  background: var(--md-sys-color-primary-container);
  color: var(--md-sys-color-on-primary-container);
  font-size: 10px;
}
.sidebar {
  top: 72px;
  width: 224px;
  padding: var(--space-4) var(--space-3);
  border-right: 0;
  background: var(--md-sys-color-surface);
  box-shadow: none;
}
.sidebar nav { gap: var(--space-1); }
.sidebar nav a[data-route] {
  min-height: 52px;
  padding: 0 14px;
  border-radius: var(--md-sys-shape-corner-full);
  color: var(--md-sys-color-on-surface-variant);
  font-size: 14px;
  font-weight: 600;
}
.sidebar nav a[data-route] span {
  width: 28px;
  height: 28px;
  font-size: 17px;
}
.sidebar nav a[data-route]:hover { transform: none; background: var(--md-sys-color-surface-container); color: var(--md-sys-color-on-surface); }
.sidebar nav a[data-route].active,
:root[data-theme="light"] .sidebar nav a[data-route].active {
  background: var(--md-sys-color-secondary-container);
  color: var(--md-sys-color-on-secondary-container);
  box-shadow: none;
}
.sidebar-foot { border-top: 0; color: var(--md-sys-color-on-surface-variant); }
body > main {
  margin-left: 224px;
  padding: var(--space-6) clamp(20px, 3vw, 48px) 80px;
  border-radius: var(--md-sys-shape-corner-extra-large) 0 0 0;
  background: var(--md-sys-color-surface-container-low);
}
main > * { width: min(100%, 1240px); }

/* Content surfaces */
.card, .overview-card, .dashboard-panel, .dashboard-data-panel,
.overview-category-card, .metric, .visual-card, .category-capabilities article {
  border-color: transparent;
  border-radius: var(--md-sys-shape-corner-large);
  background: var(--md-sys-color-surface-container-lowest);
  box-shadow: none;
}
.overview-card.overview-total, .metric.primary,
:root[data-theme="light"] .overview-card.overview-total,
:root[data-theme="light"] .metric.primary {
  background: var(--md-sys-color-primary-container);
  color: var(--md-sys-color-on-primary-container);
}
.overview-card strong, .metric strong { letter-spacing: -.04em; }
.table-card { overflow: clip; }
.table-wrap { border-color: var(--md-sys-color-outline-variant); border-radius: var(--md-sys-shape-corner-medium); }
thead, :root[data-theme="light"] .table-wrap thead { background: var(--md-sys-color-surface-container); }
th { color: var(--md-sys-color-on-surface-variant); font-size: 10px; letter-spacing: .08em; }
td { border-bottom-color: var(--md-sys-color-outline-variant); }
.category-workspace {
  top: 84px;
  padding: var(--space-3) var(--space-4);
  border: 0;
  border-radius: var(--md-sys-shape-corner-large) !important;
  background: color-mix(in srgb, var(--md-sys-color-surface-container-lowest) 94%, transparent) !important;
  box-shadow: none !important;
}
.category-tabs a { min-height: 40px; border-radius: var(--md-sys-shape-corner-full); }
.category-tabs a.active {
  border-color: transparent;
  background: var(--md-sys-color-secondary-container);
  color: var(--md-sys-color-on-secondary-container);
}
.advisor-mode-badge { border: 0; background: var(--md-sys-color-primary-container); color: var(--md-sys-color-on-primary-container); }
.step, .eyebrow { color: var(--md-sys-color-primary); letter-spacing: .12em; }

.ai-drawer {
  width: min(520px, calc(100vw - 16px));
  padding: var(--space-6);
  border: 0;
  border-radius: var(--md-sys-shape-corner-extra-large) 0 0 var(--md-sys-shape-corner-extra-large);
  background: var(--md-sys-color-surface-container-low);
  box-shadow: -24px 0 64px rgba(0, 33, 20, .18);
}
.ai-drawer section, .ai-runtime-card, .ai-config-list {
  border-color: transparent;
  border-radius: var(--md-sys-shape-corner-large);
  background: var(--md-sys-color-surface-container-lowest);
}
.ai-edge-tab { border-radius: var(--md-sys-shape-corner-large) 0 0 var(--md-sys-shape-corner-large); }

/* Sign-in: supporting pane on desktop, focused card on compact screens. */
.auth-gate {
  padding: clamp(16px, 4vw, 64px);
  place-items: center;
  overflow: auto;
  background:
    radial-gradient(circle at 12% 12%, color-mix(in srgb, var(--md-sys-color-primary-container) 54%, transparent), transparent 34%),
    var(--md-sys-color-surface-container-low);
}
:root[data-theme="light"] .auth-gate { background: radial-gradient(circle at 12% 12%, #c9f8dc 0, transparent 34%), var(--md-sys-color-surface-container-low); }
.auth-shell {
  width: min(1080px, 100%);
  min-height: min(680px, calc(100dvh - 80px));
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
  overflow: hidden;
  border-radius: 36px;
  background: var(--md-sys-color-surface-container-lowest);
  box-shadow: 0 24px 80px rgba(21, 54, 37, .12);
}
.auth-story {
  display: flex;
  flex-direction: column;
  padding: clamp(36px, 6vw, 72px);
  background: var(--md-sys-color-inverse-surface);
  color: var(--md-sys-color-inverse-on-surface);
}
.auth-brand { display: flex; align-items: center; gap: var(--space-3); font-weight: 750; }
.auth-logo {
  width: 46px;
  height: 46px;
  margin: 0;
  border: 0;
  border-radius: var(--md-sys-shape-corner-medium);
  background: var(--md-sys-color-primary);
  color: var(--md-sys-color-on-primary);
}
.auth-story .eyebrow { margin: auto 0 12px; color: var(--md-sys-color-primary-container); }
.auth-story h1 {
  max-width: 560px;
  margin: 0;
  color: var(--md-sys-color-inverse-on-surface);
  font-size: clamp(42px, 5vw, 68px);
  line-height: .98;
  letter-spacing: -.055em;
}
.auth-lead { max-width: 520px; margin: var(--space-6) 0 var(--space-8); color: color-mix(in srgb, var(--md-sys-color-inverse-on-surface) 76%, transparent); font-size: 18px; }
.auth-benefits { display: grid; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.auth-benefits li { display: grid; grid-template-columns: 34px 1fr; gap: var(--space-3); padding-top: var(--space-3); border-top: 1px solid color-mix(in srgb, var(--md-sys-color-inverse-on-surface) 14%, transparent); }
.auth-benefits li > span { color: var(--md-sys-color-primary-container); font-size: 11px; font-weight: 800; }
.auth-benefits strong, .auth-benefits small { display: block; }
.auth-benefits small { margin-top: 2px; color: color-mix(in srgb, var(--md-sys-color-inverse-on-surface) 68%, transparent); }
.auth-card,
:root[data-theme="light"] .auth-card {
  width: auto;
  align-self: center;
  padding: clamp(36px, 5vw, 64px);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: left;
}
.auth-card .eyebrow { margin: 0 0 var(--space-3); }
.auth-card h2 { margin: 0 0 var(--space-4); font-size: clamp(32px, 4vw, 48px); line-height: 1.04; letter-spacing: -.045em; }
.auth-card > p:not(.eyebrow):not(.auth-trust) { margin: 0 0 var(--space-6); color: var(--md-sys-color-on-surface-variant); }
.auth-card button { display: flex; align-items: center; justify-content: center; gap: var(--space-2); width: 100%; min-height: 54px; margin: 0; }
.auth-card button span { font-size: 20px; }
.auth-card .status { min-height: 24px; margin: var(--space-3) 0 0; text-align: center; }
.auth-trust { margin: var(--space-8) 0 0; color: var(--md-sys-color-on-surface-variant); font-size: 12px; text-align: center; }
.auth-trust span { color: var(--md-sys-color-primary); }
.auth-locked > .ai-edge-tab, .auth-locked > .ai-drawer, .auth-locked > .ai-drawer-backdrop { visibility: hidden; }

@media (min-width: 600px) and (max-width: 839px) {
  .sidebar { width: 88px; align-items: center; }
  .sidebar nav a[data-route] { width: 64px; flex-direction: column; justify-content: center; gap: 2px; padding: 4px; font-size: 9px; text-align: center; }
  .sidebar-foot { display: none; }
  body > main, body > footer { margin-left: 88px; }
  .auth-shell { grid-template-columns: 1fr 360px; }
  .auth-story { padding: 40px; }
  .auth-story h1 { font-size: 46px; }
  .auth-benefits small { display: none; }
}

@media (max-width: 599px) {
  .topbar { height: 64px; padding: 0 var(--space-4); }
  .sidebar { top: 64px; width: min(88vw, 320px); }
  body > main { margin-left: 0; padding: var(--space-4) var(--space-4) 88px; border-radius: 0; }
  body > footer { margin-left: 0; }
  .category-workspace { top: 72px; }
  .auth-gate { padding: 0; place-items: stretch; }
  .auth-shell { min-height: 100dvh; grid-template-columns: 1fr; border-radius: 0; box-shadow: none; }
  .auth-story { min-height: 42dvh; padding: 28px 24px 32px; }
  .auth-story .eyebrow { margin-top: 48px; }
  .auth-story h1 { font-size: clamp(38px, 12vw, 52px); }
  .auth-lead { margin-bottom: 0; }
  .auth-benefits { display: none; }
  .auth-card { align-self: stretch; padding: 36px 24px 48px; }
  .auth-card h2 { font-size: 34px; }
  .ai-drawer { width: 100vw; border-radius: 0; }
}

/* Operational plan: daily AI monitoring and saved-project workflow. */
.plan-ai-status{margin:20px 0;padding:22px;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-extra-large);background:linear-gradient(135deg,var(--md-sys-color-surface-container-low),var(--md-sys-color-surface));box-shadow:var(--md-sys-elevation-level1)}
.plan-ai-head,.plan-project-head,.plan-run-history-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.plan-ai-head h3,.plan-project-head p{margin:0}.plan-ai-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.plan-ai-kpis article{min-width:0;padding:16px;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface)}.plan-ai-kpis span,.plan-ai-kpis small{display:block;color:var(--md-sys-color-on-surface-variant)}.plan-ai-kpis strong{display:block;margin:8px 0 4px;font-size:clamp(17px,2vw,24px);overflow-wrap:anywhere}.plan-run-history{margin:0 0 16px;padding:14px 16px;border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface-container-low)}.plan-run-history-head{margin-bottom:8px}.plan-run-row{display:grid;grid-template-columns:90px 90px minmax(0,1fr);align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--md-sys-color-outline-variant);font-size:13px}.run-state{width:max-content;padding:4px 8px;border-radius:999px;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.run-state.completed{background:var(--success-container,#d7f8e5);color:var(--success-on-container,#075c37)}.run-state.failed{background:var(--error-container,#ffdad6);color:var(--error-on-container,#93000a)}.plan-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}.plan-project-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:18px;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface)}.plan-project-card>div:first-child strong,.plan-project-card>div:first-child small{display:block}.plan-project-card>div:first-child strong{margin:5px 0;font-size:18px}.plan-project-health{display:flex;align-items:center;gap:7px;align-self:start;padding:7px 10px;border-radius:999px;font-size:11px;background:var(--success-container,#d7f8e5);color:var(--success-on-container,#075c37)}.plan-project-health.attention{background:var(--warning-container,#ffedc2);color:var(--warning-on-container,#5f4100)}.plan-project-card>.plan-project-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:12px;border-top:1px solid var(--md-sys-color-outline-variant)}.plan-project-card>.plan-project-actions a,.plan-project-card>.plan-project-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border-radius:999px;font-weight:750;text-decoration:none}.plan-project-card>.plan-project-actions a{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.plan-project-card>.plan-project-actions button{border:1px solid var(--md-sys-color-primary);color:var(--md-sys-color-primary);background:transparent}.ai-chat-project-field,.ai-chat-log{grid-column:1/-1}.ai-chat-project-field select{width:100%;margin-top:5px}.ai-chat-log{width:100%}
@media (max-width: 900px){.plan-ai-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-project-grid{grid-template-columns:1fr}}
@media (max-width: 599px){.plan-ai-status{padding:16px}.plan-ai-head{align-items:flex-start;flex-direction:column}.plan-ai-kpis{grid-template-columns:1fr}.plan-run-row{grid-template-columns:72px 78px minmax(0,1fr);gap:7px}.plan-project-card{grid-template-columns:1fr}.plan-project-health{justify-self:start}.plan-project-card>.plan-project-actions{display:flex;flex-direction:column;align-items:stretch}.plan-project-card>.plan-project-actions a,.plan-project-card>.plan-project-actions button{text-align:center;width:100%}}
.builder-edit-context{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:16px 18px;border:1px solid var(--md-sys-color-primary);border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.builder-edit-context>div{min-width:0}.builder-edit-context strong,.builder-edit-context p{display:block;margin:4px 0}.builder-edit-context p{font-size:13px;line-height:1.5}.builder-edit-context button{flex:0 0 auto;border-color:currentColor;color:inherit;background:var(--md-sys-color-surface)}@media(max-width:599px){.builder-edit-context{align-items:stretch;flex-direction:column}.builder-edit-context button{width:100%}}
.risk-paper-overview{margin:18px 0;padding:20px;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-extra-large);background:var(--md-sys-color-surface)}.risk-paper-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.risk-paper-kpis article{padding:14px;border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface-container-low)}.risk-paper-kpis span,.risk-paper-kpis strong{display:block}.risk-paper-kpis strong{margin-top:5px;font-size:24px}.risk-paper-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.risk-paper-state{min-width:0;padding:16px;border:1px solid var(--md-sys-color-outline-variant);border-left:5px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface-container-lowest)}.risk-paper-state.severity-critical,.risk-paper-state.severity-high{border-left-color:var(--md-sys-color-error)}.risk-paper-state.severity-watch{border-left-color:#b57700}.risk-paper-state.change-worsened{box-shadow:0 0 0 2px color-mix(in srgb,var(--md-sys-color-error) 22%,transparent)}.risk-paper-state header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.risk-paper-state header strong,.risk-paper-state header small{display:block}.risk-paper-state header span{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:var(--md-sys-color-secondary-container);font-size:11px;font-weight:750}.risk-paper-state.change-worsened header span{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.risk-paper-state p{margin:12px 0;line-height:1.5}.risk-paper-state dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:5px 10px;margin:0;font-size:12px}.risk-paper-state dt{color:var(--md-sys-color-on-surface-variant)}.risk-paper-state dd{margin:0;font-weight:650}@media(max-width:700px){.risk-paper-kpis,.risk-paper-list{grid-template-columns:1fr}.risk-paper-overview{padding:16px}.risk-paper-state header{flex-direction:column}.risk-paper-state dl{grid-template-columns:1fr}.risk-paper-state dd{margin-bottom:5px}}
.guardian-mini-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:9px 0}.guardian-mini-status article{min-width:0;padding:8px;border-radius:10px;background:var(--md-sys-color-surface-container)}.guardian-mini-status span,.guardian-mini-status strong{display:block}.guardian-mini-status span{font-size:9px;color:var(--md-sys-color-on-surface-variant)}.guardian-mini-status strong{margin-top:3px;font-size:11px;overflow-wrap:anywhere}.guardian-run-history{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0 10px}.guardian-run-dot{display:inline-flex;align-items:center;gap:4px;padding:4px 6px;border-radius:999px;background:var(--md-sys-color-surface-container);font-size:9px}.guardian-run-dot i{width:7px;height:7px;border-radius:50%;background:#b57700}.guardian-run-dot.completed i{background:#16834b}.guardian-run-dot.failed i{background:var(--md-sys-color-error)}

/* Consistent Lucide icon treatment and non-font disclosure marks. */
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.ui-icon{display:inline-block;width:22px;height:22px;flex:0 0 22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.sidebar [data-nav-icon] .ui-icon{width:21px;height:21px}
.sidebar-collapse .ui-icon,.pane-collapse .ui-icon{width:20px;height:20px}
.info-tip .ui-icon{width:16px;height:16px}
.row-disclosure::after,.ai-runtime-details summary::after,.ai-config-details>summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .16s}
.row-disclosure::after{right:13px;transform:translateY(-70%) rotate(45deg)}
.row-disclosure[aria-expanded="true"]::after{transform:translateY(-30%) rotate(225deg)}
.ai-runtime-details[open] summary::after,.ai-config-details[open]>summary::after{transform:rotate(225deg)}

/* Analysis reports v6: overview first, detail on demand. */
.ai-job-item .ai-open-result{width:100%;min-height:36px;margin-top:9px;padding:7px 12px;font-size:11px}
.ai-job-item a.ai-open-result{display:grid;place-items:center;text-decoration:none}
body.ai-report-open{overflow:hidden}
.ai-result-dialog{inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);overflow-x:hidden;overflow-y:auto}
.ai-result-dialog::backdrop{background:color-mix(in srgb,var(--md-sys-color-on-surface) 44%,transparent)}
.ai-result-dialog-shell{min-height:100dvh;overflow:visible;display:block}
.ai-result-dialog-head{position:sticky;z-index:4;top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px max(22px,calc((100vw - 1180px)/2));border-bottom:1px solid var(--md-sys-color-outline-variant);background:color-mix(in srgb,var(--md-sys-color-surface-container-low) 94%,transparent);backdrop-filter:blur(14px)}
.ai-result-dialog-head h2{margin:2px 0 0;font-size:24px;line-height:1.1}
.ai-result-dialog-head .ghost{width:42px;min-width:42px;min-height:42px;padding:0;border-radius:var(--md-sys-shape-corner-full)}
.ai-result-dialog-content{width:min(1180px,100%);margin-inline:auto;overflow:visible;padding:clamp(20px,4vw,48px) clamp(16px,3vw,34px) 64px}
.ai-result-dialog-content.ai-analysis-panel{margin-block:0;border:0;border-radius:0;background:transparent}
.ai-report{display:grid;gap:24px;min-width:0}
.ai-report-head{align-items:flex-start;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--md-sys-color-outline-variant)}
.ai-report-head h5{max-width:820px;margin:5px 0 0;font-size:clamp(20px,2.2vw,30px);line-height:1.18}
.ai-report-executive{display:grid;grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);gap:24px;padding:clamp(18px,3vw,30px);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}
.ai-report-executive h3,.ai-report-chapter h3,.ai-report-chart h3,.ai-report-next h3{margin:4px 0 0;font-size:clamp(18px,2vw,24px);line-height:1.2}
.ai-report-summary{max-width:900px;margin:0;color:inherit;font-size:clamp(14px,1.4vw,17px);line-height:1.65}
.ai-report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ai-report-kpis article{display:grid;gap:3px;min-width:0;padding:12px 14px;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-surface-container-lowest)}
.ai-report-kpis article.tone-critical{border-top:4px solid var(--financial-critical)}
.ai-report-kpis article.tone-watch{border-top:4px solid var(--financial-caution)}
.ai-report-kpis article.tone-good{border-top:4px solid var(--financial-positive)}
.ai-report-kpis span{font-size:10px;font-weight:700;color:var(--md-sys-color-on-surface-variant)}
.ai-report-kpis strong{font-size:21px;line-height:1.1}
.ai-report-kpis small{font-size:9px;line-height:1.35;color:var(--md-sys-color-on-surface-variant)}
.ai-decision-overview{display:grid;grid-template-columns:1.15fr 1fr .7fr;gap:10px}
.ai-decision-overview>article{min-width:0;padding:15px;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-surface-container-lowest)}
.ai-decision-urgency{border-left:4px solid var(--md-sys-color-outline)!important}.ai-decision-urgency.tone-critical{border-left-color:var(--financial-critical)!important}.ai-decision-urgency.tone-watch{border-left-color:var(--financial-caution)!important}.ai-decision-urgency.tone-good{border-left-color:var(--financial-positive)!important}
.ai-decision-overview span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--md-sys-color-on-surface-variant)}.ai-decision-urgency h3{margin:6px 0;font-size:20px}.ai-decision-urgency p{margin:0 0 7px}.ai-decision-overview small{color:var(--md-sys-color-on-surface-variant);font-size:9px;line-height:1.35}
.ai-decision-signals header{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px}.ai-decision-signals header strong{display:block;margin-top:4px}.ai-decision-signals header small{text-align:right;max-width:120px}.ai-decision-signals>div{display:grid;gap:7px}.ai-decision-signals>div>div{display:grid;grid-template-columns:80px 1fr 18px;gap:7px;align-items:center;font-size:10px}.ai-decision-signals i,.ai-decision-sources i{display:block;height:8px;overflow:hidden;border-radius:999px;background:var(--md-sys-color-surface-container-highest)}.ai-decision-signals i b{display:block;width:var(--signal-width);height:100%;background:var(--md-sys-color-outline)}.ai-decision-signals i b.tone-critical{background:var(--financial-critical)}.ai-decision-signals i b.tone-watch{background:var(--financial-caution)}.ai-decision-signals i b.tone-good{background:var(--financial-positive)}
.ai-decision-sources{display:grid;align-content:start;gap:8px}.ai-decision-sources>strong{font-size:24px}.ai-decision-sources i b{display:block;width:var(--source-width);height:100%;background:var(--financial-positive)}
.ai-report-chart,.ai-report-chapter,.ai-report-next{display:grid;gap:16px;padding:clamp(16px,2.5vw,26px);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface-container-low)}
.ai-report-chart>header,.ai-report-chapter>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.ai-report-help{flex:0 0 auto}
.ai-report-help[data-tooltip]::after{left:auto;right:-4px;transform:translateY(5px)}
.ai-report-help[data-tooltip]::before{left:auto;right:8px}
.ai-report-help[data-tooltip]:hover::after,.ai-report-help[data-tooltip]:focus-visible::after,.ai-report-help[data-tooltip].tooltip-open::after{transform:translateY(0)}
.ai-report-chart-bars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ai-report-chart-row{display:grid;gap:8px;min-width:0;padding:14px;border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-surface-container-lowest)}
.ai-report-chart-row>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:11px}.ai-report-chart-row>div:first-child span{font-weight:800}
.ai-report-chart-track{height:10px;overflow:hidden;border-radius:999px;background:var(--md-sys-color-surface-container-highest)}
.ai-report-chart-track i{display:block;width:var(--chart-value);height:100%;border-radius:inherit;background:var(--md-sys-color-primary)}
.ai-report-chart-row small{color:var(--md-sys-color-on-surface-variant);font-size:9px;line-height:1.4}
.ai-report-signal-grid,.ai-report-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ai-report-section{min-width:0;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-surface-container-lowest);overflow:visible}
.ai-report-section>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:10px 13px;cursor:pointer;list-style:none}
.ai-report-section>summary::-webkit-details-marker{display:none}
.ai-report-section>summary span{display:grid;gap:2px;min-width:0}
.ai-report-section>summary strong{font-size:12px}
.ai-report-section>summary small{color:var(--md-sys-color-on-surface-variant);font-size:9px;line-height:1.3}
.ai-report-section>summary>b{display:grid;place-items:center;min-width:28px;height:28px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-surface-container);font-size:11px}
.ai-report-section>summary::after{content:"";width:7px;height:7px;flex:0 0 7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.ai-report-section[open]>summary::after{transform:rotate(225deg)}
.ai-report-section>div{padding:0 13px 13px;border-top:1px solid var(--md-sys-color-outline-variant);font-size:11px;line-height:1.48}
.ai-report-section ul{display:grid;gap:8px;margin:10px 0 0;padding-left:17px}
.ai-report-section li p{margin:3px 0}.ai-report-section li small{color:var(--md-sys-color-on-surface-variant)}
.ai-report-section blockquote{margin:6px 0;padding:8px 10px;border-left:3px solid var(--md-sys-color-primary);background:var(--md-sys-color-surface-container-low)}
.ai-report-section.tone-critical{border-left:4px solid var(--financial-critical)}
.ai-report-section.tone-watch{border-left:4px solid var(--financial-caution)}
.ai-report-section.tone-good{border-left:4px solid var(--financial-positive)}
.ai-debt-section,.ai-missing-section{grid-column:1/-1}
.ai-report-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ai-report-method-grid>div{padding:16px;border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-surface-container-lowest)}.ai-report-method-grid h4{margin:0 0 8px;font-size:13px}.ai-report-method-grid p{margin:0;font-size:11px;line-height:1.55}.ai-report-source-list{display:grid;gap:8px;margin:0;padding-left:18px;font-size:11px;overflow-wrap:anywhere}
.ai-report-provenance{display:grid;gap:10px;min-width:0;overflow-wrap:anywhere}.ai-report-trust-rule{margin:0;padding:12px 14px;border-left:4px solid var(--financial-info);border-radius:var(--md-sys-shape-corner-small);background:var(--financial-info-bg);font-size:11px;line-height:1.5}.ai-report-provenance ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.ai-report-provenance li{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding:10px 12px;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-surface-container-lowest)}.ai-report-provenance li>div{display:grid;gap:3px;min-width:0}.ai-report-provenance li small,.ai-report-provenance li>span{color:var(--md-sys-color-on-surface-variant);font-size:9px}.ai-report-provenance li.unavailable{border-left:4px solid var(--financial-caution)}
.source-catalog-panel{display:grid;gap:14px;margin-top:18px;padding:18px;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface-container-low)}.source-catalog-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.source-catalog-item{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:11px;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-surface-container-lowest);overflow-wrap:anywhere}.source-catalog-item>div{display:grid;gap:3px;min-width:0}.source-catalog-item small{color:var(--md-sys-color-on-surface-variant);font-size:9px}.source-catalog-item.disabled{opacity:.7}.source-catalog-item .catalog-toggle{min-height:40px;padding:7px 10px}
.ai-report-next{grid-template-columns:minmax(220px,.55fr) minmax(0,1fr);background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.ai-report-next p{line-height:1.55}.ai-report-next ul{margin:0;padding-left:20px;display:grid;gap:8px}
.ai-disclaimer{padding:16px 18px;border-left:4px solid var(--financial-info);border-radius:var(--md-sys-shape-corner-medium);background:var(--financial-info-bg);line-height:1.55}.ai-disclaimer strong{display:block;margin-bottom:3px}

/* Dossier metrics v3: compact bullet-chart cards, never a squeezed table. */
.dossier-metrics{display:grid;gap:12px;overflow:visible}
.dossier-metric-group{min-width:0;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface-container-lowest);overflow:visible}
.dossier-metric-group>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-bottom:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-low);border-radius:var(--md-sys-shape-corner-large) var(--md-sys-shape-corner-large) 0 0}
.dossier-metric-group>header h6{margin:0;font-size:13px}.dossier-metric-group>header small{display:block;margin-top:2px;color:var(--md-sys-color-on-surface-variant);font-size:9px}.dossier-metric-group>header>strong{font-size:15px;white-space:nowrap}
.dossier-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--md-sys-color-outline-variant)}
.dossier-metric-card{display:grid;grid-template-rows:auto auto auto 1fr auto;gap:7px;min-width:0;min-height:154px;padding:12px 13px;background:var(--md-sys-color-surface-container-lowest);box-shadow:inset 0 3px 0 var(--tone-border)}
.dossier-metric-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.dossier-metric-card-head>span{font-size:10px;font-weight:750}.dossier-metric-card .dossier-metric-help{width:30px;min-width:30px;max-width:30px;min-height:30px;padding:0;border-radius:var(--md-sys-shape-corner-full)}
.dossier-metric-value{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.dossier-metric-value>strong{min-width:0;font-size:19px;line-height:1.1;overflow-wrap:anywhere}.dossier-metric-card .dossier-value-chip{flex:0 1 auto;min-width:0;max-width:48%;padding:4px 6px}.dossier-metric-card .dossier-value-chip span{font-size:8px;white-space:normal}
.dossier-metric-card .dossier-score{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0}.dossier-metric-card .dossier-score-track{height:6px}.dossier-metric-card .dossier-score-value{font-size:10px}
.dossier-metric-card p{margin:0;color:var(--md-sys-color-on-surface);font-size:10px;line-height:1.38}.dossier-metric-card>small{color:var(--md-sys-color-on-surface-variant);font-size:8px;line-height:1.3}

@media(max-width:900px){.ai-report-kpis,.dossier-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-report-chart-bars,.source-catalog-list{grid-template-columns:1fr}.ai-report-executive,.ai-report-next,.ai-decision-overview{grid-template-columns:1fr}}
@media(max-width:599px){.ai-result-dialog-head{padding:12px 14px}.ai-result-dialog-head h2{font-size:19px}.ai-result-dialog-content{padding:18px 12px 48px}.ai-report{gap:16px}.ai-report-kpis,.ai-report-sections,.ai-report-signal-grid,.ai-report-method-grid,.dossier-metric-grid{grid-template-columns:1fr}.ai-report-chart,.ai-report-chapter,.ai-report-next{padding:14px}.ai-report-chart-bars{grid-template-columns:1fr}.ai-report-provenance li,.source-catalog-item{align-items:flex-start;flex-direction:column}.dossier-metric-card{min-height:0}}
.ai-drawer .ai-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-drawer .ai-report-sections{grid-template-columns:1fr}.ai-drawer .ai-report-head{display:grid}.monitoring-sources .table-title>strong{padding:6px 10px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);font-size:11px}

/* Issuer dossier v2: compact, scannable and semantically coloured. */
.issuer-dossier-panel {
  min-width: 0;
  overflow: visible;
  padding: 22px;
  border: 1px solid var(--md-sys-color-outline-variant);
  border-radius: var(--md-sys-shape-corner-large);
  background: var(--md-sys-color-surface-container-lowest);
}
.dossier-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  overflow: visible;
}
.dossier-summary-card {
  min-width: 0;
  min-height: 126px;
  padding: 13px !important;
  overflow: visible;
  border: 1px solid var(--md-sys-color-outline-variant) !important;
  border-top: 3px solid var(--tone-border) !important;
  border-left: 1px solid var(--md-sys-color-outline-variant) !important;
  border-radius: var(--md-sys-shape-corner-medium) !important;
  background: var(--md-sys-color-surface-container-lowest) !important;
  box-shadow: none !important;
}
.dossier-summary-card > div { justify-content: flex-start; gap: 8px; min-width: 0; }
.dossier-card-label { min-width: 0; color: var(--md-sys-color-on-surface-variant); font-size: 10px; line-height: 1.25; }
.dossier-card-icon,
.dossier-flag-icon {
  display: grid;
  place-items: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border-radius: var(--md-sys-shape-corner-full);
  background: var(--tone-bg);
  color: var(--tone-color);
}
.dossier-card-icon .ui-icon { width: 16px; height: 16px; }
.dossier-summary-card > strong {
  display: block;
  margin: 10px 0 8px;
  overflow-wrap: anywhere;
  color: var(--md-sys-color-on-surface) !important;
  font-size: clamp(16px, 1.35vw, 20px);
  line-height: 1.12;
}
.dossier-summary-card .dossier-summary-help { margin-left: auto !important; }
.dossier-summary-card .tone-chip,
.dossier-value-chip {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 5px;
  max-width: 100%;
  margin-top: auto !important;
  padding: 5px 8px;
  border: 0;
  border-radius: var(--md-sys-shape-corner-full);
  background: var(--tone-bg);
  color: var(--tone-color);
  font-size: 9px;
  font-weight: 780;
  line-height: 1.2;
  white-space: normal;
}
.tone-chip .tone-icon,
.dossier-value-chip .tone-icon { flex: 0 0 14px; width: 14px; height: 14px; }
.dossier-summary-card:nth-child(4n) .context-help[data-tooltip]::after {
  left: auto;
  right: -4px;
  transform: translateY(5px);
}
.dossier-summary-card:nth-child(4n) .context-help[data-tooltip]::before { left: auto; right: 8px; }
.dossier-summary-card:nth-child(4n) .context-help[data-tooltip]:hover::after,
.dossier-summary-card:nth-child(4n) .context-help[data-tooltip]:focus-visible::after,
.dossier-summary-card:nth-child(4n) .context-help[data-tooltip].tooltip-open::after { transform: translateY(0); }
.dossier-reading-note {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 3px 10px;
  margin: 12px 0;
  padding: 11px 13px;
  border: 1px solid color-mix(in srgb, var(--md-sys-color-tertiary) 28%, transparent);
  border-left: 3px solid var(--md-sys-color-tertiary);
  border-radius: var(--md-sys-shape-corner-medium);
  background: color-mix(in srgb, var(--md-sys-color-tertiary-container) 42%, var(--md-sys-color-surface-container-lowest));
  color: var(--md-sys-color-on-surface);
}
.dossier-reading-note p { grid-column: 1 / -1; margin: 0; color: var(--md-sys-color-on-surface-variant); }
.dossier-flags { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.dossier-flag-section {
  min-width: 0;
  padding: 13px !important;
  border: 1px solid var(--md-sys-color-outline-variant) !important;
  border-top: 1px solid var(--md-sys-color-outline-variant) !important;
  border-radius: var(--md-sys-shape-corner-medium) !important;
  background: var(--md-sys-color-surface-container-lowest) !important;
}
.dossier-flag-section h6 { margin: 0 0 8px; color: var(--md-sys-color-on-surface); }
.dossier-flag-section h6 > .dossier-flag-icon { width: 30px; height: 30px; background: var(--tone-bg); color: var(--tone-color); }
.dossier-flag-icon .ui-icon { width: 16px; height: 16px; }
.dossier-flag-title { flex: 1 1 auto; min-width: 0; }
.dossier-flag-section ul { margin: 0; padding-left: 18px; }
.dossier-flag-section li,
.dossier-flag-section p { font-size: 10px; line-height: 1.45; }
.dossier-decision-guide {
  border: 1px solid var(--md-sys-color-outline-variant);
  border-left: 4px solid var(--tone-border);
  background: color-mix(in srgb, var(--tone-bg) 58%, var(--md-sys-color-surface-container-lowest));
}
.dossier-metrics { min-width: 0; overflow-x: clip; border: 1px solid var(--md-sys-color-outline-variant); border-radius: var(--md-sys-shape-corner-medium); }
.dossier-metrics table { width: 100%; min-width: 0; table-layout: fixed; }
.dossier-metrics thead th { height: 38px; padding: 7px 9px; background: var(--md-sys-color-surface-container-low); }
.dossier-metrics tbody tr { height: 54px; box-shadow: none; }
.dossier-metrics tbody tr:hover { background: color-mix(in srgb, var(--tone-bg) 44%, transparent); }
.dossier-metrics th,
.dossier-metrics td { min-width: 0; padding: 6px 9px; border-bottom: 1px solid var(--md-sys-color-outline-variant); vertical-align: middle; }
.dossier-metrics th:nth-child(1), .dossier-metrics td:nth-child(1) { width: 17%; }
.dossier-metrics th:nth-child(2), .dossier-metrics td:nth-child(2) { width: 20%; }
.dossier-metrics th:nth-child(3), .dossier-metrics td:nth-child(3) { width: 18%; }
.dossier-metrics th:nth-child(4), .dossier-metrics td:nth-child(4) { width: 12%; }
.dossier-metrics th:nth-child(5), .dossier-metrics td:nth-child(5) { width: 33%; }
.dossier-metric-row { box-shadow: inset 3px 0 var(--tone-border); }
.dossier-metric-row td:nth-child(3) { display: flex; align-items: center; gap: 7px; }
.dossier-metric-row td:nth-child(3) > strong { white-space: nowrap; }
.dossier-metric-row td:last-child strong,
.dossier-metric-row td:last-child small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dossier-score { display: grid; gap: 5px; width: 100%; }
.dossier-score-track { display: block; width: 100%; height: 6px; overflow: hidden; border-radius: var(--md-sys-shape-corner-full); background: var(--md-sys-color-surface-container-highest); }
.dossier-score-track i { display: block; width: var(--score); height: 100%; border-radius: inherit; background: var(--tone-color); }
.dossier-score-value { color: var(--tone-color); font-size: 10px; font-variant-numeric: tabular-nums; }

@media (max-width: 1050px) {
  .dossier-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dossier-summary-card:nth-child(2n) .context-help[data-tooltip]::after { left: auto; right: -4px; transform: translateY(5px); }
  .dossier-summary-card:nth-child(2n) .context-help[data-tooltip]::before { left: auto; right: 8px; }
  .dossier-summary-card:nth-child(2n) .context-help[data-tooltip]:hover::after,
  .dossier-summary-card:nth-child(2n) .context-help[data-tooltip]:focus-visible::after,
  .dossier-summary-card:nth-child(2n) .context-help[data-tooltip].tooltip-open::after { transform: translateY(0); }
  .dossier-flags { grid-template-columns: 1fr; }
  .dossier-metrics th:nth-child(1), .dossier-metrics td:nth-child(1) { display: none; }
  .dossier-metrics th:nth-child(2), .dossier-metrics td:nth-child(2) { width: 25%; }
  .dossier-metrics th:nth-child(3), .dossier-metrics td:nth-child(3) { width: 24%; }
  .dossier-metrics th:nth-child(4), .dossier-metrics td:nth-child(4) { width: 16%; }
  .dossier-metrics th:nth-child(5), .dossier-metrics td:nth-child(5) { width: 35%; }
}
@media (max-width: 699px) {
  .issuer-dossier-panel { padding: 14px; }
  .dossier-summary { grid-template-columns: 1fr; }
  .dossier-summary-card { min-height: 112px; }
  .dossier-metrics { overflow-x: auto; }
  .dossier-metrics table { min-width: 680px; }
}

/* Risk monitoring is a full workspace, not a nested drawer viewport. */
body[data-route="risk-monitoring"] .monitoring-workspace { min-width: 0; overflow: visible; }
.monitoring-page-grid { display: grid; grid-template-columns: minmax(280px, 360px) minmax(0, 1fr); gap: 16px; align-items: start; }
.monitoring-editor,
.monitoring-sources { min-width: 0; padding: 18px; border: 1px solid var(--md-sys-color-outline-variant); border-radius: var(--md-sys-shape-corner-large); background: var(--md-sys-color-surface-container-lowest); }
.monitoring-editor h3,
.monitoring-sources h3 { margin: 0 0 8px; }
.monitor-source-form { display: grid; gap: 10px; margin-top: 16px; }
.monitor-source-form label { display: grid; gap: 5px; min-width: 0; color: var(--md-sys-color-on-surface-variant); font-size: 10px; font-weight: 700; }
.monitor-source-form .check { display: flex; align-items: center; }
.monitor-source-form input,
.monitor-source-form select,
.monitor-source-form textarea { width: 100%; min-width: 0; max-width: none; }
.monitor-source-form textarea { min-height: 82px; resize: vertical; }
.monitor-source-list { display: grid; gap: 8px; min-width: 0; }
.source-health { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 3px 8px; margin: 8px 0 0; padding: 8px 10px; border-radius: var(--md-sys-shape-corner-small); background: var(--md-sys-color-surface-container-low); font-size: 9px; line-height: 1.4; }
.source-health dt { color: var(--md-sys-color-on-surface-variant); }
.source-health dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
.source-health.health-error { border-left: 3px solid var(--financial-caution); }
@media (max-width: 839px) { .monitoring-page-grid { grid-template-columns: 1fr; } }

/* Adaptive three-pane workspace: navigation, portfolio project, AI analysis. */
.sidebar-collapse,.pane-collapse{display:none}
@media (min-width:1101px){
  .sidebar,body>main,body>footer,.builder-workspace,.strategy-command{transition:width .3s cubic-bezier(.2,0,0,1),margin .3s cubic-bezier(.2,0,0,1),grid-template-columns .3s cubic-bezier(.2,0,0,1)}
  .sidebar-collapse{display:grid;place-items:center;align-self:flex-end;width:40px;min-width:40px;height:40px;min-height:40px;margin:0 2px 10px;padding:0;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface-variant);font-size:24px}
  body.sidebar-collapsed .sidebar{width:64px;padding-inline:6px;justify-content:flex-start;gap:8px}
  body.sidebar-collapsed .sidebar-collapse{align-self:center;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);outline:1px solid color-mix(in srgb,var(--md-sys-color-primary) 35%,transparent)}
  body.sidebar-collapsed .sidebar nav{width:100%;gap:7px}
  body.sidebar-collapsed .sidebar nav a[data-route]{display:grid;grid-template-columns:1fr;place-items:center;width:52px;min-height:48px;padding:0;border:1px solid transparent;background:var(--md-sys-color-surface-container);font-size:0}
  body.sidebar-collapsed .sidebar nav a[data-route]:hover{border-color:var(--md-sys-color-outline);background:var(--md-sys-color-surface-container-high)}
  body.sidebar-collapsed .sidebar nav a[data-route].active{border-color:color-mix(in srgb,var(--md-sys-color-primary) 45%,transparent);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);box-shadow:inset 4px 0 0 var(--md-sys-color-primary)}
  body.sidebar-collapsed .sidebar nav a[data-route] span{margin:0;font-size:19px}
  body.sidebar-collapsed .sidebar-foot{display:none}
  body.sidebar-collapsed>main,body.sidebar-collapsed>footer{margin-left:64px}
  body[data-route="build"].sidebar-collapsed > main{padding-left:12px}
  body[data-route="build"].sidebar-collapsed > main > *{width:100%;margin-inline:0}
  .strategy-command{position:relative}
  .pane-collapse{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:40px;margin:0 0 8px;padding:6px 10px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface-variant);font-size:11px}
  .pane-collapse .ui-icon{font-size:20px;line-height:1}.pane-collapse b{font-size:10px}
  .builder-workspace.controls-collapsed{grid-template-columns:48px minmax(0,1fr);gap:8px}
  .builder-workspace.controls-collapsed .strategy-command{align-self:start}
  .builder-workspace.controls-collapsed .pane-collapse{height:176px;margin:0;padding:8px 0;flex-direction:column;border:1px solid color-mix(in srgb,var(--md-sys-color-primary) 42%,transparent);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}
  .builder-workspace.controls-collapsed .pane-collapse .ui-icon{width:28px;height:28px;padding:4px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}
  .builder-workspace.controls-collapsed .pane-collapse b{writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.08em}
  .builder-workspace.controls-collapsed .strategy-form,.builder-workspace.controls-collapsed .strategy-progress{display:none!important}
}
@media (min-width:1450px){
  body.ai-drawer-open > main,body.ai-drawer-open > footer{margin-right:480px}
  body.ai-drawer-open .ai-drawer{width:480px;border-left:1px solid var(--md-sys-color-outline-variant);border-radius:0;box-shadow:none}
  body.ai-drawer-open .ai-drawer-backdrop{display:none!important}
  body.ai-drawer-open .ai-edge-tab{opacity:0;pointer-events:none}
}
@media (prefers-reduced-motion:reduce){.sidebar,body>main,body>footer,.builder-workspace,.strategy-command{transition:none!important}}

@media (hover: hover) {
  .overview-card:hover, .dashboard-panel:hover, .overview-category-card:hover {
    background: var(--md-sys-color-surface-container-low);
  }
  button:not(:disabled):hover { transform: translateY(-1px); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (forced-colors: active) {
  button, input, select, textarea, .card, .metric { border: 1px solid CanvasText; }
}

/* Main workspace v2: compact analytical shell and supporting-pane builder. */
@media (min-width: 840px) {
  .topbar {
    height: 64px;
    padding-inline: 20px;
    border-bottom: 1px solid var(--md-sys-color-outline-variant);
    background: var(--md-sys-color-surface-container-lowest);
  }
  .brand .mark { width: 36px; height: 36px; }
  .sidebar {
    top: 64px;
    width: 208px;
    padding: 20px 12px;
    border-right: 1px solid var(--md-sys-color-outline-variant);
    background: var(--md-sys-color-surface-container-lowest);
  }
  :root[data-theme="light"] .sidebar {
    border-right: 1px solid var(--md-sys-color-outline-variant);
    background: var(--md-sys-color-surface-container-lowest);
    box-shadow: none;
  }
  :root[data-theme="light"] .sidebar nav a[data-route] { color: var(--md-sys-color-on-surface-variant); }
  :root[data-theme="light"] .sidebar nav a[data-route]:hover { background: var(--md-sys-color-surface-container); color: var(--md-sys-color-on-surface); }
  .sidebar nav a[data-route] { min-height: 48px; }
  .sidebar nav a[data-route].active,
  :root[data-theme="light"] .sidebar nav a[data-route].active {
    background: var(--md-sys-color-primary-container);
    color: var(--md-sys-color-on-primary-container);
  }
  body > main {
    margin-left: 208px;
    min-height: calc(100dvh - 64px);
    padding: 24px clamp(24px, 3vw, 44px) 72px;
    border-radius: 0;
    background: var(--md-sys-color-surface-container-low);
  }
  body > footer { margin-left: 208px; }
}

body[data-route="build"] .category-workspace { display: none !important; }
body[data-route="build"] main { padding-top: 24px; }
body[data-route="build"] .build-asset-switcher {
  width: fit-content;
  margin: 0 0 20px;
  padding: 4px;
  gap: 2px;
  border: 0;
  border-radius: var(--md-sys-shape-corner-full);
  background: var(--md-sys-color-surface-container);
}
body[data-route="build"] .build-asset-switcher button {
  min-height: 40px;
  padding: 8px 18px;
  border: 0;
  border-radius: var(--md-sys-shape-corner-full);
  background: transparent;
  color: var(--md-sys-color-on-surface-variant);
  font-size: 13px;
}
body[data-route="build"] .build-asset-switcher button.active {
  background: var(--md-sys-color-surface-container-lowest);
  color: var(--md-sys-color-primary);
  box-shadow: 0 1px 4px color-mix(in srgb, var(--md-sys-color-on-surface) 12%, transparent);
}
:root[data-theme="light"] body[data-route="build"] .build-asset-switcher button:not(.ghost):not(.secondary) {
  border-color: transparent;
  background: transparent;
  color: var(--md-sys-color-on-surface-variant);
}
:root[data-theme="light"] body[data-route="build"] .build-asset-switcher button.active:not(.ghost):not(.secondary) {
  background: var(--md-sys-color-surface-container-lowest);
  color: var(--md-sys-color-primary);
}

.builder-workspace {
  display: grid;
  grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
  gap: 16px;
  overflow: visible;
  border: 0;
  background: transparent;
}
.builder-workspace.page-active { display: grid !important; }
.builder-workspace.builder-workspace { box-shadow: none; }
.builder-header {
  grid-column: 1 / -1;
  display: block;
  padding: 8px 4px 16px;
  border: 0;
  background: transparent;
}
#strategy > .builder-header {
  margin-bottom: 0;
  padding: 4px 4px 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.builder-header > div { width: 100%; }
.builder-header .step { margin: 0 0 6px; font-size: 10px; }
.builder-header h2 {
  margin: 0;
  font-size: clamp(32px, 3.2vw, 48px);
  line-height: 1;
  letter-spacing: -.05em;
}
.builder-header .build-flow-steps {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  counter-reset: builder-step;
  gap: 8px !important;
  margin: 18px 0 14px !important;
}
.builder-header .build-flow-steps span {
  display: flex;
  align-items: center;
  min-height: 36px;
  padding: 7px 12px;
  border: 0;
  border-radius: var(--md-sys-shape-corner-small);
  background: var(--md-sys-color-surface-container);
  color: var(--md-sys-color-on-surface-variant);
}
.builder-header .build-flow-steps span:first-child {
  background: var(--md-sys-color-secondary-container);
  color: var(--md-sys-color-on-secondary-container);
}
.builder-header .ratings-freshness {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 36px;
  padding-top: 12px;
  border-top: 1px solid var(--md-sys-color-outline-variant);
}
.builder-header .ratings-freshness .muted { font-size: 11px; }
.builder-header .ratings-freshness button { flex: 0 0 auto; min-height: 36px; padding: 7px 12px; }

[data-builder-pane="controls"] {
  display: block;
  min-width: 0;
  margin: 0;
}
[data-builder-pane="controls"] .strategy-form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin: 0;
  padding: 22px;
  border: 0;
  border-radius: var(--md-sys-shape-corner-large);
  background: var(--md-sys-color-surface-container-lowest);
  box-shadow: none;
}
[data-builder-pane="controls"] .strategy-form::before {
  content: "ПАРАМЕТРЫ СТРАТЕГИИ";
  color: var(--md-sys-color-primary);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
}
[data-builder-pane="controls"] .strategy-form > label { font-size: 12px; }
[data-builder-pane="controls"] .strategy-form input,
[data-builder-pane="controls"] .strategy-form select { height: 48px; background: var(--md-sys-color-surface-container-low); }
[data-builder-pane="controls"] .vdo-advanced {
  border-color: var(--md-sys-color-outline-variant);
  border-radius: var(--md-sys-shape-corner-medium);
}
[data-builder-pane="controls"] .vdo-advanced summary { padding: 13px 14px; font-size: 13px; }
[data-builder-pane="controls"] .vdo-advanced-grid { grid-template-columns: 1fr; }
[data-builder-pane="controls"] .strategy-form > button[type="submit"] {
  width: 100%;
  min-height: 52px;
  border-radius: var(--md-sys-shape-corner-full);
  box-shadow: none;
}
[data-builder-pane="controls"] .strategy-progress { min-height: 160px; margin-top: 16px; border: 0; box-shadow: none; }
[data-builder-pane="controls"] .strategy-progress.hidden { display: none !important; }

[data-builder-pane="output"] {
  min-width: 0;
  min-height: 430px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 0;
  border-radius: var(--md-sys-shape-corner-large);
  background: var(--md-sys-color-surface-container-lowest);
  box-shadow: none;
}
[data-builder-pane="output"]::before {
  content: "ПРОЕКТ ПОРТФЕЛЯ";
  padding: 22px 22px 4px;
  color: var(--md-sys-color-primary);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
}
[data-builder-pane="output"] > #vdo-status { min-height: 38px; padding: 10px 22px 4px !important; }
[data-builder-pane="output"] > #vdo-summary { padding: 0 22px 14px !important; }
[data-builder-pane="output"] > .table-wrap {
  flex: 1;
  margin: 0 14px;
  border: 1px solid var(--md-sys-color-outline-variant);
  border-radius: var(--md-sys-shape-corner-medium);
}
[data-builder-pane="output"] table { min-width: 980px; }
[data-builder-pane="output"] tbody tr:only-child td { height: 200px; color: var(--md-sys-color-on-surface-variant); text-align: center; }
[data-builder-pane="output"] .strategy-save {
  margin-top: 14px;
  padding: 14px 18px 18px;
  border-top: 0;
  background: var(--md-sys-color-surface-container-low);
}

@media (max-width: 1050px) {
  .builder-workspace { grid-template-columns: 1fr; }
  .builder-header, [data-builder-pane="controls"], [data-builder-pane="output"] { grid-column: 1; }
  [data-builder-pane="controls"] .strategy-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-builder-pane="controls"] .strategy-form::before,
  [data-builder-pane="controls"] .vdo-advanced,
  [data-builder-pane="controls"] .strategy-form > button { grid-column: 1 / -1; }
}

@media (max-width: 599px) {
  body[data-route="build"] main { padding-top: 16px; }
  body[data-route="build"] .build-asset-switcher {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    border-radius: var(--md-sys-shape-corner-full);
  }
  body[data-route="build"] .build-asset-switcher button { flex: 0 0 auto; }
  .builder-header { padding-inline: 0; }
  .builder-header .build-flow-steps { grid-template-columns: 1fr; }
  .builder-header .ratings-freshness { align-items: flex-start; flex-direction: column; }
  [data-builder-pane="controls"] .strategy-form { grid-template-columns: 1fr; padding: 18px; }
  [data-builder-pane="output"] { min-height: 380px; }
  .ai-edge-tab { display: none; }
}

/* Portfolio account selector: labelled, bounded and visually stable. */
.dashboard-head .actions { align-items: flex-end; }
.account-picker,
:root[data-theme="light"] .account-picker {
  width: min(360px, 100%);
  max-width: 360px;
  display: grid;
  gap: 6px;
  margin: 0;
  color: var(--md-sys-color-on-surface-variant);
}
.account-picker > span {
  padding-left: 4px;
  font-size: 11px;
  font-weight: 750;
}
.dashboard-head .actions .account-picker select,
:root[data-theme="light"] .dashboard-head .actions .account-picker select {
  width: 100%;
  min-width: 0;
  max-width: 360px;
  height: 48px;
  padding: 0 42px 0 14px;
  border: 1px solid var(--md-sys-color-outline);
  border-radius: var(--md-sys-shape-corner-medium);
  background-color: var(--md-sys-color-surface-container-lowest);
  color: var(--md-sys-color-on-surface);
  box-shadow: none;
  appearance: auto;
}
.dashboard-head .actions .account-picker select:focus-visible {
  border-color: var(--md-sys-color-primary);
  outline: 3px solid color-mix(in srgb, var(--md-sys-color-primary) 24%, transparent);
  outline-offset: 2px;
}
@media (max-width: 760px) {
  .account-picker, :root[data-theme="light"] .account-picker { width: 100%; max-width: none; }
  .dashboard-head .actions .account-picker select,
  :root[data-theme="light"] .dashboard-head .actions .account-picker select { max-width: none; }
}

/* AI profile v4: compact settings dialog with inline guidance. */
#ai-profile-dialog {
  width: min(900px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: var(--md-sys-shape-corner-extra-large);
  background: var(--md-sys-color-surface-container-low);
  color: var(--md-sys-color-on-surface);
}
#ai-profile-dialog::backdrop { background: color-mix(in srgb, var(--md-sys-color-inverse-surface) 72%, transparent); backdrop-filter: blur(5px); }
#ai-profile-dialog .manual-purchase-shell {
  width: 100%;
  max-width: none;
  max-height: calc(100dvh - 32px);
  display: block;
  overflow-y: auto;
  padding: 0;
  background: var(--md-sys-color-surface-container-low);
}
#ai-profile-dialog .metric-dialog-head {
  top: 0;
  z-index: 3;
  align-items: center;
  padding: 18px 24px 14px;
  border-bottom: 1px solid var(--md-sys-color-outline-variant);
  background: color-mix(in srgb, var(--md-sys-color-surface-container-low) 94%, transparent);
}
#ai-profile-dialog .metric-dialog-head h2 {
  margin: 2px 0 0;
  font-size: clamp(24px, 3vw, 32px);
  line-height: 1.08;
  letter-spacing: -.035em;
}
#ai-profile-dialog .metric-dialog-head .step { margin: 0; font-size: 9px; }
#ai-profile-close { width: 40px; min-width: 40px; max-width: 40px; height: 40px; min-height: 40px; flex: 0 0 40px; overflow: hidden; padding: 0; font-size: 20px; }
.ai-profile-body { display: grid; gap: 16px; padding: 18px 24px 12px; }
.ai-profile-intro {
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: var(--md-sys-shape-corner-medium);
  background: var(--md-sys-color-primary-container);
  color: var(--md-sys-color-on-primary-container);
}
.ai-profile-intro > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: var(--md-sys-shape-corner-medium);
  background: var(--md-sys-color-primary);
  color: var(--md-sys-color-on-primary);
  font-size: 11px;
  font-weight: 850;
}
.ai-profile-intro strong { display: block; font-size: 13px; }
.ai-profile-intro p { margin: 2px 0 0; font-size: 11px; line-height: 1.45; }
.ai-profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
#ai-profile-dialog .ai-field {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 5px;
  margin: 0;
  color: var(--md-sys-color-on-surface);
  font-weight: 700;
}
#ai-profile-dialog [hidden] { display: none !important; }
.ai-field-wide { grid-column: 1 / -1; }
#ai-profile-dialog .ai-field input,
#ai-profile-dialog .ai-field select {
  width: 100%;
  max-width: none;
  min-height: 46px;
  margin: 0;
  padding: 10px 13px;
  border-color: var(--md-sys-color-outline);
  background: var(--md-sys-color-surface-container-lowest);
}
.ai-field-help {
  display: block;
  color: var(--md-sys-color-on-surface-variant);
  font-size: 10px;
  font-weight: 450;
  line-height: 1.4;
}
.ai-key-status {
  display: block;
  min-height: 15px;
  color: var(--md-sys-color-primary);
  font-size: 10px;
  font-weight: 700;
}
.ai-profile-automation {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 170px minmax(0, 1fr);
  gap: 10px;
  padding: 14px;
  border-radius: var(--md-sys-shape-corner-large);
  background: var(--md-sys-color-surface-container);
}
.ai-profile-section-head {
  grid-column: 1 / -1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.ai-profile-section-head h3 { margin: 0; font-size: 15px; }
.ai-profile-section-head p { margin: 2px 0 0; color: var(--md-sys-color-on-surface-variant); font-size: 10px; }
.ai-profile-section-head > span {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: var(--md-sys-shape-corner-full);
  background: var(--md-sys-color-secondary-container);
  color: var(--md-sys-color-on-secondary-container);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .08em;
}
#ai-profile-dialog label.ai-setting-toggle {
  min-height: 74px;
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 0;
  padding: 11px;
  border-radius: var(--md-sys-shape-corner-medium);
  background: var(--md-sys-color-surface-container-lowest);
  color: var(--md-sys-color-on-surface);
}
.ai-setting-toggle input:not([role="switch"]) { flex: 0 0 18px; width: 18px !important; height: 18px; min-height: 18px !important; margin: 2px 0 0 !important; }
.ai-setting-toggle span, .ai-setting-toggle strong, .ai-setting-toggle small { display: block; }
.ai-setting-toggle strong { font-size: 11px; }
.ai-setting-toggle small { margin-top: 3px; color: var(--md-sys-color-on-surface-variant); font-size: 9px; font-weight: 450; line-height: 1.35; }
.ai-hour-field { padding: 0 4px; }
.ai-hour-field input { height: 42px; min-height: 42px !important; }
.ai-profile-safety {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 0;
  padding: 11px 13px;
  border: 1px solid color-mix(in srgb, var(--md-sys-color-primary) 32%, var(--md-sys-color-outline-variant));
  border-radius: var(--md-sys-shape-corner-medium);
  color: var(--md-sys-color-on-surface-variant);
  font-size: 10px;
  line-height: 1.45;
}
.ai-profile-safety > span:first-child { color: var(--md-sys-color-primary); font-weight: 900; }
.ai-profile-safety strong { color: var(--md-sys-color-on-surface); }
#ai-profile-status { min-height: 22px; margin: 0; padding: 4px 24px 8px; }
#ai-profile-dialog .ai-profile-actions {
  position: sticky;
  bottom: 0;
  z-index: 3;
  justify-content: flex-end;
  gap: 8px;
  margin: 0;
  padding: 12px 24px 16px;
  border-top: 1px solid var(--md-sys-color-outline-variant);
  background: color-mix(in srgb, var(--md-sys-color-surface-container-low) 96%, transparent);
  backdrop-filter: blur(12px);
}
#ai-profile-dialog .ai-profile-actions button { min-width: 190px; }

@media (max-width: 700px) {
  #ai-profile-dialog { width: 100vw; max-height: 100dvh; border-radius: 0; }
  #ai-profile-dialog .manual-purchase-shell { max-height: 100dvh; }
  #ai-profile-dialog .metric-dialog-head { padding: 14px 16px 12px; }
  .ai-profile-body { padding: 14px 16px 10px; }
  .ai-profile-grid { grid-template-columns: 1fr; }
  .ai-field-wide, .ai-profile-automation { grid-column: 1; }
  .ai-profile-automation { grid-template-columns: 1fr; }
  .ai-profile-section-head, .ai-profile-automation > * { grid-column: 1; }
  #ai-profile-status { padding-inline: 16px; }
  #ai-profile-dialog .ai-profile-actions { padding: 10px 16px 14px; }
  #ai-profile-dialog .ai-profile-actions button { flex: 1 1 180px; min-width: 0; }
}

/* AI workspace v5: dense supporting panel with details on demand. */
.ai-drawer {
  width: min(480px, 100vw);
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.ai-drawer > header {
  flex: 0 0 auto;
  align-items: center;
  padding: 18px 18px 10px;
  background: var(--md-sys-color-surface-container-low);
}
.ai-drawer > header .step { margin: 0 0 2px; font-size: 9px; }
.ai-drawer > header h2 { margin: 0; font-size: 25px; line-height: 1.08; letter-spacing: -.035em; }
.ai-drawer > header .ghost { width: 40px; min-width: 40px; max-width: 40px; min-height: 40px; flex: 0 0 40px; overflow: hidden; padding: 0; border-radius: var(--md-sys-shape-corner-full); font-size: 22px; }
.right-workspace-tabs {
  flex: 0 0 auto;
  gap: 4px;
  margin: 0 18px 10px;
  padding: 4px;
  border: 0;
  border-radius: var(--md-sys-shape-corner-full);
  background: var(--md-sys-color-surface-container);
}
.right-workspace-tabs button { min-width: 0; min-height: 38px; padding: 7px 10px; border: 0; border-radius: var(--md-sys-shape-corner-full); font-size: 12px; }
#right-panel-ai,
.monitoring-workspace {
  min-width: 0;
  flex: 1 1 auto;
  padding: 0 18px 24px;
  overflow-x: hidden;
  overflow-y: auto;
}
#right-panel-ai { display: flex; flex-direction: column; gap: 10px; }
#right-panel-ai > * { min-width: 0; margin-block: 0; }
#right-panel-ai > .ai-runtime-card { order: 1; }
#right-panel-ai > .ai-chat-workspace { order: 2; }
#right-panel-ai > .ai-config-details { order: 3; }
#right-panel-ai > section:not(.ai-chat-workspace):not(.guardian-workspace):not(.ai-workspace) { order: 4; }
#right-panel-ai > .guardian-workspace { order: 5; }
#right-panel-ai > .ai-workspace { order: 6; }
#right-panel-ai > .ai-drawer-note { order: 7; }
.ai-drawer section,
.ai-runtime-card,
.ai-config-details { padding: 13px 14px; border: 0; border-radius: var(--md-sys-shape-corner-large); background: var(--md-sys-color-surface-container-lowest); }
.ai-drawer h3 { margin: 0 0 8px; font-size: 14px; }
.ai-runtime-card { color: var(--tone-color, var(--md-sys-color-on-surface)); }
.ai-runtime-details summary,
.ai-config-details > summary { display: grid; align-items: center; grid-template-columns: auto auto 1fr auto; gap: 8px; cursor: pointer; list-style: none; }
.ai-runtime-details summary::-webkit-details-marker,
.ai-config-details > summary::-webkit-details-marker { display: none; }
.ai-runtime-details summary::after,
.ai-config-details > summary::after { content: "⌄"; color: var(--md-sys-color-on-surface-variant); font-size: 18px; }
.ai-runtime-details[open] summary::after,
.ai-config-details[open] > summary::after { transform: rotate(180deg); }
.ai-runtime-details summary small,
.ai-config-details > summary small { color: var(--md-sys-color-on-surface-variant); font-size: 10px; }
.ai-runtime-details p { margin: 10px 0 0; color: var(--md-sys-color-on-surface-variant); font-size: 11px; line-height: 1.45; }
.ai-status-mark { width: 9px; height: 9px; border-radius: 50%; background: var(--tone-color, var(--md-sys-color-primary)); box-shadow: 0 0 0 4px var(--tone-bg, var(--md-sys-color-primary-container)); }
.ai-config-details > summary { grid-template-columns: 1fr auto auto; font-size: 13px; font-weight: 750; }
.ai-config-list {
  grid-template-columns: minmax(110px, .8fr) minmax(0, 1.2fr);
  gap: 5px 10px;
  margin-top: 12px;
  padding: 12px 0 0;
  border-top: 1px solid var(--md-sys-color-outline-variant);
  border-radius: 0;
  background: transparent;
}
.ai-config-list dt,
.ai-config-list dd { min-width: 0; font-size: 10px; line-height: 1.35; overflow-wrap: anywhere; }
.ai-chat-workspace .ai-section-head { align-items: center; }
.ai-chat-intro { margin: 0 0 8px; font-size: 11px; line-height: 1.4; }
.ai-provider-badge { padding: 5px 9px; font-size: 10px; }
.ai-chat-log { min-height: 76px; max-height: 220px; padding: 10px; border-radius: var(--md-sys-shape-corner-medium); background: var(--md-sys-color-surface-container-low); }
.ai-chat-log > .muted { margin: 0; font-size: 11px; line-height: 1.45; }
.ai-chat-form { grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px; }
.ai-chat-form label { grid-column: 1 / -1; margin: 0; font-size: 10px; }
.ai-chat-form textarea { min-width: 0; min-height: 58px; height: 58px; resize: vertical; }
.ai-chat-form button { min-height: 48px; padding-inline: 16px; }
.ai-chat-workspace > .ai-drawer-note { margin-top: 8px; font-size: 9px; }
.ai-section-head #ai-drawer-refresh { min-height: 34px; padding: 5px 10px; font-size: 10px; }
.ai-queue-summary { gap: 5px; }
.ai-queue-summary article { padding: 6px; }

@media (max-width: 599px) {
  .ai-drawer > header { padding: 14px 14px 8px; }
  .ai-drawer > header h2 { font-size: 22px; }
  .right-workspace-tabs { margin-inline: 14px; }
  #right-panel-ai, .monitoring-workspace { padding-inline: 14px; }
  .ai-runtime-details summary small { display: none; }
  .ai-chat-form { grid-template-columns: 1fr; }
  .ai-chat-form label { grid-column: auto; }
  .ai-chat-form button { min-height: 42px; }
}

/* Keep disclosure indicators vector-like even after component-specific rules. */
.row-disclosure::after,.ai-runtime-details summary::after,.ai-config-details>summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;font-size:0}
.row-disclosure::after{right:13px;transform:translateY(-70%) rotate(45deg)}
.row-disclosure[aria-expanded="true"]::after{transform:translateY(-30%) rotate(225deg)}
.ai-runtime-details[open] summary::after,.ai-config-details[open]>summary::after{transform:rotate(225deg)}

/* Shared native switches: preserve checked, labels, keyboard and FormData. */
:root input[type="checkbox"][role="switch"] {
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  flex: 0 0 44px;
  width: 44px;
  min-width: 44px;
  height: 26px;
  min-height: 26px;
  padding: 0;
  margin: 0;
  border: 2px solid var(--md-sys-color-outline, #707973);
  border-radius: 999px;
  background: var(--md-sys-color-surface-container-high, #e5e9e5);
  vertical-align: middle;
  cursor: pointer;
  transition: background-color 160ms, border-color 160ms;
}
:root input[type="checkbox"][role="switch"]::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--md-sys-color-outline, #707973);
  transition: transform 160ms, background-color 160ms;
}
:root input[type="checkbox"][role="switch"]:checked {
  border-color: var(--md-sys-color-primary, #076b46);
  background: var(--md-sys-color-primary, #076b46);
}
:root input[type="checkbox"][role="switch"]:checked::before {
  transform: translateX(18px);
  background: var(--md-sys-color-on-primary, #fff);
}
:root input[type="checkbox"][role="switch"]:focus-visible {
  outline: 3px solid var(--md-sys-color-primary, #076b46);
  outline-offset: 4px;
}
:root input[type="checkbox"][role="switch"]:disabled { opacity: .45; cursor: not-allowed; }
label:has(> input[role="switch"]) { display: flex; min-height: 44px; align-items: center; gap: 12px; color: var(--md-sys-color-on-surface, #181d1a); }
@media (prefers-reduced-motion: reduce) {
  :root input[type="checkbox"][role="switch"],
  :root input[type="checkbox"][role="switch"]::before { transition: none; }
}
@media (forced-colors: active) {
  :root input[type="checkbox"][role="switch"] { forced-color-adjust: none; background: Canvas; border-color: ButtonText; }
  :root input[type="checkbox"][role="switch"]::before { background: ButtonText; }
  :root input[type="checkbox"][role="switch"]:checked { background: Highlight; border-color: Highlight; }
  :root input[type="checkbox"][role="switch"]:checked::before { background: HighlightText; }
}
