/* Shared desktop workspace rhythm. All colors come from the tenant theme. */
.tm-page-title { margin: 0; }
.tm-workspace-ux :where(input, select, textarea, button, a, summary) { scroll-margin-block: 7.5rem 6rem; }
.tm-workspace-ux .tm-main-content { padding: .5rem 1.25rem 1rem !important; }
.tm-ux-heading-row { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .8rem; }
.tm-ux-heading-row .tm-page-title { min-width: 0; }
.tm-ux-filter-status { grid-column: 1 / -1; flex-basis: 100%; font-size: .78rem; color: var(--tm-muted); margin-top: .25rem; overflow-wrap: anywhere; }
.tm-ux-filter-status[hidden] { display: none !important; }
.tm-ux-filter-status.is-pending { color: var(--tm-warning-strong); }
.tm-workspace-ux .tm-main-content form[data-ux-filters] { --bs-gutter-y: .5rem; --bs-gutter-x: .65rem; }
.tm-workspace-ux .tm-main-content form[data-ux-filters] .form-label { font-size: .78rem; margin-bottom: .25rem; }
.tm-workspace-ux .tm-main-content form[data-ux-filters] :is(.form-control,.form-select,.tm-multi-filter-toggle) { min-height: 2.1rem; font-size: .82rem; }
.tm-workspace-ux .tm-main-content form[data-ux-filters] .btn { white-space: nowrap; }
.tm-ux-summary-row { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: .5rem !important; margin: 0 0 .35rem !important; }
.tm-ux-summary-row > [class*="col"] { width: auto !important; padding: 0 !important; margin: 0 !important; }
.tm-ux-summary-row .card { border: 0 !important; box-shadow: none !important; border-radius: var(--tm-radius-sm); }
.tm-ux-summary-row .card-body { padding: .5rem .7rem !important; }
.tm-ux-summary-row :is(.fs-4,.h4,.h5) { font-size: 1.12rem !important; line-height: 1.2; margin: 0; }
.tm-ux-summary-row .small { font-size: .73rem; line-height: 1.2; }
.tm-ux-savebar { position: sticky; bottom: 0; z-index: 8; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .6rem; padding: .65rem .8rem; margin-top: 1rem; background: var(--tm-surface); border-top: 1px solid var(--tm-border); box-shadow: 0 -3px 12px color-mix(in srgb, var(--tm-text) 6%, transparent); }
.tm-workspace-ux .tm-main-content form .tm-ux-savebar { flex-direction: row; align-items: center; }
.tm-workspace-ux .tm-main-content form .tm-ux-savebar > .btn { flex: 0 1 auto; width: auto; height: auto; min-height: 2.5rem; }
.tm-ux-save-status { font-size: .82rem; color: var(--tm-muted); }
form[data-ux-submitting="1"] button[type="submit"] { opacity: .65; cursor: progress; }
.tm-workspace-ux .tm-ux-table-scroll { position: relative; max-height: min(68vh, 46rem); overflow: auto; scrollbar-gutter: stable; overscroll-behavior-x: contain; }
.tm-ux-table-scroll:focus-visible { outline: 2px solid var(--tm-primary); outline-offset: 2px; }
.tm-ux-table-scroll thead th { position: sticky; top: 0; z-index: 3; background: var(--tm-surface-muted) !important; }
.tm-ux-record-table tbody td:first-child { position: sticky; left: 0; z-index: 1; background: var(--tm-surface); }
.tm-ux-record-table thead tr:first-child th:first-child { left: 0; z-index: 4; }
.tm-ux-record-table tbody tr:hover td:first-child { background: var(--tm-surface-muted); }
.tm-ux-record-table tbody td[colspan] { position: static; }
.tm-workspace-ux .table td.text-end { font-variant-numeric: tabular-nums; }
.tm-ux-picker { position: relative; min-width: 0; }
.tm-ux-picker-search { margin-bottom: .25rem; font-size: .82rem; }
.tm-ux-picker-options { position: absolute; top: 100%; left: 0; right: 0; z-index: 20; max-height: 15rem; overflow: auto; padding: .25rem; border: 1px solid var(--tm-border-strong); border-radius: var(--tm-radius-sm); background: var(--tm-surface); box-shadow: var(--tm-shadow-md); font-size: .85rem; }
.tm-ux-picker-options [role="option"] { padding: .4rem .5rem; cursor: pointer; border-radius: var(--tm-radius-xs); }
.tm-ux-picker-options [role="option"]:is(:hover,.is-active) { background: var(--tm-primary-soft); color: var(--tm-primary); }
.tm-ux-picker-options [aria-selected="true"] { font-weight: 600; }
.tm-ux-password-toggle { margin-top: .35rem; min-width: 3rem; }
.tm-ux-disclosure { border-top: 1px solid var(--tm-border); padding-block: .75rem; }
.tm-ux-disclosure > summary { font-weight: 600; cursor: pointer; padding: .25rem; }
.tm-ux-disclosure[open] > summary { margin-bottom: .75rem; }
.tm-ux-section-links { display: flex; flex-wrap: wrap; gap: .5rem; padding: .5rem 0; margin-bottom: .65rem; }
.tm-ux-section-links a { font-size: .82rem; }
.tm-workspace-ux .tm-main-content .tm-schedule-switch { padding: .5rem .7rem; gap: .6rem; }
.tm-workspace-ux .tm-schedule-switch-label small, .tm-workspace-ux .tm-schedule-tab-copy small, .tm-workspace-ux .tm-schedule-timeline-toggle-copy small { display: none; }
.tm-workspace-ux .tm-schedule-tab { min-height: 2.4rem; padding: .4rem .65rem; }
.tm-workspace-ux .tm-schedule-tab-icon, .tm-workspace-ux .tm-schedule-timeline-toggle-icon { width: 1.7rem; height: 1.7rem; font-size: .9rem; }
.tm-workspace-ux .tm-schedule-timeline-toggle { padding: .4rem .6rem; }
.tm-workspace-ux .tm-report-filter-card .card-body { padding: .75rem; }
.tm-report-format-control { display: flex; align-items: end; flex-wrap: wrap; gap: .6rem; grid-column: 1 / -1; }
.tm-report-format-control > div:first-child { flex: 1 1 17rem; }
.tm-report-format-control .form-check { margin-bottom: .5rem; }
.tm-workspace-ux :is(.tm-activity-output-actions,.tm-spare-output-actions) { padding-top: .5rem; margin-top: 0; border-top: 1px solid var(--tm-border-soft); }
.tm-dashboard-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem; margin-bottom: .75rem; }
.tm-workspace-ux .tm-dashboard-kpi-grid { gap: 0; border: 1px solid var(--tm-border-soft); border-radius: var(--tm-radius); overflow: hidden; background: var(--tm-surface); }
.tm-workspace-ux .tm-dashboard-kpi-card { border-radius: 0; box-shadow: none; border: 0; border-left: 1px solid var(--tm-border-soft); }
.tm-workspace-ux .tm-dashboard-kpi-card .card-body { padding: .7rem .8rem; }
.tm-workspace-ux .tm-dashboard-kpi-icon { display: none; }
.tm-workspace-ux .tm-dashboard-kpi-value { font-size: 1.35rem; }
.tm-workspace-ux .gw-entry-form .gw-memo-header { padding-bottom: .5rem; margin-bottom: .5rem; }
.tm-workspace-ux .gw-entry-form :is(.gw-context-grid,.gw-context-item) { padding-block: .35rem; margin-bottom: .5rem; }
.tm-workspace-ux .gw-entry-form .tm-form-section { padding: .8rem; margin-bottom: .65rem; }
.tm-workspace-ux .gw-entry-form .gw-entry-icon { width: 2rem; height: 2rem; font-size: 1.1rem; }
.tm-workspace-ux .gw-entry-form .gw-entry-eyebrow { display: none; }
.tm-workspace-ux .stock-filter-actions { display: flex; flex-wrap: wrap; gap: .4rem; align-items: end; grid-column: 1 / -1; }
.tm-workspace-ux .stock-filter-actions .btn { width: auto; min-width: 2.2rem; }
.tm-workspace-ux .stock-panel { margin-bottom: .75rem; }
.tm-workspace-ux .stock-panel-header { padding-block: .65rem; }
.tm-workspace-ux .tm-doc-inspector[aria-hidden="true"] { display: none; }
.tm-workspace-ux .tm-doc-filter-grid > * { min-width: 0; }
.tm-workspace-ux .stock-summary-grid { gap: .5rem; margin-bottom: .25rem; }
.tm-workspace-ux .stock-summary-item { padding: .4rem .65rem; }
.tm-workspace-ux .stock-summary-icon { display: none; }
.tm-workspace-ux .stock-workspace { gap: .65rem; }
.tm-workspace-ux .stock-workspace-bar { margin-bottom: 0; padding-bottom: .5rem; }
.tm-workspace-ux .stock-panel { padding: .75rem; }
.tm-workspace-ux .stock-panel-heading { padding-bottom: .5rem; margin-bottom: .5rem; }
@media (min-width: 992px) {
    .tm-workspace-ux .tm-topbar > .container-fluid > .flex-grow-1 { flex-basis: 0; }
    .tm-workspace-ux .tm-report-filter-grid .tm-report-filter-actions-compact { grid-column: span 3; }
    .tm-workspace-ux[data-workspace-module="visitor-entries"] .tm-main-content .tm-ux-filter-grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
    .tm-workspace-ux[data-workspace-module="visitor-entries"] .tm-ux-filter-grid > .d-flex { grid-column: 1 / -1; justify-content: flex-end; }
    .tm-workspace-ux[data-workspace-module="visitor-entries"] .tm-ux-filter-grid > .d-flex > .btn { flex: 0 0 auto !important; }
    .tm-workspace-ux .tm-doc-filter-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .tm-workspace-ux .tm-next-due-filter-primary { grid-template-columns: minmax(0,1fr) auto; }
    .tm-workspace-ux .tm-next-due-filter-card { margin-bottom: .5rem !important; }
    .tm-workspace-ux .tm-next-due-filter-card .card-body { padding-block: .55rem; }
    .tm-workspace-ux .tm-schedule-timeline-toggle { min-height: 2.4rem; }
    .tm-workspace-ux .tm-schedule-switch-options { padding: .15rem; }
    .tm-workspace-ux .stock-workspace-bar { padding-bottom: 0; }
    .tm-workspace-ux .stock-summary-item { padding-block: .3rem; }
    .tm-workspace-ux .stock-summary-item strong { font-size: 1rem; }
    .tm-workspace-ux .stock-summary-item small { line-height: 1.2; }
    .tm-workspace-ux .stock-panel { padding: .5rem .75rem; }
    .tm-workspace-ux .stock-panel-heading { padding-bottom: .3rem; margin-bottom: .3rem; }
    .tm-workspace-ux form.tm-next-due-filter .tm-next-due-filter-actions .btn { flex: 0 0 auto !important; }
    .tm-workspace-ux .stock-filter-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: .5rem; padding-bottom: .5rem; }
    .tm-workspace-ux .stock-entry-filter-grid { grid-template-columns: repeat(2,minmax(0,1fr)) auto; }
    .tm-workspace-ux .stock-entry-filter-grid .stock-filter-actions { grid-column: auto; }
    .tm-workspace-ux .stock-ledger-filters { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .tm-workspace-ux form.tm-next-due-filter .tm-next-due-filter-actions { flex-wrap: nowrap !important; }
    .tm-workspace-ux .tm-next-due-filter-actions .btn { width: auto; min-width: 0; }
    .tm-workspace-ux .tm-next-due-filter-due { margin-top: .25rem; padding-top: 0; }
    .tm-workspace-ux .tm-next-due-filter-due legend { float: left; width: auto; margin: .4rem .6rem 0 0; font-size: .78rem; }
    .tm-workspace-ux .tm-due-chip { padding: .3rem .5rem; font-size: .78rem; }
    .tm-workspace-ux .tm-schedule-switch-label .small { display: none; }
    .tm-workspace-ux .tm-schedule-switch { margin-bottom: .65rem !important; }
    .tm-workspace-ux .tm-report-filter-card { margin-bottom: .5rem !important; }
    .tm-workspace-ux .tm-report-result-toolbar { margin-bottom: .5rem !important; }
    .tm-workspace-ux .gw-entry-form .gw-context-grid { display: flex; gap: 1.5rem; padding: 0; }
    .tm-workspace-ux .gw-entry-form .gw-context-item { display: flex; align-items: center; gap: .5rem; background: transparent; border: 0; padding: 0; }
    .tm-workspace-ux .gw-entry-form .gw-lines-header { padding-bottom: .5rem; margin-bottom: .5rem; }
    .tm-workspace-ux .tm-main-content .tm-ux-filter-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .5rem .65rem; margin: 0; }
    .tm-workspace-ux .tm-ux-filter-grid > [class*="col"] { width: auto; padding: 0; margin: 0; }
    .tm-ux-filter-grid > .col-12 { grid-column: 1 / -1; }
    .tm-ux-filter-grid > .d-flex { align-self: end; }
    .tm-workspace-ux .tm-form-section { margin-bottom: .85rem; }
    .tm-workspace-ux .tm-main-content > .card > .card-body { padding: .85rem; }
}
@media (max-width: 991.98px) {
    .tm-workspace-ux .tm-main-content { padding: .8rem !important; }
    .tm-ux-summary-row { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .tm-ux-savebar { bottom: env(safe-area-inset-bottom, 0px); }
    .tm-workspace-ux .tm-main-content form .tm-ux-savebar { padding: .5rem; gap: .5rem; }
    .tm-ux-table-scroll { max-height: 65vh; }
    .tm-report-format-control { align-items: stretch; }
    .tm-report-format-control > div:first-child { flex-basis: 100%; }
}
@media print {
    .tm-ux-savebar,.tm-ux-section-links,.tm-ux-filter-status,.tm-ux-picker-search,.tm-ux-password-toggle { display: none !important; }
    .tm-ux-table-scroll { max-height: none !important; overflow: visible !important; }
    .tm-ux-table-scroll :is(th,td) { position: static !important; }
}
