:root {
  color-scheme: light;
  --pf24-blue: #001f3f;
  --pf24-ink: #102033;
  --pf24-muted: #5f7184;
  --pf24-soft: #eef5fa;
  --pf24-panel: #ffffff;
  --pf24-line: #d9e4ed;
  --pf24-line-soft: #edf2f6;
  --pf24-orange: #ff8200;
  --pf24-orange-soft: #fff3e4;
  --pf24-green-soft: #eefaf6;
  --pf24-red-soft: #fff3f3;
  --pf24-shadow: 0 8px 24px rgba(16, 32, 51, .06);
  --pf24-radius: 8px;
  --pf24-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
  margin: 0;
  background: var(--pf24-soft);
  color: var(--pf24-ink);
  font-family: var(--pf24-font);
  font-size: 13px;
  line-height: 1.38;
  letter-spacing: 0;
}

body {
  overflow-x: hidden;
}

body.portal-active,
body.workscreen-mode {
  background: var(--pf24-soft);
  color: var(--pf24-ink);
}

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

button,
input,
select,
textarea {
  color: var(--pf24-ink);
}

button,
a,
summary,
select {
  touch-action: manipulation;
}

a {
  color: inherit;
  text-decoration: none;
}

img,
svg {
  max-width: 100%;
}

.hidden,
[hidden] {
  display: none !important;
}

body:has(#portalDashboard:not(.hidden)) .login-panel {
  display: none !important;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  display: grid;
  grid-template-columns: minmax(220px, 360px) minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 72px;
  padding: 10px 18px;
  border-bottom: 1px solid var(--pf24-line);
  background: #fff;
}

.topbar .brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  text-decoration: none;
}

.topbar .brand img {
  display: block;
  width: auto;
  max-width: min(320px, 34vw);
  max-height: 62px;
  object-fit: contain;
}

.topbar .brand img[src*="profix24-header-light"] {
  width: auto !important;
  min-width: 220px;
  max-width: min(340px, 36vw) !important;
  max-height: 64px !important;
  height: auto !important;
}

.admin-title {
  overflow: hidden;
  color: var(--pf24-muted);
  font-size: 11px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brand-copy {
  display: grid;
  align-content: center;
  gap: 2px;
  min-width: 0;
}

.brand-tagline {
  overflow: hidden;
  max-width: 320px;
  color: var(--pf24-ink);
  font-size: 10px;
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-shell-brand="platform"] .topbar .brand {
  gap: 14px;
}

body[data-shell-brand="platform"] .topbar .brand img {
  max-width: min(260px, 28vw);
}

body[data-shell-brand="company"] .topbar .brand img {
  max-width: 190px;
  max-height: 54px;
}

.topbar nav,
.portal-nav,
.nav-actions,
.topbar-assistant-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
}

.portal-header-actions,
.portal-header-assistant {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
}

.portal-header-assistant[hidden] {
  display: none !important;
}

.portal-header-assistant .voice-menu-actions,
.topbar-assistant-actions.voice-menu-actions {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
}

.nav-links {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.nav-links a,
.topbar a:not(.brand) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
  color: var(--pf24-ink);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.18;
  white-space: normal;
}

.admin-tabs a > span,
.admin-nav-direct > span,
.portal-nav-link > span,
.portal-sidebar-logout > span,
.screen-switcher > summary > span,
.button > span,
button > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.language-select,
select {
  min-height: 34px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
  color: var(--pf24-ink);
}

.language-select {
  width: 92px;
  padding: 0 10px;
  font-weight: 760;
}

#systemModuleSelect,
#workProcessSelect {
  width: 100%;
}

.voice-menu-icon-button,
.icon-button,
.settings-toggle,
.settings-button {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  padding: 0;
  border: 1px solid #cf6900;
  border-radius: 999px;
  background: var(--pf24-orange);
  color: var(--pf24-ink);
  box-shadow: none;
  cursor: pointer;
}

.portal-header-assistant .voice-menu-icon-button,
.topbar-assistant-actions .voice-menu-icon-button {
  align-items: center;
  display: inline-grid;
  justify-items: center;
  place-items: center;
}

.settings-toggle,
.settings-button {
  border-color: var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
}

.voice-menu-icon,
.voice-message-icon {
  display: block;
  width: 20px;
  height: 20px;
  background: currentColor;
  mask: var(--pf24-voice-mask, none) center / contain no-repeat;
}

.portal-header-assistant .voice-menu-icon,
.portal-header-assistant .voice-message-icon,
.topbar-assistant-actions .voice-menu-icon,
.topbar-assistant-actions .voice-message-icon {
  margin: 0;
}

:where(.portal-section-nav, .professional-section-nav, .admin-tabs) > .voice-menu-actions.portal-assistant-actions {
  display: none !important;
}

.voice-menu-icon {
  --pf24-voice-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z'/%3E%3Cpath d='M19 10v2a7 7 0 0 1-14 0v-2'/%3E%3Cpath d='M12 19v3'/%3E%3C/svg%3E");
}

.voice-message-icon {
  --pf24-voice-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a4 4 0 0 1-4 4H8l-5 3V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4z'/%3E%3C/svg%3E");
}

.admin-header-metrics,
.metrics {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.metric-card,
.stat-card,
.summary-card {
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
  color: var(--pf24-ink);
}

.admin-header-metrics .metric-card {
  display: inline-grid;
  grid-template-columns: auto auto;
  gap: 5px;
  min-height: 26px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 10px;
  line-height: 1.05;
}

.admin-header-metrics .metric-card span,
.admin-header-metrics .metric-card strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-shell {
  width: 100%;
  min-height: calc(100dvh - 72px);
  padding: 14px 18px;
  padding-bottom: 92px;
}

.dashboard,
#portalDashboard {
  width: min(100%, 1580px);
  margin: 0 auto;
}

body.admin-body.active #dashboard.dashboard,
body.admin-body #dashboard.dashboard:not(.hidden) {
  display: grid;
  grid-template-columns: 236px minmax(0, 1fr);
  align-items: start;
  gap: 14px;
}

body.admin-body #dashboard > .admin-tabs {
  position: sticky;
  top: 90px;
  z-index: 20;
  grid-column: 1;
  grid-row: 1 / span 80;
  display: grid;
  gap: 8px;
  max-height: calc(100dvh - 110px);
  padding: 10px;
  overflow: auto;
  border: 1px solid var(--pf24-line);
  border-radius: 12px;
  background: #fff;
}

body.admin-body #dashboard > :not(.admin-tabs) {
  grid-column: 2;
  min-width: 0;
}

