.dme-personal-layout { display:flex; flex-direction:column; flex:1 1 0; min-height:0; min-width:0; overflow:hidden; }
.dme-layout-tools { display:flex; align-items:center; flex-wrap:wrap; gap:5px; padding:2px 0 5px; flex:none; }
.dme-layout-tools:empty, .dme-layout-status:empty { display:none; }
.dme-layout-header-tools { padding:0; flex:0 1 auto; min-width:0; justify-content:flex-end; }
.dme-layout-header-tools > button { white-space:nowrap; }
.dme-layout-tools > [hidden] { display:none !important; }
:is(.dme-layout-tools, .dme-layout-card-header, .dme-layout-load-error) > button { color:var(--rz-text-color); background:var(--rz-base-background-color); border:1px solid var(--rz-base-400); border-radius:4px; min-height:28px; padding:3px 8px; font:inherit; font-size:.72rem; cursor:pointer; }
:is(.dme-layout-tools, .dme-layout-card-header, .dme-layout-load-error) > button:hover { background:color-mix(in srgb,var(--rz-primary) 10%,var(--rz-base-background-color)); }
:is(.dme-layout-tools, .dme-layout-card-header, .dme-layout-load-error) > button:focus-visible, .dme-layout-handle:focus-visible { outline:2px solid var(--rz-primary); outline-offset:-2px; }
:is(.dme-layout-tools, .dme-layout-card-header, .dme-layout-load-error) > button:disabled { cursor:default; opacity:.6; }
.dme-layout-status { font-size:.72rem; color:var(--rz-text-secondary-color); }
.dme-layout-status[data-error="true"] { color:var(--rz-danger); }
.dme-layout-workspace { display:grid; grid-template-columns:var(--dme-pinned-width,23rem) 9px minmax(0,1fr); gap:0; flex:1 1 0; min-height:0; overflow:hidden; }
.dme-layout-zone { min-width:0; min-height:0; overflow:auto; scrollbar-gutter:stable; overscroll-behavior:contain; }
.dme-layout-zone > .grid-stack { min-height:100px; }
.dme-layout-zone-label { display:none; padding:3px 5px; font-size:.65rem; font-weight:700; color:var(--rz-text-secondary-color); }
.dme-layout-editing .dme-layout-zone-label { display:block; }
.dme-layout-editing .dme-layout-zone { border:1px dashed var(--rz-base-400); }
.dme-layout-source { overflow:auto; }
.dme-layout-ready > .dme-layout-source { display:none; }
.dme-layout-card { display:flex; flex-direction:column; border:1px solid var(--rz-base-400); border-radius:7px; background:var(--rz-base-background-color); color:var(--rz-text-color); }
.dme-layout-card-header { display:flex; align-items:center; gap:3px; flex:none; height:27px; padding:0 4px; background:color-mix(in srgb,var(--rz-primary) 5%,var(--rz-base-background-color)); border-bottom:1px solid var(--rz-base-300); }
.dme-layout-handle { flex:1; min-width:0; font-size:.65rem; font-weight:800; letter-spacing:.04em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dme-layout-editing .dme-layout-handle { cursor:grab; touch-action:none; }
.dme-layout-editing .dme-layout-handle:before { content:'⠿ '; }
.dme-layout-card-header button { background:transparent; border-color:transparent; padding:0 4px; min-width:25px; min-height:25px; }
.dme-layout-card-header button:hover { background:color-mix(in srgb,var(--rz-primary) 12%,transparent); }
.dme-layout-edit-only { display:none; }
.dme-layout-editing .dme-layout-edit-only { display:inline-flex; }
.dme-layout-body { min-height:0; min-width:0; flex:1; overflow:auto; padding:5px; container-type:inline-size; }
.dme-layout-body > [data-layout-block] { min-width:0; }
.dme-personal-layout .dme-layout-body .form-card { border:0 !important; box-shadow:none !important; padding:0 !important; background:transparent !important; }
.dme-layout-collapsed .dme-layout-body { display:none; }
.dme-layout-collapsed .dme-layout-card-header { border-bottom:0; }
.dme-layout-body .section-header:not(:has(.section-header-actions)) { display:none; }
.dme-layout-body .section-header:has(.section-header-actions) > span,
.dme-layout-body .section-header:has(.section-header-actions) > div:not(.section-header-actions) { display:none; }
.dme-layout-body .job-client-heading { justify-content:flex-end; }
.dme-layout-body .insurance-list { display:grid; gap:5px; }
.dme-layout-body .insurance-summary { border:1px solid var(--rz-base-300); border-radius:4px; padding:5px; min-width:0; }
.dme-layout-body .insurance-summary legend { font-size:.65rem; }
.dme-layout-body .insurance-summary dl { display:grid; grid-template-columns:1fr 1fr; gap:5px; margin:0; }
.dme-layout-body .insurance-summary dt { font-size:.6rem; color:var(--rz-text-secondary-color); }
.dme-layout-body .insurance-summary dd { margin:0; font-size:.72rem; overflow-wrap:anywhere; }
.dme-personal-layout .dme-layout-body .order-fields, .dme-personal-layout .dme-layout-body .fields-grid, .dme-personal-layout .dme-layout-body .request-context-grid,
.dme-personal-layout .dme-layout-body .address-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr)); }
.dme-personal-layout .dme-layout-body .address-phone-row { grid-column:1 / -1; }
@container (max-width:420px) {
    .dme-layout-body .address-verification-controls, .dme-personal-layout .dme-layout-body .address-phone-row { grid-template-columns:1fr !important; }
}
.dme-layout-narrow .dme-layout-workspace { display:block; overflow:auto; }
.dme-layout-narrow .dme-layout-zone { overflow:visible; }
.dme-layout-narrow .dme-layout-pinned { display:none; }
.dme-layout-narrow .dme-layout-main .grid-stack { display:flex; flex-direction:column; height:auto !important; }
.dme-layout-narrow .dme-layout-main .grid-stack-item { position:relative; width:100% !important; height:auto !important; inset:auto !important; }
.dme-layout-narrow .dme-layout-card { position:relative !important; inset:auto !important; margin:2px; }
.dme-layout-narrow .dme-layout-body { overflow:visible; }
.dme-layout-narrow .dme-layout-edit-only { display:none; }
.dme-personal-layout [hidden] { display:none !important; }

