:root {
  --bg: #f5f5f7;
  --surface: rgba(255, 255, 255, .86);
  --surface-muted: #ececee;
  --line: rgba(29, 29, 31, .09);
  --line-strong: rgba(29, 29, 31, .17);
  --text: #1d1d1f;
  --muted: #6e6e73;
  --accent: #247a5a;
  --accent-dark: #15533d;
  --accent-soft: #e4f1eb;
  --warning: #9a6115;
  --warning-soft: #f8eddc;
  --danger: #a43c3c;
  --danger-soft: #f7e7e7;
  --info: #426a78;
  --info-soft: #e6eef1;
  --radius: 12px;
  --sidebar: 244px;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Helvetica Neue", sans-serif;
  color: var(--text);
  background: var(--bg);
  font-synthesis: none;
}

* { box-sizing: border-box; }

[hidden] { display: none !important; }

html { min-width: 320px; background: var(--bg); }

body { margin: 0; min-height: 100dvh; background: #f5f5f7; }
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(circle at 82% 5%, rgba(184, 218, 202, .34), transparent 27%);
}

button, input, select, textarea { font: inherit; letter-spacing: 0; }

button, a, input, select { outline-offset: 3px; }

:focus-visible { outline: 2px solid var(--accent); }

a { color: inherit; }

.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 3;
  padding: 8px 12px;
  border-radius: var(--radius);
  background: var(--text);
  color: #fff;
  transform: translateY(-150%);
}

.skip-link:focus { transform: translateY(0); }

.app-shell { display: grid; grid-template-columns: var(--sidebar) minmax(0, 1fr); gap: 18px; min-height: 100dvh; padding: 14px 14px 14px 0; }

.sidebar {
  position: sticky;
  top: 14px;
  height: calc(100dvh - 28px);
  margin-left: 14px;
  padding: 24px 17px 18px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .9);
  border-radius: 24px;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 24px 70px -48px rgba(24, 34, 30, .52), inset 0 1px 0 rgba(255, 255, 255, .94);
  backdrop-filter: blur(24px) saturate(140%);
  display: flex;
  flex-direction: column;
}

.brand-block { display: flex; align-items: center; gap: 11px; padding: 0 8px; }

.brand-mark {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: var(--accent);
  color: #fff;
  font-size: 12px;
  font-weight: 750;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 9px 24px -16px rgba(0, 0, 0, .9);
}

.brand-block strong { display: block; color: var(--text); font-size: 15px; letter-spacing: -.01em; }
.brand-block span { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; }