.admin-nav-block,
.portal-nav-group,
.portal-nav-links {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.admin-nav-bottom {
  display: grid;
  gap: 8px;
  min-width: 0;
  margin-top: 4px;
  padding-top: 8px;
  border-top: 1px solid var(--pf24-line);
}

.admin-nav-screens,
.screen-switcher,
.screen-switcher > summary {
  min-width: 0;
  width: 100%;
}

.screen-switcher {
  border: 0;
  background: transparent;
}

.screen-switcher > summary {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  padding: 5px 8px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
  color: var(--pf24-ink);
  font-size: 12px;
  font-weight: 650;
  list-style: none;
  cursor: pointer;
}

.screen-switcher > summary::-webkit-details-marker {
  display: none;
}

.screen-switcher-grid {
  display: grid;
  gap: 6px;
  margin-top: 6px;
}

.screen-switcher-grid button {
  width: 100%;
  min-height: 28px;
  padding: 5px 8px;
  font-size: 11px;
}

.admin-nav-caption,
.portal-nav-group-label,
.system-switch > label {
  color: var(--pf24-muted);
  font-size: 10px;
  font-weight: 780;
  text-transform: uppercase;
}

.system-switch {
  display: grid;
  gap: 6px;
}

.system-switch select {
  width: 100%;
  padding: 0 9px;
}

.admin-tabs a,
.admin-nav-direct,
.portal-nav-link,
.portal-sidebar-logout {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  min-height: 29px;
  padding: 5px 7px;
  border: 1px solid transparent;
  border-radius: var(--pf24-radius);
  background: transparent;
  color: var(--pf24-ink);
  font-size: 11.5px;
  font-weight: 650;
}

.portal-sidebar-logout {
  width: 100%;
  min-height: 30px;
  border-color: var(--pf24-line);
  background: #fff;
  color: var(--pf24-ink);
  text-align: left;
  cursor: pointer;
}

.admin-tabs a.active,
.portal-nav-link.active {
  border-color: rgba(255, 130, 0, .38);
  background: var(--pf24-orange-soft);
  box-shadow: inset 3px 0 0 var(--pf24-orange);
}

.admin-tabs :where(svg, i[data-lucide]),
.portal-section-nav :where(svg, i[data-lucide]) {
  width: 16px;
  height: 16px;
  color: var(--pf24-orange);
}

.admin-nav-direct b,
.portal-nav-link b {
  min-width: 24px;
  padding: 2px 6px;
  border: 1px solid var(--pf24-line);
  border-radius: 999px;
  background: #fff;
  color: var(--pf24-ink);
  font-size: 10px;
  text-align: center;
}

.tab-panel,
.workspace,
.panel,
.portal-panel,
.content-card,
.customer-request-card,
.request-card,
.detail,
.queue,
article,
fieldset,
details {
  min-width: 0;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
  color: var(--pf24-ink);
  box-shadow: none;
}

details:not([open]) > :not(summary) {
  display: none !important;
}

.tab-panel,
.workspace {
  display: grid;
  gap: 12px;
  padding: 12px;
  align-items: start;
  overflow: visible;
}

.panel-head,
.compact-head,
.detail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
}

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

h1 {
  margin-bottom: 8px;
  font-size: 22px;
  line-height: 1.16;
}

h2 {
  margin-bottom: 8px;
  font-size: 16px;
  line-height: 1.2;
}

h3 {
  margin-bottom: 6px;
  font-size: 15px;
  line-height: 1.24;
}

h4,
strong,
b,
label,
summary {
  font-size: 13px;
  font-weight: 680;
}

p,
span,
small,
em,
li,
td,
th {
  color: var(--pf24-muted);
  font-size: 12px;
}

strong,
b,
h1,
h2,
h3,
h4 {
  color: var(--pf24-ink);
}

:where(.admin-body.active, .portal-active) :where(h1, h2, h3, h4, strong, b, span, small, em, p, label, summary, td, th, button, .button) {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

:where(.admin-body.active, .portal-active) :where(.servicecenter-ticket-main, .bookkeeping-check) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  justify-items: stretch;
  gap: 4px;
  width: 100%;
  min-width: 0;
  text-align: left;
}

:where(.admin-body.active, .portal-active) :where(.servicecenter-ticket-main em, .bookkeeping-check span) {
  display: block;
  width: auto;
  min-width: 0;
  max-width: 100%;
  height: auto;
  min-height: 0;
  white-space: normal;
  line-height: 1.25;
}

:where(.admin-body.active, .portal-active) :where(.bookkeeping-checklist) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 8px;
  min-width: 0;
}

.button,
button,
input[type="button"],
input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 34px;
  max-width: 100%;
  padding: 7px 11px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
  color: var(--pf24-ink);
  font-size: 12px;
  font-weight: 680;
  line-height: 1.1;
  text-align: center;
  cursor: pointer;
}

.button.primary,
button.primary,
.primary {
  border-color: var(--pf24-orange);
  background: var(--pf24-orange);
  color: var(--pf24-ink);
}

.button.secondary,
button.secondary,
.secondary {
  background: #fff;
}

.button.compact,
button.compact,
.compact {
  min-height: 30px;
  padding: 5px 9px;
  font-size: 11px;
}

.quiet-link {
  border: 0;
  background: transparent;
  color: var(--pf24-muted);
}

form,
.form-grid,
.settings-grid,
.grid,
.card-grid,
.kpi-grid,
.summary-grid,
.metric-grid {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.form-grid,
.settings-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

label {
  display: grid;
  gap: 4px;
  min-width: 0;
  color: var(--pf24-ink);
}

input,
select,
textarea {
  width: 100%;
  min-width: 0;
  min-height: 34px;
  padding: 7px 9px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
  color: var(--pf24-ink);
  outline: none;
}

textarea {
  min-height: 78px;
  resize: vertical;
}

input::placeholder,
textarea::placeholder {
  color: #93a3b3;
}

table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

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

.badge,
.pill,
.status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 22px;
  padding: 3px 8px;
  border: 1px solid var(--pf24-line);
  border-radius: 999px;
  background: #fff;
  color: var(--pf24-ink);
  font-size: 11px;
  font-weight: 650;
}

.inline-toast,
.incident-banner,
.form-message,
.empty {
  min-width: 0;
  color: var(--pf24-muted);
  font-size: 12px;
}

.queue {
  display: grid;
  gap: 8px;
  padding: 10px;
}

.request-list,
.generated-document-list,
.message-list,
.workday-list {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.request-list button,
.request-card,
.message-card,
.work-card,
.job-card,
.customer-request-card {
  display: grid;
  gap: 9px;
  min-width: 0;
  padding: 10px;
  line-height: 1.35;
  text-align: left;
  overflow: hidden;
}

.request-list button > *,
.request-card > *,
.message-card > *,
.work-card > *,
.job-card > *,
.customer-request-card > * {
  min-width: 0;
}

.request-list button.active,
.request-card.active {
  border-color: rgba(255, 130, 0, .6);
  background: var(--pf24-orange-soft);
}

[data-tab-panel="requests"].workspace,
.requests-workspace {
  grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
}

[data-tab-panel="requests"].workspace > .queue {
  grid-column: 1;
}

[data-tab-panel="requests"].workspace > .detail {
  grid-column: 2;
}

.ticket-detail-layout,
.ticket-main,
.admin-request-process-grid,
.info-grid,
.document-quick-draft,
.document-line-row,
.quote-line,
.finance-grid,
.communication-layout {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.request-action-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 230px);
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
}