/* The editor's form is the fixed viewport; only layout zones scroll. */
.dme-layout-editor { display:flex !important; flex-direction:column; height:100%; min-height:0; min-width:0; overflow:hidden !important; gap:5px; }
.dme-layout-editor > form { display:flex; flex-direction:column; flex:1 1 0; min-height:0; min-width:0; overflow:hidden; }
.dme-layout-main-only .dme-layout-workspace { grid-template-columns:minmax(0,1fr); }
.dme-layout-main-only .dme-layout-pinned { display:none; }
.dme-layout-tabs { display:flex; flex-wrap:wrap; gap:4px; flex-basis:100%; }
/* Only owned tab buttons: never override Radzen button/icon fonts. */
.dme-layout-tabs > button { font:inherit; font-size:.72rem; color:var(--rz-text-color); background:var(--rz-base-background-color); border:1px solid var(--rz-base-400); border-radius:4px; padding:5px 9px; cursor:pointer; }
.dme-layout-tabs > button[aria-selected="true"] { color:var(--rz-on-primary); background:var(--rz-primary); border-color:var(--rz-primary); }
.dme-layout-tabs > button:hover { border-color:var(--rz-primary); }
.dme-layout-tabs > button:focus-visible { outline:2px solid var(--rz-primary); outline-offset:2px; }
.dme-layout-editor .dme-layout-body :is(.fields,.provider-fields,.contact-columns,.provider-options-grid,.text-area-grid) { grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr)); }
.dme-layout-editor .dme-layout-body :is(.span-two,.span-all,.full-width) { grid-column:1 / -1; }
.dme-layout-editor .dme-layout-body :is(.client-activity-grid-shell,.client-activity-empty) { min-height:0; height:auto; }
.dme-layout-editor .dme-layout-body :is(.visit-fields,.request-fields-grid,.provider-fields-grid,.fitting-fields-grid,.evaluation-fields-grid,.base-fields,.contacts-grid) { grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr)); }
.dme-layout-editor .dme-layout-body .rz-form-field { width:100%; min-width:0; }
@container (max-width:420px) {
    .dme-layout-editor .dme-layout-body :is(.evaluation-span-two,.evaluation-span-all) { grid-column:1 / -1; }
}
/* The administrative shell includes its own system rail above the editor. */
.admin-body:has(.dme-layout-editor) { display:flex; flex-direction:column; overflow:hidden; }
.admin-body:has(.dme-layout-editor) > .system-rail { flex:none; }
.admin-content:has(.dme-layout-editor) { flex:1 1 0; min-height:0; min-width:0; overflow:hidden; padding:5px; }

