:root {
  --button-primary-bg: #167ec4;
  --button-primary-fg: #ffffff;
  --button-secondary-bg: #ffffff;
  --button-secondary-fg: #385b73;
  --button-secondary-border: #d5e1e9;
  --button-danger-bg: #ffffff;
  --button-danger-fg: #a94639;
  --button-danger-border: #e6b3ab;
  --button-focus: #69b9e8;
  --button-radius: 8px;
  --field-font: "DM Sans", Arial, sans-serif;
  --type-workspace-title: 800 28px Manrope,sans-serif;
  --type-workspace-title-mobile-size: 24px;
  --type-modal-title: 800 20px Manrope, Arial, sans-serif;
  --type-section-title: 750 15px Manrope,Arial,sans-serif;
  --type-field-label-size: 12px;
  --type-help-size: 11px;
  --field-value-font-size: 12px;
  --detail-label-color: #526579;
  --detail-value-color: #20364d;
  --data-primary-font-size: 11px;
  --sidebar-action-alignment: flex-start;
  --sidebar-module-gap: 8px;
  --app-compact-control-height: 36px;
}

.app-select,
.app-select option {
  font-family: var(--field-font) !important;
  font-size: var(--field-value-font-size);
  font-weight: 600;
  letter-spacing: -0.01em;
}