.request-action-primary {
  display: grid;
  align-content: center;
  gap: 5px;
  min-width: 0;
}

.request-action-status,
.request-action-facts {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.request-action-status span,
.request-action-facts span,
.request-action-route,
.request-action-next {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #f9fbfd;
  color: var(--pf24-ink);
}

.request-action-status strong,
.request-action-route strong,
.request-action-next strong {
  font-size: 12px;
  line-height: 1.2;
}

.request-action-status small,
.request-action-route span,
.request-action-next span,
.request-action-next small {
  color: var(--pf24-muted);
  font-size: 12px;
  line-height: 1.35;
}

.request-action-route,
.request-action-facts,
.request-action-next,
.request-action-buttons {
  grid-column: 1 / -1;
}

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

.request-action-facts span {
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
}

.request-action-facts svg {
  width: 17px;
  height: 17px;
  color: var(--pf24-muted);
}

.request-action-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.request-foldout,
.request-detail-section {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.ticket-regie-strip,
.callback-context {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 8px;
  min-width: 0;
}

.ticket-regie-strip article,
.callback-context article,
.admin-request-process-grid p,
.callback-history small {
  display: grid;
  gap: 3px;
  min-width: 0;
  margin: 0;
  padding: 8px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
  color: var(--pf24-ink);
}

.ticket-regie-strip article.primary {
  border-color: #ffc27a;
  background: var(--pf24-orange-soft);
}

.ticket-regie-strip span,
.callback-context span,
.admin-request-process-grid strong {
  color: var(--pf24-muted);
  font-size: 11px;
  font-weight: 760;
  line-height: 1.2;
}

.ticket-regie-strip strong,
.callback-context strong {
  font-size: 12px;
  line-height: 1.25;
}

.ticket-regie-strip small,
.callback-context small,
.callback-context em,
.callback-history small {
  color: var(--pf24-muted);
  font-size: 11px;
  line-height: 1.35;
}

.callback-context-wide {
  grid-column: 1 / -1;
}

.callback-history {
  display: grid;
  gap: 6px;
}

.callback-history b {
  display: inline-block;
  margin-right: 4px;
}

.info-grid,
.admin-request-process-grid,
.finance-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.quote-line {
  grid-template-columns: repeat(4, minmax(0, 1fr)) 32px;
  align-items: end;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.quote-line > * {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.quote-line > :where(input[name="lineDescription"], input[data-line-description]) {
  grid-column: span 2;
}

.quote-line .offer-gaccount-fields {
  grid-column: span 2;
}

.quote-line :where(button[data-remove-line], .remove-line-button) {
  width: 32px;
  min-width: 32px;
  max-width: 32px;
  justify-self: end;
}

.document-line-row {
  grid-template-columns: minmax(180px, 1.4fr) 80px 90px 110px auto;
  align-items: end;
}

.g-account-admin-note {
  padding: 9px;
  border: 1px solid #b8dfd4;
  border-radius: var(--pf24-radius);
  background: var(--pf24-green-soft);
}

.portal-shell {
  display: grid;
  place-items: start center;
  width: min(100%, 760px);
  margin: 34px auto;
}

.login-panel {
  width: min(100%, 520px);
  padding: 20px;
}

.test-login-panel {
  display: grid;
  gap: 10px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--pf24-line);
}

.test-login-controls,
.test-login-filters,
.test-login-grid {
  display: grid;
  gap: 8px;
}

.test-login-filters {
  grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
}

.test-login-grid {
  max-height: 360px;
  overflow: auto;
}

.test-login-choice {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  justify-items: start;
  text-align: left;
}

#portalDashboard.dashboard {
  display: grid;
  grid-template-columns: 248px minmax(0, 1fr);
  align-items: start;
  gap: 14px;
}

#portalDashboard > .portal-section-nav,
#portalDashboard > .professional-section-nav {
  position: sticky;
  top: 90px;
  grid-column: 1;
  grid-row: 1 / span 70;
  display: grid;
  gap: 8px;
  max-height: calc(100dvh - 110px);
  padding: 12px;
  overflow: auto;
  border: 1px solid var(--pf24-line);
  border-radius: 12px;
  background: #fff;
}

#portalDashboard > :not(.portal-section-nav):not(.professional-section-nav) {
  grid-column: 2;
  min-width: 0;
}

.portal-sidebar-brand {
  display: grid;
  gap: 5px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--pf24-line-soft);
}

.portal-sidebar-brand img {
  max-width: 150px;
  max-height: 42px;
  object-fit: contain;
}

.portal-sidebar-wordmark {
  color: var(--pf24-blue);
  font-size: 21px;
  font-weight: 860;
  line-height: 1;
}

.portal-sidebar-wordmark strong {
  color: var(--pf24-orange);
}

.customer-section,
.professional-section {
  display: none;
  gap: 12px;
  min-width: 0;
}

.customer-section.portal-view-active,
.professional-section.portal-view-active {
  display: grid;
}

.customer-overview-hero,
.professional-cockpit,
.customer-cockpit,
.business-operations-director,
.branch-monitor-workspace,
.wallet-panel,
.need-to-know-assistant {
  display: grid;
  gap: 10px;
  padding: 12px;
}

.customer-overview-hero,
.customer-overview-list,
.customer-request-card,
.wallet-panel,
.need-to-know-assistant,
.account-context-panel,
.business-package-grid,
.property-manager,
.stay-assistant-panel,
.hospitality-offer-card {
  background: #fff;
  color: var(--pf24-ink);
}

.customer-next-action,
.professional-next-action,
.customer-status-strip article,
.business-shortcuts a,
.mini-job-grid article,
.mini-job-card,
.customer-regelhulp-grid a,
.message-route-card {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
  color: var(--pf24-ink);
}

.business-operations-director {
  min-width: 0;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
  color: var(--pf24-ink);
}

.business-operations-head,
.business-operations-costguard,
.business-operations-tenant-mail,
.business-operations-staff-queue article,
.business-operations-action,
.business-domain-chip {
  display: grid;
  min-width: 0;
  gap: 8px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
  color: var(--pf24-ink);
}

.business-operations-head {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  padding: 10px;
}

.business-operations-title,
.business-operations-costguard,
.business-operations-tenant-mail,
.business-operations-action,
.business-domain-chip {
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
}

.business-operations-title,
.business-operations-title > div,
.business-operations-action > div,
.business-domain-chip span,
.business-operations-costguard > div,
.business-operations-tenant-mail > div,
.business-operations-staff-queue article > div {
  min-width: 0;
}

.business-operations-title span,
.business-operations-action > span,
.business-operations-costguard > span,
.business-operations-tenant-mail > span {
  display: inline-grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 10px;
  background: var(--pf24-orange-soft);
  color: var(--pf24-orange);
}

