/* OSOM-O domain layer: CoreUI components and tokens remain the presentation baseline. */
:root {
  --osomo-radius: 0.5rem;
  /* Shared semantic surfaces for the OSOM-O workspace.  They deliberately
     derive from CoreUI tokens, so a new feature can carry contrast in light
     mode without introducing another palette. */
  --osomo-surface-border: color-mix(in srgb, var(--cui-primary) 17%, var(--cui-border-color));
  --osomo-surface-subtle: color-mix(in srgb, var(--cui-primary) 4%, var(--cui-tertiary-bg));
  --osomo-surface-raised: var(--cui-card-bg);
  --osomo-surface-shadow: 0 0.12rem 0.55rem color-mix(in srgb, var(--cui-emphasis-color) 7%, transparent);
}

.osomo-runtime-version {
  color: var(--cui-secondary-color);
  font-size: 0.68rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.osomo-runtime-version.is-prod { font-weight: 650; }
.osomo-runtime-version.is-dev { opacity: 0.78; }
.osomo-runtime-version.is-unverified { color: var(--cui-danger); }

[data-coreui-theme="dark"] {
  --osomo-surface-border: color-mix(in srgb, var(--cui-primary) 12%, var(--cui-border-color));
  --osomo-surface-subtle: color-mix(in srgb, var(--cui-primary) 6%, var(--cui-tertiary-bg));
  --osomo-surface-shadow: 0 0.14rem 0.62rem color-mix(in srgb, var(--cui-black) 30%, transparent);
}

html[dir="rtl"] body {
  text-align: right;
}
html[dir="rtl"] .sidebar {
  right: 0;
  left: auto;
}
/* CoreUI already reserves sidebar space through logical wrapper padding.
   Adding a physical RTL margin here would reserve the same space twice. */
html[dir="rtl"] .wrapper {
  margin: 0;
}
html[dir="rtl"] .ms-auto {
  margin-right: auto !important;
  margin-left: 0 !important;
}
html[dir="rtl"] .me-auto {
  margin-left: auto !important;
  margin-right: 0 !important;
}
html[dir="rtl"] .me-2 {
  margin-left: 0.5rem !important;
  margin-right: 0 !important;
}
html[dir="rtl"] .ms-2 {
  margin-right: 0.5rem !important;
  margin-left: 0 !important;
}
html[dir="rtl"] .me-3 {
  margin-left: 1rem !important;
  margin-right: 0 !important;
}
html[dir="rtl"] .ms-3 {
  margin-right: 1rem !important;
  margin-left: 0 !important;
}

.osomo-brand {
  font-weight: 750;
  letter-spacing: 0.08em;
  color: var(--cui-sidebar-brand-color);
}
.osomo-brand small {
  display: block;
  color: var(--cui-sidebar-nav-link-color);
  font-size: 0.66rem;
  letter-spacing: 0.16em;
}
.osomo-brand > .osomo-runtime-version {
  display: block;
  font-size: 0.60rem;
  letter-spacing: 0.06em;
  line-height: 1.3;
  margin-top: 0.28rem;
}
.osomo-toolbar-menu {
  min-width: 18rem;
}
.osomo-notification-button {
  position: relative;
}
.osomo-notification-indicator {
  background: var(--cui-danger);
  border: 2px solid var(--cui-body-bg);
  border-radius: 50%;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--cui-danger) 30%, transparent), 0 0.14rem 0.32rem color-mix(in srgb, var(--cui-danger) 36%, transparent);
  color: var(--cui-white);
  display: grid;
  font-size: 0.58rem;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  height: 1.16rem;
  inset-inline-end: 0.02rem;
  line-height: 1;
  min-width: 1.16rem;
  padding: 0 0.12rem;
  place-items: center;
  position: absolute;
  top: 0.08rem;
  z-index: 1;
}
.osomo-notification-menu {
  --cui-dropdown-bg: var(--cui-body-bg);
  background-color: var(--cui-body-bg) !important;
  border-color: var(--osomo-surface-border);
  box-shadow: 0 0.8rem 1.9rem color-mix(in srgb, var(--cui-emphasis-color) 20%, transparent);
  min-width: min(23rem, calc(100vw - 2rem));
  max-height: min(32rem, calc(100vh - 5rem));
  opacity: 1;
  overflow-y: auto;
}
.osomo-notification-menu .dropdown-header {
  background: var(--cui-body-bg);
  border-bottom: 1px solid var(--cui-border-color);
  color: var(--cui-emphasis-color);
  font-weight: 700;
  padding: 0.75rem 0.9rem;
}
.osomo-notification-row {
  align-items: flex-start;
  background: var(--cui-body-bg);
  border-bottom: 1px solid var(--cui-border-color);
  display: flex;
  gap: 0.8rem;
  justify-content: space-between;
  padding: 0.72rem 0.9rem;
  white-space: normal;
}
.osomo-notification-row:last-child { border-bottom: 0; }
.osomo-notification-row:hover { background: var(--osomo-surface-subtle); }
.osomo-notification-row strong { color: var(--cui-emphasis-color); font-size: 0.82rem; }
.osomo-notification-link-icon { color: var(--cui-secondary-color); flex: 0 0 auto; }
.osomo-notification-section + .osomo-notification-section { border-top: 0.4rem solid var(--cui-tertiary-bg); }
.osomo-notification-section-head { align-items: center; background: var(--cui-tertiary-bg); color: var(--cui-emphasis-color); display: flex; font-size: 0.73rem; font-weight: 750; justify-content: space-between; padding: 0.5rem 0.9rem; text-decoration: none; }
.osomo-notification-section-head:hover { color: var(--cui-primary); }
.osomo-notification-section-head b { border-radius: 999px; font-size: 0.66rem; line-height: 1; padding: 0.24rem 0.42rem; }
.osomo-notification-section-head.is-danger b { background: color-mix(in srgb, var(--cui-danger) 16%, transparent); color: var(--cui-danger); }
.osomo-notification-section-head.is-warning b { background: color-mix(in srgb, var(--cui-warning) 18%, transparent); color: var(--cui-warning); }
.osomo-notification-section-head.is-info b { background: color-mix(in srgb, var(--cui-info) 16%, transparent); color: var(--cui-info); }
.osomo-notification-row { border-inline-start: 3px solid transparent; }
.osomo-notification-row.is-danger { border-inline-start-color: var(--cui-danger); }
.osomo-notification-row.is-warning { border-inline-start-color: var(--cui-warning); }
.osomo-notification-row.is-info { border-inline-start-color: var(--cui-info); }
.osomo-notification-more { color: var(--cui-primary); display: block; font-size: 0.72rem; font-weight: 700; padding: 0.52rem 0.9rem 0.7rem; text-decoration: none; }
.osomo-notification-more:hover { text-decoration: underline; }
.osomo-today-button {
  position: relative;
}
.osomo-today-indicator {
  align-items: center;
  background: var(--cui-info);
  border: 2px solid var(--cui-body-bg);
  border-radius: 999px;
  box-shadow: 0 0.12rem 0.32rem color-mix(in srgb, var(--cui-info) 34%, transparent);
  color: var(--cui-white);
  display: inline-flex;
  font-size: 0.58rem;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  height: 1.16rem;
  inset-inline-end: 0.02rem;
  justify-content: center;
  line-height: 1;
  min-width: 1.16rem;
  padding: 0 0.12rem;
  position: absolute;
  top: 0.08rem;
  z-index: 1;
}
.osomo-today-menu {
  --cui-dropdown-bg: var(--cui-body-bg);
  background-color: var(--cui-body-bg) !important;
  border-color: var(--osomo-surface-border);
  box-shadow: 0 0.8rem 1.9rem color-mix(in srgb, var(--cui-emphasis-color) 20%, transparent);
  max-height: min(32rem, calc(100vh - 5rem));
  min-width: min(24rem, calc(100vw - 2rem));
  opacity: 1;
  overflow-y: auto;
}
.osomo-today-menu .dropdown-header {
  background: var(--cui-body-bg);
  border-bottom: 1px solid var(--cui-border-color);
  color: var(--cui-emphasis-color);
  padding: 0.7rem 0.9rem;
}
.osomo-today-menu .dropdown-header strong { font-size: 0.88rem; }
.osomo-today-date { color: var(--cui-secondary-color); font-size: 0.7rem; font-weight: 400; margin-top: 0.08rem; }
.osomo-today-row {
  align-items: center;
  background: var(--cui-body-bg);
  border-bottom: 1px solid var(--cui-border-color);
  border-inline-start: 3px solid var(--cui-info);
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  padding: 0.72rem 0.9rem;
  white-space: normal;
}
.osomo-today-row:last-child { border-bottom: 0; }
.osomo-today-row:hover { background: var(--osomo-surface-subtle); }
.osomo-today-row.is-event { border-inline-start-color: var(--cui-info); }
.osomo-today-row.is-task { border-inline-start-color: var(--cui-warning); }
.osomo-today-row > span:first-child { display: grid; gap: 0.14rem; min-width: 0; }
.osomo-today-row strong { color: var(--cui-emphasis-color); font-size: 0.82rem; }
.osomo-today-row small { color: var(--cui-secondary-color); font-size: 0.72rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.osomo-today-kind {
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: 999px;
  color: var(--cui-secondary-color);
  flex: 0 0 auto;
  font-size: 0.64rem;
  font-weight: 700;
  line-height: 1;
  padding: 0.28rem 0.42rem;
}
.osomo-today-row.is-event .osomo-today-kind { border-color: var(--cui-info); color: var(--cui-info); }
.osomo-today-row.is-task .osomo-today-kind { border-color: var(--cui-warning); color: var(--cui-warning-text-emphasis, var(--cui-emphasis-color)); }
.osomo-today-row .icon { color: var(--cui-secondary-color); flex: 0 0 auto; }
.osomo-user-avatar {
  align-items: center;
  background: var(--cui-primary);
  color: var(--cui-white);
  display: inline-flex;
  font-size: 0.8rem;
  font-weight: 700;
  justify-content: center;
}
/* Native select arrows are placed on the visual left in RTL so they never
   collide with the selected Hebrew value. */
html[dir="rtl"] .form-select {
  background-position: left 0.75rem center;
  padding-left: 2.5rem;
  padding-right: 0.75rem;
  text-align: right;
}
.osomo-page-head {
  margin-bottom: 1.5rem;
}
.osomo-page-head h1 {
  font-size: 1.6rem;
  margin: 0;
  font-weight: 650;
}
.osomo-page-head p {
  margin: 0.3rem 0 0;
  color: var(--cui-secondary-color);
}
.osomo-kpi {
  border: 0;
  border-radius: var(--osomo-radius);
  min-height: 6.5rem;
}
.osomo-kpi .card-body {
  padding: 1rem 1.15rem;
}
.osomo-kpi-label {
  color: var(--cui-secondary-color);
  font-size: 0.8rem;
}
.osomo-kpi-value {
  display: block;
  font-size: 1.65rem;
  font-weight: 650;
  margin-top: 0.35rem;
}
.osomo-toolbar {
  gap: 0.75rem;
}
.osomo-toolbar .form-control {
  min-width: 16rem;
}
/* Leads uses the Dashboard's semantic status palette, scoped to this feature. */
.osomo-leads-page [data-lead-status="new"],
.osomo-leads-page [data-drop-status="new"] { --osomo-lead-tone: #38bdf8; --osomo-lead-text: #075985; }
.osomo-leads-page [data-lead-status="contact"],
.osomo-leads-page [data-drop-status="contact"] { --osomo-lead-tone: #2dd4bf; --osomo-lead-text: #115e59; }
.osomo-leads-page [data-lead-status="engaging"],
.osomo-leads-page [data-drop-status="engaging"] { --osomo-lead-tone: #fbbf24; --osomo-lead-text: #854d0e; }
.osomo-leads-page [data-lead-status="proposal_preparation"],
.osomo-leads-page [data-drop-status="proposal_preparation"] { --osomo-lead-tone: #60a5fa; --osomo-lead-text: #1e3a8a; }
.osomo-leads-page [data-lead-status="negotiation"],
.osomo-leads-page [data-lead-status="deal_closed"],
.osomo-leads-page [data-drop-status="negotiation"] { --osomo-lead-tone: #4ade80; --osomo-lead-text: #166534; }
.osomo-leads-page [data-lead-status="deal_declined"],
.osomo-leads-page [data-lead-status="spam"],
.osomo-leads-page [data-lead-status="blocked"] { --osomo-lead-tone: #f87171; --osomo-lead-text: #991b1b; }
.osomo-leads-page .osomo-lead-column[data-drop-status] { --osomo-board-accent: var(--osomo-lead-tone); }
.osomo-leads-page .osomo-lead-status,
.osomo-leads-page .osomo-lead-column-head .chip {
  background: color-mix(in srgb, var(--osomo-lead-tone) 15%, var(--cui-card-bg, var(--cui-body-bg)));
  border-color: color-mix(in srgb, var(--osomo-lead-tone) 62%, var(--cui-border-color));
  color: var(--osomo-lead-text);
}
[data-coreui-theme="dark"] .osomo-leads-page .osomo-lead-status,
[data-coreui-theme="dark"] .osomo-leads-page .osomo-lead-column-head .chip { color: var(--osomo-lead-tone); }
.osomo-leads-page .osomo-kpi { border-inline-start: 3px solid var(--osomo-lead-tone); }
.osomo-leads-page .osomo-lead-board {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-auto-flow: row;
  gap: 0.75rem;
  margin: 0;
  overflow: visible;
}
.osomo-leads-page .osomo-lead-board > .col { min-width: 0; margin: 0; padding: 0; }
.osomo-leads-page .osomo-lead-card .d-flex,
.osomo-leads-page .osomo-lead-column-head { flex-wrap: wrap; }
.osomo-leads-page .osomo-lead-card,
.osomo-leads-page .osomo-activity,
.osomo-leads-page .osomo-archive-table td { overflow-wrap: anywhere; }
.osomo-leads-page .osomo-empty { padding: 1rem; }
.osomo-leads-page .osomo-archive-table { min-width: 0; width: 100%; table-layout: fixed; }
.osomo-leads-page #leadModal .modal-header,
.osomo-leads-page #leadLifecycleModal .modal-header { padding-inline: 1rem 4rem; }
.osomo-leads-page #leadModal .osomo-modal-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); overflow: visible; white-space: normal; }
.osomo-leads-page #leadModal .osomo-modal-tabs .nav-link { width: 100%; padding-inline: 0.35rem; }
.osomo-leads-page input[type="datetime-local"],
.osomo-leads-page input[type="date"],
.osomo-leads-page input[type="time"],
.osomo-leads-page input[type="email"],
.osomo-leads-page input[type="tel"] { direction: ltr; min-width: 0; }
@media (max-width: 1199.98px) {
  .osomo-leads-page .osomo-lead-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .osomo-leads-page .osomo-archive-table thead { display: none; }
  .osomo-leads-page .osomo-archive-table tbody { display: block; }
  .osomo-leads-page .osomo-archive-table tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 1px solid var(--cui-border-color); }
  .osomo-leads-page .osomo-archive-table td { display: block; min-width: 0; border: 0; padding: 0.45rem 0.7rem; }
  .osomo-leads-page .osomo-archive-table td:first-child,
  .osomo-leads-page .osomo-archive-table td:nth-child(6) { grid-column: 1 / -1; }
  .osomo-leads-page .osomo-archive-table td[data-label]::before { content: attr(data-label); display: block; font-size: 0.72rem; color: var(--cui-secondary-color); margin-bottom: 0.2rem; }
}
@media (max-width: 575.98px) {
  .osomo-leads-page .osomo-lead-board { grid-template-columns: minmax(0, 1fr); }
  .osomo-leads-page .osomo-lead-column { min-height: 0; }
  .osomo-leads-page .osomo-lead-column-body { min-height: 4rem; }
  .osomo-leads-page #leadModal .osomo-modal-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.osomo-lead-view-header {
  background: var(--cui-tertiary-bg);
  border-bottom-color: var(--cui-border-color);
  padding-bottom: 0;
}
.osomo-lead-view-tabs {
  align-self: stretch;
  gap: 0.35rem;
  margin-bottom: 0;
}
.osomo-lead-view-tabs .nav-link {
  align-items: center;
  border: 0;
  border-bottom: 2px solid transparent;
  display: inline-flex;
  padding: 0.6rem 0.1rem 0.7rem;
}
.osomo-lead-view-tabs .nav-link.active {
  border-bottom-color: var(--cui-primary);
}
.osomo-lead-view-tabs .chip {
  cursor: pointer;
  transition:
    filter 0.15s ease,
    transform 0.15s ease;
}
.osomo-lead-view-tabs .nav-link:not(.active) .chip {
  filter: saturate(0.62);
  opacity: 0.72;
}
.osomo-lead-view-tabs .nav-link:hover .chip {
  filter: saturate(1.1);
  transform: translateY(-1px);
}
.osomo-lead-card {
  background: var(--osomo-surface-raised);
  border: 1px solid var(--osomo-surface-border);
  border-radius: var(--osomo-radius);
  cursor: pointer;
  transition:
    box-shadow 0.16s ease,
    transform 0.16s ease;
}
.osomo-lead-card:hover {
  box-shadow: var(--cui-box-shadow-sm);
  transform: translateY(-1px);
}
.osomo-lead-card.is-dragging {
  opacity: 0.45;
  cursor: grabbing;
  transform: scale(0.985);
}
.osomo-lead-card .card-body {
  padding: 1rem;
}
.osomo-project-card {
  background: var(--osomo-surface-raised);
  border: 1px solid var(--osomo-surface-border);
  border-radius: var(--osomo-radius);
  cursor: pointer;
  transition:
    box-shadow 0.16s ease,
    transform 0.16s ease;
}
.osomo-project-card:hover {
  box-shadow: var(--cui-box-shadow-sm);
  transform: translateY(-1px);
}
.osomo-project-card.is-dragging {
  cursor: grabbing;
  opacity: 0.45;
  transform: scale(0.985);
}
.osomo-project-card .card-body {
  padding: 1rem;
}
.osomo-lead-card-title {
  font-size: 1rem;
  font-weight: 650;
  margin-bottom: 0.2rem;
}
.osomo-lead-card-meta {
  font-size: 0.8rem;
  color: var(--cui-secondary-color);
}
.osomo-lead-card-facts {
  border-top: 1px solid var(--cui-border-color);
  margin-top: 0.8rem;
  padding-top: 0.7rem;
  font-size: 0.8rem;
  color: var(--cui-secondary-color);
}
.osomo-lead-card-facts > span {
  display: block;
  margin-top: 0.22rem;
}
.osomo-section-card {
  border-color: var(--osomo-surface-border);
  border-radius: var(--osomo-radius);
}
.osomo-activity {
  border-inline-start: 2px solid var(--cui-primary);
  padding-inline-start: 0.8rem;
  margin-bottom: 1rem;
}
.osomo-activity p {
  margin: 0.25rem 0 0;
  white-space: pre-wrap;
}
.osomo-activity time {
  font-size: 0.75rem;
  color: var(--cui-secondary-color);
}
.osomo-empty {
  color: var(--cui-secondary-color);
  padding: 2.5rem 1rem;
  text-align: center;
}
.osomo-inline-section {
  align-items: center;
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--osomo-radius);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 0.85rem 1rem;
}
.osomo-task-schedule {
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--osomo-radius);
  padding: 0.9rem 1rem;
}
.osomo-task-schedule .btn-group .btn {
  white-space: nowrap;
}
.osomo-task-schedule-preview {
  color: var(--cui-body-color);
  font-size: 0.9rem;
  font-weight: 600;
  min-height: calc(1.5em + 0.75rem + 2px);
  padding-block: 0.375rem;
}
.osomo-contact-attempts {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.osomo-contact-attempts .btn {
  white-space: nowrap;
}
.osomo-modal .modal-content {
  border: 0;
  border-radius: var(--osomo-radius);
}
.osomo-modal .modal-header,
.osomo-modal .modal-footer {
  border-color: var(--cui-border-color);
}
/* Keep the legacy modal rhythm: header + tab buttons + scrollable work area
   + action bar. The form is the flex child so the footer never scrolls away. */
.osomo-modal .modal-dialog {
  height: calc(100% - 3.5rem);
}
.osomo-modal .modal-content {
  display: flex;
  flex-direction: column;
  height: 100%;
  max-height: 100%;
}
.osomo-modal form {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}
.osomo-modal .modal-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.osomo-modal .modal-footer {
  flex: 0 0 auto;
  margin-top: 0;
  position: relative;
  z-index: 1;
}
.osomo-modal .modal-header {
  min-height: 5.4rem;
  padding-inline-start: 4.2rem;
  position: relative;
}
.osomo-modal-close {
  left: 1.15rem;
  margin: 0;
  position: absolute;
  top: 1.15rem;
}
/* A catalog service has a focused form, not a full-workspace modal. */
#serviceModal .modal-dialog {
  height: auto;
  max-height: calc(100% - 3.5rem);
}
#serviceModal .modal-content {
  height: auto;
  max-height: min(43rem, calc(100vh - 3.5rem));
}
#serviceModal .modal-body {
  max-block-size: min(30rem, calc(100vh - 15rem));
}
.osomo-choice-modal .modal-content {
  border: 0;
  border-radius: var(--osomo-radius);
}
.osomo-choice-modal .modal-header,
.osomo-choice-modal .modal-footer {
  border-color: var(--cui-border-color);
}
.osomo-choice-modal .modal-header {
  min-height: 5.4rem;
  padding-inline-start: 4.2rem;
  position: relative;
}
.osomo-modal-tabs {
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--osomo-radius);
  flex-wrap: nowrap;
  gap: 0.25rem;
  overflow-x: auto;
  padding: 0.3rem;
  white-space: nowrap;
}
.osomo-modal-tabs .nav-link {
  border-radius: calc(var(--osomo-radius) - 0.12rem);
  color: var(--cui-secondary-color);
  font-size: 0.84rem;
  font-weight: 600;
  padding: 0.48rem 0.8rem;
}
.osomo-modal-tabs .nav-link.active {
  background: var(--cui-body-bg);
  box-shadow: var(--cui-box-shadow-sm);
  color: var(--cui-emphasis-color);
}
.osomo-modal-tabs .nav-link:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.osomo-proposal-create-tabs {
  align-items: stretch;
  flex-wrap: wrap;
  gap: 0.35rem;
  overflow: visible;
  white-space: normal;
}
.osomo-proposal-create-tabs .nav-item {
  display: flex;
  flex: 1 1 calc(20% - 0.35rem);
  min-inline-size: 0;
}
.osomo-proposal-create-tabs .nav-link {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  justify-content: center;
  line-height: 1.25;
  min-block-size: 2.5rem;
  text-align: center;
}
#proposalCreateModal .modal-body {
  --osomo-proposal-tabs-sticky-height: 7rem;
}
#proposalCreateModal .osomo-proposal-create-tabs--sticky {
  background: var(--cui-body-bg);
  box-shadow: 0 1px 0 var(--cui-border-color);
  inset-block-start: 0;
  padding-block: 0.5rem 0.75rem;
  position: sticky;
  z-index: 4;
}
#proposalCreateModal .osomo-proposal-create-add-toolbar {
  background: var(--cui-body-bg);
  border-block-end: 1px solid var(--cui-border-color);
  inset-block-start: var(--osomo-proposal-tabs-sticky-height);
  padding-block: 0.5rem 0.75rem;
  position: sticky;
  z-index: 3;
}
.osomo-project-create-tabs {
  align-items: stretch;
  flex-wrap: wrap;
  gap: 0.35rem;
  overflow: visible;
  white-space: normal;
}
.osomo-project-create-tabs .nav-item {
  display: flex;
  flex: 1 1 calc(33.333% - 0.35rem);
  min-inline-size: 0;
}
.osomo-project-create-tabs .nav-link {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  justify-content: center;
  line-height: 1.25;
  min-block-size: 2.5rem;
  text-align: center;
}
.osomo-project-editor-tabs {
  background: transparent;
  border: 0;
  display: grid;
  gap: 0.45rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: visible;
  padding: 0;
  white-space: normal;
}
.osomo-project-editor-tabs .nav-item {
  display: block;
  min-inline-size: 0;
}
.osomo-project-editor-tabs .nav-link {
  align-items: center;
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  display: flex;
  font-size: 0.84rem;
  justify-content: center;
  line-height: 1.25;
  min-block-size: 2.5rem;
  padding: 0.45rem 0.35rem;
  text-align: center;
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    box-shadow 0.15s ease;
  width: 100%;
}
.osomo-project-editor-tabs .nav-link:hover {
  border-color: var(--cui-primary);
  color: var(--cui-emphasis-color);
}
.osomo-project-editor-tabs .nav-link.active {
  background: var(--cui-primary-bg-subtle);
  border-color: var(--cui-primary);
  box-shadow: inset 0 -2px 0 var(--cui-primary);
  color: var(--cui-emphasis-color);
}
.osomo-project-workspace-actions {
  margin-inline-start: auto;
  margin-inline-end: 2.8rem;
}
.osomo-modal.is-existing-proposal .osomo-proposal-create-tabs .nav-item {
  flex-basis: calc(16.666% - 0.35rem);
}
.osomo-proposal-existing-actions {
  margin-inline: 0;
}
.osomo-toast-zone {
  position: fixed;
  inset-inline-end: 1rem;
  bottom: 1rem;
  z-index: 1090;
  width: min(24rem, calc(100vw - 2rem));
}
.osomo-next-action {
  color: var(--cui-warning-text-emphasis);
}
.osomo-lead-board {
  align-items: stretch;
}
.osomo-lead-column {
  --osomo-board-accent: var(--cui-primary);
  background: var(--osomo-surface-subtle);
  border: 1px solid var(--osomo-surface-border);
  border-radius: var(--osomo-radius);
  box-shadow: var(--osomo-surface-shadow);
  min-height: 19rem;
}
.osomo-lead-column[data-drop-status="new"],
.osomo-lead-column[data-drop-status="New"] { --osomo-board-accent: var(--cui-info); }
.osomo-lead-column[data-drop-status="contact"],
.osomo-lead-column[data-drop-status="on_hold"],
.osomo-lead-column[data-drop-status="On Hold"] { --osomo-board-accent: var(--cui-warning); }
.osomo-lead-column[data-drop-status="engaging"],
.osomo-lead-column[data-drop-status="in_progress"],
.osomo-lead-column[data-drop-status="In Progress"] { --osomo-board-accent: var(--cui-primary); }
.osomo-lead-column[data-drop-status="proposal_preparation"] { --osomo-board-accent: var(--cui-secondary); }
.osomo-lead-column[data-drop-status="negotiation"],
.osomo-lead-column[data-drop-status="completed"],
.osomo-lead-column[data-drop-status="Done"] { --osomo-board-accent: var(--cui-success); }
.osomo-lead-column[data-drop-status="Canceled"] { --osomo-board-accent: var(--cui-danger); }
.osomo-lead-column.is-drop-target {
  border-color: var(--osomo-board-accent);
  box-shadow: inset 0 0 0 1px var(--osomo-board-accent), var(--osomo-surface-shadow);
  background: color-mix(in srgb, var(--osomo-board-accent) 12%, var(--cui-card-bg));
}
.osomo-lead-column-head {
  align-items: center;
  border-bottom: 1px solid var(--cui-border-color);
  border-inline-start: 3px solid var(--osomo-board-accent);
  display: flex;
  justify-content: space-between;
  padding: 0.8rem 0.9rem;
}
.osomo-lead-column-head h2 {
  font-size: 0.875rem;
  font-weight: 650;
  margin: 0;
}
.osomo-lead-column-body {
  min-height: 14rem;
  padding: 0.6rem;
}
.osomo-lead-column .osomo-lead-card {
  margin-bottom: 0.65rem;
}
.osomo-board-empty {
  color: var(--cui-secondary-color);
  font-size: 0.8rem;
  padding: 1.5rem 0.4rem;
  text-align: center;
}
.osomo-archive-table-wrap {
  border: 1px solid var(--cui-border-color);
  border-radius: var(--osomo-radius);
}
.osomo-archive-table {
  min-width: 48rem;
}
.osomo-archive-table thead th {
  background: var(--cui-tertiary-bg);
  border-bottom-width: 1px;
  color: var(--cui-secondary-color);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 0.8rem 1rem;
  white-space: nowrap;
}
.osomo-archive-table tbody td {
  padding: 0.95rem 1rem;
  vertical-align: middle;
}
.osomo-archive-row {
  cursor: pointer;
  transition: background-color 0.14s ease;
}
.osomo-archive-row:focus,
.osomo-archive-row:hover {
  background: var(--cui-tertiary-bg);
  outline: 0;
}
.osomo-archive-row .btn {
  white-space: nowrap;
}
.osomo-proposal-group {
  border: 1px solid var(--osomo-surface-border);
  border-radius: var(--osomo-radius);
  overflow: hidden;
}
.osomo-proposal-group .card-header {
  background: var(--cui-tertiary-bg);
  border-bottom-color: var(--cui-border-color);
}
.osomo-proposal-group-header {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 0.85rem 1rem;
}
.osomo-proposal-group-toggle {
  align-items: center;
  background: transparent;
  border: 0;
  color: inherit;
  display: flex;
  flex: 1 1 auto;
  gap: 0.8rem;
  min-width: 0;
  padding: 0;
  text-align: inherit;
}
.osomo-proposal-group-toggle > span:last-child {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}
.osomo-proposal-group-toggle strong {
  font-size: 1rem;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.osomo-proposal-group-toggle small {
  color: var(--cui-secondary-color);
  font-size: 0.75rem;
}
.osomo-proposal-group-toggle:focus-visible {
  border-radius: 0.25rem;
  outline: 2px solid var(--cui-primary);
  outline-offset: 0.2rem;
}
.osomo-proposal-group-icon {
  align-items: center;
  background: var(--cui-body-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: 50%;
  display: inline-flex;
  flex: 0 0 auto;
  height: 1.8rem;
  justify-content: center;
  width: 1.8rem;
}
.osomo-proposal-group-actions {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 0.5rem;
}
.osomo-proposal-table {
  min-width: 42rem;
}
.osomo-proposal-table thead th {
  background: var(--cui-tertiary-bg);
  border-bottom-width: 1px;
  color: var(--cui-secondary-color);
  font-size: 0.7rem;
  font-weight: 700;
  padding: 0.75rem 1rem;
  white-space: nowrap;
}
.osomo-proposal-table tbody td {
  padding: 0.9rem 1rem;
  vertical-align: middle;
}
.osomo-proposal-row {
  cursor: pointer;
}
.osomo-proposal-row:focus,
.osomo-proposal-row:hover {
  background: var(--cui-tertiary-bg);
  outline: 0;
}
.osomo-proposal-row-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.8rem;
}
.osomo-proposal-row-actions .btn {
  white-space: nowrap;
}
.osomo-proposal-existing-actions {
  align-items: center;
  background: var(--cui-tertiary-bg);
  border-bottom: 1px solid var(--cui-border-color);
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
}
.osomo-proposal-existing-actions .small {
  flex: 0 0 auto;
  font-weight: 600;
}
.osomo-proposal-existing-toolbar {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  gap: 0.5rem;
}
@media (max-width: 575.98px) {
  .osomo-proposal-existing-actions .small {
    flex-basis: 100%;
  }
  .osomo-proposal-existing-toolbar {
    flex-basis: 100%;
  }
  .osomo-proposal-row-actions,
  .osomo-proposal-existing-toolbar {
    gap: 0.4rem;
  }
}
.osomo-proposal-sibling-choices {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}
.osomo-proposal-sibling-choices .small {
  flex-basis: 100%;
}
/* Project management still has its full workspace while it is migrated;
   proposal editing no longer uses this embedded shell. */
.osomo-editor-modal .modal-dialog {
  margin: 0;
  max-inline-size: none;
}
.osomo-editor-modal .modal-content {
  block-size: 100vh;
  border: 0;
  border-radius: 0;
}
.osomo-editor-modal .modal-header {
  flex: 0 0 auto;
}
.osomo-editor-modal .modal-body {
  min-block-size: 0;
  overflow: hidden;
  background: var(--cui-body-bg);
}
.osomo-editor-frame {
  background: var(--cui-body-bg);
  block-size: 100%;
  border: 0;
  display: block;
  inline-size: 100%;
}
.osomo-proposal-create-service,
.osomo-proposal-create-row {
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--osomo-radius);
  padding: 1rem;
}
.osomo-proposal-create-service .form-label,
.osomo-proposal-create-row .form-label {
  font-size: 0.78rem;
  font-weight: 650;
  margin-bottom: 0.35rem;
}
.osomo-document-options {
  align-items: center;
  background: var(--cui-body-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: calc(var(--osomo-radius) - 0.1rem);
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  padding: 0.45rem 0.65rem;
}
.osomo-document-options .form-check {
  margin: 0;
  min-height: auto;
}
.osomo-document-options .form-check-label {
  font-size: 0.8rem;
  font-weight: 600;
}
.osomo-modal #proposalCreateSummary {
  align-items: stretch;
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.osomo-modal #proposalCreateSummary > div {
  border-inline-start: 1px solid var(--cui-border-color);
  padding-inline-start: 0.75rem;
}
.osomo-modal #proposalCreateSummary > div:first-child {
  border-inline-start: 0;
  padding-inline-start: 0;
}

