/* 全菜单生产级工作区 V3：视觉基线取自溯源管理 V2，作用域严格限制在 .menu-v3-*。 */
.menu-v3-root {
  --menu-brand: #176b4d;
  --menu-brand-strong: #0c5139;
  --menu-brand-soft: #eaf6f0;
  --menu-ink: #17231e;
  --menu-muted: #65726c;
  --menu-line: #dfe7e2;
  --menu-panel: #fff;
  --menu-canvas: #f4f7f5;
  --menu-warning: #9a6414;
  --menu-danger: #a43d3d;
  color: var(--menu-ink);
  display: grid;
  font-size: 12px;
  gap: 14px;
  margin: 0 auto;
  max-width: 1560px;
  padding: 4px 2px 28px;
  width: 100%;
}

.menu-v3-root *,
.menu-v3-dialog * { box-sizing: border-box; }
.menu-v3-root button,
.menu-v3-root input,
.menu-v3-root select,
.menu-v3-root textarea,
.menu-v3-dialog button,
.menu-v3-dialog input,
.menu-v3-dialog select,
.menu-v3-dialog textarea { font: inherit; }
.menu-v3-root button,
.menu-v3-dialog button { cursor: pointer; }
.menu-v3-root button:focus-visible,
.menu-v3-root a:focus-visible,
.menu-v3-root input:focus-visible,
.menu-v3-root select:focus-visible,
.menu-v3-root textarea:focus-visible,
.menu-v3-dialog button:focus-visible,
.menu-v3-dialog input:focus-visible,
.menu-v3-dialog select:focus-visible,
.menu-v3-dialog textarea:focus-visible {
  outline: 3px solid rgba(23, 107, 77, .28);
  outline-offset: 2px;
}