.business-operations-title :where(strong, small, em),
.business-operations-action :where(strong, small, em, b),
.business-domain-chip :where(strong, small, b),
.business-operations-costguard :where(strong, small, em, b),
.business-operations-tenant-mail :where(strong, small, b),
.business-operations-staff-queue :where(strong, small) {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.business-operations-title em,
.business-operations-action em,
.business-operations-costguard em,
.business-domain-chip small,
.business-operations-staff-queue small {
  color: var(--pf24-muted);
  font-style: normal;
  font-weight: 650;
}

.business-operations-score {
  min-width: 86px;
  text-align: right;
}

.business-operations-score strong {
  display: block;
  font-size: 1.35rem;
  line-height: 1;
}

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

.business-operations-metrics article {
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
}

.business-operations-metrics article :where(strong, span) {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.business-operations-costguard,
.business-operations-tenant-mail,
.business-operations-action,
.business-domain-chip {
  padding: 9px;
}

.business-operations-actions,
.business-operations-domains > div {
  display: grid;
  min-width: 0;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.business-operations-staff-queue {
  display: grid;
  min-width: 0;
  gap: 8px;
}

.business-operations-staff-queue header {
  display: flex;
  min-width: 0;
  justify-content: space-between;
  gap: 10px;
}

.business-operations-staff-queue article {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  padding: 9px;
}

.business-operations-staff-queue nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
}

.business-operations-staff-queue nav a {
  padding: 6px 9px;
  border: 1px solid var(--pf24-line);
  border-radius: 999px;
  background: #fff;
  color: var(--pf24-ink);
  font-weight: 750;
  text-decoration: none;
}

.business-operations-domains {
  min-width: 0;
}

.business-operations-domains summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
}

.business-operations-domains summary span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.branch-monitor-hero,
.branch-monitor-card,
.branch-monitor-kpis article {
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
  color: var(--pf24-ink);
}

.branch-monitor-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
}

.branch-monitor-hero h3,
.branch-monitor-card h3 {
  margin: 0 0 6px;
}

.branch-monitor-hero p,
.branch-monitor-card p {
  margin: 0;
  color: var(--pf24-muted);
}

.branch-monitor-kpis,
.branch-monitor-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

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

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

.branch-monitor-card,
.branch-monitor-kpis article {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 10px;
}

.branch-monitor-kpis strong {
  color: var(--pf24-blue);
  font-size: 1.2rem;
  line-height: 1;
}

.branch-monitor-kpis span,
.branch-source-list small,
.branch-competitor-list small,
.branch-action-list span,
.branch-alert-list span {
  color: var(--pf24-muted);
}

.branch-price-row,
.branch-source-list > div,
.branch-competitor-list > div,
.branch-alert-list > div,
.branch-action-list li {
  display: grid;
  gap: 4px;
  padding: 8px 0;
  border-top: 1px solid var(--pf24-line-soft);
}

.branch-price-row {
  grid-template-columns: 1fr auto;
  align-items: center;
}

.branch-action-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.customer-next-action.warning,
.professional-next-action.warning {
  border-color: #ffbd78;
  background: #fff6ea;
}

.customer-status-strip,
.business-shortcuts,
.mini-job-grid,
.customer-regelhulp-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 8px;
}

.portal-action-row,
.actions,
.button-row,
.password-reset-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.message-hub,
.message-hub-grid,
.message-hub-summary {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.message-hub-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.message-hub-summary {
  grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
}

.message-hub-summary span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
}

.message-route-card {
  min-height: 86px;
  align-content: start;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
}

.message-route-card > * {
  min-width: 0;
}

.professional-mail-workspace,
.own-sales-documents {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.professional-mail-layout {
  display: grid;
  grid-template-columns: 150px minmax(210px, .8fr) minmax(320px, 1.2fr);
  gap: 10px;
  min-width: 0;
}

.professional-mail-folders,
.professional-mail-list,
.professional-mail-reader {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
}

.professional-mail-folders button,
.professional-mail-row {
  display: grid;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
  color: var(--pf24-ink);
  text-align: left;
}

.professional-mail-folders button {
  grid-template-columns: 18px 1fr auto;
  align-items: center;
  gap: 7px;
}

.professional-mail-folders button.active,
.professional-mail-row.active {
  border-color: var(--pf24-orange);
  background: #fff2e4;
}

.professional-mail-row :where(strong, span, small),
.professional-mail-reader :where(h4, p, dd) {
  overflow: hidden;
  text-overflow: ellipsis;
}

.professional-mail-row strong,
.professional-mail-row span {
  white-space: nowrap;
}

.professional-mail-reader {
  padding: 12px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
}

.professional-mail-reader dl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 8px;
  margin: 0;
}

.professional-mail-reader dt {
  font-size: 11px;
  color: var(--pf24-muted);
}

.professional-mail-reader dd {
  margin: 0;
  font-weight: 700;
}

.professional-mail-actions,
.professional-administration-quick-actions,
.sales-document-toolbar,
.sales-document-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.professional-administration-quick-actions {
  justify-content: flex-start;
  padding: 9px 10px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
}

.professional-administration-quick-actions div {
  display: grid;
  min-width: 220px;
  margin-right: auto;
}

.sales-document-dialog {
  width: min(96vw, 1180px);
  max-height: 92dvh;
}

.sales-document-form {
  padding: 0;
}

.sales-document-dialog-head {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--pf24-line);
  background: #fff;
}

.sales-document-dialog-head div,
.sales-document-dialog-head strong,
.sales-document-dialog-head span {
  min-width: 0;
}

.sales-document-dialog-head strong {
  display: block;
  font-size: 17px;
}

.sales-document-composer-layout {
  display: grid;
  grid-template-columns: minmax(380px, .95fr) minmax(360px, 1.05fr);
  gap: 12px;
  padding: 14px;
  min-width: 0;
}

