/* Shared internal workspace presentation. Public pages and printed reports retain their own design. */
:is(#portal,.pc-dialog,body.bm-workbench){--ui-border:#d5e3eb;--ui-muted:#587183;--ui-control:44px}
:is(#portal,.pc-dialog,body.bm-workbench) :is(.p-content,main,#main){font-size:14px;line-height:1.5}
:is(#portal,.pc-dialog,body.bm-workbench) :is(.p-content,main,#main)>h1{font-size:clamp(24px,2.3vw,30px);line-height:1.25;letter-spacing:-.5px;margin-bottom:8px}
:is(#portal,.pc-dialog,body.bm-workbench) :is(.p-card,.card,.panel){border-radius:12px;box-shadow:0 2px 10px #163e5505}
:is(#portal,.pc-dialog,body.bm-workbench) :is(.p-card,.card,.panel)>:is(h2,h3){line-height:1.35;margin-bottom:14px}
:is(#portal,.pc-dialog,body.bm-workbench) :is(.p-btn,.btn,.pc-dialog button,.bm-search-favorites>summary,.bm-table-columns>summary){font-size:13px;line-height:1.4;border-radius:8px;min-height:var(--ui-control);padding:10px 14px;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important}
:is(#portal,.pc-dialog,body.bm-workbench) :is(.p-approval,.pc-actions,.actions,.bm-row-actions){align-items:center;gap:8px}
:is(#portal,.pc-dialog,body.bm-workbench) :is(.p-approval,.pc-actions,.actions,.bm-row-actions)>:is(button,.p-btn,.btn){flex:0 1 auto!important;max-width:100%;margin:0!important;font-size:13px!important;min-height:44px!important;padding:8px 12px!important;white-space:normal!important;overflow-wrap:anywhere!important}
/* Intrinsic column widths belong inside a scroll region, not inside shrunken cells. */
:is(#portal,.pc-dialog,body.bm-workbench) :is(.p-table-wrap,.tablewrap,.table-wrap,.pc-table,.table-responsive){overflow-x:auto!important;max-width:100%;min-width:0;border:1px solid var(--ui-border);border-radius:9px;scrollbar-width:thin;scrollbar-color:#9ab4c4 #f0f5f8;overscroll-behavior-x:contain}
:is(#portal,.pc-dialog,body.bm-workbench) table.bm-readable-table{table-layout:auto!important;width:100%;min-width:100%;border-collapse:separate;border-spacing:0;font-size:13px;line-height:1.5}
:is(#portal,.pc-dialog,body.bm-workbench) table.bm-readable-table :is(th,td){box-sizing:border-box;vertical-align:middle;word-break:normal!important;overflow-wrap:break-word!important;padding:12px 14px;min-width:125px;max-width:340px;text-align:left}
:is(#portal,.pc-dialog,body.bm-workbench) table.bm-readable-table th{white-space:nowrap!important;font-size:11px;letter-spacing:.035em;font-weight:700;line-height:1.45;background:#f1f7fa;color:#526f82;border-bottom:1px solid var(--ui-border);padding-block:13px}
:is(#portal,.pc-dialog,body.bm-workbench) table.bm-readable-table tbody>tr:not([class*=detail]):not([class*=edit]):hover>td{background-color:#f8fbfd}
:is(#portal,.pc-dialog,body.bm-workbench) table.bm-readable-table .bm-col-source{min-width:98px;white-space:nowrap!important}
:is(#portal,.pc-dialog,body.bm-workbench) table.bm-readable-table .bm-col-status{min-width:130px;white-space:nowrap!important}
:is(#portal,.pc-dialog,body.bm-workbench) table.bm-readable-table .bm-col-date{min-width:165px;white-space:nowrap!important}
:is(#portal,.pc-dialog,body.bm-workbench) table.bm-readable-table .bm-col-name{min-width:190px;max-width:300px}
:is(#portal,.pc-dialog,body.bm-workbench) table.bm-readable-table .bm-col-description{min-width:240px;max-width:360px}
:is(#portal,.pc-dialog,body.bm-workbench) table.bm-readable-table .bm-col-number{min-width:145px;text-align:right!important;white-space:nowrap!important;font-variant-numeric:tabular-nums}
:is(#portal,.pc-dialog,body.bm-workbench) table.bm-readable-table .bm-col-month{min-width:160px;text-align:center!important;white-space:nowrap!important;font-variant-numeric:tabular-nums}
:is(#portal,.pc-dialog,body.bm-workbench) table.bm-readable-table .bm-col-month :is(input,select){text-align:center!important}
:is(#portal,.pc-dialog,body.bm-workbench) table.bm-readable-table .bm-col-actions{min-width:235px;max-width:370px;white-space:normal}
:is(#portal,.pc-dialog,body.bm-workbench) table.bm-readable-table :is(.p-pill,.tag,.badge){display:inline-flex;align-items:center;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.4;padding:4px 9px;font-size:11px}
:is(#portal,.pc-dialog,body.bm-workbench) table.bm-readable-table td[colspan]:not([colspan="1"]){white-space:normal;max-width:none;min-width:0;text-align:left!important}
:is(#portal,.pc-dialog,body.bm-workbench) table.bm-readable-table td:has(>button+button)>button{margin:3px!important}
/***** Consistent filter field rhythm, including native CRM and enhanced multiple selections. *****/
#portal :is(.ext-filters,.crm-linked-filters,.pc-toolbar,[data-favorite-filters],.bm-filter-toolbar,.visit-filters),body.bm-workbench :is(.filt,.bm-workflow-filters,.borrow-toolbar,.si-filters){display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))!important;gap:16px!important;align-items:end!important;width:100%;box-sizing:border-box;min-width:0}
#portal :is(.ext-filters,.crm-linked-filters,.pc-toolbar,[data-favorite-filters],.bm-filter-toolbar,.visit-filters)>*,body.bm-workbench :is(.filt,.bm-workflow-filters,.borrow-toolbar,.si-filters)>*{min-width:0!important;max-width:100%!important;flex:none!important}
#portal :is(.ext-filters,.crm-linked-filters,.pc-toolbar,[data-favorite-filters],.bm-filter-toolbar,.visit-filters)>label,body.bm-workbench :is(.filt,.bm-workflow-filters,.borrow-toolbar,.si-filters)>label{display:flex!important;flex-direction:column;align-items:stretch;gap:6px;font-size:12px!important;font-weight:650!important;line-height:1.5!important;color:var(--ui-muted)}
#portal :is(.ext-filters,.crm-linked-filters,.pc-toolbar,[data-favorite-filters],.bm-filter-toolbar,.visit-filters)>:is(.p-approval,.bm-filter-actions,.bm-date-actions){grid-column:1/-1!important;display:flex!important;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-start;width:100%;margin-top:2px;padding-top:12px;border-top:1px solid #e7eef2}
:is(#portal,.pc-dialog,body.bm-workbench) :is(.p-form,.pc-form,.form,.formgrid,.controls,.filt,.ext-filters,.crm-linked-filters,.pc-toolbar,.visit-filters,.bm-workflow-filters) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select:not([multiple]),textarea){font-size:14px!important;line-height:1.4!important;min-height:var(--ui-control)!important;padding:10px 12px!important;border-radius:8px;box-sizing:border-box;width:100%;max-width:100%;margin-top:0}
:is(#portal,.pc-dialog,body.bm-workbench) textarea{resize:vertical}
:is(#portal,.pc-dialog,body.bm-workbench) input[type=file]{padding:7px!important;min-height:42px;font-size:12px!important}
:is(#portal,.pc-dialog,body.bm-workbench) input::file-selector-button{font:inherit;border:1px solid #bed1de;border-radius:5px;padding:5px 8px;margin-right:8px;background:#eef5f8;color:#214e68}
:is(#portal,.pc-dialog,body.bm-workbench) :is(input,select,textarea,summary,button):focus-visible{outline:2px solid #138daa;outline-offset:2px}
:is(#portal,.pc-dialog,body.bm-workbench) .bm-table-columns{margin:8px 0 12px;font-size:12px}
:is(#portal,.pc-dialog,body.bm-workbench) .bm-table-columns>summary{min-height:34px;padding:6px 11px;font-size:12px}
#portal .visit-form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));align-items:start}
#portal .visit-entry fieldset{padding:18px;margin:0;border-radius:9px;background:#fbfdfe}
#portal .visit-entry legend{font-size:13px;color:#28576c}
#portal :is(.ext-detail-row,.portal-detail-row)>td{background:#f4f8fa!important;padding:18px!important;vertical-align:top}
#portal :is(.ext-detail-grid,.portal-detail-grid){gap:10px!important;padding:0!important}
#portal :is(.ext-detail-grid,.portal-detail-grid)>div{border-radius:7px!important;padding:12px 14px!important}
#portal :is(.ext-detail-grid,.portal-detail-grid) :is(b,dt){font-size:11px;font-weight:650;color:#557082;line-height:1.4}
#portal :is(.ext-detail-grid,.portal-detail-grid) :is(p,dd){font-size:13px;line-height:1.55;margin-top:6px}
@media(max-width:600px){:is(#portal,.pc-dialog,body.bm-workbench) :is(.p-content,main,#main){padding:16px!important}:is(#portal,.pc-dialog,body.bm-workbench) :is(.p-card,.card,.panel){padding:16px;margin-block:12px}#portal :is(.ext-filters,.crm-linked-filters,.pc-toolbar,[data-favorite-filters],.bm-filter-toolbar,.visit-filters),body.bm-workbench :is(.filt,.bm-workflow-filters,.borrow-toolbar,.si-filters){grid-template-columns:minmax(0,1fr)!important;gap:12px!important}#portal .visit-form-grid{grid-template-columns:minmax(0,1fr)}:is(#portal,.pc-dialog,body.bm-workbench) :is(.p-approval,.actions,.pc-actions){flex-wrap:wrap}}
@media print{.bm-readable-table{min-width:100%!important;font-size:10px!important}.bm-readable-table :is(th,td){min-width:0!important;white-space:normal!important;padding:5px!important}}
/* Widths are account-specific and independent from row data. */
.bm-resizable-table th{position:relative;padding-right:24px!important;white-space:normal!important;overflow-wrap:normal!important}
.bm-resizable-table .bm-resize-grip{position:absolute!important;inset:0 -1px 0 auto!important;width:12px!important;min-width:12px!important;max-width:12px!important;height:100%!important;min-height:24px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;cursor:col-resize!important;touch-action:none;z-index:3}
.bm-resize-grip:after{content:'';position:absolute;top:25%;bottom:25%;left:5px;border-right:2px solid #c0d3df}.bm-resize-grip:hover:after,.bm-resize-grip:focus-visible:after{border-color:#0787a7}.bm-column-resizing,.bm-column-resizing *{cursor:col-resize!important;user-select:none!important}
.bm-column-row{grid-template-columns:minmax(150px,1fr) minmax(160px,1fr) 105px auto!important}.bm-column-row .bm-width-field{display:grid!important;gap:3px;font-size:11px!important}.bm-column-row .bm-width-field input{min-height:36px!important;font-size:13px!important}
.bm-resizable-table td:not([colspan]){overflow:hidden;text-overflow:ellipsis}.bm-resizable-table td:has(details[open]),.bm-resizable-table td:has(.p-approval){overflow:visible}
@media(max-width:700px){.bm-column-row{grid-template-columns:minmax(0,1fr) 100px!important}.bm-column-row>label:first-child{grid-column:1/-1}.bm-column-row>div{justify-content:flex-end}}

:is(#portal,body.bm-workbench) :is(.p-table-wrap,.tablewrap,.table-wrap,.pc-table){container-type:inline-size}
:is(#portal,body.bm-workbench) :is(.ext-detail-row,.portal-detail-row,.ext-edit-row,.si-detail-row)>td>*{max-width:calc(100cqw - 36px);box-sizing:border-box}
:is(#portal,.pc-dialog,body.bm-workbench) table.bm-readable-table.bm-resizable-table th{white-space:normal!important;overflow-wrap:normal!important;padding-right:32px!important}
.bm-resizable-table th.bm-sortable:after{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:10px;line-height:1;white-space:nowrap}
.bm-filter-actions{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px;grid-column:1/-1!important;flex-basis:100%;min-width:0}
.bm-filter-actions>.bm-favorites{flex:0 0 128px!important;width:128px!important}

/* Filter cards own their padding; inner grids must not erase it. */
#portal :is(.p-card,.card,.panel):is(.ext-filters,.crm-linked-filters,.pc-toolbar,[data-favorite-filters],.bm-filter-toolbar,.visit-filters),body.bm-workbench :is(.card,.panel):is(.filt,.bm-workflow-filters,.borrow-toolbar,.si-filters){padding:20px!important;height:auto!important;min-height:0;overflow:visible}
:is(#portal,.pc-dialog,body.bm-workbench) :is(.p-card,.card,.panel,.pc-native,.pc-form,.pc-fields,.p-form,.formgrid,.controls,.pc-toolbar,.bm-filter-actions,.bm-columns-panel,.bm-column-row,.pc-dialog-head,.pc-dialog-body){box-sizing:border-box;min-width:0;max-width:100%}
:is(#portal,.pc-dialog,body.bm-workbench) :is(.p-form,.pc-fields,.formgrid,.controls)>:is(label,fieldset,div){min-width:0;max-width:100%;box-sizing:border-box}
:is(#portal,.pc-dialog,body.bm-workbench) :is(.p-form,.pc-form,.formgrid,.controls,.pc-toolbar) :is(input,select,textarea){min-width:0;box-sizing:border-box}
#portal :is(.ext-filters,.crm-linked-filters,.pc-toolbar,[data-favorite-filters],.bm-filter-toolbar,.visit-filters)>.bm-filter-actions,body.bm-workbench :is(.filt,.bm-workflow-filters,.borrow-toolbar,.si-filters)>.bm-filter-actions{box-sizing:border-box;min-width:0;max-width:100%;height:auto;margin-bottom:0;padding-bottom:0;align-self:stretch}
:is(#portal,.pc-dialog,body.bm-workbench) :is(.bm-filter-actions,.p-approval,.pc-actions,.actions,.pc-commandbar,.pc-views,.pc-calendar-nav,.pc-pagination,.service-register-actions){flex-wrap:wrap;min-width:0;max-width:100%;box-sizing:border-box}
:is(#portal,.pc-dialog,body.bm-workbench) .bm-filter-actions>:is(button,.p-btn,.btn,details){box-sizing:border-box;max-width:100%!important;margin:0!important;flex-shrink:1!important}
:is(#portal,.pc-dialog,body.bm-workbench) .bm-filter-actions :is(button,summary){white-space:normal!important;overflow-wrap:break-word!important}
:is(#portal,.pc-dialog,body.bm-workbench) :is(.pc-event,.pc-day,.pc-kanban){box-sizing:border-box;min-width:0}
@media(max-width:600px){#portal :is(.p-card,.card,.panel):is(.ext-filters,.crm-linked-filters,.pc-toolbar,[data-favorite-filters],.bm-filter-toolbar,.visit-filters),body.bm-workbench :is(.card,.panel):is(.filt,.bm-workflow-filters,.borrow-toolbar,.si-filters){padding:16px!important}}

/* Section headings need space before the next controls, including nested row headings. */
#portal .p-card>.p-row:has(>h3){margin-block:0 14px;gap:10px;flex-wrap:wrap}
#portal .p-card>.p-row>h3{line-height:1.35;margin:0;min-width:0;overflow-wrap:break-word}
#portal .p-card>.p-approval+.p-muted{margin-block:14px 0}
#portal .p-card>.p-approval>.p-btn{max-width:100%;white-space:normal!important;overflow-wrap:break-word!important}

/* Tabs are independent controls, with space before their content panel. */
#portal .p-tabs{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px!important;margin:0 0 16px!important;padding:2px 0!important;min-height:0;box-sizing:border-box;max-width:100%}
#portal .p-tabs>button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;position:static;margin:0!important;min-height:38px!important;height:auto!important;padding:8px 14px!important;font-size:13px!important;line-height:1.4!important;max-width:100%;white-space:normal;flex:0 1 auto;border-radius:8px}
#portal .p-card>.p-tabs{margin-bottom:0!important}
#portal .p-card.bm-compact-tabs{width:fit-content;max-width:100%;padding:10px 12px!important;margin-bottom:16px;min-height:0;height:auto}
#portal .bm-compact-tabs .p-tabs{padding:0!important}
#portal #bm-payment-filters>.bm-filter-actions{margin-top:16px;padding-top:12px;border-top:1px solid #e4edf2;gap:10px;min-height:44px}
#portal .bm-payment-filterclear .bm-favorites{margin:0!important;align-self:center}

#portal .visit-view-tabs{margin:4px 0 18px!important;padding:0!important}#portal .visit-view-tabs+.p-card{margin-top:0!important}