.menu-v3-nav {
  background: #0a3327;
  border-radius: 14px;
  display: grid;
  gap: 3px;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  overflow: hidden;
  padding: 5px;
}
.menu-v3-nav a {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 10px;
  color: #dcebe4;
  display: flex;
  gap: 9px;
  min-width: 0;
  padding: 9px 10px;
  text-decoration: none;
}
.menu-v3-nav a:hover { background: rgba(255, 255, 255, .08); }
.menu-v3-nav a.is-active { background: #fff; color: var(--menu-brand-strong); }
.menu-v3-nav a > i { color: #94b8a9; font-size: 9px; font-style: normal; }
.menu-v3-nav a span { display: grid; gap: 2px; min-width: 0; }
.menu-v3-nav a strong { font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.menu-v3-nav a small { color: inherit; font-size: 9px; opacity: .72; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.menu-v3-statebar {
  align-items: center;
  background: #fff;
  border: 1px solid var(--menu-line);
  border-radius: 12px;
  display: flex;
  gap: 8px;
  padding: 7px 9px;
}
.menu-v3-statebar > span { color: var(--menu-muted); font-size: 9px; font-weight: 700; white-space: nowrap; }
.menu-v3-statebar > div { display: flex; flex: 1; flex-wrap: wrap; gap: 4px; }
.menu-v3-statebar button {
  background: #f3f6f4;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--menu-muted);
  font-size: 9px;
  min-height: 27px;
  padding: 4px 8px;
}
.menu-v3-statebar button[aria-pressed="true"] { background: var(--menu-brand); color: #fff; }
.menu-v3-statebar code { color: var(--menu-muted); font-size: 8px; overflow-wrap: anywhere; text-align: right; }

.menu-v3-hero {
  background: linear-gradient(135deg, #f8fcfa 0%, #eef7f2 62%, #e1f0e8 100%);
  border: 1px solid #d6e7de;
  border-radius: 18px;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 33%);
  overflow: hidden;
  padding: 25px 28px;
  position: relative;
}
.menu-v3-hero::after {
  background: radial-gradient(circle, rgba(33, 124, 87, .16), transparent 68%);
  content: "";
  height: 240px;
  position: absolute;
  right: -65px;
  top: -100px;
  width: 240px;
}
.menu-v3-kicker { color: var(--menu-brand); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.menu-v3-hero h2 { font-size: clamp(24px, 3vw, 38px); letter-spacing: -.04em; line-height: 1.12; margin: 8px 0 10px; }
.menu-v3-hero p { color: #42524b; font-size: 12px; line-height: 1.75; margin: 0; max-width: 820px; }
.menu-v3-hero > div > div,
.menu-v3-dialog__badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 15px; }
.menu-v3-hero aside {
  align-self: stretch;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(23, 107, 77, .13);
  border-radius: 14px;
  display: grid;
  gap: 7px;
  padding: 17px;
  position: relative;
  z-index: 1;
}
.menu-v3-hero aside small { color: var(--menu-brand); font-size: 9px; font-weight: 800; }
.menu-v3-hero aside strong { font-size: 14px; line-height: 1.5; }
.menu-v3-hero aside p { font-size: 10px; }
.menu-v3-hero aside span { align-self: end; color: var(--menu-muted); font-size: 8px; }

.menu-v3-badge {
  align-items: center;
  background: #f0f3f1;
  border: 1px solid #dfe5e1;
  border-radius: 999px;
  color: #56635d;
  display: inline-flex;
  font-size: 9px;
  font-weight: 700;
  min-height: 23px;
  padding: 3px 8px;
}
.menu-v3-badge--info { background: #e8f2fb; border-color: #c8ddee; color: #255f8d; }
.menu-v3-badge--success { background: #e8f6ee; border-color: #c7e5d4; color: #1e7048; }
.menu-v3-badge--warning { background: #fff5e5; border-color: #edd8b0; color: #8b5b13; }
.menu-v3-badge--danger { background: #fff0f0; border-color: #ebc5c5; color: #9b3737; }
.menu-v3-icon { display: inline-flex; flex: 0 0 auto; justify-content: center; }

.menu-v3-actionbar {
  align-items: center;
  background: #fff;
  border: 1px solid var(--menu-line);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(22, 48, 36, .05);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  padding: 13px 15px;
}
.menu-v3-actionbar > div:first-child { display: grid; gap: 3px; }
.menu-v3-actionbar > div:first-child strong { font-size: 11px; }
.menu-v3-actionbar > div:first-child small { color: var(--menu-muted); font-size: 9px; }
.menu-v3-actionbar > div:last-child { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.menu-v3-btn,
.menu-v3-dialog .menu-v3-btn {
  align-items: center;
  background: #fff;
  border: 1px solid #cfdad4;
  border-radius: 9px;
  color: #34443d;
  display: inline-flex;
  font-size: 10px;
  font-weight: 700;
  gap: 6px;
  justify-content: center;
  min-height: 34px;
  padding: 7px 11px;
}
.menu-v3-btn:hover { border-color: var(--menu-brand); color: var(--menu-brand); }
.menu-v3-btn.is-primary { background: var(--menu-brand); border-color: var(--menu-brand); color: #fff; }
.menu-v3-btn.is-primary:hover { background: var(--menu-brand-strong); color: #fff; }
.menu-v3-btn:disabled { cursor: not-allowed; opacity: .52; }

.menu-v3-contract,
.menu-v3-panel {
  background: var(--menu-panel);
  border: 1px solid var(--menu-line);
  border-radius: 15px;
  overflow: hidden;
}
.menu-v3-contract > header,
.menu-v3-panel > header {
  align-items: center;
  border-bottom: 1px solid var(--menu-line);
  display: flex;
  gap: 15px;
  justify-content: space-between;
  padding: 14px 16px;
}
.menu-v3-contract header > div,
.menu-v3-panel header > div { display: grid; gap: 3px; }
.menu-v3-contract header span,
.menu-v3-panel header span { color: var(--menu-brand); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.menu-v3-contract h3,
.menu-v3-panel h3 { font-size: 14px; margin: 0; }
.menu-v3-panel header p { color: var(--menu-muted); font-size: 9px; margin: 0; }
.menu-v3-contract > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.menu-v3-contract article { display: grid; gap: 6px; min-width: 0; padding: 15px 16px; }
.menu-v3-contract article + article { border-left: 1px solid var(--menu-line); }
.menu-v3-contract article small { color: var(--menu-muted); font-size: 8px; }
.menu-v3-contract article strong { font-size: 10px; line-height: 1.55; }

.menu-v3-content { display: grid; gap: 14px; }
.menu-v3-filters {
  align-items: end;
  background: #fff;
  border: 1px solid var(--menu-line);
  border-radius: 14px;
  display: grid;
  gap: 9px;
  grid-template-columns: repeat(5, minmax(110px, 1fr)) auto auto;
  padding: 12px;
}
.menu-v3-filters label,
.menu-v3-dialog__fields label { display: grid; gap: 5px; }
.menu-v3-filters label span,
.menu-v3-dialog__fields label > span { color: #53625b; font-size: 9px; font-weight: 700; }
.menu-v3-filters input,
.menu-v3-filters select,
.menu-v3-dialog__fields input,
.menu-v3-dialog__fields select,
.menu-v3-dialog__fields textarea,
.menu-v3-guided input {
  background: #fff;
  border: 1px solid #cfd9d3;
  border-radius: 8px;
  color: var(--menu-ink);
  min-height: 35px;
  padding: 7px 9px;
  width: 100%;
}

.menu-v3-table-panel .menu-v3-table-scroll { overflow-x: auto; }
.menu-v3-table-panel table { border-collapse: collapse; min-width: 930px; width: 100%; }
.menu-v3-table-panel th,
.menu-v3-table-panel td { border-bottom: 1px solid #e8eeea; font-size: 9px; line-height: 1.5; padding: 10px 12px; text-align: left; vertical-align: top; }
.menu-v3-table-panel th { background: #f5f8f6; color: #53625b; font-size: 8px; letter-spacing: .03em; }
.menu-v3-table-panel tr:hover td { background: #fbfdfc; }
.menu-v3-text-link,
.menu-v3-row-action,
.menu-v3-table-panel footer button,
.menu-v3-full-flow button,
.menu-v3-priorities button,
.menu-v3-detail aside button,
.menu-v3-engineering aside button {
  background: transparent;
  border: 0;
  color: var(--menu-brand);
  font-size: 9px;
  font-weight: 750;
  padding: 0;
  text-align: left;
}
.menu-v3-table-panel footer { align-items: center; color: var(--menu-muted); display: flex; font-size: 9px; justify-content: space-between; padding: 10px 13px; }
.menu-v3-table-panel footer div { display: flex; gap: 12px; }

.menu-v3-metrics { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.menu-v3-metrics article { background: #fff; border: 1px solid var(--menu-line); border-radius: 14px; display: grid; gap: 6px; padding: 15px; }
.menu-v3-metrics span { color: var(--menu-muted); font-size: 9px; }
.menu-v3-metrics strong { font-size: 20px; letter-spacing: -.03em; }
.menu-v3-metrics small { color: var(--menu-muted); font-size: 8px; }
.menu-v3-metrics button { align-self: end; background: transparent; border: 0; color: var(--menu-brand); font-size: 9px; justify-self: start; padding: 0; }
.menu-v3-command-grid { display: grid; gap: 12px; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .7fr); }
.menu-v3-chart { align-items: end; background: linear-gradient(#f8fbf9 1px, transparent 1px); background-size: 100% 25%; display: flex; gap: 6%; height: 220px; padding: 24px 28px 0; }
.menu-v3-chart i { background: linear-gradient(180deg, #2b8a63, #a7d3be); border-radius: 8px 8px 2px 2px; flex: 1; height: var(--bar); }
.menu-v3-command-grid article > footer { display: flex; font-size: 9px; justify-content: space-between; padding: 10px 16px; }
.menu-v3-priorities > button { align-items: center; border-bottom: 1px solid var(--menu-line); color: var(--menu-ink); display: flex; gap: 9px; padding: 12px 14px; width: 100%; }
.menu-v3-priorities > button b { color: var(--menu-brand); font-size: 9px; }
.menu-v3-priorities > button span { display: grid; flex: 1; gap: 3px; }
.menu-v3-priorities > button small { color: var(--menu-muted); font-size: 8px; font-weight: 400; }

.menu-v3-guided > ol { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); list-style: none; margin: 0; padding: 12px; }
.menu-v3-guided > ol button { align-items: center; background: transparent; border: 0; color: var(--menu-muted); display: flex; gap: 6px; padding: 6px; width: 100%; }
.menu-v3-guided > ol button[aria-current="step"] { color: var(--menu-brand); font-weight: 800; }
.menu-v3-guided > ol i { align-items: center; background: #eef3f0; border-radius: 50%; display: inline-flex; font-size: 8px; font-style: normal; height: 25px; justify-content: center; width: 25px; }
.menu-v3-form-layout { border-top: 1px solid var(--menu-line); display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(250px, .65fr); }
.menu-v3-form-layout form { display: grid; gap: 11px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 16px; }
.menu-v3-form-layout form label { display: grid; gap: 5px; }
.menu-v3-form-layout form label span { font-size: 9px; font-weight: 700; }
.menu-v3-form-layout form label small { color: var(--menu-muted); font-size: 8px; }
.menu-v3-current-step { grid-column: 1 / -1; }
.menu-v3-current-step small { color: var(--menu-muted); display: block; font-size: 8px; }
.menu-v3-current-step strong { font-size: 15px; }
.menu-v3-form-layout aside { background: #f5f8f6; border-left: 1px solid var(--menu-line); padding: 16px; }
.menu-v3-form-layout aside > span,
.menu-v3-detail aside > span,
.menu-v3-document aside > span,
.menu-v3-engineering aside > span { color: var(--menu-brand); font-size: 8px; font-weight: 800; }
.menu-v3-form-layout aside p,
.menu-v3-detail aside p,
.menu-v3-engineering aside p { align-items: flex-start; display: flex; font-size: 9px; gap: 7px; line-height: 1.55; }

.menu-v3-workflow { display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr) minmax(260px, .34fr); }
.menu-v3-workflow > ol { display: grid; gap: 8px; list-style: none; margin: 0; padding: 0; }
.menu-v3-workflow > ol > li { background: #fff; border: 1px solid var(--menu-line); border-radius: 13px; display: grid; gap: 12px; grid-template-columns: 36px minmax(0, 1fr); padding: 13px; }
.menu-v3-workflow > ol > li > i { align-items: center; background: var(--menu-brand-soft); border-radius: 9px; color: var(--menu-brand); display: flex; font-style: normal; justify-content: center; }
.menu-v3-workflow li small { color: var(--menu-brand); font-size: 8px; }
.menu-v3-workflow li strong { display: block; font-size: 12px; margin: 2px 0; }
.menu-v3-workflow li p { color: var(--menu-muted); font-size: 9px; margin: 0; }
.menu-v3-workflow dl { display: grid; gap: 6px; grid-template-columns: 1fr 1fr; margin: 9px 0 0; }
.menu-v3-workflow dl div { background: #f6f8f7; border-radius: 8px; padding: 8px; }
.menu-v3-workflow dt { color: var(--menu-muted); font-size: 8px; }
.menu-v3-workflow dd { font-size: 9px; margin: 3px 0 0; }
.menu-v3-workflow > aside { align-self: start; padding: 16px; position: sticky; top: 10px; }

.menu-v3-detail { display: grid; gap: 12px; grid-template-columns: 190px minmax(0, 1fr) minmax(230px, .35fr); }
.menu-v3-detail > nav,
.menu-v3-document > aside { background: #0c3428; border-radius: 14px; display: grid; gap: 3px; padding: 7px; align-content: start; }
.menu-v3-detail > nav button,
.menu-v3-document > aside button { background: transparent; border: 0; border-radius: 8px; color: #dceae3; font-size: 9px; padding: 9px; text-align: left; }
.menu-v3-detail > nav button[aria-selected="true"],
.menu-v3-document > aside button[aria-selected="true"] { background: #fff; color: var(--menu-brand); font-weight: 800; }
.menu-v3-detail article dl,
.menu-v3-engineering article dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.menu-v3-detail article dl div,
.menu-v3-engineering article dl div { border-bottom: 1px solid var(--menu-line); display: grid; gap: 4px; padding: 12px 14px; }
.menu-v3-detail dt,
.menu-v3-engineering dt { color: var(--menu-muted); font-size: 8px; }
.menu-v3-detail dd,
.menu-v3-engineering dd { font-size: 10px; margin: 0; }
.menu-v3-detail dd small { color: var(--menu-muted); display: block; font-size: 8px; margin-top: 3px; }
.menu-v3-detail > aside { padding: 15px; }
.menu-v3-detail > aside button,
.menu-v3-engineering aside button { display: flex; justify-content: space-between; padding: 8px 0; width: 100%; }

.menu-v3-document { display: grid; gap: 12px; grid-template-columns: 210px minmax(0, 1fr); }
.menu-v3-document > aside > span { color: #bcd5c9; padding: 8px; }
.menu-v3-document > article { padding-bottom: 16px; }
.menu-v3-document > article > h4 { font-size: 22px; margin: 24px auto 9px; max-width: 760px; }
.menu-v3-document > article > p,
.menu-v3-document > article > section,
.menu-v3-document > article > footer { line-height: 1.8; margin: 0 auto; max-width: 760px; }
.menu-v3-document > article > p { color: var(--menu-muted); }
.menu-v3-document > article > section { border-top: 1px solid var(--menu-line); margin-top: 18px; padding-top: 15px; }
.menu-v3-document > article > footer { display: flex; gap: 7px; margin-top: 20px; }

.menu-v3-engineering { display: grid; gap: 10px; }
.menu-v3-engineering > header { background: #112820; border-radius: 11px; color: #d9e9e1; display: flex; flex-wrap: wrap; gap: 18px; padding: 10px 13px; }
.menu-v3-engineering > header span { font-size: 9px; }
.menu-v3-engineering > div { display: grid; gap: 12px; grid-template-columns: minmax(0, 1.3fr) minmax(270px, .55fr); }
.menu-v3-engineering aside { padding: 15px; }

.menu-v3-full-flow > ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.menu-v3-full-flow li { align-items: start; border-bottom: 1px solid var(--menu-line); border-right: 1px solid var(--menu-line); display: grid; gap: 9px; grid-template-columns: 28px minmax(0, 1fr); padding: 13px; }
.menu-v3-full-flow li b { color: var(--menu-brand); font-size: 9px; }
.menu-v3-full-flow li div { display: grid; gap: 3px; }
.menu-v3-full-flow li strong { font-size: 10px; }
.menu-v3-full-flow li p,
.menu-v3-full-flow li small { color: var(--menu-muted); font-size: 8px; line-height: 1.5; margin: 0; }
.menu-v3-full-flow li button { grid-column: 2; justify-self: start; }

.menu-v3-permissions { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.menu-v3-permissions article { align-items: flex-start; background: #f7faf8; border: 1px solid var(--menu-line); border-radius: 13px; display: flex; gap: 10px; padding: 14px; }
.menu-v3-permissions article > span { align-items: center; background: var(--menu-brand-soft); border-radius: 9px; color: var(--menu-brand); display: flex; height: 32px; justify-content: center; width: 32px; }
.menu-v3-permissions article div { display: grid; gap: 4px; min-width: 0; }
.menu-v3-permissions small { color: var(--menu-brand); font-size: 8px; }
.menu-v3-permissions strong { font-size: 9px; line-height: 1.45; }
.menu-v3-permissions p { color: var(--menu-muted); font-size: 8px; line-height: 1.5; margin: 0; }

.menu-v3-boundaries > section { align-items: flex-start; background: #fff; border: 1px solid var(--menu-line); border-radius: 15px; display: none; gap: 13px; padding: 24px; }
.menu-v3-boundaries > section > .menu-v3-icon { align-items: center; background: var(--menu-brand-soft); border-radius: 12px; color: var(--menu-brand); height: 42px; width: 42px; }
.menu-v3-boundaries strong { font-size: 14px; }
.menu-v3-boundaries p { color: var(--menu-muted); line-height: 1.65; margin: 6px 0 10px; }
.menu-v3-boundaries button { background: transparent; border: 0; color: var(--menu-brand); font-weight: 800; padding: 0; }
.menu-v3-root:not([data-menu-v3-state="normal"]) .menu-v3-actionbar,
.menu-v3-root:not([data-menu-v3-state="normal"]) .menu-v3-contract,
.menu-v3-root:not([data-menu-v3-state="normal"]) .menu-v3-content { display: none; }
.menu-v3-root[data-menu-v3-state="loading"] [data-menu-v3-boundary="loading"],
.menu-v3-root[data-menu-v3-state="empty"] [data-menu-v3-boundary="empty"],
.menu-v3-root[data-menu-v3-state="partial"] [data-menu-v3-boundary="partial"],
.menu-v3-root[data-menu-v3-state="error"] [data-menu-v3-boundary="error"],
.menu-v3-root[data-menu-v3-state="expired"] [data-menu-v3-boundary="expired"],
.menu-v3-root[data-menu-v3-state="forbidden"] [data-menu-v3-boundary="forbidden"],
.menu-v3-root[data-menu-v3-state="conflict"] [data-menu-v3-boundary="conflict"],
.menu-v3-root[data-menu-v3-state="offline"] [data-menu-v3-boundary="offline"],
.menu-v3-root[data-menu-v3-state="success"] [data-menu-v3-boundary="success"] { display: flex; }

.menu-v3-footer { align-items: center; background: #0c3428; border-radius: 13px; color: #dcece4; display: flex; gap: 18px; justify-content: space-between; padding: 13px 15px; }
.menu-v3-footer > div { align-items: center; display: flex; gap: 9px; }
.menu-v3-footer > div span { display: grid; gap: 2px; }
.menu-v3-footer small { color: #9fc1b1; font-size: 8px; }
.menu-v3-footer p { color: #bcd2c7; font-size: 8px; margin: 0; max-width: 680px; text-align: right; }

.menu-v3-dialog-backdrop {
  align-items: center;
  background: rgba(7, 25, 18, .7);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 22px;
  position: fixed;
  z-index: 10050;
}
.menu-v3-dialog {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 26px 80px rgba(0, 0, 0, .3);
  max-height: calc(100vh - 40px);
  max-width: 960px;
  overflow: auto;
  padding: 22px;
  position: relative;
  width: 100%;
}
.menu-v3-dialog > h2 { font-size: 24px; margin: 7px 0 0; }
.menu-v3-dialog__close { background: #f2f5f3; border: 0; border-radius: 50%; font-size: 18px; height: 34px; position: absolute; right: 16px; top: 16px; width: 34px; }
.menu-v3-dialog__context { display: grid; gap: 8px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 14px; }
.menu-v3-dialog__context article { background: #f5f8f6; border-radius: 10px; display: grid; gap: 4px; padding: 11px; }
.menu-v3-dialog__context small,
.menu-v3-dialog__fields header span,
.menu-v3-dialog__layout aside section > span { color: var(--menu-brand); font-size: 8px; font-weight: 800; }
.menu-v3-dialog__context strong { font-size: 10px; line-height: 1.45; }
.menu-v3-dialog__context p { color: var(--menu-muted); font-size: 8px; margin: 0; }
.menu-v3-dialog__layout { border: 1px solid var(--menu-line); border-radius: 13px; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); margin-top: 13px; overflow: hidden; }
.menu-v3-dialog__fields { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 14px; }
.menu-v3-dialog__fields header { display: grid; gap: 4px; grid-column: 1 / -1; }
.menu-v3-dialog__fields header strong { font-size: 11px; }
.menu-v3-dialog__fields label small { color: var(--menu-muted); font-size: 8px; }
.menu-v3-dialog__fields textarea { min-height: 74px; resize: vertical; }
.menu-v3-dialog__layout > aside { background: #f5f8f6; border-left: 1px solid var(--menu-line); display: grid; }
.menu-v3-dialog__layout aside section { border-bottom: 1px solid var(--menu-line); display: grid; gap: 5px; padding: 13px; }
.menu-v3-dialog__layout aside strong { font-size: 9px; line-height: 1.5; }
.menu-v3-dialog__layout aside p { color: var(--menu-muted); font-size: 8px; line-height: 1.55; margin: 0; }
.menu-v3-dialog__confirm { align-items: flex-start; background: #fff1f1; border: 1px solid #e8bcbc; border-radius: 11px; display: flex; gap: 9px; margin-top: 12px; padding: 11px; }
.menu-v3-dialog__confirm input { margin-top: 3px; }
.menu-v3-dialog__confirm span { display: grid; gap: 3px; }
.menu-v3-dialog__confirm strong { font-size: 10px; }
.menu-v3-dialog__confirm small { color: #7a4f4f; font-size: 8px; line-height: 1.45; }
.menu-v3-dialog__result { background: #f1f5f3; border-radius: 11px; display: grid; gap: 4px; margin-top: 12px; padding: 12px; }
.menu-v3-dialog__result strong { font-size: 11px; }
.menu-v3-dialog__result p { color: var(--menu-muted); font-size: 9px; margin: 0; }
.menu-v3-dialog__result code { color: var(--menu-brand); font-size: 8px; overflow-wrap: anywhere; }
.menu-v3-dialog__result[data-result-state="success"] { background: #e9f6ef; color: #1c6a44; }
.menu-v3-dialog__result[data-result-state="error"],
.menu-v3-dialog__result[data-result-state="forbidden"] { background: #fff0f0; color: #8f3434; }
.menu-v3-dialog__result[data-result-state="conflict"] { background: #fff5e5; color: #875812; }
.menu-v3-dialog__state-preview { align-items: center; display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; }
.menu-v3-dialog__state-preview > span { color: var(--menu-muted); font-size: 8px; margin-right: 4px; }
.menu-v3-dialog__state-preview button { background: #fff; border: 1px solid var(--menu-line); border-radius: 999px; font-size: 8px; padding: 5px 8px; }
.menu-v3-dialog footer { display: flex; gap: 7px; justify-content: flex-end; margin-top: 14px; }
.menu-v3-toast { background: #0c3428; border-radius: 10px; bottom: 22px; box-shadow: 0 12px 34px rgba(0, 0, 0, .25); color: #fff; font-size: 10px; left: 50%; padding: 11px 15px; position: fixed; transform: translateX(-50%); z-index: 10100; }

@media (max-width: 1180px) {
  .menu-v3-contract > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-v3-contract article:nth-child(3) { border-left: 0; border-top: 1px solid var(--menu-line); }
  .menu-v3-contract article:nth-child(4) { border-top: 1px solid var(--menu-line); }
  .menu-v3-filters { grid-template-columns: repeat(3, minmax(130px, 1fr)); }
  .menu-v3-command-grid,
  .menu-v3-engineering > div { grid-template-columns: 1fr; }
  .menu-v3-full-flow > ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-v3-detail { grid-template-columns: 170px minmax(0, 1fr); }
  .menu-v3-detail > aside { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .menu-v3-root { gap: 11px; }
  .menu-v3-nav { display: flex; overflow-x: auto; }
  .menu-v3-nav a { flex: 0 0 160px; }
  .menu-v3-statebar { align-items: flex-start; flex-direction: column; }
  .menu-v3-statebar code { text-align: left; }
  .menu-v3-hero { grid-template-columns: 1fr; padding: 20px; }
  .menu-v3-actionbar { align-items: flex-start; flex-direction: column; }
  .menu-v3-actionbar > div:last-child { justify-content: flex-start; }
  .menu-v3-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-v3-workflow { grid-template-columns: 1fr; }
  .menu-v3-workflow > aside { position: static; }
  .menu-v3-permissions { grid-template-columns: 1fr; }
  .menu-v3-guided > ol { display: flex; overflow-x: auto; }
  .menu-v3-guided > ol li { flex: 0 0 150px; }
  .menu-v3-form-layout { grid-template-columns: 1fr; }
  .menu-v3-form-layout aside { border-left: 0; border-top: 1px solid var(--menu-line); }
  .menu-v3-detail,
  .menu-v3-document { grid-template-columns: 1fr; }
  .menu-v3-detail > nav,
  .menu-v3-document > aside { display: flex; overflow-x: auto; }
  .menu-v3-detail > nav button,
  .menu-v3-document > aside button { flex: 0 0 auto; }
  .menu-v3-dialog { max-width: 760px; }
  .menu-v3-dialog__layout { grid-template-columns: 1fr; }
  .menu-v3-dialog__layout > aside { border-left: 0; border-top: 1px solid var(--menu-line); }
}

@media (max-width: 680px) {
  .menu-v3-root { font-size: 11px; padding-bottom: 18px; }
  .menu-v3-nav { border-radius: 11px; }
  .menu-v3-statebar > div { flex-wrap: nowrap; max-width: 100%; overflow-x: auto; }
  .menu-v3-statebar button { flex: 0 0 auto; min-height: 34px; }
  .menu-v3-hero { border-radius: 14px; padding: 16px; }
  .menu-v3-hero h2 { font-size: 26px; }
  .menu-v3-actionbar > div:last-child { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .menu-v3-actionbar .menu-v3-btn { width: 100%; }
  .menu-v3-contract > div,
  .menu-v3-metrics,
  .menu-v3-full-flow > ol { grid-template-columns: 1fr; }
  .menu-v3-contract article + article { border-left: 0; border-top: 1px solid var(--menu-line); }
  .menu-v3-filters { grid-template-columns: 1fr; }
  .menu-v3-chart { height: 170px; padding-inline: 16px; }
  .menu-v3-form-layout form,
  .menu-v3-detail article dl,
  .menu-v3-engineering article dl { grid-template-columns: 1fr; }
  .menu-v3-workflow dl { grid-template-columns: 1fr; }
  .menu-v3-table-panel th,
  .menu-v3-table-panel td { min-width: 120px; }
  .menu-v3-footer { align-items: flex-start; flex-direction: column; }
  .menu-v3-footer p { text-align: left; }
  .menu-v3-dialog-backdrop { align-items: flex-end; padding: 0; }
  .menu-v3-dialog { border-radius: 18px 18px 0 0; max-height: 94vh; padding: 17px; }
  .menu-v3-dialog > h2 { font-size: 21px; padding-right: 35px; }
  .menu-v3-dialog__context,
  .menu-v3-dialog__fields { grid-template-columns: 1fr; }
  .menu-v3-dialog footer { display: grid; grid-template-columns: 1fr 1fr; }
  .menu-v3-dialog footer .menu-v3-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .menu-v3-root *,
  .menu-v3-dialog * { scroll-behavior: auto !important; transition: none !important; }
}