.sales-document-editor,
.sales-document-editor-grid,
.sales-document-lines,
.sales-document-tax-panel {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.sales-document-editor-grid {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.sales-document-editor-grid .wide,
.sales-document-form .wide {
  grid-column: 1 / -1;
}

.sales-document-line-head,
.sales-document-line {
  display: grid;
  grid-template-columns: minmax(160px, 1.3fr) 82px 82px 110px 110px 38px;
  gap: 7px;
  align-items: center;
  min-width: 0;
}

.sales-document-line-head {
  font-size: 11px;
  color: var(--pf24-muted);
  font-weight: 700;
}

.sales-document-gaccount-fields {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 8px;
  padding: 7px 9px;
  border: 1px dashed var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fbfdff;
}

.sales-document-gaccount-fields summary {
  grid-column: 1 / -1;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
}

.sales-document-tax-panel {
  padding: 9px 10px;
  border: 1px solid #ffd5aa;
  border-radius: var(--pf24-radius);
  background: #fff7ee;
}

.sales-document-preview {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #edf3f8;
}

.sales-document-a4 {
  display: grid;
  gap: 12px;
  width: min(100%, 560px);
  min-height: 760px;
  margin: 0 auto;
  padding: 28px;
  border: 1px solid var(--pf24-line);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(20, 40, 60, .12);
  color: var(--pf24-ink);
  font-size: 11px;
  line-height: 1.35;
}

.sales-document-a4 header,
.sales-document-a4 footer,
.sales-document-a4-parties,
.sales-document-a4-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.sales-document-a4 header img,
.sales-document-a4 header svg {
  max-width: 150px;
  max-height: 42px;
}

.sales-document-a4 table {
  width: 100%;
  border-collapse: collapse;
}

.sales-document-a4 th,
.sales-document-a4 td {
  padding: 6px 5px;
  border-bottom: 1px solid var(--pf24-line);
  text-align: left;
  vertical-align: top;
}

.sales-document-a4 td small {
  display: block;
  margin-top: 2px;
  color: var(--pf24-muted);
}

@media (max-width: 980px) {
  .professional-mail-layout,
  .sales-document-composer-layout {
    grid-template-columns: 1fr;
  }

  .professional-mail-folders {
    grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
  }

  .sales-document-line-head {
    display: none;
  }

  .sales-document-line {
    grid-template-columns: 1fr 74px 74px;
  }

  .sales-document-line select,
  .sales-document-line .icon-button {
    grid-column: auto;
  }
}

@media (max-width: 560px) {
  .sales-document-dialog {
    width: 100vw;
    max-width: 100vw;
    max-height: 100dvh;
    border-radius: 0;
  }

  .sales-document-composer-layout {
    padding: 10px;
  }

  .sales-document-line {
    grid-template-columns: 1fr;
  }

  .sales-document-a4 {
    min-height: 0;
    padding: 16px;
  }

  .sales-document-a4 header,
  .sales-document-a4 footer,
  .sales-document-a4-parties,
  .sales-document-a4-meta {
    display: grid;
  }
}

.portal-page-footer,
.admin-page-footer {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 60;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-height: 46px;
  padding: 8px 18px;
  border-top: 1px solid var(--pf24-line);
  background: rgba(255, 255, 255, .96);
  pointer-events: none;
}

.portal-page-footer img,
.admin-page-footer img {
  width: auto;
  max-width: 74px;
  max-height: 24px;
  object-fit: contain;
}

.pos-v2-company-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

.pos-v2-brand-watermark {
  position: absolute;
  inset: auto 14px 14px auto;
  max-width: 34%;
  opacity: .08;
  pointer-events: none;
}

.pos-v2-brand-watermark img {
  display: block;
  max-height: 120px;
  object-fit: contain;
}

body.admin-body.active #dashboard.dashboard > .admin-tabs .admin-nav-bottom {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  align-self: start !important;
  align-content: start !important;
  width: 100% !important;
  margin-top: 4px !important;
  padding-top: 8px !important;
}

body.admin-body.active #dashboard.dashboard > .admin-tabs .screen-switcher:not([open]) .screen-switcher-grid {
  display: none !important;
}

body.admin-body.active #dashboard.dashboard > .admin-tabs .screen-switcher[open] .screen-switcher-grid {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  display: grid !important;
  width: 100% !important;
  max-height: none !important;
  overflow: visible !important;
  margin-top: 6px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.admin-body.active #dashboard.dashboard > .admin-tabs .screen-switcher-grid button,
body.admin-body.active #dashboard.dashboard > .admin-tabs .portal-sidebar-logout {
  position: static !important;
  width: 100% !important;
  min-width: 0 !important;
}

.staff-console,
.staff-panel,
.staff-workspace,
.staff-list,
.staff-subpanel,
.staff-sessions,
.staff-badge-ops,
.staff-time-admin-grid,
.staff-time-card,
.staff-form-grid,
.staff-time-form-grid,
.data-quality-console,
.data-quality-layout,
.data-quality-panel,
.branch-workspace,
.benchmark-workspace,
.market-monitor-workspace,
.settings-shell,
.settings-form,
.settings-card {
  position: static !important;
  min-width: 0;
  max-width: 100%;
}

.staff-console,
.staff-panel,
.staff-sessions,
.staff-badge-ops,
.data-quality-console,
.branch-workspace,
.benchmark-workspace,
.market-monitor-workspace,
.settings-shell {
  display: grid;
  gap: 12px;
}

