@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/assets/fonts/inter-latin-normal-400-700.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/assets/fonts/playfair-display-latin-normal-400-600.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400 500;
  font-display: swap;
  src: url('/assets/fonts/playfair-display-latin-italic-400-500.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --accent: #81d8d0;
  --accent-rgb: 79 209 197;
  --accent-contrast: #000000;
  --accent-text: #147d78;
  --accent-strong: #147d78;
  --accent-strong-rgb: 20 125 120;
  --accent-hover: #67d8ce;
  --accent-hover-contrast: #000000;
  --accent-soft: rgb(var(--accent-rgb) / 12%);
  --bg: #101418;
  --panel: #151a20;
  --panel-2: #11161c;
  --panel-3: #1b222b;
  --text: #eef3f7;
  --muted: #91a0ad;
  --line: #26313a;
  --teal: var(--accent);
  --blue: #6ea8fe;
  --orange: #f97345;
  --green: #7ddc9b;
  --warning: #c56a13;
  --warning-strong: #8b470b;
  --surface: #f4f7f8;
  --surface-2: #ffffff;
  --surface-3: #f8fafb;
  --ink: #17202a;
  --ink-muted: #667482;
  --border: #dbe3e8;
  --border-strong: #d7e1e7;
  --field-bg: #fbfdfe;
  --nav-bg: #ffffff;
  --nav-bg-2: #f8fafb;
  --nav-bg-3: #eef4f5;
  --nav-text: #17202a;
  --nav-muted: #667482;
  --nav-line: #dbe3e8;
  --switch-off-bg: #eef3f5;
  --switch-off-border: #b9c4cc;
  --switch-thumb: #ffffff;
  --switch-thumb-shadow: none;
  --radius: 8px;
  --shadow: none;
}

:root[data-theme="dark"] {
  --accent-text: #81d8d0;
  --accent-strong: #81d8d0;
  --accent-strong-rgb: 79 209 197;
  --bg: #080c10;
  --panel: #121820;
  --panel-2: #0d1218;
  --panel-3: #1a232d;
  --text: #f2f6f8;
  --muted: #9aa8b4;
  --line: #25313c;
  --warning: #f0a65a;
  --warning-strong: #ffc078;
  --surface: #0b1116;
  --surface-2: #111820;
  --surface-3: #151d26;
  --ink: #eef3f7;
  --ink-muted: #9aa8b4;
  --border: #263441;
  --border-strong: #324150;
  --field-bg: #0d141b;
  --nav-bg: #12171d;
  --nav-bg-2: #11161c;
  --nav-bg-3: #1b222b;
  --nav-text: #eef3f7;
  --nav-muted: #91a0ad;
  --nav-line: #26313a;
  --switch-off-bg: #20262c;
  --switch-off-border: #707982;
  --switch-thumb: #f4f7f8;
  --switch-thumb-shadow: none;
  --shadow: none;
  --surface-color: var(--surface);
  --surface-1: var(--surface);
  --surface-subtle: var(--surface-3);
  --surface-soft: var(--surface-3);
  --surface-muted: var(--surface-3);
  --border-color: var(--border);
  --text-strong: var(--ink);
  --text-muted: var(--ink-muted);
  --muted-color: var(--ink-muted);
  --ink-soft: var(--ink-muted);
  --accent-color: var(--accent);
  --focus: var(--accent);
  --success: var(--green);
  --danger: #df7868;
}

* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

html {
  min-height: 100%;
  background: var(--surface-2);
}

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 52% -9rem, rgb(var(--accent-rgb) / 10%), transparent min(46rem, 72vw)),
    var(--surface-2);
  background-attachment: fixed;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0;
}

:root[data-theme="dark"] body {
  background:
    radial-gradient(circle at 52% -9rem, rgb(var(--accent-rgb) / 16%), transparent min(48rem, 74vw)),
    var(--surface-2);
  background-attachment: fixed;
}

body.modal-scroll-locked {
  position: fixed;
  top: var(--modal-scroll-lock-top);
  left: var(--modal-scroll-lock-left);
  width: 100%;
  overflow: hidden;
  padding-right: var(--modal-scroll-lock-scrollbar);
}

body.route-pending .workspace .view {
  display: none !important;
}

button {
  font: inherit;
  cursor: pointer;
}

:where(a:link) {
  color: var(--accent-text);
}

:where(a:visited) {
  color: var(--accent-text);
  color: color-mix(in srgb, var(--accent-text) 72%, var(--ink));
}

/* Base visual para controles sem componente específico. */
:where(input:not([type]), input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="url"], input[type="tel"], input[type="search"], select, textarea) {
  width: 100%;
  min-height: 40px;
  border: 1px solid var(--border-strong);
  border-radius:0;
  padding: 0 12px;
  color: var(--ink);
  background: var(--field-bg);
  font: inherit;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.35;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

:where(textarea) {
  min-height: 96px;
  padding: 10px 12px;
  resize: vertical;
}

:where(select) {
  appearance: none;
  padding-right: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23667482' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px;
}

:where(select, select option, select optgroup) {
  color-scheme: light;
}

:where(select option, select optgroup) {
  color: var(--ink);
  background-color: var(--field-bg);
}

:root[data-theme="dark"] :where(select, select option, select optgroup) {
  color-scheme: dark;
}

body select:not([multiple]) {
  padding-right: 40px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23667482' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 16px !important;
}

:where(input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"], input[type="week"]) {
  padding-right: 8px;
  color-scheme: light;
}

:root[data-theme="dark"] :where(input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"], input[type="week"]) {
  color-scheme: dark;
}

:where(input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"], input[type="week"])::-webkit-calendar-picker-indicator {
  width: 18px;
  height: 18px;
  margin-left: 8px;
  padding: 5px;
  border-radius:0;
  opacity: .68;
  cursor: pointer;
  transition: opacity .16s ease, background-color .16s ease;
}

:where(input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"], input[type="week"]):is(:hover, :focus-within)::-webkit-calendar-picker-indicator {
  background-color: rgb(var(--accent-rgb) / 10%);
  opacity: 1;
}

:where(input:not([type]):focus, input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, input[type="number"]:focus, input[type="date"]:focus, input[type="time"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="url"]:focus, input[type="tel"]:focus, input[type="search"]:focus, select:focus, textarea:focus) {
  border-color: var(--teal);
  outline: 0;
  box-shadow: 0 0 0 3px rgb(var(--accent-rgb) / 16%);
}

label:has(> :is(input:not([type]), input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="url"], input[type="tel"], input[type="search"], select, textarea)) > span:first-child {
  display: block;
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
}

.app-shell {
  min-height: 100vh;
}

.responsive-menu-button {
  display: none;
}

.responsive-menu-layer {
  position: fixed;
  inset: 0;
  z-index: 45;
  pointer-events: none;
}

.responsive-menu-backdrop {
  display: none;
  cursor: default;
}

.responsive-menu-panel {
  position: absolute;
  top: 14px;
  left: 14px;
  width: min(360px, calc(100vw - 28px));
  max-height: calc(100vh - 28px);
  padding: 16px;
  border: 1px solid var(--nav-line);
  border-radius:0;
  background: var(--nav-bg);
  box-shadow: var(--shadow);
  overflow: auto;
  pointer-events: auto;
}

.responsive-nav {
  gap: 6px;
}

.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: 238px;
  min-height: 100vh;
  padding: 18px 5px;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--nav-line);
  background: var(--nav-bg);
  color: var(--nav-text);
}

.brand-region {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0 0 34px;
  padding: 11px 12px;
}

.brand {
  min-width: 0;
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  color: inherit;
  text-decoration: none;
}

.managed-business-view-slot {
  min-width: 0;
  margin-left: auto;
  flex: 0 1 auto;
}

.local-environment-badge {
  display: block;
  min-width: 56px;
  border: 0;
  border-radius:0;
  padding: 5px 9px;
  color: #7f1d1d;
  background: rgb(239 68 68 / 20%);
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-align: center;
}

:root[data-theme="dark"] .local-environment-badge {
  color: #fecaca;
  background: rgb(239 68 68 / 34%);
}

.managed-business-view-selector {
  position: static;
}

.sidebar:has(.managed-business-view-selector[open]) {
  z-index: 1400;
}

.managed-business-view-selector > summary {
  min-width: 56px;
  max-width: 108px;
  min-height: 24px;
  border: 0;
  padding: 5px 16px 5px 4px;
  position: relative;
  display: block;
  overflow: hidden;
  color: var(--nav-muted);
  background: transparent;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.2;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  list-style: none;
}

.managed-business-view-selector > summary::-webkit-details-marker {
  display: none;
}

.managed-business-view-selector > summary::after {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  position: absolute;
  top: 7px;
  right: 4px;
  transform: rotate(45deg);
  transition: transform .16s ease;
}

.managed-business-view-selector[open] > summary::after {
  top: 10px;
  transform: rotate(225deg);
}

.managed-business-view-selector > summary:focus-visible {
  outline: 2px solid var(--teal);
  outline-offset: 3px;
}

.managed-business-view-selector.is-local-runtime > summary {
  border-radius: 0;
  padding: 5px 20px 5px 9px;
  color: #7f1d1d;
  background: rgb(239 68 68 / 20%);
  font-weight: 900;
  text-align: center;
}

.managed-business-view-selector.is-local-runtime > summary::after {
  right: 8px;
}

:root[data-theme="dark"] .managed-business-view-selector.is-local-runtime > summary {
  color: #fecaca;
  background: rgb(239 68 68 / 34%);
}

.managed-business-view-popover {
  width: min(320px, calc(100vw - 28px));
  max-height: min(520px, calc(100vh - 90px));
  border: 1px solid var(--border-strong);
  border-radius: 0;
  padding: 14px;
  position: absolute;
  z-index: 70;
  top: 34px;
  left: 0;
  display: grid;
  gap: 10px;
  overflow: auto;
  color: var(--ink);
  background: color-mix(in srgb, var(--surface-2) 96%, transparent);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: var(--shadow);
  isolation: isolate;
  text-align: left;
}

.managed-business-view-popover > header {
  display: grid;
  gap: 3px;
}

.managed-business-view-popover > header strong {
  font-size: 14px;
}

.managed-business-view-popover > header small,
.managed-business-view-option small {
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.35;
}

.managed-business-view-options {
  max-height: 220px;
  display: grid;
  gap: 4px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.managed-business-view-option {
  min-width: 0;
  min-height: 36px;
  border-radius: 0;
  padding: 7px 8px;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: var(--ink);
  background: transparent;
  cursor: pointer;
}

.managed-business-view-option:hover {
  background: var(--surface-3);
}

.managed-business-view-option input {
  width: 17px;
  height: 17px;
  min-height: 17px;
  margin: 1px 0 0;
  flex: 0 0 17px;
  accent-color: var(--accent-strong);
}

.managed-business-view-option > span {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.managed-business-view-option strong {
  overflow-wrap: anywhere;
  font-size: 12px;
  line-height: 1.3;
}

.managed-business-view-all-option {
  border-bottom: 1px solid var(--border);
  border-radius: 0;
  padding-bottom: 10px;
  font-weight: 700;
}

.managed-business-view-empty,
.managed-business-view-feedback {
  margin: 0;
  color: var(--ink-muted);
  font-size: 11px;
  line-height: 1.4;
}

.managed-business-view-feedback:empty {
  display: none;
}

.managed-business-view-feedback[data-tone="error"] {
  color: #b4402f;
}

:root[data-theme="dark"] .managed-business-view-feedback[data-tone="error"] {
  color: #fca5a5;
}

.managed-business-view-more {
  justify-self: start;
  min-height: 32px;
  padding: 0 10px;
}

.managed-business-view-popover > footer {
  border-top: 1px solid var(--border);
  padding-top: 10px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.responsive-menu-button {
  border: 1px solid var(--border-strong);
  border-radius:0;
  color: var(--nav-muted);
  background: var(--surface-3);
  box-shadow: none;
}

.responsive-menu-button:hover,
.responsive-menu-button:focus-visible {
  color: var(--ink);
  border-color: var(--teal);
  background: rgb(var(--accent-rgb) / 12%);
}

.hamburger-icon,
.hamburger-icon::before,
.hamburger-icon::after {
  display: block;
  width: 22px;
  height: 3px;
  border-radius:0;
  background: currentColor;
}

.hamburger-icon {
  position: relative;
}

.hamburger-icon::before,
.hamburger-icon::after {
  content: "";
  position: absolute;
  left: 0;
}

.hamburger-icon::before {
  top: -7px;
}

.hamburger-icon::after {
  top: 7px;
}

.responsive-menu-open .hamburger-icon {
  background: transparent;
}

.responsive-menu-open .hamburger-icon::before {
  top: 0;
  transform: rotate(45deg);
}

.responsive-menu-open .hamburger-icon::after {
  top: 0;
  transform: rotate(-45deg);
}

.brand:focus-visible,
.nav-item:focus-visible,
.ghost-button:focus-visible,
.secondary-button:focus-visible,
.primary-button:focus-visible,
.danger-button:focus-visible {
  outline: 2px solid var(--teal);
  outline-offset: 3px;
}

.login-brand-mark {
  display: inline-grid;
  place-items: center;
  color: var(--ink);
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: -0.08em;
}

.brand-copy {
  display: grid;
  min-width: 0;
  gap: 1px;
}

.brand-copy strong {
  color: var(--nav-text);
  font-size: 20px;
  line-height: 1;
}

.brand-copy span {
  color: var(--nav-muted);
  font-size: 12px;
}

.nav {
  display: grid;
  align-content: start;
  gap: 4px;
}

.sidebar > .nav {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-color: var(--nav-line) transparent;
  scrollbar-width: thin;
}

.nav-item {
  width: 100%;
  min-width: 0;
  height: 38px;
  border: 0;
  border-radius:0;
  padding: 0 10px;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  color: var(--nav-muted);
  background: transparent;
  text-align: left;
  font-size: 13px;
  font-weight: 550;
  text-decoration: none;
}

.empty-nav {
  padding: 0 10px;
  color: var(--nav-muted);
  font-size: 12px;
  font-weight: 700;
}

.nav-label,
.nav-item span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nav-item:hover,
.nav-item.active {
  color: var(--nav-text);
  background: var(--nav-bg-3);
}

.nav-item.active {
  font-weight: 800;
}

.nav-group {
  display: grid;
  gap: 0;
}

.nav-parent {
  grid-template-columns: 22px minmax(0, 1fr) 14px;
  cursor: pointer;
}

.nav-group.active .nav-parent {
  color: var(--nav-text);
  background: var(--nav-bg-3);
  font-weight: 800;
}

.nav-children {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-4px);
  transition:
    grid-template-rows 220ms cubic-bezier(.2, .8, .2, 1),
    opacity 140ms ease,
    transform 220ms cubic-bezier(.2, .8, .2, 1),
    visibility 0s linear 220ms;
}

.nav-children-inner {
  display: grid;
  min-height: 0;
  overflow: hidden;
  gap: 2px;
  padding: 2px 0 0 18px;
}

.nav-group.expanded .nav-children {
  grid-template-rows: 1fr;
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0s;
}

.nav-arrow {
  display: grid;
  place-items: center;
  width: 14px;
  min-width: 14px;
  color: currentColor;
  font-size: 18px;
  line-height: 1;
  transform: rotate(0deg);
  transition: transform 160ms ease;
}

.nav-group.expanded .nav-arrow {
  transform: rotate(90deg);
}

.nav-child {
  height: 34px;
  font-size: 12px;
}

.nav-icon {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  color: currentColor;
  line-height: 1;
}

.nav-icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.nav-version {
  margin-top: 6px;
  cursor: default;
  color: var(--nav-muted);
  background: transparent;
  font-size: 12px;
  font-weight: 800;
}

.nav-version:hover {
  color: var(--nav-muted);
  background: transparent;
}

.nav-setting-toggle {
  margin-top: 2px;
  grid-template-columns: 40px minmax(0, 1fr);
  cursor: pointer;
  color: var(--nav-text);
  font-weight: 800;
}

.nav-setting-toggle:hover {
  background: transparent;
}

.nav-setting-toggle .permission-switch {
  transform: scale(0.84);
  transform-origin: left center;
}

.nav-performance-monitor {
  width: 100%;
  margin-top: 2px;
  border: 0;
  color: var(--nav-text);
  background: transparent;
  text-align: left;
}

.performance-monitor-popover {
  position: fixed;
  z-index: 70;
  width: min(460px, calc(100vw - 28px));
  max-height: calc(100vh - 36px);
  overflow: auto;
  border: 1px solid var(--nav-line);
  border-radius:0;
  padding: 16px;
  color: var(--nav-text);
  background: var(--nav-bg);
  box-shadow: var(--shadow);
}

.performance-monitor-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.performance-monitor-heading .eyebrow,
.performance-monitor-heading h2,
.performance-monitor-description {
  margin: 0;
}

.performance-monitor-heading h2 {
  margin-top: 3px;
  font-size: 18px;
}

.performance-monitor-description {
  margin-top: 10px;
  color: var(--nav-muted);
  font-size: 12px;
  line-height: 1.45;
}

.performance-monitor-popover .settings-feedback {
  display: block;
  margin: 10px 0;
}

.performance-monitor-results {
  display: grid;
  gap: 8px;
}

.performance-monitor-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: -2px 0 10px;
}

.performance-monitor-legend span {
  border: 1px solid transparent;
  border-radius:0;
  padding: 3px 7px;
  font-size: 9px;
  font-weight: 750;
}

.performance-monitor-legend .is-good,
.performance-monitor-metric.is-good,
.performance-monitor-app-latency.is-good {
  border-color: color-mix(in srgb, #22a35a 30%, transparent);
  color: color-mix(in srgb, #22a35a 72%, var(--nav-text));
  background: color-mix(in srgb, #22a35a 10%, var(--nav-bg));
}

.performance-monitor-legend .is-medium,
.performance-monitor-metric.is-medium,
.performance-monitor-app-latency.is-medium {
  border-color: color-mix(in srgb, #d5a000 34%, transparent);
  color: color-mix(in srgb, #b88400 76%, var(--nav-text));
  background: color-mix(in srgb, #e7b416 11%, var(--nav-bg));
}

.performance-monitor-legend .is-poor,
.performance-monitor-metric.is-poor,
.performance-monitor-app-latency.is-poor {
  border-color: color-mix(in srgb, #d84a4a 30%, transparent);
  color: color-mix(in srgb, #d84a4a 72%, var(--nav-text));
  background: color-mix(in srgb, #d84a4a 10%, var(--nav-bg));
}

.performance-monitor-result {
  display: grid;
  gap: 8px;
  border: 1px solid var(--nav-line);
  border-radius:0;
  padding: 10px;
  background: var(--nav-bg-2);
}

.performance-monitor-result.is-latest {
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--accent) 70%, transparent);
}

.performance-monitor-result.is-good {
  border-color: color-mix(in srgb, #22a35a 34%, var(--nav-line));
}

.performance-monitor-result.is-medium {
  border-color: color-mix(in srgb, #d5a000 38%, var(--nav-line));
}

.performance-monitor-result.is-poor {
  border-color: color-mix(in srgb, #d84a4a 34%, var(--nav-line));
}

.performance-monitor-result header,
.performance-monitor-result footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.performance-monitor-result header > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.performance-monitor-result header strong {
  font-size: 12px;
}

.performance-monitor-result header small {
  overflow: hidden;
  color: var(--nav-muted);
  font-size: 9px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.performance-monitor-result header span,
.performance-monitor-result footer {
  color: var(--nav-muted);
  font-size: 10px;
}

.performance-monitor-result header span {
  text-align: right;
}

.performance-monitor-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.performance-monitor-metric {
  min-width: 0;
  display: grid;
  gap: 2px;
  border: 1px solid transparent;
  border-radius:0;
  padding: 7px;
  background: var(--nav-bg);
}

.performance-monitor-metrics small {
  color: var(--nav-muted);
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

.performance-monitor-metrics strong {
  font-size: 11px;
  white-space: nowrap;
}

.performance-monitor-app-latency {
  border-radius:0;
  padding: 2px 5px;
}

.performance-monitor-breakdown {
  border-top: 1px solid var(--nav-line);
  padding-top: 7px;
  color: var(--nav-muted);
  font-size: 9px;
  line-height: 1.45;
}

.performance-monitor-metric.is-neutral,
.performance-monitor-app-latency.is-neutral {
  border-color: var(--nav-line);
  color: var(--nav-muted);
  background: var(--nav-bg);
}

.performance-monitor-clear {
  width: 100%;
  margin-top: 10px;
  justify-content: center;
}

.sidebar-footer {
  margin-top: auto;
  position: relative;
  padding: 8px;
  display: grid;
  gap: 8px;
  border: 1px solid var(--nav-line);
  border-radius:0;
  background: var(--nav-bg-2);
}

.sidebar-footer[hidden] {
  display: none;
}

.sidebar:has(.session-profile-popover:not([hidden])) {
  z-index: 1400;
}

.session-avatar-button {
  width: 100%;
  min-width: 0;
  border: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--nav-text);
  background: transparent;
  text-align: left;
}

.session-footer-version {
  color: var(--nav-muted);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
}

.session-avatar-name {
  min-width: 0;
  overflow: hidden;
  color: var(--nav-text);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .06em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.session-avatar,
.session-avatar-content,
.session-profile-photo-content {
  display: grid;
  place-items: center;
}

.session-avatar-content {
  width: 42px;
  height: 42px;
  border: 1px solid var(--nav-line);
  border-radius: 50%;
  color: var(--nav-text);
  background: var(--nav-bg-3);
  overflow: hidden;
  font-size: 13px;
  font-weight: 900;
}

.session-avatar-content img,
.session-profile-photo-content img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.session-profile-popover {
  position: absolute;
  left: 0;
  bottom: calc(100% + 10px);
  z-index: 70;
  width: min(286px, calc(100vw - 28px));
  padding: 14px;
  display: grid;
  gap: 14px;
  border: 1px solid var(--nav-line);
  border-radius:0;
  color: var(--ink);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.session-profile-popover[hidden] {
  display: none;
}

.session-profile-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  justify-items: center;
  text-align: center;
}

.session-profile-photo {
  width: 88px;
  height: 88px;
  border: 1px solid var(--border-strong);
  border-radius: 50%;
  padding: 0;
  background: var(--surface-3);
  overflow: hidden;
}

.session-profile-photo:disabled {
  cursor: default;
}

.session-profile-photo-content {
  width: 100%;
  height: 100%;
  color: var(--ink);
  font-size: 24px;
  font-weight: 900;
}

.session-profile-info {
  min-width: 0;
  display: grid;
  gap: 4px;
  justify-items: center;
  text-align: center;
}

.session-profile-info strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.15;
}

.session-profile-info span,
.session-profile-info small {
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.session-profile-actions {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: stretch;
}

.session-profile-link {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.session-profile-link-icon {
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
}

.session-profile-link-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.session-profile-report,
.session-profile-logout {
  width: 44px;
  min-width: 44px;
  height: auto;
  min-height: 44px;
  padding: 0;
}

.session-profile-report {
  color: var(--orange);
}

.session-profile-report svg,
.session-profile-logout svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.workspace {
  min-height: 100vh;
  margin-left: 238px;
  padding: 10px 20px 44px;
}

.login-screen-active {
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 8%, rgb(var(--accent-rgb) / 16%), transparent 20rem),
    var(--surface);
}

.login-screen-active .sidebar,
.login-screen-active .topbar {
  display: none;
}

.login-screen-active .app-shell {
  padding-top: 0;
}

.login-screen-active .workspace {
  min-height: 100vh;
  margin-left: 0;
  padding: 0;
}

.topbar {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.eyebrow {
  margin: 0 0 6px;
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.slug-chip {
  min-height: 20px;
  max-width: 100%;
  padding: 3px 6px;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  border: 1px solid var(--border-strong);
  border-radius:0;
  color: #49606f;
  background: #eef5f6;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 10px;
  font-weight: 850;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

:root[data-theme="dark"] .slug-chip {
  color: #d9f7f4;
  border-color: rgb(var(--accent-rgb) / 45%);
  background: rgb(var(--accent-rgb) / 16%);
}

.hide-slugs .slug-chip {
  display: none;
}

.hide-slugs .slug-only {
  display: none;
}

h1,
h2,
p {
  margin-top: 0;
}

h1 {
  margin-bottom: 0;
  color: var(--ink);
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.1;
}

h2 {
  margin-bottom: 0;
  color: var(--ink);
  font-size: 19px;
  line-height: 1.2;
}

.topbar-actions {
  height: 38px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--border);
  border-radius:0;
  color: var(--ink-muted);
  background: var(--surface-2);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.topbar-actions.ready {
  color: var(--ink);
  border-color: rgb(var(--accent-rgb) / 45%);
  background: rgb(var(--accent-rgb) / 12%);
}

.status-dot {
  width: 8px;
  height: 8px;
  border-radius:0;
  background: var(--green);
  box-shadow: 0 0 0 4px rgb(125 220 155 / 18%);
}

.hero-band {
  margin-top: 10px;
  min-height: 138px;
  padding: 24px;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(240px, 0.7fr);
  align-items: end;
  gap: 24px;
  border: 1px solid var(--border);
  border-radius:0;
  color: var(--ink);
  background: var(--surface-2);
  box-shadow: var(--shadow);
}

.hero-band .eyebrow,
.hero-band p {
  color: var(--ink-muted);
}

.hero-band h2 {
  color: var(--ink);
  font-size: clamp(24px, 3vw, 34px);
}

.hero-band p {
  margin-bottom: 0;
  max-width: 620px;
  line-height: 1.55;
}

.view {
  display: block;
}

.login-view,
.initial-setup-view {
  min-height: 100vh;
  display: grid;
  align-content: center;
  place-items: center;
  gap: 16px;
  padding: 40px 18px;
  color: var(--ink);
}

.initial-setup-panel {
  width: min(620px, 100%);
}

.initial-setup-heading {
  display: grid;
  gap: 8px;
  text-align: center;
}

.initial-setup-heading .eyebrow,
.initial-setup-heading p,
.initial-setup-heading h2 {
  margin: 0;
}

.initial-setup-heading p:last-child {
  color: var(--ink-muted);
  line-height: 1.5;
}

.initial-setup-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.initial-setup-form > :first-child,
.initial-setup-form > .ghost-button {
  grid-column: 1 / -1;
}

.login-panel {
  width: min(500px, 100%);
  margin: 0 auto;
  padding: 58px 46px 36px;
  display: grid;
  gap: 20px;
  border: 1px solid var(--border-strong);
  border-radius:0;
  background: var(--surface-2);
  box-shadow:none;
}

.login-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
}

.login-brand img {
  width: 130px;
  height: 80px;
  object-fit: contain;
}

.login-panel h2 {
  margin: 0;
  color: var(--ink);
  font-size: 24px;
  font-weight: 900;
  text-align: center;
}

.login-panel p {
  margin: 6px 0 0;
  color: #95a2ad;
}

.auth-panel {
  margin-top: 20px;
  padding: 16px;
  display: grid;
  grid-template-columns: minmax(210px, 0.45fr) minmax(0, 1fr);
  align-items: end;
  gap: 16px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-2);
}

.login-form {
  display: grid;
  grid-template-columns: minmax(160px, 1fr);
  align-items: end;
  gap: 16px;
}

.login-field {
  position: relative;
  display: grid;
  gap: 0;
}

.login-field span {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 16px;
  transform: translateY(-50%);
  color: var(--ink-muted);
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  pointer-events: none;
  transition: top 140ms ease, font-size 140ms ease, color 140ms ease, transform 140ms ease;
}

.login-field:focus-within span,
.login-field:has(input:not(:placeholder-shown)) span {
  top: 11px;
  transform: translateY(0);
  color: var(--accent-text);
  font-size: 12px;
}

.login-form input {
  width: 100%;
  height: 64px;
  border: 1px solid var(--border-strong);
  border-radius:0;
  padding: 24px 16px 8px;
  color: var(--ink);
  background: var(--field-bg);
  font: inherit;
  font-size: 17px;
  font-weight: 850;
}

.login-form input:focus {
  border-color: var(--teal);
  outline: 0;
  box-shadow: 0 0 0 2px rgb(var(--accent-rgb) / 18%);
}

.password-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 52px;
  gap: 0;
}

.password-field input {
  border-radius:0;
}

.icon-button {
  width: 52px;
  height: 64px;
  border: 1px solid var(--border-strong);
  border-left: 0;
  border-radius:0;
  background: var(--field-bg);
  color: var(--ink-muted);
  font: inherit;
  cursor: pointer;
}

.icon-button svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}

.login-form .password-field {
  position: relative;
  display: block;
}

.login-form .password-field input {
  border-radius: var(--radius);
  padding-right: 68px;
}

.login-form .password-field .icon-button {
  position: absolute;
  right: 1px;
  bottom: 1px;
  height: 62px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.login-form .password-field .icon-button:focus-visible {
  outline: 2px solid var(--accent-text);
  outline-offset: -4px;
}

.login-form > .ghost-button {
  height: 54px;
  margin-top: 4px;
  justify-content: center;
  border-color: var(--teal);
  color: var(--accent-contrast);
  background: var(--teal);
  font-size: 16px;
  font-weight: 950;
}

.login-back-button {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  justify-self: center;
  border: 0;
  border-radius: var(--radius);
  background: transparent;
  color: var(--ink-muted);
}

.login-back-button:focus-visible {
  outline: 2px solid var(--accent-text);
}

.login-panel #loginCodeHint {
  color: var(--ink-muted);
  font-size: 14px;
  line-height: 1.4;
}

.login-feedback {
  min-height: 20px;
  color: #f97345;
  font-weight: 800;
  text-align: center;
}

.login-copyright {
  margin: 0;
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 900;
  text-align: center;
  white-space: nowrap;
}

@media (max-width: 680px) {
  .initial-setup-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .initial-setup-form > :first-child,
  .initial-setup-form > .ghost-button {
    grid-column: auto;
  }
}

.session-card {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.session-card span {
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

.entity-grid {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(6, minmax(130px, 1fr));
  gap: 12px;
}

.entities-view {
  margin-top: 10px;
}

.form-renderer-view {
  margin-top: 10px;
}

.entity-summary-grid {
  margin-bottom: 20px;
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 12px;
}

.entity-total-card {
  min-height: 116px;
  padding: 16px;
  display: grid;
  align-content: space-between;
  gap: 10px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-2);
}

.entity-total-card span,
.entity-total-card small {
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 800;
}

.entity-total-card strong {
  color: var(--ink);
  font-size: 26px;
  line-height: 1;
}

.entity-inventory-panel,
.entity-detail-panel,
.settings-control-panel,
.people-directory-panel {
  padding: 18px;
}

.entity-detail-panel,
.settings-control-panel {
  margin-top: 20px;
}

.settings-control-panel {
  margin-bottom: 20px;
}

.people-directory-panel {
  margin-top: 18px;
}

.people-directory-controls {
  margin-bottom: 16px;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(180px, 260px);
  gap: 14px;
  align-items: end;
}

.directory-pagination {
  min-height: 38px;
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.directory-pagination-summary {
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 800;
}

.directory-pagination-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.directory-pagination-controls button {
  min-width: 34px;
  height: 34px;
  border: 1px solid var(--border-strong);
  border-radius:0;
  padding: 0 10px;
  background: var(--surface-2);
  color: var(--ink);
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.directory-pagination-controls button:hover:not(:disabled),
.directory-pagination-controls button:focus-visible,
.directory-pagination-controls button.current {
  border-color: var(--accent-strong);
  background: var(--accent-soft);
}

.directory-pagination-controls button:disabled {
  cursor: default;
  opacity: .45;
}

.directory-pagination-ellipsis {
  min-width: 18px;
  color: var(--ink-muted);
  text-align: center;
}

.people-filter {
  display: grid;
  gap: 6px;
}

.people-filter span {
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 900;
}

.people-filter input,
.people-filter select,
.people-filter textarea {
  width: 100%;
  border: 1px solid var(--border-strong);
  border-radius:0;
  padding: 0 10px;
  color: var(--ink);
  background: var(--surface-2);
  font: inherit;
  font-size: 13px;
  font-weight: 750;
}

.people-filter input,
.people-filter select {
  height: 38px;
}

.people-filter textarea {
  min-height: 74px;
  padding: 10px;
  resize: vertical;
}

.people-filter input:focus,
.people-filter select:focus,
.people-filter textarea:focus {
  outline: 2px solid var(--teal);
  outline-offset: 2px;
}

.people-filter input.field-error {
  border-color: var(--danger);
  outline: 2px solid color-mix(in srgb, var(--danger) 35%, transparent);
}

.people-table td {
  vertical-align: middle;
}

.people-table .options-column,
.people-table .options-cell {
  width: 172px;
  text-align: right;
}

.people-table .options-cell {
  white-space: nowrap;
}

.people-table .options-cell .icon-only-button + .icon-only-button {
  margin-left: 6px;
}

.people-table .whatsapp-button:hover,
.people-table .whatsapp-button:focus-visible {
  color: #128c4a;
  border-color: #25d366;
  background: #effcf4;
}

.whatsapp-fallback-layer {
  position: fixed;
  left: 50%;
  bottom: 22px;
  z-index: 121;
  width: min(560px, calc(100vw - 28px));
  transform: translateX(-50%);
  pointer-events: none;
}

.whatsapp-fallback-toast {
  min-height: 64px;
  padding: 12px 12px 12px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid var(--border-strong);
  border-left: 4px solid #25d366;
  border-radius:0;
  color: var(--ink);
  background: var(--surface-2);
  box-shadow:none;
  pointer-events: auto;
}

.whatsapp-fallback-toast strong,
.whatsapp-fallback-toast span {
  display: block;
}

.whatsapp-fallback-toast strong {
  font-size: 13px;
  font-weight: 900;
}

.whatsapp-fallback-toast span {
  margin-top: 2px;
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 750;
}

.whatsapp-fallback-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.whatsapp-fallback-actions .ghost-button {
  min-height: 34px;
  white-space: nowrap;
}

.whatsapp-fallback-actions [data-action='close-whatsapp-fallback'] {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius:0;
  color: var(--ink-muted);
  background: transparent;
}

.whatsapp-fallback-actions [data-action='close-whatsapp-fallback'] svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}

.whatsapp-fallback-actions [data-action='close-whatsapp-fallback']:hover,
.whatsapp-fallback-actions [data-action='close-whatsapp-fallback']:focus-visible {
  color: var(--ink);
  background: var(--surface-3);
}

@media (max-width: 640px) {
  .whatsapp-fallback-toast {
    align-items: stretch;
    flex-direction: column;
  }

  .whatsapp-fallback-actions {
    justify-content: space-between;
  }
}

.operational-catalog-items-table th:first-child,
.operational-catalog-items-table td:first-child {
  min-width: 360px;
  white-space: nowrap;
}

.operational-catalog-items-table td:first-child strong {
  white-space: nowrap;
}

.project-type-link-count {
  text-align: center;
}

.project-types-table th:first-child,
.project-types-table td:first-child {
  min-width: 260px;
}

.project-type-organization-cell {
  min-width: 170px;
  white-space: nowrap;
}

.project-type-soft-cell {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.35;
}

.person-display-name,
.person-legal-name {
  display: block;
}

.person-name-cell {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.person-avatar {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border-strong);
  border-radius: 50%;
  color: var(--ink);
  background: var(--surface-3);
  object-fit: cover;
  font-size: 12px;
  font-weight: 900;
}

.person-display-name {
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}

.person-legal-name,
.muted-cell {
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 750;
}

.people-function-list {
  display: inline;
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.45;
}

.icon-only-button {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--border-strong);
  border-radius:0;
  color: var(--ink-muted);
  background: var(--surface-3);
}

.icon-only-button:hover,
.icon-only-button:focus-visible {
  color: var(--ink);
  border-color: var(--teal);
  background: rgb(var(--accent-rgb) / 12%);
}

.icon-only-button.danger:hover,
.icon-only-button.danger:focus-visible {
  color: #b42318;
  border-color: #f2a6a0;
  background: #fff1f0;
}

.icon-only-button svg {
  width: 17px;
  height: 17px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.close-icon-button {
  flex: 0 0 auto;
}

.settings-control-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.settings-page-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.settings-collapse-all-button svg {
  transform: rotate(-90deg);
}

.view[data-view="settings"] > .settings-collapsible-section {
  margin-block: 0;
  padding: 12px 16px;
}

.view[data-view="settings"] > .settings-collapsible-section + .settings-collapsible-section {
  margin-top: 12px;
}

.settings-collapsible-section > .section-heading {
  align-items: flex-start;
}

.settings-collapsible-section[data-collapsed="true"] > .section-heading {
  margin-bottom: 0;
}

.settings-collapsible-section[data-collapsed="true"] > .section-heading > div > p:not(.eyebrow) {
  display: none;
}

.settings-collapsible-section[data-collapsed="true"] > :not(.section-heading) {
  display: none;
}

.settings-collapse-toggle {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border: 1px solid var(--border-strong);
  background: var(--surface-3);
}

.settings-section-title-control {
  min-width: 0;
  cursor: pointer;
}

.settings-section-title-control:focus-visible {
  border-radius:0;
  outline: 2px solid var(--teal);
  outline-offset: 4px;
}

.view[data-view="settings"] .entity-summary-grid {
  margin-bottom: 12px;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 8px;
}

.view[data-view="settings"] .entity-total-card {
  min-height: 64px;
  padding: 10px 12px;
  gap: 4px;
}

.view[data-view="settings"] .entity-total-card strong {
  font-size: 20px;
}

.view[data-view="settings"] .entity-total-card span,
.view[data-view="settings"] .entity-total-card small {
  font-size: 11px;
}

.view[data-view="settings"] .entity-records,
.view[data-view="settings"] .system-list-grid,
.view[data-view="settings"] .form-section-list {
  gap: 8px;
}

.view[data-view="settings"] .record-group header,
.view[data-view="settings"] .system-list-card header,
.view[data-view="settings"] .form-section-card header {
  min-height: 38px;
}

.view[data-view="settings"] .record-list dl {
  padding: 10px 12px;
  gap: 8px 12px;
}

.view[data-view="settings"] .system-list-card p {
  padding: 10px 12px;
}

.view[data-view="settings"] .option-pills {
  padding: 0 12px 10px;
}

.toggle-row {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 850;
}

.toggle-row input {
  width: 18px;
  height: 18px;
  accent-color: var(--teal);
}

.settings-feedback {
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 800;
}

.operational-integrity-summary {
  margin-top: 14px;
}

.operational-integrity-table td:first-child,
.operational-integrity-table th:first-child {
  width: 48px;
  text-align: center;
}

.operational-integrity-table td strong,
.operational-integrity-table td small {
  display: block;
}

.operational-integrity-table td small {
  margin-top: 3px;
  color: var(--ink-muted);
}

.operational-integrity-issues {
  display: grid;
  gap: 5px;
}

.operational-integrity-issue {
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 750;
}

.operational-integrity-issue.blocked {
  color: var(--danger);
}

.operational-catalog-feedback {
  max-width: min(360px, 38vw);
  overflow: hidden;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hide-operational-feedback .operational-catalog-feedback {
  display: none;
}

.import-export-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(320px, 1.1fr);
  gap: 18px;
  align-items: start;
}

.administrative-updates-panel {
  display: grid;
  gap: 16px;
  margin-bottom: 18px;
  padding: 18px;
}

.administrative-update-import {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 12px;
  align-items: end;
}

.administrative-update-batches,
.administrative-update-detail,
.administrative-update-items {
  display: grid;
  gap: 10px;
}

.administrative-update-batch,
.administrative-update-item {
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius:0;
  background: var(--surface-soft);
}

.administrative-update-batch {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.administrative-update-batch strong,
.administrative-update-batch span,
.administrative-update-item strong,
.administrative-update-item span {
  display: block;
}

.administrative-update-batch span,
.administrative-update-item span,
.administrative-update-item p {
  margin: 3px 0 0;
  color: var(--ink-muted);
  font-size: 12px;
  line-height: 1.45;
}

.administrative-update-detail-head,
.administrative-update-item-head,
.administrative-update-actions,
.administrative-update-item-actions,
.snapshot-transfer-authorization,
.local-snapshot-pull {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

.administrative-update-detail {
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.administrative-update-changes {
  display: grid;
  gap: 6px;
  margin-top: 10px;
}

.administrative-update-change {
  display: grid;
  grid-template-columns: minmax(140px, .7fr) minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
  border-radius:0;
  background: var(--surface-2);
  font-size: 12px;
}

.administrative-update-change b {
  color: var(--ink-muted);
}

.administrative-update-status {
  display: inline-flex !important;
  width: fit-content;
  margin-top: 5px;
  padding: 4px 7px;
  border-radius:0;
  background: rgb(var(--accent-rgb) / 12%);
  color: var(--ink) !important;
  font-size: 10px !important;
  font-weight: 900;
  text-transform: uppercase;
}

.snapshot-transfer-authorization,
.local-snapshot-pull {
  padding: 13px 14px;
  border: 1px solid color-mix(in srgb, var(--warning, #d59b24) 46%, var(--line));
  border-radius:0;
  background: color-mix(in srgb, var(--warning, #d59b24) 8%, var(--surface-soft));
}

.snapshot-transfer-authorization div,
.local-snapshot-pull div {
  flex: 1 1 340px;
}

.snapshot-transfer-authorization strong,
.snapshot-transfer-authorization span,
.local-snapshot-pull strong,
.local-snapshot-pull span {
  display: block;
}

.snapshot-transfer-authorization span,
.local-snapshot-pull span {
  margin-top: 3px;
  color: var(--ink-muted);
  font-size: 12px;
  line-height: 1.45;
}

.system-snapshot-panel {
  display: grid;
  gap: 14px;
  margin-bottom: 18px;
  padding: 18px;
  border-color: color-mix(in srgb, var(--warning, #d59b24) 38%, var(--line));
}

.system-snapshot-warning {
  margin: 0;
  color: var(--ink-muted);
  line-height: 1.55;
}

.system-snapshot-restore {
  display: grid;
  grid-template-columns: minmax(240px, 1.2fr) auto minmax(250px, 1fr) auto;
  gap: 12px;
  align-items: end;
}

.system-snapshot-confirmation input {
  text-transform: uppercase;
}

.system-snapshot-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.system-snapshot-summary span {
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius:0;
  color: var(--ink-muted);
  background: var(--surface-soft);
  font-size: 12px;
}

.system-snapshot-summary strong {
  color: var(--ink);
}

.import-export-panel,
.import-export-report-panel {
  padding: 18px;
}

.import-export-report-panel {
  margin-top: 18px;
}

.import-export-controls,
.import-file-row {
  display: grid;
  gap: 14px;
}

.import-export-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.spreadsheet-file-field {
  display: grid;
  gap: 6px;
}

.spreadsheet-file-field span {
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 900;
}

.spreadsheet-file-field input {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--border-strong);
  border-radius:0;
  padding: 7px 10px;
  color: var(--ink);
  background: var(--surface-2);
  font: inherit;
  font-size: 13px;
  font-weight: 750;
}

@media (max-width: 1050px) {
  .system-snapshot-restore {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 700px) {
  .system-snapshot-restore,
  .administrative-update-import,
  .administrative-update-change {
    grid-template-columns: 1fr;
  }
}

.configuration-profile-setup {
  max-width: 960px;
  margin: 0 auto;
}

.configuration-profile-panel,
.configuration-profile-list {
  display: grid;
  gap: 1rem;
}

.configuration-profile-card {
  display: grid;
  gap: 0.85rem;
  padding: 1.25rem;
  border: 1px solid var(--line);
  border-radius:0;
  background: var(--surface-soft);
}

.configuration-profile-card header,
.configuration-profile-actions,
.configuration-profile-counts {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  flex-wrap: wrap;
}

.configuration-profile-card header {
  justify-content: space-between;
}

.configuration-profile-card h3,
.configuration-profile-card p {
  margin: 0;
}

.configuration-profile-installer {
  display: grid;
  gap: 0.2rem;
  padding: 0.8rem;
  border-radius:0;
  background: var(--surface);
}

.configuration-profile-counts span {
  padding: 0.45rem 0.65rem;
  border-radius:0;
  background: var(--surface-soft);
  border: 1px solid var(--line);
  font-size: 0.85rem;
}

.import-export-summary {
  margin-bottom: 14px;
  display: grid;
  grid-template-columns: repeat(6, minmax(110px, 1fr));
  gap: 10px;
}

.import-export-total {
  min-height: 74px;
  padding: 12px;
  display: grid;
  align-content: space-between;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-3);
}

.import-export-total span {
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 900;
}

.import-export-total strong {
  color: var(--ink);
  font-size: 24px;
  line-height: 1;
}

.import-export-table {
  min-width: 1020px;
}

.import-export-table td:last-child {
  min-width: 280px;
}

.appearance-panel {
  padding: 18px;
}

.appearance-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 0.7fr)) minmax(220px, 1fr);
  gap: 16px;
  align-items: end;
}

.my-profile-identity-panel {
  margin-bottom: 18px;
  padding: 18px;
}

.password-security-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.password-security-grid > label,
.password-confirmation-step > label {
  min-width: 0;
  display: grid;
  gap: 7px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 850;
}

.password-security-grid .password-field input,
.password-confirmation-step .password-field input {
  width: 100%;
  min-width: 0;
  height: 44px;
  border: 1px solid var(--border-strong);
  border-radius:0;
  padding: 0 12px;
  color: var(--ink);
  background: var(--field-bg);
  font: inherit;
}

.password-security-grid .password-field input:focus,
.password-confirmation-step .password-field input:focus {
  z-index: 1;
  border-color: var(--accent);
  outline: 0;
  box-shadow: 0 0 0 2px rgb(var(--accent-rgb) / 18%);
}

.password-security-grid .icon-button,
.password-confirmation-step .icon-button {
  width: 44px;
  height: 44px;
}

.password-security-modal-panel {
  width: min(680px, 100%);
}

.modal-panel.classic-style-suggestion-panel {
  width: min(620px, 100%);
}

.classic-style-suggestion-body {
  display: grid;
  gap: 16px;
}

.classic-style-suggestion-body > p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 13px;
  line-height: 1.5;
}

.classic-style-suggestion-sample {
  display: grid;
  gap: 7px;
  border: 1px solid var(--border-strong);
  padding: 18px;
  background: var(--surface-2);
}

.classic-style-suggestion-sample span {
  color: var(--ink-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
}

.classic-style-suggestion-sample strong {
  color: var(--ink);
  font-family: var(--serif);
  font-size: 25px;
  font-style: italic;
  font-weight: 400;
}

.classic-style-suggestion-sample small {
  color: var(--ink-muted);
  font-size: 12px;
  line-height: 1.45;
}

.classic-style-suggestion-actions {
  margin-top: 2px;
  justify-content: flex-end;
}

.classic-style-suggestion-actions button {
  min-width: 180px;
}

@media (max-width: 620px) {
  .classic-style-suggestion-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .classic-style-suggestion-actions button {
    width: 100%;
  }
}

#myProfilePasswordForm,
.password-confirmation-step,
.password-new-step {
  display: grid;
  gap: 16px;
}

.password-confirmation-step > label {
  max-width: 420px;
}

.password-security-requirements {
  margin: 12px 0 0;
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

.password-security-actions {
  align-items: center;
}

.my-profile-identity {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.my-profile-photo {
  margin-bottom: 12px;
}

.my-profile-homepage {
  margin-top: 12px;
}

.my-profile-homepage-field {
  padding: 12px 14px;
  display: grid;
  gap: 6px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-2);
}

.my-profile-homepage-field > span {
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.my-profile-homepage-field select {
  min-height: 40px;
  border: 1px solid var(--border);
  border-radius:0;
  padding: 0 10px;
  color: var(--ink);
  background: var(--surface);
  font: inherit;
  font-weight: 800;
}

.my-profile-homepage-field small,
.my-profile-homepage .my-profile-identity-item small {
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 700;
}

.my-profile-identity-item,
.system-appearance-item {
  padding: 12px 14px;
  display: grid;
  gap: 3px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-2);
}

.my-profile-identity-item span,
.system-appearance-item span {
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.my-profile-identity-item strong,
.system-appearance-item strong {
  overflow-wrap: anywhere;
}

.my-profile-identity-value {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.my-profile-identity-value .ghost-button {
  flex: 0 0 auto;
}

.system-appearance-summary {
  margin: 14px 0 10px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.system-appearance-color {
  width: 18px;
  height: 18px;
  display: inline-block;
  vertical-align: middle;
  border: 1px solid var(--border-strong);
  border-radius: 50%;
  background: var(--system-appearance-color, var(--accent));
}

.celebration-configuration-panel {
  margin-top: 18px;
  padding: 18px;
}

.celebration-trigger-list {
  margin: 14px 0 10px;
  display: grid;
  gap: 8px;
}

.celebration-trigger-item {
  min-height: 68px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-2);
}

.celebration-trigger-item > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.celebration-trigger-item strong,
.celebration-trigger-item span,
.celebration-trigger-item small {
  overflow-wrap: anywhere;
}

.celebration-trigger-item > div > span,
.celebration-trigger-item small {
  color: var(--ink-muted);
  font-size: 12px;
  line-height: 1.4;
}

.celebration-trigger-toggle {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 800;
}

.fireworks-canvas {
  position: fixed;
  inset: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

@media (max-width: 640px) {
  .celebration-trigger-item {
    align-items: flex-start;
    flex-direction: column;
  }
}

.navigation-configuration-panel {
  --navigation-configuration-columns: 60px 44px minmax(260px, 1fr) 112px auto;
  margin-top: 18px;
  padding: 18px;
}

.navigation-configuration-panel > .section-heading,
.navigation-configuration-columns,
.navigation-configuration-list,
.navigation-configuration-panel > .form-actions {
  width: min(100%, 1280px);
  margin-right: auto;
  margin-left: auto;
}

.navigation-configuration-columns {
  padding: 16px 12px 7px;
  display: grid;
  grid-template-columns: var(--navigation-configuration-columns);
  gap: 10px;
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.navigation-configuration-list {
  display: grid;
  gap: 4px;
}

.navigation-configuration-item {
  min-width: 0;
  min-height: 52px;
  padding: 7px 12px;
  display: grid;
  grid-template-columns: var(--navigation-configuration-columns);
  gap: 10px;
  align-items: center;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface);
}

.navigation-configuration-item.is-child {
  width: calc(100% - 28px);
  margin-left: 28px;
  border-left: 2px solid var(--border-strong);
  background: var(--surface-2);
}

.navigation-configuration-order {
  display: flex;
  gap: 4px;
}

.navigation-configuration-order .icon-only-button {
  width: 26px;
  height: 28px;
}

.navigation-configuration-icon {
  width: 36px;
  height: 36px;
  padding: 0;
  display: grid;
  place-items: center;
  color: var(--ink);
  border: 1px solid transparent;
  border-radius:0;
  background: transparent;
  cursor: pointer;
}

.navigation-configuration-icon:hover,
.navigation-configuration-icon:focus-visible {
  color: var(--accent-strong);
  border-color: var(--border-strong);
  background: var(--surface-3);
  outline: none;
}

.navigation-configuration-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.navigation-configuration-item > label:not(.navigation-configuration-visibility) {
  min-width: 0;
  display: block;
}

.navigation-configuration-item > small {
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 800;
}

.navigation-configuration-item input[type="text"] {
  width: 100%;
  min-width: 0;
  min-height: 36px;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 13px;
}

.navigation-configuration-visibility {
  min-height: 36px;
  display: flex;
  gap: 8px;
  align-items: center;
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 800;
}

.navigation-configuration-item > small {
  align-self: center;
}

.navigation-icon-picker-panel {
  width: min(720px, 100%);
  max-height: min(82vh, 760px);
}

.navigation-icon-picker-panel .modal-header p:last-child {
  margin: 4px 0 0;
  color: var(--ink-muted);
}

.navigation-icon-picker-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(54px, 1fr));
  gap: 8px;
}

.navigation-icon-picker-option {
  position: relative;
  aspect-ratio: 1;
  min-width: 0;
  display: grid;
  place-items: center;
  color: var(--ink);
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-2);
  cursor: pointer;
}

.navigation-icon-picker-option:hover,
.navigation-icon-picker-option:focus-visible {
  color: var(--accent-strong);
  border-color: var(--accent);
  background: var(--surface-3);
  outline: none;
}

.navigation-icon-picker-option.is-selected {
  color: var(--accent-strong);
  border-color: var(--accent);
  box-shadow: inset 0 0 0 1px var(--accent);
}

.navigation-icon-picker-option.is-selected::after {
  content: "";
  position: absolute;
  top: 3px;
  right: 5px;
  width: 10px;
  height: 10px;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m2 6 2.5 2.5L10 3' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
}

.navigation-icon-picker-option svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.appearance-fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.appearance-fieldset legend,
.appearance-color-field > span {
  margin-bottom: 8px;
  display: block;
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.segmented-control {
  min-height: 42px;
  padding: 4px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  border: 1px solid var(--border-strong);
  border-radius:0;
  background: var(--surface-3);
}

.appearance-theme-control {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.segmented-control label {
  min-width: 0;
}

.segmented-control input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.segmented-control span {
  min-height: 32px;
  display: grid;
  place-items: center;
  border-radius:0;
  color: var(--ink-muted);
  font-size: 13px;
  font-weight: 900;
}

.segmented-control input:checked + span {
  color: var(--accent-contrast);
  background: var(--accent);
}

.project-client-change-mode {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.project-client-change-mode span {
  padding: 0 10px;
  text-align: center;
}

.project-client-change-current {
  margin-bottom: 16px;
  padding: 14px 16px;
  display: grid;
  gap: 4px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-2);
}

.project-client-change-current span,
.project-client-change-current small {
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 800;
}

.project-client-change-current strong {
  font-size: 18px;
}

.project-client-bridge-card {
  padding: 14px 16px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-2);
}

.project-client-bridge-card span,
.project-client-bridge-card small {
  display: block;
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 800;
}

.project-client-bridge-card strong {
  display: block;
  margin: 2px 0;
  font-size: 18px;
}

.project-client-bridge-actions,
.project-client-create-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

#personEditModal.project-client-source-modal .renderer-section:has(.renderer-field[data-field-key="person_functions"]),
#personEditModal.project-client-source-modal .renderer-section:has(.renderer-field[data-field-key="organization_types"]),
#personEditModal.project-client-source-modal .renderer-section:has(.renderer-field[data-field-key="linked_people"]) {
  display: none;
}

.appearance-color-field {
  display: grid;
}

.appearance-color-field > div {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 8px;
}

.appearance-color-field input {
  width: 100%;
  height: 42px;
  border: 1px solid var(--border-strong);
  border-radius:0;
  color: var(--ink);
  background: var(--field-bg);
  font: inherit;
  font-size: 13px;
  font-weight: 850;
}

.appearance-color-field input[type="color"] {
  padding: 4px;
}

.appearance-color-field input[type="text"] {
  padding: 0 12px;
}

.appearance-actions {
  margin-top: 14px;
}

.appearance-preview {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 238px minmax(0, 1fr);
  gap: 18px;
}

.preview-sidebar {
  min-height: 260px;
  padding: 16px;
  display: grid;
  align-content: start;
  gap: 10px;
  border: 1px solid var(--nav-line);
  border-radius:0;
  background: var(--nav-bg);
  color: var(--nav-text);
}

.preview-panel {
  padding: 18px;
}

.preview-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.preview-input {
  width: min(260px, 100%);
  height: 38px;
  border: 1px solid var(--accent);
  border-radius:0;
  padding: 0 10px;
  color: var(--ink);
  background: var(--field-bg);
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 0 0 2px rgb(var(--accent-rgb) / 18%);
}

.authorization-layout {
  display: block;
}

.authorization-items-panel,
.authorization-matrix-panel {
  padding: 18px;
}

.authorization-toolbar {
  margin-bottom: 18px;
  display: grid;
  grid-template-columns: minmax(280px, 1.35fr) minmax(240px, .95fr);
  gap: 18px;
  align-items: end;
}

.authorization-toolbar-field {
  display: grid;
  gap: 7px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 850;
}

.authorization-toolbar-field select {
  width: 100%;
  min-height: 46px;
  padding: 0 14px;
  padding-right: 44px;
  border: 1px solid var(--border-strong);
  border-radius:0;
  color: var(--ink);
  background-color: var(--field-bg);
  font: inherit;
  font-size: 15px;
  font-weight: 750;
  cursor: pointer;
}

.authorization-toolbar-field:first-child select {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgb(var(--accent-rgb) / 18%);
}

.authorization-display-control {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.authorization-display-control legend {
  margin-bottom: 7px;
  padding: 0;
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
}

.authorization-display-switch {
  padding: 4px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  border: 1px solid var(--border-strong);
  border-radius:0;
  background: var(--surface-3);
}

.authorization-display-switch button {
  min-height: 38px;
  padding: 7px 12px;
  border: 1px solid transparent;
  border-radius:0;
  color: var(--ink-muted);
  background: transparent;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
  text-align: center;
}

.authorization-display-switch button:hover,
.authorization-display-switch button:focus-visible {
  color: var(--ink);
}

.authorization-display-switch button:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}

.authorization-display-switch button.active {
  border-color: var(--accent);
  color: var(--accent-contrast);
  background: var(--accent);
  box-shadow: var(--shadow-soft);
}

.drive-source-control {
  margin: 18px 0;
  padding: 0;
  border: 0;
}

.drive-source-control legend {
  margin-bottom: 10px;
  color: var(--ink-muted);
  font-size: 13px;
  font-weight: 850;
}

.drive-source-switch {
  padding: 8px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  border: 1px solid var(--border-strong);
  border-radius:0;
  background: var(--surface-3);
}

.drive-source-switch button {
  min-height: 68px;
  padding: 12px 18px;
  border: 1px solid transparent;
  border-radius:0;
  color: var(--ink-muted);
  background: transparent;
  font-size: clamp(16px, 1.8vw, 22px);
  font-weight: 900;
  text-align: center;
}

.drive-source-switch button:hover,
.drive-source-switch button:focus-visible {
  color: var(--ink);
}

.drive-source-switch button:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.drive-source-switch button.active {
  border-color: var(--accent);
  color: var(--accent-contrast);
  background: var(--accent);
  box-shadow: var(--shadow-soft);
}

.drive-source-settings,
.drive-reconciliation-panel {
  padding: 18px;
}

.drive-source-settings {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 16px;
  align-items: end;
}

.drive-source-settings form {
  display: flex;
  gap: 10px;
  align-items: end;
}

.drive-source-settings label {
  flex: 1;
}

.drive-source-readonly {
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 800;
}

.system-drive-source-context {
  display: grid;
  gap: 5px;
}

.system-drive-source-context small {
  color: var(--ink-muted);
  font-size: 11px;
}

.drive-source-configuration-note,
.media-management-safety {
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--border));
  border-radius: 0;
  background: color-mix(in srgb, var(--accent) 6%, var(--surface-2));
  color: var(--ink-muted);
  font-size: 12px;
  line-height: 1.5;
}

.media-management-safety {
  align-items: flex-start;
  justify-content: flex-start;
}

.media-management-safety strong {
  flex: 0 0 auto;
  color: var(--ink);
}

.drive-reconciliation-summary {
  margin: 18px 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
}

.drive-summary-card {
  padding: 16px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-2);
}

.drive-summary-card strong {
  display: block;
  color: var(--ink);
  font-size: 26px;
}

.drive-summary-card span {
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 800;
}

.drive-reconciliation-panel {
  margin-top: 18px;
}

.drive-reconciliation-table {
  width: 100%;
  border-collapse: collapse;
}

.drive-reconciliation-table th,
.drive-reconciliation-table td {
  padding: 12px 10px;
  border-bottom: 1px solid var(--border);
  vertical-align: top;
  text-align: left;
}

.drive-reconciliation-table select {
  min-width: 220px;
}

.drive-reconciliation-table td small {
  display: block;
  margin-top: 3px;
  color: var(--ink-muted);
}

.drive-recording-group-divider td {
  padding-top: 24px;
  border-top: 14px solid var(--surface);
  background: var(--surface-2);
}

.drive-recording-group-divider td strong {
  color: var(--ink);
  font-size: 13px;
}

.drive-orphan-folder-row td {
  background: color-mix(in srgb, var(--surface-2) 70%, transparent);
}

.drive-status {
  display: inline-flex;
  padding: 5px 9px;
  border-radius:0;
  color: var(--ink-muted);
  background: var(--surface-3);
  font-size: 11px;
  font-weight: 900;
}

.drive-status.confirmed,
.drive-status.exists,
.drive-status.lifecycle-completed,
.drive-status.reconciliation-matched {
  color: var(--success, #26866a);
  background: color-mix(in srgb, var(--success, #26866a) 12%, transparent);
}

.drive-status.possible,
.drive-status.possible_indirect,
.drive-status.review_required,
.drive-status.divergent,
.drive-status.orphan_folder,
.drive-status.lifecycle-in_use,
.drive-status.reconciliation-drive_only,
.drive-status.reconciliation-flow_only,
.drive-status.reconciliation-missing_both {
  color: var(--warning, #d59b24);
  background: color-mix(in srgb, var(--warning, #d59b24) 12%, transparent);
}

.drive-status.lifecycle-blocked,
.drive-status.reconciliation-duplicate_drive,
.drive-status.reconciliation-duplicate_flow,
.drive-status.reconciliation-divergent {
  color: var(--danger, #b44343);
  background: color-mix(in srgb, var(--danger, #b44343) 12%, transparent);
}

.media-management-inventory-panel {
  padding: 18px;
}

.media-management-toolbar {
  margin-bottom: 16px;
  display: grid;
  grid-template-columns: minmax(190px, 260px) minmax(260px, 1fr);
  gap: 12px;
  align-items: end;
}

.media-management-table {
  min-width: 1120px;
}

.media-management-table td {
  max-width: 280px;
}

.media-reference-code {
  font-size: 18px;
  font-variant-numeric: tabular-nums;
  letter-spacing: .04em;
}

.media-completion-cell {
  color: var(--ink-muted);
  font-size: 11px;
}

.media-completion-stack {
  display: grid;
  gap: 4px;
}

.media-completion-cell strong {
  color: var(--ink);
}

.media-diagnostic-cell ul {
  margin: 8px 0 0;
  padding-left: 17px;
  color: var(--ink-muted);
  font-size: 11px;
  line-height: 1.45;
}

.media-disposal-state {
  margin-top: 8px;
  display: block;
  color: var(--ink-muted);
  font-weight: 850;
}

.media-disposal-state.candidate-review {
  color: var(--warning, #d59b24);
}

.media-summary-card.disposal strong {
  color: var(--warning, #d59b24);
}

.media-summary-card.completed strong {
  color: var(--success, #26866a);
}

.media-summary-card.blocked strong {
  color: var(--danger, #b44343);
}

@media (max-width: 760px) {
  .drive-source-switch,
  .drive-reconciliation-summary {
    grid-template-columns: 1fr 1fr;
  }
  .drive-source-settings {
    grid-template-columns: 1fr;
  }
  .drive-source-settings form {
    align-items: stretch;
    flex-direction: column;
  }
  .drive-source-switch {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .drive-source-switch button {
    min-height: 50px;
    padding: 9px 6px;
    font-size: 14px;
  }
  .drive-source-configuration-note,
  .media-management-safety {
    align-items: stretch;
    flex-direction: column;
  }
  .media-management-toolbar {
    grid-template-columns: 1fr;
  }
  .media-management-table {
    min-width: 0;
  }
}

.authorization-effective-badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border-radius:0;
  color: var(--ink);
  background: rgb(var(--accent-rgb) / 12%);
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}

.authorization-view-actions {
  flex-wrap: wrap;
}

.authorization-view-actions .ghost-button {
  min-height: 38px;
  padding: 0 11px;
}

.person-function-manager-panel {
  width: min(760px, 100%);
  grid-template-rows: auto auto minmax(0, 1fr);
}

.person-function-manager-picker {
  padding: 16px 18px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 7px;
  border-bottom: 1px solid var(--border);
  background: var(--surface-3);
}

.person-function-manager-picker > label {
  display: grid;
  gap: 7px;
}

.person-function-manager-picker > label > span,
.person-function-manager-form label > span {
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
}

.person-function-manager-picker select,
.person-function-manager-form input,
.person-function-manager-form select,
.person-function-manager-form textarea {
  width: 100%;
}

.person-function-manager-form {
  min-height: 0;
  padding: 18px;
  display: grid;
  align-content: start;
  gap: 16px;
  overflow: auto;
  background: var(--surface);
}

.person-function-manager-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.person-function-manager-grid label {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 7px;
}

.person-function-manager-grid label > small {
  color: var(--ink-muted);
  font-size: 11px;
  line-height: 1.4;
}

.person-function-manager-wide {
  grid-column: 1 / -1;
}

.person-function-manager-grid select[multiple] {
  min-height: 132px;
  padding: 6px;
  background-image: none;
}

.person-function-manager-grid select[multiple] option {
  padding: 7px 8px;
  border-radius:0;
}

.person-function-manager-actions {
  position: sticky;
  bottom: -18px;
  z-index: 2;
  margin: 0 -18px -18px;
  padding: 14px 18px 18px;
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: 10px;
  align-items: center;
  border-top: 1px solid var(--border);
  background: var(--surface);
  box-shadow:none;
}

@media (max-width: 680px) {
  .person-function-manager-picker {
    grid-template-columns: 1fr;
  }

  .person-function-manager-grid {
    grid-template-columns: 1fr;
  }

  .person-function-manager-wide {
    grid-column: auto;
  }

  .person-function-manager-actions {
    grid-template-columns: 1fr 1fr;
  }

  .person-function-manager-actions > span {
    display: none;
  }
}

.authorization-items-list {
  display: grid;
  gap: 18px;
}

.authorization-structure-section {
  display: grid;
  gap: 8px;
}

.authorization-structure-label {
  margin: 0;
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.authorization-item-button {
  width: 100%;
  min-height: 58px;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid var(--border);
  border-radius:0;
  color: var(--ink-muted);
  background: var(--surface-3);
  text-align: left;
}

.authorization-item-button:hover,
.authorization-item-button:focus-visible,
.authorization-item-button.active {
  border-color: var(--accent);
  color: var(--ink);
  background: rgb(var(--accent-rgb) / 10%);
}

.authorization-item-button strong,
.authorization-context-card strong {
  display: block;
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}

.authorization-item-button small,
.authorization-context-card small {
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.authorization-sector-group {
  display: grid;
  gap: 6px;
  margin-left: 0;
}

.authorization-function-group {
  display: grid;
  gap: 6px;
}

.authorization-sector-header {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 6px;
  align-items: stretch;
}

.authorization-disclosure,
.authorization-disclosure-spacer {
  width: 28px;
  min-height: 58px;
}

.authorization-disclosure {
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--border);
  border-radius:0;
  color: var(--ink-muted);
  background: var(--surface-3);
  font-size: 24px;
  line-height: 1;
}

.authorization-disclosure:hover,
.authorization-disclosure:focus-visible {
  color: var(--ink);
  border-color: var(--accent);
}

.authorization-function-group-label {
  min-height: 58px;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid var(--border);
  border-radius:0;
  color: var(--ink-muted);
  background: var(--surface-3);
}

.authorization-function-group-label strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}

.authorization-function-group-label small {
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 900;
  text-align: right;
  text-transform: uppercase;
}

.authorization-disclosure > span,
.authorization-disclosure-mark {
  display: inline-block;
  transform: rotate(0deg);
  transition: transform 160ms ease;
}

.authorization-disclosure[aria-expanded="true"] > span,
.authorization-permission-group-toggle[aria-expanded="true"] .authorization-disclosure-mark {
  transform: rotate(90deg);
}

.authorization-sector-children {
  display: grid;
  gap: 6px;
}

.authorization-function-list {
  display: grid;
  gap: 4px;
  margin: 0 0 4px 12px;
  padding-left: 10px;
  border-left: 2px solid var(--border);
}

.authorization-function-button {
  min-height: 38px;
  padding: 7px 9px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 1px solid transparent;
  border-radius:0;
  color: var(--ink-muted);
  background: transparent;
  text-align: left;
  font-size: 12px;
  font-weight: 800;
}

.authorization-function-button:hover,
.authorization-function-button:focus-visible,
.authorization-function-button.active {
  color: var(--ink);
  border-color: rgb(var(--accent-rgb) / 40%);
  background: rgb(var(--accent-rgb) / 8%);
}

.authorization-function-button small {
  color: var(--ink-muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.authorization-item-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: flex-end;
  gap: 8px;
}

.authorization-access-model {
  min-width: 148px;
}

.authorization-tabs {
  margin-top: 14px;
  display: flex;
  gap: 8px;
  border-bottom: 1px solid var(--border);
}

.authorization-tab {
  min-height: 40px;
  padding: 0 14px;
  border: 0;
  border-bottom: 3px solid transparent;
  color: var(--ink-muted);
  background: transparent;
  font-weight: 900;
  cursor: pointer;
}

.authorization-tab:hover,
.authorization-tab:focus-visible,
.authorization-tab.active {
  color: var(--ink);
  border-bottom-color: var(--accent);
}

.authorization-manage-panel {
  margin-top: 14px;
  padding: 14px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-3);
}

.authorization-manage-panel h2 {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.2;
}

.authorization-manage-field {
  min-width: 240px;
}

.authorization-manage-fixed {
  min-width: 220px;
  min-height: 42px;
  padding: 11px 13px;
  border: 1px solid var(--border);
  border-radius:0;
  color: var(--ink);
  background: rgb(var(--accent-rgb) / 10%);
  text-align: center;
}

.authorization-table-wrap {
  margin-top: 22px;
  overflow-x: auto;
}

.authorization-navigation-help {
  margin: 22px 0 0;
  color: var(--ink-muted);
  font-size: 13px;
  line-height: 1.5;
}

.authorization-navigation-help + .authorization-table-wrap {
  margin-top: 14px;
}

.authorization-table {
  min-width: 920px;
}

#authorizationFunctionsPanel .authorization-table {
  min-width: 760px;
  table-layout: fixed;
}

#authorizationFunctionsPanel .authorization-table th:first-child,
#authorizationFunctionsPanel .authorization-table td:first-child {
  width: 36%;
}

.authorization-table th {
  min-width: 130px;
  text-align: center;
  vertical-align: bottom;
}

#authorizationFunctionsPanel .authorization-table th {
  padding: 11px 14px 14px;
  color: var(--ink);
  font-size: 15px;
  text-transform: none;
}

#authorizationFunctionsPanel .authorization-table th > strong,
#authorizationFunctionsPanel .authorization-table th > small {
  display: block;
}

#authorizationFunctionsPanel .authorization-table th > small {
  margin-top: 7px;
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
}

#authorizationFunctionsPanel .authorization-table td {
  height: 68px;
  padding: 11px 14px;
  border-bottom: 1px solid var(--border);
}

.authorization-table th:first-child,
.authorization-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  min-width: 190px;
  text-align: left;
  background: var(--surface-2);
}

.authorization-table td:not(:first-child),
.authorization-check-cell {
  text-align: center;
}

.authorization-table td:first-child small {
  display: block;
  margin-top: 4px;
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 700;
}

.authorization-area-button {
  width: fit-content;
  max-width: 100%;
  min-height: 40px;
  padding: 7px 10px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border-radius:0;
  border: 0;
  color: inherit;
  background: transparent;
  text-align: left;
}

.authorization-area-row.selected .authorization-area-button {
  color: var(--accent-contrast);
  background: var(--accent);
}

.authorization-area-icon {
  width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 20px;
  color: var(--ink-muted);
}

.authorization-area-row.selected .authorization-area-icon {
  color: inherit;
}

.authorization-area-icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.authorization-area-button:hover strong,
.authorization-area-button:focus-visible strong {
  color: var(--accent);
}

.authorization-area-row.selected .authorization-area-button:hover strong,
.authorization-area-row.selected .authorization-area-button:focus-visible strong {
  color: inherit;
}

.authorization-view-control {
  display: inline-grid;
  place-items: center;
}

.authorization-level-select {
  width: min(180px, 100%);
  min-height: 42px;
  border: 1px solid var(--border-strong);
  border-radius:0;
  padding: 0 10px;
  color: var(--ink);
  background: var(--field-bg);
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
  text-align-last: center;
}

.authorization-level-select option {
  text-align: center;
}

.authorization-level-select:disabled {
  opacity: .58;
}

.authorization-area-explanation {
  margin-top: 22px;
  padding: 20px;
  border-radius:0;
  background: var(--surface-3);
}

.authorization-area-explanation[hidden] {
  display: none;
}

.authorization-explanation-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 20px;
}

.authorization-explanation-header h3,
.authorization-explanation-header p,
.authorization-explanation-grid h4,
.authorization-explanation-grid p {
  margin: 0;
}

.authorization-explanation-header h3 {
  color: var(--ink);
  font-size: 17px;
}

.authorization-explanation-header p {
  margin-top: 8px;
  color: var(--ink-muted);
  line-height: 1.45;
}

.authorization-explanation-grid {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

.authorization-explanation-grid > section {
  min-width: 0;
}

.authorization-explanation-grid h4 {
  margin-bottom: 12px;
  color: var(--ink);
  font-size: 15px;
}

.authorization-explanation-grid p {
  padding: 9px 0;
  color: var(--ink);
  line-height: 1.5;
}

.authorization-explanation-grid p + p {
  border-top: 1px solid var(--border);
}

.authorization-configure-fields {
  margin-top: 8px;
  padding: 8px 10px;
  border: 0;
  color: var(--accent-text);
  background: transparent;
  font: inherit;
  font-weight: 800;
}

.authorization-configure-fields:disabled {
  color: var(--ink-muted);
  opacity: .65;
}

.authorization-action-chips {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.authorization-action-chips span {
  padding: 6px 10px;
  border-radius:0;
  color: var(--accent-text);
  background: rgb(var(--accent-rgb) / 13%);
  font-size: 11px;
  font-weight: 850;
}

@media (max-width: 850px) {
  .authorization-toolbar,
  .authorization-explanation-grid {
    grid-template-columns: 1fr;
  }

  .authorization-explanation-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .authorization-effective-badge {
    white-space: normal;
  }
}

.authorization-item-row th {
  background: var(--surface-3);
  padding: 0;
}

.authorization-permission-group-toggle {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  border: 0;
  color: var(--ink);
  background: transparent;
  text-align: left;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .04em;
}

.authorization-permission-group-toggle:hover,
.authorization-permission-group-toggle:focus-visible {
  background: rgb(var(--accent-rgb) / 10%);
}

.authorization-permission-group-toggle small {
  color: var(--ink-muted);
  font-size: 10px;
  letter-spacing: 0;
}

.authorization-state-select {
  min-width: 116px;
  height: 36px;
  padding: 0 8px;
  border: 1px solid var(--border);
  border-radius:0;
  color: var(--ink);
  background: var(--surface-1);
  font-weight: 800;
}

.authorization-origin {
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 700;
}

.authorization-field-toolbar {
  margin-top: 14px;
  display: flex;
  justify-content: flex-end;
}

.authorization-field-form {
  min-width: 260px;
}

.authorization-fields-table td:first-child small {
  display: block;
  margin-top: 4px;
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.authorization-policy-select {
  width: 150px;
  height: 42px;
  padding: 0 12px;
  border: 1px solid var(--border);
  border-radius:0;
  color: var(--ink);
  background: var(--field-bg);
  font: inherit;
  font-weight: 850;
}


.operational-catalog-panel {
  padding: 18px;
}

.operational-catalog-grid {
  margin-top: 16px;
  display: grid;
  grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
  gap: 16px;
  align-items: start;
}

.operational-catalog-grid.list-focused {
  grid-template-columns: minmax(0, 1fr);
}

.operational-catalog-grid.list-focused .operational-catalog-editor {
  display: contents;
}

.operational-catalog-editor,
.operational-catalog-list {
  min-width: 0;
}

.operational-modal-panel {
  width: min(1500px, 100%);
}

.operational-catalog-form.in-modal {
  margin-bottom: 0;
  border: 0;
  padding: 0;
  background: transparent;
}

.package-items-form {
  min-height: 100%;
}

.package-items-content {
  min-width: 0;
}

.operational-video-ownership,
.package-video-destinations {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--border);
  background: var(--surface-2);
}

.operational-video-ownership > header h3,
.package-video-destinations > header h3 {
  margin: 0 0 4px;
  font-size: 15px;
}

.operational-video-ownership > header p,
.package-video-destinations > header p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 12px;
}

.operational-video-owner-list,
[data-package-video-destination-list] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: 10px;
}

.operational-video-owner-card,
.package-video-destination-card {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--border);
  background: var(--surface);
}

.operational-video-owner-card > header,
.package-video-destination-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.operational-video-owner-card header small,
.package-video-destination-card header small {
  display: block;
  margin-top: 2px;
  color: var(--ink-muted);
  font-size: 11px;
}

.operational-video-required,
.operational-video-option {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}

.operational-video-option-list {
  display: grid;
  gap: 6px;
}

.operational-video-option {
  min-height: 34px;
  padding: 4px 6px;
  border: 1px solid var(--border);
}

.package-video-owner-grid {
  display: grid;
  gap: 7px;
}

.package-video-owner-grid label {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 74px;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}

.package-video-owner-grid input {
  width: 100%;
}

.package-video-destinations.has-error [data-package-video-destination-feedback] {
  color: var(--danger);
}

.package-items-actions {
  position: sticky;
  z-index: 2;
  bottom: -18px;
  margin: 8px -18px -18px;
  padding: 12px 18px;
  justify-content: flex-end;
  border-top: 1px solid var(--border);
  background: var(--surface);
}

.operational-secondary-list {
  margin-top: 18px;
}

.operational-secondary-list h3 {
  margin: 0 0 8px;
  color: var(--ink-muted);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.operational-catalog-form {
  margin-bottom: 16px;
  padding: 14px;
  display: grid;
  gap: 14px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-3);
}

.operational-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.operational-form-grid .wide {
  grid-column: 1 / -1;
}

.operational-check-grid,
.operational-package-grid,
.operational-link-columns {
  display: grid;
  gap: 10px;
}

.operational-check-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.operational-config-list {
  display: grid;
  gap: 10px;
}

.operational-item-config {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(180px, 260px);
  gap: 14px;
  align-items: center;
}

.operational-switch-row {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.operational-switch-row > span {
  min-width: 0;
}

.operational-switch-group {
  display: grid;
  gap: 10px;
}

.operational-switch-group h3 {
  margin: 0;
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.operational-switch-row .permission-switch {
  flex: 0 0 38px;
}

.operational-item-config[hidden] {
  display: none;
}

.operational-check-grid > label,
.operational-config-list > label,
.operational-package-item,
.operational-link-row {
  min-height: 42px;
  padding: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--border);
  border-radius:0;
  color: var(--ink);
  background: var(--surface-2);
  font-size: 13px;
  font-weight: 850;
}

.operational-package-item > span:not(.permission-switch),
.operational-link-row > span:not(.permission-switch) {
  min-width: 0;
  flex: 1;
}

.operational-package-item small,
.operational-link-row small {
  display: block;
  margin-top: 2px;
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.relation-required-row {
  align-items: center;
  grid-template-columns: 42px minmax(0, 1fr) 64px;
}

.relation-required-quantity {
  flex: 0 0 64px;
  width: 64px;
  height: 34px;
  border: 1px solid var(--border-strong);
  border-radius:0;
  padding: 0 8px;
  color: var(--ink);
  background: var(--surface-3);
  font: inherit;
  font-size: 13px;
  font-weight: 900;
}

.operational-link-wide-grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(240px, 0.9fr);
  gap: 14px;
  align-items: start;
}

.operational-link-wide-grid.packages-first {
  grid-template-columns: minmax(240px, 0.9fr) minmax(0, 3fr);
}

.operational-link-item-row small {
  display: block;
  margin-top: 2px;
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.operational-section-divider {
  margin: 18px 0;
  border: 0;
  border-top: 1px solid var(--border);
}

.operational-package-item input[type="number"] {
  width: 74px;
  height: 36px;
  border: 1px solid var(--border-strong);
  border-radius:0;
  padding: 0 8px;
  color: var(--ink);
  background: var(--surface-3);
  font: inherit;
  font-size: 13px;
  font-weight: 900;
}

.operational-config-input {
  margin-left: 0;
  min-height: 42px;
  display: grid;
  grid-template-columns: minmax(86px, 1fr) minmax(100px, 1fr);
  align-items: center;
  gap: 10px;
}

.operational-config-input input {
  width: 100%;
}

.operational-config-input input:disabled {
  opacity: 0.55;
}

.operational-config-empty {
  min-height: 42px;
}

.catalog-team-composition {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.65rem;
}

.catalog-team-requirement {
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) minmax(7rem, 9rem) auto;
  gap: 0.6rem;
  align-items: end;
}

.catalog-team-requirement label {
  display: grid;
  gap: 0.3rem;
}

.catalog-team-requirement select,
.catalog-team-requirement input {
  width: 100%;
}

.operational-team-functions-form {
  margin: 0;
}

.operational-team-functions-summary {
  display: flex;
  align-items: baseline;
  gap: .45rem;
  color: var(--ink-muted);
}

.operational-team-functions-summary strong {
  color: var(--ink);
  font-size: 1.25rem;
}

.operational-team-functions-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}

.operational-team-function-option {
  min-height: 3.5rem;
  padding: .75rem .85rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid var(--border);
  background: var(--surface-2);
}

.operational-team-function-option > span:first-child {
  min-width: 0;
  display: grid;
  gap: .15rem;
}

.operational-team-function-option small {
  color: var(--ink-muted);
}

.operational-option-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.operational-option-meta span {
  padding: 6px 8px;
  border: 1px solid var(--border);
  border-radius:0;
  color: var(--ink-muted);
  background: var(--surface-2);
  font-size: 12px;
  font-weight: 850;
}

.governance-intro {
  display: grid;
  gap: .35rem;
  margin-bottom: 1rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-soft);
}

.governance-intro span,
.field-help { color: var(--ink-muted); }

.governance-level {
  display: inline-flex;
  padding: .22rem .48rem;
  border-radius:0;
  font-weight: 700;
  font-size: .76rem;
  background: var(--surface-soft);
}

.governance-level-important { color: #8a5700; background: #fff4d6; }
.governance-level-critical { color: #a3212b; background: #ffe8eb; }
.governance-level-simple { color: #156554; background: #e3f7f1; }
.governance-level-blocked { color: #4b5563; background: #e8ebef; }

.governance-rule-columns,
.governance-field-card {
  display: grid;
  grid-template-columns: 21% 19% 11% 29% 20%;
  gap: 1rem;
  align-items: center;
}

.governance-rule-columns {
  gap: 0;
  padding-bottom: .55rem;
  color: var(--ink-muted);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.governance-rule-columns > span { padding: 0 .95rem; }

.governance-field-list { display: grid; gap: .55rem; }

.governance-field-card {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-1);
  box-shadow:none;
  gap: 0;
}

.governance-field-name {
  display: flex;
  align-items: center;
  align-self: stretch;
  gap: .45rem;
  min-width: 0;
  padding: .55rem .75rem;
  border-right: 1px solid var(--border);
}
.governance-field-name strong { font-size: .9rem; }

.governance-field-rules {
  display: grid;
  grid-column: 2 / -1;
  grid-template-columns: subgrid;
  min-width: 0;
}
.governance-rule-row {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: subgrid;
  gap: 0;
  align-items: center;
  min-height: 44px;
}
.governance-rule-row > div { padding: .42rem .75rem; }
.governance-rule-general { background: var(--surface-1); }
.governance-general-label { font-weight: 750; }
.governance-rule-context { font-size: .84rem; }
.governance-rule-requirements { color: var(--ink-muted); font-size: .8rem; line-height: 1.25; }
.governance-rule-columns > span:nth-child(3) { text-align: center; }
.governance-rule-row > div:nth-child(2) { display: flex; justify-content: center; }
.governance-rule-actions { display: flex; justify-content: flex-end; gap: .35rem; white-space: nowrap; }
.governance-rule-actions .icon-only-button { width: 30px; height: 30px; border-radius:0; }

.governance-rule-specific {
  min-height: 42px;
  border-top: 1px solid var(--border);
  background: color-mix(in srgb, var(--surface-soft) 52%, transparent);
}
.governance-rule-specific .governance-rule-context strong { font-size: .84rem; }

@media (max-width: 980px) {
  .governance-rule-columns { display: none; }
  .governance-field-card { grid-template-columns: 18% 82%; }
  .governance-field-rules { grid-template-columns: minmax(170px, 1fr) 110px minmax(180px, 1.2fr) auto; }
  .governance-rule-row { grid-template-columns: subgrid; }
}

.operational-configuration-section {
  margin-bottom: 1.25rem;
  display: grid;
  gap: .65rem;
}

.operational-configuration-section > header {
  display: grid;
  gap: .2rem;
  padding: .2rem 0;
}

.operational-configuration-section > header h3,
.operational-configuration-section > header p {
  margin: 0;
}

.operational-configuration-section > header p {
  color: var(--ink-muted);
  font-size: .84rem;
}

.operational-field-columns,
.operational-field-card {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(170px, .75fr) minmax(300px, 1.4fr) 126px;
  gap: 0;
  align-items: stretch;
}

.operational-field-columns {
  padding: 0 .75rem .35rem;
  color: var(--ink-muted);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.operational-field-columns > span {
  padding: 0 .7rem;
}

.governance-field-card.operational-field-card {
  grid-template-columns: minmax(220px, 1fr) minmax(170px, .75fr) minmax(300px, 1.4fr) 126px;
}

.operational-field-card .governance-field-name {
  display: grid;
  align-content: center;
  gap: .25rem;
  padding: .8rem .95rem;
}

.operational-field-card .governance-field-name small,
.operational-field-definition small,
.operational-field-governance small {
  color: var(--ink-muted);
  font-size: .76rem;
  line-height: 1.35;
}

.operational-field-definition,
.operational-field-governance {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: .28rem;
  padding: .7rem .95rem;
  border-right: 1px solid var(--border);
}

.operational-field-definition strong,
.operational-field-governance strong {
  font-size: .84rem;
}

.operational-field-governance .governance-level {
  justify-self: start;
}

.operational-field-card > .governance-rule-actions {
  width: 126px;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(3, 30px);
  justify-content: end;
  align-items: center;
  padding: .65rem .75rem;
}

.governance-action-slot {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
}

.operational-availability-form {
  margin-bottom: 1rem;
}

@media (max-width: 980px) {
  .operational-field-columns { display: none; }
  .governance-field-card.operational-field-card {
    grid-template-columns: minmax(200px, 1fr) minmax(240px, 1.3fr) 126px;
  }
  .operational-field-card .governance-field-name { grid-row: span 2; }
  .operational-field-definition { border-bottom: 1px solid var(--border); }
  .operational-field-governance { grid-column: 2; }
  .operational-field-card > .governance-rule-actions { grid-column: 3; grid-row: 1 / span 2; }
}

@media (max-width: 700px) {
  .governance-field-card.operational-field-card { grid-template-columns: 1fr; }
  .operational-field-card .governance-field-name,
  .operational-field-definition,
  .operational-field-governance,
  .operational-field-card > .governance-rule-actions {
    grid-column: 1;
    grid-row: auto;
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }
  .operational-field-card > .governance-rule-actions {
    width: 100%;
    border-bottom: 0;
    justify-content: start;
  }
}

.operational-package-item strong {
  width: 42px;
  text-align: center;
  color: var(--ink-muted);
}

.operational-link-columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.relation-linked-panel {
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr);
}

.operational-link-columns section {
  display: grid;
  gap: 8px;
}

.operational-link-columns h3 {
  margin: 0 0 2px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}

.operational-summary-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.reorder-handle {
  display: inline-grid;
  flex: 0 0 22px;
  width: 22px;
  height: 30px;
  margin: 0;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius:0;
  color: var(--ink-muted);
  background: transparent;
  cursor: grab;
  opacity: .55;
}

.reorder-handle:hover,
.reorder-handle:focus-visible {
  color: var(--ink);
  background: var(--surface-3);
  opacity: 1;
}

.reorder-handle:active {
  cursor: grabbing;
}

.reorder-handle:disabled {
  color: var(--ink-muted);
  background: transparent;
  cursor: default;
  opacity: .18;
}

.reorder-handle:disabled:hover,
.reorder-handle:disabled:focus-visible {
  color: var(--ink-muted);
  background: transparent;
  opacity: .28;
}

.reorder-handle-icon {
  display: block;
  width: 12px;
  height: 18px;
  fill: currentColor;
  stroke: none;
  pointer-events: none;
}

.operational-order-wrap {
  overflow-x: auto;
}

.operational-order-table {
  min-width: 1080px;
  --operational-order-columns: minmax(260px, 1fr) repeat(4, minmax(130px, .7fr)) 110px;
}

.operational-order-project-types {
  --operational-order-columns: minmax(260px, 1.15fr) minmax(170px, .8fr) minmax(220px, 1fr) 90px minmax(220px, 1fr) 110px;
}

.operational-order-catalog-items {
  min-width: 1280px;
  --operational-order-columns: minmax(360px, 1.4fr) 110px minmax(190px, .85fr) 120px minmax(230px, 1fr) 90px 110px;
}

.operational-order-packages {
  min-width: 1280px;
  --operational-order-columns: minmax(240px, 1.1fr) minmax(170px, .8fr) minmax(190px, .9fr) 75px 110px 110px 90px 138px;
}

.operational-order-header,
.operational-order-item {
  display: grid;
  grid-template-columns: var(--operational-order-columns);
  align-items: stretch;
}

.operational-order-header {
  color: var(--ink-muted);
  background: var(--surface-2);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.operational-order-header > span,
.operational-order-item > div {
  min-width: 0;
  padding: 11px 12px;
}

.operational-order-list,
.governance-field-muuri-list {
  position: relative;
  width: 100%;
  min-height: 48px;
}

.operational-order-list > .operational-order-item,
.governance-field-muuri-list > [data-operational-order-item] {
  position: absolute;
  width: 100%;
  margin: 0 0 7px;
  z-index: 1;
}

.operational-order-item {
  min-height: 48px;
  border: 1px solid var(--border);
  border-radius:0;
  color: var(--ink);
  background: var(--surface);
  font-size: 12px;
  line-height: 1.35;
}

.operational-order-item > div {
  display: flex;
  align-items: center;
  border-right: 1px solid var(--border);
  overflow-wrap: anywhere;
}

.operational-order-item > div:last-child {
  border-right: 0;
}

.operational-order-primary {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.operational-order-primary strong {
  min-width: 0;
}

.operational-order-item > .options-cell {
  justify-content: flex-end;
  gap: 6px;
  white-space: nowrap;
}

.operational-order-list > .muuri-item-dragging,
.governance-field-muuri-list > .muuri-item-dragging {
  z-index: 3;
}

.operational-order-list > .muuri-item-releasing,
.governance-field-muuri-list > .muuri-item-releasing {
  z-index: 2;
}

.operational-order-item.is-dragging,
.governance-field-muuri-list > .is-dragging {
  opacity: .78;
  box-shadow:none;
}

.permission-switch.disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

.permission-switch input:disabled + .permission-switch-track {
  opacity: 0.7;
}

.permission-switch {
  box-sizing: border-box;
  position: relative;
  flex: 0 0 38px;
  width: 38px;
  height: 22px;
  min-height: 22px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  gap: 0;
  border: 0;
  border-radius:0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.permission-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.permission-switch-track {
  box-sizing: border-box;
  width: 38px;
  height: 22px;
  padding: 2px;
  display: flex;
  align-items: center;
  border: 1px solid var(--switch-off-border);
  border-radius:999px;
  background: var(--switch-off-bg);
  transition: background 160ms ease, box-shadow 160ms ease;
}

.permission-switch-thumb {
  width: 14px;
  height: 14px;
  display: block;
  border-radius: 50%;
  background: var(--switch-thumb);
  box-shadow: var(--switch-thumb-shadow);
  transform: translateX(0);
  transition: transform 160ms ease;
}

.permission-switch input:checked + .permission-switch-track {
  background: var(--accent);
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 18%);
}

.permission-switch input:checked + .permission-switch-track .permission-switch-thumb {
  transform: translateX(16px);
}

.permission-switch.bigswitch {
  flex: 0 0 54px;
  width: 54px;
  height: 30px;
  min-height: 30px;
}

.permission-switch.bigswitch .permission-switch-track {
  width: 54px;
  height: 30px;
  padding: 3px;
}

.permission-switch.bigswitch .permission-switch-thumb {
  width: 20px;
  height: 20px;
}

.permission-switch.bigswitch input:checked + .permission-switch-track .permission-switch-thumb {
  transform: translateX(20px);
}

.permission-switch input:focus-visible + .permission-switch-track {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

.operational-config-list .permission-switch,
.operational-package-grid .permission-switch,
.operational-link-columns .permission-switch {
  min-height: 22px;
  padding: 0;
  gap: 0;
  border: 0;
  border-radius:0;
  background: transparent;
  font-size: inherit;
  font-weight: inherit;
}

.context-switch-row {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
}

.authorization-context-section {
  margin-top: 22px;
}

.authorization-context-roles {
  display: grid;
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  gap: 12px;
}

.authorization-context-card {
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-3);
  overflow: hidden;
}

.authorization-context-card header {
  min-height: 58px;
  padding: 12px;
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--border);
}

.authorization-context-card header span,
.authorization-context-card p {
  display: block;
  margin: 4px 0 0;
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}

.authorization-context-card p {
  margin: 0;
  padding: 10px 12px 0;
}

.authorization-context-grid {
  padding: 12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

td code {
  color: var(--ink);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
}

.entity-records {
  display: grid;
  gap: 14px;
}

.record-group {
  border: 1px solid var(--border);
  border-radius:0;
  overflow: hidden;
}

.record-group header {
  min-height: 42px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid var(--border);
  background: var(--surface-3);
}

.record-group header strong {
  color: var(--ink);
  font-size: 13px;
}

.record-group header span {
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 800;
}

.record-list {
  display: grid;
  gap: 0;
}

.record-list dl {
  margin: 0;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: repeat(4, minmax(130px, 1fr));
  gap: 10px 14px;
  border-bottom: 1px solid var(--border);
}

.record-list dl:last-child {
  border-bottom: 0;
}

.record-list div {
  min-width: 0;
}

.record-list dt {
  color: var(--ink-muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.record-list dd {
  margin: 3px 0 0;
  min-width: 0;
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.empty-state {
  padding: 20px;
  border: 1px solid var(--border);
  border-radius:0;
  color: var(--ink-muted);
  background: var(--surface-3);
  font-size: 13px;
  font-weight: 750;
  text-align: center;
}

.system-list-grid,
.form-section-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 12px;
}

.system-list-card,
.form-section-card {
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-3);
  overflow: hidden;
}

.system-list-card header,
.form-section-card header {
  min-height: 42px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid var(--border);
}

.system-list-card strong,
.form-section-card strong {
  color: var(--ink);
  font-size: 13px;
}

.system-list-card code,
.form-section-card code,
.field-row code {
  color: var(--ink-muted);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 11px;
  font-weight: 800;
}

.system-list-card p {
  margin: 0;
  padding: 12px;
  color: var(--ink-muted);
  font-size: 12px;
  line-height: 1.4;
}

.option-pills {
  padding: 0 12px 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.option-pills span {
  min-height: 26px;
  padding: 5px 8px;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--border-strong);
  border-radius:0;
  color: var(--ink);
  background: var(--surface-2);
  font-size: 11px;
  font-weight: 800;
}

.form-meta {
  margin-bottom: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.form-meta span {
  min-height: 30px;
  padding: 6px 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--border-strong);
  border-radius:0;
  color: var(--ink-muted);
  background: var(--surface-3);
  font-size: 12px;
  font-weight: 800;
}

.form-meta strong {
  color: var(--ink);
}

.field-list {
  display: grid;
}

.field-row {
  min-height: 38px;
  padding: 8px 12px;
  display: grid;
  grid-template-columns: minmax(120px, 1fr) 90px 90px minmax(90px, 0.8fr);
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid var(--border);
}

.field-row:last-child {
  border-bottom: 0;
}

.field-row span {
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
}

.field-row small {
  min-width: 0;
  overflow: hidden;
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.form-renderer-panel {
  padding: 18px;
}

.modal-layer {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: grid;
  place-items: center;
  padding: 28px;
}

.modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgb(16 20 24 / 42%);
  backdrop-filter: blur(2px);
}

.modal-panel {
  position: relative;
  z-index: 1;
  width: min(1040px, 100%);
  max-height: min(86vh, 920px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  border: 1px solid var(--border-strong);
  border-radius:0;
  background: var(--surface-2);
  box-shadow:none;
  overflow: hidden;
}

.modal-header {
  padding: 18px;
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid var(--border);
}

.modal-header h2 {
  margin: 0;
}

.modal-body {
  min-height: 0;
  padding: 18px;
  overflow: auto;
  background: var(--surface);
}

.problem-report-modal-panel {
  width: min(780px, 100%);
}

.problem-report-form {
  display: grid;
  gap: 16px;
}

.problem-report-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.problem-report-field {
  min-width: 0;
  display: grid;
  gap: 7px;
}

.problem-report-field-full {
  grid-column: 1 / -1;
}

.problem-report-field > span {
  color: var(--ink);
  font-size: 12px;
  font-weight: 750;
}

.problem-report-field textarea {
  min-height: 96px;
  resize: vertical;
}

.problem-report-screenshot-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

.problem-report-screenshot-picker {
  position: relative;
  min-height: 88px;
  padding: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px dashed var(--border-strong);
  border-radius: var(--radius);
  background: var(--surface-3);
  cursor: pointer;
}

.problem-report-screenshot-picker:focus-within {
  border-color: var(--accent-strong);
  outline: 2px solid rgb(var(--accent-rgb) / 18%);
  outline-offset: 1px;
}

.problem-report-screenshot-picker input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.problem-report-upload-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius);
  color: var(--accent-text);
  background: var(--surface-2);
}

.problem-report-upload-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.problem-report-upload-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.problem-report-upload-copy strong {
  color: var(--ink);
  font-size: 13px;
}

.problem-report-upload-copy small,
.problem-report-context {
  color: var(--ink-muted);
  font-size: 11px;
}

.problem-report-screenshot-preview {
  margin: 0;
  padding: 10px;
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.problem-report-screenshot-preview img {
  width: 112px;
  height: 72px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  object-fit: cover;
}

.problem-report-screenshot-preview figcaption {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.problem-report-screenshot-preview figcaption strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.problem-report-screenshot-preview figcaption small {
  color: var(--ink-muted);
  font-size: 11px;
}

.problem-report-context {
  margin: 0;
}

.problem-report-security-note {
  margin: 0;
  padding: 10px 12px;
  border-left: 3px solid var(--orange);
  color: var(--ink);
  background: color-mix(in srgb, var(--orange) 10%, var(--surface-2));
  font-size: 12px;
}

.problem-report-feedback {
  min-height: 18px;
  margin: 0;
}

.problem-report-feedback[data-tone="success"] {
  color: var(--accent-text);
}

.problem-report-feedback[data-tone="warning"],
.problem-report-feedback[data-tone="pending"] {
  color: var(--orange);
}

.problem-report-feedback[data-tone="error"] {
  color: #b4402f;
}

@media (max-width: 680px) {
  .problem-report-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .problem-report-field-full {
    grid-column: auto;
  }

  .problem-report-screenshot-preview {
    grid-template-columns: 84px minmax(0, 1fr) auto;
  }

  .problem-report-screenshot-preview img {
    width: 84px;
    height: 58px;
  }
}

.person-edit-modal-panel {
  height: min(86vh, 920px);
}

.modal-loading-surface {
  min-height: min(620px, calc(86dvh - 110px));
  display: grid;
  place-items: center;
}

.modal-loading-surface > .empty-state {
  width: 100%;
}

.modal-content-revealing > :first-child {
  animation: ui-loaded-content-in 180ms ease-out both;
}

.person-edit-modal-panel .dynamic-form {
  gap: 14px;
}

.dynamic-form-scroll {
  min-width: 0;
  display: grid;
  grid-auto-rows: max-content;
  align-content: start;
  gap: 18px;
}

#personEditRenderer:has(#personRegistrationForm) {
  padding: 0;
  overflow: hidden;
}

#personEditRenderer #personRegistrationForm {
  min-height: 0;
  height: 100%;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 0;
}

#personEditRenderer .dynamic-form-scroll {
  min-height: 0;
  padding: 18px;
  gap: 14px;
  overflow: auto;
}

.project-create-modal-panel {
  width: min(1240px, 100%);
}

.project-create-modal-body {
  padding: 0;
  overflow: hidden;
}

.person-photo-editor {
  padding: 14px;
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 16px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-2);
}

.person-photo-current {
  width: 112px;
  height: 112px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border-strong);
  border-radius: 50%;
  background: var(--surface-3);
  overflow: hidden;
}

.person-photo-current img,
.person-info-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.person-photo-current span,
.person-info-photo span {
  color: var(--ink);
  font-size: 26px;
  font-weight: 900;
}

.person-photo-controls {
  min-width: 0;
  display: grid;
  gap: 12px;
  align-content: start;
}

.person-photo-controls header {
  display: grid;
  gap: 3px;
}

.person-photo-controls header strong {
  color: var(--ink);
  font-size: 16px;
}

.person-photo-controls header span,
.person-photo-cropper label span {
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 750;
}

.person-photo-picker {
  width: fit-content;
}

.person-photo-picker input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.person-photo-cropper {
  display: grid;
  gap: 10px;
  justify-items: start;
}

.person-photo-cropper canvas {
  width: 260px;
  height: 260px;
  max-width: 100%;
  border: 1px solid var(--border-strong);
  border-radius:0;
  cursor: grab;
  touch-action: none;
}

.person-photo-cropper canvas:active {
  cursor: grabbing;
}

.person-photo-cropper label {
  width: min(260px, 100%);
  display: grid;
  gap: 5px;
}

.person-photo-cropper input[type="range"] {
  width: 100%;
}

.person-photo-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.person-info-view {
  display: grid;
  gap: 14px;
}

.person-info-summary,
.person-info-section {
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-2);
  overflow: hidden;
}

.person-info-summary {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr) minmax(180px, 240px);
}

.person-info-summary > div {
  padding: 18px;
  display: grid;
  gap: 4px;
}

.person-info-photo {
  display: grid;
  place-items: center;
}

.person-info-photo img,
.person-info-photo span {
  width: 96px;
  height: 96px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border-strong);
  border-radius: 50%;
  background: var(--surface-3);
  overflow: hidden;
}

.person-info-summary > div + div {
  border-left: 1px solid var(--border);
}

.person-info-summary span,
.person-info-grid dt {
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.person-info-summary strong {
  color: var(--ink);
  font-size: 22px;
  line-height: 1.2;
}

.person-info-summary small {
  color: var(--ink-muted);
  font-size: 13px;
  font-weight: 750;
}

.person-info-section header {
  padding: 14px 18px;
  border-bottom: 1px solid var(--border);
  background: var(--surface-3);
}

.person-info-section h3 {
  margin: 0;
  color: var(--ink);
  font-size: 18px;
}

.person-info-section p {
  margin: 4px 0 0;
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 700;
}

.person-info-grid {
  margin: 0;
  padding: 18px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 36px;
}

.person-info-grid div {
  min-width: 0;
}

.person-info-grid dd {
  margin: 6px 0 0;
  color: var(--ink);
  overflow-wrap: anywhere;
  font-size: 16px;
  font-weight: 850;
  line-height: 1.35;
}

.dynamic-form {
  display: grid;
  gap: 18px;
}

.renderer-section {
  margin: 0;
  padding: 0;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-3);
  overflow: hidden;
}

.renderer-section legend {
  width: calc(100% + 2px);
  max-width: none;
  margin: -1px -1px 0;
  padding: 14px;
  display: grid;
  gap: 4px;
  border: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-2);
}

.renderer-section legend strong {
  color: var(--ink);
  font-size: 11px;
}

.renderer-section legend span {
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 700;
}

.renderer-field-grid {
  padding: 14px;
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 14px;
}

.renderer-field {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 7px;
}

.renderer-field-grid:has(.field-email + .field-phone-country-code + .field-phone) {
  grid-template-columns: minmax(280px, 1fr) minmax(82px, 112px) minmax(220px, 0.9fr);
}

.renderer-field-grid:has(.field-system-user) {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: end;
}

.renderer-field-grid:has(.field-system-user) .field-person-functions {
  grid-column: 1 / -1;
}

.renderer-field-grid:has(.field-system-user) .field-system-user {
  grid-column: span 3;
}

.renderer-field-grid:has(.field-system-user) .field-access-email {
  grid-column: span 4;
}

.renderer-field-grid:has(.field-system-user) .field-access-password {
  grid-column: span 5;
}

.renderer-field-grid:has(.field-system-user) .field-access-password .generated-field {
  grid-template-columns: minmax(0, 1fr) auto;
}

.field-system-user {
  align-self: stretch;
  justify-content: center;
}

.system-user-switch-control {
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.system-user-switch-label {
  min-width: 0;
  display: grid;
  gap: 2px;
  cursor: pointer;
}

.system-user-switch-label strong {
  font-size: 13px;
}

.system-user-switch-label small {
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 750;
}

@media (max-width: 1120px) {
  .renderer-field-grid:has(.field-system-user) .field-system-user {
    grid-column: span 4;
  }

  .renderer-field-grid:has(.field-system-user) .field-access-email {
    grid-column: span 8;
  }

  .renderer-field-grid:has(.field-system-user) .field-access-password {
    grid-column: 1 / -1;
  }
}

.renderer-field-grid:has(.field-display-name + .field-phone-country-code + .field-phone + .field-email) {
  grid-template-columns: minmax(280px, 1fr) minmax(82px, 112px) minmax(220px, 0.85fr) minmax(260px, 0.95fr);
}

.renderer-field-grid:has(.field-name + .field-phone-country-code + .field-phone + .field-email) {
  grid-template-columns: minmax(320px, 1fr) minmax(82px, 112px) minmax(220px, 0.85fr) minmax(260px, 0.95fr);
}

.renderer-field-grid:has(.field-legal-name + .field-birth-date + .field-document-type) {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.renderer-field-grid:has(.field-legal-name + .field-birth-date + .field-document-type) .field-legal-name,
.renderer-field-grid:has(.field-legal-name + .field-birth-date + .field-document-type) .field-birth-date {
  grid-column: span 6;
}

.renderer-field-grid:has(.field-legal-name + .field-birth-date + .field-document-type) .field-document-type {
  grid-column: span 2;
}

.renderer-field-grid:has(.field-legal-name + .field-birth-date + .field-document-type) .field-document-cpf,
.renderer-field-grid:has(.field-legal-name + .field-birth-date + .field-document-type) .field-document-passport {
  grid-column: span 3;
}

.renderer-field-grid:has(.field-legal-name + .field-birth-date + .field-document-type) .field-marital-status {
  grid-column: span 3;
}

.renderer-field-grid:has(.field-legal-name + .field-birth-date + .field-document-type) .field-profession {
  grid-column: span 4;
}

.renderer-field-grid:has(.field-country + .field-postal-code + .field-address-line + .field-district + .field-city + .field-state + .field-address-number + .field-address-complement) {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.renderer-field-grid:has(.field-country + .field-postal-code + .field-address-line + .field-district + .field-city + .field-state + .field-address-number + .field-address-complement) .field-country {
  order: 1;
  grid-column: span 2;
}

.renderer-field-grid:has(.field-country + .field-postal-code + .field-address-line + .field-district + .field-city + .field-state + .field-address-number + .field-address-complement) .field-postal-code {
  order: 2;
  grid-column: span 2;
}

.renderer-field-grid:has(.field-country + .field-postal-code + .field-address-line + .field-district + .field-city + .field-state + .field-address-number + .field-address-complement) .field-address-line {
  order: 3;
  grid-column: span 6;
}

.renderer-field-grid:has(.field-country + .field-postal-code + .field-address-line + .field-district + .field-city + .field-state + .field-address-number + .field-address-complement) .field-address-number {
  order: 4;
  grid-column: span 2;
}

.renderer-field-grid:has(.field-country + .field-postal-code + .field-address-line + .field-district + .field-city + .field-state + .field-address-number + .field-address-complement) .field-address-complement {
  order: 5;
  grid-column: span 4;
}

.renderer-field-grid:has(.field-country + .field-postal-code + .field-address-line + .field-district + .field-city + .field-state + .field-address-number + .field-address-complement) .field-district {
  order: 6;
  grid-column: span 3;
}

.renderer-field-grid:has(.field-country + .field-postal-code + .field-address-line + .field-district + .field-city + .field-state + .field-address-number + .field-address-complement) .field-city {
  order: 7;
  grid-column: span 3;
}

.renderer-field-grid:has(.field-country + .field-postal-code + .field-address-line + .field-district + .field-city + .field-state + .field-address-number + .field-address-complement) .field-state {
  order: 8;
  grid-column: span 2;
}

.renderer-field-grid:has(.field-email + .field-phone-country-code + .field-phone) .field-email,
.renderer-field-grid:has(.field-email + .field-phone-country-code + .field-phone) .field-phone-country-code,
.renderer-field-grid:has(.field-email + .field-phone-country-code + .field-phone) .field-phone,
.renderer-field-grid:has(.field-display-name + .field-phone-country-code + .field-phone + .field-email) .field-display-name,
.renderer-field-grid:has(.field-display-name + .field-phone-country-code + .field-phone + .field-email) .field-phone-country-code,
.renderer-field-grid:has(.field-display-name + .field-phone-country-code + .field-phone + .field-email) .field-phone,
.renderer-field-grid:has(.field-display-name + .field-phone-country-code + .field-phone + .field-email) .field-email,
.renderer-field-grid:has(.field-name + .field-phone-country-code + .field-phone + .field-email) .field-name,
.renderer-field-grid:has(.field-name + .field-phone-country-code + .field-phone + .field-email) .field-phone-country-code,
.renderer-field-grid:has(.field-name + .field-phone-country-code + .field-phone + .field-email) .field-phone,
.renderer-field-grid:has(.field-name + .field-phone-country-code + .field-phone + .field-email) .field-email {
  grid-column: auto;
}

.renderer-field label {
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
}

.renderer-field input,
.renderer-field select {
  width: 100%;
  min-width: 0;
  height: 38px;
  border: 1px solid var(--border-strong);
  border-radius:0;
  padding: 0 10px;
  color: var(--ink);
  background: var(--surface-2);
  font: inherit;
  font-size: 13px;
}

.renderer-field input:focus,
.renderer-field select:focus {
  outline: 2px solid var(--teal);
  outline-offset: 2px;
}

.generated-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.generated-field-action {
  min-height: 38px;
  padding: 0 14px;
}

.search-select {
  position: relative;
  min-width: 0;
}

.search-select-options {
  position: absolute;
  z-index: 20;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  max-height: 240px;
  overflow: auto;
  border: 1px solid var(--border-strong);
  border-radius:0;
  background: var(--surface-2);
  box-shadow:none;
}

.search-select-option {
  width: 100%;
  min-height: 38px;
  border: 0;
  border-bottom: 1px solid var(--border);
  padding: 9px 11px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--ink);
  background: var(--surface-2);
  font: inherit;
  font-size: 13px;
  font-weight: 850;
  text-align: left;
  cursor: pointer;
}

.search-select-option:hover,
.search-select-option.selected {
  background: rgb(var(--accent-rgb) / 12%);
}

.search-select-option span {
  color: var(--ink-muted);
  font-weight: 900;
}

.search-select-empty {
  display: block;
  padding: 11px;
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 800;
}

.renderer-field.has-error input,
.renderer-field.has-error select,
.renderer-field.has-error .multi-select-panel,
.renderer-field.has-error .person-links-editor {
  border: 1px solid #e36f4d;
  background: #fff8f5;
}

.multi-select-panel {
  border: 1px solid var(--border-strong);
  border-radius:0;
  background: var(--surface-2);
  overflow: hidden;
}

.multi-select-trigger {
  width: 100%;
  min-height: 38px;
  border: 0;
  padding: 0 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--ink);
  background: var(--surface-2);
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.multi-select-caret {
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 8px solid var(--ink);
}

.multi-select-trigger[aria-expanded="true"] .multi-select-caret {
  border-top: 0;
  border-bottom: 8px solid var(--ink);
}

.multi-select-options {
  max-height: 320px;
  overflow: auto;
  border-top: 1px solid var(--border-strong);
  background: var(--surface-2);
}

.multi-select-option,
.single-check {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 850;
}

.multi-select-option {
  padding: 9px 14px;
  border-bottom: 1px solid var(--border);
}

.multi-select-option:last-child {
  border-bottom: 0;
}

.multi-select-option input,
.single-check input {
  width: 16px;
  height: 16px;
  padding: 0;
  accent-color: var(--teal);
}

.person-links-editor {
  display: grid;
  gap: 10px;
}

.person-link-row {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(160px, 1fr) 38px;
  gap: 8px;
  align-items: center;
}

.person-links-editor .empty-state.compact {
  min-height: 42px;
  padding: 10px;
  font-size: 12px;
}

.field-error {
  color: #b94a28;
  font-size: 12px;
  font-weight: 850;
}

.field-hint,
.form-feedback {
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 800;
}

.address-lookup-feedback.pending {
  color: #6d7780;
}

.address-lookup-feedback.success {
  color: #287a55;
}

.address-lookup-feedback.warning {
  color: #b94a28;
}

.form-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.modal-body form:not(#projectCreateForm) > .form-actions:last-child,
.modal-body > .form-actions:last-child {
  position: sticky;
  z-index: 3;
  bottom: -18px;
  margin: 8px -18px -18px;
  padding: 12px 18px;
  justify-content: flex-end;
  border-top: 1px solid var(--border);
  background: var(--surface);
}

.modal-body form > .form-actions:last-child > :not(button),
.modal-body > .form-actions:last-child > :not(button),
.project-addendum-form > .project-addendum-actions:last-child > :not(button) {
  order: 0;
  margin-right: auto;
}

.modal-body form > .form-actions:last-child > :is(.ghost-button, .secondary-button),
.modal-body > .form-actions:last-child > :is(.ghost-button, .secondary-button),
.project-addendum-form > .project-addendum-actions:last-child > :is(.ghost-button, .secondary-button) {
  order: 1;
}

.modal-body form > .form-actions:last-child > .primary-button,
.modal-body > .form-actions:last-child > .primary-button,
.project-addendum-form > .project-addendum-actions:last-child > .primary-button {
  order: 2;
}

.modal-body form > .form-actions:last-child > .danger-button,
.modal-body > .form-actions:last-child > .danger-button,
.project-addendum-form > .project-addendum-actions:last-child > .danger-button {
  order: 0;
  margin-right: auto;
}

#personEditRenderer #personRegistrationForm > .dynamic-form-actions:last-child {
  position: static;
  z-index: auto;
  bottom: auto;
  margin: 0;
  padding: 14px 36px 18px 18px;
  justify-content: flex-end;
  border-top: 1px solid var(--border);
  background: var(--surface);
}

.entity-card {
  min-height: 132px;
  padding: 16px;
  display: grid;
  align-content: space-between;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-2);
}

.entity-card span {
  color: var(--ink-muted);
  font-size: 13px;
  font-weight: 800;
}

.entity-card strong {
  color: var(--ink);
  font-size: 26px;
  line-height: 1;
}

.entity-card small {
  color: var(--ink-muted);
  font-size: 12px;
  line-height: 1.35;
}

.overview-welcome {
  margin: 0;
  color: var(--ink);
  font-family: 'Playfair Display', serif;
  font-size: clamp(28px, 4vw, 52px);
  font-style: italic;
  font-weight: 600;
  line-height: 1.2;
}

.settings-module-panel > p {
  margin-bottom: 0;
  color: var(--ink-muted);
  line-height: 1.55;
}

.module-flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.module-flow span {
  min-height: 30px;
  padding: 7px 10px;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--border-strong);
  border-radius:0;
  color: var(--ink);
  background: var(--surface-3);
  font-size: 12px;
  font-weight: 850;
}

.panel {
  padding: 18px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-2);
  box-shadow:none;
  overflow: hidden;
}

.work-panel {
  min-width: 0;
  padding: 18px;
}

.insight-panel {
  padding: 18px;
}

.section-heading {
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.section-heading > div:first-child > p:not(.eyebrow),
.view-header > div:first-child > p:not(.eyebrow) {
  font-size: 12px;
}

.section-heading.compact {
  align-items: start;
}

.section-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.refresh-icon-button {
  flex: 0 0 auto;
  min-width: 34px;
}

.section-actions:has(> .refresh-icon-button) {
  flex-wrap: nowrap;
}

.section-actions:has(> .refresh-icon-button) > .settings-feedback {
  min-width: 0;
  max-width: min(320px, 30vw);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.section-actions:has(> .refresh-icon-button) > .settings-feedback:empty {
  display: none;
}

@media (max-width: 760px) {
  .section-actions:has(> .refresh-icon-button) {
    position: relative;
  }

  .section-actions:has(> .refresh-icon-button) > .settings-feedback {
    position: absolute;
    z-index: 25;
    right: 0;
    bottom: calc(100% + 8px);
    width: max-content;
    max-width: min(280px, calc(100vw - 40px));
    border: 1px solid var(--border-strong);
    border-radius: var(--radius);
    padding: 7px 10px;
    background: var(--surface-2);
    box-shadow: 0 10px 28px rgb(0 0 0 / 18%);
    pointer-events: none;
  }
}

.ghost-button {
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border-strong);
  border-radius:0;
  padding: 0 12px;
  color: var(--ink);
  background: var(--surface-3);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.secondary-button {
  height: 36px;
  border: 1px solid var(--border-strong);
  border-radius:0;
  padding: 0 12px;
  color: var(--ink);
  background: var(--surface-3);
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.ghost-button:hover {
  border-color: #b7c6cf;
  background: rgb(var(--accent-rgb) / 10%);
}

.secondary-button:hover {
  border-color: #b7c6cf;
  background: var(--surface);
}

.primary-button {
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--accent);
  border-radius:0;
  padding: 0 12px;
  color: var(--accent-contrast);
  background: var(--accent);
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.primary-button:hover {
  color: var(--accent-hover-contrast);
  background: var(--accent-hover);
  border-color: var(--accent-hover);
}

.danger-button {
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #b42318;
  border-radius:0;
  padding: 0 12px;
  color: #fff;
  background: #b42318;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.danger-button:hover {
  filter: brightness(0.94);
}

.table-wrap {
  width: 100%;
  overflow-x: auto;
}

table {
  width: 100%;
  min-width: 660px;
  border-collapse: collapse;
}

th,
td {
  border-bottom: 1px solid var(--border);
  padding: 13px 10px;
  text-align: left;
  font-size: 13px;
}

th {
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

td {
  color: var(--ink);
  font-weight: 650;
}

tr:last-child td {
  border-bottom: 0;
}

.badge {
  min-width: 94px;
  padding: 5px 9px;
  display: inline-flex;
  justify-content: center;
  border-radius:0;
  color: #0c2321;
  background: rgb(var(--accent-rgb) / 28%);
  font-size: 12px;
  font-weight: 900;
}

:root[data-theme="dark"] .badge {
  color: #ecfffb;
  background: rgb(var(--accent-rgb) / 32%);
}

.badge.waiting {
  color: #331f09;
  background: rgb(249 115 69 / 22%);
}

:root[data-theme="dark"] .badge.waiting {
  color: #ffd8c6;
  background: rgb(249 115 69 / 30%);
}

.badge.review {
  color: #14294f;
  background: rgb(110 168 254 / 26%);
}

:root[data-theme="dark"] .badge.review {
  color: #dbe8ff;
  background: rgb(110 168 254 / 32%);
}

.badge.contract-draft {
  color: #4b5563;
  background: rgb(107 114 128 / 18%);
}

:root[data-theme="dark"] .badge.contract-draft {
  color: #e5e7eb;
  background: rgb(156 163 175 / 26%);
}

.badge.contract-generated {
  color: #164e83;
  background: rgb(59 130 246 / 20%);
}

:root[data-theme="dark"] .badge.contract-generated {
  color: #bfdbfe;
  background: rgb(59 130 246 / 34%);
}

.badge.contract-changed {
  color: #713f12;
  background: rgb(245 158 11 / 24%);
}

:root[data-theme="dark"] .badge.contract-changed {
  color: #fde68a;
  background: rgb(245 158 11 / 34%);
}

.badge.contract-sent {
  color: #55308c;
  background: rgb(139 92 246 / 22%);
}

:root[data-theme="dark"] .badge.contract-sent {
  color: #ddd6fe;
  background: rgb(139 92 246 / 34%);
}

.badge.contract-signed {
  color: #14532d;
  background: rgb(34 197 94 / 22%);
}

:root[data-theme="dark"] .badge.contract-signed {
  color: #bbf7d0;
  background: rgb(34 197 94 / 34%);
}

.badge.contract-cancelled {
  color: #7f1d1d;
  background: rgb(239 68 68 / 20%);
}

:root[data-theme="dark"] .badge.contract-cancelled {
  color: #fecaca;
  background: rgb(239 68 68 / 34%);
}

.badge.contract-archived {
  color: #374151;
  background: rgb(107 114 128 / 22%);
}

:root[data-theme="dark"] .badge.contract-archived {
  color: #d1d5db;
  background: rgb(107 114 128 / 34%);
}

.badge.blocked {
  color: #4a160d;
  background: rgb(227 111 77 / 24%);
}

:root[data-theme="dark"] .badge.blocked {
  color: #ffd8ce;
  background: rgb(227 111 77 / 32%);
}

.empty-row td {
  color: var(--ink-muted);
  font-weight: 650;
  text-align: center;
}

.event-list {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
  list-style: none;
}

.event-list li {
  min-width: 0;
  padding: 0 0 12px 18px;
  position: relative;
  border-bottom: 1px solid var(--border);
}

.event-list li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.event-list li::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius:0;
  background: var(--teal);
}

.event-list strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--ink);
  font-size: 13px;
}

.event-list span {
  display: block;
  min-width: 0;
  margin-top: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--ink-muted);
  font-size: 12px;
  line-height: 1.4;
}

@media (max-width: 1120px) {
  .app-shell {
    padding-top: 68px;
  }

  .workflow-project-layer {
    inset: 68px 0 0;
  }

  .sidebar {
    inset: 0 0 auto;
    z-index: 50;
    width: 100%;
    min-height: 68px;
    padding: 5px clamp(18px, 4vw, 34px);
    display: flex;
    flex-direction: row;
    align-items: center;
    border-right: 0;
    border-bottom: 1px solid var(--nav-line);
  }

  .sidebar .brand-region {
    margin: 0 auto 0 0;
    padding: 6px 0;
    align-items: center;
  }

  .sidebar .brand {
    margin: 0;
    padding: 0;
  }

  .sidebar .brand-copy strong {
    font-size: 20px;
    text-transform: none;
  }

  .sidebar .brand-copy span {
    font-size: 12px;
  }

  .sidebar > .nav {
    display: none;
  }

  .sidebar-footer {
    margin: 0 0 0 12px;
    padding: 0;
    display: flex;
    border: 0;
    background: transparent;
  }

  .session-footer-version,
  .session-avatar-name {
    display: none;
  }

  .session-profile-popover {
    right: 0;
    left: auto;
    top: calc(100% + 10px);
    bottom: auto;
  }

  .responsive-menu-button {
    height: 34px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
  }

  .responsive-menu-button strong {
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0;
  }

  .hamburger-icon,
  .hamburger-icon::before,
  .hamburger-icon::after {
    width: 17px;
    height: 2px;
  }

  .hamburger-icon::before {
    top: -5px;
  }

  .hamburger-icon::after {
    top: 5px;
  }

  .workspace {
    margin-left: 0;
    padding: 24px 20px 44px;
  }

  .workspace > .topbar {
    min-height: auto;
  }

  .responsive-menu-panel {
    top: 76px;
    left: auto;
    right: clamp(18px, 4vw, 34px);
    width: min(282px, calc(100vw - 36px));
    max-height: calc(100vh - 82px);
    padding: 12px;
    border-color: var(--nav-line);
    background: var(--nav-bg);
  }

  .responsive-menu-panel > .section-heading {
    display: none;
  }

  .responsive-nav {
    gap: 4px;
  }

  .responsive-nav .nav-item {
    min-height: 38px;
    height: auto;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 10px;
    padding: 0 10px;
    color: var(--nav-muted);
    font-size: 13px;
  }

  .responsive-nav .nav-parent {
    grid-template-columns: 22px minmax(0, 1fr) 14px;
  }

  .responsive-nav .nav-icon {
    width: 22px;
    height: 22px;
    font-size: 18px;
  }

  .responsive-nav .nav-item:hover,
  .responsive-nav .nav-item.active,
  .responsive-nav .nav-group.active .nav-parent {
    color: var(--nav-text);
    background: var(--nav-bg-3);
  }

  .responsive-nav .nav-children {
    margin-left: 16px;
  }

  .responsive-nav .nav-children-inner {
    padding: 4px 0 4px 14px;
    border-left: 1px solid var(--nav-line);
    gap: 2px;
  }

  .responsive-nav .nav-child {
    min-height: 34px;
    font-size: 12px;
  }
}

@media (max-width: 1120px) {
  .entity-grid {
    grid-template-columns: repeat(3, minmax(160px, 1fr));
  }

  .entity-summary-grid {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }

  .record-list dl {
    grid-template-columns: repeat(2, minmax(130px, 1fr));
  }

  .system-list-grid,
  .form-section-list,
  .my-profile-identity,
  .password-security-grid,
  .system-appearance-summary,
  .appearance-grid,
  .appearance-preview,
  .import-export-layout,
  .operational-catalog-grid {
    grid-template-columns: 1fr;
  }

  .import-export-summary {
    grid-template-columns: repeat(3, minmax(110px, 1fr));
  }

  .navigation-configuration-item {
    --navigation-configuration-columns: 60px 44px minmax(180px, 1fr) 104px;
  }

  .navigation-configuration-columns {
    --navigation-configuration-columns: 60px 44px minmax(180px, 1fr) 104px;
  }

  .navigation-configuration-item > small,
  .navigation-configuration-columns > span:last-child {
    display: none;
  }
}

@media (max-width: 760px) {
  .navigation-configuration-columns {
    display: none;
  }

  .navigation-configuration-item {
    width: 100%;
    margin-left: 0;
    padding: 10px;
    grid-template-columns: 60px 44px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
  }

  .navigation-configuration-item.is-child {
    padding-left: 16px;
  }

  .navigation-configuration-item > label:not(.navigation-configuration-visibility),
  .navigation-configuration-visibility,
  .navigation-configuration-item > small {
    grid-column: 3;
  }

  .app-shell {
    padding-top: 54px;
  }

  .workflow-project-layer {
    inset: 54px 0 0;
  }

  .sidebar {
    min-height: 54px;
    padding: 5px;
  }

  .sidebar .brand-region {
    padding: 3px 8px;
  }

  .sidebar .brand {
    padding: 0;
  }

  .managed-business-view-selector > summary {
    max-width: 82px;
  }

  .sidebar .brand-copy strong {
    font-size: 17px;
  }

  .sidebar .brand-copy span {
    font-size: 11px;
  }

  .responsive-menu-button {
    width: 34px;
    height: 34px;
    padding: 0;
  }

  .sidebar-footer {
    gap: 6px;
    margin-left: 8px;
  }

  .session-avatar-content {
    width: 38px;
    height: 38px;
    font-size: 12px;
  }

  .responsive-menu-button strong {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .hamburger-icon,
  .hamburger-icon::before,
  .hamburger-icon::after {
    width: 17px;
  }

  .workspace {
    padding: 22px 20px 34px;
  }

  .operational-form-grid,
  .operational-check-grid,
  .operational-team-functions-grid,
  .operational-link-columns {
    grid-template-columns: 1fr;
  }

  .operational-item-config,
  .operational-config-input {
    grid-template-columns: 1fr;
  }

  .responsive-menu-panel {
    top: 62px;
    left: auto;
    right: 14px;
    width: min(282px, calc(100vw - 10px));
    max-height: calc(100vh - 67px);
    padding: 12px;
  }

  .responsive-nav .nav-item {
    min-height: 40px;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 10px;
    padding: 0 12px;
    font-size: 14px;
  }

  .responsive-nav .nav-parent {
    grid-template-columns: 24px minmax(0, 1fr) 14px;
  }

  .responsive-nav .nav-icon {
    width: 24px;
    height: 24px;
    font-size: 18px;
  }

  .responsive-nav .nav-children {
    margin-left: 15px;
  }

  .responsive-nav .nav-children-inner {
    padding-left: 18px;
  }

  .topbar,
  .section-heading,
  .hero-band,
  .auth-panel {
    align-items: stretch;
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .module-flow {
    justify-content: flex-start;
  }

  .login-form {
    grid-template-columns: 1fr;
  }

  .session-card {
    align-items: stretch;
    flex-direction: column;
  }

  .topbar-actions,
  .ghost-button {
    width: 100%;
    justify-content: center;
  }

  .entity-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .entity-summary-grid,
  .import-export-summary,
  .record-list dl,
  .renderer-field-grid,
  .person-info-summary,
  .person-photo-editor,
  .person-info-grid,
  .person-link-row,
  .people-directory-controls {
    grid-template-columns: 1fr;
  }

  .directory-pagination {
    align-items: flex-start;
    flex-direction: column;
  }

  .directory-pagination-controls {
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .person-photo-current {
    justify-self: center;
  }

  .person-info-summary > div + div {
    border-top: 1px solid var(--border);
    border-left: 0;
  }

  .field-row {
    grid-template-columns: 1fr;
  }

  .renderer-field-grid:has(.field-country + .field-postal-code + .field-address-line + .field-district + .field-city + .field-state + .field-address-number + .field-address-complement) {
    grid-template-columns: 1fr;
  }

  .renderer-field-grid:has(.field-email + .field-phone-country-code + .field-phone),
  .renderer-field-grid:has(.field-display-name + .field-phone-country-code + .field-phone + .field-email),
  .renderer-field-grid:has(.field-name + .field-phone-country-code + .field-phone + .field-email),
  .renderer-field-grid:has(.field-legal-name + .field-birth-date + .field-document-type) {
    grid-template-columns: 1fr;
  }

  .renderer-field-grid:has(.field-legal-name + .field-birth-date + .field-document-type) .renderer-field {
    grid-column: auto;
  }

  .renderer-field-grid:has(.field-system-user) {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .renderer-field-grid:has(.field-system-user) .field-person-functions,
  .renderer-field-grid:has(.field-system-user) .field-system-user,
  .renderer-field-grid:has(.field-system-user) .field-access-email,
  .renderer-field-grid:has(.field-system-user) .field-access-password {
    grid-column: auto;
  }

  .renderer-field-grid:has(.field-country + .field-postal-code + .field-address-line + .field-district + .field-city + .field-state + .field-address-number + .field-address-complement) .renderer-field {
    order: initial;
    grid-column: auto;
  }
}

#projectCreateForm {
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 0;
}

.project-create-scroll {
  min-height: 0;
  padding: 28px 18px 18px;
  display: grid;
  gap: 18px;
  overflow: auto;
}

.modal-body .project-create-actions {
  position: static;
  z-index: auto;
  bottom: auto;
  margin: 0;
  padding: 14px 36px 18px 18px;
  justify-content: flex-end;
  border-top: 1px solid var(--border);
  background: var(--surface);
}

.project-submit-feedback {
  max-width: min(520px, 55vw);
  margin-right: auto;
  color: var(--ink-muted);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
}

.project-submit-feedback[data-tone="error"] {
  color: #b94a28;
}

.project-submit-feedback[data-tone="warning"] {
  color: var(--warning-strong);
}

.project-submit-feedback[data-tone="muted"] {
  color: var(--ink-muted);
}

#projectCreateForm select:not([multiple]) {
  appearance: none;
  padding-right: 42px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23667482' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#projectCreateForm .project-required-field > span:first-child::after,
#projectCreateForm .project-required-label::after {
  content: " *";
  color: #b94a28;
  font: inherit;
  font-weight: 900;
}

#projectCreateForm :is(input, select, textarea).project-required-error {
  border-color: var(--border-strong);
  border-bottom-color: #e36f4d;
  background-color: #fff8f5;
  box-shadow: inset 0 -1px 0 #e36f4d;
}

#projectCreateForm :is(input, select, textarea).project-required-error:focus {
  outline: 2px solid color-mix(in srgb, #e36f4d 55%, transparent);
}

.project-required-field-error {
  display: block;
  color: #b94a28;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.3;
}

#projectCreateForm .project-catalog-selection.project-required-error {
  padding-bottom: 10px;
  border-bottom: 2px solid #e36f4d;
}

.project-status-menu {
  position: relative;
}

.project-status-menu > summary {
  list-style: none;
}

.project-status-menu > summary::-webkit-details-marker {
  display: none;
}

.project-status-menu-panel {
  position: absolute;
  z-index: 6;
  right: 0;
  top: calc(100% + 6px);
  min-width: 180px;
  padding: 6px;
  display: grid;
  gap: 4px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.project-status-menu-panel button,
.project-status-menu-panel a {
  height: 30px;
  border: 0;
  border-radius:0;
  padding: 0 10px;
  color: var(--ink);
  background: transparent;
  font-size: 12px;
  font-weight: 800;
  text-align: left;
  text-decoration: none;
  display: flex;
  align-items: center;
}

.project-status-menu-panel button:hover,
.project-status-menu-panel a:hover {
  background: color-mix(in srgb, var(--accent) 12%, transparent);
}

.project-status-menu-panel button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.project-files-manager {
  display: grid;
  gap: 12px;
}

.project-form-section {
  display: grid;
  gap: 14px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

.project-form-section:first-child {
  padding-top: 0;
  border-top: 0;
}

.project-form-section[hidden] {
  display: none;
}

.project-form-section header h3 {
  margin: 0;
  color: var(--ink-muted);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.project-form-grid {
  display: grid;
  grid-template-columns: repeat(24, minmax(0, 1fr));
  gap: 16px;
  align-items: end;
  max-width: 100%;
}

.legacy-contract-correction-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
}

.legacy-contract-correction-grid > .people-filter {
  min-width: 0;
}

.legacy-contract-signed-on {
  grid-column: span 3;
}

.legacy-contract-reference {
  grid-column: span 9;
}

.legacy-contract-document-url {
  grid-column: 1 / -1;
}

.legacy-contract-notes,
.legacy-contract-reason {
  grid-column: span 6;
}

.legacy-contract-correction-grid textarea {
  min-height: 104px;
}

@media (max-width: 760px) {
  .legacy-contract-correction-grid {
    grid-template-columns: 1fr;
  }

  .legacy-contract-correction-grid > .people-filter {
    grid-column: 1 / -1;
  }
}

.project-field-type {
  grid-column: span 5;
}

.project-field-title {
  grid-column: span 14;
}

.project-field-creation-date {
  grid-column: span 5;
}

.project-field-client {
  grid-column: span 9;
}

.project-field-email {
  grid-column: span 7;
}

.project-field-ddd {
  grid-column: span 2;
}

.project-field-phone {
  grid-column: span 6;
}

.project-client-full-grid {
  grid-template-columns: repeat(24, minmax(0, 1fr));
  align-items: end;
  padding-top: 4px;
}

.project-client-full-grid .people-filter {
  min-width: 0;
}

.project-client-full-grid .people-filter > span {
  min-height: 18px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.project-client-address-feedback-row {
  min-height: 18px;
  margin-top: -6px;
}

.project-client-address-feedback-row[hidden] {
  display: none;
}

.project-client-address-feedback-row .project-client-address-status {
  display: block;
}

.project-client-contact-grid.project-client-person-grid,
.project-client-contact-grid.project-client-organization-grid {
  grid-template-columns: minmax(280px, 1fr) minmax(82px, 112px) minmax(220px, 0.85fr) minmax(260px, 0.95fr);
}

.project-client-contact-grid.project-client-readonly-contact-grid {
  grid-template-columns: minmax(82px, 112px) minmax(220px, 0.85fr) minmax(260px, 1fr);
}

.project-client-contact-grid .project-field-client,
.project-client-contact-grid .project-field-ddd,
.project-client-contact-grid .project-field-phone,
.project-client-contact-grid .project-field-email {
  grid-column: auto;
}

.project-field-client-legal {
  grid-column: span 12;
}

.project-field-document-type {
  grid-column: span 4;
}

.project-field-document {
  grid-column: span 8;
}

.project-client-organization-grid .project-field-document {
  grid-column: span 12;
}

.project-field-country {
  order: 1;
  grid-column: span 4;
}

.project-field-postal {
  order: 2;
  grid-column: span 4;
}

.project-field-address-line {
  order: 3;
  grid-column: span 12;
}

.project-field-address-number {
  order: 4;
  grid-column: span 4;
}

.project-field-address-complement {
  order: 5;
  grid-column: span 8;
}

.project-field-district {
  order: 6;
  grid-column: span 6;
}

.project-field-city {
  order: 7;
  grid-column: span 6;
}

.project-field-state {
  order: 8;
  grid-column: span 4;
}

.project-client-canonical-hint {
  display: block;
  margin-top: -6px;
}

.project-client-canonical-hint[hidden] {
  display: none;
}

.project-create-button {
  justify-self: end;
  min-width: 120px;
}

.project-type-fields {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 16px;
}

.project-catalog-selection {
  grid-column: 1 / -1;
  display: grid;
  gap: 16px;
}

.project-type-fields[hidden] {
  display: none;
}

.project-past-recording-declaration {
  grid-column: 1 / -1;
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--warning) 52%, var(--border));
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--warning) 9%, var(--surface-2));
}

.project-past-recording-declaration[hidden] {
  display: none;
}

.project-past-recording-declaration > div,
.project-past-recording-declaration > .people-filter {
  display: grid;
  gap: 5px;
}

.project-past-recording-declaration small {
  color: var(--ink-muted);
}

.project-past-recording-confirmation {
  display: flex;
  align-items: center;
  gap: 9px;
  font-weight: 750;
}

.project-past-recording-confirmation input {
  width: 18px;
  height: 18px;
}

.project-catalog-selection[hidden] {
  display: none;
}

.signed-recurring-contract-snapshot {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.signed-recurring-contract-heading,
.signed-recurring-contract-guidance,
.signed-recurring-contract-scope,
.signed-recurring-contract-metrics {
  min-width: 0;
}

.signed-recurring-contract-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.signed-recurring-contract-heading > div { display: grid; gap: 4px; }

.signed-recurring-contract-heading small,
.signed-recurring-contract-scope small {
  color: var(--ink-muted);
  line-height: 1.45;
}

.signed-recurring-contract-metrics {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.signed-recurring-contract-metrics > div,
.recurrence-configuration-comparison > section {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
}

.signed-recurring-contract-metrics dt,
.recurrence-configuration-comparison dt,
.recurrence-configuration-comparison > section > span,
.signed-recurring-contract-scope article > span {
  color: var(--ink-muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.signed-recurring-contract-metrics dd,
.recurrence-configuration-comparison dd {
  margin: 5px 0 0;
  color: var(--ink);
  font-size: 18px;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.signed-recurring-contract-scope {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.signed-recurring-contract-scope article {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
}

.signed-recurring-contract-scope ul {
  margin: 10px 0 0;
  padding: 0;
  display: grid;
  gap: 8px;
  list-style: none;
}

.signed-recurring-contract-scope li { display: grid; gap: 2px; }

.signed-recurring-contract-guidance {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

.signed-recurring-contract-guidance p {
  margin: 0;
  padding: 11px 12px;
  border-left: 3px solid var(--teal);
  background: var(--surface);
  color: var(--ink-muted);
  line-height: 1.45;
}

.recurrence-configuration-comparison {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
}

.recurrence-configuration-comparison > section {
  display: grid;
  align-content: start;
  gap: 12px;
}

.recurrence-configuration-comparison dl {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.recurrence-configuration-comparison .project-form-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.recurrence-configuration-arrow {
  align-self: center;
  color: var(--ink-muted);
  font-size: 24px;
  font-weight: 900;
}

.recurrence-configuration-footer {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

@media (max-width: 760px) {
  .signed-recurring-contract-metrics,
  .signed-recurring-contract-scope,
  .signed-recurring-contract-guidance,
  .recurrence-configuration-comparison,
  .recurrence-configuration-comparison dl,
  .recurrence-configuration-comparison .project-form-grid,
  .recurrence-configuration-footer {
    grid-template-columns: minmax(0, 1fr);
  }

  .signed-recurring-contract-heading { flex-direction: column; }

  .recurrence-configuration-arrow {
    justify-self: center;
    transform: rotate(90deg);
  }
}


.project-package-row {
  display: grid;
  grid-template-columns: minmax(220px, 260px) auto;
  gap: 12px;
  align-items: end;
}

.project-toggle-items-button {
  min-height: 38px;
  width: max-content;
}

.project-freeform-summary {
  grid-column: 1 / -1;
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-soft);
}

.project-freeform-summary strong {
  color: var(--ink);
}

.project-freeform-summary small {
  color: var(--ink-muted);
}

.project-catalog-items-panel {
  margin-top: 14px;
}

.project-catalog-items-panel[hidden] {
  display: none;
}

.project-finance-section {
  display: grid;
  gap: 14px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

.project-finance-section header h3,
.project-finance-installments h4 {
  margin: 0;
  color: var(--ink-muted);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.project-finance-grid,
.project-finance-installment-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}

.project-finance-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.project-finance-discount,
.project-finance-mode,
.project-finance-cash-date {
  grid-column: span 3;
}

.project-finance-total {
  grid-column: span 3;
}

.project-finance-grid > .people-filter {
  grid-column: span 3;
}

.project-finance-grid > .people-filter > span:first-child {
  color: var(--classic-muted);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.project-finance-grid :is(
  [data-project-finance-total-label],
  [data-project-finance-mode-label],
  [data-project-finance-payment-date-label]
) {
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

.project-finance-upfront-field {
  grid-column: 1 / span 3;
}

.project-finance-upfront-date,
.project-finance-final-field,
.project-finance-final-date {
  grid-column: span 3;
}

.project-finance-total-display {
  min-height: 38px;
  display: flex;
  align-items: center;
  color: var(--ink);
  font-size: 18px;
  font-weight: 900;
}

.project-finance-final-field {
  position: relative;
}

.project-finance-error {
  color: var(--danger);
  font-size: 11px;
  font-weight: 800;
}

.project-finance-installments {
  grid-column: 1 / -1;
}

.project-finance-grid > label.project-finance-notes,
.project-payment-mode-preview {
  grid-column: span 6;
  min-width: 0;
}

.project-finance-notes textarea,
.project-payment-mode-preview output {
  min-height: 132px;
}

.project-payment-mode-preview {
  display: grid;
  gap: 7px;
}

.project-payment-mode-preview > span {
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.project-payment-mode-preview output {
  display: block;
  padding: 12px 14px;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.55;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-soft);
}

.project-finance-installments {
  display: grid;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.project-finance-installment-grid > .people-filter {
  grid-column: span 4;
}

[data-finance-installment-field][hidden],
[data-finance-cash-field][hidden] {
  display: none;
}

.project-package-field {
  min-width: 0;
}

.project-package-field select {
  padding-right: 24px;
}

.project-catalog-columns {
  --project-catalog-column-gap: 14px;
  --project-catalog-group-padding: 10px;
  --project-recording-connection-exit: calc(2px + var(--project-catalog-group-padding));
  --project-recording-connection-panel-edge: calc(var(--project-recording-connection-exit) + var(--project-catalog-column-gap));
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--project-catalog-column-gap);
}

.project-catalog-group {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface);
}

.project-catalog-group h3 {
  margin: 0;
  color: var(--ink-muted);
  font-size: 13px;
  font-weight: 900;
}

.project-recording-catalog-group {
  position: relative;
  z-index: 2;
}

.project-video-catalog-group {
  position: relative;
  z-index: 1;
}

.project-video-catalog-group:has(> .project-video-owner-configuration:not([hidden])) {
  border-color: var(--accent-strong);
}

.project-catalog-muuri-list {
  position: relative;
  width: 100%;
  min-height: 45px;
}

.project-catalog-muuri-list > [data-project-type-catalog-item-row] {
  position: absolute;
  width: 100%;
  margin: 0 0 7px;
  z-index: 1;
}

.project-catalog-muuri-list > .muuri-item-dragging {
  z-index: 3;
}

.project-catalog-muuri-list > .muuri-item-releasing {
  z-index: 2;
}

.project-catalog-item-row {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 60px;
  gap: 8px;
  align-items: center;
  min-height: 38px;
  padding: 6px 8px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-2);
}

.project-catalog-item-row strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  line-height: 1.2;
}

.project-catalog-item-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.project-video-context-summary {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: var(--ink-muted);
  font-size: 9px;
  font-weight: 750;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-video-catalog-item-row {
  grid-template-columns: 42px minmax(0, 1fr) 52px;
}

.project-video-catalog-item-row:not(:has(> .project-video-context-quantity)),
.project-video-catalog-item-row:has(> .project-video-context-quantity[hidden]) {
  grid-template-columns: 42px minmax(0, 1fr);
}

.project-video-context-quantity {
  display: grid;
  place-items: center;
  width: 52px;
}

.project-video-context-quantity > input[type="number"] {
  width: 52px;
  padding-inline: 4px;
  text-align: center;
}

.project-video-catalog-item-row.selected,
.project-catalog-variant-row.selected {
  border-color: var(--border);
  box-shadow: none;
}

.project-catalog-variant-row > .project-video-context-summary {
  grid-column: 2;
  grid-row: 2;
}

.project-video-owner-unit-tabs {
  grid-column: 1 / -1;
  display: grid;
  gap: 5px;
  min-width: 0;
}

.project-media-video-owner {
  margin-top: 3px;
}

.project-video-owner-tab {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  width: 100%;
  min-height: 34px;
  border: 1px solid var(--border-strong);
  border-radius: 0;
  padding: 6px 8px;
  color: var(--ink);
  background: var(--surface);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.project-video-owner-tab:hover,
.project-video-owner-tab:focus-visible {
  border-color: var(--accent-strong);
}

.project-video-owner-tab.active {
  border-color: var(--border-strong);
  background: var(--surface-3);
}

.project-video-owner-tab > span:first-child {
  min-width: 0;
  overflow: hidden;
  font-size: 11px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-video-owner-tab > small {
  color: var(--ink-muted);
  font-size: 9px;
  font-weight: 850;
  white-space: nowrap;
}

.project-video-owner-tab > small[data-tone="error"] {
  color: var(--danger, #b42318);
}

.project-video-owner-tab > small[data-tone="success"] {
  color: var(--success, #178153);
}

.project-catalog-item-row.project-video-owner-active,
.project-primary-recording-control.project-video-owner-active {
  border-color: var(--accent-strong);
  box-shadow: none;
  background: var(--surface-3);
}

.project-recording-selector-row {
  position: relative;
  grid-template-columns: 42px minmax(0, 1fr);
  min-height: 44px;
  padding-block: 6px;
  cursor: pointer;
}

@media (min-width: 1181px) {
  .project-recording-selector-row.project-video-owner-active {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right-color: transparent;
  }

  .project-recording-selector-row.project-video-owner-active::after {
    content: "";
    position: absolute;
    z-index: 3;
    top: -1px;
    bottom: -1px;
    left: 100%;
    width: calc(var(--project-recording-connection-panel-edge) + 1px);
    border-top: 1px solid var(--accent-strong);
    border-bottom: 1px solid var(--accent-strong);
    background: linear-gradient(
      to right,
      var(--surface-3) 0 var(--project-recording-connection-exit),
      transparent var(--project-recording-connection-exit) var(--project-recording-connection-panel-edge),
      var(--surface) var(--project-recording-connection-panel-edge) 100%
    );
    pointer-events: none;
  }
}

.project-recording-context-trigger {
  appearance: none;
  min-width: 0;
  min-height: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.project-recording-context-trigger > strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-recording-context-trigger > small {
  flex: 0 0 auto;
  color: var(--ink-muted);
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
}

.project-recording-context-trigger:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.project-primary-recording-control.project-recording-selector-row {
  grid-template-columns: minmax(0, 1fr);
}

.project-primary-recording-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.project-primary-recording-copy > small {
  overflow: hidden;
  color: var(--ink-muted);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-recording-context-fields {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  min-width: 0;
}

.project-recording-context-fields[hidden] {
  display: none;
}

.project-recording-context-fields > .project-catalog-item-team,
.project-recording-context-fields > .project-catalog-item-date,
.project-recording-context-fields > .project-catalog-item-location {
  grid-column: 1 / -1;
}

.project-video-owner-configuration {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 2px 0 12px;
  border-bottom: 1px solid var(--border);
}

.project-video-owner-configuration[hidden] {
  display: none;
}

.project-video-owner-configuration-heading {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 3px 8px;
}

.project-video-owner-configuration-heading > small {
  grid-column: 1 / -1;
  color: var(--ink-muted);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.project-video-owner-configuration-heading > strong {
  min-width: 0;
  overflow: hidden;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-video-owner-configuration-heading > span {
  color: var(--ink-muted);
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

.project-video-owner-configuration-fields {
  min-width: 0;
}

.project-video-owner-unit-tabs {
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
}

.project-video-destinations {
  display: none;
}

.project-video-ownership-feedback {
  margin: 8px 0 0;
  color: var(--ink-muted);
  font-size: 11px;
}

.project-video-ownership-feedback[data-tone="error"] {
  color: var(--danger, #b42318);
}

.project-video-ownership-feedback[data-tone="warning"] {
  color: var(--warning-strong);
}

.project-video-ownership-feedback[data-tone="success"] {
  color: var(--success, #178153);
}

.project-catalog-variant-row {
  grid-template-columns: 42px minmax(0, 1fr);
}

.project-catalog-item-row.project-catalog-selection-item-row:not(.project-video-catalog-item-row):not(:has(> input[type="number"])) {
  grid-template-columns: 42px minmax(0, 1fr);
}

.project-catalog-item-row.project-catalog-selection-item-row:has(> [data-project-service-quantity][hidden]) {
  grid-template-columns: 42px minmax(0, 1fr);
}

.project-catalog-item-row:has(> select),
.project-catalog-item-row:has(> input[type="number"]) {
  padding-block: 3px;
}

.project-catalog-variant-row > [data-project-variant-label],
.project-catalog-variant-row > select {
  grid-column: 2;
  grid-row: 1;
}

.project-video-destinations {
  grid-column: 1 / -1;
  width: 100%;
  padding: 8px;
  border-top: 1px solid var(--border);
  background: var(--surface-2);
}

.project-video-owner-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr));
  gap: 7px;
}

.project-video-owner-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 58px;
  align-items: center;
  gap: 7px;
  color: var(--ink-muted);
  font-size: 11px;
}

.project-video-owner-option input {
  width: 100%;
  min-width: 0;
  height: 28px;
  padding-inline: 5px;
}

.project-video-ownership-feedback {
  margin: 8px 0 0;
  color: var(--ink-muted);
  font-size: 11px;
}

.project-video-ownership-feedback[data-tone="error"] {
  color: var(--danger);
}

.project-video-ownership-feedback[data-tone="success"] {
  color: var(--success);
}

.project-catalog-variant-row > select,
.addendum-catalog-variant select {
  width: 100%;
  min-width: 0;
}

.project-catalog-variant-row > select {
  height: 30px;
  min-height: 30px;
  border: 0;
  border-radius:0;
  padding: 0 34px 0 0;
  background-color: transparent;
  background-position: right 8px center;
  box-shadow: none;
  font-size: 13px;
}

.project-catalog-variant-row > select:focus {
  border-color: transparent;
  outline: 0;
  box-shadow: none;
}

.project-catalog-variant-row > select:focus-visible {
  color: var(--accent-text);
}

.project-catalog-variant-row > select[hidden],
.project-catalog-variant-row > [data-project-variant-label][hidden],
.project-catalog-variant-row > [data-addendum-variant-label][hidden],
.addendum-catalog-variant select[hidden],
[data-relation-option-item][hidden] {
  display: none;
}

.operational-link-item-row {
  grid-template-columns: 42px minmax(0, 1fr);
}

.operational-link-item-row.relation-required-row:has(> .relation-required-quantity) {
  grid-template-columns: 42px minmax(0, 1fr) 60px;
}

.operational-link-item-row.has-recording-role {
  grid-template-columns: 42px minmax(0, 1fr) minmax(90px, 120px);
}

.item-relation-group-form [data-relation-option-item] {
  grid-template-columns: 42px minmax(0, 1fr);
}

.item-relation-group-form.relation-purpose-variant .operational-catalog-type-columns {
  grid-template-columns: minmax(0, 1fr);
}

.item-relation-group-form.relation-purpose-variant [data-catalog-item-type]:not([data-catalog-item-type="video"]) {
  display: none;
}

.item-relation-group-form.relation-purpose-variant [data-catalog-item-type="video"] {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  column-gap: 12px;
}

.item-relation-group-form.relation-purpose-variant [data-catalog-item-type="video"] > h3 {
  grid-column: 1 / -1;
}

.operational-link-item-row select {
  width: 100%;
  min-width: 0;
}

.operational-link-item-row select[name^="recordingRole:"] {
  align-self: center;
  height: 30px;
  min-height: 30px;
  padding: 0 24px 0 8px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}

.operational-link-item-row.is-reorderable {
  grid-template-columns: 22px 42px minmax(0, 1fr);
}

.operational-link-item-row.is-reorderable:not(.has-recording-role) strong {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

.operational-link-item-row.is-reorderable.has-recording-role {
  grid-template-columns: 22px 42px minmax(0, 1fr) minmax(90px, 120px);
}

.operational-link-item-row.is-dragging {
  opacity: .72;
  box-shadow: var(--shadow);
}

.project-catalog-item-row.project-contracted-item-row {
  grid-template-columns: minmax(0, 1fr) auto;
}

.project-contracted-items-columns {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.project-contracted-item-row .badge {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-contracted-item-row .project-item-origin-addendum {
  color: #3f2b75;
  background: rgb(139 92 246 / 22%);
}

:root[data-theme="dark"] .project-contracted-item-row .project-item-origin-addendum {
  color: #eadfff;
  background: rgb(139 92 246 / 34%);
}

.project-catalog-item-row input[type="number"] {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--border-strong);
  border-radius:0;
  height: 30px;
  min-height: 30px;
  padding: 0 7px;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  font-weight: 850;
}

.project-catalog-item-date {
  grid-column: 1 / -1;
  display: grid;
  gap: 4px;
  width: 100%;
  min-width: 0;
}

.project-catalog-item-custom-field {
  grid-column: 1 / -1;
  display: grid;
  gap: 4px;
  min-width: 0;
}

.project-catalog-item-date > span,
.project-catalog-item-location > span,
.project-catalog-item-custom-field > span {
  color: var(--ink-soft);
  font-size: 11px;
  font-weight: 800;
}

.project-catalog-item-custom-field > input {
  width: 100%;
  min-width: 0;
}

.project-catalog-item-team {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 6px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.project-catalog-item-team legend,
.project-catalog-item-team label {
  color: var(--ink-soft);
  font-size: 11px;
  font-weight: 800;
}

.project-catalog-item-team legend {
  grid-column: 1 / -1;
}

.project-catalog-item-team label {
  display: grid;
  gap: 4px;
}

.project-catalog-item-location {
  position: relative;
  grid-column: 1 / -1;
  display: grid;
  width: 100%;
}

.project-catalog-item-date input,
.project-catalog-item-location input[type="search"] {
  width: 100%;
}

.project-primary-recording-control {
  display: grid;
  gap: 8px;
  padding: 6px 8px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-2);
}

.project-primary-recording-control strong {
  font-size: 13px;
}

.project-primary-recording-control select {
  width: 100%;
}

.project-recording-context-fields > .project-catalog-item-custom-field {
  grid-column: auto;
}

.project-primary-recording-context-fields > .project-catalog-item-custom-field {
  grid-column: 1 / -1;
}

.project-catalog-item-date[hidden],
.project-catalog-item-custom-field[hidden],
.project-catalog-item-team[hidden] {
  display: none;
}

.project-catalog-item-date > input {
  width: 100%;
  min-width: 0;
}

.project-dynamic-field {
  grid-column: span 4;
}

.project-dynamic-field-event_time,
.project-dynamic-field-guest_count {
  grid-column: span 2;
}

.project-dynamic-field.wide {
  grid-column: span 8;
}

.project-dynamic-field textarea {
  min-height: 74px;
  resize: vertical;
  border: 1px solid var(--border-strong);
  border-radius:0;
  padding: 10px;
  color: var(--ink);
  background: var(--surface-2);
  font: inherit;
  font-size: 13px;
  font-weight: 750;
}

.project-dynamic-field textarea:focus {
  outline: 2px solid var(--teal);
  outline-offset: 2px;
}

.project-upload-field {
  display: grid;
  gap: 6px;
  max-width: 520px;
}

.project-upload-fields {
  display: grid;
  gap: 12px;
}

.project-upload-dropzone {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  grid-template-areas:
    "icon title";
  gap: 8px;
  align-items: center;
  width: 100%;
  height: 38px;
  min-height: 38px;
  padding: 0 10px;
  border: 1px dashed rgb(var(--accent-rgb) / 65%);
  border-radius:0;
  background: var(--surface-2);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.project-upload-dropzone input[type="file"] {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
  pointer-events: none;
}

.project-file-upload-field {
  max-width: none;
}

.project-file-upload-dropzone {
  height: 74px;
  min-height: 74px;
  padding: 0 28px;
  border-color: rgb(var(--accent-rgb) / 85%);
  border-radius:0;
  background: var(--surface);
}

.project-file-upload-dropzone svg {
  width: 28px;
  height: 28px;
}

.project-file-upload-dropzone strong {
  font-size: 18px;
}

.project-upload-dropzone svg {
  grid-area: icon;
  width: 20px;
  height: 20px;
  stroke: rgb(var(--accent-rgb));
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

.project-upload-dropzone strong {
  grid-area: title;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
}

.project-upload-dropzone small {
  display: none;
}

.operational-schedule-upload-field {
  display: grid;
  gap: 8px;
}

.operational-schedule-upload-title {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.operational-schedule-upload-dropzone {
  grid-template-columns: 36px minmax(0, 1fr);
  grid-template-areas: "icon copy";
  column-gap: 16px;
  min-height: 88px;
  height: auto;
  padding: 16px 20px;
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.operational-schedule-upload-dropzone:hover {
  border-color: rgb(var(--accent-rgb));
  background: rgb(var(--accent-rgb) / 5%);
}

.operational-schedule-upload-dropzone:focus-within {
  border-color: rgb(var(--accent-rgb));
  box-shadow: 0 0 0 3px rgb(var(--accent-rgb) / 14%);
}

.operational-schedule-upload-copy {
  grid-area: copy;
  display: grid;
  gap: 7px;
  min-width: 0;
}

.operational-schedule-upload-copy strong {
  grid-area: auto;
  overflow: hidden;
  color: var(--ink);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.operational-schedule-upload-copy small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.2;
}

.operational-schedule-current-file {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.operational-schedule-current-file a {
  color: var(--accent-text);
  font-weight: 800;
}

.project-client-field {
  position: relative;
}

.project-client-selection-clear {
  justify-self: start;
  min-height: 26px;
  border: 0;
  padding: 0;
  color: var(--accent-text);
  background: transparent;
  font: inherit;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}

.project-client-results {
  position: absolute;
  z-index: 20;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  display: none;
  width: 100%;
  max-height: 260px;
  overflow: auto;
  padding: 6px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface);
  box-shadow: var(--shadow);
}

#projectCreateForm[data-form-mode="change-client"] .project-client-results {
  position: static;
  grid-column: 1 / -1;
  margin-top: 8px;
}

.project-client-results.visible {
  display: grid;
  gap: 4px;
}

.project-client-results button {
  display: grid;
  gap: 6px;
  width: 100%;
  min-height: 74px;
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-2);
  color: var(--ink);
  text-align: left;
}

.project-client-results button:hover,
.project-client-results button:focus-visible {
  border-color: rgb(var(--accent-rgb) / 70%);
  background: rgb(var(--accent-rgb) / 9%);
  outline: none;
}

.project-client-results strong,
.project-client-results span,
.project-client-empty {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-client-results span,
.project-client-empty {
  color: var(--ink-muted);
  font-size: 13px;
  font-weight: 800;
}

.project-client-empty {
  min-height: 42px;
  padding: 11px 10px;
}

.compact-field input {
  min-width: 0;
}

.project-create-button {
  min-height: 38px;
  white-space: nowrap;
}

.projects-list-panel {
  overflow: visible;
}

.commercial-projects-table-wrap {
  container: commercial-projects / inline-size;
}

.projects-list-panel .table-wrap {
  overflow: visible;
}

.project-directory-controls {
  display: flex;
  gap: 12px;
  align-items: end;
  margin-bottom: 10px;
}

.project-search-filter {
  flex: 1 1 420px;
  max-width: 620px;
}

.project-sort-filter {
  position: relative;
  flex: 0 0 230px;
  max-width: 230px;
}

.project-sort-filter select,
.project-stage-filter select {
  height: 38px;
  min-height: 38px;
}

.project-search-control {
  position: relative;
  display: block;
}

.project-search-control input {
  box-sizing: border-box;
  height: 38px;
  min-height: 38px;
  padding-right: 42px;
}

.project-search-control input::-webkit-search-cancel-button {
  appearance: none;
}

.project-clear-search {
  position: absolute;
  top: 50%;
  right: 5px;
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 0;
  border-radius:0;
  padding: 0;
  color: var(--ink-muted);
  background: transparent;
  cursor: pointer;
  transform: translateY(-50%);
}

.project-clear-search:hover {
  color: var(--ink);
  background: var(--surface-3);
}

.project-clear-search svg,
.project-filter-menu > summary svg,
.project-clear-filters svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.project-filter-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.project-filter-menu {
  position: relative;
}

.project-filter-menu > summary {
  position: relative;
  display: flex;
  min-width: 116px;
  min-height: 38px;
  align-items: center;
  gap: 8px;
  padding-right: 34px;
  list-style: none;
  cursor: pointer;
}

.project-filter-menu > summary::-webkit-details-marker {
  display: none;
}

.project-filter-menu > summary::after {
  position: absolute;
  right: 13px;
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  content: "";
  transform: translateY(-2px) rotate(45deg);
  transition: transform 140ms ease;
}

.project-filter-menu[open] > summary::after {
  transform: translateY(2px) rotate(225deg);
}

.project-filter-menu[open] > summary,
.project-filter-menu > summary.is-active {
  border-color: var(--teal);
}

.project-filter-count {
  display: grid;
  min-width: 20px;
  height: 20px;
  place-items: center;
  border-radius:0;
  padding: 0 6px;
  color: var(--accent-contrast);
  background: var(--teal);
  font-size: 11px;
  font-weight: 900;
}

.project-filter-popover {
  position: absolute;
  z-index: 40;
  top: calc(100% + 8px);
  right: 0;
  display: grid;
  width: min(590px, calc(100vw - 48px));
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  border: 1px solid var(--border);
  border-radius:0;
  padding: 16px;
  background: var(--surface);
  box-shadow:none;
}

.project-list-filter {
  position: relative;
}

.project-list-filter select {
  appearance: none;
  min-width: 0;
  max-width: 100%;
  padding-right: 48px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
}

.project-clear-filters {
  min-width: 38px;
  min-height: 38px;
  color: var(--ink-muted);
}

.projects-table-wrap,
.projects-table {
  overflow: visible;
}

.projects-table td {
  height: auto;
  min-height: 72px;
  padding-top: 16px;
  padding-bottom: 16px;
}

.projects-table th:first-child,
.projects-table td:first-child {
  min-width: 145px;
}

.operational-project-title-link,
.operational-project-title-link:link,
.operational-project-title-link:visited {
  display: inline-block;
  max-width: 100%;
  border-radius:0;
  color: inherit;
  text-decoration: none;
  transition: color 140ms ease, background-color 140ms ease, box-shadow 140ms ease;
}

.operational-project-title-link:hover {
  color: var(--accent-text);
  text-decoration: none;
}

.operational-project-title-link:focus-visible {
  outline: 0;
  color: var(--accent-text);
  background: rgb(var(--accent-rgb) / 8%);
  box-shadow: 0 0 0 3px rgb(var(--accent-rgb) / 18%);
}

.projects-table .project-location-cell {
  max-width: 280px;
  white-space: normal;
  overflow-wrap: anywhere;
}

.commercial-projects-table .project-location-cell {
  width: 220px;
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.projects-table .project-total-cell {
  white-space: nowrap;
  font-weight: 900;
}

.projects-table .project-director-cell {
  min-width: 190px;
  white-space: nowrap;
}

.project-director-assignment {
  width: min(220px, 100%);
  min-height: 38px;
  padding: 7px 38px;
  border: 0;
  border-bottom: 1px solid var(--border);
  border-radius: 0;
  background-color: transparent;
  background-position: right 12px center;
  background-size: 14px;
  color: var(--ink);
  font: inherit;
  font-weight: 800;
  overflow: hidden;
  text-align: center;
  text-align-last: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
}

.project-director-assignment[aria-busy="true"] {
  cursor: wait;
  opacity: .65;
}

.projects-table .options-cell {
  width: 104px;
  overflow: visible;
  white-space: nowrap;
}

.projects-table .options-column {
  width: 104px;
}

.projects-table .options-cell .icon-only-button {
  vertical-align: middle;
}

.projects-table .options-cell .project-status-menu {
  display: inline-block;
  margin-left: 6px;
  vertical-align: middle;
}

.projects-table .options-cell > .project-status-menu:first-child {
  margin-left: 0;
}

.project-options-menu > .project-status-menu-panel {
  min-width: 236px;
}

.text-row-button {
  display: grid;
  gap: 2px;
  width: 100%;
  min-height: 42px;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  text-align: left;
}

.text-row-button strong,
.text-row-button span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-row-button span {
  color: var(--ink-muted);
  font-size: 12px;
}

.project-recording-primary-scope {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.project-recording-primary-scope span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-3);
  color: var(--ink-muted);
  font-size: 12px;
}

.project-recording-primary-scope strong {
  color: var(--ink);
  font-size: 11px;
  text-transform: uppercase;
}

.project-recordings-panel {
  display: grid;
  gap: 1rem;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

#operationalProjectDetailModalBody > .project-recordings-panel:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.project-recordings-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.project-recording-timeline-scroll {
  overflow-x: auto;
  padding: 4px 2px 12px;
  scrollbar-width: thin;
}

.project-recording-timeline {
  width: 100%;
  min-width: max-content;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  list-style: none;
}

.project-recording-timeline-step {
  position: relative;
  width: 180px;
  max-width: 260px;
  flex: 1 0 180px;
  display: grid;
  justify-items: center;
  gap: 3px;
  padding: 0 12px;
  color: var(--ink-muted);
  text-align: center;
}

.project-recording-timeline-step:not(:last-child)::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 31px;
  left: calc(50% + 31px);
  width: calc(100% - 62px);
  border-top: 2px dashed var(--border-strong);
}

.project-recording-timeline-icon {
  position: relative;
  z-index: 1;
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border-strong);
  border-radius: 50%;
  color: var(--ink-muted);
  background: var(--surface);
}

.project-recording-timeline-icon svg {
  width: 43px;
  height: 43px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.project-recording-timeline-step > strong {
  margin-top: 5px;
  color: var(--ink);
  font-size: 13px;
}

.project-recording-timeline-step > span:not(.project-recording-timeline-icon),
.project-recording-timeline-step > small {
  font-size: 11px;
  line-height: 1.25;
}

.project-recording-timeline-step.is-primary .project-recording-timeline-icon {
  width: 68px;
  height: 68px;
  margin-top: -3px;
  border: 2px solid var(--accent);
  color: var(--ink);
  background: rgb(var(--accent-rgb) / 18%);
  box-shadow: 0 0 0 5px rgb(var(--accent-rgb) / 7%);
}

.project-recording-timeline-step.is-primary > strong {
  color: var(--accent-text);
  font-size: 14px;
}

.project-recording-card {
  border: 1px solid var(--border);
  border-radius:0;
  display: grid;
  gap: .85rem;
  padding: 1rem;
}

.project-recording-card-primary {
  grid-column: 1 / -1;
  border-color: rgb(var(--accent-rgb) / 58%);
  background: rgb(var(--accent-rgb) / 4%);
  box-shadow: inset 4px 0 0 rgb(var(--accent-rgb) / 72%);
  padding: 1.2rem;
}

.project-recording-card > header,
.recording-cancel-row {
  align-items: center;
  display: flex;
  gap: .75rem;
  justify-content: space-between;
}

.project-recording-card-primary > header {
  align-items: flex-start;
  flex-wrap: wrap;
}

.project-recording-heading-copy {
  min-width: 0;
  flex: 1 1 320px;
  display: grid;
  align-content: start;
  gap: .4rem;
}

.project-recording-name-row {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: .45rem .65rem;
}

.project-recording-name-row > h3 {
  min-width: 0;
  flex: 1 1 240px;
}

.project-recording-name-edit {
  min-height: 30px;
  padding: .3rem .5rem;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .76rem;
  white-space: nowrap;
}

.project-recording-name-edit svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.project-recording-current-stage {
  align-self: flex-start;
  flex: 0 0 auto;
  white-space: nowrap;
}

.project-recording-linked-videos {
  padding-top: .75rem;
  border-top: 1px solid var(--border);
}

.project-recording-linked-videos > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  min-height: 42px;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
}

.project-recording-linked-videos > summary::-webkit-details-marker {
  display: none;
}

.project-recording-linked-videos > summary:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

.project-recording-linked-videos-summary-copy,
.project-recording-linked-video-copy {
  min-width: 0;
  display: grid;
  gap: .2rem;
}

.project-recording-linked-videos-summary-copy strong {
  font-size: 13px;
}

.project-recording-linked-videos-summary-copy small,
.project-recording-linked-video-copy small,
.project-recording-linked-videos-more small {
  color: var(--ink-muted);
  font-size: 11px;
}

.project-recording-linked-videos-chevron {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  margin: 0 .4rem .25rem 0;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 160ms ease;
}

.project-recording-linked-videos[open] .project-recording-linked-videos-chevron {
  margin-bottom: -.25rem;
  transform: rotate(225deg);
}

.project-recording-linked-videos-body {
  display: grid;
  gap: .65rem;
  padding-top: .75rem;
}

.production-recording-linked-videos-summary-copy {
  flex: 1 1 auto;
  width: 100%;
  gap: .4rem;
}

.production-recording-linked-videos-heading {
  display: flex;
  align-items: baseline;
  min-width: 0;
  gap: .3rem;
  white-space: nowrap;
}

.operational-task-row .operational-task-title {
  font-size:13px;
  font-weight:900;
}

.operational-task-meta {
  font-size:.78rem;
  font-weight:400;
}

.production-recording-linked-videos-summary-copy .task-progress { width:100%; }

.recording-edited-videos-task-row {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
}

.recording-edited-videos-task-row .project-recording-linked-videos {
  padding-top: 0;
  border-top: 0;
}

.recording-edited-videos-task-row .production-recording-linked-videos-summary-copy > small {
  font-size: .78rem;
  font-weight: 400;
}

.recording-edited-videos-task-completion {
  justify-content: flex-end;
  margin-top: .65rem;
}

.project-recording-linked-videos-list {
  display: grid;
  gap: .55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.project-recording-linked-video {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  padding: .7rem .75rem;
  border: 1px solid var(--border);
  border-radius: 0;
  background: var(--surface-3);
}

.project-recording-linked-video-copy strong {
  overflow-wrap: anywhere;
  font-size: 13px;
}

.project-recording-linked-video-relations {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .35rem;
}

.project-recording-linked-video-relation.relation-owner {
  border-color: rgb(var(--accent-rgb) / 38%);
  color: var(--accent-text);
  background: rgb(var(--accent-rgb) / 10%);
}

.project-recording-linked-video-relation.relation-source {
  color: var(--ink-muted);
  background: var(--surface-2);
}

.project-recording-linked-videos-state,
.project-recording-linked-videos-error p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 12px;
}

.project-recording-linked-videos-state.empty {
  padding: .75rem;
  border: 1px dashed var(--border);
  border-radius: 0;
  text-align: center;
}

.project-recording-linked-videos-error,
.project-recording-linked-videos-more {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}

.project-recording-linked-videos-error p,
.project-recording-linked-videos-more small {
  flex: 1 1 auto;
}

.project-recording-card header h3,
.project-cancellation p {
  margin: 0;
}

.project-recording-team-workload {
  margin: 0;
  color: var(--ink-muted);
  font-size: 13px;
}

.project-recording-team-workload strong {
  color: var(--ink);
}

.recurring-project-controls > header,
.recurrence-cycle-card > header,
.recurrence-project-closure,
.recurrence-recording-lifecycle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.recurring-project-controls > header h3,
.recurring-project-controls > header p,
.recurrence-project-form h3,
.recurrence-project-form p,
.recurrence-project-closure strong,
.recurrence-project-closure span {
  margin: 0;
}

.recurring-project-controls > header p,
.recurrence-project-form > p,
.recurrence-project-closure span,
.recurrence-deliverables-fieldset > p {
  color: var(--ink-muted);
  font-size: 13px;
}

.recurrence-cycle-card {
  background: var(--surface-2);
}

.recurrence-project-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding-top: 4px;
}

.recurrence-cycle-form {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 0;
  background: var(--surface-2);
}

.recurrence-project-form > h3,
.recurrence-project-form > p,
.recurrence-project-form > .form-actions,
.recurrence-deliverables-fieldset,
.recurrence-project-form > [data-recurring-occurrence-bundle],
.recurrence-project-form > [data-recurring-manual-deliverables] {
  grid-column: 1 / -1;
}

.recurrence-project-form > [data-recurring-manual-deliverables] .recurrence-deliverables-fieldset {
  width: 100%;
}

.recurrence-project-form > label {
  min-width: 0;
  display: grid;
  gap: 6px;
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 800;
}

.recurrence-project-form > label input,
.recurrence-project-form > label select {
  width: 100%;
  min-width: 0;
  height: 40px;
  padding: 0 10px;
  border: 1px solid var(--border-strong);
  border-radius: 0;
  color: var(--ink);
  background: var(--surface);
  font: inherit;
}

.recurrence-deliverables-fieldset {
  min-width: 0;
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 0;
}

.recurrence-deliverables-fieldset legend {
  padding: 0 4px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 850;
}

.recurrence-deliverables-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.recurrence-deliverable-option {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 0;
  background: var(--surface-3);
  cursor: pointer;
}

.recurrence-deliverable-option input {
  margin-top: 3px;
}

.recurrence-deliverable-option span,
.recurrence-project-closure > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.recurrence-deliverable-option small,
.recurrence-recording-lifecycle small {
  color: var(--ink-muted);
}

.recurrence-nature-feedback,
.recurrence-support-warning,
.recurrence-form-feedback {
  grid-column: 1 / -1;
  min-height: 1.2em;
  color: var(--danger);
}

.recurrence-cycle-closure-summary {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-left: 3px solid var(--accent);
  color: var(--ink-muted);
  background: var(--surface-3);
}

.recurrence-cycle-closure-summary strong {
  color: var(--ink);
}

.recurrence-project-closure {
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 0;
  background: var(--surface-2);
}

.recurrence-recording-lifecycle {
  justify-content: flex-start;
  flex-wrap: wrap;
}

.recurrence-series-actions,
.production-recording-lifecycle {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.recurrence-series-summary {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-3);
}

.recurrence-series-summary > span:not(.badge),
.addendum-recurrence-effective {
  display: grid;
  gap: 3px;
}

.recurrence-series-summary small,
.addendum-recurrence-effective span {
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.recurrence-series-summary .recurrence-quota-balance-negative {
  color: var(--danger);
}

.recurrence-status-open { border-color: var(--accent); }
.recurrence-status-paused { opacity: .72; }
.recurrence-status-ending { border-color: var(--orange); }
.recurrence-status-closed { opacity: .58; }

.recurrence-scheduled-state,
.recurrence-carry-expiration,
.recurrence-ending-consumption-note {
  margin: 0;
  color: var(--ink-muted);
  font-size: 12px;
}

.recurrence-expirations {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  color: var(--ink-muted);
  font-size: 12px;
}

.recurrence-expirations strong { color: var(--ink); }

.recurrence-quota-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr) 18px minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
}

.recurrence-quota-card {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: calc(var(--radius) - 1px);
  background: var(--surface);
}

.recurrence-quota-value {
  font-size: 14px;
  font-weight: 800;
}

.recurrence-quota-math {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  color: var(--ink-muted);
  font-size: 13px;
}

.recurrence-quota-math b {
  color: var(--ink);
  font-weight: 800;
}

.recurrence-quota-math i {
  color: var(--ink-muted);
  font-style: normal;
}

.recurrence-quota-flow-arrow {
  align-self: center;
  justify-self: center;
  color: var(--accent);
  font-size: 22px;
  font-weight: 900;
}

.recurrence-quota-recording-count {
  justify-self: start;
  padding: 5px 8px;
  border-radius: 7px;
  background: rgb(var(--accent-rgb) / 12%);
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
}

.recurrence-quota-value-negative {
  color: var(--orange);
}

.recurrence-cycle-recordings {
  display: grid;
  gap: 10px;
  padding-top: 4px;
  border-top: 1px solid var(--border);
}

.recurrence-cycle-recordings h4 { margin: 0; }
.recurrence-cycle-recording-grid { margin: 0; }

#operationalProjectDetailModal .project-detail-modal-panel {
  width: min(1180px, 100%);
}

.recurring-operational-workspace {
  gap: 14px;
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.recurrence-cycle-list {
  display: grid;
  gap: 10px;
}

.recurrence-cycle-panel {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--surface-2);
}

.recurrence-cycle-panel.recurrence-status-closed {
  opacity: 1;
}

.recurrence-cycle-panel[open] {
  border-color: rgb(var(--accent-rgb) / 48%);
  box-shadow: 0 10px 28px rgb(0 0 0 / 7%);
}

.recurrence-cycle-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 18px;
  gap: 12px;
  align-items: center;
  min-height: 68px;
  padding: 14px 16px;
  list-style: none;
  cursor: pointer;
}

.recurrence-cycle-summary::-webkit-details-marker {
  display: none;
}

.recurrence-cycle-summary:hover {
  background: rgb(var(--accent-rgb) / 5%);
}

.recurrence-cycle-summary:focus-visible {
  outline: 3px solid rgb(var(--accent-rgb) / 28%);
  outline-offset: -3px;
}

.recurrence-cycle-summary-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.recurrence-cycle-summary-copy strong {
  overflow-wrap: anywhere;
}

.recurrence-cycle-summary-copy small {
  color: var(--ink-muted);
  font-size: 12px;
  line-height: 1.35;
}

.recurrence-cycle-chevron {
  width: 10px;
  height: 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translate(-2px, -2px);
}

.recurrence-cycle-panel[open] > .recurrence-cycle-summary .recurrence-cycle-chevron {
  transform: rotate(225deg) translate(-1px, -1px);
}

.recurrence-cycle-body {
  display: grid;
  gap: 14px;
  padding: 16px;
  border-top: 1px solid var(--border);
}

.recurrence-recording-composer {
  display: grid;
}

.recurrence-recording-composer-host {
  padding-top: 14px;
  border-top: 1px solid var(--border);
}

.recurrence-recording-composer-host[hidden] {
  display: none;
}

.recurrence-cycle-close-actions {
  justify-content: flex-end;
  padding-top: 2px;
}

.commercial-recurrence-snapshot {
  display: grid;
  gap: 12px;
}

.commercial-recurrence-management + .project-documents-panel {
  margin-top: 18px;
}

.commercial-recurrence-overview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.commercial-recurrence-overview-card {
  display: grid;
  align-content: start;
  gap: 6px;
  min-height: 86px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 0;
  background: var(--surface-2);
}

.commercial-recurrence-overview-card small {
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1.35;
  text-transform: uppercase;
}

.commercial-recurrence-overview-card > strong {
  overflow-wrap: anywhere;
  font-size: 18px;
  line-height: 1.35;
}

.commercial-recurrence-overview-card > .commercial-recurrence-consumed-total {
  color: var(--ink);
  font-size: 13px;
}

.commercial-recurrence-production-total > div {
  display: grid;
  gap: 3px;
}

.commercial-recurrence-production-total > div strong {
  font-size: 13px;
  line-height: 1.35;
}

.commercial-products-disclosure {
  margin-top: 18px;
}

.commercial-products-disclosure-body .project-documents-list {
  margin: 0;
}

.recurrence-state-guidance {
  display: grid;
  gap: 7px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.production-recording-lifecycle {
  padding: 0 .9rem .9rem;
}

.project-recording-card .production-recording-lifecycle {
  padding: 0;
}

.production-recording-lifecycle small { width: 100%; }

.production-recording-completion-control {
  display: inline-flex;
}

.production-recording-completion-reason {
  color: var(--ink-muted);
  line-height: 1.4;
}

.production-recording-video-progress {
  display: grid;
  gap: .35rem;
}

.production-recording-video-progress > span {
  color: var(--ink-muted);
  font-size: .78rem;
}

.production-recording-video-progress.compact .task-progress {
  margin-top: 0;
}

.production-progress-label {
  color: var(--ink-muted);
  font-size: .78rem;
  font-weight: 400;
  line-height: 1.5;
}
.production-task-progress { display:grid;gap:.35rem; }
.production-recording-drawer-header + .production-task-progress { margin-bottom:1rem; }

.production-recurrence-cycle {
  width: fit-content;
  padding: 3px 7px;
  border-radius: 999px;
  color: var(--accent-text) !important;
  background: var(--accent-soft);
  font-size: 11px !important;
  font-weight: 850;
}

.production-recording-context p { margin: 0; }

.project-form-grid.project-recurrence-terms-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.project-form-grid.addendum-recurrence-fields {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.project-recurrence-terms-grid,
.addendum-recurrence-fields {
  align-items: end;
}

.addendum-recurrence-effective {
  min-width: 0;
  min-height: 40px;
  justify-content: center;
  padding: 9px 11px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-2);
}

@media (max-width: 1180px) {
  .project-form-grid.project-recurrence-terms-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.addendum-recurrence-section {
  display: grid;
  gap: 14px;
}

.addendum-recurrence-toggle {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.addendum-recurrence-toggle > span:last-child {
  display: grid;
  gap: 3px;
}

.addendum-recurrence-toggle small { color: var(--ink-muted); }

@media (max-width: 760px) {
  #operationalProjectDetailModal .modal-header {
    flex-wrap: wrap;
  }

  #operationalProjectDetailModal .project-detail-modal-actions {
    justify-content: flex-end;
    width: 100%;
  }

  .project-form-grid.project-recurrence-terms-grid,
  .project-form-grid.addendum-recurrence-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .recurrence-project-form,
  .recurrence-cycle-form,
  .recurrence-deliverables-list,
  .recurrence-series-summary,
  .commercial-recurrence-overview {
    grid-template-columns: minmax(0, 1fr);
  }

  .recurrence-quota-flow {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  .recurrence-quota-flow-arrow {
    transform: rotate(90deg);
  }

  .recurrence-series-summary {
    grid-auto-flow: row;
    grid-auto-columns: auto;
  }

  .recurrence-project-closure,
  .recurring-project-controls > header {
    align-items: stretch;
    flex-direction: column;
  }

  .recurrence-series-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .recurrence-series-actions > button {
    width: 100%;
  }

  .recurrence-cycle-summary {
    grid-template-columns: minmax(0, 1fr) 18px;
  }

  .recurrence-cycle-summary > .badge {
    grid-column: 1;
    justify-self: start;
  }

  .recurrence-cycle-summary > .recurrence-cycle-chevron {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

}

.project-recording-item-row {
  grid-template-columns: minmax(0, 1fr) auto;
  overflow: visible;
}

.project-recording-item-actions {
  align-items: center;
  display: inline-flex;
  gap: 6px;
}

.recording-allocation-toggle {
  height: 24px;
  min-height: 24px;
  padding: 0 8px;
  font-size: 12px;
}

.recording-allocation-panel {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: end;
  padding-top: 8px;
  border-top: 1px solid var(--border);
}

.recording-allocation-panel[hidden] {
  display: none;
}

.recording-allocation-panel label {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.recording-allocation-panel label > span {
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 800;
}

.recording-allocation-panel select {
  width: 100%;
  min-width: 0;
}

.recording-cancellation,
.project-cancellation {
  border-top: 1px solid var(--border);
  padding-top: .75rem;
}

.recording-cancellation[data-future-cancellation-workflow],
.project-cancellation[data-future-cancellation-workflow] {
  display: none;
}

.recording-cancellation > div,
.project-cancellation {
  display: grid;
  gap: .65rem;
}

@media (max-width: 760px) {
  .project-recordings-grid {
    grid-template-columns: 1fr;
  }

  .project-recording-primary-scope {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .recording-allocation-panel {
    grid-template-columns: 1fr;
  }
}

.recording-cancellation label,
.project-cancellation label {
  display: grid;
  gap: .35rem;
}

.project-contract-panel {
  display: grid;
  gap: 12px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

.project-contract-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.project-contract-form label,
.project-contract-form .wide {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.project-contract-form .wide,
.project-contract-actions,
.project-contract-pending {
  grid-column: 1 / -1;
}

.project-contract-form span {
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 700;
}

.project-contract-form input,
.project-contract-form textarea {
  width: 100%;
}

.project-contract-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.project-document-action {
  gap: 8px;
}

.project-document-action svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.project-documents-panel {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.project-documents-list {
  display: grid;
  gap: 10px;
}

.project-contract-list-item .project-contract-actions {
  grid-column: auto;
}

.project-contract-actions .project-edit-menu {
  display: inline-block;
}

.project-contract-actions .project-edit-menu > summary.icon-only-button {
  width: 36px;
  height: 36px;
}

.project-contract-actions .project-edit-menu > .project-status-menu-panel {
  min-width: 230px;
}

.project-contract-actions .project-edit-menu > .project-status-menu-panel a {
  font-weight: 500;
  white-space: nowrap;
}

.project-contract-menu {
  display: inline-block;
}

.project-contract-menu > summary.icon-only-button {
  width: 34px;
  height: 34px;
}

.project-contract-menu-panel {
  min-width: 236px;
}

.project-contract-menu-panel button {
  height: 34px;
  gap: 9px;
  padding: 0 10px;
  font-size: 12px;
  line-height: 1.25;
  white-space: nowrap;
}

.project-contract-menu-status {
  min-height: 34px;
  padding: 0 10px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.project-contract-menu-spinner {
  width: 14px;
  height: 14px;
  border: 2px solid rgb(var(--accent-rgb) / 28%);
  border-top-color: var(--teal);
  border-radius: 50%;
  animation: contract-spin 900ms linear infinite;
}

.project-contract-menu-panel svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

:root[data-theme="dark"] .project-contract-menu-panel {
  border-color: var(--border-strong);
  background: #081016;
}

.project-finance-grid > .project-contract-extra-clause {
  grid-column: span 6;
}

.system-confirm-layer {
  position: fixed;
  inset: 0;
  z-index: 2200;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgb(8 13 18 / 45%);
  backdrop-filter: blur(2px);
}

.system-confirm-dialog {
  width: min(420px, 100%);
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.system-confirm-dialog h3,
.system-confirm-dialog p {
  margin: 0;
}

.system-confirm-dialog h3 {
  color: var(--ink);
  font-size: 18px;
}

.system-confirm-dialog p {
  color: var(--ink-muted);
  font-size: 14px;
  line-height: 1.4;
}

.system-confirm-dialog label {
  display: grid;
  gap: 6px;
}

.system-confirm-dialog label span {
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 800;
}

.system-confirm-dialog label input,
.system-confirm-dialog label select,
.system-confirm-dialog label textarea {
  width: 100%;
  min-width: 0;
  height: 38px;
  border: 1px solid var(--border-strong);
  border-radius:0;
  padding: 0 10px;
  color: var(--ink);
  background: var(--surface-2);
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: 0;
  color-scheme: light;
}

.system-confirm-dialog label textarea {
  min-height: 92px;
  height: auto;
  padding-block: 9px;
  resize: vertical;
}

.system-confirm-dialog label input:focus,
.system-confirm-dialog label select:focus,
.system-confirm-dialog label textarea:focus {
  outline: 2px solid var(--teal);
  outline-offset: 2px;
}

:root[data-theme="dark"] .system-confirm-dialog label input,
:root[data-theme="dark"] .system-confirm-dialog label select,
:root[data-theme="dark"] .system-confirm-dialog label textarea {
  color-scheme: dark;
}

.system-feedback-layer {
  position: fixed;
  left: 50%;
  bottom: 22px;
  z-index: 2300;
  width: min(520px, calc(100vw - 28px));
  display: grid;
  gap: 8px;
  transform: translateX(-50%);
  pointer-events: none;
}

.system-feedback-popup {
  min-height: 58px;
  padding: 12px 12px 12px 14px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 30px;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--border-strong);
  border-left: 4px solid var(--teal);
  border-radius:0;
  color: var(--ink);
  background: var(--surface-2);
  box-shadow:none;
  pointer-events: auto;
}

.system-feedback-popup[data-tone="success"] {
  border-left-color: #287a55;
}

.system-feedback-popup[data-tone="warning"] {
  border-left-color: #b97914;
}

.system-feedback-popup[data-tone="error"] {
  border-left-color: #b94a28;
}

.system-feedback-popup strong,
.system-feedback-popup span {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.system-feedback-popup strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}

.system-feedback-popup span {
  margin-top: 2px;
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.35;
}

.system-feedback-popup button {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius:0;
  color: var(--ink-muted);
  background: transparent;
}

.system-feedback-popup button svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}

.system-feedback-popup button:hover,
.system-feedback-popup button:focus-visible {
  color: var(--ink);
  background: var(--surface-3);
}

@keyframes contract-spin {
  to {
    transform: rotate(360deg);
  }
}

.project-addenda-layer {
  position: fixed;
  inset: 0;
  z-index: 1500;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgb(8 15 24 / 72%);
  backdrop-filter: blur(5px);
}

.project-addenda-dialog {
  position: relative;
  width: min(1080px, 100%);
  max-height: calc(100vh - 48px);
  overflow: auto;
  padding: 28px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface);
  box-shadow:none;
}

.project-addenda-close {
  position: absolute;
  top: 14px;
  right: 16px;
  z-index: 1;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: var(--surface-3);
  color: var(--ink);
  cursor: pointer;
}

.project-addenda-close svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}

.project-addendum-heading,
.project-addendum-actions,
.addendum-change-request,
.project-addenda-list > button {
  display: flex;
  align-items: center;
  gap: 14px;
}

.project-addendum-heading {
  justify-content: space-between;
  padding-right: 42px;
  margin-bottom: 20px;
}

.project-addendum-details-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.project-addendum-details-grid > label {
  display: grid;
  align-content: start;
  gap: 6px;
  min-width: 0;
}

.project-addendum-details-grid > .project-addendum-issue-date {
  grid-column: 1 / -1;
  width: min(280px, 100%);
}

.project-addendum-heading h2,
.project-addendum-section h3,
.project-addendum-section p {
  margin: 0;
}

.project-addendum-section {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
}

.project-addendum-section > p {
  margin-top: 6px;
  color: var(--ink-muted);
}

.addendum-catalog-list,
.addendum-change-list,
.project-addenda-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.addendum-catalog-item {
  align-content: start;
}

.addendum-catalog-item-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.addendum-catalog-item-copy strong {
  font-size: 13px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.addendum-catalog-item-copy small {
  font-size: 11px;
  line-height: 1.2;
}

.addendum-catalog-item > input[type="number"] {
  font-size: 13px;
}

.addendum-catalog-item-date,
.addendum-catalog-item-location,
.addendum-video-assignments {
  grid-column: 1 / -1;
}

.addendum-catalog-item-date {
  display: grid;
  width: 100%;
}

.addendum-catalog-item-date > input {
  width: 100%;
}

.addendum-video-assignments {
  display: grid;
  gap: 8px;
  padding: 10px;
  border-top: 1px solid var(--border);
}

.addendum-video-assignments[hidden] {
  display: none;
}

.addendum-video-assignments > strong {
  font-size: 12px;
}

.addendum-video-owner-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
}

.addendum-video-owner-grid label {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 62px;
  gap: 8px;
  align-items: center;
  font-size: 12px;
}

.addendum-video-owner-grid input {
  width: 100%;
}

.addendum-video-assignments .invalid {
  color: var(--danger);
}

.addendum-catalog-item-date[hidden],
[data-addendum-finance-charge-field][hidden],
[data-addendum-finance-cash-field][hidden],
[data-addendum-finance-installment-field][hidden] {
  display: none;
}

.addendum-finance-section .project-finance-grid {
  margin-top: 14px;
}

.addendum-change-request {
  display: flex;
  align-items: center;
  gap: 10px;
}

.addendum-change-request span,
.project-addenda-list > button span:first-child {
  display: grid;
  gap: 3px;
  text-align: left;
}

.addendum-catalog-item small,
.addendum-change-request small,
.project-addenda-list small {
  color: var(--ink-muted);
}

.addendum-change-request {
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius:0;
}

.project-addendum-actions {
  position: sticky;
  z-index: 3;
  bottom: -28px;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin: 24px -28px -28px;
  padding: 14px 28px;
  border-top: 1px solid var(--border);
  background: var(--surface);
}

.project-addendum-actions .danger-button {
  border-color: rgb(220 70 70 / 45%);
  color: #d94c4c;
}

.project-addenda-list > button {
  justify-content: space-between;
  width: 100%;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-3);
  color: var(--ink);
  cursor: pointer;
}

.project-addenda-list > button:hover,
.project-addenda-list > button:focus-visible {
  border-color: var(--accent);
}

.project-addendum-list-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-3);
}

.project-addendum-list-copy,
.project-addendum-list-copy > div {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.project-addendum-list-copy {
  align-items: flex-start;
  flex-direction: column;
  gap: 4px;
}

.project-addendum-list-copy small {
  color: var(--ink-muted);
  line-height: 1.35;
}

.project-addendum-list-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.project-addendum-list-actions .ghost-button {
  min-height: 34px;
  padding: 0 10px;
  font-size: 12px;
}

@media (max-width: 760px) {
  .project-addenda-layer { padding: 0; }
  .project-addenda-dialog { max-height: 100vh; min-height: 100vh; border-radius:0; padding: 22px 16px; }
  .project-addendum-details-grid { grid-template-columns: 1fr; }
  .project-addendum-details-grid > .project-addendum-issue-date { grid-column: 1; width: 100%; }
  .project-addendum-list-item { grid-template-columns: 1fr; }
  .project-addendum-list-actions { justify-content: flex-start; }
  .project-addendum-actions { bottom: -22px; margin: 24px -16px -22px; padding: 14px 16px; }
}

.system-confirm-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.project-contract-pending {
  display: grid;
  gap: 6px;
}

.project-contract-pending span {
  padding: 8px 10px;
  border: 1px solid rgb(230 160 95 / 50%);
  border-radius:0;
  background: rgb(230 160 95 / 10%);
  color: var(--ink);
  font-size: 12px;
}

.project-detail-modal-panel {
  width: min(980px, 100%);
}

.project-detail-modal-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.project-detail-modal-actions .project-document-action {
  height: 38px;
}

.project-detail-recurrence-menu > .project-status-menu-panel {
  z-index: 20;
  min-width: 220px;
}

.project-detail-recurrence-menu > .project-status-menu-panel .recurrence-menu-danger {
  color: var(--danger);
}

.project-detail-modal-title-date {
  color: var(--ink-muted);
  font-size: 0.72em;
  font-weight: 500;
  white-space: nowrap;
}

.project-detail-modal-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.project-detail-modal-status {
  flex: 0 0 auto;
}

.project-detail-modal-body {
  padding: 18px;
  overflow: auto;
}

.project-detail-client {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--border);
}

.project-detail-client-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.project-detail-client-copy span {
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.project-detail-client-copy strong {
  color: var(--ink);
  font-size: 16px;
  overflow-wrap: anywhere;
}

.project-detail-client-contact {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.project-detail-client-contact > a:not(.whatsapp-button) {
  color: var(--ink-muted);
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
}

.project-detail-client-contact > a:not(.whatsapp-button):hover,
.project-detail-client-contact > a:not(.whatsapp-button):focus-visible {
  color: var(--ink);
  text-decoration: underline;
}

.project-detail-client-contact .whatsapp-button:hover,
.project-detail-client-contact .whatsapp-button:focus-visible {
  color: #128c4a;
  border-color: #25d366;
  background: #effcf4;
}

@media (max-width: 560px) {
  .project-detail-client {
    align-items: flex-start;
    flex-direction: column;
  }
}

.project-flow-steps {
  display: grid;
  gap: 8px;
}

.project-stage-step {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 54px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-2);
}

.project-stage-step.active {
  border-color: rgb(var(--accent-rgb) / 70%);
  background: rgb(var(--accent-rgb) / 9%);
}

.project-stage-step.completed {
  border-color: rgb(125 220 155 / 70%);
}

.project-stage-step.locked {
  opacity: 0.68;
}

.project-stage-index {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius:0;
  background: var(--nav-bg-3);
  color: var(--ink);
  font-weight: 700;
}

.project-stage-step strong,
.project-stage-step span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-stage-step span {
  color: var(--ink-muted);
  font-size: 12px;
}

.project-gate-rows {
  display: grid;
  gap: 10px;
}

.project-gate-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius:0;
  background: var(--surface-2);
}

.project-gate-row.current {
  border-color: rgb(var(--accent-rgb) / 70%);
}

.project-gate-row strong,
.project-gate-row span,
.project-gate-row small {
  display: block;
  min-width: 0;
}

.project-gate-row span,
.project-gate-row small {
  color: var(--ink-muted);
  font-size: 12px;
}

.project-gate-actions {
  display: flex;
  gap: 8px;
}

@media (max-width: 1180px) {
  .project-directory-controls {
    flex-wrap: wrap;
  }

  .project-form-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .project-catalog-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .project-field-type,
  .project-field-title,
  .project-field-creation-date,
  .project-field-client,
  .project-field-email,
  .project-field-phone,
  .project-field-client-legal,
  .project-field-document,
  .project-field-address-line,
  .project-field-address-complement,
  .project-field-district,
  .project-field-city,
  .project-dynamic-field,
  .project-dynamic-field.wide,
  .project-upload-field,
  .project-finance-total,
  .project-finance-mode,
  .project-finance-cash-date,
  .project-finance-grid > .people-filter,
  .project-finance-installment-grid > .people-filter,
  .project-create-button {
    grid-column: span 6;
  }

  .project-finance-installments,
  .project-finance-grid > label.project-finance-notes,
  .project-payment-mode-preview {
    grid-column: 1 / -1;
  }

  .project-field-ddd {
    grid-column: span 3;
  }

  .project-field-document-type,
  .project-field-country,
  .project-field-postal,
  .project-field-address-number,
  .project-field-state {
    grid-column: span 3;
  }

}

@media (max-width: 480px) {
  .entity-grid {
    grid-template-columns: 1fr;
  }

  .hero-band,
  .panel {
    padding: 16px;
  }

  .project-form-grid,
  .project-package-row,
  .project-recording-primary-scope,
  .project-gate-row {
    grid-template-columns: 1fr;
  }

  .project-directory-controls {
    align-items: stretch;
  }

  .project-search-filter {
    flex-basis: 100%;
    max-width: none;
  }

  .project-sort-filter {
    flex: 1 1 100%;
    max-width: none;
  }

  .project-filter-actions,
  .project-filter-menu,
  .project-filter-menu > summary {
    width: 100%;
  }

  .project-filter-actions .project-filter-menu {
    flex: 1;
  }

  .project-filter-popover {
    width: min(590px, calc(100vw - 32px));
    grid-template-columns: 1fr;
  }

  .project-field-type,
  .project-field-title,
  .project-field-creation-date,
  .project-field-client,
  .project-field-email,
  .project-field-ddd,
  .project-field-phone,
  .project-field-client-legal,
  .project-field-document-type,
  .project-field-document,
  .project-field-country,
  .project-field-postal,
  .project-field-address-line,
  .project-field-address-number,
  .project-field-address-complement,
  .project-field-district,
  .project-field-city,
  .project-field-state,
  .project-dynamic-field,
  .project-dynamic-field.wide,
  .project-upload-field,
  .project-finance-total,
  .project-finance-mode,
  .project-finance-cash-date,
  .project-finance-grid > .people-filter,
  .project-finance-installment-grid > .people-filter,
  .project-finance-installments,
  .project-finance-grid > label.project-finance-notes,
  .project-payment-mode-preview,
  .project-create-button {
    grid-column: auto;
  }

  .project-type-fields {
    grid-template-columns: 1fr;
  }

  .project-catalog-item-row {
    grid-template-columns: 42px minmax(0, 1fr) 60px;
  }

  .project-catalog-variant-row {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .project-catalog-variant-row > select {
    grid-column: 2;
  }

  .project-catalog-item-row input[type="number"] {
    grid-column: auto;
  }

  .project-gate-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
}

.operational-catalog-type-columns {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 780px) {
  .project-catalog-columns,
  .operational-catalog-type-columns,
  .operational-link-wide-grid {
    grid-template-columns: 1fr;
  }

  .project-recording-context-fields {
    grid-template-columns: 1fr;
  }
}
.workflow-card-grid { display:grid; gap:1rem; }
.workflow-card { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1rem; border:1px solid var(--border-color, #d9e0e5); border-radius:0; background:var(--surface-color, #fff); }
.workflow-card h3 { margin:.4rem 0; }
.workflow-card p { margin:.25rem 0 .6rem; color:var(--muted-color, #64748b); }
.workflow-archived-section { display:grid;gap:1rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border); }
.workflow-archived-section .workflow-editor-head h3 { margin:0; }
.workflow-archived-section .workflow-editor-head p { margin:.25rem 0 0;color:var(--ink-muted); }
.workflow-editor { display:grid; gap:1rem; }
.workflow-editor-head { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; }
.workflow-editor-navigation { justify-content:flex-end; }
.workflow-editor-head h3,.workflow-editor-head h4,.workflow-editor-head p { margin:.2rem 0; }
.workflow-editor fieldset { border:0; padding:0; margin:0; display:grid; gap:1rem; }
.workflow-bindings,.workflow-stage-editor { border:1px solid var(--border-color, #d9e0e5); border-radius:0; padding:1rem; }
.workflow-project-types { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:.5rem; margin-top:.75rem; }
.workflow-binding-row { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:.5rem; }
.workflow-bindings > .workflow-editor-head p { margin:.25rem 0 0;color:var(--ink-muted);font-size:.82rem; }
.workflow-bindings > .workflow-editor-head .workflow-binding-effective-summary { max-width:1100px;line-height:1.5; }
.workflow-binding-effective-summary strong { color:var(--ink); }
.workflow-binding-list { display:grid;gap:.65rem;margin-top:.75rem; }
.workflow-binding-row.is-selected { grid-template-columns:minmax(0,1fr) minmax(180px,260px) auto;padding:.7rem .8rem;border:1px solid var(--border);border-radius:0;background:var(--surface); }
.workflow-binding-row.is-selected strong { min-width:0;color:var(--ink); }
.workflow-binding-group { display:grid;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border); }
.workflow-binding-group:first-of-type { margin-top:.75rem; }
.workflow-binding-group h5 { margin:.2rem 0;font-size:.92rem; }
.workflow-binding-group > .workflow-editor-head p { margin:.25rem 0 0;color:var(--ink-muted);font-size:.78rem; }
.workflow-binding-row.is-indirect { grid-template-columns:minmax(0,1fr) auto;padding:.7rem .8rem;border:1px solid var(--border);border-radius:0;background:var(--surface-2); }
.workflow-binding-row.is-indirect > div { display:grid;gap:.25rem;min-width:0; }
.workflow-binding-row.is-indirect small { color:var(--ink-muted); }
.workflow-binding-adder { display:grid;grid-template-columns:minmax(180px,280px) auto auto;justify-content:start;align-items:center;gap:.55rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border); }
.workflow-stage-list,.workflow-task-list { display:grid; gap:1rem; }
.workflow-task-list { margin:1rem 0; }
.workflow-task-editor { padding:.8rem 1.25rem 1.25rem; border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border)); border-radius:0; background:color-mix(in srgb, var(--surface-color, #fff) 92%, var(--accent-color, #81d8d0)); }
.workflow-task-editor > .workflow-editor-head { align-items:center;padding-bottom:.85rem;margin-bottom:.9rem;border-bottom:1px solid color-mix(in srgb,var(--accent) 15%,var(--border)); }
.workflow-task-header-options { margin-left:auto;display:flex;align-items:center;gap:.45rem; }
.workflow-task-header-toggle { min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:.55rem;padding:.35rem .55rem;border:1px solid var(--border);border-radius:0;background:var(--surface-2);font-size:.78rem;font-weight:500;white-space:nowrap; }
.workflow-task-header-toggle .permission-switch { flex:0 0 38px; }
.workflow-task-content { display:grid;gap:1rem; }
.workflow-editor-actions,.workflow-collapse-heading { display:flex;align-items:center;gap:.5rem;min-width:0; }
.workflow-collapse-heading { flex:1 1 0; }
.workflow-stage-name-inline,.workflow-task-name-inline { width:min(420px,45vw);max-width:100%;min-width:0;min-height:36px;padding:0 10px;font-size:1rem;font-weight:750; }
.workflow-name-inline { width:min(620px,55vw);max-width:100%;min-width:0;min-height:42px;padding:0 12px;font-size:1.1rem;font-weight:750; }
.workflow-collapse-toggle { box-sizing:border-box;flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:0;color:var(--ink-muted);background:transparent; }
.workflow-collapse-toggle:hover,.workflow-collapse-toggle:focus-visible { color:var(--ink);background:rgb(var(--accent-rgb) / 12%); }
.workflow-collapse-toggle svg,.workflow-collapse-all-button svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease; }
.workflow-collapse-toggle[aria-expanded="false"] svg,.workflow-collapse-all-button svg { transform:rotate(-90deg); }
.workflow-stage-editor[data-collapsed="true"] > .workflow-stage-content,.workflow-task-editor[data-collapsed="true"] > .workflow-task-content { display:none; }
.workflow-stage-editor > .workflow-editor-head { align-items:center;padding-bottom:.85rem;margin-bottom:.9rem;border-bottom:1px solid color-mix(in srgb,var(--accent) 15%,var(--border)); }
.workflow-stage-editor[data-collapsed="true"] > .workflow-editor-head { padding-bottom:0;margin-bottom:0;border-bottom:0; }
.workflow-task-editor[data-collapsed="true"] { padding:.8rem 1.25rem; }
.workflow-task-editor[data-collapsed="true"] > .workflow-editor-head { padding-bottom:0;margin-bottom:0;border-bottom:0; }
.workflow-task-parameters { display:grid;gap:.75rem;margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:0;background:var(--surface-2); }
.workflow-task-parameters h4,.workflow-task-parameters p { margin:0; }.workflow-task-parameters>label { display:grid;gap:.35rem; }
.workflow-editor .workflow-task-parameters .workflow-briefing-parameters { grid-template-columns:repeat(4,minmax(0,1fr));align-items:end; }
.workflow-editor .workflow-task-parameters .workflow-assignment-parameters { grid-template-columns:minmax(180px,1.2fr) minmax(180px,1.2fr) 110px 110px minmax(185px,.85fr) minmax(165px,.75fr);align-items:end; }
.workflow-editor .workflow-task-parameters .workflow-meeting-parameters { grid-template-columns:minmax(0,1.1fr) minmax(0,1.25fr) minmax(0,1.35fr);align-items:end; }
.workflow-meeting-title-preview { min-height:55px;display:flex;align-items:center;gap:.55rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:0;background:var(--surface); }
.workflow-meeting-title-preview small { color:var(--ink-muted); }
.workflow-meeting-title-preview strong { color:var(--ink); }
.workflow-calendar-detection { display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;padding:.85rem;border:1px solid var(--border);border-radius:0;background:var(--surface-2); }
.workflow-calendar-detection small { flex-basis:100%; }
.workflow-editor .workflow-task-parameters .workflow-assignment-parameters input[type="number"] { min-width:0; }
.workflow-editor .form-grid label.workflow-parameter-switch { min-height:55px;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .7rem;border:1px solid var(--border);border-radius:0;background:var(--surface);font-weight:500; }
.workflow-parameter-switch > .permission-switch { flex:0 0 38px; }
.workflow-editor .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.workflow-editor .form-grid.workflow-stage-rules { grid-template-columns:repeat(3,minmax(0,1fr)); }
.workflow-editor .form-grid label { display:grid; gap:.35rem; }
.workflow-editor .form-grid.workflow-task-rules { grid-template-columns:repeat(24,minmax(0,1fr));align-items:start;column-gap:.8rem;row-gap:1.05rem; }
.workflow-editor .form-grid.workflow-task-rules > label { min-width:0;align-content:start; }
.workflow-editor .form-grid.workflow-task-rules > label > :is(input,select) { min-width:0; }
.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-description { order:0;grid-column:span 8;grid-row:span 2;align-content:start; }
.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-description textarea { min-height:120px;resize:vertical; }
.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-definition { order:1;grid-column:span 8; }
.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-availability { order:1;grid-column:span 4; }
.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-availability-days { order:1;grid-column:span 4; }
.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-deadline { order:2;grid-column:span 3; }
.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-late { order:2;grid-column:span 4; }
.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-waiver { order:2;grid-column:span 4; }
.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-cutoff { order:2;grid-column:span 4; }
.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-count { order:2;grid-column:span 3; }
.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-role { order:2;grid-column:span 6; }
.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-dependency-toggle { order:3;grid-column:span 6;min-height:55px;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.55rem .7rem;border:1px solid var(--border);border-radius:0;background:var(--surface);color:var(--ink);font-weight:750; }
.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-dependency-condition { order:3;grid-column:span 6;display:grid;align-content:center;gap:.25rem; }
.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-dependency-condition[hidden] { display:none; }
.workflow-editor .form-grid.workflow-task-rules > .workflow-item-dependency-panel { order:4;grid-column:1/-1; }
.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-toggle { order:8;grid-column:span 3; }
.workflow-editor .form-grid.workflow-task-rules > label > small { min-height:1.35em;line-height:1.35; }
.workflow-editor .form-grid.workflow-task-rules > label > .workflow-field-title-with-hint { display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .4rem; }
.workflow-editor .form-grid.workflow-task-rules > label > .workflow-field-title-with-hint small { color:var(--ink-muted);font-size:.72rem;font-weight:650; }
.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-toggle { min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.55rem .7rem;border:1px solid var(--border);border-radius:0;background:var(--surface);color:var(--ink);font-weight:750; }
.workflow-toggle-label { min-width:0; }
.workflow-rule-toggle .permission-switch { flex:0 0 38px; }
.workflow-item-dependency-panel { display:grid;gap:.65rem;padding:.7rem;border:1px solid var(--border);border-radius:0;background:var(--surface-2); }
.workflow-item-dependency-panel[hidden] { display:none; }
.workflow-item-dependency-panel h4,.workflow-item-dependency-panel h5 { margin:0; }
.workflow-item-dependency-panel h4 { display:none; }
.workflow-item-dependency-panel h4 { margin-bottom:.45rem;font-size:.8rem; }
.workflow-item-dependency-panel h5 { color:var(--ink-muted);font-size:.72rem; }
.workflow-dependency-columns { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:.5rem; }
.workflow-dependency-group { display:grid;align-content:start;gap:.35rem;padding:.5rem;border:1px solid var(--border);border-radius:0;background:var(--surface); }
.workflow-dependency-item { min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:.4rem;padding:.28rem .42rem;border:1px solid var(--border);border-radius:0;background:var(--surface-2);font-size:.78rem;line-height:1.1; }
.workflow-dependency-item .permission-switch { transform:scale(.74);transform-origin:left center; }
.workflow-dependency-item strong { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:inherit; }
.workflow-dependency-item input[type="number"] { width:3.8rem;min-height:28px;padding:.12rem .3rem;font-size:.78rem; }
.workflow-rule-dependency-condition select { min-height:36px;padding:.3rem .55rem;font-size:.85rem; }
.workflow-editor .form-grid .full { grid-column:1/-1; }
@media (max-width:1100px) { .workflow-editor,.workflow-stage-editor,.workflow-task-editor,.workflow-stage-content,.workflow-task-content { min-width:0;max-width:100%; } .workflow-editor .form-grid.workflow-stage-rules { grid-template-columns:repeat(2,minmax(0,1fr)); } .workflow-editor .form-grid.workflow-task-rules { grid-template-columns:repeat(4,minmax(0,1fr)); } .workflow-editor .workflow-task-parameters .workflow-briefing-parameters,.workflow-editor .workflow-task-parameters .workflow-assignment-parameters { grid-template-columns:repeat(2,minmax(0,1fr)); } .workflow-editor .form-grid.workflow-task-rules > .workflow-rule-description { grid-column:1/-1;grid-row:auto; } .workflow-editor .form-grid.workflow-task-rules > .workflow-rule-definition,.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-availability,.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-availability-days,.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-role,.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-dependency-toggle,.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-dependency-condition,.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-waiver,.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-cutoff { grid-column:span 2; } .workflow-editor .form-grid.workflow-task-rules > .workflow-rule-deadline,.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-late,.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-count,.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-toggle { grid-column:span 1; } .workflow-task-editor > .workflow-editor-head,.workflow-stage-editor > .workflow-editor-head { flex-wrap:wrap; } .workflow-collapse-heading { flex-wrap:wrap; } .workflow-stage-name-inline,.workflow-task-name-inline { flex:1 1 220px;width:auto; } .workflow-task-header-options { margin-left:0;flex-wrap:wrap; } .workflow-task-header-toggle { max-width:100%;white-space:normal; } }
@media (max-width:760px) { .workflow-card,.workflow-editor-head { flex-direction:column; } .workflow-task-header-options { width:100%;margin-left:0;flex-wrap:wrap; } .workflow-editor .form-grid,.workflow-editor .form-grid.workflow-stage-rules,.workflow-editor .form-grid.workflow-task-rules,.workflow-editor .workflow-task-parameters .workflow-briefing-parameters,.workflow-editor .workflow-task-parameters .workflow-assignment-parameters,.workflow-editor .workflow-task-parameters .workflow-meeting-parameters { grid-template-columns:1fr; } .workflow-editor .form-grid.workflow-task-rules > *,.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-waiver,.workflow-editor .form-grid.workflow-task-rules > .workflow-rule-cutoff { grid-column:1; } .workflow-binding-row.is-selected,.workflow-binding-adder { grid-template-columns:1fr auto; } .workflow-binding-row.is-selected strong,.workflow-binding-adder select { grid-column:1 / -1; } .workflow-collapse-heading { flex-wrap:wrap; } .workflow-stage-name-inline,.workflow-task-name-inline { width:100%;flex-basis:100%; } .workflow-dependency-columns { grid-template-columns:1fr; } }
.production-statistics-button { width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--border);border-radius:0;padding:0;color:var(--ink);background:var(--surface-3);cursor:pointer; }
.production-statistics-button:hover { border-color:var(--accent);color:var(--accent-text); }
.production-statistics-button svg { width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.production-statistics-popover { position:fixed;inset:96px 20px auto auto;width:min(680px,calc(100vw - 40px));max-height:calc(100vh - 116px);overflow:auto;margin:0;border:1px solid var(--border);border-radius:0;padding:0;color:var(--ink);background:var(--surface-2);box-shadow:var(--shadow); }
.production-statistics-popover > header { position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--border);padding:1rem;background:var(--surface-2); }
.production-statistics-popover > header h3,.production-statistics-popover > header p { margin:0; }
.production-statistics-popover > header h3 { margin-top:.15rem;font-size:1rem; }
.production-statistics-popover .preproduction-summary { display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;margin:0;padding:1rem; }
.preproduction-summary article { display:flex;align-items:baseline;gap:.55rem;padding:1rem;border:1px solid var(--border);border-radius:0;background:var(--surface-2); }
.preproduction-summary strong { font-size:1.6rem; }
.temporal-kanban { display:flex;gap:1rem;overflow-x:auto;padding:0 0 1rem;align-items:flex-start; }
.temporal-kanban-column { flex:1 0 260px;max-width:350px;background:var(--surface);border:1px solid var(--border);border-radius:0;min-height:260px; }
.temporal-kanban-column>header { display:flex;justify-content:space-between;gap:.5rem;padding:1rem;border-bottom:1px solid var(--border); }
.temporal-kanban-column h3 { margin:0 0 .2rem;font-size:1rem; }.temporal-kanban-column header>span { display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-2); }
.temporal-kanban-cards { display:grid;gap:.75rem;padding:.75rem; }
.production-load-more { width:100%;justify-content:center;gap:.35rem; }
.production-load-more .load-more-progress,.editing-load-more span { color:var(--ink-muted);font-size:.72rem; }
.empty-column { color:var(--ink-muted);padding:1.25rem .5rem;text-align:center;font-size:.85rem; }
.temporal-project-card { text-align:left;border:1px solid var(--border);border-radius:0;background:var(--surface-2);display:grid;color:var(--ink);overflow:hidden;box-shadow:none; }
.temporal-project-card:hover { border-color:var(--accent);transform:translateY(-1px); }.temporal-project-card.attention{border-left:4px solid var(--orange)}.temporal-project-card.critical{border-left:4px solid #dc3545}
.temporal-project-card.additional-event-card{border-left:4px solid var(--accent)}
.temporal-project-card-open { appearance:none;width:100%;padding:.9rem;border:0;background:transparent;color:inherit;display:grid;gap:.45rem;text-align:left;font:inherit;cursor:pointer; }
.temporal-project-card-open:focus-visible { outline:2px solid var(--accent);outline-offset:-4px;border-radius:0; }
.additional-event-form .full-width{grid-column:1/-1}.additional-event-form .form-actions{align-items:center}.additional-event-feedback{color:var(--ink-muted)}
.additional-event-step-form .full-width{grid-column:1/-1}.additional-event-step-form .form-actions{align-items:center}.additional-event-step-feedback{color:var(--ink-muted)}
.additional-event-video-options{display:grid;gap:.65rem;margin-top:1rem}.additional-event-video-options .workflow-binding-row{grid-template-columns:auto 1fr;padding:.8rem;border:1px solid var(--border);border-radius:0;background:var(--surface)}.additional-event-video-options .workflow-binding-row span{display:grid;gap:.2rem}.additional-event-video-options .workflow-binding-row.unavailable{opacity:.6}.additional-event-deliverables-summary{margin-top:1rem}.additional-event-video-summary{display:grid;gap:.5rem}
.temporal-card-head { display:flex;justify-content:space-between;align-items:center; }.attention-badge { min-width:22px;height:22px;padding:0 5px;border-radius:0;background:#dc3545;color:#fff;display:grid;place-items:center;font-size:.75rem; }
.task-progress { height:6px;border-radius:0;background:var(--border);overflow:hidden;margin-top:.2rem; }.task-progress i { display:block;height:100%;background:var(--accent); }
.temporal-card-head > small,.temporal-project-card-open > span:first-of-type { font-size:.82rem;color:var(--ink-muted); }
.temporal-card-next-task { min-width:0;display:grid;gap:.45rem;padding:.75rem .9rem .9rem;border-top:1px solid var(--border); }
.temporal-card-next-task > span { color:var(--ink-muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em; }
.temporal-card-next-task > strong { font-size:.86rem;line-height:1.3; }
.temporal-card-next-controls { min-width:0;display:grid;gap:.45rem; }
.temporal-card-next-controls > * { min-width:0;max-width:100%; }
.temporal-card-next-controls .task-action-buttons,.temporal-card-next-controls .task-actions-with-whatsapp,.temporal-card-next-controls .task-actions-with-waiver { justify-content:flex-start; }
.temporal-card-next-controls .assignment-task-action { width:100%;min-width:0;grid-template-columns:minmax(0,1fr) auto; }
.temporal-card-next-controls .recording-media-folder-form,.temporal-card-next-controls .recording-edited-videos-action { width:100%;min-width:0; }
.temporal-card-next-controls .recording-media-backup-action { justify-items:start; }
.temporal-card-next-task.is-navigation-only { padding:0;gap:0; }
.temporal-card-next-task.is-navigation-only > span { padding:.75rem .9rem 0; }
.temporal-card-next-task.is-navigation-only > button { appearance:none;width:100%;padding:.45rem .9rem .9rem;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:800;text-align:left;cursor:pointer; }
.temporal-card-next-task.is-navigation-only > button:hover,.temporal-card-next-task.is-navigation-only > button:focus-visible { color:var(--accent-text); }
.workflow-project-layer { padding:0;place-items:stretch end; }
.workflow-project-drawer { position:relative;z-index:1;margin:0;height:100%;max-height:none;width:min(620px,100%);border-radius:0;background:var(--surface-2);box-shadow:none;overflow:hidden;transition:width 180ms ease; }
.workflow-project-drawer .modal-header { background:var(--surface-2); }
.workflow-project-drawer .close-icon-button { width:38px;height:38px;border:1px solid var(--border-strong);border-radius:0;background:var(--surface-3); }
.workflow-project-drawer-body { padding:20px;background:var(--surface-2); }
.workflow-project-drawer-body > form { display:grid;gap:20px;min-width:0; }
.workflow-project-drawer-body > form > .task-section { margin:0; }
.workflow-project-drawer-body form .task-section { gap:16px; }
.workflow-project-drawer-body form .task-section > p { margin:0;line-height:1.5; }
.workflow-project-drawer-body form .form-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.workflow-project-drawer-body form .form-grid > * { min-width:0; }
.workflow-project-drawer-body form .form-grid > label { display:grid;align-content:start;gap:6px; }
.workflow-project-drawer-body form .form-grid > .full { grid-column:1/-1; }
.workflow-project-drawer-body > form > .form-actions { bottom:-20px;margin:0 -20px -20px;padding:16px 20px; }
.workflow-project-overview { display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem; }.workflow-project-overview span,.task-state { padding:.3rem .55rem;border-radius:0;background:var(--surface);font-size:.78rem; }
.production-recording-drawer-header { display:grid;gap:14px;margin-bottom:18px; }
.production-recording-name-row { min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:0;background:var(--surface); }
.production-recording-name-row > span { min-width:0;display:grid;gap:2px; }
.production-recording-name-row small { color:var(--ink-muted);font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase; }
.production-recording-name-row strong { min-width:0;overflow-wrap:anywhere; }
.production-recording-schedule { min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 6px;color:var(--ink-muted);font-size:.82rem;line-height:1.35; }
.production-recording-schedule > i { font-style:normal;opacity:.65; }
.production-recording-schedule > strong { min-width:0;color:var(--ink);font-size:inherit;overflow-wrap:anywhere; }
.production-recording-schedule.is-location-missing > strong { color:var(--orange); }
.production-recording-drawer-header > .production-recording-schedule { padding:0 2px; }
.production-recording-schedule.compact { font-size:.76rem; }
.production-recording-summary { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.production-recording-summary-item { min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:4px 8px;padding:10px 12px;border:1px solid var(--border);border-radius:0;background:var(--surface); }
.production-recording-summary-item > strong { color:var(--ink-muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.04em; }
.production-recording-summary-item > span { min-width:0;overflow-wrap:anywhere;font-size:.86rem;font-weight:750; }
.production-recording-summary-item > small { grid-column:2;color:var(--ink-muted);font-size:.68rem; }
.production-recording-summary-item.is-empty > span { color:var(--ink-muted);font-weight:650; }
.production-recording-summary.compact { grid-template-columns:max-content minmax(0,1fr);align-items:baseline;gap:3px 8px;padding:6px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border); }
.production-recording-summary.compact .production-recording-summary-item { display:contents; }
.production-recording-summary.compact .production-recording-summary-item > strong { font-size:.6rem; }
.production-recording-summary.compact .production-recording-summary-item > span { font-size:.72rem;font-weight:650; }
.production-recording-summary.compact .production-recording-summary-item > small { grid-column:2;font-size:.6rem; }
.recording-shortcuts { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px; }
.recording-shortcut { position:relative;min-width:0;min-height:48px;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:0;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:opacity 160ms ease,border-color 160ms ease,background-color 160ms ease,color 160ms ease,box-shadow 160ms ease; }
.recording-shortcut > svg { width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.recording-shortcut > span { font-size:.82rem;font-weight:850; }
.recording-shortcut.is-empty { opacity:.38; }
.recording-shortcut.has-content { opacity:1; }
.recording-shortcut > b { position:absolute;top:-7px;right:-7px;min-width:22px;height:22px;display:grid;place-items:center;padding:0 5px;border:2px solid var(--surface-2);border-radius:999px;background:#dc3545;color:#fff;font-size:.68rem; }
.recording-shortcut:hover,.recording-shortcut:focus-visible { opacity:1;border-color:var(--accent);background:var(--accent);color:var(--accent-contrast);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / 14%);outline:0; }
.operational-task-row.is-shortcut-target { border-color:var(--accent);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / 16%); }
.workflow-project-drawer-body:has(> .recording-notes-panel) { display:grid; }
.workflow-project-drawer-body:has(> .recording-notes-panel) > .workflow-project-content-column { display:contents; }
.workflow-project-content-column > .production-recording-drawer-header { order:1; }
.workflow-project-drawer-body > .recording-notes-panel { order:2; }
.workflow-project-content-column > :not(.production-recording-drawer-header) { order:3; }
.recording-notes-panel { min-width:0;display:grid;gap:16px;margin:16px 0;padding:16px;border:1px solid var(--border);border-radius:0;background:var(--surface-2); }
.recording-notes-panel-header { display:flex;align-items:flex-start;justify-content:space-between;gap:16px; }
.recording-notes-panel-header > div { display:grid;gap:2px; }
.recording-notes-panel-header h3 { margin:0; }
.recording-notes-panel-header small { color:var(--ink-muted);font-size:.72rem; }
.recording-notes-close { flex:0 0 auto; }
.workflow-task-side-panel > form { display:grid;gap:20px;min-width:0; }
.recording-note-composer { display:grid;gap:4px;padding:0;border:0;background:transparent; }
.recording-note-input-shell { min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 38px;grid-template-rows:repeat(2,38px);align-items:stretch;gap:6px; }
.recording-note-input-shell textarea { grid-column:1;grid-row:1/3;min-height:82px;max-height:164px;padding:.58rem .7rem;resize:vertical; }
.recording-note-input-shell > .icon-only-button { width:38px;height:38px;align-self:stretch; }
.recording-note-attachment { grid-column:2;grid-row:1; }
.recording-note-send { grid-column:2;grid-row:2; }
.recording-note-attachment { position:relative;overflow:hidden; }
.recording-note-attachment input { position:absolute;width:1px;height:1px;opacity:0;pointer-events:none; }
.recording-note-attachment.has-file { border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft); }
.recording-note-send { border-color:var(--accent);background:var(--accent);color:var(--accent-contrast); }
.recording-note-demand-option { width:max-content;max-width:100%;display:inline-flex;align-items:center;gap:7px;color:var(--ink-muted);font-size:12px;font-weight:700;cursor:pointer; }
.recording-note-demand-option input { width:15px;height:15px;margin:0;accent-color:var(--accent); }
.recording-note-feedback:empty { display:none; }
.recording-note-feedback { color:var(--ink-muted);font-size:.7rem; }
.recording-notes-list { display:grid;gap:10px; }
.recording-note { display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:start;gap:12px;padding:14px;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:0;background:var(--surface);font-size:12px; }
.recording-note.is-note { grid-template-columns:minmax(0,1fr);border-left-color:var(--border-strong); }
.recording-note.is-resolved { border-left-color:var(--border-strong);opacity:.82; }
.recording-note-content { min-width:0;display:grid;gap:6px; }
.recording-note-content > header { display:flex;justify-content:space-between;gap:12px;align-items:flex-start; }
.recording-note-content > header > div { min-width:0;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap; }
.recording-note-content > header strong,.recording-note-content > header small { font-size:12px; }
.recording-note-content > header small { color:var(--ink-muted); }
.recording-note-content > p { margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5; }
.recording-note-resolution { width:100%;color:var(--ink-muted);font-size:12px;line-height:1.4;text-align:right; }
.recording-note-attachments { display:flex;gap:6px;flex-wrap:wrap; }
.recording-note-attachments a { min-width:0;max-width:100%;display:inline-flex;align-items:center;gap:5px;padding:.3rem .5rem;border:1px solid var(--border);border-radius:0;text-decoration:none;font-size:12px; }
.recording-note-attachments a svg { width:14px;height:14px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.recording-note-attachments a span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.recording-note-status { padding:.25rem .5rem;border-radius:0;background:var(--accent-soft);color:var(--accent-text);font-size:12px;font-weight:850; }
.recording-note.is-resolved .recording-note-status { background:var(--surface-3);color:var(--ink-muted); }
.recording-note-actions { width:108px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px; }
.recording-note-actions .recording-note-status { text-align:center; }
.recording-note-actions .ghost-button { width:100%;box-sizing:border-box;font-size:12px; }
.recording-notes-load-more { justify-self:center; }
.story-meet-report-readonly { display:grid;gap:14px;font-size:12px; }
.story-meet-report-readonly > header { display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid var(--border); }
.story-meet-report-readonly > header strong,.story-meet-report-readonly > header small { font-size:12px; }
.story-meet-report-readonly > header small { color:var(--ink-muted); }
.story-meet-report-readonly section { display:grid;gap:8px; }
.story-meet-report-readonly h4,.story-meet-report-readonly p,.story-meet-report-readonly dl,.story-meet-report-readonly dd { margin:0; }
.story-meet-report-readonly h4 { font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted); }
.story-meet-report-readonly dl { display:grid;gap:8px; }
.story-meet-report-answer { display:grid;gap:3px;padding:10px 0;border-bottom:1px solid var(--border); }
.story-meet-report-answer dt { color:var(--ink-muted);font-weight:750; }
.story-meet-report-answer dd { white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5; }
@media(min-width:1100px){
  .workflow-project-drawer:has(> .workflow-project-drawer-body > .recording-notes-panel) { width:min(1240px,100%); }
  .workflow-project-drawer-body:has(> .recording-notes-panel) { grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px; }
  .workflow-project-drawer-body:has(> .recording-notes-panel) > .workflow-project-content-column { min-width:0;display:block;grid-column:1; }
  .workflow-project-drawer-body > .recording-notes-panel { grid-column:2;align-self:start;position:sticky;top:0;max-height:calc(100vh - 132px);margin:0;overflow:auto; }
}
.project-logistics-form { display:grid;gap:1rem; }.project-logistics-locations { display:grid;gap:.55rem; }.project-logistics-locations article { display:grid;gap:.15rem;padding:.7rem .8rem;border:1px solid var(--border);border-radius:0;background:var(--surface); }.project-logistics-locations small,.project-logistics-grid small { color:var(--ink-muted);font-size:.78rem; }.project-logistics-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.project-logistics-grid > label { min-width:0; }.project-logistics-grid .project-logistics-missing,.project-logistics-grid .project-logistics-extraordinary-note { grid-column:1/-1; }.project-logistics-extraordinary { display:flex!important;align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem .8rem;border:1px solid var(--border);border-radius:0;background:var(--surface); }.project-logistics-extraordinary > span:first-child { font-weight:650; }
.project-logistics-location-field { position:relative;display:grid;gap:6px;min-width:0; }.project-logistics-location-field > span { font-weight:750; }.project-logistics-location-field .project-client-results { top:calc(100% + 4px); }
.workflow-family-card { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;align-content:start; }.workflow-family-card > .form-actions { justify-content:flex-end; }.workflow-family-statuses { display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px; }.workflow-draft-badge { border-color:rgb(var(--accent-rgb) / 45%);background:rgb(var(--accent-rgb) / 10%);color:var(--accent-text); }.workflow-family-history { grid-column:1/-1;border-top:1px solid var(--border);padding-top:10px; }.workflow-family-history > summary { display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:800; }.workflow-history-list { display:grid;gap:6px;margin:10px 0; }.workflow-history-list article { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--border);border-radius:0;background:var(--surface-2); }.workflow-history-list article > div { display:grid;gap:2px; }.workflow-history-list small { color:var(--ink-muted); }.workflow-impact-panel { max-width:980px; }.workflow-impact-summary { display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:16px; }.workflow-impact-summary > div { display:grid;gap:4px;padding:12px;border:1px solid var(--border);border-radius:0;background:var(--surface-2); }.workflow-impact-summary small { color:var(--ink-muted); }.workflow-impact-panel section > ul { display:grid;gap:6px;margin:8px 0 0;padding-left:20px; }.workflow-impact-warnings { margin-top:16px;padding:12px;border:1px solid color-mix(in srgb,var(--orange) 55%,var(--border));border-radius:0;background:color-mix(in srgb,var(--orange) 7%,var(--surface)); }.workflow-impact-confirmation .workflow-stage-content { display:grid;gap:14px; }
.task-meeting-schedule-form { display:grid;gap:1rem; }.task-meeting-time-grid { grid-template-columns:minmax(0,2fr) minmax(150px,1fr); }.meeting-participant-options { display:grid;gap:.6rem;margin-top:.75rem; }.meeting-participant-option { display:flex!important;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .85rem;border:1px solid var(--border);border-radius:0;background:var(--surface); }.meeting-participant-option > span:first-child { display:grid;gap:.2rem; }.meeting-participant-option small { color:var(--ink-muted); }.meeting-participant-option.unavailable { opacity:.65; }.task-meeting-links { display:flex;align-items:center;gap:.45rem;flex-wrap:wrap; }.task-meeting-links a { text-decoration:none; }
.task-section { display:grid;gap:.65rem;margin:1rem 0; }.task-section>h3 { margin:0; }.task-section summary { cursor:pointer;font-weight:700;margin-bottom:.65rem; }
.preliminary-team-form { display:grid;gap:1rem; }
.preliminary-team-requirement { padding:1rem;border:1px solid var(--border);border-radius:0;background:var(--surface); }
.preliminary-team-requirement>header { display:flex;align-items:flex-start;justify-content:space-between;gap:1rem; }
.preliminary-team-requirement h3 { margin:0; }
.preliminary-team-requirement small { color:var(--ink-muted); }
.preliminary-team-slots { display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.75rem; }
.preliminary-team-slots label { display:grid;gap:.35rem;font-weight:750; }
.preliminary-team-confirmation { display:flex;align-items:flex-start;gap:.65rem;padding:1rem;border:1px solid var(--border-strong);border-radius:0;background:var(--surface);font-weight:750; }
.preliminary-team-reason { display:grid;gap:6px;padding:1rem;border:1px solid color-mix(in srgb,var(--orange) 55%,var(--border));border-radius:0;background:color-mix(in srgb,var(--orange) 7%,var(--surface));font-weight:750; }
.preliminary-team-reason small { color:var(--ink-muted);font-weight:500; }
.operational-task-row { position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.9rem 2.8rem .9rem .9rem;border:1px solid var(--border);border-radius:0; }.operational-task-row>div:not(.task-help) { min-width:0;display:grid;gap:.3rem; }.operational-task-row small { color:var(--ink-muted); }
.workflow-project-drawer-body .operational-task-row.recording-edited-videos-task-row { grid-template-columns:minmax(0,1fr); }
.recording-edited-videos-task-row .production-recording-linked-videos-summary-copy > .task-state,
.recording-edited-videos-task-row .production-recording-linked-videos-summary-copy > .task-progress { width:100%;box-sizing:border-box; }
.recording-edited-videos-task-row .production-recording-linked-videos-summary-copy > .task-state { font-weight:400; }
.recording-edited-videos-task-row .project-recording-linked-videos-chevron,
.recording-edited-videos-task-row .project-recording-linked-videos[open] .project-recording-linked-videos-chevron { position:absolute;top:50px;right:17px;margin:0; }
.task-help { position:absolute;z-index:4;top:9px;right:9px; }
.task-help.is-open { z-index:5; }
.task-help-button { width:25px;height:25px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:var(--ink-muted);background:transparent; }
.task-help-button:hover,.task-help-button:focus-visible,.task-help-button[aria-expanded="true"] { color:var(--accent-text);background:rgb(var(--accent-rgb) / 10%); }
.task-help-button svg { width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.task-help-popover { position:absolute;top:31px;right:0;width:min(280px,calc(100vw - 70px));padding:10px 12px;border:1px solid var(--border-strong);border-radius:0;background:var(--surface);box-shadow:none;color:var(--ink-muted);font-size:12px;font-weight:400;line-height:1.5; }
.operational-task-row.overdue,.operational-task-row.attention { border-left:4px solid var(--orange); }.operational-task-row.critical { border-left:4px solid #dc3545; }.empty-state.compact { padding:1rem; }
.task-actions-with-waiver { display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap; }
.task-waive-button { color:#9a3412;border-color:#fdba74; }
.task-actions-with-whatsapp { display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap; }
.task-actions-with-whatsapp .whatsapp-button:hover,.task-actions-with-whatsapp .whatsapp-button:focus-visible { color:#128c4a;border-color:#25d366;background:#effcf4; }
.operational-task-row.story-meet-day { border-color:color-mix(in srgb,var(--accent) 65%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent); }
.operational-task-row.story-meet-missing { border-color:color-mix(in srgb,var(--orange) 70%,var(--border));background:color-mix(in srgb,var(--orange) 8%,var(--surface));box-shadow:0 0 0 1px color-mix(in srgb,var(--orange) 18%,transparent); }
.story-meet-countdown { width:max-content;max-width:100%;padding:.32rem .6rem;border-radius:0;background:var(--accent);color:var(--accent-contrast);font-size:.78rem;font-weight:850; }
.story-meet-countdown.warning,.story-meet-card-timing.warning { background:var(--orange);color:#3d2600; }
.temporal-project-card.story-meet-today { border-color:color-mix(in srgb,var(--accent) 70%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent); }.temporal-project-card.story-meet-missing { border-color:color-mix(in srgb,var(--orange) 75%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--orange) 20%,transparent); }.story-meet-card-timing { width:max-content;max-width:100%;padding:.3rem .55rem;border-radius:0;background:var(--accent);color:var(--accent-contrast);font-size:.72rem;font-weight:850; }
.story-meet-action-slot { display:contents; }
.task-form-fields { display:grid;gap:1rem; }.task-form-participants { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0;padding:1rem;border:1px solid var(--border);border-radius:0; }.task-form-participants legend { padding:0 .35rem;font-weight:800; }.task-form-participants>label { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .8rem;border:1px solid var(--border);border-radius:0;background:var(--surface); }.task-form-narrative { display:grid;gap:.4rem;font-weight:750; }.task-form-narrative textarea { min-height:110px;resize:vertical; }
.assignment-task-action { min-width:240px;display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:.55rem;align-items:end; }.assignment-task-action label { display:grid;gap:.3rem; }.assignment-task-action label span { font-size:.75rem;font-weight:850;color:var(--ink-muted); }.assignment-task-action.unavailable { display:block;max-width:260px;color:var(--ink-muted); }
.assignment-task-action .assignment-reason { grid-column:1 / -1; }
.assignment-task-action .assignment-feedback { grid-column:1 / -1;color:var(--ink-muted); }
.workflow-project-drawer-body .operational-task-row.assignment-task-row { grid-template-columns:minmax(0,1fr); }
.workflow-project-drawer-body .operational-task-row.assignment-task-row > .assignment-task-action { width:100%;min-width:0; }
.workflow-project-drawer-body .operational-task-row.assignment-task-row > .assignment-task-action select { width:100%;min-width:0; }
.operational-task-row > div.task-action-buttons { min-width:0;display:flex;grid-template-columns:none;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end; }
:is(.recording-media-folder-form,.project-media-folder-form) { min-width:190px;display:grid;gap:.3rem; }
:is(.recording-media-folder-form,.project-media-folder-form) label { position:relative;display:block; }
:is(.recording-media-folder-form,.project-media-folder-form) input { width:100%;height:38px;padding:13px 42px 4px 11px;font-weight:800;letter-spacing:.08em; }
:is(.recording-media-folder-form,.project-media-folder-form) label > span { position:absolute;left:11px;top:50%;pointer-events:none;color:var(--ink-muted);font-size:.68rem;font-weight:750;transform:translateY(-50%);transition:.16s ease; }
:is(.recording-media-folder-form,.project-media-folder-form) input:focus + span,:is(.recording-media-folder-form,.project-media-folder-form) input:not(:placeholder-shown) + span { top:4px;font-size:.55rem;transform:none; }
:is(.recording-media-folder-form,.project-media-folder-form) button { position:absolute;right:4px;top:4px;width:30px;height:30px;min-height:30px;padding:0;display:grid;place-items:center; }
:is(.recording-media-folder-form,.project-media-folder-form) button svg { width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2; }
:is(.recording-media-folder-form,.project-media-folder-form) > small,.recording-media-backup-action > small { display:block;color:var(--ink-muted);font-size:.65rem; }
.recording-media-backup-action { display:grid;justify-items:end;gap:.3rem; }
.editing-only-deadline-form { display:grid;grid-template-columns:minmax(150px,1fr) auto;align-items:end;gap:.45rem;width:100%; }
.editing-only-deadline-form label { display:grid;gap:.25rem; }
.editing-only-deadline-form label > span { color:var(--ink-muted);font-size:.68rem;font-weight:750; }
.editing-only-deadline-form input { min-height:38px; }
.editing-only-deadline-form > small { grid-column:1/-1;color:var(--ink-muted);font-size:.65rem; }
.recording-media-task-state { min-width:108px;display:grid;justify-items:end;gap:.15rem;text-align:right; }
.recording-media-task-state span { color:var(--ink-muted);font-size:.62rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em; }
.recording-media-task-state strong { color:var(--accent-text);font-size:.78rem; }
.recording-media-folder-adjust { min-height:26px;margin-top:.2rem;padding:.2rem .55rem;font-size:.65rem; }
.recording-edited-videos-action { min-width:210px;display:grid;grid-template-columns:minmax(120px,1fr) auto;align-items:center;gap:.55rem .75rem; }
.recording-edited-videos-progress { display:grid;gap:.28rem; }
.recording-edited-videos-progress>strong { font-size:.76rem;white-space:nowrap; }
.recording-edited-videos-progress>span[aria-hidden] { width:100%;height:5px;overflow:hidden;border-radius:0;background:var(--surface-muted); }
.recording-edited-videos-progress>span[aria-hidden]>i { display:block;height:100%;border-radius:0;background:var(--accent); }
.recording-edited-videos-progress>small,.recording-edited-videos-feedback { color:var(--ink-muted);font-size:.65rem; }
.recording-edited-videos-feedback { grid-column:1/-1;text-align:right; }
.task-action-buttons .briefing-link-feedback { flex-basis:100%;color:var(--ink-muted); }
.operational-task-row > .task-checklist-action { grid-column:1/-1;display:grid;gap:.7rem;padding:.8rem;border:1px solid var(--border);border-radius:0;background:var(--surface); }
.task-checklist-source { display:grid;gap:.3rem;padding:.7rem .8rem;border-left:3px solid var(--accent);border-radius:0;background:var(--surface-2); }
.task-checklist-source > span { color:var(--ink-muted);font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.03em; }
.task-checklist-source p { margin:0;white-space:pre-wrap;line-height:1.45; }
.task-checklist-items { display:grid;gap:.5rem; }
.task-checklist-items > label { display:flex;align-items:flex-start;gap:.65rem;padding:.65rem .7rem;border:1px solid var(--border);border-radius:0;background:var(--surface-2);cursor:pointer; }
.task-checklist-items > label:has(input:disabled) { cursor:default;opacity:.78; }
.task-checklist-items input { width:18px;height:18px;margin-top:.08rem;accent-color:var(--accent-strong); }
.task-checklist-items label > span { line-height:1.35; }
.task-checklist-items label small { margin-left:.35rem;color:var(--ink-muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.03em; }
.task-checklist-feedback { min-height:1em;color:var(--ink-muted); }
.project-change-governance { display:grid;gap:.65rem;margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:0;background:var(--surface-2); }.project-change-governance article { display:flex;justify-content:space-between;gap:1rem;padding:.7rem;border-radius:0;background:var(--surface); }.project-change-governance article div { display:grid;gap:.2rem; }.project-change-governance small { color:var(--ink-muted);text-transform:capitalize; }
@media(max-width:760px){.production-statistics-popover{inset:76px 12px auto 12px;width:auto;max-height:calc(100vh - 88px)}.production-statistics-popover .preproduction-summary{grid-template-columns:1fr}.workflow-project-drawer{border-radius:0}.temporal-kanban-column{flex-basis:82vw}.workflow-project-drawer-body form .form-grid,.project-logistics-grid,.task-meeting-time-grid{grid-template-columns:1fr}}
.public-briefing-mode .sidebar,
.public-briefing-mode .topbar,
.public-briefing-mode .responsive-menu-layer { display: none !important; }
.public-briefing-mode .app-shell { grid-template-columns: 1fr; }
.public-briefing-mode .workspace { padding: 0; }
.public-briefing-mode { background: color-mix(in srgb, var(--accent) 7%, var(--surface)); }
.public-briefing-view { min-height: 100vh; background: linear-gradient(180deg,color-mix(in srgb,var(--accent) 9%,var(--surface)) 0, var(--surface) 320px); padding: 24px 16px 80px; }
.public-briefing-shell { width: min(720px, 100%); margin: 0 auto; }
.public-briefing-brand { display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 4px 18px;color:var(--ink-muted);font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em; }
.public-briefing-brand strong { color:var(--ink);font-size:1.1rem;letter-spacing:-.05em;text-transform:none; }
.public-briefing-header { position:relative;overflow:hidden;margin-bottom:18px;border:1px solid var(--border);border-radius:0;background:var(--surface-2);box-shadow:none; }
.public-briefing-header > div:last-child { padding:28px 30px 24px; }
.public-briefing-accent { height:9px;background:var(--accent); }
.public-briefing-shell h1 { margin:5px 0 8px;font-size:clamp(1.75rem,5vw,2.45rem);line-height:1.08;letter-spacing:-.035em; }
.public-briefing-header p { margin:.35rem 0;color:var(--ink-muted);line-height:1.5; }
.public-briefing-project { display:inline-flex!important;padding:.3rem .6rem;border-radius:0;background:color-mix(in srgb,var(--accent) 13%,var(--surface));color:var(--ink)!important;font-size:.82rem;font-weight:750; }
.public-briefing-progress { display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;margin-top:22px;font-size:.78rem;font-weight:800;color:var(--ink-muted); }
.public-briefing-progress > div { height:6px;overflow:hidden;border-radius:0;background:var(--border); }
.public-briefing-progress i { display:block;height:100%;width:0;border-radius:0;background:var(--accent);transition:width .25s ease; }
.briefing-public-section { background: var(--surface-2); border: 1px solid var(--border); border-radius:0; padding: 28px 30px; margin-bottom: 18px; box-shadow:none; }
.briefing-public-section header { display:flex;align-items:flex-start;gap:14px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border); }
.briefing-public-section header h2 { margin:.2rem 0;font-size:1.4rem; }
.briefing-public-section header p { margin:.2rem 0;color:var(--ink-muted); }
.briefing-section-number { display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--accent-contrast);font-weight:900; }
.briefing-question-list { display: grid; gap: 26px; }
.briefing-question { display: grid; gap: 9px; margin: 0; border: 0; padding: 0; }
.briefing-question > span,
.briefing-question legend { font-weight: 720;font-size:.96rem; }
.briefing-question input:not([type="radio"]):not([type="checkbox"]),
.briefing-question textarea { width:100%;border:0;border-bottom:1.5px solid var(--border-strong);border-radius:0;background:transparent;padding:10px 2px 8px;color:var(--ink);font:inherit;outline:none;transition:border-color .16s ease,box-shadow .16s ease; }
.briefing-question input:not([type="radio"]):not([type="checkbox"]):focus,
.briefing-question textarea:focus { border-color:var(--accent);box-shadow:0 2px 0 var(--accent); }
.briefing-question textarea { min-height:96px;resize:vertical; }
.briefing-option { display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:0;cursor:pointer;transition:background .15s ease; }
.briefing-option:hover { background:color-mix(in srgb,var(--accent) 8%,transparent); }
.briefing-option input { accent-color:var(--accent);width:18px;height:18px; }
.briefing-information { padding: 12px 14px; border-radius:0; background: var(--surface-subtle, #f4f6f8); }
.public-briefing-actions { display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:2px 4px; }
.public-briefing-actions [data-action="previous-public-briefing-section"] { margin-right:auto; }
.public-briefing-actions + .settings-feedback { display:block;min-height:1.3em;margin:12px 4px;text-align:right; }
.briefing-editor .workflow-task-editor { padding: 18px; }
.briefing-header-settings { display:grid;gap:14px;margin:18px 0;padding:18px;border:1px solid var(--border);border-radius:0;background:var(--surface-2); }
.briefing-header-settings h4,.briefing-header-settings p { margin:0; }
.briefing-header-settings > img,.briefing-header-placeholder { width:min(720px,100%);aspect-ratio:4/1;border-radius:0;object-fit:cover;background:var(--surface);border:1px solid var(--border); }
.briefing-header-placeholder { display:grid;place-items:center;color:var(--ink-muted);font-weight:700; }
.briefing-header-picker { display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-weight:750; }
.workflow-project-drawer:has(> .workflow-project-drawer-body > .briefing-review) { width:min(780px,100%); }
.briefing-review { display:grid;gap:20px;min-width:0; }
.briefing-review-summary { display:flex;flex-wrap:wrap;gap:8px; }
.briefing-review-summary span,.briefing-relevance-badge,.briefing-status-badge { display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid var(--border);border-radius:0;background:var(--surface);color:var(--ink-muted);font-size:.72rem;font-weight:800;line-height:1.2; }
.briefing-review-intro { display:grid;gap:6px; }
.briefing-review-intro :is(p,h3) { margin:0; }
.briefing-review-intro > p:last-child { max-width:640px;color:var(--ink-muted);line-height:1.5; }
.briefing-discrepancy-list { display:grid;gap:16px; }
.briefing-discrepancy-card { display:grid;gap:18px;min-width:0;padding:20px;border:1px solid var(--border);border-left:4px solid var(--orange);border-radius:0;background:var(--surface-2);overflow:hidden; }
.briefing-discrepancy-card.critical { border-left-color:#dc3545; }
.briefing-discrepancy-card.advisory { border-left-color:var(--accent); }
.briefing-discrepancy-header { display:grid;gap:9px;min-width:0; }
.briefing-discrepancy-badges { display:flex;flex-wrap:wrap;gap:7px; }
.briefing-relevance-badge { border-color:color-mix(in srgb,#dc3545 35%,var(--border));background:color-mix(in srgb,#dc3545 8%,var(--surface));color:color-mix(in srgb,#dc3545 74%,var(--ink)); }
.briefing-status-badge { background:var(--surface-3); }
.briefing-discrepancy-header h4 { margin:0;font-size:1.06rem;line-height:1.35; }
.briefing-canonical-field { display:flex;align-items:baseline;gap:6px 9px;min-width:0;flex-wrap:wrap;color:var(--ink-muted);font-size:.77rem; }
.briefing-canonical-field > span { font-weight:700; }
.briefing-canonical-field > strong { color:var(--ink);font-weight:800; }
.briefing-canonical-field code { max-width:100%;padding:2px 6px;border-radius:0;background:var(--surface-3);font-size:.7rem;overflow-wrap:anywhere; }
.briefing-governance-state { margin:0;color:var(--warning-strong,var(--ink-muted));font-size:.78rem;font-weight:750; }
.briefing-value-comparison { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.briefing-comparison-value { display:grid;align-content:start;gap:7px;min-width:0;min-height:112px;padding:14px;border:1px solid var(--border);border-radius:0;background:var(--surface); }
.briefing-comparison-value > span { color:var(--ink-muted);font-size:.7rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase; }
.briefing-comparison-value > strong { color:var(--ink);font-size:.98rem;line-height:1.4;overflow-wrap:anywhere;white-space:pre-wrap; }
.briefing-comparison-value > small { align-self:end;color:var(--ink-muted);line-height:1.35; }
.briefing-project-value.is-empty { border-style:dashed; }
.briefing-project-value.is-empty > strong { color:var(--ink-muted);font-weight:700; }
.briefing-answer-value { border-color:color-mix(in srgb,var(--accent) 38%,var(--border));background:color-mix(in srgb,var(--accent) 6%,var(--surface)); }
.briefing-resolution { display:grid;gap:13px;padding-top:17px;border-top:1px solid var(--border); }
.briefing-resolution-heading { display:grid;gap:3px; }
.briefing-resolution-heading > span { color:var(--ink-muted);font-size:.8rem; }
.briefing-resolution-reason-field { display:grid;gap:6px; }
.briefing-resolution-reason-field > span { font-size:.78rem;font-weight:850; }
.briefing-resolution-reason { width:100%;min-height:76px;resize:vertical; }
.briefing-resolution-reason-field > small { color:var(--ink-muted); }
.briefing-resolution-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.briefing-resolution-actions > button { width:100%;min-width:0;white-space:normal; }
.briefing-resolution-actions > .primary-button { grid-column:1/-1; }
.briefing-review-footer { display:grid;gap:14px;padding-top:2px; }
.briefing-review-footer > .primary-button { justify-self:end; }
.briefing-validation-blocker { display:grid;gap:.35rem;margin:18px 0;padding:14px 16px;border:1px solid color-mix(in srgb,var(--warning,#d59b24) 50%,var(--border));border-radius:0;background:color-mix(in srgb,var(--warning,#d59b24) 9%,var(--surface)); }
.briefing-review-button,.task-complete-button { color:var(--accent-contrast);background:var(--accent);border-color:var(--accent); }
.briefing-review-button:hover,.briefing-review-button:focus-visible,.task-complete-button:hover,.task-complete-button:focus-visible { color:var(--accent-hover-contrast);background:var(--accent-hover);border-color:var(--accent-hover); }
@media(max-width:680px){.operational-task-row{grid-template-columns:minmax(0,1fr);padding-right:2.8rem}.operational-task-row>.assignment-task-action{width:100%;min-width:0}.operational-task-row>.task-action-buttons{justify-content:flex-start}.task-form-participants{grid-template-columns:1fr}.production-recording-summary,.workflow-family-card{grid-template-columns:1fr}.recording-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))}.workflow-family-card>.form-actions{justify-content:flex-start}.recording-shortcut{min-height:70px;grid-template-columns:minmax(0,1fr);grid-template-rows:24px auto;align-content:center;justify-items:center;padding:9px 6px;text-align:center}.recording-shortcut>span{font-size:.7rem;white-space:nowrap}}
@media(max-width:480px){.recording-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.recording-shortcut>span{font-size:.76rem}}
.client-evidence-form { grid-column:1/-1;display:grid;gap:12px;width:100%;margin-top:14px;padding:16px;border-top:1px solid var(--border); }
.client-evidence-form > label { display:grid;gap:6px; }
.client-evidence-options { display:flex;gap:10px;flex-wrap:wrap; }
.client-evidence-options label { display:flex;align-items:center;gap:7px;padding:10px 14px;border:1px solid var(--border);border-radius:0;background:var(--surface);cursor:pointer; }
.client-evidence-form textarea,.client-evidence-form input[type="file"] { width:100%; }
.client-evidence-feedback { color:var(--ink-muted); }
@media(max-width:600px){.briefing-discrepancy-card{padding:16px}.briefing-value-comparison,.briefing-resolution-actions{grid-template-columns:1fr}.briefing-resolution-actions>.primary-button{grid-column:auto}.briefing-review-footer>.primary-button{width:100%;justify-self:stretch}}
.briefing-response-sections { display:grid;gap:18px; }
.briefing-response-section { display:grid;gap:0; }
.briefing-response-section > article { display:grid;gap:.35rem;padding:14px 0;border-bottom:1px solid var(--border); }
.briefing-response-section > article:last-child { border-bottom:0; }
.briefing-response-section > article p { margin:0;color:var(--ink-muted);white-space:pre-wrap; }
.briefing-response-section > article > .ghost-button { justify-self:start;margin-top:.35rem; }
.briefing-internal-answer-form { display:grid;gap:.75rem;margin-top:.55rem;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft); }
.briefing-internal-answer-form[hidden] { display:none; }
.briefing-internal-answer-form > label { display:grid;gap:.4rem; }
.briefing-internal-options { display:grid;gap:.45rem; }
.briefing-internal-options label { display:flex;align-items:center;gap:.5rem; }
.briefing-internal-answer-feedback { color:var(--ink-muted); }
.briefing-generated-link { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 3px 10px; min-width: 250px; }
.briefing-generated-link > span { grid-column: 1 / -1; color: var(--muted, #687587); font-size: .8rem; }
.briefing-generated-link > a { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.briefing-generated-link > small { grid-column: 1 / -1; min-height: 1em; color: var(--muted, #687587); }
.briefing-copy-link { width: 36px; height: 36px; flex: 0 0 36px; }
.briefing-copy-link svg,
.briefing-rotate-link svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.briefing-rotate-link { width: 36px; height: 36px; flex: 0 0 36px; }
.briefing-copy-link.copied { color: var(--accent, #00cbc8); border-color: currentColor; }
@media (max-width: 700px) {
  .public-briefing-view { padding:16px 10px 60px; }
  .public-briefing-brand { margin-bottom:12px; }
  .public-briefing-header > div:last-child,.briefing-public-section { padding:21px 18px; }
  .briefing-public-section { border-radius:0; }
  .public-briefing-actions { display:grid;grid-template-columns:1fr 1fr; }
  .public-briefing-actions button { width:100%; }
  .public-briefing-actions [data-action="previous-public-briefing-section"] { margin:0; }
}
.location-reconciliation-panel { display:grid;gap:1rem; }
.location-reconciliation-summary { margin:0;color:var(--ink-muted);font-weight:700; }
.location-reconciliation-list { display:grid;gap:.85rem; }
.location-reconciliation-card { display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:1.25rem;padding:1rem;border:1px solid var(--border);border-radius:0;background:var(--surface); }
.location-reconciliation-source { display:grid;gap:.65rem;min-width:0; }
.location-reconciliation-source h4 { margin:.1rem 0 0;font-size:1rem; }
.location-reconciliation-source ul { display:grid;gap:.25rem;margin:0;padding-left:1.15rem;color:var(--ink-muted);font-size:.82rem; }
.location-reconciliation-source li span { margin-left:.35rem;color:var(--ink);font-weight:750; }
.location-reconciliation-role-list { display:flex;flex-wrap:wrap;gap:.4rem; }
.location-reconciliation-role-list span { padding:.25rem .5rem;border-radius:0;background:var(--surface-muted);color:var(--ink-muted);font-size:.72rem;font-weight:800; }
.location-reconciliation-action { display:grid;align-content:start;gap:.55rem;min-width:0; }
.location-reconciliation-action label { display:grid;gap:.4rem;font-weight:750; }
.location-reconciliation-action .form-actions { justify-content:flex-start;margin:0; }
.location-reconciliation-suggestion { color:var(--success);font-weight:750; }
@media (max-width:850px) { .location-reconciliation-card { grid-template-columns:1fr; } }

.location-reconciliation-create-modal-panel { width:min(640px,calc(100vw - 32px)); }
.location-reconciliation-create-form { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem; }
.location-reconciliation-create-form > label { display:grid;gap:.45rem;min-width:0;font-weight:750; }
.location-reconciliation-create-form .full-width { grid-column:1 / -1; }
.location-reconciliation-create-form .form-actions { justify-content:flex-end;margin:0; }
.location-reconciliation-address-preview { display:grid;gap:.3rem;padding:.8rem 1rem;border:1px solid color-mix(in srgb,var(--success) 40%,var(--border));border-radius:0;background:color-mix(in srgb,var(--success) 7%,var(--surface));color:var(--ink-muted);font-size:.82rem;line-height:1.45; }
.location-reconciliation-address-preview[hidden] { display:none; }
.location-reconciliation-address-preview strong { color:var(--ink); }
@media (max-width:620px) { .location-reconciliation-create-form { grid-template-columns:1fr; } .location-reconciliation-create-form > * { grid-column:1; } .location-reconciliation-create-form .form-actions { justify-content:stretch; } .location-reconciliation-create-form .form-actions button { width:100%; } }

.location-role-cell {
  text-align: center;
}

.location-role-cell .permission-switch {
  margin-inline: auto;
}

.organization-locations-table th:not(:first-child) {
  text-align: center;
}

.organization-locations-table td:nth-child(n + 5) {
  text-align: center;
}

.organization-locations-table th.options-column,
.organization-locations-table td.options-cell {
  text-align: right;
}

.location-details-modal-panel { width: min(980px, calc(100vw - 32px)); max-height: calc(100vh - 32px); }
.location-details-form { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1.25rem; }
.location-details-form > label { display:grid;align-content:start;gap:.55rem;min-width:0; }
.location-details-form [data-credential-detail],.location-details-form [data-equipment-other] { display:grid;gap:.4rem;margin-top:.35rem; }
.location-details-form [data-credential-detail][hidden],.location-details-form [data-equipment-other][hidden] { display:none; }

/* Lightweight native motion without geometry interpolation. */
.view.route-view-entering {
  animation: ui-view-in 180ms ease-out both;
}

.modal-layer:not([hidden]) {
  animation: ui-backdrop-in 160ms ease-out backwards;
}

.modal-layer:not([hidden]) .modal-panel,
.system-confirm-dialog,
.project-addenda-dialog {
  animation: ui-surface-in 190ms cubic-bezier(.2, .8, .2, 1) backwards;
}

.workflow-project-layer:not([hidden]) .workflow-project-drawer {
  animation: ui-drawer-in 210ms cubic-bezier(.2, .8, .2, 1) backwards;
}

.responsive-menu-layer:not([hidden]) .responsive-menu-panel,
.session-profile-popover:not([hidden]),
.project-status-menu[open] > .project-status-menu-panel,
.task-help.is-open > .task-help-popover,
.search-select-options:not([hidden]),
.multi-select-trigger[aria-expanded="true"] + .multi-select-options {
  animation: ui-menu-in 160ms cubic-bezier(.2, .8, .2, 1) backwards;
  transform-origin: top;
}

:is(
  .entity-total-card,
  .configuration-profile-card,
  .authorization-context-card,
  .system-list-card,
  .form-section-card,
  .location-reconciliation-card,
  .workflow-card,
  .temporal-project-card,
  .operational-task-row,
  .project-recording-card,
  .project-addendum-list-item
) {
  animation: ui-item-in 180ms ease-out backwards;
}

@keyframes ui-view-in {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
}

@keyframes ui-backdrop-in {
  from {
    opacity: 0;
  }
}

@keyframes ui-surface-in {
  from {
    opacity: 0;
    transform: translateY(7px);
  }
}

@keyframes ui-drawer-in {
  from {
    opacity: 0;
    transform: translateX(12px);
  }
}

@keyframes ui-menu-in {
  from {
    opacity: 0;
    transform: translateY(-3px);
  }
}

@keyframes ui-item-in {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
}

@keyframes ui-loaded-content-in {
  from {
    opacity: 0;
    transform: translateY(3px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .view.route-view-entering,
  .modal-layer,
  .modal-panel,
  .modal-content-revealing > :first-child,
  .system-confirm-dialog,
  .system-feedback-popup,
  .workflow-project-drawer,
  .responsive-menu-panel,
  .session-profile-popover,
  .project-status-menu-panel,
  .task-help-popover,
  .search-select-options,
  .multi-select-options,
  .nav-children,
  .project-recording-linked-videos-chevron,
  :is(
    .entity-total-card,
    .configuration-profile-card,
    .authorization-context-card,
    .system-list-card,
    .form-section-card,
    .location-reconciliation-card,
    .workflow-card,
    .temporal-project-card,
    .operational-task-row,
    .project-recording-card,
    .project-addendum-list-item
  ) {
    animation: none !important;
    transition-duration: 1ms !important;
  }
}
.location-details-form .full-width { grid-column: 1 / -1; }
.location-details-form fieldset { border: 1px solid var(--border-color, #d9e0e5); border-radius:0; padding: 16px; }
.location-details-form legend { color: var(--text-strong, #18212b); font-weight: 700; padding: 0 8px; }
.location-restriction-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem 1.25rem; }
.location-restriction-option { min-width:0;display:flex;align-items:center;gap:.65rem;color:var(--ink);font-size:.86rem;font-weight:800;cursor:pointer; }
.location-restriction-option > .permission-switch { flex:0 0 38px; }
.location-contact-grid { display:grid;grid-template-columns:minmax(0,6fr) minmax(90px,2fr) minmax(0,4fr);gap:1rem;align-items:start; }
.location-contact-grid > label { display:grid;gap:.5rem;min-width:0; }
.location-contact-search { position:relative; }
@media (max-width:900px) { .location-restriction-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:720px) { .location-details-form,.location-contact-grid { grid-template-columns:1fr; } .location-restriction-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:480px) { .location-restriction-grid { grid-template-columns:1fr; } }

.travel-settings-grid { display:grid;grid-template-columns:minmax(105px,.8fr) minmax(90px,.65fr) repeat(5,minmax(125px,1fr));column-gap:.7rem;row-gap:1rem; }
.travel-settings-grid > label { min-width:0; }
.travel-settings-grid > label > span { min-height:2.5em;display:flex;align-items:flex-end;font-size:.78rem;line-height:1.15; }
.travel-settings-grid > label > input { min-width:0; }
.travel-settings-grid .form-actions { grid-column: 1 / -1; }
@media (max-width: 800px) { .travel-settings-grid { grid-template-columns: 1fr; } .travel-settings-grid > label > span { min-height:0;font-size:inherit; } }

.google-api-settings-layout { display:grid;grid-template-columns:minmax(640px,1.7fr) minmax(360px,1fr);gap:1.5rem;align-items:start; }
.google-api-limits-column { min-width:0; }
.google-api-limits-grid { display:grid;grid-template-columns:repeat(4,minmax(125px,1fr));column-gap:.7rem;row-gap:1rem; }
.google-api-limits-grid > label { min-width:0; }
.google-api-limits-grid > label > span { min-height:2.5em;display:flex;align-items:flex-end;font-size:.78rem;line-height:1.15; }
.google-api-limits-grid > label > input { min-width:0; }
.google-api-limits-grid .form-actions { grid-column:1 / -1; }
.google-api-usage-panel { min-width:0;border-left:1px solid var(--border);padding-left:1.5rem; }
.google-api-usage-panel h3 { margin:.15rem 0 .8rem;color:var(--ink);font-size:1rem; }
.google-api-usage-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem; }
.google-api-usage-grid > .settings-feedback { grid-column:1 / -1; }
.google-api-usage-item { min-width:0;border:1px solid var(--border);border-radius:0;padding:.65rem .75rem;background:var(--surface-3); }
.google-api-usage-item strong { display:block;color:var(--ink);font-size:1.15rem;line-height:1.1; }
.google-api-usage-item span { display:block;margin-top:.3rem;overflow:hidden;color:var(--muted);font-size:.7rem;font-weight:750;line-height:1.2;text-overflow:ellipsis;white-space:nowrap; }
@media (max-width: 1350px) { .google-api-settings-layout { grid-template-columns:1fr; } .google-api-usage-panel { border-left:0;border-top:1px solid var(--border);padding:1rem 0 0; } .google-api-usage-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width: 800px) { .google-api-limits-grid,.google-api-usage-grid { grid-template-columns:1fr; } .google-api-limits-grid > label > span { min-height:0;font-size:inherit; } }

.view[data-view="production-workspace"],
.view[data-view="editing-workspace"] {
  --border-color: var(--border);
  --surface-subtle: var(--surface-3);
  --text-muted: var(--ink-muted);
  --text-strong: var(--ink);
}


.production-shell-heading { align-items:flex-end;margin-bottom:0; }
.production-heading-main { min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"eyebrow tabs" "title tabs";column-gap:clamp(1.4rem,4vw,4rem);align-items:end; }
.production-heading-main > .eyebrow { grid-area:eyebrow; }
.production-heading-main > h2 { grid-area:title; }
.production-header-actions { min-height:36px;align-items:center; }
.production-view-tabs { grid-area:tabs; }
.production-mode-panel { position:relative;margin-top:1rem; }
.production-mode-actions { position:absolute;right:0;bottom:100%;width:auto;min-height:0;justify-content:flex-start;margin:0; }
.production-priority-pending-list { min-width:0;display:grid;gap:.25rem; }
.production-priority-pending-reason,.production-priority-pending-more { appearance:none;width:100%;border:0;padding:0;color:var(--ink);background:transparent;font:inherit;font-size:.82rem;font-weight:750;line-height:1.35;text-align:left;cursor:pointer; }
.production-priority-pending-more { color:var(--ink-muted);font-size:.76rem; }
.production-priority-pending-reason:hover,.production-priority-pending-reason:focus-visible,.production-priority-pending-more:hover,.production-priority-pending-more:focus-visible { color:var(--accent-text); }
.production-priority-pending-neutral { color:var(--ink-muted);font-size:.78rem;line-height:1.35; }

@media (max-width:620px) {
  .production-shell-heading { align-items:stretch; }
  .production-heading-main { grid-template-columns:minmax(0,1fr);grid-template-areas:"eyebrow" "title" "tabs";align-items:stretch;column-gap:0; }
  .production-header-actions { justify-content:flex-start; }
  .production-view-tabs { margin:.75rem -.25rem 0;padding-inline:.25rem; }
}

.dashboard-shell-heading { align-items:flex-end;margin-bottom:0; }
.dashboard-heading-main { min-width:0;flex:1 1 auto;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"eyebrow tabs" "title tabs";column-gap:clamp(1.4rem,4vw,4rem);align-items:end; }
.dashboard-heading-main > .eyebrow { grid-area:eyebrow; }
.dashboard-heading-main > h2 { grid-area:title; }
.dashboard-tabs { grid-area:tabs; }
:is(.dashboard-tabs,.production-view-tabs) { display:flex;align-self:end;gap:.35rem;max-width:100%;overflow-x:auto;border-bottom:1px solid var(--border-strong); }
:is(.dashboard-tab,.production-view-tabs a) { min-height:42px;position:relative;display:inline-flex;flex:0 0 auto;align-items:center;border-bottom:3px solid transparent;padding:.55rem 1rem;color:var(--ink-muted);background:transparent!important;font-size:.84rem;font-weight:850;line-height:1.2;text-decoration:none;opacity:.72;transition:color .22s ease,opacity .22s ease; }
:is(.dashboard-tab,.production-view-tabs a)::after { content:"";position:absolute;right:0;bottom:-3px;left:0;height:3px;background:var(--accent);opacity:.65;transform:scaleX(0);transform-origin:left center;transition:transform .24s cubic-bezier(.2,.8,.2,1),opacity .2s ease; }
:is(.dashboard-tab,.production-view-tabs a):is(:hover,:focus-visible) { color:var(--ink);background:transparent!important;box-shadow:none;opacity:.92; }
:is(.dashboard-tab,.production-view-tabs a):is(:hover,:focus-visible)::after,
:is(.dashboard-tab.active,.dashboard-tab[aria-selected="true"],.production-view-tabs a.active,.production-view-tabs a[aria-selected="true"])::after { transform:scaleX(1); }
:is(.dashboard-tab.active,.dashboard-tab[aria-selected="true"],.production-view-tabs a.active,.production-view-tabs a[aria-selected="true"]) { color:var(--accent-text);background:transparent!important;opacity:1; }
:is(.dashboard-tab.active,.dashboard-tab[aria-selected="true"],.production-view-tabs a.active,.production-view-tabs a[aria-selected="true"])::after { opacity:1; }
.view[data-view="marketing-workspace"] { --border-color:var(--border);--surface-subtle:var(--surface-3);--text-muted:var(--ink-muted);--text-strong:var(--ink); }
.marketing-shell-heading { align-items:flex-end; }
.marketing-heading-main { min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"eyebrow tabs" "title tabs";column-gap:clamp(1.4rem,4vw,4rem);align-items:end; }
.marketing-heading-main > .eyebrow { grid-area:eyebrow; }
.marketing-heading-main > h2 { grid-area:title; }
.glossary-view-tabs,
.marketing-view-tabs { grid-area:tabs;display:flex;align-self:end;gap:.35rem;max-width:100%;overflow-x:auto;border-bottom:1px solid var(--border-strong); }
.glossary-view-tabs button { border:0;border-radius:0;box-shadow:none; }
.glossary-view-tabs button,
.marketing-view-tabs a { min-height:42px;position:relative;display:inline-flex;flex:0 0 auto;align-items:center;border-bottom:3px solid transparent;padding:.55rem 1rem;color:var(--ink-muted);background:transparent!important;font-size:.84rem;font-weight:850;line-height:1.2;text-decoration:none;opacity:.72;transition:color .22s ease,opacity .22s ease; }
.glossary-view-tabs button::after,
.marketing-view-tabs a::after { content:"";position:absolute;right:0;bottom:-3px;left:0;height:3px;background:var(--accent);opacity:.65;transform:scaleX(0);transform-origin:left center;transition:transform .24s cubic-bezier(.2,.8,.2,1),opacity .2s ease; }
.glossary-view-tabs button:is(:hover,:focus-visible),
.marketing-view-tabs a:is(:hover,:focus-visible) { color:var(--ink);background:transparent!important;box-shadow:none;opacity:.92; }
.glossary-view-tabs button:is(:hover,:focus-visible)::after,.glossary-view-tabs button:is(.active,[aria-selected="true"])::after,
.marketing-view-tabs a:is(:hover,:focus-visible)::after,.marketing-view-tabs a:is(.active,[aria-selected="true"])::after { transform:scaleX(1); }
.glossary-view-tabs button:is(.active,[aria-selected="true"]),
.marketing-view-tabs a:is(.active,[aria-selected="true"]) { color:var(--accent-text);opacity:1; }
.glossary-view-tabs button:is(.active,[aria-selected="true"])::after,
.marketing-view-tabs a:is(.active,[aria-selected="true"])::after { opacity:1; }
.marketing-header-actions { min-height:42px;align-items:center; }
.marketing-header-actions .settings-feedback { max-width:min(32vw,360px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.editing-tools.marketing-workspace-tools { margin-top:0; }
.marketing-workspace-tool-fields { grid-template-columns:minmax(240px,1fr) minmax(180px,.35fr); }
.marketing-production-filters { margin-top:0; }
.marketing-production-filters .marketing-production-search { min-width:min(100%,280px);max-width:440px;flex:1 1 280px;margin-right:auto; }
.marketing-production-period-controls { flex:0 0 auto;display:grid;grid-template-columns:42px 90px 135px 135px 142px 142px;grid-template-areas:"reset navigation period year start end";align-items:end;gap:1rem; }
.marketing-production-filters .marketing-production-period-controls > label { width:100%;min-width:0; }
.marketing-production-period-controls :is(select,input) { width:100%;min-width:0;box-sizing:border-box; }
.marketing-production-filters .dashboard-period-reset { grid-area:reset; }
.marketing-production-filters .dashboard-period-reset.is-reserved-hidden { visibility:hidden;pointer-events:none; }
.marketing-production-month-nav { grid-area:navigation;display:flex;align-items:center;gap:.35rem; }
.marketing-production-period-field { grid-area:period; }
.marketing-production-year-field { grid-area:year; }
.marketing-production-start-field { grid-area:start; }
.marketing-production-end-field { grid-area:end; }
.marketing-production-month-nav .icon-only-button { width:42px;height:42px; }
.marketing-production-month-nav svg { width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round; }
.marketing-workspace-panel { margin-top:1rem; }
.marketing-workspace-table td { vertical-align:top; }
.marketing-productions-table { table-layout:fixed; }
.marketing-productions-table tbody tr { border-bottom:1px solid var(--border); }
.marketing-productions-table tbody tr:last-child { border-bottom:0; }
.marketing-productions-table td { padding-block:1rem;vertical-align:middle; }
.marketing-productions-table .marketing-production-row { position:relative;z-index:0;transition:opacity .18s ease; }
.marketing-productions-table .marketing-production-row.is-past { opacity:.46; }
.marketing-productions-table .marketing-production-row.is-past:is(:hover,:focus-within) { opacity:.72; }
.marketing-productions-table .marketing-production-row:has(.marketing-project-options-menu[open]) { z-index:2;opacity:1; }
.marketing-productions-table .marketing-production-date-cell { width:190px; }
.marketing-productions-table .marketing-production-time-cell { width:112px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap; }
.marketing-productions-table .marketing-production-name-cell { width:32%;color:var(--ink);font-size:.92rem; }
.marketing-productions-table .marketing-production-project-cell { color:var(--ink-muted);font-size:.86rem; }
.marketing-productions-table .marketing-production-actions-cell { width:64px; }
.marketing-production-date-cell time { display:flex;align-items:baseline;gap:.8rem;color:var(--ink); }
.marketing-production-date-cell strong { min-width:2ch;font-size:1.65rem;font-weight:650;line-height:1;letter-spacing:-.04em;text-align:right; }
.marketing-production-date-cell span { color:var(--ink-muted);font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap; }
.marketing-production-date-cell .marketing-production-undated { display:inline-block;font-size:.78rem;letter-spacing:.04em; }
.marketing-production-actions-cell .project-options-menu { display:inline-block; }
.marketing-production-no-actions { display:block;padding:.55rem .75rem;color:var(--ink-muted);font-size:.74rem;white-space:nowrap; }
.marketing-capacity-cell strong,.marketing-capacity-cell span { display:block; }
.marketing-pending-list { display:grid;gap:.25rem;margin:0;padding-left:1rem;color:var(--ink);font-size:.78rem;line-height:1.35; }
.marketing-pending-more,.marketing-pending-clear { color:var(--ink-muted);font-size:.76rem; }
.marketing-row-actions { display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem; }
.marketing-row-actions .compact-button { min-height:32px;padding:.35rem .55rem;font-size:.72rem; }
.marketing-project-title-button { appearance:none;border:0;padding:0;background:transparent;font:inherit;font-weight:inherit;text-align:left;cursor:pointer; }
.marketing-approval-settings-form { justify-content:flex-start; }
.marketing-approval-settings-form > label { min-width:min(100%,360px);display:grid;gap:.4rem;color:var(--ink);font-size:.78rem;font-weight:800; }
.marketing-approval-settings-form > .settings-feedback { flex:1 1 320px; }
.danger-text-button { color:var(--danger,#b42318); }
.marketing-create-modal-panel { width:min(860px,calc(100vw - 2rem)); }
.marketing-create-modal-panel > form { min-height:0;max-height:inherit;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden; }
.marketing-create-modal-body { min-height:0;overflow-y:auto;overscroll-behavior-y:contain; }
.marketing-create-modal-body,#marketingCreateFields { display:grid;gap:1.5rem; }
.marketing-create-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.marketing-create-grid .full-width { grid-column:1 / -1; }
.marketing-location-field,.marketing-project-field { position:relative; }
.marketing-fixed-origin { display:grid;grid-template-columns:auto 1fr;gap:.2rem .65rem;border-left:3px solid var(--accent);padding:.7rem .85rem;background:var(--surface-3); }
.marketing-fixed-origin > span { color:var(--ink-muted);font-size:.72rem;font-weight:800;text-transform:uppercase; }
.marketing-fixed-origin > strong { color:var(--ink); }
.marketing-fixed-origin > small { grid-column:1 / -1;color:var(--ink-muted); }
.marketing-team-requirements,.marketing-recording-sources { display:grid;gap:.75rem;border:1px solid var(--border);padding:1rem; }
.marketing-team-requirements > header { display:flex;align-items:start;justify-content:space-between;gap:1rem; }
.marketing-team-requirements h3,.marketing-team-requirements p { margin:0; }
.marketing-team-requirements p { margin-top:.2rem;color:var(--ink-muted);font-size:.78rem; }
[data-marketing-team-requirements] { display:grid;gap:.5rem; }
.marketing-team-requirement { display:grid;grid-template-columns:minmax(0,1fr) 100px auto;gap:.5rem;align-items:center; }
.marketing-recording-sources legend { padding:0 .35rem;color:var(--ink);font-weight:800; }
.marketing-recording-checks { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem; }
.marketing-recording-checks label { display:flex;align-items:flex-start;gap:.5rem;color:var(--ink);font-size:.8rem; }
.marketing-recording-checks label > span,.marketing-recording-checks label strong,.marketing-recording-checks label small { display:block; }
.marketing-recording-checks label small { margin-top:.18rem;color:var(--ink-muted);font-size:.72rem; }
.marketing-recording-checks label.unavailable { opacity:.55; }
.marketing-new-video-list { display:grid;gap:.65rem; }
.marketing-new-video-row { display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(100px,.45fr) minmax(150px,.65fr) minmax(120px,.5fr);gap:.75rem;align-items:end;border:1px solid var(--border);padding:.8rem;background:var(--surface-2); }
.marketing-new-video-row.selected { border-color:color-mix(in srgb,var(--accent) 58%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--surface-2)); }
.marketing-new-video-row > label:not(.marketing-new-video-toggle),.marketing-new-video-fixed { display:grid;gap:.3rem;color:var(--ink-muted);font-size:.72rem;font-weight:800; }
.marketing-new-video-toggle { display:flex;align-items:flex-start;gap:.55rem;color:var(--ink); }
.marketing-new-video-toggle span,.marketing-new-video-toggle strong,.marketing-new-video-toggle small { display:block; }
.marketing-new-video-toggle small { margin-top:.2rem;color:var(--ink-muted);font-size:.7rem; }
.marketing-new-video-fixed strong { min-height:42px;display:flex;align-items:center;color:var(--ink); }
.marketing-recording-checks label.selected-destination { color:var(--accent-text); }
.marketing-decision-modal-panel { width:min(560px,calc(100vw - 2rem)); }
.marketing-decision-modal-body { display:grid;gap:1rem; }
.marketing-decision-modal-body > label { display:grid;gap:.45rem; }
.marketing-capacity-modal-panel { width:min(920px,calc(100vw - 2rem)); }
.marketing-capacity-modal-body,#marketingCapacityFields { display:grid;gap:1rem; }
.marketing-capacity-organization { display:grid;gap:.8rem;border:1px solid var(--border);border-radius:12px;padding:1rem;background:var(--surface-2); }
.marketing-capacity-organization h3 { margin:0;color:var(--ink);font-size:1rem; }
.marketing-capacity-video-grid { display:grid;grid-template-columns:minmax(220px,320px); }
.marketing-capacity-team-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem; }
.marketing-capacity-organization label { display:grid;gap:.35rem;color:var(--ink);font-size:.78rem;font-weight:800; }
.marketing-capacity-organization label small { color:var(--ink-muted);font-size:.7rem;font-weight:700; }
@media(max-width:720px) {
  .marketing-shell-heading { align-items:stretch; }
  .marketing-heading-main { grid-template-columns:minmax(0,1fr);grid-template-areas:"eyebrow" "title" "tabs";column-gap:0; }
  .marketing-view-tabs { margin:.75rem -.25rem 0;padding-inline:.25rem; }
  .marketing-header-actions { justify-content:flex-start; }
  .marketing-header-actions .settings-feedback { max-width:100%; }
  .marketing-workspace-tool-fields,.marketing-create-grid,.marketing-recording-checks,.marketing-new-video-row { grid-template-columns:1fr; }
  .marketing-capacity-video-grid,.marketing-capacity-team-grid { grid-template-columns:1fr; }
  .marketing-team-requirement { grid-template-columns:minmax(0,1fr) 84px auto; }
  .marketing-production-filters .marketing-production-search { min-width:100%;max-width:none;flex-basis:100%;margin-right:0; }
  .marketing-production-period-controls { width:100%;grid-template-columns:42px 90px repeat(2,minmax(0,1fr));grid-template-areas:"reset navigation period year" "start start end end"; }
  .marketing-productions-table { table-layout:auto; }
  .responsive-card-table.marketing-productions-table tbody > tr:not(.empty-row) > td { width:auto; }
  .responsive-card-table.marketing-productions-table .marketing-production-date-cell time { justify-content:flex-start; }
  .responsive-card-table.marketing-productions-table .marketing-production-date-cell strong { text-align:left; }
}
@media(max-width:520px) {
  .marketing-production-period-controls { grid-template-columns:42px 90px minmax(0,1fr);grid-template-areas:"reset navigation navigation" "period period year" "start start start" "end end end"; }
}
.dashboard-heading-actions { flex:0 0 min(300px,28vw);min-width:0;min-height:36px;margin-bottom:3px;white-space:nowrap;transition:opacity .16s ease; }
.dashboard-heading-actions.is-inactive { display:none; }
.dashboard-panel { min-width:0;margin-top:1rem; }
.sector-dashboard,.sector-dashboard-content { min-width:0;display:grid;gap:1rem; }
.sector-dashboard { --dashboard-card-shadow:none;margin-top:1rem; }
.dashboard-general-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1rem; }
.dashboard-sector-summary { min-width:0;display:grid;grid-template-rows:auto 1fr auto auto;gap:1rem;border:1px solid var(--border-strong);padding:1.15rem;background:var(--surface-2); }
.dashboard-sector-summary header h3,.dashboard-data-block-heading h3 { margin:0;color:var(--ink);font-size:1.05rem; }
.dashboard-summary-metrics { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem; }
.dashboard-summary-metric { min-width:0;display:grid;gap:.28rem;border-left:3px solid var(--border-strong);padding:.45rem .55rem; }
.dashboard-summary-metric span { color:var(--ink-muted);font-size:.68rem;font-weight:800;line-height:1.25;text-transform:uppercase; }
.dashboard-summary-metric strong { color:var(--ink);font-size:1.35rem;line-height:1; }
.dashboard-tone-positive { --dashboard-tone:var(--green); }
.dashboard-tone-warning { --dashboard-tone:var(--orange); }
.dashboard-tone-critical { --dashboard-tone:#dc5a67; }
.dashboard-tone-neutral { --dashboard-tone:var(--accent); }
.dashboard-summary-metric[class*="dashboard-tone-"],.dashboard-kpi[class*="dashboard-tone-"] { border-color:color-mix(in srgb,var(--dashboard-tone) 68%,var(--border-strong)); }
.dashboard-mini-distribution { height:7px;display:flex;overflow:hidden;background:var(--surface-3); }
.dashboard-mini-distribution.is-empty { border:1px solid var(--border); }
.dashboard-mini-segment { width:var(--dashboard-segment);background:var(--accent); }
.dashboard-mini-segment-1 { background:var(--orange); }
.dashboard-mini-segment-2 { background:#dc5a67; }
.dashboard-mini-segment-3 { background:var(--green); }
.dashboard-sector-link { display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:.8rem;color:var(--accent-text);font-size:.78rem;font-weight:850;text-decoration:none; }
.dashboard-sector-link span { transition:transform .18s ease; }
.dashboard-sector-link:is(:hover,:focus-visible) span { transform:translateX(3px); }
.dashboard-block-grid { min-width:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;align-items:start; }
.dashboard-data-block { min-width:0;display:grid;gap:1rem;border:1px solid var(--border-strong);padding:1.1rem;background:var(--surface-2); }
.dashboard-block-full { grid-column:1 / -1; }
.dashboard-block-main { grid-column:span 8; }
.dashboard-block-side { grid-column:span 4; }
.dashboard-block-half { grid-column:span 6; }
.dashboard-data-block-heading { display:flex;align-items:end;justify-content:space-between;gap:1rem; }
.dashboard-data-block-heading .eyebrow { margin-bottom:.25rem; }
.dashboard-kpi-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem; }
.dashboard-kpi-grid-compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
.dashboard-kpi-grid-compact .dashboard-kpi strong { font-size:clamp(1.1rem,1.8vw,1.7rem);white-space:nowrap; }
.dashboard-kpi { min-height:112px;display:grid;align-content:center;gap:.38rem;border:1px solid var(--border-strong);border-top:3px solid var(--dashboard-tone,var(--accent));padding:.9rem;background:var(--surface-3);text-align:center; }
.dashboard-kpi > span { color:var(--ink-muted);font-size:.68rem;font-weight:850;line-height:1.25;text-transform:uppercase; }
.dashboard-kpi strong { overflow-wrap:anywhere;color:var(--ink);font-size:clamp(1.45rem,2.3vw,2rem);line-height:1; }
.dashboard-kpi small { color:var(--ink-muted);font-size:.72rem;font-weight:750; }
.dashboard-horizontal-chart,.dashboard-trend-chart { min-width:0;margin:0; }
.dashboard-horizontal-bars { display:grid;gap:.85rem; }
.dashboard-horizontal-bar { display:grid;gap:.38rem; }
.dashboard-horizontal-bar > div { display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--ink);font-size:.78rem; }
.dashboard-horizontal-bar > div span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.dashboard-horizontal-track { height:10px;overflow:hidden;background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--border); }
.dashboard-horizontal-track i { width:var(--dashboard-bar-width);height:100%;display:block;background:linear-gradient(90deg,var(--accent),var(--accent-text));transform-origin:left center;animation:dashboard-bar-in .35s cubic-bezier(.2,.8,.2,1) both; }
.commercial-contract-types .dashboard-horizontal-bars { gap:.7rem; }
.commercial-contract-type { min-width:0;overflow:hidden;border:1px solid var(--border);background:var(--surface-3); }
.commercial-contract-type > summary { min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;grid-template-areas:"label count chevron" "track track track";gap:.45rem .8rem;align-items:center;padding:.8rem .9rem;color:var(--ink);cursor:pointer;list-style:none; }
.commercial-contract-type > summary::-webkit-details-marker { display:none; }
.commercial-contract-type > summary:focus-visible { outline:2px solid var(--focus,var(--accent));outline-offset:-3px; }
.commercial-contract-type-label { grid-area:label;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem; }
.commercial-contract-type > summary > strong { grid-area:count;font-size:.8rem; }
.commercial-contract-type-chevron { width:9px;height:9px;grid-area:chevron;border-right:2px solid currentColor;border-bottom:2px solid currentColor;opacity:.58;transform:rotate(45deg) translate(-2px,-2px);transition:transform .18s ease,opacity .18s ease; }
.commercial-contract-type[open] > summary .commercial-contract-type-chevron { opacity:1;transform:rotate(225deg) translate(-1px,-1px); }
.commercial-contract-type > summary .dashboard-horizontal-track { grid-area:track; }
.commercial-contract-detail-body { min-width:0;display:grid;gap:.55rem;border-top:1px solid var(--border);padding:.8rem .9rem .9rem; }
.commercial-contract-detail-head,.commercial-contract-detail-row { min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.45fr) minmax(90px,.3fr);gap:1rem;align-items:center; }
.commercial-contract-detail-head { padding:0 .7rem;color:var(--ink-muted);font-size:.64rem;font-weight:850;text-transform:uppercase; }
.commercial-contract-detail-rows { display:grid;gap:.45rem; }
.commercial-contract-detail-row { border:1px solid var(--border);padding:.7rem;background:var(--surface-2); }
.commercial-contract-detail-project { min-width:0;display:grid;gap:.18rem; }
.commercial-contract-detail-project :is(a,strong),.commercial-contract-detail-project small { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.commercial-contract-detail-project :is(a,strong) { color:var(--ink);font-size:.78rem;font-weight:850;text-decoration:none; }
.commercial-contract-detail-project a:is(:hover,:focus-visible) { color:var(--accent-text);text-decoration:underline; }
.commercial-contract-detail-project small,.commercial-contract-detail-row :is(time,.commercial-contract-detail-date),.commercial-contract-detail-amount { color:var(--ink-muted);font-size:.72rem;font-weight:700; }
.commercial-contract-detail-amount { color:var(--ink); }
.commercial-contract-detail-feedback,.commercial-contract-detail-footer { display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--ink-muted);font-size:.72rem;font-weight:700; }
.commercial-contract-detail-feedback { justify-content:center;border:1px dashed var(--border-strong);padding:.75rem; }
.commercial-contract-detail-feedback .dashboard-loading-mark { width:20px;height:20px;border-width:2px; }
.commercial-contract-detail-error { color:color-mix(in srgb,#dc5a67 70%,var(--ink)); }
.commercial-contract-detail-footer { border-top:1px solid var(--border);padding-top:.65rem; }
.dashboard-trend-chart svg { width:100%;height:auto;min-height:190px;display:block;overflow:visible; }
.dashboard-chart-axis { stroke:var(--border-strong);stroke-width:2; }
.dashboard-chart-area { fill:rgb(var(--accent-rgb) / 12%); }
.dashboard-chart-line { fill:none;stroke:var(--accent-text);stroke-width:4;stroke-linecap:round;stroke-linejoin:round; }
.dashboard-chart-point { fill:var(--surface-2);stroke:var(--accent-text);stroke-width:4; }
.dashboard-chart-label { fill:var(--ink-muted);font-size:15px;font-weight:750; }
.dashboard-trend-chart figcaption { display:flex;align-items:center;justify-content:flex-end;gap:.45rem;color:var(--ink-muted);font-size:.7rem; }
.dashboard-trend-chart figcaption strong { color:var(--ink); }
.dashboard-attention-list { display:grid;gap:.6rem;margin:0;padding:0;list-style:none; }
.dashboard-attention-list li { min-width:0;display:grid;grid-template-columns:minmax(220px,1fr) minmax(140px,.45fr) 100px 64px;gap:.9rem;align-items:center;border:1px solid var(--border);padding:.75rem .85rem;background:var(--surface-3); }
.dashboard-attention-list li > div { min-width:0;display:grid;gap:.2rem; }
.dashboard-attention-list li strong,.dashboard-attention-list li small { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.dashboard-attention-list li small,.dashboard-attention-list time { color:var(--ink-muted);font-size:.72rem;font-weight:700; }
.dashboard-attention-list li > a,.dashboard-recording-row > a { color:var(--accent-text);font-size:.75rem;font-weight:850;text-align:right;text-decoration:none; }
.dashboard-state-chip { min-width:0;display:inline-flex;justify-content:center;border:1px solid var(--border-strong);padding:.35rem .55rem;color:var(--ink);background:var(--surface-2);font-size:.67rem;font-weight:850;text-align:center; }
.dashboard-state-critical,.dashboard-state-overdue,.dashboard-state-approval_rejected { border-color:color-mix(in srgb,#dc5a67 55%,var(--border));color:#a52e3c;background:color-mix(in srgb,#dc5a67 9%,var(--surface-2)); }
.dashboard-state-attention,.dashboard-state-waiting,.dashboard-state-approval_pending,.dashboard-state-sent,.dashboard-state-without_date { border-color:color-mix(in srgb,var(--orange) 55%,var(--border));color:color-mix(in srgb,var(--orange) 72%,var(--ink));background:color-mix(in srgb,var(--orange) 8%,var(--surface-2)); }
.dashboard-state-ready,.dashboard-state-done,.dashboard-state-signed { border-color:color-mix(in srgb,var(--green) 58%,var(--border));color:color-mix(in srgb,var(--green) 58%,var(--ink));background:color-mix(in srgb,var(--green) 8%,var(--surface-2)); }
.dashboard-recording-list { display:grid;gap:.65rem; }
.dashboard-recording-row { min-width:0;display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(120px,.45fr) minmax(180px,.65fr) 100px 64px;gap:.9rem;align-items:center;border:1px solid var(--border);padding:.8rem .9rem;background:var(--surface-3); }
.dashboard-recording-row > div:first-child { min-width:0;display:grid;gap:.2rem; }
.dashboard-recording-row > div:first-child strong,.dashboard-recording-row > div:first-child small { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.dashboard-recording-row > div:first-child small,.dashboard-recording-row time,.dashboard-undated { color:var(--ink-muted);font-size:.72rem;font-weight:700; }
.dashboard-recording-counters { display:flex;flex-wrap:wrap;gap:.4rem; }
.dashboard-recording-counters span { padding:.3rem .48rem;color:var(--ink-muted);background:var(--surface-2);font-size:.66rem;white-space:nowrap; }
.dashboard-recording-counters strong { color:var(--ink); }
.dashboard-empty-copy { margin:0;padding:1rem;color:var(--ink-muted);font-size:.82rem;text-align:center; }
.dashboard-content-state { min-height:180px;display:grid;place-items:center;align-content:center;gap:.8rem;border:1px dashed var(--border-strong);padding:1.5rem;color:var(--ink-muted);text-align:center; }
.dashboard-content-state strong { max-width:620px; }
.dashboard-content-state-error { color:color-mix(in srgb,#dc5a67 70%,var(--ink)); }
.dashboard-loading-mark { width:32px;height:32px;border:3px solid var(--border-strong);border-top-color:var(--accent-text);border-radius:50%;animation:dashboard-spin .8s linear infinite; }
@keyframes dashboard-bar-in { from { transform:scaleX(0); } }
@keyframes dashboard-spin { to { transform:rotate(360deg); } }
@media (max-width:1240px) {
  .dashboard-block-main,.dashboard-block-side { grid-column:1 / -1; }
  .dashboard-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-attention-list li { grid-template-columns:minmax(0,1fr) minmax(130px,.45fr) 64px; }
  .dashboard-attention-list time { display:none; }
  .dashboard-recording-row { grid-template-columns:minmax(0,1fr) minmax(120px,.38fr) 64px;grid-template-areas:"title state action" "counters date action"; }
  .dashboard-recording-row > div:first-child { grid-area:title; }
  .dashboard-recording-row > .dashboard-state-chip { grid-area:state; }
  .dashboard-recording-counters { grid-area:counters; }
  .dashboard-recording-row > time,.dashboard-recording-row > .dashboard-undated { grid-area:date; }
  .dashboard-recording-row > a { grid-area:action; }
}
@media (max-width:760px) {
  .dashboard-block-half { grid-column:1 / -1; }
  .dashboard-data-block,.dashboard-sector-summary { padding:.9rem; }
  .dashboard-attention-list li { grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title action" "state state"; }
  .dashboard-attention-list li > div { grid-area:title; }
  .dashboard-attention-list li > .dashboard-state-chip { grid-area:state;justify-self:start; }
  .dashboard-attention-list li > a { grid-area:action; }
  .dashboard-recording-row { grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title action" "state state" "counters counters" "date date"; }
  .dashboard-recording-row > .dashboard-state-chip { justify-self:start; }
  .dashboard-recording-row > a { align-self:start; }
  .commercial-contract-detail-head { display:none; }
  .commercial-contract-detail-row { grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem; }
  .commercial-contract-detail-project { grid-column:1 / -1; }
  .commercial-contract-detail-row [data-label] { display:grid;gap:.2rem; }
  .commercial-contract-detail-row [data-label]::before { content:attr(data-label);color:var(--ink-muted);font-size:.61rem;font-weight:850;text-transform:uppercase; }
}
@media (max-width:480px) {
  .dashboard-kpi-grid,.dashboard-kpi-grid-compact { grid-template-columns:1fr; }
  .dashboard-summary-metrics { grid-template-columns:1fr 1fr; }
  .commercial-contract-type > summary { grid-template-columns:minmax(0,1fr) auto 16px;padding:.75rem; }
  .commercial-contract-detail-body { padding:.75rem; }
  .commercial-contract-detail-row { grid-template-columns:1fr; }
  .commercial-contract-detail-project { grid-column:auto; }
  .commercial-contract-detail-footer,.commercial-contract-detail-feedback { align-items:stretch;flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) {
  .dashboard-horizontal-track i,.dashboard-loading-mark,.dashboard-sector-link span,.commercial-contract-type-chevron { animation:none!important;transition:none!important; }
}
@media (max-width:1180px) {
  .dashboard-shell-heading { flex-wrap:wrap; }
  .dashboard-heading-actions { flex-basis:100%;min-width:0;justify-content:flex-end;margin-top:.65rem; }
}
@media (max-width:620px) {
  .dashboard-shell-heading { align-items:stretch; }
  .dashboard-heading-main { grid-template-columns:minmax(0,1fr);grid-template-areas:"eyebrow" "title" "tabs";align-items:stretch;column-gap:0; }
  .dashboard-heading-actions { justify-content:flex-start;white-space:normal; }
  .dashboard-tabs { margin:.75rem -.25rem 0;padding-inline:.25rem; }
}
.editing-dashboard { --editing-card-shadow:none;display:grid;gap:1.1rem;margin-top:1rem; }
.editing-dashboard-leadership { display:grid;gap:1.1rem; }
:root[data-theme="dark"] .editing-dashboard { --editing-card-shadow:none; }
:is(.editing-dashboard-filters,.dashboard-period-filters) { display:flex;justify-content:flex-end;align-items:end;flex-wrap:wrap;gap:1rem;margin:0;border:1px solid var(--border-strong);border-radius:0;padding:1rem;background:var(--surface-2);box-shadow:var(--editing-card-shadow,var(--dashboard-card-shadow,none)); }
:is(.editing-dashboard-filters,.dashboard-period-filters) label { min-width:135px;display:grid;gap:.35rem;color:var(--text-muted,var(--ink-muted));font-size:.72rem;font-weight:850; }
:is(.editing-dashboard-filters,.dashboard-period-filters) label:first-of-type { min-width:175px; }
:is(.editing-dashboard-filters,.dashboard-period-filters) select,:is(.editing-dashboard-filters,.dashboard-period-filters) input { height:42px;border:1px solid var(--border-strong);border-radius:0;padding:0 .8rem;color:var(--text-strong,var(--ink));background:var(--field-bg);font-weight:750; }
:is(.editing-dashboard-reset,.dashboard-period-reset) { width:42px;height:42px;border-color:var(--border-strong);background:var(--surface-2); }
:is(.editing-dashboard-reset,.dashboard-period-reset) svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
#editingDashboardContent { display:grid;gap:1.1rem; }
.editing-dashboard-production { display:grid;grid-template-columns:minmax(600px,1.35fr) minmax(500px,1fr);gap:1rem;align-items:stretch;border:1px solid var(--border-strong);border-radius:0;padding:1.1rem;background:var(--surface-2);box-shadow:var(--editing-card-shadow); }
.editing-dashboard-production.has-single-ranking { grid-template-columns:minmax(0,.9fr) minmax(360px,1fr); }
.editing-dashboard-production-main { min-width:0;display:grid;gap:1.2rem;align-content:start; }
.editing-dashboard-top-metrics { display:flex;justify-content:center;flex-wrap:wrap;gap:.8rem; }
.editing-dashboard-top-metrics .editing-dashboard-metric { flex:1 1 180px;max-width:270px;min-width:0; }
.editing-dashboard-metric { min-height:104px;display:grid;align-content:center;gap:.4rem;border:1px solid var(--border-strong);border-radius:0;padding:.85rem;background:var(--surface-3);text-align:center; }
.editing-dashboard-metric > span { color:var(--text-muted);font-size:.7rem;font-weight:850;line-height:1.25;text-transform:uppercase; }
.editing-dashboard-metric strong { color:var(--text-strong);font-size:2rem;line-height:1; }
.editing-dashboard-metric small { min-height:1em;color:var(--text-muted);font-size:.84rem;font-weight:800; }
.editing-dashboard-effectiveness { display:grid;gap:.9rem;align-content:start;border:1px solid var(--border);border-radius:0;padding:1rem;background:var(--surface-3); }
.editing-dashboard-effectiveness h3,.editing-dashboard-approval h3,.editing-dashboard-deadlines h3 { margin:0;color:var(--text-strong);text-align:center; }
.editing-dashboard-effectiveness-grid { display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem; }
.editing-dashboard-effectiveness-grid .editing-dashboard-metric { flex:1 1 120px;max-width:165px;min-height:84px;padding:.65rem;background:var(--surface-2); }
.editing-dashboard-effectiveness-grid .editing-dashboard-metric strong { font-size:1.7rem; }
.editing-dashboard-effectiveness-grid .editing-dashboard-metric small { display:none; }
.editing-dashboard-effectiveness-note { margin:0;color:var(--text-muted);font-size:.7rem;text-align:center; }
.editing-dashboard-rankings { min-width:0;display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:.8rem; }
.editing-dashboard-rankings.is-single { grid-template-columns:1fr;justify-items:center; }
.editing-dashboard-rankings.is-single .editing-dashboard-ranking { width:100%;max-width:640px; }
.editing-dashboard-ranking-empty { width:100%;min-height:180px;display:grid;place-items:center; }
.editing-dashboard-ranking { overflow:hidden;border:1px solid var(--border-strong);border-radius:0;background:var(--surface-3); }
.editing-dashboard-ranking h3 { margin:0;padding:1.15rem;color:var(--text-strong);font-size:1.05rem;text-align:center;text-transform:uppercase; }
.editing-dashboard-ranking-head,.editing-dashboard-ranking-rows > div { display:grid;grid-template-columns:minmax(0,1fr) 70px;gap:.8rem;align-items:center;padding:.65rem .9rem; }
.editing-dashboard-ranking-head { border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);color:var(--text-muted);font-size:.72rem;font-weight:850; }
.editing-dashboard-ranking-rows > div:nth-child(even) { background:color-mix(in srgb,var(--surface) 55%,transparent); }
.editing-dashboard-ranking-rows strong,.editing-dashboard-ranking-rows span { overflow:hidden;color:var(--text-strong);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap; }
.editing-dashboard-ranking-head span:last-child,.editing-dashboard-ranking-rows span { text-align:right; }
.editing-dashboard-ranking-rows .empty { padding:1rem;text-align:center; }
.editing-dashboard-bottom { display:grid;grid-template-columns:minmax(720px,1.75fr) minmax(420px,.8fr);gap:1.1rem;align-items:stretch; }
.editing-dashboard-approval,.editing-dashboard-deadlines { display:grid;gap:1rem;border:1px solid var(--border-strong);border-radius:0;padding:1.1rem;background:var(--surface-2);box-shadow:var(--editing-card-shadow); }
.editing-dashboard-approval-grid { display:grid;grid-template-columns:repeat(3,minmax(130px,1fr)) minmax(250px,1.35fr);gap:.8rem; }
.editing-dashboard-rate > div { display:flex;justify-content:center;align-items:center;gap:.8rem; }
.editing-dashboard-rate > div small { min-width:100px;color:var(--text-muted);font-size:.64rem;font-weight:650;line-height:1.35;text-align:left; }
.editing-dashboard-deadline-heading { display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,250px);gap:1rem;align-items:end; }
.editing-dashboard-deadline-heading h3 { padding-bottom:.65rem; }
.editing-dashboard-deadline-heading label { display:grid;gap:.35rem;color:var(--text-muted);font-size:.72rem;font-weight:850;text-align:center; }
.editing-dashboard-deadline-heading select { height:42px;border:1px solid var(--border-strong);border-radius:0;padding:0 .8rem;color:var(--text-strong);background:var(--field-bg);font-weight:750;text-align:center; }
.editing-dashboard-deadline-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem; }
.editing-dashboard-deadline-grid .editing-dashboard-metric { min-height:145px; }
.editing-dashboard-production-list { display:grid;gap:1rem;border:1px solid var(--border-strong);border-radius:0;padding:1.1rem;background:var(--surface-2);box-shadow:var(--editing-card-shadow); }
.editing-dashboard-production-list-heading { display:flex;justify-content:space-between;align-items:end;gap:1rem; }
.editing-dashboard-production-list-heading h3,.editing-dashboard-production-list-heading p { margin:0;color:var(--text-strong); }
.editing-dashboard-production-list-heading p { margin-top:.25rem;color:var(--text-muted);font-size:.82rem;font-weight:750; }
.editing-dashboard-production-list-heading label { min-width:240px;display:grid;gap:.35rem;color:var(--text-muted);font-size:.72rem;font-weight:850; }
.editing-dashboard-production-list-heading select { height:42px;border:1px solid var(--border-strong);border-radius:0;padding:0 .8rem;color:var(--text-strong);background:var(--field-bg);font-weight:750; }
.editing-dashboard-production-table { overflow:hidden;border:1px solid var(--border-strong);border-radius:0;background:var(--surface-2); }
.editing-dashboard-production-head,.editing-dashboard-production-row { display:grid;grid-template-columns:minmax(280px,1.7fr) minmax(190px,.65fr) minmax(105px,.38fr) minmax(135px,.42fr) 52px;gap:1rem;align-items:center;padding:.85rem 1rem; }
.editing-dashboard-production-head { color:var(--text-muted);background:var(--surface-3);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.025em; }
.editing-dashboard-production-head > :nth-child(2),.editing-dashboard-production-head > :nth-child(3),.editing-dashboard-production-status,.editing-dashboard-production-row time { text-align:center; }
.editing-dashboard-production-rows { border-top:1px solid var(--border-strong); }
.editing-dashboard-production-row { min-height:72px;transition:background-color .16s ease; }
.editing-dashboard-production-row + .editing-dashboard-production-row { border-top:1px solid var(--border); }
.editing-dashboard-production-row:nth-child(even) { background:color-mix(in srgb,var(--surface-3) 72%,transparent); }
.editing-dashboard-production-row:hover { background:color-mix(in srgb,var(--accent-soft) 55%,var(--surface-2)); }
.editing-dashboard-production-title,.editing-dashboard-production-points { min-width:0;display:grid;gap:.2rem; }
.editing-dashboard-production-title strong,.editing-dashboard-production-title small { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.editing-dashboard-production-title strong,.editing-dashboard-production-points strong { color:var(--text-strong); }
.editing-dashboard-production-title small,.editing-dashboard-production-points small { color:var(--text-muted);font-size:.72rem;font-weight:700; }
.editing-dashboard-production-status { min-width:0; }
.editing-dashboard-production-status .editing-status-badge { width:100%; }
.editing-dashboard-production-row [data-label]::before { display:none; }
.editing-dashboard-production-row time { color:var(--text-strong);font-weight:800; }
.editing-dashboard-production-actions { display:flex;justify-content:flex-end;gap:.35rem; }
.editing-dashboard-production-actions button { width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:0;color:var(--text-strong);background:var(--surface-2);transition:border-color .16s ease,background-color .16s ease,color .16s ease; }
.editing-dashboard-production-actions button:hover { border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft); }
.editing-dashboard-production-actions svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.editing-dashboard-load-more { width:100%;display:flex;justify-content:center;gap:.5rem; }
@media (max-width: 1500px) { .editing-dashboard-production,.editing-dashboard-bottom { grid-template-columns:1fr; } }
@media (max-width: 1100px) { .editing-dashboard-approval-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .editing-dashboard-production-head { display:none; } .editing-dashboard-production-table { overflow:visible;border:0;background:transparent; } .editing-dashboard-production-rows { display:grid;gap:.75rem;border-top:0; } .editing-dashboard-production-row,.editing-dashboard-production-row:nth-child(even) { min-height:0;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title actions" "status status" "date points";gap:.85rem 1rem;border:1px solid var(--border-strong);border-radius:0;padding:1rem;background:var(--surface-3); } .editing-dashboard-production-row + .editing-dashboard-production-row { border-top:1px solid var(--border-strong); } .editing-dashboard-production-title { grid-area:title;align-self:center; } .editing-dashboard-production-status { grid-area:status; } .editing-dashboard-production-row time { grid-area:date; } .editing-dashboard-production-points { grid-area:points; } .editing-dashboard-production-actions { grid-area:actions;align-self:start; } .editing-dashboard-production-row [data-label] { display:grid;gap:.3rem;align-content:start;justify-self:stretch;text-align:left; } .editing-dashboard-production-row [data-label]::before { content:attr(data-label);display:block;color:var(--text-muted);font-size:.65rem;font-weight:850;line-height:1.2;text-transform:uppercase;letter-spacing:.025em; } .editing-dashboard-production-title strong,.editing-dashboard-production-title small { overflow:visible;text-overflow:clip;white-space:normal; } }
@media (max-width: 900px) { .editing-dashboard-rankings { grid-template-columns:1fr; } }
@media (max-width: 620px) { .editing-dashboard { gap:.85rem; } :is(.editing-dashboard-filters,.dashboard-period-filters) { justify-content:stretch;border-radius:0;padding:.85rem; } :is(.editing-dashboard-filters,.dashboard-period-filters) label { flex:1 1 140px; } :is(.editing-dashboard-reset,.dashboard-period-reset) { flex:0 0 42px; } .editing-dashboard-production,.editing-dashboard-approval,.editing-dashboard-deadlines,.editing-dashboard-production-list { border-radius:0;padding:.85rem; } .editing-dashboard-top-metrics .editing-dashboard-metric,.editing-dashboard-effectiveness-grid .editing-dashboard-metric { max-width:none;flex-basis:100%; } .editing-dashboard-approval-grid,.editing-dashboard-deadline-grid { grid-template-columns:1fr; } .editing-dashboard-deadline-heading { grid-template-columns:1fr; } .editing-dashboard-production-list-heading { align-items:stretch;flex-direction:column; } .editing-dashboard-production-list-heading label { width:100%;min-width:0; } .editing-dashboard-production-row,.editing-dashboard-production-row:nth-child(even) { grid-template-areas:"title actions" "status status" "date date" "points points";gap:.75rem;padding:.85rem; } }

.editing-tools {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.8rem;
  align-items:end;
  margin:1.2rem 0 0;
  border:1px solid var(--border-color,#d9e0e5);
  border-radius:0;
  padding:1rem;
  background:var(--surface,#fff);
  box-shadow:none;
}
.editing-tool-fields { min-width:0;display:flex;gap:.8rem;align-items:end; }
.editing-tool-fields > * { min-width:0;flex:.72 1 140px; }
.editing-tool-fields > .editing-search-field { flex:1.35 1 260px; }
.editing-tool-actions { display:flex;gap:.8rem;align-items:center;justify-content:flex-end; }
.production-workspace-tools {
  grid-template-columns:minmax(0,1fr);
  margin-bottom:0;
}
.editing-tool-fields.production-workspace-tool-fields { display:grid;grid-template-columns:minmax(260px,1.35fr) repeat(3,minmax(150px,.72fr)); }
.editing-tool-fields.production-workspace-tool-fields > .editing-search-field { grid-column:auto; }
.editing-tool-fields > label,.editing-filter-field { min-width:0;display:grid;gap:.42rem;color:var(--text-muted,#68727d);font-size:.76rem;font-weight:800; }
.editing-tools select,.editing-tools input,.editing-multi-filter summary,.editing-information-filter summary { height:42px; }
.editing-search-control { position:relative;display:block; }
.editing-search-control input { width:100%;padding-right:2.5rem; }
.editing-clear-search { position:absolute;right:.35rem;top:50%;width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:0;color:var(--text-muted,#68727d);background:transparent;transform:translateY(-50%);cursor:pointer; }
.editing-clear-search svg { width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round; }
.editing-clear-search:hover { color:var(--text-strong,#18212b);background:var(--surface-subtle,#f4f6f7); }
.editing-multi-filter { position:relative;min-width:0; }
.editing-multi-filter summary { position:relative;display:flex;align-items:center;border:1px solid var(--border-color,#d9e0e5);border-radius:0;padding:0 2.5rem 0 .8rem;color:var(--text-strong,#18212b);background:var(--surface,#fff);font-size:.86rem;font-weight:650;list-style:none;cursor:pointer; }
.editing-multi-filter summary::-webkit-details-marker { display:none; }
.editing-multi-filter summary::after { content:"";position:absolute;right:1rem;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor;transition:transform 140ms ease; }
.editing-multi-filter[open] summary::after { transform:rotate(180deg); }
.editing-multi-filter[open] summary { border-color:var(--accent,#147d78);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#147d78) 12%,transparent); }
.editing-multi-filter-menu { position:absolute;z-index:30;top:calc(100% + .45rem);left:0;width:min(330px,84vw);max-height:var(--editing-status-menu-max-height,calc(100vh - 7rem));display:grid;gap:.15rem;overflow:auto;overscroll-behavior:contain;border:1px solid var(--border-color,#d9e0e5);border-radius:0;padding:.5rem;background:var(--surface,#fff);box-shadow:none; }
.editing-multi-filter-menu label { display:flex;align-items:center;gap:.55rem;border-radius:0;padding:.55rem .6rem;color:var(--text-strong,#18212b);font-size:.8rem;font-weight:750;cursor:pointer; }
.editing-multi-filter-menu label:hover { background:var(--surface-subtle,#f4f6f7); }
.editing-multi-filter-menu input { width:16px;height:16px;accent-color:var(--accent,#147d78); }
.editing-information-filter { position:relative;min-width:0; }
.editing-information-filter summary {
  position:relative;display:flex;align-items:center;gap:.55rem;border:1px solid var(--border-color,#d9e0e5);
  border-radius:0;padding:0 2.5rem 0 .8rem;color:var(--text-strong,#18212b);background:var(--surface,#fff);
  font-size:.86rem;font-weight:650;list-style:none;cursor:pointer;
}
.editing-information-filter summary::-webkit-details-marker { display:none; }
.editing-information-filter summary::after {
  content:"";position:absolute;right:1rem;border-left:5px solid transparent;border-right:5px solid transparent;
  border-top:6px solid currentColor;transition:transform 140ms ease;
}
.editing-information-filter[open] summary::after { transform:rotate(180deg); }
.editing-information-filter[open] summary,.editing-information-filter summary.is-active {
  border-color:var(--accent,#147d78);
}
.editing-information-filter[open] summary { box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#147d78) 12%,transparent); }
.editing-information-filter summary b {
  display:grid;min-width:19px;height:19px;place-items:center;border-radius:0;padding:0 5px;
  color:var(--accent-contrast,#000);background:var(--accent,#147d78);font-size:.68rem;
}
.editing-information-filter-panel {
  position:absolute;z-index:31;top:calc(100% + .45rem);left:0;width:min(560px,calc(100vw - 48px));
  max-height:calc(100vh - 7rem);overflow:auto;overscroll-behavior:contain;
  border:1px solid var(--border-color,#d9e0e5);border-radius:0;padding:1rem;background:var(--surface,#fff);
  box-shadow:none;
}
.editing-information-filter-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem; }
.editing-information-filter-grid label { min-width:0;display:grid;gap:.38rem;color:var(--text-muted,#68727d);font-size:.74rem;font-weight:800; }
.editing-information-filter-grid select { width:100%; }
.editing-information-filter-panel footer {
  display:flex;justify-content:flex-end;margin-top:1rem;border-top:1px solid var(--border-color,#d9e0e5);padding-top:.8rem;
}
.editing-information-filter-panel footer button { min-height:36px;padding:.45rem .8rem;font-size:.76rem; }
.editing-view-button { width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:0;padding:0;color:var(--ink-muted);background:var(--surface-3);cursor:pointer;transition:border-color .16s ease,background-color .16s ease,color .16s ease,opacity .16s ease; }
.editing-view-button.is-muted { border-color:var(--border-strong);color:var(--ink-muted);background:var(--surface-3);opacity:.58; }
.editing-view-button.is-muted:is(:hover,:focus-visible) { opacity:1; }
.editing-view-button svg,.editing-row-options svg,.editing-card-menu svg { width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.production-column-limit-note { color:var(--ink-muted);padding:.2rem .5rem .75rem;text-align:center;font-size:.72rem; }

.editing-list { margin-top:1rem;overflow-x:auto;border:1px solid var(--border-color,#d9e0e5);border-radius:0;background:var(--surface,#fff); }
.editing-list-head,.editing-row { min-width:1390px;display:grid;grid-template-columns:300px 165px minmax(260px,1fr) 130px 145px 150px 142px;gap:.8rem;align-items:center;padding:0 1rem; }
.editing-list-head { min-height:42px;color:var(--text-muted,#68727d);font-size:.72rem;font-weight:850; }
.editing-list-head span:nth-child(2),.editing-list-head span:nth-child(3) { text-align:center; }
.editing-row { min-height:76px;border-top:1px solid var(--border-color,#d9e0e5); }
.editing-row:nth-child(even) { background:color-mix(in srgb,var(--surface-subtle,#f4f6f7) 52%,transparent); }
.editing-row-title { min-width:0;display:grid;gap:.25rem;border:0;padding:.6rem 0;color:inherit;background:transparent;text-align:left;cursor:pointer; }
.editing-row-title strong { overflow:hidden;color:var(--text-strong,#18212b);font-size:.83rem;line-height:1.3;text-overflow:ellipsis; }
.editing-row-title small,.editing-row-deadline small { color:var(--text-muted,#68727d);font-size:.69rem;line-height:1.3; }
.editing-row-actions { min-width:0;display:flex;flex-wrap:nowrap;justify-content:center;gap:.35rem; }
.editing-row-actions .editing-operational-actions { width:100%;min-width:0; }
.editing-row-actions .editing-card-actions { flex-wrap:nowrap;justify-content:center; }
.editing-row-actions .editing-card-actions button { flex:0 0 auto;white-space:nowrap; }
.editing-row-folder { min-width:0;display:flex;align-items:center; }
.editing-row-folder-code { font-size:.82rem;letter-spacing:.08em; }
.editing-row-folder-empty { color:var(--text-muted,#68727d); }
.editing-flow-button { min-height:34px!important;padding:.4rem .65rem!important;font-size:.72rem!important; }
.editing-row-deadline { display:grid;gap:.18rem; }
.editing-row-deadline strong { font-size:.8rem; }
.editing-row-created { color:var(--text-muted,#68727d);font-size:.76rem;font-weight:700; }
.editing-row-options { display:flex;gap:.35rem;justify-content:flex-start; }
.editing-row-options button { width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--border-color,#d9e0e5);border-radius:0;padding:0;color:var(--text-strong,#18212b);background:var(--surface,#fff);cursor:pointer; }
.editing-row-options button:hover { border-color:var(--accent,#147d78);color:var(--accent,#147d78); }
.editing-row-options svg { width:16px;height:16px; }
.editing-details-hidden .editing-optional-detail { display:none; }

.editing-status-badge {
  --editing-tone:var(--accent,#147d78);
  min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  border:1px solid color-mix(in srgb,var(--editing-tone) 52%,var(--border-color,#d9e0e5));
  border-radius:0;padding:.48rem .65rem;color:color-mix(in srgb,var(--editing-tone) 78%,var(--text-strong,#18212b));
  background:color-mix(in srgb,var(--editing-tone) 11%,var(--surface,#fff));font-size:.72rem;font-weight:850;text-align:center;
}
.editing-stage-future_videos { --editing-tone:#94a3b8; }
.editing-stage-awaiting_backup { --editing-tone:#a855f7; }
.editing-stage-backup_done { --editing-tone:#c4b5fd; }
.editing-stage-awaiting_editor { --editing-tone:#60a5fa; }
.editing-stage-editing { --editing-tone:#22d3ee; }
.editing-stage-internal_approval { --editing-tone:#ffee00; }
.editing-stage-awaiting_send { --editing-tone:#65a30d; }
.editing-stage-client_approval { --editing-tone:#16a34a; }
.editing-stage-finished { --editing-tone:#94a3b8; }

.editing-kanban { margin-top:1rem;display:grid;grid-auto-flow:column;grid-auto-columns:320px;gap:.8rem;align-items:start;overflow-x:auto;padding:1px 1px .8rem;scroll-snap-type:x proximity; }
.editing-load-more { min-height:44px;align-self:center;justify-content:center; }
#editingRows > .editing-load-more { width:calc(100% - 2rem);margin:1rem; }
.editing-column { min-height:330px;display:grid;grid-template-rows:auto 1fr;align-content:start;border:1px solid var(--border-color,#d9e0e5);border-radius:0;background:color-mix(in srgb,var(--surface-subtle,#f4f6f7) 76%,var(--surface,#fff));scroll-snap-align:start; }
.editing-column > header { position:sticky;top:0;z-index:2;border-bottom:1px solid var(--border-color,#d9e0e5);border-radius:0;padding:.65rem;background:color-mix(in srgb,var(--surface,#fff) 94%,var(--surface-subtle,#f4f6f7));background-clip:padding-box; }
.editing-column > header .editing-status-badge { width:100%;justify-content:space-between; }
.editing-column > header .editing-status-badge b { min-width:25px;height:25px;display:grid;place-items:center;border:1px solid currentColor;border-radius:0;background:color-mix(in srgb,var(--surface,#fff) 70%,transparent);font-size:.68rem; }
.editing-column-cards { display:grid;align-content:start;gap:.65rem;padding:.65rem; }
.editing-column-empty { padding:1.2rem .5rem;color:var(--text-muted,#68727d);font-size:.76rem;text-align:center; }
.editing-column-load-more { width:100%;justify-content:center;gap:.35rem; }
.editing-column-load-more .load-more-progress { color:var(--text-muted,#68727d);font-size:.72rem; }
.editing-card { display:grid;gap:.65rem;border:1px solid var(--border-color,#d9e0e5);border-radius:0;padding:.7rem;background:var(--surface,#fff);box-shadow:none; }
.editing-card:has(> .editing-card-real-status) { border-color:color-mix(in srgb,var(--editing-card-tone,var(--editing-tone,var(--border-color,#d9e0e5))) 52%,var(--border-color,#d9e0e5)); }
.editing-state-awaiting_reviewer,.editing-state-reviewer,.editing-state-reviewer_changes { --editing-card-tone:#ffee00; }
.editing-state-awaiting_director,.editing-state-director,.editing-state-director_changes { --editing-card-tone:#f97316; }
.editing-state-client_changes { --editing-card-tone:#f43f5e; }
.editing-card-top { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:start; }
.editing-card-main { min-width:0;display:grid;gap:.28rem;border:0;padding:0;color:inherit;background:transparent;text-align:left;cursor:pointer; }
.editing-card-main strong { color:var(--text-strong,#18212b);font-size:.8rem;line-height:1.3; }
.editing-card-main small { color:var(--text-muted,#68727d);font-size:.68rem;line-height:1.3; }
.editing-card-main .editing-card-deadline { color:var(--text-strong,#18212b);font-weight:750; }
.editing-card-control-stack { display:grid;justify-items:end;gap:.4rem; }
.editing-card-menu { position:relative; }
.editing-card-menu summary { width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--border-color,#d9e0e5);border-radius:0;color:var(--text-strong,#18212b);background:var(--surface,#fff);list-style:none;cursor:pointer; }
.editing-card-menu summary::-webkit-details-marker { display:none; }
.editing-card-menu[open] summary { border-color:var(--accent,#147d78);color:var(--accent-contrast,#000);background:var(--accent,#147d78); }
.editing-card-menu-list { position:absolute;z-index:25;top:38px;right:0;min-width:165px;display:grid;gap:.2rem;border:1px solid var(--border-color,#d9e0e5);border-radius:0;padding:.4rem;background:var(--surface,#fff);box-shadow:none; }
.editing-card-menu-list button { min-height:34px;display:grid;grid-template-columns:20px 1fr;align-items:center;gap:.5rem;border:0;border-radius:0;padding:.4rem .55rem;color:var(--text-strong,#18212b);background:transparent;font-size:.74rem;font-weight:750;text-align:left;cursor:pointer; }
.editing-card-menu-list button:hover { background:var(--surface-subtle,#f4f6f7); }
.editing-card-menu-list svg { width:16px;height:16px; }
.editing-integrity-action {
  width:30px;height:30px;display:grid;place-items:center;border:1px solid color-mix(in srgb,#d97706 55%,var(--border-color,#d9e0e5));
  border-radius:0;padding:0;color:#b45309;background:color-mix(in srgb,#f59e0b 12%,var(--surface,#fff));cursor:pointer;
}
.editing-integrity-action:hover,.editing-integrity-action:focus-visible {
  border-color:#d97706;color:#92400e;background:color-mix(in srgb,#f59e0b 22%,var(--surface,#fff));outline:none;
}
.editing-integrity-action svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round; }
.editing-card-actions { display:flex;flex-wrap:wrap;gap:.4rem; }
.editing-card-actions button { flex:1 1 auto; }
.editing-operational-actions { display:grid;gap:.45rem; }
.editing-inline-control { display:grid;gap:.4rem;align-items:center; }
.editing-inline-control.is-source { grid-template-columns:minmax(0,1fr); }
.editing-inline-confirm-control { position:relative;display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:.4rem;align-items:center;width:100%;min-width:0;min-height:36px; }
.editing-recording-field { position:relative;display:block;width:100%;min-width:0;min-height:36px; }
.editing-inline-confirm-field { position:relative;display:block;width:100%; }
.editing-inline-confirm-field input,.editing-inline-confirm-field select,.editing-recording-field select {
  width:100%;min-width:0;min-height:36px;border:1px solid var(--border-color,#d9e0e5);border-radius:0;
  padding:14px 38px 5px 10px;color:var(--text-strong,#18212b);background:var(--surface,#fff);
  font-size:.72rem;font-weight:800;line-height:1;outline:none;
}
.editing-inline-confirm-field select,.editing-recording-field select { appearance:none;cursor:pointer; }
.editing-recording-field select { padding-right:10px; }
.editing-inline-confirm-field > span,.editing-recording-field > span {
  position:absolute;top:50%;left:10px;max-width:calc(100% - 48px);overflow:hidden;
  color:var(--text-muted,#68727d);font-size:.66rem;font-weight:800;line-height:1;text-overflow:ellipsis;
  white-space:nowrap;pointer-events:none;transform:translateY(-50%);
  transition:top .16s ease,color .16s ease,font-size .16s ease,transform .16s ease;
}
.editing-recording-field > span { max-width:calc(100% - 20px); }
.editing-inline-confirm-field:focus-within > span,
.editing-inline-confirm-field input:not(:placeholder-shown) + span,
.editing-inline-confirm-field select:valid + span,
.editing-recording-field:focus-within > span,
.editing-recording-field select:valid + span {
  top:5px;color:var(--accent,#147d78);font-size:.54rem;transform:none;
}
.editing-inline-confirm-field input:focus,.editing-inline-confirm-field select:focus,.editing-recording-field select:focus {
  border-color:var(--accent,#147d78);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent,#147d78) 16%,transparent);
}
.editing-inline-submit {
  position:static;width:36px!important;min-width:36px!important;height:36px!important;
  min-height:36px!important;display:grid!important;place-items:center;flex:0 0 36px!important;border-radius:0;
  padding:0!important;transform:none;
}
.editing-inline-submit svg,.editing-flow-icon-button svg {
  width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;
}
.editing-flow-icon-button { width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;display:grid!important;place-items:center;flex:0 0 34px!important;padding:0!important; }
.editing-self-assignment { width:100%; }
.editing-card-real-status {
  margin:0 -.65rem -.65rem;border-radius:0;padding:.55rem;
  background:color-mix(in srgb,var(--editing-card-tone,var(--editing-tone,#7c66bd)) 16%,var(--surface,#fff));
  color:color-mix(in srgb,var(--editing-card-tone,var(--editing-tone,#7c66bd)) 78%,var(--text-strong,#18212b));
  font-size:.7rem;font-weight:750;text-align:center;
}

:root:not([data-theme="dark"]) .editing-column[data-editing-stage="internal_approval"] > header .editing-status-badge,
:root:not([data-theme="dark"]) .editing-dashboard-production-status .editing-status-badge.editing-stage-internal_approval {
  border-color:#d4b900;color:#665700;background:#fffbe6;
}
:root:not([data-theme="dark"]) .editing-column[data-editing-stage="internal_approval"] > header .editing-status-badge b {
  color:#665700;background:#fff;
}
:root:not([data-theme="dark"]) :is(.editing-state-awaiting_reviewer,.editing-state-reviewer,.editing-state-reviewer_changes) {
  --editing-card-tone:#b79b00;
}
:root:not([data-theme="dark"]) :is(.editing-state-awaiting_director,.editing-state-director,.editing-state-director_changes) {
  --editing-card-tone:#d96614;
}
:root:not([data-theme="dark"]) :is(.editing-state-awaiting_reviewer,.editing-state-reviewer,.editing-state-reviewer_changes) > .editing-card-real-status {
  color:#655500;background:#fff6bf;
}
:root:not([data-theme="dark"]) :is(.editing-state-awaiting_director,.editing-state-director,.editing-state-director_changes) > .editing-card-real-status {
  color:#8a3b00;background:#fde7d7;
}

.editing-unit-modal-panel { width:min(1160px,calc(100vw - 2rem)); }
.editing-unit-detail { display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1fr);gap:0;min-height:620px; }
.editing-unit-sheet { min-width:0;display:grid;align-content:start;gap:1rem;padding-right:1.2rem; }
.editing-unit-detail > aside { min-width:0;border-left:1px solid var(--border-color,#d9e0e5);padding-left:1.2rem; }
.editing-unit-facts { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem; }
.editing-unit-facts > span { min-width:0;display:grid;gap:.25rem;border:1px solid var(--border-color,#d9e0e5);border-radius:0;padding:.7rem;background:var(--surface-subtle,#f4f6f7); }
.editing-unit-facts small { color:var(--text-muted,#68727d);font-size:.68rem;font-weight:750; }
.editing-unit-facts strong { overflow:hidden;font-size:.78rem;text-overflow:ellipsis; }
.editing-legacy-contract-duplicate-notice {
  display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:.65rem;margin:0;
  border:1px solid color-mix(in srgb,var(--warning,#c56a13) 55%,var(--border-color,#d9e0e5));border-radius:0;
  padding:.75rem .85rem;color:var(--text-strong,#18212b);
  background:color-mix(in srgb,var(--warning,#c56a13) 8%,var(--surface,#fff));
}
.editing-legacy-contract-duplicate-notice > svg { width:20px;height:20px;fill:none;stroke:var(--warning-strong,#9a4d08);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round; }
.editing-legacy-contract-duplicate-notice > div { min-width:0;display:grid;gap:.25rem; }
.editing-legacy-contract-duplicate-notice strong { color:var(--warning-strong,#9a4d08);font-size:.78rem; }
.editing-legacy-contract-duplicate-notice p { margin:0;font-size:.72rem;line-height:1.45;white-space:pre-wrap; }
.editing-detail-grid {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;
  box-sizing:border-box;border:1px solid var(--border-color,#d9e0e5);border-radius:0;
  background:var(--border-color,#d9e0e5);
}
.editing-detail-value { min-width:0;display:grid;gap:.22rem;border:0;padding:.58rem .7rem;background:var(--surface-subtle,#f4f6f7); }
.editing-detail-value.is-wide { grid-column:1 / -1; }
.editing-detail-value.is-multiline strong { white-space:pre-wrap; }
.editing-detail-value small { color:var(--text-muted,#68727d);font-size:.66rem;font-weight:750; }
.editing-detail-value strong,.editing-detail-value a { overflow-wrap:anywhere;color:var(--text-strong,#18212b);font-size:.75rem;font-weight:750; }
.editing-detail-value a { color:var(--accent,#147d78);text-decoration:none; }
.editing-delivery-history { display:grid;gap:.45rem; }
.editing-delivery-history h4 { margin:0;font-size:.76rem; }
.editing-delivery-history a,
.editing-delivery-history > div { display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--border-color,#d9e0e5);border-radius:0;padding:.55rem .7rem;color:var(--text-strong,#18212b);font-size:.7rem;text-decoration:none; }
.editing-delivery-history a strong { color:var(--accent,#147d78); }
.editing-assignment-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:.65rem; }
.editing-assignment-grid label { min-width:0;display:grid;gap:.3rem;font-size:.72rem; }
.editing-last-note { margin:0;background:var(--surface-subtle,#f4f6f7);border-radius:0;padding:.6rem;font-size:.74rem!important;line-height:1.4; }
.editing-activity-panel { display:grid;align-content:start;gap:.8rem; }
.editing-activity-panel > header { display:flex;align-items:center;justify-content:space-between;gap:1rem; }
.editing-activity-panel h3 { margin:0;font-size:.88rem; }
.editing-activity-panel > header b { min-width:26px;height:26px;display:grid;place-items:center;border-radius:0;color:var(--accent-contrast,#000);background:var(--accent,#147d78);font-size:.68rem; }
.editing-activity-list { display:grid;gap:.65rem; }
.editing-activity-item { display:grid;grid-template-columns:32px minmax(0,1fr);gap:.55rem;border-bottom:1px solid var(--border-color,#d9e0e5);padding:.25rem 0 .7rem; }
.editing-activity-avatar { width:32px;height:32px;display:grid;place-items:center;border-radius:0;color:var(--accent-contrast,#000);background:var(--accent,#147d78);font-size:.66rem;font-weight:850; }
.editing-activity-item > div { min-width:0;display:grid;gap:.25rem; }
.editing-activity-item header { display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem;color:var(--text-muted,#68727d);font-size:.64rem; }
.editing-activity-item header strong { color:var(--text-strong,#18212b);font-size:.72rem; }
.editing-activity-item > div > small { color:var(--accent,#147d78);font-size:.64rem;font-weight:750; }
.editing-activity-item p { margin:0;color:var(--text-strong,#18212b);font-size:.74rem;line-height:1.45;white-space:pre-wrap; }
.editing-activity-attachments { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin-top:.2rem; }
.editing-activity-attachments a { min-width:0;display:grid;border:1px solid var(--border-color,#d9e0e5);border-radius:0;overflow:hidden;color:var(--accent,#147d78);font-size:.64rem;font-weight:750;text-decoration:none; }
.editing-activity-image img { width:100%;height:92px;object-fit:cover;background:var(--surface-subtle,#f4f6f7); }
.editing-activity-attachments a span { overflow:hidden;padding:.35rem;text-overflow:ellipsis;white-space:nowrap; }
.editing-activity-file { grid-template-columns:38px minmax(0,1fr);align-items:center;padding:.45rem; }
.editing-activity-file strong { display:grid;place-items:center;border-radius:0;padding:.35rem;background:color-mix(in srgb,#b44343 12%,var(--surface,#fff));color:#b44343; }
.editing-comment-form { display:grid;gap:.5rem;margin-top:.7rem; }
.editing-comment-form textarea { resize:vertical; }
.editing-comment-form-footer { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem; }
.editing-attachment-picker { position:relative;overflow:hidden;cursor:pointer; }
.editing-attachment-picker input { position:absolute;inline-size:1px;block-size:1px;opacity:0; }
.editing-pending-attachments { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem; }
.editing-pending-attachments:empty { display:none; }
.editing-pending-attachments article { position:relative;min-width:0;display:grid;align-content:center;justify-items:center;gap:.25rem;min-height:72px;border:1px solid var(--border-color,#d9e0e5);border-radius:0;padding:.35rem;background:var(--surface-subtle,#f4f6f7); }
.editing-pending-attachments img { width:100%;height:64px;border-radius:0;object-fit:cover; }
.editing-pending-attachments span { width:100%;overflow:hidden;font-size:.6rem;text-align:center;text-overflow:ellipsis;white-space:nowrap; }
.editing-pending-attachments small { color:var(--text-muted,#68727d);font-size:.58rem;font-weight:750; }
.editing-pending-attachments button { position:absolute;top:3px;right:3px;width:22px;height:22px;display:grid;place-items:center;border:0;border-radius:0;color:#fff;background:rgba(24,33,43,.82);cursor:pointer; }
.editing-pending-attachments button svg { width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round; }
.editing-unit-edit-modal-panel { width:min(820px,calc(100vw - 2rem)); }
.editing-unit-edit-header-actions { display:flex;align-items:center;gap:.65rem; }
.editing-unit-edit-status {
  display:inline-flex;align-items:center;min-height:28px;border-radius:0;padding:.35rem .7rem;
  color:#6752a8;background:color-mix(in srgb,#7c66bd 13%,var(--surface,#fff));font-size:.68rem;font-weight:800;
}
.editing-unit-information-editor { display:grid;gap:1rem;min-height:100%; }
.editing-unit-details-fields { display:grid;gap:1rem;border:1px solid var(--border-color,#d9e0e5);border-radius:0;padding:.85rem; }
.editing-unit-details-fields > label { display:grid;gap:.4rem;color:var(--text-strong,#18212b);font-size:.76rem;font-weight:800; }
.editing-unit-details-fields textarea { min-height:130px;resize:vertical; }
.editing-unit-details-fields > p { margin:0;color:var(--text-muted,#68727d);font-size:.72rem;line-height:1.45; }
.editing-team-section { display:grid;gap:.8rem;border:1px solid var(--border-color,#d9e0e5);border-radius:0;padding:.85rem; }
.editing-team-section h3 { margin:0;font-size:.84rem; }
.editing-information-section,.editing-information-readonly { display:grid;gap:.8rem;border:1px solid var(--border-color,#d9e0e5);border-radius:0;padding:.85rem; }
.editing-information-section-header { display:grid;gap:.18rem; }
.editing-information-section-header h3,.editing-information-section-header p { margin:0; }
.editing-information-section-header h3 { font-size:.84rem; }
.editing-information-section-header p { color:var(--text-muted,#68727d);font-size:.7rem; }
.editing-preparation-sources { display:grid;gap:.55rem;margin:0;border:0;padding:0; }
.editing-preparation-sources legend { margin-bottom:.2rem;color:var(--text-strong,#18212b);font-size:.76rem;font-weight:800; }
.editing-source-mode-option,.editing-source-recordings label,.editing-external-media-ready { display:flex;align-items:flex-start;gap:.55rem;cursor:pointer; }
.editing-source-mode-option > span,.editing-source-recordings label > span { display:grid;gap:.1rem; }
.editing-source-mode-option small,.editing-source-recordings small { color:var(--text-muted,#68727d);font-size:.66rem;font-weight:500; }
.editing-source-recordings { display:grid;gap:.45rem;margin:0 0 .2rem 1.55rem;border-left:2px solid var(--border-color,#d9e0e5);padding:.2rem 0 .2rem .75rem; }
.editing-source-recordings label { border:1px solid var(--border-color,#d9e0e5);padding:.55rem;background:var(--surface-subtle,#f4f6f7);font-size:.72rem; }
.editing-external-media-ready { margin-left:1.55rem;color:var(--text-strong,#18212b);font-size:.7rem;font-weight:700; }
.editing-preparation-fields { display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem; }
.editing-preparation-fields label { display:grid;gap:.4rem;color:var(--text-strong,#18212b);font-size:.72rem;font-weight:800; }
.editing-assignment-grid.is-readonly label { display:grid;align-content:start;gap:.25rem;border:1px solid var(--border-color,#d9e0e5);border-radius:0;padding:.65rem;background:var(--surface-subtle,#f4f6f7); }
.editing-assignment-grid.is-readonly span { color:var(--text-muted,#68727d);font-size:.66rem;font-weight:750; }
.editing-assignment-grid.is-readonly strong { font-size:.76rem; }
.editing-action-modal {
  --border-color:var(--border);--surface-subtle:var(--surface-3);--text-muted:var(--ink-muted);--text-strong:var(--ink);
}
.editing-action-modal-panel { width:min(620px,calc(100vw - 2rem)); }
.editing-action-modal-panel > form { min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto; }
.editing-action-modal-panel > form > .form-actions {
  justify-content:flex-end;gap:.75rem;padding:12px 18px 18px;border-top:1px solid var(--border);
  background:var(--surface);
}
.editing-action-modal-body { display:grid;gap:1rem; }
.editing-action-modal-body > p { margin:0;color:var(--text-muted,#68727d);font-size:.82rem;line-height:1.45; }
.editing-action-modal-body label { display:grid;gap:.4rem;color:var(--text-strong,#18212b);font-size:.76rem;font-weight:800; }
.editing-action-modal-body textarea { resize:vertical; }
.editing-action-modal.is-correction .editing-action-modal-panel { width:min(900px,calc(100vw - 2rem)); }
.editing-correction-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem; }
.editing-correction-status-field,.editing-correction-chronology,.editing-correction-integrity { grid-column:1 / -1; }
.editing-correction-integrity {
  display:grid;gap:.45rem;margin:0;border:1px solid color-mix(in srgb,var(--warning,#c56a13) 55%,var(--border-color,#d9e0e5));
  border-radius:9px;padding:.75rem .85rem;color:var(--text-strong,#18212b);
  background:color-mix(in srgb,var(--warning,#c56a13) 8%,var(--surface,#fff));font-size:.74rem;line-height:1.45;
}
.editing-correction-integrity[hidden] { display:none; }
.editing-correction-integrity strong { color:var(--warning-strong,#9a4d08); }
.editing-correction-integrity ul { display:grid;gap:.3rem;margin:0;padding-left:1.15rem; }
.editing-correction-readonly-fields {
  grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem;
}
.editing-correction-readonly-fields > div {
  display:grid;align-content:start;gap:.25rem;border:1px solid var(--border-color,#d9e0e5);
  border-radius:0;padding:.65rem;background:var(--surface-subtle,#f4f6f7);
}
.editing-correction-readonly-fields span { color:var(--text-muted,#68727d);font-size:.66rem;font-weight:750; }
.editing-correction-readonly-fields strong { font-size:.76rem; }
.editing-correction-chronology {
  margin:0;border:1px solid var(--border-color,#d9e0e5);border-radius:0;padding:.7rem .8rem;
  color:var(--text-muted,#68727d);background:var(--surface-subtle,#f4f6f7);font-size:.72rem;line-height:1.45;
}
.editing-card-menu-list button.is-danger { color:var(--danger,#b44343); }
.editing-manual-video-modal-panel { width:min(1040px,calc(100vw - 2rem)); }
.editing-manual-video-modal-panel > form {
  min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;
}
.editing-manual-video-modal-panel > form > .form-actions {
  justify-content:flex-end;gap:.75rem;padding:12px 18px 18px;border-top:1px solid var(--border);
  background:var(--surface);
}
.editing-manual-video-body { display:grid;align-content:start;gap:1rem; }
.editing-manual-video-notice {
  margin:0;border:1px solid color-mix(in srgb,var(--accent,#147d78) 28%,var(--border-color,#d9e0e5));
  border-radius:0;padding:.8rem .9rem;color:var(--text-strong,#18212b);
  background:color-mix(in srgb,var(--accent,#147d78) 7%,var(--surface,#fff));font-size:.76rem;line-height:1.5;
}
.editing-manual-video-context {
  display:grid;grid-template-columns:180px repeat(2,minmax(0,1fr));gap:.85rem;
}
.editing-manual-video-context label,.editing-manual-video-item label {
  min-width:0;display:grid;gap:.4rem;color:var(--text-strong,#18212b);font-size:.74rem;font-weight:800;
}
.editing-manual-video-project-field { position:relative;z-index:3; }
.editing-manual-video-project-field .search-select-option {
  align-items:center;min-height:46px;font-size:.82rem;
}
.editing-manual-video-project-field .search-select-option span {
  flex:0 0 auto;font-size:.7rem;
}
.editing-manual-video-items-header {
  display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-top:.25rem;
}
.editing-manual-video-items-header h3,.editing-manual-video-items-header p { margin:0; }
.editing-manual-video-items-header h3 { font-size:.9rem; }
.editing-manual-video-items-header p { margin-top:.2rem;color:var(--text-muted,#68727d);font-size:.7rem; }
.editing-manual-video-items { display:grid;gap:.65rem; }
.editing-manual-video-item {
  position:relative;display:grid;grid-template-columns:minmax(230px,1.5fr) 100px 160px minmax(190px,1fr) 34px;
  align-items:end;gap:.7rem;border:1px solid var(--border-color,#d9e0e5);border-radius:0;padding:.8rem;
  background:var(--surface-subtle,#f4f6f7);
}
.editing-manual-video-item label span small { color:var(--text-muted,#68727d);font-size:.62rem;font-weight:700; }
.editing-manual-video-description { grid-column:1 / -1; }
.editing-manual-video-description textarea { min-height:72px;resize:vertical; }
.editing-manual-video-remove { margin-bottom:3px; }
@media (max-width:1400px) and (min-width:1051px) {
  .editing-tool-fields { display:grid;grid-template-columns:repeat(3,minmax(0,1fr)); }
  .editing-tool-fields > .editing-search-field { grid-column:span 2; }
}
@media (max-width:1050px) {
  .editing-tool-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr)); }
  .editing-tool-fields > .editing-search-field { grid-column:1 / -1; }
  .editing-unit-detail { grid-template-columns:1fr; }
  .editing-unit-sheet { padding-right:0; }
  .editing-unit-detail > aside { border-top:1px solid var(--border-color,#d9e0e5);border-left:0;margin-top:1rem;padding-top:1rem;padding-left:0; }
  .editing-unit-facts { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .editing-manual-video-item { grid-template-columns:minmax(0,1fr) 100px 160px 34px; }
  .editing-manual-video-item label:nth-of-type(4) { grid-column:1 / 4; }
  .editing-manual-video-description { grid-column:1 / -1!important; }
}
@media (max-width:760px) {
  .editing-tools { grid-template-columns:minmax(0,1fr); }
  .editing-tool-actions { justify-self:end; }
  .editing-tool-fields.production-workspace-tool-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .editing-tool-fields.production-workspace-tool-fields > .editing-search-field { grid-column:1 / -1; }
}
@media (max-width:720px) {
  .editing-tools { grid-template-columns:minmax(0,1fr); }
  .editing-tool-fields { grid-template-columns:minmax(0,1fr); }
  .editing-tool-fields.production-workspace-tool-fields { grid-template-columns:minmax(0,1fr); }
  .editing-tool-fields.production-workspace-tool-fields > .editing-search-field { grid-column:auto; }
  .editing-tool-actions { justify-self:end; }
  .editing-kanban { grid-auto-columns:minmax(270px,86vw); }
  .editing-unit-facts,.editing-assignment-grid,.editing-detail-grid { grid-template-columns:1fr; }
  .editing-inline-control,.editing-inline-control.is-source,.editing-source-control,.editing-correction-fields,.editing-correction-readonly-fields { grid-template-columns:1fr; }
  .editing-information-filter-panel { left:0;width:min(560px,calc(100vw - 40px)); }
  .editing-information-filter-grid { grid-template-columns:1fr; }
  .editing-manual-video-context,.editing-manual-video-item { grid-template-columns:1fr; }
  .editing-manual-video-item label:nth-of-type(4),.editing-manual-video-description { grid-column:auto!important; }
  .editing-manual-video-remove { position:absolute;top:.45rem;right:.45rem; }
  .editing-manual-video-items-header { align-items:stretch;flex-direction:column; }
}

@media (max-width:480px) {
  .authorization-tabs {
    max-width:100%;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:inline proximity;
    scrollbar-width:thin;
  }

  .authorization-tab {
    min-height:44px;
    flex:0 0 auto;
    scroll-snap-align:start;
    white-space:nowrap;
  }
}

@media (max-width: 760px) {
  .responsive-card-table {
    min-width: 0;
    display: block;
    border-collapse: separate;
  }

  .responsive-card-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .responsive-card-table tbody {
    display: grid;
    gap: 12px;
  }

  .responsive-card-table tbody > tr:not(.empty-row) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 18px;
    border: 1px solid var(--border);
    border-radius:0;
    padding: 16px;
    background: var(--surface-2);
  }

  .responsive-card-table tbody > tr:not(.empty-row) > td {
    min-width: 0;
    min-height: 0;
    height: auto;
    display: grid;
    align-content: start;
    gap: 5px;
    border: 0;
    padding: 0;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .responsive-card-table tbody > tr:not(.empty-row) > td::before {
    color: var(--ink-muted);
    content: attr(data-label);
    font-size: 10px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .03em;
    text-transform: uppercase;
  }

  .responsive-card-table tbody > tr:not(.empty-row) > td:first-child,
  .responsive-card-table tbody > tr:not(.empty-row) > td.options-cell {
    grid-column: 1 / -1;
  }

  .responsive-card-table tbody > tr:not(.empty-row) > td.options-cell {
    width: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
    text-align: left;
  }

  .responsive-card-table tbody > tr:not(.empty-row) > td.options-cell::before {
    flex: 0 0 100%;
  }

  .responsive-card-table .options-cell .icon-only-button + .icon-only-button {
    margin-left: 0;
  }

  .responsive-card-table .options-cell .icon-only-button,
  .responsive-card-table .options-cell summary.icon-only-button {
    width: 44px;
    height: 44px;
  }

  .responsive-card-table .project-location-cell,
  .responsive-card-table .project-director-cell,
  .responsive-card-table .project-total-cell {
    width: auto;
    max-width: none;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  .responsive-card-table .text-row-button,
  .responsive-card-table .operational-project-title-link,
  .responsive-card-table select {
    max-width: 100%;
  }

  .responsive-card-table tbody > tr.empty-row {
    display: block;
  }

  .responsive-card-table tbody > tr.empty-row > td {
    display: block;
    border: 0;
    padding: 16px;
  }
}

@media (max-width: 1180px) and (min-width: 761px) {
  .projects-list-panel .table-wrap {
    overflow-x: auto;
  }

  .projects-table {
    table-layout: fixed;
  }

  .projects-table th,
  .projects-table td {
    padding-right: 8px;
    padding-left: 8px;
  }

  .projects-table .options-column,
  .projects-table .options-cell {
    width: 104px;
  }
}

@media (max-width: 480px) {
  .responsive-card-table tbody > tr:not(.empty-row) {
    grid-template-columns: minmax(0, 1fr);
  }

  .responsive-card-table tbody > tr:not(.empty-row) > td {
    grid-column: 1;
  }
}

@container commercial-projects (max-width: 1100px) {
  .commercial-projects-table-wrap {
    overflow: visible;
  }

  .commercial-projects-table-wrap .projects-table {
    min-width: 0;
    display: block;
    border-collapse: separate;
    table-layout: auto;
  }

  .commercial-projects-table-wrap .projects-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .commercial-projects-table-wrap .projects-table tbody {
    display: grid;
    gap: 12px;
  }

  .commercial-projects-table-wrap .projects-table tbody > tr:not(.empty-row) {
    display: grid;
    grid-template-columns:
      minmax(110px, .75fr)
      minmax(110px, .75fr)
      minmax(150px, 1.35fr)
      minmax(120px, .85fr);
    grid-template-areas:
      "project project project actions"
      "contract stage location total";
    align-items: start;
    gap: 10px 16px;
    border: 1px solid var(--border);
    border-radius: 0;
    padding: 12px 14px;
    background: var(--surface-2);
  }

  .commercial-projects-table-wrap .projects-table tbody > tr:not(.empty-row) > td {
    min-width: 0;
    min-height: 0;
    height: auto;
    display: grid;
    align-content: start;
    gap: 3px;
    border: 0;
    padding: 0;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .commercial-projects-table-wrap .projects-table tbody > tr:not(.empty-row) > td::before {
    color: var(--ink-muted);
    content: attr(data-label);
    font-size: 10px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .03em;
    text-transform: uppercase;
  }

  .commercial-projects-table-wrap .projects-table tbody > tr:not(.empty-row) > td.project-summary-cell {
    grid-area: project;
    align-self: center;
  }

  .commercial-projects-table-wrap .project-summary-cell::before {
    display: none;
  }

  .commercial-projects-table-wrap .projects-table tbody > tr:not(.empty-row) > td.project-stage-cell {
    grid-area: stage;
  }

  .commercial-projects-table-wrap .projects-table tbody > tr:not(.empty-row) > td.project-contract-cell {
    grid-area: contract;
  }

  .commercial-projects-table-wrap .projects-table tbody > tr:not(.empty-row) > td.project-location-cell {
    grid-area: location;
  }

  .commercial-projects-table-wrap .projects-table tbody > tr:not(.empty-row) > td.project-total-cell {
    grid-area: total;
  }

  .commercial-projects-table-wrap .projects-table tbody > tr:not(.empty-row) > td.options-cell {
    grid-area: actions;
    width: auto;
    display: flex;
    align-self: center;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 6px;
    text-align: left;
  }

  .commercial-projects-table-wrap .projects-table tbody > tr:not(.empty-row) > td.options-cell::before {
    display: none;
  }

  .commercial-projects-table-wrap .projects-table .options-cell .icon-only-button + .icon-only-button {
    margin-left: 0;
  }

  .commercial-projects-table-wrap .projects-table .options-cell .icon-only-button,
  .commercial-projects-table-wrap .projects-table .options-cell summary.icon-only-button {
    width: 44px;
    height: 44px;
  }

  .commercial-projects-table-wrap .projects-table .options-cell .project-status-menu {
    margin-left: 0;
  }

  .commercial-projects-table-wrap .project-contract-cell .badge {
    width: auto;
    min-width: 0;
    justify-self: start;
  }

  .commercial-projects-table-wrap .project-summary-cell .text-row-button {
    min-height: 0;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 2px 10px;
  }

  .commercial-projects-table-wrap .project-summary-cell .text-row-button strong {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  .commercial-projects-table-wrap .project-summary-cell .text-row-button span {
    flex: 0 0 auto;
  }

  .commercial-projects-table-wrap .projects-table .project-location-cell,
  .commercial-projects-table-wrap .projects-table .project-total-cell {
    width: auto;
    max-width: none;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  .commercial-projects-table-wrap .projects-table .text-row-button,
  .commercial-projects-table-wrap .projects-table .operational-project-title-link,
  .commercial-projects-table-wrap .projects-table select {
    max-width: 100%;
  }

  .commercial-projects-table-wrap .projects-table tbody > tr.empty-row {
    display: block;
  }

  .commercial-projects-table-wrap .projects-table tbody > tr.empty-row > td {
    display: block;
    border: 0;
    padding: 16px;
  }
}

@container commercial-projects (max-width: 720px) {
  .commercial-projects-table-wrap .projects-table tbody > tr:not(.empty-row) {
    grid-template-columns: minmax(0, 1fr) minmax(200px, auto);
    grid-template-areas:
      "project actions"
      "contract stage"
      "location total";
  }
}

@container commercial-projects (max-width: 520px) {
  .commercial-projects-table-wrap .projects-table tbody > tr:not(.empty-row) {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "project actions"
      "contract stage"
      "location total";
  }

  .commercial-projects-table-wrap .projects-table tbody > tr:not(.empty-row) > td.options-cell {
    justify-content: flex-end;
  }

  .commercial-projects-table-wrap .options-cell .project-status-menu-panel {
    right: 0;
    left: auto;
  }
}

/* ============================================================
   Tema Clássico — linguagem editorial derivada do mockup de Edição.
   O shell, o background, a largura e as cores da sidebar continuam
   definidos pelos tokens compartilhados. Esta camada traduz marca,
   tipografia, controles, navegação interna, listas e workspaces.
   ============================================================ */

:root {
  --serif: 'Playfair Display', Georgia, serif;
  --sans: 'Inter', -apple-system, system-ui, sans-serif;
  --classic-line: color-mix(in srgb, var(--ink) 16%, transparent);
  --classic-line-strong: color-mix(in srgb, var(--ink) 72%, transparent);
  --classic-muted: color-mix(in srgb, var(--ink) 58%, transparent);
  --classic-danger: #b4402f;
  --classic-warn: #a8752f;
}

:root[data-theme="dark"] {
  --classic-line: color-mix(in srgb, var(--ink) 22%, transparent);
  --classic-line-strong: color-mix(in srgb, var(--ink) 76%, transparent);
  --classic-muted: color-mix(in srgb, var(--ink) 62%, transparent);
  --classic-danger: #df7868;
  --classic-warn: #d0a05b;
}

body {
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}

/* ---------- Marca e navegação ---------- */

.brand-region {
  margin-bottom: 28px;
  padding: 8px 12px;
}

.brand-copy {
  gap: 3px;
}

.brand-copy strong {
  font-family: var(--serif);
  font-size: 22px;
  font-style: italic;
  font-weight: 500;
  letter-spacing: .01em;
}

.brand-copy span {
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.sidebar > .nav,
.responsive-nav {
  gap: 1px;
}

.nav-item {
  min-height: 34px;
  height: auto;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 8px;
  border-left: 2px solid transparent;
  padding: 8px 10px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.nav-parent {
  grid-template-columns: 18px minmax(0, 1fr) 12px;
}

.nav-item:hover,
.nav-item.active,
.nav-group.active .nav-parent {
  background: transparent;
}

.nav-item:hover {
  color: var(--nav-text);
}

.nav-item.active,
.nav-group.active .nav-parent {
  border-left-color: var(--accent);
  font-weight: 600;
}

.nav-icon {
  width: 18px;
  height: 18px;
}

.nav-icon svg {
  display: none;
}

.nav-icon::before {
  width: 4px;
  height: 4px;
  content: "";
  background: currentColor;
  opacity: .55;
}

.nav-item.active .nav-icon::before,
.nav-group.active .nav-parent .nav-icon::before {
  color: var(--accent);
  opacity: 1;
}

.nav-arrow {
  width: 12px;
  min-width: 12px;
  font-size: 15px;
}

.nav-children-inner {
  gap: 0;
  padding: 1px 0 2px 16px;
}

.nav-child {
  min-height: 30px;
  font-size: 10px;
}

.sidebar-footer {
  align-items: stretch;
  display: grid;
  gap: 0;
  border-width: 1px 0 0;
  padding: 16px 10px 0;
  background: transparent;
}

.session-footer-version {
  margin-bottom: 16px;
  display: block;
  color: var(--nav-muted);
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1;
}

.session-avatar-button {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
}

.session-avatar-content {
  width: 28px;
  height: 28px;
  border-radius: 0;
  font-family: var(--serif);
  font-size: 13px;
  font-style: italic;
  font-weight: 400;
}

.session-avatar-name {
  min-width: 0;
  color: var(--nav-text);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.session-profile-popover {
  font-family: var(--sans);
}

.session-profile-photo-content {
  font-family: var(--serif);
  font-size: 28px;
  font-style: italic;
  font-weight: 400;
}

.session-profile-info strong {
  font-family: var(--serif);
  font-size: 22px;
  font-style: italic;
  font-weight: 400;
}

.session-profile-info span,
.session-profile-info small {
  font-family: var(--sans);
  font-weight: 500;
}

.session-profile-actions {
  grid-template-columns: minmax(0, 1fr) auto auto;
}

.session-profile-link {
  width: 100%;
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
}

/* ---------- Tipografia editorial ---------- */

.eyebrow {
  margin-bottom: 6px;
  color: var(--classic-muted);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .18em;
}

.eyebrow + h1,
.eyebrow + h2,
.eyebrow + h3,
.eyebrow + h4 {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  letter-spacing: .005em;
}

.view > .section-heading > div:first-child > .eyebrow + h1,
.view > .section-heading > div:first-child > .eyebrow + h2,
.view > .section-heading > div:first-child > .eyebrow + h3,
.view > .section-heading > div:first-child > .eyebrow + h4,
.view-header > div:first-child > .eyebrow + h1,
.view-header > div:first-child > .eyebrow + h2 {
  font-size: clamp(30px, 2.8vw, 34px);
  line-height: 1.08;
}

.section-heading > div:first-child > p:not(.eyebrow),
.view-header > div:first-child > p:not(.eyebrow) {
  margin-top: 5px;
  color: var(--classic-muted);
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.45;
}

.panel .section-heading h2,
.settings-collapsible-section > .section-heading h2 {
  font-family: var(--serif);
  font-size: 24px;
  font-style: italic;
  font-weight: 400;
}

.modal-header h2 {
  font-family: var(--serif);
  font-size: 27px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.12;
}

/* ---------- Campos e formulários ---------- */

:where(
  input:not([type]),
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="number"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"],
  input[type="url"],
  input[type="tel"],
  input[type="search"],
  select
) {
  min-height: 36px;
  border-width: 0 0 1px;
  border-color: var(--classic-line);
  padding: 4px 2px 8px;
  color: var(--ink);
  background-color: transparent;
  font-size: 13.5px;
  font-weight: 500;
}

:where(textarea) {
  border-color: var(--classic-line);
  padding: 10px;
  background: transparent;
  font-size: 13.5px;
  font-weight: 500;
}

:where(
  input:not([type]),
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="number"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"],
  input[type="url"],
  input[type="tel"],
  input[type="search"],
  textarea
)::placeholder {
  color: var(--classic-muted);
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  opacity: .72;
}

:where(
  input:not([type]):focus,
  input[type="text"]:focus,
  input[type="email"]:focus,
  input[type="password"]:focus,
  input[type="number"]:focus,
  input[type="date"]:focus,
  input[type="time"]:focus,
  input[type="datetime-local"]:focus,
  input[type="month"]:focus,
  input[type="week"]:focus,
  input[type="url"]:focus,
  input[type="tel"]:focus,
  input[type="search"]:focus,
  select:focus,
  textarea:focus
) {
  border-color: var(--accent);
  outline: 0;
  box-shadow: none;
}

body :is(
  input:not([type]),
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="number"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"],
  input[type="url"],
  input[type="tel"],
  input[type="search"],
  select
) {
  border-width: 0 0 1px !important;
  border-style: solid !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  outline: 0 !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}

body :is(
  input:not([type]),
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="number"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"],
  input[type="url"],
  input[type="tel"],
  input[type="search"],
  select
):focus {
  border-bottom-color: var(--accent) !important;
  box-shadow: 0 1px 0 var(--accent) !important;
}

label:has(> :is(
  input:not([type]),
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="number"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"],
  input[type="url"],
  input[type="tel"],
  input[type="search"],
  select,
  textarea
)) > span:first-child,
.renderer-field > span:first-child,
.editing-tool-fields > label,
.editing-filter-field {
  color: var(--classic-muted);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.people-filter input,
.people-filter select {
  height: 36px;
  border-width: 0 0 1px;
  border-color: var(--classic-line);
  padding: 4px 2px 8px;
  background: transparent;
  font-size: 13.5px;
  font-weight: 500;
}

.project-list-filter select {
  padding-right: 48px;
}

/* ---------- Botões ---------- */

.ghost-button,
.secondary-button,
.primary-button,
.danger-button {
  min-height: 36px;
  height: auto;
  padding: 9px 14px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .09em;
  line-height: 1.1;
  text-transform: uppercase;
}

.ghost-button,
.secondary-button {
  border-color: var(--classic-line-strong);
  color: var(--ink);
  background: transparent;
}

.ghost-button:hover,
.secondary-button:hover {
  border-color: var(--ink);
  background: color-mix(in srgb, var(--ink) 5%, transparent);
}

.primary-button {
  font-weight: 600;
}

.icon-only-button {
  border-color: var(--classic-line);
  background: transparent;
}

/* ---------- Painéis, listas e tabelas ---------- */

.panel,
.modal-panel,
.settings-collapsible-section,
.entity-card {
  border-color: var(--classic-line);
  box-shadow: none;
}

.entity-card span {
  font-family: var(--sans);
  font-weight: 600;
}

.entity-card strong {
  font-family: var(--sans);
  font-weight: 600;
}

.entity-card small {
  font-family: var(--sans);
  font-weight: 400;
}

.person-display-name {
  font-family: var(--sans);
  font-weight: 600;
}

.person-legal-name,
.muted-cell {
  font-family: var(--sans);
  font-weight: 400;
}

.modal-header {
  border-bottom-color: var(--classic-line);
}

th {
  color: var(--classic-muted);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .12em;
}

td {
  font-weight: 500;
}

th,
td {
  border-bottom-color: var(--classic-line);
  padding-top: 14px;
  padding-bottom: 14px;
}

.responsive-card-table tbody > tr:not(.empty-row),
.dashboard-work-table tbody > tr:not(.empty-row) {
  box-shadow: none;
}

/* ---------- Cards de Pré e Pós-produção ---------- */

.temporal-kanban-column {
  border: 0;
  background: transparent;
}

.temporal-kanban-column > header {
  align-items: flex-start;
  margin: 0 0 16px;
  border-width: 0 0 1px;
  border-color: var(--classic-line-strong);
  padding: 0 5px 10px;
  background: var(--surface-2);
}

.view[data-view="production-workspace"] .temporal-kanban-column > header {
  background: transparent;
}

.temporal-kanban-cards {
  gap: 14px;
  padding: 0;
}

.temporal-kanban-column > header > div {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.temporal-kanban-column h3 {
  margin: 0;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  letter-spacing: .12em;
  line-height: normal;
  text-transform: uppercase;
}

.temporal-kanban-column > header small {
  color: var(--classic-muted);
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 400;
  line-height: 1.4;
}

.temporal-kanban-column > header > span {
  min-width: 0;
  width: auto;
  height: auto;
  padding: 0;
  color: var(--classic-muted);
  background: transparent;
  font-family: var(--sans);
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}

.temporal-project-card,
.temporal-project-card-open,
.temporal-card-next-task,
.temporal-card-next-task.is-navigation-only > button {
  font-family: var(--sans);
}

.temporal-card-head > small,
.temporal-project-card-open > span:first-of-type,
.temporal-project-card-open > small {
  color: var(--classic-muted);
  font-size: 11.5px;
  font-weight: 400;
  line-height: 1.5;
}

.temporal-project-card-open > strong,
.temporal-card-next-task > strong,
.temporal-card-next-task.is-navigation-only > button {
  color: var(--ink);
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.35;
}

.temporal-card-next-task > span {
  color: var(--classic-muted);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1.3;
}

.temporal-card-next-controls .ghost-button,
.temporal-card-next-controls .secondary-button,
.temporal-card-next-controls .primary-button {
  font-size: 10px !important;
}

.attention-badge {
  font-size: 9.5px;
  font-weight: 600;
  line-height: 1.2;
}

/* ---------- Página Edição ---------- */

.view[data-view="editing-workspace"] > .section-heading {
  margin-bottom: 0;
}

.view[data-view="editing-workspace"] .section-actions [data-action="open-manual-video-addition"] {
  border-color: var(--accent);
  color: var(--accent-contrast);
  background: var(--accent);
}

.editing-tools {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 26px;
  margin: 30px 0 0;
  border-width: 0 0 1px;
  border-color: var(--classic-line);
  padding: 0 0 18px;
  background: transparent;
}

.editing-tools.production-workspace-tools {
  grid-template-columns: minmax(0, 1fr);
  border-bottom: 0;
}

.editing-tool-fields {
  display: grid;
  grid-template-columns: minmax(190px, 1.6fr) repeat(4, minmax(105px, 1fr));
  gap: 26px;
  align-items: end;
}

.editing-tool-fields.production-workspace-tool-fields {
  grid-template-columns: minmax(260px, 1.35fr) repeat(3, minmax(150px, .72fr));
}

.editing-tool-fields.production-workspace-tool-fields > .editing-search-field {
  grid-column: auto;
}

.production-mode-panel {
  margin-top: 15px;
}

.editing-tool-fields > *,
.editing-tool-fields > .editing-search-field {
  min-width: 0;
}

.editing-tool-actions {
  gap: 6px;
}

.editing-tools select,
.editing-tools input,
.editing-multi-filter summary,
.editing-information-filter summary {
  height: 34px;
  border-width: 0 0 1px;
  border-color: var(--classic-line);
  padding: 4px 24px 8px 2px;
  background: transparent;
  font-size: 13.5px;
  font-weight: 500;
}

.editing-multi-filter summary,
.editing-information-filter summary {
  text-transform: none;
}

.editing-search-control input {
  padding-right: 2.5rem;
}

.editing-multi-filter[open] summary,
.editing-information-filter[open] summary {
  border-color: var(--accent);
  box-shadow: none;
}

.editing-multi-filter-menu,
.editing-information-filter-panel {
  border-color: var(--classic-line);
  padding: 6px 8px;
  background: var(--surface-2);
}

.editing-multi-filter-menu {
  gap: 0;
}

.editing-multi-filter-menu label,
.editing-information-filter-grid label {
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 500;
}

.editing-multi-filter-menu label {
  min-height: 30px;
  gap: 8px;
  padding: 5px 6px;
  letter-spacing: .055em;
  line-height: 1.25;
  text-transform: uppercase;
}

.editing-multi-filter-menu input {
  width: 16px;
  height: 16px;
  min-height: 16px;
  flex: 0 0 16px;
  margin: 0;
  padding: 0;
}

.editing-view-button {
  width: 34px;
  height: 34px;
  border-color: var(--classic-line);
  color: var(--ink-muted);
  background: transparent;
}

.editing-view-button.is-muted {
  border-color: var(--classic-line);
  color: var(--ink-muted);
  background: transparent;
  opacity: .58;
}

.editing-list {
  margin-top: 28px;
  border: 0;
  background: transparent;
}

.editing-list-head,
.editing-row {
  border-color: var(--classic-line);
  padding-right: 8px;
  padding-left: 8px;
}

.editing-list-head {
  min-height: 40px;
  border-bottom: 1px solid var(--classic-line-strong);
  color: var(--classic-muted);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.editing-row {
  min-height: 76px;
  border-top: 0;
  border-bottom: 1px solid var(--classic-line);
  background: transparent;
}

.editing-row:nth-child(even) {
  background: transparent;
}

.editing-row-title strong {
  font-size: 13.5px;
  font-weight: 600;
}

.editing-row-title small,
.editing-row-deadline small,
.editing-row-created {
  color: var(--classic-muted);
  font-size: 11.5px;
  font-weight: 400;
}

.editing-status-badge {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.editing-kanban {
  grid-auto-columns: 250px;
  gap: 28px;
  margin-top: 28px;
  padding-bottom: 20px;
}

.editing-column {
  min-height: 330px;
  border: 0;
  background: transparent;
}

.editing-column > header {
  position: sticky;
  top: 0;
  margin-bottom: 16px;
  border-width: 0 0 1px;
  border-color: var(--classic-line-strong);
  padding: 0 5px 10px;
  background: var(--surface-2);
}

.view[data-view="editing-workspace"] .editing-column > header,
#marketingEditingWorkspaceHost .editing-column > header {
  background: transparent;
}

.editing-column > header .editing-status-badge {
  width: 100%;
  align-items: baseline;
  justify-content: space-between;
  border: 0;
  padding: 0;
  color: var(--ink);
  background: transparent;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
}

.editing-column > header .editing-status-badge strong {
  font-family: var(--sans);
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  letter-spacing: .12em;
  line-height: normal;
}

.editing-column > header .editing-status-badge b {
  min-width: 0;
  height: auto;
  border: 0;
  padding: 0;
  color: var(--classic-muted);
  background: transparent;
  font-family: var(--sans);
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
}

:root:not([data-theme="dark"]) .editing-column[data-editing-stage="internal_approval"] > header .editing-status-badge,
:root:not([data-theme="dark"]) .editing-column[data-editing-stage="internal_approval"] > header .editing-status-badge b {
  border-color: transparent;
  color: var(--ink);
  background: transparent;
}

.editing-column-cards {
  gap: 14px;
  padding: 0;
}

.editing-column-empty {
  padding: 6px 0;
  color: var(--classic-muted);
  font-family: var(--serif);
  font-size: 12.5px;
  font-style: italic;
  text-align: left;
}

.editing-card,
.editing-card:has(> .editing-card-real-status) {
  gap: 10px;
  border-color: var(--classic-line);
  padding: 14px 14px 16px;
  background: var(--surface-2);
}

:root[data-theme="dark"] .editing-card,
:root[data-theme="dark"] .editing-card:has(> .editing-card-real-status) {
  border-color: var(--nav-line);
}

.editing-card-main {
  gap: 4px;
}

.editing-card-main strong {
  color: var(--ink);
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.35;
}

.editing-card-main small {
  color: var(--classic-muted);
  font-size: 11.5px;
  font-weight: 400;
  line-height: 1.5;
}

.editing-card-main .editing-card-deadline {
  margin-top: 4px;
  color: var(--ink);
  font-weight: 500;
}

.editing-card-deadline[data-deadline-state="late"] {
  color: var(--classic-danger);
  font-weight: 600;
}

.editing-card-deadline[data-deadline-state="today"] {
  color: var(--classic-warn);
  font-weight: 600;
}

.editing-card-deadline-badge {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  padding: 4px 7px;
  color: #fff;
  background: var(--ink);
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.editing-card-deadline-badge[data-deadline-state="late"] {
  background: #b4402f;
}

.editing-card-deadline-badge[data-deadline-state="today"] {
  background: #a8752f;
}

.editing-card-menu summary {
  width: 28px;
  height: 28px;
  border-color: var(--classic-line);
  background: transparent;
}

.editing-integrity-action {
  width: 28px;
  height: 28px;
  border-color: color-mix(in srgb, #d97706 62%, var(--classic-line));
  background: transparent;
}

.editing-card-actions {
  gap: 8px;
}

.editing-card-actions .ghost-button,
.editing-card-actions .secondary-button,
.editing-card-actions .primary-button {
  padding: 8px 6px;
  font-size: 10px !important;
}

.editing-card-real-status {
  order: initial;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 0;
  color: var(--classic-danger);
  background: transparent;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .06em;
  line-height: 1.3;
  text-align: center;
  text-transform: uppercase;
}

.editing-card-real-status::before {
  content: none;
}

:root:not([data-theme="dark"]) :is(
  .editing-state-awaiting_reviewer,
  .editing-state-reviewer,
  .editing-state-reviewer_changes,
  .editing-state-awaiting_director,
  .editing-state-director,
  .editing-state-director_changes
) > .editing-card-real-status,
:root[data-theme="dark"] :is(
  .editing-state-awaiting_reviewer,
  .editing-state-reviewer,
  .editing-state-reviewer_changes,
  .editing-state-awaiting_director,
  .editing-state-director,
  .editing-state-director_changes
) > .editing-card-real-status {
  color: var(--classic-warn);
  background: transparent;
}

:root:not([data-theme="dark"]) .editing-state-client_changes > .editing-card-real-status,
:root[data-theme="dark"] .editing-state-client_changes > .editing-card-real-status {
  color: var(--classic-danger);
  background: transparent;
}

@media (max-width: 1180px) and (min-width: 761px) {
  .editing-tool-fields {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px 22px;
  }

  .editing-tool-fields > .editing-search-field {
    grid-column: span 2;
  }
}

@media (max-width: 760px) {
  .brand {
    margin-bottom: 0;
  }

  .session-footer-version,
  .session-avatar-name {
    display: none;
  }

  .view > .section-heading > div:first-child > .eyebrow + h1,
  .view > .section-heading > div:first-child > .eyebrow + h2,
  .view-header > div:first-child > .eyebrow + h1,
  .view-header > div:first-child > .eyebrow + h2 {
    font-size: 30px;
  }

  .editing-tools {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .editing-tools.production-workspace-tools {
    grid-template-columns: minmax(0, 1fr);
  }

  .editing-tool-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .editing-tool-fields.production-workspace-tool-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .editing-tool-fields.production-workspace-tool-fields > .editing-search-field {
    grid-column: 1 / -1;
  }

  .editing-tool-fields > .editing-search-field {
    grid-column: 1 / -1;
  }

  .editing-tool-actions {
    justify-self: end;
  }
}

@media (max-width: 520px) {
  .editing-tool-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .editing-tool-fields.production-workspace-tool-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .editing-tool-fields.production-workspace-tool-fields > .editing-search-field {
    grid-column: auto;
  }

  .editing-tool-fields > .editing-search-field {
    grid-column: auto;
  }

  .editing-kanban {
    grid-auto-columns: minmax(250px, 86vw);
    gap: 18px;
  }
}


/* Local user-experience validation */
.local-user-testing-banner {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1700;
  min-height: 56px;
  padding: 9px clamp(16px, 3vw, 34px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  border-bottom: 1px solid #f59e0b;
  color: #451a03;
  background: #fef3c7;
  box-shadow: 0 8px 24px rgb(69 26 3 / 14%);
}

.local-user-testing-banner[hidden] {
  display: none;
}

.local-user-testing-banner-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.local-user-testing-banner-copy strong {
  font-size: 14px;
  line-height: 1.2;
}

.local-user-testing-banner-copy span {
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
}

.local-user-testing-stop {
  flex: 0 0 auto;
  min-height: 36px;
  border: 1px solid #92400e;
  border-radius: var(--radius);
  padding: 8px 14px;
  color: #fff;
  background: #92400e;
  font-weight: 850;
}

body.local-user-testing-active .app-shell {
  padding-top: 56px;
}

body.local-user-testing-active .sidebar {
  top: 56px;
  min-height: calc(100vh - 56px);
}

.session-profile-impersonate {
  width: 100%;
  justify-content: center;
}

#localUserTestingModal {
  z-index: 1800;
}

.local-user-testing-modal-panel {
  width: min(680px, 100%);
}

.local-user-testing-form {
  display: grid;
  gap: 16px;
}

.local-user-testing-form > label {
  display: grid;
  gap: 7px;
}

.local-user-testing-warning,
.local-user-testing-person-summary {
  display: grid;
  gap: 5px;
  border: 1px solid #f59e0b;
  border-radius: var(--radius);
  padding: 14px;
  color: #78350f;
  background: #fffbeb;
}

.local-user-testing-warning span,
.local-user-testing-person-summary span,
.local-user-testing-person-summary small {
  color: inherit;
  font-size: 12px;
  line-height: 1.45;
}

.local-user-testing-person-summary {
  border-color: var(--border);
  color: var(--ink);
  background: var(--surface-2);
}

.local-user-testing-person-summary[hidden] {
  display: none;
}

@media (max-width: 1120px) {
  body.local-user-testing-active .app-shell {
    padding-top: 124px;
  }

  body.local-user-testing-active .sidebar {
    top: 56px;
    min-height: 68px;
  }
}

@media (max-width: 640px) {
  .local-user-testing-banner {
    min-height: 74px;
    padding: 8px 12px;
    align-items: stretch;
    gap: 9px;
  }

  .local-user-testing-banner-copy span {
    display: none;
  }

  .local-user-testing-stop {
    max-width: 150px;
    min-height: 42px;
    padding: 6px 9px;
    font-size: 11px;
  }

  body.local-user-testing-active .app-shell {
    padding-top: 142px;
  }

  body.local-user-testing-active .sidebar {
    top: 74px;
  }

  .local-user-testing-modal-panel .modal-header p {
    display: none;
  }
}
 
.settings-users-controls {
  grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(150px, .8fr));
}

.settings-users-feedback {
  display: block;
  margin: 0 0 12px;
}

.settings-users-table {
  min-width: 980px;
}

.settings-user-tag-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.settings-user-tag,
.settings-user-scope-badge {
  max-width: 100%;
  padding: 4px 8px;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--ink);
  background: var(--surface-3);
  font-size: 11px;
  font-weight: 850;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.settings-user-scope-badge {
  border-color: rgb(var(--accent-rgb) / 34%);
  background: rgb(var(--accent-rgb) / 12%);
}

.settings-user-scope-badge.is-global {
  color: var(--ink);
  background: rgb(var(--accent-rgb) / 22%);
}

.settings-user-scope-badge.is-unavailable {
  border-color: var(--border);
  color: var(--ink-muted);
  background: var(--surface-3);
}

.settings-user-access-modal-panel {
  width: min(760px, 100%);
}

.settings-user-access-form {
  display: grid;
  gap: 18px;
}

.settings-user-access-summary {
  padding: 14px;
  display: grid;
  gap: 4px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--ink);
  background: var(--surface-2);
}

.settings-user-access-summary strong {
  font-size: 16px;
  font-weight: 900;
}

.settings-user-access-summary span,
.settings-user-access-summary small,
.settings-user-function-summary > strong,
.settings-user-organizations-panel > div:first-child > strong {
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 800;
}

.settings-user-function-summary {
  display: grid;
  gap: 8px;
}

.settings-user-scope-fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.settings-user-scope-fieldset legend {
  margin-bottom: 8px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}

.settings-user-scope-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.settings-user-scope-choice {
  min-width: 0;
  padding: 14px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius);
  background: var(--surface-2);
  cursor: pointer;
}

.settings-user-scope-choice:has(input:checked) {
  border-color: var(--accent-strong);
  background: var(--accent-soft);
}

.settings-user-scope-choice:has(input:disabled) {
  cursor: default;
}

.settings-user-scope-choice input,
.settings-user-organization-option input {
  width: 17px;
  height: 17px;
  margin: 1px 0 0;
  flex: 0 0 17px;
  accent-color: var(--accent-strong);
}

.settings-user-scope-choice > span,
.settings-user-organization-option > span {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.settings-user-scope-choice strong,
.settings-user-organization-option strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}

.settings-user-scope-choice small,
.settings-user-organization-option small {
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
}

.settings-user-organizations-panel {
  padding: 14px;
  display: grid;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.settings-user-organizations-panel[hidden] {
  display: none;
}

.settings-user-organizations-panel > div:first-child p {
  margin: 3px 0 0;
  color: var(--ink-muted);
  font-size: 12px;
}

.settings-user-organizations-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.settings-user-organizations-grid > .empty-state {
  grid-column: 1 / -1;
}

.settings-user-organization-option {
  min-width: 0;
  padding: 11px;
  display: flex;
  align-items: flex-start;
  gap: 9px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
}

.settings-user-organization-option:has(input:checked) {
  border-color: var(--accent-strong);
  background: var(--accent-soft);
}

.settings-user-access-note {
  margin: 0;
  padding: 10px 12px;
  border-left: 3px solid var(--accent-strong);
  color: var(--ink-muted);
  background: var(--surface-3);
  font-size: 12px;
  line-height: 1.5;
}

@media (max-width: 980px) {
  .settings-users-controls {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .settings-users-table {
    min-width: 0;
  }
}

@media (max-width: 620px) {
  .settings-users-controls,
  .settings-user-scope-options,
  .settings-user-organizations-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 1120px) {
  .sidebar .brand-region {
    align-items: center;
  }

  .sidebar .local-environment-badge,
  .sidebar .managed-business-view-slot {
    align-self: center;
  }

  .sidebar-footer {
    margin: 0 0 0 12px;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 0;
    background: transparent;
  }

  .session-footer-version {
    margin: 0;
    display: block;
    flex: 0 0 auto;
    line-height: 1;
  }

  .session-avatar-button {
    width: auto;
    flex: 0 0 auto;
    align-self: center;
  }
}

@media (max-width: 760px) {
  .sidebar-footer {
    margin-left: 8px;
    gap: 6px;
  }

  .session-footer-version {
    display: none;
  }
}

@container commercial-projects (min-width: 1100.01px) {
  .commercial-projects-table th:nth-child(2),
  .commercial-projects-table td:nth-child(2),
  .commercial-projects-table th:nth-child(3),
  .commercial-projects-table td:nth-child(3),
  .commercial-projects-table th:nth-child(5),
  .commercial-projects-table td:nth-child(5),
  .commercial-projects-table th:nth-child(6),
  .commercial-projects-table td:nth-child(6) {
    text-align: center;
  }
}

@container operational-projects (min-width: 1100.01px) {
  .operational-projects-table th:nth-child(2),
  .operational-projects-table td:nth-child(2),
  .operational-projects-table th:nth-child(3),
  .operational-projects-table td:nth-child(3),
  .operational-projects-table th:nth-child(4),
  .operational-projects-table td:nth-child(4),
  .operational-projects-table th:nth-child(5),
  .operational-projects-table td:nth-child(5),
  .operational-projects-table th:nth-child(6),
  .operational-projects-table td:nth-child(6),
  .operational-projects-table th:nth-child(8),
  .operational-projects-table td:nth-child(8),
  .operational-projects-table th:nth-child(9),
  .operational-projects-table td:nth-child(9) {
    text-align: center;
  }
}

.operational-projects-table-wrap {
  container: operational-projects / inline-size;
}

@container operational-projects (max-width: 1100px) {
  .operational-projects-table-wrap {
    overflow: visible;
  }

  .operational-projects-table-wrap .operational-projects-table {
    min-width: 0;
    display: block;
    border-collapse: separate;
    table-layout: auto;
  }

  .operational-projects-table-wrap .operational-projects-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .operational-projects-table-wrap .operational-projects-table tbody {
    display: grid;
    gap: 12px;
  }

  .operational-projects-table-wrap .operational-projects-table tbody > tr:not(.empty-row) {
    display: grid;
    grid-template-columns:
      minmax(110px, .75fr)
      minmax(105px, .7fr)
      minmax(150px, 1.2fr)
      minmax(170px, 1.2fr);
    grid-template-areas:
      "project project project actions"
      "type origin status stage"
      "date location location director";
    align-items: start;
    gap: 10px 16px;
    border: 1px solid var(--border);
    border-radius: 0;
    padding: 12px 14px;
    background: var(--surface-2);
  }

  .operational-projects-table-wrap .operational-projects-table tbody > tr:not(.empty-row) > td {
    min-width: 0;
    min-height: 0;
    height: auto;
    display: grid;
    align-content: start;
    gap: 3px;
    border: 0;
    padding: 0;
    overflow-wrap: anywhere;
    white-space: normal;
    text-align: left;
  }

  .operational-projects-table-wrap .operational-projects-table tbody > tr:not(.empty-row) > td::before {
    color: var(--ink-muted);
    content: attr(data-label);
    font-size: 10px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .03em;
    text-transform: uppercase;
  }

  .operational-projects-table-wrap .operational-projects-table tbody > tr:not(.empty-row) > td:nth-child(1) {
    grid-area: project;
    align-self: center;
  }

  .operational-projects-table-wrap .operational-projects-table tbody > tr:not(.empty-row) > td:nth-child(1)::before {
    display: none;
  }

  .operational-projects-table-wrap .operational-projects-table tbody > tr:not(.empty-row) > td:nth-child(2) {
    grid-area: type;
  }

  .operational-projects-table-wrap .operational-projects-table tbody > tr:not(.empty-row) > td:nth-child(3) {
    grid-area: origin;
  }

  .operational-projects-table-wrap .operational-projects-table tbody > tr:not(.empty-row) > td:nth-child(4) {
    grid-area: status;
  }

  .operational-projects-table-wrap .operational-projects-table tbody > tr:not(.empty-row) > td:nth-child(5) {
    grid-area: stage;
  }

  .operational-projects-table-wrap .operational-projects-table tbody > tr:not(.empty-row) > td:nth-child(6) {
    grid-area: date;
  }

  .operational-projects-table-wrap .operational-projects-table tbody > tr:not(.empty-row) > td:nth-child(7) {
    grid-area: location;
  }

  .operational-projects-table-wrap .operational-projects-table tbody > tr:not(.empty-row) > td:nth-child(8) {
    grid-area: director;
  }

  .operational-projects-table-wrap .operational-projects-table tbody > tr:not(.empty-row) > td.options-cell {
    grid-area: actions;
    width: auto;
    display: flex;
    align-self: center;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 6px;
    text-align: left;
  }

  .operational-projects-table-wrap .operational-projects-table tbody > tr:not(.empty-row) > td.options-cell::before {
    display: none;
  }

  .operational-projects-table-wrap .operational-projects-table .options-cell .icon-only-button {
    width: 44px;
    height: 44px;
    margin-left: 0;
  }

  .operational-projects-table-wrap .operational-projects-table tbody > tr:not(.empty-row) > td:nth-child(4) .badge {
    width: auto;
    min-width: 0;
    justify-self: start;
  }

  .operational-projects-table-wrap .operational-projects-table .project-location-cell,
  .operational-projects-table-wrap .operational-projects-table .project-director-cell {
    width: auto;
    max-width: none;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  .operational-projects-table-wrap .operational-projects-table .operational-project-title-link,
  .operational-projects-table-wrap .operational-projects-table select {
    max-width: 100%;
  }

  .operational-projects-table-wrap .operational-projects-table tbody > tr.empty-row {
    display: block;
  }

  .operational-projects-table-wrap .operational-projects-table tbody > tr.empty-row > td {
    display: block;
    border: 0;
    padding: 16px;
  }
}

@container operational-projects (max-width: 720px) {
  .operational-projects-table-wrap .operational-projects-table tbody > tr:not(.empty-row) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "project actions"
      "type origin"
      "status stage"
      "date location"
      "director director";
  }
}

@container operational-projects (min-width: 1100.01px) {
  .marketing-projects-table th:nth-child(7),
  .marketing-projects-table td:nth-child(7) {
    text-align: center;
  }
}

@container operational-projects (max-width: 1100px) {
  .operational-projects-table-wrap .operational-projects-table.marketing-projects-table tbody > tr:not(.empty-row) {
    grid-template-areas:
      "project project project actions"
      "type stage date recordings"
      "director director director director";
  }

  .operational-projects-table-wrap .operational-projects-table.marketing-projects-table tbody > tr:not(.empty-row) > td:nth-child(3) {
    grid-area: stage;
  }

  .operational-projects-table-wrap .operational-projects-table.marketing-projects-table tbody > tr:not(.empty-row) > td:nth-child(4) {
    grid-area: date;
  }

  .operational-projects-table-wrap .operational-projects-table.marketing-projects-table tbody > tr:not(.empty-row) > td:nth-child(5) {
    grid-area: recordings;
  }

  .operational-projects-table-wrap .operational-projects-table.marketing-projects-table tbody > tr:not(.empty-row) > td:nth-child(6) {
    grid-area: director;
  }
}

@container operational-projects (max-width: 720px) {
  .operational-projects-table-wrap .operational-projects-table.marketing-projects-table tbody > tr:not(.empty-row) {
    grid-template-areas:
      "project actions"
      "type stage"
      "date recordings"
      "director director";
  }
}

/* Importar e exportar: composição editorial compacta. */
.import-export-tabs.authorization-tabs {
  max-width: 100%;
  margin: 0 0 18px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  border-color: var(--classic-line);
  scrollbar-width: thin;
}

.import-export-tabs .authorization-tab {
  flex: 0 0 auto;
  font: 600 11px var(--sans);
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.import-export-tab-count {
  min-width: 20px;
  min-height: 20px;
  margin-left: 5px;
  padding: 1px 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgb(var(--accent-rgb) / 35%);
  border-radius: 0;
  color: var(--ink);
  background: rgb(var(--accent-rgb) / 12%);
  font-size: 10px;
  line-height: 1;
}

.import-export-tab-panel {
  min-width: 0;
  display: grid;
  gap: 18px;
}

.import-export-tab-panel[data-import-export-active="false"] {
  display: none !important;
}

.import-export-tab-panel > .panel,
.import-export-tab-panel .import-export-report-panel {
  margin: 0;
}

#importExportProfilesPanel .configuration-profile-card,
#importExportProfilesPanel .configuration-profile-counts span {
  border-color: var(--classic-line);
  background: var(--surface-3);
}

#importExportProfilesPanel .configuration-profile-card {
  border-radius: 0;
}

.spreadsheet-import-steps {
  margin: 0 0 14px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  list-style: none;
}

.spreadsheet-import-steps li {
  min-width: 0;
  min-height: 36px;
  padding: 6px 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--classic-line);
  border-radius: 0;
  color: var(--classic-muted);
  background: var(--surface-3);
  font: 600 11px var(--sans);
  letter-spacing: .05em;
  text-transform: uppercase;
}

.spreadsheet-import-steps li > span {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  flex: 0 0 22px;
  border: 1px solid var(--classic-line-strong);
  border-radius: 0;
  background: var(--surface-2);
  font-size: 10px;
}

.spreadsheet-import-steps li:is(.completed, [aria-current="step"]) {
  border-color: rgb(var(--accent-rgb) / 48%);
  color: var(--ink);
  background: rgb(var(--accent-rgb) / 9%);
}

.spreadsheet-import-steps li:is(.completed, [aria-current="step"]) > span {
  border-color: var(--accent);
  color: var(--accent-contrast);
  background: var(--accent);
}

.import-export-history {
  min-width: 0;
  border: 1px solid var(--classic-line);
  border-radius: 0;
  overflow: hidden;
  background: var(--surface-2);
}

.import-export-history > summary {
  min-height: 48px;
  padding: 11px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
  font: 600 11px var(--sans);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.import-export-history > summary::-webkit-details-marker,
.system-snapshot-restore-disclosure > summary::-webkit-details-marker,
.administrative-update-item > summary::-webkit-details-marker {
  display: none;
}

.import-export-history > summary,
.system-snapshot-restore-disclosure > summary,
.administrative-update-item > summary {
  position: relative;
  padding-right: 38px;
}

.import-export-history > summary::after,
.system-snapshot-restore-disclosure > summary::after,
.administrative-update-item > summary::after {
  position: absolute;
  top: 50%;
  right: 16px;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  content: "";
  opacity: .7;
  transform: translateY(-65%) rotate(45deg);
  transition: transform .16s ease;
}

.import-export-history[open] > summary::after,
.system-snapshot-restore-disclosure[open] > summary::after,
.administrative-update-item[open] > summary::after {
  transform: translateY(-35%) rotate(225deg);
}

.import-export-history > summary > span:last-child {
  min-width: 24px;
  min-height: 24px;
  padding: 2px 7px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgb(var(--accent-rgb) / 30%);
  border-radius: 0;
  background: rgb(var(--accent-rgb) / 10%);
  font-size: 11px;
}

.import-export-history[open] > summary {
  border-bottom: 1px solid var(--classic-line);
}

.import-export-compact-list {
  display: grid;
}

.import-export-compact-row {
  min-height: 54px;
  padding: 9px 14px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.import-export-compact-row + .import-export-compact-row {
  border-top: 1px solid var(--classic-line);
}

.import-export-compact-row > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.import-export-compact-row small {
  overflow: hidden;
  color: var(--classic-muted);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.import-export-compact-status {
  min-height: 54px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgb(var(--accent-rgb) / 34%);
  border-radius: 0;
  color: var(--classic-muted);
  background: rgb(var(--accent-rgb) / 8%);
  font: 600 11px var(--sans);
  letter-spacing: .04em;
  text-transform: uppercase;
}

.administrative-update-workspace {
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  align-items: start;
}

.administrative-update-workspace.has-detail {
  grid-template-columns: minmax(250px, .78fr) minmax(0, 1.22fr);
}

.administrative-update-workspace > .administrative-update-batches {
  max-height: min(62vh, 680px);
  overflow: auto;
  align-content: start;
}

.administrative-update-workspace > .administrative-update-detail {
  min-width: 0;
  max-height: min(72vh, 760px);
  padding: 14px;
  border: 1px solid var(--classic-line);
  border-radius: 0;
  overflow: auto;
  background: var(--surface-3);
}

.administrative-update-detail-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
  justify-content: stretch;
}

.administrative-update-detail-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.administrative-update-detail-title {
  padding-right: 4px;
  font-size: 16px;
  line-height: 1.25;
}

.administrative-update-detail-description {
  max-width: 72ch;
  margin: 0;
  color: var(--classic-muted);
  font-size: 12px;
  line-height: 1.45;
}

.administrative-update-detail-meta {
  color: var(--classic-muted);
  font: 600 10px var(--sans);
  letter-spacing: .06em;
  text-transform: uppercase;
}

.administrative-update-close {
  width: 30px;
  height: 30px;
}

.administrative-update-actions {
  padding: 11px 12px;
  display: grid;
  gap: 9px;
  align-items: stretch;
  justify-content: stretch;
  border: 1px solid var(--classic-line);
  border-radius: 0;
  background: var(--surface-2);
}

.administrative-update-action-buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.administrative-update-guidance {
  padding-top: 8px;
  display: grid;
  gap: 3px;
  border-top: 1px solid var(--classic-line);
  color: var(--classic-muted);
  font: 600 11px/1.45 var(--sans);
}

.administrative-update-guidance span {
  display: block;
}

.administrative-update-group,
.administrative-update-batch-list,
.administrative-update-batch-main {
  min-width: 0;
  display: grid;
  gap: 8px;
}

.administrative-update-group-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--classic-muted);
  font: 600 11px var(--sans);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.administrative-update-group-heading > span {
  min-width: 24px;
  min-height: 24px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--classic-line);
  border-radius: 0;
  background: var(--surface-2);
}

.administrative-update-batch {
  min-height: 64px;
  padding: 9px 10px;
  border-color: var(--classic-line);
  border-radius: 0;
  background: var(--surface-2);
}

.administrative-update-batch.selected {
  border-color: rgb(var(--accent-rgb) / 58%);
  background: rgb(var(--accent-rgb) / 7%);
}

.administrative-update-batch-main > span {
  overflow: hidden;
  color: var(--classic-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.administrative-update-batch-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.administrative-update-batch-actions .administrative-update-status {
  margin-top: 0;
}

.administrative-update-history .administrative-update-batch-list {
  gap: 0;
}

.administrative-update-history .administrative-update-batch {
  border: 0;
  border-radius: 0;
}

.administrative-update-history .administrative-update-batch + .administrative-update-batch {
  border-top: 1px solid var(--classic-line);
}

.administrative-update-status.status-conflict,
.administrative-update-status.status-expired,
.administrative-update-status.status-rejected {
  color: var(--classic-warn) !important;
  background: color-mix(in srgb, var(--classic-warn) 12%, transparent);
}

.administrative-update-item {
  padding: 0;
  overflow: hidden;
  border-color: var(--classic-line);
  border-radius: 0;
  background: var(--surface-2);
}

.administrative-update-item-summary {
  min-height: 56px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  list-style: none;
}

.administrative-update-item-summary > div {
  min-width: 0;
}

.administrative-update-item[open] > .administrative-update-item-summary {
  border-bottom: 1px solid var(--classic-line);
}

.administrative-update-item-body {
  padding: 12px;
}

.administrative-update-item-body > :first-child {
  margin-top: 0;
}

.administrative-update-item-actions {
  margin-top: 12px;
  justify-content: flex-end;
}

.administrative-update-change > span:not([aria-hidden="true"]) {
  min-width: 0;
  display: grid;
  gap: 2px;
  overflow-wrap: anywhere;
}

.administrative-update-change small {
  color: var(--classic-muted);
  font: 600 10px var(--sans);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.system-snapshot-restore-disclosure {
  border: 1px solid color-mix(in srgb, var(--classic-warn) 48%, var(--classic-line));
  border-radius: 0;
  overflow: hidden;
  background: color-mix(in srgb, var(--classic-warn) 6%, var(--surface-2));
}

.system-snapshot-restore-disclosure > summary {
  min-height: 54px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  list-style: none;
}

.system-snapshot-restore-disclosure > summary > span:first-child {
  display: grid;
  gap: 3px;
}

.system-snapshot-restore-disclosure > summary small {
  color: var(--classic-muted);
  font-size: 12px;
  font-weight: 600;
}

.system-snapshot-restore-disclosure[open] > summary {
  border-bottom: 1px solid color-mix(in srgb, var(--classic-warn) 30%, var(--classic-line));
}

.system-snapshot-restore-body {
  padding: 14px;
  display: grid;
  gap: 12px;
  background: var(--surface-2);
}

.import-export-table-wrap {
  max-height: min(62vh, 680px);
  overflow: auto;
}

.import-export-table thead th {
  position: sticky;
  z-index: 1;
  top: 0;
  background: var(--surface-2);
}

@media (max-width: 1120px) {
  .administrative-update-workspace.has-detail {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .import-export-tabs.authorization-tabs {
    scroll-snap-type: inline proximity;
  }

  .import-export-tabs .authorization-tab {
    min-height: 44px;
    scroll-snap-align: start;
  }

  .administrative-update-workspace.has-detail > .administrative-update-batches {
    display: none;
  }

  .administrative-update-item-summary,
  .system-snapshot-restore-disclosure > summary {
    align-items: stretch;
    flex-direction: column;
  }

  .administrative-update-item-summary .administrative-update-status,
  .system-snapshot-restore-disclosure > summary .badge {
    width: fit-content;
  }

  .import-export-table {
    min-width: 0;
    display: block;
  }

  .import-export-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }

  .import-export-table tbody,
  .import-export-table tbody > tr:not(.empty-row) {
    display: grid;
    gap: 0;
  }

  .import-export-table tbody > tr:not(.empty-row) {
    margin-bottom: 10px;
    border: 1px solid var(--classic-line);
    border-radius: 0;
    overflow: hidden;
    background: var(--surface-2);
  }

  .import-export-table tbody > tr:not(.empty-row) > td {
    min-width: 0;
    padding: 9px 11px;
    display: grid;
    grid-template-columns: minmax(108px, .7fr) minmax(0, 1fr);
    gap: 10px;
    border: 0;
    border-bottom: 1px solid var(--classic-line);
    overflow-wrap: anywhere;
  }

  .import-export-table tbody > tr:not(.empty-row) > td:last-child {
    min-width: 0;
    border-bottom: 0;
  }

  .import-export-table tbody > tr:not(.empty-row) > td::before {
    color: var(--classic-muted);
    content: attr(data-label);
    font: 600 10px var(--sans);
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .import-export-table tbody > tr.empty-row,
  .import-export-table tbody > tr.empty-row > td {
    width: 100%;
    display: block;
    box-sizing: border-box;
  }
}

@media (max-width: 560px) {
  .spreadsheet-import-steps {
    grid-template-columns: 1fr;
  }

  .import-export-compact-row,
  .administrative-update-batch {
    grid-template-columns: 1fr;
  }

  .import-export-compact-row small,
  .administrative-update-batch-main > span {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  .administrative-update-batch-actions {
    justify-content: space-between;
  }

  .administrative-update-action-buttons {
    display: grid;
    grid-template-columns: 1fr;
  }

  .administrative-update-action-buttons > button {
    width: 100%;
  }
}

/* Authorization matrix workflow */
.authorization-function-context {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(240px, 1.2fr);
  gap: 10px;
}

.authorization-function-context[hidden] {
  display: none;
}

.authorization-function-context[hidden] + .authorization-display-control {
  grid-column: 1 / -1;
}

.authorization-toolbar-field input,
.authorization-toolbar-field select {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius);
  color: var(--ink);
  background: var(--field-bg);
  font: inherit;
  font-size: 13px;
  font-weight: 750;
}

.authorization-toolbar-field select {
  padding-right: 44px;
  cursor: pointer;
}

.authorization-function-context .authorization-toolbar-field:last-child select {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgb(var(--accent-rgb) / 14%);
}

.authorization-display-switch {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.authorization-display-switch button {
  padding-inline: 8px;
}

.authorization-area-row.changed > td:first-child {
  box-shadow: inset 3px 0 0 var(--accent);
}

#authorizationFunctionsPanel .authorization-area-group-row > td:first-child {
  position: static;
  z-index: auto;
  width: auto;
  min-width: 0;
  height: auto;
  padding: 0;
  background: var(--surface-3);
}

.authorization-area-group-toggle {
  width: 100%;
  min-height: 52px;
  padding: 9px 14px;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  border: 0;
  color: var(--ink);
  background: transparent;
  text-align: left;
}

.authorization-area-group-toggle:hover,
.authorization-area-group-toggle:focus-visible {
  background: rgb(var(--accent-rgb) / 8%);
}

.authorization-area-group-toggle .authorization-disclosure-mark {
  color: var(--ink-muted);
  font-size: 24px;
  line-height: 1;
}

.authorization-area-group-toggle[aria-expanded="true"] .authorization-disclosure-mark {
  transform: rotate(90deg);
}

.authorization-area-group-title {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px;
}

.authorization-area-group-title strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}

.authorization-area-group-title small {
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 750;
}

.authorization-area-group-counts {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.authorization-area-group-counts > span {
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
}

.authorization-area-group-change-count {
  color: var(--accent-text);
  background: rgb(var(--accent-rgb) / 13%);
}

.authorization-area-group-reference-count {
  color: var(--ink-muted);
  background: color-mix(in srgb, var(--surface-2) 84%, var(--accent));
}

#authorizationFunctionsPanel .authorization-area-group-child > td:first-child {
  padding-left: 30px;
}

.authorization-area-group-child .authorization-area-button {
  width: 100%;
}

.authorization-area-button > span:last-child {
  min-width: 0;
}

.authorization-na {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 30px;
  padding: 4px 9px;
  border: 1px dashed var(--border-strong);
  border-radius: 999px;
  color: var(--ink-muted);
  background: var(--surface-3);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .04em;
}

.authorization-comparison {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-3);
}

.authorization-comparison-controls {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto;
  gap: 10px;
  align-items: end;
}

.authorization-comparison-controls .ghost-button {
  min-height: 42px;
}

.authorization-comparison-summary {
  margin-top: 10px;
  color: var(--ink-muted);
  font-size: 12px;
  line-height: 1.45;
}

.authorization-comparison-summary p {
  margin: 0;
}

.authorization-comparison-summary ul {
  margin: 9px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  list-style: none;
}

.authorization-comparison-summary li {
  min-width: 0;
  padding: 8px 10px;
  display: grid;
  gap: 3px;
  border: 1px solid rgb(var(--accent-rgb) / 28%);
  border-radius: calc(var(--radius) - 3px);
  background: rgb(var(--accent-rgb) / 8%);
}

.authorization-comparison-summary li strong {
  color: var(--ink);
  font-size: 11px;
}

.authorization-comparison-summary li span {
  overflow-wrap: anywhere;
  font-size: 10px;
}

.authorization-area-row.reference-different > td {
  background: color-mix(in srgb, var(--surface-2) 91%, var(--accent));
}

.authorization-draft-bar {
  position: sticky;
  bottom: 10px;
  z-index: 3;
  margin-top: 18px;
  padding: 14px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--surface) 94%, transparent);
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(10px);
}

.authorization-draft-bar.dirty {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgb(var(--accent-rgb) / 12%), var(--shadow-soft);
}

.authorization-draft-copy {
  min-width: 0;
}

.authorization-draft-copy > strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}

.authorization-draft-copy p {
  margin: 4px 0 0;
  color: var(--ink-muted);
  font-size: 12px;
}

.authorization-draft-copy ul {
  max-height: 126px;
  margin: 9px 0 0;
  padding: 0;
  display: grid;
  gap: 5px;
  overflow: auto;
  list-style: none;
}

.authorization-draft-copy li {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  color: var(--ink-muted);
  font-size: 11px;
}

.authorization-draft-copy li strong {
  color: var(--ink);
}

.authorization-draft-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.authorization-area-explanation {
  margin-top: 14px;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-3);
  overflow: hidden;
}

.authorization-explanation-disclosure > summary,
.authorization-nested-disclosure > summary,
.authorization-technical-disclosure > summary {
  cursor: pointer;
}

.authorization-explanation-disclosure > summary {
  position: relative;
  min-height: 62px;
  padding: 11px 38px 11px 14px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  color: var(--ink);
  list-style: none;
}

.authorization-explanation-disclosure > summary::-webkit-details-marker {
  display: none;
}

.authorization-explanation-disclosure > summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-70%) rotate(45deg);
  transition: transform 160ms ease;
}

.authorization-explanation-disclosure[open] > summary::after {
  transform: translateY(-30%) rotate(225deg);
}

.authorization-explanation-disclosure > summary:hover,
.authorization-explanation-disclosure > summary:focus-visible {
  background: rgb(var(--accent-rgb) / 7%);
}

.authorization-explanation-disclosure[open] > summary {
  border-bottom: 1px solid var(--border);
}

.authorization-explanation-disclosure > summary > span:first-child {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.authorization-explanation-disclosure > summary strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}

.authorization-explanation-disclosure > summary small {
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 700;
}

.authorization-explanation-body {
  padding: 16px;
}

.authorization-access-summary {
  margin-top: 14px;
  padding: 12px 14px;
  display: grid;
  gap: 4px;
  border-left: 3px solid var(--accent);
  border-radius: calc(var(--radius) - 3px);
  background: rgb(var(--accent-rgb) / 8%);
}

.authorization-access-summary strong {
  color: var(--ink);
  font-size: 13px;
}

.authorization-access-summary span {
  color: var(--ink-muted);
  font-size: 11px;
  line-height: 1.45;
}

.authorization-action-section {
  margin-top: 16px;
}

.authorization-action-section > h4 {
  margin: 0 0 9px;
  color: var(--ink);
  font-size: 13px;
}

.authorization-action-access-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.authorization-action-access-list > article.is-granted {
  border-color: color-mix(in srgb, var(--success, #26866a) 35%, var(--border));
}

.authorization-action-access-list > article.is-contextual {
  border-color: color-mix(in srgb, var(--warning, #d59b24) 38%, var(--border));
}

.authorization-action-access-list > article.is-denied {
  opacity: .84;
}

.authorization-action-status {
  flex: 0 0 auto;
  padding: 3px 7px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}

.authorization-action-status.is-granted {
  color: var(--success, #26866a);
  background: color-mix(in srgb, var(--success, #26866a) 13%, transparent);
}

.authorization-action-status.is-contextual {
  color: var(--warning-strong, #986a0f);
  background: color-mix(in srgb, var(--warning, #d59b24) 14%, transparent);
}

.authorization-action-status.is-denied {
  color: var(--danger, #b44343);
  background: color-mix(in srgb, var(--danger, #b44343) 11%, transparent);
}

.authorization-area-nested-details {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.authorization-nested-disclosure {
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: calc(var(--radius) - 2px);
  background: var(--surface);
  overflow: hidden;
}

.authorization-nested-disclosure > summary {
  min-height: 42px;
  padding: 9px 11px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
}

.authorization-nested-disclosure > summary span {
  margin-left: 4px;
  color: var(--ink-muted);
  font-size: 10px;
}

.authorization-nested-disclosure[open] > summary {
  border-bottom: 1px solid var(--border);
}

.authorization-nested-disclosure > div {
  padding: 10px;
}

.authorization-technical-disclosure {
  margin-top: 8px;
  border-top: 1px solid var(--border);
}

.authorization-technical-disclosure > summary {
  padding-top: 7px;
  color: var(--accent-text);
  font-size: 10px;
  font-weight: 850;
}

.authorization-technical-disclosure > div {
  padding-top: 8px;
}

.authorization-technical-disclosure code {
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
  color: var(--ink-muted);
  font-size: 10px;
}

.authorization-area-detail-grid {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.authorization-area-detail-grid > section,
.authorization-diagnostic-grid > section {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
}

.authorization-area-detail-grid h4,
.authorization-diagnostic-grid h3 {
  margin: 0 0 10px;
  color: var(--ink);
  font-size: 13px;
}

.authorization-context-detail {
  grid-column: 1 / -1;
}

.authorization-detail-list {
  display: grid;
  gap: 7px;
}

.authorization-detail-list > article,
.authorization-diagnostic-areas > article {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: calc(var(--radius) - 3px);
  background: var(--surface-3);
}

.authorization-detail-list article > div:first-child {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 5px 10px;
}

.authorization-detail-list strong,
.authorization-diagnostic-areas strong {
  color: var(--ink);
  font-size: 12px;
}

.authorization-detail-list code,
.authorization-diagnostic-grid code {
  max-width: 100%;
  overflow-wrap: anywhere;
  color: var(--ink-muted);
  font-size: 10px;
}

.authorization-detail-list p,
.authorization-detail-empty,
.authorization-detail-loading,
.authorization-diagnostic-grid p,
.authorization-diagnostic-areas small {
  margin: 5px 0 0;
  color: var(--ink-muted);
  font-size: 11px;
  line-height: 1.45;
}

.authorization-detail-meta {
  margin-top: 7px;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.authorization-detail-meta span {
  padding: 3px 7px;
  border-radius: 999px;
  color: var(--accent-text);
  background: rgb(var(--accent-rgb) / 11%);
  font-size: 10px;
  font-weight: 850;
}

.authorization-context-roles.readonly {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.authorization-context-roles.readonly .authorization-context-card {
  box-shadow: none;
}

.authorization-context-card > p {
  margin: 8px 0 0;
  color: var(--ink-muted);
  font-size: 11px;
}

.authorization-diagnostic-toolbar {
  margin-top: 18px;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto minmax(240px, 1fr);
  gap: 10px;
  align-items: end;
}

.authorization-diagnostic-toolbar .ghost-button {
  min-height: 42px;
}

.authorization-diagnostic-result {
  margin-top: 16px;
}

.authorization-diagnostic-flow {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) auto minmax(120px, 1fr) auto minmax(120px, 1fr) auto minmax(120px, 1fr);
  gap: 8px;
  align-items: center;
}

.authorization-diagnostic-flow > section {
  min-height: 92px;
  padding: 11px;
  display: grid;
  align-content: center;
  gap: 3px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-3);
}

.authorization-diagnostic-flow section > span {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--accent-contrast);
  background: var(--accent);
  font-size: 10px;
  font-weight: 900;
}

.authorization-diagnostic-flow strong {
  color: var(--ink);
  font-size: 12px;
}

.authorization-diagnostic-flow small {
  color: var(--ink-muted);
  font-size: 10px;
}

.authorization-diagnostic-flow > i {
  color: var(--ink-muted);
  font-style: normal;
  font-weight: 900;
}

.authorization-diagnostic-grid {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.authorization-diagnostic-wide {
  grid-column: 1 / -1;
}

.authorization-diagnostic-areas {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.authorization-diagnostic-areas header > div {
  display: grid;
  gap: 4px;
}

.authorization-diagnostic-areas details {
  margin-top: 9px;
}

.authorization-diagnostic-areas summary {
  color: var(--accent-text);
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}

.authorization-diagnostic-areas details .authorization-detail-list {
  margin-top: 8px;
}

.authorization-field-toolbar {
  gap: 10px;
}

@media (max-width: 980px) {
  .authorization-toolbar,
  .authorization-diagnostic-toolbar {
    grid-template-columns: 1fr;
  }

  .authorization-function-context,
  .authorization-function-context[hidden] + .authorization-display-control,
  .authorization-diagnostic-user-field {
    grid-column: 1;
  }

  .authorization-diagnostic-flow {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .authorization-diagnostic-flow > i {
    display: none;
  }
}

@media (max-width: 720px) {
  .authorization-function-context,
  .authorization-display-switch,
  .authorization-comparison-summary ul,
  .authorization-action-access-list,
  .authorization-area-nested-details,
  .authorization-area-detail-grid,
  .authorization-context-roles.readonly,
  .authorization-diagnostic-grid,
  .authorization-diagnostic-areas,
  .authorization-diagnostic-flow {
    grid-template-columns: 1fr;
  }

  .authorization-comparison-controls {
    grid-template-columns: 1fr;
  }

  .authorization-comparison-controls .ghost-button {
    width: 100%;
  }

  .authorization-explanation-disclosure > summary {
    grid-template-columns: 1fr;
  }

  .authorization-effective-badge {
    width: fit-content;
    white-space: normal;
  }

  .authorization-context-detail,
  .authorization-diagnostic-wide {
    grid-column: auto;
  }

  .authorization-draft-bar {
    position: static;
    grid-template-columns: 1fr;
  }

  .authorization-draft-buttons > button {
    flex: 1 1 140px;
  }

  .authorization-field-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .authorization-field-form {
    min-width: 0;
  }
}

.glossary-heading-main {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas: "eyebrow tabs" "title tabs";
  column-gap: clamp(1.4rem, 4vw, 4rem);
  align-items: end;
}

.glossary-heading-main .eyebrow { grid-area: eyebrow; }
.glossary-heading-main h2 { grid-area: title; }
.glossary-introduction {
  margin: -.4rem 0 1rem;
  color: var(--ink-muted);
  font-size: .88rem;
}

.glossary-panel { overflow: hidden; }
.glossary-tools {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(250px, 340px);
  gap: .8rem;
  align-items: end;
  border-bottom: 1px solid var(--border);
  padding: 1rem;
}
.glossary-search-field,
.glossary-sort-field {
  min-width: 0;
  display: grid;
  gap: .42rem;
  color: var(--ink-muted);
  font-size: .76rem;
  font-weight: 800;
}
.glossary-search-control { position: relative; display: block; }
.glossary-search-control input,
.glossary-sort-field select { box-sizing: border-box; width: 100%; height: 42px; }
.glossary-search-control input { padding-right: 2.5rem; }
.glossary-search-control input::-webkit-search-cancel-button { appearance: none; }
.glossary-clear-search {
  position: absolute;
  top: 50%;
  right: .35rem;
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 0;
  border-radius: 0;
  padding: 0;
  color: var(--ink-muted);
  background: transparent;
  cursor: pointer;
  transform: translateY(-50%);
}
.glossary-clear-search:hover { color: var(--ink); background: var(--surface-3); }
.glossary-clear-search svg,
.glossary-sort-direction svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.glossary-sort-tools { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) 42px; gap: .5rem; align-items: end; }
.glossary-sort-direction { width: 42px; height: 42px; padding: 0; }
.glossary-sort-direction svg { transition: transform 160ms ease; }
.glossary-sort-direction[data-direction="desc"] svg { transform: rotate(180deg); }
.glossary-table { table-layout: fixed; }
.glossary-table th:nth-child(1) { width: 22%; }
.glossary-table th:nth-child(2) { width: 13%; }
.glossary-table th:nth-child(3) { width: 35%; }
.glossary-table th:nth-child(4),
.glossary-table th:nth-child(5) { width: 15%; }
.glossary-table tbody tr { border-bottom: 1px solid var(--border); }
.glossary-table tbody tr:last-child { border-bottom: 0; }
.glossary-table td { padding-block: 1rem; vertical-align: middle; }
.glossary-table td:nth-child(2),
.glossary-table td:nth-child(4),
.glossary-table td:nth-child(5) { color: var(--ink); font-variant-numeric: tabular-nums; white-space: nowrap; }

@media (max-width: 720px) {
  .glossary-heading-main {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "eyebrow" "title" "tabs";
    column-gap: 0;
  }

  .glossary-view-tabs { margin: .75rem -.25rem 0; padding-inline: .25rem; }
  .glossary-introduction { margin-top: 0; }
}

@media (max-width: 720px) {
  .glossary-tools { grid-template-columns: minmax(0, 1fr); }
  .responsive-card-table.glossary-table tbody > tr:not(.empty-row) > td { width: auto; }
  .glossary-table td:nth-child(2),
  .glossary-table td:nth-child(4),
  .glossary-table td:nth-child(5) { white-space: normal; }
}

.survey-video-points-notice {
  margin: -.35rem 0 1rem;
  color: var(--ink-muted);
  font-size: .84rem;
}

.survey-video-points-panel,
.survey-video-points-analysis-panel,
.survey-video-points-participants-panel { overflow: hidden; }
.survey-video-points-table-wrap { overflow-x: auto; }
.survey-video-points-table { min-width: 1180px; table-layout: fixed; }
.survey-video-points-table th:nth-child(1) { width: 15%; }
.survey-video-points-table th:nth-child(2) { width: 8%; }
.survey-video-points-table th:nth-child(3) { width: 22%; }
.survey-video-points-table th:nth-child(4) { width: 8%; }
.survey-video-points-table th:nth-child(5) { width: 9%; }
.survey-video-points-table th:nth-child(6) { width: 23%; }
.survey-video-points-table th:nth-child(7) { width: 15%; }
.survey-video-points-table td { vertical-align: middle; }
.survey-video-points-suggestion { width: 100%; min-width: 110px; }
.survey-video-points-actions { position: sticky; bottom: 0; z-index: 2; padding: 1rem 0; background: linear-gradient(transparent,var(--surface) 28%); }

.survey-video-points-stars {
  display: flex;
  align-items: center;
  gap: .12rem;
  min-width: 220px;
}
.survey-video-points-stars [data-survey-rating] {
  width: 32px;
  min-width: 32px;
  min-height: 34px;
  padding: 0;
  border: 0;
  color: var(--border-strong);
  background: transparent;
  font-size: 1.35rem;
  line-height: 1;
}
.survey-video-points-stars [data-survey-rating][aria-pressed="true"] { color: #e4a11b; }
.survey-video-points-stars [data-survey-rating]:hover,
.survey-video-points-stars [data-survey-rating]:focus-visible { color: #d28e08; background: transparent; }
.survey-video-points-clear-rating { margin-left: .35rem; padding: .25rem .4rem; border: 0; background: transparent; color: var(--ink-muted); font-size: .65rem; }

.survey-video-points-control-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  padding: 1rem 1.15rem;
}
.survey-video-points-control-copy { display: grid; gap: .25rem; min-width: 0; }
.survey-video-points-control-summary { display: flex; align-items: baseline; flex-wrap: wrap; gap: .35rem 1rem; }
.survey-video-points-control-panel small { color: var(--ink-muted); }
.survey-video-points-switch { flex: 0 0 auto; }
.survey-video-points-response-total { display: inline-flex; align-items: baseline; gap: .3rem; color: var(--ink-muted); font-size: .78rem; }
.survey-video-points-response-total strong { color: var(--ink); font-size: 1rem; }
.survey-video-points-control-feedback:empty { display: none; }
.survey-video-points-items-panel { margin-bottom: 1rem; overflow: hidden; }
.survey-video-points-panel-heading { padding: 1rem 1rem .65rem; }
.survey-video-points-panel-heading h3 { margin: 0; }
.survey-video-points-panel-heading p { margin: .25rem 0 0; color: var(--ink-muted); font-size: .82rem; }
.survey-video-points-items-table { min-width: 560px; }
.survey-video-points-items-table th:nth-child(2) { width: 180px; }
.survey-video-points-items-table th:nth-child(3) { width: 110px; text-align: center; }
.survey-video-points-items-table td:nth-child(3) { text-align: center; }
.survey-video-points-items-table td strong,
.survey-video-points-items-table td small { display: block; }
.survey-video-points-items-table td small { margin-top: .15rem; color: var(--ink-muted); }
.survey-video-points-item-switch { margin-inline: auto; }
.survey-video-points-response-editing-switch { margin-inline: auto; }
.survey-video-points-analysis-panel,
.survey-video-points-participants-panel { margin-bottom: 1rem; }
.survey-video-points-analysis-panel > h3,
.survey-video-points-participants-panel > h3 { margin: 0; padding: 1rem 1rem .25rem; }
.survey-video-points-results-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.survey-video-points-results-controls { display: flex; align-items: end; flex-wrap: wrap; gap: .65rem; }
.survey-video-points-results-controls label { display: grid; gap: .3rem; color: var(--ink-muted); font-size: .72rem; font-weight: 750; }
.survey-video-points-results-controls select { min-width: 210px; }
.survey-video-points-analysis-table { min-width: 1320px; }
.survey-video-points-analysis-table tr[data-relevance-level="medium"] { background: color-mix(in srgb, var(--warning) 7%, transparent); }
.survey-video-points-analysis-table tr[data-relevance-level="high"] { background: color-mix(in srgb, var(--danger) 9%, transparent); }
.survey-video-points-analysis-table tr[data-relevance-level="medium"] td:first-child { box-shadow: inset 4px 0 0 var(--warning); }
.survey-video-points-analysis-table tr[data-relevance-level="high"] td:first-child { box-shadow: inset 4px 0 0 var(--danger); }
.survey-video-points-analysis-table tr[data-relevance-level="medium"] td[data-label="Relevância"] strong { color: var(--warning-strong); }
.survey-video-points-analysis-table tr[data-relevance-level="high"] td[data-label="Relevância"] strong { color: var(--danger); }
.survey-video-points-analysis-table td strong,
.survey-video-points-analysis-table td small,
#surveyVideoPointsParticipantRows td strong,
#surveyVideoPointsParticipantRows td small { display: block; }
.survey-video-points-analysis-table td small,
#surveyVideoPointsParticipantRows td small { margin-top: .15rem; color: var(--ink-muted); }

@media (max-width: 720px) {
  .survey-video-points-control-panel { align-items: center; }
  .survey-video-points-results-heading { align-items: stretch; flex-direction: column; }
  .survey-video-points-results-controls { align-items: stretch; }
  .survey-video-points-results-controls label { flex: 1 1 220px; }
  .survey-video-points-results-controls select { width: 100%; min-width: 0; }
  .responsive-card-table.survey-video-points-table { min-width: 0; }
  .responsive-card-table.survey-video-points-table tbody > tr:not(.empty-row) > td { width: auto; }
  .survey-video-points-stars { min-width: 0; flex-wrap: wrap; }
}


/* Operational glossary: editorial content isolated from the workspaces. */
.glossary-shell-heading { align-items: end; }
.glossary-guide-panel summary:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
.glossary-guide-tools { display: grid; grid-template-columns: minmax(200px, 1fr) minmax(220px, 1fr) auto; gap: .9rem 1.2rem; padding: 1rem; align-items: end; }
.glossary-guide-tools input[type="search"], .glossary-guide-tools select { width: 100%; min-width: 0; height: 42px; box-sizing: border-box; }
.glossary-focus-toggle { display: flex; gap: .55rem; align-items: center; min-height: 42px; font-size: .8rem; color: var(--ink); cursor: pointer; }
.glossary-focus-toggle input { width: 16px; height: 16px; accent-color: var(--accent); }
.glossary-function-feedback { grid-column: 1 / -1; margin: 0; font-size: .8rem; color: var(--ink-muted); }
.glossary-function-feedback:empty { display: none; }
.glossary-role-context { margin-top: 1rem; padding: 1rem 1.2rem; border: 1px solid var(--accent); border-left: 4px solid var(--accent); border-radius: 10px; background: var(--surface-2); }
.glossary-role-context p { margin: .4rem 0; font-size: .86rem; line-height: 1.6; }
.glossary-role-context small { color: var(--ink-muted); }
.glossary-guide-heading { padding: 1.6rem .1rem .6rem; }
.glossary-guide-heading h3 { margin: .2rem 0 .6rem; font-size: clamp(1.15rem, 2vw, 1.5rem); line-height: 1.3; }
.glossary-guide-heading p:not(.eyebrow) { max-width: 92ch; color: var(--ink-muted); line-height: 1.65; font-size: .9rem; margin: 0; }
.glossary-flow-map { display: flex; flex-wrap: wrap; list-style: none; gap: .5rem; padding: 0; margin: 1.1rem 0; counter-reset: glossary-flow; }
.glossary-flow-map li { display: flex; align-items: center; gap: .5rem; padding: .5rem .8rem; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-2); font-size: .78rem; font-weight: 650; counter-increment: glossary-flow; }
.glossary-flow-map li::before { content: counter(glossary-flow); color: var(--accent-text); font-variant-numeric: tabular-nums; }
.glossary-orientation { max-width: 100ch; font-size: .86rem; color: var(--ink-muted); line-height: 1.7; }
.glossary-orientation summary { cursor: pointer; color: var(--ink); font-weight: 700; padding: .3rem 0; }
.glossary-orientation li { margin-bottom: .5rem; }
.glossary-reading-tools { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: .5rem 0 .8rem; }
.glossary-reading-tools p { margin: 0 auto 0 0; color: var(--ink-muted); font-size: .78rem; }
.glossary-reading-tools button { font-size: .78rem; padding: .45rem .7rem; }
.glossary-guide-cards { display: grid; gap: .8rem; }
.glossary-guide-card { margin: 0; padding: 0; min-width: 0; overflow: hidden; }
.glossary-guide-card.is-role-highlighted { border-color: var(--accent); box-shadow: inset 3px 0 0 var(--accent); }
.glossary-guide-card > summary { display: flex; align-items: start; gap: .9rem; list-style: none; padding: 1.1rem 1.2rem; cursor: pointer; }
.glossary-guide-card > summary::-webkit-details-marker { display: none; }
.glossary-guide-card > summary:hover { background: var(--surface-2); }
.glossary-step-number { display: grid; flex: 0 0 34px; height: 34px; place-items: center; color: var(--accent-text); background: var(--surface-2); border: 1px solid var(--border); border-radius: 8px; font-size: .78rem; font-weight: 750; }
.glossary-step-heading { display: grid; gap: .35rem; min-width: 0; flex: 1; }
.glossary-step-heading > strong { color: var(--ink); font-size: .95rem; line-height: 1.45; }
.glossary-step-heading > span:not(.glossary-role-badge) { color: var(--ink-muted); font-size: .84rem; font-weight: 400; line-height: 1.55; }
.glossary-step-chevron { width: 8px; height: 8px; flex: 0 0 8px; margin-top: .5rem; border-right: 2px solid var(--ink-muted); border-bottom: 2px solid var(--ink-muted); transform: rotate(45deg); }
.glossary-guide-card[open] .glossary-step-chevron { transform: rotate(225deg); }
.glossary-step-body { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(250px, 1fr); gap: 1.2rem 1.8rem; padding: 0 1.4rem 1.3rem; }
.glossary-step-body h4 { font-size: .72rem; letter-spacing: .035em; text-transform: uppercase; color: var(--ink-muted); margin: .9rem 0 .6rem; }
.glossary-step-body p, .glossary-step-body li { font-size: .86rem; line-height: 1.75; overflow-wrap: anywhere; }
.glossary-step-body p { margin: 0; }
.glossary-step-body ol, .glossary-step-body ul { padding-left: 1.25rem; margin: 0; }
.glossary-step-instructions > ol > li { padding-left: .25rem; margin-bottom: .65rem; }
.glossary-step-instructions > ol > li::marker { color: var(--accent-text); font-weight: 750; }
.glossary-step-reference { padding: 0 1rem .7rem; background: var(--surface-2); border-radius: 10px; }
.glossary-step-reference li { margin-bottom: .5rem; }
.glossary-step-result { border-top: 1px solid var(--border); margin-top: 1rem; padding-top: .1rem; }
.glossary-step-result h4 { color: var(--accent-text); }
.glossary-step-body .glossary-responsibilities { list-style: none; padding: 0; display: grid; gap: .6rem; }
.glossary-responsibilities > li { padding: .65rem .8rem; border: 1px solid var(--border); border-radius: 8px; }
.glossary-responsibilities strong { display: block; font-size: .78rem; }
.glossary-responsibilities > .glossary-responsibility-selected { border-color: var(--accent); background: var(--surface-2); }
.glossary-role-badge { display: inline-block; width: fit-content; font-size: .68rem; font-weight: 750; line-height: 1.5; color: var(--accent-text); border: 1px solid var(--accent); padding: .15rem .45rem; border-radius: 5px; }
.glossary-responsibilities .glossary-role-badge { margin: .3rem 0; }
.glossary-step-attention { grid-column: 1 / -1; border-top: 1px solid var(--border); padding-top: .85rem; color: var(--ink-muted); }
.glossary-guide-empty { padding: 1.5rem; line-height: 1.7; }
.glossary-guide-note { color: var(--ink-muted); font-size: .78rem; line-height: 1.7; margin: 1.1rem .1rem; max-width: 110ch; }
@media (max-width: 1100px) {
  .glossary-guide-tools { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .glossary-focus-toggle { grid-column: 1 / -1; min-height: 24px; }
}
@media (max-width: 720px) {
  .glossary-guide-tools, .glossary-step-body { grid-template-columns: minmax(0, 1fr); }
  .glossary-step-body { padding: 0 1rem 1rem; gap: .5rem; }
  .glossary-guide-card > summary { padding: 1rem; gap: .65rem; }
  .glossary-step-number { flex-basis: 28px; height: 28px; }
  .glossary-flow-map { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

/* Account access: compact recovery action and a single Person search field. */
#forgotPasswordButton.login-recovery-link {
  display: block;
  width: fit-content;
  min-height: 0;
  margin: 10px 0 0 auto;
  padding: 4px 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: var(--ink-muted);
  font: inherit;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
}
#forgotPasswordButton.login-recovery-link:hover { color: var(--ink); text-decoration: underline; }
#forgotPasswordButton.login-recovery-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.settings-users-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 10px;
  margin-left: auto;
}
.settings-users-actions > button { flex: 0 0 auto; margin: 0; }
.settings-users-actions > .primary-button { white-space: nowrap; }
#settingsUserAccountForm .settings-user-account-hint {
  margin: -8px 0 0;
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
}
#settingsUserPersonCombobox input[type="search"] { width: 100%; }
#settingsUserPersonOptions .search-select-option { flex-direction: column; gap: 3px; font-weight: 400; }
#settingsUserPersonOptions .search-select-option span { font-size: 11px; font-weight: 400; letter-spacing: 0; text-transform: none; overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .settings-users-actions { align-self: flex-end; gap: 8px; }
  .settings-users-actions > .primary-button { min-height: 40px; padding: 0 12px; font-size: 11px; }
  .settings-users-actions > .refresh-icon-button { width: 40px; height: 40px; min-height: 40px; }
}

#settingsUserPersonPicker .people-filter > label { color: var(--ink-muted); font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }

/* Keep the native disabled state after every component and responsive override. */
button:disabled,
button:disabled:hover,
button:disabled:focus-visible {
  border-color: var(--border-strong);
  color: var(--ink-muted);
  background: var(--surface-3);
  box-shadow: none;
  cursor: not-allowed;
  filter: saturate(0.15);
  opacity: 0.68;
}

button.action-is-running:disabled,
button.action-is-running:disabled:hover,
button[aria-busy="true"]:disabled,
button[aria-busy="true"]:disabled:hover {
  cursor: wait;
  opacity: 0.72;
}
.production-marketing-change-panel{margin:18px 0;padding:18px}.production-marketing-change-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.production-marketing-change-panel>header h3{margin:2px 0 4px}.production-marketing-change-panel>header p{margin:0}.production-marketing-change-list{display:grid;gap:12px;margin-top:12px}.production-marketing-change-card{border:1px solid var(--border-color);border-radius:14px;padding:14px;background:var(--surface-color)}.production-marketing-change-card>header{display:flex;justify-content:space-between;gap:16px}.production-marketing-change-card h4{margin:0}.production-marketing-change-card small,.production-marketing-change-card>header>span{color:var(--text-muted)}.production-marketing-change-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:12px 0}.production-marketing-change-values>div{display:grid;gap:3px}.production-marketing-change-values span{font-size:.78rem;color:var(--text-muted)}.production-marketing-change-card>.form-actions{justify-content:flex-end;margin-top:12px}.marketing-edit-reason{grid-column:1/-1}

/* Account confirmation and transient security setup. */
.security-dialog {
  box-sizing: border-box;
  width: min(560px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  overflow: auto;
  margin: auto;
  padding: 24px;
  color: var(--ink, #17202a);
  background: var(--surface-2, #fff);
  font: inherit;
}
.security-dialog::backdrop { background: rgb(0 0 0 / 35%); }
.security-dialog form { display: grid; gap: 16px; }
.security-dialog h2, .security-dialog p { margin: 0; }
.security-dialog p { white-space: pre-line; overflow-wrap: anywhere; line-height: 1.5; }
.security-dialog .field { display: grid; gap: 8px; }
.security-dialog input { width: 100%; box-sizing: border-box; }
.security-dialog-actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* Aprovação do Marketing compartilha Aprovação final e mantém identidade roxa. */
.editing-marketing-approval { --editing-tone:#a855f7; --editing-card-tone:#a855f7; }
.editing-card.editing-marketing-approval > .editing-card-real-status { margin:0; padding:0; border-radius:0; background:transparent; }
:root:not([data-theme="dark"]) .editing-marketing-approval > .editing-card-real-status,
:root:not([data-theme="dark"]) .editing-status-badge.editing-marketing-approval { color:#7e22ce; }
:root[data-theme="dark"] .editing-marketing-approval > .editing-card-real-status,
:root[data-theme="dark"] .editing-status-badge.editing-marketing-approval { color:#d8b4fe; }
