﻿:root {
  --ink: #10201a;
  --muted: #66736d;
  --soft: #f4f7f3;
  --line: #dce5dc;
  --panel: #ffffff;
  --green: #0f6a44;
  --green-dark: #082a20;
  --gold: #c9a24a;
  --red: #c53a32;
  --red-bg: #fff0ee;
  --orange: #b76b18;
  --orange-bg: #fff6e8;
  --blue: #246b98;
  --blue-bg: #edf7ff;
  --ok: #1f7a4d;
  --shadow: 0 22px 70px rgba(8, 42, 32, 0.08);
  --module-nav-top-offset: 12px;
}

* {
  box-sizing: border-box;
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

body {
  margin: 0;
  color: var(--ink);
  background:
    linear-gradient(90deg, rgba(15, 106, 68, 0.022) 1px, transparent 1px),
    linear-gradient(180deg, rgba(15, 106, 68, 0.018) 1px, transparent 1px),
    #fbfcfa;
  background-size: 34px 34px;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}

body.is-snapshot-manager-open {
  overflow: hidden;
}

button,
input,
select,
textarea {
  font: inherit;
}

.app-shell {
  display: grid;
  max-width: 100%;
  min-height: 100vh;
  grid-template-columns: 286px minmax(0, 1fr);
  overflow-x: hidden;
}

.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 22px;
  color: #eaf5ef;
  background:
    linear-gradient(180deg, rgba(13, 91, 57, 0.18), transparent 36%),
    #061b15;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

.brand {
  flex-shrink: 0;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.04);
}

.brand span {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 7px 10px;
  color: #061b15;
  font-weight: 950;
  background: var(--gold);
  border-radius: 999px;
}

.brand strong {
  display: block;
  font-size: 20px;
  line-height: 1.12;
}

.brand small {
  display: block;
  margin-top: 10px;
  color: rgba(234, 245, 239, 0.68);
}

.nav {
  display: grid;
  gap: 8px;
  flex: 1 1 auto;
  align-content: start;
  min-height: 0;
  margin-top: 0;
  padding-right: 4px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(201, 162, 74, 0.5) rgba(255, 255, 255, 0.05);
}

.nav::-webkit-scrollbar {
  width: 9px;
}

.nav::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.04);
  border-radius: 999px;
}

.nav::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(201, 162, 74, 0.58), rgba(234, 245, 239, 0.34));
  border: 2px solid #061b15;
  border-radius: 999px;
}

.nav::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, rgba(201, 162, 74, 0.72), rgba(234, 245, 239, 0.46));
}

.nav-item {
  width: 100%;
  min-height: 48px;
  padding: 13px 14px;
  color: rgba(234, 245, 239, 0.76);
  font-size: 14px;
  font-weight: 620;
  line-height: 1.25;
  text-align: left;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 12px;
  cursor: pointer;
  text-shadow: none;
}

.nav-item:hover,
.nav-item.is-active {
  color: rgba(248, 252, 249, 0.94);
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.12);
}

.nav-group {
  display: grid;
  gap: 8px;
}

.nav-group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 48px;
  padding: 14px 14px;
  color: rgba(238, 247, 241, 0.88);
  font-size: 14px;
  font-weight: 680;
  line-height: 1.25;
  list-style: none;
  background: rgba(255, 255, 255, 0.065);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  cursor: pointer;
  text-shadow: none;
  transition: color 0.16s ease, background 0.16s ease, border-color 0.16s ease;
}

.nav-group summary::-webkit-details-marker {
  display: none;
}

.nav-group summary:hover {
  color: rgba(248, 252, 249, 0.96);
  background: rgba(255, 255, 255, 0.085);
  border-color: rgba(255, 255, 255, 0.16);
}

.nav-group.is-current summary {
  color: rgba(248, 252, 249, 0.96);
  background: rgba(201, 162, 74, 0.105);
  border-color: rgba(201, 162, 74, 0.24);
}

.nav-group summary::after {
  content: "v";
  flex: 0 0 auto;
  color: rgba(234, 245, 239, 0.58);
  font-size: 12px;
  font-weight: 650;
}

.nav-group[open] summary::after {
  content: "^";
}

.nav-subitems {
  display: grid;
  gap: 6px;
  max-height: 0;
  margin-top: 2px;
  padding-left: 10px;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-5px);
  border-left: 1px solid rgba(201, 162, 74, 0.2);
  transition:
    max-height 0.22s ease,
    opacity 0.18s ease,
    transform 0.18s ease;
  will-change: max-height, opacity, transform;
}

.nav-group[open] .nav-subitems {
  max-height: 560px;
  opacity: 1;
  transform: translateY(0);
}

.nav-group.is-closing .nav-subitems {
  max-height: 0;
  opacity: 0;
  transform: translateY(-5px);
}

.nav-subitem {
  min-height: 38px;
  padding: 9px 12px;
  font-size: 13px;
  font-weight: 560;
  border-radius: 10px;
}

.sidebar-note {
  position: static;
  flex-shrink: 0;
  padding: 16px;
  margin-top: auto;
  background: rgba(201, 162, 74, 0.1);
  border: 1px solid rgba(201, 162, 74, 0.24);
  border-radius: 16px;
}

.sidebar-note span {
  color: var(--gold);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sidebar-note p {
  margin: 8px 0 0;
  color: rgba(234, 245, 239, 0.7);
  font-size: 13px;
  line-height: 1.5;
}

.main {
  min-width: 0;
  max-width: 100%;
  padding: 28px;
  overflow-x: hidden;
}

.topbar {
  position: sticky;
  top: 12px;
  z-index: 20;
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
  max-width: 100%;
  min-width: 0;
  margin-bottom: 24px;
  padding: 22px 24px;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow);
  backdrop-filter: blur(14px);
}

.eyebrow {
  margin: 0 0 6px;
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

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

h1 {
  margin-bottom: 0;
  font-size: 30px;
  line-height: 1.16;
}

.topbar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
  color: var(--muted);
}

.business-date-control,
.access-profile-control {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  color: #244a3d;
  font-size: 11px;
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
  background: rgba(236, 247, 239, 0.9);
  border: 1px solid rgba(31, 122, 77, 0.18);
  border-radius: 999px;
}

.business-date-control input,
.access-profile-control select {
  width: 122px;
  min-height: 30px;
  padding: 4px 8px;
  color: var(--ink);
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  background: #ffffff;
  border: 1px solid rgba(31, 122, 77, 0.22);
  border-radius: 999px;
}

.access-profile-control {
  background: rgba(247, 251, 248, 0.96);
}

.access-profile-control select {
  width: min(210px, 24vw);
  max-width: 210px;
  cursor: pointer;
}

.access-profile-control select:hover,
.access-profile-control select:focus-visible {
  background: #eefaf3;
  outline: none;
  border-color: rgba(0, 107, 73, 0.38);
}

.cost-badge {
  display: inline-flex;
  padding: 9px 12px;
  color: #0c3c29;
  font-size: 13px;
  font-weight: 850;
  background: #e7f5ec;
  border: 1px solid rgba(31, 122, 77, 0.16);
  border-radius: 999px;
}

.snapshot-status {
  display: inline-flex;
  align-items: center;
  padding: 9px 12px;
  color: #244a3d;
  font-size: 12px;
  font-weight: 850;
  line-height: 1;
  background: #ecf7ef;
  border: 1px solid rgba(31, 122, 77, 0.16);
  border-radius: 999px;
  cursor: pointer;
}

.snapshot-status:hover,
.snapshot-status:focus-visible {
  background: #e3f3e8;
  outline: none;
}

.data-action {
  min-height: 34px;
  padding: 0 11px;
  color: var(--green);
  font-size: 12px;
  font-weight: 850;
  background: #ffffff;
  border: 1px solid rgba(31, 122, 77, 0.24);
  border-radius: 10px;
  cursor: pointer;
}

.data-action:hover {
  background: #eefaf3;
}

.navigation-back-action {
  color: #0c3c29;
  background: #f7fbf8;
  border-color: rgba(31, 122, 77, 0.28);
}

.navigation-back-action:hover,
.navigation-back-action:focus-visible {
  background: #e7f5ec;
  outline: none;
  border-color: rgba(0, 107, 73, 0.42);
}

.data-action.danger {
  color: var(--red);
  border-color: rgba(197, 58, 50, 0.22);
}

.data-action.danger:hover {
  background: var(--red-bg);
}

.view {
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 1fr);
  max-width: 100%;
  min-width: 0;
  padding-top: 12px;
}

.floating-scroll-top {
  position: fixed;
  left: 282px;
  bottom: 28px;
  z-index: 36;
  width: 56px;
  height: 56px;
  padding: 0;
  color: var(--green);
  font-size: 28px;
  font-weight: 950;
  line-height: 1;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(31, 122, 77, 0.32);
  border-radius: 999px;
  box-shadow: 0 16px 34px rgba(8, 42, 32, 0.18);
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity 0.16s ease, transform 0.16s ease, background 0.16s ease;
}

body.is-scroll-top-visible .floating-scroll-top {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.floating-scroll-top:hover {
  background: #eefaf3;
  border-color: rgba(31, 122, 77, 0.5);
  box-shadow: 0 18px 38px rgba(8, 42, 32, 0.24);
}

.operational-chat-drawer {
  position: fixed;
  top: 50%;
  right: 0;
  z-index: 70;
  width: 432px;
  --dos-chat-tab-width: 64px;
  --dos-chat-tab-closed: 64px;
  --dos-chat-tab-unread: 72px;
  transform: translate(100%, -50%);
  transition: transform 0.22s ease;
}

.operational-chat-drawer.is-open {
  transform: translate(0, -50%);
}

.operational-chat-drawer.has-unread:not(.is-open) {
  transform: translate(100%, -50%);
}

.operational-chat-tab {
  position: absolute;
  top: 50%;
  left: calc(-1 * var(--dos-chat-tab-closed));
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: var(--dos-chat-tab-width);
  min-width: var(--dos-chat-tab-width);
  min-height: 136px;
  padding: 12px 7px;
  color: #dbe5dc;
  background: linear-gradient(155deg, #26312c 0%, #5f6d65 72%, #adb8af 142%);
  border: 1px solid rgba(55, 75, 64, 0.3);
  border-right: none;
  border-radius: 20px 0 0 20px;
  box-shadow: 0 12px 26px rgba(8, 42, 32, 0.12);
  cursor: pointer;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  overflow: hidden;
  text-align: center;
  transition: left 0.2s ease, background 0.22s ease, box-shadow 0.22s ease, color 0.22s ease;
  backdrop-filter: blur(4px);
}

.operational-chat-drawer.has-unread:not(.is-open) .operational-chat-tab,
.operational-chat-drawer.is-open .operational-chat-tab {
  left: calc(-1 * var(--dos-chat-tab-unread));
}

.operational-chat-tab:hover {
  filter: brightness(1.06);
}

.operational-chat-tab-label {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.05em;
  white-space: nowrap;
  text-transform: uppercase;
}

.operational-chat-tab::before {
  content: "DOS";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  min-height: 30px;
  color: #112e22;
  font-size: 10px;
  font-weight: 1000;
  letter-spacing: 0;
  background: #d8c077;
  box-shadow: inset 0 0 0 2px rgba(15, 79, 51, 0.25);
  border-radius: 999px;
}

.operational-chat-tab-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  min-height: 24px;
  padding: 0 6px;
  color: #ffffff;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  background: #1f7a4d;
  border-radius: 999px;
}

.operational-chat-tab-badge[hidden] {
  display: none;
}

.operational-chat-drawer.has-unread .operational-chat-tab {
  color: #e7ffef;
  background: linear-gradient(155deg, #0e2f1f 0%, #1f7a4d 56%, #2aa45d 142%);
  border-color: rgba(190, 238, 207, 0.35);
  box-shadow: 0 16px 34px rgba(31, 122, 77, 0.22);
}

.operational-chat-drawer.has-unread .operational-chat-tab::before {
  color: #102719;
  background: #f2e4b8;
  box-shadow:
    inset 0 0 0 2px rgba(246, 220, 135, 0.52),
    0 0 0 1px rgba(246, 220, 135, 0.35);
}

.operational-chat-drawer.has-unread .operational-chat-tab-badge {
  color: #0f381f;
  background: #f2e4b8;
}

.operational-chat-body {
  min-height: 620px;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(31, 122, 77, 0.18);
  border-right: none;
  border-radius: 18px 0 0 18px;
  box-shadow: 0 18px 38px rgba(8, 42, 32, 0.14);
  overflow: hidden;
}

.operational-chat-panel {
  display: grid;
  min-height: 620px;
}

.operational-chat-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  background: #f8fbf8;
  border-bottom: 1px solid var(--line);
}

.operational-chat-head span {
  display: block;
  color: var(--green);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.operational-chat-head strong {
  display: block;
  margin-top: 4px;
  font-size: 18px;
}

.operational-chat-layout {
  display: grid;
  grid-template-columns: 146px minmax(0, 1fr);
  min-height: 552px;
}

.operational-chat-sidebar {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 14px;
  background: #f8fbf8;
  border-right: 1px solid var(--line);
}

.operational-chat-contact-list {
  display: grid;
  gap: 8px;
  max-height: 392px;
  overflow-y: auto;
}

.operational-chat-contact {
  display: grid;
  gap: 4px;
  padding: 10px;
  color: var(--ink);
  text-align: left;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 12px;
  cursor: pointer;
}

.operational-chat-contact:hover {
  background: #f4faf6;
}

.operational-chat-contact.is-active {
  border-color: rgba(31, 122, 77, 0.34);
  background: #eefaf3;
}

.operational-chat-contact strong {
  font-size: 13px;
  line-height: 1.2;
}

.operational-chat-contact small,
.operational-chat-contact span {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.operational-chat-contact em {
  justify-self: start;
  padding: 3px 7px;
  color: #ffffff;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  background: #1f7a4d;
  border-radius: 999px;
}

.operational-chat-thread {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-width: 0;
}

.operational-chat-thread-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px 12px;
  border-bottom: 1px solid var(--line);
}

.operational-chat-thread-head strong {
  display: block;
  font-size: 16px;
}

.operational-chat-thread-head small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.operational-chat-messages {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 0;
  max-height: 100%;
  padding: 14px 18px;
  overflow-y: auto;
  background: #ffffff;
}

.operational-chat-message {
  display: grid;
  gap: 8px;
  max-width: 100%;
  padding: 12px 14px;
  background: #f7faf6;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.operational-chat-message.is-own {
  background: #eefaf3;
  border-color: rgba(31, 122, 77, 0.2);
}

.operational-chat-message-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: 11px;
}

.operational-chat-message-meta strong {
  color: var(--ink);
  font-size: 12px;
}

.operational-chat-message-body {
  font-size: 13px;
  line-height: 1.5;
  white-space: pre-wrap;
}

.operational-chat-message-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.operational-chat-composer {
  display: grid;
  gap: 12px;
  padding: 14px 18px 18px;
  background: #f8fbf8;
  border-top: 1px solid var(--line);
}

.operational-chat-composer textarea {
  min-height: 88px;
}

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

.operational-chat-composer-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.operational-chat-composer-actions small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.4;
}

.focus-workspace {
  display: none;
  min-width: 0;
  padding-top: 12px;
}

.snapshot-manager {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 24px;
}

.snapshot-manager[hidden] {
  display: none !important;
}

.snapshot-manager-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(12, 24, 18, 0.42);
}

.snapshot-manager-panel {
  position: relative;
  z-index: 1;
  width: min(820px, calc(100vw - 32px));
  max-height: min(78vh, 760px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid rgba(31, 122, 77, 0.16);
  border-radius: 18px;
  box-shadow: 0 28px 60px rgba(17, 42, 29, 0.2);
}

.snapshot-manager-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(31, 122, 77, 0.12);
}

.snapshot-manager-head strong {
  display: block;
  color: var(--text);
  font-size: 20px;
  line-height: 1.2;
}

.snapshot-manager-body {
  flex: 1 1 auto;
  min-height: 220px;
  overflow: auto;
  padding: 18px 20px 20px;
}

.snapshot-manager-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
}

.snapshot-manager-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
}

.snapshot-manager-note {
  margin: 0 0 16px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.snapshot-restore-date-form {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: 10px;
  align-items: end;
  margin: 0 0 16px;
  padding: 12px;
  background: #f7faf6;
  border: 1px solid rgba(31, 122, 77, 0.12);
  border-radius: 14px;
}

.snapshot-manager-history {
  margin: 0 0 16px;
}

.snapshot-manager-subhead {
  margin: 0 0 8px;
  color: var(--text);
  font-size: 13px;
  font-weight: 800;
}

.snapshot-journal {
  display: grid;
  gap: 12px;
}

.snapshot-card {
  display: grid;
  gap: 12px;
  padding: 14px 16px;
  background: #f7faf6;
  border: 1px solid rgba(31, 122, 77, 0.1);
  border-radius: 14px;
}

.snapshot-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.snapshot-card-head strong {
  display: block;
  color: var(--text);
  font-size: 15px;
  line-height: 1.35;
}

.snapshot-card-head small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}

.snapshot-card-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.snapshot-audit-block {
  display: grid;
  gap: 10px;
  margin-top: 14px;
  padding: 14px 16px;
  background: #fbfcfa;
  border: 1px solid rgba(31, 122, 77, 0.1);
  border-radius: 14px;
}

.snapshot-audit-list {
  display: grid;
  gap: 8px;
}

.snapshot-audit-line {
  display: grid;
  grid-template-columns: 150px 110px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 8px 0;
  border-top: 1px solid rgba(31, 122, 77, 0.08);
}

.snapshot-audit-line span,
.snapshot-audit-line small {
  color: var(--muted);
  font-size: 12px;
}

.snapshot-audit-line strong {
  color: var(--text);
  font-size: 13px;
}

.snapshot-empty {
  padding: 18px;
  color: var(--muted);
  font-size: 14px;
  background: #f7faf6;
  border: 1px dashed rgba(31, 122, 77, 0.2);
  border-radius: 14px;
}

.support-summary-grid,
.support-bot-grid {
  margin-bottom: 12px;
}

.support-request-list {
  display: grid;
  gap: 10px;
}

.support-request-card {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.support-request-card.is-urgent {
  background: #fff6f3;
  border-color: rgba(208, 74, 64, 0.28);
}

.support-request-card.is-hot,
.support-request-card.is-open {
  background: #fffaf2;
  border-color: rgba(201, 162, 74, 0.22);
}

.support-request-card.is-bot {
  background: #f5f9ff;
  border-color: rgba(61, 120, 180, 0.2);
}

.support-request-card.is-closed {
  background: #f7faf6;
  opacity: 0.86;
}

.support-request-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.support-request-head small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.support-request-head strong {
  display: block;
  margin-top: 4px;
  font-size: 16px;
  line-height: 1.3;
}

.support-request-head p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.support-request-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.support-request-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  color: var(--muted);
  font-size: 12px;
}

.support-request-meta span {
  min-width: 0;
}

.support-request-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.support-request-history {
  display: grid;
  gap: 8px;
  padding-top: 6px;
  border-top: 1px dashed rgba(31, 122, 77, 0.18);
}

.support-history-line {
  padding: 8px 10px;
  background: #f7faf6;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.support-history-line strong,
.support-history-line span {
  display: inline-block;
  margin-right: 8px;
  font-size: 12px;
}

.support-history-line span {
  color: var(--muted);
}

.support-history-line p {
  margin: 6px 0 0;
  font-size: 12px;
  color: var(--text);
}

.support-mini-panel {
  padding: 14px 16px;
  background: #f7faf6;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.support-mini-panel h3 {
  margin: 0 0 10px;
  font-size: 14px;
}

.support-mini-line {
  display: grid;
  gap: 2px;
  padding: 8px 0;
  border-top: 1px dashed rgba(31, 122, 77, 0.16);
}

.support-mini-line:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.support-mini-line strong {
  font-size: 13px;
}

.support-mini-line span,
.support-mini-line small {
  color: var(--muted);
  font-size: 12px;
}

.support-request-card.is-compact .support-request-history {
  display: none;
}

body.is-focus-mode #appView {
  display: none;
}

body.is-focus-mode .focus-workspace {
  display: block;
}

.focus-shell {
  display: grid;
  gap: 16px;
  padding: 18px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(8, 42, 32, 0.075);
}

.focus-toolbar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(18, 65, 49, 0.12);
}

.focus-toolbar-nav {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  min-width: 0;
}

.focus-toolbar-copy {
  min-width: 0;
}

.focus-toolbar small {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
}

.focus-toolbar strong {
  display: block;
  font-size: 22px;
  line-height: 1.15;
}

.focus-toolbar p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.focus-toolbar-actions {
  display: flex;
  justify-content: flex-end;
}

.focus-back-button {
  min-height: 34px;
  padding: 8px 14px;
  font-size: 13px;
  line-height: 1;
  border-radius: 12px;
  white-space: nowrap;
}

.focus-detached-module {
  display: none;
}

body.is-focus-mode .focus-detached-module {
  display: block;
}

.focus-body {
  min-width: 0;
}

.focus-body > * {
  width: 100%;
  max-width: 100%;
}

.module-nav {
  position: relative;
  align-self: start;
  scroll-margin-top: calc(var(--module-nav-top-offset) + 20px);
  z-index: 8;
  display: grid;
  grid-template-columns: minmax(160px, 0.25fr) minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  max-width: 100%;
  min-width: 0;
  padding: 14px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow);
  backdrop-filter: blur(14px);
  margin-bottom: 4px;
  user-select: none;
}

.module-floating-dock {
  position: fixed;
  top: var(--module-dock-top, 12px);
  right: 28px;
  left: 314px;
  z-index: 34;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  max-width: calc(100vw - 342px);
  min-width: 0;
  padding: 10px;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(31, 122, 77, 0.18);
  border-radius: 14px;
  box-shadow: 0 12px 36px rgba(8, 42, 32, 0.12);
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.16s ease, transform 0.16s ease;
  backdrop-filter: blur(14px);
  user-select: none;
}

body.is-module-dock-visible .module-floating-dock {
  pointer-events: auto;
  opacity: 1;
  transform: translateY(0);
}

.module-floating-label {
  display: grid;
  gap: 2px;
  min-width: 92px;
}

.module-floating-label span {
  color: var(--green);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.module-floating-label strong {
  font-size: 13px;
  line-height: 1.1;
}

.module-floating-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-width: 0;
}

.module-floating-actions button {
  min-height: 30px;
  padding: 0 9px;
  color: var(--green);
  font-size: 12px;
  font-weight: 850;
  background: #ffffff;
  border: 1px solid rgba(31, 122, 77, 0.22);
  border-radius: 9px;
  cursor: pointer;
}

.module-floating-actions button:hover {
  background: #eefaf3;
}

.module-nav span {
  display: block;
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.module-nav strong {
  display: block;
  margin-top: 4px;
}

.module-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-start;
  min-width: 0;
  overflow: visible;
}

.module-actions button,
.return-rail button,
.quick-actions-menu summary {
  min-height: 32px;
  padding: 0 10px;
  color: var(--green);
  font-size: 12px;
  font-weight: 850;
  background: #ffffff;
  border: 1px solid rgba(31, 122, 77, 0.24);
  border-radius: 10px;
  cursor: pointer;
}

.module-actions button:hover,
.return-rail button:hover,
.quick-actions-menu summary:hover {
  background: #eefaf3;
}

.module-actions button.is-active-nav {
  color: #ffffff;
  background: var(--green);
  border-color: var(--green);
}

.quick-actions-menu {
  position: relative;
}

.quick-actions-menu::before {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  height: 16px;
  content: "";
  pointer-events: auto;
}

.quick-actions-menu summary {
  display: inline-flex;
  align-items: center;
  list-style: none;
  min-height: 32px;
}

.quick-actions-menu summary::-webkit-details-marker {
  display: none;
}

.quick-actions-menu--left .quick-actions-panel {
  right: auto;
  left: 0;
  width: min(250px, 82vw);
}

.quick-actions-panel--left .quick-action-link {
  display: block;
  width: 100%;
  padding: 7px 10px;
  margin: 0;
  margin-top: 4px;
  color: var(--green);
  font-size: 12px;
  font-weight: 850;
  background: #ffffff;
  border: 1px solid rgba(31, 122, 77, 0.22);
  border-radius: 9px;
  cursor: pointer;
}

.quick-actions-panel--left .quick-action-link:first-child {
  margin-top: 0;
}

.quick-actions-panel--left .quick-action-link:hover {
  background: #eefaf3;
}

.quick-actions-panel {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 20;
  display: grid;
  gap: 4px;
  width: min(320px, 88vw);
  max-height: 260px;
  overflow: auto;
  padding: 8px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: var(--shadow);
}

.quick-action-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: center;
}

.quick-action-link {
  display: block;
  width: 100%;
  padding: 7px 10px;
  margin: 0;
  color: var(--green);
  font-size: 12px;
  font-weight: 850;
  text-align: left;
  background: #ffffff;
  border: 1px solid rgba(31, 122, 77, 0.22);
  border-radius: 9px;
  cursor: pointer;
}

.quick-action-link:hover {
  background: #eefaf3;
}

.quick-action-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 0 6px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
  border-radius: 8px;
}

.quick-action-toggle input[type="checkbox"] {
  width: 16px;
  height: 16px;
  min-height: 0;
  margin: 0;
  padding: 0;
  accent-color: var(--green);
}

.module-order-controls {
  display: inline-flex;
  gap: 4px;
}

.module-order-controls button {
  min-height: 30px;
  min-width: 32px;
  padding: 0 8px;
  color: var(--green);
  font-size: 12px;
  font-weight: 850;
  background: #ffffff;
  border: 1px solid rgba(31, 122, 77, 0.22);
  border-radius: 9px;
  cursor: pointer;
}

.module-order-controls button:hover {
  background: #eefaf3;
}

.module-order-controls button:disabled {
  color: #8aa595;
  background: #f5f8f6;
  cursor: default;
}


.rent-journals-stack {
  display: grid;
  gap: 20px;
  max-width: 100%;
  min-width: 0;
  scroll-margin-top: calc(var(--module-nav-top-offset) + 24px);
}

.rent-journals-stack > .section {
  width: 100%;
}

.return-rail {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  min-width: 0;
}

.section {
  scroll-margin-top: calc(var(--module-nav-top-offset) + 24px);
  max-width: 100%;
  min-width: 0;
  padding: 20px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow);
}

.section-body {
  display: grid;
  gap: 16px;
}

.section-body[hidden] {
  display: none !important;
}

.section.is-collapsed .section-head {
  margin-bottom: 0;
}

.section-collapse-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.section-collapse-toggle span:first-child {
  display: inline-flex;
  width: 12px;
  justify-content: center;
  font-size: 12px;
}

.module-highlight {
  border-color: rgba(31, 122, 77, 0.62) !important;
  box-shadow: 0 0 0 4px rgba(31, 122, 77, 0.14), var(--shadow);
  animation: moduleTargetPulse 2.4s ease;
}

.platform-action-notice {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 150;
  display: grid;
  gap: 5px;
  width: min(430px, calc(100vw - 32px));
  padding: 14px 16px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(18, 65, 49, 0.16);
  border-left: 5px solid #2871b9;
  border-radius: 12px;
  box-shadow: 0 18px 45px rgba(10, 35, 28, 0.18);
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.platform-action-notice.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.platform-action-notice strong {
  font-size: 14px;
  font-weight: 950;
  line-height: 1.2;
}

.platform-action-notice span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.35;
}

.platform-action-notice.green {
  border-left-color: var(--green);
  background: #fbfffd;
}

.platform-action-notice.orange {
  border-left-color: var(--orange);
  background: #fffaf1;
}

.platform-action-notice.red {
  border-left-color: var(--red);
  background: #fff8f7;
}

.platform-action-notice.blue {
  border-left-color: #2871b9;
  background: #f6fbff;
}

.layout-order-mode .section.is-layout-order-item {
  position: relative;
  border-color: rgba(15, 106, 68, 0.32);
  box-shadow: 0 14px 36px rgba(8, 42, 32, 0.08);
}

.layout-order-mode .section.is-dragging {
  opacity: 0.72;
  transform: scale(0.995);
}

.section-order-handle {
  display: inline-flex;
  width: fit-content;
  min-height: 28px;
  align-items: center;
  margin: 0 0 10px;
  padding: 0 10px;
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
  background: #eefaf3;
  border: 1px dashed rgba(15, 106, 68, 0.34);
  border-radius: 999px;
  cursor: grab;
}

.section-order-handle:active {
  cursor: grabbing;
}

@keyframes moduleTargetPulse {
  0% {
    transform: translateY(-2px);
    background: rgba(238, 250, 243, 0.98);
  }
  45% {
    transform: translateY(0);
    background: rgba(255, 255, 255, 0.96);
  }
  100% {
    transform: translateY(0);
  }
}

.section-head {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 16px;
  min-width: 0;
}

.section-head > * {
  min-width: 0;
}

.section-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  align-items: center;
}

.section-head h2 {
  margin-bottom: 4px;
  font-size: 22px;
}

.section-head p {
  margin: 0;
  color: var(--muted);
}

.rent-workspace-head {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
  padding: 16px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 14px 40px rgba(8, 42, 32, 0.06);
}

.rent-workspace-head span {
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rent-workspace-head h2 {
  margin: 4px 0 0;
  font-size: 24px;
}

.rent-workspace-head p {
  max-width: 760px;
  margin: 6px 0 0;
  color: var(--muted);
}

.workspace-section-hidden {
  display: none !important;
}

.rent-workspace-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.workspace-entity-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.workspace-entity-link {
  padding: 0;
  color: var(--green);
  font: inherit;
  font-weight: 700;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 3px;
  background: none;
  border: none;
  cursor: pointer;
}

.workspace-entity-link:hover,
.workspace-entity-link:focus-visible {
  color: var(--green-dark);
}

.workspace-entity-link-block {
  display: inline-flex;
  margin-bottom: 4px;
}

.pill-button {
  display: inline-flex;
  padding: 0;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
}

.pill-button .pill {
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.pill-button:hover .pill,
.pill-button:focus-visible .pill {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(14, 56, 38, 0.08);
  border-color: rgba(31, 122, 77, 0.3);
}

.pill-button:focus-visible {
  outline: none;
}

.workspace-entity-divider {
  color: var(--muted);
}

.section-subhead {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
  margin: 18px 0 12px;
}

.section-subhead h3 {
  margin: 0 0 4px;
}

.section-subhead p {
  margin: 0;
  color: var(--muted);
}

.grid {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr);
  max-width: 100%;
  min-width: 0;
}

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

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

.grid.cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.metric {
  min-height: 126px;
  padding: 18px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 16px;
}

.metric.is-clickable {
  cursor: pointer;
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.metric.is-clickable:hover,
.metric.is-clickable:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(31, 122, 77, 0.38);
  box-shadow: 0 12px 28px rgba(14, 56, 38, 0.1);
  outline: none;
}

.metric small {
  display: block;
  color: var(--muted);
  font-weight: 700;
}

.metric strong {
  display: block;
  margin-top: 12px;
  font-size: 30px;
  line-height: 1;
}

.metric p {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.metric.is-critical {
  background: #fff2f0;
  border-color: rgba(197, 58, 50, 0.42);
}

.metric.is-warning {
  background: #fff6e7;
  border-color: rgba(183, 107, 24, 0.42);
}

.metric.is-ok {
  background: #f6fffa;
  border-color: rgba(31, 122, 77, 0.42);
}

.team-stats-grid,
.team-structure-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
  min-width: 0;
  max-width: 100%;
  margin-bottom: 14px;
}

.team-kpi-wrap {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.org-card {
  min-width: 0;
  padding: 16px;
  background: #fbfdf9;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.org-card .section-head {
  margin-bottom: 12px;
}

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

.org-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  min-width: 0;
  padding: 12px;
  background: #ffffff;
  border: 1px solid rgba(220, 229, 220, 0.86);
  border-radius: 12px;
}

.org-item strong,
.org-item small,
.org-item span {
  display: block;
  min-width: 0;
}

.org-item small {
  margin-top: 4px;
  color: var(--muted);
}

.org-item span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}

.org-badges,
.team-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
  min-width: 0;
}

.team-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: end;
}

.team-form {
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  align-items: end;
}

.team-form button {
  grid-column: 1 / -1;
}

.motivation-form {
  margin-top: 14px;
  padding: 14px;
  background: #f7faf6;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.motivation-form[hidden] {
  display: none;
}

.motivation-form-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
  padding-top: 14px;
  border-top: 0;
}

.motivation-form-head strong {
  display: block;
  margin-bottom: 4px;
  font-size: 16px;
}

.motivation-form-head p {
  margin: 0;
  color: var(--muted);
}

.motivation-explainer {
  padding: 12px;
  color: var(--text);
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 12px;
  line-height: 1.45;
}

.knowledge-grid {
  display: grid;
  gap: 14px;
}

.knowledge-card {
  padding: 16px;
  background: #fbfdf9;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.knowledge-card-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 10px;
}

.knowledge-card-head small {
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.knowledge-card h3 {
  margin: 4px 0 0;
}

.knowledge-card p {
  color: var(--muted);
}

.knowledge-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 12px;
}

.knowledge-columns strong {
  display: block;
  margin-bottom: 8px;
}

.knowledge-columns ol {
  margin: 0;
  padding-left: 18px;
}

.knowledge-columns li {
  margin-bottom: 6px;
  color: var(--muted);
}

.training-form {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

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

.task-board {
  display: grid;
  gap: 14px;
}

.task-bucket {
  display: grid;
  gap: 12px;
  margin-top: 8px;
}

.task-bucket-title {
  color: var(--muted);
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.task-card {
  position: relative;
  padding: 10px 12px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: none;
  transition: border-color 0.16s ease, background 0.16s ease;
}

.task-card + .task-card {
  margin-top: 2px;
}

.task-card[open] {
  z-index: 2;
  margin: 4px 0 10px;
  padding: 10px 12px;
  background: #ffffff;
  border-color: rgba(15, 106, 68, 0.34);
}

.task-card[open]::before {
  position: absolute;
  top: 14px;
  bottom: 14px;
  left: 0;
  width: 5px;
  content: "";
  background: var(--green);
  border-radius: 0 999px 999px 0;
}

.task-card summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  cursor: pointer;
  list-style: none;
  border-radius: 8px;
}

.task-card summary::-webkit-details-marker {
  display: none;
}

.task-card[open] summary {
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
}

.task-card[open] summary .pill.blue {
  color: #ffffff;
  background: var(--green);
  border-color: var(--green);
}

.task-card.is-overdue {
  border-color: rgba(197, 58, 50, 0.28);
  background: #fff7f6;
}

.task-card.is-overdue[open] {
  border-color: rgba(197, 58, 50, 0.4);
}

.task-card.is-overdue[open]::before {
  background: var(--red);
}

.task-card.is-tomorrow {
  background: #f8faf6;
}

.task-card.is-later {
  background: #f5f7f3;
  opacity: 0.82;
}

.task-card strong {
  display: block;
  margin-bottom: 4px;
  font-size: 15px;
}

.task-card p,
.muted-text {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.task-meta {
  display: grid;
  gap: 2px;
  color: var(--muted);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  font-size: 11px;
}

.task-card-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(78px, 1fr));
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
  align-items: center;
}

.task-detail {
  display: grid;
  gap: 8px;
  margin-top: 8px;
  padding: 10px;
  background: #f7faf6;
  border: 1px solid rgba(15, 106, 68, 0.12);
  border-radius: 8px;
}

.task-detail-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.task-detail small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.system-signal-note {
  padding: 12px 14px;
  color: #5a4b21;
  font-size: 13px;
  font-weight: 800;
  background: #fff8e6;
  border: 1px solid #ead8a4;
  border-radius: 10px;
}

.task-result textarea {
  min-height: 78px;
  resize: vertical;
  background: #ffffff;
}

.task-result select {
  margin-bottom: 8px;
}

.task-edit-panel {
  padding: 12px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.task-edit-panel summary {
  cursor: pointer;
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
}

.task-edit-form textarea {
  min-height: 70px;
  resize: vertical;
}

.task-history {
  display: grid;
  gap: 8px;
  margin-top: 4px;
  padding: 12px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.task-history.empty {
  color: var(--muted);
  font-size: 13px;
}

.task-history-item {
  padding: 8px 0;
  border-top: 1px solid var(--line);
}

.task-history-item:first-of-type {
  border-top: 0;
}

.task-history-item b {
  margin-right: 8px;
}

.task-history-item span {
  color: var(--muted);
  font-size: 12px;
}

.task-history-item p {
  margin-top: 4px;
}

.quick-task-create {
  margin-bottom: 14px;
  padding: 12px;
  background: #f7faf6;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.quick-task-create summary {
  color: var(--green);
  font-weight: 900;
  cursor: pointer;
}

.quick-task-create .task-form {
  margin-top: 12px;
  background: #ffffff;
}

.control-card {
  display: grid;
  gap: 14px;
  padding: 16px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.control-card.is-warning {
  background: var(--orange-bg);
  border-color: rgba(183, 107, 24, 0.22);
}

.control-card.is-critical {
  background: var(--red-bg);
  border-color: rgba(197, 58, 50, 0.24);
}

.control-card-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.control-card-head small {
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.control-card-head strong {
  display: block;
  margin-top: 4px;
  font-size: 22px;
}

.control-card-head p,
.control-next p {
  margin: 6px 0 0;
  color: var(--muted);
}

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

.control-metrics span,
.control-metrics button {
  padding: 10px;
  min-width: 0;
  text-align: left;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid var(--line);
  border-radius: 10px;
}

.control-metrics button {
  cursor: pointer;
  font: inherit;
  transition: transform 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease, background 0.14s ease;
}

.control-metrics button:hover,
.control-metrics button:focus-visible,
.metric-pill:hover,
.metric-pill:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(15, 106, 68, 0.34);
  box-shadow: 0 10px 18px rgba(0, 40, 24, 0.08);
  outline: none;
}

.control-metrics b {
  display: block;
  color: var(--ink);
  font-size: 22px;
}

.metric-pill {
  cursor: pointer;
  border: 1px solid currentColor;
  transition: transform 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease;
}

.control-next {
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.task-focus-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
  padding: 12px 14px;
  background: #fff8e8;
  border: 1px solid rgba(199, 126, 33, 0.26);
  border-radius: 12px;
}

.task-focus-banner strong {
  display: block;
  font-size: 15px;
}

.task-focus-banner p {
  margin: 4px 0 0;
  color: var(--muted);
}

tr.is-focused-task-row {
  background: #fffaf0;
  box-shadow: inset 4px 0 0 #d88a1d;
}

#dashboard-priority-queue {
  padding: 18px;
  background: rgba(255, 255, 255, 0.94);
}

#dashboard-priority-queue .section-head {
  align-items: center;
  margin-bottom: 14px;
}

#dashboard-priority-queue .section-head h2 {
  font-size: 20px;
  line-height: 1.22;
}

#dashboard-priority-queue .section-head p {
  max-width: 760px;
  font-size: 14px;
  line-height: 1.45;
}

.dashboard-action-filter {
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease, opacity 0.16s ease;
}

.dashboard-action-filter:disabled {
  cursor: default;
  opacity: 0.62;
}

.dashboard-action-filter:not(:disabled):hover {
  transform: translateY(-1px);
}

.dashboard-action-filter.is-active {
  transform: translateY(-1px);
  box-shadow: 0 0 0 3px rgba(15, 106, 68, 0.14), 0 10px 22px rgba(8, 42, 32, 0.12);
}

.grid.cols-3.dashboard-action-board {
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  align-items: start;
}

.dashboard-action-card {
  position: relative;
  gap: 10px;
  min-height: 0;
  padding: 14px 16px;
  background: #ffffff;
  border-color: rgba(18, 65, 49, 0.12);
  border-radius: 12px;
  box-shadow: 0 10px 26px rgba(8, 42, 32, 0.045);
  overflow: hidden;
  cursor: pointer;
  transition: opacity 0.18s ease, transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.dashboard-action-card:hover,
.dashboard-action-card:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(15, 106, 68, 0.32);
  box-shadow: 0 14px 30px rgba(8, 42, 32, 0.11);
  outline: none;
}

.dashboard-action-card.is-critical {
  background: #fffdfc;
  border-color: rgba(197, 58, 50, 0.2);
  box-shadow: inset 3px 0 0 rgba(197, 58, 50, 0.58), 0 10px 26px rgba(8, 42, 32, 0.045);
}

.dashboard-action-card.is-warning {
  background: #fffefb;
  border-color: rgba(183, 107, 24, 0.2);
  box-shadow: inset 3px 0 0 rgba(183, 107, 24, 0.5), 0 10px 26px rgba(8, 42, 32, 0.045);
}

.dashboard-action-card.is-dashboard-focus-muted {
  opacity: 0.34;
  transform: scale(0.992);
  filter: saturate(0.72);
}

.dashboard-action-card.is-dashboard-focus-match {
  opacity: 1;
  transform: translateY(-2px);
  border-color: rgba(15, 106, 68, 0.42);
  box-shadow: 0 0 0 3px rgba(15, 106, 68, 0.1), 0 16px 32px rgba(8, 42, 32, 0.13);
}

.dashboard-action-card.is-critical.is-dashboard-focus-match {
  border-color: rgba(197, 58, 50, 0.42);
  box-shadow: inset 3px 0 0 rgba(197, 58, 50, 0.72), 0 0 0 3px rgba(197, 58, 50, 0.12), 0 16px 32px rgba(8, 42, 32, 0.13);
}

.dashboard-action-card.is-warning.is-dashboard-focus-match {
  border-color: rgba(183, 107, 24, 0.42);
  box-shadow: inset 3px 0 0 rgba(183, 107, 24, 0.68), 0 0 0 3px rgba(183, 107, 24, 0.12), 0 16px 32px rgba(8, 42, 32, 0.13);
}

.dashboard-action-card .control-card-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}

.dashboard-action-card .control-card-head small {
  color: rgba(15, 106, 68, 0.9);
  font-size: 10px;
  letter-spacing: 0.08em;
}

.dashboard-action-card .control-card-head strong {
  margin-top: 5px;
  font-size: 18px;
  line-height: 1.24;
}

.dashboard-action-card .control-card-head p {
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.35;
}

.dashboard-action-card .pill {
  min-height: 22px;
  padding: 3px 7px;
  font-size: 10px;
  line-height: 1.1;
  white-space: nowrap;
}

.dashboard-action-meta {
  display: grid;
  gap: 5px;
  padding-top: 10px;
  border-top: 1px solid rgba(18, 65, 49, 0.1);
}

.dashboard-action-meta span {
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.35;
}

.dashboard-action-meta b {
  color: var(--ink);
  font-weight: 800;
}

.dashboard-action-card .control-next {
  padding-top: 10px;
  border-top-color: rgba(18, 65, 49, 0.1);
}

.dashboard-action-card .control-next small {
  color: rgba(18, 65, 49, 0.72);
  font-size: 11px;
  font-weight: 800;
}

.dashboard-action-card .control-next p {
  margin-top: 5px;
  font-size: 13px;
  line-height: 1.38;
}

.dashboard-action-buttons {
  gap: 6px;
  margin-top: 0;
  cursor: default;
}

.dashboard-action-buttons .ghost-button {
  min-height: 30px;
  padding: 6px 10px;
  font-size: 11px;
  line-height: 1.1;
}

.dashboard-action-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 12px;
}

.dashboard-action-row {
  display: grid;
  grid-template-columns: 160px 1fr auto;
  gap: 10px;
  align-items: flex-start;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
  background: #fff;
}

.dashboard-action-row.is-warning {
  background: #fff8ef;
  border-left: 4px solid var(--orange);
}

.dashboard-action-row.is-critical {
  background: #fff1f1;
  border-left: 4px solid var(--red);
}

.dashboard-action-row-lane {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 140px;
}

.dashboard-action-row-lane small {
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.dashboard-action-row-content {
  display: grid;
  gap: 6px;
}

.dashboard-action-row-main strong {
  display: block;
  font-size: 14px;
}

.dashboard-action-row-main span {
  color: var(--muted);
  font-size: 13px;
}

.dashboard-action-row-sub {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
}

.dashboard-action-row-sub span {
  font-size: 12px;
  color: var(--muted);
  white-space: nowrap;
}

.dashboard-action-row-sub b {
  color: var(--ink);
}

.dashboard-action-row-detail {
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dashboard-action-row-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: flex-start;
  min-width: 110px;
}

@media (max-width: 1200px) {
  .dashboard-action-row {
    grid-template-columns: 140px 1fr;
  }

  .dashboard-action-row-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
    border-top: 1px solid var(--line);
    margin-top: 6px;
    padding-top: 8px;
  }
}

@media (max-width: 900px) {
  .dashboard-action-list {
    gap: 6px;
  }

  .dashboard-action-row {
    grid-template-columns: 1fr;
    padding: 9px 10px;
  }

  .dashboard-action-row-lane {
    min-width: 0;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}

.daily-report-list {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.daily-report-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.daily-report-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.daily-report-head small {
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.daily-report-head strong {
  display: block;
  margin-top: 4px;
  font-size: 20px;
}

.daily-report-head p,
.daily-report-text p {
  margin: 4px 0 0;
  color: var(--muted);
}

.daily-report-text {
  display: grid;
  gap: 6px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.day-close-form {
  margin-bottom: 14px;
}

.day-close-auto-summary {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
  padding: 14px;
  background: #f8fbf7;
  border: 1px solid rgba(34, 111, 84, 0.22);
  border-radius: 12px;
}

.park-day-close-plan {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
  padding: 14px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.14);
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(8, 42, 32, 0.035);
}

.park-day-close-plan-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.park-day-close-plan-head strong {
  display: block;
  font-size: 16px;
}

.park-day-close-plan-head p {
  margin: 4px 0 0;
  color: var(--muted);
}

.park-day-close-plan-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.park-day-close-plan-block {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 12px;
  background: #f8fbf7;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 10px;
}

.park-day-close-plan-block > div {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  justify-content: space-between;
}

.park-day-close-plan-block strong {
  line-height: 1.25;
}

.park-day-close-plan-block p,
.park-day-close-plan-block small,
.park-day-close-plan-block span {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.park-day-close-plan-block ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.park-day-close-plan-block li {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding-top: 7px;
  border-top: 1px solid rgba(18, 65, 49, 0.1);
}

.park-day-close-plan-block b {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.park-day-close-results {
  display: grid;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.park-day-close-results > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.park-day-close-results span {
  padding: 6px 8px;
  color: #315447;
  font-size: 12px;
  background: #eef7f2;
  border: 1px solid rgba(31, 122, 77, 0.12);
  border-radius: 999px;
}

.day-close-auto-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.day-close-auto-head strong {
  display: block;
  font-size: 16px;
}

.day-close-auto-head p,
.day-close-auto-note {
  margin: 4px 0 0;
  color: var(--muted);
}

.day-close-auto-grid,
.daily-report-auto {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.day-close-auto-grid span,
.daily-report-auto span {
  min-width: 0;
  padding: 10px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid var(--line);
  border-radius: 10px;
}

.day-close-auto-grid b,
.daily-report-auto b {
  display: block;
  color: var(--ink);
  font-size: 18px;
}

.daily-report-auto {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  padding: 10px;
  background: #f8fbf7;
  border: 1px solid rgba(34, 111, 84, 0.16);
  border-radius: 12px;
}

.day-close-quality-gate {
  display: grid;
  gap: 8px;
  margin: 0 0 14px;
  padding: 12px 14px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.day-close-quality-gate.is-warning {
  background: #fff9ed;
  border-color: rgba(204, 122, 19, 0.32);
}

.day-close-quality-gate.is-ok {
  background: #f6fbf8;
  border-color: rgba(34, 111, 84, 0.2);
}

.day-close-quality-gate strong {
  font-size: 14px;
}

.day-close-quality-gate ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
}

.daily-report-quality {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.daily-report-followups {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding-top: 2px;
}

.dossier-grid {
  display: grid;
  gap: 8px;
  margin-top: 8px;
  grid-template-columns: 1fr;
}

.dossier-card {
  padding: 10px 12px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: none;
}

.dossier-card[open] {
  border-color: rgba(15, 106, 68, 0.3);
}

.dossier-card summary {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  list-style: none;
}

.dossier-card summary::-webkit-details-marker {
  display: none;
}

.dossier-card strong {
  display: block;
  font-size: 16px;
}

.dossier-card p {
  margin: 4px 0 0;
  color: var(--muted);
}

.dossier-body {
  display: grid;
  gap: 8px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--line);
}

.dossier-inline-actions {
  justify-content: flex-start;
}

.dossier-block {
  display: grid;
  gap: 6px;
  padding: 8px 10px;
  background: #f7faf6;
  border: 1px solid rgba(15, 106, 68, 0.1);
  border-radius: 8px;
}

.dossier-block summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  list-style: none;
}

.dossier-block summary::-webkit-details-marker {
  display: none;
}

.dossier-block h3 {
  margin: 0;
  font-size: 13px;
}

.dossier-block-body {
  display: grid;
  gap: 8px;
  padding-top: 4px;
}

.driver-doc-control-table {
  min-width: 860px;
}

.driver-doc-control-table td,
.driver-doc-control-table th {
  vertical-align: top;
}

.driver-identity-form {
  display: grid;
  gap: 10px;
}

.driver-doc-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(170px, 1fr));
  gap: 8px;
}

.driver-doc-form-grid label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 820;
}

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

.driver-doc-form-grid input,
.driver-doc-form-grid select,
.driver-doc-form-grid textarea {
  min-width: 0;
  min-height: 34px;
  padding: 7px 9px;
  color: var(--ink);
  font: inherit;
  font-size: 12px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.driver-doc-form-grid textarea {
  min-height: 62px;
  resize: vertical;
}

.legal-document-form,
.legal-case-form {
  grid-template-columns: repeat(4, minmax(180px, 1fr));
}

.legal-template-help {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 8px;
  padding: 10px;
  background: rgba(248, 250, 247, 0.92);
  border: 1px solid var(--line);
  border-radius: 12px;
}

.legal-template-help article {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  background: #ffffff;
  border: 1px solid rgba(31, 122, 77, 0.14);
  border-radius: 10px;
}

.legal-template-help strong {
  color: var(--ink);
  font-size: 13px;
}

.legal-template-help span {
  color: var(--green);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.legal-template-help p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.legal-variable-panel {
  display: grid;
  gap: 12px;
  padding: 14px;
  background: linear-gradient(180deg, rgba(248, 251, 248, 0.98) 0%, #ffffff 100%);
  border: 1px solid rgba(31, 122, 77, 0.16);
  border-radius: 12px;
}

.legal-variable-panel strong {
  color: var(--ink);
  font-size: 14px;
}

.legal-variable-panel p {
  max-width: 860px;
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.legal-variable-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.legal-variable-grid span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 5px 8px;
  color: var(--muted);
  font-size: 12px;
  background: #ffffff;
  border: 1px solid rgba(31, 122, 77, 0.12);
  border-radius: 999px;
}

.legal-variable-grid code {
  color: #075f42;
  font-family: Consolas, "Courier New", monospace;
  font-size: 11px;
  font-weight: 850;
}

.legal-package-picker {
  display: grid;
  gap: 8px;
  padding: 14px;
  background: rgba(240, 253, 244, 0.62);
  border: 1px solid rgba(31, 122, 77, 0.18);
  border-radius: 12px;
}

.legal-package-picker > strong {
  color: var(--green);
  font-size: 14px;
}

.legal-package-picker > p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.legal-contract-live-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  padding: 12px;
  background: rgba(247, 250, 247, 0.96);
  border: 1px solid rgba(31, 122, 77, 0.14);
  border-radius: 12px;
}

.legal-contract-live-summary article {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  background: #ffffff;
  border: 1px solid rgba(31, 122, 77, 0.12);
  border-radius: 10px;
}

.legal-contract-live-summary small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.legal-contract-live-summary strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.3;
}

.legal-contract-live-summary span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.legal-package-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 8px;
}

.legal-package-option {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  min-height: 42px;
  padding: 8px 10px;
  background: #fff;
  border: 1px solid rgba(31, 122, 77, 0.16);
  border-radius: 10px;
  cursor: pointer;
}

.legal-package-option:hover {
  border-color: rgba(0, 99, 70, 0.42);
  background: rgba(245, 250, 247, 0.94);
}

.legal-package-option input {
  width: auto;
}

.legal-package-desk {
  display: grid;
  gap: 14px;
  margin-top: 16px;
  padding: 16px;
  background: rgba(248, 250, 248, 0.98);
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 12px;
}

.legal-package-desk-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.legal-package-desk-head strong {
  display: block;
  color: var(--ink);
  font-size: 16px;
}

.legal-package-desk-head p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.legal-package-desk-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}

.legal-package-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 14px;
  background: #ffffff;
  border: 1px solid rgba(31, 122, 77, 0.14);
  border-radius: 10px;
}

.legal-package-card:hover {
  border-color: rgba(31, 122, 77, 0.3);
  box-shadow: 0 10px 22px rgba(18, 65, 49, 0.07);
}

.legal-package-card-head {
  display: grid;
  gap: 4px;
}

.legal-package-card-head span {
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.legal-package-card-head strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.3;
}

.legal-package-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.legal-package-card label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.legal-package-card textarea {
  min-height: 86px;
}

.legal-package-template-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.legal-package-template-list span {
  padding: 5px 8px;
  color: #244239;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
  background: rgba(237, 241, 238, 0.88);
  border: 1px solid rgba(18, 65, 49, 0.09);
  border-radius: 999px;
}

.legal-secondary-generator {
  margin-top: 14px;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--line);
  border-radius: 12px;
}

.legal-secondary-generator summary {
  cursor: pointer;
  color: var(--green);
  font-weight: 850;
}

.legal-secondary-generator[open] summary {
  margin-bottom: 12px;
}

.legal-doc-list,
.legal-case-grid {
  display: grid;
  gap: 12px;
}

.legal-contract-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: 12px;
}

.legal-contract-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--line);
  border-radius: 14px;
}

.legal-contract-card.needs-attention {
  background: rgba(255, 251, 244, 0.96);
  border-color: rgba(214, 137, 16, 0.26);
}

.legal-contract-card-head,
.legal-contract-entities {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  justify-content: space-between;
}

.legal-contract-card-head p,
.legal-contract-note span,
.legal-contract-entities span {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.legal-contract-number {
  font-size: 17px;
  font-weight: 800;
}

.legal-contract-entities {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.legal-contract-entities > div {
  min-width: 0;
  padding: 10px;
  background: rgba(247, 250, 247, 0.82);
  border: 1px solid rgba(31, 122, 77, 0.12);
  border-radius: 12px;
}

.legal-contract-entities small {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-weight: 800;
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.04em;
}

.legal-contract-docs,
.legal-contract-cases,
.legal-contract-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.legal-contract-note {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  padding: 10px;
  background: rgba(240, 253, 244, 0.58);
  border: 1px solid rgba(31, 122, 77, 0.14);
  border-radius: 12px;
}

.legal-doc-card,
.legal-case-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--line);
  border-radius: 14px;
}

.legal-case-card.is-overdue {
  background: rgba(255, 246, 244, 0.9);
  border-color: rgba(207, 54, 48, 0.28);
}

.legal-case-card.is-closed {
  opacity: 0.64;
  background: rgba(245, 247, 245, 0.94);
}

.legal-doc-card-head,
.legal-case-head,
.legal-case-meta {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  justify-content: space-between;
}

.legal-doc-card-head strong,
.legal-case-head strong {
  display: block;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.25;
}

.legal-doc-card-head p,
.legal-case-head p,
.legal-case-card p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.legal-doc-card-head small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.legal-doc-snapshot {
  margin: 2px 0 4px;
  padding: 12px;
  border: 1px solid rgba(24, 93, 65, 0.16);
  border-radius: 8px;
  background: rgba(248, 251, 248, 0.92);
}

.legal-doc-snapshot.is-warning {
  border-color: rgba(200, 52, 46, 0.28);
  background: rgba(255, 247, 245, 0.95);
}

.legal-doc-snapshot-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.legal-doc-snapshot-head strong {
  font-size: 13px;
}

.legal-doc-snapshot-head span {
  color: var(--muted);
  font-size: 12px;
}

.legal-doc-snapshot-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
}

.legal-doc-snapshot-grid span {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid rgba(24, 93, 65, 0.12);
  border-radius: 7px;
  background: #fff;
}

.legal-doc-snapshot-grid small {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.legal-doc-snapshot-grid strong {
  display: block;
  overflow-wrap: anywhere;
  font-size: 13px;
  line-height: 1.35;
}

.legal-doc-backend-status {
  display: grid;
  gap: 5px;
  padding: 9px 10px;
  border: 1px solid rgba(24, 93, 65, 0.14);
  border-radius: 8px;
  background: rgba(246, 251, 248, 0.86);
}

.legal-doc-backend-status small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.legal-document-editor {
  width: 100%;
  min-height: 300px;
  padding: 14px;
  color: #15231d;
  font: 14px/1.55 Arial, sans-serif;
  white-space: pre-wrap;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfb 100%);
  border: 1px solid rgba(31, 122, 77, 0.18);
  border-radius: 12px;
  resize: vertical;
}

.legal-document-editor:focus {
  outline: 2px solid rgba(31, 122, 77, 0.18);
  border-color: rgba(31, 122, 77, 0.36);
}

.legal-doc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.legal-case-meta {
  justify-content: flex-start;
  flex-wrap: wrap;
  padding: 10px;
  background: rgba(244, 248, 246, 0.9);
  border: 1px solid rgba(31, 122, 77, 0.12);
  border-radius: 10px;
}

.legal-case-meta span {
  color: var(--muted);
  font-size: 12px;
}

.warning-row {
  background: rgba(255, 247, 235, 0.72);
}

.compact-table table {
  font-size: 13px;
}

.signal {
  display: grid;
  grid-template-columns: 8px minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: start;
  padding: 14px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 14px;
}

.signal.is-clickable {
  cursor: pointer;
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.signal.is-clickable:hover,
.signal.is-clickable:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(31, 122, 77, 0.38);
  box-shadow: 0 12px 28px rgba(14, 56, 38, 0.1);
  outline: none;
}

.signal::before {
  width: 8px;
  height: 100%;
  min-height: 44px;
  content: "";
  border-radius: 999px;
  background: var(--muted);
}

.signal.red::before {
  background: var(--red);
}

.signal.orange::before {
  background: var(--orange);
}

.signal.blue::before {
  background: var(--blue);
}

.signal.green::before {
  background: var(--ok);
}

.signal strong {
  display: block;
  margin-bottom: 4px;
}

.signal p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.signal-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  max-width: 220px;
}

.signal-action-button {
  min-height: 34px;
  padding: 6px 12px;
  font-size: 13px;
}

.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  max-width: 100%;
  min-height: 24px;
  padding: 4px 8px;
  color: var(--muted);
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  background: #f3f5f2;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.1;
  text-align: center;
}

.pill.red {
  color: #ffffff;
  background: #c53a32;
  border-color: #c53a32;
}

.pill.orange {
  color: #3b2506;
  background: #ffd891;
  border-color: rgba(183, 107, 24, 0.55);
}

.pill.green {
  color: #ffffff;
  background: #137447;
  border-color: #137447;
}

.pill.neutral {
  color: #5f6f67;
  background: #eef2ef;
  border-color: #d4ddd7;
}

.pill.blue {
  color: #0a3f68;
  background: #dcefff;
  border-color: rgba(36, 107, 152, 0.42);
}

.pill.burgundy {
  color: #ffffff;
  background: #7f1d2d;
  border-color: #7f1d2d;
}

.table-wrap {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  border: 1px solid var(--line);
  border-radius: 14px;
}

table {
  width: 100%;
  min-width: 760px;
  table-layout: fixed;
  border-collapse: collapse;
  background: #ffffff;
}

.drivers-table {
  table-layout: auto;
  min-width: 920px;
}

.drivers-table th,
.drivers-table td {
  vertical-align: top;
}

.driver-cell-stack {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.driver-name-link {
  width: fit-content;
  max-width: 100%;
  padding: 0;
  color: var(--text);
  font: inherit;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.2;
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.driver-name-link:hover,
.driver-name-link:focus-visible {
  color: var(--green);
}

.driver-cell-meta {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.muted-text {
  color: var(--muted);
}

.warning-text {
  color: #9a6414;
  font-weight: 900;
}

.driver-signal-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  min-height: 28px;
  padding: 4px 10px;
  color: var(--blue);
  font: inherit;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.1;
  text-align: center;
  white-space: nowrap;
  background: var(--blue-bg);
  border: 1px solid rgba(36, 107, 152, 0.18);
  border-radius: 999px;
  cursor: pointer;
}

.driver-signal-button.orange {
  color: var(--orange);
  background: var(--orange-bg);
  border-color: rgba(183, 107, 24, 0.22);
}

.driver-signal-button.red {
  color: var(--red);
  background: var(--red-bg);
  border-color: rgba(197, 58, 50, 0.22);
}

.driver-signal-button.green {
  color: var(--ok);
  background: #eefaf3;
  border-color: rgba(31, 122, 77, 0.2);
}

.driver-signal-button:hover,
.driver-signal-button:focus-visible {
  filter: brightness(0.98);
}

.rent-timeline-wrap {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #ffffff;
}

.rent-calendar-command-panel {
  display: grid;
  grid-template-columns: minmax(170px, 0.7fr) minmax(190px, 0.8fr) minmax(260px, 1.6fr) auto;
  gap: 12px;
  align-items: stretch;
  margin-bottom: 14px;
  padding: 12px;
  background: #f8fbf7;
  border: 1px solid rgba(34, 111, 84, 0.18);
  border-radius: 14px;
}

.rent-calendar-command-panel article,
.rent-calendar-command-list {
  padding: 12px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.rent-calendar-command-panel small {
  color: var(--muted);
  font-weight: 850;
}

.rent-calendar-command-panel strong {
  display: block;
  margin-top: 4px;
  font-size: 24px;
}

.rent-calendar-command-panel p {
  margin: 4px 0 0;
  color: var(--muted);
}

.rent-calendar-command-panel article.is-month-summary {
  background: #f5fffa;
  border-color: rgba(31, 122, 77, 0.26);
}

.rent-calendar-command-list {
  display: grid;
  gap: 8px;
}

.rent-calendar-command-list span {
  color: var(--muted);
}

.rent-calendar-command-list b {
  display: inline-flex;
  width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  margin-right: 6px;
  color: #ffffff;
  background: var(--green);
  border-radius: 999px;
}

.rent-calendar-command-actions {
  display: grid;
  gap: 8px;
  align-content: center;
}

.rent-month-cash-analytics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 14px;
}

.rent-month-cash-analytics article {
  padding: 14px;
  background: #f8fbf7;
  border: 1px solid rgba(34, 111, 84, 0.18);
  border-radius: 12px;
}

.rent-month-cash-analytics small {
  color: var(--muted);
  font-weight: 850;
}

.rent-month-cash-analytics strong {
  display: block;
  margin-top: 4px;
  font-size: 24px;
}

.rent-month-cash-analytics p {
  margin: 4px 0 0;
  color: var(--muted);
}

.rent-timeline {
  min-width: max-content;
}

.rent-timeline-header,
.rent-timeline-row {
  --rent-timeline-day-width: 42px;
  display: grid;
  grid-template-columns: 220px minmax(0, calc(var(--rent-timeline-days) * var(--rent-timeline-day-width)));
}

.rent-timeline-sticky {
  position: sticky;
  left: 0;
  z-index: 2;
  background: #ffffff;
}

.rent-timeline-corner,
.rent-timeline-meta {
  padding: 12px 14px;
  border-right: 1px solid var(--line);
}

.rent-timeline-corner {
  border-bottom: 1px solid var(--line);
}

.rent-timeline-corner strong,
.rent-timeline-meta strong {
  display: block;
}

.rent-timeline-corner small,
.rent-timeline-meta small,
.rent-timeline-meta span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.rent-timeline-months,
.rent-timeline-days,
.rent-timeline-cells {
  display: grid;
  grid-template-columns: repeat(var(--rent-timeline-days), var(--rent-timeline-day-width));
}

.rent-timeline-month {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 0;
  color: var(--text);
  font-size: 13px;
  font-weight: 700;
  text-transform: capitalize;
  border-bottom: 1px solid var(--line);
  border-left: 1px solid rgba(15, 23, 42, 0.05);
  background: #f7faf6;
}

.rent-timeline-day-head {
  display: grid;
  gap: 2px;
  justify-items: center;
  align-content: center;
  min-height: 42px;
  border-bottom: 1px solid var(--line);
  border-left: 1px solid rgba(15, 23, 42, 0.05);
  background: #ffffff;
}

.rent-timeline-day-head small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
}

.rent-timeline-day-head strong {
  font-size: 12px;
  line-height: 1;
}

.rent-timeline-day-head.is-weekend {
  background: #f8f8f8;
}

.rent-timeline-day-head.is-weekend small {
  color: #9a5b12;
}

.rent-timeline-day-head.is-today {
  background: #eefaf3;
  box-shadow: inset 0 -2px 0 rgba(31, 122, 77, 0.34);
}

.rent-timeline-body {
  display: grid;
}

.rent-timeline-row + .rent-timeline-row {
  border-top: 1px solid var(--line);
}

.rent-timeline-meta {
  display: grid;
  gap: 2px;
  align-content: center;
}

.rent-timeline-meta-stack {
  display: grid;
  gap: 3px;
}

.rent-timeline-meta-link {
  display: grid;
  gap: 2px;
  width: 100%;
  padding: 0;
  color: inherit;
  font: inherit;
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.rent-timeline-meta-link.is-driver {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.3;
}

.rent-timeline-meta-link:hover strong {
  color: var(--green);
}

.rent-timeline-meta-link.is-driver:hover {
  color: var(--green);
}

.rent-timeline-free-driver {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
}

.rent-contract-warning {
  display: inline-flex;
  width: fit-content;
  margin-top: 4px;
  padding: 4px 7px;
  color: #9a5b12;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  background: #fff0d9;
  border: 1px solid rgba(194, 111, 22, 0.25);
  border-radius: 999px;
}

.rent-contract-warning.is-expired {
  color: #b0372f;
  background: #fff0ed;
  border-color: rgba(208, 74, 64, 0.3);
}

.rent-timeline-cell {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 2px;
  min-width: 0;
  min-height: 50px;
  padding: 4px 3px;
  border: 0;
  border-left: 1px solid rgba(15, 23, 42, 0.05);
  border-radius: 0;
  background: #f6f1ea;
  color: var(--text);
  cursor: pointer;
}

.rent-timeline-cell span {
  display: block;
  max-width: 100%;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.05;
  text-transform: uppercase;
  letter-spacing: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: center;
}

.rent-timeline-cell small {
  margin-top: 3px;
  font-size: 10px;
  line-height: 1;
  color: inherit;
  opacity: 0.84;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rent-timeline-cell em {
  display: block;
  max-width: 100%;
  min-height: 9px;
  color: inherit;
  font-size: 8px;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  opacity: 0.84;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rent-timeline-cell:hover {
  box-shadow: inset 0 0 0 2px rgba(31, 122, 77, 0.28);
}

.rent-timeline-cell.is-today {
  box-shadow: inset 0 0 0 2px rgba(31, 122, 77, 0.42);
}

.rent-timeline-cell.is-neutral {
  background: #eef1ec;
  color: #5a665f;
}

.rent-timeline-cell.is-sunday {
  background-image: linear-gradient(135deg, rgba(194, 111, 22, 0.08) 0 25%, transparent 25% 50%, rgba(194, 111, 22, 0.08) 50% 75%, transparent 75%);
  background-size: 12px 12px;
}

.rent-timeline-cell.is-sunday.is-neutral {
  background-color: #f2efe8;
}

.rent-timeline-cell.is-paid {
  background: #dff5e8;
  color: #0f6a44;
}

.rent-timeline-cell.is-partial {
  background: #fff0d9;
  color: #9a5b12;
}

.rent-timeline-cell.is-discount {
  background: #fff4df;
  color: #8f5c12;
}

.rent-timeline-cell.is-dayoff {
  background: #e3efff;
  color: #285ea8;
}

.rent-timeline-cell.is-missed {
  background: #ffd9d5;
  color: #b0372f;
}

.rent-timeline-cell.is-inspection {
  background: #ffe7b8;
  color: #7a3d00;
  box-shadow: inset 0 0 0 1px rgba(194, 111, 22, 0.38);
}

.rent-timeline-cell.is-vehicle-repair {
  background: #fff0c9;
  color: #7a3d00;
  box-shadow: inset 0 0 0 1px rgba(194, 111, 22, 0.46);
}

.rent-timeline-cell.is-returned {
  background: #dde3df;
  color: #314138;
}

.rent-timeline-cell.is-search-driver {
  background: #edf0ea;
  color: #65705f;
}

.rent-timeline-cell.is-downtime {
  background: #f0efea;
  color: #6d655b;
}

.rent-timeline-cell.is-deferred {
  background: #fff1e1;
  color: #8b560c;
}

.rent-timeline-cell.is-sick {
  background: #edf2ff;
  color: #315c9c;
}

.rent-timeline-cell.is-accident {
  background: #7f1d2d;
  color: #ffffff;
}

.rent-timeline-cell.is-expense-day {
  background: #f8eadf;
  color: #8f4e22;
}

.rent-timeline-cell.is-contract-ending {
  box-shadow: inset 0 0 0 2px rgba(194, 111, 22, 0.65);
}

.rent-timeline-cell.is-contract-end {
  box-shadow: inset 0 0 0 2px rgba(208, 74, 64, 0.86);
}

.rent-timeline-cell.has-service::after {
  content: "";
  position: absolute;
  top: 5px;
  right: 5px;
  width: 6px;
  height: 6px;
  background: #c26f16;
  border-radius: 999px;
}

.rent-timeline-cell.has-service,
.rent-timeline-cell.has-fine,
.rent-timeline-cell.has-expense {
  position: relative;
}

.rent-timeline-cell.has-fine em {
  color: #7a3d00;
  font-weight: 950;
}

.rent-timeline-cell.has-expense::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  width: 6px;
  height: 6px;
  background: #b85f25;
  border-radius: 999px;
}

.rent-timeline-cell.is-outside {
  min-height: 44px;
  border-left: 1px solid rgba(15, 23, 42, 0.04);
  background: #ffffff;
}

.clickable-table-row {
  cursor: pointer;
  transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.clickable-table-row:hover {
  background: #f7faf6;
}

.clickable-table-row:active {
  background: #edf5ed;
}

th,
td {
  overflow-wrap: anywhere;
  word-break: normal;
}

td .pill,
th .pill,
.doc-badges .pill,
.inline-actions .pill,
.row-actions .pill {
  overflow-wrap: normal;
  word-break: keep-all;
}

th,
td {
  padding: 12px;
  text-align: left;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}

th {
  color: var(--muted);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: #f7faf6;
}

.rent-vehicles-table table {
  min-width: 980px;
}

.rent-vehicles-table td,
.rent-vehicles-table th {
  vertical-align: top;
}

.rent-contracts-table table {
  min-width: 1020px;
}

.rent-contracts-table td,
.rent-contracts-table th {
  vertical-align: top;
}

.rent-contract-card-list {
  display: grid;
  gap: 14px;
}

.rent-contract-card {
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.13);
  border-left: 4px solid rgba(15, 106, 68, 0.42);
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(14, 56, 38, 0.05);
}

.rent-contract-card.is-critical {
  border-left-color: #d33a32;
}

.rent-contract-card.is-warning {
  border-left-color: #d69322;
}

.rent-contract-card.is-archived {
  opacity: 0.72;
}

.rent-contract-card-main {
  display: grid;
  grid-template-columns: minmax(120px, 0.75fr) minmax(260px, 1.4fr) minmax(260px, 1.45fr) minmax(210px, 1.05fr) minmax(250px, 1.25fr);
  gap: 16px;
  align-items: start;
  padding: 16px 18px;
}

.rent-contract-identity,
.rent-contract-persons > div,
.rent-contract-money > div,
.rent-contract-next {
  display: grid;
  gap: 5px;
}

.rent-contract-identity small,
.rent-contract-persons small,
.rent-contract-money small,
.rent-contract-next small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.rent-contract-persons,
.rent-contract-money,
.rent-contract-signals {
  display: grid;
  gap: 10px;
}

.rent-contract-persons {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rent-contract-money {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rent-contract-money > div {
  padding: 9px 10px;
  background: #f7faf6;
  border: 1px solid rgba(18, 65, 49, 0.10);
  border-radius: 10px;
}

.rent-contract-money strong,
.rent-contract-next strong {
  line-height: 1.25;
}

.rent-contract-persons span,
.rent-contract-next span {
  color: var(--muted);
  font-size: 12px;
}

.contract-card-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.rent-contract-details {
  border-top: 1px solid rgba(18, 65, 49, 0.10);
}

.rent-contract-details > summary {
  cursor: pointer;
  padding: 11px 18px;
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  background: #f8fbf8;
}

.rent-contract-details[open] > summary {
  border-bottom: 1px solid rgba(18, 65, 49, 0.10);
}

.rent-contract-detail-host {
  padding: 0;
}

.contract-detail-top {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 12px;
}

.contract-detail-top p {
  margin: 4px 0 0;
  color: var(--muted);
}

.rent-payment-board-wrap {
  background: #ffffff;
  border-radius: 16px;
}

.rent-payment-board-table {
  min-width: 1180px;
  table-layout: fixed;
}

.rent-payment-board-table th,
.rent-payment-board-table td {
  padding: 12px;
  vertical-align: top;
}

.rent-payment-board-table th:nth-child(1) {
  width: 190px;
}

.rent-payment-board-table th:nth-child(2) {
  width: 150px;
}

.rent-payment-board-table th:nth-child(3),
.rent-payment-board-table th:nth-child(4),
.rent-payment-board-table th:nth-child(5) {
  width: 132px;
}

.rent-payment-board-table th:nth-child(6) {
  width: 150px;
}

.rent-payment-board-table th:nth-child(7) {
  width: 116px;
}

.rent-payment-board-table th:nth-child(8) {
  width: 210px;
}

.rent-payment-board-row td {
  background: #ffffff;
}

.rent-payment-board-row.is-critical td {
  background: #fffafa;
}

.rent-payment-board-row.is-warning td {
  background: #fffdf6;
}

.rent-payment-board-person,
.rent-payment-board-contract,
.rent-payment-board-day,
.rent-payment-board-deposit,
.rent-payment-board-signal,
.rent-payment-board-hint {
  min-width: 0;
}

.rent-payment-board-person,
.rent-payment-board-contract {
  display: grid;
  gap: 7px;
}

.rent-payment-board-link {
  width: fit-content;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.22;
  text-align: left;
}

.rent-payment-board-link.is-static {
  display: inline-block;
}

.rent-payment-board-car .rent-payment-board-link {
  color: var(--green);
  font-size: 14px;
  font-weight: 950;
}

.rent-payment-board-driver .rent-payment-board-link {
  color: var(--text);
  font-size: 13px;
  font-weight: 760;
}

.rent-payment-board-contract span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
}

.rent-payment-board-action {
  display: block;
  width: 100%;
}

.payment-status-pill {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  min-height: 38px;
  gap: 3px;
  padding: 7px 9px;
  border-radius: 10px;
  white-space: normal;
  text-align: left;
  line-height: 1.12;
}

.payment-status-pill b,
.payment-status-pill small {
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.payment-status-pill b {
  font-size: 11px;
  line-height: 1.15;
}

.payment-status-pill small {
  font-size: 11px;
  font-weight: 760;
  line-height: 1.2;
  opacity: 0.92;
}

.rent-payment-board-signal .pill {
  min-height: 28px;
  border-radius: 10px;
  white-space: normal;
  line-height: 1.15;
}

.rent-payment-board-signal .pill-button {
  width: 100%;
}

.rent-payment-board-signal .pill-button .pill {
  width: 100%;
}

.rent-payment-board-hint {
  color: var(--text);
  font-size: 13px;
  line-height: 1.4;
}

td {
  font-size: 14px;
}

tr:last-child td {
  border-bottom: 0;
}

.statement-detail-row td {
  background: #fbfcf7;
}

.contract-detail-row td {
  padding: 0 12px 12px;
  background: #fbfcf7;
}

.statement-detail-row summary {
  color: var(--green);
  font-weight: 850;
  cursor: pointer;
}

.contract-detail-card {
  margin-top: -1px;
  padding: 10px 12px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 0 0 10px 10px;
}

.contract-detail-card[open] {
  border-color: rgba(15, 106, 68, 0.28);
  box-shadow: none;
}

.contract-detail-card summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  color: var(--green);
  cursor: pointer;
  list-style: none;
}

.contract-detail-card summary::-webkit-details-marker {
  display: none;
}

.contract-detail-card summary strong {
  color: var(--text);
  line-height: 1.25;
}

.contract-detail-card summary p,
.contract-detail-body p,
.contract-history-grid p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.contract-detail-body {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}

.contract-detail-grid,
.contract-history-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.contract-history-grid {
  grid-template-columns: 1fr;
}

.contract-detail-grid article,
.contract-history-grid > div {
  min-width: 0;
  padding: 8px;
  background: #f7faf6;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.contract-detail-grid small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.contract-detail-grid strong {
  display: block;
  margin-top: 4px;
  line-height: 1.25;
}

.contract-history-grid h4 {
  margin: 0 0 8px;
  font-size: 13px;
}

.contract-legal-dossier {
  display: grid;
  gap: 12px;
  padding: 12px;
  background: rgba(255, 251, 244, 0.72);
  border: 1px solid rgba(214, 137, 16, 0.22);
  border-radius: 14px;
}

.contract-legal-dossier-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.contract-legal-dossier-head h4 {
  margin: 0;
  font-size: 14px;
}

.contract-legal-dossier-head p {
  max-width: 720px;
}

.contract-legal-dossier-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.contract-legal-dossier-grid article {
  min-width: 0;
  padding: 10px;
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(31, 122, 77, 0.12);
  border-radius: 12px;
}

.contract-legal-dossier-grid article > small {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.contract-legal-actions {
  padding-top: 2px;
}

.history-line {
  display: grid;
  gap: 2px;
  padding: 8px 0;
  border-top: 1px solid var(--line);
}

.history-line-button {
  width: 100%;
  color: inherit;
  font: inherit;
  text-align: left;
  background: transparent;
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  cursor: pointer;
  transition: color 0.16s ease, transform 0.16s ease;
}

.history-line-button:hover,
.history-line-button:focus-visible {
  color: var(--green);
  transform: translateX(2px);
  outline: none;
}

.history-line:first-of-type {
  border-top: 0;
}

.history-line.is-muted {
  opacity: 0.65;
}

.rent-day-event-history {
  background: #f4f8f7;
  border-radius: 8px;
}

.history-line span,
.history-line small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

.history-line strong {
  line-height: 1.25;
}

.contract-detail-actions {
  padding-top: 2px;
}

.contract-contact-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f7faf6;
}

.contract-contact-strip small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.contract-contact-strip strong {
  display: block;
  margin-top: 4px;
}

.contract-contact-strip p {
  margin: 4px 0 0;
}

.contract-contact-actions {
  justify-content: flex-end;
}

.contract-daily-journal {
  display: grid;
  gap: 10px;
}

.contract-daily-journal-head h4 {
  margin: 0 0 4px;
  font-size: 14px;
}

.contract-journal-row.is-paid {
  background: #f4fcf7;
}

.contract-journal-row.is-partial {
  background: #fff8ed;
}

.contract-journal-row.is-dayoff {
  background: #eef5ff;
}

.contract-journal-row.is-event {
  background: #f2f8f6;
}

.contract-journal-row.is-missed {
  background: #fff2f0;
}

.contract-journal-row td {
  vertical-align: top;
}

.contract-journal-comment {
  display: grid;
  gap: 4px;
  min-width: 220px;
}

.rent-day-event-chip {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: 3px 7px;
  color: #0f5f3d;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
  background: #e9f6ef;
  border: 1px solid rgba(31, 122, 77, 0.16);
  border-radius: 999px;
}

.contract-journal-comment small {
  color: var(--muted);
  font-size: 11px;
}

.contract-day-note-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.95fr) minmax(320px, 1.05fr);
  gap: 14px;
  align-items: start;
}

.contract-day-note-history,
.contract-day-note-form {
  min-width: 0;
}

.contract-day-note-history {
  display: grid;
  gap: 10px;
}

.contract-day-note-history h4 {
  margin: 0;
  font-size: 14px;
}

.contract-day-note-workspace .history-line {
  background: #f8fbf7;
}

.payment-edit-layout {
  display: grid;
  grid-template-columns: minmax(320px, 1.05fr) minmax(260px, 0.95fr);
  gap: 14px;
  align-items: start;
}

.payment-edit-history {
  display: grid;
  gap: 10px;
}

.payment-edit-history h4 {
  margin: 0;
  font-size: 14px;
}

.rent-cash-journal-wrap {
  border-radius: 12px;
  overflow: auto;
}

.rent-cash-journal-table {
  min-width: 1080px;
  table-layout: fixed;
}

.rent-cash-search {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 180px auto;
  gap: 10px;
  align-items: end;
  margin: 12px 0 14px;
}

.rent-cash-search label {
  margin: 0;
}

.rent-cash-search-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.rent-cash-search-actions span,
.rent-cash-search-limit {
  color: var(--muted);
  font-size: 12px;
}

.rent-cash-journal-table th:nth-child(1) {
  width: 108px;
}

.rent-cash-journal-table th:nth-child(2) {
  width: 160px;
}

.rent-cash-journal-table th:nth-child(3) {
  min-width: 250px;
}

.rent-cash-journal-table th:nth-child(4) {
  width: 125px;
}

.rent-cash-row td {
  vertical-align: top;
  padding-top: 7px;
  padding-bottom: 7px;
  line-height: 1.25;
}

.rent-cash-operation-cell,
.rent-cash-objects-cell,
.rent-cash-control-cell {
  display: grid;
  gap: 2px;
}

.rent-cash-operation-cell strong,
.rent-cash-amount-cell strong {
  font-size: 15px;
}

.rent-cash-operation-cell small,
.rent-cash-control-cell small {
  color: var(--muted);
  font-size: 10.5px;
}

.rent-cash-objects-cell .workspace-entity-link {
  width: fit-content;
  max-width: 100%;
  text-align: left;
}

.rent-cash-objects-cell .cash-main-link {
  font-size: 13px;
  font-weight: 950;
}

.workspace-entity-link-inline {
  display: inline;
  padding: 0;
  min-height: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  vertical-align: baseline;
}

.rent-cash-comment {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 320px;
  line-height: 1.25;
}

.payment-type-pill {
  width: fit-content;
}

.driver-contract-inline {
  display: inline;
  padding: 0;
  min-height: 0;
  border: 0;
  background: transparent;
  color: var(--green);
  font: inherit;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.driver-contract-inline:hover {
  color: #064b35;
  background: transparent;
}

.rent-overdue-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 12px;
}

.rent-overdue-summary span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #f4f8f3;
  border: 1px solid var(--line);
  font-size: 12px;
  font-weight: 800;
  color: var(--text);
}

.rent-overdue-row.red {
  background: #fff3f1;
}

.rent-overdue-row.orange {
  background: #fff8ed;
}

@media (max-width: 900px) {
  .contract-day-note-layout {
    grid-template-columns: 1fr;
  }

  .payment-edit-layout {
    grid-template-columns: 1fr;
  }
}

.compact-table {
  margin-top: 10px;
}

.compact-table th,
.compact-table td {
  padding: 8px 10px;
  font-size: 13px;
}

.rent-partners-layout {
  display: grid;
  gap: 12px;
}

.vehicle-work-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-bottom: 8px;
}

.vehicle-work-card {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 10px 12px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: none;
}

.vehicle-work-card.is-critical {
  background: #fff6f3;
  border-color: rgba(208, 74, 64, 0.28);
}

.vehicle-work-card.is-warning {
  background: #fffaf0;
  border-color: rgba(201, 162, 74, 0.3);
}

.vehicle-work-card.is-archived {
  opacity: 0.7;
  background: #f7f8f4;
}

.vehicle-work-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.vehicle-work-head small,
.vehicle-work-body small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.vehicle-work-head strong,
.vehicle-title-button {
  display: block;
  margin-top: 4px;
  font-size: 15px;
  line-height: 1.2;
}

.vehicle-title-button {
  width: fit-content;
  max-width: 100%;
  padding: 0;
  color: var(--text);
  font-weight: 950;
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.vehicle-title-button:hover {
  color: var(--green);
}

.vehicle-work-body {
  display: grid;
  grid-template-columns: minmax(200px, 1.35fr) minmax(180px, 1.1fr) minmax(150px, 0.9fr) minmax(150px, 0.9fr) minmax(220px, 1.2fr) minmax(200px, 1.1fr);
  gap: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
  background: #fbfcf8;
}

.vehicle-work-body > * {
  min-width: 0;
  min-height: 60px;
  padding: 8px 10px;
  background: transparent;
  border-left: 1px solid var(--line);
}

.vehicle-work-body > :first-child {
  border-left: 0;
}

.vehicle-work-stat {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 4px;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.vehicle-work-stat:hover,
.vehicle-work-stat:focus-visible {
  background: #f4f8f3;
  outline: none;
}

.vehicle-work-stat:disabled {
  cursor: default;
  opacity: 1;
}

.vehicle-work-stat.is-critical {
  background: #fff3ee;
}

.vehicle-work-stat.is-warning {
  background: #fff8eb;
}

.vehicle-work-stat.is-ok {
  background: #f4faf4;
}

.vehicle-work-static {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 4px;
}

.vehicle-work-body strong {
  display: block;
  margin-top: 0;
  font-size: 13px;
  line-height: 1.25;
  text-align: left;
}

.vehicle-work-card p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.vehicle-work-inline-note {
  display: block;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.vehicle-work-actions {
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.vehicle-work-actions .ghost-button,
.vehicle-work-actions .pill {
  white-space: nowrap;
}

.vehicle-history-panel {
  padding: 10px;
  background: #fbfcf7;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.vehicle-history-panel[open] {
  background: #ffffff;
  border-color: rgba(15, 106, 68, 0.24);
}

.vehicle-history-panel summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  color: var(--green);
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}

.vehicle-history-panel summary::-webkit-details-marker {
  display: none;
}

.vehicle-history-panel summary small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}

.vehicle-history-panel-inline {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.vehicle-history-panel-inline summary {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  height: 100%;
  padding: 8px 10px;
  color: var(--green);
  font-size: 12px;
}

.vehicle-history-panel-inline summary small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.vehicle-history-panel-inline[open] {
  grid-column: 1 / -1;
  padding: 10px;
  background: #ffffff;
  border-top: 1px solid var(--line);
}

.vehicle-history-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 8px;
}

.vehicle-history-column {
  min-width: 0;
  padding: 8px;
  background: #f7faf6;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.vehicle-history-column h4 {
  margin: 0 0 6px;
  font-size: 12px;
}

.vehicle-history-title {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 6px;
  padding: 0;
  color: var(--ink);
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.vehicle-history-title:hover,
.vehicle-history-title:focus-visible {
  color: var(--green);
}

.vehicle-history-column p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.vehicle-history-actions {
  margin-top: 10px;
}

.vehicle-history-actions .ghost-button {
  white-space: nowrap;
}

.panel-block {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #ffffff;
}

.panel-block h3 {
  margin: 0 0 10px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 900;
}

.activity-mini-list {
  display: grid;
  gap: 8px;
}

.activity-mini-item {
  padding: 10px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.activity-mini-item div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}

.activity-mini-item span {
  color: var(--muted);
  font-size: 12px;
}

.activity-mini-item p {
  margin: 6px 0 0;
  color: var(--ink);
}

.task-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr));
  gap: 12px;
  align-items: start;
  max-width: 100%;
  min-width: 0;
  padding: 16px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 16px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
  overflow-x: hidden;
}

.task-form label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: rgba(63, 82, 74, 0.86);
  font-size: 12px;
  font-weight: 760;
  line-height: 1.25;
}

.task-form.telemetry-form {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  overflow-x: hidden;
}

.task-form.geofence-form {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  overflow-x: hidden;
  margin-bottom: 14px;
}

.task-form.traccar-settings-form {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  overflow-x: hidden;
  margin-bottom: 14px;
}

.task-form.park-income-form {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  overflow-x: hidden;
}

.task-form.investor-payout-form {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  overflow-x: hidden;
  margin-bottom: 14px;
}

.task-form.investor-statement-form {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  overflow-x: hidden;
  margin-bottom: 14px;
}

.task-form.investor-create-form,
.task-form.investor-profile-form,
.task-form.investor-vehicle-attach-form,
.task-form.investor-vehicle-create-form {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  overflow-x: hidden;
  margin-bottom: 12px;
}

.investor-profile-form textarea,
.investor-vehicle-create-form textarea {
  min-height: 74px;
}

.investor-onboarding {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(18, 85, 60, 0.16);
  border-radius: 10px;
  background: #f8fbf8;
}

.investor-onboarding.is-warning {
  background: #fffaf2;
  border-color: rgba(184, 118, 34, 0.24);
}

.investor-onboarding.is-critical {
  background: #fff7f4;
  border-color: rgba(197, 58, 50, 0.24);
}

.invest-payout-signals {
  display: grid;
  gap: 12px;
  margin: 14px 0;
  padding: 14px;
  border: 1px solid rgba(18, 85, 60, 0.14);
  border-radius: 10px;
  background: rgba(248, 251, 248, 0.94);
}

.invest-payout-signals.is-empty {
  background: #f8fbf8;
}

.invest-payout-signals-head {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
}

.invest-payout-signals-head strong,
.invest-payout-signal-card strong {
  color: var(--ink);
}

.invest-payout-signals-head p,
.invest-payout-signal-card p,
.invest-payout-signal-card small {
  margin: 4px 0 0;
  color: var(--muted);
  line-height: 1.35;
}

.invest-payout-signal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 10px;
}

.invest-payout-signal-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(18, 85, 60, 0.14);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.9);
}

.invest-payout-signal-card.is-red {
  background: #fff7f4;
  border-color: rgba(197, 58, 50, 0.28);
  box-shadow: inset 3px 0 0 rgba(197, 58, 50, 0.55);
}

.invest-payout-signal-card.is-orange {
  background: #fffaf0;
  border-color: rgba(184, 118, 34, 0.28);
  box-shadow: inset 3px 0 0 rgba(184, 118, 34, 0.5);
}

.invest-payout-signal-card.is-blue {
  background: #f7fbff;
  border-color: rgba(67, 137, 190, 0.22);
  box-shadow: inset 3px 0 0 rgba(67, 137, 190, 0.44);
}

.invest-payout-signal-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.invest-payout-signal-meta span {
  padding: 5px 8px;
  border: 1px solid rgba(18, 85, 60, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
}

.quick-investor-split-preview {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid rgba(18, 85, 60, 0.16);
  border-radius: 10px;
  background: #f6fbf8;
}

.quick-investor-split-preview strong {
  color: var(--ink);
}

.quick-investor-split-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
}

.quick-investor-split-preview p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.invest-maintenance-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: 12px;
}

.invest-maintenance-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(18, 85, 60, 0.14);
  border-radius: 9px;
  background: #fff;
}

.invest-maintenance-card.is-red {
  background: #fff7f4;
  border-color: rgba(197, 58, 50, 0.28);
  box-shadow: inset 3px 0 0 rgba(197, 58, 50, 0.55);
}

.invest-maintenance-card.is-orange {
  background: #fffaf0;
  border-color: rgba(184, 118, 34, 0.28);
  box-shadow: inset 3px 0 0 rgba(184, 118, 34, 0.5);
}

.invest-maintenance-card.is-green {
  background: #f8fbf8;
  border-color: rgba(18, 122, 77, 0.18);
}

.invest-maintenance-card strong {
  color: var(--ink);
}

.invest-maintenance-card strong span {
  color: var(--muted);
  font-size: 12px;
}

.invest-maintenance-card p,
.invest-maintenance-card small {
  margin: 0;
  color: var(--muted);
  line-height: 1.4;
}

.investor-signature-box {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  align-items: end;
  padding: 12px;
  border: 1px solid rgba(18, 85, 60, 0.14);
  border-radius: var(--radius-sm);
  background: #f6fbf8;
}

.investor-signature-box strong {
  display: block;
  color: var(--ink);
}

.investor-signature-box p {
  margin: 4px 0 0;
  color: var(--muted);
}

.invest-maintenance-money {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 6px;
}

.invest-maintenance-money span {
  padding: 7px 8px;
  border: 1px solid rgba(18, 85, 60, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.76);
  color: var(--muted);
  font-size: 12px;
}

.invest-maintenance-money b {
  display: block;
  color: var(--ink);
  font-size: 13px;
}

.investor-onboarding-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.investor-onboarding-head strong,
.investor-check strong,
.investor-legal-summary strong {
  color: var(--ink);
}

.investor-onboarding-head p,
.investor-check span,
.investor-legal-summary span {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.investor-check-grid,
.investor-legal-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 8px;
}

.investor-check,
.investor-legal-summary article {
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(18, 85, 60, 0.12);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.86);
}

.investor-check.is-done {
  background: #f5fbf7;
  border-color: rgba(31, 122, 77, 0.2);
}

.investor-check.is-open {
  background: #fffaf2;
  border-color: rgba(184, 118, 34, 0.22);
}

.investor-vehicle-workspace,
.investor-legal-workspace,
.investor-communication-workspace {
  display: grid;
  gap: 12px;
}

.investor-communication-workspace {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(18, 85, 60, 0.14);
  border-radius: 10px;
  background: #f8fbf8;
}

.investor-communication-workspace p {
  margin: 4px 0 0;
  color: var(--muted);
}

.investor-legal-summary small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}

.investor-legal-summary strong {
  display: block;
  margin-top: 4px;
  font-size: 20px;
}

.task-form.maintenance-form {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  overflow-x: hidden;
  margin-bottom: 14px;
}

.task-form.maintenance-form button {
  max-width: 220px;
  white-space: normal;
  text-align: center;
}

.forms-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  align-items: start;
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
  padding-bottom: 4px;
}

.data-form {
  display: grid;
  gap: 10px;
  min-width: 230px;
  max-height: 680px;
  overflow: auto;
  padding: 14px;
  background: #f7faf6;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.data-form h3 {
  margin: 0 0 4px;
  font-size: 16px;
}

.form-hint {
  margin: -2px 0 2px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.data-form button {
  min-height: 36px;
  margin-top: 2px;
  padding: 0 12px;
  font-size: 12px;
  color: #ffffff;
  font-weight: 850;
  background: var(--green);
  border: 0;
  border-radius: 10px;
  cursor: pointer;
}

.data-form .ghost-button {
  color: var(--green);
  background: #ffffff;
  border: 1px solid rgba(31, 122, 77, 0.24);
}

.onboarding-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 10px;
  max-width: 100%;
  min-width: 0;
  margin-bottom: 14px;
}

.onboarding-counter {
  padding: 12px;
  background: #f7faf6;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.onboarding-counter small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.onboarding-counter strong {
  display: block;
  margin-top: 6px;
  font-size: 26px;
  line-height: 1;
}

label {
  display: grid;
  gap: 7px;
  color: rgba(63, 82, 74, 0.82);
  font-size: 12px;
  font-weight: 760;
  line-height: 1.25;
}

input,
select,
textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-height: 38px;
  padding: 0 12px;
  font-size: 12.5px;
  font-weight: 650;
  color: var(--ink);
  background: #fffefd;
  border: 1px solid rgba(18, 65, 49, 0.14);
  border-radius: 10px;
  box-shadow: 0 1px 0 rgba(8, 42, 32, 0.03);
  transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  background: #ffffff;
  border-color: rgba(15, 106, 68, 0.42);
  box-shadow: 0 0 0 3px rgba(15, 106, 68, 0.09);
}

textarea {
  padding: 10px 12px;
  line-height: 1.4;
  font-size: 12.5px;
}

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

.form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.data-form.form-editing {
  border-color: rgba(201, 154, 55, 0.55);
  box-shadow: 0 0 0 3px rgba(201, 154, 55, 0.10);
}

.task-form button,
.action-button {
  justify-self: start;
  max-width: 100%;
  min-height: 35px;
  padding: 7px 12px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
  white-space: normal;
  background: var(--green);
  border: 0;
  border-radius: 10px;
  cursor: pointer;
}

.task-form button:disabled,
.action-button:disabled,
.data-form button:disabled {
  cursor: not-allowed;
  color: rgba(255, 255, 255, 0.88);
  background: rgba(15, 106, 68, 0.22);
  border-color: transparent;
  box-shadow: none;
  opacity: 1;
  transform: none;
}

.ghost-button {
  min-height: 30px;
  padding: 6px 10px;
  color: var(--green);
  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
  white-space: normal;
  background: #ffffff;
  border: 1px solid rgba(31, 122, 77, 0.24);
  border-radius: 10px;
  cursor: pointer;
  transition: color 0.16s ease, background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease, filter 0.16s ease;
}

button:not(:disabled),
a,
summary,
[data-scroll-target],
[data-focus-module],
[data-go-to-vehicle],
[data-go-to-contract],
[data-open-operational-chat],
.is-clickable,
.is-clickable-row {
  transition: color 0.16s ease, background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease, filter 0.16s ease;
}

.ghost-button:not(:disabled):hover,
.ghost-button:not(:disabled):focus-visible,
.ghost-link:hover,
.ghost-link:focus-visible,
.quick-actions-menu summary:hover,
.quick-actions-menu summary:focus-visible {
  background: #eefaf3;
  border-color: rgba(15, 106, 68, 0.42);
  box-shadow: 0 4px 10px rgba(14, 56, 38, 0.08);
  transform: translateY(-1px);
  outline: none;
}

.action-button:not(:disabled):hover,
.action-button:not(:disabled):focus-visible,
.task-form button:not(:disabled):hover,
.task-form button:not(:disabled):focus-visible,
.data-form button:not(:disabled):hover,
.data-form button:not(:disabled):focus-visible,
.module-actions button:not(:disabled):hover,
.module-actions button:not(:disabled):focus-visible,
.module-floating-actions button:not(:disabled):hover,
.module-floating-actions button:not(:disabled):focus-visible,
.return-rail button:not(:disabled):hover,
.return-rail button:not(:disabled):focus-visible {
  color: #ffffff;
  background: #095f3d;
  border-color: rgba(9, 95, 61, 0.55);
  box-shadow: 0 5px 12px rgba(9, 95, 61, 0.14);
  transform: translateY(-1px);
  outline: none;
}

.is-clickable:hover,
.is-clickable:focus-visible,
.is-clickable-row:hover,
.is-clickable-row:focus-visible,
[data-scroll-target]:not(.ghost-button):not(.ghost-link):hover,
[data-scroll-target]:not(.ghost-button):not(.ghost-link):focus-visible,
[data-focus-module]:not(.ghost-button):not(.ghost-link):hover,
[data-focus-module]:not(.ghost-button):not(.ghost-link):focus-visible,
[data-go-to-vehicle]:not(.ghost-button):not(.ghost-link):hover,
[data-go-to-vehicle]:not(.ghost-button):not(.ghost-link):focus-visible,
[data-go-to-contract]:not(.ghost-button):not(.ghost-link):hover,
[data-go-to-contract]:not(.ghost-button):not(.ghost-link):focus-visible {
  background: #f3faf6;
  border-color: rgba(15, 106, 68, 0.3);
  box-shadow: 0 5px 14px rgba(14, 56, 38, 0.06);
  outline: none;
}

.ghost-button.compact-button {
  min-height: 24px;
  margin-top: 6px;
  padding: 4px 8px;
  font-size: 10px;
  line-height: 1;
  white-space: nowrap;
}

.driver-onboarding-row {
  cursor: pointer;
}

.driver-onboarding-row:hover {
  background: #f4f8f4;
}

.driver-onboarding-row .inline-actions {
  justify-content: flex-end;
}

.driver-onboarding-table {
  min-width: 820px;
}

.driver-onboarding-table td,
.driver-onboarding-table th {
  vertical-align: top;
}

.driver-onboarding-driver {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.driver-onboarding-driver .driver-name-link {
  font-size: 15px;
}

.driver-onboarding-signal {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.driver-onboarding-next {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.ghost-link {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 0 10px;
  color: var(--green);
  text-decoration: none;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  font-weight: 900;
  font-size: 11px;
}

.ghost-link:hover {
  background: #eefaf3;
}

.wa-action-link {
  min-height: 28px;
  border-color: #25d366;
}

.ghost-button.danger {
  color: var(--red);
  border-color: rgba(197, 58, 50, 0.24);
}

.ghost-button.danger:hover {
  background: var(--red-bg);
  border-color: rgba(197, 58, 50, 0.46);
  box-shadow: 0 8px 18px rgba(197, 58, 50, 0.12);
}

.ghost-button.success {
  color: #ffffff;
  background: #137447;
  border-color: #137447;
}

.ghost-button.success:hover {
  background: #0f6a44;
  border-color: #0f6a44;
  box-shadow: 0 8px 18px rgba(15, 106, 68, 0.16);
}

.inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.mini-select-label {
  display: inline-flex;
  min-height: 30px;
  gap: 6px;
  align-items: center;
  padding: 4px 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  line-height: 1.2;
  background: #ffffff;
  border: 1px solid rgba(31, 122, 77, 0.16);
  border-radius: 10px;
}

.mini-select-label select {
  max-width: 190px;
  min-height: 22px;
  padding: 2px 22px 2px 6px;
  color: var(--ink);
  font-size: 11.5px;
  font-weight: 800;
  border: 0;
  background-color: transparent;
}

.row-actions {
  width: min-content;
  min-width: 96px;
  flex-direction: column;
  align-items: flex-start;
}

.row-actions .ghost-button,
.row-actions .pill {
  width: 100%;
  justify-content: center;
  padding: 6px 8px;
  font-size: 11px;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
}

.row-actions .pill {
  display: inline-flex;
}

.park-risk-actions {
  min-width: 78px;
  gap: 4px;
}

.park-risk-actions .ghost-button,
.park-risk-actions .ghost-link {
  min-height: 26px;
  padding: 4px 8px;
  font-size: 10px;
  line-height: 1.05;
  border-radius: 9px;
}

.park-risk-actions .ghost-button {
  width: auto;
  min-width: 0;
}

.park-risk-actions .ghost-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
}

.mini-control {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
  padding: 12px;
  background: #f7faf6;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.risk-text {
  color: var(--red);
  font-weight: 850;
}

.muted-row {
  color: var(--muted);
  background: #f7f8f4;
}

.muted-row strong {
  color: var(--muted);
}

.doc-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
  align-items: center;
}

.flow-list {
  display: grid;
  gap: 10px;
  counter-reset: flow;
}

.flow-list li {
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 14px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 14px;
  list-style: none;
}

.flow-list li::before {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  content: counter(flow);
  counter-increment: flow;
  background: var(--green);
  border-radius: 50%;
  font-size: 13px;
  font-weight: 950;
}

.flow-list strong {
  display: block;
  margin-bottom: 4px;
}

.flow-list p {
  margin: 0;
  color: var(--muted);
}

.bot-rule {
  display: grid;
  gap: 10px;
  padding: 16px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.bot-rule strong {
  font-size: 17px;
}

.bot-rule p {
  margin: 0;
  color: var(--muted);
}

.automation-rule-grid {
  align-items: stretch;
}

.automation-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
}

.automation-rule-card {
  align-content: start;
  border-left: 5px solid rgba(48, 111, 86, 0.25);
  box-shadow: 0 10px 26px rgba(15, 50, 36, 0.04);
}

.automation-rule-card.is-green {
  background: #f5fbf7;
  border-color: rgba(31, 122, 77, 0.22);
  border-left-color: #0f7a4f;
}

.automation-rule-card.is-orange {
  background: #fffaf1;
  border-color: rgba(201, 132, 38, 0.25);
  border-left-color: #d88a1d;
}

.automation-rule-card.is-blue {
  background: #f5faff;
  border-color: rgba(49, 132, 205, 0.22);
  border-left-color: #2f80c8;
}

.automation-rule-card.is-red {
  background: #fff6f5;
  border-color: rgba(204, 59, 48, 0.24);
  border-left-color: #c9362c;
}

.automation-rule-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.automation-rule-top small {
  color: var(--muted);
  font-weight: 800;
  text-align: right;
}

.automation-rule-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.automation-rule-meta span,
.automation-rule-blocker {
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(18, 65, 49, 0.08);
  border-radius: 12px;
  color: var(--text);
}

.automation-rule-blocker {
  color: #7c2e25 !important;
}

.marketing-agents-runtime {
  margin-bottom: 14px;
}

.marketing-agent-shift-panel {
  margin-bottom: 14px;
  background: #f8fbf9;
  border-color: rgba(18, 65, 49, 0.14);
}

.marketing-agent-shift-task-desk {
  margin-bottom: 14px;
  background: #ffffff;
  border-color: rgba(18, 65, 49, 0.14);
}

.marketing-agent-card {
  position: relative;
  border-left: 5px solid rgba(31, 122, 77, 0.64);
  transition: transform 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease, background 0.14s ease;
}

.marketing-agent-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(15, 50, 36, 0.1);
}

.marketing-agent-card.is-active {
  background: #f4fbf7;
  border-color: rgba(31, 122, 77, 0.58);
  border-left-color: #137447;
}

.marketing-agent-card.is-waiting {
  background: #fff8ed;
  border-color: rgba(183, 107, 24, 0.3);
  border-left-color: #b76b18;
}

.marketing-agent-card.is-inactive,
.marketing-agent-card.is-blocked {
  background: #fff6f3;
  border-color: rgba(197, 58, 50, 0.28);
  border-left-color: #c53a32;
}

.marketing-agent-card-head {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}

.marketing-agent-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.marketing-agent-actions .ghost-button {
  min-height: 32px;
}

.marketing-department-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.nav-item.has-chat-unread {
  border-color: rgba(201, 162, 74, 0.38);
  box-shadow: inset 0 0 0 1px rgba(201, 162, 74, 0.18);
}

.compact-select {
  display: inline-grid;
  gap: 6px;
  min-width: 180px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.compact-select select {
  min-height: 36px;
}

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

.chat-room-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #ffffff;
  overflow: hidden;
}

.chat-room-card.is-active {
  border-color: rgba(15, 106, 68, 0.36);
  box-shadow: 0 14px 34px rgba(15, 106, 68, 0.08);
}

.chat-room-open {
  width: 100%;
  display: grid;
  gap: 10px;
  padding: 16px;
  text-align: left;
  background: #ffffff;
  border: none;
  cursor: pointer;
}

.chat-room-open:hover,
.chat-room-open:focus-visible {
  background: #f7faf6;
  outline: none;
}

.chat-room-open-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.chat-room-open-head strong {
  display: block;
  font-size: 16px;
  line-height: 1.35;
}

.chat-room-open-head p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.chat-room-open-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.chat-room-open-meta {
  display: grid;
  gap: 8px;
}

.chat-room-shell {
  display: grid;
  gap: 16px;
}

.chat-message-feed {
  display: grid;
  gap: 12px;
  max-height: 560px;
  overflow: auto;
  padding: 4px 2px 4px 0;
}

.chat-message {
  display: grid;
  gap: 10px;
  max-width: min(780px, 100%);
  padding: 14px 16px;
  background: #f7faf6;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.chat-message.is-own {
  margin-left: auto;
  background: #eefaf3;
  border-color: rgba(15, 106, 68, 0.18);
}

.chat-message-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
}

.chat-message-meta strong {
  color: var(--ink);
  font-size: 13px;
}

.chat-message-body {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.55;
  white-space: normal;
}

.chat-message-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.chat-composer {
  padding: 16px;
  background: #f8fbf8;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.chat-participants {
  display: grid;
  gap: 10px;
  padding: 14px;
  margin: 0;
  background: #f8fbf8;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.chat-participants legend {
  padding: 0 8px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

.chat-participant-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.chat-participant-option {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 10px 12px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.chat-empty {
  padding: 18px;
  color: var(--muted);
  background: #f8fbf8;
  border: 1px dashed rgba(15, 106, 68, 0.18);
  border-radius: 14px;
}

@media (max-width: 980px) {
  .chat-room-list {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 640px) {
  .chat-participant-grid {
    grid-template-columns: 1fr;
  }

  .chat-room-open-head,
  .chat-message-meta {
    flex-direction: column;
    align-items: flex-start;
  }

  .chat-room-open-badges {
    justify-content: flex-start;
  }
}

.inline-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.map-shell {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 16px;
  max-width: 100%;
  min-width: 0;
}

body.is-map-fullscreen-open {
  overflow: hidden;
}

.map-filter-panel {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
  padding: 14px;
  background: #f7faf6;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.map-filter-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 8px;
}

.map-filter-summary .ghost-button {
  align-self: center;
}

.map-canvas {
  position: relative;
  min-height: 420px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(15, 106, 68, 0.08) 1px, transparent 1px),
    linear-gradient(180deg, rgba(15, 106, 68, 0.08) 1px, transparent 1px),
    radial-gradient(circle at 28% 32%, rgba(201, 162, 74, 0.18), transparent 26%),
    radial-gradient(circle at 68% 72%, rgba(31, 122, 77, 0.18), transparent 26%),
    #eef5ec;
  background-size: 42px 42px, 42px 42px, auto, auto, auto;
  border: 1px solid var(--line);
  border-radius: 18px;
}

.map-overlay-actions {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  display: flex;
  gap: 8px;
}

.map-brand-chip {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 3;
}

.map-brand-pill {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 12px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.02em;
  background: rgba(8, 42, 32, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  box-shadow: 0 10px 22px rgba(8, 42, 32, 0.18);
}

.map-center-button {
  min-height: 32px;
  padding: 6px 12px;
  font-size: 12px;
}

.fleet-map {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.map-live-status-note {
  position: absolute;
  right: 14px;
  bottom: 14px;
  left: 14px;
  z-index: 3;
  max-width: 520px;
  padding: 10px 12px;
  color: #244338;
  font-size: 12px;
  line-height: 1.35;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(15, 106, 68, 0.18);
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(8, 42, 32, 0.1);
  pointer-events: none;
}

.map-canvas.is-live-map .map-live-status-note {
  display: none;
}

.map-canvas.is-map-fallback .map-live-status-note,
.map-canvas.is-live-map.is-tile-error .map-live-status-note {
  display: block;
}

.map-canvas::before {
  position: absolute;
  inset: 26px;
  content: "";
  border: 1px dashed rgba(15, 106, 68, 0.18);
  border-radius: 22px;
  pointer-events: none;
  z-index: 1;
}

.form-note {
  margin: 0;
  padding: 12px 14px;
  color: var(--muted);
  background: #f7faf6;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.error-text {
  color: var(--red);
}

.danger-text {
  color: var(--red);
  font-weight: 850;
}

.platform-error-section {
  max-width: 980px;
}

.platform-error-box {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  background: #fff8f6;
  border: 1px solid rgba(197, 58, 50, 0.18);
  border-radius: 14px;
}

.platform-error-box strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.25;
}

.platform-error-box p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.map-shell.is-map-fullscreen,
.map-shell:fullscreen {
  position: fixed;
  inset: 0;
  z-index: 10000;
  width: 100vw;
  height: 100vh;
  grid-template-columns: 1fr;
  gap: 0;
  padding: 0;
  background: #eef5ec;
}

.map-canvas.is-live-map .map-pin {
  display: none;
}

.map-canvas.is-live-map.is-map-fallback .map-pin {
  display: inline-flex;
}

.map-shell.is-map-fullscreen .map-canvas,
.map-shell:fullscreen .map-canvas {
  min-height: 100vh;
  height: 100vh;
  border-radius: 0;
  border: none;
}

.map-shell.is-map-fullscreen .table-wrap,
.map-shell:fullscreen .table-wrap {
  display: none;
}

.map-empty-state {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  color: var(--muted);
  text-align: center;
}

.map-pin {
  position: absolute;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 3px;
  padding: 0;
  color: var(--text);
  font-size: 12px;
  font-weight: 950;
  background: none;
  border: none;
  cursor: pointer;
  transform: translate(-50%, -70%);
  text-align: center;
}

.map-pin-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 30px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  line-height: 0;
}

.map-pin-icon svg {
  display: block;
  width: 48px;
  height: 30px;
  filter:
    drop-shadow(0 1px 0 rgba(255, 255, 255, 0.95))
    drop-shadow(0 4px 5px rgba(8, 42, 32, 0.34));
}

.map-pin-copy {
  display: grid;
  min-width: 0;
}

.map-pin-copy strong,
.map-pin-copy small {
  display: block;
  max-width: 138px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #143628;
  text-shadow:
    -1px -1px 0 rgba(255, 255, 255, 0.98),
    1px -1px 0 rgba(255, 255, 255, 0.98),
    -1px 1px 0 rgba(255, 255, 255, 0.98),
    1px 1px 0 rgba(255, 255, 255, 0.98),
    0 2px 5px rgba(255, 255, 255, 0.95);
}

.map-pin-copy strong {
  font-size: 12px;
  line-height: 1.15;
}

.map-pin-copy small {
  font-size: 11px;
  line-height: 1.1;
}

.fleet-map-marker-host {
  background: transparent;
  border: 0;
}

.fleet-map-marker {
  display: grid;
  justify-items: center;
  gap: 3px;
  min-width: 108px;
  padding: 0;
  color: var(--text);
  text-align: center;
}

.fleet-map-marker-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 32px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  line-height: 0;
}

.fleet-map-marker-icon svg {
  display: block;
  width: 52px;
  height: 32px;
  filter:
    drop-shadow(0 1px 0 rgba(255, 255, 255, 0.95))
    drop-shadow(0 4px 5px rgba(8, 42, 32, 0.34));
}

.fleet-map-marker-copy {
  display: grid;
  min-width: 0;
}

.fleet-map-marker-copy strong,
.fleet-map-marker-copy small {
  display: block;
  max-width: 108px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #143628;
  text-shadow:
    -1px -1px 0 rgba(255, 255, 255, 0.98),
    1px -1px 0 rgba(255, 255, 255, 0.98),
    -1px 1px 0 rgba(255, 255, 255, 0.98),
    1px 1px 0 rgba(255, 255, 255, 0.98),
    0 2px 5px rgba(255, 255, 255, 0.95);
}

.fleet-map-marker-copy strong {
  font-size: 11px;
  line-height: 1.15;
}

.fleet-map-marker-copy small {
  font-size: 10px;
  line-height: 1.1;
}

.traccar-bindings-table small {
  color: var(--muted);
}

.geofence-zone-form {
  margin-bottom: 16px;
}

.geofence-ops-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 14px;
}

.geofence-action-card {
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: border-color var(--transition), transform var(--transition), box-shadow var(--transition);
}

.geofence-action-card:hover {
  border-color: rgba(17, 111, 73, 0.42);
  box-shadow: 0 8px 22px rgba(28, 65, 47, 0.08);
  transform: translateY(-1px);
}

.geofence-quick-form {
  margin-bottom: 14px;
}

.geofence-quick-form .geofence-preset-row span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.geofence-auth-note {
  border: 1px solid rgba(200, 138, 28, 0.28);
  background: rgba(255, 248, 232, 0.74);
  border-radius: var(--radius-sm);
  padding: 12px 14px;
  margin: 0 0 14px;
}

.geofence-auth-note strong,
.geofence-preset-row strong {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  color: var(--ink);
}

.geofence-auth-note p {
  margin: 0;
  color: var(--muted);
}

.geofence-preset-row {
  display: grid;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.72);
}

.geofence-editor-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  background: #f7faf6;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.geofence-editor-head {
  margin: 0;
}

.geofence-editor-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.geofence-editor-help,
.geofence-editor-summary {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.geofence-editor-map {
  min-height: 340px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #eef5ec;
}

.geofence-manual-inputs {
  padding: 12px;
  background: #f7faf6;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.geofence-manual-inputs summary {
  cursor: pointer;
  color: var(--green);
  font-size: 13px;
  font-weight: 900;
}

.geofence-manual-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.progress {
  height: 9px;
  overflow: hidden;
  background: #edf1ec;
  border-radius: 999px;
}

.progress i {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--green), var(--gold));
  border-radius: inherit;
}

.empty {
  padding: 24px;
  color: var(--muted);
  text-align: center;
  background: #f7faf6;
  border: 1px dashed var(--line);
  border-radius: 16px;
}

.project-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 14px;
  align-items: stretch;
}

.goal-card {
  display: grid;
  gap: 10px;
  padding: 18px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.goal-card-main {
  display: grid;
  gap: 8px;
}

.goal-card-main strong {
  font-size: 22px;
  line-height: 1.15;
}

.goal-card-main p {
  margin: 0;
  color: var(--muted);
}

.goals-control-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(170px, 1fr));
  gap: 12px;
}

.goals-control .metric {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 156px;
}

.goal-control-action {
  align-self: end;
  display: inline-flex;
  width: fit-content;
  margin-top: 4px;
  padding: 6px 9px;
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  background: #ffffff;
  border: 1px solid rgba(15, 106, 68, 0.2);
  border-radius: 999px;
}

.goal-task-review {
  display: grid;
  gap: 14px;
}

.goal-task-review-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  background: #f8fbf8;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.goal-task-review-head > div:first-child {
  display: grid;
  gap: 4px;
}

.goal-task-review-head strong {
  font-size: 18px;
}

.goal-task-review-head span {
  color: var(--muted);
  font-size: 13px;
}

.goal-task-review-bucket {
  display: grid;
  gap: 8px;
}

.goal-task-review-title {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.goal-task-review-title span {
  padding: 3px 8px;
  color: var(--green);
  background: #f0f8f3;
  border: 1px solid rgba(15, 106, 68, 0.16);
  border-radius: 999px;
}

.goal-task-review-list {
  display: grid;
  gap: 8px;
}

.goal-task-review-item {
  display: grid;
  grid-template-columns: minmax(260px, 1.3fr) minmax(220px, 0.7fr) minmax(210px, auto);
  gap: 12px;
  align-items: center;
  padding: 12px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.goal-task-review-item.is-overdue {
  background: #fff6f3;
  border-color: rgba(208, 74, 64, 0.3);
  box-shadow: inset 4px 0 0 rgba(208, 74, 64, 0.7);
}

.goal-task-review-main {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.goal-task-review-titleline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: baseline;
}

.goal-task-review-titleline strong {
  line-height: 1.25;
}

.goal-task-review-titleline span,
.goal-task-review-main p,
.goal-task-review-meta small {
  color: var(--muted);
  font-size: 12px;
}

.goal-task-review-main p {
  margin: 0;
  line-height: 1.35;
}

.goal-task-review-reason {
  color: #40574d !important;
}

.goal-task-review-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.goal-task-review-meta small {
  display: block;
  width: 100%;
}

.goal-task-review-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.goals-executive-list {
  display: grid;
  gap: 12px;
}

.goal-executive-row {
  display: grid;
  gap: 12px;
  padding: 16px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(8, 42, 32, 0.04);
}

.goal-executive-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
}

.goal-executive-main small,
.goal-executive-metrics span,
.goal-executive-progress span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.goal-executive-main strong {
  display: block;
  margin: 4px 0 6px;
  font-size: 22px;
  line-height: 1.15;
}

.goal-executive-main p,
.goals-project-row p,
.integration-note p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.goal-executive-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.goal-executive-metrics div {
  min-width: 0;
  padding: 10px 12px;
  background: #f7faf6;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.goal-executive-metrics strong {
  display: block;
  margin: 4px 0 2px;
  font-size: 18px;
  line-height: 1.15;
}

.goal-executive-metrics small,
.goals-project-row small {
  color: var(--muted);
  font-size: 12px;
}

.goal-executive-progress {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.goal-executive-progress div {
  display: grid;
  gap: 6px;
}

.goal-project-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.goal-project-chip {
  display: grid;
  gap: 3px;
  min-width: 180px;
  max-width: 260px;
  padding: 9px 11px;
  color: inherit;
  text-align: left;
  background: #f8fbf8;
  border: 1px solid var(--line);
  border-radius: 10px;
  cursor: pointer;
}

.goal-project-chip:hover,
.goal-project-chip:focus-visible {
  border-color: rgba(15, 106, 68, 0.35);
  box-shadow: 0 10px 24px rgba(15, 106, 68, 0.08);
}

.goal-project-chip strong {
  line-height: 1.2;
}

.goal-project-chip span {
  color: var(--muted);
  font-size: 12px;
}

.goal-executive-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.goal-tree {
  display: grid;
  gap: 14px;
}

.goal-tree-goal {
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(8, 42, 32, 0.04);
}

.goal-tree-goal > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 16px;
  cursor: pointer;
  list-style: none;
}

.goal-tree-goal > summary::-webkit-details-marker,
.goal-tree-project > summary::-webkit-details-marker {
  display: none;
}

.goal-tree-title {
  display: grid;
  gap: 5px;
}

.goal-tree-title small,
.goal-tree-title span,
.goal-tree-project small,
.goal-tree-project span,
.project-tree-task-zone > div > span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.goal-tree-title strong {
  font-size: 22px;
  line-height: 1.15;
}

.goal-tree-stats,
.goal-tree-project-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.goal-tree-stats span {
  padding: 7px 9px;
  color: #244a3d;
  font-size: 12px;
  font-weight: 850;
  background: #f7faf6;
  border: 1px solid var(--line);
  border-radius: 999px;
}

.goal-tree-body {
  display: grid;
  gap: 12px;
  padding: 0 16px 16px;
}

.goal-tree-overview,
.project-tree-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.goal-tree-overview article,
.project-tree-summary article {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 10px 12px;
  background: #f8fbf8;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.goal-tree-overview small,
.project-tree-summary small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.goal-tree-projects {
  display: grid;
  gap: 10px;
}

.goal-tree-project {
  background: #f8fbf8;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.goal-tree-project.is-critical {
  background: #fff6f3;
  border-color: rgba(208, 74, 64, 0.25);
}

.goal-tree-project > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 12px;
  cursor: pointer;
  list-style: none;
}

.goal-tree-project > summary strong {
  display: block;
  margin: 3px 0;
  color: var(--green);
  font-size: 16px;
  line-height: 1.25;
}

.goal-tree-project-body {
  display: grid;
  gap: 12px;
  padding: 0 12px 12px;
}

.project-tree-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.project-tree-task-zone {
  display: grid;
  gap: 10px;
  padding: 12px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 12px;
}

.project-task-tree {
  display: grid;
  gap: 8px;
}

.project-task-tree-item {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.project-task-tree-item.is-overdue {
  background: #fff9f7;
  border-color: rgba(208, 74, 64, 0.25);
}

.project-task-tree-item > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  cursor: pointer;
}

.project-task-tree-item > summary strong {
  line-height: 1.25;
}

.project-task-tree-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: flex-end;
}

.project-task-tree-body {
  display: grid;
  gap: 10px;
  padding: 0 10px 10px;
}

.marketing-decision-row .goal-executive-main {
  grid-template-columns: minmax(0, 1fr) minmax(180px, auto);
}

.marketing-decision-row .goal-executive-metrics strong {
  font-size: 14px;
  line-height: 1.35;
}

.marketing-decision-row .goal-executive-metrics div:first-child {
  grid-column: span 2;
}

.marketing-decision-brief {
  display: grid;
  gap: 6px;
  margin: 12px 0;
}

.marketing-decision-brief span {
  display: block;
}

.goals-portfolio-table {
  min-width: 1180px;
}

.goals-project-row.is-critical {
  background: #fff6f3;
}

.goals-project-row td {
  vertical-align: top;
}

.goals-project-row td:first-child {
  min-width: 360px;
}

.goals-project-row td:nth-child(4) {
  min-width: 150px;
}

.goals-project-row .progress {
  margin: 6px 0;
}

.goals-project-row .compact-editor {
  margin-top: 8px;
}

.goals-project-row .compact-form {
  min-width: 720px;
}

.project-row-details {
  min-width: 0;
}

.project-row-details > summary {
  display: grid;
  gap: 5px;
  cursor: pointer;
  list-style: none;
}

.project-row-details > summary::-webkit-details-marker {
  display: none;
}

.project-row-details > summary span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.project-row-details > summary strong {
  color: var(--green);
  line-height: 1.25;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.project-row-details > summary small {
  color: #51685d;
}

.project-row-details[open] > summary {
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

.project-row-expanded {
  display: grid;
  gap: 12px;
  margin-top: 12px;
  padding: 12px;
  background: #f8fbf8;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 12px;
}

.project-row-note {
  display: grid;
  gap: 5px;
}

.project-row-note strong,
.project-row-edit-grid > div > strong {
  font-size: 13px;
}

.project-row-edit-grid {
  display: grid;
  grid-template-columns: minmax(360px, 1.1fr) minmax(320px, 0.9fr);
  gap: 12px;
}

.project-row-edit-grid > div {
  min-width: 0;
  padding: 12px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.project-inline-form {
  min-width: 0 !important;
  margin-top: 10px;
  grid-template-columns: repeat(2, minmax(160px, 1fr));
}

.project-row-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 6px 0;
}

.planner-shell {
  display: grid;
  gap: 12px;
}

.planner-modebar,
.planning-calendar-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  background: #f8fbf8;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.planner-modebar > div:first-child,
.planning-calendar-toolbar > div:first-child {
  display: grid;
  gap: 3px;
  min-width: 220px;
}

.planner-modebar strong,
.planning-calendar-toolbar strong {
  font-size: 18px;
  text-transform: capitalize;
}

.planner-modebar span,
.planning-calendar-toolbar span,
.planning-month-picker span {
  color: var(--muted);
  font-size: 12px;
}

.planning-month-picker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 5px 8px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.planning-month-picker input {
  min-height: 28px;
  padding: 4px 6px;
  border: 0;
  background: transparent;
  font: inherit;
}

.planning-calendar-weekdays {
  display: grid;
  grid-template-columns: repeat(7, minmax(150px, 1fr));
  gap: 10px;
  margin-bottom: 8px;
}

.planning-calendar-weekdays span {
  padding: 0 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
}

.planning-kanban {
  display: grid;
  grid-template-columns: repeat(5, minmax(220px, 1fr));
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 4px;
}

.planning-sort-switch {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}

.planning-kanban-column {
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  min-height: 440px;
  background: linear-gradient(180deg, #fbfdfb 0%, #f6f9f6 100%);
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 12px;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.planning-kanban-column.is-drop-target {
  background: #eefaf3;
  border-color: rgba(0, 128, 85, 0.55);
  box-shadow: inset 0 0 0 2px rgba(0, 128, 85, 0.12);
}

.planning-kanban-column[data-planning-kanban-status="Р’С‹РїРѕР»РЅРµРЅРѕ"] {
  background: linear-gradient(180deg, #f8faf8 0%, #f1f4f2 100%);
}

.planning-kanban-column[data-planning-kanban-status="Р’С‹РїРѕР»РЅРµРЅРѕ"] .planning-kanban-head {
  opacity: 0.78;
}

.planning-kanban-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  padding: 12px;
  border-bottom: 1px solid rgba(18, 65, 49, 0.1);
}

.planning-kanban-head > div {
  display: grid;
  gap: 3px;
}

.planning-kanban-head strong {
  font-size: 15px;
}

.planning-kanban-head span:not(.pill) {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.planning-kanban-list {
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
  padding: 10px;
}

.planning-kanban-empty {
  display: grid;
  place-items: center;
  min-height: 92px;
  color: var(--muted);
  font-size: 12px;
  border: 1px dashed rgba(15, 106, 68, 0.25);
  border-radius: 10px;
}

.planning-kanban-card {
  display: grid;
  gap: 7px;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  padding: 11px 11px 11px 12px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfb 100%);
  border: 1px solid rgba(18, 65, 49, 0.14);
  border-radius: 10px;
  cursor: grab;
  box-shadow: 0 8px 18px rgba(8, 42, 32, 0.035);
  transition: opacity 0.16s ease, transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.planning-kanban-card summary,
.planning-calendar-task summary {
  display: grid;
  gap: 5px;
  min-width: 0;
  cursor: pointer;
  list-style: none;
}

.planning-kanban-card summary::-webkit-details-marker,
.planning-calendar-task summary::-webkit-details-marker {
  display: none;
}

.planning-kanban-card[open],
.planning-calendar-task[open] {
  border-color: rgba(15, 106, 68, 0.34);
  cursor: default;
  box-shadow: 0 10px 24px rgba(0, 40, 24, 0.08);
}

.planning-kanban-card:hover {
  border-color: rgba(15, 106, 68, 0.28);
  box-shadow: 0 10px 22px rgba(0, 40, 24, 0.07);
  transform: translateY(-1px);
}

.planning-kanban-card.is-drop-before {
  box-shadow: 0 -4px 0 #0f6a44, 0 8px 18px rgba(0, 40, 24, 0.06);
}

.planning-kanban-card.is-drop-after {
  box-shadow: 0 4px 0 #0f6a44, 0 8px 18px rgba(0, 40, 24, 0.06);
}

.planning-kanban-card.is-dragging {
  cursor: grabbing;
  opacity: 0.58;
  transform: scale(0.98);
}

.planning-kanban-card.is-overdue {
  background: linear-gradient(180deg, #fffdfb 0%, #fff8f5 100%);
  border-color: rgba(126, 45, 37, 0.24);
  box-shadow: inset 3px 0 0 rgba(126, 45, 37, 0.5), 0 8px 18px rgba(72, 31, 24, 0.045);
}

.planning-kanban-card.is-overdue:hover {
  border-color: rgba(126, 45, 37, 0.34);
  box-shadow: inset 3px 0 0 rgba(126, 45, 37, 0.58), 0 10px 22px rgba(72, 31, 24, 0.06);
}

.planning-kanban-card-top {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
}

.planning-date-pill {
  min-width: 46px;
}

.planning-time-pill {
  color: #285f4b;
  background: #edf6f1;
  border-color: rgba(40, 95, 75, 0.28);
  font-variant-numeric: tabular-nums;
}

.planning-kanban-card .pill {
  min-height: 22px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 760;
  letter-spacing: 0;
  box-shadow: none;
}

.planning-kanban-card .pill.red {
  color: #8d2f2a;
  background: #fff7f5;
  border-color: rgba(141, 47, 42, 0.28);
}

.planning-kanban-card .pill.orange {
  color: #714812;
  background: #fff8e8;
  border-color: rgba(155, 97, 24, 0.28);
}

.planning-kanban-card .pill.blue {
  color: #245474;
  background: #f1f8fd;
  border-color: rgba(64, 121, 158, 0.24);
}

.planning-kanban-card .pill.green {
  color: #245d47;
  background: #f1f8f4;
  border-color: rgba(42, 115, 82, 0.24);
}

.planning-kanban-card strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 760;
  line-height: 1.28;
}

.planning-kanban-card span,
.planning-kanban-card small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.planning-calendar {
  display: grid;
  grid-template-columns: repeat(7, minmax(150px, 1fr));
  gap: 10px;
  overflow-x: auto;
}

.planning-calendar-day {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 170px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.planning-calendar-day.is-outside-month {
  background: #f8faf8;
  opacity: 0.72;
}

.planning-calendar-day.is-today {
  background: #f2fbf6;
  border-color: rgba(15, 106, 68, 0.34);
  box-shadow: 0 10px 24px rgba(15, 106, 68, 0.08);
}

.planning-calendar-day.is-today .planning-calendar-head {
  background: #eaf7ef;
  border-bottom-color: rgba(15, 106, 68, 0.16);
}

.planning-calendar-day.is-today .planning-calendar-head strong {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  color: #063f2d;
}

.planning-today-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 8px;
  color: #0f6a44;
  font-size: 10px;
  line-height: 1;
  background: #d8efe2;
  border: 1px solid rgba(15, 106, 68, 0.18);
  border-radius: 999px;
  box-shadow: none;
}

.planning-calendar-day.is-today .planning-day-open {
  color: #064d36;
  font-weight: 900;
}

.planning-calendar-day.is-drop-target {
  background: #eefaf3;
  border-color: rgba(0, 128, 85, 0.55);
  box-shadow: inset 0 0 0 2px rgba(0, 128, 85, 0.13), 0 12px 24px rgba(0, 72, 45, 0.08);
}

.planning-calendar-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  background: #f7faf6;
  border-bottom: 1px solid var(--line);
}

.planning-calendar-head strong {
  text-transform: uppercase;
}

.planning-calendar-head span {
  color: var(--muted);
  font-size: 12px;
}

.planning-day-open {
  padding: 0;
  color: var(--muted);
  font: inherit;
  font-size: 12px;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.planning-day-open:hover,
.planning-day-open:focus-visible {
  color: var(--green);
  text-decoration: underline;
  outline: none;
}

.planning-calendar-list {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 10px;
}

.planning-calendar-task {
  display: grid;
  gap: 6px;
  padding: 10px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 9px;
  cursor: grab;
  transition: opacity 0.16s ease, transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.planning-calendar-task:hover {
  border-color: rgba(15, 106, 68, 0.28);
  box-shadow: 0 8px 18px rgba(0, 40, 24, 0.06);
}

.planning-calendar-task.is-dragging {
  cursor: grabbing;
  opacity: 0.58;
  transform: scale(0.98);
}

.planning-calendar-task.is-overdue {
  background: #fff9f7;
  border-color: rgba(208, 74, 64, 0.22);
}

.planning-calendar-task strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 780;
  line-height: 1.24;
}

.planning-calendar-task span,
.planning-calendar-task small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.32;
}

.planning-calendar-task .inline-actions {
  gap: 5px;
}

.planning-day-view {
  display: grid;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.planning-day-slot {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  min-height: 68px;
  border-bottom: 1px solid var(--line);
  transition: background 0.16s ease, box-shadow 0.16s ease;
}

.planning-day-slot:last-child {
  border-bottom: 0;
}

.planning-day-slot.is-create {
  background: #f8fbf8;
}

.planning-day-slot.is-drop-target {
  background: #eefaf3;
  box-shadow: inset 0 0 0 2px rgba(0, 128, 85, 0.12);
}

.planning-day-time {
  padding: 12px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  background: #f7faf6;
  border-right: 1px solid var(--line);
}

.planning-day-items {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 9px;
}

.planning-day-task {
  display: grid;
  gap: 8px;
  padding: 10px;
  background: #f8fbf8;
  border: 1px solid var(--line);
  border-radius: 10px;
  cursor: grab;
}

.planning-day-task:hover {
  border-color: rgba(15, 106, 68, 0.28);
  box-shadow: 0 8px 18px rgba(0, 40, 24, 0.06);
}

.planning-day-task summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
}

.planning-day-task summary > div:first-child {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.planning-day-task span,
.planning-day-task small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.planning-day-task-side {
  display: grid;
  justify-items: end;
  gap: 3px;
  min-width: 118px;
}

.planning-day-task.is-overdue {
  background: #fff6f3;
  border-color: rgba(208, 74, 64, 0.28);
}

.planning-task-detail {
  display: grid;
  gap: 9px;
  min-width: 0;
  margin-top: 8px;
  padding-top: 9px;
  border-top: 1px solid rgba(18, 65, 49, 0.12);
}

.planning-task-context {
  display: grid;
  gap: 4px;
  padding: 9px;
  background: #f8fbf8;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 8px;
}

.planning-task-context span,
.planning-task-context small,
.planning-subtasks-head {
  color: var(--muted);
  font-size: 11px;
  font-weight: 820;
}

.planning-task-context p {
  margin: 0;
  color: #233b31;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
}

.planning-subtasks {
  display: grid;
  gap: 6px;
}

.planning-subtasks-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.planning-subtask-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 8px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 8px;
}

.planning-subtask-row.is-done {
  opacity: 0.72;
}

.task-card.is-completed,
.goal-task-review-item.is-completed,
.project-task-tree-item.is-completed,
.planning-kanban-card.is-completed,
.planning-calendar-task.is-completed,
.planning-day-task.is-completed {
  opacity: 0.64;
  color: #5d6c65;
  background: #f1f4f1;
  border-color: rgba(93, 112, 101, 0.22);
  box-shadow: none;
}

.task-card.is-completed:hover,
.goal-task-review-item.is-completed:hover,
.project-task-tree-item.is-completed:hover,
.planning-kanban-card.is-completed:hover,
.planning-calendar-task.is-completed:hover,
.planning-day-task.is-completed:hover {
  opacity: 0.78;
  border-color: rgba(93, 112, 101, 0.3);
  box-shadow: 0 6px 14px rgba(31, 48, 39, 0.04);
}

.task-card.is-completed strong,
.goal-task-review-item.is-completed strong,
.project-task-tree-item.is-completed strong,
.planning-kanban-card.is-completed strong,
.planning-calendar-task.is-completed strong,
.planning-day-task.is-completed strong {
  color: #4f5f58;
}

.task-card.is-completed .pill,
.goal-task-review-item.is-completed .pill,
.project-task-tree-item.is-completed .pill,
.planning-kanban-card.is-completed .pill,
.planning-calendar-task.is-completed .pill,
.planning-day-task.is-completed .pill,
.planning-subtask-row.is-done .pill {
  color: #65746d;
  background: #eef2ef;
  border-color: #d4ddd7;
  box-shadow: none;
}

tr.is-completed-task-row {
  opacity: 0.66;
  background: #f4f6f4;
}

tr.is-completed-task-row .pill {
  color: #65746d;
  background: #eef2ef;
  border-color: #d4ddd7;
}

.planning-subtask-row strong {
  font-size: 12px;
  font-weight: 760;
}

.planning-subtask-row span {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
}

.planning-subtask-form,
.planning-schedule-form {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(92px, 0.75fr) minmax(105px, 0.75fr) minmax(125px, 0.85fr) auto;
  gap: 6px;
  min-width: 0;
}

.planning-schedule-form {
  grid-template-columns: minmax(120px, 0.9fr) minmax(100px, 0.7fr) minmax(145px, 1fr) auto;
  padding: 8px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 9px;
}

.planning-schedule-form label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 820;
}

.planning-day-create {
  border: 1px dashed rgba(18, 65, 49, 0.18);
  border-radius: 9px;
}

.planning-day-create summary {
  padding: 7px 9px;
  color: var(--green);
  font-size: 12px;
  font-weight: 820;
  cursor: pointer;
  list-style: none;
}

.planning-day-create summary::-webkit-details-marker {
  display: none;
}

.planning-day-create form {
  display: grid;
  grid-template-columns: minmax(160px, 1.2fr) minmax(110px, 0.8fr) minmax(100px, 0.7fr) minmax(145px, 1fr) minmax(110px, 0.8fr) auto;
  gap: 6px;
  padding: 8px;
  border-top: 1px dashed rgba(18, 65, 49, 0.14);
}

.planning-subtask-form input,
.planning-subtask-form select,
.planning-schedule-form input,
.planning-schedule-form select,
.planning-comment-form textarea,
.planning-day-create input,
.planning-day-create select {
  min-width: 0;
  min-height: 32px;
  padding: 6px 8px;
  font-size: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.planning-comment-form {
  display: grid;
  gap: 6px;
}

.planning-comment-form textarea {
  min-height: 58px;
  resize: vertical;
}

.planning-task-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.planning-kanban-card .planning-schedule-form,
.planning-kanban-card .planning-subtask-form {
  grid-template-columns: 1fr;
}

.planning-kanban-card .planning-comment-form textarea {
  max-width: 100%;
}

.planning-kanban-card .planning-task-actions .ghost-button,
.planning-kanban-card .planning-schedule-form .ghost-button,
.planning-kanban-card .planning-subtask-form .ghost-button,
.planning-kanban-card .planning-comment-form .ghost-button {
  width: 100%;
  justify-content: center;
}

.planning-calendar-task .ghost-button,
.planning-kanban-card .ghost-button,
.planning-subtask-form .ghost-button,
.planning-schedule-form .ghost-button {
  min-height: 30px;
  padding: 5px 9px;
  font-size: 11px;
  font-weight: 780;
}

@media (max-width: 900px) {
  .driver-doc-form-grid {
    grid-template-columns: 1fr;
  }

  .goal-tree-goal > summary,
  .goal-tree-project > summary,
  .project-task-tree-item > summary,
  .goal-tree-overview,
  .project-tree-summary {
    grid-template-columns: 1fr;
  }

  .goal-tree-stats,
  .goal-tree-project-meta,
  .project-task-tree-pills {
    justify-content: flex-start;
  }

  .planning-subtask-form,
  .planning-schedule-form,
  .planning-day-create form {
    grid-template-columns: 1fr;
  }

  .planning-task-actions,
  .planning-subtask-row {
    grid-template-columns: 1fr;
  }
}

.integration-note {
  display: grid;
  gap: 5px;
  margin-top: 12px;
  padding: 12px 14px;
  background: #f7faf6;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.dashboard-project-alerts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0;
}

.project-alert-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.project-alert-card.is-critical {
  background: #fff6f3;
  border-color: rgba(208, 74, 64, 0.28);
}

.project-alert-card.is-warning {
  background: #fffaf0;
  border-color: rgba(201, 162, 74, 0.3);
}

.project-alert-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.project-alert-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.project-alert-head strong {
  min-width: 0;
  line-height: 1.25;
}

.project-alert-head span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  min-height: 28px;
  padding: 5px 9px;
  color: var(--green);
  font-size: 13px;
  font-weight: 900;
  background: #f0faf3;
  border: 1px solid var(--line);
  border-radius: 999px;
}

.project-alert-list {
  display: grid;
  gap: 8px;
}

.project-alert-item {
  display: grid;
  gap: 5px;
  min-width: 0;
  width: 100%;
  padding: 10px;
  color: inherit;
  font: inherit;
  text-align: left;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  cursor: pointer;
}

.project-alert-item:hover,
.project-alert-item:focus-visible {
  border-color: rgba(15, 106, 68, 0.3);
  box-shadow: 0 10px 24px rgba(15, 106, 68, 0.08);
}

.project-alert-item strong {
  display: block;
  line-height: 1.25;
  word-break: break-word;
}

.project-alert-item span,
.project-alert-item small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.metric.is-selected-metric {
  outline: 2px solid rgba(15, 106, 68, 0.28);
  box-shadow: 0 18px 34px rgba(15, 106, 68, 0.11);
}

.goal-command-layout {
  display: grid;
  grid-template-columns: minmax(280px, 1.05fr) minmax(260px, 0.9fr) minmax(360px, 1.4fr);
  gap: 12px;
  align-items: start;
}

.goal-command-primary,
.goal-command-summary,
.goal-command-panel,
.goal-command-warning {
  border: 1px solid rgba(18, 65, 49, 0.14);
  border-radius: 12px;
  background: #ffffff;
}

.goal-command-primary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  min-height: 236px;
  padding: 20px;
  cursor: pointer;
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.goal-command-primary:hover,
.goal-command-primary:focus-visible,
.goal-command-summary:hover,
.goal-command-summary:focus-visible,
.goal-command-task:hover,
.goal-command-task:focus-visible,
.goal-command-project:hover,
.goal-command-project:focus-visible,
.goal-command-warning:hover,
.goal-command-warning:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(15, 106, 68, 0.34);
  box-shadow: 0 12px 26px rgba(8, 42, 32, 0.08);
}

.goal-command-primary small,
.goal-command-panel small,
.goal-command-summary small,
.goal-command-task small,
.goal-command-project small,
.goal-command-warning small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.goal-command-primary h3 {
  margin: 8px 0 10px;
  font-size: 24px;
  line-height: 1.14;
}

.goal-command-primary p,
.goal-command-summary p {
  margin: 0;
  color: var(--text);
  line-height: 1.45;
}

.goal-command-primary > strong {
  color: var(--ink);
  font-size: 42px;
  line-height: 1;
}

.goal-command-primary .goal-control-action {
  grid-column: 1 / -1;
  justify-self: start;
  padding: 8px 12px;
  color: var(--green);
  font-weight: 900;
  background: #f0faf3;
  border: 1px solid var(--line);
  border-radius: 999px;
}

.goal-command-primary.is-critical {
  background: #fff7f5;
  border-color: rgba(197, 58, 50, 0.34);
  box-shadow: inset 4px 0 0 rgba(197, 58, 50, 0.62);
}

.goal-command-primary.is-warning {
  background: #fffaf0;
  border-color: rgba(183, 107, 24, 0.32);
  box-shadow: inset 4px 0 0 rgba(183, 107, 24, 0.55);
}

.goal-command-primary.is-ok {
  background: #f6fffa;
  border-color: rgba(31, 122, 77, 0.30);
}

.goal-command-stack,
.goal-command-list,
.goal-command-projects {
  display: grid;
  gap: 8px;
}

.goal-command-summary {
  display: grid;
  gap: 8px;
  padding: 13px;
  cursor: pointer;
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.goal-command-summary div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.goal-command-summary strong {
  font-size: 26px;
}

.goal-command-summary span {
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
}

.goal-command-summary.is-warning {
  background: #fffaf0;
  border-color: rgba(183, 107, 24, 0.28);
}

.goal-command-summary.is-ok {
  background: #f6fffa;
  border-color: rgba(31, 122, 77, 0.28);
}

.goal-command-panel {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.goal-command-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(18, 65, 49, 0.1);
}

.goal-command-panel-head strong {
  display: block;
  margin-top: 4px;
  line-height: 1.25;
}

.goal-command-task,
.goal-command-project {
  display: grid;
  gap: 5px;
  width: 100%;
  padding: 11px 12px;
  color: inherit;
  font: inherit;
  text-align: left;
  background: #fbfdfb;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 10px;
  cursor: pointer;
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.goal-command-task > span {
  justify-self: start;
  padding: 3px 8px;
  color: #7a4b0c;
  font-size: 11px;
  font-weight: 900;
  background: #fff1d3;
  border-radius: 999px;
}

.goal-command-task.is-overdue {
  background: #fff7f5;
  border-color: rgba(197, 58, 50, 0.22);
}

.goal-command-task.is-overdue > span {
  color: #a32822;
  background: #ffe0dc;
}

.goal-command-task strong,
.goal-command-project strong {
  line-height: 1.25;
}

.goal-command-project span {
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
}

.goal-command-warning-row {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.goal-command-warning {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 4px 10px;
  width: 100%;
  padding: 12px;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.goal-command-warning strong {
  grid-row: span 2;
  font-size: 26px;
  line-height: 1;
}

.goal-command-warning span {
  font-weight: 900;
}

.goal-command-warning.is-warning {
  background: #fffaf0;
  border-color: rgba(183, 107, 24, 0.28);
}

.goal-command-warning.is-ok {
  background: #f6fffa;
  border-color: rgba(31, 122, 77, 0.26);
}

@media (max-width: 1240px) {
  .goal-command-layout {
    grid-template-columns: 1fr 1fr;
  }

  .goal-command-primary,
  .goal-command-panel:last-of-type {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .goal-command-layout,
  .goal-command-warning-row {
    grid-template-columns: 1fr;
  }

  .goal-command-primary {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .goal-command-primary > strong {
    font-size: 34px;
  }

  .goal-command-panel-head {
    flex-direction: column;
  }
}

.rent-debt-workspace .inline-actions {
  flex-wrap: wrap;
}

.quick-payment-workspace .section-actions {
  align-items: stretch;
}

.quick-payment-workspace {
  background: rgba(255, 255, 255, 0.97);
  border-color: rgba(18, 65, 49, 0.12);
  box-shadow: 0 14px 34px rgba(8, 42, 32, 0.055);
}

.quick-payment-workspace .section-head {
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(18, 65, 49, 0.1);
}

.quick-payment-workspace .section-head h2 {
  font-size: 22px;
  line-height: 1.22;
}

.quick-payment-workspace .section-head p {
  line-height: 1.45;
}

.quick-day-scenarios {
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(300px, 1.6fr);
  gap: 12px;
  padding: 14px 16px;
  background: #fbfdfb;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
}

.quick-day-scenarios strong {
  display: block;
  font-size: 16px;
}

.quick-day-scenarios p {
  margin: 5px 0 0;
  color: var(--muted);
  line-height: 1.45;
}

.quick-day-scenario-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.quick-payment-form {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  background: #ffffff;
}

.quick-payment-note {
  padding: 14px 16px;
  border: 1px solid rgba(36, 107, 152, 0.14);
  border-radius: 14px;
  background: #fbfdff;
}

.quick-payment-requirement {
  padding: 14px 16px;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
  background: #ffffff;
}

.quick-payment-requirement.is-warning {
  background: #fff8ed;
  border-color: rgba(201, 162, 74, 0.34);
}

.quick-payment-existing-records {
  padding: 14px 16px;
  border: 1px solid rgba(9, 98, 68, 0.18);
  border-radius: 14px;
  background: #f7fbf8;
}

.quick-payment-existing-head,
.quick-payment-existing-line {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}

.quick-payment-existing-head {
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(9, 98, 68, 0.1);
}

.quick-payment-existing-line {
  padding: 12px 0 0;
}

.quick-payment-existing-line small,
.quick-payment-existing-line p,
.quick-payment-existing-head small {
  display: block;
  margin: 4px 0 0;
  color: var(--muted);
  line-height: 1.35;
}

.quick-payment-dayoff-summary {
  padding: 14px 16px;
  border: 1px solid rgba(31, 122, 77, 0.16);
  border-radius: 14px;
  background: #f3fbf6;
}

.quick-payment-dayoff-summary.is-limit {
  background: #fff6f3;
  border-color: rgba(208, 74, 64, 0.28);
}

.quick-payment-note strong {
  display: block;
  margin-bottom: 6px;
}

.quick-payment-requirement strong {
  display: block;
  margin-bottom: 6px;
}

.quick-payment-dayoff-summary strong {
  display: block;
  margin-bottom: 6px;
}

.quick-payment-requirement p,
.quick-payment-dayoff-summary p,
.quick-payment-note p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.quick-payment-form label.is-required {
  color: var(--ink);
}

.quick-payment-form label.is-required textarea {
  border-color: rgba(201, 162, 74, 0.52);
  background: #fffdf7;
}

.quick-payment-form label.is-disabled {
  opacity: 0.62;
}

.quick-payment-form label.is-disabled input {
  background: #f5f7f4;
}

.quick-payment-form label.is-hidden {
  display: none;
}

.data-form,
.chat-composer,
.chat-participants,
.park-lead-summary-note,
.park-lead-script-note,
.investor-statement-review.is-ok,
.support-mini-panel,
.support-history-line,
.snapshot-card,
.onboarding-counter {
  background: #ffffff;
  border-color: rgba(18, 65, 49, 0.12);
}

.chat-message {
  background: #ffffff;
  border-color: rgba(18, 65, 49, 0.12);
}

.chat-message.is-own {
  background: #f3faf6;
  border-color: rgba(15, 106, 68, 0.18);
}

th {
  background: #fbfcfb;
  border-bottom-color: rgba(18, 65, 49, 0.12);
}

.quick-payment-form .form-actions {
  align-items: center;
}

.investor-statement-day-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0;
}

.invest-command-center,
.invest-statement-card,
.investor-control-card,
.invest-vehicle-summary-card,
.invest-calculation-note {
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
}

.invest-overview-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap: 12px;
}

.investor-control-board,
.invest-statement-list {
  display: grid;
  gap: 14px;
  margin-top: 16px;
}

.investor-control-card,
.invest-statement-card {
  padding: 14px;
  border-radius: 14px;
}

.investor-control-head,
.invest-statement-head,
.invest-form-header,
.investor-vehicle-picker-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}

.investor-control-head p,
.invest-statement-head p,
.invest-form-header p,
.invest-statement-comment {
  margin: 4px 0 0;
  color: var(--muted);
}

.invest-publication-metrics {
  margin-top: 16px;
}

.invest-publication-form {
  margin-top: 16px;
}

.invest-publication-preview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.invest-publication-preview div {
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: color-mix(in srgb, var(--surface) 88%, white 12%);
  display: grid;
  gap: 4px;
}

.invest-publication-preview span {
  font-size: 12px;
  color: var(--muted);
}

.invest-publication-preview strong {
  font-size: 18px;
  line-height: 1.2;
}

.invest-publication-preview small {
  color: var(--muted);
}

.invest-publication-history-wrap {
  margin-top: 18px;
}

.invest-publication-history-table td:nth-child(6) {
  max-width: 320px;
  white-space: normal;
}

.invest-statement-head h3 {
  margin: 4px 0 0;
  font-size: 20px;
  line-height: 1.15;
}

.invest-statement-status,
.invest-statement-actions .inline-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.invest-statement-money-grid,
.invest-vehicle-summary-money {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.invest-statement-money-grid span,
.invest-vehicle-summary-money span,
.invest-statement-facts span {
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  background: #f7faf6;
  border: 1px solid rgba(18, 65, 49, 0.10);
  border-radius: 10px;
}

.invest-statement-money-grid small,
.invest-vehicle-summary-money small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}

.invest-statement-money-grid strong,
.invest-vehicle-summary-money b {
  font-size: 16px;
}

.invest-statement-money-grid .is-expense,
.invest-vehicle-summary-money .is-expense {
  background: #fff7ed;
  border-color: rgba(180, 83, 9, 0.24);
}

.invest-statement-money-grid .is-net,
.invest-vehicle-summary-money .is-net {
  background: #eefaf3;
  border-color: rgba(5, 122, 78, 0.24);
}

.invest-statement-warning {
  display: grid;
  gap: 4px;
  margin-top: 12px;
  padding: 11px 12px;
  border: 1px solid rgba(180, 83, 9, 0.26);
  border-radius: 12px;
  background: #fff7ed;
  color: #7c3f10;
}

.invest-statement-warning span {
  color: #7c3f10;
  font-size: 13px;
}

.invest-statement-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.invest-statement-facts span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  gap: 5px;
  padding: 6px 9px;
  font-size: 12px;
}

.invest-statement-details {
  margin-top: 12px;
}

.invest-statement-details > summary {
  cursor: pointer;
  color: var(--green);
  font-weight: 850;
}

.investor-group-picker,
.investor-vehicle-picker,
.invest-calculation-note {
  display: grid;
  gap: 10px;
  padding: 12px;
  border-radius: 12px;
}

.investor-group-picker {
  background: #f8fbf8;
  border: 1px solid rgba(18, 65, 49, 0.14);
}

.investor-group-picker-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.invest-calculation-note.is-finance-rule {
  background: #f7fbf8;
  border-color: rgba(5, 122, 78, 0.18);
}

.investor-group-picker-head span {
  color: var(--text);
  font-size: 14px;
  font-weight: 900;
}

.investor-group-picker-head em {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 650;
}

.investor-group-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 8px;
}

.investor-group-option {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 9px;
  align-items: flex-start;
  padding: 10px;
  background: #fff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease;
}

.investor-group-option:hover,
.investor-group-option.is-selected {
  background: #eef8f2;
  border-color: rgba(5, 122, 78, 0.34);
}

.investor-group-option.is-selected {
  box-shadow: inset 0 0 0 1px rgba(5, 122, 78, 0.14);
}

.investor-group-option span {
  display: grid;
  gap: 3px;
}

.investor-group-option small,
.investor-group-option em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
}

.investor-vehicle-picker-head span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.investor-vehicle-grid,
.investor-car-chip-grid,
.invest-vehicle-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
}

.investor-vehicle-option {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 9px;
  align-items: flex-start;
  padding: 10px;
  background: #f9fbf9;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 10px;
  cursor: pointer;
}

.investor-vehicle-option.is-hidden {
  display: none;
}

.investor-vehicle-option span,
.investor-car-chip,
.invest-vehicle-summary-card {
  display: grid;
  gap: 4px;
}

.investor-vehicle-option small,
.investor-vehicle-option em,
.investor-car-chip small,
.investor-car-chip em,
.invest-vehicle-summary-card p {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
}

.investor-car-chip {
  min-height: 76px;
  padding: 10px;
  text-align: left;
  background: #f8fbf8;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 10px;
  cursor: pointer;
}

.investor-car-chip:hover,
.investor-vehicle-option:hover {
  background: #eef8f2;
  border-color: rgba(15, 106, 68, 0.28);
}

.vehicle-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.vehicle-chip-list span {
  display: inline-flex;
  max-width: 100%;
  padding: 4px 7px;
  color: var(--green);
  font-size: 11px;
  font-weight: 850;
  line-height: 1.15;
  background: #eef8f2;
  border: 1px solid rgba(15, 106, 68, 0.18);
  border-radius: 999px;
}

.invest-vehicle-summary-card {
  padding: 12px;
  border-radius: 12px;
}

.invest-vehicle-summary-card.has-investor-debt {
  border-color: rgba(180, 83, 9, 0.32);
  background: #fffaf2;
}

.invest-vehicle-summary-money {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 6px;
}

.invest-vehicle-share-line {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

.invest-vehicle-share-line span {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  padding: 4px 7px;
  color: #0b5f3e;
  font-size: 11px;
  font-weight: 800;
  background: #eef8f2;
  border: 1px solid rgba(15, 106, 68, 0.16);
  border-radius: 999px;
}

.invest-day-type-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.1;
  border: 1px solid transparent;
  border-radius: 999px;
}

.invest-day-type-pill.is-paid,
.invest-day-row.is-paid {
  background: #dff5e8;
  color: #0f6a44;
}

.invest-day-type-pill.is-partial,
.invest-day-row.is-partial {
  background: #fff0d9;
  color: #9a5b12;
}

.invest-day-type-pill.is-discount,
.invest-day-row.is-discount {
  background: #fff4df;
  color: #8f5c12;
}

.invest-day-type-pill.is-dayoff,
.invest-day-row.is-dayoff {
  background: #e3efff;
  color: #285ea8;
}

.invest-day-type-pill.is-missed,
.invest-day-row.is-missed {
  background: #ffd9d5;
  color: #b0372f;
}

.invest-day-type-pill.is-inspection,
.invest-day-row.is-inspection {
  background: #ffe7b8;
  color: #7a3d00;
}

.invest-day-type-pill.is-accident,
.invest-day-row.is-accident {
  background: #7f1d2d;
  color: #ffffff;
}

.invest-day-type-pill.is-deferred,
.invest-day-row.is-deferred {
  background: #fff1e1;
  color: #8b560c;
}

.invest-day-type-pill.is-sick,
.invest-day-row.is-sick {
  background: #edf2ff;
  color: #315c9c;
}

.invest-day-type-pill.is-downtime,
.invest-day-row.is-downtime {
  background: #f0efea;
  color: #6d655b;
}

.invest-day-row td {
  background: transparent;
}

.invest-day-date,
.invest-day-weekday {
  display: block;
}

.invest-day-date {
  color: inherit;
  font-size: 12px;
  line-height: 1.2;
}

.invest-day-weekday {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
}

.invest-day-row.is-sunday {
  box-shadow: inset 3px 0 0 rgba(201, 162, 74, 0.62);
}

.invest-day-row.is-sunday td:first-child {
  background: rgba(255, 246, 226, 0.72);
}

.invest-day-row.is-sunday .invest-day-date,
.invest-day-row.is-sunday .invest-day-weekday {
  color: #8a5a12;
  font-weight: 850;
}

.invest-day-row.is-report-corrected {
  box-shadow: inset 3px 0 0 rgba(201, 162, 74, 0.72);
}

.investor-report-note {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 12px;
}

.investor-statement-blockers {
  display: grid;
  gap: 8px;
  margin: 10px 0;
  padding: 10px 12px;
  border: 1px solid rgba(184, 118, 34, 0.26);
  border-radius: 10px;
  background: #fffaf2;
}

.investor-statement-blockers strong {
  color: var(--ink);
}

.investor-statement-blockers ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
}

.investor-statement-blockers li span {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
}

.invest-day-report-cell {
  min-width: 150px;
}

.invest-day-report-input {
  width: 120px;
  min-height: 34px;
  padding: 7px 9px;
  color: var(--text);
  font-weight: 850;
  background: #ffffff;
  border: 1px solid rgba(15, 106, 68, 0.22);
  border-radius: 8px;
}

.invest-day-report-input:focus {
  outline: 2px solid rgba(15, 106, 68, 0.18);
  border-color: rgba(15, 106, 68, 0.5);
}

.invest-day-report-note {
  display: block;
  width: min(300px, 100%);
  margin-top: 6px;
  padding: 8px 9px;
  color: var(--text);
  font-size: 12px;
  line-height: 1.35;
  resize: vertical;
  background: #ffffff;
  border: 1px solid rgba(15, 106, 68, 0.18);
  border-radius: 8px;
}

.invest-day-base-note {
  display: block;
  width: min(300px, 100%);
  margin-top: 6px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
}

.invest-day-report-note:focus {
  outline: 2px solid rgba(15, 106, 68, 0.16);
  border-color: rgba(15, 106, 68, 0.44);
}

.invest-day-real-amount,
.invest-day-report-delta {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
}

.invest-day-report-delta {
  color: #8f5c12;
  font-weight: 800;
}

.invest-day-extra-income {
  color: #0f6a44;
  font-weight: 850;
  background: rgba(15, 106, 68, 0.06);
}

.tiny-button {
  min-height: 28px;
  margin-top: 6px;
  padding: 4px 8px;
  font-size: 11px;
}

.investor-statement-day-summary span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  color: var(--text);
  font-size: 12px;
  font-weight: 800;
  background: #f7faf6;
  border: 1px solid var(--line);
  border-radius: 999px;
}

.investor-statement-day-summary span.is-warning {
  background: #fff8ed;
  border-color: rgba(201, 162, 74, 0.34);
}

.investor-statement-review {
  margin: 10px 0;
  padding: 10px 12px;
  font-size: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.investor-statement-review.is-ok {
  color: var(--muted);
  background: #f7faf6;
}

.investor-statement-review.is-warning {
  background: #fff8ed;
  border-color: rgba(201, 162, 74, 0.34);
}

.investor-statement-review strong {
  display: block;
  margin-bottom: 6px;
}

.investor-statement-review ul {
  display: grid;
  gap: 4px;
  margin: 0;
  padding-left: 18px;
}

.park-lead-summary-grid {
  margin-bottom: 16px;
}

.park-lead-summary-note {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f8fbf8;
  color: var(--muted);
}

.park-lead-script-note {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border: 1px solid rgba(31, 122, 77, 0.18);
  border-radius: 14px;
  background: #f6faf7;
}

.park-lead-script-note p,
.park-lead-script-note ol {
  margin: 0;
  color: var(--muted);
}

.park-lead-script-note ol {
  padding-left: 18px;
  display: grid;
  gap: 4px;
}

.park-lead-contact-box,
.park-lead-contact-history {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  background: #fbfcfb;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
}

.park-lead-contact-box > div strong,
.park-lead-contact-history > strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.25;
}

.park-lead-contact-box > div p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.4;
}

.park-lead-contact-box {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.park-lead-contact-box > div,
.park-lead-contact-box .form-wide {
  grid-column: 1 / -1;
}

.park-lead-contact-history article {
  display: grid;
  gap: 4px;
  padding: 9px 10px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.08);
  border-radius: 10px;
}

.park-lead-contact-history span {
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.park-lead-contact-history p,
.park-lead-contact-history small {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.park-lead-workspace .section-actions {
  align-items: stretch;
}

.park-operator-workbench {
  background: rgba(255, 255, 255, 0.97);
}

.park-api-section {
  background: rgba(255, 255, 255, 0.98);
}

.park-operator-priority {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
  padding: 14px 16px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(8, 42, 32, 0.035);
}

.park-operator-priority.is-clear {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  background: #f1faf5;
  border-color: rgba(31, 122, 77, 0.18);
}

.park-operator-priority-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.park-operator-priority strong {
  display: block;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.25;
}

.park-operator-priority p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.park-operator-priority-list {
  display: grid;
  gap: 8px;
}

.park-operator-priority-list article {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 11px 12px;
  background: #f7faf6;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 12px;
}

.park-operator-priority-list article.red {
  background: #fff3f1;
  border-color: rgba(197, 58, 50, 0.2);
}

.park-operator-priority-list article.orange {
  background: #fffaf1;
  border-color: rgba(201, 138, 28, 0.2);
}

.park-operator-priority-list article > span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: #ffffff;
  font-size: 13px;
  font-weight: 900;
  background: var(--green);
  border-radius: 999px;
}

.park-operator-priority-list article.red > span {
  background: var(--red);
}

.park-operator-priority-list article.orange > span {
  background: var(--orange);
}

.park-operator-priority-list b {
  color: var(--green);
  font-size: 15px;
}

.park-operator-priority-list small {
  display: block;
  margin-top: 4px;
  color: #315447;
  font-size: 12px;
  line-height: 1.35;
}

.park-api-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.park-api-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(8, 42, 32, 0.045);
}

.park-api-card-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}

.park-api-card-head strong {
  display: block;
  font-size: 16px;
  line-height: 1.25;
}

.park-api-card-head p,
.park-api-card p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.4;
}

.park-api-form {
  padding: 12px;
  background: #fbfcfb;
}

.park-api-quality {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 14px 16px;
  background: #fbfcfb;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 14px;
}

.park-api-quality-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.park-api-quality-head strong {
  display: block;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.25;
}

.park-api-quality-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.park-api-quality-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.park-api-quality-grid span,
.park-api-quality-list article {
  min-width: 0;
  padding: 10px 11px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 12px;
}

.park-api-quality-grid span {
  display: grid;
  gap: 3px;
  min-height: 66px;
}

.park-api-quality-grid span.is-warning {
  background: #fff8e8;
  border-color: rgba(184, 118, 34, 0.22);
}

.park-api-quality-grid span.is-ok {
  background: #f1faf5;
  border-color: rgba(31, 122, 77, 0.18);
}

.park-api-quality-grid b {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.05;
}

.park-api-quality-grid small {
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.25;
}

.park-api-quality-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.park-api-quality-list article {
  display: grid;
  gap: 4px;
}

.park-api-quality-list article span {
  color: var(--green);
  font-size: 10.5px;
  font-weight: 900;
  text-transform: uppercase;
}

.park-api-quality-list article strong {
  color: var(--ink);
  font-size: 13.5px;
  line-height: 1.25;
}

.park-api-quality-list article p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.park-live-panel {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 14px 16px;
  background: #f8fbf9;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
}

.park-live-head {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
}

.park-live-head strong {
  display: block;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.25;
}

.park-live-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.park-live-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.park-live-grid article {
  min-width: 0;
  padding: 11px 12px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 12px;
}

.park-live-grid small {
  display: block;
  color: var(--muted);
  font-size: 11.5px;
  font-weight: 800;
  line-height: 1.25;
}

.park-live-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 22px;
  line-height: 1.05;
}

.park-live-grid p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.park-live-command-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.park-live-command-grid article {
  min-width: 0;
  padding: 14px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
  cursor: pointer;
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.park-live-command-grid article:hover {
  border-color: rgba(18, 112, 75, 0.26);
  background: #f7fbf8;
  box-shadow: 0 12px 26px rgba(8, 42, 32, 0.06);
  transform: translateY(-1px);
}

.park-live-command-grid article.is-danger {
  background: #fff7f6;
  border-color: rgba(196, 54, 48, 0.22);
}

.park-live-command-grid article.is-warning {
  background: #fffaf1;
  border-color: rgba(184, 118, 34, 0.24);
}

.park-live-command-grid article.is-ok {
  background: #f5fbf7;
  border-color: rgba(29, 124, 78, 0.16);
}

.park-live-command-grid small,
.park-live-action-list button span,
.park-live-park-card small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}

.park-live-command-grid strong {
  display: block;
  margin: 7px 0 6px;
  color: var(--ink);
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1;
}

.park-live-command-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.38;
}

.park-live-money-strip {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) repeat(2, minmax(180px, 240px));
  gap: 10px;
  align-items: stretch;
}

.park-live-money-strip article {
  padding: 13px 14px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
}

.park-live-money-strip article small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.park-live-money-strip article strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.15;
}

.park-live-money-strip article p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.park-live-parks-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 10px;
}

.park-live-park-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  min-width: 0;
  padding: 13px 14px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
}

.park-live-park-card.is-warning {
  background: #fffaf3;
  border-color: rgba(184, 118, 34, 0.22);
}

.park-live-park-card.is-ok {
  background: #f8fcf9;
}

.park-live-park-card strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.15;
}

.park-live-park-card p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.35;
}

.park-live-park-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(58px, 1fr));
  gap: 6px;
  min-width: 210px;
}

.park-live-park-actions button,
.park-live-action-list button {
  min-width: 0;
  border: 1px solid rgba(18, 65, 49, 0.12);
  background: rgba(255, 255, 255, 0.86);
  color: var(--ink);
  border-radius: 10px;
  cursor: pointer;
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease;
}

.park-live-park-actions button {
  padding: 8px 9px;
  text-align: left;
}

.park-live-park-actions button:hover,
.park-live-action-list button:hover {
  border-color: rgba(18, 112, 75, 0.26);
  background: #f5fbf7;
  box-shadow: 0 8px 18px rgba(8, 42, 32, 0.045);
}

.park-live-park-actions button.is-warning,
.park-live-action-list button.is-warning {
  background: #fff4df;
  border-color: rgba(184, 118, 34, 0.24);
}

.park-live-action-list button.is-danger {
  background: #fff2f0;
  border-color: rgba(196, 54, 48, 0.24);
}

.park-live-park-actions b {
  display: block;
  color: var(--ink);
  font-size: 17px;
  line-height: 1;
}

.park-live-park-actions span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.1;
}

.park-live-park-money {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  padding-top: 10px;
  border-top: 1px solid rgba(18, 65, 49, 0.09);
}

.park-live-park-money span {
  min-width: 0;
  padding: 8px 9px;
  background: rgba(245, 250, 247, 0.9);
  border: 1px solid rgba(18, 65, 49, 0.09);
  border-radius: 10px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
}

.park-live-park-money b {
  display: block;
  margin-top: 2px;
  color: var(--ink);
  font-size: 13px;
}

.park-live-action-list {
  display: grid;
  gap: 8px;
  padding: 12px;
  background: rgba(255, 255, 255, 0.68);
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 14px;
}

.park-live-action-list button {
  display: grid;
  grid-template-columns: minmax(160px, 0.55fr) minmax(180px, 0.8fr) minmax(260px, 1fr);
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  text-align: left;
}

.park-live-action-list button b {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.25;
}

.park-live-action-list button small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

.park-live-raw-details {
  opacity: 0.78;
}

.park-live-raw-details:hover {
  opacity: 1;
}

.park-live-errors {
  display: grid;
  gap: 8px;
  padding: 10px;
  background: #fff6f4;
  border: 1px solid rgba(206, 57, 50, 0.18);
  border-radius: 12px;
}

.park-live-error-row {
  display: grid;
  gap: 3px;
  color: #8f1f1a;
  font-size: 12px;
  line-height: 1.35;
}

.park-live-error-row b {
  color: #6f1714;
  font-size: 12.5px;
}

.section-subcard.compact-table {
  overflow: hidden;
}

.section-subcard.compact-table table {
  width: 100%;
  min-width: 680px;
}

.section-subcard.compact-table th,
.section-subcard.compact-table td {
  vertical-align: top;
}

.park-operator-api-signals {
  margin-bottom: 14px;
}

.park-live-operator-panel {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
  padding: 14px;
  background: linear-gradient(180deg, #f7fbf8 0%, #ffffff 100%);
  border: 1px solid rgba(18, 85, 60, 0.15);
  border-radius: 14px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.park-live-operator-panel.is-empty {
  background: #fbfcfb;
}

.park-live-operator-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.park-live-operator-head strong {
  display: block;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.25;
}

.park-live-operator-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.park-live-operator-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.park-live-operator-filters .ghost-button {
  border-color: rgba(18, 65, 49, 0.14);
  background: rgba(255, 255, 255, 0.82);
  color: var(--ink);
  transition: background 140ms ease, border-color 140ms ease, box-shadow 140ms ease, color 140ms ease;
}

.park-live-operator-filters .ghost-button:hover {
  background: #f2faf6;
  border-color: rgba(20, 115, 74, 0.24);
}

.park-live-operator-filters .ghost-button.is-active {
  background: rgba(20, 115, 74, 0.12);
  border-color: rgba(20, 115, 74, 0.3);
  color: #0d5d3a;
  box-shadow: inset 0 0 0 1px rgba(20, 115, 74, 0.08);
}

.park-live-operator-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
}

.park-live-operator-grid article,
.park-live-operator-list article {
  min-width: 0;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 12px;
}

.park-live-operator-grid article.is-warning {
  background: #fffaf1;
  border-color: rgba(184, 118, 34, 0.2);
}

.park-live-operator-grid article.is-ok {
  background: #f4fbf7;
  border-color: rgba(31, 122, 77, 0.16);
}

.park-live-operator-grid small,
.park-live-operator-grid span,
.park-live-operator-list span,
.park-live-operator-list p {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

.park-live-operator-grid b {
  display: block;
  margin: 4px 0;
  color: var(--ink);
  font-size: 21px;
  line-height: 1.05;
}

.park-live-operator-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.park-live-operator-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}

.park-live-operator-list span {
  color: var(--green);
  font-size: 10.5px;
  font-weight: 900;
  text-transform: uppercase;
}

.park-live-operator-list strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.25;
}

.park-live-operator-list p {
  margin: 4px 0 0;
}

.park-operator-main-cockpit {
  display: grid;
  gap: 14px;
}

.park-workdesk {
  display: grid;
  gap: 14px;
}

.park-workspace-pult {
  margin-bottom: 12px;
  background: rgba(255, 255, 255, 0.96);
  border-color: rgba(18, 65, 49, 0.12);
}

.park-workspace-pult .section-head {
  align-items: center;
}

.park-workspace-pult h2 {
  margin-bottom: 3px;
}

.park-workspace-pult .section-actions {
  gap: 7px;
}

.park-workdesk-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.park-workdesk-metric {
  min-width: 0;
  padding: 14px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(8, 42, 32, 0.035);
}

.park-workdesk-metric.is-ok {
  background: #f7fbf8;
  border-color: rgba(31, 122, 77, 0.18);
}

.park-workdesk-metric.is-warning {
  background: #fffaf2;
  border-color: rgba(184, 118, 34, 0.24);
}

.park-workdesk-metric small,
.park-workdesk-metric p {
  display: block;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

.park-workdesk-metric strong {
  display: block;
  margin: 6px 0 5px;
  color: var(--ink);
  font-size: 30px;
  line-height: 1;
}

.park-workdesk-metric p.is-positive {
  color: var(--green);
  font-weight: 850;
}

.park-workdesk-metric p.is-negative {
  color: var(--orange);
  font-weight: 850;
}

.park-workdesk-metric p span {
  color: var(--muted);
  font-weight: 650;
}

.park-workdesk-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

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

.park-workdesk-list {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 12px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(8, 42, 32, 0.035);
}

.park-workdesk-list-head {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  min-height: 32px;
}

.park-workdesk-list-head strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.2;
}

.park-workdesk-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  min-width: 0;
  padding: 11px 12px;
  background: #fbfcfb;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 11px;
}

.park-workdesk-row strong,
.park-workdesk-row p,
.park-workdesk-row small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.park-workdesk-row strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.25;
}

.park-workdesk-row p,
.park-workdesk-row small {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.park-workdesk-row .inline-actions {
  justify-content: flex-end;
  max-width: 190px;
  row-gap: 6px;
}

.park-operator-panel-layout {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.park-operator-panel-block {
  min-width: 0;
  padding: 12px;
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 16px;
  box-shadow: 0 14px 34px rgba(8, 42, 32, 0.035);
  transition: border-color 140ms ease, box-shadow 140ms ease, opacity 140ms ease, transform 140ms ease;
}

.park-operator-panel-block.is-dragging {
  opacity: 0.62;
  border-color: rgba(20, 115, 74, 0.32);
  box-shadow: 0 16px 36px rgba(8, 42, 32, 0.08);
  transform: scale(0.996);
}

.park-operator-panel-block-head {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 11px;
  padding: 8px 10px;
  background: #f7fbf8;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 12px;
  cursor: grab;
  user-select: none;
}

.park-operator-panel-block-head:active {
  cursor: grabbing;
}

.park-operator-panel-block-head strong,
.park-operator-panel-block-head small,
.park-operator-panel-block-head span {
  display: block;
}

.park-operator-panel-block-head strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.2;
}

.park-operator-panel-block-head small,
.park-operator-panel-block-head span {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
}

.park-operator-panel-block-head span {
  flex: 0 0 auto;
  padding: 6px 8px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 999px;
  color: var(--green);
  font-weight: 800;
}

.park-operator-panel-block-body {
  min-width: 0;
}

.park-operator-main-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}

.park-operator-main-summary,
.park-operator-main-park,
.park-operator-main-work article,
.park-operator-main-problems {
  min-width: 0;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(8, 42, 32, 0.035);
}

.park-operator-main-summary {
  padding: 13px 14px;
}

.park-operator-main-summary.is-ok {
  background: #f7fbf8;
  border-color: rgba(31, 122, 77, 0.16);
}

.park-operator-main-summary.is-warning {
  background: #fffaf2;
  border-color: rgba(184, 118, 34, 0.24);
}

.park-operator-main-summary.is-money {
  background: #f7faf9;
  border-color: rgba(18, 85, 60, 0.18);
}

.park-operator-main-summary small,
.park-operator-main-summary p,
.park-operator-main-park small,
.park-operator-main-park span,
.park-operator-main-work small,
.park-operator-main-work p,
.park-operator-main-problems small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.park-operator-main-summary strong {
  display: block;
  margin: 5px 0 4px;
  color: var(--ink);
  font-size: 28px;
  line-height: 1;
}

.park-operator-main-summary p {
  margin: 0;
}

.park-operator-main-parks {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  gap: 12px;
}

.park-operator-main-park {
  display: grid;
  gap: 11px;
  padding: 14px;
}

.park-operator-main-park.is-active {
  border-color: rgba(20, 115, 74, 0.38);
  box-shadow: 0 0 0 2px rgba(20, 115, 74, 0.08), 0 14px 30px rgba(8, 42, 32, 0.045);
}

.park-operator-main-park.is-warning {
  background: #fffdf7;
}

.park-operator-main-park-head {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  justify-content: space-between;
}

.park-operator-main-park-head strong {
  display: block;
  margin: 2px 0;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.12;
}

.park-operator-main-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

.park-operator-main-stats span,
.park-operator-main-stats button {
  min-width: 0;
  padding: 9px 8px;
  text-align: left;
  background: #f8fbf9;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 10px;
  color: var(--ink);
}

.park-operator-main-stats button {
  cursor: pointer;
  transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;
}

.park-operator-main-stats button:hover,
.park-operator-main-stats button:focus-visible {
  background: #f1f8f4;
  border-color: rgba(20, 115, 74, 0.28);
  transform: translateY(-1px);
}

.park-operator-main-stats .is-warning {
  background: #fff4ed;
  border-color: rgba(196, 67, 46, 0.22);
}

.park-operator-main-stats b {
  display: block;
  font-size: 22px;
  line-height: 1;
}

.park-operator-main-line,
.park-operator-main-income {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 7px;
}

.park-operator-main-line span,
.park-operator-main-income span {
  padding: 8px 10px;
  background: #fbfcfb;
  border: 1px solid rgba(18, 65, 49, 0.08);
  border-radius: 10px;
}

.park-operator-main-income span.is-missing {
  background: #fffaf0;
  border-color: rgba(184, 118, 34, 0.22);
}

.park-operator-main-income span small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
}

.park-operator-main-income.is-muted {
  grid-template-columns: 1fr;
}

.park-operator-main-accounts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.park-operator-account-signal {
  min-width: 0;
  padding: 10px 11px;
  text-align: left;
  background: #f6fbf8;
  border: 1px solid rgba(31, 122, 77, 0.16);
  border-radius: 12px;
  color: var(--ink);
  cursor: pointer;
  transition: background 140ms ease, border-color 140ms ease, transform 140ms ease;
}

.park-operator-account-signal:hover,
.park-operator-account-signal:focus-visible {
  background: #eef8f2;
  border-color: rgba(20, 115, 74, 0.3);
  transform: translateY(-1px);
}

.park-operator-account-signal.is-critical {
  background: #fff1ee;
  border-color: rgba(196, 67, 46, 0.35);
}

.park-operator-account-signal.is-missing {
  background: #fffaf0;
  border-color: rgba(184, 118, 34, 0.22);
}

.park-operator-account-signal span,
.park-operator-account-signal small,
.park-operator-account-signal b {
  display: block;
}

.park-operator-account-signal b {
  margin: 3px 0;
  font-size: 18px;
}

.park-operator-main-work {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.park-operator-main-work article {
  padding: 14px;
}

.park-operator-main-work strong,
.park-operator-main-problems strong {
  display: block;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.2;
}

.park-operator-main-problems {
  display: grid;
  grid-template-columns: minmax(180px, 0.9fr) repeat(auto-fit, minmax(230px, 1fr));
  gap: 8px;
  padding: 12px;
  background: #fffaf7;
  border-color: rgba(196, 67, 46, 0.18);
}

.park-operator-main-problems button {
  min-width: 0;
  padding: 10px 11px;
  text-align: left;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(196, 67, 46, 0.18);
  border-radius: 11px;
  cursor: pointer;
  transition: background 140ms ease, border-color 140ms ease, transform 140ms ease;
}

.park-operator-main-problems button:hover,
.park-operator-main-problems button:focus-visible {
  background: #fff7f3;
  border-color: rgba(196, 67, 46, 0.32);
  transform: translateY(-1px);
}

.park-operator-main-problems button span,
.park-operator-main-problems button b,
.park-operator-main-problems button small {
  display: block;
}

.park-operator-main-problems button b {
  margin: 2px 0 3px;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.25;
}

@media (max-width: 920px) {
  .park-workdesk-metrics,
  .park-workdesk-lists {
    grid-template-columns: 1fr;
  }

  .park-workdesk-row {
    grid-template-columns: 1fr;
  }

  .park-workdesk-row .inline-actions {
    justify-content: flex-start;
    max-width: none;
  }

  .park-operator-main-work,
  .park-operator-main-accounts {
    grid-template-columns: 1fr;
  }

  .park-operator-main-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .park-operator-main-problems {
    grid-template-columns: 1fr;
  }
}

.park-operator-kpi {
  margin-bottom: 14px;
}

.park-registration-desk,
.park-violation-panel,
.park-operator-quality {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
  padding: 14px 16px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(8, 42, 32, 0.035);
}

.park-registration-desk-head,
.park-violation-panel-head,
.park-operator-quality-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.park-registration-desk-head strong,
.park-violation-panel-head strong,
.park-operator-quality-head strong,
.park-registration-flow strong {
  display: block;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.25;
}

.park-registration-desk-head p,
.park-violation-panel-head p,
.park-operator-quality-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.park-operator-quality.is-ok {
  background: #f6fbf8;
  border-color: rgba(31, 122, 77, 0.18);
}

.park-operator-quality.is-warning {
  background: #fffdf8;
  border-color: rgba(201, 138, 28, 0.2);
}

.park-operator-quality-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.park-operator-quality-grid article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 11px 12px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-left-width: 4px;
  border-radius: 12px;
}

.park-operator-quality-grid article.red {
  background: #fff7f5;
  border-left-color: rgba(197, 58, 50, 0.78);
}

.park-operator-quality-grid article.orange {
  background: #fffaf1;
  border-left-color: rgba(184, 118, 34, 0.72);
}

.park-operator-quality-grid article.green {
  background: #f6fbf8;
  border-left-color: rgba(31, 122, 77, 0.62);
}

.park-operator-quality-grid strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.25;
}

.park-operator-quality-grid p,
.park-operator-quality-grid small {
  display: block;
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.park-operator-quality-grid small {
  color: #315447;
  font-weight: 760;
}

.park-operator-quality-grid article > div:last-child {
  display: grid;
  gap: 7px;
  justify-items: end;
  min-width: 72px;
}

.park-operator-quality-grid b {
  color: var(--ink);
  font-size: 20px;
  line-height: 1;
}

.park-registration-desk-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.park-registration-desk-grid span {
  display: grid;
  gap: 3px;
  min-width: 0;
  min-height: 68px;
  align-content: center;
  padding: 10px 11px;
  background: #f8fbf7;
  border: 1px solid rgba(18, 65, 49, 0.09);
  border-radius: 10px;
}

.park-registration-desk-grid span.is-warning {
  background: #fff8e8;
  border-color: rgba(184, 118, 34, 0.22);
}

.park-registration-desk-grid span.is-ok {
  background: #f1faf5;
  border-color: rgba(31, 122, 77, 0.18);
}

.park-registration-desk-grid b {
  color: var(--ink);
  font-size: 19px;
  line-height: 1.05;
}

.park-registration-desk-grid small {
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.25;
}

.park-registration-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.park-registration-flow > div {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 12px;
  background: #fbfcfb;
  border: 1px solid rgba(18, 65, 49, 0.08);
  border-radius: 12px;
}

.park-registration-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.park-registration-tags span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  min-height: 28px;
  padding: 6px 9px;
  color: #315447;
  font-size: 12px;
  line-height: 1.15;
  background: #eef7f2;
  border: 1px solid rgba(31, 122, 77, 0.12);
  border-radius: 999px;
}

.park-registration-tags b {
  color: var(--ink);
}

.park-source-performance {
  display: grid;
  gap: 10px;
  padding: 12px;
  background: #fbfcfb;
  border: 1px solid rgba(18, 65, 49, 0.08);
  border-radius: 12px;
}

.park-source-performance.is-empty {
  background: #f7faf6;
}

.park-source-performance-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.park-source-performance strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.25;
}

.park-source-performance p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.park-source-performance-grid article > div > small {
  display: block;
  margin-top: 5px;
  color: #7d4b13;
  font-size: 11.5px;
  font-weight: 760;
  line-height: 1.3;
}

.park-source-performance-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.park-source-performance-grid article {
  display: grid;
  gap: 9px;
  min-width: 0;
  padding: 10px 11px;
  background: #f7faf6;
  border: 1px solid rgba(18, 65, 49, 0.09);
  border-radius: 11px;
}

.park-source-performance-grid article.green {
  background: #f1faf5;
  border-color: rgba(31, 122, 77, 0.18);
}

.park-source-performance-grid article.orange {
  background: #fffaf1;
  border-color: rgba(201, 138, 28, 0.2);
}

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

.park-source-performance-metrics span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 7px 8px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(18, 65, 49, 0.07);
  border-radius: 9px;
}

.park-source-performance-metrics b {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.05;
}

.park-source-performance-metrics small {
  color: var(--muted);
  font-size: 10.5px;
  line-height: 1.15;
}

.park-registration-mini-list,
.park-violation-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.park-registration-mini-card,
.park-violation-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  min-width: 0;
  padding: 11px 12px;
  background: #fbfcfb;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-left: 4px solid rgba(31, 122, 77, 0.55);
  border-radius: 12px;
}

.park-registration-mini-card.orange,
.park-violation-list article.orange {
  background: #fffaf1;
  border-left-color: rgba(201, 138, 28, 0.72);
}

.park-registration-mini-card.red,
.park-violation-list article.red {
  background: #fff3f1;
  border-left-color: rgba(197, 58, 43, 0.72);
}

.park-registration-mini-card strong,
.park-violation-list article strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.25;
}

.park-registration-mini-card p,
.park-registration-mini-card small,
.park-violation-list article p,
.park-violation-list article small {
  display: block;
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.park-registration-mini-card .inline-actions,
.park-violation-list .inline-actions {
  justify-content: flex-end;
  max-width: 260px;
  row-gap: 6px;
}

.park-operator-funnel {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
  padding: 14px 16px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(8, 42, 32, 0.035);
}

.park-operator-funnel-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.park-operator-funnel-head strong {
  display: block;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.25;
}

.park-operator-funnel-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.park-funnel-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.park-funnel-step {
  position: relative;
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 11px 12px;
  background: #f8fbf7;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 12px;
}

.park-funnel-step small {
  color: var(--green);
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.park-funnel-step strong {
  color: var(--ink);
  font-size: 24px;
  line-height: 1.05;
}

.park-funnel-step span {
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.25;
}

.park-funnel-step.activation,
.park-funnel-step.reactivation {
  background: #fffaf1;
  border-color: rgba(201, 138, 28, 0.2);
}

.park-funnel-step.activated {
  background: #f1faf5;
  border-color: rgba(31, 122, 77, 0.18);
}

.park-operator-contacts {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
  padding: 14px 16px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(8, 42, 32, 0.035);
}

.park-operator-contacts-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.park-operator-contacts-head strong {
  display: block;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.25;
}

.park-operator-contacts-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.park-operator-contact-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.park-operator-contact-grid span {
  display: grid;
  gap: 3px;
  min-width: 0;
  min-height: 68px;
  align-content: center;
  padding: 10px 11px;
  background: #f8fbf7;
  border: 1px solid rgba(18, 65, 49, 0.09);
  border-radius: 10px;
}

.park-operator-contact-grid span.is-warning {
  background: #fff8e8;
  border-color: rgba(184, 118, 34, 0.22);
}

.park-operator-contact-grid b {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.05;
}

.park-operator-contact-grid small {
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.25;
}

.park-operator-contact-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.park-operator-contact-list article {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px 11px;
  background: #fbfcfb;
  border: 1px solid rgba(18, 65, 49, 0.08);
  border-radius: 10px;
}

.park-operator-contact-list article span {
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.park-operator-contact-list article strong {
  color: var(--ink);
  font-size: 13.5px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.park-operator-contact-list article p,
.park-operator-contact-list article small {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.park-bottleneck-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.park-bottleneck {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 12px;
  background: #f8fbf7;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 12px;
}

.park-bottleneck.red {
  background: #fff3f1;
  border-color: rgba(197, 58, 43, 0.22);
}

.park-bottleneck.orange {
  background: #fffaf1;
  border-color: rgba(201, 138, 28, 0.22);
}

.park-bottleneck.green {
  background: #f1faf5;
  border-color: rgba(31, 122, 77, 0.16);
}

.park-bottleneck strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.25;
}

.park-bottleneck p,
.park-bottleneck span {
  margin: 0;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.4;
}

.park-bottleneck span {
  color: #315447;
  font-weight: 800;
}

.park-operator-start {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
  padding: 14px 16px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(8, 42, 32, 0.035);
}

.park-operator-start-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.park-operator-start-head strong {
  display: block;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.25;
}

.park-operator-start-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.park-operator-start-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.park-operator-start-grid article {
  display: grid;
  gap: 5px;
  min-width: 0;
  min-height: 104px;
  padding: 11px 12px;
  background: #fffaf1;
  border: 1px solid rgba(201, 138, 28, 0.2);
  border-radius: 12px;
}

.park-operator-start-grid article.done {
  background: #f1faf5;
  border-color: rgba(31, 122, 77, 0.18);
}

.park-operator-start-grid small {
  color: var(--green);
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: 0.04em;
  line-height: 1.25;
  text-transform: uppercase;
}

.park-operator-start-grid strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.2;
}

.park-operator-start-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.park-operator-discipline {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
  padding: 14px 16px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(8, 42, 32, 0.035);
}

.park-operator-discipline-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.park-operator-discipline-head strong {
  display: block;
  font-size: 16px;
  line-height: 1.25;
}

.park-operator-discipline-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.park-discipline-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.park-discipline-grid article {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 12px;
  background: #f8fbf7;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 12px;
}

.park-discipline-grid small {
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.park-discipline-grid strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.2;
}

.park-discipline-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.park-dispatch-panel {
  display: grid;
  gap: 12px;
  padding: 12px;
  background: #f6faf8;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 12px;
}

.park-dispatch-composer {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
  padding: 14px 16px;
  background: #fbfcfb;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(8, 42, 32, 0.03);
}

.park-dispatch-composer-form {
  background: #ffffff;
}

.park-dispatch-composer-form textarea {
  min-height: 84px;
}

.park-dispatch-template-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.park-dispatch-panel-head,
.park-dispatch-card-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.park-dispatch-panel-head strong,
.park-dispatch-card-head strong {
  display: block;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.25;
}

.park-dispatch-panel-head p,
.park-dispatch-card-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.4;
}

.park-dispatch-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.park-dispatch-result-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.park-dispatch-result-grid span {
  display: grid;
  gap: 2px;
  padding: 9px 10px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.08);
  border-radius: 10px;
}

.park-dispatch-result-grid b {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.1;
}

.park-dispatch-result-grid small {
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.25;
}

.park-dispatch-channel-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.park-dispatch-channel-grid span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 9px 10px;
  color: #315447;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.08);
  border-radius: 10px;
}

.park-dispatch-channel-grid b {
  color: var(--ink);
  font-size: 12.5px;
  line-height: 1.25;
}

.park-dispatch-channel-grid small {
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.3;
}

.park-communication-audit {
  display: grid;
  gap: 10px;
  padding: 12px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.08);
  border-radius: 12px;
}

.park-communication-audit-head {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  justify-content: space-between;
}

.park-communication-audit-head strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.25;
}

.park-communication-audit-head p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.park-communication-audit-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.park-communication-audit-grid span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px 9px;
  background: #f8fbf7;
  border: 1px solid rgba(18, 65, 49, 0.08);
  border-radius: 10px;
}

.park-communication-audit-grid b {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.05;
}

.park-communication-audit-grid small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
}

.park-communication-issues {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.park-communication-issues article {
  display: grid;
  gap: 4px;
  padding: 9px 10px;
  background: #f8fbf7;
  border: 1px solid rgba(18, 65, 49, 0.08);
  border-radius: 10px;
}

.park-communication-issues article.orange {
  background: #fffaf1;
  border-color: rgba(201, 138, 28, 0.2);
}

.park-communication-issues article.blue {
  background: #f2f8fb;
  border-color: rgba(31, 97, 122, 0.16);
}

.park-communication-issues article.green {
  background: #f1faf5;
  border-color: rgba(31, 122, 77, 0.16);
}

.park-communication-issues strong {
  color: var(--ink);
  font-size: 12.5px;
  line-height: 1.25;
}

.park-communication-issues p,
.park-communication-issues span {
  margin: 0;
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.35;
}

.park-communication-issues span {
  color: #315447;
  font-weight: 800;
}

.park-dispatch-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 12px;
}

.park-dispatch-card.is-sent {
  background: #f4f8f5;
  opacity: 0.78;
}

.park-dispatch-text {
  margin: 0;
  padding: 10px 11px;
  color: #2d493f;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.08);
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.45;
}

.park-dispatch-outcome {
  margin: 0;
  color: #0f6b46;
  font-size: 12.5px;
  font-weight: 800;
  line-height: 1.35;
}

.park-operator-money-panel {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(0, 1.7fr);
  gap: 14px;
  align-items: stretch;
  margin-bottom: 14px;
  padding: 14px 16px;
  background: #fbfcfb;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
}

.park-operator-money-note {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 10px 12px;
  color: #315447;
  background: #eef7f2;
  border: 1px solid rgba(31, 122, 77, 0.14);
  border-radius: 12px;
  font-size: 12.5px;
  line-height: 1.4;
}

.park-operator-money-note strong {
  color: var(--ink);
}

.park-operator-money-copy strong {
  display: block;
  font-size: 16px;
  line-height: 1.25;
}

.park-operator-money-copy p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.park-operator-money-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.park-operator-money-grid span {
  display: grid;
  align-content: center;
  min-height: 76px;
  padding: 11px 12px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 12px;
}

.park-operator-money-grid span.is-on {
  background: #effaf4;
  border-color: rgba(22, 133, 78, 0.24);
}

.park-operator-money-grid span.is-off {
  background: #fbf6ef;
  border-color: rgba(184, 118, 34, 0.2);
}

.park-operator-money-grid span.coefficient.green {
  background: #effaf4;
  border-color: rgba(22, 133, 78, 0.24);
}

.park-operator-money-grid span.coefficient.orange {
  background: #fff8e8;
  border-color: rgba(184, 118, 34, 0.22);
}

.park-operator-money-grid span.coefficient.blue {
  background: #f3f8fb;
  border-color: rgba(61, 105, 135, 0.18);
}

.park-operator-money-grid b {
  display: block;
  color: var(--text);
  font-size: 18px;
  line-height: 1.2;
}

.park-operator-money-grid small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.3;
}

.park-operator-proof {
  display: grid;
  gap: 14px;
  margin-bottom: 14px;
  padding: 16px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.14);
  border-left: 5px solid var(--green);
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(15, 50, 36, 0.055);
}

.park-operator-proof.orange {
  border-left-color: var(--orange);
  background: #fffaf1;
}

.park-operator-proof.red {
  border-left-color: var(--red);
  background: #fff8f7;
}

.park-operator-proof-head {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.park-operator-proof-head strong {
  display: block;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.2;
}

.park-operator-proof-head p {
  max-width: 860px;
  margin: 6px 0 0;
  color: var(--muted);
  line-height: 1.4;
}

.park-operator-proof-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.park-operator-proof-grid span {
  min-width: 0;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 10px;
}

.park-operator-proof-grid b,
.park-operator-proof-grid small {
  display: block;
}

.park-operator-proof-grid b {
  color: var(--ink);
  font-size: 20px;
  line-height: 1.1;
}

.park-operator-proof-grid small {
  margin-top: 4px;
  color: var(--muted);
  line-height: 1.25;
}

.park-payroll-statement {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
  padding: 14px 16px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(8, 42, 32, 0.035);
}

.park-payroll-statement-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.park-payroll-statement-head strong {
  display: block;
  font-size: 16px;
  line-height: 1.25;
}

.park-payroll-statement-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.park-payroll-table {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 8px;
}

.park-payroll-table > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  background: #f8fbf7;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 10px;
}

.park-payroll-table > div.is-total {
  color: #ffffff;
  background: #0b6b45;
  border-color: rgba(11, 107, 69, 0.28);
}

.park-payroll-table span,
.park-payroll-table small {
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.3;
}

.park-payroll-table b {
  color: var(--ink);
  font-size: 17px;
  line-height: 1.2;
}

.park-payroll-table > div.is-total span,
.park-payroll-table > div.is-total small,
.park-payroll-table > div.is-total b {
  color: #ffffff;
}

.park-payroll-proof-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.park-payroll-proof-grid span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px 10px;
  background: #fbfcfb;
  border: 1px solid rgba(18, 65, 49, 0.09);
  border-radius: 10px;
}

.park-payroll-proof-grid b {
  color: var(--ink);
  font-size: 17px;
  line-height: 1.1;
}

.park-payroll-proof-grid small {
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.25;
}

.park-payroll-rule {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  color: #315447;
  font-size: 12.5px;
  line-height: 1.4;
}

.park-payroll-rule span {
  padding: 9px 10px;
  background: #eef7f2;
  border: 1px solid rgba(31, 122, 77, 0.12);
  border-radius: 10px;
}

.park-payroll-readiness {
  display: grid;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 12px;
}

.park-payroll-readiness.green {
  background: #effaf4;
  border-color: rgba(22, 133, 78, 0.22);
}

.park-payroll-readiness.orange {
  background: #fff8e8;
  border-color: rgba(184, 118, 34, 0.22);
}

.park-payroll-readiness.red {
  background: #fff1ef;
  border-color: rgba(197, 58, 50, 0.22);
}

.park-payroll-readiness strong,
.park-payroll-readiness span {
  display: block;
}

.park-payroll-readiness span,
.park-payroll-readiness li {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.park-payroll-readiness ul {
  display: grid;
  gap: 4px;
  margin: 0;
  padding-left: 18px;
}

.park-payroll-history {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
  padding: 14px 16px;
  background: #fbfcfb;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
}

.park-payroll-history-head,
.park-payroll-history-card-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.park-payroll-history-head strong,
.park-payroll-history-card-head strong {
  display: block;
  font-size: 16px;
  line-height: 1.25;
}

.park-payroll-history-head p,
.park-payroll-history-card-head p,
.park-payroll-history-card > p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.4;
}

.park-payroll-history-list {
  display: grid;
  gap: 10px;
}

.park-payroll-history-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 12px;
}

.park-payroll-history-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 8px;
}

.park-payroll-history-grid span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 9px 10px;
  background: #f8fbf7;
  border: 1px solid rgba(18, 65, 49, 0.08);
  border-radius: 10px;
}

.park-payroll-history-grid b {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.2;
}

.park-payroll-history-grid small {
  color: var(--muted);
  font-size: 11.5px;
}

.park-operator-access {
  display: grid;
  grid-template-columns: minmax(220px, 0.75fr) minmax(0, 1.6fr);
  gap: 14px;
  align-items: start;
  margin-bottom: 14px;
  padding: 14px 16px;
  background: #fbfcfb;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
}

.park-operator-access strong {
  display: block;
  font-size: 16px;
  line-height: 1.25;
}

.park-operator-access p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.park-access-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 8px;
}

.park-access-toggle {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  min-height: 58px;
  padding: 10px;
  color: var(--ink);
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 12px;
}

.park-access-toggle input {
  width: 16px;
  min-height: 16px;
  margin-top: 2px;
}

.park-access-toggle b,
.park-access-toggle small {
  display: block;
}

.park-access-toggle small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

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

.park-operator-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 14px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(8, 42, 32, 0.045);
}

.park-operator-card.is-locked {
  background: #fbfcfb;
}

.park-operator-card-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}

.park-operator-card-head strong {
  display: block;
  font-size: 16px;
  line-height: 1.25;
}

.park-operator-card-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.4;
}

.park-operator-list {
  display: grid;
  gap: 8px;
}

.park-operator-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  background: #fbfcfb;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-left: 3px solid rgba(15, 106, 68, 0.28);
  border-radius: 12px;
}

.park-operator-item.red {
  border-left-color: rgba(197, 58, 50, 0.72);
}

.park-operator-item.orange {
  border-left-color: rgba(183, 107, 24, 0.68);
}

.park-operator-item.green {
  border-left-color: rgba(31, 122, 77, 0.62);
}

.park-operator-item strong {
  display: block;
  font-size: 14px;
  line-height: 1.25;
}

.park-operator-item p,
.park-operator-item small {
  display: block;
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.park-operator-item .inline-actions {
  justify-content: flex-end;
  max-width: 360px;
  row-gap: 6px;
}

.park-operator-lead-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.park-operator-lead-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #f4f8f5;
  border: 1px solid rgba(18, 65, 49, 0.1);
  color: #466258;
  font-size: 11.5px;
  line-height: 1.2;
}

.park-operator-outcome-hint {
  display: grid;
  gap: 3px;
  width: fit-content;
  max-width: 100%;
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 10px;
  background: #f8fbf8;
  border: 1px solid rgba(31, 122, 77, 0.14);
}

.park-operator-outcome-hint small {
  margin: 0;
  color: #66786f;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.park-operator-outcome-hint b {
  color: var(--ink);
  font-size: 12.5px;
  line-height: 1.35;
}

.park-operator-action-stack {
  display: grid;
  gap: 7px;
  justify-items: end;
  min-width: 230px;
}

.park-operator-result-actions {
  padding-top: 6px;
  border-top: 1px solid rgba(18, 65, 49, 0.1);
}

.ghost-button.primary-soft {
  color: #064b35;
  background: #eaf7ef;
  border-color: rgba(31, 122, 77, 0.24);
}

.ghost-button.primary-soft:hover {
  background: #dff3e8;
  border-color: rgba(31, 122, 77, 0.38);
  box-shadow: 0 8px 18px rgba(31, 122, 77, 0.12);
}

.park-contact-proof {
  color: #456458;
  background: #eef7f2;
  border: 1px solid rgba(31, 122, 77, 0.12);
  border-radius: 999px;
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: 4px 8px;
  overflow-wrap: anywhere;
}

.park-registration-section {
  background: rgba(255, 255, 255, 0.98);
}

.park-registration-layout {
  display: grid;
  grid-template-columns: minmax(360px, 1.15fr) minmax(300px, 0.85fr);
  gap: 14px;
  align-items: start;
}

.park-registration-form {
  padding: 14px;
  background: #fbfcfb;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
}

.park-registration-form textarea {
  min-height: 120px;
  resize: vertical;
}

.park-registration-form label.is-field-error {
  padding: 8px;
  background: #fff1ef;
  border: 1px solid rgba(197, 58, 50, 0.28);
  border-radius: 12px;
}

.park-registration-form label.is-field-error select,
.park-registration-form label.is-field-error input {
  border-color: rgba(197, 58, 50, 0.48);
  box-shadow: 0 0 0 3px rgba(197, 58, 50, 0.08);
}

.park-registration-file-note,
.park-registration-backend-status {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.park-registration-backend-status {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 999px;
}

.park-registration-backend-status[data-level="ok"] {
  color: var(--green);
  background: #effaf4;
}

.park-registration-backend-status[data-level="warning"],
.park-registration-backend-status[data-level="busy"] {
  color: #9a650d;
  background: #fff8e8;
}

.park-registration-backend-status[data-level="error"] {
  color: #b9342d;
  background: #fff1ef;
}

.park-registration-check {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 10px 12px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 12px;
}

.park-registration-check input {
  width: 16px;
  min-height: 16px;
}

.park-registration-queue {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.park-registration-queue-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  background: #fbfcfb;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
}

.park-registration-queue-head span {
  color: var(--muted);
  font-size: 12px;
}

.park-registration-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(8, 42, 32, 0.045);
}

.park-registration-card.is-ready-package {
  background: linear-gradient(180deg, #fffdf7 0%, #ffffff 72%);
  border-color: rgba(191, 126, 23, 0.28);
}

.park-registration-card.is-complete {
  background: #f7faf8;
  border-color: rgba(12, 126, 81, 0.2);
}

.park-registration-card.is-error {
  background: #fff8f7;
  border-color: rgba(197, 58, 50, 0.28);
}

.park-registration-card-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}

.park-registration-card-head strong {
  display: block;
  font-size: 15px;
  line-height: 1.25;
}

.park-registration-card-head p,
.park-registration-message {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.park-registration-message.is-attention {
  padding: 10px 12px;
  color: #6c4b08;
  background: #fff8e8;
  border: 1px solid rgba(191, 126, 23, 0.24);
  border-radius: 10px;
}

.park-registration-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.park-registration-meta span {
  min-width: 0;
  padding: 7px 8px;
  color: var(--ink);
  font-size: 11.5px;
  line-height: 1.25;
  background: #fbfcfb;
  border: 1px solid rgba(18, 65, 49, 0.08);
  border-radius: 10px;
}

.park-registration-meta span.is-missing {
  color: #9d241c;
  background: #fff1ef;
  border-color: rgba(197, 58, 50, 0.24);
  font-weight: 850;
}

@media (max-width: 1100px) {
  .park-api-grid {
    grid-template-columns: 1fr;
  }

  .park-api-card-head {
    grid-template-columns: 1fr;
  }

  .park-api-quality-grid,
  .park-api-quality-list,
  .park-live-operator-grid,
  .park-live-operator-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .park-operator-money-panel {
    grid-template-columns: 1fr;
  }

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

  .park-funnel-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .park-operator-start-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .park-registration-desk-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .park-registration-flow,
  .park-registration-mini-list,
  .park-violation-list,
  .park-operator-quality-grid,
  .park-source-performance-grid {
    grid-template-columns: 1fr;
  }

  .park-operator-contact-grid,
  .park-operator-contact-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .park-bottleneck-grid {
    grid-template-columns: 1fr;
  }

  .park-dispatch-list {
    grid-template-columns: 1fr;
  }

  .park-dispatch-result-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .park-dispatch-channel-grid {
    grid-template-columns: 1fr;
  }

  .park-lead-contact-box {
    grid-template-columns: 1fr;
  }

  .park-communication-audit-grid,
  .park-communication-issues {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .park-operator-money-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .park-payroll-table {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .park-payroll-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .park-operator-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .park-payroll-history-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .park-payroll-rule {
    grid-template-columns: 1fr;
  }

  .park-operator-grid {
    grid-template-columns: 1fr;
  }

  .park-operator-card-head,
  .park-operator-item,
  .park-registration-card-head,
  .park-operator-priority-list article {
    grid-template-columns: 1fr;
  }

  .park-operator-item .inline-actions {
    justify-content: flex-start;
  }

  .park-operator-action-stack {
    justify-items: start;
    min-width: 0;
    width: 100%;
  }

  .park-registration-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .park-operator-money-grid,
  .park-payroll-table {
    grid-template-columns: 1fr;
  }

  .park-payroll-proof-grid {
    grid-template-columns: 1fr;
  }

  .park-operator-proof-grid {
    grid-template-columns: 1fr;
  }

  .park-payroll-statement-head {
    display: grid;
  }

  .park-operator-discipline-head {
    display: grid;
  }

  .park-operator-start-head {
    display: grid;
  }

  .park-operator-priority.is-clear,
  .park-operator-priority-head {
    display: grid;
  }

  .park-operator-priority-list article > span {
    width: 28px;
    height: 28px;
  }

  .park-operator-funnel-head {
    display: grid;
  }

  .park-api-quality-head {
    display: grid;
  }

  .park-live-head {
    display: grid;
  }

  .park-live-grid {
    grid-template-columns: 1fr;
  }

  .park-api-quality-grid,
  .park-api-quality-list,
  .park-live-operator-grid,
  .park-live-operator-list {
    grid-template-columns: 1fr;
  }

  .park-live-operator-head,
  .park-live-operator-list article {
    display: grid;
  }

  .park-operator-contacts-head {
    display: grid;
  }

  .park-funnel-grid {
    grid-template-columns: 1fr;
  }

  .park-operator-start-grid {
    grid-template-columns: 1fr;
  }

  .park-registration-desk-head,
  .park-violation-panel-head,
  .park-operator-quality-head,
  .park-source-performance-head {
    display: grid;
  }

  .park-registration-desk-grid {
    grid-template-columns: 1fr;
  }

  .park-registration-mini-card,
  .park-violation-list article,
  .park-operator-quality-grid article {
    grid-template-columns: 1fr;
  }

  .park-source-performance-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .park-registration-mini-card .inline-actions,
  .park-violation-list .inline-actions {
    justify-content: flex-start;
    max-width: none;
  }

  .park-operator-quality-grid article > div:last-child {
    justify-items: start;
  }

  .park-operator-contact-grid,
  .park-operator-contact-list {
    grid-template-columns: 1fr;
  }

  .park-dispatch-panel-head,
  .park-dispatch-card-head {
    display: grid;
  }

  .park-discipline-grid {
    grid-template-columns: 1fr;
  }

  .park-dispatch-result-grid {
    grid-template-columns: 1fr;
  }

  .park-dispatch-channel-grid {
    grid-template-columns: 1fr;
  }

  .park-communication-audit-head {
    display: grid;
  }

  .park-communication-audit-grid,
  .park-communication-issues {
    grid-template-columns: 1fr;
  }

  .park-payroll-history-head,
  .park-payroll-history-card-head {
    display: grid;
  }

  .park-payroll-history-grid {
    grid-template-columns: 1fr;
  }

  .park-registration-meta {
    grid-template-columns: 1fr;
  }
}

.project-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 18px 38px rgba(8, 42, 32, 0.05);
}

.project-card.is-critical {
  background: #fff6f3;
  border-color: rgba(208, 74, 64, 0.28);
}

.project-card.is-archived {
  opacity: 0.68;
  background: #f6f8f5;
}

.project-card-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.project-card h3 {
  margin: 4px 0 8px;
  font-size: 20px;
  line-height: 1.2;
}

.project-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.project-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  color: var(--muted);
  font-size: 12px;
}

.project-week {
  display: grid;
  gap: 8px;
  padding: 13px;
  background: #f3f8f1;
  border: 1px solid rgba(15, 106, 68, 0.18);
  border-radius: 14px;
}

.project-week.is-empty {
  background: #faf8ef;
  border-color: rgba(201, 162, 74, 0.26);
}

.project-week.is-overdue {
  background: #fff6f3;
  border-color: rgba(208, 74, 64, 0.28);
}

.project-week-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}

.project-week small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.project-week strong {
  display: block;
  margin-top: 3px;
  line-height: 1.25;
}

.project-week p {
  margin: 0;
  color: var(--text);
}

.project-week-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
}

.project-week-review {
  display: grid;
  gap: 10px;
  padding: 13px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.project-week-review.is-empty {
  color: var(--muted);
  background: #f7faf6;
  border-style: dashed;
}

.project-review-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.project-review-grid div {
  padding: 10px;
  background: #f7faf6;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.project-review-grid small {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.project-review-grid p {
  margin: 0;
  color: var(--text);
  line-height: 1.42;
}

.weekly-review-form textarea {
  min-height: 76px;
  resize: vertical;
}

.check-row {
  display: inline-flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
  color: var(--text);
  font-size: 13px;
  font-weight: 800;
}

.check-row input {
  width: 16px;
  height: 16px;
  margin: 0;
}

.project-week-next-task {
  display: grid;
  gap: 4px;
  padding: 10px;
  background: #eef8f3;
  border: 1px solid rgba(15, 106, 68, 0.18);
  border-radius: 12px;
}

.project-week-next-task span,
.project-week-next-task small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.project-week-next-task strong {
  line-height: 1.25;
}

.project-task-list {
  display: grid;
  gap: 8px;
  padding: 12px;
  background: #f7faf6;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.project-task-list.is-empty {
  color: var(--muted);
  font-size: 13px;
}

.project-task-list-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.project-task-mini {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.project-task-mini.is-overdue {
  border-color: rgba(208, 74, 64, 0.28);
  box-shadow: inset 4px 0 0 var(--red);
}

.project-task-mini strong {
  display: block;
  margin-bottom: 3px;
  line-height: 1.25;
}

.project-task-mini span {
  color: var(--muted);
  font-size: 12px;
}

.project-task-mini-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: flex-end;
  align-items: center;
}

.project-more-button {
  justify-self: start;
}

.project-task-form {
  grid-template-columns: repeat(4, minmax(180px, 1fr));
}

.ghost-button.is-active-filter {
  color: #ffffff;
  background: var(--green);
  border-color: var(--green);
}

.ghost-button.danger {
  color: var(--red);
  border-color: rgba(208, 74, 64, 0.34);
}

.compact-editor {
  padding-top: 8px;
  border-top: 1px solid var(--line);
}

.compact-editor summary {
  cursor: pointer;
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
}

.compact-form {
  margin-top: 12px;
  grid-template-columns: repeat(3, minmax(160px, 1fr));
}

@media (max-width: 1100px) {
  .app-shell {
    grid-template-columns: 1fr;
  }

  .view {
    padding-top: 12px;
  }

  .focus-toolbar,
  .goal-task-review-item {
    grid-template-columns: 1fr;
  }

  .focus-toolbar-actions,
  .goal-task-review-actions {
    justify-content: flex-start;
  }

  .goal-task-review-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .project-row-edit-grid,
  .project-inline-form {
    grid-template-columns: 1fr;
  }

  .module-nav {
    width: 100%;
  }

  .module-floating-dock {
    right: 24px;
    left: 24px;
    max-width: calc(100vw - 48px);
  }

  .floating-scroll-top {
    left: 24px;
  }

  .operational-chat-drawer {
    width: 100%;
    max-width: 420px;
    --dos-chat-tab-width: 62px;
    --dos-chat-tab-closed: 62px;
    --dos-chat-tab-unread: 68px;
    transform: translate(100%, -50%);
  }

  .operational-chat-drawer.has-unread:not(.is-open) {
    transform: translate(100%, -50%);
  }

  .operational-chat-layout {
    grid-template-columns: 132px minmax(0, 1fr);
  }

  .sidebar {
    position: relative;
    height: auto;
  }

  .sidebar-note {
    position: static;
    margin-top: 20px;
  }

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

  .nav-group {
    grid-column: 1 / -1;
  }

  .nav-subitems {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-left: 0;
    border-left: none;
  }

  .rent-workspace-head {
    display: grid;
  }

  .rent-workspace-actions {
    justify-content: flex-start;
  }

  .rent-calendar-command-panel {
    grid-template-columns: 1fr;
  }

  .rent-month-cash-analytics {
    grid-template-columns: 1fr;
  }

  .rent-calendar-command-actions {
    display: flex;
    flex-wrap: wrap;
  }

  .rent-contract-card-main {
    grid-template-columns: 1fr;
  }

  .rent-contract-persons,
  .rent-contract-money {
    grid-template-columns: 1fr;
  }

  .contract-detail-top {
    align-items: flex-start;
    flex-direction: column;
  }

  .contract-legal-dossier-head {
    flex-direction: column;
  }

  .contract-legal-dossier-grid,
  .legal-contract-entities {
    grid-template-columns: 1fr;
  }

  .quick-day-scenarios {
    grid-template-columns: 1fr;
  }

  .grid.cols-4,
  .grid.cols-3,
  .grid.cols-2,
  .goals-control-grid,
  .dashboard-project-alerts,
  .project-grid,
  .geofence-ops-grid,
  .module-nav,
  .task-card,
  .task-form,
  .forms-grid,
  .onboarding-summary,
  .map-shell {
    grid-template-columns: 1fr;
  }

  .map-filter-panel {
    grid-template-columns: 1fr;
  }

  .snapshot-restore-date-form,
  .snapshot-audit-line {
    grid-template-columns: 1fr;
  }

  .geofence-manual-grid {
    grid-template-columns: 1fr;
  }

  .data-form {
    min-width: 0;
  }

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

  .day-close-auto-grid,
  .daily-report-auto,
  .park-day-close-plan-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .project-review-grid {
    grid-template-columns: 1fr;
  }

  .contract-detail-card summary,
  .contract-detail-grid,
  .contract-history-grid {
    grid-template-columns: 1fr;
  }
}

.marketing-preview {
  display: grid;
  gap: 12px;
  margin: 14px 0;
  padding: 14px;
  background: #f8fbf9;
  border: 1px solid rgba(31, 122, 77, 0.14);
  border-radius: 12px;
}

.marketing-preview-head,
.marketing-preview-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}

.marketing-preview-foot {
  color: var(--muted);
  font-size: 12px;
}

.marketing-preview-cta-control {
  display: grid;
  gap: 4px;
  min-width: min(100%, 360px);
}

.marketing-preview-cta-control small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.marketing-preview-cta-control.is-missing {
  padding: 8px;
  background: #fff7e8;
  border: 1px solid rgba(205, 124, 31, 0.26);
  border-radius: 10px;
}

.marketing-preview-cta-control.is-missing small,
.marketing-preview-cta-empty {
  color: #9b4f07;
}

.marketing-preview-phone {
  width: min(100%, 260px);
  min-height: 420px;
  margin: 0 auto;
  padding: 14px;
  background: #111815;
  border-radius: 28px;
  box-shadow: 0 18px 42px rgba(8, 42, 32, 0.18);
}

.marketing-preview-video {
  display: flex;
  min-height: 390px;
  flex-direction: column;
  justify-content: flex-end;
  gap: 10px;
  padding: 18px;
  color: #ffffff;
  background:
    linear-gradient(180deg, rgba(31, 122, 77, 0.28), rgba(0, 0, 0, 0.72)),
    linear-gradient(135deg, #1f7a4d, #202826 58%, #101513);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 22px;
}

.marketing-preview-video span,
.marketing-preview-ad span,
.marketing-preview-article span {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.marketing-preview-video strong {
  font-size: 22px;
  line-height: 1.1;
}

.marketing-preview-video p,
.marketing-preview-video small {
  margin: 0;
  color: rgba(255, 255, 255, 0.84);
  line-height: 1.35;
}

.marketing-preview-inline-field {
  width: 100%;
  min-width: 0;
  color: inherit;
  font: inherit;
  line-height: inherit;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 10px;
  padding: 4px 6px;
  resize: vertical;
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.marketing-preview-phone .marketing-preview-inline-field {
  resize: none;
  overflow: hidden;
}

.marketing-preview-inline-field:hover {
  background: rgba(255, 255, 255, 0.62);
  border-color: rgba(18, 65, 49, 0.16);
}

.marketing-preview-inline-field:focus {
  color: var(--ink);
  outline: none;
  background: #ffffff;
  border-color: rgba(12, 116, 76, 0.44);
  box-shadow: 0 0 0 3px rgba(12, 116, 76, 0.1);
}

.marketing-preview-inline-field[data-inline-saved="true"] {
  border-color: rgba(12, 116, 76, 0.42);
}

.marketing-preview-video .marketing-preview-inline-field {
  color: #ffffff;
  background: rgba(0, 0, 0, 0.08);
}

.marketing-preview-video .marketing-preview-inline-field:hover {
  background: rgba(0, 0, 0, 0.18);
  border-color: rgba(216, 181, 74, 0.32);
}

.marketing-preview-video .marketing-preview-inline-field:focus {
  color: #07110d;
  background: rgba(255, 255, 255, 0.96);
}

.marketing-preview-inline-field.is-preview-title {
  font-size: 22px;
  font-weight: 950;
  line-height: 1.12;
}

.marketing-preview-video .marketing-preview-inline-field.is-preview-title {
  font-size: 22px;
  line-height: 1.1;
}

.marketing-preview-inline-field.is-preview-copy {
  min-height: 74px;
}

.marketing-preview-inline-field.is-preview-note {
  min-height: 48px;
  font-size: 12px;
}

.marketing-video-publication-review {
  display: grid;
  grid-template-columns: minmax(300px, 440px) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.marketing-video-publication-main,
.marketing-video-publication-side,
.marketing-video-caption-box,
.marketing-video-publication-box {
  min-width: 0;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 12px;
  background: #ffffff;
}

.marketing-video-publication-main {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.marketing-video-publication-side {
  display: grid;
  gap: 12px;
  padding: 12px;
}

.marketing-video-publication-box {
  display: grid;
  gap: 8px;
  padding: 12px;
  background: #fbfdfb;
}

.marketing-video-publication-box > strong,
.marketing-video-caption-box > strong {
  font-size: 15px;
}

.marketing-video-publication-box ol {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 18px;
}

.marketing-video-publication-box li {
  line-height: 1.35;
}

.marketing-video-publication-box li span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.marketing-video-caption-box {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
  padding: 14px;
}

.marketing-video-player-slot.is-review-slot {
  min-height: 420px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  border: 1px dashed rgba(31, 122, 77, 0.28);
  background: linear-gradient(180deg, #f7fbf8, #eef6f1);
}

.marketing-video-player-slot.is-review-slot .marketing-video-player-status {
  max-width: 320px;
  text-align: center;
}

.marketing-video-publication-review .marketing-video-player.is-live-preview {
  width: 100%;
}

.marketing-video-publication-review .marketing-video-player-frame {
  width: min(100%, 260px);
  aspect-ratio: 9 / 16;
  margin: 0 auto;
}

@media (max-width: 1180px) {
  .marketing-video-publication-review {
    grid-template-columns: 1fr;
  }
}
.marketing-preview-inline-field.is-preview-cta,
.marketing-preview-inline-field.is-preview-foot-cta {
  font-weight: 900;
}

.marketing-preview-brand {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.marketing-preview-brand img {
  width: 30px;
  height: 30px;
  object-fit: cover;
  border-radius: 999px;
  box-shadow: 0 4px 14px rgba(8, 42, 32, 0.12);
}

.marketing-preview-ad .marketing-preview-inline-field.is-preview-cta {
  color: #ffffff;
  background: var(--green);
  border-color: var(--green);
  text-align: center;
}

.marketing-carousel-preview {
  display: grid;
  gap: 14px;
  padding: 12px;
}

.marketing-carousel-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  text-align: right;
}

.marketing-carousel-actions small {
  flex-basis: 100%;
  color: var(--muted);
  font-size: 11px;
}

.marketing-carousel-canvas.has-generated-image {
  background-size: cover;
  background-position: center;
  border: 1px solid rgba(224, 184, 65, 0.42);
}

.marketing-carousel-canvas.has-generated-image::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(1, 10, 7, 0.12), rgba(1, 10, 7, 0.72));
  z-index: 0;
}

.marketing-carousel-canvas.has-generated-image > * {
  position: relative;
  z-index: 1;
}
.marketing-carousel-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
  align-items: start;
}

.marketing-carousel-slide {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.marketing-carousel-canvas {
  position: relative;
  display: grid;
  align-content: start;
  gap: 10px;
  aspect-ratio: 4 / 5;
  min-height: 288px;
  padding: 18px;
  overflow: hidden;
  color: #ffffff;
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(3, 23, 16, 0.25), rgba(3, 23, 16, 0.9)),
    radial-gradient(circle at 80% 15%, rgba(224, 184, 65, 0.35), transparent 32%),
    linear-gradient(135deg, #07351f, #081710 72%);
  box-shadow: 0 16px 32px rgba(8, 30, 20, 0.16);
}

.marketing-carousel-canvas::after {
  content: "";
  position: absolute;
  inset: 44% -10% -20% 24%;
  background: rgba(255, 255, 255, 0.07);
  border-radius: 50%;
  transform: rotate(-12deg);
}

.marketing-carousel-brand {
  position: relative;
  z-index: 1;
  width: fit-content;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(224, 184, 65, 0.94);
  color: #071c14;
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}

.marketing-carousel-canvas small,
.marketing-carousel-canvas i {
  position: relative;
  z-index: 1;
  color: rgba(255, 255, 255, 0.78);
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
}

.marketing-carousel-canvas i {
  align-self: end;
  margin-top: auto;
}

.marketing-carousel-slide-field {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(18, 65, 49, 0.16);
  border-radius: 10px;
  background: #ffffff;
  color: var(--ink);
  font: inherit;
  resize: vertical;
}

.marketing-carousel-canvas .marketing-carousel-slide-field {
  position: relative;
  z-index: 1;
  border-color: rgba(255, 255, 255, 0.26);
  background: rgba(0, 0, 0, 0.12);
  color: #ffffff;
  font-weight: 900;
  box-shadow: none;
}

.marketing-carousel-canvas .marketing-carousel-slide-field::placeholder {
  color: rgba(255, 255, 255, 0.64);
}

.marketing-carousel-canvas .marketing-carousel-slide-field:focus,
.marketing-carousel-slide-field:focus {
  outline: 2px solid rgba(224, 184, 65, 0.42);
  outline-offset: 2px;
}

.marketing-carousel-canvas .is-slide-headline {
  min-height: 74px;
  font-size: 20px;
  line-height: 1.1;
}

.marketing-carousel-canvas .is-slide-overlay {
  min-height: 82px;
  font-size: 14px;
  line-height: 1.25;
}

.marketing-carousel-canvas strong,
.marketing-carousel-canvas p {
  position: relative;
  z-index: 1;
  margin: 0;
}

.marketing-carousel-canvas strong {
  max-width: 92%;
  color: #ffffff;
  font-size: 22px;
  line-height: 1.08;
  font-weight: 950;
}

.marketing-carousel-canvas p {
  max-width: 92%;
  color: rgba(255, 255, 255, 0.94);
  font-size: 14px;
  line-height: 1.28;
  font-weight: 800;
}

.marketing-carousel-slide-meta {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 12px;
  background: #fbfdfb;
}

.marketing-carousel-slide-meta label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.marketing-carousel-ai-details {
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 12px;
  background: #ffffff;
}

.marketing-carousel-ai-details > summary {
  padding: 11px 12px;
  cursor: pointer;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 950;
}

.marketing-carousel-ai-details > p {
  margin: 0 12px 10px;
}

.marketing-carousel-ai-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 10px;
  padding: 0 12px 12px;
}

.marketing-material-version-history {
  margin-top: 10px;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 12px;
  background: #ffffff;
}

.marketing-material-version-history > summary {
  padding: 10px 12px;
  cursor: pointer;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 950;
}

.marketing-material-version-list {
  display: grid;
  gap: 10px;
  padding: 0 12px 12px;
}

.marketing-material-version-list article {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 10px;
  background: #fbfdfb;
}

.marketing-material-version-list article > div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.marketing-material-version-list small {
  color: var(--muted);
}

.marketing-version-mini-slides {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
  gap: 6px;
}

.marketing-version-mini-slides span {
  min-height: 54px;
  padding: 8px;
  border-radius: 8px;
  background: #eef6f1;
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
}

.marketing-video-assembly-panel {
  display: grid;
  gap: 12px;
  background: #fbfcfb;
  border: 1px solid rgba(18, 65, 49, 0.12);
}

.marketing-video-engine-panel {
  margin: 14px 0;
  background: #f8fbf8;
  border-color: rgba(18, 65, 49, 0.14);
}

.marketing-video-engine-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.marketing-video-engine-grid article {
  display: grid;
  gap: 8px;
  min-height: 148px;
  padding: 14px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 12px;
}

.marketing-video-engine-grid strong {
  color: var(--ink);
  font-size: 15px;
}

.marketing-video-engine-grid p,
.marketing-video-engine-grid small {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.marketing-video-gpt-director {
  display: grid;
  gap: 12px;
  padding: 14px;
  background: #f4f8ff;
  border: 1px solid rgba(48, 92, 158, 0.18);
  border-radius: 14px;
}

.marketing-video-gpt-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.marketing-video-gpt-head strong {
  display: block;
  color: var(--ink);
  font-size: 15px;
}

.marketing-video-gpt-head p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.marketing-video-gpt-scenes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.marketing-video-gpt-scenes article {
  display: grid;
  gap: 5px;
  padding: 10px;
  background: #ffffff;
  border: 1px solid rgba(48, 92, 158, 0.12);
  border-radius: 10px;
}

.marketing-video-gpt-scenes span {
  color: #305c9e;
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}

.marketing-video-gpt-scenes strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.25;
}

.marketing-video-gpt-scenes p {
  max-height: 86px;
  margin: 0;
  overflow: auto;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.marketing-video-assembly-empty {
  padding: 14px;
  background: #fffaf1;
  border: 1px solid rgba(201, 138, 28, 0.2);
  border-radius: 12px;
}

.marketing-video-assembly-empty strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
}

.marketing-video-assembly-empty p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.marketing-video-assembly-preview {
  display: grid;
  grid-template-columns: minmax(220px, 310px) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.marketing-video-preview-stack {
  display: grid;
  gap: 12px;
  align-content: start;
}

.marketing-video-phone {
  position: relative;
  display: grid;
  align-content: space-between;
  min-height: 520px;
  padding: 34px 28px;
  overflow: hidden;
  color: #ffffff;
  background:
    radial-gradient(circle at 70% 28%, rgba(216, 181, 74, 0.22), transparent 36%),
    linear-gradient(150deg, #0d3325, #06110d 76%);
  border: 14px solid #0b1712;
  border-radius: 34px;
  box-shadow: 0 18px 38px rgba(8, 42, 32, 0.18);
}

.marketing-video-top-shade,
.marketing-video-bottom-shade {
  position: absolute;
  left: 0;
  right: 0;
  height: 96px;
  background: rgba(0, 0, 0, 0.42);
  pointer-events: none;
}

.marketing-video-top-shade {
  top: 0;
}

.marketing-video-bottom-shade {
  bottom: 0;
}

.marketing-video-logo {
  position: relative;
  z-index: 2;
  display: inline-grid;
  width: 64px;
  height: 64px;
  place-items: center;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 999px;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.22);
}

.marketing-video-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.marketing-video-phone span,
.marketing-video-phone strong,
.marketing-video-phone p,
.marketing-video-phone small {
  position: relative;
  z-index: 2;
}

.marketing-video-phone span {
  align-self: end;
  color: #d8b54a;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.marketing-video-phone strong {
  display: block;
  margin-top: 56px;
  font-size: 26px;
  line-height: 1.05;
  overflow-wrap: anywhere;
}

.marketing-video-phone p {
  margin: 14px 0 0;
  color: #e8f3ec;
  font-size: 14px;
  line-height: 1.35;
}

.marketing-video-phone small {
  align-self: end;
  color: #d8b54a;
  font-size: 15px;
  font-weight: 900;
}

.marketing-video-inline-field {
  width: 100%;
  min-width: 0;
  color: var(--ink);
  font: inherit;
  line-height: 1.35;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 10px;
  padding: 5px 7px;
  resize: vertical;
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.marketing-video-inline-field:hover {
  border-color: rgba(18, 65, 49, 0.18);
  background: rgba(255, 255, 255, 0.64);
}

.marketing-video-inline-field:focus {
  color: var(--ink);
  outline: none;
  background: #ffffff;
  border-color: rgba(12, 116, 76, 0.45);
  box-shadow: 0 0 0 3px rgba(12, 116, 76, 0.1);
}

.marketing-video-inline-field[data-inline-saved="true"] {
  border-color: rgba(12, 116, 76, 0.38);
}

.marketing-video-phone .marketing-video-inline-field {
  position: relative;
  z-index: 2;
  color: #ffffff;
  background: rgba(0, 0, 0, 0.08);
}

.marketing-video-phone .marketing-video-inline-field:hover {
  background: rgba(0, 0, 0, 0.18);
  border-color: rgba(216, 181, 74, 0.36);
}

.marketing-video-phone .marketing-video-inline-field:focus {
  color: #07110d;
  background: rgba(255, 255, 255, 0.96);
}

.marketing-video-phone .is-phone-title {
  display: block;
  margin-top: 56px;
  min-height: 140px;
  font-size: 26px;
  font-weight: 950;
  line-height: 1.05;
}

.marketing-video-phone .is-phone-copy {
  min-height: 84px;
  color: #e8f3ec;
  font-size: 14px;
}

.marketing-video-phone .is-phone-cta {
  align-self: end;
  color: #d8b54a;
  font-size: 15px;
  font-weight: 950;
}

.marketing-video-scenes {
  display: grid;
  gap: 8px;
}

.marketing-video-scenes article {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  padding: 10px 12px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 12px;
}

.marketing-video-scenes b {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  color: #07110d;
  background: #d8b54a;
  border-radius: 999px;
}

.marketing-video-scenes strong {
  display: block;
  color: var(--ink);
  font-size: 13px;
}

.marketing-video-scenes p,
.marketing-video-scenes small {
  display: block;
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.marketing-video-scene-editor label {
  display: grid;
  gap: 4px;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.marketing-video-scene-fields {
  display: grid;
  gap: 8px;
}

.marketing-video-scene-timing {
  display: block;
  color: #50675e;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  text-transform: none;
}

.marketing-video-scene-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 84px;
  gap: 8px;
}

.marketing-video-scene-row .is-duration input {
  min-height: 38px;
}

.marketing-voiceover-editor {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
}

.marketing-video-player-slot:empty {
  display: grid;
  min-height: 74px;
  place-items: center;
  padding: 10px;
  color: #5c7068;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.35;
  text-align: center;
  background: #ffffff;
  border: 1px dashed rgba(12, 116, 76, 0.28);
  border-radius: 12px;
}

.marketing-video-player-slot:empty::before {
  content: "Здесь появится 9:16 motion-предпросмотр после кнопки \"Собрать и смотреть здесь\"";
}

.marketing-video-ready-under-phone {
  display: grid;
  gap: 8px;
  padding: 10px;
  background: #f8fcfa;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
}

.marketing-video-ready-under-phone small {
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.marketing-video-ready-under-phone .marketing-video-player {
  grid-template-columns: 1fr;
  gap: 10px;
  padding: 10px;
  background: #ffffff;
}

.marketing-video-ready-under-phone .marketing-video-player-frame {
  width: min(250px, 100%);
}

.marketing-video-ready-under-phone .marketing-video-player .inline-actions {
  gap: 6px;
}

.marketing-video-player,
.marketing-video-player-status {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 12px;
  background: #f7fbf8;
  border: 1px solid rgba(18, 65, 49, 0.14);
  border-radius: 14px;
}

.marketing-video-player-frame {
  position: relative;
  overflow: hidden;
  justify-self: center;
  width: min(280px, 100%);
  aspect-ratio: 9 / 16;
  background: #06110d;
  border: 8px solid #0c1713;
  border-radius: 24px;
  box-shadow: 0 16px 36px rgba(8, 24, 18, 0.16);
}

.marketing-video-player-frame video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #06110d;
  border-radius: 16px;
}

.marketing-video-live-canvas {
  display: block;
  width: 100%;
  height: 100%;
  background: #06110d;
  border-radius: 16px;
}

.marketing-video-player.is-live-preview .marketing-video-player-frame {
  background: #06110d;
}

.marketing-video-play-overlay {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%);
  min-width: 150px;
  padding: 11px 14px;
  color: #071c14;
  font-size: 13px;
  font-weight: 950;
  border: 1px solid rgba(216, 181, 74, 0.55);
  border-radius: 999px;
  background: #d8b54a;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24);
  cursor: pointer;
}

.marketing-video-play-overlay::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  margin-right: 7px;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 9px solid #071c14;
}

.marketing-video-play-overlay.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.marketing-video-player strong,
.marketing-video-player-status strong {
  display: block;
  color: var(--ink);
  font-size: 15px;
}

.marketing-video-player p,
.marketing-video-player-status p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.marketing-video-player-status {
  grid-template-columns: 1fr;
}

.marketing-video-player-status.is-error {
  background: #fff5f3;
  border-color: rgba(198, 57, 43, 0.24);
}

.marketing-video-player-status.is-pending {
  background: #fffaf1;
  border-color: rgba(183, 107, 24, 0.22);
}

.marketing-video-technical-export {
  padding: 8px 10px;
  background: rgba(248, 253, 250, 0.72);
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 10px;
}

.marketing-video-technical-export summary {
  cursor: pointer;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.marketing-video-technical-export[open] {
  display: grid;
  gap: 10px;
}

.marketing-video-player .inline-actions {
  margin-top: 10px;
}

.marketing-material-progress-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 12px;
}

.marketing-material-progress-summary {
  display: grid;
  grid-template-columns: minmax(160px, auto) minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin: 0 0 10px;
  padding: 10px 12px;
  background: #fbfdfb;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 10px;
}

.marketing-material-progress-summary strong {
  display: block;
  color: var(--ink);
  font-size: 16px;
  line-height: 1;
}

.marketing-material-progress-summary span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.marketing-material-progress-bar {
  overflow: hidden;
  height: 8px;
  background: rgba(18, 65, 49, 0.08);
  border-radius: 999px;
}

.marketing-material-progress-bar i {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--green), #d8b54a);
  border-radius: inherit;
}

.marketing-material-progress-step {
  display: grid;
  gap: 4px;
  text-align: left;
  min-height: 88px;
  padding: 10px 12px;
  background: #f8faf8;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 12px;
  cursor: pointer;
  transition: transform 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease;
}

.marketing-material-progress-step:hover {
  transform: translateY(-1px);
  border-color: rgba(31, 122, 77, 0.28);
  box-shadow: 0 10px 22px rgba(15, 50, 36, 0.07);
}

.marketing-material-progress-step span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}

.marketing-material-progress-step strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.15;
}

.marketing-material-progress-step small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
}

.marketing-material-progress-step.is-done {
  background: #effaf3;
  border-color: rgba(12, 116, 76, 0.24);
}

.marketing-material-progress-step.is-current {
  background: #fff7e9;
  border-color: rgba(201, 138, 28, 0.34);
}

.marketing-material-progress-step.is-blocked {
  background: #fff2f0;
  border-color: rgba(198, 57, 43, 0.32);
}

.marketing-material-progress-step.is-future {
  opacity: 0.68;
}

.marketing-material-owner-summary {
  display: grid;
  grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr);
  gap: 14px;
  align-items: start;
  margin: 0 0 14px;
  padding: 13px;
  background: #fbfdfb;
  border: 1px solid rgba(18, 65, 49, 0.11);
  border-radius: 12px;
}

.marketing-material-owner-summary b {
  color: var(--ink);
}

.marketing-material-owner-summary p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.38;
}

.marketing-channel-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.marketing-channel-picker label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 9px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
  border: 1px solid rgba(18, 65, 49, 0.14);
  border-radius: 999px;
  background: #ffffff;
  cursor: pointer;
}

.marketing-channel-picker label.is-selected {
  color: #063b2a;
  border-color: rgba(31, 122, 77, 0.38);
  background: #effaf3;
}

.marketing-channel-picker input {
  width: 14px;
  height: 14px;
  accent-color: var(--green);
}

.marketing-material-stage-deck {
  display: grid;
  gap: 9px;
  margin: 0 0 14px;
}

.marketing-material-stage-card {
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-left: 4px solid rgba(18, 65, 49, 0.16);
  border-radius: 12px;
}

.marketing-material-stage-card.is-done {
  border-left-color: var(--green);
}

.marketing-material-stage-card.is-current {
  border-left-color: var(--orange);
}

.marketing-material-stage-card.is-blocked {
  border-left-color: var(--red);
}

.marketing-material-stage-card.is-open {
  box-shadow: 0 14px 32px rgba(15, 50, 36, 0.08);
}

.marketing-material-stage-head {
  display: grid;
  grid-template-columns: 82px minmax(170px, 0.9fr) minmax(240px, 1.35fr) auto;
  gap: 12px;
  align-items: center;
  width: 100%;
  padding: 12px 14px;
  text-align: left;
  color: var(--ink);
  background: #fbfdfb;
  border: 0;
  cursor: pointer;
}

.marketing-material-stage-head span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.marketing-material-stage-head strong {
  font-size: 14px;
  line-height: 1.2;
}

.marketing-material-stage-head small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 760;
  line-height: 1.32;
}

.marketing-material-stage-head i {
  justify-self: end;
  padding: 6px 9px;
  color: var(--green-dark);
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
  white-space: nowrap;
  border: 1px solid rgba(31, 122, 77, 0.18);
  border-radius: 999px;
  background: #ffffff;
}

.marketing-material-stage-body {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-top: 1px solid rgba(18, 65, 49, 0.09);
}

.marketing-material-inline-editor {
  display: grid;
  gap: 12px;
  background: #fbfcfb;
  border-color: rgba(18, 65, 49, 0.12);
}

.marketing-material-edit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.marketing-material-edit-field {
  display: grid;
  gap: 5px;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.marketing-material-edit-field:has(.is-wide) {
  grid-column: 1 / -1;
}

.marketing-material-inline-field {
  width: 100%;
  min-width: 0;
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  line-height: 1.38;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 10px;
  padding: 9px 10px;
  resize: vertical;
  text-transform: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.marketing-material-inline-field:hover {
  border-color: rgba(18, 65, 49, 0.25);
  background: #fcfffd;
}

.marketing-material-inline-field:focus {
  outline: none;
  background: #ffffff;
  border-color: rgba(12, 116, 76, 0.45);
  box-shadow: 0 0 0 3px rgba(12, 116, 76, 0.1);
}

.marketing-material-inline-field[data-inline-saved="true"] {
  border-color: rgba(12, 116, 76, 0.42);
}

@media (max-width: 900px) {
  .marketing-video-engine-grid {
    grid-template-columns: 1fr;
  }

  .marketing-video-assembly-preview {
    grid-template-columns: 1fr;
  }

  .marketing-video-phone {
    width: min(100%, 310px);
    margin: 0 auto;
  }

  .marketing-video-scene-row,
  .marketing-video-player,
  .marketing-video-player-status,
  .marketing-video-gpt-head,
  .marketing-video-gpt-scenes,
  .marketing-material-progress-rail,
  .marketing-material-edit-grid {
    grid-template-columns: 1fr;
  }

  .marketing-video-player-frame {
    width: min(270px, 100%);
  }
}

.marketing-preview-post,
.marketing-preview-ad,
.marketing-preview-article {
  display: grid;
  gap: 10px;
  padding: 14px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.marketing-preview-post p,
.marketing-preview-ad p,
.marketing-preview-article p {
  margin: 0;
  color: var(--text);
  line-height: 1.45;
  white-space: pre-line;
}

.marketing-preview-post small {
  color: var(--muted);
}

.marketing-preview-ad {
  border-color: rgba(31, 122, 77, 0.24);
}

.marketing-preview-ad button {
  justify-self: start;
  min-height: 32px;
  padding: 7px 12px;
  color: #ffffff;
  font-weight: 900;
  background: var(--green);
  border: 0;
  border-radius: 10px;
}

.marketing-factory-cockpit {
  display: grid;
  gap: 16px;
  border-color: rgba(18, 65, 49, 0.14);
  background:
    linear-gradient(180deg, rgba(247, 251, 249, 0.96), rgba(255, 255, 255, 0.98)),
    #ffffff;
}

.marketing-factory-cockpit .section-head {
  margin-bottom: 0;
}

.marketing-top-snapshot {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 6px 0 18px;
}

.marketing-top-snapshot button {
  display: inline-grid;
  grid-template-columns: auto auto;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 8px 12px;
  color: var(--ink);
  text-align: left;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.14);
  border-radius: 999px;
  cursor: pointer;
  transition: transform 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease;
}

.marketing-top-snapshot button:hover {
  transform: translateY(-1px);
  border-color: rgba(19, 116, 71, 0.34);
  box-shadow: 0 10px 22px rgba(15, 50, 36, 0.08);
}

.marketing-top-snapshot span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.marketing-top-snapshot strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1;
}

.marketing-top-snapshot .red {
  border-color: rgba(197, 58, 50, 0.32);
  background: var(--red-bg);
}

.marketing-top-snapshot .orange {
  border-color: rgba(183, 107, 24, 0.32);
  background: var(--orange-bg);
}

.marketing-top-snapshot .green {
  border-color: rgba(31, 122, 77, 0.24);
  background: #f6fffa;
}

.marketing-factory-priority {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.15);
  border-left-width: 5px;
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(15, 50, 36, 0.055);
}

.marketing-factory-priority.red {
  border-left-color: var(--red);
  background: linear-gradient(90deg, rgba(255, 244, 242, 0.9), #ffffff 42%);
}

.marketing-factory-priority.orange {
  border-left-color: var(--orange);
  background: linear-gradient(90deg, rgba(255, 248, 236, 0.92), #ffffff 42%);
}

.marketing-factory-priority.green,
.marketing-factory-priority.blue {
  border-left-color: var(--green);
}

.marketing-owner-console {
  display: grid;
  gap: 14px;
}

.marketing-owner-command-center {
  display: grid;
  gap: 14px;
  padding: 16px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.14);
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(15, 50, 36, 0.055);
}

.marketing-owner-ops-panel,
.marketing-factory-diagnostics {
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
}

.marketing-owner-ops-panel > summary,
.marketing-factory-diagnostics > summary {
  min-height: 46px;
  padding: 13px 16px;
  cursor: pointer;
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 950;
  list-style-position: inside;
}

.marketing-owner-ops-panel[open] > summary,
.marketing-factory-diagnostics[open] > summary {
  border-bottom: 1px solid rgba(18, 65, 49, 0.1);
}

.marketing-owner-ops-panel .marketing-owner-console,
.marketing-owner-ops-panel .marketing-factory-issues-panel,
.marketing-factory-diagnostics .marketing-factory-flow,
.marketing-factory-diagnostics .marketing-factory-gates {
  margin: 14px;
}

.marketing-owner-command-form {
  display: grid;
  gap: 14px;
}

.marketing-owner-directions {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
  padding: 0;
  border: 0;
}

.marketing-owner-directions legend {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.marketing-owner-direction {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  min-width: 0;
  min-height: 96px;
  padding: 12px;
  border: 1px solid rgba(18, 65, 49, 0.14);
  border-radius: 12px;
  background: #fbfdfb;
  cursor: pointer;
}

.marketing-owner-direction.is-priority {
  background: #f7fffb;
  border-color: rgba(31, 122, 77, 0.26);
}

.marketing-owner-direction.is-selected {
  background: #f1fff6;
  border-color: rgba(31, 122, 77, 0.52);
  box-shadow: inset 0 0 0 1px rgba(31, 122, 77, 0.16);
}

.marketing-owner-direction input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
}

.marketing-owner-direction strong,
.marketing-owner-direction small {
  display: block;
}

.marketing-owner-direction strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.2;
}

.marketing-owner-direction small {
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.marketing-owner-command-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.marketing-owner-command-grid label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.marketing-owner-command-grid .form-wide {
  grid-column: 1 / -1;
}

.marketing-owner-command-grid select,
.marketing-owner-command-grid textarea {
  position: relative;
  z-index: 3;
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #ffffff;
}

.marketing-owner-command-form input,
.marketing-owner-command-form select,
.marketing-owner-command-form textarea,
.marketing-owner-command-form label {
  position: relative;
  z-index: 3;
}

.marketing-owner-command-grid textarea {
  min-height: 92px;
  resize: vertical;
}

.marketing-owner-command-help {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.marketing-owner-command-option {
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 10px;
  background: #fbfdfb;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.marketing-owner-command-option:hover,
.marketing-owner-command-option:focus-visible {
  border-color: rgba(31, 122, 77, 0.36);
  background: #f6fff9;
}

.marketing-owner-command-option.is-selected {
  border-color: rgba(31, 122, 77, 0.58);
  background: #effcf4;
  box-shadow: inset 0 0 0 1px rgba(31, 122, 77, 0.16);
}

.marketing-owner-command-help strong {
  display: block;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.3;
}

.marketing-owner-command-help p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.marketing-owner-command-route {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid rgba(31, 122, 77, 0.22);
  border-radius: 10px;
  background: #f8fffb;
}

.marketing-owner-command-route small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.marketing-owner-command-route strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.35;
}

.marketing-owner-work-queue {
  display: grid;
  gap: 10px;
  padding-top: 2px;
}

.marketing-owner-primary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-height: 118px;
  padding: 18px 20px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.14);
  border-left: 6px solid var(--green);
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(15, 50, 36, 0.06);
}

.marketing-owner-primary.red {
  border-left-color: var(--red);
  background: linear-gradient(90deg, rgba(255, 244, 242, 0.94), #ffffff 46%);
}

.marketing-owner-primary.orange {
  border-left-color: var(--orange);
  background: linear-gradient(90deg, rgba(255, 248, 236, 0.96), #ffffff 46%);
}

.marketing-owner-primary.green,
.marketing-owner-primary.blue {
  border-left-color: var(--green);
}

.marketing-owner-primary small,
.marketing-owner-action small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.marketing-owner-primary strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 24px;
  line-height: 1.18;
}

.marketing-owner-primary p,
.marketing-owner-action p {
  margin: 7px 0 0;
  color: var(--muted);
  line-height: 1.42;
}

.marketing-owner-actions {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.marketing-owner-action {
  min-width: 0;
  min-height: 142px;
  padding: 14px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.14);
  border-top: 4px solid rgba(18, 65, 49, 0.18);
  border-radius: 12px;
  cursor: pointer;
  transition: transform 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease, background 0.14s ease;
}

.marketing-owner-action:hover {
  transform: translateY(-1px);
  border-color: rgba(19, 116, 71, 0.32);
  box-shadow: 0 14px 28px rgba(15, 50, 36, 0.08);
}

.marketing-owner-action strong {
  display: block;
  margin-top: 8px;
  color: var(--ink);
  font-size: 32px;
  line-height: 1;
}

.marketing-owner-action.red {
  border-top-color: var(--red);
  background: #fff8f7;
}

.marketing-owner-action.orange {
  border-top-color: var(--orange);
  background: #fffaf1;
}

.marketing-owner-action.blue {
  border-top-color: #2871b9;
  background: #f6fbff;
}

.marketing-owner-action.green {
  border-top-color: var(--green);
  background: #fbfffd;
}

.marketing-factory-issues-panel,
.marketing-publishing-owner-panel,
.marketing-material-attribution-panel,
.marketing-agents-runtime {
  border-left: 5px solid rgba(31, 122, 77, 0.58);
  background: linear-gradient(90deg, rgba(248, 253, 250, 0.98), #ffffff 38%);
}

.marketing-factory-issues-panel .mini-list-row,
.marketing-publishing-owner-panel .mini-list-row,
.marketing-material-attribution-panel .mini-list-row,
.marketing-agents-runtime .mini-list-row {
  border-radius: 10px;
}

.marketing-factory-issues-panel .mini-list-row:hover,
.marketing-publishing-owner-panel .mini-list-row:hover,
.marketing-material-attribution-panel .mini-list-row:hover,
.marketing-agents-runtime .mini-list-row:hover {
  background: #fbfffd;
}

.marketing-thin-table {
  display: grid;
  overflow: hidden;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.7);
}

.marketing-thin-table-head,
.marketing-thin-table-row {
  display: grid;
  grid-template-columns: minmax(96px, 0.55fr) minmax(240px, 1.25fr) minmax(280px, 1.5fr) minmax(88px, 0.45fr);
  gap: 12px;
  align-items: center;
  min-width: 0;
  padding: 9px 11px;
  border-bottom: 1px solid rgba(18, 65, 49, 0.08);
}

.marketing-thin-table-head {
  color: rgba(18, 65, 49, 0.72);
  background: rgba(248, 253, 250, 0.9);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.marketing-thin-table-row {
  background: rgba(255, 255, 255, 0.86);
  transition: background 0.14s ease, box-shadow 0.14s ease;
}

.marketing-thin-table-row:last-child {
  border-bottom: 0;
}

.marketing-thin-table-row:hover {
  background: #fbfffd;
  box-shadow: inset 3px 0 0 rgba(31, 122, 77, 0.45);
}

.marketing-thin-table-row > span,
.marketing-thin-table-row > strong {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.28;
}

.marketing-thin-table-row > span:first-child {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.marketing-thin-table-row > strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}

.marketing-thin-table-row > .pill {
  justify-self: start;
  white-space: nowrap;
}

.marketing-factory-cockpit .mini-list,
.marketing-publishing-owner-panel .mini-list,
.marketing-material-attribution-panel .mini-list,
.marketing-agents-runtime .mini-list {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.62);
}

.marketing-factory-cockpit .mini-list-row,
.marketing-publishing-owner-panel .mini-list-row,
.marketing-material-attribution-panel .mini-list-row,
.marketing-agents-runtime .mini-list-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.1fr) minmax(260px, 1.5fr) minmax(86px, 0.45fr);
  gap: 12px;
  align-items: center;
  margin: 0;
  padding: 9px 11px;
  border-bottom: 1px solid rgba(18, 65, 49, 0.08);
  border-radius: 0;
}

.marketing-factory-cockpit .mini-list-row:last-child,
.marketing-publishing-owner-panel .mini-list-row:last-child,
.marketing-material-attribution-panel .mini-list-row:last-child,
.marketing-agents-runtime .mini-list-row:last-child {
  border-bottom: 0;
}

.marketing-factory-cockpit .mini-list-row > *,
.marketing-publishing-owner-panel .mini-list-row > *,
.marketing-material-attribution-panel .mini-list-row > *,
.marketing-agents-runtime .mini-list-row > * {
  min-width: 0;
  overflow-wrap: anywhere;
}

.marketing-factory-diagnostics {
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 12px;
}

.marketing-factory-diagnostics summary {
  cursor: pointer;
  color: var(--green-dark);
  font-weight: 950;
}

.marketing-factory-diagnostics[open] {
  display: grid;
  gap: 12px;
}

.marketing-factory-priority small,
.marketing-factory-step small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.marketing-factory-priority strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 20px;
  line-height: 1.2;
}

.marketing-factory-priority p,
.marketing-factory-step p {
  margin: 6px 0 0;
  color: var(--muted);
  line-height: 1.42;
}

.marketing-factory-metrics .metric p {
  overflow-wrap: anywhere;
}

.marketing-factory-flow {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.marketing-factory-step {
  min-width: 0;
  padding: 12px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.14);
  border-top: 4px solid rgba(18, 65, 49, 0.18);
  border-radius: 12px;
  transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease;
}

.marketing-factory-step:hover {
  transform: translateY(-1px);
  border-color: rgba(19, 116, 71, 0.28);
  box-shadow: 0 14px 28px rgba(15, 50, 36, 0.08);
}

.marketing-factory-step strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 26px;
  line-height: 1;
}

.marketing-factory-step.red {
  border-top-color: var(--red);
  background: #fff8f7;
}

.marketing-factory-step.orange {
  border-top-color: var(--orange);
  background: #fffaf1;
}

.marketing-factory-step.blue {
  border-top-color: #2871b9;
  background: #f6fbff;
}

.marketing-factory-step.green {
  border-top-color: var(--green);
  background: #fbfffd;
}

.marketing-factory-gates {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: stretch;
}

.marketing-factory-gate {
  display: grid;
  gap: 3px;
  min-width: 150px;
  padding: 9px 12px;
  text-align: left;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.16);
  border-radius: 10px;
  cursor: pointer;
}

.marketing-factory-gate span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.marketing-factory-gate strong {
  color: var(--ink);
  line-height: 1.2;
}

.marketing-factory-gate.red {
  border-color: rgba(197, 58, 50, 0.26);
  background: var(--red-bg);
}

.marketing-factory-gate.orange {
  border-color: rgba(183, 107, 24, 0.28);
  background: var(--orange-bg);
}

.marketing-factory-gate.blue {
  border-color: rgba(40, 113, 185, 0.24);
  background: #f5f9fe;
}

.marketing-factory-gate.green {
  border-color: rgba(31, 122, 77, 0.22);
  background: #f2fbf5;
}

.marketing-dispatch-create {
  display: grid;
  gap: 12px;
  padding: 14px;
  background: #fbfffd;
  border: 1px solid rgba(31, 122, 77, 0.18);
  border-radius: 12px;
}

.marketing-dispatch-create .section-head {
  margin: 0;
}

.marketing-dispatch-form {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.marketing-dispatch-form label {
  min-width: 0;
}

.marketing-dispatch-form textarea {
  min-height: 84px;
}

.marketing-dispatch-form button[type="submit"] {
  align-self: end;
  min-height: 42px;
}

.marketing-factory-work-queue {
  display: grid;
  gap: 12px;
  background: #ffffff;
  border-color: rgba(18, 65, 49, 0.14);
}

.marketing-work-queue-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 10px;
}

.marketing-work-item {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 13px;
  background: #fbfffd;
  border: 1px solid rgba(18, 65, 49, 0.14);
  border-left: 4px solid rgba(18, 65, 49, 0.22);
  border-radius: 12px;
  cursor: pointer;
  transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease;
}

.marketing-work-item:hover,
.marketing-work-item:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(19, 116, 71, 0.32);
  box-shadow: 0 14px 28px rgba(15, 50, 36, 0.08);
  outline: none;
}

.marketing-work-item.red {
  background: #fff8f7;
  border-left-color: var(--red);
}

.marketing-work-item.orange {
  background: #fffaf1;
  border-left-color: var(--orange);
}

.marketing-work-item.blue {
  background: #f6fbff;
  border-left-color: #2871b9;
}

.marketing-work-item-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: start;
}

.marketing-work-item small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.marketing-work-item strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  line-height: 1.22;
}

.marketing-work-item p {
  margin: 0;
  color: var(--muted);
  line-height: 1.42;
}

.marketing-work-item-close {
  display: grid;
  gap: 4px;
  padding: 9px 10px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 10px;
}

.marketing-work-item-close span {
  color: var(--text);
  font-size: 12px;
  line-height: 1.34;
}

.marketing-work-item-action {
  display: inline-flex;
  width: fit-content;
  min-height: 28px;
  align-items: center;
  padding: 5px 9px;
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  background: #ffffff;
  border: 1px solid rgba(31, 122, 77, 0.22);
  border-radius: 999px;
}

.marketing-work-clear {
  display: grid;
  gap: 8px;
  padding: 14px;
  background: #f2fbf5;
  border: 1px solid rgba(31, 122, 77, 0.18);
  border-radius: 12px;
}

.marketing-work-clear p {
  margin: 0;
  color: var(--muted);
  line-height: 1.42;
}

.marketing-shift-summary {
  display: grid;
  gap: 12px;
  background: #f9fcfa;
  border-color: rgba(18, 65, 49, 0.14);
}

.marketing-shift-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}

.marketing-shift-metrics .metric {
  min-height: 112px;
}

.marketing-shift-next {
  display: grid;
  gap: 5px;
  padding: 12px 14px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-left: 4px solid var(--green);
  border-radius: 12px;
}

.marketing-shift-next.red {
  border-left-color: var(--red);
  background: #fff8f7;
}

.marketing-shift-next.orange {
  border-left-color: var(--orange);
  background: #fffaf1;
}

.marketing-shift-next small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.marketing-shift-next strong {
  color: var(--ink);
  line-height: 1.22;
}

.marketing-shift-next p {
  margin: 0;
  color: var(--muted);
  line-height: 1.42;
}

.marketing-recommended-launches {
  background: #ffffff;
  border-color: rgba(18, 65, 49, 0.14);
}

.marketing-launch-card {
  border-color: rgba(18, 65, 49, 0.16);
  background: #ffffff;
}

.marketing-launch-card p {
  line-height: 1.42;
}

.marketing-launch-card .inline-actions {
  margin-top: 4px;
}

.marketing-daily-control {
  background: #f8fbf9;
  border-color: rgba(18, 65, 49, 0.14);
}

.marketing-daily-control-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}

.marketing-daily-check {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 7px;
  min-width: 0;
  min-height: 150px;
  padding: 11px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.14);
  border-top: 4px solid rgba(18, 65, 49, 0.2);
  border-radius: 12px;
  cursor: pointer;
  transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease;
}

.marketing-daily-check:hover {
  transform: translateY(-1px);
  border-color: rgba(19, 116, 71, 0.3);
  box-shadow: 0 12px 26px rgba(15, 50, 36, 0.08);
}

.marketing-daily-check small,
.marketing-daily-check span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.marketing-daily-check strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 24px;
  line-height: 1;
}

.marketing-daily-check p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.marketing-daily-check span {
  color: var(--green);
}

.marketing-daily-check.red {
  border-top-color: var(--red);
  background: #fff8f7;
}

.marketing-daily-check.orange {
  border-top-color: var(--orange);
  background: #fffaf1;
}

.marketing-daily-check.green {
  border-top-color: var(--green);
}

@media (max-width: 1280px) {
  .marketing-daily-control-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.marketing-preview-article h4 {
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
}

.marketing-acceptance-panel,
.marketing-acceptance {
  display: grid;
  gap: 12px;
  margin: 14px 0;
}

.marketing-acceptance {
  padding: 14px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.marketing-acceptance.is-ready {
  border-color: rgba(31, 122, 77, 0.28);
  background: #f2fbf5;
}

.marketing-acceptance.is-draft-ready {
  border-color: rgba(40, 113, 185, 0.22);
  background: #f5f9fe;
}

.marketing-acceptance.has-blockers {
  border-color: rgba(183, 107, 24, 0.24);
  background: #fff9ef;
}

.marketing-acceptance-head {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-start;
  justify-content: space-between;
}

.marketing-acceptance-head h4,
.marketing-acceptance-panel h4 {
  margin: 0;
}

.marketing-acceptance-head p {
  margin: 5px 0 0;
  color: var(--muted);
}

.marketing-acceptance-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.marketing-acceptance-list li,
.marketing-acceptance-panel .section-subcard {
  min-width: 0;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid var(--line);
  border-radius: 10px;
}

.marketing-acceptance-list b,
.marketing-acceptance-list span,
.marketing-acceptance-list small {
  display: block;
}

.marketing-acceptance-list b {
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
}

.marketing-acceptance-list span {
  margin: 3px 0;
  color: var(--ink);
  font-weight: 900;
}

.marketing-acceptance-list small {
  color: var(--muted);
  line-height: 1.35;
}

.marketing-acceptance-list li.is-ok {
  border-color: rgba(31, 122, 77, 0.2);
}

.marketing-acceptance-list li.is-critical {
  border-color: rgba(197, 58, 50, 0.24);
  background: var(--red-bg);
}

.marketing-acceptance-list li.is-warning {
  border-color: rgba(183, 107, 24, 0.24);
  background: var(--orange-bg);
}

.marketing-acceptance-panel .section-subcard {
  display: grid;
  gap: 8px;
}

.marketing-material-rework-panel {
  display: grid;
  gap: 12px;
  margin: 14px 0;
  padding: 14px;
  background: #f8fbf9;
  border: 1px solid rgba(31, 122, 77, 0.14);
  border-radius: 12px;
}

.marketing-material-rework-panel .section-head {
  margin: 0;
}

.marketing-rework-templates {
  align-items: stretch;
}

.marketing-rework-templates .ghost-button {
  white-space: normal;
  text-align: left;
  line-height: 1.25;
}

.marketing-publishing-import {
  margin: 14px 0;
  background: #f8fbf9;
}

.marketing-publishing-import textarea {
  min-height: 120px;
  font-family: inherit;
}

.marketing-approval-row .goal-executive-main,
.marketing-pipeline-row .goal-executive-main,
.marketing-publishing-row .goal-executive-main,
.marketing-material-row .goal-executive-main {
  grid-template-columns: minmax(0, 1fr) minmax(260px, auto);
}

.is-clickable-row {
  position: relative;
  cursor: pointer;
}

.marketing-stage-card {
  position: relative;
  cursor: pointer;
  border-color: rgba(18, 65, 49, 0.18);
  transition: transform 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease, background 0.14s ease;
}

.marketing-stage-card::after {
  content: "РћС‚РєСЂС‹С‚СЊ";
  position: absolute;
  right: 14px;
  bottom: 12px;
  padding: 5px 9px;
  color: #0f6842;
  font-size: 11px;
  font-weight: 950;
  border: 1px solid rgba(19, 116, 71, 0.22);
  border-radius: 999px;
  background: #ffffff;
  opacity: 0;
  transform: translateY(3px);
  transition: opacity 0.14s ease, transform 0.14s ease;
}

.marketing-stage-card:hover,
.marketing-stage-card.is-active-stage {
  transform: translateY(-1px);
  border-color: rgba(19, 116, 71, 0.42);
  box-shadow: 0 16px 34px rgba(15, 50, 36, 0.1);
  background: #fbfffd;
}

.marketing-stage-card:hover::after,
.marketing-stage-card.is-active-stage::after {
  opacity: 1;
  transform: translateY(0);
}

.marketing-stage-card.is-active-stage {
  box-shadow: inset 0 0 0 2px rgba(19, 116, 71, 0.18), 0 16px 34px rgba(15, 50, 36, 0.08);
}

.marketing-stage-card .mini-list-row {
  padding: 8px 10px;
  border-radius: 8px;
  transition: background 0.14s ease, border-color 0.14s ease;
}

.marketing-stage-card .mini-list-row:hover {
  background: #f1faf5;
  outline: 1px solid rgba(19, 116, 71, 0.18);
}

.marketing-approval-row,
.marketing-publishing-row,
.marketing-material-row {
  background: #ffffff;
  border-color: rgba(18, 65, 49, 0.18);
  box-shadow: 0 10px 24px rgba(15, 50, 36, 0.045);
  transition: transform 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease, background 0.14s ease;
}

.marketing-approval-row::before,
.marketing-publishing-row::before,
.marketing-material-row::before {
  content: "";
  position: absolute;
  top: 14px;
  bottom: 14px;
  left: 0;
  width: 4px;
  background: #137447;
  border-radius: 0 999px 999px 0;
  opacity: 0.72;
}

.marketing-approval-row:hover,
.marketing-publishing-row:hover,
.marketing-material-row:hover {
  transform: translateY(-1px);
  border-color: rgba(19, 116, 71, 0.38);
  box-shadow: 0 16px 34px rgba(15, 50, 36, 0.1);
  background: #fbfffd;
}

tr.marketing-pipeline-row,
tr.marketing-inbox-row {
  cursor: pointer;
  transition: background 0.14s ease, box-shadow 0.14s ease;
}

tr.marketing-pipeline-row:hover td,
tr.marketing-inbox-row:hover td {
  background: #f4fbf7;
  box-shadow: inset 0 1px 0 rgba(19, 116, 71, 0.18), inset 0 -1px 0 rgba(19, 116, 71, 0.18);
}

.marketing-approval-row .goal-executive-metrics strong,
.marketing-pipeline-row .goal-executive-metrics strong,
.marketing-publishing-row .goal-executive-metrics strong,
.marketing-material-row .goal-executive-metrics strong {
  font-size: 14px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.marketing-approval-row .goal-executive-metrics div,
.marketing-publishing-row .goal-executive-metrics div,
.marketing-material-row .goal-executive-metrics div,
.marketing-pipeline-detail .metric,
.marketing-publishing-detail .metric,
.marketing-material-detail .metric,
.marketing-approval-detail .metric {
  background: #ffffff;
  border-color: rgba(18, 65, 49, 0.16);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55);
}

.marketing-approval-row .goal-executive-main h3,
.marketing-publishing-row .goal-executive-main h3,
.marketing-material-row .goal-executive-main h3 {
  margin-top: 8px;
}

.marketing-publishing-row-preview {
  display: grid;
  gap: 5px;
  padding: 12px 14px;
  background: #f7fbf9;
  border: 1px solid rgba(19, 116, 71, 0.18);
  border-radius: 10px;
}

.marketing-publishing-row-preview span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.marketing-publishing-row-preview strong {
  font-size: 16px;
  line-height: 1.25;
  color: var(--text);
}

.marketing-publishing-row-preview p {
  margin: 0;
  color: var(--muted);
  line-height: 1.4;
}

.marketing-publishing-final-view {
  border-color: rgba(19, 116, 71, 0.28);
  background: #fbfffd;
}

.marketing-publishing-final-view .marketing-preview {
  margin-bottom: 0;
  background: #ffffff;
  border-color: rgba(19, 116, 71, 0.22);
}

.marketing-campaign-row {
  cursor: pointer;
  transition: background 0.14s ease, border-color 0.14s ease, transform 0.14s ease;
}

.marketing-campaign-row:hover {
  transform: translateY(-1px);
  background: #f4fbf7;
  border-color: rgba(19, 116, 71, 0.24);
}

body[data-view="marketing"] .ghost-button,
body[data-view="marketing"] .ghost-link,
body[data-view="marketing"] .action-button,
body[data-view="marketing"] summary,
body[data-view="marketing"] .is-clickable,
body[data-view="marketing"] .is-clickable-row,
body[data-view="marketing"] [data-view-module-jump],
body[data-view="marketing"] [data-scroll-target],
body[data-view="marketing"] [data-focus-module],
body[data-view="marketing"] .marketing-owner-action,
body[data-view="marketing"] .marketing-factory-step,
body[data-view="marketing"] .marketing-work-item,
body[data-view="marketing"] .marketing-daily-check,
body[data-view="marketing"] .marketing-stage-card,
body[data-view="marketing"] .marketing-approval-row,
body[data-view="marketing"] .marketing-publishing-row,
body[data-view="marketing"] .marketing-material-row,
body[data-view="marketing"] .marketing-campaign-row,
body[data-view="marketing"] .marketing-thin-table-row,
body[data-view="marketing"] tr.marketing-pipeline-row td,
body[data-view="marketing"] tr.marketing-inbox-row td {
  transform: none;
  filter: none;
  transition-property: color, background, border-color, box-shadow, opacity;
}

body[data-view="marketing"] .ghost-button:not(:disabled):hover,
body[data-view="marketing"] .ghost-button:not(:disabled):focus-visible,
body[data-view="marketing"] .ghost-link:hover,
body[data-view="marketing"] .ghost-link:focus-visible,
body[data-view="marketing"] .action-button:not(:disabled):hover,
body[data-view="marketing"] .action-button:not(:disabled):focus-visible,
body[data-view="marketing"] .is-clickable:hover,
body[data-view="marketing"] .is-clickable:focus-visible,
body[data-view="marketing"] .is-clickable-row:hover,
body[data-view="marketing"] .is-clickable-row:focus-visible,
body[data-view="marketing"] [data-view-module-jump]:hover,
body[data-view="marketing"] [data-view-module-jump]:focus-visible,
body[data-view="marketing"] [data-scroll-target]:hover,
body[data-view="marketing"] [data-scroll-target]:focus-visible,
body[data-view="marketing"] [data-focus-module]:hover,
body[data-view="marketing"] [data-focus-module]:focus-visible,
body[data-view="marketing"] .marketing-owner-action:hover,
body[data-view="marketing"] .marketing-factory-step:hover,
body[data-view="marketing"] .marketing-work-item:hover,
body[data-view="marketing"] .marketing-work-item:focus-visible,
body[data-view="marketing"] .marketing-daily-check:hover,
body[data-view="marketing"] .marketing-stage-card:hover,
body[data-view="marketing"] .marketing-stage-card.is-active-stage,
body[data-view="marketing"] .marketing-approval-row:hover,
body[data-view="marketing"] .marketing-publishing-row:hover,
body[data-view="marketing"] .marketing-material-row:hover,
body[data-view="marketing"] .marketing-campaign-row:hover,
body[data-view="marketing"] .marketing-thin-table-row:hover,
body[data-view="marketing"] tr.marketing-pipeline-row:hover td,
body[data-view="marketing"] tr.marketing-inbox-row:hover td {
  transform: none !important;
  filter: none !important;
}

body[data-view="marketing"] .marketing-stage-card::after,
body[data-view="marketing"] .marketing-stage-card:hover::after,
body[data-view="marketing"] .marketing-stage-card.is-active-stage::after {
  transform: none;
}

.marketing-approval-filter-bar,
.marketing-pipeline-filter-bar,
.marketing-publishing-filter-bar,
.marketing-material-filter-bar,
.marketing-inbox-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 14px 0;
  padding: 12px;
  background: #ffffff;
  border: 1px solid rgba(31, 122, 77, 0.22);
  border-radius: 12px;
  box-shadow: 0 8px 18px rgba(15, 50, 36, 0.035);
}

.marketing-approval-detail,
.marketing-pipeline-detail,
.marketing-publishing-detail,
.marketing-material-detail,
.marketing-inbox-detail {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

.marketing-denis-action {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.95fr);
  gap: 14px;
  align-items: start;
  padding: 16px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.16);
  border-radius: 14px;
  box-shadow: 0 12px 26px rgba(15, 50, 36, 0.045);
}

.marketing-denis-action.is-warning {
  background: #fffaf0;
  border-color: rgba(205, 124, 31, 0.28);
}

.marketing-denis-action.is-critical {
  background: #fff5f3;
  border-color: rgba(203, 55, 49, 0.26);
}

.marketing-denis-action.is-ok {
  background: #f3fbf7;
  border-color: rgba(12, 116, 76, 0.24);
}

.marketing-denis-action small {
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.marketing-denis-action h4 {
  margin: 4px 0 6px;
  font-size: 18px;
  line-height: 1.2;
}

.marketing-denis-action p,
.marketing-denis-action ol {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.marketing-denis-action ol {
  display: grid;
  gap: 6px;
  padding-left: 20px;
}

.marketing-video-review-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 14px;
  background: #f6fbf8;
  border: 1px solid rgba(12, 116, 76, 0.22);
  border-left: 4px solid var(--green);
  border-radius: 14px;
}

.marketing-video-review-panel small {
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.marketing-video-review-panel h4 {
  margin: 4px 0 6px;
  font-size: 17px;
  line-height: 1.2;
}

.marketing-video-review-panel p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.marketing-video-review-panel .marketing-video-player-slot {
  grid-column: 1 / -1;
}

.marketing-inbox-detail-head {
  align-items: flex-start;
}

.marketing-inbox-top-actions {
  align-items: flex-start;
  justify-content: flex-end;
}

.marketing-inbox-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.marketing-inbox-facts article {
  display: grid;
  gap: 6px;
  min-width: 0;
  min-height: 104px;
  padding: 14px 16px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.16);
  border-radius: 12px;
}

.marketing-inbox-facts small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.marketing-inbox-facts strong {
  min-width: 0;
  color: var(--text);
  font-size: 20px;
  line-height: 1.2;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.marketing-inbox-facts p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.marketing-approval-detail > .section,
.marketing-pipeline-detail > .section,
.marketing-publishing-detail > .section,
.marketing-material-detail > .section,
.marketing-inbox-detail > .section {
  margin: 0;
}

.marketing-inbox-message {
  display: grid;
  gap: 6px;
  margin-top: 14px;
  padding: 14px;
  background: #ffffff;
  border: 1px solid rgba(18, 65, 49, 0.16);
  border-radius: 12px;
}

.marketing-inbox-message > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.marketing-inbox-message small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.marketing-inbox-message span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 760;
}

.marketing-inbox-message p {
  margin: 0;
  font-size: 15px;
  line-height: 1.45;
  color: var(--text);
}

.marketing-inbox-reply-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(320px, 0.7fr);
  gap: 14px;
  align-items: start;
}

.marketing-inbox-dialog {
  display: grid;
  gap: 10px;
}

.marketing-chat-bubble {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(18, 65, 49, 0.14);
  border-radius: 12px;
}

.marketing-chat-bubble.is-client {
  background: #f7faf6;
  border-left: 4px solid #6b7d73;
}

.marketing-chat-bubble.is-draft {
  background: #ffffff;
  border-left: 4px solid #137447;
}

.marketing-chat-bubble small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.marketing-chat-bubble p {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
}

.marketing-chat-bubble-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
}

.marketing-chat-bubble-head span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 780;
}

.marketing-inbox-reply-panel textarea {
  min-height: 170px;
  font-size: 14px;
  line-height: 1.45;
}

.marketing-inbox-side {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.marketing-inbox-side .section-subcard {
  min-width: 0;
}

.marketing-inbox-side .grid.cols-2 {
  grid-template-columns: 1fr;
}

.marketing-inbox-history h4 {
  margin: 0 0 8px;
}

.marketing-inbox-actions {
  display: grid;
  gap: 7px;
  min-width: 180px;
}

.marketing-inbox-actions small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.marketing-inbox-actions .inline-actions {
  gap: 6px;
}

.marketing-inbox-actions .ghost-button {
  min-height: 30px;
  padding: 6px 10px;
  font-size: 12px;
}

.marketing-outbound-desk {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

.marketing-outbound-form {
  gap: 12px;
}

.marketing-outbound-form-grid,
.marketing-outbound-settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.marketing-outbound-form-grid .form-wide,
.marketing-outbound-settings-grid .form-wide {
  grid-column: 1 / -1;
}

.marketing-outbound-form-grid label,
.marketing-outbound-settings-grid label,
.marketing-outbound-draft-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.marketing-outbound-form-grid input,
.marketing-outbound-form-grid select,
.marketing-outbound-form-grid textarea,
.marketing-outbound-settings-grid input,
.marketing-outbound-settings-grid select,
.marketing-outbound-draft-field textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #ffffff;
}

.marketing-outbound-form-grid textarea,
.marketing-outbound-draft-field textarea {
  min-height: 92px;
  resize: vertical;
}

.marketing-outbound-status-note {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 12px;
  background: #fbfdfb;
}

.marketing-outbound-status-note small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.marketing-outbound-status-note strong {
  display: block;
  font-size: 15px;
}

.marketing-outbound-status-note p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.marketing-outbound-queue {
  display: grid;
  gap: 10px;
}

.marketing-outbound-card {
  background: #ffffff;
}

.marketing-outbound-card summary {
  align-items: start;
}

.marketing-outbound-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.marketing-outbound-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.marketing-outbound-meta article {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 12px;
  background: #fbfdfb;
}

.marketing-outbound-meta small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.marketing-outbound-meta strong {
  display: block;
  margin-top: 4px;
  font-size: 15px;
  line-height: 1.35;
}

.marketing-outbound-meta p {
  margin: 6px 0 0;
  color: var(--muted);
  line-height: 1.45;
}

.marketing-outbound-draft-field {
  margin-bottom: 12px;
}

.marketing-outbound-actions {
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
}

@media (max-width: 980px) {
  .marketing-outbound-form-grid,
  .marketing-outbound-settings-grid,
  .marketing-outbound-meta {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1280px) {
  .marketing-owner-directions,
  .marketing-owner-command-help {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .marketing-owner-directions,
  .marketing-owner-command-help,
  .marketing-owner-command-grid {
    grid-template-columns: 1fr;
  }
}

.team-access-table th,
.team-access-table td {
  vertical-align: top;
}

.team-access-table td:nth-child(3),
.team-access-table td:nth-child(4) {
  max-width: 420px;
}

.access-section-list {
  display: grid;
  gap: 6px;
  min-width: 260px;
}

.access-section-line {
  display: grid;
  gap: 2px;
  padding: 6px 8px;
  border: 1px solid rgba(18, 65, 49, 0.08);
  border-radius: 8px;
  background: #fbfdfb;
}

.access-section-line strong {
  color: #0f4f36;
  font-size: 12px;
}

.access-section-line span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.attendance-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}

.attendance-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
}

.attendance-chip {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
}

.attendance-table-wrap {
  margin-bottom: 16px;
}

.team-attendance-table {
  min-width: 1420px;
  border-collapse: separate;
  border-spacing: 0;
}

.team-attendance-table th,
.team-attendance-table td {
  min-width: 42px;
  padding: 8px 6px;
  text-align: center;
  vertical-align: middle;
}

.team-attendance-table th small,
.team-attendance-table td small {
  display: block;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.2;
}

.team-attendance-table .attendance-employee-col {
  position: sticky;
  left: 0;
  z-index: 2;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
  background: #fffdfa;
  text-align: left;
  box-shadow: 1px 0 0 var(--line);
}

.team-attendance-table th.attendance-employee-col {
  z-index: 3;
}

.attendance-employee-line {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  white-space: nowrap;
}

.attendance-employee-line strong {
  overflow: hidden;
  text-overflow: ellipsis;
}

.attendance-employee-line span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
}

.team-attendance-table .is-today {
  background: #f4fbf7;
  box-shadow: inset 0 0 0 2px rgba(15, 106, 68, 0.26);
}

.attendance-cell {
  width: 34px;
  min-width: 34px;
  height: 34px;
  min-height: 34px;
  padding: 0;
  border: 1px solid rgba(18, 65, 49, 0.14);
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  font-size: 12px;
  line-height: 1;
  transition: transform 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}

.attendance-cell:hover,
.attendance-cell:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(15, 106, 68, 0.44);
  box-shadow: 0 8px 16px rgba(0, 40, 24, 0.08);
  outline: none;
}

.attendance-cell span {
  display: block;
  font-weight: 900;
}

.attendance-cell small {
  margin-top: 2px;
  font-size: 9px;
}

.attendance-cell.planned,
.attendance-chip.planned {
  background: #f8fbf7;
  color: #315b49;
}

.attendance-cell.worked,
.attendance-chip.worked {
  background: #eaf7ef;
  border-color: rgba(15, 106, 68, 0.26);
  color: #0f6a44;
}

.attendance-cell.short,
.attendance-chip.short {
  background: #fff4db;
  border-color: rgba(183, 107, 24, 0.28);
  color: #8a520d;
}

.attendance-cell.absent,
.attendance-chip.absent {
  background: #fff0ee;
  border-color: rgba(197, 58, 50, 0.3);
  color: #a22922;
}

.attendance-cell.sick,
.attendance-chip.sick {
  background: #eef6ff;
  border-color: rgba(39, 111, 164, 0.26);
  color: #205f91;
}

.attendance-cell.vacation,
.attendance-chip.vacation {
  background: #f4f0ff;
  border-color: rgba(99, 78, 154, 0.24);
  color: #4f3f84;
}

.attendance-cell.dayoff,
.attendance-cell.weekend,
.attendance-chip.dayoff {
  background: #e8eef6;
  border-color: rgba(70, 95, 128, 0.28);
  color: #344c6a;
}

.attendance-cell.is-inactive {
  opacity: 0.35;
  cursor: not-allowed;
}

.attendance-total {
  min-width: 150px;
  text-align: left;
}

.attendance-total strong {
  display: block;
}

.attendance-total .is-negative {
  color: #a22922;
  font-weight: 800;
}

.attendance-editor {
  position: absolute;
  z-index: 1200;
  width: 340px;
  padding: 12px;
  border: 1px solid rgba(18, 65, 49, 0.16);
  border-radius: 14px;
  background: #fffdfa;
  box-shadow: 0 22px 52px rgba(13, 41, 30, 0.18);
}

.attendance-editor-form {
  display: grid;
  gap: 10px;
}

.attendance-editor-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.attendance-editor-head strong,
.attendance-editor-head span {
  display: block;
}

.attendance-editor-head span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.attendance-editor label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.attendance-editor input,
.attendance-editor select {
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 8px 10px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-weight: 800;
}

.attendance-editor-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.finance-form {
  display: grid;
  grid-template-columns: repeat(6, minmax(140px, 1fr));
  gap: 12px;
  padding: 14px;
  margin-bottom: 16px;
  border: 1px solid rgba(18, 85, 60, 0.14);
  border-radius: 12px;
  background: rgba(250, 252, 249, 0.86);
}

.finance-form.compact {
  grid-template-columns: repeat(6, minmax(120px, 1fr));
}

.finance-form label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.finance-form input,
.finance-form select,
.finance-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 10px 11px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-weight: 750;
}

.finance-form textarea {
  min-height: 76px;
  resize: vertical;
}

.finance-form .wide {
  grid-column: span 3;
}

.finance-form .primary-button {
  align-self: end;
}

.finance-payment-form,
.finance-obligation-form {
  display: grid;
  gap: 14px;
  margin-bottom: 14px;
  padding: 16px;
  border: 1px solid rgba(18, 85, 60, 0.12);
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff, rgba(248, 251, 248, 0.94));
  box-shadow: 0 14px 38px rgba(8, 28, 22, 0.06);
}

.finance-payment-form-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(18, 85, 60, 0.08);
}

.finance-payment-form-head small,
.finance-payment-form-head strong,
.finance-payment-form-head p {
  display: block;
  margin: 0;
}

.finance-payment-form-head small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.finance-payment-form-head strong {
  margin-top: 3px;
  font-size: 18px;
}

.finance-payment-form-head p {
  margin-top: 4px;
  color: var(--muted);
  line-height: 1.42;
}

.finance-payment-form-grid,
.finance-obligation-form-grid {
  display: grid;
  grid-template-columns: minmax(260px, 1.4fr) repeat(4, minmax(120px, 0.75fr));
  gap: 10px;
}

.finance-payment-form label,
.finance-obligation-form label,
.finance-obligation-filters label,
.finance-approval-filters label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.finance-payment-form input,
.finance-payment-form select,
.finance-payment-form textarea,
.finance-obligation-form input,
.finance-obligation-form select,
.finance-obligation-form textarea,
.finance-obligation-filters input,
.finance-obligation-filters select,
.finance-approval-filters input,
.finance-approval-filters select {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 10px 11px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-weight: 750;
}

.finance-payment-form textarea,
.finance-obligation-form textarea {
  min-height: 76px;
  resize: vertical;
}

.finance-payment-form .wide,
.finance-obligation-form .wide {
  grid-column: span 2;
}

.finance-approval-toolbar,
.finance-obligation-toolbar {
  display: grid;
  gap: 12px;
  margin: 12px 0;
}

.finance-approval-stats,
.finance-obligation-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 10px;
}

.finance-approval-stats article,
.finance-obligation-stats article {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(18, 85, 60, 0.12);
  border-radius: 12px;
  background: #fff;
}

.finance-approval-stats article.is-danger,
.finance-obligation-stats article.is-danger {
  border-color: rgba(197, 58, 50, 0.24);
  background: rgba(255, 247, 245, 0.82);
}

.finance-approval-stats small,
.finance-approval-stats span,
.finance-obligation-stats small,
.finance-obligation-stats span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.finance-approval-stats strong,
.finance-obligation-stats strong {
  display: block;
  margin-top: 4px;
  font-size: 22px;
  line-height: 1.1;
}

.finance-approval-filters,
.finance-obligation-filters {
  display: grid;
  grid-template-columns: minmax(260px, 1.4fr) repeat(3, minmax(150px, 0.8fr));
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(18, 85, 60, 0.1);
  border-radius: 12px;
  background: rgba(248, 251, 248, 0.8);
}

.finance-checkbox-label {
  align-content: end;
  grid-template-columns: auto 1fr;
  grid-auto-flow: column;
  align-items: center;
  gap: 9px;
  min-height: 62px;
  padding: 10px 12px;
  border: 1px solid rgba(18, 85, 60, 0.12);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
}

.finance-checkbox-label input {
  width: 17px;
  height: 17px;
}

.finance-transaction-table {
  margin-top: 14px;
}

.finance-transaction-table td {
  vertical-align: top;
}

.finance-direction {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 5px 9px;
  border-radius: 999px;
  border: 1px solid rgba(18, 85, 60, 0.12);
  background: rgba(244, 248, 245, 0.92);
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.finance-direction.is-income {
  border-color: rgba(10, 121, 82, 0.26);
  background: rgba(234, 247, 239, 0.9);
  color: var(--green);
}

.finance-direction.is-expense {
  border-color: rgba(197, 58, 50, 0.22);
  background: rgba(255, 247, 245, 0.9);
  color: var(--red);
}

.finance-direction.is-neutral {
  border-color: rgba(52, 115, 160, 0.22);
  background: rgba(239, 248, 255, 0.88);
  color: #23628c;
}

.text-danger {
  color: var(--red);
}

.text-success {
  color: var(--green);
}

.finance-approval-list,
.finance-obligation-list,
.finance-budget-list,
.finance-owner-queue {
  display: grid;
  gap: 10px;
}

.finance-approval-row,
.finance-obligation-row,
.finance-budget-row {
  display: grid;
  grid-template-columns: minmax(260px, 1.7fr) minmax(150px, 0.8fr) minmax(150px, 0.7fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid rgba(18, 85, 60, 0.14);
  border-radius: 12px;
  background: #fff;
}

.finance-approval-row {
  grid-template-columns: minmax(320px, 1.55fr) minmax(150px, 0.6fr) minmax(190px, 0.7fr) minmax(220px, auto);
  border-color: rgba(18, 85, 60, 0.1);
  box-shadow: 0 10px 28px rgba(8, 28, 22, 0.04);
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.finance-approval-row:hover {
  border-color: rgba(10, 121, 82, 0.24);
  box-shadow: 0 14px 32px rgba(8, 28, 22, 0.07);
  transform: translateY(-1px);
}

.finance-approval-row.is-hidden-by-filter {
  display: none;
}

.finance-obligation-row {
  grid-template-columns: minmax(320px, 1.55fr) minmax(150px, 0.6fr) minmax(190px, 0.7fr) minmax(210px, auto);
  border-color: rgba(18, 85, 60, 0.1);
  box-shadow: 0 10px 28px rgba(8, 28, 22, 0.04);
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.finance-obligation-row:hover {
  border-color: rgba(10, 121, 82, 0.24);
  box-shadow: 0 14px 32px rgba(8, 28, 22, 0.07);
  transform: translateY(-1px);
}

.finance-obligation-row.is-hidden-by-filter {
  display: none;
}

.finance-obligation-main {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-width: 0;
}

.finance-obligation-marker {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(18, 85, 60, 0.12);
  border-radius: 10px;
  background: rgba(244, 248, 245, 0.88);
  color: var(--green);
  font-size: 14px;
  font-weight: 950;
}

.finance-obligation-row.is-critical .finance-obligation-marker {
  border-color: rgba(197, 58, 50, 0.24);
  background: rgba(255, 247, 245, 0.95);
  color: var(--red);
}

.finance-obligation-money,
.finance-obligation-meta {
  display: grid;
  gap: 6px;
  align-content: center;
  min-width: 0;
}

.finance-approval-main {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-width: 0;
}

.finance-approval-marker {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(18, 85, 60, 0.12);
  border-radius: 10px;
  background: rgba(234, 247, 239, 0.78);
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
}

.finance-approval-money,
.finance-approval-meta {
  display: grid;
  gap: 6px;
  align-content: center;
  min-width: 0;
}

.finance-approval-date {
  display: inline-flex;
  width: fit-content;
  padding: 5px 8px;
  border: 1px solid rgba(18, 85, 60, 0.12);
  border-radius: 999px;
  background: rgba(244, 248, 245, 0.92);
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
}

.finance-approval-date.is-overdue {
  border-color: rgba(197, 58, 50, 0.24);
  background: rgba(255, 247, 245, 0.95);
  color: var(--red);
}

.finance-approval-date.is-due-soon {
  border-color: rgba(224, 143, 42, 0.28);
  background: rgba(255, 247, 235, 0.95);
  color: #9a5b10;
}

.finance-budget-row {
  grid-template-columns: minmax(260px, 1.6fr) minmax(220px, 1fr) auto;
}

.finance-approval-row.is-overdue,
.finance-obligation-row.is-critical {
  border-color: rgba(197, 58, 50, 0.28);
  background: rgba(255, 247, 245, 0.72);
}

.finance-approval-row.is-closed,
.finance-obligation-row.is-closed {
  opacity: 0.62;
  background: rgba(246, 248, 246, 0.86);
}

.finance-planned-form {
  margin-bottom: 14px;
  border: 1px solid rgba(18, 85, 60, 0.12);
  border-radius: 14px;
  padding: 14px;
  background: linear-gradient(180deg, rgba(248, 251, 248, 0.96), rgba(255, 255, 255, 0.98));
}

.finance-planned-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: 14px;
  margin: 14px 0;
}

.finance-planned-panel {
  min-width: 0;
  border: 1px solid rgba(18, 85, 60, 0.12);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(8, 28, 22, 0.06);
}

.finance-planned-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  padding: 14px 14px 10px;
  border-bottom: 1px solid rgba(18, 85, 60, 0.08);
}

.finance-planned-panel-head h3,
.finance-planned-panel-head p {
  margin: 0;
}

.finance-planned-panel-head p {
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
}

.finance-planned-list {
  display: grid;
  gap: 8px;
  padding: 12px;
}

.finance-planned-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(18, 85, 60, 0.1);
  border-radius: 11px;
  background: rgba(248, 251, 248, 0.62);
}

.finance-planned-row.is-due {
  border-color: rgba(224, 143, 42, 0.32);
  background: rgba(255, 247, 235, 0.74);
}

.finance-planned-row.is-muted {
  opacity: 0.68;
}

.finance-planned-row small,
.finance-planned-row strong,
.finance-planned-row p {
  display: block;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.finance-planned-row small {
  color: var(--muted);
  font-size: 12px;
}

.finance-planned-row strong {
  margin-top: 3px;
}

.finance-planned-row p {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
}

.finance-weekly-grid,
.finance-plan-fact-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.finance-weekly-grid article,
.finance-plan-fact-grid article {
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(18, 85, 60, 0.12);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(8, 28, 22, 0.05);
}

.finance-weekly-grid small,
.finance-plan-fact-grid small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.finance-weekly-grid strong,
.finance-plan-fact-grid strong {
  display: block;
  margin-top: 5px;
  font-size: 22px;
  line-height: 1.1;
}

.finance-weekly-grid p,
.finance-plan-fact-grid p {
  margin: 7px 0 0;
  color: var(--muted);
  line-height: 1.42;
}

.finance-weekly-grid button {
  margin-top: 10px;
}

.finance-plan-fact-table small {
  display: block;
  margin-top: 3px;
  font-weight: 800;
}

.finance-approval-row small,
.finance-obligation-row small,
.finance-budget-row small,
.finance-account-card small,
.finance-owner-queue small {
  color: var(--muted);
  font-weight: 800;
}

.finance-approval-row strong,
.finance-obligation-row strong,
.finance-budget-row strong,
.finance-account-card strong,
.finance-owner-queue strong {
  display: block;
  margin-top: 4px;
}

.finance-approval-row p,
.finance-obligation-row p,
.finance-budget-row p,
.finance-account-card p {
  margin: 6px 0 0;
  color: var(--muted);
  line-height: 1.45;
}

.finance-amount {
  display: block;
  color: var(--ink);
  font-size: 20px;
  font-weight: 900;
}

.finance-owner-queue {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.finance-owner-queue article,
.finance-account-card,
.finance-calendar-day {
  border: 1px solid rgba(18, 85, 60, 0.14);
  border-radius: 12px;
  background: #fff;
  padding: 14px;
}

.finance-owner-queue article span {
  display: inline-flex;
  margin-top: 10px;
  color: var(--green);
  font-weight: 900;
}

.finance-calendar-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}

.finance-calendar-day {
  min-height: 150px;
  background: rgba(251, 253, 250, 0.94);
}

.finance-calendar-day.is-today {
  border-color: rgba(10, 121, 82, 0.44);
  background: rgba(232, 247, 239, 0.92);
  box-shadow: inset 0 0 0 1px rgba(10, 121, 82, 0.16);
}

.finance-calendar-day.is-overdue {
  border-color: rgba(197, 58, 50, 0.25);
  background: rgba(255, 247, 245, 0.76);
}

.finance-calendar-day-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}

.finance-calendar-item {
  display: grid;
  gap: 4px;
  padding: 9px 10px;
  margin-top: 8px;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(18, 85, 60, 0.12);
}

.finance-calendar-item span {
  color: var(--green);
  font-weight: 900;
}

.finance-account-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}

.finance-account-values {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0;
}

.finance-account-values span {
  display: grid;
  gap: 3px;
  padding: 10px;
  border-radius: 10px;
  background: rgba(244, 248, 245, 0.92);
  border: 1px solid rgba(18, 85, 60, 0.12);
}

.finance-accounts-section .section-head {
  align-items: flex-start;
}

.finance-accounts-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.finance-accounts-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(170px, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.finance-accounts-summary article {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid rgba(18, 85, 60, 0.11);
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbf8 100%);
  box-shadow: 0 8px 22px rgba(9, 31, 23, 0.035);
}

.finance-accounts-summary article.is-danger {
  border-color: rgba(139, 24, 46, 0.18);
  background: linear-gradient(180deg, #ffffff 0%, #fff6f6 100%);
}

.finance-accounts-summary small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  line-height: 1.25;
  text-transform: uppercase;
}

.finance-accounts-summary strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 21px;
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.finance-accounts-summary span {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.34;
}

.finance-accounts-panel {
  overflow: hidden;
  border: 1px solid rgba(18, 85, 60, 0.12);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 10px 28px rgba(9, 31, 23, 0.04);
}

.finance-accounts-toolbar {
  display: grid;
  grid-template-columns: auto auto minmax(260px, 1fr) minmax(240px, 0.9fr);
  gap: 10px;
  align-items: center;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(18, 85, 60, 0.1);
  background: #f8faf8;
}

.finance-accounts-toolbar button {
  min-height: 36px;
  padding: 8px 13px;
  border: 1px solid rgba(18, 85, 60, 0.13);
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  font: inherit;
  font-weight: 850;
  cursor: pointer;
}

.finance-accounts-toolbar button.is-active {
  border-color: rgba(10, 121, 82, 0.26);
  background: #eef8f2;
  color: var(--green);
}

.finance-accounts-toolbar label {
  display: grid;
  gap: 4px;
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.finance-accounts-toolbar input {
  min-width: 0;
  min-height: 36px;
  border: 1px solid rgba(18, 85, 60, 0.16);
  border-radius: 8px;
  padding: 8px 10px;
  background: #ffffff;
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  text-transform: none;
}

.finance-accounts-toolbar p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.finance-accounts-table-wrap {
  overflow-x: auto;
}

.finance-accounts-table {
  width: 100%;
  min-width: 1120px;
  border-collapse: collapse;
  font-size: 13px;
}

.finance-accounts-table th {
  padding: 11px 14px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-align: left;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(18, 85, 60, 0.1);
}

.finance-accounts-table td {
  padding: 13px 14px;
  vertical-align: top;
  border-bottom: 1px solid rgba(18, 85, 60, 0.08);
}

.finance-account-group-row td {
  padding: 15px 14px 9px;
  background: #fbfcfb;
  border-bottom-color: rgba(18, 85, 60, 0.08);
}

.finance-account-group-row strong {
  color: var(--ink);
  font-size: 15px;
}

.finance-account-group-row span {
  margin-left: 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.finance-account-row:hover td {
  background: #fbfdfb;
}

.finance-account-row strong,
.finance-account-row small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.finance-account-row small,
.finance-muted {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}

.finance-account-row b {
  color: var(--ink);
  font-weight: 900;
  white-space: nowrap;
}

.finance-account-status {
  display: inline-flex;
  max-width: 180px;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.2;
}

.finance-account-status.green {
  color: #0a6f4a;
  background: #eaf7ef;
}

.finance-account-status.orange {
  color: #8a5a13;
  background: #fff4dc;
}

.finance-account-status.red {
  color: #8b182e;
  background: #ffe9eb;
}

.finance-account-actions-cell {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-width: 150px;
}

.finance-account-actions-cell button {
  min-height: 32px;
  border: 1px solid rgba(18, 85, 60, 0.14);
  border-radius: 8px;
  padding: 7px 10px;
  background: #ffffff;
  color: var(--ink);
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.finance-account-actions-cell button:hover {
  border-color: rgba(10, 121, 82, 0.28);
  background: #f1f8f4;
}

.finance-account-actions-cell button.danger {
  border-color: rgba(139, 24, 46, 0.18);
  color: #8b182e;
  background: #fff7f7;
}

.finance-account-archive-warning {
  display: grid;
  gap: 7px;
  padding: 12px 13px;
  border: 1px solid rgba(139, 24, 46, 0.18);
  border-radius: 10px;
  background: #fff8f8;
  color: var(--ink);
}

.finance-account-archive-warning strong,
.finance-account-archive-warning p,
.finance-account-archive-warning span {
  margin: 0;
}

.finance-account-archive-warning strong {
  color: #8b182e;
  font-size: 14px;
}

.finance-account-archive-warning p,
.finance-account-archive-warning span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.finance-account-row.is-hidden-by-search,
.finance-account-group-row.is-hidden-by-search {
  display: none;
}

.finance-counterparties-section .section-head {
  align-items: flex-start;
}

.finance-counterparty-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.finance-counterparty-stats article {
  padding: 13px 14px;
  border: 1px solid rgba(18, 85, 60, 0.11);
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbf8 100%);
}

.finance-counterparty-stats article.is-danger {
  border-color: rgba(139, 24, 46, 0.18);
  background: #fff7f7;
}

.finance-counterparty-stats small,
.finance-counterparty-stats span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

.finance-counterparty-stats small {
  font-weight: 850;
  text-transform: uppercase;
}

.finance-counterparty-stats strong {
  display: block;
  margin: 5px 0;
  color: var(--ink);
  font-size: 22px;
  line-height: 1.1;
}

.finance-counterparty-form,
.finance-counterparty-controls {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
  padding: 13px;
  border: 1px solid rgba(18, 85, 60, 0.12);
  border-radius: 10px;
  background: #ffffff;
}

.finance-counterparty-form {
  grid-template-columns: minmax(220px, 1.4fr) minmax(150px, 0.8fr) minmax(150px, 0.8fr) minmax(160px, 0.9fr) minmax(160px, 0.8fr);
  align-items: end;
}

.finance-counterparty-controls {
  grid-template-columns: minmax(260px, 1fr) minmax(160px, 0.45fr) minmax(160px, 0.45fr);
  background: #f8faf8;
}

.finance-counterparty-form label,
.finance-counterparty-controls label {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.finance-counterparty-form label.wide {
  grid-column: span 1;
}

.finance-counterparty-form input,
.finance-counterparty-form select,
.finance-counterparty-controls input,
.finance-counterparty-controls select {
  min-width: 0;
  min-height: 38px;
  border: 1px solid rgba(18, 85, 60, 0.16);
  border-radius: 8px;
  padding: 8px 10px;
  background: #ffffff;
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  text-transform: none;
}

.finance-counterparty-table table {
  min-width: 1180px;
}

.finance-counterparty-table tr.is-hidden-by-filter {
  display: none;
}

.finance-counterparty-table td strong,
.finance-counterparty-table td small {
  display: block;
}

.finance-counterparty-table td small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}

.finance-counterparty-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.finance-counterparty-tags span,
.finance-counterparty-tags em {
  display: inline-flex;
  padding: 4px 7px;
  border-radius: 999px;
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.15;
}

.finance-counterparty-tags span {
  color: #0a6f4a;
  background: #eaf7ef;
}

.finance-counterparty-tags em {
  color: #50635d;
  background: #eef2f0;
}

@media (max-width: 900px) {
  .finance-accounts-summary,
  .finance-accounts-toolbar,
  .finance-counterparty-stats,
  .finance-counterparty-form,
  .finance-counterparty-controls,
  .finance-dds-summary,
  .finance-dds-controls,
  .finance-dds-insights {
    grid-template-columns: 1fr;
  }

  .finance-accounts-actions {
    justify-content: flex-start;
  }
}

.finance-progress {
  display: grid;
  gap: 7px;
}

.finance-progress span {
  display: block;
  height: 8px;
  border-radius: 999px;
  background: rgba(9, 39, 30, 0.08);
  overflow: hidden;
}

.finance-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--green);
}

.finance-control-model {
  display: grid;
  gap: 14px;
}

.finance-control-grid {
  display: grid;
  grid-template-columns: minmax(320px, 1.35fr) repeat(2, minmax(240px, 0.82fr));
  gap: 12px;
}

.finance-control-card,
.finance-goal-step,
.finance-control-split article {
  display: grid;
  gap: 9px;
  min-width: 0;
  padding: 15px;
  border: 1px solid rgba(18, 85, 60, 0.14);
  border-radius: 12px;
  background: #fff;
}

.finance-control-card.is-main {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbf8 100%);
}

.finance-control-card small,
.finance-goal-step small,
.finance-control-split h3 {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.finance-control-card strong {
  display: block;
  min-width: 0;
  font-size: 21px;
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.finance-control-card p,
.finance-goal-step p,
.finance-control-split p,
.finance-rule-list {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.finance-muted-path {
  overflow-wrap: anywhere;
  font-size: 12px;
}

.finance-control-pairs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.finance-control-pairs span {
  display: grid;
  gap: 3px;
  padding: 10px;
  border: 1px solid rgba(18, 85, 60, 0.1);
  border-radius: 10px;
  background: rgba(244, 248, 245, 0.9);
}

.finance-control-pairs b {
  color: var(--ink);
  font-size: 16px;
}

.finance-goal-ladder {
  display: grid;
  grid-template-columns: repeat(5, minmax(170px, 1fr));
  gap: 10px;
}

.finance-goal-step {
  align-content: start;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbf8 100%);
}

.finance-goal-step strong {
  min-height: 36px;
  font-size: 17px;
  line-height: 1.18;
}

.finance-goal-step b {
  color: var(--ink);
  font-size: 13px;
}

.finance-goal-step.step-1 .finance-progress i {
  background: #0a7952;
}

.finance-goal-step.step-2 .finance-progress i {
  background: #2471a8;
}

.finance-goal-step.step-3 .finance-progress i {
  background: #7c6f39;
}

.finance-goal-step.step-4 .finance-progress i {
  background: #9a5b2f;
}

.finance-goal-step.step-5 .finance-progress i {
  background: #7a3145;
}

.finance-control-split {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(260px, 0.9fr) minmax(320px, 1.1fr);
  gap: 12px;
}

.finance-rule-list {
  display: grid;
  gap: 7px;
  padding-left: 18px;
}

.finance-protected-list {
  display: grid;
  gap: 8px;
}

.finance-protected-list span {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid rgba(18, 85, 60, 0.1);
  border-radius: 9px;
  background: rgba(248, 251, 248, 0.92);
}

.finance-protected-list b {
  min-width: 0;
  overflow-wrap: anywhere;
}

.finance-protected-list strong {
  color: var(--green);
  white-space: nowrap;
}

.finance-owner-report-grid,
.finance-owner-decision-grid,
.finance-reconciliation-grid,
.finance-directory-grid,
.finance-directory-lists {
  display: grid;
  gap: 12px;
}

.finance-owner-report-grid,
.finance-reconciliation-grid {
  grid-template-columns: repeat(4, minmax(170px, 1fr));
  margin-bottom: 12px;
}

.finance-owner-decision-grid {
  grid-template-columns: minmax(260px, 1fr) minmax(260px, 0.9fr) minmax(260px, 1fr);
}

.finance-owner-report-grid article,
.finance-owner-decision-grid article,
.finance-reconciliation-grid article,
.finance-reconciliation-alert,
.finance-directory-card,
.finance-directory-lists article {
  min-width: 0;
  padding: 15px;
  border: 1px solid rgba(18, 85, 60, 0.14);
  border-radius: 12px;
  background: #fff;
}

.finance-owner-report-grid small,
.finance-reconciliation-grid small,
.finance-directory-card h3,
.finance-directory-lists h3 {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.finance-owner-report-grid strong,
.finance-reconciliation-grid strong {
  display: block;
  margin: 5px 0;
  min-width: 0;
  font-size: 21px;
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.finance-owner-report-grid p,
.finance-owner-decision-grid p,
.finance-reconciliation-grid p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.finance-reconciliation-alert {
  margin-bottom: 12px;
  border-color: rgba(177, 112, 28, 0.22);
  background: #fff8ec;
}

.finance-reconciliation-alert strong {
  display: block;
  margin-bottom: 8px;
}

.finance-reconciliation-table table {
  min-width: 860px;
}

.finance-report-line {
  display: grid;
  gap: 3px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(18, 85, 60, 0.08);
}

.finance-report-line span,
.finance-report-line small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.finance-dds-report {
  display: grid;
  gap: 12px;
}

.finance-dds-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.finance-dds-tabs,
.finance-dds-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.finance-dds-tabs button {
  min-height: 36px;
  border: 1px solid rgba(18, 85, 60, 0.13);
  border-radius: 8px;
  padding: 8px 12px;
  background: #ffffff;
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
}

.finance-dds-tabs button.is-active {
  border-color: rgba(10, 121, 82, 0.26);
  background: #eef8f2;
  color: var(--green);
}

.finance-dds-tags span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  border-radius: 999px;
  padding: 6px 10px;
  background: #eef2f0;
  color: #4d625b;
  font-size: 12px;
  font-weight: 850;
}

.finance-dds-controls {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) repeat(4, auto);
  gap: 9px;
  align-items: end;
  padding: 12px;
  border: 1px solid rgba(18, 85, 60, 0.11);
  border-radius: 10px;
  background: #f8faf8;
}

.finance-dds-controls label {
  display: grid;
  gap: 4px;
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.finance-dds-controls input,
.finance-dds-controls button {
  min-height: 38px;
  border: 1px solid rgba(18, 85, 60, 0.14);
  border-radius: 8px;
  padding: 8px 11px;
  background: #ffffff;
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  font-weight: 850;
}

.finance-dds-controls input {
  min-width: 0;
  font-weight: 700;
}

.finance-dds-controls button {
  cursor: pointer;
  white-space: nowrap;
}

.finance-dds-controls button.is-active {
  border-color: rgba(10, 121, 82, 0.26);
  background: #eef8f2;
  color: var(--green);
}

.finance-dds-insights {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 10px;
}

.finance-dds-insights article {
  padding: 12px 13px;
  border: 1px solid rgba(18, 85, 60, 0.11);
  border-radius: 10px;
  background: #ffffff;
}

.finance-dds-insights article.green {
  border-color: rgba(10, 121, 82, 0.16);
  background: #f3fbf6;
}

.finance-dds-insights article.orange {
  border-color: rgba(177, 112, 28, 0.18);
  background: #fff8ec;
}

.finance-dds-insights article.red {
  border-color: rgba(139, 24, 46, 0.18);
  background: #fff7f7;
}

.finance-dds-insights article.blue {
  border-color: rgba(0, 119, 255, 0.16);
  background: #f4f8ff;
}

.finance-dds-insights strong,
.finance-dds-insights p {
  margin: 0;
}

.finance-dds-insights strong {
  display: block;
  margin-bottom: 5px;
  color: var(--ink);
  font-size: 14px;
}

.finance-dds-insights p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.38;
}

.finance-dds-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap: 10px;
}

.finance-dds-summary article {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid rgba(18, 85, 60, 0.11);
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbf8 100%);
  box-shadow: 0 8px 22px rgba(9, 31, 23, 0.035);
}

.finance-dds-summary article.is-danger {
  border-color: rgba(139, 24, 46, 0.18);
  background: linear-gradient(180deg, #ffffff 0%, #fff6f6 100%);
}

.finance-dds-summary small,
.finance-dds-summary span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

.finance-dds-summary small {
  font-weight: 850;
  text-transform: uppercase;
}

.finance-dds-summary strong {
  display: block;
  margin: 5px 0;
  color: var(--ink);
  font-size: 21px;
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.finance-dds-summary strong.text-success {
  color: #0a7a50;
}

.finance-dds-summary strong.text-danger {
  color: #b4233b;
}

.finance-dds-table {
  border: 1px solid rgba(18, 85, 60, 0.1);
  border-radius: 10px;
  background: #ffffff;
}

.finance-dds-table table {
  min-width: 960px;
}

.finance-dds-table th {
  white-space: nowrap;
}

.finance-dds-row td {
  vertical-align: middle;
}

.finance-dds-row td:first-child {
  min-width: 230px;
}

.finance-dds-row.is-group td,
.finance-dds-row.is-total td,
.finance-dds-row.is-balance td {
  background: #fbfcfb;
  font-weight: 900;
}

.finance-dds-row.is-income.is-group td {
  background: #f0faf4;
}

.finance-dds-row.is-expense.is-group td {
  background: #fff6f6;
}

.finance-dds-row.is-protected.is-group td,
.finance-dds-row.is-transfer.is-group td {
  background: #f7f8fb;
}

.finance-dds-row.is-detail td:first-child strong {
  padding-left: 16px;
  font-weight: 800;
}

.finance-dds-row.is-collapsed-detail,
.finance-dds-row.is-hidden-by-search {
  display: none;
}

.finance-dds-trend {
  width: 98px;
}

.finance-dds-trend svg {
  display: block;
  width: 86px;
  height: 28px;
}

.finance-dds-trend polyline {
  stroke: #0077ff;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.finance-dds-trend path.zero {
  stroke: rgba(9, 31, 23, 0.12);
  stroke-width: 1;
}

.finance-directory-grid {
  grid-template-columns: minmax(320px, 1.1fr) minmax(280px, 0.9fr) minmax(300px, 1fr);
}

.finance-directory-lists {
  grid-template-columns: minmax(320px, 1fr) minmax(320px, 1fr);
  margin-top: 12px;
}

.finance-directory-card h3,
.finance-directory-lists h3 {
  margin: 0 0 10px;
}

.finance-directory-preview {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.finance-directory-preview h4 {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.finance-directory-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.finance-directory-tags span {
  padding: 6px 9px;
  border: 1px solid rgba(18, 85, 60, 0.12);
  border-radius: 999px;
  background: rgba(244, 248, 245, 0.9);
  color: var(--green);
  font-size: 12px;
  font-weight: 850;
}

.finance-directory-account-list {
  display: grid;
  gap: 8px;
}

.finance-directory-account-list span {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(18, 85, 60, 0.1);
  border-radius: 10px;
  background: rgba(248, 251, 248, 0.9);
}

.finance-directory-account-list b,
.finance-directory-account-list small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.finance-directory-account-list small {
  color: var(--muted);
  font-weight: 800;
}

.finance-directory-account-list strong {
  grid-row: span 2;
  color: var(--green);
  white-space: nowrap;
}

.finance-desk-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(188px, 1fr));
  gap: 10px;
}

.finance-desk .section-head {
  align-items: flex-start;
}

.finance-desk .section-head p {
  max-width: 760px;
}

.finance-desk .pill {
  margin-top: 2px;
}

.finance-filter-panel {
  padding: 14px;
}

.finance-filter-form {
  display: grid;
  grid-template-columns: minmax(300px, 1.3fr) minmax(280px, 1fr) auto;
  gap: 14px;
  align-items: end;
}

.finance-filter-form small {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font-weight: 900;
  text-transform: uppercase;
}

.finance-period-inputs,
.finance-filter-selects,
.finance-filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.finance-period-inputs input,
.finance-filter-selects select {
  min-height: 40px;
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 9px 10px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-weight: 800;
}

.finance-period-inputs input {
  width: 150px;
}

.finance-filter-selects select {
  min-width: 190px;
}

.finance-quick-periods {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 9px;
}

.finance-quick-periods button {
  min-height: 30px;
  border: 1px solid rgba(18, 85, 60, 0.1);
  border-radius: 999px;
  padding: 6px 11px;
  background: rgba(237, 241, 238, 0.95);
  color: var(--muted);
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.finance-quick-periods button:hover,
.finance-quick-periods button.is-active {
  border-color: rgba(10, 121, 82, 0.22);
  background: rgba(234, 247, 239, 0.96);
  color: var(--green);
}

.finance-kpi {
  position: relative;
  display: grid;
  align-content: start;
  gap: 6px;
  min-height: 112px;
  padding: 14px 15px 13px;
  overflow: hidden;
  border: 1px solid rgba(18, 85, 60, 0.11);
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 251, 249, 0.98) 100%);
  box-shadow: 0 10px 26px rgba(9, 31, 23, 0.045);
}

.finance-kpi::before {
  content: "";
  position: absolute;
  top: 12px;
  right: 12px;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(18, 85, 60, 0.24);
}

.finance-kpi small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  line-height: 1.25;
  letter-spacing: 0;
  text-transform: uppercase;
}

.finance-kpi strong {
  display: block;
  min-width: 0;
  color: var(--ink);
  font-size: 21px;
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.finance-kpi span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.34;
}

.finance-kpi.is-income {
  border-color: rgba(10, 121, 82, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(240, 249, 244, 0.96) 100%);
}

.finance-kpi.is-income::before {
  background: #0a7952;
}

.finance-kpi.is-expense {
  border-color: rgba(197, 58, 50, 0.14);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 249, 247, 0.96) 100%);
}

.finance-kpi.is-expense::before {
  background: #b94a3f;
}

.finance-kpi.is-danger {
  border-color: rgba(139, 24, 46, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 246, 246, 0.96) 100%);
}

.finance-kpi.is-danger::before {
  background: #8b182e;
}

.finance-cash-curve {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid rgba(18, 85, 60, 0.14);
  border-radius: 12px;
  background: #fff;
  color: #1d7ee8;
}

.finance-cash-curve-head {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  color: var(--ink);
}

.finance-cash-curve-head span {
  color: var(--muted);
  font-weight: 850;
}

.finance-cash-curve svg {
  width: 100%;
  height: 180px;
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(29, 126, 232, 0.08), rgba(29, 126, 232, 0.01)),
    repeating-linear-gradient(to right, transparent 0 8%, rgba(18, 85, 60, 0.06) 8% calc(8% + 1px));
}

.finance-cash-chart {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 8px;
}

.finance-cash-yaxis {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 180px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-align: right;
}

.finance-cash-chart svg {
  grid-column: 2;
}

.finance-cash-xaxis {
  grid-column: 2;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.finance-line-actual {
  stroke: #1d7ee8;
  stroke-width: 2.4;
}

.finance-line-forecast {
  stroke: #1d7ee8;
  stroke-width: 2.2;
  stroke-dasharray: 4 3;
}

.finance-zero-line {
  stroke: rgba(197, 58, 50, 0.35);
  stroke-width: 1.2;
  stroke-dasharray: 3 3;
}

.finance-gap-zone {
  fill: rgba(197, 58, 50, 0.08);
}

.finance-gap-point {
  fill: #ef4444;
  stroke: #fff;
  stroke-width: 0.7;
}

.finance-calendar-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0;
}

.finance-calendar-month {
  display: grid;
  grid-template-columns: repeat(7, minmax(130px, 1fr));
  gap: 1px;
  overflow-x: auto;
  border: 1px solid rgba(18, 85, 60, 0.14);
  border-radius: 12px;
  background: rgba(18, 85, 60, 0.12);
}

.finance-calendar-month > strong,
.finance-calendar-month-empty,
.finance-calendar-month-day {
  min-width: 130px;
  background: #fff;
}

.finance-calendar-month > strong {
  padding: 10px 12px;
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
}

.finance-calendar-month-empty {
  min-height: 132px;
  background: rgba(248, 251, 248, 0.8);
}

.finance-calendar-month-day {
  display: grid;
  align-content: start;
  gap: 6px;
  min-height: 132px;
  padding: 10px;
  cursor: pointer;
  transition: background 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.finance-calendar-month-day:hover {
  background: #f8fcf9;
  box-shadow: inset 0 0 0 1px rgba(10, 121, 82, 0.2);
}

.finance-calendar-month-day.is-today {
  background: #edf9f2;
  box-shadow: inset 0 0 0 2px rgba(10, 121, 82, 0.32);
}

.finance-calendar-month-day.is-gap {
  background: #fff1f1;
  box-shadow: inset 0 0 0 2px rgba(197, 58, 50, 0.22);
}

.finance-calendar-month-day em {
  width: fit-content;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(197, 58, 50, 0.1);
  color: var(--red);
  font-style: normal;
  font-size: 11px;
  font-weight: 900;
}

.finance-calendar-operation-stack {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.finance-calendar-operation,
.finance-calendar-more {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  align-items: center;
  width: 100%;
  min-height: 24px;
  padding: 4px 6px;
  border: 1px solid rgba(18, 85, 60, 0.12);
  border-radius: 7px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 11px;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
}

.finance-calendar-operation span,
.finance-calendar-operation b {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.finance-calendar-operation.is-income {
  border-color: rgba(10, 121, 82, 0.24);
  background: rgba(232, 248, 239, 0.9);
}

.finance-calendar-operation.is-expense {
  border-color: rgba(197, 58, 50, 0.22);
  background: rgba(255, 242, 240, 0.92);
}

.finance-calendar-operation.is-neutral {
  border-color: rgba(36, 113, 168, 0.2);
  background: rgba(235, 246, 255, 0.92);
}

.finance-calendar-operation.is-planned,
.finance-day-operation.is-planned {
  border-style: dashed;
  box-shadow: inset 3px 0 0 rgba(224, 143, 42, 0.38);
}

.finance-calendar-operation:hover,
.finance-calendar-more:hover,
.finance-day-add-actions button:hover {
  border-color: rgba(10, 121, 82, 0.4);
  transform: translateY(-1px);
}

.finance-calendar-more {
  display: block;
  color: var(--green);
  font-weight: 850;
}

.finance-day-add-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  margin-top: 2px;
}

.finance-day-add-actions button {
  min-width: 0;
  padding: 5px 6px;
  border: 1px dashed rgba(18, 85, 60, 0.22);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
  transition: border-color 0.16s ease, transform 0.16s ease, background 0.16s ease;
}

.finance-float-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(7, 22, 18, 0.34);
  backdrop-filter: blur(1px);
}

.finance-day-modal {
  position: fixed;
  top: 74px;
  left: 50%;
  z-index: 1002;
  width: min(920px, calc(100vw - 64px));
  max-height: min(72vh, 720px);
  overflow: auto;
  transform: translateX(-50%);
  padding: 20px;
  border: 1px solid rgba(18, 85, 60, 0.16);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(8, 28, 22, 0.22);
}

.finance-day-modal-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(18, 85, 60, 0.1);
}

.finance-day-modal-head h3,
.finance-day-modal-head small {
  margin: 0;
}

.finance-day-modal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0;
}

.finance-day-operation-list {
  display: grid;
  gap: 8px;
}

.finance-day-operation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid rgba(18, 85, 60, 0.12);
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.finance-day-operation:hover {
  border-color: rgba(10, 121, 82, 0.34);
  box-shadow: 0 10px 28px rgba(8, 28, 22, 0.08);
  transform: translateY(-1px);
}

.finance-day-operation small,
.finance-day-operation strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.finance-day-operation.is-income {
  background: rgba(238, 250, 244, 0.9);
}

.finance-day-operation.is-expense {
  background: rgba(255, 246, 245, 0.92);
}

.finance-operation-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1003;
  width: min(540px, 34vw);
  min-width: 420px;
  max-width: calc(100vw - 24px);
  height: 100vh;
  overflow: auto;
  padding: 22px;
  border-left: 1px solid rgba(18, 85, 60, 0.14);
  background: #fff;
  box-shadow: -18px 0 60px rgba(8, 28, 22, 0.18);
}

.finance-drawer-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 18px;
}

.finance-drawer-head h3 {
  margin: 4px 0 0;
  font-size: 24px;
  line-height: 1.15;
}

.finance-drawer-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.finance-drawer-form label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.finance-drawer-form input,
.finance-drawer-form select,
.finance-drawer-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 10px 11px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

.finance-drawer-form textarea {
  min-height: 92px;
  resize: vertical;
}

.finance-drawer-form .wide,
.finance-repeat-box,
.finance-upload-placeholder,
.finance-drawer-actions {
  grid-column: 1 / -1;
}

.finance-drawer-check {
  grid-template-columns: auto 1fr;
  grid-auto-flow: column;
  align-items: center;
  justify-content: start;
  padding: 6px 0;
}

.finance-drawer-check input {
  width: 18px;
  height: 18px;
}

.finance-repeat-box {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(224, 143, 42, 0.22);
  border-radius: 12px;
  background: rgba(255, 247, 235, 0.82);
}

.finance-upload-placeholder {
  display: grid;
  gap: 4px;
  justify-items: center;
  padding: 22px 14px;
  border: 1px dashed rgba(18, 85, 60, 0.2);
  border-radius: 12px;
  background: rgba(248, 251, 248, 0.72);
  color: var(--muted);
  text-align: center;
}

.finance-drawer-actions {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 6px;
}

@media (max-width: 760px) {
  .finance-day-modal {
    top: 24px;
    width: calc(100vw - 24px);
    max-height: calc(100vh - 48px);
    padding: 14px;
  }

  .finance-day-modal-head,
  .finance-day-operation {
    grid-template-columns: 1fr;
  }

  .finance-operation-drawer {
    width: 100vw;
    min-width: 0;
    max-width: 100vw;
    padding: 16px;
  }

  .finance-drawer-form,
  .finance-repeat-box {
    grid-template-columns: 1fr;
  }

  .finance-drawer-actions {
    flex-direction: column;
  }
}

.finance-day-income,
.finance-day-expense {
  display: block;
  padding: 5px 7px;
  border-radius: 7px;
  font-size: 12px;
  font-weight: 900;
}

.finance-day-income {
  background: rgba(34, 197, 94, 0.14);
  color: var(--green);
}

.finance-day-expense {
  background: rgba(239, 68, 68, 0.13);
  color: var(--red);
}

.finance-two-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 14px;
}

.finance-two-columns article,
.finance-ai-note {
  padding: 14px;
  border: 1px solid rgba(18, 85, 60, 0.14);
  border-radius: 12px;
  background: rgba(250, 252, 249, 0.92);
}

.finance-two-columns h3 {
  margin: 0 0 10px;
  font-size: 17px;
}

.finance-bar-list {
  display: grid;
  gap: 9px;
}

.finance-bar-row {
  display: grid;
  grid-template-columns: minmax(130px, 1fr) auto;
  gap: 8px 12px;
  align-items: center;
}

.finance-bar-row span,
.finance-bar-row b {
  font-size: 13px;
}

.finance-bar-row i {
  grid-column: 1 / -1;
  display: block;
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(18, 85, 60, 0.08);
}

.finance-bar-row em {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #1d7ee8;
}

.finance-bar-list.is-income .finance-bar-row em {
  background: var(--green);
}

.finance-bar-list.is-expense .finance-bar-row em {
  background: var(--red);
}

.finance-import-form textarea {
  min-height: 116px;
}

.finance-ai-note {
  margin-bottom: 14px;
  background: #f7fbff;
  border-color: rgba(29, 126, 232, 0.16);
}

.finance-ai-note strong {
  display: block;
  margin-bottom: 5px;
}

.finance-ai-note p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.finance-review-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.finance-review-metrics article {
  padding: 12px;
  border: 1px solid rgba(18, 85, 60, 0.14);
  border-radius: 12px;
  background: #fff;
}

.finance-review-metrics small,
.finance-review-metrics span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.finance-review-metrics strong {
  display: block;
  margin: 4px 0;
  font-size: 24px;
  line-height: 1;
}

.finance-draft-table table {
  min-width: 1180px;
}

.finance-draft-row.is-risky {
  background: #fff8ec;
}

.finance-draft-row.is-approved {
  background: #f1faf5;
}

.finance-draft-row.is-rejected {
  opacity: 0.72;
  background: #f8f8f8;
}

.finance-draft-row td {
  vertical-align: top;
}

.finance-draft-row strong,
.finance-draft-row small {
  display: block;
}

.finance-draft-row small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}

.finance-draft-line-form {
  display: grid;
  gap: 6px;
  min-width: 130px;
}

.finance-draft-line-form input,
.finance-draft-line-form select {
  width: 100%;
  min-height: 34px;
  padding: 7px 8px;
  border: 1px solid rgba(18, 85, 60, 0.16);
  border-radius: 8px;
  background: #fff;
  font: inherit;
}

.finance-settings-layout {
  display: grid;
  grid-template-columns: minmax(320px, 1.3fr) repeat(2, minmax(220px, 1fr));
  gap: 12px;
}

.finance-settings-card {
  padding: 15px;
  border: 1px solid rgba(18, 85, 60, 0.14);
  border-radius: 12px;
  background: #fff;
}

.finance-settings-card.is-main {
  grid-row: span 2;
}

.finance-settings-card h3 {
  margin: 0 0 12px;
  font-size: 17px;
}

.finance-settings-rows {
  display: grid;
  gap: 8px;
}

.finance-settings-rows span {
  display: grid;
  grid-template-columns: minmax(120px, 0.8fr) minmax(140px, 1fr);
  gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(18, 85, 60, 0.08);
}

.finance-settings-rows small {
  color: var(--muted);
  font-weight: 850;
}

.finance-settings-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.finance-settings-tags span {
  padding: 6px 9px;
  border: 1px solid rgba(18, 85, 60, 0.12);
  border-radius: 999px;
  background: rgba(244, 248, 245, 0.9);
  color: var(--green);
  font-size: 12px;
  font-weight: 850;
}

.ghost-button.danger {
  color: var(--red);
  border-color: rgba(197, 58, 50, 0.24);
  background: var(--red-bg);
}

@media (max-width: 720px) {
  .marketing-inbox-facts,
  .marketing-inbox-reply-layout,
  .marketing-denis-action,
  .marketing-video-review-panel,
  .finance-form,
  .finance-form.compact,
  .finance-payment-form-grid,
  .finance-obligation-form-grid,
  .finance-approval-filters,
  .finance-obligation-filters,
  .finance-approval-stats,
  .finance-obligation-stats,
  .finance-approval-row,
  .finance-obligation-row,
  .finance-budget-row,
  .finance-control-grid,
  .finance-goal-ladder,
  .finance-control-split,
  .finance-owner-report-grid,
  .finance-owner-decision-grid,
  .finance-reconciliation-grid,
  .finance-directory-grid,
  .finance-directory-lists,
  .finance-review-metrics,
  .finance-planned-layout,
  .finance-planned-row,
  .finance-weekly-grid,
  .finance-plan-fact-grid,
  .finance-two-columns,
  .finance-filter-form,
  .finance-settings-layout {
    grid-template-columns: 1fr;
  }

  .finance-form .wide {
    grid-column: span 1;
  }

  .finance-payment-form .wide {
    grid-column: span 1;
  }

  .finance-obligation-form .wide {
    grid-column: span 1;
  }

  .finance-payment-form-head {
    display: grid;
  }

  .finance-approval-row,
  .finance-obligation-row {
    grid-template-columns: 1fr;
  }

  .marketing-owner-primary,
  .marketing-factory-priority {
    grid-template-columns: 1fr;
  }

  .marketing-owner-actions,
  .marketing-factory-flow {
    grid-template-columns: 1fr;
  }

  .marketing-thin-table-head {
    display: none;
  }

  .marketing-thin-table-row,
  .marketing-factory-cockpit .mini-list-row,
  .marketing-publishing-owner-panel .mini-list-row,
  .marketing-material-attribution-panel .mini-list-row,
  .marketing-agents-runtime .mini-list-row {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 11px 12px;
  }

  .marketing-thin-table-row > .pill,
  .marketing-factory-cockpit .mini-list-row > .pill,
  .marketing-publishing-owner-panel .mini-list-row > .pill,
  .marketing-material-attribution-panel .mini-list-row > .pill,
  .marketing-agents-runtime .mini-list-row > .pill {
    justify-self: start;
  }

  .marketing-material-progress-summary,
  .marketing-material-owner-summary,
  .marketing-material-stage-head {
    grid-template-columns: 1fr;
  }

  .marketing-material-progress-rail {
    grid-template-columns: 1fr;
  }

  .marketing-material-stage-head i {
    justify-self: start;
  }

  .marketing-factory-gate {
    width: 100%;
  }

  .marketing-dispatch-form {
    grid-template-columns: 1fr;
  }

  .marketing-daily-control-grid {
    grid-template-columns: 1fr;
  }

  .marketing-acceptance-list {
    grid-template-columns: 1fr;
  }

  .main,
  .sidebar {
    padding: 16px;
  }

  .view {
    padding-top: 12px;
  }

  .module-nav {
    width: 100%;
    max-height: 44vh;
    overflow-y: auto;
  }

  .module-floating-dock {
    right: 16px;
    left: 16px;
    grid-template-columns: 1fr;
    max-width: calc(100vw - 32px);
    max-height: 42vh;
    overflow-y: auto;
  }

  .floating-scroll-top {
    left: 16px;
    bottom: 16px;
  }

  .operational-chat-drawer {
    top: auto;
    right: 0;
    bottom: 18px;
    width: calc(100vw - 12px);
    max-width: 390px;
    --dos-chat-tab-width: 58px;
    --dos-chat-tab-closed: 58px;
    --dos-chat-tab-unread: 64px;
    transform: translate(100%, 0);
  }

  .operational-chat-drawer.is-open {
    transform: translate(0, 0);
  }

  .operational-chat-drawer.has-unread:not(.is-open) {
    transform: translate(100%, 0);
  }

  .operational-chat-body,
  .operational-chat-panel {
    min-height: 72vh;
  }

  .operational-chat-layout,
  .operational-chat-composer-grid {
    grid-template-columns: 1fr;
  }

  .operational-chat-sidebar {
    border-right: none;
    border-bottom: 1px solid var(--line);
  }

  .operational-chat-tab {
    top: 50%;
    left: calc(-1 * var(--dos-chat-tab-closed));
    transform: translateY(-50%);
    min-width: var(--dos-chat-tab-width);
    width: var(--dos-chat-tab-width);
    min-height: 132px;
  }

  .operational-chat-tab-label {
    font-size: 12px;
  }

  .operational-chat-composer-actions,
  .operational-chat-thread-head,
  .operational-chat-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .topbar,
  .module-nav,
  .section-head {
    display: grid;
  }

  .nav {
    grid-template-columns: 1fr;
  }

  .nav-subitems {
    grid-template-columns: 1fr;
  }

  .module-actions {
    justify-content: flex-start;
  }

  .return-rail {
    justify-content: flex-start;
    min-width: 0;
  }

  .nav {
    grid-template-columns: 1fr;
  }

  .signal {
    grid-template-columns: 7px minmax(0, 1fr);
  }

  .signal-actions {
    grid-column: 2;
    justify-content: flex-start;
    max-width: none;
  }

  .signal .pill {
    grid-column: 2;
    justify-self: start;
  }

  .control-card-head {
    display: grid;
  }

  .control-metrics {
    grid-template-columns: 1fr;
  }

  .day-close-auto-head {
    display: grid;
  }

  .day-close-auto-grid,
  .daily-report-auto,
  .park-day-close-plan-grid {
    grid-template-columns: 1fr;
  }

  .park-day-close-plan-head {
    display: grid;
  }

  .goals-control-grid,
  .project-task-mini {
    grid-template-columns: 1fr;
  }

  .project-task-mini-actions {
    justify-content: flex-start;
  }

  .vehicle-work-body {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vehicle-work-body > *:nth-child(odd) {
    border-left: 0;
  }

  .vehicle-history-panel summary,
  .vehicle-history-grid {
    grid-template-columns: 1fr;
  }

  .park-live-command-grid,
  .park-live-parks-list,
  .park-live-money-strip {
    grid-template-columns: 1fr;
  }

  .park-live-park-card,
  .park-live-action-list button {
    grid-template-columns: 1fr;
  }

  .park-live-park-actions {
    justify-content: flex-start;
    min-width: 0;
  }
}

.park-operator-report-desk {
  display: grid;
  gap: 14px;
  margin: 14px 0;
  padding: 14px;
  background: #f7fbf8;
  border: 1px solid #cfe1d7;
  border-radius: 12px;
}

.park-stats-grid {
  display: grid;
  gap: 8px;
}

.park-stats-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(140px, 180px) minmax(140px, 180px);
  gap: 8px;
  align-items: end;
  padding: 8px 10px;
  background: #ffffff;
  border: 1px solid #dce8e0;
  border-radius: 8px;
}

.park-stats-row strong {
  color: #09251b;
}

.park-operator-stats-form,
.park-weekly-report-form {
  margin-top: 10px;
}

.compact-list {
  margin-top: 10px;
}

@media (max-width: 900px) {
  .park-stats-row {
    grid-template-columns: 1fr;
  }
}

.team-contact-mini {
  display: grid;
  gap: 4px;
  margin: 8px 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.inline-duty {
  display: block;
  max-width: 320px;
  margin: 0 0 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.inline-duty::before {
  content: "- ";
  color: var(--green);
}

.team-card-controls {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(20, 64, 46, 0.1);
}

.team-card-controls label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.team-card-controls select {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  padding: 9px 10px;
  color: var(--ink);
  font-weight: 750;
}

.team-card-docs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.team-card-actions {
  justify-content: flex-start;
  margin-top: 10px;
}

.team-hr-panel {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 14px;
  align-items: start;
  min-width: 0;
}

.team-hr-card {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fbfdf9;
}

.team-hr-card summary {
  cursor: pointer;
  font-weight: 850;
}

.team-hr-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.team-hr-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  padding: 10px;
  border: 1px solid rgba(20, 64, 46, 0.1);
  border-radius: 12px;
  background: #fff;
}

.team-hr-row small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  line-height: 1.35;
}

.knowledge-source-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 10px 0 12px;
}

.hr-source-grid,
.team-role-grid,
.team-state-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.hr-source-card,
.team-role-card,
.team-state-card,
.team-school-ladder {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fbfdf9;
  box-shadow: 0 10px 28px rgba(16, 40, 30, 0.04);
}

.team-school-ladder {
  margin-top: 14px;
}

.team-school-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.team-school-steps span {
  padding: 8px 10px;
  border: 1px solid rgba(20, 64, 46, 0.12);
  border-radius: 999px;
  background: #f4f8f3;
  color: #17392b;
  font-size: 12px;
  font-weight: 750;
}

.team-role-columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px;
  margin-top: 10px;
}

.hr-source-card ul,
.team-role-card ul,
.team-state-card ul {
  margin: 10px 0 0;
  padding-left: 18px;
  color: var(--muted);
  line-height: 1.45;
}

.hr-source-card small,
.team-role-card small,
.team-state-card small {
  color: var(--muted);
  font-weight: 750;
}

.team-state-levels {
  display: grid;
  gap: 8px;
  margin: 12px 0;
}

.state-level {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid rgba(20, 64, 46, 0.1);
  border-radius: 12px;
}

.state-level.is-growth {
  border-color: rgba(0, 128, 85, 0.22);
  background: #eefaf3;
}

.state-level.is-warning {
  border-color: rgba(202, 120, 0, 0.25);
  background: #fff7e8;
}

.state-level.is-crisis {
  border-color: rgba(200, 50, 40, 0.25);
  background: #fff0ee;
}

.vehicle-registry-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin: 14px 0 18px;
  padding: 14px 16px;
  border: 1px solid rgba(25, 85, 59, 0.14);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
}

.vehicle-registry-toolbar div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.vehicle-registry-toolbar strong {
  font-size: 16px;
}

.vehicle-registry-toolbar span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.vehicle-work-grid-registry {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.vehicle-registry-card {
  background: #fff;
  border: 1px solid rgba(25, 85, 59, 0.18);
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 10px 24px rgba(16, 60, 44, 0.06);
}

.vehicle-registry-card.is-critical {
  background: linear-gradient(180deg, #fff 0%, #fff8f7 100%);
  border-color: rgba(197, 57, 48, 0.35);
}

.vehicle-registry-card.is-warning {
  background: linear-gradient(180deg, #fff 0%, #fffaf0 100%);
  border-color: rgba(198, 137, 40, 0.34);
}

.vehicle-registry-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 14px;
}

.vehicle-registry-title small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 6px;
}

.vehicle-registry-title-button {
  padding: 0;
  border: 0;
  background: transparent;
  color: #071b14;
  font-size: 22px;
  line-height: 1.15;
  font-weight: 800;
  text-align: left;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  cursor: pointer;
}

.vehicle-registry-title-button:hover {
  color: #006b43;
}

.vehicle-registry-status {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  align-items: center;
}

.vehicle-registry-mini-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.vehicle-registry-mini-action {
  font-size: 12px;
  padding: 8px 10px;
  border-radius: 999px;
  background: #fff;
  color: #006b43;
  border: 1px solid rgba(0, 107, 67, 0.22);
  cursor: pointer;
}

.vehicle-registry-mini-action:hover {
  background: #f0faf5;
  border-color: rgba(0, 107, 67, 0.38);
}

.vehicle-registry-mini-action.is-danger {
  color: #b7332d;
  border-color: rgba(183, 51, 45, 0.28);
}

.vehicle-registry-body {
  display: grid;
  gap: 12px;
}

.vehicle-registry-driver,
.vehicle-registry-fact {
  border: 1px solid rgba(25, 85, 59, 0.14);
  border-radius: 14px;
  background: #fbfdfb;
  padding: 12px;
  text-align: left;
  cursor: pointer;
  transition: background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.vehicle-registry-driver:hover,
.vehicle-registry-fact:hover {
  background: #f1fbf6;
  border-color: rgba(0, 107, 67, 0.34);
  box-shadow: 0 8px 18px rgba(13, 78, 54, 0.08);
  transform: translateY(-1px);
}

.vehicle-registry-driver small,
.vehicle-registry-fact small,
.vehicle-registry-docs small,
.vehicle-registry-note small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 5px;
}

.vehicle-registry-driver strong,
.vehicle-registry-fact strong,
.vehicle-registry-docs strong {
  display: block;
  color: #071b14;
  font-size: 15px;
  line-height: 1.25;
}

.vehicle-registry-driver span {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
}

.vehicle-registry-driver.is-empty {
  background: #fffaf0;
  border-color: rgba(198, 137, 40, 0.28);
}

.vehicle-registry-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.vehicle-registry-fact.is-ok {
  background: #f3fbf6;
}

.vehicle-registry-fact.is-warning {
  background: #fff7e8;
  border-color: rgba(198, 137, 40, 0.3);
}

.vehicle-registry-fact.is-critical {
  background: #fff2f0;
  border-color: rgba(197, 57, 48, 0.32);
}

.vehicle-registry-docs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.vehicle-registry-docs > div {
  border: 1px solid rgba(25, 85, 59, 0.12);
  border-radius: 12px;
  padding: 11px;
  background: #fff;
  min-width: 0;
}

.vehicle-registry-note {
  border: 1px solid rgba(25, 85, 59, 0.12);
  border-radius: 12px;
  padding: 12px;
  background: #fff;
  color: #30453d;
}

.vehicle-registry-history {
  margin-top: 0;
  border-radius: 12px;
  background: #fff;
}

@media (max-width: 1180px) {
  .vehicle-registry-facts,
  .vehicle-registry-docs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .vehicle-registry-toolbar,
  .vehicle-registry-head {
    flex-direction: column;
  }

  .vehicle-registry-status {
    justify-content: flex-start;
  }

  .vehicle-registry-facts,
  .vehicle-registry-docs {
    grid-template-columns: 1fr;
  }

  .vehicle-registry-title-button {
    font-size: 19px;
  }
}
/* DOS RENT fleet registry: car-first working view */
.vehicle-registry-toolbar-main {
  align-items: center;
  gap: 16px;
}

.vehicle-registry-toolbar-copy {
  max-width: 560px;
  color: #52645c;
  line-height: 1.45;
}

.vehicle-registry-toolbar-actions {
  margin-left: auto;
  display: flex;
  gap: 8px;
  align-items: center;
}

.vehicle-registry-card {
  background: #ffffff;
  border-color: #cfe1d8;
  box-shadow: 0 10px 28px rgba(14, 54, 38, 0.06);
}

.vehicle-registry-card.is-critical {
  background: linear-gradient(180deg, #fffafa 0%, #fffdfb 100%);
  border-color: #eeb5ad;
}

.vehicle-registry-card.is-warning {
  background: linear-gradient(180deg, #fffaf0 0%, #fffef8 100%);
  border-color: #e8c887;
}

.vehicle-registry-head {
  align-items: flex-start;
  gap: 14px;
}

.vehicle-registry-title small {
  display: block;
  margin-bottom: 5px;
  color: #5d6b63;
  font-size: 11px;
  line-height: 1.35;
}

.vehicle-registry-title-button {
  display: inline;
  padding: 0;
  border: 0;
  background: transparent;
  color: #062f21;
  font-size: 20px;
  line-height: 1.14;
  text-align: left;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.vehicle-registry-title-button:hover,
.vehicle-registry-title-button:focus-visible {
  color: #006f45;
  text-decoration-thickness: 2px;
}

.vehicle-registry-status {
  align-items: flex-end;
  gap: 6px;
}

.vehicle-registry-status-hint {
  color: #6d7c74;
  font-size: 11px;
  font-weight: 700;
}

.vehicle-registry-driver {
  width: 100%;
  text-align: left;
  background: #f8fbf8;
  border: 1px solid #cfe1d8;
  border-radius: 10px;
  padding: 12px 14px;
  transition: background 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
}

.vehicle-registry-driver:hover,
.vehicle-registry-driver:focus-visible {
  background: #ffffff;
  border-color: #0b7a4d;
  transform: translateY(-1px);
}

.vehicle-registry-driver small,
.vehicle-registry-fact small,
.vehicle-registry-docs small,
.vehicle-registry-note small {
  color: #5c6b63;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.vehicle-registry-driver strong {
  display: block;
  margin-top: 4px;
  color: #061d17;
  font-size: 17px;
  line-height: 1.25;
}

.vehicle-registry-driver span {
  display: block;
  margin-top: 4px;
  color: #506059;
  font-size: 12px;
  line-height: 1.35;
}

.vehicle-registry-driver.is-empty {
  background: #fffaf0;
  border-color: #e9c680;
}

.vehicle-registry-facts {
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 8px;
}

.vehicle-registry-fact {
  min-height: 72px;
  padding: 12px;
  background: #fbfdfa;
  border: 1px solid #d7e3dc;
  border-radius: 10px;
  text-align: left;
  transition: background 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
}

.vehicle-registry-fact:hover,
.vehicle-registry-fact:focus-visible {
  background: #ffffff;
  border-color: #0b7a4d;
  transform: translateY(-1px);
}

.vehicle-registry-fact strong {
  display: block;
  margin-top: 5px;
  color: #061d17;
  font-size: 14px;
  line-height: 1.32;
}

.vehicle-registry-docs {
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  gap: 8px;
}

.vehicle-registry-docs > div {
  min-height: 70px;
  padding: 10px 12px;
  background: #f7faf7;
  border: 1px solid #d8e4dd;
  border-radius: 10px;
}

.vehicle-registry-docs strong,
.vehicle-registry-docs span {
  display: block;
}

.vehicle-registry-docs strong {
  margin-top: 5px;
  color: #061d17;
  font-size: 14px;
  line-height: 1.3;
}

.vehicle-registry-docs span {
  margin-top: 3px;
  color: #5b6a62;
  font-size: 12px;
  line-height: 1.35;
}

.vehicle-registry-note {
  padding: 12px 14px;
  background: #fbfdfa;
  border: 1px solid #d7e3dc;
  border-radius: 10px;
}

.vehicle-registry-note span {
  display: block;
  margin-top: 5px;
  color: #31413a;
  line-height: 1.4;
}

.vehicle-card-crm-panel {
  display: grid;
  gap: 12px;
  padding: 14px;
  background: #f8fbf9;
  border: 1px solid #d6e4dd;
  border-radius: 12px;
}

.vehicle-card-crm-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.vehicle-card-crm-head strong {
  display: block;
  color: #061d17;
  font-size: 15px;
}

.vehicle-card-crm-head p {
  margin: 4px 0 0;
  color: #5b6a62;
  font-size: 12px;
  line-height: 1.4;
}

.vehicle-card-form-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 2px 2px -4px;
}

.vehicle-card-form-title strong {
  color: #061d17;
  font-size: 13px;
}

.vehicle-card-form-title span {
  max-width: 760px;
  color: #607067;
  font-size: 12px;
  line-height: 1.35;
  text-align: right;
}

.vehicle-card-mini-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 10px;
  padding: 12px;
  background: #ffffff;
  border: 1px solid rgba(25, 85, 59, 0.12);
  border-radius: 10px;
}

.vehicle-card-mini-form label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: #5b6a62;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.vehicle-card-mini-form input,
.vehicle-card-mini-form select {
  min-width: 0;
  min-height: 36px;
  padding: 8px 10px;
  color: #071b14;
  font-size: 13px;
  font-weight: 750;
  text-transform: none;
  background: #fbfdfb;
  border: 1px solid #d4e2da;
  border-radius: 8px;
}

.vehicle-card-mini-form input:focus,
.vehicle-card-mini-form select:focus {
  outline: 2px solid rgba(31, 122, 77, 0.16);
  border-color: rgba(31, 122, 77, 0.42);
  background: #ffffff;
}

.vehicle-card-mini-form .form-wide {
  grid-column: 1 / -1;
}

.vehicle-card-driver-form {
  grid-template-columns: minmax(240px, 1fr) auto;
  align-items: end;
}

.vehicle-card-new-driver-form {
  grid-template-columns: repeat(3, minmax(160px, 1fr)) auto;
  align-items: end;
}

.vehicle-registry-card .vehicle-registry-mini-actions {
  display: none;
}

@media (max-width: 1100px) {
  .vehicle-registry-facts,
  .vehicle-registry-docs,
  .vehicle-card-mini-form,
  .vehicle-card-driver-form,
  .vehicle-card-new-driver-form {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }
}

@media (max-width: 720px) {
  .vehicle-registry-toolbar-main {
    align-items: stretch;
  }

  .vehicle-registry-toolbar-actions {
    margin-left: 0;
  }

  .vehicle-card-crm-head {
    flex-direction: column;
  }

  .vehicle-card-form-title {
    display: grid;
  }

  .vehicle-card-form-title span {
    text-align: left;
  }

  .vehicle-registry-facts,
  .vehicle-registry-docs,
  .vehicle-card-mini-form,
  .vehicle-card-driver-form,
  .vehicle-card-new-driver-form {
    grid-template-columns: 1fr;
  }
}


/* Marketing material stage hierarchy: opened stage is a workspace, closed stages are compact rows. */
.marketing-material-stage-deck {
  gap: 8px;
}

.marketing-material-stage-card {
  background: #fbfdfb;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease, transform 0.16s ease;
}

.marketing-material-stage-card:not(.is-open) {
  border-color: rgba(18, 65, 49, 0.12);
  box-shadow: none;
}

.marketing-material-stage-card:not(.is-open):hover {
  background: #f7fbf8;
  border-color: rgba(31, 122, 77, 0.28);
}

.marketing-material-stage-card.is-open {
  position: relative;
  z-index: 1;
  margin: 6px 0 10px;
  background: #ffffff;
  border-color: rgba(31, 122, 77, 0.34);
  border-left-width: 6px;
  box-shadow: 0 18px 40px rgba(15, 50, 36, 0.12);
}

.marketing-material-stage-card.is-open.is-current {
  border-color: rgba(205, 124, 31, 0.48);
}

.marketing-material-stage-card.is-open.is-blocked {
  border-color: rgba(203, 55, 49, 0.44);
}

.marketing-material-stage-card:not(.is-open) .marketing-material-stage-head {
  min-height: 48px;
  padding: 10px 12px;
  background: #fbfdfb;
}

.marketing-material-stage-card.is-open .marketing-material-stage-head {
  padding: 15px 16px;
  background: linear-gradient(90deg, #f0fbf5, #ffffff);
  border-bottom: 1px solid rgba(31, 122, 77, 0.14);
}

.marketing-material-stage-card.is-open.is-current .marketing-material-stage-head {
  background: linear-gradient(90deg, #fff7e8, #ffffff);
}

.marketing-material-stage-card.is-open.is-blocked .marketing-material-stage-head {
  background: linear-gradient(90deg, #fff3f1, #ffffff);
}

.marketing-material-stage-card.is-open .marketing-material-stage-head span {
  color: var(--green);
}

.marketing-material-stage-card.is-open .marketing-material-stage-head strong {
  font-size: 16px;
}

.marketing-material-stage-card.is-open .marketing-material-stage-head i {
  color: #ffffff;
  border-color: var(--green);
  background: var(--green);
}

.marketing-material-stage-card:not(.is-open) .marketing-material-stage-head i {
  color: var(--green-dark);
  background: #ffffff;
}

.marketing-material-stage-card.is-open .marketing-material-stage-body {
  padding: 18px;
  background: #ffffff;
  border-top: 0;
}

.is-unverified-report td {
  background: #fff8f2;
  border-top: 1px solid rgba(203, 55, 49, 0.14);
  border-bottom: 1px solid rgba(203, 55, 49, 0.1);
}

.is-unverified-report td:first-child {
  border-left: 3px solid rgba(203, 55, 49, 0.55);
}

.marketing-owner-review-desk {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid rgba(28, 105, 74, 0.18);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 12px 32px rgba(15, 50, 36, 0.08);
}

.marketing-owner-review-layout {
  display: grid;
  grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.marketing-owner-review-list {
  display: grid;
  gap: 8px;
}

.marketing-owner-review-item {
  width: 100%;
  display: grid;
  grid-template-columns: 30px 1fr auto;
  gap: 8px 10px;
  align-items: center;
  text-align: left;
  padding: 12px;
  border: 1px solid rgba(18, 65, 49, 0.14);
  border-radius: 12px;
  background: #fbfdfb;
  color: var(--ink);
  cursor: pointer;
}

.marketing-owner-review-item span {
  grid-row: 1 / span 2;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #eef8f1;
  color: var(--green-dark);
  font-weight: 800;
}

.marketing-owner-review-item strong {
  font-size: 14px;
  line-height: 1.25;
}

.marketing-owner-review-item small {
  color: var(--muted);
  line-height: 1.25;
}

.marketing-owner-review-item em {
  grid-row: 1 / span 2;
  font-style: normal;
  justify-self: end;
}

.marketing-owner-review-item.is-active {
  border-color: rgba(31, 122, 77, 0.55);
  background: #eefaf3;
  box-shadow: inset 4px 0 0 var(--green);
}

.marketing-owner-review-preview {
  min-width: 0;
  border: 1px solid rgba(18, 65, 49, 0.12);
  border-radius: 14px;
  background: #ffffff;
  padding: 14px;
}

.marketing-owner-review-preview-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(18, 65, 49, 0.12);
}

.marketing-owner-review-preview-head h4 {
  margin: 2px 0 4px;
  font-size: 18px;
}

.marketing-owner-simple-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(18, 65, 49, 0.12);
}
.marketing-owner-next-step {
  display: grid;
  gap: 4px;
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(31, 122, 77, 0.22);
  background: #f3fbf6;
}

.marketing-owner-next-step.has-blockers {
  border-color: rgba(203, 55, 49, 0.24);
  background: #fff6f4;
}

.marketing-owner-next-step strong {
  font-size: 12px;
  text-transform: uppercase;
  color: var(--muted-strong);
}

.marketing-owner-next-step span {
  font-weight: 700;
  line-height: 1.35;
}

.marketing-owner-review-tech {
  margin-top: 12px;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 12px;
  padding: 10px 12px;
  background: #fbfdfb;
}

.marketing-owner-review-tech summary {
  cursor: pointer;
  font-weight: 800;
  color: var(--green-dark);
}
.marketing-owner-review-tech-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.marketing-owner-review-tech-grid div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(18, 65, 49, 0.1);
  border-radius: 10px;
  background: #ffffff;
}

.marketing-owner-review-tech-grid small {
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
}

.marketing-owner-review-tech-grid strong {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 13px;
}

@media (max-width: 1100px) {
  .marketing-owner-review-layout {
    grid-template-columns: 1fr;
  }
}


.park-yandex-form {
  display: grid;
  gap: 14px;
}

.park-yandex-step {
  padding: 14px;
  background: #f9fbfa;
  border: 1px solid #d9e7df;
  border-radius: 10px;
}

.park-yandex-step-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 12px;
}

.park-yandex-step-head > span {
  display: inline-flex;
  min-width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
  background: #08764f;
  border-radius: 999px;
}

.park-yandex-step-head strong {
  display: block;
  color: #071b14;
  font-size: 16px;
}

.park-yandex-step-head p {
  margin: 3px 0 0;
  color: #56675f;
  font-size: 13px;
}

.park-yandex-fields {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 10px;
}

.park-tariff-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.park-tariff-option {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  flex-direction: row !important;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  background: #ffffff;
  border: 1px solid #d5e4dc;
  border-radius: 999px;
}

.park-tariff-option input {
  width: auto;
}

@media (max-width: 1200px) {
  .park-yandex-fields {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }
}

@media (max-width: 720px) {
  .park-yandex-fields {
    grid-template-columns: 1fr;
  }
}


/* DOS PARK registration: Yandex Pro-like operator palette */
#park-driver-registration.park-registration-section {
  background: #f5f5f3;
  border-color: #e6e3dc;
}

#park-driver-registration .park-registration-form {
  background: #ffffff;
  border-color: #e2ded5;
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(20, 20, 20, 0.05);
}

#park-driver-registration .park-yandex-step {
  background: #ffffff;
  border: 1px solid #e7e3db;
  border-radius: 8px;
  box-shadow: none;
}

#park-driver-registration .park-yandex-step-head > span {
  color: #111111;
  background: #ffdb3b;
  border: 1px solid #e5c42f;
}

#park-driver-registration .park-yandex-step-head strong {
  color: #111111;
  font-weight: 800;
}

#park-driver-registration .park-yandex-step-head p,
#park-driver-registration .park-registration-file-note,
#park-driver-registration .park-registration-backend-status {
  color: #6f6f6f;
}

#park-driver-registration .park-registration-form input,
#park-driver-registration .park-registration-form select,
#park-driver-registration .park-registration-form textarea {
  color: #111111;
  background: #eeeeee;
  border: 1px solid #eeeeee;
  border-radius: 12px;
  box-shadow: none;
}

#park-driver-registration .park-registration-form textarea {
  background: #f1f1f1;
}

#park-driver-registration .park-registration-form input:focus,
#park-driver-registration .park-registration-form select:focus,
#park-driver-registration .park-registration-form textarea:focus {
  background: #ffffff;
  border-color: #ffcc00;
  outline: 3px solid rgba(255, 219, 59, 0.28);
}

#park-driver-registration .park-registration-form label {
  color: #1d1d1d;
}

#park-driver-registration .park-registration-form button[type="submit"] {
  color: #111111;
  background: #ffdb3b;
  border: 1px solid #ffdb3b;
  border-radius: 12px;
  box-shadow: none;
}

#park-driver-registration .park-registration-form button[type="submit"]:not(:disabled):hover,
#park-driver-registration .park-registration-form button[type="submit"]:not(:disabled):focus-visible {
  color: #111111;
  background: #ffd21f;
  border-color: #ffd21f;
  box-shadow: 0 8px 18px rgba(255, 204, 0, 0.22);
}

#park-driver-registration .ghost-button,
#park-driver-registration .ghost-button.primary-soft {
  color: #111111;
  background: #ffffff;
  border: 1px solid #dedede;
  border-radius: 12px;
  box-shadow: none;
}

#park-driver-registration .ghost-button:not(:disabled):hover,
#park-driver-registration .ghost-button.primary-soft:not(:disabled):hover {
  color: #111111;
  background: #f2f2f2;
  border-color: #cfcfcf;
  box-shadow: none;
}

#park-driver-registration .park-tariff-option {
  color: #111111;
  background: #eeeeee;
  border-color: #eeeeee;
  border-radius: 12px;
}

#park-driver-registration .park-tariff-option:has(input:checked) {
  background: #ffffff7a;
  border-color: #ffdb3b;
  box-shadow: inset 0 0 0 1px #ffdb3b;
}

#park-driver-registration .park-registration-check {
  color: #111111;
  background: transparent;
}

#park-driver-registration .park-registration-card {
  background: #ffffff;
  border-color: #e2ded5;
  border-radius: 10px;
  box-shadow: none;
}

.park-source-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.park-source-chip {
  width: auto;
  min-width: 0;
  padding: 8px 12px;
  color: #111111;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.1;
  background: #ffffff;
  border: 1px solid #d8e5de;
  border-radius: 12px;
  box-shadow: none;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.park-source-chip:hover,
.park-source-chip:focus-visible,
.park-source-chip.is-active {
  color: #111111;
  background: #ffdb3b;
  border-color: #ffdb3b;
  box-shadow: 0 6px 14px rgba(255, 204, 0, 0.18);
}

.park-source-hint {
  margin: -2px 0 0;
  color: #6f6f6f;
  font-size: 12px;
  line-height: 1.35;
}

#park-driver-registration .park-source-chip {
  background: #eeeeee;
  border-color: #eeeeee;
  border-radius: 12px;
}

#park-driver-registration .park-source-chip:hover,
#park-driver-registration .park-source-chip:focus-visible,
#park-driver-registration .park-source-chip.is-active {
  background: #ffdb3b;
  border-color: #ffdb3b;
  box-shadow: 0 6px 14px rgba(255, 204, 0, 0.18);
}

.park-operator-growth-desk {
  display: grid;
  gap: 12px;
  padding: 12px;
  background: #ffffff;
  border: 1px solid #dce8e0;
  border-radius: 10px;
}

.park-growth-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.park-growth-head strong {
  display: block;
  color: #09251b;
  font-size: 16px;
}

.park-growth-head p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.park-growth-metrics,
.park-growth-units {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 10px;
}

.park-growth-metrics article,
.park-growth-unit {
  display: grid;
  gap: 4px;
  padding: 10px;
  background: #f9fbfa;
  border: 1px solid #dce8e0;
  border-radius: 8px;
}

.park-growth-metrics article.is-warning,
.park-growth-unit.is-warning {
  background: #fff7e7;
  border-color: #f2c66b;
}

.park-growth-metrics article.is-ok,
.park-growth-unit.is-ok {
  background: #effaf4;
  border-color: #bfe5cd;
}

.park-growth-metrics small,
.park-growth-metrics p,
.park-growth-unit span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.park-growth-metrics strong {
  color: #09251b;
  font-size: 20px;
}

.park-growth-delta {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 2px 7px;
  color: #617169;
  font-size: 12px;
  font-weight: 900;
  background: #eef4f0;
  border-radius: 999px;
}

.park-growth-delta.is-positive {
  color: #066344;
  background: #dff4e8;
}

.park-growth-delta.is-negative {
  color: #9a5c00;
  background: #ffe6ae;
}

.park-growth-focus {
  display: grid;
  gap: 6px;
}

.park-growth-focus span {
  padding: 8px 10px;
  color: #1d1d1d;
  font-size: 13px;
  line-height: 1.35;
  background: #fff8e5;
  border: 1px solid #f3d186;
  border-radius: 8px;
}

.park-growth-history summary {
  cursor: pointer;
  color: #006b49;
  font-weight: 900;
}

.compact-table-wrap {
  margin-top: 8px;
}

.park-growth-history .compact-table th,
.park-growth-history .compact-table td {
  padding: 7px 8px;
  font-size: 12px;
}

.park-growth-history .compact-table tr.is-warning td {
  background: #fff7e7;
}

.park-growth-history .compact-table tr.is-ok td {
  background: #effaf4;
}

@media (max-width: 1100px) {
  .park-growth-metrics,
  .park-growth-units {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }
}

@media (max-width: 720px) {
  .park-growth-head {
    display: grid;
  }
  .park-growth-metrics,
  .park-growth-units {
    grid-template-columns: 1fr;
  }
}