.staff-workspace {
  display: grid;
  grid-template-columns: minmax(260px, 380px) minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.staff-list,
.staff-time-user-list,
.staff-session-list,
.benchmark-table,
.data-quality-issue-list {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.staff-table-head,
.staff-table-row,
.staff-time-user,
.data-row,
.benchmark-row,
.data-quality-issue,
.data-quality-storage-row,
.data-storage-row,
.data-cleanup-row,
.branch-card {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
  color: var(--pf24-ink);
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
}

.staff-table-head,
.staff-table-row {
  grid-template-columns: minmax(160px, 1.35fr) minmax(96px, .85fr) minmax(76px, .7fr) minmax(54px, .45fr);
  align-items: center;
}

.staff-table-row > *,
.staff-time-user > *,
.data-row > *,
.benchmark-row > *,
.branch-card > *,
.data-quality-issue > * {
  min-width: 0;
}

.staff-table-row :where(span, strong, small, b),
.staff-table-head span,
.staff-time-user :where(span, strong, small, b),
.data-row :where(span, strong, small, b),
.benchmark-row :where(span, strong, small, b),
.branch-card :where(span, strong, small, b),
.data-quality-issue :where(span, strong, small, b) {
  min-width: 0;
  overflow: hidden;
  line-height: 1.22;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.admin-body.active #dashboard.dashboard .leaflet-control-zoom a {
  width: 24px;
  height: 24px;
  line-height: 22px;
  font-size: 15px;
}

.data-quality-issue-list > button {
  grid-template-columns: minmax(0, 1fr) auto !important;
  width: 100% !important;
}

.data-quality-issue-list > button > span {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
}

.data-quality-issue-list > button > span > * {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.data-quality-issue-list > button > small,
.data-quality-issue-list > button > em {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.staff-table-row {
  min-height: 46px;
}

.staff-time-admin-grid,
.badge-ops-grid,
.data-quality-layout {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px;
  align-items: start;
}

.staff-form-grid,
.staff-time-form-grid,
.settings-form,
.benchmark-form,
.benchmark-upload-form,
.benchmark-upload-save-form,
.market-monitor-form,
.compact-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
  align-items: end;
}

.staff-form-grid .wide,
.staff-time-form-grid .wide,
.settings-form .wide,
.benchmark-form .wide,
.benchmark-upload-form .wide,
.benchmark-upload-save-form .wide,
.market-monitor-form .wide,
.compact-form .wide {
  grid-column: 1 / -1;
}

.staff-time-export-actions,
.data-quality-actions,
.benchmark-source-options,
.market-monitor-actions,
.settings-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.data-quality-score-strip,
.market-monitor-kpis,
.benchmark-kpis,
.staff-kpi-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 8px;
}

dialog {
  width: min(92vw, 760px);
  max-height: 86dvh;
  padding: 0;
  overflow: auto;
  border: 1px solid var(--pf24-line);
  border-radius: 12px;
  background: #fff;
  color: var(--pf24-ink);
}

dialog::backdrop {
  background: rgba(16, 32, 51, .42);
}

.modal,
.dialog-body,
dialog form {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.customer-mobile-bottom-nav,
.mobile-bottom-nav {
  display: none;
}

.portal-workscreen-actions {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.portal-workscreen-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid var(--pf24-line);
  border-radius: 8px;
  background: #fff;
  color: var(--pf24-ink);
  font-size: 12px;
  font-weight: 720;
}

.portal-section-nav,
.professional-section-nav,
body.admin-body.active #dashboard.dashboard > .admin-tabs {
  font-size: 12px;
}

.portal-nav-group,
.admin-nav-block {
  gap: 4px;
}

.portal-nav-group-label,
.admin-nav-caption {
  margin: 4px 0 2px;
  font-size: 10px;
  line-height: 1.1;
}

.portal-nav-link,
.admin-tabs a,
.admin-nav-direct,
.portal-sidebar-logout,
.screen-switcher > summary {
  min-height: 30px !important;
  padding: 6px 8px !important;
  gap: 7px !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
}

.portal-nav-link svg,
.admin-tabs a svg,
.admin-nav-direct svg,
.portal-sidebar-logout svg,
.screen-switcher svg {
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
}

.professional-sidebar-brand span,
.portal-sidebar-brand span {
  overflow: hidden;
  max-width: 100%;
  font-size: 12px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.portal-app-download,
.customer-advanced-nav,
.sidebar-chat-widget {
  display: none !important;
}

.professional-section-nav,
.portal-section-nav {
  align-self: start;
  max-height: calc(100dvh - 100px);
  overflow: auto;
}

.professional-section-nav .portal-nav-links,
.portal-section-nav .portal-nav-links {
  align-content: start;
}

.portal-nav-link b,
.admin-nav-direct b {
  max-width: 48px;
}

.portal-nav-link span,
.admin-tabs a span,
.admin-nav-direct span {
  white-space: nowrap;
}

.professional-admin-kpis,
.professional-fiscal-kpis,
.professional-admin-result-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
  gap: 8px;
}

.professional-admin-kpis article,
.professional-fiscal-kpis article,
.professional-admin-result-grid article,
.professional-admin-channel-grid article {
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
}

.professional-admin-kpis strong,
.professional-fiscal-kpis strong,
.professional-admin-result-grid strong,
.professional-admin-channel-head b {
  font-size: 15px;
  line-height: 1.15;
}

.professional-admin-channel-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
}

.professional-admin-result,
.professional-fiscal-year,
.professional-bank-reconciliation,
.professional-purchase-invoices,
.professional-admin-close-grid,
.professional-accounting-priority,
.professional-admin-attention {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
}

.professional-foldout > summary {
  min-height: 42px;
  padding: 10px 12px;
}

.professional-foldout-body {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 10px;
}

.professional-foldout-body > .inline-subtabs {
  margin: 0;
}

.inline-subtab-nav {
  gap: 6px;
  padding: 6px;
}

.inline-subtab-nav button {
  min-height: 30px;
  padding: 6px 9px;
  font-size: 11px;
}

.inline-subtab-panel {
  padding: 10px;
}

.long-page-subtabs {
  gap: 8px;
}

.long-page-subtab-nav {
  position: sticky;
  top: 80px;
  z-index: 8;
  padding: 6px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 8px 20px rgba(16, 32, 51, .04);
}

.long-page-subtab-panels > .inline-subtab-panel {
  padding: 0;
}

.long-page-subtab-panels > .inline-subtab-panel > :is(section, article, details, form, div) {
  min-width: 0;
}

.professional-section.portal-view-active,
.customer-section.portal-view-active {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.professional-section.portal-view-hidden,
.customer-section.portal-view-hidden {
  display: none !important;
}

@media (max-width: 980px) {
  .topbar {
    grid-template-columns: 1fr auto;
    min-height: 64px;
    padding: 8px 10px;
  }

  .topbar .brand img {
    max-width: 150px;
    max-height: 42px;
  }

  .topbar .brand img[src*="profix24-header-light"] {
    min-width: 170px;
    max-width: min(230px, 52vw) !important;
    max-height: 54px !important;
  }

  .brand-tagline {
    display: none;
  }

  .admin-header-metrics,
  .nav-links {
    display: none;
  }

  .admin-shell {
    padding: 10px;
    padding-bottom: 96px;
  }

  body.admin-body.active #dashboard.dashboard,
  body.admin-body #dashboard.dashboard:not(.hidden),
  #portalDashboard.dashboard {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  body.admin-body #dashboard > .admin-tabs,
  #portalDashboard > .portal-section-nav,
  #portalDashboard > .professional-section-nav {
    position: static;
    grid-column: 1;
    grid-row: auto;
    display: grid;
    grid-template-columns: 1fr;
    max-height: none;
    padding: 8px;
  }

  body.admin-body #dashboard > :not(.admin-tabs),
  #portalDashboard > :not(.portal-section-nav):not(.professional-section-nav) {
    grid-column: 1;
  }

  .admin-nav-primary,
  .portal-nav-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-nav-direct-actions,
  .admin-nav-bottom {
    grid-template-columns: 1fr;
  }

  [data-tab-panel="requests"].workspace,
  .requests-workspace {
    grid-template-columns: 1fr;
  }

  [data-tab-panel="requests"].workspace > .queue,
  [data-tab-panel="requests"].workspace > .detail {
    grid-column: 1;
  }

  .request-action-summary,
  .request-action-facts {
    grid-template-columns: 1fr;
  }

  .quote-line,
  .document-line-row {
    grid-template-columns: 1fr 76px;
  }

  .portal-nav-group {
    gap: 5px;
  }

  .portal-nav-group-label,
  .admin-nav-caption {
    grid-column: 1 / -1;
  }

  .portal-nav-link,
  .admin-tabs a,
  .admin-nav-direct,
  .portal-sidebar-logout {
    min-height: 34px !important;
    font-size: 11px !important;
  }

  .long-page-subtab-nav {
    position: static;
  }
}