.session-card {
  margin: 0 8px 12px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, .94);
  border-radius: 15px;
  background: rgba(255, 255, 255, .66);
  color: var(--text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.94);
  font-size: 12px;
  line-height: 1.55;
}
.session-card strong { display: block; margin-bottom: 3px; }
.session-card .button { width: 100%; margin-top: 8px; border-color: var(--line); background: rgba(255,255,255,.7); color: var(--text); }
.session-card .button:hover { background: #fff; }

.nav-list { display: grid; gap: 4px; margin-top: 4px; overflow-y: auto; overscroll-behavior: contain; }

.nav-section-label {
  margin: 9px 12px 2px;
  color: #86868b;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .08em;
}

.nav-section-secondary { margin-top: 16px; }

.nav-list a, .nav-group summary {
  min-height: 42px;
  padding: 11px 12px;
  border-radius: 11px;
  color: #515154;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background-color 180ms cubic-bezier(.16, 1, .3, 1), color 180ms cubic-bezier(.16, 1, .3, 1);
}

.nav-direct, .nav-group summary { display: grid; grid-template-columns: 25px minmax(0, 1fr) auto; align-items: center; gap: 9px; }
.nav-group summary { list-style: none; cursor: pointer; }
.nav-group summary::-webkit-details-marker { display: none; }
.nav-group summary::after { content: "+"; color: #86868b; font-family: "SFMono-Regular", ui-monospace, Menlo, Consolas, monospace; font-size: 13px; font-weight: 500; }
.nav-group[open] summary::after { content: "−"; }
.nav-mark { display: grid; width: 23px; height: 23px; place-items: center; border: 1px solid rgba(29,29,31,.1); border-radius: 7px; background: rgba(255,255,255,.78); color: #646468; font-size: 10px; font-weight: 750; }
.nav-list a:hover, .nav-group summary:hover { background: rgba(255,255,255,.88); color: var(--text); }
.nav-list a:active, .nav-group summary:active, .button:active { transform: translateY(1px); }
.nav-list a.active, .nav-group.has-active-route > summary { background: rgba(228,241,235,.94); color: #15533d; }
.nav-list a.active .nav-mark, .nav-group.has-active-route > summary .nav-mark { border-color: #6ca58d; background: var(--accent); color: #fff; }
.nav-priority { background: rgba(255,255,255,.58); color: #313135 !important; }
.nav-priority .nav-mark { border-color: rgba(36,122,90,.16); background: #edf6f2; color: #247a5a; }
.nav-priority:hover { background: #fff !important; }
.nav-group-links { display: grid; gap: 2px; margin: 3px 0 7px 32px; padding-left: 11px; border-left: 1px solid var(--line); }
.nav-group-links a { min-height: 34px; padding: 8px 10px; font-size: 12px; font-weight: 600; }
.nav-system { margin-top: 7px; border-top: 1px solid var(--line); border-radius: 0 0 var(--radius) var(--radius) !important; }

.main-content { width: 100%; max-width: 1580px; min-width: 0; padding: 28px 34px 52px 20px; }

.topbar { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; padding-bottom: 21px; border-bottom: 1px solid var(--line-strong); }

.eyebrow { color: var(--muted); font-size: 10px; font-weight: 700; }

h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 0; font-size: 30px; font-weight: 680; line-height: 1.2; letter-spacing: -.035em; }
h2 { margin-bottom: 5px; font-size: 16px; line-height: 1.35; letter-spacing: 0; }
h3 { margin-bottom: 4px; font-size: 14px; line-height: 1.4; letter-spacing: 0; }
p { color: var(--muted); line-height: 1.55; }

.topbar-meta { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 12px; }
.environment { padding: 5px 9px; border: 1px solid #b8c9c1; border-radius: 999px; background: #e7eeea; color: #30433b; font-weight: 650; }

.page-alert { margin-bottom: 16px; padding: 11px 13px; border: 1px solid #e5bcbc; border-radius: var(--radius); background: var(--danger-soft); color: var(--danger); font-size: 13px; }

.page { padding-top: 25px; animation: page-enter 360ms cubic-bezier(.16, 1, .3, 1) both; }

@keyframes page-enter {
  from { opacity: 0; transform: translateY(7px); }
  to { opacity: 1; transform: translateY(0); }
}

.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.section-heading.compact { margin-top: 24px; }
.sales-report-heading { align-items: flex-start; padding: 4px 0 20px; border-bottom: 1px solid var(--line); }
.sales-report-heading h2 { margin-top: 4px; font-size: 21px; }
.sales-report-heading p { max-width: 52ch; margin-bottom: 0; }
.sales-quick-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.sales-quick-actions .button { min-width: 116px; text-align: center; text-decoration: none; }
.section-heading p { margin-bottom: 0; font-size: 13px; }

.context-line { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; margin-bottom: 18px; color: var(--muted); font-size: 12px; }

.status {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  padding: 3px 7px;
  border-radius: 4px;
  background: var(--surface-muted);
  color: #4e5b57;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.status.complete, .status.healthy, .status.verified, .status.ready { background: var(--accent-soft); color: var(--accent-dark); }
.status.partial, .status.review-required, .status.pending-review { background: var(--warning-soft); color: var(--warning); }
.status.failed { background: var(--danger-soft); color: var(--danger); }
.status.unverified, .status.delayed, .status.draft { background: var(--info-soft); color: var(--info); }
.status.unavailable, .status.degraded { background: var(--warning-soft); color: var(--warning); }
.status.pending { background: var(--warning-soft); color: var(--warning); }
.status.confirmed { background: var(--accent-soft); color: var(--accent-dark); }
.status.conflict, .status.rejected, .status.revoked { background: var(--danger-soft); color: var(--danger); }

.reviewer-bar { display: grid; grid-template-columns: minmax(220px, 360px) 1fr auto; gap: 20px; align-items: end; margin-bottom: 18px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.reviewer-bar p { margin: 0 0 8px; font-size: 12px; }
.reviewer-bar .field span { display: block; margin-bottom: 6px; color: var(--muted); font-size: 11px; font-weight: 700; }
.reviewer-bar .field input { width: 100%; }
.linkage-metrics { grid-template-columns: repeat(3, 1fr); margin-bottom: 20px; }
.linkage-list { display: grid; gap: 14px; }
.linkage-card { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.linkage-card-head { display: grid; grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr) auto; gap: 14px; align-items: center; }
.linkage-card-head h3 { margin: 3px 0; font-size: 16px; }
.linkage-card-head p { margin: 0; font-size: 11px; }
.linkage-arrow { color: var(--accent); text-align: center; font-size: 22px; }
.linkage-evidence { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(240px, .8fr); gap: 22px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.linkage-evidence h4 { margin: 0 0 8px; font-size: 11px; color: var(--muted); }
.linkage-evidence ul, .linkage-conflicts ul { margin: 0; padding-left: 18px; color: #39433f; font-size: 12px; line-height: 1.6; }
.candidate-order-list { list-style: none; padding-left: 0 !important; }
.candidate-order-list li { display: grid; gap: 2px; margin-bottom: 8px; }
.candidate-order-list span, .candidate-order-list small { color: var(--muted); }
.linkage-conflicts { margin-top: 12px; padding: 10px 12px; border-left: 3px solid var(--danger); background: var(--danger-soft); color: var(--danger); font-size: 12px; }
.linkage-audit { margin: 12px 0 0; color: var(--accent-dark); font-size: 11px; }
.linkage-actions { display: grid; grid-template-columns: minmax(180px, 1fr) auto auto minmax(90px, auto); gap: 8px; align-items: center; margin-top: 14px; }
.linkage-actions input { min-width: 0; height: 38px; padding: 0 10px; border: 1px solid var(--line-strong); border-radius: var(--radius); }
.linkage-correction { margin-top: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: #f8faf9; }
.linkage-correction > summary { padding: 12px 14px; color: var(--accent-dark); cursor: pointer; font-size: 12px; font-weight: 750; }
.linkage-correction-body { display: grid; gap: 12px; padding: 14px; border-top: 1px solid var(--line); }
.linkage-target-search { display: grid; grid-template-columns: minmax(240px, 1fr) auto; align-items: end; gap: 10px; }
.linkage-target-results { display: grid; gap: 7px; }
.linkage-target-results > p { margin: 0; font-size: 11px; }
.linkage-target-option { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; padding: 11px 12px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); color: var(--text); text-align: left; cursor: pointer; }
.linkage-target-option:hover { border-color: var(--accent); }
.linkage-target-option.is-selected { border-color: var(--accent); background: var(--accent-soft); }
.linkage-target-option:disabled { cursor: not-allowed; opacity: .62; }
.linkage-target-option span, .linkage-target-option strong, .linkage-target-option small { display: block; }
.linkage-target-option small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.linkage-target-option em { color: var(--accent-dark); font-size: 10px; font-style: normal; white-space: nowrap; }
.linkage-correction-confirm { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(260px, 1.2fr) auto minmax(90px, auto); align-items: end; gap: 10px; padding-top: 12px; border-top: 1px solid var(--line); }
.linkage-correction-confirm > p { align-self: center; margin: 0; font-size: 11px; }

.metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}

.metric { min-width: 0; padding: 18px 20px; border-right: 1px solid var(--line); }
.metric:last-child { border-right: 0; }
.metric-label { display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 12px; }
.metric-value { margin-top: 10px; font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-size: 28px; font-weight: 720; line-height: 1; }

.unavailable-strip { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 12px 0 4px; color: var(--muted); font-size: 12px; }
.unavailable-strip strong { color: var(--text); font-weight: 600; }
.analytics-stack { display: grid; gap: 28px; }
.analytics-stack > section { border-top: 1px solid var(--line-strong); padding-top: 16px; }
.analytics-table { margin-top: 18px; max-width: 620px; }
.analytics-metrics .empty-state { grid-column: 1 / -1; width: 100%; }

.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr); gap: 28px; margin-top: 28px; }
.panel { min-width: 0; }
.panel-header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--line-strong); }
.panel-header p { margin-bottom: 0; font-size: 12px; }

.bar-list { display: grid; gap: 13px; padding: 16px 0; }
.bar-item { display: grid; grid-template-columns: minmax(72px, 105px) minmax(100px, 1fr) 44px; align-items: center; gap: 10px; font-size: 12px; }
.bar-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bar-track { width: 100%; height: 7px; border: 0; border-radius: 2px; background: var(--surface-muted); overflow: hidden; appearance: none; }
.bar-track::-webkit-progress-bar { background: var(--surface-muted); }
.bar-track::-webkit-progress-value { background: var(--accent); }
.bar-track::-moz-progress-bar { background: var(--accent); }
.bar-value { text-align: right; font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; color: var(--muted); }

.action-list, .system-list, .report-list { margin: 0; padding: 0; list-style: none; }
.action-item { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.action-item:first-child { padding-top: 8px; }
.action-item a { color: var(--text); font-size: 13px; font-weight: 600; text-decoration-color: var(--line-strong); text-underline-offset: 3px; }
.action-count { min-width: 34px; text-align: right; font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-weight: 700; }

.filters { display: grid; grid-template-columns: minmax(200px, 1.3fr) minmax(150px, .7fr) minmax(140px, .6fr) auto auto; gap: 12px; align-items: end; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.login-stage { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr); min-height: 570px; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: rgba(252, 253, 251, .88); box-shadow: 0 38px 90px -66px rgba(23, 35, 31, .75), inset 0 1px 0 rgba(255, 255, 255, .85); backdrop-filter: blur(14px); }
.login-intro { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-width: 0; padding: 54px 56px 46px; overflow: hidden; background: #1a2924; color: #f0f5f2; }
.login-intro::before { content: ""; position: absolute; width: 430px; height: 430px; right: -190px; bottom: -180px; border: 1px solid rgba(139, 192, 168, .2); border-radius: 50%; box-shadow: 0 0 0 52px rgba(139, 192, 168, .04), 0 0 0 112px rgba(139, 192, 168, .025); }
.login-intro::after { content: ""; position: absolute; top: 42px; right: 46px; width: 54px; height: 54px; border-top: 1px solid rgba(203, 225, 215, .35); border-right: 1px solid rgba(203, 225, 215, .35); }
.login-intro > * { position: relative; z-index: 1; }
.login-kicker { color: #88ad9d; font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-size: 10px; font-weight: 750; letter-spacing: .12em; }
.login-intro h2 { max-width: 650px; margin: 20px 0 18px; color: #f4f8f6; font-size: clamp(32px, 3.4vw, 54px); font-weight: 680; line-height: 1.12; letter-spacing: -.045em; }
.login-intro > div > p { max-width: 48ch; margin: 0; color: #aabbb4; font-size: 14px; line-height: 1.75; }
.login-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 50px 0 0; padding: 0; list-style: none; }
.login-flow li { display: grid; min-width: 0; gap: 6px; padding: 15px 17px 0 0; border-top: 1px solid #3d5149; }
.login-flow li + li { padding-left: 17px; border-left: 1px solid #33473f; }
.login-flow span { color: #72a38d; font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-size: 10px; }
.login-flow strong { color: #edf4f1; font-size: 13px; }
.login-flow small { max-width: 17ch; color: #879a92; font-size: 10px; line-height: 1.55; }
.login-form-panel { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 54px 56px; background: rgba(252, 253, 251, .92); }
.login-form-panel h2 { margin: 7px 0 8px; font-size: 29px; letter-spacing: -.025em; }
.login-form-panel > p { margin: 0 0 30px; font-size: 12px; }
.login-panel { display: grid; grid-template-columns: 1fr; gap: 18px; align-items: end; padding: 0; border: 0; border-radius: 0; background: transparent; max-width: none; }
.login-panel .field span { display: block; margin-bottom: 6px; color: #41514a; font-size: 11px; font-weight: 750; }
.login-panel .field input { height: 47px; padding: 0 14px; border-radius: 8px; background: #fff; transition: border-color 180ms cubic-bezier(.16, 1, .3, 1), box-shadow 180ms cubic-bezier(.16, 1, .3, 1), transform 180ms cubic-bezier(.16, 1, .3, 1); }
.login-panel .field input:focus { border-color: #4c8c73; box-shadow: 0 0 0 4px rgba(27, 116, 91, .1); }
.login-panel .button { height: 47px; margin-top: 3px; border-radius: 8px; box-shadow: 0 14px 28px -22px rgba(16, 82, 63, .9); }
.login-panel .save-result:not(:empty) { padding: 9px 11px; border-left: 2px solid var(--accent); background: var(--accent-soft); }
.login-footnote { display: flex; align-items: center; gap: 8px; margin-top: 26px; color: #7a8781; font-size: 10px; }
.login-footnote span { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 4px rgba(27, 116, 91, .1); }
.login-panel .field span { display: block; margin-bottom: 6px; color: var(--muted); font-size: 11px; font-weight: 700; }
.employee-delivery-list { margin-bottom: 28px; border-top: 1px solid var(--line-strong); }
.employee-delivery-row { display: grid; grid-template-columns: minmax(120px, .55fr) minmax(240px, 1.2fr) minmax(150px, .65fr) auto minmax(66px, auto); gap: 14px; align-items: end; padding: 13px 0; border-bottom: 1px solid var(--line); }
.employee-identity { align-self: center; min-width: 0; }
.employee-identity strong { display: block; font-size: 13px; }
.employee-identity span, .email-field > span { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
.email-field input { width: 100%; height: 38px; padding: 0 10px; border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--surface); }
.switch-field { min-height: 38px; display: flex; align-items: center; gap: 8px; color: var(--text); font-size: 12px; }
.switch-field input { width: 17px; height: 17px; accent-color: var(--accent); }
.save-result { align-self: center; color: var(--accent-dark); font-size: 11px; }
.field { display: grid; gap: 7px; min-width: 0; }
.field label { color: var(--muted); font-size: 11px; font-weight: 650; }
.field input, .field select, .field textarea {
  width: 100%;
  height: 38px;
  padding: 0 10px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--text);
}
.field input:focus, .field select:focus, .field textarea:focus { border-color: #4c8c73; box-shadow: 0 0 0 3px rgba(27, 116, 91, .09); }
.field textarea { min-height: 92px; padding-top: 8px; resize: vertical; }
.field input:hover, .field select:hover, .field textarea:hover { border-color: #96a69f; }

.button {
  height: 38px;
  padding: 0 14px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--text);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: transform 120ms ease, background-color 180ms cubic-bezier(.16, 1, .3, 1);
}
.button:hover { background: var(--surface-muted); transform: translateY(-1px); }
.button.primary { border-color: var(--accent); background: var(--accent); color: #fff; }
.button.primary:hover { background: var(--accent-dark); }
.button:active { transform: translateY(1px) scale(.99); }
.button:disabled { cursor: not-allowed; opacity: .45; }

.nav-admin { margin-top: 10px; border-top: 1px solid rgba(220, 232, 227, .13); }
.account-heading { align-items: flex-start; padding-bottom: 19px; border-bottom: 1px solid var(--line); }
.account-heading h2 { margin-top: 5px; font-size: 21px; }
.account-heading p { max-width: 60ch; }
.account-policy-note { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 16px 0 4px; padding: 12px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.account-policy-note strong { color: var(--accent-dark); font-size: 12px; }
.account-summary-line { display: flex; flex-wrap: wrap; gap: 8px 22px; padding: 14px 0; color: var(--muted); font-size: 11px; }
.account-summary-line strong { color: var(--text); font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-size: 16px; }
.account-list { border-top: 1px solid var(--line-strong); }
.account-row { display: grid; grid-template-columns: minmax(260px, 1.25fr) minmax(150px, .56fr) minmax(130px, .45fr) minmax(118px, .38fr); align-items: end; gap: 20px; padding: 15px 0; border-bottom: 1px solid var(--line); animation: account-row-enter 360ms cubic-bezier(.16, 1, .3, 1) both; animation-delay: calc(var(--row-index) * 22ms); transition: opacity 180ms cubic-bezier(.16, 1, .3, 1), background-color 180ms cubic-bezier(.16, 1, .3, 1); }
@keyframes account-row-enter { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
.account-row.is-inactive { opacity: .57; }
.account-identity { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 11px; min-width: 0; }
.account-initial { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 8px; background: #e4ece8; color: var(--accent-dark); font-size: 13px; font-weight: 800; }
.account-identity strong, .account-identity span { display: block; min-width: 0; }
.account-identity strong { font-size: 13px; }
.account-identity div > span { margin-top: 3px; overflow: hidden; color: var(--muted); font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.account-identity .account-password-state { display: block; margin-top: 4px; color: var(--accent-dark); font-size: 9px; font-weight: 700; }
.account-identity em { padding: 4px 6px; border: 1px solid #bbcdc5; border-radius: 4px; color: var(--accent-dark); font-size: 9px; font-style: normal; font-weight: 700; }
.account-role-field > span, .account-active-field > span:first-child { color: var(--muted); font-size: 10px; font-weight: 700; }
.account-role-field { gap: 5px; }
.account-active-field { display: grid; gap: 7px; }
.account-toggle { display: flex; align-items: center; gap: 8px; height: 38px; font-size: 11px; }
.account-toggle input { width: 17px; height: 17px; accent-color: var(--accent); }
.account-save { display: grid; align-items: center; gap: 4px; }
.account-save .button { width: 100%; }
.account-save .save-result { min-height: 14px; text-align: center; }
.inactive-account-group { margin-top: 14px; border-bottom: 1px solid var(--line); }
.inactive-account-group > summary { padding: 12px 0; color: var(--muted); font-size: 11px; font-weight: 700; cursor: pointer; list-style-position: inside; }
.inactive-account-group > summary span { margin-left: 6px; font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; }
.inactive-account-group:not([open]) > summary:hover { color: var(--accent-dark); }
.inactive-account-group .account-list { border-top-color: var(--line); }
.account-save { grid-template-columns: 1fr; }
.account-save .button.quiet { height: 31px; font-size: 10px; }
.account-save .button.danger { height: 31px; border-color: #d9aaaa; background: transparent; color: var(--danger); font-size: 10px; }
.account-save .button.danger:hover { border-color: var(--danger); background: var(--danger-soft); }
.account-save .button.danger:active { transform: translateY(1px); }
.session-text-button { width: 100%; margin-top: 8px; padding: 0; border: 0; background: transparent; color: var(--muted); font-size: 10px; text-align: left; cursor: pointer; }
.session-text-button:hover { color: var(--accent-dark); }
.password-dialog { width: min(520px, calc(100vw - 32px)); padding: 0; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--surface); color: var(--text); box-shadow: 0 34px 90px -50px rgba(20, 31, 27, .8); }
.password-dialog::backdrop { background: rgba(18, 28, 25, .52); backdrop-filter: blur(5px); }
.password-change-form { display: grid; gap: 15px; padding: 24px; }
.password-dialog-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.password-dialog-head h2 { margin-top: 5px; font-size: 18px; }
.password-dialog-head p { margin: 0; font-size: 11px; }
.password-change-form .field small { color: var(--muted); font-size: 9px; }
.password-change-form > .button.primary { width: 100%; margin-top: 2px; }
.account-create-form { display: grid; grid-template-columns: minmax(210px, 1fr) minmax(180px, .7fr) minmax(160px, .5fr) auto; align-items: end; gap: 14px; margin: 14px 0 8px; padding: 16px; border: 1px solid var(--line); border-left: 3px solid var(--accent); border-radius: 8px; background: #f8faf9; }
.account-create-form > div { display: grid; gap: 3px; }
.account-create-form > div strong { font-size: 13px; }
.account-create-form > div small { color: var(--muted); font-size: 9px; }
.account-create-form > .save-result { grid-column: 2 / -1; min-height: 13px; }

.table-wrap { overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); box-shadow: 0 22px 55px -48px rgba(23, 35, 31, .45); }
.data-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 12px; }
.data-table th { padding: 11px 12px; border-bottom: 1px solid var(--line-strong); background: #edf2ef; color: #53625b; text-align: left; font-size: 10px; font-weight: 750; letter-spacing: .025em; }
.data-table td { padding: 11px 12px; border-bottom: 1px solid var(--line); color: #39433f; vertical-align: middle; overflow-wrap: anywhere; }
.data-table tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover { background: #fafcfb; }
.ownership-table th:nth-child(1) { width: 25%; }
.ownership-table th:nth-child(2) { width: 14%; }
.ownership-table th:nth-child(3) { width: 17%; }
.ownership-table th:nth-child(4) { width: 13%; }
.ownership-table th:nth-child(5) { width: 17%; }
.ownership-table th:nth-child(6) { width: 14%; }
.primary-cell { color: var(--text); font-weight: 650; }
.secondary-cell { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }

.pagination { display: flex; align-items: center; justify-content: flex-end; gap: 10px; min-height: 50px; color: var(--muted); font-size: 12px; }

.report-item { padding: 17px 0 19px; border-bottom: 1px solid var(--line); }
.report-item:first-child { border-top: 1px solid var(--line); }
.report-head { display: grid; grid-template-columns: minmax(200px, 1fr) auto; gap: 20px; align-items: start; }
.report-title-line { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.report-title-line h3 { margin-bottom: 0; }
.report-meta { margin: 6px 0 0; color: var(--muted); font-size: 12px; }
.artifact-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.artifact-link { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 8px; background: rgba(252, 253, 251, .85); color: var(--text); font-size: 11px; font-weight: 650; text-decoration: none; transition: transform 160ms cubic-bezier(.16, 1, .3, 1), border-color 160ms cubic-bezier(.16, 1, .3, 1), background-color 160ms cubic-bezier(.16, 1, .3, 1); }
.artifact-link span { min-width: 0; overflow-wrap: anywhere; }
.artifact-link:hover { border-color: var(--accent); background: #fff; color: var(--accent-dark); transform: translateY(-1px); }
.artifact-format { color: var(--accent-dark); font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; }
.report-warning { margin: 11px 0 0; color: var(--warning); font-size: 11px; }

.latest-report { overflow: hidden; border: 1px solid rgba(255, 255, 255, .94); border-radius: 24px; background: rgba(255, 255, 255, .76); box-shadow: 0 25px 72px -50px rgba(30, 44, 38, .46), inset 0 1px 0 rgba(255,255,255,.98); backdrop-filter: blur(24px) saturate(135%); }
.latest-report-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 21px 24px 18px; border-bottom: 1px solid var(--line); }
.latest-report-header h3 { margin: 5px 0 4px; font-size: 22px; font-weight: 680; letter-spacing: -.025em; }
.latest-report-header p { margin: 0; font-size: 11px; }
.latest-report-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.latest-report-stage { padding: 12px; background: rgba(236, 236, 238, .72); }
.latest-report-frame { display: block; width: 100%; height: min(1040px, calc(100dvh - 160px)); min-height: 720px; border: 0; border-radius: 15px; background: #fff; box-shadow: 0 18px 50px -38px rgba(29,29,31,.52); }
.latest-report-fallback { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 30px 24px; }
.latest-report-fallback p { margin: 0; }
.report-history { margin-top: 30px; }
.report-history > summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 17px 3px; border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line); color: var(--text); cursor: pointer; list-style: none; }
.report-history > summary::-webkit-details-marker { display: none; }
.report-history > summary::after { content: "+"; color: var(--muted); font-size: 20px; font-weight: 400; }
.report-history[open] > summary::after { content: "−"; }
.report-history > summary > span { display: grid; gap: 5px; }
.report-history > summary strong { font-size: 17px; }
.report-history > summary small { margin-left: auto; color: var(--muted); font-size: 11px; }

.summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.summary-card { padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.summary-card strong { display: block; margin-top: 8px; font-size: 22px; }
.workbench-heading { align-items: center; }
.workbench-heading h2 { margin-top: 5px; font-size: 20px; }
.workbench-heading p { max-width: 660px; margin: 3px 0 0; }
.workbench-overview { display: grid; grid-template-columns: minmax(280px, .85fr) minmax(480px, 1.15fr); align-items: stretch; gap: 0; margin-bottom: 14px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); box-shadow: 0 22px 50px -44px rgba(23, 32, 29, .55); }
.workbench-overview-copy { padding: 22px 24px; border-right: 1px solid var(--line); background: #f8faf9; }
.workbench-overview-copy strong { display: block; margin-top: 7px; font-size: 16px; }
.workbench-overview-copy p { margin: 5px 0 0; font-size: 11px; }
.workbench-stats { display: grid; grid-template-columns: repeat(4, minmax(92px, 1fr)); }
.workbench-stats button { min-width: 0; padding: 18px 16px; border: 0; border-right: 1px solid var(--line); background: var(--surface); color: var(--text); text-align: left; cursor: pointer; transition: background-color 180ms cubic-bezier(.16, 1, .3, 1), box-shadow 180ms cubic-bezier(.16, 1, .3, 1); }
.workbench-stats button:last-child { border-right: 0; }
.workbench-stats button:hover { background: #f8faf9; }
.workbench-stats button.is-active { background: var(--accent-soft); box-shadow: inset 0 -3px 0 var(--accent); }
.workbench-stats span, .workbench-stats strong { display: block; }
.workbench-stats span { color: var(--muted); font-size: 10px; font-weight: 700; }
.workbench-stats strong { margin-top: 10px; font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-size: 25px; }
.workbench-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.workbench-search { position: relative; display: block; width: min(420px, 100%); }
.workbench-search::before { content: ""; position: absolute; top: 50%; left: 13px; width: 9px; height: 9px; border: 1.5px solid var(--muted); border-radius: 50%; transform: translateY(-65%); pointer-events: none; }
.workbench-search::after { content: ""; position: absolute; top: calc(50% + 4px); left: 22px; width: 5px; height: 1.5px; background: var(--muted); transform: rotate(45deg); pointer-events: none; }
.workbench-search input { width: 100%; height: 40px; padding: 0 13px 0 34px; border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--surface); color: var(--text); }
.workbench-toolbar > span { color: var(--muted); font-size: 11px; white-space: nowrap; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.case-list { display: grid; gap: 12px; }
.case-card { position: relative; overflow: hidden; padding: 20px 22px 18px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); box-shadow: 0 14px 34px -32px rgba(23, 32, 29, .65); }
.case-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--line-strong); }
.case-card.case-priority-red::before { background: var(--danger); }
.case-card.case-priority-yellow::before { background: var(--warning); }
.case-card-head { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.case-card-head h3 { margin: 0; font-size: 17px; }
.case-kicker { margin: 0 0 5px; color: var(--accent-dark); font-size: 10px; font-weight: 750; }
.case-statuses { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 6px; }
.case-meta { display: flex; flex-wrap: wrap; gap: 7px 18px; margin-top: 11px; color: var(--muted); font-size: 11px; }
.case-meta b { margin-right: 5px; color: var(--text); font-weight: 700; }
.case-brief { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.case-brief section { min-width: 0; padding: 13px 14px; border-left: 2px solid var(--line-strong); background: #f8faf9; }
.case-brief section:last-child { border-left-color: var(--accent); }
.case-brief span { color: var(--muted); font-size: 10px; font-weight: 750; }
.case-brief p { margin: 5px 0 0; color: #33413c; font-size: 12px; line-height: 1.65; }
.case-evidence { margin-top: 11px; }
.case-evidence summary { cursor: pointer; color: var(--muted); font-size: 11px; font-weight: 700; }
.case-evidence summary small { margin-left: 7px; font-weight: 400; }
.case-evidence .evidence-item { margin-top: 8px; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--radius); background: #fafcfa; font-size: 12px; }
.case-editor { margin: 16px -22px -18px; border-top: 1px solid var(--line); background: #fbfcfb; }
.case-editor > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 22px; color: var(--accent-dark); cursor: pointer; list-style: none; font-size: 12px; font-weight: 750; }
.case-editor > summary::-webkit-details-marker { display: none; }
.case-editor > summary::after { content: "+"; margin-left: auto; font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-size: 16px; font-weight: 500; }
.case-editor[open] > summary::after { content: "−"; }
.case-editor > summary small { color: var(--muted); font-size: 10px; font-weight: 400; }
.case-form { display: grid; gap: 12px; padding: 18px 22px 21px; border-top: 1px solid var(--line); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.case-form .field-wide { grid-column: 1 / -1; }
.case-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }

.system-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr); gap: 28px; }
.system-item { display: grid; grid-template-columns: minmax(145px, .7fr) auto minmax(220px, 1.3fr); gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); }
.system-name strong { display: block; font-size: 13px; }
.system-name span { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
.system-impact { color: var(--muted); font-size: 12px; line-height: 1.45; }
.project-table td:last-child, .project-table th:last-child { text-align: right; }
.project-table th:nth-child(1) { width: 14%; }
.project-table th:nth-child(3), .project-table th:nth-child(4) { width: 22%; }

.empty-state { padding: 36px 20px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: center; }
.empty-state strong { display: block; font-size: 14px; }
.empty-state p { margin: 7px auto 0; font-size: 12px; }

.skeleton-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.skeleton-box { height: 92px; padding: 18px; border-right: 1px solid var(--line); background: var(--surface); }
.skeleton-box:last-child { border-right: 0; }
.skeleton-line { height: 10px; width: 62%; margin-bottom: 15px; border-radius: 3px; background: #e4e9e7; animation: skeleton 1.3s ease-in-out infinite alternate; }
.skeleton-line.short { width: 34%; height: 23px; }

@keyframes skeleton { from { opacity: .5; } to { opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

@media (max-width: 1000px) {
  .main-content { padding: 24px; }
  .login-stage { grid-template-columns: minmax(0, 1fr) minmax(330px, .82fr); }
  .login-intro, .login-form-panel { padding: 42px 36px; }
  .metric-grid, .skeleton-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric:nth-child(2), .skeleton-box:nth-child(2) { border-right: 0; }
  .metric:nth-child(-n+2), .skeleton-box:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .dashboard-grid, .system-grid { grid-template-columns: 1fr; }
  .filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filters .button { width: 100%; }
  .workbench-overview { grid-template-columns: 1fr; }
  .workbench-overview-copy { border-right: 0; border-bottom: 1px solid var(--line); }
  .account-row { grid-template-columns: minmax(240px, 1.2fr) minmax(150px, .7fr) minmax(118px, .5fr); }
  .account-save { grid-column: 2 / -1; grid-template-columns: minmax(130px, 180px) 1fr; }
  .account-create-form { grid-template-columns: 1fr 1fr; }
  .account-create-form > div { grid-column: 1 / -1; }
  .account-create-form > .save-result { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  .app-shell { display: block; padding: 10px; }
  .sidebar { position: sticky; top: 10px; z-index: 2; height: auto; margin: 0; padding: 12px 14px 0; border: 1px solid rgba(255,255,255,.92); border-radius: 18px; }
  .brand-block { padding: 0; }
  .brand-mark { width: 30px; height: 30px; }
  .nav-list { position: relative; display: flex; gap: 2px; margin: 10px -4px 0; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
  .nav-list::-webkit-scrollbar { display: none; }
  .nav-section-label { display: none; }
  .nav-direct, .nav-group summary { min-height: 38px; grid-template-columns: auto; padding: 10px 9px; border-radius: 4px 4px 0 0; white-space: nowrap; font-size: 12px; }
  .nav-mark, .nav-group summary::after { display: none; }
  .nav-group { flex: 0 0 auto; }
  .nav-group-links { display: flex; gap: 2px; margin: 0; padding: 0 0 5px; border-left: 0; }
  .nav-group-links a { min-height: 34px; padding: 8px 9px; white-space: nowrap; }
  .nav-group:not([open]) .nav-group-links { display: none; }
  .nav-system { margin-top: 0; border-top: 0; }
  .nav-admin { margin-top: 0; border-top: 0; }
  .main-content { padding: 22px 6px 40px; }
  .login-stage { display: block; min-height: 0; border-radius: 13px; }
  .login-intro { min-height: 350px; padding: 32px 27px 27px; }
  .login-intro h2 { margin-top: 15px; font-size: 31px; }
  .login-intro > div > p { font-size: 12px; }
  .login-flow { margin-top: 34px; }
  .login-flow li { padding-right: 10px; }
  .login-flow li + li { padding-left: 10px; }
  .login-flow small { font-size: 9px; }
  .login-form-panel { padding: 32px 27px 34px; }
  .topbar { align-items: flex-start; padding-bottom: 16px; }
  .topbar-meta { display: grid; justify-items: end; gap: 5px; text-align: right; font-size: 10px; }
  h1 { font-size: 21px; }
  .workbench-heading { align-items: flex-start; }
  .workbench-heading > .status { display: none; }
  .workbench-stats { grid-template-columns: repeat(2, 1fr); }
  .workbench-stats button:nth-child(2) { border-right: 0; }
  .workbench-stats button:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .workbench-toolbar { align-items: flex-start; flex-direction: column; gap: 7px; }
  .case-card { padding: 17px 17px 15px; }
  .case-card-head { display: grid; }
  .case-statuses { justify-content: flex-start; }
  .case-brief, .case-form { grid-template-columns: 1fr; }
  .case-editor { margin: 14px -17px -15px; }
  .case-editor > summary { padding: 13px 17px; }
  .case-editor > summary small { display: none; }
  .case-form { padding: 16px 17px 18px; }
  .case-form .field-wide { grid-column: auto; }
  .case-actions .button { flex: 1 1 140px; }
  .page { padding-top: 17px; }
  .metric-grid, .skeleton-grid { grid-template-columns: 1fr 1fr; }
  .metric { padding: 15px 13px; }
  .metric-value { font-size: 23px; }
  .dashboard-grid, .system-grid { gap: 24px; margin-top: 24px; }
  .filters { grid-template-columns: 1fr 1fr; gap: 10px; }
  .login-panel { grid-template-columns: 1fr; max-width: none; }
  .login-panel .button { width: 100%; }
  .field-wide { grid-column: 1 / -1; }
  .section-heading { align-items: flex-start; }
  .sales-report-heading { display: grid; }
  .sales-quick-actions { justify-content: flex-start; }
  .table-wrap { border: 0; background: transparent; overflow: visible; }
  .data-table, .data-table tbody, .data-table tr, .data-table td { display: block; width: 100%; }
  .data-table thead { display: none; }
  .data-table tr { margin-bottom: 10px; padding: 7px 12px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
  .data-table td { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--line); }
  .data-table td::before { content: attr(data-label); color: var(--muted); font-size: 10px; font-weight: 700; }
  .data-table td:last-child { border-bottom: 0; }
  .pagination { justify-content: space-between; }
  .report-head { grid-template-columns: 1fr; gap: 8px; }
  .report-head > .status { justify-self: start; }
  .artifact-link { max-width: 100%; }
  .latest-report-header { display: grid; padding: 18px; }
  .latest-report-actions { justify-content: flex-start; }
  .latest-report-stage { padding: 7px; }
  .latest-report-frame { min-height: 680px; height: 76dvh; border-radius: 12px; }
  .system-item { grid-template-columns: minmax(120px, 1fr) auto; gap: 8px 12px; }
  .system-impact { grid-column: 1 / -1; }
  .project-table td:last-child { text-align: left; }
  .reviewer-bar, .linkage-card-head, .linkage-evidence, .linkage-actions { grid-template-columns: 1fr; }
  .linkage-target-search, .linkage-correction-confirm { grid-template-columns: 1fr; }
  .linkage-arrow { text-align: left; transform: rotate(90deg); transform-origin: center; width: 24px; }
  .linkage-card-head > .status { justify-self: start; }
  .account-heading { display: grid; }
  .account-policy-note { align-items: flex-start; flex-direction: column; gap: 4px; }
  .account-row { grid-template-columns: 1fr 1fr; gap: 13px; padding: 16px 0; }
  .account-identity { grid-column: 1 / -1; }
  .account-save { grid-column: 1 / -1; grid-template-columns: 1fr; }
  .account-save .save-result { text-align: left; }
  .password-change-form { padding: 19px 17px; }
  .password-dialog-head { grid-template-columns: 1fr; }
  .password-dialog-head .button { width: 100%; }
  .account-create-form { grid-template-columns: 1fr; padding: 14px; }
  .account-create-form > div, .account-create-form > .save-result { grid-column: auto; }
}

@media (max-width: 420px) {
  .login-flow small { display: none; }
  .login-intro { min-height: 300px; }
  .filters { grid-template-columns: 1fr; }
  .field-wide { grid-column: auto; }
  .unavailable-strip { display: grid; grid-template-columns: 1fr 1fr; }
  .bar-item { grid-template-columns: 80px minmax(70px, 1fr) 38px; }
}

@media (max-width: 860px) {
  .employee-delivery-row { grid-template-columns: 1fr; gap: 9px; }
  .employee-delivery-row .button { width: 100%; }
}
.feedback-submitted {
  color: #176448;
  font-weight: 700;
  margin: 0.4rem 0 0;
}

.product-directory { margin-bottom: 18px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); box-shadow: 0 18px 44px -40px rgba(23, 32, 29, .45); }
.product-directory-loading { padding: 22px; color: var(--muted); font-size: 13px; }
.product-directory-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 19px 21px 16px; border-bottom: 1px solid var(--line); background: linear-gradient(135deg, #f7faf8 0%, #eef5f1 100%); }
.product-directory-head h3 { margin: 5px 0 0; font-size: 20px; letter-spacing: -.02em; }
.product-directory-head p { margin: 0; color: var(--muted); font-size: 12px; }
.product-directory-head p strong { color: var(--text); font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-size: 14px; }
.product-directory-row { display: grid; grid-template-columns: 66px minmax(0, 1fr); gap: 15px; align-items: start; min-height: 58px; padding: 11px 21px; border-bottom: 1px solid var(--line); }
.product-directory-row > b { padding-top: 9px; color: #596660; font-size: 12px; }
.product-directory-row > div { display: flex; flex-wrap: wrap; gap: 7px; }
.product-directory-row.is-muted > div { padding-top: 8px; color: #78847f; font-size: 12px; }
.product-directory-choice { display: grid; grid-template-columns: auto auto; align-items: center; gap: 8px; min-height: 38px; padding: 8px 11px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: #35423d; cursor: pointer; transition: background-color 160ms cubic-bezier(.16, 1, .3, 1), border-color 160ms cubic-bezier(.16, 1, .3, 1); }
.product-directory-choice span { font-size: 13px; font-weight: 720; line-height: 1.35; }
.product-directory-choice small { color: #74817b; font-size: 10px; line-height: 1.35; }
.product-directory-choice:hover { border-color: #aec6bc; background: #f3f8f5; }
.product-directory-choice.is-selected { border-color: #81a897; background: var(--accent-soft); color: var(--accent-dark); }
.product-directory-choice.is-selected small { color: #557768; }
.product-directory-all { grid-template-columns: auto; }
.product-directory-note { margin: 0; padding: 11px 21px 12px 102px; background: #fafcfb; color: var(--muted); font-size: 11px; line-height: 1.55; }
.knowledge-admin-directory { margin-top: -2px; }
.product-search { display: grid; grid-template-columns: minmax(260px, 1fr) auto; align-items: end; gap: 12px; margin-bottom: 22px; }
.product-list { display: grid; gap: 18px; }
.product-result-count { color: var(--muted); font-size: 12px; }
.product-card { padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.product-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 13px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.product-card-head h3 { margin: 4px 0 0; color: var(--text); font-size: 19px; }
.product-head-actions { display: grid; justify-items: end; gap: 8px; }
.product-head-buttons { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.product-card h4 { margin-bottom: 7px; font-size: 12px; }
.product-card details { margin-top: 16px; padding: 12px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.product-card summary { cursor: pointer; color: var(--accent-dark); font-size: 12px; font-weight: 700; }
.product-card ul { margin: 8px 0 0; padding-left: 18px; color: #39433f; font-size: 12px; }
.product-card li { margin-bottom: 8px; }
.product-card li span { color: var(--muted); }
.product-facts, .product-commercial { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.product-commercial { grid-template-columns: 1fr; align-items: start; }
.product-facts section, .product-commercial section { min-width: 0; padding: 13px; background: var(--surface-muted); border-radius: var(--radius); font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }
.product-commercial .product-price-panel { display: grid; grid-template-columns: minmax(130px, .2fr) minmax(0, 1fr); align-items: center; gap: 16px; padding: 11px 13px; }
.product-price-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 !important; padding: 0 !important; list-style: none; }
.product-price-item { display: grid; flex: 1 1 210px; max-width: 320px; gap: 3px; margin: 0 !important; padding: 2px 10px; border-left: 1px solid var(--line-strong); }
.product-price-item:first-child { border-left-color: var(--accent); }
.product-price-primary { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.product-price-primary strong { color: var(--text); font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-size: 15px; letter-spacing: -.02em; }
.product-price-primary span { color: var(--accent-dark) !important; font-size: 10px; font-weight: 700; }
.product-price-item small { display: block; color: var(--muted); font-size: 9px; line-height: 1.45; }
.product-price-empty { margin: 0 !important; padding: 2px 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.product-inline-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.product-inline-actions .button, .product-inline-actions a.button { display: inline-flex; align-items: center; height: 30px; padding: 0 9px; text-decoration: none; }
.product-asset-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 0 !important; list-style: none; }
.product-asset-item { min-width: 0; margin: 0 !important; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.product-asset-preview { display: grid; width: 100%; aspect-ratio: 4 / 3; place-items: center; overflow: hidden; background: #202825; color: #dce5e1; text-decoration: none; }
.product-asset-preview img, .product-asset-preview video { display: block; width: 100%; height: 100%; object-fit: cover; }
.product-asset-placeholder { background: #e5ebe8; color: var(--muted); font-size: 11px; font-weight: 700; }
.product-asset-body { padding: 10px; }
.product-asset-body > strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-asset-path { display: -webkit-box; margin-top: 4px; overflow: hidden; color: var(--muted); font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-size: 10px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.product-folder-link { width: 100%; padding: 6px 7px; border: 1px solid transparent; border-radius: 4px; background: transparent; text-align: left; cursor: pointer; -webkit-line-clamp: unset; transition: transform 120ms ease, border-color 180ms cubic-bezier(.16, 1, .3, 1), background-color 180ms cubic-bezier(.16, 1, .3, 1); }
.product-folder-link:hover { border-color: var(--line-strong); background: var(--accent-soft); color: var(--accent-dark); }
.product-folder-link:active { transform: translateY(1px); }
.product-folder-link span { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.product-folder-link b { display: block; margin-top: 3px; color: var(--accent-dark); font-family: "Geist", "PingFang SC", sans-serif; font-size: 9px; }
.product-faq-section { margin-top: 16px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: #f8faf9; }
.product-section-title { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.product-section-title h4 { margin: 0; }
.product-section-title span { color: var(--muted); font-size: 10px; }
.product-card details.product-faq { margin-top: 10px; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.product-card details.product-faq.is-match { border-color: #83af9c; box-shadow: inset 3px 0 0 var(--accent); }
.product-faq summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 11px 12px; list-style: none; }
.product-faq summary::-webkit-details-marker { display: none; }
.product-faq summary span { color: var(--text); font-size: 12px; }
.product-faq summary small, .product-faq summary b { font-size: 9px; white-space: nowrap; }
.product-faq summary small { color: var(--muted); }
.product-faq summary b { padding: 3px 5px; border-radius: 3px; background: var(--accent-soft); color: var(--accent-dark); }
.product-faq-answer { padding: 11px 12px; border-top: 1px solid var(--line); color: #33413c; font-size: 12px; line-height: 1.65; }
.product-faq > p { margin: 0; padding: 0 12px 11px; color: var(--muted); font-size: 9px; }

.knowledge-admin-heading { align-items: center; }
.knowledge-admin-heading-actions { display: flex; align-items: center; gap: 8px; }
.knowledge-admin-heading-actions .button { display: inline-flex; align-items: center; text-decoration: none; }
.knowledge-scenario-bar { display: grid; grid-template-columns: minmax(220px, .56fr) minmax(0, 1.44fr); gap: 18px; margin-bottom: 18px; padding: 18px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); box-shadow: 0 18px 45px -40px rgba(23, 32, 29, .5); }
.knowledge-scenario-intro strong { display: block; margin-top: 5px; font-size: 15px; }
.knowledge-scenario-intro p { max-width: 46ch; margin: 5px 0 0; font-size: 11px; }
.knowledge-scenario-tabs { display: grid; grid-template-columns: repeat(6, minmax(90px, 1fr)); gap: 7px; align-self: center; }
.knowledge-scenario-tab { min-width: 0; padding: 11px 10px; border: 1px solid var(--line); border-radius: var(--radius); background: #f8faf9; color: var(--text); text-align: left; cursor: pointer; transition: transform 120ms ease, border-color 180ms cubic-bezier(.16, 1, .3, 1), background-color 180ms cubic-bezier(.16, 1, .3, 1); }
.knowledge-scenario-tab:hover { border-color: #91aaa0; background: var(--surface); }
.knowledge-scenario-tab:active { transform: translateY(1px); }
.knowledge-scenario-tab span, .knowledge-scenario-tab strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.knowledge-scenario-tab span { color: var(--muted); font-size: 10px; font-weight: 700; }
.knowledge-scenario-tab strong { margin-top: 5px; font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-size: 16px; }
.knowledge-scenario-tab.is-active { border-color: #7aa895; background: var(--accent-soft); color: var(--accent-dark); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7); }
.knowledge-scenario-tab.is-active span { color: var(--accent-dark); }
.knowledge-summary-filter { color: inherit; text-align: left; cursor: pointer; transition: border-color 180ms cubic-bezier(.16, 1, .3, 1), transform 120ms ease, background-color 180ms cubic-bezier(.16, 1, .3, 1); }
.knowledge-summary-filter:hover { border-color: #91aaa0; background: #fbfdfc; }
.knowledge-summary-filter:active { transform: translateY(1px); }
.quote-sync-panel { display: grid; grid-template-columns: minmax(210px, 1fr) auto auto; align-items: center; gap: 18px; margin: 0 0 18px; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.quote-sync-panel strong, .quote-sync-panel span { display: block; }
.quote-sync-panel span { margin-top: 4px; color: var(--muted); font-size: 11px; }
.quote-sync-copy .eyebrow { margin: 0 0 4px; }
.quote-sync-stats { display: flex; align-items: center; gap: 16px; }
.quote-sync-stats span { margin: 0; white-space: nowrap; }
.quote-sync-stats b { color: var(--text); font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-size: 13px; }
.quote-sync-stats .has-warning, .quote-sync-stats .has-warning b { color: var(--warning); }
.quote-sync-actions { display: flex; gap: 8px; }
.knowledge-admin-workspace { display: grid; grid-template-columns: minmax(300px, .68fr) minmax(540px, 1.32fr); min-height: 680px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); overflow: clip; box-shadow: 0 22px 55px -45px rgba(23, 32, 29, .42); }
.knowledge-catalog { min-width: 0; border-right: 1px solid var(--line); background: #f8faf9; }
.knowledge-catalog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 20px 18px 14px; }
.knowledge-catalog-head h3 { margin: 4px 0 0; font-size: 16px; }
.knowledge-catalog-head p { margin: 4px 0 0; font-size: 10px; }
.knowledge-catalog-count { min-width: 34px; padding-top: 2px; color: var(--muted); font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-size: 12px; text-align: right; }
.knowledge-catalog-tools { display: grid; grid-template-columns: minmax(0, 1fr) 104px 104px; gap: 8px; padding: 0 18px 16px; border-bottom: 1px solid var(--line); }
.knowledge-catalog .field > span, .knowledge-form .field > span { color: var(--muted); font-size: 11px; font-weight: 700; }
.knowledge-form .field > small { margin-top: -2px; color: var(--muted); font-size: 10px; line-height: 1.45; }
#knowledge-admin-list { max-height: 640px; overflow-y: auto; overscroll-behavior: contain; }
.knowledge-admin-items { display: grid; }
.knowledge-product-row { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 14px 18px; border: 0; border-bottom: 1px solid var(--line); border-left: 3px solid transparent; background: transparent; color: var(--text); text-align: left; cursor: pointer; animation: knowledge-row-in 280ms cubic-bezier(.16, 1, .3, 1) both; animation-delay: calc(var(--row-index) * 24ms); transition: background-color 180ms cubic-bezier(.16, 1, .3, 1), border-color 180ms cubic-bezier(.16, 1, .3, 1), transform 120ms ease; }
.knowledge-product-row:hover { background: var(--surface); }
.knowledge-product-row:active { transform: translateY(1px); }
.knowledge-product-row.is-selected { border-left-color: var(--accent); background: var(--accent-soft); }
.knowledge-product-row:disabled { opacity: .62; cursor: wait; }
.knowledge-product-copy { min-width: 0; }
.knowledge-product-copy strong, .knowledge-product-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.knowledge-product-copy strong { font-size: 13px; line-height: 1.45; }
.knowledge-product-copy small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.knowledge-product-copy em { display: block; margin-top: 5px; overflow: hidden; color: var(--warning); font-size: 10px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.knowledge-product-score { min-width: 42px; padding: 5px 6px; border-radius: 4px; background: var(--warning-soft); color: var(--warning); font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-size: 10px; font-weight: 750; text-align: center; }
.knowledge-product-score.is-ready { background: var(--accent-soft); color: var(--accent-dark); }
@keyframes knowledge-row-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }

.knowledge-editor { min-width: 0; background: var(--surface); }
.knowledge-editor-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; min-height: 91px; padding: 20px 22px 16px; border-bottom: 1px solid var(--line); }
.knowledge-editor-head h3 { margin: 4px 0 3px; font-size: 18px; }
.knowledge-editor-head p { max-width: 68ch; margin: 0; font-size: 11px; }
.knowledge-product-health { display: grid; grid-template-columns: minmax(180px, .62fr) minmax(0, 1.38fr); align-items: center; gap: 18px; padding: 14px 22px; border-bottom: 1px solid var(--line); background: #f8faf9; }
.knowledge-health-score strong { display: block; margin-top: 4px; font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-size: 16px; }
.knowledge-health-score p { margin: 3px 0 0; font-size: 10px; }
.knowledge-health-steps { display: grid; grid-template-columns: repeat(5, minmax(76px, 1fr)); gap: 6px; }
.knowledge-health-step { display: flex; align-items: center; gap: 6px; min-width: 0; padding: 7px 8px; border: 1px solid var(--line); border-radius: 4px; background: var(--surface); color: var(--muted); font-size: 10px; white-space: nowrap; }
.knowledge-health-step b { display: grid; flex: 0 0 17px; width: 17px; height: 17px; place-items: center; border-radius: 50%; background: var(--surface-muted); font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-size: 9px; }
.knowledge-health-step.is-done { border-color: #a8cbbb; background: #f0f7f4; color: var(--accent-dark); }
.knowledge-health-step.is-done b { background: var(--accent); color: #fff; }
.knowledge-form { display: grid; }
.knowledge-form-section { min-width: 0; margin: 0; padding: 20px 22px; border: 0; border-bottom: 1px solid var(--line); }
.knowledge-form-section legend { padding: 0; color: var(--text); font-size: 12px; font-weight: 750; }
.knowledge-form-section summary { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; cursor: pointer; list-style: none; }
.knowledge-form-section summary::-webkit-details-marker { display: none; }
.knowledge-form-section summary span { font-size: 12px; font-weight: 750; }
.knowledge-form-section summary span::after { content: "+"; display: inline-block; width: 18px; margin-left: 8px; color: var(--accent); font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; }
.knowledge-form-section[open] summary span::after { content: "−"; }
.knowledge-form-section summary small { color: var(--muted); font-size: 10px; font-weight: 500; }
.knowledge-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 12px; margin-top: 16px; }
.knowledge-form-basics .knowledge-form-grid { margin-top: 12px; }
.knowledge-form .field-wide { grid-column: 1 / -1; }
.faq-editor-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 14px; }
.faq-editor-head p { max-width: 68ch; margin: 0; font-size: 10px; }
.faq-editor { display: grid; gap: 10px; margin-top: 12px; }
.faq-editor-row { padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: #f8faf9; animation: knowledge-row-in 280ms cubic-bezier(.16, 1, .3, 1) both; animation-delay: calc(var(--faq-index) * 35ms); }
.faq-editor-row-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 11px; }
.faq-editor-row-head strong { font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-size: 10px; }
.faq-editor-grid { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 11px 12px; }
.faq-editor-grid .field-wide { grid-column: 1 / -1; }
.nas-picker-launch { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px; border: 1px solid #a8cbbb; border-radius: var(--radius); background: #f0f7f4; }
.nas-picker-launch strong { display: block; font-size: 12px; }
.nas-picker-launch p { margin: 4px 0 0; font-size: 10px; }
.knowledge-form-actions { position: sticky; bottom: 0; display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 12px 22px; border-top: 1px solid var(--line-strong); background: rgba(255, 255, 255, .94); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7); backdrop-filter: blur(14px); }
.knowledge-quote-match { padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: #f8faf9; }
.knowledge-quote-match > strong { display: block; margin-bottom: 8px; }
.knowledge-quote-match p { margin: 5px 0; font-size: 11px; }
.quote-linked { padding: 9px 10px; border-left: 3px solid var(--accent); background: #eef7f2; }
.quote-linked strong, .quote-linked span, .quote-suggestion strong, .quote-suggestion span { display: block; }
.quote-linked span, .quote-suggestion span { margin-top: 3px; color: var(--muted); font-size: 10px; }
.quote-suggestions { display: grid; gap: 7px; margin-top: 10px; }
.quote-suggestion { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.quote-suggestion.is-linked { border-color: #89bda7; }
.match-score { white-space: nowrap; }

.nas-picker-dialog { width: min(1160px, calc(100vw - 36px)); max-width: none; height: min(840px, calc(100dvh - 36px)); max-height: none; padding: 0; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--surface); color: var(--text); box-shadow: 0 40px 100px -48px rgba(23, 32, 29, .72); }
.nas-picker-dialog::backdrop { background: rgba(23, 32, 29, .56); backdrop-filter: blur(4px); }
.knowledge-import-dialog { width: min(900px, calc(100vw - 36px)); height: min(760px, calc(100dvh - 36px)); }
.knowledge-import-shell { grid-template-rows: auto auto auto minmax(0, 1fr) auto; }
.knowledge-import-guide { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 22px; border-bottom: 1px solid var(--line); background: var(--accent-soft); }
.knowledge-import-guide strong { display: block; font-size: 12px; }
.knowledge-import-guide p { margin: 4px 0 0; font-size: 10px; }
.knowledge-import-guide .button { flex: 0 0 auto; }
.knowledge-import-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 14px; padding: 16px 22px; border-bottom: 1px solid var(--line); background: #f8faf9; }
.knowledge-import-form input[type="file"] { padding: 8px; background: var(--surface); }
.knowledge-import-result { min-height: 0; padding: 18px 22px 26px; overflow-y: auto; }
.knowledge-import-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.knowledge-import-summary span { display: grid; gap: 3px; padding: 11px 12px; border: 1px solid var(--line); border-radius: var(--radius); background: #f8faf9; color: var(--muted); font-size: 10px; }
.knowledge-import-summary b { color: var(--text); font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-size: 17px; }
.knowledge-import-summary .has-error, .knowledge-import-summary .has-error b { border-color: #dfbf90; color: var(--warning); }
.knowledge-import-section { margin-top: 18px; }
.knowledge-import-section h3 { margin-bottom: 8px; font-size: 12px; }
.knowledge-import-section > p { margin: 8px 0 0; font-size: 10px; }
.knowledge-import-table { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); }
.knowledge-import-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px; min-height: 38px; padding: 8px 10px; border-bottom: 1px solid var(--line); background: var(--surface); }
.knowledge-import-row:last-child { border-bottom: 0; }
.knowledge-import-row strong { font-size: 10px; }
.knowledge-import-row span { color: var(--muted); font-size: 10px; }
.knowledge-import-section.has-errors .knowledge-import-row { grid-template-columns: 180px minmax(0, 1fr); background: #fffaf0; }
.knowledge-import-action { min-width: 44px; padding: 3px 6px; border-radius: 3px; background: var(--surface-muted); text-align: center; }
.knowledge-import-action.new, .knowledge-import-action.update { background: var(--accent-soft); color: var(--accent-dark); font-weight: 700; }
.knowledge-import-footer { min-height: 66px; }
.knowledge-package-dialog { width: min(920px, calc(100vw - 36px)); height: min(760px, calc(100dvh - 36px)); }
.knowledge-package-shell { grid-template-rows: auto auto minmax(0, 1fr) auto; }
.knowledge-package-search { display: grid; grid-template-columns: minmax(260px, 1fr) auto; align-items: end; gap: 8px; padding: 14px 22px; border-bottom: 1px solid var(--line); background: #f8faf9; }
.knowledge-package-results { min-height: 0; padding: 16px 22px 24px; overflow-y: auto; }
.knowledge-package-list { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); }
.knowledge-package-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 58px; padding: 10px 12px; border-bottom: 1px solid var(--line); background: var(--surface); cursor: pointer; transition: background-color 160ms cubic-bezier(.16, 1, .3, 1); }
.knowledge-package-row:last-child { border-bottom: 0; }
.knowledge-package-row:hover, .knowledge-package-row.is-selected { background: var(--accent-soft); }
.knowledge-package-row input { width: 17px; height: 17px; margin: 0; accent-color: var(--accent); }
.knowledge-package-row span { min-width: 0; }
.knowledge-package-row strong, .knowledge-package-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.knowledge-package-row strong { font-size: 11px; }
.knowledge-package-row small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.knowledge-package-row em { color: var(--muted); font-size: 9px; font-style: normal; white-space: nowrap; }
.knowledge-package-footer { min-height: 72px; }
.nas-picker-shell { display: grid; grid-template-rows: auto auto auto auto minmax(0, 1fr) auto; height: 100%; }
.nas-picker-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 20px 22px 16px; border-bottom: 1px solid var(--line); }
.nas-picker-head h2 { margin: 5px 0 3px; font-size: 18px; }
.nas-picker-head p { margin: 0; font-size: 11px; }
.nas-picker-search { display: grid; grid-template-columns: minmax(260px, 1fr) auto auto; align-items: end; gap: 8px; padding: 14px 22px; background: #f8faf9; }
.nas-picker-suggestions { display: flex; align-items: center; gap: 7px; min-height: 0; padding: 0 22px; overflow-x: auto; background: #f8faf9; }
.nas-picker-suggestions:not(:empty) { padding-bottom: 14px; }
.nas-picker-suggestions > span { flex: 0 0 auto; color: var(--muted); font-size: 10px; font-weight: 700; }
.nas-suggestion { flex: 0 0 auto; max-width: 260px; padding: 7px 9px; overflow: hidden; border: 1px solid #a8cbbb; border-radius: 4px; background: var(--surface); color: var(--accent-dark); font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.nas-suggestion:hover { background: var(--accent-soft); }
.nas-suggestion:active { transform: translateY(1px); }
.nas-picker-breadcrumbs { display: flex; align-items: center; gap: 5px; min-height: 42px; padding: 8px 22px; overflow-x: auto; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--surface); }
.nas-picker-breadcrumbs button { flex: 0 0 auto; padding: 5px 7px; border: 0; border-radius: 4px; background: transparent; color: var(--accent-dark); font-size: 10px; font-weight: 700; cursor: pointer; }
.nas-picker-breadcrumbs button:hover { background: var(--accent-soft); }
.nas-picker-breadcrumbs i { color: var(--line-strong); font-style: normal; }
.nas-picker-results { min-height: 0; padding: 18px 22px 26px; overflow-y: auto; overscroll-behavior: contain; }
.nas-picker-result-meta { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 12px; color: var(--muted); font-size: 10px; }
.nas-picker-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.nas-folder-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 54px; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--radius); background: #f8faf9; color: var(--text); text-align: left; cursor: pointer; transition: transform 120ms ease, border-color 180ms cubic-bezier(.16, 1, .3, 1), background-color 180ms cubic-bezier(.16, 1, .3, 1); }
.nas-folder-card:hover { border-color: #91aaa0; background: var(--surface); }
.nas-folder-card:active { transform: translateY(1px); }
.nas-folder-mark { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 4px; background: var(--surface-muted); color: var(--accent-dark); font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-size: 9px; font-weight: 750; }
.nas-folder-copy { min-width: 0; }
.nas-folder-copy strong, .nas-folder-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nas-folder-copy strong { font-size: 11px; }
.nas-folder-copy small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.nas-folder-count { color: var(--muted); font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-size: 9px; }
.nas-asset-card { position: relative; display: grid; grid-template-rows: auto minmax(64px, auto); min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); cursor: pointer; transition: transform 120ms ease, border-color 180ms cubic-bezier(.16, 1, .3, 1), box-shadow 180ms cubic-bezier(.16, 1, .3, 1); }
.nas-asset-card:hover { border-color: #91aaa0; }
.nas-asset-card:active { transform: translateY(1px); }
.nas-asset-card.is-selected { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.nas-asset-card.is-linked { opacity: .62; cursor: default; }
.nas-asset-card input { position: absolute; top: 9px; left: 9px; width: 17px; height: 17px; margin: 0; accent-color: var(--accent); }
.nas-asset-preview { display: grid; width: 100%; aspect-ratio: 4 / 3; place-items: center; overflow: hidden; background: #202825; color: #dce5e1; }
.nas-asset-preview img, .nas-asset-preview video { display: block; width: 100%; height: 100%; object-fit: cover; }
.nas-asset-preview span { padding: 14px; font-size: 10px; font-weight: 700; text-align: center; }
.nas-asset-info { min-width: 0; padding: 10px; }
.nas-asset-info strong, .nas-asset-info small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nas-asset-info strong { font-size: 10px; }
.nas-asset-info small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.nas-asset-linked { display: inline-block; margin-top: 5px; color: var(--accent-dark); font-size: 9px; font-weight: 700; }
.nas-picker-loading { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.nas-picker-loading span { height: 180px; border-radius: var(--radius); background: linear-gradient(100deg, #edf1ef 25%, #f8faf9 38%, #edf1ef 52%); background-size: 200% 100%; animation: nas-picker-shimmer 1.2s cubic-bezier(.16, 1, .3, 1) infinite; }
@keyframes nas-picker-shimmer { to { background-position-x: -200%; } }
.nas-picker-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 13px 22px; border-top: 1px solid var(--line-strong); background: rgba(255, 255, 255, .96); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7); backdrop-filter: blur(14px); }
.nas-picker-footer strong, .nas-picker-footer span { display: block; }
.nas-picker-footer strong { font-size: 12px; }
.nas-picker-footer span { margin-top: 3px; color: var(--muted); font-size: 10px; }
.nas-picker-footer-actions { display: flex; gap: 8px; }
.product-folder-shell { grid-template-rows: auto auto minmax(0, 1fr) auto; }
.product-folder-pathbar { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 11px 22px; border-bottom: 1px solid var(--line); background: #f8faf9; }
.product-folder-pathbar > span { color: var(--muted); font-size: 10px; font-weight: 700; }
.product-folder-pathbar > strong { overflow: hidden; color: #41514a; font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-size: 10px; font-weight: 550; text-overflow: ellipsis; white-space: nowrap; }
.product-folder-results { padding-top: 16px; }
.product-folder-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.product-folder-item, .product-folder-subfolder { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.product-folder-item.is-current { border-color: #83af9c; box-shadow: inset 0 -3px 0 var(--accent); }
.product-folder-preview { display: grid; width: 100%; aspect-ratio: 4 / 3; place-items: center; overflow: hidden; background: #202825; color: #dce5e1; text-decoration: none; }
.product-folder-preview img, .product-folder-preview video { display: block; width: 100%; height: 100%; object-fit: cover; }
.product-folder-item-body { padding: 10px; }
.product-folder-item-body > strong, .product-folder-item-body > small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-folder-item-body > strong { font-size: 10px; }
.product-folder-item-body > small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.product-folder-subfolder { display: grid; width: 100%; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 10px; min-height: 64px; padding: 11px; background: #f8faf9; color: var(--text); text-align: left; cursor: pointer; transition: transform 120ms ease, border-color 180ms cubic-bezier(.16, 1, .3, 1), background-color 180ms cubic-bezier(.16, 1, .3, 1); }
.product-folder-subfolder:hover { border-color: #91aaa0; background: var(--accent-soft); }
.product-folder-subfolder:active { transform: translateY(1px); }
.product-folder-footer { min-height: 64px; }

.help-heading { align-items: center; }
.help-quick-links { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.help-quick-links button, .help-section-index button, .help-search-result button {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--accent-dark);
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  transition: transform 120ms ease, border-color 180ms cubic-bezier(.16, 1, .3, 1), background-color 180ms cubic-bezier(.16, 1, .3, 1);
}
.help-quick-links button { min-height: 36px; padding: 8px 11px; }
.help-quick-links button:hover, .help-section-index button:hover, .help-search-result button:hover { border-color: #91aaa0; background: var(--accent-soft); }
.help-quick-links button:active, .help-section-index button:active, .help-search-result button:active { transform: translateY(1px); }
.help-workspace { display: grid; grid-template-columns: minmax(240px, .48fr) minmax(0, 1.52fr); min-height: 680px; overflow: clip; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); box-shadow: 0 22px 55px -45px rgba(23, 32, 29, .42); }
.help-library { min-width: 0; padding: 18px; border-right: 1px solid var(--line); background: #f8faf9; }
.help-library .field > span { color: var(--muted); font-size: 11px; font-weight: 700; }
.help-document-list { display: grid; gap: 8px; margin-top: 16px; }
.help-document-button { width: 100%; display: grid; gap: 5px; padding: 13px 12px; border: 1px solid var(--line); border-left: 3px solid transparent; border-radius: var(--radius); background: var(--surface); color: var(--text); text-align: left; cursor: pointer; transition: transform 120ms ease, border-color 180ms cubic-bezier(.16, 1, .3, 1), background-color 180ms cubic-bezier(.16, 1, .3, 1); }
.help-document-button:hover { border-color: #91aaa0; }
.help-document-button:active { transform: translateY(1px); }
.help-document-button.is-active { border-left-color: var(--accent); background: var(--accent-soft); }
.help-document-button strong { font-size: 12px; line-height: 1.45; }
.help-document-button span { color: var(--muted); font-size: 10px; line-height: 1.5; }
.help-document-button small { color: var(--accent-dark); font-size: 9px; }
.help-reader { min-width: 0; background: var(--surface); }
.help-reader-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 24px; padding: 22px 26px 18px; border-bottom: 1px solid var(--line); }
.help-reader-head h2 { margin: 5px 0 4px; font-size: 19px; }
.help-reader-head p { max-width: 64ch; margin: 0; font-size: 11px; }
.help-reader-meta { display: grid; gap: 4px; color: var(--muted); font-size: 9px; text-align: right; }
.help-search-result { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 26px; border-bottom: 1px solid #ead6b8; background: var(--warning-soft); color: var(--warning); font-size: 11px; }
.help-search-result button { padding: 5px 8px; border-color: #dfbf90; background: rgba(255, 255, 255, .58); color: var(--warning); }
.help-section-index { display: flex; flex-wrap: wrap; gap: 6px; padding: 12px 26px; border-bottom: 1px solid var(--line); background: #f8faf9; }
.help-section-index button { padding: 6px 8px; background: transparent; font-size: 10px; }
.help-article-body { padding: 4px 26px 30px; }
.help-article-section { scroll-margin-top: 18px; padding: 22px 0 20px; border-bottom: 1px solid var(--line); }
.help-article-section:last-child { border-bottom: 0; }
.help-article-section > h2 { margin-bottom: 13px; color: var(--text); font-size: 15px; }
.help-article-section h3 { margin: 18px 0 8px; font-size: 12px; }
.help-article-section p, .help-article-section li { max-width: 78ch; color: #43504b; font-size: 12px; line-height: 1.72; }
.help-article-section p { margin-bottom: 9px; }
.help-article-section ul, .help-article-section ol { margin: 0 0 10px; padding-left: 20px; }
.help-article-section li + li { margin-top: 5px; }
.help-article-section code { padding: 2px 4px; border-radius: 3px; background: var(--surface-muted); font-family: "Geist Mono", "SFMono-Regular", Consolas, monospace; font-size: .9em; }
.help-article-section pre { max-width: 100%; padding: 13px 14px; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: #202825; color: #e7eeeb; }
.help-article-section pre code { padding: 0; background: transparent; color: inherit; font-size: 10px; line-height: 1.65; }

@media (max-width: 1000px) {
  .knowledge-scenario-bar { grid-template-columns: 1fr; }
  .knowledge-scenario-tabs { grid-template-columns: repeat(6, minmax(90px, 1fr)); overflow-x: auto; }
  .quote-sync-panel { grid-template-columns: 1fr auto; }
  .quote-sync-stats { grid-column: 1 / -1; grid-row: 2; }
  .knowledge-admin-workspace { grid-template-columns: 290px minmax(0, 1fr); }
  .knowledge-catalog-tools { grid-template-columns: 1fr; }
  .knowledge-product-health { grid-template-columns: 1fr; }
  .knowledge-health-steps { grid-template-columns: repeat(5, minmax(88px, 1fr)); overflow-x: auto; }
  .nas-picker-grid, .nas-picker-loading, .product-folder-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .help-workspace { grid-template-columns: 220px minmax(0, 1fr); }
}

@media (max-width: 767px) {
  .product-search { grid-template-columns: 1fr; }
  .product-directory-head { display: grid; gap: 9px; padding: 17px 16px 14px; }
  .product-directory-row { grid-template-columns: 1fr; gap: 4px; padding: 10px 16px; }
  .product-directory-row > b { padding-top: 0; }
  .product-directory-row > div { flex-wrap: nowrap; margin-right: -16px; padding-right: 16px; overflow-x: auto; }
  .product-directory-choice { flex: 0 0 auto; }
  .product-directory-note { padding: 10px 16px; }
  .knowledge-admin-heading { align-items: stretch; }
  .knowledge-admin-heading-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .knowledge-admin-heading .button { width: 100%; justify-content: center; }
  .knowledge-scenario-bar { padding: 14px; }
  .knowledge-scenario-tabs { grid-template-columns: repeat(6, 112px); margin-right: -14px; padding-right: 14px; }
  .knowledge-admin-workspace { display: block; min-height: 0; overflow: visible; }
  .knowledge-catalog { border-right: 0; border-bottom: 1px solid var(--line); }
  #knowledge-admin-list { max-height: 390px; }
  .knowledge-editor-head { display: grid; padding: 18px 16px 14px; }
  .knowledge-editor-head .button { width: 100%; }
  .knowledge-form-section { padding: 18px 16px; }
  .knowledge-form-grid { grid-template-columns: 1fr; }
  .knowledge-form .field-wide { grid-column: auto; }
  .knowledge-form-section summary { display: grid; gap: 3px; }
  .knowledge-form-actions { padding: 12px 16px; }
  .product-card-head { display: grid; }
  .product-head-actions { justify-items: start; }
  .product-head-buttons { justify-content: flex-start; }
  .product-facts, .product-commercial { grid-template-columns: 1fr; }
  .product-commercial .product-price-panel { grid-template-columns: 1fr; gap: 7px; }
  .product-price-item { max-width: none; }
  .product-asset-list { grid-template-columns: 1fr; }
  .quote-sync-panel { display: grid; grid-template-columns: 1fr; align-items: stretch; }
  .quote-sync-stats { grid-column: auto; grid-row: auto; flex-wrap: wrap; gap: 10px 15px; }
  .quote-sync-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .knowledge-product-health { padding: 14px 16px; }
  .knowledge-health-steps { grid-template-columns: repeat(5, 100px); margin-right: -16px; padding-right: 16px; }
  .nas-picker-launch { align-items: stretch; flex-direction: column; }
  .nas-picker-dialog { width: 100vw; height: 100dvh; border: 0; border-radius: 0; }
  .knowledge-package-search { grid-template-columns: 1fr; }
  .knowledge-package-footer { align-items: stretch; flex-direction: column; }
  .knowledge-package-footer .nas-picker-footer-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .knowledge-package-row { grid-template-columns: auto minmax(0, 1fr); }
  .knowledge-package-row em { grid-column: 2; }
  .knowledge-import-guide { align-items: stretch; flex-direction: column; padding-right: 16px; padding-left: 16px; }
  .knowledge-import-guide .button { width: 100%; }
  .knowledge-import-form { grid-template-columns: 1fr; padding-right: 16px; padding-left: 16px; }
  .knowledge-import-summary { grid-template-columns: 1fr 1fr; }
  .knowledge-import-section.has-errors .knowledge-import-row { grid-template-columns: 1fr; gap: 3px; }
  .nas-picker-head, .nas-picker-search, .nas-picker-results, .nas-picker-footer { padding-right: 16px; padding-left: 16px; }
  .nas-picker-search { grid-template-columns: 1fr 1fr; }
  .nas-picker-search .field { grid-column: 1 / -1; }
  .nas-picker-suggestions, .nas-picker-breadcrumbs { padding-right: 16px; padding-left: 16px; }
  .nas-picker-grid, .nas-picker-loading, .product-folder-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-folder-pathbar { grid-template-columns: 1fr 1fr; padding-right: 16px; padding-left: 16px; }
  .product-folder-pathbar > span, .product-folder-pathbar > strong { grid-column: 1 / -1; }
  .product-folder-pathbar .button { width: 100%; }
  .nas-picker-footer { align-items: stretch; flex-direction: column; }
  .nas-picker-footer-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .nas-picker-footer-actions .button:last-child { grid-column: 1 / -1; }
  .quote-suggestion { grid-template-columns: 1fr; }
  .faq-editor-head { align-items: stretch; flex-direction: column; }
  .faq-editor-grid { grid-template-columns: 1fr; }
  .faq-editor-grid .field-wide { grid-column: auto; }
  .help-quick-links { display: grid; grid-template-columns: 1fr 1fr; }
  .help-workspace { display: block; min-height: 0; overflow: visible; }
  .help-library { border-right: 0; border-bottom: 1px solid var(--line); }
  .help-document-list { max-height: 220px; overflow-y: auto; }
  .help-reader-head { grid-template-columns: 1fr; gap: 10px; padding: 18px 16px 14px; }
  .help-reader-meta { text-align: left; }
  .help-search-result, .help-section-index { padding-right: 16px; padding-left: 16px; }
  .help-article-body { padding: 2px 16px 24px; }
}