/* The pinned area keeps its own scroll position while its width is resized. */
.dme-layout-pinned { grid-column:1; }
.dme-layout-main { grid-column:3; }
.dme-layout-splitter { grid-column:2; grid-row:1; cursor:col-resize; touch-action:none; visibility:hidden; position:relative; }
.dme-layout-editing .dme-layout-splitter { visibility:visible; }
.dme-layout-splitter::after { content:""; position:absolute; inset:0 3px; background:var(--rz-base-400); border-radius:2px; }
.dme-layout-splitter:hover::after, .dme-layout-splitter:focus-visible::after { background:var(--rz-primary); }
.dme-layout-splitter:focus-visible { outline:2px solid var(--rz-primary); outline-offset:-2px; }
.dme-layout-panel-resizing { cursor:col-resize; user-select:none; }
:is(.dme-layout-narrow,.dme-layout-main-only) .dme-layout-splitter { display:none; }
:is(.dme-layout-narrow,.dme-layout-main-only) .dme-layout-main { grid-column:1; }

/* Keep procedure actions outside the fields' scroll area as the block is resized. */
.dme-layout-body:has(> [data-layout-block="procedure-editor"]) { overflow:hidden; }
.dme-layout-body > [data-layout-block="procedure-editor"] { height:100%; }
.dme-layout-body :is(.visit-procedure-editor-card, .request-procedure-editor-card) { display:flex; flex-direction:column; height:100%; min-height:0; }
:is(.visit-procedure-editor-fields, .request-procedure-editor-fields) { flex:1 1 auto; min-height:0; overflow:auto; align-content:start; padding:0 3px 8px 0; }
:is(.visit-procedure-editor-actions, .request-procedure-editor-actions) { display:flex; flex:none; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:5px; padding:7px 0 2px; border-top:1px solid var(--rz-base-300); background:var(--rz-base-background-color); }
.dme-layout-narrow .dme-layout-body:has(> [data-layout-block="procedure-editor"]) { overflow:visible; }
.dme-layout-narrow .dme-layout-body > [data-layout-block="procedure-editor"],
.dme-layout-narrow .dme-layout-body :is(.visit-procedure-editor-card, .request-procedure-editor-card) { height:auto; }
.dme-layout-narrow :is(.visit-procedure-editor-fields, .request-procedure-editor-fields) { overflow:visible; }
.dme-layout-narrow :is(.visit-procedure-editor-actions, .request-procedure-editor-actions) { position:sticky; bottom:0; z-index:2; }