@media (max-width: 560px) {
  html,
  body {
    font-size: 12px;
  }

  .topbar {
    align-items: center;
  }

  .voice-menu-icon-button,
  .icon-button,
  .settings-toggle,
  .settings-button {
    width: 38px;
    height: 38px;
    min-width: 38px;
    min-height: 38px;
  }

  .language-select {
    width: 70px;
  }

  .admin-nav-primary,
  .portal-nav-links,
  .admin-nav-direct-actions,
  .admin-nav-bottom,
  .customer-status-strip,
  .business-shortcuts,
  .mini-job-grid,
  .customer-regelhulp-grid {
    grid-template-columns: 1fr;
  }

  body:not(.admin-body) #portalDashboard > .portal-section-nav .portal-nav-links,
  body:not(.admin-body) #portalDashboard > .professional-section-nav .portal-nav-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tab-panel,
  .workspace,
  .login-panel {
    padding: 10px;
  }

  .panel-head,
  .compact-head,
  .detail-head {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Stable compact work surfaces */
.inline-subtabs {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.inline-subtab-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  min-width: 0;
}

.inline-subtab-nav button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid var(--pf24-line);
  border-radius: 8px;
  background: #fff;
  color: var(--pf24-ink);
  font-size: 12px;
  font-weight: 740;
  line-height: 1.15;
}

.inline-subtab-nav button.active {
  border-color: rgba(255, 130, 0, .65);
  background: var(--pf24-orange-soft);
  color: var(--pf24-ink);
}

.inline-subtab-nav svg,
.inline-subtab-nav i[data-lucide] {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}

.inline-subtab-panels,
.inline-subtab-panel {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.inline-subtab-panel[hidden] {
  display: none !important;
}

.workorder-card .inline-subtabs {
  margin-top: 10px;
}

.workorder-billing-panel {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.document-line-row {
  grid-template-columns: minmax(180px, 1.5fr) 72px 82px 100px 104px 38px;
}

.document-line-tax-note {
  grid-column: 1 / -1;
  color: var(--pf24-muted);
  font-size: 11px;
  line-height: 1.35;
}

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

.offer-gaccount-fields > input {
  min-width: 0;
}

.quote-line-tax-note {
  grid-column: 1 / -1;
  color: var(--pf24-muted);
  font-size: 11px;
  line-height: 1.3;
}

body.admin-body .finance-head,
body.admin-body .data-quality-hero,
body.admin-body .audit-hero,
body.admin-body .staff-hero {
  border: 1px solid var(--pf24-line) !important;
  background: var(--pf24-panel);
  color: var(--pf24-ink) !important;
  box-shadow: var(--pf24-shadow-soft);
}

body.admin-body .finance-head *,
body.admin-body .data-quality-hero *,
body.admin-body .audit-hero *,
body.admin-body .staff-hero * {
  color: inherit;
}

body.admin-body .finance-head p,
body.admin-body .data-quality-hero p,
body.admin-body .audit-hero p,
body.admin-body .staff-hero p {
  color: var(--pf24-muted) !important;
}

body.admin-body .admin-document-launchpad,
body.admin-body .document-composer-window,
body.admin-body .document-quick-draft,
body.admin-body .generated-document-list,
body.admin-body .document-agent-panel,
body.admin-body .finance-priority,
body.admin-body .finance-chart-block {
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
  color: var(--pf24-ink);
}

body.admin-body .admin-document-actions,
body.admin-body .document-quick-actions,
body.admin-body .finance-head-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

body.admin-body .admin-document-actions .button,
body.admin-body .document-quick-actions .button,
body.admin-body .finance-head-actions .button {
  min-height: 36px;
  padding: 7px 10px;
  font-size: 12px;
  line-height: 1.15;
}

body.admin-body .generated-document-list .finance-document-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.5fr) minmax(130px, .8fr) minmax(105px, .65fr) minmax(130px, .75fr) minmax(100px, .65fr) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: var(--pf24-panel);
  color: var(--pf24-ink);
}

body.admin-body .generated-document-list .finance-document-row > span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

body.admin-body .generated-document-list .finance-document-row :where(b, small, em) {
  min-width: 0;
  overflow: hidden;
  color: inherit;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
}

body.admin-body .generated-document-list .finance-document-row small,
body.admin-body .generated-document-list .finance-document-row em {
  color: var(--pf24-muted);
  font-size: 11px;
}

body.admin-body .generated-document-list .finance-document-row em {
  font-style: normal;
}

body.admin-body .generated-document-list .finance-document-amount {
  text-align: right;
}

body.admin-body .document-preview-sheet {
  width: min(100%, 620px);
  min-height: 720px;
  margin: 0 auto;
  padding: 22px;
  border: 1px solid var(--pf24-line);
  border-radius: 8px;
  background: #fff;
  color: var(--pf24-ink);
}

body.admin-body .document-preview-sheet * {
  color: inherit;
}

body.admin-body .document-preview-table {
  width: 100%;
  border-collapse: collapse;
}

body.admin-body .document-preview-table th,
body.admin-body .document-preview-table td {
  padding: 7px;
  border-bottom: 1px solid var(--pf24-line);
  text-align: left;
  font-size: 12px;
}

@media (max-width: 980px) {
  .document-line-row,
  .quote-line,
  body.admin-body .generated-document-list .finance-document-row {
    grid-template-columns: 1fr;
  }
}

.professional-live-map-panel {
  grid-column: 1 / -1;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: var(--pf24-panel);
  color: var(--pf24-ink);
  box-shadow: var(--pf24-shadow-soft);
  padding: 14px;
}

.professional-live-map-grid {
  display: grid;
  grid-template-columns: minmax(320px, 1.8fr) minmax(220px, .8fr);
  gap: 12px;
  align-items: stretch;
}

.professional-live-map {
  min-height: 260px;
  border: 1px solid var(--pf24-line);
  border-radius: 14px;
  background: #eef4f8;
  overflow: hidden;
}

.professional-live-map-side {
  display: grid;
  gap: 8px;
  align-content: start;
}

.professional-live-map-side > span,
.professional-live-map-list a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--pf24-line);
  border-radius: 12px;
  background: #fff;
  color: var(--pf24-ink);
  text-decoration: none;
}

.professional-live-map-side > span strong {
  font-size: 17px;
}

.professional-live-map-side small,
.professional-live-map-list small {
  color: var(--pf24-muted);
  font-size: 11px;
  line-height: 1.25;
}

.professional-live-map-list {
  display: grid;
  gap: 7px;
}

.professional-live-map-list svg {
  width: 18px;
  height: 18px;
  color: var(--pf24-orange);
}

.professional-live-map-list a.active {
  border-color: #86efac;
  background: #f0fdf4;
}

.professional-live-map-list a.warning {
  border-color: #fbbf24;
  background: #fffbeb;
}

.professional-live-map-list a.hardware {
  border-color: #fdba74;
  background: #fff7ed;
}

@media (max-width: 900px) {
  .professional-live-map-grid {
    grid-template-columns: 1fr;
  }

  .professional-live-map {
    min-height: 220px;
  }
}