.app-select {
  color-scheme: light;
  width: 100%;
  min-width: 0;
  min-height: 36px;
  padding: 8px 32px 8px 10px;
  border: 1px solid #cbd9e7;
  border-radius: 8px;
  background-color: #fff;
  color: #263b4d;
  line-height: 1.35;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.app-select option { background-color:#fff; color:#263b4d; }
.app-select:hover:not(:disabled) { border-color:#9fc8df; }
.app-select:focus-visible { border-color:#4ca4d4; outline:0; box-shadow:0 0 0 3px #69b9e833; }
.app-select:disabled { background:#f3f6f8; color:#8998a6; cursor:not-allowed; }
/* Compact select (SELECT_SIZES.COMPACT): narrow control for table action cells, also inside form surfaces. */
select.app-select.app-select--compact { width:auto; max-width:118px; min-height:30px; padding:4px 26px 4px 8px; font-size:12px; background-position:right 8px center; }
[data-field-core="select"].app-select:not([multiple]) { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='m1 1 4 4 4-4' fill='none' stroke='%2352677b' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 10px center; background-size:10px 6px; }
/* Render desktop option menus in the browser's top layer. The Windows native
   popup can paint a black surface before its options (owner recording, 2026-10-27).
   Touch devices and browsers without picker support keep their native controls. */
@supports (appearance:base-select) {
  @media (hover:hover) and (pointer:fine) {
    [data-field-core="select"].app-select:not([multiple]):not([size]),
    [data-field-core="select"].app-select:not([multiple]):not([size])::picker(select) { appearance:base-select; }
    [data-field-core="select"].app-select:not([multiple]):not([size])::picker-icon { display:none; }
    [data-field-core="select"].app-select:not([multiple]):not([size])::picker(select) { color-scheme:light; margin:0; padding:0; border:1px solid #cbd9e7; border-radius:4px; background:#fff; color:#263b4d; box-shadow:none; animation:none; transition:none; }
    [data-field-core="select"].app-select:not([multiple]):not([size]) option { min-height:28px; padding:5px 10px; }
    [data-field-core="select"].app-select:not([multiple]):not([size]) option::checkmark { display:none; }
    [data-field-core="select"].app-select:not([multiple]):not([size]) option:checked:not(:disabled) { background:#167ec4; color:#fff; }
    [data-field-core="select"].app-select:not([multiple]):not([size]) option:focus:not(:checked),
    [data-field-core="select"].app-select:not([multiple]):not([size]) option:hover:not(:checked) { background:#eef7fc; color:#263b4d; }
    [data-field-core="select"].app-select:not([multiple]):not([size]) option:focus-visible { outline:2px solid #167ec4; outline-offset:-2px; }
    [data-field-core="select"].app-select:not([multiple]):not([size]) option:disabled { background:#fff; color:#718398; }
  }
}
.app-workspace { height:100%; min-width:0; min-height:0; display:flex; flex-direction:column; gap:16px; padding:24px; background:#f6f8fa; }
.app-workspace--compact { padding:20px; }
.app-workspace.app-workspace--flush { gap:0; padding:0; background:var(--surface,#fff); container:app-workspace / inline-size; }
.app-workspace--flush > .app-workspace__header { padding:22px 28px; align-items:center; border-bottom:1px solid var(--border-subtle,#e1e8ee); }
.app-workspace--flush > .app-workspace__header p:not(.eyebrow) { margin:4px 0 0; font-size:12px; }
.app-workspace__header { display:flex; flex:0 0 auto; align-items:flex-end; justify-content:space-between; gap:16px; }
.app-workspace__header .eyebrow { margin:0 0 8px; }
.app-workspace__header h1 { margin:0; color:#20364d; font:var(--type-workspace-title); }
.app-workspace__description { margin:4px 0 0; color:#718398; font-size:12px; }
.app-workspace__actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
@media(max-width:800px){.app-workspace,.app-workspace--compact{gap:10px;padding:10px}.app-workspace__header{align-items:stretch;flex-direction:column;gap:8px}.app-workspace__header h1{font-size:var(--type-workspace-title-mobile-size);line-height:1.15}.app-workspace__header .eyebrow{margin-bottom:4px}.app-workspace__description{font-size:11px;line-height:1.35}.app-workspace__actions{justify-content:flex-start}}
.app-embedded-form { min-width:0; border-top:1px solid #dbe5ed; }
.app-embedded-form__header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 0 10px; }
.app-embedded-form__header small { color:#718398; font-size:10px; font-weight:800; letter-spacing:.12em; }
.app-embedded-form__header h3 { margin:3px 0 0; color:#253246; font-size:18px; }
.app-embedded-form__body { min-width:0; }
.app-search-results { display:grid; max-height:220px; gap:6px; padding:0 4px 4px 0; }
.app-searchable-select { position:relative; width:100%; min-width:0; }
.app-searchable-select--open { z-index:90; }
.app-searchable-select__trigger { display:flex; width:100%; min-height:42px; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border:1px solid #cbd9e7; border-radius:8px; background:#fff; color:#223247; font-family:var(--field-font); font-size:var(--field-value-font-size); font-weight:600; text-align:left; cursor:pointer; }
.app-searchable-select__trigger:hover:not(:disabled) { border-color:#9fc8df; }
.app-searchable-select__trigger:focus-visible { border-color:#4ca4d4; outline:0; box-shadow:0 0 0 3px #69b9e833; }
.app-searchable-select__trigger:disabled { background:#f3f6f8; color:#8998a6; cursor:not-allowed; }
.app-searchable-select__trigger .is-placeholder { color:#7b8997; font-weight:500; }
.app-searchable-select__popover { position:absolute; z-index:80; top:calc(100% + 6px); left:0; width:max(100%,280px); max-width:min(420px,calc(100vw - 48px)); padding:8px; border:1px solid #cbd9e7; border-radius:10px; background:#fff; box-shadow:0 16px 36px #10263a2e; }
.app-searchable-select__popover > input { width:100%; min-height:40px; padding:9px 11px; border:1px solid #9fc8df; border-radius:7px; background:#fff; color:#223247; font:inherit; }
.app-searchable-select__results { max-height:260px; margin-top:7px; }
.app-searchable-select__results button { display:block; width:100%; min-height:38px; padding:8px 10px; border:0; border-radius:6px; background:#fff; color:#263b4d; font:inherit; font-size:12px; font-weight:650; text-align:left; cursor:pointer; }
.app-searchable-select__results button:hover,.app-searchable-select__results button.is-active,.app-searchable-select__results button[aria-selected="true"] { background:#eaf6fc; color:#126b9f; }
.app-searchable-select__results p { margin:0; padding:12px 10px; color:#718094; font-size:12px; }
.app-searchable-select__results .app-searchable-select__loading-more { padding-block:9px; text-align:center; }

.app-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid var(--button-secondary-border);
  border-radius: var(--button-radius);
  background: var(--button-secondary-bg);
  color: var(--button-secondary-fg);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease,
    color 0.15s ease, box-shadow 0.15s ease;
}

/* Core visibility invariant: channel/module CSS must never expose controls
   intended exclusively for a mobile layout on wider viewports. */
.app-mobile-only { display:none !important; }

.app-button--medium { padding: 8px 11px; font-size: 13px; }
.app-button--small { padding: 6px 9px; font-size: 11px; }
.app-button--control { min-height:var(--app-compact-control-height); padding:7px 12px; font-size:11px; }
.app-button--icon { width: 30px; height: 30px; padding: 0; }
.app-copy-button.app-button { width:23px; min-width:23px; height:23px; margin:0 2px; color:#477087; vertical-align:middle; }
.app-copy-button svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.4; }

.app-button--primary {
  border-color: var(--button-primary-bg);
  background: var(--button-primary-bg);
  color: var(--button-primary-fg);
  box-shadow: 0 7px 16px #167ec433;
}

.app-button--secondary:hover:not(:disabled),
.app-button--secondary.is-active {
  border-color: #9ccde5;
  background: #e7f5fc;
  color: #126b9f;
}

.app-button--danger {
  border-color: var(--button-danger-border);
  background: var(--button-danger-bg);
  color: var(--button-danger-fg);
}

.app-button--danger:hover:not(:disabled) {
  background: #fff1ef;
  border-color: #d98276;
}

.app-button--ghost {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.app-search-result.app-button--ghost {
  width:100%;
  min-width:0;
  padding:10px 12px;
  justify-content:flex-start;
  border-color:#dbe5ed;
  border-radius:8px;
  background:#fff;
  color:#253b50;
  text-align:left;
  white-space:normal;
  overflow-wrap:anywhere;
}

.app-search-result.app-button--ghost:hover:not(:disabled) {
  border-color:#9fc8df;
  background:#f1f8fc;
  box-shadow:0 2px 8px #214c6814;
}

.app-button:focus-visible {
  outline: 3px solid var(--button-focus);
  outline-offset: 2px;
}

.app-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.app-password-input { position:relative; width:100%; }
.app-password-input > input { padding-right:48px; }
.app-password-input__toggle.app-button { position:absolute; top:50%; right:8px; transform:translateY(-50%); color:#64798c; box-shadow:none; }
.app-password-input__toggle.app-button:hover { background:#eef6fa; color:#126b9f; }
.app-password-input__toggle svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

.app-disabled-action-hint {
  position: relative;
  display: inline-flex;
  cursor: help;
}

.app-disabled-action-hint > .app-button {
  pointer-events: none;
}

.app-disabled-action-hint__tooltip {
  position: absolute;
  z-index: 1200;
  right: 0;
  bottom: calc(100% + 8px);
  width: max-content;
  max-width: min(340px, 80vw);
  padding: 8px 10px;
  border-radius: 7px;
  background: #263b4d;
  color: #fff;
  box-shadow: 0 8px 22px #1f344555;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  white-space: normal;
  visibility: hidden;
  opacity: 0;
  transform: translateY(3px);
  transition: opacity 0.12s ease, transform 0.12s ease, visibility 0.12s ease;
  pointer-events: none;
}

.app-disabled-action-hint:hover .app-disabled-action-hint__tooltip,
.app-disabled-action-hint:focus-visible .app-disabled-action-hint__tooltip {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.app-disabled-action-hint:focus-visible {
  border-radius: var(--button-radius);
  outline: 3px solid var(--button-focus);
  outline-offset: 2px;
}

/* One action row for communication workspace headers. */
.communication-header-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:10px; }
.communication-header-actions .app-button { min-height:38px; padding:8px 11px; font-size:12px; white-space:nowrap; }
.communication-header-actions .app-button--primary { color:var(--button-primary-fg); }

/* One horizontal navigation core for settings and other fixed workspaces. */
.app-tabs { display:flex; flex:0 0 auto; gap:4px; min-width:0; padding:0 2px; border-bottom:1px solid #dce5eb; overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; touch-action:pan-x; -webkit-overflow-scrolling:touch; }
.app-tabs .app-button { flex:0 0 auto; min-height:44px; padding:10px 16px; border:0; border-bottom:3px solid transparent; border-radius:8px 8px 0 0; color:#607589; white-space:nowrap; }
.app-tabs--compact .app-button { min-height:34px; padding:6px 10px; font-size:12px; }
.app-tabs .app-button:hover:not(:disabled) { background:#f1f7fa; color:#244b67; }
.app-tabs .app-button.is-active { border-bottom-color:#1680bd; background:#eef7fc; color:#126b9f; }
.app-tab-panel { min-width:0; min-height:0; outline:none; }
.app-workspace > .app-tab-panel { display:flex; flex-direction:column; flex:1 1 0; }
.app-tab-panel:focus-visible { outline:3px solid var(--button-focus); outline-offset:-3px; }

/* Application surfaces: every modal, panel and status marker inherits these
   primitives. Feature styles may only define content and sizing variants. */
.app-panel { background:#fff; border:1px solid #e1e8ee; border-radius:12px; overflow:hidden; }
.app-panel--content { padding:16px 18px; overflow:visible; border-color:#dbe5ed; border-radius:10px; box-shadow:0 4px 14px #17334a0a; }
.app-panel--compact { padding:11px 13px; overflow:visible; border-color:#e0e8ee; border-radius:9px; box-shadow:0 2px 8px #17334a08; }
.app-collection-toolbar { display:flex; width:100%; align-items:center; justify-content:space-between; gap:12px; }
.app-collection-toolbar__metric { display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:4px; padding-left:10px; border-left:1px solid #dce6ed; }
.app-collection-toolbar__summary { display:flex; align-items:baseline; gap:8px; color:#334c61; }
.app-collection-toolbar__summary small { color:#718195; }
/* density="even": labels and values share the list text size instead of the browser <small> default. */
.app-collection-toolbar--even .app-collection-toolbar__summary { font-size:12px; }
.app-collection-toolbar--even .app-collection-toolbar__summary > small,.app-collection-toolbar--even .app-collection-toolbar__metric > small { font-size:inherit; }
.app-collection-toolbar__actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; }
.app-collection-toolbar--leading { flex-wrap:wrap; }
.app-collection-toolbar--leading .app-collection-toolbar__summary { min-width:0; max-width:100%; flex-wrap:wrap; }
.app-collection-toolbar--leading .app-collection-toolbar__actions { min-width:0; max-width:100%; margin-left:auto; justify-content:flex-end; }
.app-collection-stack { display:grid; gap:10px; }
.app-toggle-field { display:flex; align-items:center; gap:6px; color:#40566a; font-size:12px; font-weight:700; white-space:nowrap; }
.app-toggle-field input { width:15px; height:15px; margin:0; accent-color:#1787c4; }
.app-facet-panel { display:grid; align-content:center; gap:5px; padding:6px 9px; border:1px solid #e0e8ee; border-radius:10px; background:#fbfcfd; }
.app-facet-panel > span { color:#718195; font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.app-facet-panel__actions { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.app-facet-button.app-button { min-height:30px; padding:5px 9px; border-radius:999px; }
.app-facet-button.app-button b { display:grid; min-width:20px; height:20px; place-items:center; margin-left:2px; padding:0 5px; border-radius:999px; background:#e5edf3; color:#36556b; font-size:11px; }
.app-facet-button.app-button.is-active b { background:#69c77b; color:#fff; }
.app-facet-button--all.app-button { margin-left:3px; border-style:dashed; background:transparent; }
.app-metric-strip { display:flex; align-items:center; justify-content:flex-start; text-align:left; flex-wrap:wrap; gap:9px; padding:7px 9px; border:1px solid #dbe6ed; border-radius:9px; background:#f8fbfd; }
.app-metric-strip > span { color:#526b80; font-size:11px; font-weight:800; }
.app-metric-strip > div { display:flex; align-items:center; justify-content:flex-start; flex-wrap:wrap; gap:5px; min-width:0; }
.app-metric-strip--end,.app-metric-strip--end > div { justify-content:flex-end; }
.app-metric-strip--compact { max-width:100%; min-width:0; padding:8px 0; }
.app-metric-strip--compact > div { gap:0; }
.app-metric-strip__item { display:grid; align-content:center; min-width:0; gap:4px; padding:0 14px; border-left:1px solid #dce6ed; }
.app-metric-strip__item:first-child { border-left:0; }
.app-metric-strip__item > small { color:#526b80; font-size:11px; font-weight:700; }
.app-metric-strip__value { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.app-metric-strip__value > b { color:#253246; font-size:16px; line-height:1.3; font-variant-numeric:tabular-nums; white-space:nowrap; }
.app-metric-strip__item--danger .app-metric-strip__value > b { color:#b91c1c; }
.app-metric-strip__accessory { flex:0 1 136px; width:136px; max-width:100%; }
.app-metric-strip .app-button { min-height:32px; padding:2px 7px 2px 2px; border-radius:999px; }
.app-metric-strip .app-button > b { min-width:18px; color:#24475d; text-align:center; }
.app-metric-strip .app-button.is-active > b { color:#126b9f; }
.app-filter-grid { display:grid; grid-template-columns:minmax(145px,185px) minmax(310px,430px) minmax(205px,260px) auto; justify-content:start; align-items:end; gap:8px; }
.app-filter-grid--inline { display:flex; flex-wrap:wrap; }
.app-filter-grid--inline > .app-filter-field { flex:1 1 145px; min-width:0; }
.app-filter-grid--inline > .app-filter-field--wide { flex:1.5 1 220px; }
.app-filter-grid--inline > .app-date-range-field { flex:2 1 280px; }
.app-filter-field { display:grid; min-width:0; gap:4px; color:#60778b; font-size:10px; font-weight:800; }
.app-filter-field > .app-select,.app-filter-field > .multi-select-menu > .app-button { width:100%; min-height:36px; justify-content:flex-start; border:1px solid #d5e1e9; border-radius:8px; background:#fff; box-shadow:none; color:#52657a; }
.app-filter-field > .multi-select-menu { position:relative; }
.app-filter-grid__clear.app-button { min-height:36px; padding-inline:10px; }
.app-date-range-field > div { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:6px; }
.app-date-range-field input,.app-metric-strip .app-date-input > input { width:100%; min-width:0; min-height:36px; padding:6px 8px; border:1px solid #d5e1e9; border-radius:8px; color:#334c61; font:inherit; }
.app-date-range-field i { color:#8a9bab; font-style:normal; }
.app-data-value { display:grid; min-width:0; gap:2px; }
.app-data-value--truncate { overflow:hidden; max-width:100%; }
.app-data-value--truncate > strong,.app-data-value--truncate > small { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.app-collection-stack--compact { gap:4px; }
.app-data-value strong { color:#253246; }
.app-data-value--success > strong { color:#187755; }
.app-data-value--danger > strong { color:#a33f35; }
.app-data-value small { color:#718195; font-size:var(--type-help-size); }
.app-data-value.app-data-value--multiline { max-width:100%; overflow:visible; text-overflow:clip; white-space:pre-wrap; overflow-wrap:anywhere; }
.app-collection-stack > .list-filter-bar { overflow:visible; padding:0; border:1px solid #dce6ed; border-radius:9px; }
.app-view-switcher { display:flex; align-items:center; gap:3px; padding:3px; border:1px solid #d6e2ea; border-radius:9px; background:#f4f8fa; }
.app-view-switcher .app-button { min-height:28px; padding:4px 9px; border:0; box-shadow:none; }
.app-avatar { display:grid; flex:0 0 auto; place-items:center; border:1px solid #aabfcd; border-radius:999px; background:#f0f4f7; color:#425c70; font-weight:800; line-height:1; }
.app-avatar--standard { width:28px; height:28px; flex-basis:28px; font-size:10px; }
.app-avatar--small { width:26px; height:26px; flex-basis:26px; font-size:9px; }
.app-avatar--compact { width:17px; height:17px; flex-basis:17px; font-size:7px; }
.app-avatar--info { border-color:#9fc7df; background:#eaf5fc; color:#145f8d; }
.app-avatar--success { border-color:#94cfc5; background:#e9f8f5; color:#176e62; }
.app-avatar.is-active { border-color:#1684c2; box-shadow:0 0 0 2px #1684c229; }
.app-avatar-stack { display:flex; min-width:0; min-height:17px; align-items:center; gap:2px; }
.app-avatar-stack > small { color:#60798e; font-size:9px; font-weight:800; }
.app-resource-card { display:grid; width:100%; min-width:0; min-height:46px; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:4px; padding:5px 6px; border:1px solid #cbd9e2; border-radius:7px; background:#fff; color:#263d50; font:inherit; text-align:left; cursor:pointer; box-shadow:0 1px 2px #1f455b0d; }
.app-resource-card:hover,.app-resource-card:focus-visible { border-color:#4ba8d4; background:#f1faff; outline:none; box-shadow:0 0 0 2px #4ba8d426; }
.app-resource-card[data-active="true"] { border-color:#4ba8d4; background:#eaf6fc; }
.app-resource-card[data-has-leading="true"] { grid-template-columns:auto minmax(0,1fr) auto; }
.app-resource-card__leading { display:flex; align-items:center; }
.app-resource-card__content { display:grid; min-width:0; gap:1px; }
.app-resource-card__content strong { overflow:hidden; color:#172f43; font-size:11px; line-height:1.1; text-overflow:ellipsis; white-space:nowrap; }
.app-resource-card__content small { overflow:hidden; color:#526b80; font-size:8px; font-weight:700; line-height:1.1; text-overflow:ellipsis; white-space:nowrap; }
.app-resource-card__trailing { display:flex; min-width:17px; align-items:center; justify-content:flex-end; }
.app-board { display:grid; grid-template-columns:repeat(var(--app-board-column-count),minmax(var(--app-board-column-min-width),1fr)); min-width:var(--app-board-min-width); min-height:560px; gap:8px; padding:0 10px 11px; overflow:auto; }
.app-board-column { display:grid; min-width:0; align-content:start; grid-template-rows:auto 1fr; border:1px solid #dce6ed; border-radius:10px; background:#f7f9fb; }
.app-board-column > header { display:flex; min-height:46px; align-items:center; justify-content:space-between; gap:6px; padding:10px 11px; border-bottom:1px solid #dce6ed; }
.app-board-column > header h2 { margin:0; color:#334c61; font-size:11px; letter-spacing:.035em; text-transform:uppercase; }
.app-board-column > header b { display:grid; min-width:23px; height:23px; place-items:center; padding:0 5px; border-radius:999px; background:#dfeaf1; color:#31566f; font-size:10px; }
.app-board-column__content { display:grid; min-height:0; align-content:start; gap:8px; padding:6px; }
.app-board-group { display:grid; gap:5px; }
.app-board-group > h3 { margin:0; padding:0 2px 4px; border-bottom:2px solid #53afd8; color:#49677c; font-size:10px; letter-spacing:.05em; text-transform:uppercase; }
.app-board-group > div { display:grid; grid-template-columns:repeat(var(--app-board-group-columns),minmax(0,1fr)); gap:5px; }
.app-board-empty { margin:6px; color:#8292a1; font-size:11px; text-align:center; }
.app-fullscreen-surface { display:grid; flex:1 1 0; min-width:0; min-height:0; grid-template-rows:auto minmax(0,1fr); gap:11px; padding:0; overflow:hidden; }
.app-fullscreen-surface > .app-collection-toolbar { padding:12px 16px; border-bottom:1px solid #dce6ed; }
.app-fullscreen-surface__content { overflow:auto; touch-action:pan-x pan-y; -webkit-overflow-scrolling:touch; }
/* The surface owns both scroll axes in either mode. The board keeps its
   intrinsic column width/content height, rather than becoming a second scroller. */
.app-fullscreen-surface__content > .app-board { overflow:visible; }
.app-fullscreen-surface.is-fullscreen,.app-fullscreen-surface:fullscreen { position:fixed; z-index:1500; inset:0; width:100vw; height:100vh; height:100dvh; gap:6px; border:0; border-radius:0; background:#fff; }
.app-fullscreen-surface.is-fullscreen > .app-collection-toolbar,.app-fullscreen-surface:fullscreen > .app-collection-toolbar { min-height:48px; padding:7px 11px; background:#fff; }
.app-fullscreen-surface.is-fullscreen .app-board,.app-fullscreen-surface:fullscreen .app-board { width:100%; min-height:100%; padding:0 8px 8px; }
.app-report-shell { display:grid; min-width:0; gap:16px; padding:24px; }
.app-report-shell__header h1 { margin:0; }
.app-report-shell__header p { margin:6px 0 0; color:#64748b; }
.app-report-shell__toolbar { display:grid; grid-template-columns:minmax(180px,.75fr) minmax(0,4fr); align-items:start; gap:12px; }
.app-report-shell__toolbar label { display:grid; min-width:0; gap:6px; color:#31475c; font-size:12px; font-weight:700; }
.app-report-shell__toolbar > label { width:100%; max-width:240px; }
.app-report-shell__tabs { grid-column:1 / -1; }
.app-report-shell__tab-filters { grid-column:1 / -1; min-width:0; }
.app-report-shell__toolbar input { min-width:0; min-height:36px; }
.app-chart-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(310px,1fr)); gap:16px; }
.app-donut-chart { display:grid; grid-template-columns:minmax(150px,.55fr) minmax(280px,1fr); align-items:center; gap:18px; }
.app-donut-chart__copy h3 { margin:0; font:750 16px Manrope,Arial,sans-serif; color:#223247; }
.app-donut-chart__copy p { margin:6px 0 0; color:#64748b; font-size:12px; }
.app-donut-chart__content { display:flex; align-items:center; justify-content:flex-end; gap:22px; }
.app-donut-chart__ring { position:relative; width:128px; height:128px; flex:0 0 128px; display:grid; place-items:center; border-radius:50%; }
.app-donut-chart__ring::after { content:""; position:absolute; inset:22px; border-radius:50%; background:#fff; }
.app-donut-chart__ring span { position:relative; z-index:1; max-width:76px; color:#263b4d; font-weight:800; font-size:15px; text-align:center; }
.app-donut-chart ul { display:grid; gap:8px; min-width:190px; margin:0; padding:0; list-style:none; }
.app-donut-chart li { display:grid; grid-template-columns:10px 1fr auto; align-items:center; gap:8px; color:#536a7f; font-size:12px; }
.app-donut-chart li i { width:10px; height:10px; border-radius:50%; }
.app-donut-chart li b { color:#263b4d; }
@media(max-width:900px){.app-report-shell__toolbar{grid-template-columns:1fr}.app-report-shell__toolbar > label{max-width:none}}
@media(max-width:760px){.app-report-shell{padding:16px}.app-donut-chart{grid-template-columns:1fr}.app-donut-chart__content{justify-content:flex-start;flex-wrap:wrap}}
.app-detail-facts { display:grid; gap:0; min-width:0; margin:0; padding:10px; border:1px solid #dce6ed; border-radius:9px; background:#fff; }
.app-detail-facts--adaptive { grid-template-columns:repeat(auto-fit,minmax(165px,1fr)); }
.app-detail-facts--actions { grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); }
.app-detail-fact { display:grid; min-width:0; align-content:center; gap:5px; padding:2px 12px; border-right:1px solid #e6edf2; }
.app-detail-fact:last-child { border-right:0; }
.app-detail-fact dt { color:var(--detail-label-color); font-size:10px; }
.app-detail-fact dd { display:flex; min-width:0; align-items:center; flex-wrap:wrap; gap:7px; margin:0; color:var(--detail-value-color); font-size:12px; }
.app-detail-fact dd > span,.app-detail-fact dd > b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media(max-width:900px){.app-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:10px}.app-detail-fact:nth-child(2n){border-right:0}}
@media(max-width:560px){.app-detail-facts{grid-template-columns:1fr}.app-detail-fact{padding:7px 8px;border-right:0;border-bottom:1px solid #e6edf2}.app-detail-fact:last-child{border-bottom:0}}
.app-data-table { min-width:0; min-height:0; overflow:auto; border:1px solid #e1e8ee; border-radius:12px; background:#fff; }
.app-data-table table { width:100%; border-collapse:collapse; }
.app-data-table__table--column-layout { table-layout:fixed; }
.app-data-table__column--context { width:clamp(170px,16vw,240px); }
.app-data-table__column--content { width:auto; }
/* Property/value documents share an anchor across independently rendered tables. */
.app-data-table__column--property { width:50%; }
.app-data-table__column--code { width:clamp(280px,38vw,600px); }
.app-data-table__column--metric { width:82px; }
.app-data-table__column--date { width:150px; }
.app-data-table__column--amount { width:100px; }
.app-data-table__column--state { width:54px; }
.app-data-table__column--actions { width:110px; }
.app-data-table__column--selection { width:44px; }
.app-data-table__column--compact-context { width:120px; }
.app-data-table__column--amount-details { width:150px; }
.app-data-table__column--payment-amount { width:120px; }
.app-data-table__column--status { width:180px; }
.app-data-table__column--multiple-actions { width:200px; }
.app-data-table__column--code-marker { width:72px; }
.app-table-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.app-table-actions--nowrap { flex-wrap:nowrap; gap:2px; white-space:nowrap; }
.app-data-table .status-badge { max-width:100%; overflow-wrap:anywhere; }
.app-data-table .is-centered { text-align:center; }
.app-data-table .is-money { text-align:right; white-space:nowrap; }
.app-data-table th,
.app-data-table td { padding:14px 16px; text-align:left; vertical-align:top; border-top:0; border-bottom:1px solid #edf1f4; }
.app-data-table th { background:#f8fafc; color:#758397; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.app-data-table tbody tr:last-child td { border-bottom:0; }
/* Row hierarchy (AppDataRowGroup + AppResponsiveDataRow level): parent row, indented child rows, one shared column grid. */
.app-data-row-group:empty { display:none; }
.app-data-table .app-data-row-group + .app-data-row-group { border-top:1px solid #dfe7ee; }
.app-responsive-data-row--parent > td { background:#f8fbfd; }
.app-responsive-data-row--child > td { border-bottom-color:#f2f5f7; }
@media(min-width:801px){
  .app-data-table .app-responsive-data-row--child > td { padding-top:7px; padding-bottom:7px; }
  .app-data-table .app-responsive-data-row--child > td:first-child { padding-left:36px; }
}
.app-data-table :where(td b) { display:inline; margin:0; color:inherit; }
.app-data-table :where(td > b) { display:block; color:#253246; font-size:var(--data-primary-font-size); }
.app-data-table :where(td small) { margin:0; }
.app-data-panel { width:100%; flex:1 1 auto; min-height:0; display:flex; flex-direction:column; }
.app-data-panel__toolbar { flex:0 0 auto; padding:16px; border-bottom:1px solid #e8edf1; }
.app-data-panel > .app-data-table { flex:1 1 auto; border:0; border-radius:0; }
.app-data-panel > .app-data-table { scroll-padding-bottom:var(--app-scroll-safe-bottom,56px); }
.app-data-panel > .app-data-table::after { content:""; display:block; width:100%; height:var(--app-scroll-safe-bottom,56px); pointer-events:none; }
.app-data-panel--content { flex:0 0 auto; }
/* Opt-in (fitContent): columns shrink to their content and only .is-fill cells take the spare width. */
@media(min-width:801px){.app-data-table--fit-content th,.app-data-table--fit-content td{width:1%;white-space:nowrap}.app-data-table--fit-content th.is-fill,.app-data-table--fit-content td.is-fill{width:auto;white-space:normal}}
.app-data-panel--content > .app-data-table { flex:none; scroll-padding-bottom:0; }
.app-data-panel--content > .app-data-table::after { display:none; }
/* A tall toolbar must not squeeze a primary register's scroll viewport to zero.
   Intrinsic panel height includes the toolbar/footer and one usable row area;
   the workspace host can scroll when that minimum exceeds the window height.
   Report Shell is a grid: retain its natural maximum contribution using grid tracks.
   Multiple sibling fill panels and auto-height dialogs keep their existing sizing. */
@media(min-width:801px){
  :is(.app-workspace,.app-workspace > .app-tab-panel):not(:has(> .app-data-panel:not(.app-data-panel--content) ~ .app-data-panel:not(.app-data-panel--content))) > .app-data-panel:not(.app-data-panel--content) { min-height:min-content; }
  :is(.app-workspace,.app-workspace > .app-tab-panel):not(:has(> .app-data-panel:not(.app-data-panel--content) ~ .app-data-panel:not(.app-data-panel--content))) > .app-data-panel:not(.app-data-panel--content) > .app-data-table { height:0; min-height:180px; flex-basis:0; }
  .app-report-shell:not(:has(> .app-data-panel:not(.app-data-panel--content) ~ .app-data-panel:not(.app-data-panel--content))) > .app-data-panel:not(.app-data-panel--content) { display:grid; min-height:min-content; grid-template-rows:minmax(180px,1fr); grid-auto-rows:auto; }
  .app-report-shell:not(:has(> .app-data-panel:not(.app-data-panel--content) ~ .app-data-panel:not(.app-data-panel--content))) > .app-data-panel:not(.app-data-panel--content) > .app-data-table { grid-row:1; }
  .app-report-shell:not(:has(> .app-data-panel:not(.app-data-panel--content) ~ .app-data-panel:not(.app-data-panel--content))) > .app-data-panel:not(.app-data-panel--content):has(> .app-data-panel__toolbar) { grid-template-rows:auto minmax(180px,1fr); }
  .app-report-shell:not(:has(> .app-data-panel:not(.app-data-panel--content) ~ .app-data-panel:not(.app-data-panel--content))) > .app-data-panel:not(.app-data-panel--content):has(> .app-data-panel__toolbar) > .app-data-table { grid-row:2; }
  .app-report-shell:not(:has(> .app-data-panel:not(.app-data-panel--content) ~ .app-data-panel:not(.app-data-panel--content))) > .app-data-panel:not(.app-data-panel--content) > .app-data-panel__toolbar { grid-row:1; }
}
@media(max-width:800px){
  .app-collection-toolbar{align-items:flex-start;flex-direction:column}
  .app-collection-toolbar__summary,.app-collection-toolbar__actions{width:100%}
  .app-collection-toolbar__actions{justify-content:space-between;flex-wrap:wrap}
  .app-board{grid-template-columns:repeat(var(--app-board-column-count),minmax(calc(100vw - 48px),calc(100vw - 48px)));min-width:max-content;min-height:calc(100dvh - 205px);scroll-snap-type:x mandatory}
  .app-board-column{scroll-snap-align:start}
  .app-facet-panel__actions{flex-wrap:nowrap;padding-bottom:3px;overflow-x:auto}
  .app-facet-panel__actions .app-button{flex:0 0 auto}
  .app-metric-strip{align-items:flex-start;flex-direction:column}
  .app-metric-strip--end{align-items:flex-end}
  .app-metric-strip--compact>div{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 0}
  .app-metric-strip--compact .app-metric-strip__item:nth-child(odd){border-left:0}
  .app-filter-grid{grid-template-columns:1fr}
  .app-filter-grid--inline{display:grid}
  .app-data-panel--responsive-cards{flex:none;min-height:auto}
  .app-data-panel--responsive-cards .app-data-table{flex:none;overflow:visible;border:0;background:transparent}
  .app-data-panel--responsive-cards .app-data-table table{display:block;min-width:0!important}
  .app-data-panel--responsive-cards .app-data-table thead{display:none}
  .app-data-panel--responsive-cards .app-data-table tbody{display:grid;gap:10px;padding:11px;background:#f3f7fa}
  .app-data-panel--responsive-cards .app-data-table tbody>tr:not(.app-responsive-data-row){display:block}
  .app-data-panel--responsive-cards .app-data-table tbody>tr:not(.app-responsive-data-row){padding:12px;border:1px solid #d6e2ea;border-radius:11px;background:#fff;box-shadow:0 2px 7px rgb(28 62 84 / 7%)}
  .app-data-panel--responsive-cards .app-data-table tbody>tr:not(.app-responsive-data-row)>td{display:block;padding:3px 0;border:0}
  .app-responsive-data-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 11px;padding:12px;border:1px solid #d6e2ea;border-radius:11px;background:#fff;box-shadow:0 2px 7px rgb(28 62 84 / 7%);cursor:pointer}
  .app-responsive-data-row:active{border-color:#52a9d3;background:#f2faff}
  .app-responsive-data-row--balanced{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-data-panel--responsive-cards .app-data-table tbody:has(>.app-responsive-data-row--compact){padding:2px;gap:0;background:transparent}
  .app-responsive-data-row.app-responsive-data-row--compact{grid-template-columns:20px minmax(0,1fr) minmax(70px,auto) auto;align-items:center;gap:6px;padding:7px 8px}
  .app-responsive-data-row--compact>.app-responsive-data-cell::before{display:none}
  .app-responsive-data-row--compact>.app-responsive-data-cell[data-mobile-slot="details"]{display:none}
  .app-responsive-data-row--compact>.app-responsive-data-cell[data-mobile-slot="amount"]{text-align:right}
  .app-responsive-data-row .app-responsive-data-cell{display:block;min-width:0;padding:0;border:0;order:var(--app-mobile-order)}
  .app-responsive-data-cell::before{display:block;margin-bottom:2px;color:#8190a0;content:attr(data-label);font-size:8px;font-weight:800;letter-spacing:.045em;text-transform:uppercase}
  .app-responsive-data-cell[data-mobile-align="end"]{justify-self:end;text-align:right}
  .app-responsive-data-cell[data-mobile-span="true"]{grid-column:1/-1;padding-top:7px;border-top:1px solid #edf1f4}
  .app-responsive-data-row--parent{border-color:#c9dae6}
  .app-responsive-data-row--child{margin-left:18px;padding:9px 12px;box-shadow:none;background:#fbfdfe}
  .app-responsive-data-row--parent>.app-responsive-data-cell,.app-responsive-data-row--child>.app-responsive-data-cell{background:transparent}
  .app-responsive-data-row--parent>.app-responsive-data-cell:empty,.app-responsive-data-row--child>.app-responsive-data-cell:empty{display:none}
}
@media(min-width:801px) and (max-width:1100px){.app-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.app-data-table--compact th,
.app-data-table--compact td { padding:10px 12px; }
@media(min-width:801px){
  .app-data-table--dense th { padding:7px 10px; }
  .app-data-table--dense td { padding:6px 10px; vertical-align:middle; }
  .app-data-table--dense .app-data-value { gap:1px; }
}
@media(max-width:800px){
  .app-data-table--dense .app-responsive-data-row { padding:10px; gap:6px 10px; }
}
.app-data-table--sticky-header thead { position:sticky; top:0; z-index:1; background:#f8fafc; }
.app-data-table--readable { --data-primary-font-size:12px; font-size:12px; line-height:1.45; }
.app-data-table--readable th { font-size:10px; letter-spacing:.035em; }
.app-data-table--readable td { padding:8px 10px; vertical-align:middle; }
.app-data-table--readable .app-data-value small { line-height:1.4; }
.app-detail-facts--readable { gap:10px 0; }
.app-detail-facts--readable .app-detail-fact { gap:5px; padding:5px 12px; }
.app-detail-facts--readable .app-detail-fact dt { font-size:11px; font-weight:600; }
.app-detail-facts--readable .app-detail-fact dd { font-size:13px; line-height:1.45; }
.app-data-panel__column-filters { display:none; }
@media(max-width:800px){.app-data-panel--responsive-cards .app-data-panel__column-filters{display:block;flex:0 0 auto;padding:10px 12px;border-bottom:1px solid #e8edf1}}
.app-scroll-area,
.app-fullscreen-surface__content,
.admin-table-wrap { min-width:0; min-height:0; scroll-padding-bottom:var(--app-scroll-safe-bottom,56px); }
.app-scroll-area { overflow-x:hidden; overflow-y:auto; touch-action:pan-y; -webkit-overflow-scrolling:touch; }
.app-scroll-area::after,
.app-fullscreen-surface__content::after,
.admin-table-wrap::after { content:""; display:block; width:100%; height:var(--app-scroll-safe-bottom,56px); flex:0 0 var(--app-scroll-safe-bottom,56px); pointer-events:none; }
.app-search-results::after { display:none; }
.app-scroll-area--compact::after { display:none; }
.app-modal-backdrop { position:fixed; inset:0; z-index:1200; display:grid; place-items:center; padding:24px; background:#10263a99; }
/* A child dialog replaces its caller visually; closing it restores the mounted caller. */
.app-modal-backdrop:has(~ .app-modal-backdrop) { display:none; }
html.app-modal-open,body.app-modal-open { overflow:hidden; overscroll-behavior:none; }
.app-modal { position:relative; width:min(620px, 100%); min-height:0; max-height:min(820px, calc(100vh - 48px)); display:flex; flex-direction:column; background:#fff; border:1px solid #d5e4ee; border-radius:14px; box-shadow:0 24px 70px #0a203955; overflow:hidden; }
.app-modal--workspace { width:85vw; height:90vh; max-height:90vh; }
.app-modal--workspace.app-workspace-modal--compact { width:min(1040px,calc(100vw - 48px)); height:auto; max-height:90vh; }
.app-modal__header { flex:0 0 auto; min-height:auto; height:auto; margin:0; padding:14px 18px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #e5ebf0; }
.app-modal__heading { min-width:0; }
.app-modal__title-row { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.app-modal__header h2 { margin:0; font:var(--type-modal-title); overflow-wrap:anywhere; }
.app-resource-status-control { display:inline-flex; align-items:center; gap:7px; min-height:28px; padding:4px 9px; border:1px solid #cddde8; border-radius:999px; background:#f7fafc; color:#40586d; font-size:11px; font-weight:750; cursor:pointer; }
.app-resource-status-control input { width:15px; height:15px; margin:0; accent-color:#1684c2; }
.app-modal__body { flex:1 1 auto; min-height:0; padding:14px 18px 0; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; }
.app-modal:has(> .app-modal__floating-action) .app-modal__body { --app-scroll-safe-bottom:84px; }
.app-modal__floating-action { position:absolute; z-index:20; right:24px; bottom:calc(22px + env(safe-area-inset-bottom, 0px)); display:flex; align-items:center; justify-content:flex-end; pointer-events:none; }
.app-modal__floating-action > * { pointer-events:auto; }
.app-modal__footer { flex:0 0 auto; display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px; padding:10px 18px; border-top:1px solid #e5ebf0; background:#fbfcfd; }
.app-action-modal .app-modal__body { --app-scroll-safe-bottom:22px; }
.app-action-modal__content { display:grid; gap:18px; }
.app-action-modal__content > p { margin:0; color:#31475c; line-height:1.45; }
.app-action-modal__content > .app-form-fields { margin-top:0; }
.app-decision-panel { display:grid; gap:16px; border-left:3px solid #d99a24; padding:18px 20px; }
.app-decision-panel__header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.app-decision-panel__header small { display:block; color:#718195; font-size:10px; letter-spacing:.05em; }
.app-decision-panel__header h3 { margin:4px 0 0; color:#223247; font:750 16px Manrope,Arial,sans-serif; }
.app-decision-panel__summary { min-width:0; color:#516579; font-size:12px; }
.app-decision-panel__summary > :first-child { margin-top:0; }
.app-decision-panel__summary > :last-child { margin-bottom:0; }
.app-decision-panel__fields { display:grid; grid-template-columns:repeat(3,minmax(180px,1fr)); align-items:end; gap:12px; }
.app-decision-panel__fields label { display:grid; min-width:0; gap:6px; color:#536a7f; font-size:11px; font-weight:750; }
.app-decision-panel__fields input,.app-decision-panel__fields .app-textarea { width:100%; min-width:0; }
.app-decision-panel__actions { display:flex; flex-wrap:wrap; gap:8px; padding-top:2px; }
.app-alert-dialog .app-decision-panel__fields { margin-top:18px; }
@media(max-width:980px){.app-decision-panel__fields{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:620px){.app-decision-panel__fields{grid-template-columns:1fr}.app-decision-panel{padding:15px}}
.app-alert-dialog { width:min(680px,100%); }
.app-alert-dialog--warning { border-top:4px solid #d99a24; }
.app-alert-dialog--danger { border-top:4px solid #c64b41; }
.app-alert-list { display:grid; gap:10px; margin:14px 0; padding:0; list-style:none; }
.app-alert-list > li { padding:12px; border:1px solid #e2e9ef; border-radius:9px; background:#f8fafc; }
.app-alert-list b,.app-alert-list small { display:block; }
.app-alert-list small { margin-top:4px; color:#66788a; }
.app-alert-list__actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.app-form-surface { display:grid; min-width:0; gap:12px; margin:0; padding:0 0 10px; }
.app-form-surface--layout-workspace,
.app-form-surface--layout-overview,
.app-form-section-grid { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
.app-form-surface--layout-workspace > :not(.app-disclosure--form-section),
.app-form-surface--layout-workspace > .app-disclosure--form-section[open],
.app-form-surface--layout-workspace > .app-disclosure--form-section.app-disclosure--static,
.app-form-surface--layout-workspace > .app-form-section--span-full,
.app-form-section-grid > :not(.app-disclosure--form-section),
.app-form-section-grid > .app-disclosure--form-section[open],
.app-form-section-grid > .app-disclosure--form-section.app-disclosure--static,
.app-form-section-grid > .app-form-section--span-full,
.app-form-surface--layout-overview > :not(.app-disclosure--form-section),
.app-form-surface--layout-overview > .app-form-section--span-full { grid-column:1/-1; }
.app-form-surface--layout-workspace > .app-disclosure--form-section[open][data-form-section-group] { grid-column:auto; }
.app-form-section-grid > .app-disclosure--form-section[open][data-form-section-group] { grid-column:auto; }
.app-form-surface--layout-workspace:has(> .app-form-section--group-primary-secondary[open]) { grid-template-columns:repeat(3,minmax(0,1fr)); }
.app-form-surface--layout-workspace:has(> .app-form-section--group-three-columns) { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:800px){.app-form-surface--layout-workspace:has(> .app-form-section--group-three-columns){grid-template-columns:1fr}}
.app-form-surface--layout-workspace > .app-form-section--group-primary-secondary.app-form-section--group-primary[open] { grid-column:span 2; }
.app-form-surface--layout-workspace > .app-form-section--group-primary-secondary.app-form-section--group-secondary[open] { grid-column:span 1; }
.app-form-surface > .app-form-fields { margin-top:0; }
.app-form-fields { display:grid; min-width:0; gap:14px; margin-top:18px; }
.app-form-fields--columns-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.app-form-fields--columns-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.app-form-fields--columns-adaptive { grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr)); }
.app-form-fields--compact { gap:10px 12px; }
.app-form-fields--layout-compact-pair { grid-template-columns:minmax(220px,360px) minmax(180px,280px); justify-content:start; }
.app-form-fields--layout-search-filters { display:flex; flex-wrap:wrap; align-items:end; }
.app-form-fields--layout-search-filters > .app-form-field { flex:0 1 180px; min-width:0; max-width:180px; }
.app-form-fields--layout-search-filters > .app-form-field:first-child { flex:1 1 320px; max-width:560px; }
.app-form-fields--layout-contact { grid-template-columns:minmax(140px,.7fr) minmax(220px,1.3fr) minmax(180px,.8fr); align-items:start; gap:12px; margin-top:0; }
.app-form-fields label,
.app-form-fields .app-form-field { display:grid; align-content:start; gap:7px; color:#31475c; font-size:12px; font-weight:700; }
.app-form-surface label { display:grid; min-width:0; align-content:start; gap:5px; color:#31475c; font-size:12px; font-weight:700; }
.app-form-fields input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.app-form-fields .app-select,
.app-form-surface input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.app-form-surface .app-select { box-sizing:border-box; width:100%; min-width:0; min-height:38px; padding:10px 12px; border:1px solid #cbd9e7; border-radius:8px; background:#fff; color:#223247; font-family:var(--field-font); font-size:var(--field-value-font-size); font-weight:500; line-height:1.35; }
.app-form-fields .app-select { cursor:pointer; }
.app-textarea { box-sizing:border-box; width:100%; min-width:0; padding:10px 12px; border:1px solid #cbd9e7; border-radius:8px; background:#fff; color:#223247; font-family:var(--field-font); font-size:var(--field-value-font-size); font-weight:500; line-height:1.5; resize:vertical; transition:border-color .15s ease,box-shadow .15s ease,background .15s ease; }
.app-textarea::placeholder { color:#8494a5; font-weight:400; }
.app-textarea:hover:not(:disabled) { border-color:#aac4d7; }
.app-textarea:focus-visible { border-color:#4ca4d4; outline:0; box-shadow:0 0 0 3px #69b9e833; }
.app-textarea[aria-invalid="true"] { border-color:#d95d54; background:#fff7f6; box-shadow:0 0 0 3px rgba(217,93,84,.12); }
.app-textarea:disabled,.app-textarea[readonly] { background:#f3f6f8; color:#728296; cursor:not-allowed; }
.app-edit-action .navigation-icon,.app-contact-value__action .navigation-icon { display:inline-grid; width:15px; height:15px; place-items:center; }
.app-edit-action .navigation-icon svg,.app-contact-value__action .navigation-icon svg { display:block; width:15px; height:15px; }
.app-speech-draft { display:inline-flex; align-items:center; gap:.35rem; }
.app-speech-draft.is-recording { min-height:36px; padding:3px 4px 3px 9px; border:1px solid #ef9a90; border-radius:9px; background:#fff1ef; box-shadow:0 0 0 3px rgba(217,45,32,.08); }
.app-speech-draft .navigation-icon { display:inline-grid; width:17px; height:17px; place-items:center; }
.app-speech-draft .navigation-icon svg { display:block; width:17px; height:17px; }
.app-speech-draft .app-speech-draft-stop { border-color:#c9362b; background:#d92d20; color:#fff; }
.app-speech-draft-trigger.app-button { color:#167ec4; }
.app-speech-draft-trigger .navigation-icon { display:inline-grid; width:17px; height:17px; place-items:center; }
.app-speech-draft-trigger .navigation-icon svg { display:block; width:17px; height:17px; }
.app-speech-draft > span { display:inline-flex; align-items:center; gap:.35rem; min-width:2.8rem; color:#b42318; font-size:.78rem; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
.app-speech-draft > span i { width:.5rem; height:.5rem; border-radius:50%; background:#d92d20; box-shadow:0 0 0 3px rgba(217,45,32,.12); animation:app-speech-pulse 1.4s ease-in-out infinite; }
@keyframes app-speech-pulse { 50% { opacity:.45; } }
.app-contact-value { display:inline-flex; max-width:100%; min-width:0; align-items:center; gap:3px; }
.app-contact-value > span:last-child { min-width:0; overflow-wrap:anywhere; }
.app-contact-value__action.app-button { flex:0 0 26px; width:26px; height:26px; color:#3d718f; }
.app-contact-value__action.app-button:disabled { color:#a6b4c0; }
.app-form-fields small { color:#b8322a; }
.app-checkbox-field { display:flex !important; align-items:flex-start; gap:10px !important; padding:11px 12px; border:1px solid #dbe5ed; border-radius:8px; background:#f8fafc; cursor:pointer; }
.app-checkbox-field--plain { padding:0; border:0; border-radius:0; background:transparent; }
.app-checkbox-field > input[type="checkbox"] { appearance:auto; flex:0 0 16px; box-sizing:border-box; width:16px; min-width:16px; height:16px; min-height:16px; margin:1px 0 0; padding:0; border:0; border-radius:2px; background:transparent; box-shadow:none; accent-color:#1680bd; }
.app-checkbox-field > span { display:grid; flex:1 1 auto; gap:3px; min-width:0; }
.app-checkbox-field b { color:#31475c; font-size:12px; line-height:1.4; }
.app-checkbox-field small,.app-field-help { color:#718398 !important; font-size:11px; font-weight:500; line-height:1.4; }
.app-form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:16px; }
.app-lookup-panel { --app-lookup-content-width:720px; display:grid; gap:9px; padding:11px 12px; border:1px solid #d4e4ef; border-radius:10px; background:#f8fbfd; }
.app-lookup-panel--info { border-color:#cfe0ed; background:#f5faff; }
.app-lookup-panel--info .app-lookup-panel__header small { color:#71869a; }
.app-lookup-panel--success { border-color:#bdd9ca; background:#f4fbf7; }
.app-lookup-panel--success .app-lookup-panel__header small { color:#637a6d; }
.app-lookup-panel--cool { border-color:#c9d9ec; background:#f5f9fe; }
.app-lookup-panel--cool .app-lookup-panel__header small { color:#60768c; }
.app-lookup-panel--warning { border-color:#e5c676; background:#fffaf0; }
.app-lookup-panel--comfortable { gap:10px; padding:13px; }
.app-lookup-panel--width-compact { --app-lookup-content-width:662px; }
.app-lookup-panel__header { display:grid; gap:3px; }
.app-lookup-panel__header b { color:#22384b; font-size:14px; }
.app-lookup-panel__header small { color:#718398; font-size:11px; font-weight:500; }
.app-lookup-panel__controls { display:flex; width:min(100%,var(--app-lookup-content-width)); min-width:0; align-items:flex-end; flex-wrap:wrap; gap:8px; }
.app-lookup-panel__controls > .app-form-field { flex:1 1 150px; }
.app-lookup-panel__controls > input:not([type="checkbox"]):not([type="radio"]):not([type="file"]) { flex:1 1 260px; }
.app-lookup-panel__controls > .app-textarea { flex:1 1 420px; width:auto; }
.app-lookup-panel__controls > .app-select { flex:0 1 120px; }
.app-lookup-panel__controls > .app-button,
.app-lookup-panel__controls > .app-disabled-action-hint { flex:0 0 auto; }
.app-lookup-panel__controls--identifier { display:grid; grid-template-columns:120px minmax(0,1fr) auto; justify-content:start; }
.app-lookup-panel__controls--identifier > .app-select,
.app-lookup-panel__controls--identifier > input,
.app-lookup-panel__controls--identifier > .app-button { width:auto; min-width:0; }
.app-lookup-panel__meta { display:flex; width:min(100%,var(--app-lookup-content-width)); flex-wrap:wrap; gap:8px; color:#718398; font-size:11px; }
.app-lookup-panel__action { width:min(100%,var(--app-lookup-content-width)); }
.app-lookup-panel__action > .app-button { width:100%; }
.app-lookup-panel > .app-form-fields { width:min(100%,var(--app-lookup-content-width)); justify-self:start; }
.app-lookup-panel__note { display:block; margin-top:3px; color:#718398; font-size:11px; }
.app-lookup-panel__guidance { width:min(100%,var(--app-lookup-content-width)); margin:0; padding:8px 10px; border:1px solid #e5c676; border-radius:8px; background:#fff8e8; color:#7a5411; font-size:11px; line-height:1.4; }
.app-lookup-panel__guidance--fluid { width:100%; }
.app-form-field { display:grid; min-width:0; align-content:start; gap:7px; }
.app-amount-input { position:relative; display:block; min-width:0; }
.app-amount-input > input { width:100%; padding-right:48px !important; text-align:right; font-variant-numeric:tabular-nums; }
.app-amount-input > i { position:absolute; top:50%; right:11px; transform:translateY(-50%); color:var(--muted); font-size:12px; font-style:normal; font-weight:700; pointer-events:none; }
.app-amount-input > input[aria-invalid="true"] { border-color:#c2410c; }
.app-form-field__heading { display:flex; min-height:30px; align-items:center; justify-content:space-between; gap:10px; }
.app-form-field__heading > b { color:#42566d; font-size:var(--type-field-label-size); }
.app-form-field > small { min-height:17px; color:var(--muted); font-weight:400; line-height:1.4; }
.app-form-field--compact { --app-field-padding:7px 10px; gap:4px; }
.app-form-field--compact .app-form-field__heading { min-height:22px; }
.app-form-field--compact > small { min-height:0; font-size:11px; }
.app-form-field--compact > input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.app-form-field--compact > .app-select { min-height:var(--app-compact-control-height); }
.app-form-field--span-full { grid-column:1/-1; }
.app-form-field--span-two { grid-column:span 2; }
.app-form-route-choices { display:grid; width:min(100%,720px); grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.app-form-route-choices--columns-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.app-form-route-choice.app-button { min-height:58px; align-items:flex-start; justify-content:center; flex-direction:column; gap:3px; padding:9px 11px; text-align:left; white-space:normal; }
.app-form-route-choice b { font-size:11.5px; line-height:1.25; }
.app-form-route-choice small { color:#667b8f; font-size:10px; font-weight:500; line-height:1.3; }
.app-form-route-choice.app-button--primary small { color:#eaf6fc; }
.app-form-route-choices--compact { display:inline-grid; width:auto; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:max-content; gap:6px; }
.app-form-route-choices--compact .app-form-route-choice.app-button { min-height:var(--app-compact-control-height,36px); flex-direction:row; align-items:center; padding:6px 12px; }
.app-form-route-choices--compact .app-form-route-choice b { font-size:12px; line-height:1.2; white-space:nowrap; }
.app-form-topic-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.app-form-topic { display:grid; min-width:0; align-content:start; gap:10px; padding:12px; border:1px solid #dce6ed; border-radius:9px; background:#f8fafc; }
.app-form-topic h4 { margin:0 0 2px; color:#354c61; font-size:13px; }
.app-form-surface--compact .app-form-field { gap:5px; }
.app-form-surface--compact .app-form-field__heading { min-height:22px; }
.app-form-surface--compact :is(.app-form-row,.app-form-fields):has(> .app-form-field > .app-form-field__heading > .app-button) > .app-form-field > .app-form-field__heading { min-height:30px; }
.app-form-surface--compact .app-form-fields { gap:10px 12px; }
.app-form-surface--compact input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.app-form-surface--compact .app-select { min-height:36px; padding:8px 10px; }
.app-form-surface--compact .app-select:not([multiple]) { height:var(--app-compact-control-height); padding-right:30px; }
.app-form-surface--workspace input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.app-form-surface--workspace .app-select { min-height:32px; padding:6px 8px; font-size:11.5px; }
.app-form-surface--workspace label,
.app-form-surface--workspace .app-form-field { font-size:11px; }
.app-form-surface--workspace .app-form-fields { gap:8px 10px; }
.app-form-surface--workspace .app-disclosure--form-section > summary,
.app-form-surface--workspace .app-disclosure--form-section.app-disclosure--static > header { min-height:44px; padding:9px 12px; }
.app-form-surface--workspace .app-disclosure--form-section > .app-disclosure-content { gap:10px; padding:10px 12px 12px; }
.app-form-surface input:focus-visible,
.app-form-surface input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus-visible,
.app-form-fields input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus-visible { border-color:#4ca4d4; outline:0; box-shadow:0 0 0 3px #69b9e833; }
.app-form-surface .app-form-field input[aria-invalid="true"],
.app-form-surface .app-form-field select[aria-invalid="true"] { border-color:#d95d54; background:#fff7f6; box-shadow:0 0 0 3px rgba(217,93,84,.12); }
.app-disclosure--form-section { overflow:hidden; border:1px solid #dbe5ed; border-radius:10px; background:#fff; }
.app-disclosure--form-section[open]:has(.app-searchable-select--open) { position:relative; z-index:85; overflow:visible; }
.app-disclosure--form-section > summary,
.app-disclosure--form-section.app-disclosure--static > header { display:flex; min-height:48px; align-items:center; justify-content:space-between; gap:12px; padding:11px 14px; background:#f8fafc; }
.app-disclosure--form-section > summary { border-bottom:0; }
.app-disclosure--form-section[open] > summary,
.app-disclosure--form-section.app-disclosure--static > header { border-bottom:1px solid #e7edf2; }
.app-disclosure--form-section > .app-disclosure-content { display:grid; gap:12px; padding:12px 14px 14px; }
.app-disclosure--form-section .app-disclosure-title { font-size:14px; }
.app-disclosure--form-section .app-disclosure-description { line-height:1.35; }
.app-disclosure--detail-section { overflow:hidden; border:1px solid #d5e2eb; border-radius:12px; background:#f6f9fb; box-shadow:0 4px 14px #17334a0a; }
.app-disclosure--detail-section > summary,
.app-disclosure--detail-section.app-disclosure--static > header { display:flex; min-height:48px; align-items:center; justify-content:space-between; gap:12px; padding:11px 14px; border-bottom:1px solid #dce6ed; background:#f1f6f9; }
.app-disclosure--detail-section > .app-disclosure-content { display:grid; gap:14px; padding:14px; background:#f8fafc; }
.app-disclosure--detail-section .app-disclosure-title { font:var(--type-section-title); }
.app-disclosure-status { display:inline-flex; align-items:center; flex:0 0 auto; padding:3px 7px; border-radius:999px; background:#edf1f4; color:#607386; font-size:10px; font-weight:750; line-height:1.2; }
.app-disclosure-status--success { background:#e6f7f0; color:#187755; }
.app-disclosure-status--warning { background:#fff0ee; color:#a43732; }
.app-disclosure-summary { flex:1 1 100%; overflow:hidden; color:#4d6478 !important; font-weight:650 !important; text-overflow:ellipsis; white-space:nowrap; }
.app-disclosure--form-section[open] .app-disclosure-summary,
.app-disclosure--form-section.app-disclosure--static .app-disclosure-summary { display:none; }
@media(max-width:1100px){.app-modal--workspace{width:calc(100vw - 32px);height:calc(100vh - 32px)}}
@media(max-width:900px){.app-form-topic-columns{grid-template-columns:1fr}}
@media(max-width:800px){.app-form-fields--layout-compact-pair,.app-form-fields--layout-contact,.app-lookup-panel__controls--identifier{grid-template-columns:1fr}.app-form-field--span-two{grid-column:auto}}
@media(max-width:720px){.app-form-row,.app-form-fields--columns-2,.app-form-fields--columns-3,.app-form-surface--layout-workspace,.app-form-surface--layout-overview,.app-form-section-grid,.app-form-route-choices{grid-template-columns:1fr}.app-form-surface--layout-workspace>.app-form-section--group-primary-secondary.app-form-section--group-primary[open],.app-form-surface--layout-workspace>.app-form-section--group-primary-secondary.app-form-section--group-secondary[open],.app-form-field--span-full{grid-column:auto}.app-lookup-panel__controls{display:grid;grid-template-columns:1fr}.app-lookup-panel__controls>.app-button,.app-lookup-panel__controls>.app-disabled-action-hint{width:100%}.app-lookup-panel__controls>.app-disabled-action-hint>.app-button{width:100%}}
@media(max-width:560px){.app-form-field__heading{align-items:flex-start;flex-direction:column}.app-form-field__heading .app-button{width:100%}}
.phone-contact-identity{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:2px}.phone-contact-identity__phone,.phone-contact-identity__name{display:block;max-width:100%;min-width:0;overflow:hidden;font:inherit;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.phone-contact-identity__name{color:#718398}
.authenticated-attachment { display:grid; grid-template-columns:42px minmax(0,1fr) auto; container-type:inline-size; align-items:center; gap:8px; max-width:720px; padding:7px; border:1px solid #dce6ed; border-radius:8px; background:#fff; }
@container(max-width:360px) { .authenticated-attachment__actions { grid-column:1 / -1; justify-content:flex-end; } }
.authenticated-attachment__thumbnail { width:42px; height:42px; padding:0; overflow:hidden; border:1px solid #d5e1e9; border-radius:6px; background:#f4f8fb; color:#59738a; font-size:10px; font-weight:800; cursor:pointer; }
.authenticated-attachment__thumbnail:disabled { cursor:default; }
.authenticated-attachment__thumbnail img { width:100%; height:100%; object-fit:cover; }
.authenticated-attachment__thumbnail svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.authenticated-attachment__pdf { font-size:9px; font-weight:800; letter-spacing:.03em; }
.authenticated-attachment__content { min-width:0; }
.authenticated-attachment__content b { display:block; overflow:hidden; color:#334c61; font-size:11px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.authenticated-attachment__content small { color:#7a8b9b; font-size:9px; }
.authenticated-attachment.is-compact { grid-template-columns:34px minmax(0,1fr) auto; max-width:620px; padding:5px; }
.authenticated-attachment.is-compact .authenticated-attachment__thumbnail { width:34px; height:34px; }
.authenticated-attachment.is-header { width:min(420px,100%); grid-template-columns:38px minmax(90px,1fr) auto; padding:5px; }
.authenticated-attachment.is-header .authenticated-attachment__thumbnail { width:38px; height:38px; }
.authenticated-attachment-viewer { position:relative; display:grid; width:100%; height:100%; min-height:320px; place-items:center; overflow:clip; border:1px solid #dce6ed; border-radius:10px; background:#f4f7f9; }
.authenticated-attachment-viewer.is-empty { padding:24px; color:#718398; font-size:12px; text-align:center; }
.authenticated-attachment-viewer video { display:block; width:100%; height:100%; min-height:320px; border:0; object-fit:contain; background:#fff; }
.authenticated-attachment-viewer audio { width:min(680px,90%); }
.authenticated-attachment-viewer iframe { width:100%; height:100%; min-height:320px; border:0; background:#fff; }
.authenticated-attachment-viewer.is-pdf { display:block; overflow:hidden; background:#292929; }
.authenticated-pdf-viewer { display:grid; width:100%; height:100%; min-height:320px; grid-template-rows:auto minmax(0,1fr); background:#292929; }
.authenticated-pdf-viewer__toolbar { display:flex; min-width:0; align-items:center; gap:5px; padding:7px 10px; background:#373737; color:#fff; }
.authenticated-pdf-viewer__toolbar > i { flex:1 1 auto; }
.authenticated-pdf-viewer__toolbar > span { min-width:48px; color:#fff; font-size:11px; text-align:center; }
.authenticated-pdf-viewer__toolbar .app-button { border-color:#5c5c5c; background:#454545; color:#fff; box-shadow:none; }
.authenticated-pdf-viewer__toolbar .app-button--icon { width:28px; min-width:28px; min-height:28px; padding:0; }
.authenticated-pdf-viewer__stage { display:grid; min-width:0; min-height:0; place-items:center; overflow:auto; overscroll-behavior:contain; padding:12px; touch-action:pan-x pan-y; }
.authenticated-pdf-viewer__stage canvas { display:block; max-width:none; background:#fff; box-shadow:0 2px 12px #0008; }
.authenticated-pdf-viewer__stage p { max-width:420px; padding:16px; border-radius:8px; background:#fff; color:#9b302d; text-align:center; }
@media(max-width:560px){.authenticated-pdf-viewer__toolbar{gap:3px;padding:6px}.authenticated-pdf-viewer__toolbar>.app-button--small{min-height:28px;padding:3px 6px;font-size:9px}.authenticated-pdf-viewer__toolbar>span{min-width:38px;font-size:9px}}
.authenticated-attachment-viewer__zoom { position:absolute; z-index:2; top:8px; right:8px; display:flex; align-items:center; gap:4px; padding:4px; border:1px solid #cedce6; border-radius:8px; background:#fffffff2; box-shadow:0 3px 12px #243d5221; }
.authenticated-attachment-viewer__zoom .app-button--icon { width:28px; min-width:28px; min-height:28px; padding:0; }
.authenticated-attachment-viewer__zoom .app-button--small { min-height:28px; padding:3px 7px; font-size:10px; }
.authenticated-attachment-viewer__zoom > span { min-width:38px; color:#334c61; font-size:10px; font-weight:800; text-align:center; }
.authenticated-attachment-viewer__image-stage { display:grid; width:100%; height:100%; min-height:320px; place-items:center; overflow:clip; background:#fff; touch-action:pan-y; }
.authenticated-attachment-viewer__image-stage.is-zoomed { overflow:auto; overscroll-behavior:contain; touch-action:pan-x pan-y; }
.authenticated-attachment-viewer__image-stage img { display:block; max-width:none; min-width:100%; min-height:320px; border:0; object-fit:contain; background:#fff; cursor:zoom-in; }
.list-filter-bar { display:block; padding:12px; border-bottom:1px solid #edf1f4; background:#fff; }
.list-filter-bar--collapsible { padding:0; }
.list-filter-bar__header { display:flex; min-height:38px; padding:7px 12px; align-items:center; justify-content:space-between; gap:10px; border-bottom:1px solid #edf1f4; }
.list-filter-bar__header > span { display:flex; min-width:0; align-items:baseline; gap:7px; }
.list-filter-bar__header b { color:#334c61; font-size:11px; }
.list-filter-bar__header small { overflow:hidden; color:#718195; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.list-filter-bar__toggle.app-button { width:28px; min-width:28px; height:28px; min-height:28px; padding:0; border:1px solid #d7e3eb; border-radius:7px; background:#f8fbfd; color:#286f99; box-shadow:none; font-size:15px; line-height:1; }
.list-filter-bar__toggle.app-button:hover { background:#edf7fc; color:#087fbd; }
.list-filter-bar__toggle--mobile-fallback { display:none; }
.list-filter-bar__body { padding:12px; }
.list-filter-bar__body > input[type="search"],
.list-filter-bar__body > input:not([type]) { display:block; width:100%; min-height:42px; margin:0 0 9px; padding:9px 11px; border:1px solid #cbd9e7; border-radius:8px; background:#fff; color:#223247; font:inherit; }
.list-filter-bar > input[type="search"],
.list-filter-bar > input:not([type]) { display:block; width:100%; min-height:42px; margin:0 0 9px; padding:9px 11px; border:1px solid #cbd9e7; border-radius:8px; background:#fff; color:#223247; font:inherit; }
.list-filter-bar__controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.list-filter-bar__controls--mail { grid-template-columns:minmax(0,1fr) auto 36px; }
.list-filter-bar__controls > .app-select,
.list-filter-bar__controls > .app-button { width:100%; min-width:0; min-height:36px; padding:8px 10px; border:1px solid #d5e1e9; border-radius:8px; background:#fff; box-shadow:none; color:#52657a; font-family:var(--field-font); font-size:12px; font-weight:700; line-height:1.25; text-align:left; white-space:nowrap; }
.list-filter-bar__controls > .app-select { cursor:pointer; }
.list-filter-bar__controls > .app-button.is-active { border-color:#9ccde5; background:#e7f5fc; color:#126b9f; }
.list-filter-bar__controls > .list-filter-bar__control--wide { grid-column:1/-1; }

.app-master-detail-layout { display:grid; grid-template-columns:clamp(390px,29vw,460px) minmax(380px,1fr); min-height:0; }
.app-master-detail-layout[data-master-detail-list-size="wide"] { grid-template-columns:clamp(520px,42vw,680px) minmax(380px,1fr); }
.app-master-detail-layout[data-master-detail-list-size="compact"] { grid-template-columns:minmax(260px,360px) minmax(0,1fr); }
.app-master-detail-layout.is-list-hidden { grid-template-columns:40px minmax(380px,1fr); }
.app-master-detail-layout__mobile-back { display:none; }
.app-collection-viewport { flex:1 1 0; min-width:0; min-height:0; overflow:auto; }
.app-collection-viewport--fill { display:flex; flex-direction:column; }
.app-collection-viewport--fill::after { display:none; }
.app-collection-viewport--fill > * { flex:1 1 0; min-height:0; }
.app-adaptive-detail { display:flex; flex-direction:column; gap:12px; min-width:0; min-height:0; }
.app-adaptive-detail__primary { display:flex; flex:1 0 0; flex-direction:column; min-width:0; min-height:460px; }
.app-adaptive-detail__primary > * { flex:1 1 0; min-height:0; }
.app-adaptive-detail__secondary { flex:none; max-height:50%; overflow:auto; }
.app-adaptive-detail--wide { display:grid; grid-template-columns:minmax(0,1fr) 260px; }
.app-adaptive-detail--wide .app-adaptive-detail__secondary { min-height:0; max-height:none; }
.app-adaptive-detail--document-review.app-adaptive-detail--wide { grid-template-columns:minmax(600px,3fr) minmax(320px,2fr); }
.app-adaptive-detail--document-review .app-adaptive-detail__primary { min-height:0; }
.app-master-detail-pane { display:flex; flex-direction:column; min-width:0; min-height:0; overflow:hidden; background:var(--surface,#fff); }
.app-master-detail-pane > :not(.app-collection-viewport) { flex:none; }
.app-master-detail-pane[data-master-detail-pane="list"] { border-right:1px solid var(--border-subtle,#e1e8ee); }
.app-master-detail-pane__header { min-width:0; }
.app-master-detail-pane__header > .app-collection-toolbar { padding:15px 19px 12px; border-bottom:1px solid var(--border-subtle,#e1e8ee); }
.app-master-detail-pane__header > .app-collection-toolbar .app-collection-toolbar__summary { font-size:12px; }
.app-master-detail-pane[data-master-detail-pane="list"] .app-resource-card { min-height:60px; gap:10px; padding:12px 16px; border:0; border-top:1px solid var(--border-subtle,#e1e8ee); border-radius:0; box-shadow:none; }
.app-master-detail-pane[data-master-detail-pane="list"] .app-resource-card[data-active="true"] { padding-left:13px; border-left:3px solid #1785c9; background:#eef7fc; }
.app-master-detail-pane[data-master-detail-pane="list"] .app-resource-card__content strong { font-size:13px; line-height:1.3; }
.app-master-detail-pane[data-master-detail-pane="list"] .app-resource-card__content small { display:-webkit-box; overflow:hidden; font-size:11px; font-weight:400; line-height:1.4; white-space:normal; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.app-master-detail-pane[data-master-detail-pane="list"] .app-resource-card__trailing { align-self:start; padding-top:1px; color:#718398; font-size:11px; white-space:nowrap; }
.app-master-detail-pane[data-master-detail-pane="list"] .app-resource-card:focus-visible { outline:2px solid var(--button-focus); outline-offset:-2px; }
.app-master-detail-pane[data-master-detail-pane="list"] .app-collection-viewport > .app-collection-stack { gap:0; }
.app-master-detail-pane--padded { padding:22px 28px; }
.app-navigation-layout { display:grid; grid-template-columns:205px minmax(0,1fr); flex:1 1 0; min-width:0; min-height:0; }
.app-navigation-layout[data-navigation-open="false"] { grid-template-columns:40px minmax(0,1fr); }
.app-navigation-layout[data-has-navigation="false"] { grid-template-columns:minmax(0,1fr); }
.app-navigation-layout__navigation { display:flex; flex-direction:column; position:relative; min-width:0; min-height:0; border-right:1px solid var(--border-subtle,#e1e8ee); background:var(--surface-muted,#f7fafc); }
.app-navigation-layout__navigation > .app-collection-viewport { padding:18px 10px; }
.app-navigation-group { min-width:0; margin:12px 0 16px; }
.app-navigation-group__header { display:flex; min-width:0; align-items:flex-start; gap:5px; padding:5px 6px; border-bottom:1px solid #cbdce8; border-radius:6px; background:#e6eef6; }
.app-navigation-layout__items .app-navigation-group__toggle.app-button[data-button-size="medium"] { display:flex; flex:1; min-width:0; align-items:flex-start; gap:6px; padding:5px 0; background:transparent; text-align:left; }
.app-navigation-group__label { display:block; min-width:0; margin:0; color:#20364d; font-size:13px; font-weight:800; line-height:1.4; white-space:normal; overflow-wrap:anywhere; }
.app-navigation-group__description { display:block; margin-top:3px; color:#526b80; font-size:11px; font-weight:400; line-height:1.35; }
.app-workspace-location { display:flex; flex:none; flex-wrap:wrap; align-items:center; gap:8px; padding:8px 28px; border-bottom:1px solid #cbdce8; background:#edf4fa; color:#39576f; font-size:12px; }
.app-workspace-location__module { padding:5px 10px; border-radius:5px; background:#185a88; color:#fff; font-size:13px; }
.app-workspace-location__current { color:#173d59; font-weight:800; }
.app-navigation-layout__items .app-button.is-active[data-button-size="medium"] :is(span,strong,small,label,svg) { color:#fff; }
.app-navigation-group__actions { flex:none; padding-top:4px; }
.app-navigation-group__content { padding:5px 0 0 4px; }
.app-navigation-layout__items { scroll-padding-bottom:0; }
.app-navigation-layout__toggle.app-button { position:absolute; top:12px; right:-14px; z-index:12; width:28px; min-width:28px; height:30px; min-height:30px; padding:0; border-color:#bcdced; border-radius:7px; background:#e7f3fb; color:#2a80b9; box-shadow:0 2px 7px #10263a22; font:700 24px/1 Arial,sans-serif; }
.app-navigation-layout[data-navigation-open="false"] .app-navigation-layout__toggle.app-button { right:6px; top:14px; box-shadow:none; }
.app-navigation-layout__items .app-resource-card { min-height:31px; padding:8px 9px; border:0; border-radius:6px; background:transparent; box-shadow:none; column-gap:7px; }
.app-navigation-layout__items .app-button[data-button-size="medium"] { min-height:31px; padding:8px 9px; border:0; border-radius:6px; background:transparent; color:#586a7e; font-size:13px; box-shadow:none; }
.app-navigation-layout__items .app-button[data-button-size="medium"]:hover,.app-navigation-layout__items .app-button[data-button-size="medium"]:focus-visible { background:#eef5fa; }
.app-navigation-layout__items .app-button.is-active[data-button-size="medium"] { background:#185a88; color:#fff; box-shadow:inset 3px 0 0 #0d507a; }
.app-navigation-layout__items .app-button[data-button-size="medium"]:focus-visible { outline:2px solid var(--button-focus); outline-offset:-2px; }
.app-navigation-layout__items .app-resource-card:hover,.app-navigation-layout__items .app-resource-card:focus-visible { background:#eef5fa; box-shadow:none; }
.app-navigation-layout__items .app-resource-card[data-active="true"] { background:#e8f3fa; color:#164c70; }
.app-navigation-layout__items .app-resource-card__content strong { font-size:13px; font-weight:500; line-height:1.25; }
.app-navigation-layout__items .app-resource-card[data-active="true"] .app-resource-card__content strong { font-weight:800; }
.app-navigation-layout__items .app-collection-toolbar__summary { min-width:0; flex:1; }
.app-navigation-layout__items .app-collection-toolbar__summary > strong { font:800 11px Manrope,sans-serif; letter-spacing:.02em; }
.app-navigation-layout__items .app-collection-toolbar__summary > .app-resource-card { padding-left:0; }
.app-navigation-layout[data-navigation-open="false"] .app-navigation-layout__items { display:none; }
.app-navigation-layout__content { display:flex; flex-direction:column; min-width:0; min-height:0; overflow:hidden; }
.app-navigation-layout__content > .app-master-detail-layout { flex:1 1 0; }
@media (max-width:800px) {
  .app-workspace--flush > .app-workspace__header { padding:14px 16px; align-items:flex-start; }
  .app-master-detail-pane--padded { padding:12px; }
  .app-master-detail-layout[data-master-detail-list-size="compact"] { grid-template-columns:minmax(0,1fr); }
  .app-master-detail-pane[data-master-detail-pane="detail"] { display:none; }
  .app-master-detail-layout.is-mobile-detail-open > .app-master-detail-pane[data-master-detail-pane="detail"] { display:flex; min-height:0; }
  .app-master-detail-layout.is-mobile-detail-open > .app-master-detail-layout__mobile-back { grid-row:1; }
  .app-navigation-layout,
  .app-navigation-layout[data-navigation-open="false"] { grid-template-columns:minmax(0,1fr); }
  .app-navigation-layout__navigation { display:none; }
  .app-navigation-layout__navigation.is-mobile-open { display:flex; position:fixed; inset:44px auto 0 0; width:min(320px,86vw); z-index:92; box-shadow:12px 0 32px rgb(4 24 40 / 28%); }
  .app-navigation-layout__navigation.is-mobile-open .app-navigation-layout__items { display:block; }
  .app-navigation-layout__navigation .app-navigation-layout__toggle { display:none; }
  .app-navigation-layout__open.app-mobile-only,
  .app-navigation-layout__close.app-mobile-only { display:inline-flex !important; align-self:flex-start; margin:8px; }
  .app-navigation-layout__close.app-mobile-only { align-self:flex-end; }
  .app-navigation-layout__backdrop.app-mobile-only { display:block !important; position:fixed; inset:44px 0 0; z-index:91; border:0; border-radius:0; background:rgb(16 38 58 / 42%); }
}
.app-master-detail-controls { position:absolute; top:12px; left:calc(100% - 14px); z-index:12; display:grid; width:60px; overflow:hidden; border:1px solid #c9dce8; border-radius:9px; background:#f8fbfd; box-shadow:0 4px 12px rgba(29,73,102,.12); }
.app-master-detail-controls__primary { display:grid; grid-template-columns:repeat(2,30px); }
.app-master-detail-controls__primary > .app-button:first-child { position:static; width:30px; min-width:30px; border:0; border-radius:0; box-shadow:none; }
.app-master-detail-controls .app-master-detail-controls__size { border:0; border-left:1px solid #d7e3eb; border-radius:0; box-shadow:none; }
.app-master-detail-controls .app-master-detail-controls__size.is-active { background:#e5f4fb; color:#087fbd; }
.app-master-detail-controls__secondary { border-top:1px solid #d7e3eb; }
.app-master-detail-controls__secondary .list-filter-bar__toggle.app-button { display:flex; width:100%; min-width:0; height:27px; min-height:27px; padding:0 6px; justify-content:space-between; gap:3px; border:0; border-radius:0; background:#f8fbfd; font-size:12px; }
.app-master-detail-controls__secondary .list-filter-bar__toggle-label { font-size:9px; font-weight:750; line-height:1; }
.app-master-detail-layout.is-list-hidden .app-master-detail-controls { top:14px; right:auto; left:calc(100% - 14px); width:30px; }
.app-autosave-group__status { flex:none; color:#61788c; font-size:.62rem; font-weight:700; white-space:nowrap; }
.app-autosave-group__status.is-saving { color:#287ca6; }
.app-autosave-group__status.is-saved { color:#17775f; }
.app-autosave-group__status.is-error { color:#b44949; }
@media (max-width:800px) {
  .app-master-detail-layout,
  .app-master-detail-layout[data-master-detail-list-size="wide"],
  .app-master-detail-layout.is-list-hidden { grid-template-columns:1fr; }
  .app-master-detail-layout.is-mobile-detail-open { grid-template-rows:auto minmax(0,1fr); }
  .app-master-detail-controls { display:none; }
  .app-master-detail-layout.is-mobile-detail-open > [data-master-detail-pane="list"] { display:none; }
  .app-master-detail-layout.is-mobile-detail-open > [data-master-detail-pane="detail"] { display:block; }
  .app-master-detail-layout.is-mobile-detail-open .app-master-detail-layout__mobile-back {
    position:sticky;
    top:0;
    z-index:20;
    display:inline-flex !important;
    justify-self:start;
    align-self:start;
    margin:8px 12px 0;
    background:#fff;
    box-shadow:0 3px 12px rgb(16 38 58 / 12%);
  }
  .list-filter-bar__toggle--mobile-fallback.app-button { display:inline-flex !important; }
}
/* Use the workspace width: application navigation can consume much of a desktop window. */
@container app-workspace (max-width:900px) {
  .app-workspace--flush > .app-workspace__header { align-items:stretch; flex-direction:column; gap:8px; }
  .app-navigation-layout,.app-navigation-layout[data-navigation-open="false"] { grid-template-columns:minmax(0,1fr); }
  .app-navigation-layout__navigation { display:none; }
  .app-navigation-layout__navigation.is-mobile-open { display:flex; position:fixed; inset:44px auto 0 0; width:min(320px,86vw); z-index:92; box-shadow:12px 0 32px rgb(4 24 40 / 28%); }
  .app-navigation-layout__navigation.is-mobile-open .app-navigation-layout__items { display:block; }
  .app-navigation-layout__navigation .app-navigation-layout__toggle { display:none; }
  .app-navigation-layout__open.app-mobile-only,.app-navigation-layout__close.app-mobile-only { display:inline-flex !important; align-self:flex-start; margin:8px; }
  .app-navigation-layout__close.app-mobile-only { align-self:flex-end; }
  .app-navigation-layout__backdrop.app-mobile-only { display:block !important; position:fixed; inset:44px 0 0; z-index:91; border:0; border-radius:0; background:rgb(16 38 58 / 42%); }
}
@container app-workspace (max-width:720px) {
  .app-master-detail-layout[data-master-detail-list-size="compact"] { grid-template-columns:minmax(0,1fr); }
  .app-master-detail-layout[data-master-detail-list-size="compact"] > [data-master-detail-pane="detail"] { display:none; }
  .app-master-detail-layout[data-master-detail-list-size="compact"].is-mobile-detail-open { grid-template-rows:auto minmax(0,1fr); }
  .app-master-detail-layout[data-master-detail-list-size="compact"].is-mobile-detail-open > [data-master-detail-pane="list"] { display:none; }
  .app-master-detail-layout[data-master-detail-list-size="compact"].is-mobile-detail-open > [data-master-detail-pane="detail"] { display:flex; min-height:0; }
  .app-master-detail-layout[data-master-detail-list-size="compact"].is-mobile-detail-open > .app-master-detail-layout__mobile-back { display:inline-flex !important; position:sticky; top:0; z-index:20; justify-self:start; align-self:start; margin:8px 12px 0; background:#fff; box-shadow:0 3px 12px rgb(16 38 58 / 12%); }
}
.read-state-dot.app-button { width:8px; min-width:8px; height:8px; min-height:8px; padding:0; border:0; border-radius:50%; background:#2b9cd5; box-shadow:none; }
.is-read .read-state-dot.app-button { background:#c8e6f4; }
.read-state-dot.app-button:focus-visible { outline:2px solid #0b7fc1; outline-offset:2px; }
.list-filter-bar__controls--mail > .attachment-filter { width:36px; padding:0; justify-content:center; text-align:center; }
.multi-select-menu { position:relative; width:max-content; max-width:100%; }
.multi-select-menu__list { position:absolute; z-index:35; left:0; bottom:calc(100% + 6px); width:min(330px,calc(100vw - 48px)); max-height:260px; padding:7px; overflow:auto; border:1px solid #cbd9e7; border-radius:9px; background:#fff; box-shadow:0 14px 36px #10263a2e; }
.multi-select-menu__option { display:flex !important; align-items:center; gap:8px !important; padding:8px; border-radius:6px; color:#31475c !important; font-size:12px !important; cursor:pointer; }
.multi-select-menu__option:hover { background:#eef7fc; }
.multi-select-menu__option input { margin:0; }
.multi-select-menu__list > .app-button { width:100%; margin-top:5px; }
.multi-select-menu--field { width:100%; }
.multi-select-menu--field > .app-button { width:100%; justify-content:space-between; min-height:38px; padding:9px 12px; text-align:left; }
.multi-select-menu--field .multi-select-menu__list { position:static; width:100%; margin-top:7px; box-shadow:0 6px 18px #10263a12; }
.status-badge { display:inline-flex; align-items:center; padding:4px 8px; border-radius:999px; font-size:11px; font-weight:700; background:#edf1f4; color:#526273; }
.status-badge--success { background:#e6f7f0; color:#187755; }
.status-badge--warning { background:#fff3dc; color:#8b5c08; }
.status-badge--danger { background:#fff0ed; color:#a33f35; }
.app-completion-mark { display:inline-grid; width:24px; height:24px; place-items:center; border-radius:50%; background:#edf1f4; color:#738292; font-size:14px; font-weight:900; line-height:1; }
.app-completion-mark.is-complete { background:#e2f6eb; color:#168052; }

.app-count-badge.app-button {
  flex: 0 0 22px;
  width: 22px;
  min-width: 22px;
  max-width: 22px;
  height: 22px;
  min-height: 22px;
  max-height: 22px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  box-shadow: none;
  font-size: 10px;
  font-weight: 800;
  line-height: 22px;
  font-variant-numeric: tabular-nums;
  text-align: center;
  cursor: pointer;
}
.app-count-badge.app-count-badge--danger {
  background: #d93c3c;
  color: #fff;
}
.app-count-badge.app-count-badge--danger:hover:not(:disabled) {
  border-color: transparent;
  background: #d93c3c;
  color: #fff;
}

/* Shared record selector used by external integrations (Calamari and future ones). */
.integration-picker { display:grid; gap:10px; padding:13px; border:1px solid #d4e4ef; border-radius:10px; background:#f8fbfd; }
.integration-picker__header { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.integration-picker__heading { min-width:0; }
.integration-picker__heading b,.integration-picker__heading small { display:block; }
.integration-picker__heading small { margin-top:3px; color:#718094; font-size:12px; line-height:1.4; }
.integration-picker__selected { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 10px; border:1px solid #cfe4ef; border-radius:8px; background:#eef8fc; }
.integration-picker__selected span { min-width:0; }
.integration-picker__selected b,.integration-picker__selected small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.integration-picker__selected small { margin-top:2px; color:#718094; font-size:11px; }
.integration-picker__search { width:100%; min-width:0; padding:10px 12px; border:1px solid #d4dfe7; border-radius:8px; background:#fff; }
.integration-picker__results { display:block; max-height:220px; overflow:auto; border:1px solid #dce5eb; border-radius:8px; background:#fff; }
.integration-picker__item { display:flex; width:100%; min-height:52px; padding:7px 11px; align-items:center; justify-content:space-between; gap:12px; border:0; border-radius:0; text-align:left; box-shadow:none; }
.integration-picker__item + .integration-picker__item { border-top:1px solid #edf1f4; }
.integration-picker__item:hover:not(:disabled),.integration-picker__item.is-selected { background:#eaf6fc; color:#183a57; }
.integration-picker__item.is-disabled { background:#f8fafb; color:#9aa8b5; opacity:1; }
.integration-picker__item.is-disabled .integration-picker__item-main small,.integration-picker__item.is-disabled em { color:#9aa8b5; }
.integration-picker__item-main { display:grid; min-width:0; gap:2px; }
.integration-picker__item-main b,.integration-picker__item-main small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.integration-picker__item-main b { font-size:14px; line-height:1.2; }
.integration-picker__item-main small { color:#718094; font-size:11px; font-weight:400; line-height:1.25; }
.integration-picker__item em { flex:0 0 auto; color:#718094; font-size:11px; font-style:normal; white-space:nowrap; }
.integration-picker__empty { margin:0; padding:14px; color:#718094; font-size:12px; line-height:1.4; }
@media(max-width:640px){.integration-picker__header{align-items:flex-start;flex-direction:column}.integration-picker__header .app-button{align-self:stretch}.integration-picker__item{min-height:70px}}
@media(max-width:700px){.app-modal-backdrop{padding:0;overflow:hidden}.app-modal{width:100%;height:100vh;height:100dvh;max-height:none;border-radius:0}.app-modal--workspace.app-workspace-modal--compact{width:100%;height:100dvh;max-height:none}.app-modal__body{height:0;flex:1 1 0;padding-bottom:calc(22px + env(safe-area-inset-bottom,0px));overscroll-behavior-y:contain;touch-action:pan-y}}

/* One menu core for compact action lists in tables and future modules. */
.action-menu { position:relative; display:inline-flex; }
.action-menu > .action-menu__list { position:absolute; z-index:30; top:calc(100% + 6px); right:0; display:grid; grid-template-columns:minmax(0,1fr); grid-auto-flow:row; min-width:205px; padding:5px; border:1px solid #d5e1ea; border-radius:9px; background:#fff; box-shadow:0 12px 28px rgba(20,47,70,.18); }
.action-menu__list button { width:100%; padding:9px 10px; border:0; border-radius:6px; background:transparent; color:#29445c; font:inherit; font-size:12px; font-weight:650; text-align:left; cursor:pointer; }
.action-menu__list .app-button { justify-content:flex-start; }
.action-menu--context { position:fixed; z-index:10020; width:220px; max-width:calc(100vw - 16px); }
.action-menu--context .action-menu__list { position:static; width:100%; max-height:calc(100dvh - 16px); overflow:auto; }
.action-menu--anchored { position:fixed; z-index:10020; max-width:calc(100vw - 16px); }
.action-menu--anchored > .action-menu__list { position:static; min-width:0; max-width:100%; max-height:inherit; overflow:auto; }
.app-data-table__selection-column { width:44px; }
.app-data-table__selection-column .app-checkbox-field { justify-content:center; }
.action-menu__list button:hover:not(:disabled) { background:#eaf6fc; color:#116da9; }
.action-menu__list button.is-danger { color:#b33b33; }
.action-menu__list button.is-danger:hover:not(:disabled) { background:#fff1ef; }
.action-menu__list button:disabled { color:#9ba8b4; cursor:not-allowed; }
.action-menu--top-start .action-menu__list { top:auto; right:auto; bottom:calc(100% + 6px); left:0; }
.action-menu--compact .action-menu__list { width:max-content; min-width:190px; max-width:210px; gap:2px; padding:4px; border-radius:8px; box-shadow:0 10px 24px rgba(20,47,70,.16); }
.action-menu--compact .action-menu__list button { height:auto; padding:8px 10px; border-radius:5px; font-size:11px; line-height:1.25; white-space:normal; }

/* One core selector for all access-bearing catalogues. */
.permission-selector { display:grid; gap:8px; min-width:0; margin:0; padding:13px; border:1px solid #d4e4ef; border-radius:10px; background:#f8fbfd; }
.permission-selector.is-invalid { border-color:#d95d54; background:#fff7f6; }
.permission-selector legend { padding:0 5px; color:#415368; font-size:12px; font-weight:800; }
.permission-selector > p { margin:0; color:#718094; font-size:12px; line-height:1.4; }
.permission-selector__items { display:grid; gap:7px; }
.permission-selector__item { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; min-width:0; gap:12px; padding:10px 11px; border:1px solid #dce5eb; border-radius:8px; background:#fff; color:#33485e; cursor:pointer; }
.permission-selector__item:hover,.permission-selector__item.is-selected { border-color:#9ccde5; background:#eaf6fc; }
.permission-selector__item span { display:grid; min-width:0; gap:3px; }
.permission-selector__item b { overflow:hidden; color:#33485e; font-size:13px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.permission-selector__item small { overflow:hidden; color:#718094; font-size:11px; font-weight:400; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.permission-selector__item input { width:17px; height:17px; margin:0; accent-color:#167ec4; }
.permission-selector__error { margin:0; color:#b43b32; font-size:12px; font-weight:700; }
.sort-direction-button { white-space:nowrap; color:#2875a5; }
.sortable-table-header { margin:-8px -11px; color:#60778b; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.sortable-table-header.app-button { min-width:0; max-width:calc(100% + 22px); white-space:normal; overflow-wrap:anywhere; text-align:left; justify-content:flex-start; line-height:1.35; }
.sortable-table-header:not(.is-active) { color:#758397; }
.sortable-table-header:hover { color:#126b9f; }
.app-disclosure > summary {
  position: relative;
  cursor: pointer;
  list-style: none;
}
.app-disclosure-heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 8px; min-width:0; padding-right:30px; }
.app-disclosure-title { margin:0; color:#263b4d; font-size:13px; font-weight:750; line-height:inherit; }
.app-disclosure-description { color:#7a8998; font-size:11px; font-weight:500; }
.app-disclosure-content { padding-top:10px; }
/* Opt-in disclosure for metadata inside cells; section headings must not leak in. */
.app-disclosure--compact > summary { min-height:28px; padding:4px 0; }
.app-disclosure--compact > summary > .app-disclosure-heading { padding-right:20px; }
.app-disclosure--compact > summary > .app-disclosure-heading > .app-disclosure-title { font:650 12px/1.4 Manrope,Arial,sans-serif; overflow-wrap:anywhere; }
.app-disclosure--compact > summary::after { right:3px; width:5px; height:5px; }
.app-disclosure--compact > .app-disclosure-content { padding-top:6px; }

.app-disclosure > summary::marker {
  content: "";
}

.app-disclosure > summary::-webkit-details-marker {
  display: none;
}

.app-disclosure > summary::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 2px solid #2a7dac;
  border-bottom: 2px solid #2a7dac;
  transform: translateY(-65%) rotate(-45deg);
  transition: transform 0.16s ease;
}

.app-disclosure[open] > summary::after {
  transform: translateY(-65%) rotate(45deg);
}

.app-disclosure--chevron-right > summary::after {
  right: 16px;
}

.app-disclosure--chevron-left > summary::after {
  left: 13px;
}

.app-disclosure-actions {
  position: relative;
  z-index: 1;
}

/* Busy execution state for the shared button core. */
.app-button__spinner {
  width: 12px;
  height: 12px;
  flex: none;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: app-button-spin 0.7s linear infinite;
}
@keyframes app-button-spin {
  to { transform: rotate(360deg); }
}
.app-button.is-busy { cursor: progress; }

.app-pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px 16px;
  border-top: 1px solid #e8edf1;
  color: #5f7185;
  font-size: 12px;
}
.app-pagination label { display: flex; align-items: center; gap: 7px; }
.app-pagination .app-select { width: auto; min-width: 70px; padding: 7px 30px 7px 9px; }
@media(max-width:800px){
  .app-data-panel__toolbar{padding:10px}
  .app-pagination{justify-content:center;gap:7px;padding:10px;font-size:11px}
  .app-pagination .app-button{min-height:36px;padding:7px 10px}
  .app-report-shell{gap:10px;padding:10px}
  .app-report-shell__header h1{font-size:24px;line-height:1.15}
  .app-report-shell__header p{font-size:11px}
}

/* One non-blocking toast core for conflict, refresh and confirmation feedback. */
.app-toast-stack {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 1300;
  display: grid;
  gap: 10px;
  width: min(390px, calc(100vw - 36px));
  align-content: start;
  grid-auto-rows: max-content;
  pointer-events: none;
}
.app-toast-stack .app-toast .app-button { pointer-events:auto; }
.app-toast {
  display: flex;
  align-self: start;
  height: auto;
  min-height: 0;
  align-items: flex-start;
  gap: 12px;
  padding: 16px;
  border: 1px solid #b9dced;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 16px 38px #10263a36;
  animation: app-toast-in 0.22s ease-out;
}
.app-toast__icon {
  display: grid;
  place-items: center;
  flex: none;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #e7f5fc;
  color: #167db7;
  font-size: 18px;
  font-weight: 800;
}
.app-toast__content {
  min-width: 0;
  flex: 1;
}
.app-toast__title {
  display: block;
  color: #153149;
  font-size: 14px;
}
.app-toast__message {
  margin: 4px 0 0;
  color: #596f84;
  font-size: 12px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.app-toast--success { border-color: #b7e3d1; }
.app-toast--success .app-toast__icon { background: #e6f7f0; color: #187755; }
.app-toast--error { border-color: #e6b3ab; }
.app-toast--error .app-toast__icon { background: #fff0ed; color: #a33f35; }
.app-toast--warning { border-color: #f0d9a8; }
.app-toast--warning .app-toast__icon { background: #fff3dc; color: #8b5c08; }
@keyframes app-toast-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
.plain-text-content{white-space:pre-wrap;overflow-wrap:anywhere}.plain-text-content a{color:var(--primary);font-weight:650;text-decoration:underline;text-underline-offset:2px}.plain-text-content a:hover{filter:brightness(.82)}

/* One compact activity marker shared by lists in every module. */
.resource-activity-indicator{display:inline-flex;align-items:center;justify-content:center;gap:2px;min-width:18px;height:18px;padding:0 4px;border:1px solid #78a9c8;border-radius:10px;background:#e9f4fb;color:#17688f;font-family:inherit;font-size:11px;font-weight:900;line-height:1;vertical-align:middle}
button.resource-activity-indicator{cursor:pointer}
button.resource-activity-indicator:hover{filter:brightness(.96);box-shadow:0 0 0 2px #d9edf8}
button.resource-activity-indicator:focus-visible{outline:2px solid #1688c8;outline-offset:2px}
.resource-activity-indicator small{font-family:inherit;font-size:9px;font-weight:800;line-height:1;color:inherit}
.resource-activity-indicator--success{border-color:#78b9a0;background:#e8f7f1;color:#17714f}
.resource-activity-indicator--task{border-color:#a999d2;background:#f1edfb;color:#60449a}

/* Shared, auditable history for resource state transitions. */
.resource-history { margin-top: 20px; padding-top: 14px; border-top: 1px solid #dbe5ef; }
.resource-history.app-disclosure--detail-section { margin-top:0; padding-top:0; }
.resource-history__list { margin: 0; padding: 0; list-style: none; }
.resource-history__list li { display: grid; grid-template-columns: 145px 180px minmax(0, 1fr); gap: 12px; padding: 9px 0; border-bottom: 1px solid #e7edf3; color: #52657a; font-size: 11px; }
.resource-history__list time { color: #718195; }
.resource-history__list b,.resource-history__list strong { color: #263b4d; }
.resource-history__list > li > span { display: grid; gap: 3px; min-width: 0; }
.resource-history--readable .resource-history__list li { font-size:12px; line-height:1.45; }
.resource-history__list small { overflow-wrap: anywhere; color: #718195; }
@media(max-width:720px){.resource-history__list li{grid-template-columns:1fr;gap:3px}}
/* Core compact collection: text and action occupy separate tracks, including nested pickers. */
.app-collection-toolbar--compact { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; }
.app-collection-toolbar--compact .app-collection-toolbar__summary { min-width:0; width:auto; display:block; font-size:12px; line-height:1.4; }
.app-collection-toolbar--compact .app-collection-toolbar__actions { width:auto; max-width:190px; margin-left:0; justify-content:flex-end; }
.app-collection-toolbar--compact .app-collection-toolbar__actions .app-button { white-space:normal; text-align:center; }
.app-collection-stack--compact > .app-panel--compact { padding:7px 10px; }
@media(max-width:480px) {
  .app-collection-toolbar--compact { grid-template-columns:minmax(0,1fr) minmax(76px,110px); gap:8px; }
}