/* Control wrappers preserve the original layout until a block is customized. */
.dme-layout-control { display:contents; }
.dme-control-tools, .dme-control-resize { display:none; }
.dme-layout-control.dme-control-hidden { display:none !important; }
.dme-controls-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:repeat(var(--control-rows,1),minmax(28px,auto)); gap:5px; align-items:start; align-content:start; }
.dme-controls-grid .dme-control-flow { display:contents !important; }
.dme-controls-grid > :not(.dme-control-flow):not(.dme-layout-control),
.dme-controls-grid .dme-control-flow > :not(.dme-control-flow):not(.dme-layout-control) { grid-column:1 / -1; }
.dme-controls-grid .dme-layout-control { display:flex; flex-direction:column; position:relative; min-width:0; max-width:100%; min-height:28px; order:var(--control-order,128); grid-column:var(--control-column,auto) / span var(--control-width,6); grid-row:var(--control-row,auto); overflow:visible; box-sizing:border-box; }
.dme-controls-grid .dme-layout-control > :not(.dme-control-tools):not(.dme-control-resize) { min-width:0; max-width:100%; flex-shrink:0; }
.dme-controls-grid .dme-layout-control > :is(.rz-form-field,.rz-data-grid,.signature-pad) { flex:1 0 auto; width:100%; }
.dme-personal-layout [data-layout-control] textarea { resize:none !important; }
.dme-controls-grid .dme-layout-control .rz-form-field-content { min-height:0; }
.dme-controls-customizing .dme-layout-control { border:1px dashed var(--rz-base-400); padding:25px 4px 18px; min-height:72px; }
.dme-controls-customizing .dme-control-tools { display:flex; position:absolute; inset:0 0 auto; height:23px; background:var(--rz-base-background-color); border-bottom:1px solid var(--rz-base-300); z-index:1; }
.dme-control-tools > button, .dme-control-resize, .dme-controls-panel > button { font:inherit; font-size:.7rem; color:var(--rz-text-color); background:var(--rz-base-background-color); border:1px solid var(--rz-base-400); border-radius:3px; cursor:pointer; }
.dme-control-tools > button { border:0; background:transparent; padding:1px 5px; }
.dme-control-handle { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; cursor:grab !important; touch-action:none; }
.dme-control-hide { flex:none; min-width:24px; }
.dme-controls-customizing .dme-control-resize { display:block; position:absolute; right:0; bottom:0; height:19px; width:25px; padding:0; cursor:ew-resize; touch-action:none; }
:is(.dme-control-tools > button,.dme-control-resize,.dme-controls-panel > button):hover { background:color-mix(in srgb,var(--rz-primary) 14%,var(--rz-base-background-color)); }
:is(.dme-control-tools > button,.dme-control-resize,.dme-controls-panel > button,.dme-controls-panel summary):focus-visible { outline:2px solid var(--rz-primary); outline-offset:-2px; }
.dme-control-dragging { outline:2px solid var(--rz-primary); }
.dme-control-dragging .dme-control-handle { cursor:grabbing !important; }
.dme-controls-customizing { grid-template-rows:repeat(var(--control-rows,1),minmax(72px,auto)); background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / 12 - 1px),color-mix(in srgb,var(--rz-primary) 15%,transparent) calc(100% / 12 - 1px),color-mix(in srgb,var(--rz-primary) 15%,transparent) calc(100% / 12)); }
.dme-control-drop-preview { position:fixed; pointer-events:none; z-index:10000; box-sizing:border-box; border:2px solid var(--rz-primary); background:color-mix(in srgb,var(--rz-primary) 18%,var(--rz-base-background-color)); color:var(--rz-text-color); border-radius:4px; padding:4px; font-size:.75rem; font-weight:600; overflow:hidden; }
.dme-control-drop-invalid { border-color:var(--rz-danger); background:color-mix(in srgb,var(--rz-danger) 18%,var(--rz-base-background-color)); }
.dme-controls-status { font-size:.72rem; min-height:18px; padding:2px 0; color:var(--rz-text-color); }
.dme-controls-panel { border:1px solid var(--rz-base-400); border-radius:4px; padding:4px 6px; margin-bottom:5px; font-size:.72rem; }
.dme-controls-panel summary { cursor:pointer; font-weight:600; }
.dme-controls-panel p { margin:5px 0; }
.dme-controls-panel > button { margin-top:5px; padding:3px 7px; }
.dme-controls-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr)); gap:3px; }
.dme-controls-list label { display:flex; align-items:center; gap:5px; min-height:25px; }
.dme-controls-list input { accent-color:var(--rz-primary); }
.dme-controls-toggle[aria-pressed="true"] { border-color:var(--rz-primary); }
.dme-layout-body > [data-layout-block="procedure-editor"].dme-controls-grid { height:auto; }
.dme-layout-body:has(> [data-layout-block="procedure-editor"].dme-controls-grid) { overflow:auto; }
.dme-layout-narrow .dme-controls-grid { grid-template-rows:none; }
.dme-layout-narrow .dme-controls-grid .dme-layout-control { grid-column:1 / -1; grid-row:auto; height:auto; }

/* List search customization shares the editor controls and keeps actions fixed. */
.dme-search-layout-tools { flex:none; padding:4px 0; }
.dme-search-layout-body { flex:1 1 0; min-height:0; overflow:auto; padding:0 3px 6px 0; container-type:normal; }
.dme-search-layout-body [hidden] { display:none !important; }
.dme-search-layout-body .rz-form-field { width:100%; }
.dme-search-layout-body .dme-controls-grid .filter-section-title { display:none; }
.dme-search-layout-body .dme-controls-grid { gap:5px; }
.dme-search-layout-body .dme-controls-panel { margin-top:3px; }

/* Shared compact layout actions, in editor actions and search panel headings. */
.dme-layout-tools > .dme-layout-icon-button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 28px; width:28px; height:28px; min-height:28px; padding:0; color:var(--rz-text-color); background:transparent; border-color:transparent; }
.dme-layout-icon-button > .rzi { font-size:18px; line-height:1; }
.dme-layout-tools > .dme-layout-icon-button:hover { background:color-mix(in srgb,var(--rz-primary) 12%,transparent); }
.dme-layout-tools > .dme-layout-icon-button[aria-pressed="true"] { color:var(--rz-primary); border-color:color-mix(in srgb,var(--rz-primary) 40%,transparent); }
.panel-heading > .dme-search-layout-header-tools { display:flex; flex:none; flex-wrap:nowrap; gap:2px; margin-left:auto; padding:0; }
.dme-search-layout-tools:not(:has(> :not([hidden]):not(:empty))) { display:none; }
