/* Knossa — interface foundations */
:root {
  color-scheme: light;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  --bg: #f5f7fa;
  --surface: #fff;
  --surface-subtle: #f9fafc;
  --ink: #192335;
  --text: var(--ink);
  --muted: #5f6b80;
  --subtle: #68778d;
  --border: #e1e6ee;
  --line: var(--border);
  --accent: #3466e8;
  --accent-hover: #2453ce;
  --accent-soft: #edf2ff;
  --green: var(--accent);
  --pale: var(--accent-soft);
  --success: #148267;
  --success-soft: #eaf6f0;
  --danger: #c14650;
  --danger-soft: #fceff0;
  --amber: #a16c14;
  --amber-soft: #fff7e6;
  --nav: #f0f3f8;
  --nav-text: #52627b;
  --nav-ink: #172d4d;
  --nav-muted: #67788f;
  --nav-hover: #e5eaf2;
  --nav-selected: #2354af;
  --nav-active: #dfe8f8;
  --shadow: 0 1px 3px #192b4510;
  --floating-shadow: 0 12px 40px #0c1a3526, 0 2px 5px #0c1a3510;
  --radius: 12px;
  --sidebar-width: 240px;
  background: var(--bg);
  color: var(--ink);
}
[data-theme="dark"] {
  color-scheme: dark;
  --bg: #101722;
  --surface: #182230;
  --surface-subtle: #1b2838;
  --ink: #e9eef7;
  --muted: #a2afc3;
  --subtle: #8090a7;
  --border: #2b394c;
  --accent: #88a9ff;
  --accent-hover: #a3bcff;
  --accent-soft: #233756;
  --success: #73d6b3;
  --success-soft: #1d3a33;
  --danger: #f098a0;
  --danger-soft: #442932;
  --amber: #e6be73;
  --amber-soft: #3d3424;
  --nav: #203148;
  --nav-text: #c3cfe0;
  --nav-ink: #f0f5ff;
  --nav-muted: #a8b9cf;
  --nav-hover: #2b405c;
  --nav-selected: #d3e2ff;
  --nav-active: #345073;
  --shadow: 0 1px 3px #0002;
  --floating-shadow: 0 12px 40px #0005;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); }
button, input, select, textarea { font: inherit; }
button { color: inherit; cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .46; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
button, a, input, select, textarea, summary { outline-offset: 3px; }
:focus-visible { outline: 3px solid var(--accent); }
h1, h2, h3, p { margin: 0; }
h1 { font-size: 28px; font-weight: 650; letter-spacing: -.9px; line-height: 1.25; }
h2 { font-size: 15px; font-weight: 650; letter-spacing: -.2px; line-height: 1.45; }
h3 { font-size: 14px; font-weight: 600; line-height: 1.5; }
small { font-size: 12px; }
.muted { color: var(--muted); }
.no-wrap { white-space: nowrap; }
.row { display: flex; align-items: center; gap: 12px; }
.row.wrap { flex-wrap: wrap; }
.spacer { margin-top: 22px; }
.eyebrow, .page-kicker { display: flex; align-items: center; gap: 9px; font-size: 10px; font-weight: 650; letter-spacing: 1.3px; text-transform: uppercase; color: var(--subtle); }
.page-kicker { margin-bottom: 12px; }
.page-kicker span { color: var(--border); }

/* Navigation and global tools */
.brand { display: inline-flex; align-items: center; gap: 11px; padding: 0; color: var(--ink); background: none; border: 0; white-space: nowrap; text-align: left; }
.brand-icon { width: 34px; height: 34px; background: #4f5bd5; color: white; border-radius: 9px; display: grid; place-items: center; flex-shrink: 0; }
.brand-icon svg { width: 27px; height: 27px; }
.brand-wordmark { display: flex; align-items: baseline; gap: 4px; font-size: 21px; font-weight: 750; letter-spacing: -.8px; }
.brand-wordmark>span { font-weight: 400; color: var(--muted); }
.sidebar { position: fixed; inset: 0 auto 0 0; width: var(--sidebar-width); background: var(--nav); color: var(--nav-text); z-index: 40; display: flex; flex-direction: column; border-right: 1px solid var(--border); padding: 25px 13px 14px; }
.sidebar .brand { padding: 0 13px 25px; color: var(--nav-ink); }
.sidebar .brand-wordmark>span { color: var(--nav-muted); }
.sidebar .brand-icon { background: #4f5bd5; }
.sidebar nav { flex: 1; min-height: 0; overflow: auto; padding: 0 1px; scrollbar-width: thin; scrollbar-color: #34435b transparent; }
.nav-section + .nav-section { margin-top: 17px; }
.nav-group { padding: 0 13px 9px; color: var(--nav-muted); font-size: 9px; font-weight: 700; letter-spacing: 1.5px; }
.nav-item { position: relative; display: flex; align-items: center; gap: 11px; width: 100%; min-height: 36px; padding: 9px 12px; margin: 2px 0; text-align: left; border: 0; border-radius: 7px; background: transparent; color: var(--nav-text); font-size: 12px; font-weight: 450; line-height: 1.4; }
.nav-item svg { width: 16px; height: 16px; flex-shrink: 0; color: var(--nav-muted); }
.nav-item:hover { background: var(--nav-hover); color: var(--nav-ink); }
.nav-item.active { background: var(--nav-active); color: var(--nav-selected); font-weight: 600; box-shadow: inset 2px 0 #759cff; }
.nav-item.active svg { color: var(--nav-selected); }
.nav-item .count, .nav-ai { margin-left: auto; border: 1px solid #9ab9ff30; border-radius: 4px; padding: 1px 5px; font-size: 9px; color: var(--nav-selected); font-weight: 650; line-height: 1.4; }
.sidebar-note { border-top: 1px solid var(--border); padding: 13px 4px 0; margin-top: 16px; }
.workspace-button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 7px; border: 0; background: transparent; color: var(--nav-ink); text-align: left; border-radius: 8px; }
.workspace-button:hover { background: var(--nav-hover); }
.workspace-icon { width: 34px; height: 34px; flex-shrink: 0; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 8px; background: #ffffff05; }
.workspace-icon svg { width: 17px; height: 17px; }
.workspace-meta { min-width: 0; flex: 1; }
.workspace-meta .name { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 11px; font-weight: 600; }
.workspace-meta small { display: block; font-size: 10px; font-weight: 400; color: var(--nav-muted); margin-top: 4px; }
.workspace-arrow svg { width: 13px; height: 13px; color: var(--nav-muted); }
.shell { margin-left: var(--sidebar-width); }
.topbar { min-height: 76px; padding: 0 36px; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; gap: 28px; background: var(--surface); }
.header-left, .header-right { display: flex; align-items: center; gap: 14px; }
.header-left { flex: 1; min-width: 0; }
.header-right { flex-shrink: 0; gap: 13px; }
.search-trigger { display: flex; align-items: center; gap: 11px; border: 0; border-radius: 8px; background: var(--surface-subtle); color: var(--muted); padding: 11px 14px; width: min(530px, 100%); font-size: 12px; text-align: left; }
.search-trigger:hover { background: var(--bg); }
.search-trigger svg { width: 17px; height: 17px; flex-shrink: 0; color: var(--subtle); }
.search-trigger span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.search-trigger kbd { margin-left: auto; padding: 3px 5px; border: 1px solid var(--border); border-radius: 4px; font-size: 10px; background: var(--surface); white-space: nowrap; color: var(--subtle); }
.theme-control { display: flex; align-items: center; gap: 4px; color: var(--muted); font-size: 16px; }
.theme-control select { border: 0; background: transparent; color: var(--muted); font-size: 11px; padding: 8px 3px; width: 78px; min-height: 34px; }
.language-wrap, .profile-wrap { position: relative; }
.language { display: flex; align-items: center; gap: 6px; border: 0; background: none; padding: 8px 5px; border-radius: 6px; font-size: 11px; font-weight: 600; white-space: nowrap; }
.language>span { font-size: 16px; }
.language:hover { background: var(--surface-subtle); }
.language-menu { position: absolute; right: 0; top: calc(100% + 12px); z-index: 80; width: 190px; background: var(--surface); border: 1px solid var(--border); border-radius: 10px; box-shadow: var(--floating-shadow); padding: 6px; }
.language-menu button { display: block; width: 100%; padding: 11px; text-align: left; border: 0; border-radius: 6px; background: transparent; font-size: 12px; }
.language-menu button:hover { background: var(--accent-soft); }
.profile-button { display: flex; align-items: center; gap: 9px; border: 0; border-left: 1px solid var(--border); background: transparent; padding: 0 0 0 18px; }
.avatar { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #e6ecf8; color: #415478; font-size: 11px; font-weight: 650; flex-shrink: 0; }
[data-theme=dark] .avatar { background: #314669; color: #ceddff; }
.profile-caption { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; max-width: 130px; }
.profile-caption b { font-size: 11px; font-weight: 600; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-caption small { font-size: 10px; color: var(--muted); }
.chevron { color: var(--subtle); font-size: 12px; }
.profile-menu { position: absolute; top: 47px; right: 0; z-index: 80; width: 258px; padding: 6px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); box-shadow: var(--floating-shadow); }
.identity { padding: 15px 12px; border-bottom: 1px solid var(--border); margin-bottom: 5px; }
.identity b { display: block; font-size: 13px; }
.identity small { display: block; margin: 6px 0 10px; font-size: 11px; color: var(--muted); overflow-wrap: anywhere; }
.profile-menu button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 11px 12px; border: 0; border-radius: 6px; background: transparent; font-size: 12px; text-align: left; }
.profile-menu button:hover { background: var(--surface-subtle); }
.profile-menu svg { width: 16px; height: 16px; color: var(--muted); }
.profile-menu .logout { color: var(--danger); border-top: 1px solid var(--border); border-radius: 0; margin-top: 6px; }
.profile-menu .logout svg { color: inherit; }
.mobile-menu { display: inline-flex!important; }
.nav-backdrop { display: none; }

/* Page structure and actions */
.main { max-width: 1560px; margin: auto; padding: 32px 36px 36px; }
.page-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.page-heading>div:first-child { min-width: 0; }
.page-heading p { color: var(--muted); font-size: 12px; line-height: 1.7; margin-top: 9px; }
.actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 37px; padding: 9px 13px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); font-size: 11px; line-height: 1.45; font-weight: 600; white-space: nowrap; box-shadow: 0 1px 2px #162b4610; }
.btn:hover { border-color: var(--subtle); background: var(--surface-subtle); text-decoration: none; }
.btn.primary { background: var(--accent); color: #fff; border-color: var(--accent); box-shadow: 0 2px 3px #1d4ca721, inset 0 1px #ffffff15; }
.btn.primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
[data-theme=dark] .btn.primary { color: #102448; }
.btn.small { min-height: 30px; padding: 6px 10px; font-size: 11px; }
.btn.plain { box-shadow: none; background: transparent; border-color: transparent; }
.btn.danger { color: var(--danger); }
.btn svg { width: 15px; height: 15px; flex-shrink: 0; }
.icon-btn { display: grid; place-items: center; width: 32px; height: 32px; flex-shrink: 0; padding: 7px; background: transparent; border: 0; border-radius: 6px; color: var(--muted); }
.icon-btn:hover { background: var(--accent-soft); color: var(--accent); }
.icon-btn svg { width: 18px; height: 18px; }
.text-link { border: 0; background: none; color: var(--accent); font-size: 11px; font-weight: 550; padding: 5px 0; }
.text-link:hover { text-decoration: underline; }
.tabs { display: flex; align-items: center; gap: 28px; border-bottom: 1px solid var(--border); margin-bottom: 24px; }
.tabs button { position: relative; padding: 0 0 15px; background: none; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px; color: var(--muted); font-size: 12px; font-weight: 500; }
.tabs button:hover { color: var(--ink); }
.tabs button[aria-selected=true] { color: var(--accent); border-bottom-color: var(--accent); font-weight: 600; }
.dot { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--success); margin-right: 5px; vertical-align: 1px; }
.footer { display: flex; justify-content: space-between; gap: 15px; max-width: 1560px; margin: auto; padding: 0 36px 24px; color: var(--subtle); font-size: 10px; line-height: 1.6; }

/* Dashboard and data visualization */
.widget-layout { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 20px; }
.widget { grid-column: span 6; min-width: 0; }
.widget-wide { grid-column: 1/-1; }
.widget-publications, .widget-map { grid-column: span 7; }
.widget-readiness, .widget-lifecycle { grid-column: span 5; }
.widget .card { height: 100%; }
.widget .metric-grid { margin-bottom: 0; }
.metric-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin-bottom: 22px; }
.metric { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 18px 20px; box-shadow: var(--shadow); min-width: 0; }
.metric.highlight { background: var(--surface); }
.metric-label { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 11px; font-weight: 550; color: var(--muted); }
.metric-icon { display: grid; place-items: center; width: 28px; height: 28px; background: var(--accent-soft); color: var(--accent); border-radius: 7px; flex-shrink: 0; }
.metric-icon svg { width: 15px; height: 15px; }
.metric.highlight .metric-icon { background: var(--success-soft); color: var(--success); }
.metric-value { font-size: 32px; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -1.2px; line-height: 1.2; margin: 12px 0 14px; }
.metric small { display: flex; align-items: center; gap: 6px; color: var(--subtle); font-size: 10px; line-height: 1.5; }
.metric-note-dot { width: 4px; height: 4px; border-radius: 50%; background: var(--subtle); flex-shrink: 0; }
.grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(300px,1fr); gap: 20px; margin-bottom: 20px; }
.equal-grid, .feature-grid, .profile-layout { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.card { min-width: 0; border: 1px solid var(--border); background: var(--surface); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.card-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 21px 22px 0; }
.card-header h2 { font-size: 13px; }
.card-header p { font-size: 11px; color: var(--muted); margin-top: 5px; line-height: 1.6; }
.card-body { padding: 22px; }
.card-footer { border-top: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 13px 22px; font-size: 10px; color: var(--muted); background: var(--surface-subtle); }
.chart { padding: 24px 22px 16px; height: 260px; }
.chart svg { height: 100%; width: 100%; overflow: visible; }
.chart text { fill: var(--subtle); font-family: inherit; font-size: 11px; }
.chart rect { fill: var(--accent); }
.chart .gridline { stroke: var(--border); stroke-dasharray: 3 4; }
.progress { height: 5px; border-radius: 5px; overflow: hidden; background: var(--border); }
.progress span { display: block; background: var(--accent); height: 100%; border-radius: inherit; }
.progress-cell { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.progress-cell .progress { width: 62px; }
.lifecycle { padding: 18px 22px 22px; }
.lifecycle-row { display: grid; grid-template-columns: 100px 1fr 27px; align-items: center; gap: 11px; color: var(--muted); font-size: 11px; margin: 21px 0; }
.lifecycle-row b { text-align: right; font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; }
.lifecycle-row .progress { height: 7px; }
.lifecycle-row:nth-child(1) .progress span { background: #92b5f3!important; }
.lifecycle-row:nth-child(2) .progress span { background: #668ee6!important; }
.lifecycle-row:nth-child(3) .progress span { background: #3e6ad2!important; }
.lifecycle-row:nth-child(4) .progress span { background: #70baa8!important; }
.lifecycle-row:nth-child(5) .progress span { background: #b4a7cf!important; }
.readiness { display: flex; align-items: center; justify-content: center; gap: 22px; padding: 27px 22px; }
.ring { width: 124px; height: 124px; padding: 10px; border-radius: 50%; background: conic-gradient(var(--accent) calc(var(--value)*1%),var(--border) 0); flex-shrink: 0; }
.ring-center { height: 100%; border-radius: 50%; background: var(--surface); display: flex; flex-direction: column; align-items: center; justify-content: center; }
.ring-center strong { font-size: 25px; font-weight: 600; letter-spacing: -1px; }
.ring-center small { font-size: 7px; letter-spacing: .3px; color: var(--subtle); margin-top: 5px; }
.readiness ul { flex: 1; list-style: none; margin: 0; padding: 0; }
.readiness li { display: flex; justify-content: space-between; align-items: center; gap: 10px; color: var(--muted); font-size: 11px; margin: 17px 0; }
.readiness b { color: var(--ink); font-weight: 600; }
.readiness-note { padding: 12px 14px; background: var(--surface-subtle); border: 1px solid var(--border); border-radius: 7px; font-size: 10px; line-height: 1.7; margin: 0 22px 20px; color: var(--muted); }
.map { position: relative; background: #edf3fa; margin: 19px 22px 0; border-radius: 8px; border: 1px solid var(--border); overflow: hidden; }
.map img { display: block; width: 100%; filter: hue-rotate(37deg) saturate(.65); }
.map svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.map g[role=button] { cursor: pointer; }
.map g[role=button]:focus-visible { outline: none; }
.map g[role=button]:focus-visible circle { stroke: var(--accent); stroke-width: 3; }
.map text { font: 11px inherit; fill: #283e64; paint-order: stroke; stroke: white; stroke-width: 2px; }
.map-foot { display: flex; justify-content: space-between; gap: 10px; padding: 15px 22px; font-size: 10px; color: var(--subtle); }
.map-placeholder { position: relative; min-height: 265px; overflow: hidden; display: grid; place-items: center; background: var(--surface-subtle); }
.map-placeholder img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .23; filter: grayscale(1); }
.map-placeholder .empty { position: relative; width: 100%; background: color-mix(in srgb,var(--surface) 35%,transparent); }
[data-theme=dark] .map { background: #23384b; }
[data-theme=dark] .map img { opacity: .58; }
[data-theme=dark] .map-placeholder img { opacity: .1; }

/* Tables, lists and empty states */
.toolbar { display: flex; align-items: center; gap: 10px; padding: 18px 22px; }
.toolbar input { flex: 1; min-width: 120px; }
.toolbar select { max-width: 220px; }
.table-wrap { width: 100%; overflow: auto; }
table { width: 100%; border-collapse: collapse; text-align: left; }
th { padding: 12px 22px; background: var(--surface-subtle); color: var(--muted); font-size: 10px; font-weight: 600; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); white-space: nowrap; }
td { padding: 16px 22px; font-size: 12px; border-bottom: 1px solid var(--border); white-space: nowrap; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: var(--surface-subtle); }
.product-link { display: flex; align-items: center; gap: 10px; text-align: left; padding: 0; border: 0; background: transparent; }
.product-link b { color: var(--ink); font-size: 12px; font-weight: 550; }
.product-link:hover b { color: var(--accent); }
.product-link small { display: block; font-size: 10px; color: var(--subtle); margin-top: 4px; }
.product-symbol { width: 34px; height: 36px; border: 1px solid var(--border); border-radius: 7px; display: grid; place-items: center; background: var(--surface-subtle); color: var(--muted); flex-shrink: 0; }
.product-symbol svg { width: 17px; height: 17px; }
.tag { display: inline-flex; align-items: center; gap: 5px; padding: 4px 7px; border-radius: 5px; background: var(--success-soft); color: var(--success); font-size: 10px; line-height: 1.35; font-weight: 550; white-space: nowrap; }
.tag::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: currentColor; opacity: .7; }
.tag.neutral { background: var(--surface-subtle); color: var(--muted); border: 1px solid var(--border); padding: 3px 6px; }
.tag.warning { background: var(--amber-soft); color: var(--amber); }
.tag.danger { background: var(--danger-soft); color: var(--danger); }
.badge-row { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 22px; }
.empty { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 38px 24px; min-height: 240px; }
.empty.compact { min-height: 175px; padding: 26px 22px; }
.empty-icon { display: grid; place-items: center; width: 42px; height: 42px; color: var(--subtle); background: var(--surface-subtle); border: 1px solid var(--border); border-radius: 11px; margin-bottom: 17px; box-shadow: var(--shadow); }
.empty-icon svg { width: 20px; height: 20px; }
.empty h3 { color: var(--ink); font-size: 13px; font-weight: 550; }
.empty p { color: var(--muted); max-width: 315px; font-size: 11px; line-height: 1.8; margin-top: 8px; }
.empty .btn { margin-top: 18px; }
.onboarding { display: flex; align-items: center; gap: 16px; padding: 20px 22px; background: var(--accent-soft); border: 1px solid color-mix(in srgb,var(--accent) 18%,var(--border)); border-radius: var(--radius); margin-bottom: 22px; }
.onboarding>svg { width: 25px; height: 25px; color: var(--accent); flex-shrink: 0; }
.onboarding>div { flex: 1; }
.onboarding b { font-size: 12px; font-weight: 600; }
.onboarding p { font-size: 11px; line-height: 1.7; margin-top: 5px; color: var(--muted); }
.activity-row { display: flex; align-items: flex-start; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--border); }
.activity-row:first-child { padding-top: 0; }
.activity-row:last-child { border-bottom: 0; }
.event-symbol { display: grid; place-items: center; width: 29px; height: 29px; flex-shrink: 0; border-radius: 50%; background: var(--accent-soft); color: var(--accent); }
.event-symbol svg { width: 13px; height: 13px; }
.activity-row b { display: block; font-size: 11px; font-weight: 550; line-height: 1.5; }
.activity-row small { display: block; font-size: 10px; line-height: 1.6; margin-top: 4px; color: var(--subtle); }
.list-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 0; border-bottom: 1px solid var(--border); }
.list-row:last-child { border: 0; }
.list-row>div { min-width: 0; }
.list-row b { font-size: 12px; font-weight: 550; overflow-wrap: anywhere; }
.list-row small { display: block; color: var(--muted); font-size: 11px; margin-top: 5px; }
.task-title.done { text-decoration: line-through; color: var(--subtle); }

/* Inputs and dialogs */
input, select, textarea { width: 100%; min-height: 40px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); color: var(--ink); padding: 10px 12px; font-size: 12px; line-height: 1.5; }
input:hover, select:hover, textarea:hover { border-color: var(--subtle); }
input:focus, select:focus, textarea:focus { outline: 3px solid color-mix(in srgb,var(--accent) 15%,transparent); outline-offset: 0; border-color: var(--accent); }
input::placeholder, textarea::placeholder { color: var(--subtle); }
textarea { min-height: 116px; resize: vertical; }
select { cursor: pointer; }
input[type=checkbox] { min-height: 0; height: 16px; width: 16px; flex-shrink: 0; accent-color: var(--accent); }
input[readonly] { background: var(--surface-subtle); }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.field label { font-size: 12px; font-weight: 550; color: var(--ink); }
.field small { font-size: 10px; color: var(--muted); line-height: 1.7; }
.field.wide, .wide { grid-column: 1/-1; }
.form-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; border-top: 1px solid var(--border); padding-top: 20px; margin-top: 26px; }
.inline-input { display: flex; align-items: flex-end; gap: 9px; }
.inline-input input { min-width: 0; }
.inline-input .field { flex: 1; }
.notice { padding: 15px 17px; border: 1px solid var(--border); border-left: 3px solid var(--accent); border-radius: 7px; background: var(--surface-subtle); font-size: 11px; line-height: 1.8; color: var(--muted); margin-bottom: 20px; }
.notice b { color: var(--ink); }
.notice.warning { border-color: color-mix(in srgb,var(--amber) 25%,var(--border)); background: var(--amber-soft); color: var(--amber); }
.notice input { margin-top: 12px; }
.error { padding: 12px 14px; border-radius: 7px; background: var(--danger-soft); color: var(--danger); font-size: 12px; line-height: 1.7; margin: 15px 0; }
.success { padding: 14px; border-radius: 7px; background: var(--success-soft); color: var(--success); font-size: 12px; }
.dialog { width: calc(100% - 36px); max-width: 670px; max-height: 90vh; padding: 28px; background: var(--surface); color: var(--ink); border: 1px solid var(--border); border-radius: 15px; box-shadow: 0 28px 100px #0a152640; }
.dialog.large { max-width: 850px; }
.dialog::backdrop { background: #0b152e75; backdrop-filter: blur(3px); }
.dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 18px; margin-bottom: 22px; border-bottom: 1px solid var(--border); }
.dialog-header h2 { font-size: 19px; letter-spacing: -.5px; }
.dialog-subtitle { font-size: 12px; line-height: 1.8; color: var(--muted); margin-bottom: 22px; }
.detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 24px; margin-top: 22px; }
.detail-item { border-bottom: 1px solid var(--border); padding: 12px 0; }
.detail-item small { display: block; color: var(--subtle); font-size: 10px; margin-bottom: 7px; }
.detail-item p { color: var(--ink); font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; white-space: pre-line; }
.detail-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 25px 0 13px; padding-top: 22px; border-top: 1px solid var(--border); }
.profile-summary { display: flex; align-items: center; gap: 16px; margin-bottom: 25px; }
.profile-summary .avatar { width: 52px; height: 52px; font-size: 16px; }
.profile-summary b { display: block; font-size: 16px; font-weight: 600; }
.profile-summary small { color: var(--muted); display: block; margin-top: 6px; }
.version-note { font-size: 10px; line-height: 1.8; margin-top: 12px; color: var(--muted); overflow-wrap: anywhere; }

/* Standards, extensions and workflow pages */
.standard-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.standard-card { padding: 22px; }
.standard-card .row { justify-content: space-between; margin-bottom: 15px; }
.standard-card .code { font-size: 11px; font-weight: 650; letter-spacing: .4px; color: var(--accent); }
.standard-card h2 { font-size: 15px; }
.standard-card p { font-size: 11px; color: var(--muted); line-height: 1.8; margin: 10px 0 17px; }
.standard-card .progress { margin: 16px 0; }
.card-meta { display: flex; justify-content: space-between; align-items: center; font-size: 10px; color: var(--subtle); }
.feature-card>.card-header { padding-bottom: 18px; border-bottom: 1px solid var(--border); background: var(--surface-subtle); }
.feature-card p { color: var(--muted); font-size: 12px; line-height: 1.8; }
.feature-card>.card-body>p { margin: 12px 0; }
.feature-card .field { margin-bottom: 17px; }
.feature-card form>.btn { margin-top: 14px; }
.feature-card .inline-input>.btn { margin-bottom: 17px; }
.feature-card pre, .api-code { font-family: ui-monospace, SFMono-Regular, monospace; background: var(--surface-subtle); border: 1px solid var(--border); padding: 18px; font-size: 11px; line-height: 1.8; border-radius: 8px; white-space: pre-wrap; overflow-wrap: anywhere; }
.feature-card code { font-family: ui-monospace, monospace; color: var(--accent); font-size: 11px; overflow-wrap: anywhere; }
.feature-grid>.empty { grid-column: 1/-1; background: var(--surface); border: 1px dashed var(--border); border-radius: var(--radius); }
.plugin-number { display: block; font-size: 38px; font-weight: 600; letter-spacing: -1px; margin-bottom: 10px; }
.widget-picker { display: grid; gap: 7px; max-height: 48vh; overflow: auto; margin: 20px 0; padding-right: 4px; }
.widget-option { display: flex; align-items: center; gap: 4px; border: 1px solid var(--border); border-radius: 8px; padding: 9px 10px 9px 13px; }
.widget-option:has(input:checked) { border-color: color-mix(in srgb,var(--accent) 25%,var(--border)); background: var(--accent-soft); }
.widget-option label { display: flex; align-items: center; gap: 11px; flex: 1; font-size: 12px; }
.widget-option .icon-btn { font-size: 15px; }
.help-list { max-width: 1000px; }
.help-list details { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 20px 24px; margin-bottom: 12px; }
.help-list details[open] { border-color: color-mix(in srgb,var(--accent) 24%,var(--border)); }
.help-list summary { cursor: pointer; font-size: 13px; font-weight: 600; }
.help-list p { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--border); font-size: 12px; line-height: 1.9; color: var(--muted); max-width: 850px; }
.assistant-answer { white-space: pre-wrap; line-height: 1.9; font-size: 13px; margin-top: 24px; }
.assistant-answer:not(:empty) { padding: 22px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface-subtle); }
.consent { display: flex; align-items: flex-start; gap: 10px; font-size: 11px; line-height: 1.8; color: var(--muted); max-width: 800px; }
.consent input { margin-top: 3px; }

/* Sign-in and public passport */
.auth-page { min-height: 100vh; display: grid; grid-template-columns: minmax(360px, .95fr) minmax(450px,1.05fr); background: var(--surface); }
.auth-aside { position: relative; overflow: hidden; background: #111f36; color: white; padding: 44px 12%; display: flex; flex-direction: column; }
.auth-aside::after { content: ''; position: absolute; width: 520px; height: 520px; right: -330px; bottom: 0; border: 1px solid #739ad827; border-radius: 50%; box-shadow: 0 0 0 65px #739ad80b, 0 0 0 130px #739ad806; pointer-events: none; }
.auth-aside .brand { color: white; margin-bottom: 95px; }
.auth-aside .brand-wordmark>span { color: #9bacc5; }
.auth-aside .brand-icon { background: #4f5bd5; }
.auth-aside .eyebrow { color: #8aa6d1; margin-bottom: 18px; font-size: 10px; letter-spacing: 2px; }
.auth-aside h1 { color: white; font-size: clamp(34px,3.3vw,50px); font-weight: 500; letter-spacing: -1.8px; line-height: 1.14; max-width: 440px; }
.auth-aside>p { color: #98acc9; font-size: 13px; line-height: 1.9; max-width: 360px; margin: 24px 0 32px; }
.auth-lines { margin-bottom: auto; }
.auth-line { display: flex; align-items: center; gap: 12px; padding: 14px 0; color: #c6d3e8; font-size: 11px; border-bottom: 1px solid #ffffff12; max-width: 355px; }
.auth-line svg { width: 16px; height: 16px; color: #82aaff; }
.auth-platform { display: flex; gap: 17px; position: relative; padding-top: 28px; margin-top: 60px; font-size: 8px; color: #7891b5; text-transform: uppercase; letter-spacing: 1px; }
.auth-platform-line { position: absolute; top: 0; height: 1px; width: 100%; background: linear-gradient(90deg,#688ecb80,transparent); }
.auth-platform>span:not(.auth-platform-line)::before { content: ''; display: block; width: 5px; height: 5px; border-radius: 50%; background: #638bc6; margin: -30px 0 24px; }
.auth-aside>small { margin-top: 30px; font-size: 10px; color: #6780a1; }
.auth-main { display: flex; align-items: center; justify-content: center; position: relative; padding: 85px 50px 50px; }
.auth-tools { position: absolute; right: 34px; top: 25px; display: flex; align-items: center; gap: 16px; }
.auth-content { width: 100%; max-width: 380px; }
.auth-content .eyebrow { margin-bottom: 14px; }
.auth-content h1 { font-size: 28px; }
.auth-content>p { color: var(--muted); font-size: 12px; line-height: 1.8; margin: 13px 0 30px; }
.auth-content .field { margin-bottom: 20px; }
.auth-content .btn.primary { width: 100%; min-height: 42px; margin-top: 8px; font-size: 12px; justify-content: space-between; padding: 11px 16px; }
.auth-content .auth-help { color: var(--subtle); font-size: 10px; line-height: 1.9; padding-top: 20px; margin-top: 25px; border-top: 1px solid var(--border); }
.public-page { max-width: 800px; margin: auto; padding: 38px 24px; }
.public-hero { margin-top: 30px; padding: 34px; background: var(--surface); border: 1px solid var(--border); border-top: 3px solid var(--accent); border-radius: var(--radius); }
.public-hero h1 { margin: 16px 0; }
.public-hero p { color: var(--muted); font-size: 13px; line-height: 1.8; }
.public-page .card { margin-top: 22px; }
.public-page>.brand { margin-bottom: 32px; }
.loading-inline { padding: 70px; text-align: center; color: var(--muted); font-size: 12px; }
.boot { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; color: var(--muted); }
.boot progress { width: 130px; height: 3px; accent-color: var(--accent); }
#toast { display: none; position: fixed; z-index: 100; bottom: 24px; left: 50%; transform: translateX(-50%); border-radius: 9px; background: #142641; color: white; box-shadow: var(--floating-shadow); font-size: 12px; line-height: 1.6; padding: 13px 20px; max-width: calc(100% - 32px); }

/* Label output — always retain black-on-white QR contrast */
.label-preview { display: grid; gap: 16px; padding: 24px; margin-top: 24px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-subtle); }
.qr-label { display: flex; align-items: center; gap: 22px; padding: 20px; border: 1px solid #dce2ea; border-radius: 6px; color: #172238; background: #fff; break-inside: avoid; }
.qr-label b { font-size: 14px; }
.qr-label p { font-size: 12px; color: #566479; margin: 6px 0; }
.qr-label small { font-size: 10px; color: #6b7890; }
.qr-image { width: 170px; flex-shrink: 0; }
.qr-image svg { width: 100%; height: auto; display: block; }
.qr-label .label-url { font-size: 9px; overflow-wrap: anywhere; }
.label-preview.compact .qr-image { width: 100px; }
.label-preview.sheet { grid-template-columns: repeat(3,minmax(0,1fr)); }
.label-preview.sheet .qr-label { display: block; text-align: center; padding: 12px; }
.label-preview.sheet .qr-image { width: 100%; max-width: 130px; margin: auto; }
.label-preview.sheet .qr-label b { font-size: 12px; }
.label-preview.sheet .qr-label p { font-size: 10px; }
.label-preview.sheet .qr-label small { font-size: 9px; }
#print-root { display: none; }

/* Density and responsive layouts */
[data-density=compact] .main { padding-top: 24px; }
[data-density=compact] .widget-layout { gap: 14px; }
[data-density=compact] .card-body, [data-density=compact] .metric { padding: 16px; }
[data-density=compact] .card-header { padding: 16px 16px 0; }
[data-density=compact] .feature-card>.card-header { padding-bottom: 16px; }
[data-density=compact] td { padding-top: 12px; padding-bottom: 12px; }
@media (min-width: 1600px) { .main { padding-top: 38px; } .widget-publications, .widget-map { grid-column: span 8; } .widget-readiness, .widget-lifecycle { grid-column: span 4; } }
@media (max-width: 1300px) { :root { --sidebar-width: 216px; } .topbar { padding: 0 27px; gap: 20px; } .main { padding: 28px 27px; } .profile-caption { display: none; } .metric { padding: 17px; } .metric-grid { gap: 13px; } .metric-label { font-size: 10px; } .page-heading { align-items: flex-start; } .page-heading .actions { padding-top: 25px; } .header-right { gap: 10px; } }
@media (max-width: 1100px) { .widget-publications, .widget-map, .widget-readiness, .widget-lifecycle { grid-column: span 6; } .readiness { gap: 15px; padding: 24px 17px; } .ring { width: 102px; height: 102px; padding: 8px; } .ring-center strong { font-size: 22px; } .ring-center small { font-size: 6px; } .search-trigger kbd { display: none; } .page-heading { flex-wrap: wrap; gap: 18px; } .page-heading .actions { padding-top: 0; } .grid { grid-template-columns: 1fr; } .auth-aside { padding: 38px; } }
@media (max-width: 900px) { :root { --sidebar-width: 200px; } .sidebar { padding-left: 10px; padding-right: 10px; } .nav-item { font-size: 11px; gap: 9px; } .topbar { padding: 0 22px; gap: 12px; } .header-right { gap: 6px; } .theme-control select { width: 66px; } .profile-button { padding-left: 12px; } .main { padding: 27px 22px; } .metric-grid { grid-template-columns: 1fr 1fr; } .widget:not(.widget-wide) { grid-column: span 12; } .profile-layout, .equal-grid, .feature-grid { grid-template-columns: 1fr; } .standard-grid { grid-template-columns: 1fr; } .auth-page { grid-template-columns: minmax(310px,.85fr) minmax(370px,1fr); } .auth-aside { padding: 32px; } .auth-aside h1 { font-size: 34px; } .auth-main { padding-left: 35px; padding-right: 35px; } .onboarding { flex-wrap: wrap; } .onboarding>div { min-width: 200px; } }
@media (max-width: 720px) {
  .sidebar { visibility: hidden; transform: translateX(-100%); width: 240px; box-shadow: 15px 0 50px #08152b40; }
  .menu-open .sidebar { visibility: visible; transform: translateX(0); }
  .menu-open .nav-backdrop { display: block; position: fixed; inset: 0; width: 100%; height: 100%; background: #0a173575; border: 0; z-index: 35; }
  .shell { margin-left: 0; }
  .mobile-menu { display: grid!important; }
  .topbar { min-height: 64px; padding: 0 16px; gap: 10px; }
  .header-left { gap: 9px; }
  .header-right { gap: 8px; }
  .global-search-trigger { width: 36px; padding: 9px; background: transparent; }
  .global-search-trigger span, .global-search-trigger kbd { display: none; }
  .theme-control select { width: 64px; font-size: 10px; }
  .theme-control { font-size: 13px; }
  .language { font-size: 10px; }
  .profile-button { padding-left: 10px; gap: 6px; }
  .profile-button .avatar { width: 30px; height: 30px; font-size: 10px; }
  .profile-caption { display: none; }
  .main, [data-density=compact] .main { padding: 26px 18px; }
  .page-heading { margin-bottom: 24px; }
  h1 { font-size: 26px; }
  .page-kicker { font-size: 9px; letter-spacing: 1px; }
  .page-heading p { font-size: 12px; }
  .page-heading .actions { width: 100%; }
  .tabs { gap: 22px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
  .tabs button { font-size: 11px; white-space: nowrap; }
  .metric-grid { gap: 12px; }
  .metric { padding: 16px; }
  .metric-label { font-size: 10px; gap: 5px; }
  .metric-icon { width: 24px; height: 24px; border-radius: 6px; }
  .metric-value { font-size: 29px; }
  .metric small { font-size: 9px; }
  .widget-layout { gap: 16px; }
  .widget { grid-column: 1/-1; }
  .card-header { padding: 19px 18px 0; }
  .card-body { padding: 19px; }
  .toolbar { flex-wrap: wrap; padding: 17px; }
  .toolbar select { max-width: none; flex: 1; }
  .form-grid, .detail-grid { grid-template-columns: 1fr; }
  .onboarding { padding: 19px; }
  .onboarding>svg { display: none; }
  .onboarding>div { min-width: 0; flex-basis: 100%; }
  .onboarding>.btn { width: 100%; }
  .readiness { gap: 25px; padding: 28px 22px; }
  .ring { width: 118px; height: 118px; }
  .ring-center small { font-size: 7px; }
  .map-foot { flex-wrap: wrap; }
  .footer { padding: 0 18px 20px; font-size: 9px; }
  .dialog { padding: 22px; max-height: 94vh; }
  .dialog-header h2 { font-size: 18px; }
  .auth-page { display: block; }
  .auth-aside { display: none; }
  .auth-main { min-height: 100vh; padding: 95px 26px 40px; }
  .auth-tools { right: 23px; top: 24px; }
  .auth-content h1 { font-size: 27px; }
  .help-list details { padding: 18px; }
  .label-preview { padding: 12px; }
  .label-preview.sheet { grid-template-columns: 1fr; }
  .qr-label { padding: 12px; gap: 12px; }
  .qr-image { width: 110px; }
  .public-hero { padding: 25px; }
}
@media (prefers-reduced-motion: no-preference) {
  button, input, select, textarea { transition: background-color .13s, border-color .13s, color .13s, box-shadow .13s; }
  .sidebar { transition: transform .18s ease; }
  .dialog[open] { animation: dialog-in .15s ease-out; }
  @keyframes dialog-in { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: none; } }
}
@media print {
  @page { size: A4; margin: 10mm; }
  body:has(#print-root)>:not(#print-root) { display: none!important; }
  #print-root { display: block!important; color: #111; background: #fff; width: 190mm; }
  #print-root .label-preview { padding: 0; margin: 0; border: 0; background: #fff; gap: 3mm; display: grid; }
  #print-root .sheet { grid-template-columns: repeat(3,1fr); }
  #print-root .qr-label { border-radius: 0; break-inside: avoid; padding: 3mm; color: #111; background: #fff; box-shadow: none; }
  #print-root .sheet .qr-image { width: 30mm; }
  #print-root .label-url { font-size: 6pt; }
  #print-root .qr-label p { color: #222; }
  body { background: white!important; }
}

/* Personal workspace controls and direct dashboard rearrangement. */
.workspace-list { display: grid; gap: 8px; max-height: 45vh; overflow: auto; }
.workspace-choice { display: flex; align-items: center; gap: 13px; width: 100%; text-align: left; padding: 16px; background: var(--surface); border: 1px solid var(--border); border-radius: 10px; color: var(--ink); }
.workspace-choice.selected { border-color: var(--accent); background: var(--accent-soft); }
.workspace-choice:hover { background: var(--accent-soft); }
.workspace-choice>span:nth-child(2) { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.workspace-choice small { display: block; color: var(--muted); margin-top: 5px; font-size: 11px; }
.workspace-choice-icon { color: var(--accent); }
.workspace-choice svg { width: 19px; height: 19px; flex-shrink: 0; }
.workspace-access-note { border-top: 1px solid var(--border); margin-top: 20px; padding-top: 18px; }
.workspace-access-note p { font-size: 11px; color: var(--muted); }
.member-picker { display: grid; gap: 8px; max-height: 45vh; overflow: auto; }
.member-option { display: flex; align-items: center; gap: 12px; padding: 13px; border: 1px solid var(--border); border-radius: 8px; }
.member-option input { width: 16px; height: 16px; }
.member-option span { min-width: 0; overflow-wrap: anywhere; }
.member-option small { display: block; color: var(--muted); margin-top: 4px; font-size: 11px; }
.widget { position: relative; }
.widget-handle { position: absolute; z-index: 2; top: 13px; right: 12px; width: 28px; height: 30px; display: grid; place-items: center; padding: 4px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--muted); cursor: grab; touch-action: none; }
.widget-handle svg { width: 19px; height: 19px; }
.widget-handle:hover, .widget-handle:focus-visible { background: var(--accent-soft); border-color: var(--border); color: var(--accent); }
.widget>.card>.card-header { padding-right: 49px; }
.widget-metrics>.widget-handle { top: -14px; right: 10px; background: var(--surface); border-color: var(--border); height: 26px; }
.widget.is-dragging { opacity: .38; }
.widget.drop-target { outline: 2px dashed var(--accent); outline-offset: 5px; border-radius: 12px; }
.widget-drag-ghost { position: fixed; pointer-events: none; z-index: 150; max-width: 180px; padding: 14px 18px; border: 1px solid var(--accent); background: var(--surface); color: var(--ink); font-size: 12px; font-weight: 650; border-radius: 9px; box-shadow: 0 12px 35px #12274330; }
.dragging-widget, .dragging-widget * { cursor: grabbing !important; user-select: none; }

.fixed-metrics { margin-bottom: 20px; }
.fixed-metrics .metric-grid { margin-bottom: 0; }
.page-heading .actions { padding-top: 0; }
.field:has([data-location]) { position: relative; }
.location-options { position: absolute; top: 100%; left: 0; right: 0; z-index: 15; margin-top: 4px; max-height: 230px; overflow: auto; overscroll-behavior: contain; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); box-shadow: var(--floating-shadow); padding: 6px; font-size: 12px; color: var(--muted); }
.location-options button { display: flex; flex-direction: column; gap: 4px; width: 100%; padding: 10px; text-align: left; background: transparent; border: 0; border-radius: 5px; color: var(--ink); }
.location-options button:hover,.location-options [aria-selected=true] { background: var(--accent-soft); }
.location-options small { color: var(--muted); font-size: 10px; }
.location-coordinate-note { margin: 0; }
.page-heading>div:first-child { min-width: 0; overflow-wrap: anywhere; }

/* Product media and category management */
.product-symbol{overflow:hidden;flex-shrink:0}.product-symbol img{width:100%;height:100%;object-fit:cover;display:block}
.category-picker{min-width:0}.inline-category{margin-top:8px}.inline-category summary,.image-upload summary{color:var(--accent,#087c67);font-weight:600;cursor:pointer;font-size:13px}.inline-category .inline-input{margin-top:10px}.inline-category input{width:100%;min-width:0}.category-error:empty{display:none}.category-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.product-gallery-section{margin-bottom:28px;border-bottom:1px solid var(--line,#e2e8e4);padding-bottom:20px}.product-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.product-gallery figure{margin:0;min-width:0;border:1px solid var(--line,#e2e8e4);border-radius:12px;overflow:hidden;background:var(--surface,#fff)}.product-gallery a{display:block;background:#f3f5f4}.product-gallery img{display:block;width:100%;height:180px;object-fit:contain}.product-gallery figcaption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px}.image-actions{display:flex;flex-wrap:wrap;gap:6px}.image-actions .btn{font-size:11px;padding:6px 8px}.image-empty{display:flex;align-items:center;justify-content:center;gap:12px;padding:35px;background:var(--surface-alt,#f4f6f5);border:1px dashed var(--line,#dce4df);border-radius:12px;color:var(--muted)}.image-empty svg{width:24px;height:24px}.image-upload{margin-top:16px}.image-upload form{padding:16px 0 0}.field input[type=file]{padding:12px;height:auto;max-width:100%}.public-product-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:24px 0}.public-product-gallery img{width:100%;height:280px;object-fit:contain;background:#f3f5f4;border-radius:14px}.deployment-status{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:18px;color:var(--muted);font-size:13px}.deployment-status b{color:var(--text)}
@media(max-width:600px){.product-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.product-gallery img{height:140px}.product-gallery figcaption{align-items:flex-start}.public-product-gallery img{height:220px}}
.product-gallery figure:only-child img{height:260px}

/* Account, operational health and passport experience. */
.sidebar-toggle {display:inline-flex;flex-shrink:0}
.sidebar-collapsed .sidebar {visibility:hidden;transform:translateX(-100%)}
.sidebar-collapsed .shell {margin-left:0}
.avatar {overflow:hidden;flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover}
.notification-wrap{position:relative}.notification-bell{position:relative}.notification-count{position:absolute;top:-3px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:12px;background:#c94451;color:#fff;font-size:9px;font-weight:700;display:grid;place-items:center;border:2px solid var(--surface)}.notification-panel{position:absolute;right:-70px;top:calc(100% + 20px);width:420px;max-width:calc(100vw - 28px);z-index:55;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--floating-shadow);overflow:hidden}.notification-panel .card-header{padding:17px;display:flex;justify-content:space-between;align-items:center}.notification-panel h2{font-size:14px}.notification-items{max-height:min(470px,65vh);overflow:auto}.notification-item{display:flex;align-items:center;gap:13px;width:100%;text-align:left;color:var(--ink);background:var(--surface);border:0;border-top:1px solid var(--border);padding:17px}.notification-item>span:nth-child(2){display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.notification-item b{font-size:12px;overflow-wrap:anywhere}.notification-item small{font-size:10px;color:var(--muted)}.notification-item>svg{width:15px;flex-shrink:0}.notification-dot{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--border)}.notification-item.unread{background:color-mix(in srgb,var(--accent-soft) 40%,var(--surface))}.notification-item.unread .notification-dot{background:var(--accent)}.notification-item:hover{background:var(--accent-soft)}
.world-map{position:relative;margin:4px 14px 14px;border:1px solid var(--border);border-radius:9px;overflow:hidden;background:#edf3f8}.world-canvas{display:block;width:100%;aspect-ratio:2/1;cursor:grab;touch-action:none}.world-canvas:active{cursor:grabbing}.world-canvas [role=button]{cursor:pointer;outline:none}.map-pin{fill:#285dc0;stroke:white;stroke-width:1.5}.map-halo{fill:#3175d5;opacity:.18}.world-canvas [role=button]:hover .map-halo,.world-canvas [role=button]:focus .map-halo{opacity:.6}.world-canvas [role=button]:focus .map-pin{stroke:#13254b;stroke-width:2}.map-controls{position:absolute;display:flex;gap:4px;right:9px;top:9px;z-index:1}.map-controls .btn{min-height:26px;padding:4px 8px;background:var(--surface);font-size:10px}.map-caption{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;background:var(--surface);border-top:1px solid var(--border);font-size:10px;color:var(--muted)}.map-caption small{white-space:nowrap;font-size:9px}.map-empty-note{background:var(--surface);color:var(--muted);font-size:11px;padding:12px;border-top:1px solid var(--border)}.city-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:25px}.city-stats .metric{border:1px solid var(--border)}.city-stats .metric-label{min-height:32px}
[data-theme=dark] .world-canvas image{filter:brightness(.38) saturate(.7)}[data-theme=dark] .world-map{background:#1c293c}[data-theme=dark] .map-pin{fill:#89b8ff;stroke:#162640}
.photo-form{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--border)}.photo-form>label{display:block;font-size:12px;margin-bottom:8px;font-weight:600}.photo-form small{display:block;font-size:10px;color:var(--muted);margin-top:8px}.photo-form input{min-width:0;font-size:11px}.profile-layout{margin-bottom:24px}.security-overview{display:flex;align-items:flex-start;gap:18px}.security-overview p{max-width:700px}.security-icon{width:44px;height:44px;display:grid;place-items:center;flex-shrink:0;background:var(--accent-soft);color:var(--accent);border-radius:10px}.security-icon svg{width:23px;height:23px}.security-overview h3{margin:0 0 8px}.mfa-qr{width:240px;margin:20px auto;background:#fff;border-radius:10px}.mfa-qr svg{width:100%;height:auto}.mfa-secret{display:block;text-align:center;overflow-wrap:anywhere;padding:12px;background:var(--surface-subtle);border:1px solid var(--border);margin-bottom:22px;border-radius:7px;user-select:all;font-size:13px}.recovery-codes{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px;background:var(--surface-subtle);border:1px solid var(--border);border-radius:9px}.recovery-codes code{font-size:11px;overflow-wrap:anywhere}.mfa-login{min-height:100vh;display:grid;place-items:center}.mfa-login .auth-content{width:100%;max-width:440px}.mfa-login .brand{margin-bottom:40px}.mfa-login .eyebrow{display:block}.health-status{display:flex;align-items:center;gap:14px;margin:20px 0;font-size:12px;color:var(--muted)}.health-status .btn{margin-left:auto}.health-grid .feature-card{margin:0}.health-value{font-size:21px;display:block;margin:6px 0 10px}.health-grid small{color:var(--muted);font-size:11px}
.qr-workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.85fr);gap:24px;align-items:start}.qr-editor,.qr-preview{min-width:0}.qr-editor .feature-card{margin-bottom:20px}.qr-preview{position:sticky;top:90px;background:var(--surface-subtle);padding-bottom:22px}.qr-preview .card-header{padding-bottom:18px}.preview-tabs{display:flex;margin:0 20px 23px;padding:3px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.preview-tabs button{flex:1;background:transparent;color:var(--muted);border:0;padding:10px 6px;border-radius:5px;font-size:11px}.preview-tabs button[aria-selected=true]{background:var(--accent);color:#fff}.passport-preview{background:var(--surface);overflow:hidden;border:1px solid var(--border);margin:0 18px;box-shadow:0 16px 30px #172b4212}.phone-preview{max-width:320px;height:580px;border:7px solid #19212e;border-radius:37px;margin:auto;box-shadow:0 0 0 2px #bbc5d4,0 16px 30px #172b4222}.preview-browser{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:8px;height:32px;padding:7px 12px;background:var(--surface-subtle);border-bottom:1px solid var(--border);color:var(--muted)}.phone-preview .preview-browser{justify-content:center;border-bottom:0;height:30px}.phone-preview .preview-browser>span{background:#19212e;color:transparent;width:75px;height:17px;border-radius:20px}.phone-preview .preview-browser small{display:none}.preview-content{padding:18px;max-height:560px;overflow:auto;overscroll-behavior:contain}.phone-preview .preview-content{height:537px;padding:15px}.preview-brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:17px}.preview-brand svg{width:23px;height:23px;color:var(--accent)}.preview-content .public-hero{padding:0;margin:20px 0;border:0;background:transparent}.preview-content .public-hero h1{font-size:23px;margin:12px 0;letter-spacing:-.6px}.preview-content .public-hero p{font-size:11px;line-height:1.7}.preview-content .eyebrow{font-size:8px}.preview-content .public-product-gallery{display:flex;overflow:auto;scroll-snap-type:x mandatory;gap:10px;margin:17px 0}.preview-content .public-product-gallery img{flex:0 0 100%;width:100%;height:170px;scroll-snap-align:center;border-radius:8px}.preview-content .detail-grid{grid-template-columns:1fr;gap:14px}.preview-content .detail-item p{font-size:11px}.preview-content .card-body{padding:17px}.preview-content .card h2{font-size:13px}.preview-content .version-note{font-size:9px}.preview-content .badge-row{gap:5px}.preview-content .tag{font-size:8px}.desktop-preview{border-radius:10px}.desktop-preview .preview-content .detail-grid{grid-template-columns:1fr 1fr}.preview-caption{padding:15px 22px 0;text-align:center;font-size:10px;color:var(--muted);line-height:1.7}.preview-caption p{margin:0 0 8px}.qr-detail-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr);gap:16px;align-items:stretch}.qr-detail-grid>.card{margin-bottom:0}.qr-detail-grid .card-body{padding:18px}.qr-detail-grid .card-header{padding:18px}.qr-main-image{background:#fff;border:1px solid #e3e8ee;border-radius:8px;max-width:260px;margin:0 auto 15px}.qr-main-image svg{width:100%;height:auto;display:block}.qr-actions{display:grid;gap:8px;margin-top:18px}.qr-actions .btn{font-size:10px;min-height:35px;justify-content:center}.qr-detail-grid h3{font-size:14px;margin:7px 0}.carrier-details{margin:0}.carrier-details>div{display:grid;gap:5px;margin-bottom:15px}.carrier-details dt{color:var(--muted);font-size:10px}.carrier-details dd{margin:0;font-size:11px;font-weight:500;overflow-wrap:anywhere}.qr-target{font-size:10px;overflow-wrap:anywhere;color:var(--accent)}.qr-guide{margin-top:20px;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:11px;line-height:1.8}.qr-guide summary{font-weight:600;cursor:pointer}.qr-editor #print-labels{display:none}.qr-editor .notice{margin-bottom:20px}
@media(min-width:721px){.sidebar-toggle{display:inline-flex}.sidebar-collapsed .topbar{left:0}}
@media(max-width:1150px){.qr-workspace{grid-template-columns:minmax(0,1fr) 330px;gap:18px}.qr-detail-grid{grid-template-columns:1fr}.qr-detail-grid .carrier-details{display:grid;grid-template-columns:1fr 1fr;gap:12px}.qr-detail-grid .carrier-details>div{margin:0 0 6px}.qr-detail-grid .qr-main-image{max-width:220px}.qr-actions{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.qr-workspace{grid-template-columns:1fr}.qr-preview{position:static}.qr-detail-grid{grid-template-columns:1fr 1fr}.qr-detail-grid .carrier-details{display:block}.qr-detail-grid .carrier-details>div{margin-bottom:14px}.qr-actions{grid-template-columns:1fr}.desktop-preview{max-width:650px;margin:auto}.qr-preview{padding:0 15px 22px}.health-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.sidebar-collapsed.menu-open .sidebar{visibility:visible;transform:none}.notification-panel{position:fixed;right:14px;top:72px}.city-stats{grid-template-columns:1fr}.city-stats .metric{padding:14px}.city-stats .metric-label{min-height:0}.city-stats .metric-value{font-size:24px}.health-grid{grid-template-columns:1fr}.qr-detail-grid{grid-template-columns:1fr}.qr-detail-grid .carrier-details{display:grid;grid-template-columns:1fr 1fr}.qr-actions{grid-template-columns:1fr 1fr}.recovery-codes{grid-template-columns:1fr}.photo-form .inline-input{flex-wrap:wrap}.security-overview{gap:12px}.health-status{flex-wrap:wrap}.map-caption small{display:none}.world-map{margin:4px 8px 10px}.map-controls{top:5px;right:5px}}

/* Dashboard controls are scoped to the statistics panel. */
.theme-toggle{border:1px solid transparent}.theme-toggle:hover{border-color:var(--border)}
[data-theme=dark] .theme-toggle{color:var(--accent)}
.footer{justify-content:flex-end}
.dashboard-tabbar{display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--border);margin-bottom:20px;min-width:0}
.dashboard-tabbar .tabs{flex:1;min-width:0;border:0;margin:0}
.dashboard-date{display:flex;align-items:center;gap:7px;flex-shrink:0;align-self:flex-start;padding-top:2px;color:var(--muted);font-size:11px}
.dashboard-date svg{width:14px;height:14px}.dashboard-date time{font-variant-numeric:tabular-nums;text-transform:capitalize;white-space:nowrap}
.dashboard-period{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}
.dashboard-period label{display:flex;align-items:center;gap:10px;flex-shrink:0;font-size:11px;color:var(--muted)}
.dashboard-period select{width:auto;min-width:162px;min-height:36px;padding:7px 11px;font-size:11px}
.period-note{font-size:10px;line-height:1.7;color:var(--subtle);margin:0;max-width:580px}
@media(max-width:720px){.dashboard-tabbar{flex-wrap:wrap;gap:10px}.dashboard-tabbar .tabs{order:1;flex-basis:100%;gap:20px}.dashboard-date{margin-left:auto}.dashboard-period{flex-wrap:wrap;gap:10px}.dashboard-period label{order:-1;margin-left:auto}.period-note{font-size:10px;max-width:none}.dashboard-period select{min-width:150px}}

@media(min-width:721px) and (max-width:1100px){.dashboard-tabbar{flex-wrap:wrap;gap:10px}.dashboard-tabbar .tabs{order:1;flex-basis:100%}.dashboard-date{margin-left:auto}}

/* Passport categories and structured technical information. */
.data-category-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;align-items:start}
.data-category-nav{display:flex;flex-direction:column;gap:7px}.data-category-nav>.eyebrow{padding:12px 12px 10px;font-size:10px}
.data-category-item{display:flex;align-items:center;gap:11px;padding:15px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);text-align:left;cursor:pointer;width:100%}
.data-category-item:hover{background:var(--surface)}.data-category-item.selected{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow);color:var(--ink)}
.data-category-item>span:nth-child(2){flex:1}.data-category-item b{display:block;font-size:12px;line-height:1.5}.data-category-item small{display:block;font-size:10px;margin-top:3px;color:var(--muted)}.data-category-item>svg{width:14px;flex-shrink:0}.data-category-icon{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:9px;background:var(--surface-subtle);color:var(--muted)}.data-category-icon svg{width:18px;height:18px}.selected .data-category-icon{background:var(--accent-soft);color:var(--accent)}
.template-note{border-top:1px solid var(--border);margin:18px 10px 0;padding-top:20px;color:var(--muted);font-size:11px;line-height:1.7}.template-note>svg{width:21px;height:21px;color:var(--accent)}.template-note p{margin:9px 0}.template-note a{font-size:11px;color:var(--accent);text-decoration:none}.data-category-content{min-width:0}.category-definition{padding:23px 24px;box-shadow:none}.category-definition h2{font-size:20px;margin:7px 0}.category-definition p{font-size:12px;line-height:1.7;margin:7px 0 17px;color:var(--muted)}.category-field-tags{display:flex;flex-wrap:wrap;gap:7px}.category-field-tags span{font-size:10px;padding:5px 9px;border:1px solid var(--border);border-radius:5px;color:var(--muted);background:var(--surface-subtle)}
.technical-product-bar{display:flex;align-items:flex-end;gap:16px;margin:24px 0 16px}.technical-product-bar .field{flex:1;margin:0}.technical-product-bar .field select{width:100%}.technical-product-bar .btn{flex-shrink:0;min-height:40px}.technical-empty{padding:40px;text-align:center;color:var(--muted);line-height:1.7}.technical-empty>svg{height:32px;width:32px;color:var(--accent);margin:auto}.technical-empty h2{font-size:18px;color:var(--ink)}.classification-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.classification-card{padding:24px}.classification-card>svg{width:26px;height:26px;color:var(--accent)}.classification-card h2{font-size:16px;margin:16px 0 8px}.classification-card p{color:var(--muted);margin:0}
.technical-passport{container-type:inline-size;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface);margin:20px 0;color:var(--ink)}
.technical-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;background:linear-gradient(115deg,#182444,#253e59);color:#fff}.technical-hero-title{display:flex;align-items:center;gap:16px;min-width:0}.technical-hero-icon{width:48px;height:48px;display:grid;place-items:center;background:#ffffff12;border:1px solid #ffffff19;border-radius:13px;flex-shrink:0}.technical-hero-icon svg{width:26px;height:26px}.technical-hero-title>div{min-width:0}.technical-hero-title span:not(.technical-hero-icon){display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#c1b8e4}.technical-hero h2{color:#fff;font-size:22px;line-height:1.3;margin:6px 0;overflow-wrap:anywhere}.technical-hero-title small{font-size:11px;color:#a9b8d2}.technical-recycled{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.technical-recycled strong{font-size:34px;line-height:1.2;color:#d6c3ed;font-weight:650;letter-spacing:-1px}.technical-recycled span{font-size:11px;color:#d4dced}.technical-recycled small{font-size:9px;color:#a9b8d2}
.material-section{padding:24px 28px 27px;background:var(--surface)}.material-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}.material-section h3{margin:0;font-size:13px}.composition-status{font-size:10px;color:var(--amber)}.composition-status.complete{color:var(--success)}.composition-bar{display:flex;height:7px;background:var(--border);border-radius:6px;overflow:hidden;gap:2px;margin-bottom:18px}.composition-bar span{height:100%;flex-shrink:0}.material-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.material-card{padding:17px 15px;border-radius:10px;color:#fff;overflow-wrap:anywhere}.material-color-0{background:#52657e}.material-color-1{background:#79638e}.material-color-2{background:#986020}.material-color-3{background:#3e7776}.material-color-4{background:#5674b6}.material-color-5{background:#8b6272}.material-card>svg{display:block;width:23px;height:23px;margin-bottom:15px;color:#ffffffcf}.material-card strong{display:block;font-size:27px;letter-spacing:-.5px;line-height:1}.material-card strong small{font-size:17px;margin-left:2px}.material-card h4{font-size:12px;line-height:1.5;font-weight:550;margin:9px 0 0}.material-card p{font-size:9px;line-height:1.6;margin:8px 0 0;color:#ffffffe0}.composition-warning{font-size:11px;color:var(--amber);margin-bottom:0}.material-empty{padding:22px;background:var(--surface-subtle);border:1px dashed var(--border);border-radius:9px;text-align:center;color:var(--muted)}.material-empty svg{height:27px;width:27px;opacity:.7}.material-empty p{font-size:13px;margin:8px 0;white-space:pre-wrap}.material-empty small{font-size:10px}
.technical-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 28px 28px}.technical-fact{padding:22px;background:var(--surface-subtle);border:1px solid var(--border);border-radius:11px;min-width:0}.technical-fact-label{display:flex;align-items:center;gap:9px;margin-bottom:16px}.technical-fact-label svg{height:17px;width:17px;flex-shrink:0;color:var(--muted)}.technical-fact h3{font-size:13px;line-height:1.5;margin:0}.technical-fact p{font-size:12px;line-height:1.7;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.technical-fact small{font-size:10px;color:var(--muted);line-height:1.6;overflow-wrap:anywhere}.technical-fact .technical-number{font-size:30px;line-height:1.3;font-weight:650;letter-spacing:-.5px;margin:0 0 10px;color:var(--ink)}.technical-number small{font-size:11px;font-weight:400;letter-spacing:0}.technical-declared{display:inline-block;font-size:9px;color:var(--muted);border:1px solid var(--border);padding:3px 7px;border-radius:4px;margin-top:5px}.repair-facts,.product-standard-list{list-style:none;padding:0;margin:0}.repair-facts li{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:12px;margin:12px 0}.repair-facts svg{height:15px;width:15px;color:var(--accent)}.repair-facts b{font-weight:600;color:var(--ink)}.technical-fact details{margin-top:14px;font-size:11px}.technical-fact summary{cursor:pointer;line-height:1.6}.product-standard-list li{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.product-standard-list b{font-size:16px;overflow-wrap:anywhere}.product-standard-list span{font-size:11px;color:var(--muted);line-height:1.6}.recycled-fact{background:color-mix(in srgb,var(--surface-subtle) 91%,#ad8dbb)}.recycled-fact .technical-number{color:#9474a6}
.technical-form-section{border:1px solid var(--border);border-radius:10px;margin-bottom:12px;overflow:hidden}.technical-form-section>summary{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;cursor:pointer;background:var(--surface-subtle);padding:17px}.technical-form-section>summary:after{content:'+';margin-left:auto}.technical-form-section[open]>summary:after{content:'−'}.technical-form-section>summary svg{height:18px;width:18px;color:var(--accent)}.technical-form-body{padding:20px}.technical-hint{font-size:12px;color:var(--muted);line-height:1.7;margin:0 0 17px}.material-edit-row,.standard-edit-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) 32px;align-items:end;gap:10px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--border)}.material-edit-row .field,.standard-edit-row .field{margin:0;min-width:0}.material-edit-row label,.standard-edit-row label{font-size:10px}.material-edit-row input,.standard-edit-row input{width:100%;min-width:0}.material-edit-row .icon-btn,.standard-edit-row .icon-btn{margin-bottom:3px}.material-editor-footer{display:flex;justify-content:space-between;align-items:center;gap:15px}.material-editor-footer output{font-size:12px;color:var(--success);font-weight:600}.material-editor-footer output.error{color:var(--danger);background:none;padding:0}.technical-form-body textarea{min-height:95px}
@container (max-width:620px){.technical-hero{padding:22px;gap:15px}.technical-hero h2{font-size:19px}.technical-hero-icon{display:none}.technical-recycled strong{font-size:29px}.material-section{padding:22px}.material-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.technical-facts{padding:0 22px 22px;gap:10px}.technical-fact{padding:17px}.technical-fact-label{gap:7px}.technical-fact h3{font-size:12px}.technical-fact .technical-number{font-size:26px}}
@container (max-width:370px){.technical-hero{padding:18px}.technical-hero h2{font-size:16px}.technical-recycled strong{font-size:24px}.technical-recycled span{font-size:9px}.material-section{padding:18px}.material-section-heading{align-items:flex-start;flex-direction:column}.material-card{padding:15px 12px}.technical-facts{grid-template-columns:1fr;padding:0 18px 18px}.technical-fact-label{margin-bottom:12px}}
@media(max-width:1100px){.data-category-layout{grid-template-columns:210px minmax(0,1fr);gap:18px}.data-category-item{padding:12px 9px;gap:8px}.data-category-item>svg{display:none}.data-category-item b{font-size:11px}.technical-product-bar{flex-wrap:wrap}.technical-product-bar .field{flex-basis:100%}}
@media(max-width:760px){.data-category-layout{grid-template-columns:1fr}.data-category-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.data-category-nav>.eyebrow,.template-note{grid-column:1/-1}.template-note{margin-top:6px;padding-top:12px}.template-note>svg{display:none}.category-definition{padding:20px}.classification-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.material-edit-row,.standard-edit-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 30px}.material-edit-row>.field:first-child,.standard-edit-row>.field:first-child{grid-column:1/-1}.technical-form-body{padding:15px}.technical-form-body .form-grid{grid-template-columns:1fr}.technical-form-body .field.wide{grid-column:auto}}

/* Category management and technical categories in the product form. */
.classification-card .btn{margin-top:18px;color:var(--muted)}
.category-delete-confirm{background:var(--danger);border-color:var(--danger);color:#fff}
.category-delete-confirm:hover{filter:brightness(.93)}
.product-technical-editor{border-top:1px solid var(--border);padding-top:22px;margin-top:10px;min-width:0}
.technical-picker-heading h3{font-size:16px;margin:0 0 8px}.technical-picker-heading p{color:var(--muted);font-size:12px;line-height:1.7;margin:0 0 17px}
.product-technical-editor>.field{margin-bottom:16px;max-width:400px}
.technical-section-title{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;background:var(--surface-subtle);padding:17px;margin:0;border-bottom:1px solid var(--border)}
.technical-section-title svg{width:18px;height:18px;color:var(--accent)}
.product-technical-editor [data-technical-section][hidden]{display:none}

.btn.danger,[data-action="confirm-delete-product"]{color:var(--danger,#c94545);border-color:color-mix(in srgb,var(--danger,#c94545) 32%,transparent)}
.btn.danger{background:#b92f36;color:#fff;border-color:#b92f36}
.btn.danger:hover{background:#a2232a}
.danger-note{border-color:color-mix(in srgb,#c94545 32%,transparent);color:var(--text)}
.approval-settings{margin-top:32px;padding-top:28px;border-top:1px solid var(--border)}
.approval-settings h2{margin:0 0 18px;font-size:17px}
.approval-toggle{display:flex;align-items:flex-start;gap:12px;cursor:pointer}
.approval-toggle input{width:18px;height:18px;flex-shrink:0;margin-top:2px;accent-color:var(--accent)}
.approval-toggle span{display:grid;gap:6px}
.approval-toggle small{color:var(--muted);font-weight:400;line-height:1.6}

.template-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 22px;color:var(--muted);font-size:12px}.template-toolbar input{max-width:400px}
.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:20px}.template-card{overflow:hidden}.template-cover{height:152px;position:relative;background:var(--surface-subtle);display:flex;align-items:center;justify-content:center}.template-cover img{width:100%;height:100%;object-fit:contain;padding:14px}.template-cover>span:first-child svg{width:42px;height:42px;color:var(--accent)}.template-image-count{position:absolute;right:12px;bottom:12px;padding:5px 8px;background:var(--surface);color:var(--muted);border:1px solid var(--border);border-radius:6px;font-size:11px}.template-card-body{padding:20px}.template-card-body h2{margin:0 0 8px;font-size:16px}.template-title{border:0;padding:0;background:none;color:var(--text);text-align:left;font:inherit;font-weight:650;cursor:pointer}.template-card-body>p{font-size:12px;line-height:1.65;color:var(--muted);height:40px;overflow:hidden;margin:0 0 14px}.template-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.template-tags span{padding:4px 8px;background:var(--surface-subtle);border-radius:5px;font-size:11px;color:var(--muted)}.template-card-body>small{font-size:11px;color:var(--muted)}.template-card-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.template-empty{text-align:center;padding:64px 24px}.template-empty>svg{width:40px;height:40px;color:var(--accent)}.template-empty p{color:var(--muted);margin-bottom:22px}
.template-form-heading{padding-top:16px;border-top:1px solid var(--border)}.template-form-heading h3{margin:0 0 6px}.template-form-heading p,.product-template-picker p{font-size:12px;color:var(--muted);line-height:1.65;margin:6px 0 0}
.product-template-picker{padding:18px;background:var(--surface-subtle);border:1px solid var(--border);border-radius:10px;margin-bottom:6px}.product-template-picker>b{font-size:14px}.template-picker-controls{display:flex;align-items:flex-end;gap:10px;margin-top:14px}.template-picker-controls .field{flex:1}.template-picker-controls>.btn{height:41px;margin-bottom:0;white-space:nowrap}.product-template-picker [data-template-replace]{padding:12px 0;font-size:12px;line-height:1.6}.product-template-picker [data-template-replace] input{width:16px;height:16px;vertical-align:middle;margin:0 8px 0 0}.product-template-picker [data-template-error]{font-size:12px;color:var(--danger,#c94545);margin-top:8px}.template-applied{display:flex;align-items:flex-start;gap:8px}.template-applied>svg{width:18px;height:18px;flex-shrink:0;color:var(--accent)}.template-applied small{display:block;font-size:11px;margin-top:4px}.template-applied-images{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.template-applied-images img{width:56px;height:48px;border:1px solid var(--border);border-radius:6px;object-fit:contain;background:var(--surface)}
.template-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.template-gallery figure{margin:0;border:1px solid var(--border);border-radius:9px;overflow:hidden}.template-gallery img{width:100%;height:130px;object-fit:contain;background:var(--surface-subtle);padding:8px}.template-gallery figcaption{padding:8px;display:flex;align-items:center;justify-content:space-between;gap:6px}.template-image-upload{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:18px 0 24px}.template-image-upload .field{flex:1;min-width:200px}.template-description{white-space:pre-wrap;color:var(--muted);line-height:1.7}.template-gallery:empty{display:none}
@media(max-width:600px){.template-grid{grid-template-columns:1fr}.template-picker-controls{align-items:stretch;flex-direction:column}.template-toolbar{align-items:flex-start;flex-direction:column}}

/* Product row controls and batch actions */
.product-row{cursor:pointer}.product-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.product-row.selected{background:var(--accent-soft)}
.selection-cell{width:48px!important;padding-left:18px!important;padding-right:12px!important}.selection-cell input{width:17px;height:17px;accent-color:var(--accent);cursor:pointer}
.product-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;white-space:nowrap}.product-row-actions .btn{font-size:11px}
.bulk-toolbar{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border);font-size:12px;color:var(--muted)}.bulk-toolbar>span{margin-right:auto}
.bulk-actions{position:relative}.bulk-actions summary{list-style:none;cursor:pointer}.bulk-actions summary::-webkit-details-marker{display:none}.bulk-actions summary[aria-disabled=true]{opacity:.45;pointer-events:none}.bulk-actions>div{position:absolute;right:0;top:calc(100% + 6px);z-index:5;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 30px #0002;white-space:nowrap}
.bulk-delete-list{max-height:220px;overflow:auto;padding:0;list-style:none;margin:20px 0}.bulk-delete-list li{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid var(--border);font-size:13px}.bulk-delete-list span{color:var(--muted)}
.search-result{width:100%;background:transparent;border:0;border-bottom:1px solid var(--border);color:var(--text);text-align:left;cursor:pointer;font:inherit;padding:15px 12px;border-radius:6px}.search-result:hover,.search-result:focus-visible{background:var(--accent-soft)}.search-result>span:first-child{display:grid;gap:4px}.search-result small{color:var(--muted)}
.template-sync-note{margin-bottom:20px}.template-sync-note p{margin:7px 0 0}.template-picker-controls{grid-template-columns:1fr!important}.template-card-actions{flex-wrap:wrap}

/* Compact product data navigation and workspace field definitions. */
.technical-tabs{border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden;margin:16px 0;min-width:0}
.technical-tabs-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 20px;border-bottom:1px solid var(--border)}.technical-tabs-heading h3{font-size:14px}.technical-tabs-heading span{font-size:12px;color:var(--muted)}
.technical-tabs-layout{display:grid;grid-template-columns:210px minmax(0,1fr);align-items:stretch;min-width:0}
.technical-side-nav{display:flex;flex-direction:column;gap:5px;padding:12px;background:var(--surface-subtle);border-right:1px solid var(--border);overflow:auto;max-height:52vh}
.technical-side-nav>button{display:flex;align-items:flex-start;gap:9px;border:0;background:transparent;color:var(--muted);border-radius:7px;text-align:left;padding:11px 10px;font-size:12px;line-height:1.5;font-weight:550;flex-shrink:0}.technical-side-nav svg{width:17px;height:17px;flex-shrink:0;margin-top:1px}.technical-side-nav>button:hover{background:var(--accent-soft)}.technical-side-nav>button[aria-selected=true]{background:var(--accent-soft);color:var(--accent)}
.technical-panels{min-width:0}.technical-tab-panel{min-height:240px;max-height:52vh;overflow:auto;padding:20px;scrollbar-gutter:stable}.technical-tab-panel[hidden]{display:none!important}.technical-tab-panel>.technical-section-title{margin:0 0 18px}.technical-tab-panel .technical-facts{padding:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.technical-tab-panel .material-section{grid-column:1/-1;border-radius:10px;min-width:0}.technical-tab-panel .material-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.technical-tab-panel .material-card{min-width:0}.technical-tab-panel .technical-fact h3{font-size:13px;margin-bottom:12px}.technical-text{white-space:pre-wrap;overflow-wrap:anywhere}.technical-tab-panel .technical-number{font-size:24px}.technical-tab-panel .product-gallery{margin-top:0}.technical-tab-panel .detail-grid{margin-top:14px}
.technical-view .technical-tab-panel{max-height:48vh}.product-technical-editor{margin:0;padding-top:0}.product-technical-editor .technical-tab-panel{max-height:46vh}.product-technical-editor .material-edit-row{grid-template-columns:minmax(100px,1.4fr) minmax(70px,1fr) minmax(70px,1fr) 28px;gap:8px}.product-technical-editor .standard-edit-row{grid-template-columns:minmax(70px,1fr) minmax(80px,1.2fr) minmax(70px,1fr) 28px;gap:8px}.technical-tab-panel .form-grid{gap:14px}.technical-tab-panel textarea{min-height:84px}
.schema-list{max-height:52vh;overflow:auto}.schema-list-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 2px;border-bottom:1px solid var(--border)}.schema-list-row>div:first-child{display:grid;gap:5px;min-width:0}.schema-list-row b{font-size:13px;overflow-wrap:anywhere}.schema-list-row small{font-size:11px;color:var(--muted)}.schema-list-row>div:last-child{display:flex;gap:7px;flex-shrink:0}.schema-check{display:flex;align-items:center;gap:10px;font-size:13px}.schema-check input{width:17px;height:17px;accent-color:var(--accent)}
.dialog.large:has(.technical-tabs){width:min(1040px,calc(100vw - 40px));max-width:1040px}.dialog:has(.technical-tabs)>.dialog-header{margin-bottom:14px}.template-card-actions .btn{font-size:11px}.category-field-tags>.btn{margin-top:8px}.category-definition .category-field-tags{align-content:start}
@media(max-width:700px){.technical-tabs-layout{grid-template-columns:1fr}.technical-side-nav{flex-direction:row;border-right:0;border-bottom:1px solid var(--border);max-height:none;padding:8px}.technical-side-nav>button{max-width:180px;align-items:center}.technical-tab-panel,.technical-view .technical-tab-panel,.product-technical-editor .technical-tab-panel{max-height:52vh;padding:14px}.technical-tab-panel .technical-facts{grid-template-columns:1fr}.schema-list-row{align-items:flex-start}.schema-list-row>div:last-child{flex-direction:column}.product-technical-editor .material-edit-row,.product-technical-editor .standard-edit-row{grid-template-columns:1fr 1fr}.technical-tabs-heading span{display:none}}
@media print{.technical-side-nav{display:none}.technical-tabs-layout{display:block}.technical-tab-panel,.technical-tab-panel[hidden],.technical-view .technical-tab-panel{display:block!important;max-height:none;overflow:visible}.technical-tabs{overflow:visible}}

/* Product workspace: fixed header and actions, one scrolling data panel. */
.dialog-header>div{min-width:0}.dialog-header h2{overflow-wrap:anywhere}.dialog-header>div>.eyebrow{display:block;margin-bottom:7px;font-size:9px;letter-spacing:.13em;color:var(--muted)}.dialog-header>div>p{margin:8px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}
.template-card[data-template-card]{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.template-card[data-template-card]:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));box-shadow:var(--floating-shadow);transform:translateY(-2px)}.template-card[data-template-card]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.template-card-actions{padding-top:15px;border-top:1px solid var(--border)}.template-card-actions .btn:last-child{margin-left:auto}
.dialog.product-dialog[open]{display:flex;flex-direction:column;width:min(1160px,calc(100vw - 48px));max-width:1160px;height:min(820px,calc(100dvh - 64px));max-height:calc(100dvh - 64px);padding:0;overflow:hidden;border-radius:18px;box-shadow:0 32px 110px #08182c55}
.product-dialog>.dialog-header{flex-shrink:0;margin:0!important;padding:23px 28px;background:var(--surface);align-items:flex-start}.product-dialog>.dialog-header h2{font-size:23px;letter-spacing:-.7px;line-height:1.3}.product-dialog>.dialog-header>.icon-btn{margin-top:5px;border:1px solid var(--border);border-radius:50%;width:32px;height:32px}.product-dialog>.dialog-header>.icon-btn:hover{background:var(--surface-subtle)}
.product-dialog-form{display:flex;flex-direction:column;flex:1;min-height:0}.product-dialog-body{flex:1;min-height:0;overflow:hidden}.product-dialog .technical-tabs{height:100%;margin:0;border:0;border-radius:0;background:var(--surface);padding:0}.product-dialog .technical-tabs-heading{display:none}.product-dialog .technical-tabs-layout{height:100%;grid-template-columns:222px minmax(0,1fr)}
.product-dialog .technical-side-nav{max-height:none;padding:20px 14px;gap:7px;background:var(--surface-subtle)}.product-dialog .technical-side-nav>button{padding:13px 12px;font-size:12px;border-radius:9px;align-items:center;border:1px solid transparent;font-weight:500}.product-dialog .technical-side-nav>button svg{width:18px;height:18px;margin:0}.product-dialog .technical-side-nav>button[aria-selected=true]{border-color:color-mix(in srgb,var(--accent) 20%,transparent);font-weight:600;box-shadow:0 2px 5px #0c1a3505}.product-dialog .technical-panels{height:100%;min-height:0}.product-dialog .technical-tab-panel{height:100%;min-height:0;max-height:none;padding:26px 28px;scrollbar-gutter:stable}.product-dialog .technical-section-title{padding:0;margin:0 0 23px;background:none;border:0;font-size:18px;letter-spacing:-.4px;line-height:1.4}.product-dialog .technical-tab-panel>.form-grid{gap:22px}.product-dialog .field label{font-size:11px;font-weight:550;margin-bottom:8px}.product-dialog .field input,.product-dialog .field select,.product-dialog .field textarea{font-size:12px;border-radius:8px;min-height:42px}.product-dialog .field textarea{min-height:92px}.product-dialog .form-grid{gap:20px 18px}.product-dialog .field small{font-size:10px;line-height:1.6}.product-dialog .technical-hint{font-size:12px}
.product-form-columns{display:grid;grid-template-columns:minmax(0,1fr) 218px;gap:26px;align-items:start}.product-field-card{min-width:0}.product-media-card{padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-subtle);min-width:0}.product-upload-preview{height:166px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px dashed var(--border);border-radius:8px;margin-bottom:17px;overflow:hidden}.product-upload-preview>svg{height:45px;width:45px;color:var(--subtle);stroke-width:1.1}.product-upload-preview>img{width:100%;height:100%;object-fit:contain;padding:10px}.product-dialog .product-media-card input[type=file]{max-width:100%;padding:8px;font-size:10px;background:var(--surface)}.product-media-card input[type=file]::file-selector-button{border:0;background:var(--accent-soft);color:var(--accent);font:inherit;padding:7px 8px;border-radius:5px;margin-right:7px;cursor:pointer}.product-media-hint{font-size:10px;line-height:1.7;color:var(--muted);margin:14px 0 0}.product-dialog [data-material-notes] textarea{min-height:66px}.product-dialog .inline-category{margin-top:5px}.product-dialog .inline-category summary{font-size:10px}
.product-dialog .product-template-picker{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,215px);gap:10px 22px;padding:16px 18px;border-radius:10px;background:var(--surface-subtle);margin:0}.product-dialog .product-template-picker>div:first-child b{font-size:12px}.product-dialog .product-template-picker p{font-size:10px;line-height:1.6}.product-dialog .product-template-picker .template-picker-controls{margin:0}.product-dialog .product-template-picker .template-picker-controls label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.product-dialog .product-template-picker>small{font-size:10px;color:var(--muted);align-self:center}.product-dialog .product-template-picker [data-template-applied],.product-dialog .product-template-picker [data-template-error]{grid-column:1/-1}.product-dialog .product-template-picker [data-template-applied]:empty,.product-dialog .product-template-picker [data-template-error]:empty{display:none}.product-dialog .template-applied{margin:0!important}
.product-dialog-footer{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 26px;border-top:1px solid var(--border);background:var(--surface);position:relative;z-index:2;flex-wrap:wrap}.product-dialog-footer .actions{gap:10px}.product-dialog-footer .btn{min-height:39px;font-size:12px;border-radius:8px}.product-save-note{display:flex;align-items:center;gap:8px;max-width:48%;font-size:10px;color:var(--muted)}.product-save-note svg{width:14px;height:14px;flex-shrink:0}.product-dialog-footer .form-error:empty{display:none}.product-dialog-footer .form-error:not(:empty){order:-1;flex-basis:100%;margin:0;font-size:12px}.product-more-actions{position:relative}.product-more-actions summary{list-style:none;cursor:pointer}.product-more-actions summary::-webkit-details-marker{display:none}.product-more-actions>div{display:grid;position:absolute;bottom:calc(100% + 10px);left:0;min-width:220px;padding:7px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--floating-shadow)}.product-more-actions>div>.btn{justify-content:flex-start;border:0;background:none;text-align:left}.product-more-actions>div>.btn:hover{background:var(--surface-subtle)}
.product-overview-grid{display:grid;grid-template-columns:minmax(200px,.9fr) minmax(0,1.1fr);gap:28px;align-items:start}.product-overview-media{min-width:0}.product-overview-media .section-heading{margin:0 0 13px}.product-overview-media h3{font-size:11px;color:var(--muted);font-weight:500}.product-overview-media .product-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.product-overview-media .product-gallery figure:first-child{grid-column:1/-1}.product-overview-media .product-gallery img{height:96px;background:var(--surface-subtle);width:100%;object-fit:contain}.product-overview-media .product-gallery figure:first-child img{height:210px;padding:18px}.product-overview-media .product-gallery figcaption{padding:8px;gap:5px;flex-wrap:wrap}.product-overview-media .product-gallery figcaption .btn{font-size:9px;padding:4px 6px;min-height:24px}.product-overview-media .image-empty{height:245px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;background:var(--surface-subtle);border:1px dashed var(--border);border-radius:12px}.product-overview-media .image-empty svg{width:42px;height:42px;color:var(--subtle)}.product-overview-media .version-note{font-size:10px;line-height:1.65}.product-overview-information{min-width:0}.product-overview-meta{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:22px}.product-sku{font-size:11px;color:var(--muted);font-family:ui-monospace,monospace}.product-overview-information>h3{font-size:17px;margin:0 0 12px;letter-spacing:-.3px}.product-description{font-size:12px;line-height:1.85;white-space:pre-wrap;color:var(--muted);margin:0 0 24px}.product-attributes{margin:0}.product-attributes>div{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--border);font-size:12px}.product-attributes dt{color:var(--muted);font-size:11px}.product-attributes dd{margin:0;text-align:right;overflow-wrap:anywhere;font-weight:500}.product-quality{padding:20px 0}.product-quality>span{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:10px}.product-quality b{color:var(--accent)}.product-quality .progress{height:5px;width:100%}.product-template-source{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted);flex-wrap:wrap}.product-template-source>svg{width:14px;height:14px}.product-template-source>.btn{margin-left:auto}.product-publication{padding:15px;border:1px solid var(--border);border-radius:10px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:20px;background:var(--surface-subtle)}.product-publication>div{display:flex;align-items:center;gap:9px}.product-publication>div>svg{width:19px;height:19px;color:var(--accent)}.product-publication span{display:grid;gap:5px;font-size:11px}.product-publication small{font-size:9px;color:var(--muted)}.product-publication p{flex-basis:100%;margin:0;font-size:10px;line-height:1.7;color:var(--muted)}.product-evidence-card{margin-top:28px;padding:22px 0 0;border-top:1px solid var(--border)}.product-evidence-card .section-heading{margin:0 0 14px}.product-evidence-card h3{font-size:13px;display:flex;gap:9px;align-items:center}.product-evidence-card>p{font-size:12px}.product-dialog .material-section{padding:0}.product-dialog .material-section-heading h3{display:none}.product-dialog .material-section-heading{margin-bottom:12px}.product-dialog .material-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.product-dialog .technical-fact{background:var(--surface-subtle);border-radius:12px;padding:20px}
.map-city-label{font-size:14px;font-weight:600;fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round;pointer-events:auto;cursor:pointer}.map-label-leader{fill:none;stroke:var(--accent);stroke-width:1;opacity:.45;pointer-events:none}.map-label-target{fill:transparent;cursor:pointer}.world-canvas [role=button]:hover .map-city-label,.world-canvas [role=button]:focus .map-city-label{fill:var(--accent);stroke-width:5px}
@media(max-width:960px){.product-form-columns{grid-template-columns:minmax(0,1fr)}.product-media-card{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px}.product-upload-preview{height:130px;margin:0;grid-row:span 2}.product-media-hint{margin:0}.product-dialog .technical-tabs-layout{grid-template-columns:196px minmax(0,1fr)}.product-overview-grid{grid-template-columns:1fr}.product-overview-media .image-empty{height:170px}.product-overview-media .product-gallery figure:first-child img{height:190px}}
@media(max-width:700px){.dialog.product-dialog[open]{width:calc(100vw - 20px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);border-radius:13px}.product-dialog>.dialog-header{padding:17px 18px}.product-dialog>.dialog-header h2{font-size:20px}.product-dialog>.dialog-header>div>p{font-size:11px}.product-dialog .technical-tabs-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.product-dialog .technical-side-nav{padding:9px;gap:5px;max-height:84px}.product-dialog .technical-side-nav>button{padding:9px 10px;max-width:175px;font-size:11px}.product-dialog .technical-tab-panel{padding:20px 18px}.product-dialog .product-template-picker{grid-template-columns:1fr}.product-dialog-footer{padding:12px 16px;gap:9px}.product-dialog-footer .btn{font-size:10px;padding:8px 10px}.product-save-note{display:none}.product-dialog-footer .actions:last-child{margin-left:auto}.product-dialog .product-field-card>.form-grid{grid-template-columns:1fr}.product-media-card{grid-template-columns:100px minmax(0,1fr)}.product-upload-preview{height:100px}.product-more-actions>div{min-width:195px}.product-dialog .technical-section-title{font-size:16px}}

/* Row navigation and discoverable two-key shortcuts. */
.record-row{cursor:pointer}.record-row:hover{background:var(--surface-subtle)}.record-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-soft)}.record-name{display:inline;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;font:inherit;font-weight:600;cursor:pointer}.record-name:hover{text-decoration:underline;text-underline-offset:3px}.record-name:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}
kbd{display:inline-flex;align-items:center;justify-content:center;min-width:25px;min-height:24px;padding:3px 6px;border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;background:var(--surface-subtle);color:var(--muted);font:11px ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.2;white-space:nowrap}.button-shortcut{display:inline-flex;gap:3px;margin-left:5px;opacity:.8}.button-shortcut kbd{min-width:17px;min-height:20px;padding:2px 4px;font-size:9px;border-color:currentColor;border-bottom-width:1px;background:transparent;color:inherit}.primary .button-shortcut{color:inherit;opacity:.65}
.dialog.shortcut-dialog{max-width:510px}.shortcut-dialog .dialog-subtitle{margin-bottom:16px}.creation-shortcuts{display:grid;gap:5px}.creation-shortcuts>button{display:flex;align-items:center;gap:12px;width:100%;border:1px solid transparent;background:var(--surface);color:var(--ink);border-radius:8px;padding:10px 11px;text-align:left;font:inherit;cursor:pointer}.creation-shortcuts>button:hover,.creation-shortcuts>button:focus-visible{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 25%,transparent);outline:none}.creation-shortcuts>button:disabled{opacity:.45;cursor:not-allowed}.creation-shortcuts>button>span:nth-child(2){font-size:13px;font-weight:500;display:grid;gap:4px}.creation-shortcuts small{font-size:10px;color:var(--muted);font-weight:400}.creation-shortcuts kbd{margin-left:auto}.shortcut-command-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:7px;background:var(--surface-subtle);color:var(--muted)}.shortcut-command-icon svg{width:17px;height:17px}.shortcut-reference>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--border);font-size:12px}.shortcut-reference>div>span:last-child{display:flex;align-items:center;gap:5px}.shortcut-reference small{color:var(--muted);margin:0 3px}
@media(max-width:700px),(hover:none){.button-shortcut{display:none}}
/* Product sorting and side-by-side comparison */
.a11y-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.product-sort{display:inline-flex;align-items:center;gap:8px;border:0;background:none;padding:3px 0;color:inherit;font:inherit;cursor:pointer}
.product-sort svg{width:11px;height:17px;flex:none}.product-sort path{opacity:.45}.product-sort path.current{opacity:1;stroke-width:2.3}
.product-sort.active,.product-sort:hover{color:var(--accent)}
.product-sort:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:2px}
.bulk-toolbar{flex-wrap:wrap}.selection-hint{display:inline-block;margin-left:14px;color:var(--muted);font-size:11px}
dialog.dialog.comparison-dialog{width:min(1220px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 48px);padding:0;overflow:hidden}
dialog.dialog.comparison-dialog[open]{display:flex;flex-direction:column}
.comparison-dialog .dialog-header{padding:24px 28px;margin:0;flex-shrink:0}
.comparison-dialog .dialog-header p{margin:7px 0 0;color:var(--muted);font-size:12px}
.comparison-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 28px;border-block:1px solid var(--border);background:var(--surface-subtle);font-size:12px;flex-shrink:0}
.comparison-toolbar>span{color:var(--muted)}.comparison-toolbar b{color:var(--ink)}.comparison-dot{margin:0 8px;color:var(--subtle)}
.comparison-filter{display:flex;align-items:center;gap:8px;white-space:nowrap;cursor:pointer;font-weight:500}.comparison-filter input{width:16px;height:16px;accent-color:var(--accent);margin:0}
.comparison-scroll{min-height:0;overflow:auto;overscroll-behavior:contain}
.comparison-table{table-layout:fixed;min-width:720px;border-collapse:separate;border-spacing:0}
.comparison-label-column{width:190px}
.comparison-table th,.comparison-table td{white-space:normal;overflow-wrap:anywhere;padding:17px 22px;border-top:0;font-size:12px;vertical-align:top}
.comparison-table thead th{position:sticky;top:0;z-index:2;background:var(--surface);border-bottom:1px solid var(--border);padding-block:22px}
.comparison-table thead th:first-child{z-index:4}
.comparison-table thead th p{font-size:11px;font-weight:400;line-height:1.5;margin:8px 0 0}
.comparison-table tr>[scope=row],.comparison-table thead th:first-child{position:sticky;left:0;background:var(--surface-subtle)}
.comparison-table tr>[scope=row]{z-index:1;font-weight:500;line-height:1.7;color:var(--muted)}
.comparison-table td+td,.comparison-table th+th{border-left:1px solid var(--border)}
.comparison-table tbody tr:hover{background:transparent}
.comparison-table .comparison-section th{padding:12px 22px;background:var(--surface-subtle);font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink)}
.comparison-table .comparison-different td{background:var(--accent-soft)}
.comparison-marker{display:inline-block;margin-left:8px;width:5px;height:5px;background:var(--accent);border-radius:50%;vertical-align:middle}
.comparison-product{display:flex;flex-direction:column;gap:12px}.comparison-product b{display:block;color:var(--ink);font-size:14px;line-height:1.5}.comparison-product small{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:400}
.comparison-image{width:60px;height:60px;display:grid;place-items:center;border:1px solid var(--border);border-radius:12px;color:var(--accent);background:var(--surface-subtle);overflow:hidden}.comparison-image svg{width:25px;height:25px}.comparison-image img{width:100%;height:100%;object-fit:contain}
.comparison-value{white-space:pre-wrap;line-height:1.7}.comparison-value small{font-size:11px;color:var(--muted)}.comparison-missing{font-size:11px;color:var(--muted)}
.comparison-materials,.comparison-standards{list-style:none;margin:0;padding:0;display:grid;gap:16px}.comparison-materials li>div:first-child{display:flex;justify-content:space-between;gap:8px;line-height:1.5}.comparison-materials b{font-weight:500}.comparison-materials strong{white-space:nowrap;color:var(--accent);font-variant-numeric:tabular-nums}
.comparison-materials small,.comparison-standards small{color:var(--muted);display:block;font-size:10px;line-height:1.6}.comparison-material-track{height:4px;margin:8px 0 5px;background:var(--border);border-radius:4px;overflow:hidden}.comparison-material-track span{display:block;height:100%;background:var(--accent);border-radius:4px}
.comparison-standards span{display:block;line-height:1.6;margin-top:4px}
.comparison-footer{display:flex;align-items:center;gap:28px;justify-content:space-between;padding:18px 28px;border-top:1px solid var(--border);flex-shrink:0}.comparison-footer p{font-size:11px;line-height:1.7;max-width:720px;color:var(--muted);margin:0}
@media(max-width:700px){dialog.dialog.comparison-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px)}.comparison-dialog .dialog-header{padding:18px}.comparison-toolbar{padding:12px 18px;flex-wrap:wrap;gap:10px}.comparison-footer{padding:14px 18px;gap:16px}.comparison-label-column{width:140px}.comparison-table th,.comparison-table td{padding:14px}.selection-hint{display:block;margin:4px 0 0}}

/* Product operations */
.operations-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px;align-items:start}.operations-nav{display:flex;flex-direction:column;gap:4px;position:sticky;top:94px;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.operations-nav button{display:flex;align-items:center;gap:10px;text-align:left;border:0;background:none;border-radius:7px;padding:12px 10px;color:var(--muted);font:inherit;font-size:12px;cursor:pointer}.operations-nav button[aria-selected=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.operations-nav svg{width:17px;height:17px;flex:none}.operations-content{min-width:0}.op-intro{display:flex;gap:14px;margin-bottom:22px}.op-intro>span{display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);border-radius:10px;width:42px;height:42px;flex:none}.op-intro svg{width:23px;height:23px}.op-intro h2{font-size:18px;margin:0 0 7px}.op-intro p{font-size:12px;color:var(--muted);line-height:1.7;max-width:760px;margin:0}.op-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:16px}.op-toolbar select{max-width:360px}.op-content-card{overflow:hidden}.op-content-card td{white-space:normal;vertical-align:top;max-width:310px;line-height:1.7}.op-content-card td svg{width:15px;height:15px}.op-value{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font-size:12px}.op-content-card .op-value{display:block;max-height:120px;overflow:auto}.op-metrics{display:grid;grid-template-columns:repeat(3,1fr);padding:20px;border-bottom:1px solid var(--border);gap:20px}.op-metrics div{display:grid;gap:5px}.op-metrics b{font-size:25px}.op-metrics span{font-size:11px;color:var(--muted)}.op-section-head{padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--surface-subtle)}.op-section-head h3{font-size:13px;margin:0}.op-empty{padding:42px 24px;color:var(--muted);text-align:center}.op-empty svg{width:32px;height:32px;margin-bottom:16px}.op-empty h3{font-size:14px;color:var(--ink)}.op-empty p{font-size:12px;margin-top:10px}.op-field-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:270px;overflow:auto;gap:8px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle)}.op-field-picker label,.op-checkbox{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--ink);line-height:1.5}.op-field-picker input,.op-checkbox input{width:15px;height:15px;flex:none;accent-color:var(--accent);margin:0}.op-field-picker small{color:var(--muted)}.op-form-dialog .form-grid{margin-top:10px}.op-form-dialog .field label{line-height:1.6}.op-requirement{display:grid;grid-template-columns:2fr 1fr 1fr 30px;gap:8px;margin:8px 0;align-items:center}.op-requirement select,.op-requirement input{min-width:0}.op-automation-flow{display:flex;gap:10px}.op-automation-flow>label{flex:1;min-width:0;display:grid;grid-template-columns:auto 1fr;gap:10px;background:var(--surface-subtle);border:1px solid var(--border);border-radius:10px;padding:15px}.op-automation-flow input{width:16px;height:16px}.op-automation-flow small{grid-column:1/-1;color:var(--muted)}.op-detail-meta{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:20px}.op-file{display:flex;align-items:center;gap:8px;padding:12px 0;font-size:12px}.op-file svg{width:17px;height:17px}.op-definition{display:grid;grid-template-columns:150px 1fr;gap:12px;font-size:12px}.op-definition dt{color:var(--muted)}.op-definition dd{margin:0}.op-details{margin-top:20px;border:1px solid var(--border);border-radius:8px;padding:14px;font-size:12px}.op-details summary{cursor:pointer;font-weight:600}.op-details pre,.op-json{white-space:pre-wrap;overflow-wrap:anywhere;max-height:440px;overflow:auto;background:var(--surface-subtle);padding:15px;font-size:11px;line-height:1.7}.op-review-dialog td,.op-review-dialog th{white-space:normal;vertical-align:top;max-width:270px}.op-review-dialog .table-wrap{max-height:380px}.op-changed{background:var(--accent-soft)}.op-review-summary{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:16px 0}.op-review-summary h3{font-size:15px}.op-review-summary span{font-size:11px;color:var(--muted)}.op-impact-result{padding:16px;background:var(--accent-soft);border-radius:8px;margin:14px 0;font-size:12px}.op-impact-result li{margin:8px 0}.op-export-card{padding:32px;max-width:850px}.op-export-card>svg{width:36px;height:36px;color:var(--accent);margin-bottom:16px}.op-export-card h3{font-size:20px;margin:0 0 12px}.op-export-card>p{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 25px}.op-export-card form>.field{margin-bottom:16px}.op-export-card button{margin-top:18px}.operations-portal{max-width:850px;margin:40px auto;padding:20px}.op-portal-brand{font-size:20px;font-weight:700;margin-bottom:24px}.op-portal-brand small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:6px}.operations-portal>.card{padding:32px}.operations-portal h1{font-size:25px;margin-bottom:12px}.operations-portal h3{font-size:14px;margin-top:25px}.operations-portal form{margin-top:24px}.operations-portal .form-actions{justify-content:flex-start}.op-shared-fields{display:grid;gap:18px}.op-shared-fields section{padding:15px;background:var(--surface-subtle);border-radius:8px}.op-shared-fields h3{margin:0 0 12px}.op-public-service{padding:22px;margin:18px 0}.op-public-service h3{margin:0 0 12px}
@media(max-width:1100px){.operations-layout{grid-template-columns:175px minmax(0,1fr);gap:16px}.op-toolbar{flex-wrap:wrap}.op-toolbar select{max-width:none;flex:1}.op-section-head{flex-wrap:wrap}.op-field-picker{grid-template-columns:1fr}}
@media(max-width:760px){.operations-layout{display:block}.operations-nav{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:22px}.operations-nav button{font-size:11px}.op-requirement{grid-template-columns:1fr 1fr 35px}.op-requirement select:first-child{grid-column:1/-1}.op-automation-flow{flex-direction:column}.op-definition{grid-template-columns:1fr}.op-definition dd{margin-bottom:14px}.operations-portal{margin:12px auto;padding:12px}.operations-portal>.card{padding:20px}.op-export-card{padding:22px}.op-review-summary{display:block}.op-field-picker{max-height:230px}.op-toolbar .btn{font-size:11px}}
.op-structured-row{display:grid;grid-template-columns:2fr 1fr 1fr 30px;align-items:end;gap:8px;padding:10px 0;border-bottom:1px solid var(--border)}.op-structured-row label{font-size:10px;color:var(--muted);display:grid;gap:6px}.op-structured-row input{min-width:0}.op-structured-row .icon-btn{margin-bottom:4px}.operations-portal [data-structured-field]>.btn{justify-self:start;margin-top:10px}@media(max-width:580px){.op-structured-row{grid-template-columns:1fr 1fr 30px}.op-structured-row>label:first-child{grid-column:1/-1}}

.op-portal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.op-detail-dialog>p.muted{font-size:12px;line-height:1.7}

.op-component-tree,.op-component-tree ul{list-style:none;padding-left:22px}.op-component-tree{padding-left:0}.op-component-tree ul{border-left:1px solid var(--border);margin-left:16px}.op-component-tree li{padding:7px 0}.op-component-tree button{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:10px 14px;border-radius:8px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer}.op-component-tree button svg{width:18px;height:18px}.op-component-tree small{display:block;color:var(--muted);font-size:11px}.op-tree-quantity{font-size:11px;color:var(--muted)}.op-audience-preview section{border-top:1px solid var(--border);padding-top:14px;margin-top:14px}
/* Account palettes: independent of light / dark display mode. */
:root[data-palette=indigo]{--accent:#5264d8;--accent-hover:#3c4fbd;--accent-soft:#edf0fd;--nav:#f1f3fa;--nav-selected:#3c4fbd;--nav-active:#e1e6fa}
:root[data-palette=ocean]{--accent:#087f9c;--accent-hover:#07657c;--accent-soft:#e7f4f8;--nav:#eff6f8;--nav-selected:#076a82;--nav-active:#dceef2}
:root[data-palette=forest]{--accent:#24734e;--accent-hover:#1d5b3e;--accent-soft:#e9f5ed;--nav:#f0f6f2;--nav-selected:#206643;--nav-active:#dceee1}
:root[data-palette=amber]{--accent:#ad6015;--accent-hover:#8e4b0e;--accent-soft:#fff3e4;--nav:#faf5ed;--nav-selected:#95500e;--nav-active:#f7e7cf}
:root[data-palette=graphite]{--accent:#515b6b;--accent-hover:#374151;--accent-soft:#edf0f3;--nav:#f1f3f5;--nav-selected:#394454;--nav-active:#e0e4e9}
:root[data-theme=dark][data-palette=indigo]{--accent:#a0acff;--accent-hover:#bdc5ff;--accent-soft:#2b3158;--nav:#20263d;--nav-selected:#c8ceff;--nav-active:#353e67}
:root[data-theme=dark][data-palette=ocean]{--accent:#76d1e8;--accent-hover:#a0e6f5;--accent-soft:#183e4a;--nav:#1a303d;--nav-selected:#a9e9f6;--nav-active:#264c5a}
:root[data-theme=dark][data-palette=forest]{--accent:#8bd6ab;--accent-hover:#b7e9cb;--accent-soft:#223e31;--nav:#20332d;--nav-selected:#baedce;--nav-active:#31543f}
:root[data-theme=dark][data-palette=amber]{--accent:#edc089;--accent-hover:#f8d7ad;--accent-soft:#483726;--nav:#342e28;--nav-selected:#f4d4ad;--nav-active:#524230}
:root[data-theme=dark][data-palette=graphite]{--accent:#b7c3d5;--accent-hover:#d9e1ed;--accent-soft:#303a48;--nav:#29323e;--nav-selected:#e0e7f1;--nav-active:#3e4b5e}
.st-workbench{display:grid;grid-template-columns:215px minmax(0,1fr);gap:26px;align-items:start}.st-navigation{position:sticky;top:92px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px;display:grid;gap:4px}.st-navigation button{display:flex;align-items:center;gap:11px;text-align:left;border:0;background:none;padding:13px 10px;border-radius:7px;color:var(--muted);font-size:12px}.st-navigation svg{width:18px;height:18px;flex:none}.st-navigation .active{background:var(--accent-soft);color:var(--accent);font-weight:600}.st-navigation button:hover{background:var(--surface-subtle)}.st-panel{min-width:0}.st-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.st-section-heading h2{font-size:22px;margin:8px 0}.st-section-heading p{font-size:12px;color:var(--muted);line-height:1.8;max-width:640px;margin:0}.st-section-heading>.btn{flex-shrink:0}.st-panel table td{white-space:normal;overflow-wrap:anywhere;max-width:300px;font-size:12px;line-height:1.65}.st-panel .record-name{text-align:left}.st-panel .empty>svg{width:30px;height:30px;color:var(--muted)}.st-check{display:inline-flex;align-items:center;gap:9px;font-size:12px;line-height:1.6;cursor:pointer}.st-check input{width:16px;height:16px;margin:0;accent-color:var(--accent);flex:none}.st-panel td>.st-check{margin-right:8px}.st-dialog .form-grid>.wide{grid-column:1/-1;min-width:0}.st-dialog .form-grid{margin-top:12px}.st-dialog td{white-space:normal;vertical-align:top;max-width:320px;overflow-wrap:anywhere;font-size:12px;line-height:1.65}.st-dialog td textarea{min-width:180px;min-height:90px}.st-import-preview{max-height:370px;overflow:auto;border:1px solid var(--border);border-radius:8px}.st-import-preview th{position:sticky;top:0;background:var(--surface);z-index:1}.st-import-preview details p{white-space:pre-wrap}.st-counts{display:flex;gap:22px;padding:20px 0;flex-wrap:wrap;color:var(--muted);font-size:12px}.st-counts b{font-size:22px;color:var(--ink);margin-right:5px}.st-proposal{padding:20px;background:var(--surface-subtle);border:1px solid var(--border);border-radius:12px;margin:16px 0}.st-proposal>div:first-child{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.st-proposal blockquote{margin:16px 0;border-left:3px solid var(--accent);padding-left:14px;font-size:13px;line-height:1.7;white-space:pre-wrap}.st-proposal>small{color:var(--muted);display:block;white-space:pre-wrap;margin-bottom:15px}.st-carbon-row{display:grid;grid-template-columns:1fr 2fr 1fr 1fr 28px;gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid var(--border)}.st-carbon-row select,.st-carbon-row input{min-width:0}.st-carbon-row .icon-btn{margin-bottom:6px}.st-carbon-total{display:block;padding:24px 0 4px;font-size:26px;font-weight:600;color:var(--accent)}.st-carbon-hero{display:flex;align-items:baseline;gap:12px;padding:24px;background:var(--accent-soft);border-radius:12px;margin:16px 0}.st-carbon-hero strong{font-size:38px;color:var(--accent)}.st-carbon-hero span{font-size:12px}.st-code-preview{width:240px;margin:20px auto;background:white;padding:10px;border-radius:12px}.st-code-preview svg{display:block;width:100%;height:auto}.st-url{font-size:12px;overflow-wrap:anywhere;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle)}.st-product-checks{display:grid;gap:10px;max-height:260px;overflow:auto;padding:16px;border:1px solid var(--border);border-radius:8px}.st-timeline{display:flex;gap:20px;flex-wrap:wrap;margin:20px 0}.st-timeline>span{display:grid;gap:8px}.st-timeline small{color:var(--muted);font-size:11px}.st-layout-order{display:grid;gap:8px}.st-layout-order>div{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--surface-subtle);border:1px solid var(--border);border-radius:9px}.st-layout-order label{flex:1}.st-grip{cursor:grab;color:var(--muted);font-size:20px}.st-designer-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-top:22px}.st-designer-toolbar .field{flex:1;min-width:150px}.st-layout-preview{margin:24px auto 0;max-height:600px;overflow:auto;border:1px solid var(--border);border-radius:16px;padding:20px;background:var(--bg)}.st-layout-preview:empty{display:none}.st-layout-preview.mobile{max-width:390px;border:7px solid var(--ink);border-radius:35px}.st-layout-preview .public-hero h1{font-size:26px}.st-layout-preview .public-product-gallery img{max-width:100%}.st-layout-preview.mobile .detail-grid{grid-template-columns:1fr}.st-public-brand{border-bottom:2px solid var(--brand-accent);padding:20px 0;margin-bottom:22px}.st-public-brand img{max-width:220px;max-height:84px;object-fit:contain}.st-public-brand strong{font-size:25px;color:var(--brand-accent)}.st-public-brand p{font-size:13px;color:var(--muted)}.st-public-body>.card{margin:18px 0}.st-public-body .public-hero h1{color:var(--brand-accent,var(--ink))}.st-public-body .public-product-gallery img{max-height:320px;max-width:100%;object-fit:contain}.st-public-body .btn.primary{background:var(--brand-accent,var(--accent));color:white}.st-theme-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.st-theme-card{position:relative;display:grid;gap:10px;padding:12px;border:2px solid var(--border);border-radius:12px;cursor:pointer;min-width:0}.st-theme-card:has(input:checked){border-color:var(--swatch);box-shadow:0 0 0 3px color-mix(in srgb,var(--swatch) 12%,transparent)}.st-theme-card input{position:absolute;top:18px;right:18px;width:16px;height:16px;accent-color:var(--swatch)}.st-theme-card small{color:var(--muted);font-size:11px;line-height:1.6;min-height:34px}.st-theme-art{height:112px;background:var(--surface-subtle);border:1px solid var(--border);border-radius:6px;display:grid;grid-template-columns:28px 1fr 1fr;gap:8px;padding:10px}.st-theme-art i{grid-row:span 2;background:color-mix(in srgb,var(--swatch) 25%,var(--surface));border-radius:3px}.st-theme-art b{height:34px;background:var(--swatch);border-radius:4px;opacity:.75;margin-top:20px}.st-theme-art em{grid-column:2/4;height:24px;background:color-mix(in srgb,var(--swatch) 18%,var(--surface));border-radius:4px}.footer{justify-content:space-between;gap:20px}.app-version{font-variant-numeric:tabular-nums;white-space:nowrap}.product-row-menu{position:relative}.product-row-menu summary{font-weight:700;letter-spacing:2px}.product-row-menu>div{right:0;left:auto;bottom:calc(100% + 6px);min-width:150px;z-index:15}.product-row-menu>div .btn{justify-content:flex-start;width:100%;border:0}.product-row-actions{overflow:visible}
@media(max-width:1150px){.st-theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.st-workbench{grid-template-columns:185px minmax(0,1fr);gap:18px}.st-section-heading{align-items:flex-start;flex-direction:column}.st-navigation button{font-size:11px}}
@media(max-width:760px){.st-workbench{display:block}.st-navigation{position:static;display:flex;overflow:auto;margin-bottom:24px}.st-navigation button{flex-shrink:0}.st-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.st-carbon-row{grid-template-columns:1fr 1fr}.st-carbon-row .icon-btn{grid-column:2;justify-self:end}.st-carbon-hero{flex-wrap:wrap}.st-layout-preview .detail-grid{grid-template-columns:1fr}.st-designer-toolbar>.btn{font-size:11px}}
@media print{body.st-print-code #app,body.st-print-layout #app,body.st-print-code #dialog .form-actions,body.st-print-layout #dialog .form-actions,body.st-print-code #dialog .dialog-header,body.st-print-layout #dialog .dialog-header{display:none!important}body.st-print-code #dialog,body.st-print-layout #dialog{display:block!important;position:static;width:100%;max-width:none;max-height:none;overflow:visible;border:0;box-shadow:none;padding:0}body.st-print-code #dialog>*:not(.st-code-preview):not(.st-url){display:none!important}body.st-print-layout #dialog form>.form-grid>.wide:not(:last-child),body.st-print-layout #dialog form>.form-grid>.field,body.st-print-layout .st-designer-toolbar,body.st-print-layout .form-error{display:none!important}body.st-print-layout .st-layout-preview{max-height:none;overflow:visible;border:0;padding:0}body.st-print-code .st-code-preview{width:55mm}body.st-print-code .st-url{font-size:9pt}body.st-print-layout .st-public-body .btn{display:none}}
.product-row-menu>div{position:fixed;width:170px;bottom:auto;right:auto;z-index:250}.product-row-menu>div .btn:last-child{color:var(--danger)}
/* Enterprise workspace and focused navigation */
.sidebar nav{display:block;overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-width:thin;scrollbar-color:var(--border) transparent;overscroll-behavior:contain}
.nav-section{display:block;min-height:0;overflow:visible}
.nav-section+.nav-section{margin-top:17px}
.nav-group{border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;flex-shrink:0;padding:5px 12px 9px;width:100%}
.nav-items{overflow:visible;padding-right:3px}
.nav-section.is-collapsed{flex:0;min-height:25px}.nav-section.is-collapsed .nav-items{display:none}
.en-checkbox-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));max-height:270px;overflow:auto;gap:10px;margin:12px 0 20px;padding:4px}
.en-workflow-step{display:grid;grid-template-columns:1.4fr 1fr 1fr 95px;gap:12px;padding:18px;border:1px solid var(--border);border-radius:10px;margin-bottom:12px;background:var(--surface)}
.en-workflow-step .actions{grid-column:1/-1}.en-stage-list{counter-reset:stage;padding:0;list-style:none;display:grid;gap:14px}.en-stage-list li{padding:18px 20px 18px 58px;border:1px solid var(--border);border-radius:10px;position:relative}.en-stage-list li:before{counter-increment:stage;content:counter(stage);position:absolute;left:16px;top:16px;border-radius:50%;padding:4px 9px;background:var(--bg);font-weight:700}.en-stage-list li.current{border-color:var(--accent)}
.en-sensor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.en-reading{display:block;font-size:32px;margin:15px 0 8px}.en-reading small{font-size:14px;font-weight:400}.en-sparkline{color:var(--accent);width:100%;height:100px;margin:12px 0}.en-secret{white-space:pre-wrap;overflow-wrap:anywhere;padding:18px;background:var(--bg);border-radius:8px}
.en-login-tools{display:grid;gap:10px;margin:18px 0}.en-field-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:20px 0}.en-field-products button{text-align:left;cursor:pointer}.en-field-products small{display:block;margin-top:8px}#field-dialog{max-width:640px;width:calc(100% - 30px);padding:28px;border:1px solid var(--border);border-radius:14px}#field-dialog label,#visit-form label{display:block;margin:15px 0}#field-dialog input,#field-dialog textarea,#field-search{width:100%;padding:12px;border:1px solid var(--border);border-radius:8px}#field-dialog::backdrop{background:#10172f80}
.en-help-hero{padding:32px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(120deg,var(--surface),var(--bg));margin-bottom:26px}.en-help-hero h2{font-size:27px;letter-spacing:-.7px;margin:12px 0}.en-help-hero input{max-width:680px;width:100%;padding:14px 18px;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.en-help-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;align-items:start}.en-help-toc{position:sticky;top:84px;max-height:calc(100vh - 110px);overflow:auto;scrollbar-width:thin;padding:0 12px 0 0}.en-help-toc h3{font-size:10px;text-transform:uppercase;letter-spacing:1px;margin:22px 0 9px;color:var(--muted)}.en-help-toc button{display:block;border:0;background:none;text-align:left;font:inherit;font-size:12px;line-height:1.45;color:var(--text);padding:7px 4px;cursor:pointer}.en-help-toc button:hover{color:var(--accent)}.en-help-article{margin:0 0 22px;scroll-margin-top:90px}.en-help-article h2{font-size:22px;letter-spacing:-.4px;line-height:1.35;margin:14px 0}.en-help-article p,.en-help-article li{font-size:14px;line-height:1.8}.en-help-article ol{padding-left:23px}.en-help-article li{padding-left:6px;margin:12px 0}.en-help-tips{background:var(--bg);border-left:3px solid var(--accent);padding:12px 20px;border-radius:5px;margin-top:20px}.en-help-tips p{font-size:12px;margin:6px 0}[data-help-count]{display:block;padding-top:8px;font-size:12px}.en-consent{margin-top:26px}.en-consent button{margin:8px 8px 0 0}.en-passport-find{margin:20px 0}.en-passport-find input{width:100%;padding:12px;margin-bottom:12px;border:1px solid var(--border);border-radius:8px}
@media(max-width:900px){.en-workflow-step{grid-template-columns:1fr 1fr}.en-help-layout{grid-template-columns:1fr}.en-help-toc{position:static;max-height:200px;border:1px solid var(--border);padding:14px;border-radius:10px}.en-help-hero{padding:22px}}
@media print{body.print-help .sidebar,body.print-help .topbar,body.print-help .en-help-toc,body.print-help .en-help-hero,body.print-help .heading-actions{display:none!important}body.print-help .shell{margin:0!important}body.print-help .en-help-layout{display:block}body.print-help .en-help-article{display:block!important;break-inside:avoid}body.print-help .main{padding:0!important}body.print-help .en-help-article[hidden]{display:block!important}}
.en-label-preview{border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;align-items:center;gap:25px;background:#fff;color:#192335;max-width:500px;margin:12px auto}.en-label-preview svg{width:180px;height:180px}

/* Customer workspace refinements */
.footer-version{display:block;font-size:10px;line-height:1.8;color:var(--muted)}
.footer{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.auth-aside{background:#050d29 url('/assets/login-waves.webp') center bottom/cover no-repeat;isolation:isolate}
.auth-aside::after{inset:0;width:auto;height:auto;border:0;border-radius:0;box-shadow:none;background:linear-gradient(180deg,rgba(4,10,31,.25) 20%,rgba(4,10,31,.4) 65%,rgba(4,10,31,.65));z-index:-1}
.auth-aside>p,.auth-line{color:#d1ddfa}.auth-aside>small{color:#bdcce8}.auth-aside .footer-version{color:#9faed5}.auth-platform{visibility:hidden;min-height:100px}
.location-option-flag{font-size:21px;line-height:1;flex:none;margin-right:10px}.location-options [role=option]{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;gap:0}.location-option-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start}.country-input-wrap{position:relative}.country-input-wrap input{padding-left:42px!important}.country-selected-flag{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:20px;pointer-events:none}
/* Data workspace */
.ct-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:16px}.ct-toolbar label{display:grid;gap:6px;font-size:11px;color:var(--muted)}.ct-toolbar input,.ct-toolbar select{min-height:38px;max-width:220px}.ct-grid{max-height:65vh;overflow:auto}.ct-grid thead{position:sticky;top:0;z-index:1;background:var(--surface)}.ct-grid td{padding:8px}.ct-cell{min-width:155px;width:100%;border:1px solid transparent;background:transparent;border-radius:5px;padding:9px;color:var(--text)}.ct-cell:focus{border-color:var(--accent);background:var(--surface)}.ct-cell.changed{background:color-mix(in srgb,var(--accent) 10%,var(--surface));border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.ct-value{max-width:450px;max-height:180px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.ct-summary{padding:18px 0;color:var(--muted)}.ct-summary strong{font-size:27px;color:var(--text);margin-right:8px}.ct-toolbar+.notice{font-size:12px}.st-panel td small{display:block;margin-top:5px;color:var(--muted)}.draft-status{display:flex;align-items:center;gap:8px;padding:12px 14px;margin:0 0 20px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:8px;font-size:12px}.draft-status>span{flex:1}.search-result{gap:14px}.search-result-copy{flex:1;min-width:0}.search-product-image{width:44px;height:44px;border-radius:9px;border:1px solid var(--line);background:var(--surface-subtle);display:grid;place-items:center;overflow:hidden;flex:none}.search-product-image img{width:100%;height:100%;object-fit:cover}.search-product-image svg{width:23px;height:23px;color:var(--muted)}
/* Airy login illustration with a quiet, high-contrast copy area. */
.auth-aside{background:#e8f0fc url('/assets/login-waves-light.webp') center bottom/cover no-repeat;color:#193152}
.auth-aside::before{opacity:0}.auth-aside::after{background:linear-gradient(180deg,rgba(245,250,255,.8) 0%,rgba(241,247,255,.75) 46%,rgba(236,244,255,.35) 78%,rgba(236,244,255,.84) 100%)}
.auth-aside h1{color:#122b4c;font-weight:550;text-shadow:0 1px 0 #ffffff80}.auth-aside>p,.auth-aside .auth-line{color:#254463}.auth-aside .brand,.auth-aside .brand-wordmark,.auth-aside .brand-wordmark span{color:#173550}.auth-aside .brand-icon{color:#fff}.auth-aside>.eyebrow{color:#38557b}.auth-aside .auth-line{border-bottom-color:#16365724}.auth-aside .auth-line svg{color:#345dbe}.auth-aside>small,.auth-aside .footer-version{color:#284766}.auth-aside .auth-lines{padding:4px 14px;border-radius:12px;background:#f4f8ffe3;backdrop-filter:blur(8px)}
@media(max-width:800px){.ct-toolbar{align-items:stretch}.ct-toolbar label{flex:1 1 150px}.ct-grid{max-height:60vh}.draft-status{flex-wrap:wrap}.auth-aside .auth-lines{backdrop-filter:none}}
/* Category-specific passport requirements */
.requirement-profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px;margin-top:20px}
.requirement-profile-card{padding:24px;display:flex;flex-direction:column;gap:12px}.requirement-profile-card h3,.requirement-profile-card p{margin:0}.requirement-profile-card p{color:var(--muted);line-height:1.6}.requirement-profile-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:13px}.requirement-profile-card dt{color:var(--muted)}.requirement-profile-card dd{margin:0;text-align:right}.requirement-profile-card>.actions{margin-top:auto}
.requirement-product-notice{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;padding:18px 22px;background:var(--accent-soft);border:1px solid var(--border);border-radius:12px;margin-bottom:18px}.requirement-product-notice>div{display:grid;gap:5px;flex:1}.requirement-product-notice span:not(.tag),.requirement-product-notice small{color:var(--muted);font-size:12px}.requirement-product-notice>small,.requirement-product-notice>details{flex-basis:100%}.requirement-product-notice summary{cursor:pointer;font-size:13px}.requirement-product-notice li{margin:6px 0;font-size:12px}
.requirement-badge{display:inline-flex;align-items:center;border-radius:5px;padding:4px 7px;font-size:10px;font-weight:650;letter-spacing:.015em;line-height:1.3;width:max-content}.requirement-legal{color:#6636b0;background:#f0e9fa}.requirement-company{color:#2459b6;background:#eaf1ff}.requirement-optional{color:var(--muted);background:var(--surface-subtle)}
.requirement-field-note{display:flex;flex-wrap:wrap;gap:7px 12px;align-items:center;margin-bottom:9px}.requirement-field-note small{font-size:11px;color:var(--muted);line-height:1.6}.requirement-editor-field{padding:12px 0;border-bottom:1px solid var(--border)}.requirement-editor-field:last-child{border:0}.requirement-value-field{min-width:0}.requirement-value-field .technical-fact{height:auto;min-height:140px}.requirement-value-field:has(.material-section){grid-column:1/-1}
.requirement-dialog{max-width:1000px}.requirement-categories,.requirement-audiences{border:1px solid var(--border);border-radius:10px;padding:14px;display:flex;flex-wrap:wrap;gap:12px 22px;margin:18px 0}.requirement-categories legend,.requirement-audiences legend{padding:0 6px;font-weight:600;font-size:12px}.requirement-categories label,.requirement-audiences label{display:flex;gap:7px;align-items:center;font-size:12px}.requirement-categories input,.requirement-audiences input,.requirement-rule summary input{width:15px;height:15px;min-height:0;accent-color:var(--accent)}.requirement-audiences small{width:100%;color:var(--muted);font-size:11px}
.requirement-rules{max-height:440px;overflow:auto;border:1px solid var(--border);border-radius:10px;overscroll-behavior:contain}.requirement-rule{border-bottom:1px solid var(--border)}.requirement-rule:last-child{border:0}.requirement-rule>summary{display:flex;align-items:center;gap:12px;padding:15px 16px;cursor:pointer;background:var(--surface-subtle)}.requirement-rule>summary::after{content:'+';margin-left:auto;color:var(--muted)}.requirement-rule[open]>summary::after{content:'−'}.requirement-rule summary label{display:flex;gap:10px;align-items:center;font-size:13px;font-weight:550}.requirement-rule summary>span:not(.requirement-badge){font-size:11px;color:var(--muted)}.requirement-rule-body{padding:16px 20px}.requirement-preview-summary{padding:20px;border:1px solid var(--border);border-radius:12px;margin-bottom:18px;background:var(--surface-subtle)}
[data-theme=dark] .requirement-legal{color:#d8c4ff;background:#36284c}[data-theme=dark] .requirement-company{color:#b8cfff;background:#233750}
@media(max-width:650px){.requirement-rule summary{flex-wrap:wrap}.requirement-rule summary>span:not(.requirement-badge){display:none}.requirement-profile-grid{grid-template-columns:1fr}.requirement-product-notice{padding:14px}.requirement-rule-body{padding:14px}}

.requirement-profile-card .section-heading{margin:0;padding:0;border:0;min-height:0}
.product-dialog .technical-tabs{display:flex;flex-direction:column;min-height:0}
.product-dialog .technical-tabs-layout{flex:1;min-height:0;height:auto;overflow:hidden}
.product-dialog .requirement-product-notice{flex-shrink:0;margin:0;max-height:160px;overflow:auto;border-radius:0;padding:14px 22px;border-width:1px 0;gap:7px 18px}
.product-dialog-form>.draft-status{flex-shrink:0;margin:0;border-radius:0;border-width:0 0 1px;padding:7px 16px;font-size:10px}

/* Consistent empty states, including administration panels. */
.empty>svg{width:32px;height:32px;flex:none;color:var(--muted);margin-bottom:14px}
.sidebar-footer{color:var(--nav-muted);font-size:9px;line-height:1.7;padding:12px 9px 0;overflow-wrap:anywhere}
.sidebar-footer span{display:block;max-width:185px}
.dashboard-inline-date{display:inline-block;color:var(--ink);font-weight:550;margin-left:5px}
.dashboard-inline-date:before{content:"·";color:var(--muted);margin-right:8px}
.en-workflow-step-head{grid-column:1/-1;display:flex;align-items:center;gap:10px}
.en-workflow-step-head>span{font-size:11px;color:var(--muted);flex:1}
.en-workflow-step .reorder-handle{position:static;flex:none}
.en-workflow-step .actions{margin:0}
.en-workflow-step{position:relative}

/* Workspace branding preserves wide and transparent logos without cropping. */
.workspace-icon img,.workspace-choice-icon img{display:block;width:100%;height:100%;object-fit:contain;border-radius:5px}
.workspace-icon:has(img){padding:3px;background:var(--surface)}
.workspace-choice-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;padding:4px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}
.workspace-choice-icon svg{width:20px;height:20px}
.workspace-logo-settings{display:flex;align-items:center;gap:24px;padding:8px 0 28px;margin-bottom:28px;border-bottom:1px solid var(--border)}
.workspace-logo-preview{display:grid;place-items:center;flex:none;width:104px;height:104px;padding:12px;border:1px solid var(--border);border-radius:16px;background:var(--surface-subtle);color:var(--accent)}
.workspace-logo-preview img{width:100%;height:100%;object-fit:contain}
.workspace-logo-preview svg{width:34px;height:34px}
.workspace-logo-controls{min-width:0;flex:1}
.workspace-logo-controls>label{font-size:14px;font-weight:600}
.workspace-logo-controls>p{color:var(--muted);font-size:12px;line-height:1.65;margin:6px 0 14px;max-width:580px}
.workspace-logo-controls .inline-input{flex-wrap:wrap}
.workspace-logo-controls input[type=file]{max-width:340px;min-width:0}
.workspace-logo-controls .form-error:empty{display:none}
#dialog .st-carbon-methodology{margin:18px 0 30px;line-height:1.8;overflow-wrap:anywhere}
@media(max-width:600px){.workspace-logo-settings{align-items:flex-start;flex-direction:column;gap:16px}.workspace-logo-controls{width:100%}.workspace-logo-controls input[type=file]{width:100%;max-width:none;flex-basis:100%}}
/* Public passport: product first, published key facts, in-page section navigation. */
.public-hero .public-product-gallery{margin:0 0 24px}
.public-hero .badge-row{margin-top:-4px}
.public-hero .public-description{margin:20px 0 0;overflow-wrap:anywhere}
.public-description a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.public-page{overflow-wrap:anywhere}
.public-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:22px 0 0}
.public-facts>div{background:var(--surface-subtle,var(--bg));border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;min-width:0}
.public-facts dt{font-size:11px;color:var(--muted);letter-spacing:.02em}
.public-facts dd{margin:4px 0 0;font-size:18px;font-weight:650;color:var(--text);font-variant-numeric:tabular-nums}
.public-facts dd small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:2px}
.public-section-nav{position:sticky;top:0;z-index:5;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:22px -4px 0;padding:10px 4px;background:var(--bg);border-bottom:1px solid var(--border)}
.public-section-nav::-webkit-scrollbar{display:none}
.public-section-nav a{flex:none;padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:12px;text-decoration:none;white-space:nowrap}
.public-section-nav a:hover,.public-section-nav a:focus-visible{border-color:var(--accent);color:var(--accent)}
.st-public-body [data-passport-section]{scroll-margin-top:64px}
@media(max-width:600px){.public-page{padding:24px 16px}.public-hero{padding:20px}.public-facts{grid-template-columns:1fr 1fr}.public-facts dd{font-size:16px}}
.public-data-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin:6px 0 0;font-size:11px}
.public-data-links a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.public-data-links a:hover{color:var(--accent)}
/* Requirement library */
.requirement-pack{border:1px solid var(--border);border-radius:var(--radius);padding:22px;display:grid;gap:14px;background:var(--surface)}
.requirement-pack-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.requirement-pack-head h3{margin:0 0 4px}.requirement-pack-head p{margin:0;color:var(--muted);font-size:12px}
.requirement-pack-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:0}
.requirement-pack-facts>div{background:var(--surface-subtle);border:1px solid var(--border);border-radius:10px;padding:10px 12px}
.requirement-pack-facts dt{font-size:11px;color:var(--muted)}.requirement-pack-facts dd{margin:2px 0 0;font-weight:650;font-variant-numeric:tabular-nums}
.requirement-pack-scope{margin:0;font-size:13px;line-height:1.6}
.requirement-pack-sections ul{margin:8px 0 0;padding-left:18px;font-size:12px;line-height:1.7;color:var(--muted)}
.requirement-pack-sections b{color:var(--text)}
.requirement-pack .notice{margin:0}
.public-unit{margin:18px 0 0;padding:14px 16px;border:1px solid var(--accent);border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 6%,var(--surface))}
.public-unit .eyebrow{display:block;margin-bottom:8px;color:var(--accent)}
.public-unit dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px 16px;margin:0}
.public-unit dt{font-size:11px;color:var(--muted)}.public-unit dd{margin:2px 0 0;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}

/* Fieldwork app: an individual battery found by serial number or scanned unit QR */
.field-unit{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.field-unit-action{color:var(--accent);font-weight:600;font-size:12.5px}

/* Knossa logo: two interlocking rings (indigo and teal), no background tile */
:root{--brand-ink:#4f5bd5;--brand-thread:#13957f}[data-theme=dark]{--brand-ink:#a9b1ff;--brand-thread:#3fe0bf}
.brand .brand-icon,.sidebar .brand-icon,.auth-aside .brand-icon{background:none}.brand .brand-icon{width:40px}.brand .brand-icon svg{width:40px;height:32px}
.auth-aside .brand-icon{--brand-ink:#4f5bd5;--brand-thread:#13957f}
.brand-wordmark,.sidebar .brand-wordmark,.auth-aside .brand-wordmark{gap:0;font-weight:650;letter-spacing:-.7px;color:var(--text)}.auth-aside .brand-wordmark{color:#172033}