/* Reusable directory workspaces: clients, vendors, and the service catalog. */
.osomo-directory-card {
  background: var(--osomo-surface-raised);
  border: 1px solid var(--osomo-surface-border);
  border-radius: var(--osomo-radius);
  cursor: pointer;
  height: 100%;
  transition:
    box-shadow 0.16s ease,
    transform 0.16s ease;
}
.osomo-directory-card:hover {
  box-shadow: var(--cui-box-shadow-sm);
  transform: translateY(-1px);
}
.osomo-directory-card .card-body {
  padding: 1rem;
}
.osomo-directory-title {
  font-size: 1rem;
  font-weight: 650;
  margin: 0;
}
.osomo-directory-meta {
  color: var(--cui-secondary-color);
  font-size: 0.8rem;
}
.osomo-directory-facts {
  border-top: 1px solid var(--cui-border-color);
  color: var(--cui-secondary-color);
  display: grid;
  font-size: 0.78rem;
  gap: 0.25rem;
  margin-top: 0.85rem;
  padding-top: 0.75rem;
}
.osomo-directory-tabs {
  align-items: stretch;
  gap: 0.35rem;
}
.osomo-directory-tabs .nav-link {
  border-radius: var(--osomo-radius);
  color: var(--cui-secondary-color);
  font-size: 0.84rem;
  font-weight: 600;
  padding: 0.5rem 0.75rem;
}
.osomo-directory-tabs .nav-link.active {
  background: var(--cui-primary-bg-subtle);
  color: var(--cui-emphasis-color);
}

/* Payments use a compact project → plan → installment hierarchy.  Every
   colour is inherited from CoreUI theme variables so light and dark modes
   have the same contrast contract. */
