/*
 * Q·FLOW visual system
 * Desktop-first quality operations workspace.  Keep visual states redundant:
 * labels, borders and icons accompany colour-only status changes.
 */
@import url('/inspection-report.css');
:root {
  --ink: #182536;
  --ink-soft: #425166;
  --muted: #718096;
  --muted-soft: #97a4b4;
  --line: #dfe7ee;
  --line-strong: #c7d4df;
  --canvas: #f4f7fa;
  --surface: #ffffff;
  --surface-soft: #f8fafc;
  --surface-blue: #f1f7fb;
  --navy: #102a43;
  --navy-deep: #0a1d30;
  --blue: #1476be;
  --blue-dark: #0f5d99;
  --teal: #168a82;
  --green: #198754;
  --amber: #b56a00;
  --amber-bg: #fff5e5;
  --red: #c84545;
  --red-bg: #fff0f0;
  --violet: #7057a8;
  --radius-sm: 8px;
  --radius: 12px;
  --radius-lg: 18px;
  --shadow-sm: 0 1px 2px rgba(23, 38, 55, .06);
  --shadow: 0 10px 28px rgba(25, 47, 68, .08);
  --shadow-lg: 0 24px 64px rgba(3, 20, 38, .24);
  --focus: 0 0 0 3px rgba(20, 118, 190, .18);
  --font-ui: Arial, "Microsoft YaHei", "微软雅黑", "PingFang SC", "Noto Sans CJK SC", sans-serif;
  --font: var(--font-ui);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { background: var(--canvas); }
body {
  min-width: 0;
  margin: 0;
  color: var(--ink);
  background: var(--canvas);
  font: 14px/1.55 var(--font-ui);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled, input:disabled, select:disabled, textarea:disabled { cursor: not-allowed; opacity: .58; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: none;
  box-shadow: var(--focus);
}
input, select, textarea {
  width: 100%;
  color: var(--ink);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: #fff;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
input, select { min-height: 38px; padding: 7px 10px; }
textarea { min-height: 92px; padding: 9px 10px; resize: vertical; }
input::placeholder, textarea::placeholder { color: #a1afbd; }
input:hover, select:hover, textarea:hover { border-color: #aebfce; }
input:focus, select:focus, textarea:focus { border-color: var(--blue); }
label { display: block; color: var(--ink-soft); font-size: 12px; font-weight: 700; }
label > input, label > select, label > textarea { display: block; margin-top: 6px; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; vertical-align: middle; }
h1, h2, h3, p { margin-top: 0; }

/* Shared controls */
.primary, .secondary, .ghost, .danger, .row-action, .text-button, .icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 36px;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  padding: 7px 12px;
  font-weight: 700;
  line-height: 1.2;
  transition: transform .16s ease, color .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.primary { color: #fff; background: linear-gradient(135deg, #187bbe, #11659f); border-color: #11659f; box-shadow: 0 5px 12px rgba(20, 118, 190, .18); }
.primary:hover { background: linear-gradient(135deg, #126ca9, #0c548a); box-shadow: 0 7px 16px rgba(20, 118, 190, .25); }
.secondary { color: #165f92; background: #eff7fc; border-color: #c9e1f0; }
.secondary:hover { background: #e2f1fa; border-color: #a9d2ea; }
.ghost { color: #476174; background: #fff; border-color: #d2dfe8; }
.ghost:hover { color: #1f587f; background: #f7fbfd; border-color: #aac6d8; }
.danger { color: #fff; background: #c84545; border-color: #b93a3a; }
.danger:hover { background: #ad3434; }
.row-action { min-height: 29px; padding: 4px 8px; color: #17689e; background: #eff7fc; border-color: #d1e6f2; font-size: 12px; }
.row-action:hover { background: #dff1fb; }
.text-button { min-height: auto; padding: 2px 0; color: #1570ad; background: transparent; border: 0; border-radius: 0; font-size: inherit; font-weight: 700; }
.text-button:hover { color: #0f588b; text-decoration: underline; }
.icon-button { width: 36px; min-width: 36px; padding: 0; color: #456174; background: #fff; border-color: #d5e0e8; font-size: 17px; }
.icon-button:hover { color: var(--blue-dark); background: #f3f9fd; border-color: #a9cfdf; }
.primary:active, .secondary:active, .ghost:active, .danger:active, .row-action:active { transform: translateY(1px); }
.full, .full-width { width: 100%; }
.muted { color: var(--muted); }
.late-text { color: var(--red); font-weight: 700; }
.off { color: var(--muted) !important; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }

/* Global type scale.  Components use intentional px typography, so changing
 * only a parent font-size leaves page titles, KPI cards and tables unchanged.
 * A restrained document-level scale keeps every visual text layer in sync. */
.font-small, .font-medium, .font-large { font-size: 14px; }
:root { --portal-font-scale: 1; }
html[data-font-size="small"] { --portal-font-scale: .94; }
html[data-font-size="medium"] { --portal-font-scale: 1; }
html[data-font-size="large"] { --portal-font-scale: 1.06; }
html[data-font-size="small"] .app-shell, html[data-font-size="small"] #overlay-root { zoom: .94; }
html[data-font-size="medium"] .app-shell, html[data-font-size="medium"] #overlay-root { zoom: 1; }
html[data-font-size="large"] .app-shell, html[data-font-size="large"] #overlay-root { zoom: 1.06; }
/* zoom also scales the sidebar's fixed viewport height. Counter-scale that
 * one frame dimension so the navigation always reaches the physical edge. */
html[data-font-size="small"] .sidebar { height: calc(100vh / .94); }
html[data-font-size="medium"] .sidebar { height: 100vh; }
html[data-font-size="large"] .sidebar { height: calc(100vh / 1.06); }

/* Login */
.login-rich {
  display: grid;
  grid-template-columns: minmax(700px, 1.55fr) minmax(460px, .72fr);
  height: 100vh;
  min-height: 0;
  overflow: hidden;
  background: #eaf2f5;
}
.hero-quality {
  position: relative;
  display: grid;
  align-items: center;
  overflow: hidden;
  padding: clamp(32px, 4vh, 56px) clamp(54px, 6.2vw, 128px);
  color: #ecf8ff;
  background:
    radial-gradient(circle at 16% 15%, rgba(95, 224, 212, .23), transparent 28%),
    radial-gradient(circle at 93% 73%, rgba(31, 127, 193, .35), transparent 31%),
    linear-gradient(138deg, #071a2d 0%, #103f60 53%, #0c5a78 100%);
}
.hero-quality::before, .hero-quality::after {
  position: absolute;
  pointer-events: none;
  content: "";
  border: 1px solid rgba(188, 232, 245, .15);
  border-radius: 50%;
}
.hero-quality::before { width: 650px; height: 650px; top: -390px; right: -230px; }
.hero-quality::after { width: 430px; height: 430px; bottom: -270px; left: -70px; }
.hero-grid {
  position: absolute;
  inset: 0;
  opacity: .12;
  background-image: linear-gradient(rgba(179, 231, 245, .30) 1px, transparent 1px), linear-gradient(90deg, rgba(179, 231, 245, .30) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(135deg, #000, transparent 78%);
}
.hero-content { position: relative; z-index: 1; width: min(100%, 1080px); }
.eyebrow { display: flex; align-items: center; gap: 8px; color: #9ce4e8; letter-spacing: 1.8px; font-size: 11px; font-weight: 800; }
.pulse-dot { width: 8px; height: 8px; border-radius: 50%; background: #62ded0; box-shadow: 0 0 0 5px rgba(98, 222, 208, .16); }
.hero h1 { max-width: 100%; margin: 20px 0 18px; color: #fff; font-size: clamp(43px, 3.35vw, 64px); font-weight: 800; line-height: 1.12; letter-spacing: -.052em; text-wrap: balance; }
.hero h1 em { color: #91e2db; font-style: normal; }
.hero-content > p { max-width: 760px; margin-bottom: 32px; color: #c2dce8; font-size: 16px; line-height: 1.8; white-space: pre-line; }
.hero-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; max-width: 850px; }
.hero-metrics > div { min-height: 94px; padding: 16px 17px; border: 1px solid rgba(208, 244, 250, .17); border-radius: 12px; background: linear-gradient(145deg, rgba(14, 54, 76, .63), rgba(7, 31, 51, .28)); box-shadow: inset 0 1px rgba(255, 255, 255, .05); backdrop-filter: blur(7px); }
.hero-metrics b, .hero-metrics span { display: block; }
.hero-metrics b { margin-bottom: 6px; color: #f6fdff; font-size: 14px; }
.hero-metrics span { color: #accbd9; font-size: 12px; }
.org-slide { display: grid; grid-template-columns: 1fr; gap: 17px; align-items: stretch; max-width: 900px; margin-top: 34px; padding-top: 25px; border-top: 1px solid rgba(207, 240, 247, .18); }
.slide-photo { position: relative; display: flex; flex-direction: column; justify-content: flex-end; aspect-ratio: 16 / 9; min-height: 0; padding: 25px; overflow: hidden; border: 1px solid rgba(213, 245, 249, .34); border-radius: 18px; color: #dffaff; background: linear-gradient(145deg, #1d8591, #17486b); box-shadow: inset 0 -130px 78px rgba(0, 17, 34, .58), 0 25px 50px rgba(1, 22, 42, .31); }
.slide-photo::before { position: absolute; inset: 0; z-index: 1; content: ""; background: linear-gradient(180deg, rgba(2, 18, 32, .06) 22%, rgba(2, 18, 32, .8) 100%); }
.slide-photo.slide-1 { background: linear-gradient(145deg, #285079, #188285); }
.slide-photo.slide-2 { background: linear-gradient(145deg, #334b7a, #2766a3); }
.slide-photo span, .slide-photo small { position: relative; z-index: 2; }
.slide-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.slide-photo span { font-weight: 800; }
.slide-photo small { margin-top: 2px; color: #c9e6f0; font-size: 11px; }
.slide-photo-placeholder { position: absolute; z-index: 2; top: 22px; left: 24px; display: grid; gap: 2px; padding: 8px 10px; border: 1px solid rgba(224, 249, 252, .2); border-radius: 9px; background: rgba(5, 31, 50, .25); }.slide-photo-placeholder span, .slide-photo-placeholder small { position: static; }.slide-photo-placeholder small { margin: 0; }
.login-gallery-overlay { position: absolute; z-index: 2; right: 22px; bottom: 20px; left: 22px; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }.login-gallery-overlay > span { padding: 5px 8px; border: 1px solid rgba(230, 252, 255, .28); border-radius: 99px; color: #e5fbff; background: rgba(7, 29, 48, .36); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }.login-gallery-count { display: flex; align-items: baseline; color: #fff; text-shadow: 0 2px 12px rgba(0, 0, 0, .3); }.login-gallery-count b { font-size: 25px; letter-spacing: -.04em; }.login-gallery-count small { margin-left: 4px; color: #c7e3ed; font-size: 12px; }
.login-gallery-copy { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 22px; align-items: center; padding: 1px 3px 0; }.login-gallery-copy b { color: #f3fcff; }.login-gallery-copy p { margin: 7px 0 0; color: #bed9e5; font-size: 13px; line-height: 1.65; }
.slide-dots { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; max-width: 142px; }.slide-dots button { width: 17px; height: 3px; padding: 0; border: 0; border-radius: 3px; background: rgba(201, 234, 243, .42); }.slide-dots button:hover { background: rgba(218, 253, 252, .8); }.slide-dots button.active { width: 25px; background: #7ee4d8; }
.login-panel { position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; padding: clamp(42px, 5.2vh, 68px) clamp(22px, 2.8vw, 48px); background: linear-gradient(145deg, #f7fbfc 0%, #e9f3f6 49%, #fdfefe 100%); }.login-panel::before { position: absolute; width: 520px; height: 520px; top: -255px; right: -280px; border: 1px solid rgba(39, 132, 158, .12); border-radius: 50%; box-shadow: 0 0 0 55px rgba(73, 172, 191, .035), 0 0 0 120px rgba(73, 172, 191, .025); content: ""; }.login-panel::after { position: absolute; width: 120%; height: 45%; bottom: -29%; left: -27%; border-radius: 50%; background: linear-gradient(90deg, rgba(77, 168, 188, .10), rgba(77, 168, 188, 0)); content: ""; transform: rotate(-12deg); }
.login-card-shell { position: relative; z-index: 1; width: min(100%, 420px); min-height: clamp(610px, 64vh, 690px); padding: clamp(34px, 4vw, 52px); border: 1px solid rgba(155, 196, 208, .45); border-radius: 22px; background: rgba(255, 255, 255, .82); box-shadow: 0 24px 58px rgba(24, 71, 94, .15), 0 2px 5px rgba(24, 71, 94, .04); backdrop-filter: blur(12px); }
.login-card { display: flex; flex-direction: column; justify-content: center; width: 100%; min-height: inherit; }.login-mark { display: flex; align-items: center; gap: 11px; margin-bottom: 32px; color: #143754; }.login-mark-symbol { display: inline-grid; width: 37px; height: 37px; place-items: center; border-radius: 11px; color: #e9feff; background: linear-gradient(145deg, #1d8ca0, #18577e); box-shadow: 0 7px 15px rgba(27, 109, 139, .22); font-size: 18px; font-weight: 900; }.login-mark small, .login-mark b { display: block; }.login-mark small { margin-bottom: 3px; color: #6e93a5; font-size: 9px; font-weight: 800; letter-spacing: .12em; }.login-mark b { color: #204359; font-size: 14px; letter-spacing: .025em; }.login-card-heading > span { color: #1f859b; font-size: 11px; font-weight: 850; letter-spacing: .08em; }.login-card h2 { margin: 7px 0 8px; color: #17364d; font-size: 31px; line-height: 1.15; letter-spacing: -.04em; }.login-card-heading > p { margin: 0; color: #77909e; font-size: 13px; line-height: 1.65; }.login-values { display: flex; align-items: center; width: fit-content; margin: 15px 0 25px; padding: 7px 0; border-top: 1px solid #dce9ed; border-bottom: 1px solid #dce9ed; color: #34748a; font-size: 12px; font-weight: 800; letter-spacing: .13em; line-height: 1; white-space: nowrap; }.login-card > label { margin-top: 17px; color: #426276; font-size: 12px; font-weight: 800; }.login-card input { height: 46px; border-color: #cfdee5; background: rgba(253, 254, 255, .95); }.login-card input:focus { border-color: #40a9bb; box-shadow: 0 0 0 3px rgba(44, 160, 180, .13); }.login-card .primary { min-height: 48px; margin-top: 27px; border-radius: 9px; background: linear-gradient(96deg, #166b9e, #1a8fbd); box-shadow: 0 10px 19px rgba(26, 113, 158, .22); font-size: 15px; }.login-card .primary:hover { background: linear-gradient(96deg, #135e8c, #147eab); transform: translateY(-1px); }.login-card .primary span { margin-left: 4px; font-size: 18px; }
.password-field { position: relative; }
.password-field input { padding-right: 46px; }
.password-toggle { position: absolute; top: 7px; right: 7px; display: grid; width: 30px; min-width: 30px; height: 30px; min-height: 30px; place-items: center; padding: 0; border: 0; border-radius: 7px; color: #6b8c9e; background: transparent; }.password-toggle:hover, .password-toggle[aria-pressed="true"] { color: #197f96; background: #e6f5f7; }.password-toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.security-note { display: grid; grid-template-columns: 57px 1fr; gap: 7px; margin-top: 20px; padding: 12px; border: 1px solid #d8e8ee; border-radius: 10px; color: #587383; background: #f3f9fb; font-size: 12px; line-height: 1.55; }.security-note b { color: #23728d; }.demo-note { margin-top: 19px; color: #7d8d9a; font-size: 12px; }
.demo-note .text-button { font-size: 12px; }

/* App frame and navigation */
.app-shell { display: grid; grid-template-columns: 248px minmax(0, 1fr); min-height: 100vh; transition: grid-template-columns .2s ease; }
.sidebar { position: sticky; top: 0; display: flex; flex-direction: column; width: 248px; height: 100vh; overflow-y: auto; color: #d8e7ef; background: linear-gradient(180deg, #102c46, #0b2035); }
.brand-lockup { display: flex; align-items: center; gap: 10px; padding: 23px 20px 17px; }
.brand-q { display: inline-grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(152, 225, 219, .65); border-radius: 10px; color: #8be2d9; background: linear-gradient(150deg, rgba(40, 133, 143, .65), rgba(16, 55, 78, .6)); font-size: 19px; font-weight: 900; }
.brand-lockup b, .brand-lockup small { display: block; }
.brand-lockup b { color: #fff; letter-spacing: .055em; }
.brand-lockup small { margin-top: 1px; color: #9bb5c5; font-size: 11px; }
.workspace-chip { display: flex; align-items: center; gap: 9px; margin: 0 14px 17px; padding: 10px 11px; border: 1px solid rgba(174, 214, 231, .13); border-radius: 9px; background: rgba(182, 218, 230, .07); }
.workspace-chip small, .workspace-chip b { display: block; }
.workspace-chip small { color: #94adbe; font-size: 10px; }
.workspace-chip b { color: #e7f2f6; font-size: 12px; }
.online-dot { width: 7px; height: 7px; border-radius: 50%; background: #51c7a9; box-shadow: 0 0 0 4px rgba(81, 199, 169, .12); }
.nav-group { margin: 0 9px 10px; }
.nav-group-toggle { display: flex; width: 100%; align-items: center; gap: 9px; min-height: 34px; padding: 6px 9px; border: 0; border-radius: 8px; color: #a9c1cf; background: transparent; text-align: left; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.nav-group-toggle:hover, .nav-group.expanded .nav-group-toggle, .nav-group.active-group .nav-group-toggle { color: #e9f8fb; background: rgba(165, 224, 229, .08); }
.nav-group.active-group .nav-group-toggle { box-shadow: inset 2px 0 rgba(117, 215, 209, .7); }
.nav-group-icon, .nav-icon { display: inline-grid; flex: 0 0 auto; place-items: center; }
.nav-group-icon { width: 18px; height: 18px; color: #85c9d1; }
.nav-group-icon svg, .nav-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.nav-group-icon svg path:only-child, .nav-icon svg path:only-child { fill: currentColor; stroke: none; }
.nav-group-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nav-chevron { margin-left: auto; color: #86a8ba; font-size: 15px; line-height: 1; transition: transform .18s ease; }
.nav-group:not(.expanded) .nav-chevron { transform: rotate(-90deg); }
.nav-group-links { position: relative; display: grid; gap: 2px; margin: 2px 0 5px 19px; padding: 2px 0 2px 10px; overflow: hidden; border-left: 1px solid rgba(126, 190, 207, .31); transition: opacity .18s ease; }
.nav-group-links[hidden] { display: none; }
.nav { position: relative; display: flex; align-items: center; width: 100%; gap: 9px; min-height: 38px; margin: 2px 0; padding: 8px 10px; border: 0; border-radius: 8px; color: #c7dbe6; background: transparent; text-align: left; font-weight: 650; }
.nav-tree-connector { position: absolute; top: 50%; left: -11px; width: 10px; height: 1px; border-radius: 1px; background: rgba(126, 190, 207, .55); }
.nav:hover { color: #f4fbff; background: rgba(183, 225, 238, .10); }
.nav:hover .nav-tree-connector, .nav.active .nav-tree-connector { background: #8fddd8; }
.nav.active { color: #fff; background: linear-gradient(90deg, rgba(39, 139, 172, .64), rgba(34, 117, 153, .26)); box-shadow: inset 2px 0 #75d7d1; }
.nav-icon { width: 18px; height: 18px; color: #8abccc; }
.nav.active .nav-icon { color: #9de7df; }
.nav i, .notification-button i { display: inline-grid; min-width: 17px; height: 17px; place-items: center; margin-left: auto; padding: 0 4px; border-radius: 10px; color: #fff; background: #dc5b5b; font-size: 10px; font-style: normal; }
.sidebar { position: sticky; top: 0; z-index: 60; overflow: visible; }
.main { position: relative; z-index: 1; }
.sidebar-bottom { margin-top: auto; padding: 16px 14px 18px; }
.permission-card { padding: 12px; border: 1px solid rgba(188, 226, 237, .14); border-radius: 10px; background: rgba(7, 29, 47, .36); }
.permission-card small, .permission-card b, .permission-card span { display: block; }
.permission-card small { color: #8ba6b8; font-size: 10px; }
.permission-card b { margin: 2px 0; overflow: hidden; color: #dceff6; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.permission-card span { color: #7896a8; font-size: 10px; }
.main { min-width: 0; overflow-x: clip; }
.topbar { position: sticky; top: 0; z-index: 10; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; min-height: 68px; align-items: center; gap: 18px; padding: 0 30px; border-bottom: 1px solid #dfe8ef; background: rgba(255, 255, 255, .94); box-shadow: 0 1px 0 rgba(30, 64, 89, .02); backdrop-filter: blur(12px); }
.topbar-left, .topbar-controls, .global-filter-controls { display: flex; align-items: center; }
.topbar-left { min-width: 0; gap: 12px; }
.topbar-filter-row { min-width: 0; justify-self: end; }
.topbar-controls, .topbar-utilities { display: flex; align-items: center; gap: 10px; }
.topbar-utilities { justify-self: end; }
.mobile-nav { display: none; }
.sidebar-toggle { display: inline-flex; min-width: 34px; color: #24607e; border-color: #c9dfe9; background: #f4fbfe; font-size: 22px; font-weight: 800; }
.sidebar-toggle:hover, .sidebar-toggle:focus-visible { color: #fff; border-color: #1478a8; background: #1478a8; }
.app-shell.sidebar-collapsed { grid-template-columns: 72px minmax(0, 1fr); }
.app-shell.sidebar-collapsed .sidebar { width: 72px; overflow: visible; }
.app-shell.sidebar-collapsed .brand-lockup { justify-content: center; padding: 19px 0 15px; }
.app-shell.sidebar-collapsed .brand-lockup > div, .app-shell.sidebar-collapsed .workspace-chip > div, .app-shell.sidebar-collapsed .nav-group-label, .app-shell.sidebar-collapsed .nav-chevron, .app-shell.sidebar-collapsed .nav-group-links, .app-shell.sidebar-collapsed .permission-card { display: none; }
.app-shell.sidebar-collapsed .workspace-chip { justify-content: center; margin: 0 0 15px; padding: 9px; border-width: 0; background: transparent; }
.app-shell.sidebar-collapsed .nav-group { margin: 0 7px 9px; }
.app-shell.sidebar-collapsed .nav-group-toggle { justify-content: center; padding: 8px; }
.app-shell.sidebar-collapsed .nav-group.nav-flyout-open { position: relative; z-index: 80; }
.app-shell.sidebar-collapsed .nav-group.nav-flyout-open .nav-group-links { position: absolute; z-index: 90; top: 0; left: 58px; display: grid; min-width: 210px; margin: 0; padding: 7px; border: 1px solid rgba(107, 175, 199, .42); border-radius: 10px; background: linear-gradient(145deg, #123d59, #0b2d47); box-shadow: 0 18px 36px rgba(4, 25, 42, .32); }
.app-shell.sidebar-collapsed .nav-group.nav-flyout-open .nav { display: flex; min-height: 34px; }
.app-shell.sidebar-collapsed .nav-tree-connector { display: none; }
.page-context { min-width: 0; }
.page-context small, .page-context b { display: block; }
.page-context small { overflow: hidden; color: #8091a2; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.page-context b { color: #1a2d3f; font-size: 16px; }
.global-scope select { width: 226px; min-height: 34px; padding-top: 5px; padding-bottom: 5px; color: #31536a; border-color: #d3e1ea; background: #f8fbfd; font-size: 12px; }
.global-scope select.scope-select-roomy { width: 320px; }
.global-scope select.scope-select-wide { width: 440px; }
.global-filter-controls { min-width: 0; gap: 7px; padding: 4px 6px; border: 1px solid #deebf0; border-radius: 10px; background: linear-gradient(135deg, #f9fcfd, #f2f8fb); box-shadow: inset 0 1px 0 rgba(255,255,255,.9); }
.global-filter-controls select, .global-filter-controls input { width: auto; min-width: 0; min-height: 32px; padding: 4px 7px; border-color: #d8e5eb; background: rgba(255,255,255,.86); color: #3d586c; font-size: 12px; }
.global-filter-controls > select { flex: 0 0 100px; width: 100px; }
.global-week-picker { position: relative; flex: 0 0 132px; width: 132px; }
.global-week-trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 32px; padding: 4px 7px; overflow: hidden; border: 1px solid #d8e5eb; border-radius: 8px; color: #3d586c; background: rgba(255,255,255,.86); font-size: 12px; line-height: 1.2; }
.global-week-trigger:hover, .global-week-picker.open .global-week-trigger { border-color: #8cb9ce; background: #fff; }
.global-week-trigger > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.global-week-trigger i { display: inline-grid; flex: 0 0 auto; width: 16px; height: 16px; place-items: center; margin-left: 5px; color: #31566d; }
.global-week-trigger svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.global-week-picker-popover { position: absolute; top: calc(100% + 6px); right: 0; z-index: 34; width: 286px; padding: 10px; border: 1px solid #cadde7; border-radius: 10px; color: #29485d; background: #fff; box-shadow: 0 13px 30px rgba(21, 52, 73, .18); }
.global-week-picker-popover > header { display: flex; align-items: center; justify-content: space-between; min-height: 26px; }
.global-week-picker-popover > header b { font-size: 12px; letter-spacing: .01em; }
.week-picker-nav { width: 24px; height: 24px; padding: 0; border: 1px solid transparent; border-radius: 6px; color: #4d7288; background: transparent; font-size: 18px; line-height: 1; }
.week-picker-nav:hover { border-color: #c5dbe7; color: #196d9b; background: #edf7fb; }
.global-week-picker-popover > p { margin: 5px 1px 8px; color: #6a8797; font-size: 10px; font-weight: 700; line-height: 1.35; }
.week-picker-grid { display: grid; grid-template-columns: 26px repeat(7, minmax(0, 1fr)); gap: 2px; align-items: center; }
.week-picker-head { min-height: 20px; display: grid; place-items: center; color: #718897; font-size: 10px; font-weight: 800; }
.week-picker-number { display: grid; min-height: 26px; place-items: center; color: #6b8392; font-size: 10px; font-weight: 800; }
.week-picker-row { grid-column: 1 / -1; display: grid; grid-template-columns: 26px repeat(7, minmax(0, 1fr)); align-items: center; width: 100%; min-height: 28px; padding: 0; border: 1px solid transparent; border-radius: 6px; color: #385568; background: #fff; font: inherit; }
.week-picker-row:hover { border-color: #b7d8e7; background: #f1f9fc; }
.week-picker-row.selected { border-color: #0f79bd; color: #fff; background: #1476be; box-shadow: 0 2px 5px rgba(20,118,190,.2); }
.week-picker-row.selected .week-picker-number, .week-picker-row.selected .week-picker-day { color: #fff; }
.week-picker-day { position: relative; display: grid; min-height: 26px; place-items: center; color: #385568; font-size: 11px; font-weight: 700; }
.week-picker-day.outside { color: #a8b7c0; font-weight: 600; }
.week-picker-day.today::after { position: absolute; bottom: 2px; width: 3px; height: 3px; border-radius: 50%; content: ''; background: #18a6a0; }
.week-picker-row.selected .week-picker-day.today::after { background: #fff; }
.global-date-range { display: flex; flex: 0 0 auto; align-items: center; gap: 4px; color: #8aa0ae; font-size: 11px; }
.global-date-range input { width: 118px; }
.global-reset { width: 30px; min-width: 30px; height: 30px; min-height: 30px; border-color: transparent; color: #5d8196; background: transparent; font-size: 18px; }
.global-reset:hover { border-color: #cbe0eb; background: #fff; }
.notification-button { position: relative; overflow: visible; }
.notification-bell { display: inline-grid; width: 18px; height: 18px; place-items: center; }
.notification-bell svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.notification-button i { position: absolute; top: -7px; right: -9px; min-width: 18px; height: 18px; margin: 0; padding: 0 5px; border: 2px solid #fff; border-radius: 999px; box-shadow: 0 1px 3px rgba(89, 23, 23, .25); font-size: 9px; font-weight: 850; line-height: 14px; white-space: nowrap; }
.font-switch { display: inline-flex; overflow: hidden; border: 1px solid #d5e1e9; border-radius: 8px; background: #f8fbfc; }
.font-switch button { min-width: 27px; min-height: 32px; padding: 0 7px; border: 0; border-right: 1px solid #dce6ec; color: #60798a; background: transparent; font-size: 11px; }
.font-switch button:last-child { border-right: 0; }
.font-switch button.selected { color: #0b659e; background: #e4f3fb; font-weight: 800; }
.user-menu { display: flex; align-items: center; gap: 8px; min-height: 38px; padding: 3px 5px 3px 3px; border: 1px solid transparent; border-radius: 9px; color: #24394a; background: transparent; text-align: left; }
.user-menu:hover { border-color: #d6e4ec; background: #f7fafc; }
.user-menu > span { display: inline-grid; width: 30px; height: 30px; place-items: center; border-radius: 8px; color: #155e92; background: #dff0f8; font-weight: 800; }
.user-menu b, .user-menu small { display: block; max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-menu b { font-size: 12px; }
.user-menu small { color: #7c8d9c; font-size: 10px; }
.content { width: 100%; max-width: none; min-width: 0; padding: 28px 32px 44px; }

/* Page level layout */
.page-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 19px; }
.page-head h1 { margin: 4px 0 3px; color: #1a2e40; font-size: 26px; line-height: 1.3; letter-spacing: -.025em; }
.page-head p { max-width: 720px; margin: 0; color: var(--muted); }
.crumb { color: #8a9aaa; font-size: 11px; font-weight: 700; }
.page-head-side { display: flex; align-items: flex-end; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.inspection-page-head .page-head-side { flex-wrap: nowrap; align-items: center; }
.inspection-page-head .head-actions { flex-wrap: nowrap; padding-top: 0; }
.inspection-page-head .analysis-type-select { min-width: 184px; }
.inspection-analysis-toolbar { position: sticky; top: 72px; z-index: 8; display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0 0 16px; padding: 11px 13px; border: 1px solid #d8e7ed; border-top: 0; border-left: 3px solid #38aec1; border-radius: 0 0 10px 10px; background: #fff; box-shadow: none; }
.inspection-analysis-toolbar > div:first-child { min-width: 0; }.inspection-analysis-toolbar b { display: block; margin-top: 2px; color: #315166; font-size: 13px; }.inspection-analysis-toolbar small { display: block; margin-top: 3px; color: #718896; font-size: 11px; }
.inspection-analysis-toolbar-actions { display: flex; align-items: end; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }.inspection-analysis-toolbar-actions label { display: grid; gap: 3px; color: #60798b; font-size: 10px; font-weight: 800; }.inspection-analysis-toolbar-actions select { min-width: 150px; }
.inspection-report-global-scope { gap: 9px; }.inspection-report-global-note { color: #6d8493; font-size: 11px; font-weight: 750; white-space: nowrap; }
.inspection-operational-toolbar { position: sticky; top: 72px; z-index: 8; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 16px; padding: 12px 14px; border: 1px solid #d5e8ee; border-top: 0; border-left: 3px solid #2db3aa; border-radius: 0 0 11px 11px; background: rgba(255, 255, 255, .97); box-shadow: 0 10px 18px rgba(40, 80, 101, .05); backdrop-filter: blur(12px); }.inspection-operational-toolbar > div:first-child { min-width: 0; }.inspection-operational-toolbar b, .inspection-operational-toolbar small { display: block; }.inspection-operational-toolbar b { margin-top: 3px; color: #2e5163; font-size: 15px; }.inspection-operational-toolbar small { margin-top: 3px; color: #718897; font-size: 11px; }
.inspection-operational-toolbar-actions { display: flex; align-items: end; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }.inspection-operational-toolbar-actions label { display: grid; gap: 3px; color: #60798b; font-size: 10px; font-weight: 800; }.inspection-operational-toolbar-actions select, .inspection-operational-toolbar-actions input { min-width: 125px; }.inspection-operational-toolbar-actions input:disabled { color: #7d909c; background: #f3f7f9; cursor: not-allowed; }
.inspection-report-method-note { margin-bottom: 14px; padding: 15px 17px; border-color: #cceae4; background: linear-gradient(105deg, #f3fcfa, #fbfefe); }.inspection-report-method-note b { display: inline-block; margin-left: 8px; color: #1b706b; font-size: 14px; }.inspection-report-method-note p { max-width: 960px; margin: 7px 0 0; color: #58737e; font-size: 12px; line-height: 1.75; }
.inspection-report-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 11px; margin-bottom: 15px; }.inspection-report-kpis article { min-height: 112px; padding: 14px 15px; overflow: hidden; border: 1px solid #dbe9ee; border-radius: 11px; background: linear-gradient(145deg, #fff, #f8fcfd); box-shadow: var(--shadow-sm); }.inspection-report-kpis article:nth-child(2) { border-top: 3px solid #2f9d7a; }.inspection-report-kpis article:nth-child(3) { border-top: 3px solid #765ad9; }.inspection-report-kpis article:nth-child(4) { border-top: 3px solid #d2942a; }.inspection-report-kpis article:nth-child(5) { border-top: 3px solid #d65d63; }.inspection-report-kpis span, .inspection-report-kpis b, .inspection-report-kpis small { display: block; }.inspection-report-kpis span { color: #6c8594; font-size: 11px; font-weight: 750; }.inspection-report-kpis b { margin: 7px 0 5px; color: #214c65; font-size: 27px; line-height: 1; letter-spacing: -.04em; }.inspection-report-kpis small { color: #8195a2; font-size: 10px; line-height: 1.4; }
.inspection-report-activity-panel { margin-bottom: 14px; padding: 16px; }.inspection-report-activity-panel .chart-column-svg { display: block; width: auto; max-width: 100%; margin: 0; }.inspection-report-activity-table { margin-top: 0; }.inspection-report-activity-table .ledger-table { min-width: 760px; }
.inspection-report-section { margin-top: 16px; padding: 18px; border: 1px solid #dce9ee; border-radius: 12px; background: #fff; box-shadow: var(--shadow-sm); }.inspection-report-section .section-head { margin-bottom: 13px; }.inspection-report-section .section-head h3 { margin: 4px 0 3px; color: #294a5e; font-size: 17px; }.inspection-report-section .section-head p { max-width: 880px; margin: 0; color: #718795; font-size: 12px; line-height: 1.55; }.inspection-report-section-count { display: inline-flex; min-width: 48px; min-height: 27px; align-items: center; justify-content: center; padding: 0 9px; border-radius: 999px; color: #176c95; background: #e9f6fb; font-size: 12px; font-weight: 850; }
.inspection-report-issue-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }.inspection-report-issue-card { overflow: hidden; border: 1px solid #e3eaf0; border-left: 4px solid #9eb7c5; border-radius: 10px; background: linear-gradient(145deg, #fff, #fbfdfe); }.inspection-report-issue-card.CC { border-left-color: #c74d55; }.inspection-report-issue-card.SC { border-left-color: #d09328; }.inspection-report-issue-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 11px; padding: 12px 13px 10px; border-bottom: 1px solid #e7eef2; background: #f7fbfc; }.inspection-report-issue-card header b, .inspection-report-issue-card header small { display: block; }.inspection-report-issue-card header b { margin-top: 4px; color: #2d4b5f; font-size: 14px; }.inspection-report-issue-card header small { margin-top: 3px; color: #7a8e9b; font-size: 10px; }.inspection-report-issue-card header > div:last-child { display: grid; justify-items: end; gap: 5px; text-align: right; }.inspection-report-issue-card header > div:last-child small { white-space: nowrap; }.inspection-report-issue-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-bottom: 1px solid #e7eef2; }.inspection-report-issue-meta > div { min-width: 0; padding: 10px 11px; border-right: 1px solid #e7eef2; }.inspection-report-issue-meta > div:last-child { border-right: 0; }.inspection-report-issue-meta span, .inspection-report-issue-meta b, .inspection-report-issue-meta small { display: block; }.inspection-report-issue-meta span { color: #8094a0; font-size: 10px; font-weight: 800; }.inspection-report-issue-meta b { margin: 3px 0 2px; overflow-wrap: anywhere; color: #3b5869; font-size: 11px; }.inspection-report-issue-meta small { color: #8798a4; font-size: 10px; line-height: 1.35; }.inspection-report-issue-story { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }.inspection-report-issue-story article { min-width: 0; padding: 10px 11px 12px; border-right: 1px solid #edf2f4; }.inspection-report-issue-story article:last-child { border-right: 0; }.inspection-report-issue-story span { color: #6b8392; font-size: 10px; font-weight: 800; }.inspection-report-issue-story p { min-height: 37px; margin: 4px 0 0; color: #445e6e; font-size: 11px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }.inspection-report-issue-story p.is-empty { color: #9aa8b1; font-style: italic; }.inspection-report-issue-card > footer { display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 9px 11px; border-top: 1px solid #e8eff3; color: #748b98; background: #fcfeff; font-size: 10px; }
.cross-period-reinspection-list { display: grid; gap: 11px; }.cross-period-reinspection-card { overflow: hidden; border: 1px solid #dfe8ed; border-radius: 10px; background: linear-gradient(145deg, #fff, #fbfdfe); }.cross-period-reinspection-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 12px 13px; border-bottom: 1px solid #e7eef2; background: #f8fbfc; }.cross-period-reinspection-card header b, .cross-period-reinspection-card header small { display: block; }.cross-period-reinspection-card header b { margin: 5px 0 3px; color: #2d4d60; font-size: 14px; }.cross-period-reinspection-card header small { color: #778d9b; font-size: 10px; }.cross-period-reinspection-card header > div:last-child { display: grid; justify-items: end; gap: 5px; text-align: right; }.inspection-report-exclusion { display: inline-flex; padding: 4px 7px; border: 1px solid #f0d7a9; border-radius: 999px; color: #9a6518; background: #fff7e7; font-size: 10px; font-weight: 800; white-space: nowrap; }.cross-period-reinspection-steps { display: flex; gap: 9px; flex-wrap: wrap; padding: 12px 13px; }.cross-period-reinspection-steps > div { display: grid; min-width: 172px; gap: 2px; padding: 9px 10px; border: 1px solid #dce9ee; border-radius: 8px; background: #fff; }.cross-period-reinspection-steps span { color: #1c7ea5; font-size: 10px; font-weight: 900; }.cross-period-reinspection-steps b { color: #385668; font-size: 12px; }.cross-period-reinspection-steps small { color: #8294a0; font-size: 10px; }.cross-period-reinspection-card > footer { display: flex; justify-content: flex-end; padding: 0 13px 12px; }.inspection-report-footnote { margin-top: 13px; padding: 10px 12px; border-left: 3px solid #55a8c5; color: #6e8492; background: #f5fafc; font-size: 11px; line-height: 1.55; }.inspection-report-footnote b { color: #365a6e; }
.inspection-volume-panel { margin-bottom: 14px; padding: 16px; }.inspection-volume-panel .chart-column-svg { display: block; width: auto; max-width: 100%; margin: 0; }.supplier-batch-chart .chart-data-table { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }.supplier-batch-chart .chart-data-table span { white-space: normal; }
.daily-pulse-summary { display: flex; align-items: center; gap: 8px 18px; flex-wrap: wrap; margin: 10px 0 4px; padding: 8px 10px; border: 1px solid #e2edf1; border-radius: 8px; color: #6d8391; background: #fbfdfe; font-size: 11px; }.daily-pulse-summary b { color: #2f5975; }.daily-pulse-summary span:last-child { margin-left: auto; color: #77909f; font-style: italic; }
.daily-pulse-chart { min-width: 0; overflow-x: auto; overflow-y: hidden; padding: 4px 0 0; scrollbar-color: #b9cad5 #f3f7f9; }.daily-pulse-svg { display: block; width: auto; min-width: 920px; max-width: none; height: auto; font-family: var(--font); }.daily-pulse-grid line { stroke: #e5edf1; stroke-width: 1; vector-effect: non-scaling-stroke; }.daily-pulse-grid text, .daily-pulse-month { fill: #8195a2; font-size: 10px; font-weight: 700; }.daily-pulse-bar rect { transition: opacity .16s ease, transform .16s ease; transform-box: fill-box; transform-origin: center bottom; }.daily-pulse-bar:hover rect { opacity: .76; transform: scaleY(1.04); }.daily-pulse-chart.volume .daily-pulse-bar.is-active rect { fill: #2587bc; }.daily-pulse-chart.volume .daily-pulse-bar.is-zero rect { fill: #dce9ef; }.daily-pulse-chart.ppm .daily-pulse-bar.is-active rect { fill: #d25b58; }.daily-pulse-chart.ppm .daily-pulse-bar.is-zero rect { fill: #e4ecef; }
.permission-note { max-width: 290px; padding: 6px 9px; border: 1px solid #e2e8ec; border-radius: 8px; color: #6d8391; background: #f8fafb; font-size: 11px; line-height: 1.45; }
.scope-summary { min-width: 184px; padding: 8px 11px; border-left: 3px solid #3bb6c8; border-radius: 0 9px 9px 0; background: linear-gradient(90deg, #f0fafb, #fbfdfe); }
.scope-summary span, .scope-summary b, .scope-summary small { display: block; }
.scope-summary span { color: #7794a3; font-size: 10px; font-weight: 800; letter-spacing: .05em; }
.scope-summary b { max-width: 220px; margin: 2px 0; overflow: hidden; color: #315168; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.scope-summary small { color: #8299a7; font-size: 10px; }
.head-actions, .actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.head-actions { flex-shrink: 0; padding-top: 4px; }
.panel { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.panel-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.panel-title h3 { margin: 3px 0 0; color: #213648; font-size: 16px; }
.panel-title p { max-width: 680px; margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.kicker { display: inline-flex; align-items: center; min-height: 19px; padding: 2px 7px; border-radius: 4px; color: #216e9d; background: #e9f5fb; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.kicker.risk { color: #a85d00; background: #fff0dc; }
.filter-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; padding: 11px 13px; border: 1px solid #dbe7ed; border-radius: 10px; background: rgba(255, 255, 255, .8); }
.page-filter-bar:empty { display: none; }
.filter-main { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.filter-main label { margin-right: 2px; color: #63798a; }
.filter-main select, .filter-main input { width: auto; min-width: 113px; min-height: 33px; padding: 4px 8px; font-size: 12px; }
.filter-main select.compact { min-width: 100px; }
.date-join { color: #8191a0; font-size: 12px; }
.metric-grid { display: grid; grid-template-columns: repeat(6, minmax(130px, 1fr)); gap: 12px; }
.metric-card { position: relative; min-height: 128px; padding: 16px; overflow: hidden; border: 1px solid #dfe9ef; border-radius: 12px; color: #2a4255; background: #fff; box-shadow: var(--shadow-sm); text-align: left; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.metric-card::after { position: absolute; top: 0; right: 0; width: 54px; height: 4px; content: ""; border-radius: 0 12px 0 6px; background: var(--metric, #4195bd); }
.metric-card:hover { transform: translateY(-2px); border-color: #bbd7e6; box-shadow: var(--shadow); }
.metric-card span, .metric-card b, .metric-card small { display: block; }
.metric-card span { color: #64798a; font-size: 12px; font-weight: 700; }
.metric-card b { margin: 4px 0 10px; color: #1a3449; font-size: 29px; line-height: 1.1; letter-spacing: -.045em; }
.metric-card small { color: #8495a3; font-size: 11px; }
.metric-card small em { float: right; color: #5c93ae; font-size: 16px; font-style: normal; }
.metric-0 { --metric: #287eb5; } .metric-1 { --metric: #2d9d7a; } .metric-2 { --metric: #d18a28; } .metric-3 { --metric: #c95b51; } .metric-4 { --metric: #7e69aa; } .metric-5 { --metric: #328e9d; }
.command-kpis { display: grid; grid-template-columns: repeat(6, minmax(130px, 1fr)); gap: 12px; margin-bottom: 16px; }
.command-kpi { position: relative; display: flex; min-height: 112px; flex-direction: column; justify-content: flex-end; padding: 15px 16px; overflow: hidden; border: 1px solid #dce8ee; border-radius: 12px; color: #2a4255; background: linear-gradient(145deg, #fff, #f6fafc); box-shadow: var(--shadow-sm); text-align: left; }
button.command-kpi:hover { transform: translateY(-2px); border-color: #acd2e2; box-shadow: var(--shadow); }
.command-kpi::after { position: absolute; top: 0; left: 0; width: 4px; height: 100%; content: ""; background: linear-gradient(#31b3c5, #2575a7); }
.command-kpi:nth-child(2)::after { background: linear-gradient(#46c896, #268b68); }
.command-kpi:nth-child(3)::after { background: linear-gradient(#efb343, #cc7a24); }
.command-kpi:nth-child(4)::after { background: linear-gradient(#9c7be2, #6e5abe); }
.command-kpi:nth-child(5)::after { background: linear-gradient(#ef7777, #c34949); }
.command-kpi:nth-child(6)::after { background: linear-gradient(#57a8d2, #2874a3); }
.command-kpi-index { position: absolute; top: 12px; right: 13px; color: #c7d6df; font-size: 11px; font-weight: 850; letter-spacing: .08em; }
.command-kpi > span:not(.command-kpi-index) { color: #718897; font-size: 12px; font-weight: 750; }
.command-kpi b { margin: 4px 0 6px; color: #1d3950; font-size: 28px; line-height: 1.05; letter-spacing: -.05em; }
.command-kpi small { color: #8298a6; font-size: 10px; }
.command-stage-panel { padding: 18px; }
.action-queue { margin-top: 12px; }
.action-queue-row { display: grid; width: 100%; grid-template-columns: 6px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 11px 4px; border: 0; border-bottom: 1px solid #e6edf1; color: inherit; background: transparent; text-align: left; }
.action-queue-row:hover { padding-right: 10px; padding-left: 10px; border-radius: 8px; background: #f5fafc; }
.action-queue-row:last-child { border-bottom: 0; }
.queue-signal { width: 6px; height: 30px; border-radius: 6px; background: #9bb5c5; }.queue-signal.normal { background:#48b48c; }.queue-signal.serious { background:#e8a333; }.queue-signal.critical { background:#df6262; }
.action-queue-row small, .action-queue-row b, .action-queue-row em { display: block; }
.action-queue-row small { color: #60869b; font-size: 10px; font-weight: 800; }.action-queue-row b { overflow:hidden; margin-top: 2px; color:#2a4559; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }.action-queue-row em { overflow:hidden; margin-top:2px; color:#8394a0; text-overflow:ellipsis; white-space:nowrap; font-size:10px; font-style:normal; }
.action-queue-row > div:last-child { display:flex; align-items:center; gap:8px; color:#7da0b1; }
.overview-grid { display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(320px, .78fr); gap: 16px; margin-top: 16px; }
.overview-grid .panel { padding: 18px; }
.meeting-tracking-panel { margin-top: 16px; padding: 18px; }
.meeting-tracking-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 15px 0; }
.meeting-tracking-summary article { min-width: 0; padding: 12px 13px; border: 1px solid #dce9ee; border-radius: 10px; background: linear-gradient(145deg, #fbfdfe, #f4fafc); }
.meeting-tracking-summary article.risk { border-color: #f2d6c2; background: #fff9f4; }.meeting-tracking-summary article.good { border-color: #cce9dc; background: #f4fcf8; }
.meeting-tracking-summary span, .meeting-tracking-summary b, .meeting-tracking-summary small { display: block; }.meeting-tracking-summary span { color: #6f8796; font-size: 11px; font-weight: 800; }.meeting-tracking-summary b { margin: 4px 0; color: #214f68; font-size: 25px; line-height: 1; }.meeting-tracking-summary small { overflow: hidden; color: #8396a2; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.meeting-tracking-grid { display: grid; grid-template-columns: minmax(290px, .78fr) minmax(0, 1.22fr); gap: 14px; align-items: stretch; }
.meeting-conclusion-card, .meeting-actions-track { min-width: 0; border: 1px solid #dbe8ed; border-radius: 10px; background: #fff; }.meeting-conclusion-card { display: flex; flex-direction: column; padding: 15px; background: linear-gradient(145deg, #f7fcfc, #ffffff 62%); }.meeting-conclusion-card > span, .meeting-actions-track > div > span { color: #248398; font-size: 11px; font-weight: 900; letter-spacing: .05em; }.meeting-conclusion-card > b { margin-top: 5px; color: #284b60; font-size: 16px; line-height: 1.35; }.meeting-conclusion-card > p { margin: 5px 0 12px; color: #738997; font-size: 11px; line-height: 1.55; }.meeting-conclusion-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 0 0 14px; }.meeting-conclusion-card dl > div { padding: 7px 8px; border-radius: 7px; background: #eff8fa; }.meeting-conclusion-card dt { color: #718a98; font-size: 10px; }.meeting-conclusion-card dd { margin: 2px 0 0; color: #28647d; font-size: 16px; font-weight: 850; }.meeting-conclusion-card button { margin-top: auto; }
.meeting-actions-track { overflow: hidden; }.meeting-actions-track > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 12px 14px; border-bottom: 1px solid #e5eef2; background: #f8fbfc; }.meeting-actions-track > div:first-child small { color: #8295a0; font-size: 10px; }.meeting-action-track-list { display: grid; }.meeting-action-track-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 9px; width: 100%; padding: 10px 13px; border: 0; border-bottom: 1px solid #edf2f4; color: inherit; background: #fff; text-align: left; }.meeting-action-track-row:last-child { border-bottom: 0; }.meeting-action-track-row:hover { background: #f4fafc; }.meeting-action-track-row > div { min-width: 0; }.meeting-action-track-row small, .meeting-action-track-row b, .meeting-action-track-row span { display: block; }.meeting-action-track-row small { overflow: hidden; color: #7a909d; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.meeting-action-track-row b { overflow: hidden; margin: 2px 0; color: #304e60; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.meeting-action-track-row span { color: #80939f; font-size: 10px; }.meeting-action-track-row .arrow { color: #9bb0ba; font-size: 15px; }.meeting-tracking-empty { margin: 0; padding: 18px 14px; color: #7a919e; font-size: 12px; }
.quick-panel { margin-top: 16px; padding: 18px; }
.quick-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 15px; }
.quick-grid button { min-height: 94px; padding: 14px; border: 1px solid #dbe8ee; border-radius: 9px; color: #365065; background: #fbfdfe; text-align: left; }
.quick-grid button:hover { border-color: #b9d6e5; background: #f3f9fc; }
.quick-grid span, .quick-grid b, .quick-grid small { display: block; }
.quick-grid span { color: #688092; font-size: 12px; }
.quick-grid b { margin: 2px 0 3px; color: #1e6d9c; font-size: 24px; line-height: 1; }
.quick-grid small { color: #8192a0; font-size: 11px; }
.insight-list { margin: 14px 0 16px; }
.insight-list > div { display: grid; grid-template-columns: 27px minmax(0, 1fr); gap: 9px; padding: 11px 0; border-bottom: 1px solid #e8eef2; }
.insight-list > div:last-child { border-bottom: 0; }
.insight-icon { display: inline-grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; font-size: 12px; font-style: normal; font-weight: 900; }
.insight-icon.late { color: #b33c3c; background: #fff0f0; } .insight-icon.pause { color: #816a38; background: #fff6e5; } .insight-icon.good { color: #228365; background: #e9f8f1; }
.insight-list b { color: #344d60; font-size: 12px; }
.insight-list p { margin: 2px 0 0; color: #7d8d9b; font-size: 11px; }
.mini-issues { margin-top: 12px; }
.mini-issue { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 3px; border: 0; border-bottom: 1px solid #e8eef2; color: inherit; background: transparent; text-align: left; }
.mini-issue:last-child { border-bottom: 0; }
.mini-issue:hover { margin: 0 -8px; padding-right: 11px; padding-left: 11px; border-radius: 8px; background: #f6fafc; }
.mini-issue > div:first-child { min-width: 0; }
.mini-issue > div:last-child { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.mini-issue span:not(.status):not(.severity-chip):not(.attention) { margin-right: 6px; color: #1972ab; font-size: 11px; font-weight: 800; }
.mini-issue b, .mini-issue small { display: block; }
.mini-issue b { overflow: hidden; margin-top: 3px; color: #2b4356; text-overflow: ellipsis; white-space: nowrap; }
.mini-issue small { margin-top: 3px; color: #81909d; font-size: 11px; }
.arrow { color: #94a9b6; font-size: 18px; }
.attention { color: #ad6321; }

/* Statuses, tables and ledger */
.status, .severity-chip, .state-on, .state-off, .relation-pill, .draft-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 21px;
  padding: 2px 7px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.25;
  white-space: nowrap;
}
.status { color: #4d6375; background: #edf2f5; }
.status.DRAFT, .status.NOT_STARTED { color: #657483; background: #edf1f4; }
.status.PROCESSING, .status.IN_PROGRESS { color: #146d99; background: #e7f4fb; }
.status.PENDING_QA_REVIEW, .status.PENDING_REVIEW, .status.SUBMITTED { color: #876016; background: #fff3d9; }
.status.PENDING_ESCALATED_APPROVAL { color: #9a501e; background: #ffecdf; }
.status.PENDING_EFFECTIVENESS { color: #6955a2; background: #f0edfb; }
.status.RETURNED { color: #b03e3e; background: #ffeded; }
.status.CLOSED, .status.COMPLETED { color: #1f7a5a; background: #e7f7ef; }
.status.PAUSED { color: #667280; background: #edf0f3; }
.status.VOID, .status.DISABLED { color: #68747d; background: #edf0f2; }
.status.PUBLISHED { color: #237759; background: #e7f7ef; }
.severity-chip.NORMAL { color: #26745e; background: #e9f7f1; }
.severity-chip.SERIOUS { color: #a76410; background: #fff1dc; }
.severity-chip.CRITICAL { color: #b13d3d; background: #fff0f0; }
.state-on { color: #207857; background: #e7f8ef; }
.state-off { color: #788795; background: #eff2f4; }
.due { display: inline-flex; flex-direction: column; }
.due.overdue { color: #bd3f3f; font-weight: 750; }
.due small { margin-top: 1px; color: #c15252; font-size: 10px; font-weight: 700; }
.filter-panel { padding: 14px; }
.filter-panel .filter-bar { margin: 0 0 10px; padding: 0 0 11px; border: 0; border-bottom: 1px solid #e6edf1; border-radius: 0; background: transparent; }
.ledger-filter-grid { display: grid; grid-template-columns: minmax(180px, 1.65fr) repeat(7, minmax(100px, 1fr)) auto; gap: 8px; align-items: center; }
.ledger-filter-grid input, .ledger-filter-grid select, .ledger-filter-grid button { min-height: 34px; padding: 5px 8px; font-size: 12px; }
.inspection-filter-panel { margin-bottom: 10px; padding: 12px 16px; }
.filter-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 0; }
.filter-panel-head h3 { margin: 3px 0 0; color: #2b4355; font-size: 15px; }
.filter-panel-head small { display: block; margin-top: 5px; color: #8296a4; font-size: 11px; }
.filter-panel-actions { display: flex; gap: 7px; align-items: center; }
.inspection-filter-toggle { min-width: 95px; }
.inspection-filter-panel.is-expanded .filter-panel-head { margin-bottom: 11px; }
.inspection-filter-grid { display: grid; grid-template-columns: minmax(210px, 1.7fr) minmax(145px, 1.1fr) repeat(3, minmax(132px, 1fr)) repeat(3, minmax(118px, .9fr)); gap: 9px; padding-top: 12px; border-top: 1px solid #e7eef2; }
.inspection-filter-grid label { display: grid; min-width: 0; gap: 5px; color: #728595; font-size: 10px; font-weight: 800; }
.inspection-filter-grid label > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inspection-filter-grid input, .inspection-filter-grid select { width: 100%; min-height: 35px; padding: 6px 9px; border: 1px solid #d9e5eb; border-radius: 8px; color: #395367; background: #fbfdfe; font-size: 12px; }
.inspection-filter-grid input:focus, .inspection-filter-grid select:focus { border-color: #55a8c6; outline: 2px solid rgba(78, 164, 194, .13); }
.inspection-filter-grid .inspection-search { grid-column: span 2; }
.inspection-kpis-compact .command-kpis { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin: 10px 0 12px; }
.inspection-kpis-compact .command-kpis > * { min-height: 76px; padding: 10px 12px; }
.inspection-kpis-compact .command-kpis b { margin: 2px 0; font-size: 25px; }
.inspection-kpis-compact .command-kpis small { font-size: 10px; line-height: 1.3; }
.inspection-ledger-panel { margin-top: 0; }
.inspection-table-wrap table { min-width: 1330px; }
.inspection-ledger-table { min-width: 1460px; }
.inspection-ledger-table tbody tr:nth-child(even) td { background: #fbfdfe; }
.inspection-detail-table { min-width: 1180px; }
.inspection-code { color: #176f97; letter-spacing: .01em; }
.inspection-ledger-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; padding: 11px 16px; border-bottom: 1px solid #dce8ee; background: linear-gradient(105deg, #f7fcfe, #fff 52%, #edf8fb); }
.inspection-ledger-ident { display: flex; align-items: center; gap: 10px; min-width: 0; }
.inspection-type-emblem { display: inline-grid; width: 37px; height: 37px; place-items: center; flex: 0 0 auto; border-radius: 11px; color: #fff; background: linear-gradient(145deg, #167fa9, #27afac); box-shadow: 0 6px 15px rgba(23, 126, 163, .22); font-size: 10px; font-weight: 900; letter-spacing: .05em; }
.inspection-ledger-ident b, .inspection-ledger-ident small { display: block; }.inspection-ledger-ident b { color: #2b4b5e; font-size: 13px; }.inspection-ledger-ident small { margin-top: 3px; color: #78909e; font-size: 10px; }
.inspection-ledger-meta { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; color: #728694; font-size: 11px; }.inspection-ledger-meta > span { padding: 5px 8px; border: 1px solid #dce9ee; border-radius: 999px; background: #fff; }.inspection-ledger-meta b { color: #167ba3; font-size: 13px; }
.inspection-result { display: inline-flex; align-items: center; min-width: 45px; justify-content: center; padding: 3px 7px; border-radius: 999px; color: #607484; background: #eff3f6; font-size: 11px; font-weight: 800; }
.inspection-result.PASS { color: #16785e; background: #e7f7ef; }.inspection-result.NG { color: #b74349; background: #fff0f1; }.inspection-result.CONCESSION { color: #98701f; background: #fff5dc; }.inspection-result.PENDING { color: #667f91; background: #edf3f6; }.inspection-result.NA { color: #69747d; background: #edf0f2; }
.inspection-summary-card { margin-bottom: 15px; padding: 18px; border-color: #cde9ef; background: linear-gradient(110deg, #fbfeff, #eef9fb); }
.inspection-summary-card h3 { margin: 4px 0 7px; color: #26465a; font-size: 18px; }.inspection-summary-card p { max-width: 960px; margin: 0; color: #597181; line-height: 1.75; }
.inspection-analysis-stack { display: grid; min-width: 0; gap: 14px; margin-bottom: 14px; }
.inspection-dual-axis { min-width: 0; padding: 16px; border: 1px solid #dbe8ee; border-radius: 12px; background: #fff; box-shadow: 0 8px 22px rgba(35, 76, 99, .05); }
.dual-axis-legend { display: flex; gap: 14px; margin: 11px 0 4px; color: #657d8d; font-size: 11px; }
.dual-axis-legend span { display: inline-flex; align-items: center; gap: 5px; }.dual-axis-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 50%; }
.trend-total-marker { background: #2d83c7; }.stack-pass { background: #2eaa79; }.stack-ng { background: #dc5b61; }.stack-concession { background: #e4a52b; }.stack-pending, .stack-excluded { background: #aebbc5; }.rate-point { border: 2px solid #765ad9; background: #fff; box-shadow: 0 0 0 1px rgba(118, 90, 217, .10); }
.dual-axis-scroll, .chart-svg-scroll { min-width: 0; overflow-x: auto; overflow-y: hidden; padding: 4px 0 2px; scrollbar-color: #b9cad5 #f3f7f9; }
.dual-axis-chart-svg { display: block; width: auto; min-width: 0; height: auto; max-width: none; font-family: var(--font); }.chart-column-svg { display: block; width: 100%; height: auto; font-family: var(--font); }
.dual-axis-grid line, .chart-gridlines line { stroke: #e3edf1; stroke-width: 1; vector-effect: non-scaling-stroke; }
.dual-axis-grid text, .chart-gridlines text { fill: #78909f; font-size: 11px; font-weight: 700; }
.dual-axis-chart-svg .axis-title { fill: #59717f; font-size: 11px; font-weight: 800; }.dual-axis-chart-svg .axis-title.right { fill: #7054d2; }
.dual-axis-chart-svg .trend-total-bar { fill: #2d83c7; }.dual-axis-chart-svg .stack-pass { fill: #31a979; }.dual-axis-chart-svg .stack-ng { fill: #dc5b61; }.dual-axis-chart-svg .stack-concession { fill: #e4a52b; }.dual-axis-chart-svg .stack-pending, .dual-axis-chart-svg .stack-excluded { fill: #aebbc5; }
.dual-axis-chart-svg .total-label { fill: #2f5975; font-size: 11px; font-weight: 800; }.dual-axis-chart-svg .week-label { fill: #456274; font-size: 11px; font-weight: 800; }.dual-axis-chart-svg .week-sub-label { fill: #8295a1; font-size: 10px; }
.dual-axis-chart-svg .rate-series path { fill: none; stroke: #765ad9; stroke-width: 2.5; vector-effect: non-scaling-stroke; }.dual-axis-chart-svg .rate-series .rate-label-bg { fill: #fff; stroke: #ddd5ff; stroke-width: 1; vector-effect: non-scaling-stroke; }.dual-axis-chart-svg .rate-series circle { fill: #fff; stroke: #765ad9; stroke-width: 2.5; vector-effect: non-scaling-stroke; }.dual-axis-chart-svg .rate-series text { fill: #654bc0; font-size: 11px; font-weight: 800; }
.saved-views { display: flex; align-items: center; gap: 7px; margin-top: 10px; color: #8494a1; font-size: 11px; }
.saved-views button { padding: 4px 7px; border: 1px solid #d8e5eb; border-radius: 6px; color: #46718b; background: #f8fbfc; font-size: 11px; }
.table-panel { margin-top: 16px; overflow: hidden; }
.table-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-bottom: 1px solid #e2ebf0; }
.table-toolbar > div:first-child { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.table-toolbar b { color: #294154; font-size: 13px; }
.table-toolbar span { color: #8292a0; font-size: 11px; }
.export-menu { display: flex; gap: 7px; }
.ledger-pagination { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 16px; border-top: 1px solid #e2ebf0; color: #728695; background: #fbfdfe; }
.ledger-pagination > div:first-child { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.ledger-pagination b { color: #3c5669; font-size: 12px; }
.ledger-pagination span { color: #80909c; font-size: 11px; }
.pager-controls { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.pager-controls label { display: inline-flex; align-items: center; gap: 5px; color: #667f90; font-size: 11px; white-space: nowrap; }
.pager-controls select { min-height: 31px; padding: 4px 7px; border: 1px solid #d6e4eb; border-radius: 6px; color: #425e70; background: #fff; font-size: 11px; }
.pager-controls button { min-width: 58px; min-height: 31px; padding: 4px 8px; font-size: 11px; }
.pager-controls button:disabled { border-color: #e3eaee; color: #afbbc3; background: #f3f6f8; cursor: not-allowed; }
.table-wrap { max-width: 100%; overflow: auto; scrollbar-color: #bacbd5 #f3f7f9; }
.ledger-table { min-width: 930px; font-size: 12px; }
.ledger-table th { position: sticky; top: 0; z-index: 1; padding: 10px 12px; border-bottom: 1px solid #dbe6ec; color: #62798a; background: #f7fafc; font-size: 11px; font-weight: 800; letter-spacing: .025em; white-space: nowrap; }
.ledger-table td { max-width: 270px; padding: 11px 12px; border-bottom: 1px solid #e7edf1; color: #465b6c; }
.ledger-table tbody tr:hover td { background: #f8fbfd; }
.ledger-table tbody tr:last-child td { border-bottom: 0; }
.ledger-table strong { color: #283f51; font-size: 12px; }
.cell-sub { display: block; max-width: 250px; margin-top: 3px; overflow: hidden; color: #8393a0; font-size: 11px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.link-code { padding: 0; border: 0; color: #146d9f; background: transparent; font-size: 12px; font-weight: 800; text-decoration: none; }
.link-code:hover { color: #0d5685; text-decoration: underline; }
.table-action { width: 65px; white-space: nowrap; }
.select-cell { width: 36px; padding-right: 4px !important; padding-left: 12px !important; text-align: center; }
.select-cell input { width: 15px; min-height: auto; margin: 0; accent-color: #197eb1; }

/* To-do / meeting / summary / analytics */
.todo-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.todo-summary button { display: flex; align-items: center; gap: 12px; min-height: 73px; padding: 13px 15px; border: 1px solid #dce8ee; border-radius: 10px; color: #506777; background: #fff; text-align: left; box-shadow: var(--shadow-sm); }
.todo-summary button:hover { border-color: #afd3e3; background: #f8fcfd; }
.todo-summary b { display: inline-grid; min-width: 37px; height: 37px; place-items: center; border-radius: 8px; color: #1a6e9f; background: #e6f5fb; font-size: 18px; }
.todo-summary span { font-size: 13px; font-weight: 700; }
.todo-grid { margin-top: 16px; }
.todo-work-panel { margin-top: 16px; padding: 18px; }
.todo-work-list { margin-top: 12px; }
.todo-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 8px; }
.todo-table { width: 100%; min-width: 850px; table-layout: fixed; font-size: inherit; }
.todo-table th { padding: 10px 16px; background: var(--surface-soft); color: var(--muted); font-size: .86em; font-weight: 650; white-space: nowrap; }
.todo-table th:nth-child(1) { width: 34%; }
.todo-table th:nth-child(2) { width: 30%; }
.todo-table th:nth-child(3) { width: 14%; }
.todo-table th:nth-child(4) { width: 14%; }
.todo-table th:nth-child(5) { width: 8%; min-width: 84px; }
.todo-table td { padding: 13px 16px; border-top: 1px solid var(--line); vertical-align: middle; overflow-wrap: anywhere; }
.todo-table tbody tr:hover { background: #f3f9fa; }
.todo-subject { display: block; padding: 0; border: 0; background: transparent; color: var(--ink); text-align: left; font-weight: 650; line-height: 1.5; }
.todo-subject:hover { color: var(--teal); text-decoration: underline; }
.todo-issue-no { display: block; margin-top: 5px; color: var(--muted); font-size: .82em; }
.todo-kind { color: var(--teal); font-size: .86em; font-weight: 650; }
.todo-requirement { margin: 5px 0 0; color: var(--ink-soft); font-size: .9em; line-height: 1.5; white-space: pre-wrap; }
.todo-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.todo-deadline { white-space: nowrap; font-variant-numeric: tabular-nums; }
.todo-deadline b { font-size: .92em; font-weight: 600; }
.todo-deadline small { display: block; margin-top: 4px; font-size: .8em; }
.todo-table .row-action { white-space: nowrap; }
.todo-work-panel .panel-title { margin-bottom: 14px; }
.todo-work-list .task-card { width: 100%; color: inherit; background: #fbfdfe; text-align: left; }
.todo-work-list .task-card:hover { border-color: #b8d7e6; background: #f4fafc; }
.meeting-controls { padding: 17px 18px; }
.meeting-control-console { overflow: hidden; border-color: #cfe2e9; background: linear-gradient(135deg, #fbfeff 0%, #f2fafb 48%, #ffffff 100%); }
.meeting-control-header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding-bottom:14px; border-bottom:1px solid #dbe9ee; }.meeting-control-header h3 { margin:5px 0 3px; color:#25475b; font-size:18px; letter-spacing:.01em; }.meeting-control-header p { max-width:720px; margin:0; color:#728997; font-size:12px; line-height:1.55; }.meeting-control-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }.meeting-save-primary { min-height:35px; padding:7px 13px; box-shadow:0 5px 12px rgba(25,111,151,.18); white-space:nowrap; }
.meeting-control-grid { display:grid; grid-template-columns:.88fr 1.35fr 1fr 1fr; gap:11px; margin-top:14px; }.meeting-control-grid label { min-width:0; }.meeting-control-grid input,.meeting-control-grid select,.meeting-control-grid textarea { width:100%; }.meeting-control-grid textarea { min-height:62px; resize:vertical; }.meeting-control-grid .span-all { grid-column:1 / -1; }.meeting-title-default { position:relative; }.meeting-title-default input { min-height:42px; }
.meeting-analytics-panel { margin-top:16px; padding:17px 18px 18px; border-color:#cfe6eb; background:linear-gradient(135deg,#fbfeff 0%,#f5fbfc 100%); }.meeting-analytics-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }.meeting-analytics-head h3 { margin-bottom:3px; }.meeting-analytics-head p { max-width:680px; }.meeting-analytics-actions { display:flex; align-items:flex-end; justify-content:flex-end; gap:8px; }.meeting-analytics-actions label { display:grid; gap:4px; color:#688494; font-size:11px; font-weight:750; }.meeting-analytics-actions select { min-width:154px; height:34px; padding:0 27px 0 10px; }.meeting-analytics-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-top:15px; }.meeting-analytics-summary > div { min-width:0; padding:11px 12px; border:1px solid #dbeaed; border-radius:10px; background:#fff; }.meeting-analytics-summary span,.meeting-analytics-summary small { display:block; overflow:hidden; color:#738c9a; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }.meeting-analytics-summary b { display:block; margin:3px 0; color:#1d5774; font-size:22px; line-height:1.1; letter-spacing:-.5px; }.meeting-analytics-grid { display:grid; grid-template-columns:1.08fr 1fr 1fr; gap:10px; margin-top:10px; }.meeting-analytics-grid > article { min-width:0; min-height:178px; padding:13px; border:1px solid #dce9ed; border-radius:10px; background:#fff; }.meeting-analytics-grid h4 { margin:2px 0 0; color:#315368; font-size:14px; }.meeting-analytics-closure { display:grid; grid-template-columns:1fr 115px; align-items:center; gap:8px; }.meeting-analytics-closure p { margin:8px 0 0; color:#748c99; font-size:11px; line-height:1.65; }.meeting-closure-gauge { display:grid; place-items:center; position:relative; width:108px; height:108px; }.meeting-closure-gauge svg { width:108px; height:108px; transform:rotate(-90deg); }.meeting-closure-gauge circle { fill:none; stroke-width:9; }.meeting-closure-gauge .track { stroke:#e9f1f3; }.meeting-closure-gauge .value { stroke:#1a9cb0; stroke-linecap:round; transition:stroke-dashoffset .2s ease; }.meeting-closure-gauge > div { position:absolute; display:grid; place-items:center; color:#27566e; font-size:11px; line-height:1.25; text-align:center; }.meeting-closure-gauge b { display:block; font-size:20px; }.meeting-chart-title { margin-bottom:10px; }.meeting-analytics-bars { display:grid; gap:9px; }.meeting-analytics-bar { display:grid; grid-template-columns:minmax(68px,auto) 1fr auto; align-items:center; gap:7px; color:#617c8b; font-size:11px; }.meeting-analytics-bar > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.meeting-analytics-bar > i { display:block; height:8px; overflow:hidden; border-radius:999px; background:#eaf1f3; }.meeting-analytics-bar > i::after { display:block; width:var(--bar-width); height:100%; border-radius:inherit; background:linear-gradient(90deg,#2ea5b8,#67c6d1); content:''; }.meeting-analytics-bar > b { color:#355b70; font-size:11px; }.meeting-analytics-empty { display:grid; min-height:110px; place-items:center; color:#91a2ac; font-size:12px; }
.meeting-after-sales-panel { margin-top:16px; padding:17px 18px 18px; border-color:#d8e3f6; background:linear-gradient(135deg,#fbfdff 0%,#f3f7ff 100%); }.meeting-after-sales-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-top:15px; }.meeting-after-sales-summary > div { min-width:0; padding:11px 12px; border:1px solid #dce5f4; border-radius:10px; background:#fff; }.meeting-after-sales-summary span,.meeting-after-sales-summary small { display:block; overflow:hidden; color:#71839c; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }.meeting-after-sales-summary b { display:block; margin:3px 0; color:#285581; font-size:22px; line-height:1.1; letter-spacing:-.5px; }.meeting-after-sales-detail { margin-top:10px; }.meeting-after-sales-note { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:9px; padding:9px 11px; border:1px solid #dce7f5; border-radius:8px; color:#657c94; background:#fff; font-size:11px; line-height:1.55; }.meeting-after-sales-note .risk { color:#bd633e; }.meeting-after-sales-table { overflow:hidden; border:1px solid #dce5f1; border-radius:9px; background:#fff; }.meeting-after-sales-head,.meeting-after-sales-row { display:grid; grid-template-columns:1.45fr repeat(4,minmax(86px,.72fr)) minmax(150px,1.25fr); align-items:center; gap:10px; padding:10px 12px; }.meeting-after-sales-head { color:#668098; background:#f3f7fc; font-size:10px; font-weight:850; }.meeting-after-sales-row { border-top:1px solid #e7eef7; color:#385a75; font-size:12px; }.meeting-after-sales-row > span:first-child { display:grid; gap:2px; }.meeting-after-sales-row small { color:#7f93a5; font-size:10px; }
.after-sales-repair-card { margin-top:16px; border-color:#cfe0f2; background:linear-gradient(135deg,#fbfdff,#f3f8ff); }.after-sales-repair-card header > span { color:#3f729a; background:#e6f1fb; }.after-sales-inspection-query { max-width:100%; }.after-sales-inspection-help,.after-sales-inspection-selected { margin:8px 0 0; color:#6d8397; font-size:12px; line-height:1.5; }.after-sales-inspection-selected { display:flex; align-items:center; gap:7px; flex-wrap:wrap; padding:8px 10px; border:1px solid #c9deee; border-radius:8px; color:#2f647f; background:#f9fdff; }.after-sales-inspection-candidates { display:grid; gap:6px; margin-top:8px; }.after-sales-inspection-candidates button { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; padding:9px 10px; border:1px solid #d8e5ef; border-radius:8px; color:#365a72; background:#fff; text-align:left; cursor:pointer; }.after-sales-inspection-candidates button:hover,.after-sales-inspection-candidates button.selected { border-color:#5d9fc0; background:#f2faff; }.after-sales-inspection-candidates button > span { display:flex; align-items:center; gap:6px; min-width:0; }.after-sales-inspection-candidates small { color:#7a91a3; font-size:11px; }.after-sales-rate-choice { display:grid; grid-template-columns:auto 1fr; align-items:start; gap:7px; padding:10px 11px; border:1px solid #d5e4f1; border-radius:8px; background:#fff; color:#315b78; }.after-sales-rate-choice input { margin-top:2px; }.after-sales-rate-choice small { grid-column:2; color:#758b9c; }.after-sales-rate-detail.is-muted { opacity:.56; }.issue-link-exact { display:inline-flex; align-items:center; width:max-content; margin-right:6px; padding:2px 5px; border-radius:999px; color:#176a8c; background:#e5f6fb; font-size:10px; font-style:normal; font-weight:850; line-height:1.2; }.issue-link-search-help { margin:8px 0 0; color:#718796; font-size:12px; }
.meeting-control-foot { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:11px; padding:10px 12px; border:1px solid #d8e9ed; border-radius:8px; color:#6f8693; background:rgba(255,255,255,.72); font-size:11px; }.meeting-controls-collapsed { padding-bottom:14px; }.meeting-controls-collapsed .meeting-control-header { padding-bottom:10px; border-bottom:0; }.meeting-control-summary { display:grid; grid-template-columns:1.4fr repeat(3, minmax(0,1fr)); gap:1px; overflow:hidden; border:1px solid #d9e8ed; border-radius:9px; background:#d9e8ed; }.meeting-control-summary > div { min-width:0; padding:9px 11px; background:#fff; }.meeting-control-summary span,.meeting-control-summary b { display:block; }.meeting-control-summary span { color:#7893a0; font-size:10px; font-weight:800; }.meeting-control-summary b { margin-top:3px; overflow:hidden; color:#2f5367; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.meeting-background-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding-bottom:13px; border-bottom:1px solid #deebf0; }.meeting-background-heading h3 { margin:5px 0 3px; color:#27485b; font-size:17px; }.meeting-background-heading p { max-width:760px; margin:0; color:#748a98; font-size:12px; line-height:1.55; }.meeting-type-pill { flex:0 0 auto; padding:5px 9px; border:1px solid #b9dbe6; border-radius:99px; color:#176b8e; background:#edf8fb; font-size:11px; font-weight:850; }
.meeting-background-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; margin-top:14px; }.meeting-background-grid label { min-width:0; }.meeting-background-grid input, .meeting-background-grid select, .meeting-background-grid textarea { width:100%; }.meeting-background-grid textarea { min-height:58px; resize:vertical; }.meeting-background-grid .span-all { grid-column:span 2; }
.meeting-period-band { display:grid; grid-template-columns:minmax(230px, 1.55fr) minmax(150px, .72fr) minmax(150px, .72fr) auto; align-items:end; gap:10px; margin-top:12px; padding:12px; border:1px solid #d9e8ed; border-radius:10px; background:linear-gradient(100deg,#f7fcfd,#fff); }.meeting-period-band > div { display:grid; gap:2px; }.meeting-period-band > div span { color:#277795; font-size:10px; font-weight:900; letter-spacing:.06em; }.meeting-period-band > div b { color:#315267; font-size:14px; }.meeting-period-band > div small { color:#7a909d; font-size:10px; line-height:1.4; }.meeting-period-band .ghost { min-height:34px; padding:5px 10px; font-size:12px; white-space:nowrap; }
.meeting-note { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; margin-top: 11px; padding-top: 11px; border-top: 1px solid #e5edf1; color: #708391; font-size: 12px; }
.meeting-background-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin:0 0 12px; overflow:hidden; border:1px solid #dce9ee; border-radius:9px; background:#dce9ee; }.meeting-background-summary > div { min-width:0; padding:9px 10px; background:#fbfdfe; }.meeting-background-summary span,.meeting-background-summary b { display:block; }.meeting-background-summary span { color:#75909f; font-size:10px; font-weight:800; }.meeting-background-summary b { margin-top:3px; overflow:hidden; color:#315469; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.meeting-material { margin-top: 16px; }
.meeting-table {
  /* Keep the configured colgroup authoritative.  A horizontal scroll area is
     preferable to shrinking narrative cells until their text overlaps. */
  min-width: 1680px;
  table-layout: fixed;
}
.meeting-table th, .meeting-table td { box-sizing: border-box; min-width: 0; padding: 13px 14px; vertical-align: middle; }
/* Override the ledger's 270px cap: a meeting's narrative columns are wider by design. */
.meeting-table td { max-width: none; white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
.meeting-table[data-density="projection"] { font-size: 13px; }
.meeting-table[data-density="projection"] th { font-size: 12px; }
.meeting-table[data-density="compact"] th, .meeting-table[data-density="compact"] td { padding: 8px 10px; font-size: 12px; }
.meeting-summary-cell { width: 100%; min-width: 0; max-width: none; color: #425b6d; line-height: 1.58; white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; }
.meeting-table .cell-sub { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.meeting-material .table-wrap { scrollbar-gutter: stable both-edges; overscroll-behavior-inline: contain; }
.meeting-layout-config { margin-top: 16px; padding-top: 15px; border-top: 1px solid #e3edf2; }
.meeting-layout-config h3 { margin: 0 0 10px; color: #294d63; font-size: 14px; }
.column-width-config { margin-top: 12px; padding: 10px 12px; border: 1px solid #dbe8ee; border-radius: 8px; background: #f8fbfc; }
.column-width-config summary { cursor: pointer; color: #386075; font-weight: 700; }
.column-width-config .form-grid { margin-top: 11px; }
.donut-layout { display: grid; grid-template-columns: 128px minmax(0, 1fr); align-items: center; gap: 18px; min-height: 182px; }
.donut-chart { position: relative; display: grid; width: 128px; height: 128px; place-items: center; border-radius: 50%; }
.donut-chart > svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.donut-slice { stroke-linecap: butt; }
.donut-chart::before { position: absolute; width: 74px; height: 74px; border-radius: 50%; background: #fff; content: ''; }
.donut-chart > div { position: relative; z-index: 1; display: grid; color: #294d63; text-align: center; }
.donut-chart b { font-size: 25px; line-height: 1; }
.donut-chart span { margin-top: 3px; color: #78909e; font-size: 11px; }
.donut-legend { display: grid; gap: 5px; max-height: 185px; overflow: auto; }
.donut-legend button { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; align-items: center; gap: 8px; width: 100%; padding: 4px 2px; border: 0; color: #4d6574; background: transparent; text-align: left; }
.donut-legend button:hover { color: #176f97; background: #f2f9fb; }
.donut-legend .legend-swatch { display: block; width: 9px; height: 9px; }
.donut-legend b { color: #284b61; }
.trend-chart { display: flex; align-items: end; gap: 5px; height: 194px; padding: 19px 8px 0; border-bottom: 1px solid #dce8ee; }
.trend-chart button { position: relative; display: grid; flex: 1 1 24px; min-width: 22px; height: 100%; grid-template-rows: minmax(0, 1fr) auto auto; align-items: end; padding: 0 1px; border: 0; color: #617887; background: transparent; }
.trend-chart button::before { position: absolute; right: 0; bottom: 24px; left: 0; height: 1px; background: #dfe9ee; content: ''; }
.trend-graphic { position: relative; z-index: 1; grid-row: 1; align-self: end; width: 100%; height: 100%; overflow: visible; }
.trend-fill { fill: #1f7198; }
.trend-chart b { position: relative; z-index: 2; grid-row: 2; margin: 2px 0 3px; color: #244c63; font-size: 11px; }
.trend-chart span { grid-row: 3; overflow: hidden; max-width: 52px; color: #788d9a; font-size: 10px; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.trend-chart button:hover .trend-fill { fill: #c98121; }
.actions-panel { margin-top: 16px; padding: 18px; }
.meeting-shortcut-hint { display: inline-flex; align-items: center; gap: 5px; min-height: 32px; padding: 0 9px; border: 1px solid #d8e7ed; border-radius: 8px; color: #63808f; background: #f9fcfd; font-size: 11px; font-weight: 750; white-space: nowrap; }
.meeting-shortcut-hint kbd, .actions-panel kbd, .projector-shortcut-hint kbd { display: inline-grid; min-width: 18px; height: 18px; place-items: center; padding: 0 4px; border: 1px solid #bcd3de; border-bottom-color: #9dbdcb; border-radius: 4px; color: #2d6e88; background: #fff; box-shadow: 0 1px 0 rgba(32, 76, 97, .12); font-family: inherit; font-size: 10px; font-weight: 900; line-height: 1; }
.action-list { margin-top: 12px; border-top: 1px solid #e7edf1; }
.action-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 2px; border-bottom: 1px solid #e7edf1; }
.action-row b, .action-row small { display: block; }
.action-row b { color: #31495a; }
.action-row small { margin-top: 2px; color: #81909c; font-size: 11px; }
.action-row > div:last-child { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.meeting-action-row { align-items:flex-start; }.meeting-action-row > div:first-child { min-width:0; }.meeting-action-operations { flex-wrap:wrap; justify-content:flex-end; }.meeting-action-evidence { display:grid; gap:5px; margin-top:8px; }.meeting-action-evidence-empty { color:#879aa5; }.meeting-action-file { display:grid; grid-template-columns:minmax(150px,1fr) auto auto; align-items:center; gap:8px; padding:6px 8px; border:1px solid #dce8ed; border-radius:7px; background:#f8fbfc; }.meeting-action-file > span { overflow:hidden; color:#426273; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.meeting-action-file > small { margin:0; white-space:nowrap; }.meeting-action-file > div { display:flex; gap:4px; }
.meeting-action-due-field { display:grid; gap:6px; min-width:0; }.meeting-action-tbd-option { display:inline-flex; align-items:center; width:max-content; gap:6px; color:#476678; font-size:12px; font-weight:750; }.meeting-action-tbd-option input { inline-size:16px; block-size:16px; width:16px; height:16px; min-width:16px; min-height:16px; margin:0; accent-color:#1b82ab; }.meeting-action-due-field > small { color:#778f9d; font-size:10px; line-height:1.45; }
.meeting-action-issue-field { position:relative; }.meeting-action-issue-field > small, .meeting-action-issue-help { display:block; margin-top:4px; color:#7b919e; font-size:10px; line-height:1.45; }.meeting-action-issue-candidates { display:grid; gap:5px; max-height:194px; margin-top:7px; overflow:auto; }.meeting-action-issue-candidates button { display:grid; grid-template-columns:minmax(120px,.72fr) minmax(0,1.28fr); gap:3px 8px; align-items:baseline; width:100%; min-height:45px; padding:7px 9px; border:1px solid #dce9ee; border-radius:7px; color:#3e5d70; background:#fff; text-align:left; }.meeting-action-issue-candidates button:hover,.meeting-action-issue-candidates button.selected { border-color:#80b9d0; background:#f1f9fc; }.meeting-action-issue-candidates b { color:#19739b; font-size:11px; }.meeting-action-issue-candidates span { overflow:hidden; color:#315368; font-size:11px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }.meeting-action-issue-candidates small { grid-column:1 / -1; overflow:hidden; color:#8195a1; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }.meeting-action-issue-selected { margin:7px 0 0; padding:8px 9px; border:1px solid #cce5db; border-radius:7px; color:#4f7769; background:#f3fbf7; font-size:11px; }.meeting-action-issue-selected b { color:#286e56; }.meeting-action-issue-selected .text-button { margin-left:8px; font-size:10px; }.meeting-action-issue-help.risk { color:#a44b4b; }
.summary-layout { display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(300px, .78fr); gap: 16px; }
.summary-editor, .summary-risk { padding: 18px; }
.summary-text { min-height: 410px; margin-top: 14px; border-color: #d8e6ee; color: #395262; background: #fbfdfe; line-height: 1.8; }
.summary-foot { margin-top: 10px; color: #80909d; font-size: 11px; }
.draft-badge { color: #8c651f; background: #fff4df; }
.chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.chart-grid .panel { min-height: 254px; padding: 17px; }
.inspection-analysis-chart-grid { grid-template-columns: 1fr; }.inspection-analysis-chart-grid .inspection-analysis-chart-panel { min-height: 0; }.inspection-analysis-chart-panel .chart-column-svg, .inspection-analysis-chart-panel .pareto-chart-svg { display: block; width: auto; max-width: 100%; height: auto; margin: 0; }
.inspection-defect-trend-panel { padding-inline: clamp(24px, 2.25vw, 42px); }.inspection-defect-trend-panel .chart-svg-scroll { margin-inline: clamp(2px, .6vw, 10px); padding-inline: clamp(10px, 1.15vw, 22px); }.inspection-defect-trend-panel .chart-data-table { margin-inline: clamp(2px, .6vw, 10px); } @media (max-width: 1280px) { .inspection-defect-trend-panel { padding-inline: 20px; }.inspection-defect-trend-panel .chart-svg-scroll { padding-inline: 8px; } }
.analytics-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.fact-box { padding: 15px; border: 1px solid #dbe7ed; border-radius: 10px; background: #fff; box-shadow: var(--shadow-sm); }
.fact-box span, .fact-box b, .fact-box small { display: block; }
.fact-box span { color: #748694; font-size: 12px; }
.fact-box b { margin: 4px 0; color: #1b506f; font-size: 25px; line-height: 1.1; }
.fact-box small { color: #81919e; font-size: 11px; }
.chart-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.chart-head h3 { margin: 4px 0 0; color: #2b4355; font-size: 15px; }
.chart-head > span { color: #728795; font-size: 12px; font-weight: 700; }
.bars { display: grid; gap: 7px; }
.bar-row { display: grid; grid-template-columns: minmax(72px, .7fr) minmax(95px, 1.8fr) 25px; align-items: center; gap: 9px; width: 100%; min-height: 25px; padding: 2px 0; border: 0; color: #4f6676; background: transparent; text-align: left; }
.bar-row:hover { color: #166695; }
.bar-row > span { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.bar-graphic { display: block; width: 100%; height: 9px; overflow: hidden; border-radius: 9px; }
.bar-track { fill: #eaf0f3; }
.bar-fill { fill: #1e7db5; }
.bar-row b { color: #547083; font-size: 11px; text-align: right; }
.bar-row.static { cursor: default; }
.chart-column-svg .chart-column rect { fill: #2083bb; }.chart-column-svg .chart-column.pass rect { fill: #2aa878; }.chart-column-svg .chart-column.ng rect { fill: #dc5b61; }.chart-column-svg .chart-column.concession rect { fill: #d99a2b; }.chart-column-svg .chart-column.pending rect { fill: #aebbc5; }
.chart-column-svg .chart-value { fill: #2f4c60; font-size: 12px; font-weight: 800; }.chart-column-svg .chart-label { fill: #617887; font-size: 11px; font-weight: 700; }
.chart-data-table { display: flex; gap: 8px 14px; flex-wrap: wrap; margin-top: 8px; padding: 9px 10px; border: 1px solid #e4edf1; border-radius: 8px; background: #fbfdfe; }.chart-data-table span { display: inline-flex; align-items: center; gap: 5px; padding: 0; border: 0; border-radius: 0; color: #5f7686; background: transparent; box-shadow: none; font-size: 11px; line-height: 1.35; }.chart-data-table i { width: 8px; height: 8px; border-radius: 50%; background: #2083bb; }.chart-data-table .pass i { background: #2aa878; }.chart-data-table .ng i { background: #dc5b61; }.chart-data-table .concession i { background: #d99a2b; }.chart-data-table .pending i { background: #aebbc5; }.chart-data-table b { color: #36556a; }
.pareto-legend { display: flex; gap: 14px; margin: 11px 0 4px; color: #657d8d; font-size: 11px; }.pareto-legend span { display: inline-flex; align-items: center; gap: 5px; }.pareto-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; background: #dc5b61; }.pareto-legend span + span i { border: 2px solid #765ad9; border-radius: 50%; background: #fff; }.pareto-chart-svg { display: block; width: 100%; height: auto; font-family: var(--font); }.pareto-grid line { stroke: #e3edf1; stroke-width: 1; vector-effect: non-scaling-stroke; }.pareto-grid text { fill: #78909f; font-size: 11px; font-weight: 700; }.pareto-axis-title { fill: #59717f; font-size: 11px; font-weight: 800; }.pareto-axis-title.rate { fill: #7054d2; }.pareto-bar rect { fill: #dc5b61; }.pareto-value { fill: #8c3d43; font-size: 12px; font-weight: 800; }.pareto-label { fill: #617887; font-size: 11px; font-weight: 700; }.pareto-rate-series path { fill: none; stroke: #765ad9; stroke-width: 2.5; vector-effect: non-scaling-stroke; }.pareto-rate-series circle { fill: #fff; stroke: #765ad9; stroke-width: 2.5; }.pareto-rate-label { fill: #7054d2; font-size: 11px; font-weight: 800; }.pareto-data-table i { background: #dc5b61; }
.inspection-trend-ledger-panel { margin-top: 18px; }.inspection-trend-ledger-table { min-width: 920px; }.inspection-trend-ledger-table td { padding-top: 12px; padding-bottom: 12px; vertical-align: middle; }.inspection-trend-ledger-table td > b, .inspection-trend-ledger-table td > small { display: block; }.inspection-trend-ledger-table td > small { margin-top: 3px; color: #8a9ba7; font-size: 10px; }.trend-week { color: #187ca5; font-size: 13px; }.trend-rate { color: #30576d; font-weight: 800; }.inspection-trend-ledger-table tbody tr:hover { background: #f4fbfd; }.empty-table-cell { padding: 26px !important; color: #8195a3; text-align: center; }
.trend-rate.release { color: #8d641b; }

/* Configuration workspace */
.config-layout { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 16px; align-items: start; }
.config-tabs { position: sticky; top: 88px; padding: 7px; border: 1px solid #dce7ed; border-radius: 11px; background: #fff; box-shadow: var(--shadow-sm); }
.config-tabs button { display: block; width: 100%; min-height: 34px; margin: 1px 0; padding: 7px 9px; border: 0; border-radius: 7px; color: #5b7283; background: transparent; text-align: left; font-size: 12px; font-weight: 700; }
.config-tabs button:hover { color: #1d668f; background: #f1f8fb; }
.config-tabs button.active { color: #146895; background: #e4f3fa; box-shadow: inset 2px 0 #2491ab; }
.config-content { min-width: 0; }
.config-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 2px 0 13px; }
.config-heading h2 { margin: 3px 0 3px; color: #20394b; font-size: 20px; }
.config-heading p { max-width: 720px; margin: 0; color: #758693; font-size: 12px; }
.calendar-config-workbench { display: grid; grid-template-columns: minmax(0, 1fr) 286px; grid-template-areas: 'rule rule' 'impact control'; gap: 14px; }
.calendar-rule-summary { grid-area: rule; display: grid; grid-template-columns: minmax(250px, .86fr) minmax(390px, 1.14fr); overflow: hidden; border: 1px solid #cfe1ea; border-radius: 14px; background: #fff; box-shadow: var(--shadow-sm); }
.calendar-rule-copy { display: grid; align-content: center; min-height: 204px; padding: 22px 24px; color: #37556a; background: linear-gradient(145deg, #fbfdfe 10%, #edf7fa); }
.calendar-rule-eyebrow { display: flex; align-items: center; gap: 9px; }
.calendar-live-status { display: inline-flex; align-items: center; gap: 5px; color: #2f7d66; font-size: 11px; font-weight: 800; }
.calendar-live-status i { width: 6px; height: 6px; border-radius: 50%; background: #36a77f; box-shadow: 0 0 0 3px rgba(54, 167, 127, .14); }
.calendar-rule-copy h3 { margin: 15px 0 7px; color: #233f54; font-size: clamp(21px, 2vw, 28px); letter-spacing: -.02em; }
.calendar-rule-copy h3 strong { color: #0d729f; }
.calendar-rule-copy p { max-width: 480px; margin: 0; color: #617b8c; font-size: 12px; line-height: 1.75; }
.calendar-rule-copy p b { color: #365b70; }
.calendar-week-strip { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 12px; padding: 19px 20px 16px; border-left: 1px solid #d9e8ee; background: #f8fcfd; }
.calendar-strip-head, .calendar-strip-foot { display: flex; align-items: center; gap: 8px; color: #688393; }
.calendar-strip-head span { padding: 3px 6px; border-radius: 5px; color: #2b7699; background: #e3f4fa; font-size: 10px; font-weight: 800; letter-spacing: .06em; }
.calendar-strip-head b { color: #2e4f63; font-size: 14px; }
.calendar-strip-head small { margin-left: auto; color: #8298a6; font-size: 10px; }
.calendar-rule-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; min-width: 0; margin: 0; padding: 0; list-style: none; }
.calendar-rule-days li { display: grid; align-content: center; justify-items: center; gap: 4px; min-height: 82px; padding: 8px 4px; border: 1px solid #dbe8ed; border-radius: 9px; color: #617a8a; background: #fff; text-align: center; }
.calendar-rule-days li b { color: inherit; font-size: 13px; }
.calendar-rule-days li small { font-size: 10px; font-weight: 700; }
.calendar-rule-days li.start { border-color: #197aa7; color: #fff; background: #1679a8; box-shadow: 0 7px 15px rgba(22, 121, 168, .19); }
.calendar-rule-days li.end { border-color: #b9d7e5; color: #25627f; background: #edf8fc; }
.calendar-strip-foot { justify-content: space-between; padding-top: 1px; color: #718b9a; font-size: 10px; }
.calendar-strip-foot span:last-child { color: #34836f; font-weight: 800; }
.calendar-impact-panel { grid-area: impact; padding: 18px 20px; border: 1px solid #d8e6ec; border-radius: 12px; background: #fff; box-shadow: var(--shadow-sm); }
.calendar-control-panel { grid-area: control; display: grid; align-content: start; gap: 14px; padding: 18px; border: 1px solid #d8e6ec; border-radius: 12px; background: linear-gradient(150deg, #fff, #f6fbfc); box-shadow: var(--shadow-sm); }
.calendar-panel-heading h3 { margin: 7px 0 0; color: #2d4a5d; font-size: 15px; }
.calendar-impact-panel ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.calendar-impact-panel li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 9px; align-items: start; padding: 10px; border: 1px solid #e1ecef; border-radius: 9px; background: #fbfdfe; }
.calendar-panel-icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 8px; color: #1b789d; background: #e4f4fa; font-size: 17px; font-weight: 800; }
.calendar-impact-panel li b, .calendar-impact-panel li small { display: block; }
.calendar-impact-panel li b { color: #38586c; font-size: 12px; }
.calendar-impact-panel li small { margin-top: 3px; color: #7a909d; font-size: 10px; line-height: 1.48; }
.calendar-control-panel dl { display: grid; grid-template-columns: 1fr; gap: 0; margin: 0; border-top: 1px solid #e2edf1; border-bottom: 1px solid #e2edf1; }
.calendar-control-panel dl > div { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 9px 0; border-bottom: 1px solid #e8eff2; }
.calendar-control-panel dl > div:last-child { border-bottom: 0; }
.calendar-control-panel dt { color: #7b919e; font-size: 11px; }
.calendar-control-panel dd { margin: 0; color: #38566a; font-size: 11px; font-weight: 800; text-align: right; }
.calendar-protection { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 8px; align-items: start; padding: 10px; border-radius: 9px; background: #edf8f5; }
.calendar-protection > span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; color: #248263; background: #d7f0e7; font-size: 15px; }
.calendar-protection b, .calendar-protection small { display: block; }
.calendar-protection b { color: #2d6d5c; font-size: 11px; }
.calendar-protection small { margin-top: 2px; color: #638d7f; font-size: 10px; line-height: 1.45; }
.calendar-adjust-button { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 36px; padding: 7px 10px; color: #136b95; border-color: #bedce8; background: #fff; font-weight: 800; }
.calendar-adjust-button:hover { color: #fff; border-color: #147bab; background: #147bab; }
.config-note { margin-bottom: 12px; padding: 11px 13px; border: 1px solid #f1dfb6; border-radius: 9px; color: #80642d; background: #fff9ed; font-size: 12px; }
.config-table { overflow: auto; border: 1px solid #dce7ed; border-radius: 11px; background: #fff; box-shadow: var(--shadow-sm); }
.config-table table { min-width: 720px; font-size: 12px; }
.config-table th { padding: 10px 12px; border-bottom: 1px solid #dce7ed; color: #698091; background: #f7fafc; font-size: 11px; font-weight: 800; white-space: nowrap; }
.config-table td { padding: 11px 12px; border-bottom: 1px solid #e6edf1; color: #506676; }
.config-table tr:last-child td { border-bottom: 0; }
.config-table td b { display: block; color: #2d4658; }
.config-table td small { display: block; margin-top: 2px; color: #81909c; font-size: 10px; }
.org-config-grid, .two-config-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.sub-panel { margin-top: 14px; padding: 15px; border: 1px solid #dce7ed; border-radius: 11px; background: #fff; box-shadow: var(--shadow-sm); }
.org-config-grid .sub-panel { margin-top: 0; }
.sub-panel > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.sub-panel h3 { margin: 0; color: #2b4355; font-size: 15px; }
.sub-panel > p { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; margin: 0; padding: 9px 0; border-bottom: 1px solid #e7edf1; color: #647988; font-size: 12px; }
.sub-panel > p:last-child { border-bottom: 0; }
.sub-panel p b { color: #324b5c; }
.sub-panel p span { color: #8796a3; font-size: 11px; }
.sub-panel p i { padding: 1px 6px; border-radius: 8px; color: #24805e; background: #e8f8f0; font-size: 10px; font-style: normal; }
.sub-panel p em { padding: 1px 6px; border-radius: 8px; color: #5f6f7d; background: #eff2f4; font-size: 10px; font-style: normal; }
.relation-panel { margin-top: 14px; }
.relation-pill { gap: 5px; margin: 8px 6px 0 0; color: #416579; background: #eef7fa; }
.relation-pill .row-action { min-height: 22px; padding: 2px 5px; }
.row-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; min-width: 180px; }
.danger-link { color: #ad4251; border-color: #ecc9ce; background: #fff7f7; }
.danger-link:hover { color: #fff; border-color: #c95b68; background: #c95b68; }
.config-mini-list > p { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0; padding: 10px 0; border-bottom: 1px solid #e7edf1; color: #637887; font-size: 12px; }
.config-mini-list > p:last-child { border-bottom: 0; }
.config-mini-list b { color: #324b5c; }
.config-mini-list span { color: #8796a3; font-size: 11px; }
.config-mini-list i { padding: 1px 6px; border-radius: 8px; color: #24805e; background: #e8f8f0; font-size: 10px; font-style: normal; }
.config-mini-list i.off, .relation-pill.off { color: #8a5963; background: #fff0f1; }
.dictionary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.dictionary-card { margin-top: 0; }
.dictionary-card > div:first-child > div { min-width: 0; }
.dictionary-card .kicker { margin-bottom: 5px; }
.dictionary-card h3 { overflow-wrap: anywhere; }
.dictionary-card p { margin: 5px 0 0; color: #728593; font-size: 12px; line-height: 1.6; }
.dictionary-entries { display: flex; flex-wrap: wrap; gap: 4px; margin: 13px 0; }
.dictionary-entries .relation-pill { display: inline-flex; align-items: center; margin: 0; }
.dictionary-entries small { color: #7992a1; }
.meeting-history { margin-top: 16px; }
.meeting-history { margin-top:16px; padding:18px; }.meeting-history-toolbar { display:grid; grid-template-columns:minmax(220px,.65fr) minmax(290px,1.65fr) auto; align-items:center; gap:8px; margin:13px 0; }.meeting-history-toolbar input,.meeting-history-toolbar select { width:100%; }.meeting-history-total { display:inline-flex; align-items:center; justify-content:center; min-width:72px; height:36px; padding:0 10px; border:1px solid #d7e7ec; border-radius:8px; color:#607c8c; background:#f6fafb; font-size:11px; white-space:nowrap; }.meeting-history-total b { margin:0 3px; color:#246687; font-size:14px; }.meeting-history-table { overflow:hidden; border:1px solid #dce8ed; border-radius:9px; }.meeting-history-head,.meeting-history-row { display:grid; grid-template-columns:minmax(260px,1.55fr) minmax(190px,1fr) minmax(150px,.75fr) auto; align-items:center; gap:12px; }.meeting-history-head { padding:8px 12px; color:#6c8796; background:#f4f9fa; font-size:11px; font-weight:850; }.meeting-history-row { padding:9px 12px; border-top:1px solid #e7eef1; color:#5c7685; font-size:11px; }.meeting-history-row.active { background:#f0fafb; }.meeting-history-row > button { min-width:0; padding:0; border:0; color:inherit; background:transparent; text-align:left; }.meeting-history-row > button:hover b { color:#18739d; }.meeting-history-row b,.meeting-history-row small { display:block; }.meeting-history-row b { overflow:hidden; color:#304f62; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.meeting-history-row small { margin-top:3px; overflow:hidden; color:#7c919d; text-overflow:ellipsis; white-space:nowrap; }.meeting-history-row > div { display:flex; justify-content:flex-end; gap:5px; }.meeting-history-empty { display:grid; min-height:124px; place-items:center; margin-top:12px; padding:18px; border:1px dashed #d9e7eb; border-radius:9px; background:#fbfdfe; }.meeting-history-empty .empty { width:100%; margin:0; }.meeting-history-pagination { display:flex; align-items:center; justify-content:flex-end; gap:9px; margin-top:10px; color:#6b8391; font-size:11px; }
.snapshot-list { display: grid; gap: 7px; }
.snapshot-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; width: 100%; padding: 11px 13px; border: 1px solid #dce8ee; border-radius: 9px; color: #426173; background: #fff; text-align: left; transition: .16s ease; }
.snapshot-row:hover, .snapshot-row.active { border-color: #70a8b7; background: #f0fafb; box-shadow: var(--shadow-sm); }
.snapshot-row span { font-weight: 700; color: #263f50; }
.snapshot-row small { color: #708392; text-align: right; }
.backup-records { margin-top: 18px; padding: 24px; overflow: hidden; }
.backup-records > .panel-title { margin-bottom: 20px; }
.backup-records .panel-title p { margin-top: 8px; max-width: none; line-height: 1.7; }
.backup-records > .empty { min-height: 160px; padding: 28px 24px; gap: 12px; border: 1px dashed #dce7ed; border-radius: 8px; background: #f8fbfc; line-height: 1.7; }
.backup-records > .ledger-pagination { margin: 20px -24px -24px; padding: 16px 24px; gap: 16px; flex-wrap: wrap; }
.backup-records > .audit-list { box-shadow: none; }
.backup-records .audit-list > div { grid-template-columns: 140px minmax(150px, 1fr) minmax(160px, 1fr) auto; align-items: center; gap: 16px; padding: 16px; }
.backup-records .audit-list b, .backup-records .audit-list span { min-width: 0; overflow-wrap: anywhere; line-height: 1.6; }
.attachment-field-note { display: grid; gap: 4px; min-height: 78px; padding: 11px; border: 1px dashed #9cc0ca; border-radius: 8px; color: #547280; background: #f5fbfc; }
.attachment-field-note b { color: #2d6575; font-size: 12px; }
.attachment-field-note small { color: #708795; line-height: 1.55; }
.attachment-list article.revoked { opacity: .68; background: #fbf7f7; }
.parse-preview { display: grid; gap: 8px; margin: 14px 0; }
.parse-preview-row { display: grid; grid-template-columns: 105px 86px minmax(0, 1fr); gap: 10px; align-items: start; padding: 10px; border: 1px solid #dce8ed; border-radius: 8px; background: #fafcfd; }
.parse-preview-row > b { color: #324d5d; }
.parse-preview-row > span { color: #6b7f8c; font-size: 12px; }
.parse-preview-row > p { margin: 0; color: #506978; line-height: 1.55; white-space: pre-wrap; }
.parse-preview-row.accepted { border-color: #9bd2bd; background: #f1fbf5; }
.parse-preview-row.accepted > span { color: #27805a; }
.parse-preview-row.blocked { border-color: #edc7cd; background: #fff6f7; }
.parse-preview-row.blocked > span { color: #b64250; }
.parse-warnings { display: grid; gap: 5px; margin: 12px 0; padding: 10px; border-radius: 8px; color: #914858; background: #fff1f2; font-size: 12px; }
.parse-assignments { margin: 16px 0; padding: 14px; border: 1px solid #d7e6ea; border-radius: 9px; background: #f7fbfc; }
.parse-assignments h3 { margin: 0 0 5px; color: #324e5e; font-size: 14px; }
.parse-assignments > p { margin: 0 0 12px; color: #70828f; font-size: 12px; line-height: 1.55; }
.template-version { display: inline-block; margin-bottom: 7px; padding: 2px 6px; border-radius: 4px; color: #776199; background: #f1eefb; font-size: 10px; font-weight: 800; }
.workflow-board { display: grid; grid-template-columns: minmax(0, 1fr) 25px minmax(0, 1fr) 25px minmax(0, 1fr) 25px minmax(0, 1fr); align-items: center; gap: 8px; padding: 15px; border: 1px solid #dce7ed; border-radius: 11px; background: linear-gradient(90deg, #f9fcfd, #f0f8fb); }
.flow-step { display: flex; align-items: flex-start; gap: 8px; }
.flow-step > b { display: inline-grid; min-width: 25px; height: 25px; place-items: center; border-radius: 50%; color: #fff; background: #287da9; font-size: 11px; }
.flow-step h3 { margin: 0; color: #304b5d; font-size: 12px; }
.flow-step p { margin: 2px 0 0; color: #798c9a; font-size: 10px; }
.flow-arrow { color: #77a7bd; text-align: center; font-size: 20px; }
.permissions p small { display: block; width: 100%; color: #8494a0; }
.role-matrix-panel { padding: 0; overflow: hidden; }
.role-matrix-intro { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 15px 16px; border-bottom: 1px solid #e1ebef; background: linear-gradient(108deg, #f2fafc, #fbfdfe); }
.role-matrix-intro p { max-width: 720px; margin: 0; color: #637c8b; font-size: 12px; line-height: 1.65; }
.role-matrix-intro b { color: #28536a; }
.role-matrix-intro > span { flex: 0 0 auto; padding: 5px 8px; border: 1px solid #c7e0e7; border-radius: 99px; color: #2e7485; background: #edf9fb; font-size: 11px; }
.role-matrix-table { margin: 0; border: 0; border-radius: 0; box-shadow: none; }
.role-matrix-table th { white-space: nowrap; }
.role-matrix-table td:first-child { min-width: 168px; }
.role-matrix-table td:first-child small { display: block; margin-top: 3px; color: #8a9ca7; font-size: 10px; }
.matrix-check { width: 72px; color: #8a9aa5; text-align: center; }
.matrix-check span { display: inline-grid; width: 21px; height: 21px; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg, #1584a6, #28a18d); box-shadow: 0 3px 7px rgba(27, 142, 151, .2); font-weight: 900; }
.brand-preview { display: grid; grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr); gap: 20px; align-items: center; padding: 18px; border: 1px solid #dce7ed; border-radius: 12px; background: #fff; box-shadow: var(--shadow-sm); }
.brand-preview-photo { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 190px; overflow: hidden; padding: 16px; border-radius: 10px; color: #e9faff; background: linear-gradient(145deg, rgba(13, 45, 73, .28), rgba(14, 91, 105, .45)), linear-gradient(145deg, #254f71, #1f908c); box-shadow: inset 0 -56px 35px rgba(2, 27, 45, .38); }
.brand-preview-photo::after { position: absolute; inset: 0; z-index: 1; content: ''; background: linear-gradient(180deg, transparent 35%, rgba(2, 23, 37, .72)); pointer-events: none; }
.brand-preview-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.brand-preview-photo > div, .brand-preview-placeholder { position: relative; z-index: 2; }
.brand-preview-placeholder { display: grid; height: 100%; min-height: 158px; place-items: center; border: 1px dashed rgba(220, 248, 255, .55); border-radius: 7px; color: #cceaf1; font-size: 12px; }
.brand-preview-photo b { font-size: 16px; }
.brand-preview-photo span { color: #bfe2e9; font-size: 12px; }
.brand-preview h3 { margin: 0 0 5px; color: #274253; }
.brand-preview p, .brand-preview li { color: #718493; font-size: 12px; }
.brand-preview ul { padding-left: 18px; }
.role-permission-picker { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-top: 7px; }
.role-permission-picker label { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 7px; align-items: center; min-height: 49px; padding: 8px 9px; border: 1px solid #d9e7ec; border-radius: 8px; color: #3e5d6e; background: #fbfdfe; cursor: pointer; }
.role-permission-picker label:hover { border-color: #87bfce; background: #f1fafc; }
.role-permission-picker input { grid-row: span 2; accent-color: #1785a5; }
.role-permission-picker span { overflow: hidden; font-size: 12px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.role-permission-picker small { overflow: hidden; color: #8396a1; font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.role-navigation-picker { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 7px; }
.role-navigation-picker label { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid #d5e5ea; border-radius: 8px; color: #385b6d; background: #f9fcfd; cursor: pointer; font-size: 12px; font-weight: 750; }
.role-navigation-picker input { accent-color: #1785a5; }
.brand-asset-manager { min-width: 0; margin: 2px 0 0; padding: 0; border: 1px solid #d5e6eb; border-radius: 11px; background: #f9fcfd; }
.brand-asset-manager legend { margin-left: 13px; padding: 0 6px; color: #2e657c; font-size: 13px; font-weight: 850; }
.brand-asset-toolbar { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 13px; align-items: center; padding: 14px; border-bottom: 1px solid #e0ecef; }
.brand-asset-toolbar p { margin: 0; color: #718895; font-size: 11px; line-height: 1.6; }
.brand-upload-control { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 106px; min-height: 34px; padding: 0 12px; overflow: hidden; border-radius: 8px; color: #fff !important; background: linear-gradient(135deg, #167da6, #168aa0); box-shadow: 0 4px 9px rgba(18, 112, 146, .16); cursor: pointer; font-size: 12px; font-weight: 800; }
.brand-upload-control input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.brand-asset-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; padding: 14px; }
.brand-asset-grid > .muted { grid-column: 1 / -1; margin: 4px 0; }
.brand-asset-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #dbe8ec; border-radius: 10px; background: #fff; }
.brand-asset-card.selected { border-color: #53a8bb; box-shadow: 0 0 0 1px rgba(67, 165, 184, .13); }
.brand-asset-card > img { width: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: #edf3f5; }
.brand-asset-card > div { display: grid; gap: 7px; min-width: 0; padding: 12px; }
.brand-asset-card label { display: inline-flex; flex-direction: row; align-items: center; gap: 7px; margin: 0; color: #397286; font-size: 12px; cursor: pointer; }
.brand-asset-card label input[type="checkbox"] { appearance: auto; width: 16px; height: 16px; min-height: 0; flex: 0 0 16px; margin: 0; padding: 0; accent-color: #1785a5; }
.brand-asset-card b { overflow: hidden; color: #314f60; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.brand-asset-card small { color: #627986; font-size: 11px; overflow-wrap: anywhere; }
.brand-asset-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; margin-top: 3px; padding-top: 9px; border-top: 1px solid #e8eef1; }
.brand-asset-card .row-action { min-height: 30px; padding: 4px 8px; font-size: 12px; }
.brand-asset-card.pending-delete { border-style: dashed; border-color: #c59980; background: #fffaf6; }
.brand-asset-card.pending-delete > img { opacity: .5; }
.brand-asset-pending { color: #945431; font-size: 12px; }
.brand-asset-card.legacy { grid-template-columns: 58px minmax(0, 1fr); border-style: dashed; }
.brand-asset-legacy-icon { display: grid; place-items: center; color: #618696; background: #edf5f7; font-size: 20px; }
.audit-list { overflow: hidden; border: 1px solid #dce7ed; border-radius: 11px; background: #fff; box-shadow: var(--shadow-sm); }
.audit-list > div { display: grid; grid-template-columns: 150px 160px minmax(180px, 1fr); gap: 12px; padding: 12px 14px; border-bottom: 1px solid #e7edf1; }
.audit-list > div:last-child { border-bottom: 0; }
.audit-list time { color: #7d8e9b; font-size: 11px; }
.audit-list b { color: #36566a; font-size: 12px; }
.audit-list span, .audit-list small { color: #758796; font-size: 11px; }
.backup-callout { display: grid; grid-template-columns: 1fr auto; gap: 20px; padding: 17px; border: 1px solid #d8e6ed; border-radius: 11px; background: #fff; box-shadow: var(--shadow-sm); }
.backup-callout h3 { margin: 0 0 4px; color: #304b5b; }
.backup-callout p { margin: 0; color: #738594; font-size: 12px; }
.backup-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.backup-stats > div { padding: 13px; border: 1px solid #dce7ed; border-radius: 9px; background: #fff; }
.backup-stats span, .backup-stats b { display: block; }
.backup-stats span { color: #7b8d9b; font-size: 11px; }
.backup-stats b { color: #294a5e; font-size: 17px; }
.access-panel { padding: 44px; text-align: center; }
.big-lock { display: inline-grid; width: 48px; height: 48px; place-items: center; margin-bottom: 10px; border-radius: 14px; color: #46728b; background: #e7f3f8; font-size: 25px; }
.access-panel h3 { margin: 0 0 4px; color: #334f62; }
.access-panel p { max-width: 520px; margin: auto; color: #768896; }

/* Detail dialog */
#overlay-root { position: relative; z-index: 60; }
.modal { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(5, 22, 37, .58); backdrop-filter: blur(3px); }
.modal-card { position: relative; width: min(900px, calc(100vw - 48px)); max-height: min(900px, calc(100vh - 48px)); overflow: auto; padding: 22px; border: 1px solid rgba(220, 232, 239, .95); border-radius: 15px; background: #fff; box-shadow: var(--shadow-lg); }
.modal-card.wide { width: min(1140px, calc(100vw - 48px)); }
.modal-card.template-workbench { width: min(1480px, calc(100vw - 40px)); max-height: calc(100vh - 28px); padding: 24px; }
.modal-card.template-view { width: min(1240px, calc(100vw - 48px)); }
.modal-card h2 { margin: 0 34px 6px 0; color: #223c4e; font-size: 21px; }
.modal-close { position: absolute; top: 15px; right: 15px; width: 31px; height: 31px; padding: 0; border: 1px solid #d6e2e9; border-radius: 8px; color: #627a8a; background: #fff; font-size: 19px; line-height: 1; }
.modal-close:hover { color: #264f66; background: #f4f9fb; }
.dialog-intro { margin: 0 0 16px; color: #718492; font-size: 12px; }
.account-card { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 12px; align-items: center; margin: 16px 0 18px; padding: 16px; border: 1px solid #d9e8ee; border-radius: 12px; background: linear-gradient(135deg, #f2fafc, #fff); }
.account-avatar { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(135deg, #187db1, #2eb1ae); box-shadow: 0 7px 16px rgba(24, 125, 177, .2); font-size: 21px; font-weight: 850; }
.account-card > div:nth-child(2) b, .account-card > div:nth-child(2) span { display: block; }.account-card > div:nth-child(2) b { color:#274458; font-size:16px; }.account-card > div:nth-child(2) span { margin-top:2px; color:#7891a0; font-size:12px; }
.account-card dl { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 4px 0 0; padding-top: 12px; border-top: 1px solid #dfecef; }.account-card dl div { min-width:0; }.account-card dt { color:#8299a7; font-size:10px; font-weight:800; }.account-card dd { margin:3px 0 0; overflow:hidden; color:#3d5a6d; text-overflow:ellipsis; white-space:nowrap; font-size:12px; font-weight:700; }
.detail-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 0 0 16px; border-bottom: 1px solid #e3ebef; }
.issue-no { color: #1b759f; font-size: 12px; font-weight: 800; letter-spacing: .03em; }
.detail-header h2 { margin: 4px 0 2px; }
.issue-state { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.detail-actions { display: flex; justify-content: flex-end; gap: 7px; flex-wrap: wrap; margin-top: 15px; }
.detail-tabs { display: flex; gap: 2px; overflow-x: auto; margin: 17px 0; padding-bottom: 2px; border-bottom: 1px solid #dfe9ee; }
.detail-tabs button { min-height: 34px; padding: 7px 10px; border: 0; border-bottom: 2px solid transparent; color: #718493; background: transparent; font-size: 12px; font-weight: 700; white-space: nowrap; }
.detail-tabs button:hover { color: #1d6d98; }
.detail-tabs button.active { border-bottom-color: #18859c; color: #176d97; }
.detail-section { padding: 16px; border: 1px solid #dde8ee; border-radius: 11px; background: #fff; }
.detail-section + .detail-section { margin-top: 13px; }
.detail-section h3 { margin: 0 0 11px; color: #304b5d; font-size: 15px; }
.definition-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #e5edf1; border-left: 1px solid #e5edf1; }
.definition-grid > div { min-height: 65px; padding: 9px 11px; border-right: 1px solid #e5edf1; border-bottom: 1px solid #e5edf1; background: #fbfdfe; }
.definition-grid dt { margin-bottom: 3px; color: #8292a0; font-size: 10px; font-weight: 800; }
.definition-grid dd { margin: 0; color: #3e5768; font-size: 12px; word-break: break-word; }
.detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.detail-grid .panel, .detail-section .panel { margin: 0; padding: 13px; background: #fbfdfe; box-shadow: none; }
.detail-grid .panel h4 { margin: 0 0 6px; color: #416072; font-size: 12px; }
.workflow-board .flow-step, .stage-track { min-width: 0; }
.stage-track { display: flex; gap: 2px; margin: 12px 0; }
.stage-track > div { position: relative; flex: 1; min-width: 70px; padding: 8px 7px 8px 23px; border: 1px solid #dfe8ed; border-right: 0; color: #718493; background: #f8fafb; font-size: 10px; }
.stage-track > div:first-child { border-radius: 7px 0 0 7px; }
.stage-track > div:last-child { border-right: 1px solid #dfe8ed; border-radius: 0 7px 7px 0; }
.stage-track > div::before { position: absolute; left: 8px; top: 10px; width: 8px; height: 8px; content: ""; border: 2px solid #aebdc8; border-radius: 50%; }
.stage-track .done { color: #267459; background: #effaf4; }
.stage-track .done::before { border-color: #2a9a70; background: #2a9a70; }
.stage-track .current { color: #176d98; background: #edf8fc; font-weight: 800; }
.stage-track .current::before { border-color: #228eb2; background: #fff; box-shadow: 0 0 0 3px rgba(34, 142, 178, .15); }
.task-list { display: grid; gap: 9px; }
.task-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 12px; border: 1px solid #dde9ee; border-radius: 9px; background: #fbfdfe; }
.task-labels { display: flex; gap: 5px; align-items: center; flex-wrap: wrap; }
.task-kind { min-width: 58px; padding: 3px 5px; border-radius: 5px; color: #277195; background: #e7f4fa; font-size: 10px; font-weight: 800; text-align: center; }
.task-category { display: inline-flex; align-items: center; min-height: 20px; padding: 2px 6px; border: 1px solid #e8c993; border-radius: 999px; color: #875a16; background: #fff8e8; font-size: 10px; font-weight: 800; line-height: 1.2; }
.task-main b, .task-main small { display: block; }
.task-main b { color: #344e5f; font-size: 12px; }
.task-main small { margin-top: 2px; color: #80919e; font-size: 11px; }
.task-meta { display: flex; justify-content: flex-end; gap: 6px; align-items: center; flex-wrap: wrap; }
.cause-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.cause-columns > div { min-height: 122px; padding: 12px; border: 1px solid #dce8ee; border-radius: 9px; background: #fbfdfe; }
.cause-columns h4 { margin: 0 0 7px; color: #376075; font-size: 12px; }
.cause-columns p { margin: 0; color: #627788; font-size: 12px; white-space: pre-wrap; }
.cause-columns > section { min-width: 0; padding: 11px; border: 1px solid #dce8ee; border-radius: 9px; background: #fbfdfe; }
.cause-card { margin-top: 8px; padding: 10px; border: 1px solid #e0ebf0; border-radius: 7px; background: #fff; }
.cause-card b, .cause-card small { display: block; }
.cause-card b { color: #3b5668; font-size: 12px; white-space: pre-wrap; }
.cause-card small { margin-top: 4px; color: #7b8d9b; font-size: 10px; }
.cause-card .task-meta { justify-content: flex-start; margin-top: 7px; }
.cause-card p { margin-top: 7px; color: #728594; font-size: 11px; }
.cause-card .row-action { margin-top: 8px; }
.cause-guidance, .parse-note { margin-top: 10px; padding: 9px 11px; border-radius: 7px; color: #77602e; background: #fff8e9; font-size: 11px; }
.action-list + .detail-actions { margin-top: 11px; }
.approval-list { display: grid; gap: 9px; }
.approval-card { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 12px; border: 1px solid #dce8ee; border-radius: 9px; background: #fbfdfe; }
.approval-card b, .approval-card small { display: block; }
.approval-card b { color: #375164; font-size: 12px; }
.approval-card small { margin-top: 2px; color: #81919f; font-size: 11px; }
.approval-role { color: #1b729c; font-size: 11px; font-weight: 800; }
.attachment-list { display: grid; gap: 8px; }
.attachment-list > article, .attachment-list > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; padding: 10px; border: 1px solid #dce8ee; border-radius: 8px; background: #fbfdfe; }
.attachment-list > article > div { flex: 1 1 auto; min-width: 0; }
.attachment-list > article .row-action, .attachment-list > article .state-off { flex: 0 0 auto; }
.file-icon { display: inline-grid; width: 29px; height: 29px; place-items: center; margin-right: 7px; border-radius: 6px; color: #2375a2; background: #e4f3fa; font-size: 11px; font-weight: 900; }
.attachment-list b, .attachment-list small { display: block; }
.attachment-list b { color: #405a6b; font-size: 12px; }
.attachment-list small { color: #82919e; font-size: 10px; }
.attachment-rules { margin-top: 10px; color: #81929f; font-size: 11px; }
.lifecycle-actions { align-items: center; padding-top: 12px; border-top: 1px solid #e3ebef; }
.lifecycle-actions > small { flex-basis: 100%; color: #78909e; font-size: 11px; font-weight: 700; }
.issue-links-section { margin-top: 13px; }
.issue-links-section .section-head p { margin: 4px 0 0; color: #718592; font-size: 12px; }
.issue-links-list { display: grid; gap: 8px; }
.issue-links-list article { display: flex; align-items: flex-start; gap: 10px; min-width: 0; padding: 10px; border: 1px solid #dce8ee; border-radius: 8px; background: #fbfdfe; }
.issue-links-list article > div { min-width: 0; }
.issue-links-list b, .issue-links-list small { display: block; }
.issue-links-list b { overflow-wrap: anywhere; color: #3b5668; font-size: 12px; }
.issue-links-list small { margin-top: 3px; color: #7b8e9b; font-size: 10px; }
.link-type { flex: 0 0 auto; padding: 3px 6px; border-radius: 999px; color: #246f91; background: #e7f4fa; font-size: 10px; font-weight: 800; }
.impact-box, .backup-callout { margin-top: 14px; }
.impact-box { padding: 11px 13px; border-left: 3px solid #4e9db9; border-radius: 0 8px 8px 0; color: #506d80; background: #f2f9fb; font-size: 12px; }

/* Forms */
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; }
.form-grid .span-all { grid-column: 1 / -1; }
.form-grid label { min-width: 0; }
.check-label { display: flex; align-items: center; gap: 7px; min-height: 34px; padding: 8px 10px; border: 1px solid #dce8ee; border-radius: 8px; color: #557082; background: #f9fcfd; font-weight: 600; }
.check-label input[type="checkbox"] { inline-size: 16px; block-size: 16px; width: 16px; height: 16px; min-width: 16px; min-height: 16px; flex: 0 0 16px; margin: 0; accent-color: #1b82ab; }
.column-picker { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-top: 10px; }
.column-picker .check-label { min-height: 34px; padding: 6px 8px; font-size: 11px; }
.config-checkboxes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; max-height: 185px; overflow: auto; padding: 7px; border: 1px solid #d8e5eb; border-radius: 8px; background: #fbfdfe; }
.config-checkboxes .check-label { min-height: 29px; padding: 5px 6px; border: 0; background: transparent; font-size: 11px; }
.bulk-json-guide { margin-top: 14px; border: 1px solid #d8e6eb; border-radius: 9px; color: #546c7a; background: #f8fcfd; }
.bulk-json-guide summary { padding: 11px 13px; color: #2c6179; font-weight: 800; cursor: pointer; }
.bulk-json-guide > p { margin: 0; padding: 0 13px; color: #647d8b; font-size: 12px; line-height: 1.6; }
.bulk-json-guide pre { max-height: 225px; margin: 10px 13px; overflow: auto; padding: 11px; border-radius: 7px; color: #315267; background: #edf5f7; font: 11px/1.6 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; white-space: pre; }
.bulk-reference-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); gap: 12px; padding: 0 13px 13px; }
.bulk-reference-grid section { min-width: 0; padding: 9px; border: 1px solid #e0ebee; border-radius: 7px; background: #fff; }
.bulk-reference-grid section > b { color: #3f6477; font-size: 12px; }
.bulk-reference-grid ul { display: grid; gap: 5px; margin: 7px 0 0; padding: 0; list-style: none; }
.bulk-reference-grid li { display: grid; gap: 2px; color: #708592; font-size: 11px; }
.bulk-reference-grid li b, .bulk-reference-grid li code { overflow-wrap: anywhere; color: #305f78; font-weight: 800; }
.bulk-result-summary { display: flex; gap: 8px; flex-wrap: wrap; margin: 14px 0; }
.bulk-result-summary span { min-width: 90px; padding: 9px 11px; border: 1px solid #d9e6ea; border-radius: 8px; color: #5d7482; background: #f7fbfc; font-size: 12px; }
.bulk-result-summary b { margin-right: 4px; color: #234a60; font-size: 17px; }
.bulk-result-summary .success { border-color: #b7dfc9; background: #f0faf4; }
.bulk-result-summary .success b { color: #238259; }
.bulk-result-summary .failed { border-color: #ecc7ce; background: #fff5f6; }
.bulk-result-summary .failed b { color: #b64150; }
.bulk-result-table { max-height: 380px; overflow: auto; }
.actions { margin-top: 19px; }
.form-section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; color: #31576d; font-weight: 800; }
.form-section-head small { color: #7b909e; font-size: 11px; font-weight: 600; }
.required-mark, .field-error { color: #c24343; font-style: normal; }
.template-background-fields { margin-top: 16px; padding: 14px; border: 1px solid #d8e7ed; border-radius: 10px; background: #f9fcfd; }
.template-background-fields small { display: block; margin-top: 4px; color: #8295a2; font-size: 10px; }
.reinspection-template-backgrounds { margin: 14px 0; border-color: #cfe4eb; background: linear-gradient(145deg, #fbfdfe, #f2f9fb); }
.reinspection-background-field { min-width: 0; padding: 9px 10px; border: 1px solid #dbe8ed; border-radius: 8px; background: #fff; }
.reinspection-background-field > label { margin: 0; }
.reinspection-background-field > small { min-height: 30px; margin-top: 7px; padding-top: 7px; border-top: 1px dashed #dfeaf0; line-height: 1.45; }
.reinspection-background-field > small b { display: inline; margin-right: 6px; color: #2f758e; font-size: 10px; }
.reinspection-background-field.is-required { border-color: #e9c98e; background: #fffdf8; }
.reinspection-background-field.is-required > small b { color: #a86a16; }
.reinspection-background-field.is-changed { border-color: #e8b5ac; background: #fffafa; }
.reinspection-background-field.is-changed > small b { color: #ae5147; }
.reinspection-background-field.is-inherited { border-color: #b9deda; background: #f8fdfc; }
.reinspection-background-field.is-inherited > small b { color: #25866f; }
.workbench-section { margin-top: 16px; padding: 15px; border: 1px solid #dce8ee; border-radius: 11px; background: #fbfdfe; }
.workbench-section > p { margin: -2px 0 11px; color: #708796; font-size: 12px; }
.workbench-rows { display: grid; gap: 8px; }
.workbench-row { display: grid; grid-template-columns: 1.15fr 1.2fr .72fr auto auto; gap: 7px; align-items: center; padding: 8px; border: 1px solid #dfe9ee; border-radius: 8px; background: #fff; }
.background-field-row { grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: end; }.background-field-row label, .template-item-row label { display: grid; gap: 4px; color: #627887; font-size: 10px; font-weight: 800; }.background-field-main, .background-field-default { grid-column: span 2; }.background-field-sort { grid-column: span 1; }.background-enum-options { grid-column: span 3; }.background-field-row > .check-label { grid-column: span 2; }.background-field-row > button { grid-column: span 1; justify-self: end; }.background-field-row.has-field-error { border-color: #d88989; background: #fffafa; }.background-field-sort .field-error, .background-field-default .field-error, .background-enum-options .field-error { margin: 0; color: #b93f3f; font-size: 10px; line-height: 1.35; }.background-field-default [data-background-default-control] { display: block; }.background-field-default [data-background-default-control] > input, .background-field-default [data-background-default-control] > select { width: 100%; }
.background-field-row { display: block; padding: 0; overflow: hidden; }.background-field-core-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: end; gap: 8px; padding: 11px; }.background-field-core-grid > label { display: grid; gap: 4px; min-width: 0; color: #627887; font-size: 10px; font-weight: 800; }.background-field-core-grid .background-field-main, .background-field-core-grid .background-field-default { grid-column: span 2; }.background-field-core-grid .background-field-sort { grid-column: span 1; }.background-field-required-toggle { grid-column: span 2; grid-template-columns: 16px minmax(0, 1fr) !important; align-items: center; gap: 7px !important; min-height: 32px; padding: 5px 7px; border: 1px solid #dbe8ed; border-radius: 7px; color: #406579 !important; background: #f8fcfd; cursor: pointer; }.background-field-required-toggle:hover { border-color: #94c5d0; background: #f1fafb; }.background-field-required-toggle input[type="checkbox"] { inline-size: 14px; block-size: 14px; width: 14px; height: 14px; min-width: 14px; min-height: 14px; margin: 0; accent-color: #1681a7; }.background-field-required-toggle span { display: grid; gap: 1px; min-width: 0; }.background-field-required-toggle b { color: #315b70; font-size: 11px; line-height: 1.15; }.background-field-required-toggle small { color: #8097a3; font-size: 9px; font-weight: 700; line-height: 1.2; }.background-field-delete { grid-column: span 1; justify-self: end; align-self: center; }.background-enum-options-panel { display: grid; grid-template-columns: minmax(190px, .72fr) minmax(0, 1.48fr); align-items: center; gap: 12px; padding: 10px 11px 11px; border-top: 1px solid #e7f0f3; background: linear-gradient(90deg, #f7fcfd, #fbfefe); }.background-enum-options-panel[hidden] { display: none; }.background-enum-options-intro { display: grid; gap: 3px; min-width: 0; }.background-enum-options-intro .kicker { width: max-content; }.background-enum-options-intro b { color: #315c72; font-size: 12px; }.background-enum-options-intro small, .background-enum-options-copy small { color: #77909d; font-size: 10px; font-weight: 650; line-height: 1.45; }.background-enum-options-copy { display: grid; gap: 4px; min-width: 0; color: #557283 !important; font-size: 10px !important; font-weight: 800 !important; }.background-enum-options-copy input { width: 100%; }.background-enum-options-copy .field-error { margin: 0; color: #b93f3f; font-size: 10px; line-height: 1.35; }
@media (max-width: 1350px) { .background-field-core-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }.background-field-core-grid .background-field-main, .background-field-core-grid .background-field-default { grid-column: span 2; }.background-field-required-toggle { grid-column: span 2; }.background-field-delete { grid-column: span 1; }.background-enum-options-panel { grid-template-columns: 1fr; gap: 7px; } }
.template-item-row { display: block; padding: 0; overflow: hidden; border-color: #dce8ee; }.template-item-row > header { display: flex; align-items: center; gap: 8px; padding: 9px 11px; border-bottom: 1px solid #e5eef2; background: #f8fbfc; color: #345166; font-size: 12px; }.template-item-row > header .row-action { margin-left: auto; }.template-item-kind { padding: 2px 6px; border-radius: 99px; color: #4c6d7e; background: #eaf2f5; font-size: 10px; }
.template-item-core, .template-rule-grid { display: grid; gap: 9px; padding: 10px 11px 0; }.template-item-core { grid-template-columns: repeat(7, minmax(104px, 1fr)); }.template-rule-grid { grid-template-columns: repeat(6, minmax(112px, 1fr)); padding-bottom: 5px; }.template-rule-grid .manual-rule, .template-rule-grid .span-2 { grid-column: span 2; }.template-rule-grid textarea { min-height: 60px; resize: vertical; }.template-rule-grid .manual-rule textarea{ min-height: 96px; line-height: 1.55; resize: vertical; }.template-rule-grid small { color: #748897; font-size: 10px; font-weight: 600; }
.template-item-identity-grid, .template-item-judgement-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 10px; padding: 11px 11px 0; }.template-item-identity-grid > label { grid-column: span 2; }.template-item-identity-grid > label:nth-child(6), .template-item-identity-grid > label:nth-child(7) { grid-column: span 1; }.template-item-judgement-grid { align-items: start; padding-top: 12px; padding-bottom: 9px; border-top: 1px solid #eef3f5; }.template-item-sample, .template-item-ac { grid-column: span 2; }.template-item-standard { grid-column: span 5; }.template-item-method { grid-column: span 3; }.template-item-comparison { grid-column: span 3; }.template-item-numeric, .template-item-unit { grid-column: span 2; }.template-item-reaction { grid-column: 1 / -1; gap: 5px; padding: 9px 10px; border: 1px solid #d9e7ec; border-radius: 8px; background: #f8fbfc; }.template-item-reaction > span { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #315c73; font-size: 11px; font-weight: 850; }.template-item-reaction em { padding: 2px 6px; border-radius: 99px; color: #5d7787; background: #e9f1f4; font-size: 10px; font-style: normal; }.template-item-reaction.has-required-reaction { border-color: #e8c3c7; background: #fff9fa; }.template-item-reaction.has-required-reaction em { color: #ad3e4a; background: #fae6e8; }.template-item-reaction textarea { min-height: 66px; resize: vertical; line-height: 1.55; }.template-item-standard textarea { min-height: 118px; resize: vertical; line-height: 1.55; }.template-item-judgement-grid small { color: #748897; font-size: 10px; font-weight: 600; line-height: 1.45; }.template-item-rate-fieldset { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 0 11px 9px; padding: 5px 8px 7px; border: 1px solid #dce8ee; border-radius: 8px; background: #fbfdfe; }.template-item-rate-fieldset legend { padding: 0 4px; color: #617d8e; font-size: 10px; font-weight: 800; }.template-item-rate-fieldset .check-label { display: inline-flex; min-height: 28px; padding: 4px 7px; border-color: transparent; border-radius: 6px; background: #f2f8fa; font-size: 10px; }.workbench-row .check-label input[type="checkbox"], .template-item-rate-fieldset .check-label input[type="checkbox"] { inline-size: 14px; block-size: 14px; width: 14px; height: 14px; min-width: 14px; min-height: 14px; flex-basis: 14px; }.template-rule-hint { margin: 0; padding: 4px 11px 11px; color: #78909f; font-size: 11px; }.template-item-row:not(.is-numeric) .numeric-rule, .template-item-row.is-numeric .manual-rule, .template-item-row:not(.is-enum) .enum-rule, .template-item-row.is-text .acceptance-rule { display: none; }
@media (max-width: 1350px) { .template-item-identity-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }.template-item-identity-grid > label, .template-item-identity-grid > label:nth-child(6), .template-item-identity-grid > label:nth-child(7) { grid-column: span 1; }.template-item-identity-grid > label:nth-child(2), .template-item-identity-grid > label:nth-child(4) { grid-column: span 2; }.template-item-judgement-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }.template-item-sample, .template-item-ac { grid-column: span 2; }.template-item-standard { grid-column: span 4; }.template-item-method { grid-column: span 4; }.template-item-comparison { grid-column: span 3; }.template-item-numeric, .template-item-unit { grid-column: span 2; } }
.workbench-row input, .workbench-row select { min-width: 0; min-height: 32px; padding: 5px 7px; font-size: 11px; }
.workbench-row .check-label { min-height: 32px; padding: 5px 7px; font-size: 11px; }
.template-library { padding: 0; overflow: hidden; }
.template-library-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 18px 18px 12px; }
.template-library-head h3 { margin: 4px 0 3px; color: #28475a; font-size: 17px; }
.template-library-head p { margin: 0; color: #738898; font-size: 12px; }
.template-library-head > span { flex: 0 0 auto; margin-top: 5px; padding: 5px 8px; border-radius: 999px; color: #237196; background: #eaf6fb; font-size: 11px; font-weight: 800; }
.template-library-controls { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 0 18px 14px; border-bottom: 1px solid #e2ebef; }.template-library-controls > label { display: flex; align-items: center; gap: 7px; color: #637a89; font-size: 12px; font-weight: 750; white-space: nowrap; }.template-library-controls > label select { min-width: 150px; }
.template-status-tabs { display: flex; gap: 7px; }
.template-status-tab { min-height: 31px; padding: 5px 11px; border: 1px solid #dbe7ec; border-radius: 7px; color: #69808e; background: #fff; font-size: 12px; font-weight: 750; }
.template-status-tab:hover { color: #1b6d95; border-color: #a9cfdf; background: #f4fbfe; }
.template-status-tab.active { color: #176a94; border-color: #8fc4da; background: #e9f7fc; }
.template-library-table th, .template-library-table td { padding-top: 12px; padding-bottom: 12px; }
.template-actions-col, .template-actions-cell { min-width: 370px; }.template-row-actions { display: flex; align-items: center; justify-content: flex-start; gap: 6px; flex-wrap: wrap; }.template-row-actions .row-action { white-space: nowrap; }
.template-view-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin: 16px 0; }
.template-view-meta article, .template-view-fields article { min-width: 0; padding: 10px; border: 1px solid #dce9ee; border-radius: 8px; background: #fbfdfe; }
.template-view-meta span, .template-view-meta b, .template-view-fields b, .template-view-fields small, .template-view-fields span { display: block; }
.template-view-meta span, .template-view-fields small { color: #7a8f9d; font-size: 10px; font-weight: 700; }
.template-view-meta b, .template-view-fields b { margin-top: 3px; overflow-wrap: anywhere; color: #385569; font-size: 12px; }
.template-view-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.template-view-fields span { margin-top: 5px; color: #527184; font-size: 11px; }
.template-view-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.template-view-items > section { padding: 10px; border: 1px solid #dce9ee; border-radius: 8px; background: #fff; }
.template-workbench-page { width: min(1420px, 100%); margin: 0 auto 42px; }.template-workbench-page .workbench-section { margin-top: 14px; }.template-all-scope { padding: 11px 12px; border: 1px solid #bdd9e4; border-radius: 9px; color: #315c72; background: #f2fafc; }.template-all-scope small, .template-restricted-scope small { display: block; color: #7a909d; font-size: 10px; font-weight: 600; }.template-restricted-scope.is-disabled { opacity: .58; }.template-readonly-page { padding: 18px; }.template-workbench-footer { position: sticky; bottom: 12px; z-index: 5; display: flex; justify-content: flex-end; gap: 9px; margin-top: 16px; padding: 11px 14px; border: 1px solid #c8dce6; border-radius: 10px; background: color-mix(in srgb, #ffffff 92%, #e8f5fa); box-shadow: 0 8px 20px rgba(34, 77, 102, .12); }
.template-view-items h4 { margin: 0 0 7px; color: #2e596f; font-size: 12px; }
.template-view-items article + article { margin-top: 7px; padding-top: 7px; border-top: 1px solid #edf2f4; }
.template-view-items b, .template-view-items span { display: block; }.template-view-items b { color: #405d70; font-size: 12px; }.template-view-items span { margin-top: 2px; color: #78909d; font-size: 11px; }

.template-restricted-scope { min-width: 0; padding: 12px; border: 1px solid #d4e5ec; border-radius: 10px; background: linear-gradient(145deg, #fcfeff, #f4fafc); }
.template-scope-picker-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 10px; }.template-scope-picker-head b, .template-scope-picker-head small { display: block; }.template-scope-picker-head b { color: #365c70; font-size: 12px; }.template-scope-picker-head small { margin-top: 3px; color: #78909d; font-size: 10px; font-weight: 600; }.template-scope-picker-head strong { flex: 0 0 auto; padding: 4px 7px; border-radius: 999px; color: #16749f; background: #e8f6fb; font-size: 10px; }
.template-scope-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 8px; }
.template-scope-card { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 2px 8px; align-items: center; min-height: 54px; padding: 9px 10px; border: 1px solid #dce8ed; border-radius: 8px; color: #496677; background: #fff; cursor: pointer; transition: border-color .16s ease, box-shadow .16s ease, background .16s ease; }.template-scope-card:hover { border-color: #8dc6da; background: #f8fdff; }.template-scope-card:has(input:focus-visible) { outline: 2px solid #79bfd9; outline-offset: 2px; }.template-scope-card input { inline-size: 16px; block-size: 16px; width: 16px; height: 16px; min-width: 16px; min-height: 16px; margin: 0; accent-color: #1b82ab; }.template-scope-card span { overflow-wrap: anywhere; color: #35596d; font-size: 12px; font-weight: 750; }.template-scope-card small { grid-column: 2; color: #7e94a0; font-size: 10px; font-weight: 650; }.template-scope-card.is-selected { border-color: #76bbd4; background: #edf9fd; box-shadow: inset 0 0 0 1px rgba(45, 139, 181, .08); }.template-scope-card.is-selected small { color: #17739e; }.template-scope-card.is-disabled { cursor: not-allowed; }
.template-view-items span { white-space: pre-wrap; }
.inspection-import-download { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border: 1px solid #d9e7ed; border-radius: 9px; background: #f7fbfd; }.inspection-import-download > small { flex: 1; color: #718997; font-size: 11px; line-height: 1.5; }.inspection-import-download .is-disabled { pointer-events: none; opacity: .48; }
.inspection-import-preview-slot { margin-top: 14px; }.inspection-import-preview { padding: 13px; border: 1px solid #d9e7ec; border-radius: 10px; background: #fbfdfe; }.inspection-import-preview.is-valid { border-color: #a9dbc3; background: #f3fbf6; }.inspection-import-preview.is-invalid { border-color: #eac7ce; background: #fff8f8; }.inspection-import-preview-head { display: grid; gap: 4px; }.inspection-import-preview-head b { color: #345a6c; font-size: 14px; }.inspection-import-preview-head small { color: #6c8795; font-size: 11px; }.inspection-import-preview-metrics { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 10px; color: #607b8b; font-size: 11px; }.inspection-import-preview-metrics b { color: #25566f; }.import-error-table { max-height: 270px; margin-top: 11px; overflow: auto; border: 1px solid #eddbdf; border-radius: 7px; background: #fff; }.import-error-table table { width: 100%; border-collapse: collapse; font-size: 11px; }.import-error-table th, .import-error-table td { padding: 7px 8px; border-bottom: 1px solid #f1e4e6; color: #6d4a52; text-align: left; vertical-align: top; }.import-error-table th { position: sticky; top: 0; color: #87434e; background: #fff5f6; }.import-error-table small { display: block; padding: 7px 8px; color: #8b6b72; }.warning-note { margin: 10px 0 0; color: #8a6220; font-size: 11px; }

/* Inspection workspace: total overview routes work; analysis owns diagnostic charts. */
.inspection-overview-command, .inspection-overview-workbenches { padding: 18px; }
.inspection-overview-brief { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.inspection-overview-brief h3 { margin: 4px 0 4px; color: #28465a; font-size: 19px; }.inspection-overview-brief p { max-width: 760px; margin: 0; color: #708493; font-size: 12px; }
.inspection-overview-actions { display: flex; flex: 0 0 auto; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.inspection-overview-pulse { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.inspection-pulse-card { min-height: 102px; padding: 12px 13px; border: 1px solid #dce8ee; border-radius: 10px; color: inherit; background: linear-gradient(145deg, #fbfdfe, #f4fafc); text-align: left; cursor: pointer; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.inspection-pulse-card:hover, .inspection-pulse-card:focus-visible { border-color: #77bfd8; box-shadow: 0 8px 18px rgba(31, 104, 137, .11); outline: none; transform: translateY(-1px); }
.inspection-overview-pulse span, .inspection-overview-pulse b, .inspection-overview-pulse small, .inspection-pulse-card em { display: block; }.inspection-overview-pulse span { color: #718999; font-size: 11px; font-weight: 750; }.inspection-overview-pulse b { margin: 2px 0; color: #1c6f9c; font-size: 25px; line-height: 1.15; }.inspection-overview-pulse small { color: #8397a4; font-size: 10px; }.inspection-pulse-card em { margin-top: 7px; color: #23739a; font-size: 10px; font-style: normal; font-weight: 800; }
.inspection-stage-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; margin-top: 15px; }
.ng-disposition-panel { margin-top: 16px; padding: 16px; }.ng-disposition-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 12px 0; }.ng-disposition-summary > div { padding: 9px 10px; border: 1px solid #e1eaee; border-radius: 8px; background: #fbfdfe; }.ng-disposition-summary span, .ng-disposition-summary b { display: block; }.ng-disposition-summary span { color: #778e9d; font-size: 10px; font-weight: 750; }.ng-disposition-summary b { margin-top: 2px; color: #2a637f; font-size: 18px; }.ng-disposition-list { display: grid; gap: 11px; }.ng-disposition-card { overflow: hidden; border: 1px solid #dce7ec; border-left: 4px solid #9aaeb9; border-radius: 10px; background: #fff; box-shadow: 0 5px 14px rgba(32, 76, 96, .045); }.ng-disposition-card.CC { border-left-color: #c65358; }.ng-disposition-card.SC { border-left-color: #c98b27; }.ng-disposition-card > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 11px 13px; border-bottom: 1px solid #e8eef1; background: linear-gradient(90deg, #fbfdfe, #f4f9fb); }.ng-disposition-item { display: flex; align-items: center; gap: 9px; min-width: 0; }.ng-disposition-item b, .ng-disposition-item small { display: block; }.ng-disposition-item b { color: #2d4f63; font-size: 14px; }.ng-disposition-item small { margin-top: 3px; color: #78909e; font-size: 11px; }.ng-disposition-item small strong { color: #bd4952; }.ng-characteristic { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-width: 68px; padding: 4px 6px; border-radius: 99px; color: #647a87; background: #edf3f5; font-size: 10px; font-weight: 850; }.ng-characteristic.CC { color: #a33e45; background: #fff0f1; }.ng-characteristic.SC { color: #93631b; background: #fff6e6; }.ng-disposition-state { display: grid; justify-items: end; gap: 4px; flex: 0 0 auto; }.ng-disposition-state small { color: #8094a1; font-size: 10px; }.ng-disposition-status { display: inline-flex; align-items: center; min-height: 23px; padding: 3px 7px; border-radius: 99px; color: #637987; background: #edf2f4; font-size: 10px; font-weight: 850; }.ng-disposition-status.OPEN { color: #ad4650; background: #fff0f1; }.ng-disposition-status.IN_PROGRESS { color: #196f98; background: #e8f5fb; }.ng-disposition-status.PENDING_VERIFICATION { color: #7052a8; background: #f0edfb; }.ng-disposition-status.CLOSED { color: #26765b; background: #e8f7ef; }.ng-disposition-meta { display: grid; grid-template-columns: 1.15fr 1fr 1fr 1.2fr; gap: 0; border-bottom: 1px solid #e8eef1; background: #fff; }.ng-disposition-meta > div { min-width: 0; padding: 9px 12px; border-right: 1px solid #edf2f4; }.ng-disposition-meta > div:last-child { border-right: 0; }.ng-disposition-meta span, .ng-disposition-meta b { display: block; }.ng-disposition-meta span { margin-bottom: 4px; color: #8a9da8; font-size: 10px; font-weight: 750; }.ng-disposition-meta b, .ng-disposition-meta .link-code { color: #41657a; font-size: 11px; font-weight: 800; }.ng-disposition-meta .link-code { min-height: auto; padding: 0; border: 0; background: transparent; }.ng-disposition-story { display: grid; grid-template-columns: 1fr 1.2fr 1fr; gap: 8px; padding: 11px 12px; background: #fbfdfe; }.ng-disposition-story article { min-width: 0; padding: 8px 9px; border: 1px solid #e4edf1; border-radius: 7px; background: #fff; }.ng-disposition-story span { display: block; color: #78909e; font-size: 10px; font-weight: 800; }.ng-disposition-story p { min-height: 32px; margin: 5px 0 0; color: #3d5a6d; font-size: 11px; line-height: 1.55; white-space: pre-wrap; }.ng-disposition-story p.is-empty { color: #a0afb8; font-style: italic; }.ng-disposition-card > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 12px; border-top: 1px solid #e8eef1; color: #788e9c; background: #fff; font-size: 10px; }.ng-disposition-card > footer > div { display: flex; gap: 6px; flex: 0 0 auto; }.ng-disposition-card > footer .ghost { min-height: 29px; padding: 4px 8px; font-size: 11px; }
.inspection-stage-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px 10px; align-items: center; min-height: 112px; padding: 13px; border: 1px solid #dbe8ee; border-radius: 10px; color: #34566a; background: #fff; text-align: left; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.inspection-stage-card:hover { border-color: #8fc6da; box-shadow: 0 8px 18px rgba(31, 104, 137, .11); transform: translateY(-1px); }.inspection-stage-card .inspection-type-emblem { grid-row: span 2; }.inspection-stage-card b, .inspection-stage-card small, .inspection-stage-card em { display: block; }.inspection-stage-card b { color: #2c4b5e; font-size: 13px; }.inspection-stage-card small { margin-top: 3px; color: #79909e; font-size: 10px; }.inspection-stage-card strong { color: #1877a4; font-size: 23px; }.inspection-stage-card em { grid-column: 2 / -1; color: #23739a; font-size: 11px; font-style: normal; font-weight: 800; }

/* Inspection detail keeps high-volume traceability readable without a text wall. */
.inspection-detail-hero { padding: 18px; }.inspection-detail-hero-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }.inspection-detail-hero h3 { margin: 4px 0 3px; color: #2a475a; font-size: 20px; }.inspection-detail-hero p { margin: 0; color: #748896; font-size: 12px; }
.inspection-conclusion-stack { min-width: 156px; padding: 10px 12px; border-left: 3px solid #36aebd; border-radius: 0 9px 9px 0; background: #f4fbfc; }.inspection-conclusion-stack > span, .inspection-conclusion-stack small { display: block; color: #77909d; font-size: 10px; font-weight: 800; }.inspection-conclusion-stack .inspection-result { margin: 4px 0; }.inspection-conclusion-stack small { color: #60798a; font-weight: 700; }
.inspection-detail-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 15px; }.inspection-detail-meta article, .inspection-background-grid article { min-width: 0; padding: 10px 11px; border: 1px solid #dfe9ee; border-radius: 8px; background: #fbfdfe; }.inspection-detail-meta span, .inspection-detail-meta b, .inspection-background-grid span, .inspection-background-grid b, .inspection-background-grid small { display: block; }.inspection-detail-meta span, .inspection-background-grid span { color: #8295a2; font-size: 10px; font-weight: 800; }.inspection-detail-meta b, .inspection-background-grid b { margin-top: 3px; overflow-wrap: anywhere; color: #375468; font-size: 12px; }
.inspection-background-section { margin-top: 13px; padding: 16px 18px; }.inspection-background-section .panel-title { margin-bottom: 12px; }.inspection-background-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }.inspection-background-grid small { margin-top: 4px; color: #89a0ad; font-size: 10px; }
.inspection-entry { width: min(1420px, 100%); margin: 0 auto 38px; }.inspection-entry-items { display: grid; gap: 16px; }.inspection-entry-section { display: grid; gap: 10px; padding: 12px; border: 1px solid #dce8ee; border-radius: 12px; background: #f8fbfc; }.inspection-entry-section > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 2px 8px; border-bottom: 1px solid #e1ebf0; }.inspection-entry-section h4 { margin: 3px 0 0; color: #244a61; font-size: 14px; }.inspection-entry-items article { overflow: hidden; border: 1px solid #dce8ee; border-radius: 11px; background: linear-gradient(145deg, #ffffff, #f8fbfc); box-shadow: 0 4px 12px rgba(23, 68, 92, .04); }.inspection-entry-items article > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 11px 14px; border-bottom: 1px solid #e8f0f3; background: #f5fafc; }.inspection-entry-items article header b, .inspection-entry-items article header span, .inspection-entry-items article header small { display: block; }.inspection-entry-items article header b { color: #294b5f; font-size: 14px; }.inspection-entry-items article header span { margin-top: 3px; color: #6f8998; font-size: 11px; }.inspection-entry-items article header small { color: #607b8c; font-size: 12px; text-align: right; }.characteristic-marker { display: inline-flex !important; align-items: center; justify-content: center; min-width: 16px; margin: 0 5px 0 0 !important; font-size: 13px !important; line-height: 1; vertical-align: -1px; }.characteristic-marker.CC { color: #ad3c3c !important; }.characteristic-marker.SC { color: #a86619 !important; }.inspection-item-na-control { display: grid; grid-template-columns: auto minmax(250px, 1fr); align-items: end; gap: 8px 16px; padding: 11px 14px; border-bottom: 1px solid #e8f0f3; background: #fffaf3; }.inspection-item-na-control .check-label { align-self: center; white-space: nowrap; }.inspection-item-na-control small { grid-column: 1 / -1; color: #8a745a; font-size: 11px; }.inspection-item-na-reason { display: grid; gap: 4px; color: #708896; font-size: 11px; font-weight: 750; }.inspection-entry-items article.is-not-applicable .inspection-sample-grid, .inspection-entry-items article.is-not-applicable .inspection-sample-actions { opacity: .48; }.inspection-sample-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(142px, 1fr)); gap: 11px; padding: 14px; }.inspection-sample-grid label { display: grid; gap: 5px; color: #66808f; font-size: 11px; font-weight: 750; }.inspection-sample-grid input, .inspection-sample-grid select { width: 100%; min-width: 0; background: #fff; }.inspection-sample-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 14px 14px; border-top: 1px solid #e8f0f3; }.inspection-sample-actions small, .inspection-sample-note { color: #6f8998; font-size: 11px; line-height: 1.5; }.inspection-sample-note { margin: 0; padding: 0 14px 14px; }.inspection-sample-grid .sample-remove { justify-self: start; min-height: 28px; padding: 4px 8px; font-size: 11px; }.template-rate-options, .rate-inclusion-options { display: flex; flex-wrap: wrap; gap: 12px 20px; margin-top: 10px; padding: 10px 12px; border: 1px solid #d9e8ef; border-radius: 9px; background: #f7fbfd; }.rate-inclusion-options { margin: 14px 0; }.rate-inclusion-options legend { padding: 0 5px; color: #42657a; font-size: 12px; font-weight: 800; }

/* Full-page issue workbench: a readable vertical closure flow for dense desktop work. */
.issue-workspace { width: min(1420px, 100%); margin: 0 auto 38px; }.issue-workspace-hero { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 20px 22px; border: 1px solid #cfe2e7; border-radius: 13px; background: linear-gradient(118deg, #fbfefe 0%, #f0f8f8 58%, #f7fbfc 100%); box-shadow: 0 8px 22px rgba(29, 83, 102, .06); }.issue-workspace-heading { min-width: 0; }.workspace-back { display: inline-flex; align-items: center; min-height: 28px; margin: -4px 0 10px; padding: 0; border: 0; color: #347184; background: transparent; font-size: 12px; font-weight: 800; }.workspace-back:hover { color: #126c79; text-decoration: underline; }.issue-workspace-hero h1 { margin: 4px 0 6px; color: #24485a; font-size: 24px; line-height: 1.28; }.issue-workspace-hero p { margin: 0; color: #6d8794; font-size: 12px; line-height: 1.6; }.issue-workspace-hero-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }.issue-workspace-status { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 11px; margin: 14px 0; padding: 11px 14px; border: 1px solid #d9e8eb; border-radius: 10px; background: #fff; color: #6d8592; font-size: 12px; }.issue-workspace-status > span:last-of-type { padding-left: 2px; color: #718895; font-size: 11px; }.issue-workspace-status .stage-track { flex: 1 1 620px; min-width: min(100%, 500px); margin: 0 0 0 auto; }.issue-workspace-layout { display: grid; grid-template-columns: 204px minmax(0, 1fr); gap: 16px; align-items: start; }.issue-workspace-nav { position: sticky; top: 18px; display: grid; gap: 5px; padding: 9px; border: 1px solid #dce9ed; border-radius: 11px; background: #fff; box-shadow: 0 4px 14px rgba(32, 75, 94, .035); }.issue-workspace-nav button { display: grid; grid-template-columns: 25px minmax(0, 1fr); align-items: center; gap: 7px; min-height: 35px; padding: 6px 7px; border: 0; border-radius: 7px; color: #587484; background: transparent; text-align: left; font-size: 12px; font-weight: 750; }.issue-workspace-nav button:hover { color: #176e81; background: #edf8f8; }.issue-workspace-nav button span { color: #79a2aa; font-size: 10px; font-weight: 900; letter-spacing: .04em; }.issue-workspace-flow, .issue-workspace-form { display: grid; gap: 14px; }.issue-workspace-stage { position: relative; overflow: hidden; padding: 18px 20px 20px 27px; border: 1px solid #dbe8ec; border-radius: 12px; background: #fff; box-shadow: 0 5px 15px rgba(29, 75, 96, .035); }.issue-workspace-stage::before { position: absolute; top: 0; bottom: 0; left: 0; width: 4px; background: linear-gradient(180deg, #32a8ab, #4b8fab); content: ''; }.issue-workspace-stage > header { display: flex; align-items: flex-start; gap: 11px; margin: -2px 0 16px; padding-bottom: 12px; border-bottom: 1px solid #e6eef0; }.issue-workspace-stage > header > span { display: inline-grid; flex: 0 0 auto; width: 28px; height: 28px; place-items: center; border-radius: 8px; color: #12717a; background: #e7f6f5; font-size: 11px; font-weight: 900; letter-spacing: .03em; }.issue-workspace-stage > header > div { min-width: 0; }.issue-workspace-stage h2 { margin: 0; color: #2a4d5f; font-size: 16px; }.issue-workspace-stage header p { margin: 3px 0 0; color: #78909d; font-size: 11px; line-height: 1.55; }.issue-workspace-stage > header .template-version { margin-left: auto; padding: 5px 8px; border-radius: 7px; color: #31717d; background: #edf8f8; font-size: 11px; }.issue-workspace-form { margin-top: 14px; }.issue-workspace-footer { display: flex; justify-content: flex-end; gap: 9px; padding: 5px 2px 2px; }.issue-detail-page .issue-workspace-stage .detail-section { margin: 0; padding: 0; border: 0; box-shadow: none; }.issue-detail-page .issue-workspace-stage .detail-section + .detail-section { margin-top: 14px; }.issue-detail-page .issue-workspace-stage .detail-grid { gap: 14px; }.issue-detail-page .issue-workspace-stage .section-head { gap: 14px; }.issue-link-lookup { display: grid; gap: 12px; margin: 16px 0 0; padding: 14px; border: 1px solid #bae0de; border-radius: 10px; background: linear-gradient(135deg, #f8fdfd, #f0faf9); }.issue-link-lookup .section-head { margin: 0; }.issue-link-search { display: flex; gap: 8px; }.issue-link-search input { flex: 1; min-width: 0; }.issue-link-candidates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }.issue-link-candidates button { display: grid; gap: 3px; min-width: 0; padding: 10px 11px; border: 1px solid #d7e7ea; border-radius: 8px; color: #466676; background: #fff; text-align: left; }.issue-link-candidates button:hover, .issue-link-candidates button.selected { border-color: #53aaa8; background: #effafa; box-shadow: 0 3px 10px rgba(38, 130, 132, .1); }.issue-link-candidates b { color: #277384; font-size: 12px; }.issue-link-candidates span { overflow: hidden; color: #365568; font-size: 12px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }.issue-link-candidates small { color: #8296a1; font-size: 10px; }.column-picker-option { display: grid !important; grid-template-columns: 18px minmax(0, 1fr); align-items: center; gap: 8px; min-height: 35px; padding: 7px 9px !important; border: 1px solid #e1ebee; border-radius: 7px; }.column-picker-option:hover { border-color: #9bc8d0; background: #f4fbfb; }.column-picker-option input { width: 15px; height: 15px; margin: 0; }.column-picker-option span { min-width: 0; overflow-wrap: anywhere; }
.inspection-next-action { display: flex; align-items: center; gap: 14px; margin-top: 16px; padding: 13px 15px; border: 1px solid #9cd8d2; border-radius: 10px; background: linear-gradient(90deg, #effbf9, #f8fcfc); }.inspection-next-action > div { flex: 1; }.inspection-next-action b { color: #126a64; }.inspection-next-action p { margin: 3px 0 0; color: #617f8c; font-size: 12px; }.template-workbench-footer > small { margin-right: auto; color: #607b8c; font-size: 12px; }
.inspection-ng-dispositions { display: grid; gap: 10px; margin-top: 16px; padding: 17px; }.inspection-ng-dispositions > article { padding: 13px; border: 1px solid #f0d6d6; border-radius: 10px; background: linear-gradient(145deg, #fff, #fffafb); }.inspection-ng-dispositions article > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.inspection-ng-dispositions header b, .inspection-ng-dispositions header small { display: block; }.inspection-ng-dispositions header b { color: #604049; }.inspection-ng-dispositions header small { margin-top: 3px; color: #8b7780; font-size: 11px; }.inspection-ng-dispositions dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 11px 0; }.inspection-ng-dispositions dl div { min-width: 0; padding: 8px; border-radius: 7px; background: #fff; }.inspection-ng-dispositions dt { color: #8d7880; font-size: 10px; font-weight: 800; }.inspection-ng-dispositions dd { margin: 3px 0 0; overflow-wrap: anywhere; color: #465f6e; font-size: 12px; }

/* Overlay account/notifications/toast */
.notice-list { max-height: 420px; overflow: auto; margin-top: 12px; border-top: 1px solid #e4ecf0; }
.notice-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 11px 0; border-bottom: 1px solid #e4ecf0; }
.notice-item > button:first-child { display: block; width: 100%; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; }
.notice-item > button:first-child:hover b { color: #176d9b; }
.notice-item b, .notice-item span, .notice-item small { display: block; }
.notice-item b { color: #385365; font-size: 12px; }
.notice-item span { margin-top: 2px; color: #748795; font-size: 11px; }
.notice-item small { margin-top: 3px; color: #91a0ac; font-size: 10px; }
.notice-item.read { opacity: .72; }
#toast-root { position: fixed; z-index: 100; right: 24px; bottom: 22px; display: grid; width: min(350px, calc(100vw - 48px)); gap: 8px; pointer-events: none; }
.toast { display: flex; align-items: center; min-height: 40px; padding: 9px 12px; border: 1px solid #d2e0e8; border-left: 4px solid #2c8eb5; border-radius: 9px; color: #3b5869; background: rgba(255, 255, 255, .98); box-shadow: 0 12px 28px rgba(21, 51, 75, .16); font-size: 12px; opacity: 0; transform: translateY(9px); transition: opacity .22s ease, transform .22s ease; }
.toast.show { opacity: 1; transform: translateY(0); }
.toast.success { border-left-color: #2f9a70; }
.toast.error { border-left-color: #cc4c4c; color: #8f3636; }
.toast.warning { border-left-color: #cf8823; color: #805d25; }

/* Projector / print */
body.projecting { overflow: hidden; }
body.projecting .app-shell { visibility: hidden; }
body.projecting #overlay-root { visibility: visible; }
.modal.projector { --projector-toolbar-offset: 48px; align-items: flex-start; width: auto; max-width: none; margin: 0; padding: 0 clamp(18px, 2vw, 38px) 18px; overflow: auto; overscroll-behavior: contain; background: #edf4f7; backdrop-filter: none; }
.modal-card.projector { width: 100%; min-width: 0; min-height: calc(100vh - 32px); max-width: none; max-height: none; padding: 0; overflow: visible; border: 1px solid #d6e3e9; border-radius: 12px; box-shadow: 0 16px 42px rgba(30, 69, 92, .10); }
.modal.projector .modal-close { display: none; }
/* A solid toolbar seals the scroll edge; the frozen table header sits directly below it. */
.projector-actions { position: sticky; top: 0; z-index: 4; display: flex; justify-content: flex-end; align-items: center; gap: 9px; height: var(--projector-toolbar-offset); margin: 0; padding: 0 12px; box-sizing: border-box; border-bottom: 1px solid #d6e3e9; background: #fff; }
.modal-card.projector { border-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; }
.projector-actions > .secondary { min-height: 32px; padding: 5px 12px; }
.projector-toolbar-title { flex: 1; min-width: 0; overflow: hidden; color: #294457; font-size: 14px; font-weight: 700; white-space: nowrap; text-overflow: ellipsis; }
.projector-actions > * { pointer-events: auto; }.projector-actions > button { box-shadow: 0 4px 12px rgba(18, 56, 80, .14); }
.projector-shortcut-hint { display: inline-flex; align-items: center; gap: 6px; min-height: 31px; padding: 0 9px; border: 1px solid #d2e2e9; border-radius: 8px; color: #547484; background: rgba(255, 255, 255, .95); box-shadow: 0 4px 12px rgba(18, 56, 80, .10); font-size: 11px; font-weight: 800; }.projector-shortcut-hint i { color: #8da6b1; font-style: normal; }
.projector { --projector-body-size: 17px; --projector-support-size: 17px; --projector-header-size: 16px; width: 100%; min-height: calc(100vh - 32px); max-width: none; margin: 0; padding: 28px 30px 22px; /* 由外层 .modal.projector 统一滚动，避免截断表头的 sticky 参照。 */ overflow: visible; border-radius: 12px; color: #1c3446; background: #fff; }
.projector-brand { color: #1b779e; font-size: 14px; font-weight: 900; letter-spacing: .08em; }
.projector h1 { margin: 10px 0 4px; font-size: 32px; }
.projector > p { margin-bottom: 23px; color: #657d8e; font-size: 15px; }
.projector .table-panel { border: 1px solid #d7e4eb; box-shadow: none; }
.projector .ledger-table { min-width: 100%; font-size: var(--projector-body-size); }
.projector .ledger-table th, .projector .ledger-table td { padding: 13px 14px; }
.projector .ledger-table th { font-size: var(--projector-header-size); }
.projector .ledger-table td, .projector .ledger-table strong, .projector .link-code { font-size: var(--projector-body-size); line-height: 1.6; }
.projector .cell-sub { display: block; margin-top: 4px; color: #5f7989; font-size: var(--projector-support-size); line-height: 1.6; }
.projector .meeting-table { min-width: 1660px; }
/* 画布至少容纳表格最小宽度和两侧内边距；固定布局避免内容撑破画布。 */
.modal-card.projector { flex: 0 0 auto; min-width: min(1722px, 100%); }
.projector .meeting-table { table-layout: fixed; min-width: 0; width: 100%; }
.projector .meeting-table col { width: auto; }
.projector .meeting-table col:is([data-column="cause_summary"], [data-column="action_summary"]) { width: 22%; }
.projector .meeting-table col[data-column="title"] { width: 18%; }
.projector .meeting-material .table-wrap { overflow: visible; }
.projector .meeting-table thead { position: sticky; top: var(--projector-toolbar-offset); z-index: 3; box-shadow: 0 7px 14px rgba(29, 69, 95, .10); }
.projector .meeting-table th { position: static; background: #f7fafc; }
.projector .meeting-summary-cell { min-width: 360px; max-width: 560px; color: #294457; font-size: var(--projector-body-size); line-height: 1.62; }
.projector-meeting-cards { display: none; }
.projector footer { margin-top: 18px; color: #82929e; font-size: 11px; text-align: right; }
.projector.font-large { --projector-body-size: 22px; --projector-support-size: 22px; --projector-header-size: 20px; }
.projector.font-large .projector-brand { font-size: 18px; }
.projector.font-large h1 { font-size: 48px; line-height: 1.2; }
.projector.font-large > p { font-size: 22px; line-height: 1.5; }
.projector.font-large .ledger-table { font-size: var(--projector-body-size); }
.projector.font-large .ledger-table th { font-size: var(--projector-header-size); }
.projector.font-large .ledger-table td { font-size: var(--projector-body-size); line-height: 1.6; }
.projector.font-large .ledger-table strong, .projector.font-large .link-code { font-size: var(--projector-body-size); }
.projector.font-large .cell-sub { font-size: var(--projector-support-size); line-height: 1.6; }
.projector.font-large .meeting-summary-cell { font-size: var(--projector-body-size); line-height: 1.65; }
.projector.font-large .status, .projector.font-large .severity-chip { font-size: var(--projector-support-size); }
@media print {
  html, body { min-width: 0; background: #fff; }
  .sidebar, .topbar, .head-actions, .filter-bar, .meeting-controls, .projector-actions, #toast-root, .detail-actions, .row-action { display: none !important; }
  .content { padding: 0; }
  .panel, .table-panel { border-color: #ccd8df; box-shadow: none; }
  .projector .table-wrap { overflow: visible; }
  .projector .ledger-table { min-width: 0; }
}

/* Empty, loading and error state */
.empty, .loading-state, .error-state { display: grid; min-height: 116px; place-items: center; align-content: center; gap: 6px; padding: 20px; color: #83929f; text-align: center; }
.empty > span { color: #9ab0bd; font-size: 21px; }
.compact-empty { min-height: 70px; padding: 14px; }
.loading-state { min-height: 320px; color: #668094; }
.spinner { width: 27px; height: 27px; border: 3px solid #d6e9f1; border-top-color: #2c8eb5; border-radius: 50%; animation: spin .8s linear infinite; }
.error-state { min-height: 300px; }
.error-state b { color: #526a7c; }
.error-state p { margin: 0; color: #8a99a6; }
@keyframes spin { to { transform: rotate(360deg); } }

/* Desktop compression, then graceful narrow layout */
@media (max-width: 1450px) {
  .content { padding-right: 24px; padding-left: 24px; }
  .metric-grid { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
  .command-kpis { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
  .global-filter-controls { gap: 4px; }
  .global-date-range input { width: 100px; }
  .ledger-filter-grid { grid-template-columns: minmax(190px, 1.4fr) repeat(4, minmax(105px, 1fr)); }
  .inspection-filter-grid { grid-template-columns: repeat(4, minmax(140px, 1fr)); }
  .inspection-filter-grid .inspection-search { grid-column: span 2; }
  .modal-card.projector { padding: 0; }
  .projector .meeting-material { display: none; }
  .projector-meeting-cards { display: grid; gap: 15px; }
  .projector-issue-card { overflow: hidden; border: 1px solid #cbdce5; border-radius: 10px; background: #fff; box-shadow: 0 5px 14px rgba(34, 74, 102, .08); }
  .projector-issue-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 15px 18px 12px; border-bottom: 1px solid #dce8ee; background: #f7fbfd; }
  .projector-issue-card .issue-no { display: inline-block; margin-right: 8px; color: #1c6e98; font-weight: 800; }
  .projector-issue-card h2 { display: inline; margin: 0; color: #203e52; font-size: 20px; line-height: 1.35; }
  .projector-issue-meta { display: flex; gap: 9px 18px; flex-wrap: wrap; padding: 10px 18px; color: #607888; font-size: 14px; }
  .projector-issue-card section { padding: 11px 18px; border-top: 1px solid #edf2f5; }
  .projector-issue-card section b { display: block; color: #1d668c; font-size: 14px; }
  .projector-issue-card section p { margin: 5px 0 0; color: #294457; font-size: 16px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
  .projector-issue-card > footer { margin: 0; padding: 9px 18px; border-top: 1px solid #edf2f5; color: #718a99; font-size: 12px; text-align: left; }
}
@media (max-width: 1220px) {
  html, body { min-width: 0; }
  .app-shell { grid-template-columns: 214px minmax(0, 1fr); }
  .sidebar { width: 214px; }
  .topbar { padding: 0 20px; }
  .topbar-controls { gap: 7px; }
  .global-date-range input { width: 92px; }
  .user-menu > div { display: none; }
  .overview-grid, .summary-layout { grid-template-columns: 1fr; }
  .meeting-tracking-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .meeting-tracking-grid { grid-template-columns: 1fr; }
  .quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .chart-grid { grid-template-columns: 1fr; }
  .definition-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workflow-board { grid-template-columns: 1fr; }
  .flow-arrow { display: none; }
  .inspection-analysis-toolbar { align-items: flex-start; flex-direction: column; }
  .inspection-analysis-toolbar-actions { justify-content: flex-start; }
  .inspection-operational-toolbar { align-items: flex-start; flex-direction: column; }
  .inspection-operational-toolbar-actions { justify-content: flex-start; }
  .inspection-report-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .inspection-report-issue-grid { grid-template-columns: 1fr; }
  .inspection-stage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inspection-background-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .issue-workspace-layout { grid-template-columns: 1fr; }
  .issue-workspace-nav { position: static; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .issue-workspace-nav button { grid-template-columns: auto minmax(0, 1fr); }
  .ng-disposition-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ng-disposition-meta > div:nth-child(2) { border-right: 0; }
  .ng-disposition-meta > div:nth-child(-n + 2) { border-bottom: 1px solid #edf2f4; }
  .ng-disposition-story { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ng-disposition-story article:last-child { grid-column: 1 / -1; }
}
@media (min-width: 761px) and (max-width: 1400px) {
  .topbar { gap: 12px; padding: 0 18px; }
  .page-context { max-width: 120px; }
  .page-context small { display: none; }
  .topbar-controls { gap: 7px; }
  .global-date-range input { width: 100px; }
  .user-menu > div { display: none; }
}
@media (max-width: 1500px) {
  .topbar { grid-template-columns: minmax(0, 1fr) auto; min-height: auto; row-gap: 8px; padding: 9px 18px 8px; }
  .topbar-filter-row { grid-column: 1 / -1; grid-row: 2; width: 100%; justify-self: stretch; }
  .topbar-utilities { grid-column: 2; }
  .topbar-controls { gap: 7px; }
  .global-filter-controls { width: 100%; gap: 5px; flex-wrap: wrap; }
  .global-week-picker { flex-basis: 132px; width: 132px; }
  .global-date-range input { width: 118px; }
  .user-menu > div { display: none; }
}
@media (max-width: 1050px) {
  .login-rich { grid-template-columns: minmax(520px, 1fr) minmax(390px, .75fr); }
  .hero-quality { padding: 48px; }
  .hero h1 { font-size: 39px; }
  .hero-metrics { grid-template-columns: 1fr; max-width: 360px; }
  .org-slide { grid-template-columns: 1fr; max-width: 360px; }
  .slide-photo { display: none; }
  .app-shell { grid-template-columns: 70px minmax(0, 1fr); }
  .sidebar { width: 70px; overflow: visible; }
  .brand-lockup { justify-content: center; padding: 19px 0 15px; }
  .brand-lockup > div, .workspace-chip > div, .nav-title, .nav-group-label, .nav-chevron, .nav > :not(.nav-icon), .permission-card { display: none; }
  .workspace-chip { justify-content: center; margin: 0 0 15px; padding: 9px; border-width: 0; background: transparent; }
  .nav-group { margin: 0 7px 9px; }
  .nav-group-toggle, .nav { justify-content: center; padding: 9px; }
  .nav-group-links { margin: 2px 0 5px; padding: 2px 0; border-left: 0; }
  .nav-tree-connector { display: none; }
  .nav i { position: absolute; top: 2px; right: 2px; }
  .sidebar-bottom { display: none; }
  .config-layout { grid-template-columns: 1fr; }
  .config-tabs { position: static; display: flex; overflow-x: auto; padding: 5px; }
  .config-tabs button { width: auto; white-space: nowrap; }
  .org-config-grid, .two-config-cards, .brand-preview, .dictionary-grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .role-permission-picker, .brand-asset-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .brand-asset-toolbar { grid-template-columns: 1fr; align-items: start; }
  .calendar-config-workbench { grid-template-columns: 1fr; grid-template-areas: 'rule' 'impact' 'control'; }
  .calendar-rule-summary { grid-template-columns: 1fr; }
  .calendar-week-strip { border-top: 1px solid #d9e8ee; border-left: 0; }
  .calendar-impact-panel ul { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  html, body { min-width: 0; }
  .login-rich { display: block; height: auto; min-height: 100vh; overflow: visible; }
  .hero-quality { display: none; }
  .login-panel { min-height: 100vh; padding: 36px 28px; }
  .app-shell { display: block; }
  .sidebar { position: fixed; z-index: 30; width: 245px; transform: translateX(-100%); transition: transform .2s ease; box-shadow: var(--shadow-lg); }
  .app-shell.nav-open .sidebar { transform: translateX(0); }
  .sidebar .brand-lockup, .sidebar .workspace-chip, .sidebar .nav-title, .sidebar .nav-group-label, .sidebar .nav > :not(.nav-icon), .sidebar .permission-card { display: flex; }
  .sidebar .nav-chevron { display: inline; }
  .sidebar .brand-lockup > div, .sidebar .workspace-chip > div { display: block; }
  .sidebar .nav-group-toggle, .sidebar .nav { justify-content: flex-start; }
  .sidebar .sidebar-bottom { display: block; }
  .mobile-nav { display: inline-flex; }
  .sidebar-toggle { display: none; }
  .topbar { min-height: 62px; padding: 0 14px; }
  .topbar-filter-row, .font-switch { display: none; }
  .content { padding: 18px 14px 30px; }
  .page-head { display: block; }
  .head-actions { justify-content: flex-start; margin-top: 12px; }
  .metric-grid, .command-kpis, .todo-summary, .analytics-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inspection-report-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric-card { min-height: 104px; }
  .metric-card b { font-size: 25px; }
  .quick-grid { grid-template-columns: 1fr; }
  .ledger-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ledger-filter-grid input { grid-column: 1 / -1; }
  .inspection-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filter-main { align-items: stretch; }
  .filter-main label { width: 100%; }
  .filter-main select, .filter-main input { flex: 1 1 120px; }
  .form-grid, .detail-grid, .cause-columns, .column-picker, .config-checkboxes, .bulk-reference-grid { grid-template-columns: 1fr; }
  .form-grid .span-all { grid-column: auto; }
  .definition-grid { grid-template-columns: 1fr; }
  .detail-header, .table-toolbar, .backup-callout, .ledger-pagination { display: block; }
  .detail-actions, .table-toolbar .export-menu { justify-content: flex-start; margin-top: 10px; }
  .pager-controls { justify-content: flex-start; flex-wrap: wrap; margin-top: 10px; }
  .modal { padding: 10px; }
  .modal-card, .modal-card.wide, .modal-card.template-workbench, .modal-card.template-view { width: 100%; max-height: calc(100vh - 20px); padding: 17px; border-radius: 11px; }
  .inspection-overview-brief { display: block; }
  .inspection-overview-actions { justify-content: flex-start; margin-top: 12px; }
  .inspection-overview-pulse, .inspection-stage-grid, .inspection-detail-meta, .inspection-background-grid, .template-view-meta, .template-view-fields, .template-view-items { grid-template-columns: 1fr; }
  .meeting-background-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .meeting-control-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .meeting-control-grid .span-all { grid-column: 1 / -1; }
  .meeting-analytics-summary, .meeting-after-sales-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .meeting-analytics-grid { grid-template-columns: 1fr 1fr; }
  .meeting-analytics-grid > article:last-child { grid-column: 1 / -1; }
  .meeting-control-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .meeting-history-head { display:none; }
  .meeting-history-row { grid-template-columns:minmax(0,1fr) auto; }.meeting-history-row > span { display:none; }.meeting-history-row > div { grid-column:1 / -1; justify-content:flex-start; }
  .meeting-period-band { grid-template-columns: 1fr 1fr; }
  .meeting-period-band > div { grid-column: 1 / -1; }
  .meeting-background-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .audit-list > div { grid-template-columns: 1fr; gap: 2px; }
  .snapshot-row { grid-template-columns: 1fr; gap: 4px; }
  .snapshot-row small { text-align: left; }
  .parse-preview-row { grid-template-columns: 1fr; gap: 3px; }
  .ng-disposition-summary, .ng-disposition-story { grid-template-columns: 1fr; }
  .inspection-operational-toolbar-actions { width: 100%; align-items: stretch; }.inspection-operational-toolbar-actions label { flex: 1 1 140px; }.inspection-operational-toolbar-actions select, .inspection-operational-toolbar-actions input { width: 100%; }
  .inspection-report-issue-meta, .inspection-report-issue-story { grid-template-columns: 1fr; }.inspection-report-issue-meta > div, .inspection-report-issue-story article { border-right: 0; border-bottom: 1px solid #edf2f4; }.inspection-report-issue-meta > div:last-child, .inspection-report-issue-story article:last-child { border-bottom: 0; }.inspection-report-issue-card > header, .inspection-report-issue-card > footer, .cross-period-reinspection-card > header { align-items: flex-start; flex-direction: column; }.inspection-report-issue-card header > div:last-child, .cross-period-reinspection-card header > div:last-child { justify-items: start; text-align: left; }.cross-period-reinspection-steps > div { min-width: 0; width: 100%; }
  .ng-disposition-story article:last-child { grid-column: auto; }
  .ng-disposition-meta { grid-template-columns: 1fr; }
  .ng-disposition-meta > div { border-right: 0; border-bottom: 1px solid #edf2f4; }
  .ng-disposition-meta > div:last-child { border-bottom: 0; }
  .ng-disposition-card > header, .ng-disposition-card > footer { align-items: flex-start; flex-direction: column; }
}
@media (max-height: 840px) and (min-width: 761px) {
  .hero-quality { padding-block: 24px; }
  .hero h1 { margin: 15px 0 13px; font-size: 42px; }
  .hero-content > p { margin-bottom: 18px; line-height: 1.65; }
  .hero-metrics > div { min-height: 78px; padding: 12px 14px; }
  .org-slide { gap: 12px; max-width: 462px; margin-top: 20px; padding-top: 16px; }
  .slide-photo { min-height: 0; }
  .login-panel { padding-block: 24px; }
  .login-card-shell { min-height: calc(100vh - 48px); padding: 26px 32px; }
  .login-mark { margin-bottom: 20px; }
  .login-values { margin: 12px 0 18px; padding-block: 6px; }
  .login-card > label { margin-top: 13px; }
  .login-card input { height: 42px; }
  .login-card .primary { min-height: 44px; margin-top: 20px; }
  .security-note { margin-top: 16px; padding: 10px; }
  .demo-note { margin-top: 14px; }
}
.inspection-report-issue-grid { grid-template-columns: 1fr; }
.inspection-operational-trend-chart { min-width: 0; }
.inspection-operational-volume { margin-bottom: 14px; }
.inspection-operational-volume .chart-column-svg { display: block; width: auto; max-width: 100%; margin: 0; }
.inspection-operational-trend-note { margin: 10px 0 0; padding: 9px 11px; border-left: 3px solid #55a8c5; color: #6e8492; background: #f5fafc; font-size: 11px; line-height: 1.55; }
.inspection-report-pagination { margin-top: 0; border-top: 1px solid #e7eef2; }
/* Full-page problem workspace: use the available desktop canvas and make fact hierarchy scannable. */
.issue-workspace { width: 100%; max-width: none; margin: 0 0 38px; }
.issue-workspace-hero { min-height: 126px; padding: 22px 26px; border-color: #c8e0e4; border-radius: 14px; background: linear-gradient(115deg, #ffffff 0%, #f2fbfb 57%, #eff7fa 100%); }
.workspace-back { display: inline-flex; align-items: center; gap: 9px; min-height: 40px; margin: 0 0 14px; padding: 5px 11px 5px 5px; border: 1px solid #b8d8de; border-radius: 9px; color: #285b70; background: #ffffff; box-shadow: 0 3px 9px rgba(31, 86, 103, .08); text-align: left; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.workspace-back:hover { border-color: #3f9ba5; color: #126975; background: #f6ffff; box-shadow: 0 6px 14px rgba(24, 113, 127, .14); text-decoration: none; transform: translateY(-1px); }
.workspace-back:focus-visible, .column-order-button:focus-visible { outline: 3px solid rgba(46, 153, 166, .28); outline-offset: 2px; }
.workspace-back-icon { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 6px; color: #ffffff; background: linear-gradient(135deg, #25869a, #316b90); font-size: 17px; line-height: 1; }
.workspace-back-copy { display: grid; gap: 1px; }
.workspace-back-copy small { color: #829ca7; font-size: 9px; font-weight: 800; letter-spacing: .07em; }
.workspace-back-copy b { color: inherit; font-size: 12px; font-weight: 850; }
.issue-workspace-hero h1 { max-width: min(1200px, 100%); font-size: clamp(22px, 1.65vw, 30px); letter-spacing: -.02em; }
.issue-workspace-hero p { max-width: 980px; font-size: 12px; }
.issue-workspace-layout { grid-template-columns: 220px minmax(0, 1fr); gap: 18px; }
.issue-workspace-nav { padding: 10px; border-color: #cfe3e7; background: linear-gradient(180deg, #ffffff, #f7fbfc); }
.issue-workspace-stage { padding: 21px 24px 24px 31px; border-color: #d2e4e8; box-shadow: 0 8px 20px rgba(29, 75, 96, .045); }
.issue-workspace-stage > header { margin-bottom: 19px; }
.issue-overview-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(292px, .72fr); gap: 18px; align-items: start; }
.issue-detail-page .issue-workspace-stage .issue-background-panel, .issue-detail-page .issue-workspace-stage .closure-readiness { padding: 0; border: 0; background: transparent; }
.issue-background-panel .section-head { align-items: flex-start; margin: 0 0 15px; padding: 0 1px; }
.issue-background-panel .section-head h3 { margin: 3px 0 5px; color: #2b5265; font-size: 17px; }
.issue-background-panel .section-head p { max-width: 720px; margin: 0; color: #718b98; font-size: 12px; line-height: 1.65; }
.issue-background-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.issue-fact-card { position: relative; display: grid; min-height: 108px; align-content: start; gap: 8px; overflow: hidden; padding: 14px 15px; border: 1px solid #dce9ed; border-radius: 10px; background: #ffffff; box-shadow: 0 4px 10px rgba(46, 89, 105, .035); }
.issue-fact-card::after { position: absolute; right: -16px; bottom: -28px; width: 76px; height: 76px; border: 14px solid currentColor; border-radius: 50%; opacity: .06; content: ''; }
.issue-fact-card > span { color: #78909d; font-size: 10px; font-weight: 850; letter-spacing: .07em; }
.issue-fact-card b { position: relative; z-index: 1; overflow-wrap: anywhere; color: #31576a; font-size: 14px; line-height: 1.45; }
.issue-fact-card b em { margin: 0 3px; color: #99adb6; font-style: normal; font-weight: 500; }
.issue-fact-card small { color: #8399a4; font-size: 11px; line-height: 1.45; }
.issue-fact-card.scope { color: #287f92; border-top: 3px solid #52aab8; background: linear-gradient(135deg, #ffffff, #f2fbfc); }
.issue-fact-card.discovery { color: #4d7798; border-top: 3px solid #7daacb; background: linear-gradient(135deg, #ffffff, #f4f9fd); }
.issue-fact-card.ownership { color: #937046; border-top: 3px solid #d5a96d; background: linear-gradient(135deg, #ffffff, #fffaf3); }
.issue-fact-card.governance { color: #6c7193; border-top: 3px solid #999bc3; background: linear-gradient(135deg, #ffffff, #f7f7fd); }
.issue-description-card { display: grid; grid-template-columns: 135px minmax(0, 1fr); gap: 16px; margin-top: 12px; padding: 16px 17px; border: 1px solid #dce9ed; border-left: 4px solid #3d98a6; border-radius: 10px; background: linear-gradient(105deg, #f5fbfc, #ffffff 56%); }
.issue-description-card > div > span { color: #2e8393; font-size: 10px; font-weight: 850; letter-spacing: .07em; }
.issue-description-card h4 { margin: 5px 0 0; color: #345668; font-size: 15px; }
.issue-description-card p { margin: 0; color: #466273; font-size: 13px; line-height: 1.75; white-space: pre-wrap; }
.issue-governance-strip { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(125px, .45fr) minmax(135px, .5fr); gap: 0; margin-top: 12px; overflow: hidden; border: 1px solid #e0ebee; border-radius: 9px; background: #fbfdfe; }
.issue-governance-strip span { display: grid; gap: 5px; min-width: 0; padding: 11px 13px; border-right: 1px solid #e0ebee; color: #617b89; font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.issue-governance-strip span:last-child { border-right: 0; }
.issue-governance-strip b { color: #8097a2; font-size: 10px; letter-spacing: .04em; }
.closure-readiness { overflow: hidden; border: 1px solid #cfe3e8 !important; border-radius: 11px !important; background: linear-gradient(180deg, #f7fcfc, #ffffff 44%) !important; box-shadow: 0 6px 16px rgba(34, 86, 101, .045); }
.closure-readiness-head { padding: 16px 16px 12px; border-bottom: 1px solid #dfecef; }
.closure-readiness-head > span { color: #2d8895; font-size: 10px; font-weight: 850; letter-spacing: .07em; }
.closure-readiness-head h3 { margin: 5px 0 4px; color: #315467; font-size: 16px; }
.closure-readiness-head p { margin: 0; color: #78909c; font-size: 11px; line-height: 1.55; }
.closure-readiness .check-item { margin: 0 14px; padding: 10px 2px; }
.closure-readiness .detail-actions, .closure-readiness .lifecycle-actions { margin: 10px 14px 14px; }
.column-config-layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(270px, .92fr); gap: 15px; align-items: start; margin: 16px 0; }
.column-config-layout > section { min-width: 0; padding: 14px; border: 1px solid #dce9ed; border-radius: 10px; background: #fbfdfe; }
.column-config-subhead { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 11px; }
.column-config-subhead h3 { margin: 3px 0 0; color: #36586a; font-size: 13px; }
.column-config-subhead small { max-width: 146px; color: #80949e; font-size: 10px; line-height: 1.5; text-align: right; }
.column-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.column-picker-option { min-height: 38px; background: #ffffff; }
.column-order-list { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.column-order-list li { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 39px; padding: 6px 7px; border: 1px solid #dce9ed; border-radius: 8px; background: #ffffff; }
.column-order-index { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 6px; color: #397887; background: #e8f5f5; font-size: 10px; font-weight: 900; }
.column-order-list b { min-width: 0; overflow: hidden; color: #436171; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.column-order-list li > div { display: flex; gap: 4px; }
.column-order-button { display: grid; width: 26px; height: 26px; place-items: center; padding: 0; border: 1px solid #cfe0e5; border-radius: 6px; color: #397483; background: #ffffff; font-size: 14px; font-weight: 850; }
.column-order-button:not(:disabled):hover { border-color: #58a5b1; color: #087082; background: #edfafa; }
.column-order-button:disabled { opacity: .38; cursor: not-allowed; }
.column-order-empty { margin: 0; padding: 17px 10px; border: 1px dashed #c7dce2; border-radius: 8px; text-align: center; }
@media (max-width: 1220px) { .issue-overview-layout { grid-template-columns: 1fr; } .issue-workspace-layout { grid-template-columns: 1fr; } .issue-workspace-nav { position: static; grid-template-columns: repeat(4, minmax(0, 1fr)); } .column-config-layout { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .issue-background-board, .column-picker, .meeting-background-grid, .meeting-background-summary, .meeting-period-band, .meeting-control-grid, .meeting-control-summary, .meeting-analytics-summary, .meeting-after-sales-summary, .meeting-analytics-grid { grid-template-columns: 1fr; } .meeting-background-grid .span-all, .meeting-control-grid .span-all, .meeting-analytics-grid > article:last-child { grid-column: auto; } .meeting-background-heading, .meeting-control-header, .meeting-analytics-head { display:block; }.meeting-type-pill { display:inline-block; margin-top:9px; }.meeting-control-actions,.meeting-analytics-actions { justify-content:flex-start; margin-top:10px; }.meeting-period-band > div { grid-column:auto; }.meeting-history-toolbar { display:grid; grid-template-columns:1fr; align-items:stretch; }.meeting-history-pagination { justify-content:flex-start; }.meeting-analytics-closure { grid-template-columns:1fr; }.meeting-closure-gauge { margin:0 auto; }.meeting-action-file { grid-template-columns:1fr; }.meeting-action-file > div { justify-content:flex-start; }.meeting-after-sales-head { display:none; }.meeting-after-sales-row { grid-template-columns:1fr 1fr; }.meeting-after-sales-row > span:first-child { grid-column:1 / -1; }.issue-description-card { grid-template-columns: 1fr; gap: 8px; } .issue-governance-strip { grid-template-columns: 1fr; } .issue-governance-strip span { border-right: 0; border-bottom: 1px solid #e0ebee; } .issue-governance-strip span:last-child { border-bottom: 0; } .issue-workspace-hero { padding: 17px; } }

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

/* Inspection evidence and independent follow-up records share the NG-closure visual language. */
.inspection-evidence-panel, .inspection-follow-up-panel { overflow: hidden; margin-top: 16px; padding: 17px; }
.inspection-evidence-panel .panel-title, .inspection-follow-up-panel .panel-title { margin-bottom: 14px; }
.inspection-evidence-list, .inspection-follow-up-list { display: grid; gap: 12px; }
.inspection-evidence-item-card, .inspection-follow-up-card { overflow: hidden; border: 1px solid #dbe8ee; border-radius: 11px; background: #fff; box-shadow: 0 5px 14px rgba(35, 72, 91, .045); }
.inspection-evidence-item-card > header, .inspection-follow-up-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 13px 15px; border-bottom: 1px solid #e7eef1; background: linear-gradient(100deg, #fffafa, #fbfdfe); }
.inspection-evidence-item-card header b, .inspection-evidence-item-card header small, .inspection-follow-up-card header b { display: block; }
.inspection-evidence-item-card header b, .inspection-follow-up-card header b { margin-top: 5px; color: #344f61; font-size: 14px; }
.inspection-evidence-item-card header small { margin-top: 3px; color: #8494a1; font-size: 11px; }
.inspection-evidence-item-link { color: #28657c !important; }
.inspection-evidence-item-body { display: grid; gap: 12px; padding: 14px 15px 15px; }
.inspection-evidence-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border: 1px solid #e4edf1; border-radius: 9px; overflow: hidden; }
.inspection-evidence-facts > div { min-width: 0; padding: 10px 12px; border-right: 1px solid #e4edf1; background: #fbfdfe; }
.inspection-evidence-facts > div:last-child { border-right: 0; }
.inspection-evidence-facts dt, .inspection-follow-up-card dt { color: #8193a0; font-size: 10px; font-weight: 800; }
.inspection-evidence-facts dd, .inspection-follow-up-card dd { margin: 4px 0 0; color: #385466; font-size: 12px; font-weight: 700; overflow-wrap: anywhere; }
.inspection-evidence-upload-zone { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 12px; border: 1px dashed #8db8c8; border-radius: 9px; background: #f3fafc; }
.inspection-evidence-upload-zone .file-icon { width: 34px; height: 34px; margin: 0; color: #1c789f; background: #dff1f7; font-size: 17px; }
.inspection-evidence-upload-zone b, .inspection-evidence-upload-zone small { display: block; }
.inspection-evidence-upload-zone b { color: #2d5b70; font-size: 12px; }
.inspection-evidence-upload-zone small { margin-top: 3px; color: #708895; font-size: 11px; line-height: 1.45; }
.inspection-evidence-upload-zone .primary { white-space: nowrap; }
.inspection-evidence-file-list { margin-top: 0; }
.inspection-evidence-empty { display: grid; gap: 3px; padding: 11px 12px; border-radius: 8px; color: #81919d; background: #f8fafb; }
.inspection-evidence-empty b { color: #536f80; font-size: 12px; }.inspection-evidence-empty small { font-size: 11px; line-height: 1.45; }
.inspection-evidence-unassociated > header { background: linear-gradient(100deg, #f7fcfa, #fbfdfe); }.inspection-evidence-preview { display: block; width: 100%; max-height: min(62vh, 560px); margin: 16px 0; border: 1px solid #d9e7ec; border-radius: 10px; background: #102833; object-fit: contain; }
.inspection-follow-up-boundary { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: center; margin: 0 0 12px; padding: 10px 12px; border-left: 3px solid #4ba4bb; border-radius: 0 8px 8px 0; color: #66808f; background: #f3fafc; font-size: 11px; line-height: 1.5; }
.inspection-follow-up-boundary b { color: #276a85; font-size: 11px; }
.inspection-follow-up-card > p { min-height: 52px; margin: 0; padding: 14px 15px; color: #466173; font-size: 13px; line-height: 1.65; white-space: pre-wrap; }
.inspection-follow-up-card dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-top: 1px solid #e7eef1; background: #fbfdfe; }
.inspection-follow-up-card dl > div { min-width: 0; padding: 10px 14px; border-right: 1px solid #e7eef1; }
.inspection-follow-up-card dl > div:last-child { border-right: 0; }
.inspection-follow-up-empty { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 18px; border: 1px dashed #bbd1da; border-radius: 10px; color: #78909e; background: #fbfdfe; }
.inspection-follow-up-empty > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: #3c8eaa; background: #e8f5f8; font-size: 19px; }
.inspection-follow-up-empty b, .inspection-follow-up-empty small { display: block; }.inspection-follow-up-empty b { color: #416174; font-size: 12px; }.inspection-follow-up-empty small { margin-top: 3px; font-size: 11px; line-height: 1.45; }
.inspection-dialog-heading { margin: 0 0 16px; padding: 0 0 13px; border-bottom: 1px solid #e5edf1; }.inspection-dialog-heading .kicker { margin-bottom: 6px; }.inspection-dialog-heading h2 { margin-bottom: 4px; }.inspection-dialog-heading p { margin: 0; color: #708592; font-size: 12px; line-height: 1.6; }
.inspection-evidence-dialog, .inspection-follow-up-dialog { display: grid; gap: 14px; }.inspection-follow-up-dialog textarea { min-height: 160px; }
.inspection-upload-dropzone { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; align-items: center; padding: 17px; border: 1px dashed #79aebf; border-radius: 11px; color: #466878; background: linear-gradient(135deg, #f1fafc, #fbfdfe); cursor: pointer; }.inspection-upload-dropzone:hover { border-color: #3487a5; background: #edf8fb; }.inspection-upload-dropzone .file-icon { width: 40px; height: 40px; margin: 0; border-radius: 10px; color: #15749a; background: #dceff6; font-size: 22px; }.inspection-upload-dropzone b, .inspection-upload-dropzone small { display: block; }.inspection-upload-dropzone b { color: #2d596d; font-size: 13px; }.inspection-upload-dropzone small { margin-top: 3px; color: #78909d; font-size: 11px; line-height: 1.5; }.inspection-upload-dropzone input { grid-column: 1 / -1; width: 100%; margin-top: 2px; background: #fff; }
.inspection-dialog-assurance { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid #e0ebef; border-radius: 9px; overflow: hidden; }.inspection-dialog-assurance > div { padding: 10px 12px; border-right: 1px solid #e0ebef; background: #fbfdfe; }.inspection-dialog-assurance > div:last-child { border-right: 0; }.inspection-dialog-assurance b, .inspection-dialog-assurance span { display: block; }.inspection-dialog-assurance b { color: #3c5e70; font-size: 11px; }.inspection-dialog-assurance span { margin-top: 3px; color: #778d9a; font-size: 11px; line-height: 1.45; }

/* Submission feedback preserves form values and the submitter action. */
form[aria-busy="true"] button[type="submit"], form[aria-busy="true"] .actions .primary { opacity: .65; cursor: progress; }
.login-card .form-feedback { margin: 18px 0 0; padding: 10px 12px; border: 1px solid #c9dce5; border-radius: 8px; background: #f1f7fa; color: #284c60; font-size: 13px; line-height: 1.6; }
.login-card .form-feedback[hidden] { display: none; }

/* Expanded desktop navigation must remain reachable when multiple modules open.
   Compact navigation keeps overflow visible for its existing flyout menus. */
.app-shell:not(.sidebar-collapsed) .sidebar { overflow-y: auto; overscroll-behavior-y: contain; }

/* Keep discard decisions above the original editor without replacing its DOM. */
#unsaved-changes-prompt .modal { z-index: 3000; }

/* Operational report: bounded, searchable multi-product selection. */
.report-scope-picker { position:relative; min-width:226px; font-size:var(--font-body,14px); }
.report-scope-picker summary { cursor:pointer; list-style:none; border:1px solid #d7e4e8; border-radius:8px; padding:10px 14px; background:#fff; color:#234653; }
.report-scope-picker summary::after { content:'⌄'; float:right; margin-left:12px; }
.report-scope-menu { position:absolute; z-index:80; top:calc(100% + 8px); left:0; width:360px; max-width:calc(100vw - 40px); padding:16px; background:#fff; border:1px solid #d7e4e8; border-radius:12px; box-shadow:0 12px 35px #142d3b20; display:grid; gap:10px; }
.report-scope-menu input[type=search] { width:100%; }
.report-scope-options { max-height:260px; overflow:auto; }
.report-scope-options label { display:flex; align-items:center; gap:10px; padding:9px 4px; font-size:inherit; }
.report-scope-options label[hidden] { display:none; }
.report-scope-options input { width:16px; height:16px; flex:none; }
.report-scope-menu small { color:#617d89; }
.inspection-operational-toolbar > div:first-child { min-width:0; }
.inspection-operational-toolbar small { overflow-wrap:anywhere; }

/* Configuration workspace: scoped controls keep dense desktop forms readable. */
.config-content { min-width: 0; }
.config-group-label { display: block; padding: 12px 14px 8px; font-size: .8rem; color: #688292; font-weight: 750; }
.config-tabs { position: sticky; top: 18px; }
.config-fieldset { min-width: 0; margin: 0; padding: 14px; border: 1px solid #d9e5eb; border-radius: 10px; background: #fbfdfe; }
.config-fieldset legend { padding: 0 7px; color: #294f63; font-weight: 750; font-size: .95rem; }
.choice-picker { min-width: 0; width: 100%; }
.choice-toolbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.choice-toolbar input[type="search"] { flex: 1 1 180px; width: auto; min-width: 100px; max-width: 330px; }
.choice-toolbar > span { color: #66808f; font-size: .85rem; }
.choice-toolbar button { padding: 5px 6px; white-space: nowrap; }
.choice-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px 14px; max-height: 260px; overflow: auto; padding: 2px; }
.choice-options .choice-option, .form-grid .choice-option, .choice-option { display: grid; grid-template-columns: 17px minmax(0,1fr); align-items: center; gap: 9px; min-width: 0; min-height: 36px; margin: 0; padding: 8px 10px; border: 1px solid transparent; border-radius: 7px; color: #385c70; background: #f4f8fa; cursor: pointer; line-height: 1.5; }
.choice-option:hover { background: #eaf5f8; border-color: #bedbe5; }
.choice-option:has(input:checked) { background: #e9f5f7; border-color: #aed0dc; }
.choice-option[hidden] { display: none !important; }
.choice-option > span { min-width: 0; white-space: normal; overflow-wrap: anywhere; font-size: .9rem; }
.choice-option input[type="checkbox"], .config-table input[type="checkbox"], .form-grid .check-label input[type="checkbox"] { appearance: auto; width: 17px; height: 17px; min-width: 17px; min-height: 17px; margin: 0; padding: 0; box-shadow: none; accent-color: #177f9b; }
.form-grid > .check-label { display: flex; align-items: center; }
.permission-group { margin: 10px 0; }
.permission-group .choice-options { max-height: 310px; }
.elevated-permission { margin-top: 10px; border-color: #e4ceaa; background: #fffbf3; }
.issue-template-library { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); overflow: hidden; box-shadow: var(--shadow-sm); }
.issue-template-library-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.issue-template-library-head h3 { display: flex; align-items: center; gap: 9px; margin: 0; font-size: 1rem; }
.issue-template-library-head h3 span { padding: 1px 8px; border-radius: 6px; color: var(--muted); background: var(--surface-soft); font-size: .85em; font-weight: 500; }
.issue-template-library-head p { display: flex; gap: 16px; margin: 0; color: var(--muted); font-size: .86rem; }
.issue-template-library-head .issue-template-summary-on { color: #267157; }
.issue-template-table-wrap { overflow-x: auto; }
.issue-template-table { width: 100%; min-width: 660px; table-layout: fixed; font-size: .9rem; }
.issue-template-table .it-name-col { width: 27%; }
.issue-template-table .it-flow-col { width: 28%; }
.issue-template-table .it-usage-col { width: 16%; }
.issue-template-table .it-actions-col { width: 29%; }
.issue-template-table th { padding: 11px 20px; background: var(--surface-soft); color: var(--muted); font-size: .83rem; font-weight: 600; text-align: left; }
.issue-template-table td { padding: 20px; vertical-align: middle; white-space: normal; border-bottom: 1px solid var(--line); }
.issue-template-table tr:last-child td { border-bottom: 0; }
.issue-template-table tbody tr:hover { background: #fbfdfd; }
.issue-template-name { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.issue-template-name b { color: var(--ink); font-size: 1rem; overflow-wrap: anywhere; }
.issue-template-state { flex: none; padding: 2px 8px; border-radius: 5px; font-size: .78rem; font-weight: 600; }
.issue-template-state.is-enabled { color: #216a4d; background: #e8f4ed; }
.issue-template-state.is-disabled { color: #6d626a; background: #f0ecef; }
.issue-template-meta { display: flex; flex-wrap: wrap; gap: 8px 12px; margin-top: 8px; color: var(--muted); font-size: .8rem; overflow-wrap: anywhere; }
.issue-template-meta > span:first-child { color: #5c6381; font-variant-numeric: tabular-nums; }
.issue-template-profile { color: var(--ink-soft); font-weight: 600; }
.issue-template-flow { display: flex; flex-wrap: wrap; gap: 6px 0; margin: 8px 0 0; padding: 0; list-style: none; color: #667f8c; font-size: .8rem; }
.issue-template-flow li { display: inline-flex; align-items: center; white-space: nowrap; }
.issue-template-flow li:not(:last-child)::after { content: '›'; margin: 0 7px; color: #9ab0ba; }
.issue-template-usage { display: grid; gap: 5px; color: var(--ink-soft); font-size: .85rem; }
.issue-template-usage b { font-variant-numeric: tabular-nums; font-weight: 600; }
.issue-template-usage small { color: var(--muted); font-size: .76rem; }
.issue-template-actions { display: grid; gap: 8px; }
.issue-template-actions > div { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.issue-template-actions button { position: static; min-height: 30px; width: auto; margin: 0; padding: 5px 9px; font-size: .83rem; white-space: nowrap; }
.issue-template-actions .secondary { background: #fff; border-color: var(--line-strong); color: #375766; box-shadow: none; }
.issue-template-actions .secondary:hover { background: #eff7f7; border-color: #abcdd0; }
.issue-template-actions .text-button { padding: 3px 7px; }
.issue-template-actions .issue-template-disable { color: #a55333; }
.issue-template-actions .issue-template-enable { color: #216a4d; }
.issue-template-empty { padding: 40px 16px; text-align: center; color: var(--muted); }
.issue-template-empty b { color: var(--ink-soft); }
.issue-template-empty p { margin: 8px 0 0; }
@media (min-width: 1280px) and (max-width: 1450px) {
  .issue-template-table th, .issue-template-table td { padding-left: 12px; padding-right: 12px; }
  .issue-template-table .it-flow-col { width: 26%; }
  .issue-template-table .it-actions-col { width: 31%; }
  .issue-template-actions button { padding-left: 7px; padding-right: 7px; }
}
.template-field-preview { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.template-field-preview > span { padding: 9px 11px; color: #375c6f; background: #f2f7f9; border-radius: 6px; }
.config-search-bar { display: flex; align-items: end; gap: 12px; padding: 16px; margin: 10px 0; background: #f4f8fa; border: 1px solid #dde8ed; border-radius: 10px; }
.config-search-bar label { display: grid; gap: 5px; color: #496878; font-size: .9rem; }
.config-search-bar label:first-child { flex: 1; max-width: 460px; }
.config-selection-bar, .config-pagination { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px 0; font-size: .9rem; }
.config-selection-bar > button:last-child { margin-left: auto; }
.config-pagination > span { margin-right: auto; color: #607b8b; }
.config-pagination label { display: flex; align-items: center; gap: 7px; }
.config-pagination select { width: auto; }
.account-security-menu summary { color: #6d8190; cursor: pointer; white-space: nowrap; }
.account-security-menu[open] { display: grid; gap: 5px; }
.approval-config-matrix { max-height: 600px; overflow: auto; }
.approval-config-matrix th { position: sticky; top: 0; z-index: 1; background: #edf5f8; }
/* Compact matrix: one aligned line per role/level; person configuration stays separate from enablement. */
.approval-config-matrix table { table-layout: fixed; width: 100%; min-width: 740px; }
.approval-config-matrix th:first-child { width: 140px; }
.approval-config-matrix th > small { display: inline-block; margin-left: 12px; }
.approval-config-matrix td { padding: 7px 12px; vertical-align: middle; }
.approval-config-matrix td + td { border-left: 1px solid #e6edf1; }
.approval-matrix-cell { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 34px; padding: 0 7px; border-radius: 6px; }
.approval-matrix-cell:has(input:checked) { background: #edf7f7; }
.approval-matrix-toggle { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; margin: 0; min-height: 34px; cursor: pointer; color: #6b7e89; font-size: .85rem; white-space: nowrap; }
.approval-matrix-toggle:has(input:checked) { color: #167383; font-weight: 600; }
.approval-matrix-person { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex: 1; min-width: 0; min-height: 34px; padding: 4px 0 4px 10px; border: 0; border-left: 1px solid #dce7ed; border-radius: 0; background: transparent; text-align: left; font-size: .8rem; color: #687f8d; }
.approval-matrix-person:hover { color: #087d90; background: transparent; }
.approval-matrix-assignee { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.approval-matrix-edit { flex: 0 0 auto; color: #087d90; font-size: .75rem; font-weight: 600; }
.approval-matrix-person:focus-visible, .approval-matrix-toggle:has(input:focus-visible) { outline: 2px solid #168da0; outline-offset: 2px; border-radius: 4px; }
.matrix-save-bar { display: flex; gap: 16px; align-items: end; padding: 15px; border: 1px solid #d7e6ed; border-top: 0; background: #f3f9fb; border-radius: 0 0 10px 10px; margin-bottom: 24px; }
.matrix-save-bar label { display: grid; gap: 5px; flex: 1; color: #486a7e; }
.notification-guide { margin-top: 24px; }
.notification-guide > p { line-height: 1.7; }
.notification-guide table { width: 100%; }
.config-content > .config-heading:not(:first-child) { margin-top: 32px; }
@media (min-width: 1280px) { .config-layout { grid-template-columns: 180px minmax(0,1fr); } }
@media (min-width: 1700px) { .config-content { max-width: 1500px; } }

/* Approval is optional per stage; the current issue workflow stays visible. */
.approval-stage-tabs {display:flex;gap:8px;margin:16px 0;flex-wrap:wrap}
.approval-stage-tabs button {flex:1;min-width:130px;padding:12px 16px;border:1px solid var(--line,#dce5e8);background:var(--surface,#fff);border-radius:10px;text-align:left;color:var(--ink,#193944)}
.approval-stage-tabs button small {display:block;margin-top:4px;font-size:.8em;color:var(--muted,#667d86)}
.approval-stage-tabs button.active {border-color:var(--teal,#287888);background:#edf7f8;box-shadow:inset 0 0 0 1px var(--teal,#287888)}
.stage-approval-panel {margin-top:24px;padding:20px;border:1px solid #d5e3e6;border-left:4px solid #518c96;border-radius:12px;background:#f7fbfc;color:#243f49}
.stage-approval-panel.is-optional {border-left-color:#c5d3d8;background:#fafcfc}
.stage-approval-panel header {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.stage-approval-panel h3 {margin:5px 0;font-size:1.05em}.stage-approval-panel p {line-height:1.7;margin:8px 0;color:#526b74}
.stage-approval-kicker {font-size:.78em;color:#557b85}.stage-approval-panel details {margin-top:14px}.stage-approval-panel summary {cursor:pointer;color:#3b6e7c}
.stage-approval-node {display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid #dce7e9}
.stage-approval-node span {margin-left:12px;font-size:.86em}.stage-approval-node small {color:#637b84}.stage-approval-node button{flex-shrink:0}

/* Inspection views use semantic columns, independent of their configured order. */
.inspection-view-controls { grid-column:span 5; min-width:0; display:flex; align-items:end; justify-content:flex-end; flex-wrap:wrap; gap:10px; padding-left:12px; border-left:1px solid var(--line, #dce8ee); }
.inspection-view-controls > div { margin-right:auto; }
.inspection-view-controls b, .inspection-view-controls small { display:block; }
.inspection-view-controls small { margin-top:5px; color:var(--muted, #728694); }
.inspection-view-controls label { display:grid; gap:5px; min-width:110px; }
.inspection-view-controls select { min-height:36px; }
.inspection-ledger-toolbar { flex-wrap:wrap; }
.inspection-table-wrap .configurable-inspection-table { table-layout:fixed; width: max-content; min-width:100%; }
.inspection-table-wrap .configurable-inspection-table th,
.inspection-table-wrap .configurable-inspection-table td { width:auto; min-width:0; max-width:none; white-space:normal; overflow-wrap:anywhere; vertical-align:middle; padding:12px; }
.configurable-inspection-table .link-code { text-align:left; white-space:normal; overflow-wrap:anywhere; }
.configurable-inspection-table .inspection-sticky-actions { position:sticky; right:0; background:#fff; box-shadow:-3px 0 6px #173d5010; z-index:1; }
.configurable-inspection-table thead .inspection-sticky-actions { background:#edf4f7; z-index:2; }
.configurable-inspection-table .select-cell { text-align:center; }

.inspection-chain-panel, .inspection-items-panel { margin-top:16px; padding:20px; }
.inspection-chain-panel > .panel-title, .inspection-items-panel > .panel-title { align-items:flex-start; gap:20px; margin-bottom:16px; }
.inspection-chain-panel > .panel-title > div, .inspection-items-panel > .panel-title > div { min-width:0; }
.inspection-chain-panel > .panel-title > span, .inspection-items-panel > .panel-title > span { flex-shrink:0; color:var(--muted); }
.inspection-chain-panel .panel-title p { margin:8px 0 0; }
.inspection-chain-table-wrap, .inspection-items-table-wrap { border:1px solid var(--line, #dce8ee); border-radius:10px; }
.inspection-chain-table { min-width:1060px; }
.inspection-chain-table th, .inspection-chain-table td { padding:14px 16px; vertical-align:middle; }
.inspection-chain-table td:nth-child(2) { overflow-wrap:anywhere; min-width:260px; }
.inspection-chain-table tr[aria-current="page"] td { background:#f0f8f8; }

.inspection-filter-panel.is-collapsed .filter-panel-head { align-items:center; }
.inspection-filter-panel.is-collapsed .filter-panel-head > div:first-child { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.inspection-filter-panel.is-collapsed .filter-panel-head h3 { display:none; }
.inspection-filter-panel.is-collapsed .filter-panel-head small { margin:0; }
.inspection-items-table-wrap th, .inspection-items-table-wrap td { padding:14px 16px; vertical-align:middle; }
@media (max-width:1450px) {
  .inspection-filter-grid .inspection-view-controls { grid-column:1 / -1; padding:12px 0 0; border-left:0; border-top:1px solid var(--line); }
}

/* A bounded ledger keeps controls in place and gives rows one scroll surface. */
.main:has(.inspection-ledger-workspace) { height:calc(100dvh / var(--inspection-viewport-scale, 1)); display:flex; flex-direction:column; overflow:hidden; }
.main:has(.inspection-ledger-workspace) > .topbar { flex-shrink:0; }
.content:has(.inspection-ledger-workspace) { display:flex; flex-direction:column; flex:1; min-height:0; padding-bottom:14px; }
.content:has(.inspection-ledger-workspace) > .page-head { flex-shrink:0; margin-bottom:14px; }
.inspection-ledger-workspace { flex:1; min-height:0; display:flex; flex-direction:column; gap:10px; }
.inspection-ledger-settings { flex:0 1 auto; min-height:0; max-height:36dvh; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.inspection-ledger-settings .inspection-filter-panel { margin-bottom:0; }
.inspection-ledger-settings .inspection-kpis-compact .command-kpis { margin-bottom:0; }
.inspection-ledger-workspace .inspection-ledger-panel { flex:1 0 200px; min-height:0; margin-top:0; display:flex; flex-direction:column; }
.inspection-ledger-workspace .inspection-ledger-toolbar { flex-shrink:0; }
.inspection-ledger-workspace .inspection-table-wrap { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.inspection-ledger-workspace .configurable-inspection-table thead th { position:sticky; top:0; z-index:3; background:#edf4f7; box-shadow:0 1px 0 #dce8ee; }
.inspection-ledger-workspace .configurable-inspection-table thead .inspection-sticky-actions { z-index:4; }
.inspection-ledger-workspace .inspection-pagination { flex-shrink:0; }
@media print {
  .main:has(.inspection-ledger-workspace) { height:auto; overflow:visible; }
  .inspection-ledger-workspace, .inspection-ledger-workspace .inspection-ledger-panel { display:block; }
  .inspection-ledger-settings, .inspection-ledger-workspace .inspection-table-wrap { max-height:none; overflow:visible; }
  .inspection-ledger-workspace .configurable-inspection-table thead th { position:static; }
}

html[data-font-size="small"] .app-shell:has(.inspection-ledger-workspace) { --inspection-viewport-scale:.94; }
html[data-font-size="large"] .app-shell:has(.inspection-ledger-workspace) { --inspection-viewport-scale:1.06; }
.app-shell:has(.inspection-ledger-workspace) { min-height:calc(100dvh / var(--inspection-viewport-scale, 1)); }

.inspection-signature-profiles { display: grid; gap: 12px; margin: 18px 0; }
.inspection-signature-profile { border: 1px solid var(--line); border-radius: 9px; overflow: hidden; }
.inspection-signature-profile summary { padding: 14px 18px; cursor: pointer; background: #f5f9fa; color: #355766; }
.inspection-signature-profile summary span { margin-left: 18px; color: var(--muted); font-size: .85rem; }
.inspection-signature-profile[open] summary { border-bottom: 1px solid var(--line); background: #edf7f7; }
.inspection-signature-profile .form-grid { padding: 18px; margin: 0; }
.signature-change-reason { display: grid; gap: 8px; }

.ih-profile-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;grid-column:1 / -1}.ih-profile-choices legend{font-weight:600;padding-bottom:10px}.ih-profile-choices label{display:flex;gap:10px;align-items:flex-start;padding:16px;border:1px solid var(--border,#dce5df);border-radius:8px;background:#fafcfb;cursor:pointer}.ih-profile-choices label:has(input:checked){border-color:#548767;background:#edf5ef}.ih-profile-choices input{width:18px;height:18px;flex-shrink:0;margin:2px 0}.ih-profile-choices small{display:block;line-height:1.7;margin-top:6px;color:#53685b}
.ih-profile-choices label{display:grid;grid-template-columns:20px minmax(0,1fr);gap:6px 10px;align-content:start}.ih-profile-choices label>b{white-space:nowrap;font-size:1em}.ih-profile-choices label>small{grid-column:2;margin:0}.ih-profile-choices input{grid-row:1 / 3}

/* Issue ledger: filters and toolbar stay available while rows scroll together. */
html[data-font-size="small"] .app-shell:has(.issue-ledger-workspace) { --issue-ledger-scale:.94; }
html[data-font-size="large"] .app-shell:has(.issue-ledger-workspace) { --issue-ledger-scale:1.06; }
.app-shell:has(.issue-ledger-workspace) { min-height:calc(100dvh / var(--issue-ledger-scale, 1)); }
.main:has(.issue-ledger-workspace) { height:calc(100dvh / var(--issue-ledger-scale, 1)); display:flex; flex-direction:column; overflow:hidden; }
.main:has(.issue-ledger-workspace) > .topbar { flex-shrink:0; }
.content:has(.issue-ledger-workspace) { display:flex; flex-direction:column; flex:1; min-height:0; padding-bottom:14px; }
.content:has(.issue-ledger-workspace) > :is(.page-head, .ia-drill-context) { flex-shrink:0; margin-bottom:12px; }
.issue-ledger-workspace { flex:1; min-height:0; display:flex; flex-direction:column; gap:12px; }
.issue-ledger-filters { flex:0 1 auto; min-height:0; max-height:34dvh; overflow:auto; margin:0; padding:12px 18px; }
.issue-ledger-filter-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.issue-ledger-filter-head > div { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.issue-ledger-filter-head span { color:var(--muted); font-size:.85rem; }
.issue-ledger-filter-head > button { flex-shrink:0; }
#issue-ledger-filter-body:not([hidden]) { padding-top:12px; }
#issue-ledger-filter-body[hidden] { display:none; }
.issue-ledger-workspace .issue-ledger-panel { flex:1 0 200px; min-height:0; margin:0; display:flex; flex-direction:column; }
.issue-ledger-panel > :is(.table-toolbar, .ledger-pagination) { flex-shrink:0; }
.issue-ledger-panel > .table-wrap { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.issue-ledger-panel .ledger-table thead th { position:sticky; top:0; z-index:3; background:var(--table-header-bg, #edf4f5); box-shadow:0 1px 0 var(--line); }
.issue-ledger-panel > .empty-state { flex:1; }
@media print {
  .main:has(.issue-ledger-workspace) { height:auto; overflow:visible; }
  .issue-ledger-workspace, .issue-ledger-workspace .issue-ledger-panel { display:block; }
  .issue-ledger-filters, .issue-ledger-panel > .table-wrap { max-height:none; overflow:visible; }
  .issue-ledger-panel .ledger-table thead th { position:static; }
}

/* Account import: readable steps and bounded preview for large batches. */
.user-import-steps { display:flex; gap:24px; padding:16px 0 22px; flex-wrap:wrap; color:var(--text-secondary,#547080); }
.user-import-steps span { display:flex; align-items:center; gap:9px; }
.user-import-steps b { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#e7f3f4; color:#087e8a; }
.user-import-upload { display:flex; align-items:end; gap:16px; padding:20px; border:1px solid var(--border,#dbe5eb); border-radius:12px; background:#f8fafb; flex-wrap:wrap; }
.user-import-upload label { flex:1; min-width:260px; }
.user-import-preview { max-height:360px; overflow:auto; margin:14px 0 22px; }
.user-import-preview th { position:sticky; top:0; }
.user-import-preview td { white-space:normal; min-width:90px; overflow-wrap:anywhere; }
.user-import-preview td:last-child { min-width:180px; }
.manager-lookup { display:flex; gap:10px; align-items:center; }
.manager-lookup input { flex:1; min-width:0; }
.manager-lookup button { flex-shrink:0; }
.manager-candidates { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:8px; max-height:220px; overflow:auto; margin:10px 0; }
.manager-candidates button { display:flex; flex-direction:column; align-items:flex-start; text-align:left; gap:3px; }
.manager-candidates span { font-size:0.86em; color:var(--muted,#6b8190); }