@media (max-width: 820px) {
  body.admin-body.active #dashboard.dashboard .leaflet-control-zoom a {
    width: 24px;
    height: 24px;
    line-height: 22px;
    font-size: 15px;
  }

  body.admin-body.active #dashboard.dashboard .servicecenter-routing-grid,
  body.admin-body.active #dashboard.dashboard .servicecenter-routing-tile {
    display: grid;
    grid-template-columns: 1fr;
    min-width: 0;
    max-width: 100%;
  }

  body.admin-body.active #dashboard.dashboard .servicecenter-routing-tile > :where(span, strong, b, em, small) {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    justify-self: stretch;
    white-space: normal;
  }

  body.admin-body.active #dashboard.dashboard .data-quality-issue-list > button {
    display: block !important;
    grid-template-columns: none !important;
    align-items: start !important;
    width: 100% !important;
  }

  body.admin-body.active #dashboard.dashboard :where(#dataQualityPanel, .data-quality-console, .data-quality-layout, .data-quality-panel, .data-quality-issue-list),
  body.admin-body.active #dashboard.dashboard :where(#dataQualityPanel, .data-quality-console, .data-quality-layout, .data-quality-panel, .data-quality-issue-list) > * {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body.admin-body.active #dashboard.dashboard .data-quality-issue-list :where(span, strong, small, em, b),
  body.admin-body.active #dashboard.dashboard #staffPanel :where(span, strong, small, b) {
    display: block !important;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  body.admin-body.active #dashboard.dashboard :where(#staffPanel, .partners.staff-console, .staff-workspace, .staff-dossier, .staff-card-form, .staff-subpanel) {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: visible;
  }

  body.admin-body.active #dashboard.dashboard .staff-card-form :where(label, .staff-subpanel, .staff-card-actions) {
    display: grid;
    grid-template-columns: 1fr;
    min-width: 0;
  }

  body.admin-body.active #dashboard.dashboard .staff-table-row {
    grid-template-columns: 1fr;
    align-items: start;
  }

  body.admin-body.active #dashboard.dashboard .staff-table-head {
    display: none;
  }

  body.admin-body.active #dashboard.dashboard .staff-table-row > * {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }
}

/* Live guardian contract: elke rol moet kunnen scrollen en de assistentknoppen blijven exact gecentreerd. */
html,
body {
  overflow-y: auto;
}

:where(body.admin-body.active, body.portal-active, body.login-entry) :where(#dashboard, #portalDashboard, .admin-shell, .portal-shell, .login-panel) {
  min-height: 0;
}

:where(.voice-menu-icon-button, .portal-header-assistant .voice-menu-icon-button, .topbar-assistant-actions .voice-menu-icon-button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

@media (max-width: 820px) {
  body.admin-body.active #dashboard.dashboard :where(#calculatorPanel, .calculator-shell, #businessCalculatorForm, .business-calculator-grid, .calculator-card, .business-calculator-card, .calculator-scenario-grid, .smart-edit-toolbar) {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: visible;
    box-sizing: border-box;
  }

  body.admin-body.active #dashboard.dashboard :where(#calculatorPanel, .calculator-shell, #businessCalculatorForm, .business-calculator-grid, .calculator-card, .business-calculator-card, .calculator-scenario-grid, .smart-edit-toolbar, .panel-head) > * {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}
/* Koppelcentrum: controlled extension workspace */
.connector-center-workspace {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.connector-head,
.connector-card,
.connector-summary-grid > article {
  min-width: 0;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
  color: var(--pf24-ink);
  box-shadow: none;
}

.connector-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
}

.connector-head h2,
.connector-head p {
  margin: 0;
}

.connector-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
}

.connector-summary-grid > article {
  display: grid;
  gap: 2px;
  padding: 9px 10px;
}

.connector-summary-grid strong {
  font-size: 17px;
  line-height: 1.1;
}

.connector-summary-grid span,
.connector-summary-grid small {
  font-size: 11px;
  line-height: 1.25;
}

.connector-card-grid,
.connector-work-grid,
.connector-guard-grid {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.connector-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.connector-work-grid {
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
}

.connector-card {
  display: grid;
  gap: 10px;
  padding: 12px;
}

.connector-card.active {
  border-color: rgba(255, 130, 0, .45);
  box-shadow: inset 3px 0 0 var(--pf24-orange);
}

.connector-card-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.connector-card-head > span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.connector-card p,
.connector-card small {
  margin: 0;
  color: var(--pf24-muted);
  font-size: 11.5px;
  line-height: 1.35;
}

.connector-pill-row,
.connector-guard-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.connector-pill-row span,
.connector-guard-grid span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 24px;
  padding: 4px 8px;
  border: 1px solid var(--pf24-line);
  border-radius: 999px;
  background: #f8fbfe;
  color: var(--pf24-ink);
  font-size: 11px;
  line-height: 1.2;
}

.connector-demo-rebuild {
  border-color: rgba(255, 130, 0, .35);
  background: linear-gradient(180deg, #fff, #fffaf5);
}

.connector-demo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 7px;
}

.connector-demo-grid span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
  color: var(--pf24-ink);
  font-size: 11.5px;
  line-height: 1.25;
}

.connector-command-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.connector-command-row code {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 8px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #f8fbfe;
  color: var(--pf24-muted);
  font-size: 11px;
  white-space: normal;
}

.connector-step-list,
.connector-audit-list {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.connector-step-list span,
.connector-audit-list span {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #f8fbfe;
}

.connector-step-list b,
.connector-audit-list svg {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--pf24-orange-soft);
  color: var(--pf24-orange);
  font-size: 11px;
}

.connector-audit-list span {
  grid-template-columns: 20px minmax(0, 1fr);
}

.connector-audit-list small {
  grid-column: 2;
}

.connector-audit-list .ok {
  border-color: rgba(20, 160, 110, .28);
  background: #f2fbf7;
}

.connector-audit-list .warn {
  border-color: rgba(255, 130, 0, .42);
  background: var(--pf24-orange-soft);
}

.connector-country-list,
.connector-family-list {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.connector-mini-card {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
  color: var(--pf24-ink);
}

.connector-mini-card summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 3px;
  cursor: pointer;
  list-style: none;
}

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

.connector-mini-card strong,
.connector-mini-card span,
.connector-mini-card p {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  line-height: 1.25;
}

.connector-mini-card strong {
  font-size: 12.5px;
}

.connector-mini-card span,
.connector-mini-card p {
  color: var(--pf24-muted);
  font-size: 11.5px;
}

.connector-mini-card.is-live {
  border-color: rgba(20, 160, 110, .28);
  background: #f7fcfa;
}

.connector-mini-card.is-prepared {
  border-color: rgba(255, 130, 0, .32);
  background: var(--pf24-orange-soft);
}

.connector-mini-card.is-concept {
  background: #f8fbfe;
}

@media (max-width: 900px) {
  .connector-head,
  .connector-card-head {
    align-items: stretch;
    flex-direction: column;
  }

  .connector-work-grid {
    grid-template-columns: 1fr;
  }
}

.taxi-pool-panel {
  display: grid;
  gap: 10px;
}

.taxi-pool-status-form {
  align-items: end;
}

.taxi-pool-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 8px;
}

.taxi-pool-kpis span {
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid var(--pf24-line);
  border-radius: var(--pf24-radius);
  background: #fff;
  color: var(--pf24-ink);
}

.taxi-pool-kpis b,
.taxi-pool-kpis small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.2;
}

.taxi-pool-kpis b {
  font-size: 13px;
}

.taxi-pool-kpis small {
  color: var(--pf24-muted);
  font-size: 11px;
}