.osomo-money-stack {
  display: inline-flex;
  flex-direction: column;
  gap: 0.1rem;
}
.osomo-payment-summary {
  align-items: stretch;
  background: var(--cui-body-bg);
  border: 1px solid var(--osomo-surface-border);
  border-radius: var(--osomo-radius);
  display: grid;
  grid-template-columns: minmax(10rem, 0.72fr) minmax(0, 2.3fr);
  overflow: hidden;
}
.osomo-payment-summary-intro {
  background: var(--osomo-surface-subtle);
  border-inline-end: 1px solid var(--cui-border-color);
  display: grid;
  gap: 0.26rem;
  padding: 1rem 1.15rem;
}
.osomo-payment-summary-intro strong {
  font-size: 1.05rem;
}
.osomo-payment-summary-intro > span:last-child {
  color: var(--cui-secondary-color);
  font-size: 0.74rem;
}
.osomo-payment-eyebrow {
  color: var(--cui-primary);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.osomo-payment-summary-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.osomo-payment-summary-metric {
  border-inline-end: 1px solid var(--cui-border-color);
  display: grid;
  gap: 0.28rem;
  min-width: 0;
  padding: 1rem 1.1rem;
}
.osomo-payment-summary-metric:last-child {
  border-inline-end: 0;
}
.osomo-payment-summary-metric > span {
  color: var(--cui-secondary-color);
  font-size: 0.76rem;
  line-height: 1.25;
}
.osomo-payment-summary-metric > strong {
  color: var(--cui-emphasis-color);
  font-size: 1.18rem;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
}
.osomo-payment-summary-metric > small {
  color: var(--cui-secondary-color);
  font-size: 0.7rem;
  line-height: 1.35;
}
.osomo-payment-due-head {
  align-items: end;
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}
.osomo-payment-due-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.osomo-payment-due-card {
  background: var(--osomo-surface-subtle);
  border: 1px solid var(--osomo-surface-border);
  border-radius: var(--osomo-radius);
  color: var(--cui-body-color);
  display: grid;
  gap: 0.3rem;
  min-height: 8.8rem;
  padding: 0.85rem;
  text-align: inherit;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}
.osomo-payment-due-card:hover {
  border-color: var(--cui-primary);
  box-shadow: var(--cui-box-shadow-sm);
  transform: translateY(-1px);
}
.osomo-payment-due-card.is-overdue {
  border-inline-start: 3px solid var(--cui-danger);
}
.osomo-payment-due-project,
.osomo-payment-plan-title > span {
  color: var(--cui-secondary-color);
  font-size: 0.76rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.osomo-payment-due-card > strong {
  overflow: hidden;
  text-align: inherit;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.osomo-payment-due-card .osomo-money {
  font-size: 1.02rem;
  font-weight: 700;
}
.osomo-payment-project-list {
  display: grid;
  gap: 0.75rem;
}
.osomo-payment-project {
  border: 1px solid var(--osomo-surface-border);
  border-radius: var(--osomo-radius);
  overflow: hidden;
}
.osomo-payment-project-header {
  align-items: center;
  background: var(--osomo-surface-raised);
  display: flex;
  min-width: 0;
}
.osomo-payment-project-head {
  align-items: center;
  background: var(--osomo-surface-raised);
  border: 0;
  color: var(--cui-body-color);
  display: grid;
  gap: 0;
  flex: 1 1 auto;
  grid-template-columns: minmax(14rem, 1.15fr) minmax(13rem, 0.9fr) minmax(18rem, 1fr) auto;
  min-width: 0;
  padding: 0.9rem 1rem;
  text-align: inherit;
  width: auto;
}
.osomo-payment-project-head:hover {
  background: var(--cui-tertiary-bg);
}
.osomo-payment-project-copy {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}
.osomo-payment-project-copy,
.osomo-payment-project-next,
.osomo-payment-project-totals { padding-block: 0.12rem; }
.osomo-payment-project-copy > strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.osomo-payment-project-copy > span {
  color: var(--cui-secondary-color);
  font-size: 0.78rem;
}
.osomo-payment-project-kicker {
  color: var(--cui-primary);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.osomo-payment-project-next {
  border-inline: 1px solid var(--cui-border-color);
  color: var(--cui-secondary-color);
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  padding-inline: 1rem;
}
.osomo-payment-project-next small {
  color: var(--cui-secondary-color);
  font-size: 0.68rem;
}
.osomo-payment-project-next strong {
  color: var(--cui-emphasis-color);
  font-size: 0.84rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.osomo-payment-project-next > span {
  font-size: 0.73rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.osomo-payment-project-totals {
  align-items: center;
  border-inline-start: 1px solid var(--cui-border-color);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, minmax(4.75rem, 1fr)) auto;
  justify-content: stretch;
  width: 100%;
}
.osomo-payment-project-totals > span:not(.chip) {
  display: grid;
  font-size: 0.84rem;
  gap: 0.1rem;
  min-width: 0;
  padding-inline: 0.55rem;
  text-align: center;
}
.osomo-payment-project-totals > span:not(.chip) + span:not(.chip) { border-inline-start: 1px solid var(--cui-border-color); }
.osomo-payment-project-totals > .chip { justify-self: center; margin-inline-start: 0.45rem; }
.osomo-payment-project-totals small,
.osomo-payment-plan-metrics small {
  color: var(--cui-secondary-color);
  font-size: 0.7rem;
  font-weight: 500;
}
.osomo-payment-collapse-icon {
  transition: transform 0.18s ease;
}
.osomo-payment-project.is-expanded .osomo-payment-collapse-icon {
  transform: rotate(180deg);
}
.osomo-payment-project-body {
  background: var(--cui-tertiary-bg);
  border-top: 1px solid var(--cui-border-color);
  padding: 0.85rem;
}
.osomo-payment-open-project {
  flex: 0 0 auto;
  margin-inline: 0.8rem 0;
}
.osomo-payment-project-details {
  display: grid;
  gap: 0.85rem;
}
.osomo-payment-project-context {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: minmax(13rem, 0.9fr) minmax(13rem, 0.9fr) minmax(14rem, 1.2fr);
}
.osomo-payment-context-control,
.osomo-payment-context-nearby {
  background: var(--cui-body-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: calc(var(--osomo-radius) - 0.08rem);
  display: grid;
  gap: 0.35rem;
  min-width: 0;
  padding: 0.65rem 0.75rem;
}
.osomo-payment-context-control > label,
.osomo-payment-context-control > span,
.osomo-payment-context-nearby > span {
  color: var(--cui-secondary-color);
  font-size: 0.7rem;
  font-weight: 600;
}
.osomo-payment-context-control > div {
  align-items: center;
  display: flex;
  gap: 0.4rem;
}
.osomo-payment-context-control .form-control {
  min-width: 0;
}
.osomo-payment-context-nearby {
  align-content: center;
  grid-auto-flow: column;
  grid-template-columns: auto repeat(3, minmax(0, 1fr));
}
.osomo-payment-context-nearby > span:not(:first-child) {
  color: var(--cui-body-color);
  font-size: 0.75rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.osomo-payment-ledger-section {
  background: var(--cui-body-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--osomo-radius);
  overflow: hidden;
}
.osomo-payment-ledger-section > header,
.osomo-payment-vendor-heading {
  align-items: center;
  border-bottom: 1px solid var(--cui-border-color);
  display: flex;
  justify-content: space-between;
  min-height: 3.7rem;
  padding: 0.7rem 0.9rem;
}
.osomo-payment-ledger-section > header span,
.osomo-payment-vendor-heading span {
  color: var(--cui-secondary-color);
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.osomo-payment-ledger-section > header h3,
.osomo-payment-vendor-heading h3 {
  font-size: 0.94rem;
  margin: 0.12rem 0 0;
}
.osomo-payment-ledger-shell {
  max-width: 100%;
  overflow-x: auto;
}
.osomo-payment-ledger-shell:focus-visible {
  box-shadow: inset 0 0 0 2px var(--cui-primary);
  outline: 0;
}
.osomo-payment-ledger {
  font-size: 0.78rem;
  min-width: 58rem;
}
.osomo-payment-ledger thead th {
  background: var(--cui-tertiary-bg);
  border-bottom-width: 1px;
  color: var(--cui-secondary-color);
  font-size: 0.68rem;
  font-weight: 700;
  padding: 0.62rem 0.75rem;
  white-space: nowrap;
}
.osomo-payment-ledger tbody td {
  color: var(--cui-body-color);
  padding: 0.66rem 0.75rem;
  vertical-align: middle;
}
.osomo-payment-ledger tbody tr:last-child td {
  border-bottom: 0;
}
.osomo-payment-ledger-plan td {
  /* One shared plan surface for client, project, and vendor payment rows.
     Payment type is conveyed by the chip, never by a theme-breaking row fill. */
  background: var(--cui-secondary-bg);
  font-weight: 600;
}
.osomo-payment-ledger-installment td:first-child {
  padding-inline-start: 1.35rem;
}
.osomo-payment-ledger td:first-child > strong {
  margin-inline-start: 0.35rem;
}
.osomo-payment-ledger-indent {
  color: var(--cui-secondary-color);
}
.osomo-payment-row-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  min-width: 10rem;
}
.osomo-payment-row-actions .btn {
  white-space: nowrap;
}
.osomo-payment-vendor-heading {
  background: var(--cui-body-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--osomo-radius) var(--osomo-radius) 0 0;
  border-bottom: 0;
}
.osomo-payment-vendor-ledger {
  border-radius: 0 0 var(--osomo-radius) var(--osomo-radius);
}
.osomo-payment-vendor-ledger > header {
  display: none;
}
.osomo-payment-plan {
  background: var(--cui-body-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: calc(var(--osomo-radius) - 0.08rem);
  cursor: pointer;
  margin-bottom: 0.6rem;
  overflow: hidden;
}
.osomo-payment-plan:last-child {
  margin-bottom: 0;
}
.osomo-payment-plan:hover {
  border-color: var(--cui-primary-border-subtle);
}
.osomo-payment-plan-main {
  align-items: center;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(11rem, 1fr) auto auto;
  padding: 0.8rem 0.9rem;
}
.osomo-payment-plan-title {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}
.osomo-payment-plan-metrics {
  display: inline-flex;
  gap: 1.1rem;
}
.osomo-payment-plan-metrics > span {
  display: grid;
  gap: 0.1rem;
  min-width: 5.6rem;
  text-align: center;
}
.osomo-payment-plan-meta {
  align-items: flex-end;
  display: grid;
  gap: 0.35rem;
  justify-items: end;
}
.osomo-payment-plan-details {
  border-top: 1px solid var(--cui-border-color);
  padding: 0 0.9rem;
}
.osomo-payment-plan-details ul,
.osomo-payment-modal-installments {
  list-style: none;
  margin: 0;
  padding: 0;
}
.osomo-payment-installment {
  align-items: center;
  border-bottom: 1px solid var(--cui-border-color);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  min-width: 0;
  padding: 0.7rem 0;
}
.osomo-payment-installment:last-child {
  border-bottom: 0;
}
.osomo-payment-installment > div:first-child {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}
.osomo-payment-installment-end {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  gap: 0.65rem;
}
.osomo-payment-no-installment {
  color: var(--cui-secondary-color);
  padding: 0.75rem 0;
}
.osomo-payment-installment-editor {
  display: grid;
  gap: 0.65rem;
}
.osomo-payment-installment-draft {
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--osomo-radius);
  padding: 0.75rem;
}
.osomo-payment-modal-installments {
  border: 1px solid var(--cui-border-color);
  border-radius: var(--osomo-radius);
  padding-inline: 0.85rem;
}
.osomo-payment-empty {
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--osomo-radius);
  padding-block: 1.25rem;
}
.osomo-directory-table-wrap {
  border: 1px solid var(--osomo-surface-border);
  border-radius: var(--osomo-radius);
  overflow: hidden;
}
.osomo-directory-table {
  min-width: 48rem;
}
.osomo-directory-table thead th {
  background: var(--cui-tertiary-bg);
  border-bottom-width: 1px;
  color: var(--cui-secondary-color);
  font-size: 0.7rem;
  font-weight: 700;
  padding: 0.8rem 1rem;
  white-space: nowrap;
}
.osomo-directory-table tbody td {
  padding: 0.85rem 1rem;
  vertical-align: middle;
}
.osomo-directory-row {
  cursor: pointer;
}
.osomo-directory-row:hover,
.osomo-directory-row:focus {
  background: var(--cui-tertiary-bg);
  outline: 0;
}
.osomo-people-list {
  margin: 0;
}
.osomo-people-table-wrap {
  overflow: hidden;
}
.osomo-people-table {
  min-width: 0;
  table-layout: fixed;
  width: 100%;
}
.osomo-people-table thead th {
  background: var(--cui-tertiary-bg);
  border-bottom-width: 1px;
  color: var(--cui-secondary-color);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  padding: 0.75rem 0.85rem;
  white-space: nowrap;
}
.osomo-people-table tbody td {
  padding: 0.78rem 0.85rem;
  vertical-align: middle;
}
.osomo-people-table th:first-child {
  width: 25%;
}
.osomo-people-table th:last-child {
  width: 3.4rem;
}
.osomo-people-table .osomo-directory-row {
  transition: background-color 0.14s ease;
}
.osomo-entity-identity {
  align-items: center;
  display: flex;
  gap: 0.7rem;
  min-width: 0;
}
.osomo-entity-avatar {
  align-items: center;
  background: var(--cui-primary-bg-subtle);
  border: 1px solid var(--cui-border-color);
  border-radius: 50%;
  color: var(--cui-primary);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.78rem;
  font-weight: 700;
  height: 2.25rem;
  justify-content: center;
  width: 2.25rem;
}
.osomo-entity-copy {
  min-width: 0;
}
.osomo-entity-name {
  color: var(--cui-emphasis-color);
  display: block;
  font-size: 0.88rem;
  font-weight: 650;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.osomo-entity-secondary {
  color: var(--cui-secondary-color);
  display: block;
  font-size: 0.75rem;
  margin-top: 0.12rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.osomo-people-metric {
  color: var(--cui-emphasis-color);
  font-size: 0.84rem;
  font-weight: 650;
}
.osomo-people-submetric {
  color: var(--cui-secondary-color);
  display: block;
  font-size: 0.73rem;
  margin-top: 0.12rem;
}
.osomo-people-progress {
  margin-top: 0.35rem;
  max-width: 10.5rem;
}
.osomo-people-progress .progress {
  background: var(--cui-border-color);
  height: 0.24rem;
}
.osomo-people-progress .progress-bar {
  border-radius: 99px;
}
.osomo-people-status {
  align-items: center;
  display: inline-flex;
  gap: 0.35rem;
}
.osomo-people-status-dot {
  background: var(--cui-success);
  border-radius: 50%;
  height: 0.42rem;
  width: 0.42rem;
}
.osomo-people-status-dot.is-waiting {
  background: var(--cui-warning);
}
.osomo-people-status-dot.is-idle {
  background: var(--cui-secondary-color);
}
.osomo-people-actions {
  text-align: end;
  width: 2.5rem;
}
.osomo-people-actions .btn {
  color: var(--cui-secondary-color);
  min-width: 2rem;
}
.osomo-people-actions .btn:hover,
.osomo-people-actions .btn:focus {
  background: var(--cui-tertiary-bg);
  color: var(--cui-emphasis-color);
}
.osomo-detail-links {
  display: grid;
  gap: 0.55rem;
}
.osomo-detail-link {
  align-items: center;
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: calc(var(--osomo-radius) - 0.1rem);
  color: var(--cui-body-color);
  display: flex;
  font-size: 0.82rem;
  justify-content: space-between;
  padding: 0.65rem 0.75rem;
  text-decoration: none;
}
.osomo-detail-link:hover {
  border-color: var(--cui-primary);
  color: var(--cui-primary);
}
.osomo-client-tabs {
  display: grid;
  gap: 0.4rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: visible;
  padding: 0;
  white-space: normal;
}
.osomo-client-tabs .nav-item {
  min-inline-size: 0;
}
.osomo-client-tabs .nav-link {
  align-items: center;
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  display: flex;
  font-size: 0.82rem;
  justify-content: center;
  line-height: 1.2;
  min-block-size: 2.45rem;
  padding: 0.4rem;
  text-align: center;
  width: 100%;
}
.osomo-client-tabs .nav-link.active {
  background: var(--cui-primary-bg-subtle);
  border-color: var(--cui-primary);
  box-shadow: inset 0 -2px 0 var(--cui-primary);
  color: var(--cui-emphasis-color);
}
.osomo-history-entry {
  border-inline-start: 2px solid var(--cui-primary);
  margin-bottom: 0.85rem;
  padding-inline-start: 0.75rem;
}
.osomo-history-entry p {
  margin: 0.2rem 0 0;
  white-space: pre-wrap;
}
.osomo-history-entry time {
  color: var(--cui-secondary-color);
  display: block;
  font-size: 0.74rem;
}
.osomo-origin-note {
  background: color-mix(in srgb, var(--cui-info) 7%, var(--cui-tertiary-bg));
  border: 1px solid color-mix(in srgb, var(--cui-info) 30%, var(--cui-border-color));
  border-inline-start: 0.25rem solid var(--cui-info);
  border-radius: var(--osomo-radius);
  padding: 0.95rem 1rem;
}
.osomo-origin-note-head {
  align-items: center;
  color: var(--cui-secondary-color);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.78rem;
  gap: 0.55rem;
  margin-bottom: 0.65rem;
}
.osomo-origin-note p {
  color: var(--cui-emphasis-color);
  line-height: 1.65;
  margin: 0;
  white-space: pre-wrap;
}
.osomo-client-note {
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-inline-start: 0.25rem solid var(--cui-primary);
  border-radius: var(--osomo-radius);
  box-shadow: 0 0.08rem 0.32rem color-mix(in srgb, var(--cui-emphasis-color) 5%, transparent);
  margin-bottom: 0.7rem;
  padding: 0.75rem 0.85rem;
}
.osomo-client-note header {
  align-items: center;
  display: flex;
  gap: 0.55rem;
}
.osomo-client-note-avatar {
  align-items: center;
  background: var(--cui-primary-bg-subtle);
  border-radius: 999px;
  color: var(--cui-primary);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.68rem;
  font-weight: 750;
  height: 1.75rem;
  justify-content: center;
  width: 1.75rem;
}
.osomo-client-note p {
  color: var(--cui-body-color);
  line-height: 1.55;
  margin: 0.55rem 0 0;
}
.osomo-history-section + .osomo-history-section {
  border-top: 1px solid var(--cui-border-color);
  margin-top: 1.15rem;
  padding-top: 1.15rem;
}
.osomo-history-section-head {
  align-items: baseline;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  margin-bottom: 0.55rem;
}
.osomo-history-section-head h4 {
  color: var(--cui-emphasis-color);
  font-size: 0.88rem;
  font-weight: 650;
  margin: 0;
}
.osomo-history-section-head span {
  color: var(--cui-secondary-color);
  font-size: 0.74rem;
}
.osomo-history-row {
  align-items: center;
  background: transparent;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding-block: 0.75rem;
}
.osomo-history-title {
  color: var(--cui-emphasis-color);
  font-size: 0.84rem;
  font-weight: 650;
  text-decoration: none;
}
a.osomo-history-title:hover {
  color: var(--cui-primary);
  text-decoration: underline;
}
.osomo-history-project-list {
  display: grid;
  gap: 0.7rem;
}
.osomo-history-project {
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: calc(var(--osomo-radius) - 0.1rem);
  padding: 0.8rem 0.9rem;
}
.osomo-history-project-head {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
}
.osomo-history-deal {
  align-items: center;
  border-top: 1px solid var(--cui-border-color);
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(0, 1fr) auto auto;
  margin-top: 0.75rem;
  padding-top: 0.7rem;
}
.osomo-vendor-summary {
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--osomo-radius);
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  margin-bottom: 1rem;
  padding: 0.85rem 1rem;
}
.osomo-vendor-summary span {
  color: var(--cui-secondary-color);
  display: block;
  font-size: 0.75rem;
}
.osomo-vendor-summary strong {
  display: block;
  font-size: 0.95rem;
  margin-top: 0.15rem;
}
.osomo-service-card .card-body {
  display: grid;
  gap: 0.8rem;
}
.osomo-service-card.is-inactive {
  opacity: 0.72;
}
.osomo-people-table .osomo-directory-row.is-inactive {
  opacity: 0.68;
}
.osomo-service-table th:first-child {
  width: 25%;
}
.osomo-service-table .osomo-people-submetric {
  max-width: 15rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.osomo-service-table .osomo-service-description {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  max-width: 22rem;
  overflow: hidden;
  white-space: normal;
}
.osomo-service-avatar {
  border-radius: var(--osomo-radius);
}
.osomo-service-card .osomo-directory-facts {
  grid-template-columns: 1fr auto;
}
.osomo-service-price {
  color: var(--cui-emphasis-color);
  font-size: 0.95rem;
  font-weight: 700;
}
@media (max-width: 575.98px) {
  .osomo-client-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .osomo-vendor-summary {
    grid-template-columns: 1fr;
  }
}

/* Dashboard: compact CoreUI widgets backed by the read-only home projection. */
.osomo-dashboard-page-head {
  margin-bottom: 1.35rem;
}

.osomo-dashboard-page-head h1 {
  letter-spacing: -0.03em;
}

.osomo-dashboard-block {
  margin-bottom: 1.5rem;
}

.osomo-dashboard-block-head,
.osomo-dashboard-card-head,
.osomo-dashboard-table-head {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  justify-content: space-between;
}

.osomo-dashboard-block-head {
  margin-bottom: 0.75rem;
}

.osomo-dashboard-kicker {
  color: var(--cui-secondary-color);
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  line-height: 1.2;
  margin-bottom: 0.28rem;
  text-transform: uppercase;
}

.osomo-dashboard-block h2,
.osomo-dashboard-card h2,
.osomo-dashboard-table-head h2 {
  color: var(--cui-emphasis-color);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0;
}

.osomo-dashboard-widget {
  align-items: center;
  border: 0;
  border-radius: var(--cui-border-radius-lg);
  color: var(--cui-white);
  display: flex;
  gap: 1rem;
  min-height: 9.5rem;
  overflow: hidden;
  padding: 1.1rem;
  position: relative;
}

.osomo-dashboard-widget::after {
  background: color-mix(in srgb, var(--cui-white) 13%, transparent);
  border-radius: 100%;
  content: "";
  height: 8.25rem;
  inset-inline-end: -3rem;
  position: absolute;
  top: -4rem;
  width: 8.25rem;
}

.osomo-dashboard-widget.is-primary { --osomo-dashboard-widget-color: var(--cui-primary); }
.osomo-dashboard-widget.is-success { --osomo-dashboard-widget-color: var(--cui-success); }
.osomo-dashboard-widget.is-info { --osomo-dashboard-widget-color: var(--cui-info); }
.osomo-dashboard-widget.is-warning { --osomo-dashboard-widget-color: var(--cui-warning); }
.osomo-dashboard-widget.is-danger { --osomo-dashboard-widget-color: var(--cui-danger); }
.osomo-dashboard-widget.is-secondary { --osomo-dashboard-widget-color: var(--cui-secondary); }
.osomo-dashboard-widget {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--osomo-dashboard-widget-color) 88%, var(--cui-body-bg)),
    color-mix(in srgb, var(--osomo-dashboard-widget-color) 58%, var(--cui-emphasis-color)));
}

/* Keep the familiar widget meanings in dark mode, but place their colours on
   deep, low-glare surfaces rather than carrying the light-theme saturation
   straight across. Light mode deliberately keeps the shared CoreUI palette. */
[data-coreui-theme="dark"] .osomo-dashboard-widget.is-primary { --osomo-dashboard-widget-color: #60a5fa; }
[data-coreui-theme="dark"] .osomo-dashboard-widget.is-success { --osomo-dashboard-widget-color: #4ade80; }
[data-coreui-theme="dark"] .osomo-dashboard-widget.is-info { --osomo-dashboard-widget-color: #38bdf8; }
[data-coreui-theme="dark"] .osomo-dashboard-widget.is-warning { --osomo-dashboard-widget-color: #fbbf24; }
[data-coreui-theme="dark"] .osomo-dashboard-widget.is-danger { --osomo-dashboard-widget-color: #fb7185; }
[data-coreui-theme="dark"] .osomo-dashboard-widget.is-secondary { --osomo-dashboard-widget-color: #94a3b8; }
[data-coreui-theme="dark"] .osomo-dashboard-widget {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--osomo-dashboard-widget-color) 38%, #101827),
    color-mix(in srgb, var(--osomo-dashboard-widget-color) 22%, #0b1220));
  border: 1px solid color-mix(in srgb, var(--osomo-dashboard-widget-color) 28%, #263246);
  box-shadow: 0 0.5rem 1.25rem color-mix(in srgb, var(--osomo-dashboard-widget-color) 10%, transparent);
}
[data-coreui-theme="dark"] .osomo-dashboard-widget::after {
  background: color-mix(in srgb, var(--cui-white) 7%, transparent);
}
[data-coreui-theme="dark"] .osomo-dashboard-widget-icon {
  background: color-mix(in srgb, var(--cui-white) 11%, transparent);
}

#dashboardPaymentWidgets {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
}

.osomo-dashboard-payment-cell { min-width: 0; }

.osomo-dashboard-widget-icon {
  align-items: center;
  background: color-mix(in srgb, var(--cui-white) 17%, transparent);
  border-radius: 0.85rem;
  display: inline-flex;
  flex: 0 0 auto;
  height: 2.9rem;
  justify-content: center;
  width: 2.9rem;
}

.osomo-dashboard-widget-copy {
  min-width: 0;
  position: relative;
  z-index: 1;
}

.osomo-dashboard-widget-copy > span {
  display: block;
  font-size: 0.83rem;
  font-weight: 600;
  opacity: 0.9;
}

.osomo-dashboard-widget-copy > strong {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  font-size: 1.1rem;
  gap: 0.25rem 0.7rem;
  line-height: 1.5;
  margin-top: 0.28rem;
}

.osomo-dashboard-widget-value {
  direction: ltr;
  unicode-bidi: plaintext;
  white-space: nowrap;
}

.osomo-dashboard-widget-value small {
  font-size: 0.65em;
  font-weight: 600;
  margin-inline-start: 0.18rem;
  opacity: 0.8;
}

.osomo-dashboard-widget-copy > small {
  display: block;
  font-size: 0.71rem;
  line-height: 1.35;
  margin-top: 0.28rem;
  opacity: 0.83;
}

.osomo-dashboard-card {
  background: var(--cui-card-bg);
  border-color: var(--osomo-surface-border);
  border-radius: var(--cui-border-radius-lg);
  box-shadow: var(--osomo-surface-shadow);
}

[data-coreui-theme="dark"] .osomo-dashboard-card {
  box-shadow: 0 0.15rem 0.7rem color-mix(in srgb, var(--cui-black) 30%, transparent);
}

.osomo-dashboard-operations {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.osomo-dashboard-operation-card {
  --osomo-operation-accent: var(--cui-primary);
  background: var(--cui-card-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--cui-border-radius-lg);
  box-shadow: 0 0.15rem 0.7rem color-mix(in srgb, var(--cui-emphasis-color) 5%, transparent);
  min-width: 0;
  overflow: hidden;
  padding: 1rem;
}

.osomo-dashboard-operation-card:nth-child(2) { --osomo-operation-accent: var(--cui-success); }
.osomo-dashboard-operation-card:nth-child(3) { --osomo-operation-accent: var(--cui-info); }
.osomo-dashboard-operation-card.is-unavailable { --osomo-operation-accent: var(--cui-secondary); }
.osomo-dashboard-operation-card > header { align-items: flex-start; display: flex; gap: 0.8rem; justify-content: space-between; }
.osomo-dashboard-operation-card h3 { color: var(--cui-emphasis-color); font-size: 1.08rem; font-weight: 750; margin: 0; }
.osomo-dashboard-operation-card p { color: var(--cui-secondary-color); font-size: 0.73rem; line-height: 1.35; margin: 0.18rem 0 0; }
.osomo-dashboard-operation-insight { background: color-mix(in srgb, var(--osomo-operation-accent) 8%, var(--cui-card-bg)); border-inline-start: 2px solid var(--osomo-operation-accent); border-radius: 0.3rem; color: var(--cui-body-color) !important; font-size: 0.7rem !important; font-weight: 650; margin: 0.75rem 0 0 !important; padding: 0.38rem 0.48rem; }
.osomo-dashboard-operation-total { align-items: center; background: color-mix(in srgb, var(--osomo-operation-accent) 13%, var(--cui-card-bg)); border-radius: 0.75rem; color: var(--osomo-operation-accent); display: flex; flex: 0 0 auto; flex-direction: column; justify-content: center; min-height: 3.2rem; min-width: 3.2rem; }
.osomo-dashboard-operation-total strong { color: inherit; font-size: 1.05rem; line-height: 1; }
.osomo-dashboard-operation-total span { color: var(--cui-secondary-color); font-size: 0.62rem; font-weight: 700; margin-top: 0.22rem; }
.osomo-dashboard-operation-distribution { display: flex; gap: 0.25rem; height: 0.42rem; margin: 0.75rem 0 0.65rem; overflow: hidden; }
.osomo-dashboard-operation-distribution span { background: var(--osomo-status-tone, var(--osomo-operation-accent)); border-radius: 999px; min-width: 0.35rem; }
.osomo-dashboard-operation-distribution .is-sky, .osomo-dashboard-operation-status.is-sky { --osomo-status-tone: #38bdf8; --osomo-status-text: #075985; }
.osomo-dashboard-operation-distribution .is-blue, .osomo-dashboard-operation-status.is-blue { --osomo-status-tone: #60a5fa; --osomo-status-text: #1e3a8a; }
.osomo-dashboard-operation-distribution .is-teal, .osomo-dashboard-operation-status.is-teal { --osomo-status-tone: #2dd4bf; --osomo-status-text: #115e59; }
.osomo-dashboard-operation-distribution .is-yellow, .osomo-dashboard-operation-status.is-yellow { --osomo-status-tone: #fbbf24; --osomo-status-text: #854d0e; }
.osomo-dashboard-operation-distribution .is-orange, .osomo-dashboard-operation-status.is-orange { --osomo-status-tone: #fb923c; --osomo-status-text: #9a3412; }
.osomo-dashboard-operation-distribution .is-green, .osomo-dashboard-operation-status.is-green { --osomo-status-tone: #4ade80; --osomo-status-text: #166534; }
.osomo-dashboard-operation-distribution .is-red, .osomo-dashboard-operation-status.is-red { --osomo-status-tone: #f87171; --osomo-status-text: #991b1b; }
.osomo-dashboard-operation-distribution .is-gray, .osomo-dashboard-operation-status.is-gray, .osomo-dashboard-operation-distribution .is-secondary, .osomo-dashboard-operation-status.is-secondary { --osomo-status-tone: #94a3b8; --osomo-status-text: #475569; }
.osomo-dashboard-operation-distribution .is-tone-muted { background: var(--cui-border-color); }
.osomo-dashboard-operation-statuses { display: grid; gap: 0.45rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.osomo-dashboard-operation-status { --osomo-status-tone: var(--osomo-operation-accent); --osomo-status-text: var(--osomo-status-tone); align-items: center; background: color-mix(in srgb, var(--osomo-status-tone) 13%, var(--cui-card-bg)); border: 1px solid color-mix(in srgb, var(--osomo-status-tone) 62%, var(--cui-border-color)); border-inline-start: 4px solid var(--osomo-status-tone); border-radius: var(--cui-border-radius); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--osomo-status-tone) 8%, transparent); color: var(--cui-body-color); display: grid; gap: 0.35rem 0.45rem; grid-template-columns: minmax(0, 1fr) auto; min-height: 3.55rem; min-width: 0; padding: 0.55rem 0.6rem; text-decoration: none; transition: background-color 0.15s ease, border-color 0.15s ease; }
.osomo-dashboard-operation-status:hover { background: color-mix(in srgb, var(--osomo-status-tone) 19%, var(--cui-card-bg)); border-color: var(--osomo-status-tone); color: var(--cui-emphasis-color); }
.osomo-dashboard-operation-status > span { font-size: 0.9rem; font-weight: 750; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.osomo-dashboard-operation-status > strong { color: var(--osomo-status-text); font-size: 1.04rem; grid-column: 2; grid-row: 1; line-height: 1; }
.osomo-dashboard-operation-status > i { background: color-mix(in srgb, var(--cui-border-color) 65%, transparent); border-radius: 999px; display: block; grid-column: 1 / -1; height: 0.2rem; overflow: hidden; }
.osomo-dashboard-operation-status > i > b { background: var(--osomo-status-tone); display: block; height: 100%; min-width: 0.16rem; }
[data-coreui-theme=dark] .osomo-dashboard-operation-status { --osomo-status-text: var(--osomo-status-tone); }
.osomo-dashboard-operation-empty { color: var(--cui-secondary-color); font-size: 0.8rem; padding-top: 0.8rem; }

.osomo-dashboard-status-total {
  align-items: baseline;
  border-bottom: 1px solid var(--cui-border-color);
  display: flex;
  gap: 0.55rem;
  margin-top: 1.1rem;
  padding-bottom: 1rem;
}

.osomo-dashboard-status-total strong {
  color: var(--cui-emphasis-color);
  font-size: 2rem;
  line-height: 1;
}

.osomo-dashboard-status-total span {
  color: var(--cui-secondary-color);
  font-size: 0.78rem;
}

.osomo-dashboard-status-list {
  display: grid;
  gap: 0.8rem;
  margin-top: 1rem;
}

.osomo-dashboard-status-row {
  display: grid;
  gap: 0.35rem;
  grid-template-columns: minmax(0, 1fr) auto;
}

.osomo-dashboard-status-row > div:first-child {
  align-items: center;
  display: flex;
  gap: 0.45rem;
  min-width: 0;
}

.osomo-dashboard-status-row > span {
  color: var(--cui-emphasis-color);
  font-size: 0.82rem;
  font-weight: 700;
}

.osomo-dashboard-status-row > span small {
  color: var(--cui-secondary-color);
  font-weight: 500;
}

.osomo-dashboard-status-row .progress {
  grid-column: 1 / -1;
}

.osomo-status-dot {
  background: var(--cui-primary);
  border-radius: 50%;
  display: inline-block;
  height: 0.55rem;
  width: 0.55rem;
}

.osomo-status-dot.is-success { background: var(--cui-success); }
.osomo-status-dot.is-warning { background: var(--cui-warning); }
.osomo-status-dot.is-danger { background: var(--cui-danger); }

.osomo-dashboard-trend {
  display: grid;
  gap: 1.1rem;
  margin-top: 1.2rem;
}

.osomo-dashboard-trend-series + .osomo-dashboard-trend-series {
  border-top: 1px solid var(--cui-border-color);
  padding-top: 1.1rem;
}

.osomo-dashboard-trend-year-summary { display: grid; gap: 0.65rem; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.osomo-dashboard-trend-year-summary > div { background: color-mix(in srgb, var(--cui-primary) 6%, var(--cui-card-bg)); border: 1px solid color-mix(in srgb, var(--cui-primary) 21%, var(--cui-border-color)); border-radius: var(--cui-border-radius); display: grid; gap: 0.18rem; grid-column: span 3; min-width: 0; padding: 0.6rem 0.7rem; }
.osomo-dashboard-trend-year-summary > div.is-forecast { background: color-mix(in srgb, var(--cui-success) 8%, var(--cui-card-bg)); border-color: color-mix(in srgb, var(--cui-success) 26%, var(--cui-border-color)); }
.osomo-dashboard-trend-year-summary > div.is-project { background: color-mix(in srgb, #38bdf8 11%, var(--cui-card-bg)); border-color: color-mix(in srgb, #38bdf8 42%, var(--cui-border-color)); grid-column: span 2; }
.osomo-dashboard-trend-year-summary > div.is-commission { background: color-mix(in srgb, #fbbf24 13%, var(--cui-card-bg)); border-color: color-mix(in srgb, #fbbf24 48%, var(--cui-border-color)); grid-column: span 2; }
.osomo-dashboard-trend-year-summary > div.is-next-year { background: color-mix(in srgb, #2dd4bf 11%, var(--cui-card-bg)); border-color: color-mix(in srgb, #2dd4bf 44%, var(--cui-border-color)); grid-column: span 2; }
.osomo-dashboard-trend-year-summary span, .osomo-dashboard-trend-year-summary small { color: var(--cui-secondary-color); font-size: 0.68rem; }
.osomo-dashboard-trend-year-summary strong { color: var(--cui-emphasis-color); font-size: 1rem; font-variant-numeric: tabular-nums; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.osomo-dashboard-trend-year-summary .is-forecast strong { color: var(--cui-success); }
.osomo-dashboard-trend-year-summary .is-project strong { color: #075985; }
.osomo-dashboard-trend-year-summary .is-commission strong { color: #854d0e; }
.osomo-dashboard-trend-year-summary .is-next-year strong { color: #115e59; }
[data-coreui-theme=dark] .osomo-dashboard-trend-year-summary .is-project strong { color: #38bdf8; }
[data-coreui-theme=dark] .osomo-dashboard-trend-year-summary .is-commission strong { color: #fbbf24; }
[data-coreui-theme=dark] .osomo-dashboard-trend-year-summary .is-next-year strong { color: #2dd4bf; }
.osomo-dashboard-trend-comparison { align-items: center; display: flex; flex-wrap: wrap; font-size: 0.65rem !important; gap: 0.28rem; line-height: 1.3; }
.osomo-dashboard-trend-comparison b { border-radius: 999px; font-weight: 750; padding: 0.12rem 0.32rem; }
.osomo-dashboard-trend-comparison b.is-up { background: color-mix(in srgb, var(--cui-success) 15%, transparent); color: var(--cui-success); }
.osomo-dashboard-trend-comparison b.is-down { background: color-mix(in srgb, var(--cui-danger) 15%, transparent); color: var(--cui-danger); }
.osomo-dashboard-trend-comparison b.is-flat { background: var(--cui-tertiary-bg); color: var(--cui-secondary-color); }
.osomo-dashboard-trend-comparison.is-unavailable { color: var(--cui-secondary-color); }
.osomo-dashboard-bars {
  align-items: end;
  display: grid;
  gap: 0.55rem;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  height: 13.5rem;
  margin-top: 0.8rem;
}

.osomo-dashboard-bar-group {
  display: grid;
  gap: 0.32rem;
  grid-template-rows: 8.3rem auto auto;
  min-width: 0;
  text-align: center;
}

.osomo-dashboard-bar-track {
  align-items: end;
  background: color-mix(in srgb, var(--cui-primary) 8%, var(--cui-body-bg));
  border-radius: 0.45rem 0.45rem 0.2rem 0.2rem;
  display: grid;
  gap: 0.2rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  height: 100%;
  overflow: hidden;
  padding: 0.22rem 0.22rem 0;
}

.osomo-dashboard-bar-track span {
  border-radius: 0.4rem 0.4rem 0.12rem 0.12rem;
  display: block;
  min-height: 0.22rem;
  transition: height 0.2s ease;
  width: 100%;
}
.osomo-dashboard-bar-track span.is-current { background: linear-gradient(180deg, var(--cui-info), var(--cui-primary)); }
.osomo-dashboard-bar-track span.is-previous { background: color-mix(in srgb, var(--cui-secondary) 70%, var(--cui-body-bg)); }

.osomo-dashboard-bar-group strong {
  color: var(--cui-emphasis-color);
  font-size: 0.9rem;
  font-weight: 760;
}

.osomo-dashboard-bar-values { display: grid; gap: 0.04rem; min-width: 0; }
.osomo-dashboard-bar-group small {
  color: var(--cui-secondary-color);
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums;
  font-weight: 720;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.osomo-dashboard-bar-values small:first-child { color: var(--cui-emphasis-color); }
.osomo-dashboard-trend-disclosure { background: color-mix(in srgb, var(--cui-warning) 9%, var(--cui-card-bg)); border-inline-start: 3px solid var(--cui-warning); color: var(--cui-secondary-color); font-size: 0.74rem; margin: 0; padding: 0.55rem 0.7rem; }

.osomo-dashboard-table-card .card-header {
  background: transparent;
  border-bottom-color: var(--cui-border-color);
  padding: 1rem 1.15rem;
}

.osomo-dashboard-collection-card .card-header { background: transparent; border-bottom-color: var(--cui-border-color); padding: 0.9rem 1rem; }
.osomo-dashboard-collection-list { display: grid; }
.osomo-dashboard-collection-row { --osomo-collection-tone: var(--cui-secondary); align-items: center; background: transparent; border: 0; border-bottom: 1px solid var(--cui-border-color); border-inline-start: 3px solid var(--osomo-collection-tone); color: var(--cui-body-color); display: grid; gap: 0.55rem; grid-template-columns: minmax(0, 1fr) auto auto auto; padding: 0.62rem 0.85rem; text-align: start; transition: background-color 0.15s ease, border-color 0.15s ease; width: 100%; }
.osomo-dashboard-collection-row:last-child { border-bottom: 0; }
.osomo-dashboard-collection-row:hover { background: color-mix(in srgb, var(--osomo-collection-tone) 8%, transparent); }
.osomo-dashboard-collection-row:focus-visible { outline: 2px solid var(--cui-primary); outline-offset: -2px; }
.osomo-dashboard-collection-row:disabled { cursor: default; opacity: 0.62; }
.osomo-dashboard-collection-copy { display: grid; gap: 0.16rem; min-width: 0; }
.osomo-dashboard-collection-copy strong { color: var(--cui-emphasis-color); font-size: 0.88rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.osomo-dashboard-collection-copy small { color: var(--cui-secondary-color); font-size: 0.73rem; }
.osomo-dashboard-collection-state { background: color-mix(in srgb, var(--osomo-collection-tone) 12%, var(--cui-card-bg)); border-radius: 999px; color: var(--osomo-collection-tone); font-size: 0.66rem; font-weight: 750; line-height: 1; padding: 0.26rem 0.45rem; white-space: nowrap; }
.osomo-dashboard-collection-row.is-danger { --osomo-collection-tone: var(--cui-danger); }
.osomo-dashboard-collection-row.is-warning { --osomo-collection-tone: var(--cui-warning); }
.osomo-dashboard-collection-row.is-success { --osomo-collection-tone: var(--cui-success); }
.osomo-dashboard-collection-row.is-secondary { --osomo-collection-tone: var(--cui-secondary); }
.osomo-dashboard-collection-row:is(.is-danger, .is-warning, .is-success) .osomo-dashboard-collection-copy small { color: var(--osomo-collection-tone); font-weight: 700; }
.osomo-dashboard-collection-amount { color: var(--cui-emphasis-color); font-size: 0.86rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.osomo-dashboard-collection-row > .icon { color: var(--cui-secondary-color); height: 0.9rem; width: 0.9rem; }

.osomo-dashboard-payment-detail-summary { display: grid; gap: 0.75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.osomo-dashboard-payment-detail-summary > div { background: var(--cui-tertiary-bg); border: 1px solid var(--cui-border-color); border-radius: var(--cui-border-radius); display: grid; gap: 0.18rem; padding: 0.7rem; }
.osomo-dashboard-payment-detail-summary span { color: var(--cui-secondary-color); font-size: 0.68rem; }
.osomo-dashboard-payment-detail-summary strong { color: var(--cui-emphasis-color); font-size: 0.86rem; overflow-wrap: anywhere; }
.osomo-dashboard-payment-detail-installments, .osomo-dashboard-payment-detail-note { border-top: 1px solid var(--cui-border-color); margin-top: 1.1rem; padding-top: 1rem; }
.osomo-dashboard-payment-detail-installments h3, .osomo-dashboard-payment-detail-note h3 { color: var(--cui-emphasis-color); font-size: 0.9rem; margin: 0 0 0.65rem; }
.osomo-dashboard-payment-detail-installments ul { list-style: none; margin: 0; padding: 0; }
.osomo-dashboard-payment-detail-installments li { align-items: center; border-bottom: 1px solid var(--cui-border-color); display: flex; gap: 0.75rem; justify-content: space-between; padding: 0.65rem 0; }
.osomo-dashboard-payment-detail-installments li:last-child { border-bottom: 0; }
.osomo-dashboard-payment-detail-installments li > div { display: grid; gap: 0.15rem; min-width: 0; }
.osomo-dashboard-payment-detail-installments li > div:last-child { align-items: end; flex: 0 0 auto; }
.osomo-dashboard-payment-detail-installments li strong { color: var(--cui-emphasis-color); font-size: 0.83rem; }
.osomo-dashboard-payment-detail-installments li small, .osomo-dashboard-payment-detail-note p { color: var(--cui-secondary-color); font-size: 0.75rem; margin: 0; }

.osomo-dashboard-table-card .table-responsive { overflow: visible; }

.osomo-dashboard-table {
  --cui-table-bg: transparent;
  --cui-table-color: var(--cui-body-color);
  --cui-table-hover-bg: color-mix(in srgb, var(--cui-primary) 5%, transparent);
}

.osomo-dashboard-table thead th {
  background: color-mix(in srgb, var(--cui-primary) 5%, var(--cui-card-bg));
  border-bottom-color: var(--cui-border-color);
  color: var(--cui-secondary-color);
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 0.75rem 1.15rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.osomo-dashboard-table tbody td {
  border-bottom-color: var(--cui-border-color);
  color: var(--cui-body-color);
  font-size: 0.84rem;
  padding: 0.85rem 1.15rem;
}

.osomo-dashboard-table tbody tr:last-child td { border-bottom: 0; }
.osomo-dashboard-table tbody strong { color: var(--cui-emphasis-color); }

.osomo-status-chip {
  background: color-mix(in srgb, var(--cui-primary) 13%, transparent);
  border: 1px solid color-mix(in srgb, var(--cui-primary) 35%, transparent);
  border-radius: 999px;
  color: var(--cui-primary);
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.23rem 0.54rem;
  white-space: nowrap;
}

.osomo-status-chip.is-danger {
  background: color-mix(in srgb, var(--cui-danger) 12%, transparent);
  border-color: color-mix(in srgb, var(--cui-danger) 35%, transparent);
  color: var(--cui-danger);
}

.osomo-dashboard-empty {
  background: color-mix(in srgb, var(--cui-primary) 5%, var(--cui-card-bg));
  border: 1px dashed var(--cui-border-color);
  border-radius: var(--cui-border-radius);
  color: var(--cui-secondary-color);
  font-size: 0.84rem;
  padding: 1rem;
  text-align: center;
}

.osomo-dashboard-empty.is-compact {
  border: 0;
  border-radius: 0;
  padding: 0.8rem;
}

.osomo-dashboard-notices .alert {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-size: 0.79rem;
  gap: 0.4rem;
}

.osomo-dashboard-notice-separator { color: var(--cui-warning); }

@media (max-width: 767.98px) {
  #dashboardPaymentWidgets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .osomo-dashboard-operations { grid-template-columns: 1fr; }
  .osomo-dashboard-widget { min-height: 8.4rem; }
  .osomo-dashboard-bars { gap: 0.35rem; }
  .osomo-dashboard-bar-group strong { font-size: 0.78rem; }
  .osomo-dashboard-bar-group small { font-size: 0.73rem; }
  .osomo-dashboard-table-card .table-responsive { overflow: visible; }
  .osomo-dashboard-table,
  .osomo-dashboard-table tbody,
  .osomo-dashboard-table tr,
  .osomo-dashboard-table td { display: block; width: 100%; }
  .osomo-dashboard-table thead { display: none; }
  .osomo-dashboard-table tbody { padding: 0.6rem; }
  .osomo-dashboard-table tbody tr {
    border: 1px solid var(--cui-border-color);
    border-radius: var(--cui-border-radius);
    margin-bottom: 0.6rem;
    overflow: hidden;
    padding: 0.35rem 0.75rem;
  }
  .osomo-dashboard-table tbody tr:last-child { margin-bottom: 0; }
  .osomo-dashboard-table tbody td {
    align-items: baseline;
    border-bottom: 1px solid color-mix(in srgb, var(--cui-border-color) 75%, transparent);
    display: flex;
    justify-content: space-between;
    padding: 0.48rem 0;
    text-align: start !important;
  }
  .osomo-dashboard-table tbody td::before {
    color: var(--cui-secondary-color);
    content: attr(data-label);
    flex: 0 0 6.1rem;
    font-size: 0.68rem;
    font-weight: 700;
  }
  .osomo-dashboard-table tbody td:last-child { border-bottom: 0; }
}

@media (max-width: 575.98px) {
  #dashboardPaymentWidgets { grid-template-columns: 1fr; }
  .osomo-dashboard-operation-statuses { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .osomo-dashboard-trend-year-summary { grid-template-columns: 1fr; }
  .osomo-dashboard-trend-year-summary > div,
  .osomo-dashboard-trend-year-summary > div.is-project,
  .osomo-dashboard-trend-year-summary > div.is-commission,
  .osomo-dashboard-trend-year-summary > div.is-next-year { grid-column: span 1; }
  .osomo-dashboard-collection-row { gap: 0.55rem; padding: 0.75rem; }
  .osomo-dashboard-collection-row > .icon { display: none; }
  .osomo-dashboard-payment-detail-summary { grid-template-columns: 1fr; }
}

/* System workspace: compact CoreUI surfaces shared by settings, support and audit. */
.osomo-system-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.osomo-system-tabs .nav-link,
.osomo-subtabs .nav-link {
  border: 1px solid transparent;
  border-radius: var(--cui-border-radius);
  color: var(--cui-secondary-color);
  font-weight: 650;
  padding: 0.5rem 0.8rem;
}

.osomo-system-tabs .nav-link:hover,
.osomo-subtabs .nav-link:hover {
  background: var(--cui-tertiary-bg);
  color: var(--cui-emphasis-color);
}

.osomo-system-tabs .nav-link.active,
.osomo-subtabs .nav-link.active {
  background: var(--cui-primary);
  color: var(--cui-white);
}

.osomo-system-tabs .badge {
  margin-inline-start: 0.35rem;
}

/* "העסק שלי" is a self-contained workspace, not another System tab. */
.osomo-system-panel {
  min-inline-size: 0;
}

/*
 * Route boundary: the My Business form lives in the shared System document so
 * it can reuse the established authenticated shell, but it must never bleed
 * into the operational System routes.  The JS panel state already applies
 * `hidden`; this is a deliberate second, CSS-level containment layer in case
 * a later page-level style changes Bootstrap's utility visibility.
 */
body:not(.osomo-business-solo) #systemPanelBusiness {
  display: none !important;
}

.osomo-business-solo .osomo-system-tabs {
  display: none;
}

.osomo-business-solo .osomo-section-card > .card-header {
  display: none;
}

.osomo-business-solo .osomo-section-card > .card-body {
  padding-block: 1.5rem;
}

.osomo-business-solo .osomo-system-panel:not(#systemPanelBusiness) {
  display: none !important;
}

/* My Business → Documents: CoreUI-style data grid for the customer PDF order. */
.osomo-business-documents-head {
  margin-bottom: 1rem;
}

.osomo-business-documents-template {
  max-inline-size: 46rem;
}

.osomo-business-template-upload-head {
  align-items: flex-start;
  display: flex;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.osomo-business-template-upload-icon {
  align-items: center;
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--cui-border-radius);
  color: var(--cui-primary);
  display: inline-flex;
  flex: 0 0 auto;
  height: 2.5rem;
  justify-content: center;
  width: 2.5rem;
}

.osomo-business-template-upload-icon .icon {
  height: 1.2rem;
  width: 1.2rem;
}

.osomo-business-documents-grid {
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--cui-border-radius-lg);
  overflow: hidden;
}

.osomo-business-documents-grid .table-responsive {
  overflow-x: auto;
}

.osomo-business-documents-grid-tools {
  align-items: center;
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-bottom: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 0.9rem;
  justify-content: space-between;
  padding: 0.48rem 0.68rem;
}

.osomo-business-documents-grid-tools .btn {
  align-items: center;
  display: inline-flex;
  gap: 0.3rem;
  justify-content: center;
}

.osomo-business-documents-grid-tools .icon {
  height: 0.9rem;
  width: 0.9rem;
}

.osomo-business-documents-table {
  --osomo-business-document-col-order: 76px;
  --osomo-business-document-col-name: 320px;
  --osomo-business-document-col-tag: 112px;
  --osomo-business-document-col-image: 90px;
  --osomo-business-document-col-color: 72px;
  --osomo-business-document-col-size: 112px;
  --osomo-business-document-col-status: 160px;
  --osomo-business-document-col-preview: 132px;
  color: var(--cui-body-color);
  margin: 0;
  table-layout: fixed;
  min-width: 100%;
  width: max-content;
}

.osomo-business-documents-table col[data-document-grid-column="order"] { width: var(--osomo-business-document-col-order); }
.osomo-business-documents-table col[data-document-grid-column="name"] { width: var(--osomo-business-document-col-name); }
.osomo-business-documents-table col[data-document-grid-column="tag"] { width: var(--osomo-business-document-col-tag); }
.osomo-business-documents-table col[data-document-grid-column="image"] { width: var(--osomo-business-document-col-image); }
.osomo-business-documents-table col[data-document-grid-column="color"] { width: var(--osomo-business-document-col-color); }
.osomo-business-documents-table col[data-document-grid-column="size"] { width: var(--osomo-business-document-col-size); }
.osomo-business-documents-table col[data-document-grid-column="status"] { width: var(--osomo-business-document-col-status); }
.osomo-business-documents-table col[data-document-grid-column="preview"] { width: var(--osomo-business-document-col-preview); }

.osomo-business-documents-table > :not(caption) > * > * {
  background: transparent;
  border-color: var(--cui-border-color);
  color: inherit;
  padding: 0.66rem 0.68rem;
  vertical-align: middle;
}

.osomo-business-documents-table > :not(caption) > * > * + * {
  border-inline-start: 1px solid var(--cui-border-color);
}

.osomo-business-documents-table thead th {
  background: var(--cui-body-bg);
  color: var(--cui-secondary-color);
  font-size: 0.74rem;
  font-weight: 700;
  padding-block: 0.56rem;
}

.osomo-business-documents-index {
  text-align: center;
}

.osomo-business-documents-tag {
  text-align: center;
  white-space: nowrap;
}

.osomo-business-documents-status {
  text-align: center;
  white-space: nowrap;
}

.osomo-business-documents-text-color {
  text-align: center;
}

.osomo-business-documents-image-cell {
  align-items: center;
  display: inline-flex;
  flex-direction: column;
  gap: 0.3rem;
  line-height: 1;
  max-inline-size: 100%;
}

.osomo-business-documents-image-thumb {
  display: inline-flex;
  position: relative;
}

.osomo-business-documents-image-action {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  min-block-size: 2.7rem;
  min-inline-size: 4rem;
  padding: 0.12rem;
}

.osomo-business-documents-image-remove {
  align-items: center;
  background: transparent !important;
  block-size: 1.3rem;
  border: 0 !important;
  border-radius: 0;
  box-shadow: none !important;
  color: var(--cui-danger);
  display: inline-flex;
  inline-size: 1.3rem;
  inset-block-start: -0.38rem;
  inset-inline-end: -0.38rem;
  justify-content: center;
  min-block-size: 1.3rem;
  min-inline-size: 1.3rem;
  padding: 0;
  position: absolute;
  z-index: 1;
}

.osomo-business-documents-image-remove-icon {
  block-size: 1.22rem;
  display: block;
  inline-size: 1.22rem;
  overflow: visible;
}

.osomo-business-documents-image-remove:hover,
.osomo-business-documents-image-remove:focus-visible {
  background: transparent !important;
  color: var(--cui-danger) !important;
}

.osomo-business-documents-image-action img {
  block-size: 2.35rem;
  border: 1px solid var(--cui-border-color);
  border-radius: calc(var(--cui-border-radius) - 0.1rem);
  display: block;
  inline-size: 3.65rem;
  object-fit: cover;
}

.osomo-business-documents-image-action .icon {
  block-size: 1.1rem;
  inline-size: 1.1rem;
}

.osomo-business-documents-text-size {
  text-align: center;
}

.osomo-business-document-column-header {
  align-items: center;
  display: flex;
  gap: 0.35rem;
  justify-content: center;
  min-width: 0;
  position: relative;
}

.osomo-business-document-column-header.is-filterable {
  align-items: stretch;
  display: grid;
  gap: 0.28rem;
  grid-template-columns: minmax(0, 1fr);
  text-align: inherit;
}

.osomo-business-document-column-header.is-filterable > span:first-child {
  line-height: 1;
}

.osomo-business-documents-header-filter {
  font-size: 0.72rem;
  min-width: 0;
  width: 100%;
}

.osomo-business-documents-header-filter .form-control,
.osomo-business-documents-header-filter .btn,
.osomo-business-documents-header-filter.form-select {
  min-height: 1.85rem;
}

.osomo-business-documents-header-filter .btn {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  padding-inline: 0.38rem;
}

.osomo-business-documents-header-filter .icon {
  height: 0.9rem;
  width: 0.9rem;
}

.osomo-business-documents-column-reset {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  padding: 0.16rem;
}

.osomo-business-documents-column-reset .icon {
  height: 0.9rem;
  width: 0.9rem;
}

.osomo-business-documents-column-resize {
  align-items: center;
  background: var(--cui-tertiary-bg);
  border-inline: 1px solid var(--cui-border-color);
  border-radius: var(--cui-border-radius-sm);
  color: var(--cui-secondary-color);
  cursor: col-resize;
  display: inline-flex;
  inset-block: -0.55rem;
  inset-inline-start: -0.48rem;
  justify-content: center;
  position: absolute;
  touch-action: none;
  width: 0.82rem;
  z-index: 2;
}

.osomo-business-documents-column-resize::before {
  content: "⋮";
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1;
}

.osomo-business-documents-column-resize::after {
  background: var(--cui-border-color);
  content: "";
  inset-block: 0.32rem;
  inset-inline-start: 0.38rem;
  position: absolute;
  transition: background-color 0.15s ease;
  width: 2px;
}

.osomo-business-documents-column-resize:hover::after,
.osomo-business-documents-column-resize:focus-visible::after {
  background: var(--cui-primary);
}

.osomo-business-documents-column-resize:focus-visible {
  outline: 0;
}

.osomo-business-documents-tag .chip {
  justify-content: center;
  max-inline-size: 100%;
}

.osomo-business-documents-size-select {
  inline-size: 6.3rem;
  max-inline-size: 100%;
  padding-inline-end: 1.65rem;
  padding-inline-start: 0.7rem;
}

.osomo-business-documents-table td:nth-child(5) {
  white-space: nowrap;
}

.osomo-business-documents-table td:nth-child(8) {
  white-space: nowrap;
}

.osomo-business-documents-status .form-check {
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
  gap: 0.5rem;
  justify-content: center;
  margin: 0;
  min-block-size: 1.8rem;
  min-inline-size: 8.25rem;
  white-space: nowrap;
}

.osomo-business-documents-status-control {
  align-items: center;
  box-sizing: border-box;
  display: inline-flex;
  inline-size: 8.25rem;
  justify-content: center;
  min-block-size: 1.8rem;
  min-inline-size: 8.25rem;
}

.osomo-business-documents-status-control .form-check-input {
  float: none;
  margin: 0;
}

.osomo-business-documents-status-control .form-check.form-switch {
  padding-inline: 0;
}

.osomo-business-documents-status-control .form-check.form-switch .form-check-input {
  margin-inline: 0;
}

.osomo-business-documents-status-control .form-check-label {
  display: block;
  flex: 0 0 4rem;
  min-inline-size: 4rem;
  text-align: start;
}

.osomo-business-documents-status-always {
  justify-content: center;
}

.osomo-business-documents-table strong,
.osomo-business-documents-table .text-body-secondary {
  overflow-wrap: anywhere;
}

.osomo-business-documents-table tbody tr[draggable="true"] { cursor: grab; }
.osomo-business-documents-table tbody tr.is-dragging { cursor: grabbing; opacity: 0.52; }
.osomo-business-documents-table tbody tr.is-drag-over-before { box-shadow: inset 0 3px 0 var(--cui-primary); }
.osomo-business-documents-table tbody tr.is-drag-over-after { box-shadow: inset 0 -3px 0 var(--cui-primary); }

.osomo-business-documents-drag {
  align-items: center;
  color: var(--cui-secondary-color);
  display: inline-flex;
  gap: 0.35rem;
  justify-content: center;
  min-inline-size: 3.25rem;
}

.osomo-business-documents-drag:focus-visible {
  border-radius: var(--cui-border-radius-sm);
  outline: 2px solid var(--cui-primary);
  outline-offset: 0.2rem;
}

.osomo-business-documents-drag.is-disabled {
  cursor: default;
  opacity: 0.55;
}

.osomo-business-documents-move-actions {
  display: inline-flex;
  gap: 0.2rem;
  margin-inline-start: 0.35rem;
  vertical-align: middle;
}

.osomo-business-documents-move-actions .btn {
  padding: 0.18rem;
}

.osomo-business-documents-move-actions .icon {
  height: 0.95rem;
  width: 0.95rem;
}

@media (max-width: 767.98px) {
  .osomo-business-documents-head .btn { inline-size: 100%; }
  .osomo-business-documents-grid-tools { align-items: stretch; }
  .osomo-business-documents-grid-tools .btn { inline-size: 100%; }
  .osomo-business-documents-grid .table-responsive { overflow: visible; }
  .osomo-business-documents-column-resize { display: none; }
  .osomo-business-documents-table,
  .osomo-business-documents-table tbody,
  .osomo-business-documents-table tr,
  .osomo-business-documents-table td { display: block; width: 100%; }
  .osomo-business-documents-table colgroup { display: none; }
  .osomo-business-documents-table thead {
    background: var(--cui-body-bg);
    border-bottom: 1px solid var(--cui-border-color);
    display: block;
    padding: 0.55rem;
  }
  .osomo-business-documents-table thead tr {
    display: grid;
    gap: 0.45rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .osomo-business-documents-table thead th {
    border: 0;
    display: none;
    padding: 0;
  }
  .osomo-business-documents-table thead th:nth-child(2),
  .osomo-business-documents-table thead th:nth-child(3),
  .osomo-business-documents-table thead th:nth-child(7) { display: block; }
  .osomo-business-documents-table thead th:nth-child(2) { grid-column: 1 / -1; }
  .osomo-business-documents-table tbody { padding: 0.5rem; }
  .osomo-business-documents-table tbody tr {
    background: var(--cui-body-bg);
    border: 1px solid var(--cui-border-color);
    border-radius: var(--cui-border-radius);
    margin-bottom: 0.5rem;
    overflow: hidden;
  }
  .osomo-business-documents-table tbody tr:last-child { margin-bottom: 0; }
  .osomo-business-documents-table > tbody > tr > td {
    border: 0;
    padding: 0.45rem 0.6rem;
  }
  .osomo-business-documents-table > tbody > tr > td[data-label]::before {
    color: var(--cui-secondary-color);
    content: attr(data-label);
    display: block;
    font-size: 0.7rem;
    font-weight: 700;
    margin-bottom: 0.15rem;
  }
  .osomo-business-documents-index { text-align: start; width: 100%; }
  .osomo-business-template-upload-head { align-items: center; }
}

.osomo-system-panel-head {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1.25rem;
}

.osomo-system-panel-head h2 {
  color: var(--cui-emphasis-color);
  font-size: 1.15rem;
  font-weight: 720;
  margin: 0 0 0.2rem;
}

.osomo-system-panel-head p {
  color: var(--cui-secondary-color);
  font-size: 0.875rem;
  margin: 0;
  max-inline-size: 52rem;
}

.osomo-system-toolbar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-bottom: 1rem;
}

.osomo-system-toolbar .osomo-toolbar {
  flex: 1 1 17rem;
  max-inline-size: 34rem;
}

.osomo-system-toolbar > .form-select,
.osomo-system-toolbar > .form-control {
  flex: 0 1 11rem;
  min-inline-size: 9rem;
}

.osomo-table-wrap {
  border: 1px solid var(--cui-border-color);
  border-radius: var(--cui-border-radius-lg);
  max-inline-size: 100%;
  overflow-x: auto;
}

.osomo-system-table {
  color: var(--cui-body-color);
  min-inline-size: 46rem;
}

.osomo-system-table > :not(caption) > * > * {
  background: transparent;
  border-color: var(--cui-border-color);
  color: inherit;
  padding: 0.8rem 0.9rem;
}

.osomo-system-table thead th {
  background: var(--cui-tertiary-bg);
  color: var(--cui-secondary-color);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  white-space: nowrap;
}

.osomo-check-grid {
  display: grid;
  gap: 0.55rem;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}

.osomo-check-option {
  align-items: center;
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--cui-border-radius);
  color: var(--cui-body-color);
  display: flex;
  font-size: 0.85rem;
  gap: 0.55rem;
  min-inline-size: 0;
  padding: 0.65rem 0.75rem;
}

.osomo-check-option input { flex: 0 0 auto; }

.osomo-business-file-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.osomo-business-file-grid > article,
.osomo-document-order {
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--cui-border-radius-lg);
  padding: 1rem;
}

.osomo-file-state {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.osomo-file-list { border-top: 1px solid var(--cui-border-color); }

.osomo-file-row {
  align-items: center;
  border-bottom: 1px solid var(--cui-border-color);
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  padding: 0.75rem 0;
}

.osomo-file-row > div { min-inline-size: 0; }
.osomo-file-row strong,
.osomo-file-row span { display: block; overflow-wrap: anywhere; }
.osomo-file-row span { color: var(--cui-secondary-color); font-size: 0.78rem; margin-top: 0.15rem; }

.osomo-document-order-list { display: grid; gap: 0.45rem; }

.osomo-document-order-row {
  align-items: center;
  background: var(--cui-body-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--cui-border-radius);
  display: grid;
  gap: 0.75rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 0.55rem 0.7rem;
}

.osomo-document-order-row .form-check { margin: 0; min-block-size: 0; }
.osomo-document-order-name { min-inline-size: 0; }
.osomo-document-order-name strong,
.osomo-document-order-name span { display: block; overflow-wrap: anywhere; }
.osomo-document-order-name span { color: var(--cui-secondary-color); font-size: 0.75rem; margin-top: 0.12rem; }

.osomo-support-list,
.osomo-announcement-list { display: grid; gap: 0.65rem; }

.osomo-support-case {
  align-items: center;
  background: var(--cui-body-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--cui-border-radius-lg);
  color: var(--cui-body-color);
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  inline-size: 100%;
  padding: 0.9rem 1rem;
  text-align: inherit;
}

.osomo-support-case:hover { background: var(--cui-tertiary-bg); border-color: var(--cui-primary); }
.osomo-support-case strong,
.osomo-support-case span { display: block; overflow-wrap: anywhere; }
.osomo-support-case strong { font-size: 0.95rem; margin: 0.1rem 0; }
.osomo-support-case > div:first-child > span:last-child { color: var(--cui-secondary-color); font-size: 0.82rem; }
.osomo-support-case-meta { align-items: end; display: flex; flex-direction: column; gap: 0.35rem; white-space: nowrap; }
.osomo-support-case-meta small { color: var(--cui-secondary-color); font-size: 0.72rem; }

.osomo-support-thread { display: grid; gap: 0.6rem; }

.osomo-support-message {
  background: var(--cui-tertiary-bg);
  border-inline-start: 3px solid var(--cui-secondary-color);
  border-radius: var(--cui-border-radius);
  padding: 0.75rem 0.85rem;
}

.osomo-support-message.is-admin { border-inline-start-color: var(--cui-primary); }
.osomo-support-message > div { align-items: center; display: flex; gap: 0.6rem; justify-content: space-between; }
.osomo-support-message span { color: var(--cui-secondary-color); font-size: 0.73rem; }
.osomo-support-message p { color: var(--cui-body-color); margin: 0.45rem 0 0; overflow-wrap: anywhere; white-space: pre-wrap; }

.osomo-announcement {
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--cui-border-radius-lg);
  padding: 1rem 1.1rem;
}

.osomo-announcement > div { align-items: center; display: flex; gap: 0.55rem; }
.osomo-announcement time { color: var(--cui-secondary-color); font-size: 0.78rem; }
.osomo-announcement h3 { color: var(--cui-emphasis-color); font-size: 1rem; margin: 0.65rem 0 0.35rem; }
.osomo-announcement p { color: var(--cui-body-color); margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }

.osomo-detail-list { display: grid; gap: 0; margin: 0; }
.osomo-detail-list > div { border-bottom: 1px solid var(--cui-border-color); display: grid; gap: 1rem; grid-template-columns: 8rem minmax(0, 1fr); padding: 0.7rem 0; }
.osomo-detail-list > div:last-child { border-bottom: 0; }
.osomo-detail-list dt { color: var(--cui-secondary-color); font-weight: 600; }
.osomo-detail-list dd { color: var(--cui-body-color); margin: 0; overflow-wrap: anywhere; }

/* Owner AI workspace: conversation-first, with an unmistakable approval gate. */
.osomo-agent-boundary {
  align-items: center;
  color: var(--cui-secondary-color);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.78rem;
  gap: 0.45rem;
}

.osomo-agent-boundary > span:last-child {
  border-inline-start: 1px solid var(--cui-border-color);
  padding-inline-start: 0.45rem;
}

.osomo-agent-status-dot {
  background: var(--cui-success);
  border-radius: 50%;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cui-success) 16%, transparent);
  height: 0.45rem;
  width: 0.45rem;
}

.osomo-agent-status-dot.is-pending { background: var(--cui-warning); box-shadow: 0 0 0 3px color-mix(in srgb, var(--cui-warning) 18%, transparent); }

.osomo-agent-workspace .card-body { padding: 0; }

.osomo-agent-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(15.5rem, 21rem);
  min-block-size: 39rem;
}

.osomo-agent-chat {
  display: flex;
  flex-direction: column;
  min-block-size: 0;
  min-inline-size: 0;
}

.osomo-agent-chat-head {
  align-items: center;
  border-bottom: 1px solid var(--cui-border-color);
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  padding: 1rem 1.25rem;
}

.osomo-agent-chat-head h2 { color: var(--cui-emphasis-color); font-size: 1rem; font-weight: 720; margin: 0; }
.osomo-agent-chat-head p { color: var(--cui-secondary-color); font-size: 0.77rem; margin: 0.15rem 0 0; }

.osomo-agent-thread {
  background: var(--cui-body-bg);
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.85rem;
  min-block-size: 0;
  overflow-y: auto;
  padding: 1.25rem;
}

.osomo-agent-empty {
  align-items: center;
  color: var(--cui-body-color);
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: center;
  margin: auto;
  max-inline-size: 30rem;
  text-align: center;
}

.osomo-agent-empty-icon {
  align-items: center;
  background: color-mix(in srgb, var(--cui-primary) 12%, var(--cui-body-bg));
  border-radius: 50%;
  color: var(--cui-primary);
  display: inline-flex;
  font-size: 1.25rem;
  height: 2.85rem;
  justify-content: center;
  margin-bottom: 0.75rem;
  width: 2.85rem;
}

.osomo-agent-empty strong { color: var(--cui-emphasis-color); }
.osomo-agent-empty p { color: var(--cui-secondary-color); font-size: 0.88rem; line-height: 1.7; margin: 0.45rem 0 0; }

.osomo-agent-message { display: flex; max-inline-size: min(88%, 46rem); }
.osomo-agent-message.is-user { align-self: flex-start; }
.osomo-agent-message.is-assistant { align-self: flex-end; }

.osomo-agent-bubble {
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--cui-border-radius-lg);
  color: var(--cui-body-color);
  min-inline-size: 0;
  padding: 0.8rem 0.9rem;
}

.osomo-agent-message.is-user .osomo-agent-bubble { background: color-mix(in srgb, var(--cui-primary) 12%, var(--cui-body-bg)); border-color: color-mix(in srgb, var(--cui-primary) 28%, var(--cui-border-color)); }
.osomo-agent-bubble > .chip { margin-bottom: 0.45rem; }
.osomo-agent-bubble p { line-height: 1.65; margin: 0; overflow-wrap: anywhere; white-space: normal; }
.osomo-agent-message.is-thinking .osomo-agent-bubble { align-items: center; display: flex; gap: 0.5rem; }
.osomo-agent-message.is-thinking .spinner-border { color: var(--cui-primary); height: 0.9rem; width: 0.9rem; }

.osomo-agent-approval {
  background: var(--cui-body-bg);
  border: 1px solid color-mix(in srgb, var(--cui-warning) 55%, var(--cui-border-color));
  border-radius: var(--cui-border-radius);
  margin-top: 0.75rem;
  padding: 0.8rem;
}

.osomo-agent-approval-head { align-items: flex-start; display: flex; gap: 0.65rem; justify-content: space-between; }
.osomo-agent-approval-kicker { color: var(--cui-warning-text-emphasis); display: block; font-size: 0.7rem; font-weight: 720; letter-spacing: 0.025em; margin-bottom: 0.1rem; }
.osomo-agent-approval h3 { color: var(--cui-emphasis-color); font-size: 0.93rem; margin: 0; }
.osomo-agent-approval p { color: var(--cui-body-color); font-size: 0.83rem; line-height: 1.55; margin: 0.6rem 0; }
.osomo-agent-approval-records { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.osomo-agent-approval-records span { background: var(--cui-tertiary-bg); border-radius: 99rem; color: var(--cui-secondary-color); font-size: 0.72rem; padding: 0.22rem 0.5rem; }
.osomo-agent-approval-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.8rem; }

.osomo-agent-composer { border-top: 1px solid var(--cui-border-color); padding: 0.9rem 1.25rem 1rem; }
.osomo-agent-composer textarea { background: var(--cui-body-bg); min-block-size: 5rem; resize: vertical; }
.osomo-agent-composer-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 0.55rem; justify-content: flex-end; margin-top: 0.65rem; }
.osomo-agent-composer-actions > span:first-child { margin-inline-end: auto; }

.osomo-agent-guide {
  background: var(--cui-tertiary-bg);
  border-inline-start: 1px solid var(--cui-border-color);
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
  padding: 1.25rem;
}

.osomo-agent-kicker { color: var(--cui-primary); font-size: 0.72rem; font-weight: 720; letter-spacing: 0.08em; text-transform: uppercase; }
.osomo-agent-guide h2 { color: var(--cui-emphasis-color); font-size: 1.12rem; font-weight: 730; margin: 0.3rem 0; }
.osomo-agent-guide p { color: var(--cui-secondary-color); font-size: 0.84rem; line-height: 1.6; margin: 0; }
.osomo-agent-prompt-list { display: grid; gap: 0.45rem; }
.osomo-agent-prompt-list .btn { justify-content: flex-start; text-align: start; }
.osomo-agent-guide-note { border-top: 1px solid var(--cui-border-color); color: var(--cui-secondary-color); font-size: 0.8rem; line-height: 1.55; margin-top: auto; padding-top: 0.85rem; }
.osomo-agent-guide-note strong, .osomo-agent-guide-note span { display: block; }
.osomo-agent-guide-note strong { color: var(--cui-emphasis-color); margin-bottom: 0.2rem; }

/* Persistent, floating equivalent of the legacy studio assistant. */
.osomo-ai-dock {
  bottom: 1.25rem;
  direction: rtl;
  /* This is intentionally physical positioning: with RTL, logical
     inset-inline-start is the right edge.  The assistant's default home is
     bottom-left, while drag interactions can still move it anywhere safe. */
  inset-inline-start: auto;
  left: 1.25rem;
  position: fixed;
  right: auto;
  z-index: 1085;
}

.osomo-ai-dock-launcher {
  align-items: center;
  background: var(--cui-primary);
  border: 1px solid color-mix(in srgb, var(--cui-primary) 76%, var(--cui-border-color));
  border-radius: 99rem;
  box-shadow: 0 0.75rem 2rem color-mix(in srgb, var(--cui-emphasis-color) 20%, transparent);
  color: var(--cui-white);
  display: flex;
  gap: 0.65rem;
  min-inline-size: 9.25rem;
  padding: 0.52rem 0.8rem;
  text-align: start;
  touch-action: none;
  user-select: none;
  cursor: grab;
}

.osomo-ai-dock-launcher:hover { background: var(--cui-link-hover-color); }
.osomo-ai-dock.is-dragging .osomo-ai-dock-launcher { cursor: grabbing; }
.osomo-ai-dock-launcher-mark { align-items: center; background: color-mix(in srgb, var(--cui-white) 18%, transparent); border-radius: 50%; display: inline-flex; font-size: 1.05rem; height: 2rem; justify-content: center; width: 2rem; }
.osomo-ai-dock-launcher strong, .osomo-ai-dock-launcher small { display: block; }
.osomo-ai-dock-launcher strong { font-size: 0.86rem; }
.osomo-ai-dock-launcher small { font-size: 0.68rem; opacity: 0.82; }

.osomo-ai-dock-panel {
  background: var(--cui-body-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--cui-border-radius-lg);
  bottom: 0;
  box-shadow: 0 1.25rem 3rem color-mix(in srgb, var(--cui-emphasis-color) 26%, transparent);
  display: flex;
  flex-direction: column;
  height: min(42rem, calc(100vh - 2.5rem));
  overflow: hidden;
  position: absolute;
  left: 0;
  right: auto;
  width: min(25.5rem, calc(100vw - 2.5rem));
}

.osomo-ai-dock-panel.d-none + * { display: none; }
.osomo-ai-dock-head { align-items: flex-start; background: var(--cui-tertiary-bg); border-bottom: 1px solid var(--cui-border-color); cursor: grab; display: flex; gap: 0.75rem; justify-content: space-between; padding: 1rem; touch-action: none; user-select: none; }
.osomo-ai-dock.is-dragging .osomo-ai-dock-head { cursor: grabbing; }
.osomo-ai-dock-head button { cursor: pointer; touch-action: auto; }
.osomo-ai-dock-kicker { color: var(--cui-primary); display: block; font-size: 0.68rem; font-weight: 720; letter-spacing: 0.075em; text-transform: uppercase; }
.osomo-ai-dock-drag-handle { display: inline-block; font-size: 0.9rem; letter-spacing: 0; margin-inline-end: 0.32rem; opacity: 0.7; transform: rotate(90deg); }
.osomo-ai-dock-head h2 { color: var(--cui-emphasis-color); font-size: 1rem; font-weight: 720; margin: 0.18rem 0; }
.osomo-ai-dock-head p { align-items: center; color: var(--cui-secondary-color); display: flex; font-size: 0.72rem; gap: 0.32rem; margin: 0; }
.osomo-ai-dock-status-dot { background: var(--cui-success); border-radius: 50%; display: inline-block; height: 0.42rem; width: 0.42rem; }
.osomo-ai-dock-status-dot.is-pending { background: var(--cui-warning); }
.osomo-ai-dock-head-actions { display: flex; gap: 0.3rem; }

.osomo-ai-dock-thread { background: var(--cui-body-bg); display: flex; flex: 1 1 auto; flex-direction: column; gap: 0.7rem; min-block-size: 0; overflow-y: auto; padding: 0.9rem; }
.osomo-ai-dock-empty { align-items: center; color: var(--cui-body-color); display: flex; flex: 1 1 auto; flex-direction: column; justify-content: center; margin: auto; max-inline-size: 19rem; text-align: center; }
.osomo-ai-dock-empty strong { color: var(--cui-emphasis-color); font-size: 0.95rem; }
.osomo-ai-dock-empty p { color: var(--cui-secondary-color); font-size: 0.82rem; line-height: 1.55; margin: 0.45rem 0 0.75rem; }
.osomo-ai-dock-empty > div { display: flex; flex-wrap: wrap; gap: 0.35rem; justify-content: center; }
.osomo-ai-dock-empty button { background: var(--cui-tertiary-bg); border: 1px solid var(--cui-border-color); border-radius: 99rem; color: var(--cui-link-color); font-size: 0.72rem; padding: 0.35rem 0.55rem; }
.osomo-ai-dock-empty button:hover { border-color: var(--cui-primary); color: var(--cui-link-hover-color); }

/* The CoreUI primary/link purple does not carry enough contrast on the
   assistant's dark secondary surfaces. Keep the light theme's link treatment,
   but make the assistant label and its suggested prompts unambiguously white
   in dark mode. */
[data-coreui-theme="dark"] .osomo-ai-dock-kicker,
[data-coreui-theme="dark"] .osomo-ai-dock-empty button,
[data-coreui-theme="dark"] .osomo-ai-dock-empty button:hover,
[data-coreui-theme="dark"] .osomo-ai-dock-empty button:focus-visible {
  color: var(--cui-white);
}

.osomo-ai-dock-message { display: flex; max-inline-size: 92%; }
.osomo-ai-dock-message.is-user { align-self: flex-start; }
.osomo-ai-dock-message.is-assistant { align-self: flex-end; }
.osomo-ai-dock-message > div { background: var(--cui-tertiary-bg); border: 1px solid var(--cui-border-color); border-radius: var(--cui-border-radius); color: var(--cui-body-color); padding: 0.65rem 0.75rem; }
.osomo-ai-dock-message.is-user > div { background: color-mix(in srgb, var(--cui-primary) 12%, var(--cui-body-bg)); border-color: color-mix(in srgb, var(--cui-primary) 26%, var(--cui-border-color)); }
.osomo-ai-dock-message .chip { margin-bottom: 0.35rem; }
.osomo-ai-dock-message p { font-size: 0.84rem; line-height: 1.55; margin: 0; overflow-wrap: anywhere; }
.osomo-ai-dock-message .is-thinking { align-items: center; display: flex; gap: 0.45rem; }
.osomo-ai-dock-message .spinner-border { color: var(--cui-primary); height: 0.85rem; width: 0.85rem; }

.osomo-ai-dock-approval { background: var(--cui-body-bg); border: 1px solid color-mix(in srgb, var(--cui-warning) 56%, var(--cui-border-color)); border-radius: var(--cui-border-radius); margin-top: 0.65rem; padding: 0.65rem; }
.osomo-ai-dock-approval > div:first-child { display: grid; gap: 0.14rem; }
.osomo-ai-dock-approval > div:first-child > span { color: var(--cui-warning-text-emphasis); font-size: 0.66rem; font-weight: 720; }
.osomo-ai-dock-approval strong { color: var(--cui-emphasis-color); font-size: 0.84rem; }
.osomo-ai-dock-approval p { color: var(--cui-body-color); font-size: 0.78rem; margin: 0.45rem 0; }
.osomo-ai-dock-approval small { color: var(--cui-secondary-color); display: block; font-size: 0.7rem; overflow-wrap: anywhere; }
.osomo-ai-dock-approval footer { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.65rem; }

.osomo-ai-dock-composer { background: var(--cui-body-bg); border-top: 1px solid var(--cui-border-color); padding: 0.75rem; }
.osomo-ai-dock-composer textarea { background: var(--cui-body-bg); font-size: 0.85rem; min-block-size: 4.25rem; resize: vertical; }
.osomo-ai-dock-composer > div { align-items: center; display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: flex-end; margin-top: 0.45rem; }
.osomo-ai-dock-composer > div > span:first-child { margin-inline-end: auto; }

/* The account bubble can show the same private document logo used on
   customer-facing documents.  Contain it so a studio wordmark is never
   cropped, and fall back to the existing user initial when no logo exists. */
.osomo-user-avatar.is-business-logo {
  background: var(--cui-body-bg);
  border: 1px solid var(--cui-border-color);
  box-sizing: border-box;
  overflow: hidden;
  padding: 0.14rem;
}
.osomo-user-avatar.is-business-logo img {
  block-size: 100%;
  border-radius: inherit;
  display: block;
  inline-size: 100%;
  object-fit: contain;
}
.osomo-business-logo-state { min-block-size: 1.45rem; }
.osomo-business-logo-preview { align-items: center; display: flex; gap: 0.55rem; }
.osomo-business-logo-preview img {
  background: var(--cui-body-bg);
  block-size: 2.25rem;
  border: 1px solid var(--cui-border-color);
  border-radius: var(--cui-border-radius);
  inline-size: 3.5rem;
  object-fit: contain;
  padding: 0.18rem;
}
.osomo-document-image-modal-preview { align-items: center; display: flex; gap: 0.65rem; margin-top: 0.7rem; }
.osomo-document-image-modal-preview img {
  background: var(--cui-body-bg);
  block-size: 4.25rem;
  border: 1px solid var(--cui-border-color);
  border-radius: var(--cui-border-radius);
  inline-size: 6.5rem;
  object-fit: cover;
}

/* My Business → business details: group related owner settings without a new page shell. */
#systemPanelBusiness {
  --osomo-business-sticky-header-height: 0px;
  --osomo-business-sticky-main-tabs-height: 0px;
}
#systemPanelBusiness > .osomo-business-main-tabs {
  background: var(--cui-tertiary-bg);
  border-bottom: 1px solid var(--cui-border-color);
  inset-block-start: var(--osomo-business-sticky-header-height);
  margin-bottom: 0 !important;
  padding-block: 0.4rem 0.6rem;
  position: sticky;
  z-index: 7;
}
#systemPanelBusiness > .osomo-business-section-sticky-title {
  align-items: flex-start;
  background: var(--cui-tertiary-bg);
  border-bottom: 1px solid var(--cui-border-color);
  display: flex;
  gap: 1rem;
  inset-block-start: calc(var(--osomo-business-sticky-header-height) + var(--osomo-business-sticky-main-tabs-height));
  justify-content: space-between;
  margin-bottom: 1rem;
  padding-block: 0.7rem 0.85rem;
  position: sticky;
  z-index: 6;
}
#systemPanelBusiness > .osomo-business-section-sticky-title[hidden] { display: none; }
#systemPanelBusiness > .osomo-business-section-sticky-title h3 {
  color: var(--cui-emphasis-color);
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0;
}
#systemPanelBusiness > .osomo-business-section-sticky-title p {
  color: var(--cui-secondary-color);
  font-size: 0.78rem;
  margin: 0.25rem 0 0;
  max-inline-size: 48rem;
}
#systemPanelBusiness > .osomo-business-section-sticky-title > div:first-child { min-inline-size: 0; }
#systemPanelBusiness > .osomo-business-section-sticky-title .osomo-business-section-sticky-actions {
  align-items: center;
  align-self: center;
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 0.35rem;
  justify-content: flex-start;
}
#systemPanelBusiness [data-business-section-title-source] { display: none; }
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-profile-form {
  --osomo-business-sticky-detail-tabs-height: 0px;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-detail-tabs-row {
  align-items: center;
  background: var(--cui-tertiary-bg);
  border-bottom: 1px solid var(--cui-border-color);
  display: flex;
  gap: 0.5rem;
  inset-block-start: calc(var(--osomo-business-sticky-header-height) + var(--osomo-business-sticky-main-tabs-height));
  justify-content: flex-start;
  padding-block: 0.4rem 0.6rem;
  position: sticky;
  z-index: 6;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-detail-tabs-row .osomo-business-detail-tabs {
  flex: 0 1 37rem;
  margin-inline: 0;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-brand-actions {
  flex: 0 0 auto;
  margin-inline-start: 0;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-brand-actions .btn {
  inline-size: 4.2rem;
  min-block-size: 2rem;
  padding: 0.3rem 0.55rem;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-brand-actions .btn + .btn {
  margin-inline-start: 0.35rem;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-detail-tabs {
  display: grid;
  gap: 0.35rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  inline-size: min(100%, 37rem);
  margin-inline: 0 auto;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-detail-tabs .nav-link {
  border-color: var(--cui-border-color);
  display: flex;
  justify-content: center;
  font-size: 0.76rem;
  font-weight: 600;
  line-height: 1.2;
  min-block-size: 2.25rem;
  padding: 0.42rem 0.5rem;
  text-align: center;
  white-space: nowrap;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-detail-tabs .nav-link:hover {
  border-color: var(--cui-primary-border-subtle);
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-detail-tabs .nav-link.active {
  border-color: var(--cui-primary);
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-details-section {
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--cui-border-radius-lg);
  padding: 1.35rem;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-details-section-head {
  display: none;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-brand-sticky-title {
  align-items: flex-start;
  background: var(--cui-tertiary-bg);
  border-bottom: 1px solid var(--cui-border-color);
  display: flex;
  gap: 1rem;
  inset-block-start: calc(var(--osomo-business-sticky-header-height) + var(--osomo-business-sticky-main-tabs-height) + var(--osomo-business-sticky-detail-tabs-height));
  justify-content: space-between;
  margin-bottom: 1rem;
  padding-bottom: 0.85rem;
  position: sticky;
  z-index: 5;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-brand-sticky-title h3 {
  color: var(--cui-emphasis-color);
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-brand-sticky-title p {
  color: var(--cui-secondary-color);
  font-size: 0.78rem;
  margin: 0.25rem 0 0;
  max-inline-size: 48rem;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-brand-actions-host {
  align-self: center;
  flex: 0 0 auto;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-section-kicker {
  color: var(--cui-primary);
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  margin-bottom: 0.28rem;
  text-transform: uppercase;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-profile-shell {
  display: grid;
  gap: 1rem;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-profile-group {
  background: var(--cui-body-bg);
  border: 1px solid var(--cui-border-color-translucent);
  border-radius: var(--cui-border-radius-lg);
  display: grid;
  gap: 0.95rem;
  padding: 1rem;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-profile-group-head {
  align-items: start;
  display: flex;
  gap: 0.8rem;
  justify-content: space-between;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-profile-group-head h4 {
  color: var(--cui-emphasis-color);
  font-size: 0.84rem;
  font-weight: 700;
  margin: 0;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-profile-group-head p {
  color: var(--cui-secondary-color);
  font-size: 0.75rem;
  line-height: 1.45;
  margin: 0.2rem 0 0;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-details-section .form-label {
  font-size: 0.82rem;
  font-weight: 650;
  margin-bottom: 0.4rem;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-field {
  display: grid;
  gap: 0.45rem;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-field-head {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  min-block-size: 1.4rem;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-field-head .form-label,
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-field-head .form-check {
  margin: 0;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-field-head .form-check {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 0.35rem;
  white-space: nowrap;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-field-head .form-check-input {
  margin: 0;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-field-head .form-check-label {
  color: var(--cui-secondary-color);
  font-size: 0.74rem;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-field .form-text {
  margin: 0;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-field-divider {
  border-top: 1px solid var(--cui-border-color);
  margin-block: -0.15rem;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-logo-control {
  inline-size: min(100%, 42rem);
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-logo-state {
  margin-top: 0.1rem;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-logo-group {
  gap: 0.85rem;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-profile-image-group {
  gap: 0.85rem;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-profile-image-preview img {
  block-size: 3.2rem;
  inline-size: 4.8rem;
  object-fit: cover;
  padding: 0;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-group {
  gap: 1rem;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-card {
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color-translucent);
  border-radius: var(--cui-border-radius);
  display: grid;
  gap: 0.7rem;
  min-block-size: 100%;
  padding: 0.8rem;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-card-head,
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-platform {
  align-items: center;
  display: flex;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-card-head {
  gap: 0.7rem;
  justify-content: space-between;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-platform {
  gap: 0.55rem;
  min-inline-size: 0;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-platform .form-label {
  margin: 0;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-link {
  align-items: center;
  background: var(--cui-body-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--cui-border-radius);
  color: var(--cui-secondary-color);
  display: inline-flex;
  flex: 0 0 auto;
  justify-content: center;
  min-block-size: 2rem;
  min-inline-size: 2rem;
  text-decoration: none;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-link .icon,
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-link .icon use {
  color: inherit;
  fill: currentColor !important;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-link:hover,
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-link:focus-visible {
  background: var(--cui-tertiary-bg);
  border-color: currentColor;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-link.is-enabled {
  border-color: currentColor;
  opacity: 1;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-link.is-enabled[data-business-social-profile-link="facebook"] {
  color: #1877f2;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-link.is-enabled[data-business-social-profile-link="linkedin"] {
  color: #0a66c2;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-link.is-enabled[data-business-social-profile-link="instagram"] {
  color: #e4405f;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-link.is-enabled[data-business-social-profile-link="tiktok"] {
  color: #fe2c55;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-link.is-disabled {
  color: var(--cui-secondary-color);
  cursor: not-allowed;
  opacity: 0.58;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-link.is-disabled:focus-visible,
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-link.is-disabled:hover {
  background: var(--cui-body-bg);
  border-color: var(--cui-border-color);
  color: var(--cui-secondary-color);
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-card .form-check {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 0.35rem;
  margin: 0;
  white-space: nowrap;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-card .form-check-input {
  margin: 0;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-card .form-check-label {
  color: var(--cui-secondary-color);
  font-size: 0.74rem;
}
#systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-card .form-text {
  margin: 0;
}

@media (max-width: 767.98px) {
  .osomo-system-toolbar .osomo-toolbar,
  .osomo-system-toolbar > .form-select,
  .osomo-system-toolbar > .form-control { flex: 1 1 100%; max-inline-size: none; }
  .osomo-business-file-grid { grid-template-columns: 1fr; }
  #systemPanelBusiness > .osomo-business-section-sticky-title { align-items: stretch; flex-direction: column; gap: 0.55rem; }
  #systemPanelBusiness > .osomo-business-section-sticky-title .osomo-business-section-sticky-actions { align-self: stretch; }
  #systemPanelBusiness [data-business-panel="brand"] .osomo-business-details-section { padding: 1rem; }
  #systemPanelBusiness [data-business-panel="brand"] .osomo-business-profile-group { padding: 0.85rem; }
  .osomo-support-case { align-items: start; grid-template-columns: 1fr; }
  .osomo-support-case-meta { align-items: center; flex-direction: row; flex-wrap: wrap; justify-content: start; white-space: normal; }
  .osomo-agent-layout { grid-template-columns: 1fr; }
  .osomo-agent-guide { border-bottom: 1px solid var(--cui-border-color); border-inline-start: 0; gap: 0.9rem; order: 2; }
  .osomo-agent-chat { min-block-size: 34rem; }
}

@media (max-width: 575.98px) {
  #systemPanelBusiness [data-business-panel="brand"] .osomo-business-detail-tabs-row .osomo-business-detail-tabs {
    flex-basis: 100%;
  }
  #systemPanelBusiness [data-business-panel="brand"] .osomo-business-detail-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    inline-size: 100%;
  }
  #systemPanelBusiness [data-business-panel="brand"] .osomo-business-detail-tabs .nav-link {
    font-size: 0.74rem;
  }
  #systemPanelBusiness [data-business-panel="brand"] .osomo-business-social-card-head {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 575.98px) {
  .osomo-system-tabs .nav-link { flex: 1 1 calc(50% - 0.45rem); font-size: 0.82rem; text-align: center; }
  .osomo-system-panel-head .btn { inline-size: 100%; }
  .osomo-document-order-row { align-items: start; grid-template-columns: auto minmax(0, 1fr); }
  .osomo-document-order-row .btn-group { grid-column: 1 / -1; justify-self: stretch; }
  .osomo-document-order-row .btn { flex: 1 1 0; }
  .osomo-detail-list > div { gap: 0.25rem; grid-template-columns: 1fr; }
  .osomo-agent-layout { min-block-size: 0; }
  .osomo-agent-thread { min-block-size: 23rem; padding: 0.85rem; }
  .osomo-agent-message { max-inline-size: 96%; }
  .osomo-agent-chat-head, .osomo-agent-composer { padding-inline: 0.85rem; }
  .osomo-agent-composer-actions > span:first-child { flex-basis: 100%; }
  .osomo-agent-boundary { inline-size: 100%; }
  .osomo-ai-dock { bottom: 0.75rem; inset-inline-start: auto; left: 0.75rem; right: auto; }
  .osomo-ai-dock-panel { height: min(39rem, calc(100vh - 1.5rem)); width: min(25.5rem, calc(100vw - 1.5rem)); }
  .osomo-ai-dock-head { cursor: default; touch-action: auto; }
  .osomo-ai-dock-drag-handle { display: none; }
}

/* Task workspace: keeps task decisions compact without introducing a second visual system. */
.osomo-task-controls {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: space-between;
}
.osomo-task-filter-grid {
  align-items: center;
  display: grid;
  gap: 0.5rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: min(100%, 31rem);
}
.osomo-task-card {
  border-inline-start: 3px solid var(--cui-border-color);
}
.osomo-task-card:has(.chip-danger) {
  border-inline-start-color: var(--cui-danger);
}
.osomo-task-description {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.osomo-task-daily-grid {
  display: grid;
  gap: 0.9rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.osomo-task-daily-group,
.osomo-task-recurrence-preview {
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--osomo-radius);
  padding: 0.9rem;
}
.osomo-task-daily-list {
  display: grid;
  gap: 0.65rem;
}
.osomo-task-daily-row {
  align-items: center;
  border-top: 1px solid var(--cui-border-color);
  display: flex;
  gap: 0.65rem;
  justify-content: space-between;
  padding-top: 0.65rem;
}
.osomo-task-daily-row:first-child {
  border-top: 0;
  padding-top: 0;
}
.osomo-overdue-list {
  display: grid;
  gap: 0.75rem;
}
.osomo-overdue-row {
  align-items: center;
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-inline-start: 3px solid var(--cui-danger);
  border-radius: var(--osomo-radius);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 0.85rem 0.95rem;
}

/* Calendar: a compact workspace surface, built from the same CoreUI tokens as
   the boards and record directories. */
.osomo-calendar-filterbar {
  align-items: center;
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--osomo-radius);
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-bottom: 0.75rem;
  padding: 0.65rem;
}
.osomo-calendar-filterbar .form-select {
  flex: 1 1 10rem;
  max-width: 14rem;
}
.osomo-calendar-filterbar .form-check {
  align-items: center;
  display: inline-flex;
  gap: 0.35rem;
}
.osomo-calendar-nav-button {
  align-items: center;
  display: inline-flex;
  gap: 0.35rem;
  justify-content: center;
  min-inline-size: 5.7rem;
}
.osomo-calendar-navigation {
  direction: ltr;
}
.osomo-calendar-nav-button span[aria-hidden="true"] {
  font-size: 1rem;
  line-height: 1;
}
.osomo-calendar-nav-button.is-next {
  flex-direction: row;
}
.osomo-calendar-nav-button.is-previous {
  flex-direction: row;
}
.osomo-calendar-legend {
  align-items: center;
  color: var(--cui-secondary-color);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.76rem;
  gap: 0.9rem;
  margin: 0 0 0.9rem;
}
.osomo-calendar-legend span {
  align-items: center;
  display: inline-flex;
  gap: 0.35rem;
}
.osomo-calendar-legend i,
.osomo-calendar-dot {
  background: var(--cui-primary);
  border-radius: 999px;
  display: inline-block;
  flex: 0 0 auto;
  height: 0.52rem;
  width: 0.52rem;
}
.osomo-calendar-legend i.is-task,
.osomo-calendar-dot.is-task { background: var(--cui-info); }
.osomo-calendar-legend i.is-payment,
.osomo-calendar-dot.is-payment { background: var(--cui-warning); }
.osomo-calendar-legend i.is-followup,
.osomo-calendar-dot.is-followup { background: var(--cui-success); }
.osomo-calendar-legend i.is-project,
.osomo-calendar-dot.is-project { background: var(--cui-purple); }
.osomo-calendar-legend i.is-meeting,
.osomo-calendar-dot.is-meeting { background: var(--cui-indigo); }
.osomo-calendar-legend i.is-vendor,
.osomo-calendar-dot.is-vendor { background: var(--cui-teal); }
.osomo-calendar-legend i.is-document,
.osomo-calendar-dot.is-document { background: var(--cui-danger); }
.osomo-calendar-legend i.is-holiday,
.osomo-calendar-dot.is-holiday { background: var(--cui-secondary); }
.osomo-calendar-layout {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) minmax(15rem, 20rem);
}
.osomo-calendar-layout.is-week-focus {
  grid-template-columns: minmax(0, 1fr);
}
.osomo-calendar-layout.is-week-focus .osomo-calendar-agenda {
  display: none;
}
.osomo-calendar-week-mode .osomo-calendar-legend {
  display: none;
}
.osomo-calendar-week-mode .osomo-calendar-filterbar {
  margin-bottom: 0.55rem;
  padding-block: 0.45rem;
}
.osomo-calendar-main,
.osomo-calendar-agenda,
.osomo-calendar-full-list,
.osomo-calendar-type-list {
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--osomo-radius);
}
.osomo-calendar-main { overflow: hidden; }
.osomo-calendar-grid { min-width: 0; }
.osomo-calendar-period {
  align-items: center;
  border-bottom: 1px solid var(--cui-border-color);
  display: flex;
  justify-content: space-between;
  padding: 0.85rem 1rem;
}
.osomo-calendar-weekdays,
.osomo-calendar-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.osomo-calendar-weekdays {
  background: var(--cui-secondary-bg);
  border-bottom: 1px solid var(--cui-border-color);
  color: var(--cui-secondary-color);
  font-size: 0.75rem;
  font-weight: 700;
  text-align: center;
}
.osomo-calendar-weekdays span { padding: 0.5rem 0.2rem; }
.osomo-calendar-day {
  border-bottom: 1px solid var(--cui-border-color);
  border-inline-start: 1px solid var(--cui-border-color);
  cursor: crosshair;
  min-height: 8.15rem;
  padding: 0.35rem;
  transition: background-color 140ms ease, box-shadow 140ms ease;
}
.osomo-calendar-day:nth-child(7n) { border-inline-start: 0; }
.osomo-calendar-days.is-week {
  min-height: clamp(36rem, calc(100vh - 15rem), 56rem);
  grid-template-rows: minmax(0, 1fr);
}
.osomo-calendar-days.is-week .osomo-calendar-day {
  min-height: 0;
  padding: 0.55rem;
}
.osomo-calendar-days.is-week .osomo-calendar-day-events {
  gap: 0.35rem;
  margin-top: 0.45rem;
}
.osomo-calendar-days.is-week .osomo-calendar-event {
  font-size: 0.78rem;
  min-height: 2rem;
  padding: 0.35rem 0.45rem;
}
.osomo-week-timeline {
  --osomo-calendar-day-count: 7;
  --osomo-week-slots: 16;
  background: var(--cui-body-bg);
  border-top: 1px solid var(--cui-border-color);
  min-width: 0;
}
.osomo-week-time-head,
.osomo-week-all-day,
.osomo-week-time-body {
  display: grid;
  grid-template-columns: 3.7rem repeat(var(--osomo-calendar-day-count), minmax(0, 1fr));
}
.osomo-week-time-head {
  background: var(--cui-secondary-bg);
  border-bottom: 1px solid var(--cui-border-color);
}
.osomo-week-time-head > span,
.osomo-week-all-day > span {
  align-items: center;
  color: var(--cui-secondary-color);
  display: flex;
  font-size: 0.68rem;
  font-weight: 700;
  justify-content: center;
  padding: 0.35rem 0.15rem;
}
.osomo-week-day-heading {
  background: transparent;
  border: 0;
  border-inline-start: 1px solid var(--cui-border-color);
  color: var(--cui-secondary-color);
  display: grid;
  font-size: 0.68rem;
  gap: 0.06rem;
  justify-items: center;
  padding: 0.35rem 0.12rem;
}
.osomo-week-day-heading b { color: var(--cui-emphasis-color); font-size: 0.86rem; }
.osomo-week-day-heading.is-today b { align-items: center; background: var(--cui-primary); border-radius: 999px; color: var(--cui-white); display: inline-flex; height: 1.55rem; justify-content: center; min-width: 1.55rem; }
.osomo-week-all-day { background: var(--cui-tertiary-bg); border-bottom: 1px solid var(--cui-border-color); min-height: 2.8rem; }
.osomo-week-all-day-column { border-inline-start: 1px solid var(--cui-border-color); display: grid; gap: 0.22rem; min-width: 0; padding: 0.28rem; }
.osomo-week-all-day-column .osomo-calendar-event { font-size: 0.63rem; min-height: 1.45rem; padding: 0.18rem 0.25rem; }
.osomo-week-all-day-column .osomo-calendar-event::before { height: 0.28rem; width: 0.28rem; }
.osomo-week-time-body {
  min-height: clamp(42rem, calc(100vh - 15rem), 60rem);
  position: relative;
}
.osomo-week-hour-axis {
  background: var(--cui-secondary-bg);
  border-inline-end: 1px solid var(--cui-border-color);
  display: grid;
  grid-template-rows: repeat(var(--osomo-week-slots), minmax(0, 1fr));
}
.osomo-week-hour-axis span { color: var(--cui-secondary-color); font-size: 0.66rem; padding: 0.2rem 0.4rem 0; text-align: center; }
.osomo-week-time-column {
  background-color: var(--cui-body-bg);
  background-image: repeating-linear-gradient(to bottom, transparent 0, transparent calc((100% / var(--osomo-week-slots)) - 1px), var(--cui-border-color) calc((100% / var(--osomo-week-slots)) - 1px), var(--cui-border-color) calc(100% / var(--osomo-week-slots)));
  border-inline-start: 1px solid var(--cui-border-color);
  cursor: crosshair;
  min-width: 0;
  position: relative;
}
.osomo-week-time-column.is-today { background-color: color-mix(in srgb, var(--cui-primary) 4%, var(--cui-body-bg)); }
.osomo-week-task-draft {
  align-items: center;
  background: color-mix(in srgb, var(--cui-primary) 20%, transparent);
  border: 1px dashed color-mix(in srgb, var(--cui-primary) 88%, var(--cui-border-color));
  border-radius: 0.3rem;
  color: var(--cui-emphasis-color);
  display: flex;
  font-size: 0.62rem;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  height: max(1.55rem, var(--osomo-week-draft-height));
  inset-inline: 0.2rem;
  justify-content: center;
  overflow: hidden;
  padding: 0.18rem;
  pointer-events: none;
  position: absolute;
  top: var(--osomo-week-draft-top);
  white-space: nowrap;
  z-index: 3;
}
.osomo-week-timed-event {
  inset-inline: 0.2rem;
  min-height: 1.55rem;
  overflow: hidden;
  padding: 0.24rem 0.3rem;
  position: absolute;
  top: var(--osomo-week-event-top);
  height: var(--osomo-week-event-height);
  z-index: 1;
}
.osomo-week-timed-event b { font-size: 0.64rem; white-space: normal; }
.osomo-week-timed-event span { font-size: 0.59rem; }
.osomo-calendar-day-mode .osomo-week-day-heading { font-size: 0.86rem; padding-block: 0.5rem; }
.osomo-calendar-day-mode .osomo-week-day-heading b { font-size: 1.12rem; }
.osomo-calendar-day-mode .osomo-week-all-day-column { padding: 0.4rem; }
.osomo-calendar-day-mode .osomo-week-all-day-column .osomo-calendar-event { font-size: 0.8rem; min-height: 1.85rem; padding: 0.3rem 0.45rem; }
.osomo-calendar-day-mode .osomo-week-timed-event { padding: 0.35rem 0.5rem; }
.osomo-calendar-day-mode .osomo-week-timed-event b { font-size: 0.82rem; }
.osomo-calendar-day-mode .osomo-week-timed-event span { font-size: 0.72rem; }
.osomo-calendar-day.is-outside { background: color-mix(in srgb, var(--cui-secondary-bg) 72%, transparent); }
.osomo-calendar-day.is-today { box-shadow: inset 0 2px 0 var(--cui-primary); }
.osomo-calendar-day.is-task-range {
  background: color-mix(in srgb, var(--cui-primary) 12%, var(--cui-body-bg));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cui-primary) 72%, var(--cui-border-color));
}
.osomo-calendar-day.is-task-range-start { border-inline-start-color: var(--cui-primary); }
.osomo-calendar-day.is-task-range-end { border-inline-end: 1px solid var(--cui-primary); }
.osomo-calendar-day-number {
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: var(--cui-body-color);
  font-size: 0.78rem;
  font-weight: 700;
  min-height: 1.65rem;
  min-width: 1.65rem;
  padding: 0.18rem;
}
.is-today .osomo-calendar-day-number { background: var(--cui-primary); color: var(--cui-white); }
.osomo-calendar-day-events { display: grid; gap: 0.25rem; margin-top: 0.25rem; }
.osomo-calendar-event {
  --osomo-calendar-tone: var(--cui-primary);
  align-items: center;
  background: color-mix(in srgb, var(--osomo-calendar-tone) 34%, var(--cui-body-bg));
  border: 1px solid color-mix(in srgb, var(--osomo-calendar-tone) 76%, var(--cui-border-color));
  border-inline-start: 0.35rem solid var(--osomo-calendar-tone);
  border-radius: 0.25rem;
  color: var(--cui-body-color);
  display: flex;
  font-size: 0.7rem;
  gap: 0.25rem;
  line-height: 1.25;
  min-width: 0;
  padding: 0.28rem 0.38rem;
  text-align: right;
  width: 100%;
}
.osomo-calendar-event::before { background: var(--osomo-calendar-tone); border-radius: 999px; content: ""; flex: 0 0 auto; height: 0.38rem; width: 0.38rem; }
.osomo-calendar-event b {
  color: var(--cui-emphasis-color);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.osomo-calendar-event span { color: color-mix(in srgb, var(--osomo-calendar-tone) 72%, var(--cui-emphasis-color)); flex: 0 0 auto; font-variant-numeric: tabular-nums; font-weight: 700; }
.osomo-calendar-event,
.osomo-calendar-day-number,
.osomo-calendar-more,
.osomo-week-day-heading { cursor: pointer; }
.osomo-calendar-event.is-task { --osomo-calendar-tone: var(--cui-info); }
.osomo-calendar-event.is-payment { --osomo-calendar-tone: var(--cui-warning); }
.osomo-calendar-event.is-followup { --osomo-calendar-tone: var(--cui-success); }
.osomo-calendar-event.is-project { --osomo-calendar-tone: var(--cui-purple); }
.osomo-calendar-event.is-meeting { --osomo-calendar-tone: var(--cui-indigo); }
.osomo-calendar-event.is-vendor { --osomo-calendar-tone: var(--cui-teal); }
.osomo-calendar-event.is-document { --osomo-calendar-tone: var(--cui-danger); }
.osomo-calendar-event.is-holiday { --osomo-calendar-tone: var(--cui-secondary); }
.osomo-calendar-event.is-overdue { background: color-mix(in srgb, var(--cui-danger) 20%, var(--cui-body-bg)); border-color: color-mix(in srgb, var(--cui-danger) 86%, var(--cui-border-color)); box-shadow: inset 0 0 0 1px var(--cui-danger); }
.osomo-calendar-event.is-overdue::before { background: var(--cui-danger); }
.osomo-calendar-event.is-done { opacity: 0.55; text-decoration: line-through; }
.osomo-calendar-more {
  background: transparent;
  border: 0;
  color: var(--cui-primary);
  font-size: 0.7rem;
  padding: 0.15rem 0.25rem;
  text-align: right;
}
.osomo-calendar-agenda { padding: 0.9rem; }
.osomo-calendar-agenda-row {
  align-items: center;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--cui-border-color);
  color: var(--cui-body-color);
  display: flex;
  gap: 0.55rem;
  padding: 0.72rem 0;
  text-align: right;
  width: 100%;
}
.osomo-calendar-agenda-row:first-child { border-top: 0; padding-top: 0; }
.osomo-calendar-agenda-copy { display: grid; flex: 1 1 auto; gap: 0.15rem; min-width: 0; }
.osomo-calendar-agenda-copy b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.osomo-calendar-agenda-copy small { color: var(--cui-secondary-color); }
.osomo-calendar-full-list { padding: 0.35rem 1rem; }
.osomo-calendar-full-list .osomo-calendar-agenda-row { padding: 0.85rem 0; }
.osomo-calendar-type-list { overflow: hidden; }
.osomo-calendar-type-row {
  align-items: center;
  border-top: 1px solid var(--cui-border-color);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 0.9rem 1rem;
}
.osomo-calendar-type-row:first-child { border-top: 0; }

@media (max-width: 991.98px) {
  .osomo-calendar-layout { grid-template-columns: 1fr; }
  .osomo-calendar-agenda { order: 2; }
}

@media (min-width: 576px) and (max-width: 899.98px) {
  .osomo-dashboard-trend-year-summary > div.is-project,
  .osomo-dashboard-trend-year-summary > div.is-commission,
  .osomo-dashboard-trend-year-summary > div.is-next-year { grid-column: span 3; }
}

@media (max-width: 575.98px) {
  .osomo-calendar-filterbar .form-select { flex-basis: 100%; max-width: none; }
  .osomo-calendar-legend { gap: 0.5rem 0.75rem; }
  .osomo-calendar-weekdays { font-size: 0.66rem; }
  .osomo-calendar-day { min-height: 5.6rem; padding: 0.2rem; }
  .osomo-calendar-event { font-size: 0.58rem; padding: 0.2rem; }
  .osomo-calendar-event span { display: none; }
  .osomo-calendar-day-events { gap: 0.15rem; }
  .osomo-calendar-days.is-week { min-height: 29rem; }
  .osomo-calendar-days.is-week .osomo-calendar-day { padding: 0.3rem; }
  .osomo-calendar-days.is-week .osomo-calendar-event { font-size: 0.62rem; min-height: 1.45rem; }
  .osomo-week-time-head,
  .osomo-week-all-day,
  .osomo-week-time-body { grid-template-columns: 2.35rem repeat(7, minmax(0, 1fr)); }
  .osomo-week-time-body { min-height: 36rem; }
  .osomo-week-time-head > span,
  .osomo-week-all-day > span,
  .osomo-week-hour-axis span { font-size: 0.54rem; padding-inline: 0.05rem; }
  .osomo-week-day-heading { font-size: 0.58rem; padding-inline: 0.04rem; }
  .osomo-week-day-heading b { font-size: 0.7rem; }
  .osomo-week-day-heading.is-today b { height: 1.15rem; min-width: 1.15rem; }
  .osomo-week-all-day-column { padding: 0.12rem; }
  .osomo-week-all-day-column .osomo-calendar-event { min-height: 1.1rem; padding: 0.1rem; }
  .osomo-week-all-day-column .osomo-calendar-event::before,
  .osomo-week-timed-event::before { display: none; }
  .osomo-week-timed-event { inset-inline: 0.08rem; padding: 0.12rem; }
  .osomo-week-timed-event span { display: none; }
  .osomo-week-timed-event b { font-size: 0.52rem; line-height: 1.1; }
  .osomo-calendar-nav-button { min-inline-size: auto; }
  .osomo-calendar-period { padding: 0.7rem; }
  .osomo-calendar-type-row { align-items: flex-start; flex-direction: column; gap: 0.6rem; }
}
.osomo-task-meta .osomo-inline-section {
  background: var(--cui-tertiary-bg);
}

@media (max-width: 991.98px) {
  .osomo-task-board {
    display: grid;
    grid-auto-columns: unset;
    grid-auto-flow: unset;
    grid-template-columns: 1fr;
    overflow: visible;
  }
  .osomo-task-daily-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .osomo-task-controls,
  .osomo-task-filter-grid {
    align-items: stretch;
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
  #taskRangeButtons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #taskRangeButtons .btn:last-child {
    grid-column: 1 / -1;
  }
  .osomo-task-daily-row {
    align-items: stretch;
    flex-direction: column;
  }
  .osomo-overdue-row {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 991.98px) {
  .osomo-toolbar .form-control {
    min-width: 0;
    width: 100%;
  }
  .osomo-lead-board {
    display: grid;
    grid-auto-columns: minmax(17rem, 78vw);
    grid-auto-flow: column;
    grid-template-columns: unset;
    overflow-x: auto;
    padding-bottom: 0.5rem;
    scroll-snap-type: x proximity;
  }
  .osomo-lead-board > .osomo-lead-board-column {
    scroll-snap-align: start;
  }
  .osomo-project-editor-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .osomo-people-table th,
  .osomo-people-table td {
    padding-inline: 0.7rem;
  }
  .osomo-people-progress {
    max-width: 8rem;
  }
}

@media (max-width: 575.98px) {
  .osomo-people-table th:first-child {
    width: 46%;
  }
  .osomo-people-table th:last-child {
    width: 2.9rem;
  }
  .osomo-people-table tbody td {
    padding-block: 0.7rem;
  }
  .osomo-entity-identity {
    gap: 0.5rem;
  }
  .osomo-entity-avatar {
    height: 2rem;
    width: 2rem;
  }
  .osomo-people-metric {
    font-size: 0.78rem;
  }
  .osomo-people-submetric {
    font-size: 0.7rem;
  }
  .osomo-history-row {
    align-items: flex-start;
  }
  .osomo-history-project-head {
    align-items: flex-start;
  }
  .osomo-history-deal {
    align-items: start;
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .osomo-history-deal > div:first-child {
    grid-column: 1 / -1;
  }
  .osomo-page-head {
    gap: 1rem;
  }
  .osomo-page-head h1 {
    font-size: 1.35rem;
  }
  .osomo-kpi {
    min-height: 0;
  }
  .modal-dialog {
    margin: 0.5rem;
  }
  .osomo-modal .modal-dialog {
    height: calc(100% - 1rem);
  }
  .osomo-modal .modal-header {
    min-height: 4.7rem;
    padding-inline-start: 3.5rem;
  }
  .osomo-modal-close {
    left: 0.85rem;
    top: 0.9rem;
  }
  .osomo-choice-modal .modal-header {
    min-height: 4.7rem;
    padding-inline-start: 3.5rem;
  }
  .osomo-modal .modal-footer {
    gap: 0.5rem;
  }
  .osomo-modal .modal-footer .btn {
    flex: 1 1 auto;
  }
  .osomo-inline-section {
    align-items: stretch;
    flex-direction: column;
  }
  .osomo-inline-section > .btn {
    width: 100%;
  }
  .osomo-proposal-group-header {
    align-items: stretch;
    flex-direction: column;
  }
  .osomo-proposal-group-actions {
    justify-content: space-between;
  }
  .osomo-proposal-create-tabs .nav-item {
    flex-basis: calc(33.333% - 0.35rem);
  }
  #proposalCreateModal .modal-body {
    --osomo-proposal-tabs-sticky-height: 13rem;
  }
  .osomo-project-create-tabs .nav-item {
    flex-basis: 100%;
  }
  .osomo-project-workspace-actions {
    margin-inline-end: 2.4rem;
  }
  .osomo-modal.is-existing-proposal .osomo-proposal-create-tabs .nav-item {
    flex-basis: calc(33.333% - 0.35rem);
  }
  .osomo-proposal-existing-actions {
    margin-inline: 0;
  }
  .osomo-modal #proposalCreateSummary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .osomo-modal #proposalCreateSummary > div:nth-child(3) {
    border-inline-start: 0;
    padding-inline-start: 0;
  }
}

@media (max-width: 575.98px) {
  .osomo-project-editor-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .osomo-project-editor-tabs .nav-link {
    font-size: 0.78rem;
    min-block-size: 2.55rem;
  }
}

@media (max-width: 1199.98px) {
  .osomo-payment-summary {
    grid-template-columns: 1fr;
  }
  .osomo-payment-summary-intro {
    border-bottom: 1px solid var(--cui-border-color);
    border-inline-end: 0;
  }
  .osomo-payment-due-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .osomo-payment-project-head,
  .osomo-payment-plan-main {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .osomo-payment-project-next {
    border-inline: 0;
    border-top: 1px solid var(--cui-border-color);
    grid-column: 1 / -1;
    padding: 0.65rem 0 0;
  }
  .osomo-payment-project-totals,
  .osomo-payment-plan-metrics {
    grid-column: 1 / -1;
    justify-content: start;
  }
  .osomo-payment-plan-meta {
    align-items: end;
  }
  .osomo-payment-project-context {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .osomo-payment-context-nearby {
    grid-column: 1 / -1;
  }
}

@media (max-width: 575.98px) {
  .osomo-payment-summary-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .osomo-payment-summary-metric:nth-child(2) {
    border-inline-end: 0;
  }
  .osomo-payment-summary-metric:nth-child(-n + 2) {
    border-bottom: 1px solid var(--cui-border-color);
  }
  .osomo-payment-due-grid {
    grid-template-columns: 1fr;
  }
  .osomo-payment-due-card {
    min-height: 0;
  }
  .osomo-payment-project-head,
  .osomo-payment-plan-main {
    align-items: start;
    gap: 0.7rem;
  }
  .osomo-payment-project-header {
    align-items: stretch;
    flex-direction: column;
  }
  .osomo-payment-open-project {
    margin: 0 0.75rem 0.75rem;
  }
  .osomo-payment-project-head {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .osomo-payment-project-next {
    grid-column: 1 / -1;
  }
  .osomo-payment-project-totals,
  .osomo-payment-plan-metrics {
    flex-wrap: wrap;
    gap: 0.65rem 1rem;
  }
  .osomo-payment-project-context {
    grid-template-columns: 1fr;
  }
  .osomo-payment-context-nearby {
    grid-auto-flow: row;
    grid-column: auto;
    grid-template-columns: 1fr;
  }
  .osomo-payment-ledger-section > header,
  .osomo-payment-vendor-heading {
    min-height: 0;
    padding: 0.65rem 0.75rem;
  }
  .osomo-payment-plan-metrics > span {
    min-width: 4.8rem;
  }
  .osomo-payment-installment {
    align-items: stretch;
    flex-direction: column;
  }
  .osomo-payment-installment-end {
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

/* Sign-in is intentionally a complete, focused surface instead of a reduced
   workspace page.  It stays within the same CoreUI tokens as the product so
   light and dark mode retain the visual language users see after they enter. */
.osomo-login-body {
  background: var(--cui-body-bg);
  min-width: 20rem;
}
.osomo-login-page {
  align-items: center;
  background:
    radial-gradient(circle at 4% 8%, color-mix(in srgb, var(--cui-info) 13%, transparent) 0, transparent 26rem),
    radial-gradient(circle at 95% 94%, color-mix(in srgb, var(--cui-primary) 10%, transparent) 0, transparent 28rem),
    var(--cui-tertiary-bg);
  display: grid;
  isolation: isolate;
  justify-content: center;
  min-height: 100svh;
  overflow: hidden;
  padding: clamp(1rem, 3vw, 3rem);
  position: relative;
}
.osomo-login-shell {
  background: var(--cui-card-bg);
  border: 1px solid var(--osomo-surface-border);
  border-radius: 1.15rem;
  box-shadow: 0 1.3rem 3.8rem color-mix(in srgb, var(--cui-emphasis-color) 15%, transparent);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(23rem, 0.92fr);
  max-width: 72rem;
  min-height: min(42rem, calc(100svh - 4rem));
  overflow: hidden;
  position: relative;
  width: min(100%, 72rem);
}
.osomo-login-panel {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(1.35rem, 3vw, 2.5rem);
}
.osomo-login-panel-top,
.osomo-login-footer {
  align-items: center;
  display: flex;
  justify-content: space-between;
}
.osomo-login-brand {
  align-items: center;
  color: var(--cui-emphasis-color);
  display: inline-flex;
  font-size: 0.92rem;
  font-weight: 800;
  gap: 0.62rem;
  letter-spacing: 0.08em;
  text-decoration: none;
}
.osomo-login-brand small {
  color: var(--cui-secondary-color);
  display: block;
  font-size: 0.56rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.1;
  margin-top: 0.15rem;
}
.osomo-login-brand-mark {
  align-items: center;
  background: var(--cui-primary);
  border-radius: 0.72rem;
  box-shadow: 0 0.35rem 0.9rem color-mix(in srgb, var(--cui-primary) 24%, transparent);
  color: var(--cui-white);
  display: inline-flex;
  font-size: 1.05rem;
  height: 2.35rem;
  justify-content: center;
  letter-spacing: 0;
  width: 2.35rem;
}
.osomo-login-form-wrap {
  margin-block: auto;
  max-width: 25.5rem;
  padding-block: clamp(2.25rem, 8vh, 5rem);
}
.osomo-login-eyebrow,
.osomo-login-welcome-kicker {
  color: var(--cui-primary);
  display: block;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.075em;
  margin-bottom: 0.7rem;
}
.osomo-login-form-wrap h1 {
  color: var(--cui-emphasis-color);
  font-size: clamp(2rem, 3vw, 2.65rem);
  font-weight: 760;
  letter-spacing: -0.04em;
  line-height: 1.08;
  margin: 0;
}
.osomo-login-message {
  color: var(--cui-secondary-color);
  font-size: 0.96rem;
  line-height: 1.65;
  margin: 0.85rem 0 1.75rem;
  max-width: 23rem;
}
.osomo-login-form { display: grid; gap: 0.85rem; }
.osomo-login-submit {
  align-items: center;
  border-radius: 0.72rem;
  display: inline-flex;
  font-size: 0.93rem;
  font-weight: 750;
  justify-content: center;
  min-height: 3.1rem;
  padding-inline: 1.05rem;
  width: 100%;
}
.osomo-login-switch-account {
  align-items: center;
  border-radius: 0.72rem;
  display: inline-flex;
  font-size: 0.9rem;
  font-weight: 700;
  justify-content: center;
  min-height: 2.7rem;
  padding-inline: 1.05rem;
  width: 100%;
}
.osomo-login-switch-account-help {
  color: var(--cui-secondary-color);
  font-size: 0.76rem;
  line-height: 1.5;
  margin: -0.15rem 0 0;
  text-align: center;
}
.osomo-login-submit:focus-visible,
.osomo-login-switch-account:focus-visible,
.osomo-login-brand:focus-visible {
  outline: 0.16rem solid color-mix(in srgb, var(--cui-primary) 55%, transparent);
  outline-offset: 0.18rem;
}
.osomo-login-trust-line {
  align-items: center;
  color: var(--cui-secondary-color);
  display: flex;
  font-size: 0.72rem;
  gap: 0.32rem;
  justify-content: center;
  line-height: 1.5;
  margin: 0.1rem 0 0;
  text-align: center;
}
.osomo-login-trust-line .icon { color: var(--cui-success); flex: 0 0 auto; height: 0.88rem; width: 0.88rem; }
.osomo-login-footer {
  color: var(--cui-secondary-color);
  font-size: 0.69rem;
  gap: 0.7rem;
  line-height: 1.4;
}
.osomo-login-footer span:first-child {
  color: var(--cui-emphasis-color);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.09em;
}
.osomo-login-welcome {
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--cui-primary) 90%, #172554), color-mix(in srgb, var(--cui-info) 68%, var(--cui-primary)));
  color: var(--cui-white);
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  padding: clamp(1.6rem, 3.6vw, 3rem);
  position: relative;
}
.osomo-login-welcome::after {
  background: linear-gradient(130deg, color-mix(in srgb, var(--cui-white) 13%, transparent), transparent 45%);
  content: "";
  inset: 0;
  opacity: 0.8;
  pointer-events: none;
  position: absolute;
}
.osomo-login-orb {
  border: 1px solid color-mix(in srgb, var(--cui-white) 32%, transparent);
  border-radius: 50%;
  pointer-events: none;
  position: absolute;
}
.osomo-login-orb-one { height: 24rem; left: -11rem; top: -10rem; width: 24rem; }
.osomo-login-orb-two { bottom: -12rem; height: 29rem; left: -9rem; width: 29rem; }
.osomo-login-welcome-content,
.osomo-login-welcome-caption { position: relative; z-index: 1; }
.osomo-login-welcome-content {
  margin-block: auto;
  max-width: 23rem;
}
.osomo-login-welcome-kicker {
  color: color-mix(in srgb, var(--cui-white) 74%, transparent);
  margin-bottom: 1rem;
}
.osomo-login-welcome h2 {
  color: var(--cui-white);
  font-size: clamp(2rem, 3.2vw, 3rem);
  font-weight: 740;
  letter-spacing: -0.05em;
  line-height: 1.06;
  margin: 0;
}
.osomo-login-welcome p {
  color: color-mix(in srgb, var(--cui-white) 82%, transparent);
  font-size: 0.95rem;
  line-height: 1.65;
  margin: 1.1rem 0 1.7rem;
  max-width: 20rem;
}
.osomo-login-workflow {
  border-top: 1px solid color-mix(in srgb, var(--cui-white) 24%, transparent);
  display: grid;
  gap: 0.45rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-top: 1.1rem;
}
.osomo-login-workflow > div {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}
.osomo-login-workflow strong { color: var(--cui-white); font-size: 0.78rem; }
.osomo-login-workflow small { color: color-mix(in srgb, var(--cui-white) 72%, transparent); font-size: 0.66rem; line-height: 1.4; }
.osomo-login-workflow-icon {
  align-items: center;
  background: color-mix(in srgb, var(--cui-white) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--cui-white) 20%, transparent);
  border-radius: 0.55rem;
  color: color-mix(in srgb, var(--cui-white) 88%, transparent);
  display: grid;
  flex: 0 0 auto;
  height: 2.1rem;
  place-items: center;
  width: 2.1rem;
}
.osomo-login-workflow-icon .icon { height: 1rem; width: 1rem; }
.osomo-login-welcome-caption {
  align-items: center;
  color: color-mix(in srgb, var(--cui-white) 72%, transparent);
  display: flex;
  font-size: 0.71rem;
  font-weight: 600;
  gap: 0.4rem;
}
.osomo-login-status-dot {
  background: var(--cui-success);
  border: 0.16rem solid color-mix(in srgb, var(--cui-white) 16%, transparent);
  border-radius: 50%;
  box-shadow: 0 0 0.75rem color-mix(in srgb, var(--cui-success) 70%, transparent);
  height: 0.62rem;
  width: 0.62rem;
}
[data-coreui-theme="dark"] .osomo-login-page {
  background:
    radial-gradient(circle at 4% 8%, color-mix(in srgb, var(--cui-info) 14%, transparent) 0, transparent 28rem),
    radial-gradient(circle at 95% 94%, color-mix(in srgb, var(--cui-primary) 15%, transparent) 0, transparent 28rem),
    var(--cui-body-bg);
}
[data-coreui-theme="dark"] .osomo-login-shell {
  box-shadow: 0 1.6rem 4.4rem color-mix(in srgb, var(--cui-black) 42%, transparent);
}
[data-coreui-theme="dark"] .osomo-login-welcome {
  background: linear-gradient(145deg, color-mix(in srgb, var(--cui-primary) 62%, #111827), color-mix(in srgb, var(--cui-info) 42%, #111827));
}

@media (max-width: 991.98px) {
  .osomo-login-shell { grid-template-columns: minmax(0, 1fr) minmax(19rem, 0.72fr); }
  .osomo-login-welcome { padding: 2rem; }
  .osomo-login-welcome h2 { font-size: 2.1rem; }
  .osomo-login-workflow { gap: 0.35rem; }
}
@media (max-width: 767.98px) {
  .osomo-login-page { align-items: start; padding: 0; }
  .osomo-login-shell { border: 0; border-radius: 0; box-shadow: none; grid-template-columns: 1fr; min-height: 100svh; }
  .osomo-login-panel { min-height: 34rem; padding: 1.25rem; }
  .osomo-login-form-wrap { margin-block: auto; padding-block: 2.75rem; }
  .osomo-login-welcome { min-height: 20rem; padding: 1.6rem 1.25rem; }
  .osomo-login-welcome-content { margin: 0; }
  .osomo-login-welcome p { margin-bottom: 1.15rem; }
  .osomo-login-orb-two { bottom: -14rem; }
}
@media (max-width: 429.98px) {
  .osomo-login-panel { min-height: 32rem; }
  .osomo-login-welcome { min-height: 16rem; }
  .osomo-login-welcome h2 { font-size: 1.85rem; }
  .osomo-login-workflow small { font-size: 0.61rem; }
  .osomo-login-footer { font-size: 0.65rem; }
}

/* Tasks follows the established Leads board and CoreUI modal patterns. */
.osomo-tasks-page .osomo-task-board {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  overflow: visible;
}
.osomo-tasks-page .osomo-task-board > .osomo-lead-board-column {
  margin: 0;
  min-inline-size: 0;
  padding: 0;
}
.osomo-tasks-page .osomo-lead-column[data-drop-status] {
  background: color-mix(in srgb, var(--osomo-board-accent) 5%, var(--cui-tertiary-bg));
}
.osomo-tasks-page .osomo-lead-column-head .chip {
  background: color-mix(in srgb, var(--osomo-board-accent) 14%, var(--cui-card-bg, var(--cui-body-bg)));
  border-color: color-mix(in srgb, var(--osomo-board-accent) 60%, var(--cui-border-color));
  color: var(--osomo-board-accent);
}
.osomo-tasks-page .osomo-task-card {
  min-inline-size: 0;
  overflow-wrap: anywhere;
}
.osomo-tasks-page #taskModal .modal-dialog {
  max-inline-size: 62rem;
}
.osomo-tasks-page #taskModal .modal-content {
  max-block-size: calc(100dvh - 2rem);
}
.osomo-tasks-page #taskModal .modal-body {
  min-block-size: 0;
}
.osomo-tasks-page #taskModal .osomo-client-tabs {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.osomo-tasks-page #taskModal .modal-footer {
  background: var(--cui-body-bg);
  border-top-color: var(--cui-border-color);
  flex-wrap: wrap;
}
.osomo-tasks-page #taskModal .modal-footer .btn {
  min-inline-size: 0;
}

@media (max-width: 1199.98px) {
  .osomo-tasks-page .osomo-task-board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .osomo-tasks-page .osomo-task-board {
    grid-template-columns: minmax(0, 1fr);
  }
  .osomo-tasks-page .osomo-lead-column {
    min-height: 0;
  }
  .osomo-tasks-page .osomo-lead-column-body {
    min-height: 4rem;
  }
  .osomo-tasks-page #taskModal .osomo-client-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .osomo-tasks-page #taskModal .modal-footer .btn {
    flex: 1 1 calc(50% - 0.25rem);
  }
  .osomo-tasks-page #taskModal .modal-footer .btn-primary {
    flex-basis: 100%;
  }
}

/* My Business legal and FAQ editors reuse the CoreUI form, button, and surface tokens. */
#systemPanelBusiness .osomo-rich-editor {
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--cui-border-radius-lg);
  overflow: hidden;
}
#systemPanelBusiness .osomo-rich-editor-toolbar {
  align-items: center;
  background: var(--cui-tertiary-bg);
  border-bottom: 1px solid var(--cui-border-color);
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  padding: 0.375rem;
}
#systemPanelBusiness .osomo-rich-editor-group {
  align-items: center;
  border-inline-start: 1px solid var(--cui-border-color);
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.125rem;
  margin-inline-start: 0.125rem;
  padding-inline-start: 0.25rem;
}
#systemPanelBusiness .osomo-rich-editor-tool-button {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  min-block-size: 2rem;
  min-inline-size: 2rem;
  padding: 0.35rem;
}
#systemPanelBusiness .osomo-rich-editor-ai-tool {
  gap: 0.375rem;
  min-inline-size: auto;
  padding-inline: 0.5rem;
}
#systemPanelBusiness .osomo-rich-editor-tool-label {
  white-space: nowrap;
}
#systemPanelBusiness .osomo-rich-editor-tool-button .icon,
#systemPanelBusiness .osomo-rich-editor-select > .icon,
#systemPanelBusiness .osomo-rich-editor-colour > .icon {
  block-size: 1rem;
  inline-size: 1rem;
}
#systemPanelBusiness .osomo-rich-editor-select {
  align-items: center;
  color: var(--cui-secondary-color);
  display: inline-flex;
  gap: 0.25rem;
  margin: 0;
}
#systemPanelBusiness .osomo-rich-editor-select .form-select {
  inline-size: auto;
  min-block-size: 2rem;
  min-inline-size: 5.25rem;
  padding-block: 0.15rem;
}
#systemPanelBusiness .osomo-rich-editor-colour {
  align-items: center;
  color: var(--cui-secondary-color);
  display: inline-flex;
  gap: 0.2rem;
  margin: 0;
}
#systemPanelBusiness .osomo-rich-editor-colour .form-control-color {
  block-size: 2rem;
  inline-size: 2rem;
  min-inline-size: 2rem;
  padding: 0.16rem;
}
#systemPanelBusiness .osomo-rich-editor-content.form-control {
  background: var(--cui-body-bg);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: var(--cui-body-color);
  min-block-size: 18rem;
  overflow-wrap: anywhere;
  padding: 1rem;
}
#systemPanelBusiness .osomo-rich-editor-content.form-control:focus {
  box-shadow: inset 0 0 0 0.125rem color-mix(in srgb, var(--cui-primary) 25%, transparent);
}
#systemPanelBusiness .osomo-rich-editor-content:empty::before {
  color: var(--cui-secondary-color);
  content: attr(data-placeholder);
  pointer-events: none;
}
#systemPanelBusiness .osomo-rich-editor-content h1,
#systemPanelBusiness .osomo-rich-editor-content h2,
#systemPanelBusiness .osomo-rich-editor-content h3 {
  color: var(--cui-emphasis-color);
  margin-block: 0.75rem 0.5rem;
}
#systemPanelBusiness .osomo-rich-editor-content h1 { font-size: 1.5rem; }
#systemPanelBusiness .osomo-rich-editor-content h2 { font-size: 1.25rem; }
#systemPanelBusiness .osomo-rich-editor-content h3 { font-size: 1.0625rem; }
#systemPanelBusiness .osomo-rich-editor-content p,
#systemPanelBusiness .osomo-rich-editor-content ul,
#systemPanelBusiness .osomo-rich-editor-content ol,
#systemPanelBusiness .osomo-rich-editor-content blockquote { margin-block: 0 0.75rem; }
#systemPanelBusiness .osomo-rich-editor-content [data-osomo-text-size="small"] { font-size: 0.875em; }
#systemPanelBusiness .osomo-rich-editor-content [data-osomo-text-size="large"] { font-size: 1.2em; }
#systemPanelBusiness .osomo-rich-editor-content [data-osomo-font="serif"] { font-family: "Times New Roman", Georgia, serif; }
#systemPanelBusiness .osomo-rich-editor-content [data-osomo-font="sans"] { font-family: Arial, "Arial Hebrew", sans-serif; }
#systemPanelBusiness .osomo-rich-editor-content [data-osomo-font="georgia"] { font-family: Georgia, "Times New Roman", serif; }
#systemPanelBusiness .osomo-rich-editor-content [data-osomo-font="verdana"] { font-family: Verdana, Arial, sans-serif; }
#systemPanelBusiness .osomo-rich-editor-content [data-osomo-font="tahoma"] { font-family: Tahoma, Arial, sans-serif; }
#systemPanelBusiness .osomo-rich-editor-content [data-osomo-font="trebuchet"] { font-family: "Trebuchet MS", Arial, sans-serif; }
#systemPanelBusiness .osomo-rich-editor-content [data-osomo-font="courier"] { font-family: "Courier New", monospace; }
#systemPanelBusiness .osomo-rich-editor-content [data-osomo-font="garamond"] { font-family: Garamond, Georgia, serif; }
#systemPanelBusiness .osomo-rich-editor-content [data-osomo-font="calibri"] { font-family: Calibri, Arial, sans-serif; }
#systemPanelBusiness .osomo-rich-editor-content [data-osomo-font="david"] { font-family: David, "Times New Roman", serif; }
#systemPanelBusiness .osomo-rich-editor-content [data-osomo-align="right"] { text-align: right; }
#systemPanelBusiness .osomo-rich-editor-content [data-osomo-align="center"] { text-align: center; }
#systemPanelBusiness .osomo-rich-editor-content [data-osomo-align="left"] { text-align: left; }
#systemPanelBusiness .osomo-rich-editor-content [data-osomo-align="justify"] { text-align: justify; }
#systemPanelBusiness .osomo-rich-editor-content img {
  block-size: auto;
  display: block;
  margin-block: 1rem;
  max-block-size: 32rem;
  max-inline-size: 100%;
  object-fit: contain;
  touch-action: none;
}
#systemPanelBusiness .osomo-rich-editor-content img[data-osomo-image-align="right"] { margin-inline: auto 0; }
#systemPanelBusiness .osomo-rich-editor-content img[data-osomo-image-align="center"] { margin-inline: auto; }
#systemPanelBusiness .osomo-rich-editor-content img[data-osomo-image-align="left"] { margin-inline: 0 auto; }
#systemPanelBusiness .osomo-rich-editor-content img.is-selected { box-shadow: 0 0 0 0.1875rem color-mix(in srgb, var(--cui-primary) 40%, transparent); }
#systemPanelBusiness .osomo-business-document-heading {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.35rem;
}
#systemPanelBusiness .osomo-business-document-heading strong { min-inline-size: 0; }
#systemPanelBusiness .osomo-business-document-heading .btn { padding: 0.3rem; }
#systemPanelBusiness .osomo-static-information-actions .btn { padding: 0.375rem 0.625rem; }
#systemPanelBusiness .osomo-static-information-history-action {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  min-block-size: 2rem;
  min-inline-size: 2rem;
  padding: 0.35rem !important;
}
#systemPanelBusiness .osomo-static-information-history-action .icon { block-size: 1rem; inline-size: 1rem; }
#systemPanelBusiness .osomo-business-document-heading .icon { block-size: 0.95rem; inline-size: 0.95rem; }
#systemPanelBusiness .osomo-static-information-actions {
  align-items: center;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}
#systemPanelBusiness .osomo-static-information-history-list { display: grid; gap: 0.75rem; }
#systemPanelBusiness .osomo-static-information-history-item {
  background: var(--cui-tertiary-bg);
  border: 1px solid var(--cui-border-color);
  border-radius: var(--cui-border-radius);
  padding: 0.75rem;
}
#systemPanelBusiness .osomo-static-information-history-item p {
  margin: 0.4rem 0 0;
  overflow-wrap: anywhere;
}

@media (max-width: 575.98px) {
  #systemPanelBusiness .osomo-rich-editor-toolbar .btn { flex: 0 1 auto; }
  #systemPanelBusiness .osomo-rich-editor-group { border-inline-start: 0; flex-basis: 100%; padding-inline-start: 0; }
  #systemPanelBusiness .osomo-rich-editor-select { flex: 1 1 calc(50% - 0.25rem); justify-content: space-between; }
  #systemPanelBusiness .osomo-rich-editor-select .form-select { flex: 0 1 6.25rem; }
  #systemPanelBusiness .osomo-rich-editor-content.form-control { min-block-size: 15rem; }
  #systemPanelBusiness .osomo-static-information-actions { inline-size: 100%; justify-content: flex-start; }
}
