
/**
 * RMD CSS
 *
 * Change Log
 *
 * v0.1.137
 * - Aligns the Person Portal My Details and My Case action buttons to the bottom-right corner.
 * - Adds spacing between the summary tables and panel action buttons.
 *
 * v0.1.136
 * - Adds a two-column Person Portal summary grid for the My Details and My Case panels.
 * - Adds consistent Person Portal panel spacing.
 *
 * v0.1.135
 * - Refines Person Portal meeting card label/value wrapping for longer labels.
 *
 * v0.1.134
 * - Adds Person Portal consultation meeting card strip styling.
 * - Styles Open, Midpoint and Close meeting cards and their booked/held status badges.
 *
 * v0.1.133
 * - Adds vertical spacing between Case Hub Documents tab hub cards.
 *
 * v0.1.132
 * - Centre-aligns Case Hub Documents tab date column headings and date values.
 *
 * v0.1.131
 * - Adds Employee Signed workflow panel styling hooks.
 * - Adds Save Letter action card styling for the Programme Director Workflow tab.
 *
 * v0.1.130
 * - Adds Sent workflow panel styling for Programme Director and LHR Consultant document screens.
 * - Adds Refresh Status action card styling for the Programme Director Workflow tab.
 *
 * v0.1.129
 * - Adds Programme Director Ready to Send workflow panel styling.
 * - Adds Send Letter action card styling for the Workflow tab.
 *
 * v0.1.128
 * - Adds Programme Director Under Review workflow panel styling.
 * - Adds Review Document decision card and Return to Update button styling.
 *
 * v0.1.127
 * - Adds Programme Director Draft Required workflow panel styling.
 * - Presents Draft Required as an informational waiting state with no Programme Director actions.
 *
 * v0.1.126
 * - Adds LHR Consultant Under Review workflow panel styling.
 * - Adds latest-document status, file metadata and View/Download action layout below the Document Workflow status cards.
 *
 * v0.1.125
 * - Adds LHR Consultant Draft Required/Drafted workflow panel styling below the Document Workflow status cards.
 * - Adds side-by-side Generate Draft and Upload Draft panels plus the disabled/enabled Submit for Review row.
 *
 * v0.1.124
 * - Adds Workflow tab status-card strip styling for the LHR Consultant workflow build.
 * - Uses equal-width cards across the Workflow tab and highlights the current document status.
 *
 * v0.1.123
 * - Phase 0 Workflow tab reset: removes obsolete Document Workflow tab styling while the role/stage-specific workflow screens are rebuilt.
 *
 * v0.1.122
 * - Added Slice 4 Document Workflow button styling for destructive workflow actions such as Void and Redraft.
 *
 * v0.1.121
 * - Updated Case Relationship modal to use fixed header and fixed footer layout.
 * - Added scrollable middle content region for the Case Relationship modal.
 * - Added Case Relationship read-only display field and anchored button bar styling.
 *
 * v0.1.120
 * - Updated Defect modal to use fixed header and fixed footer layout.
 * - Added scrollable middle content region for the Defect modal.
 * - Anchored the Defect modal button bar while retaining the existing form structure.
 *
 * v0.1.119
 * - Added Defect Log Role column and modal radio button group styling.
 * - Shares Defect Log fieldset styling across Area of System and Role.
 * - Allows the eight Role buttons to wrap cleanly on narrower screens.
 *
 * v0.1.118
 * - Added Consultation date row styling so Target, Booked and Held dates sit on one line on wider screens.
 *
 * v0.1.117
 * - Added Pool lookup import selector styling.
 * - Adjusted Import Admin type radio grid to four columns for the added Lookup Lists option.
 *
 * v0.1.116
 * - Moved the branded login title and form section further in from the left edge.
 * - Added bottom-left copyright styling for the branded login page.
 * - Added authorised-users-only notice styling for the branded login page.
 *
 * v0.1.115
 * - Made the branded Red Man login background cover the full visible page height.
 * - Centred the Login button and set it to 60% of the login form width.
 * - Increased spacing between the login subtitle and the login form.
 *
 * v0.1.114
 * - Refined branded Red Man login page sizing after moving to a dedicated page template.
 * - Removed full-viewport breakout sizing to prevent horizontal overflow.
 * - Widened the title copy area while reducing login form field and button dimensions.
 *
 * v0.1.113
 * - Added branded Red Man login front-door styling for [rmd-login].
 * - Uses plugin image assets for the hero background and Restructure Partners/LighterHR logos.
 * - Adds responsive layout rules for the branded login page.
 *
 * v0.1.112
 * - Added Defect Log quick-filter action bar styling.
 * - Added active state styling for Open Defects, Awaiting Sign-off and Signed Off quick-filter buttons.
 * - Supports the renamed Reset Filters action.
 *
 * v0.1.111
 * - Added Defect Log raiser sign-off section styling.
 * - Added Date Signed Off column whitespace handling and read-only review field styling.
 *
 * v0.1.110
 * - Added Programme User toolbar, summary count and Clear Filters styling to mirror the Case list pattern.
 *
 * v0.1.109
 * - Added Programme User heading filter label styling to mirror the Case list filter pattern.
 *
 * v0.1.108
 * - Added Signature Integration provider selector styling for the one-page provider-panel UI.
 * - Added panel-scoped Signature Integration provider panel, placeholder and action styling.
 * - Supports one visible e-sign provider panel at a time for Adobe Sign and DocuSign Slice 1 UI.
 *
 * v0.1.107
 * - Widened the Defect Log modal.
 * - Added a three-column Defect modal metadata row for Defect Ref, Date Raised and Raised By.
 * - Changed Area of System radio buttons to a single evenly-spaced row on wider screens.
 *
 * v0.1.106
 * - Added Defect Log Raised By column styling.
 * - Updated Defect Log column whitespace rules after adding the Raised By listing column.
 *
 * v0.1.105
 * - Added Defect Log table filter toolbar, summary and heading filter styling.
 * - Aligned Defect Log listing filters with the Case list filter pattern.
 *
 * v0.1.104
 * - Added Defect Log pasted screenshot evidence paste area, preview and file list styling.
 *
 * v0.1.103
 * - Added two-column Signature Admin status and developer diagnostics layout.
 *
 * v0.1.102
 * - Added Signature Integrations admin placeholder styling.
 *
 * v0.1.101
 * - Added Signature (PoC) diagnostic tab styling for the Document modal.
 *
 * v0.1.100
 * - Added Person Hub Coming Soon card styling for future VR Application and Redundancy Calculation tabs.
 *
 * v0.1.99
 * - Added formatting of the employee journey chart on the CPS dashboard.
 *
 * v0.1.98
 * - Added Recent Notes clickable row hover and pointer styling.
 *
 * v0.1.97
 * - Added Recent Notes panel styling.
 * - Supports unread/read row presentation for programme-user note notifications.
 *
 * v0.1.96
 * - Added CPS Dashboard HRBP Workload row hover and pointer styling.
 * - Mirrors Programme Dashboard Consultant Workload and Organisation Impact clickable row styling.
 *
 * v0.1.95
 * - Added Programme Dashboard Organisation Impact row hover and pointer styling.
 * - Mirrors Consultant Workload clickable row styling.
 *
 * v0.1.94
 * - Added read-only styling for Case Hub LHR Consultant and HR Business Partner relationship cards.
 *
 * v0.1.93
 * - Added Defect Log administration row, modal, radio option and save-status styling.
 *
 * v0.1.92
 * - Added HRBP Case Message workbench grid, table and ageing badge styling.
 * - Expanded HRBP Workspace KPI grid to support Open Questions and Open Proposals cards.
 *
 * v0.1.91
 * - Added disabled Case Message modal tab styling to match the Case Hub disabled tab pattern.
 *
 * v0.1.90
 * - Added Person Portal Questions and Counter Proposals panel styling.
 * - Added Case Message modal, tab, table, response and attachment styling.
 *
 * v0.1.89
 * - Added Programme User admin table and modal styling.
 *
 * v0.1.88
 * - Added Document Hub v2 workflow summary, journey, action card, milestone and workflow history styling.
 *
 * v0.1.87
 * - Added Document modal File Access table styling.
 *
 * v0.1.86
 * - Added Document Definition locked field and explanatory lock note styling.
 *
 * v0.1.85
 * - Aligned Document modal tab icon styling with the standard Red Man hub tab pattern.
 *
 * v0.1.84
 * - Added Document modal tab styling for Document, Workflow and File History sections.
 * - Added latest document summary card styling.
 *
 * v0.1.83
 * - Added protected Document modal layout, upload action and file history styling.
 * - Converted the Document modal to a hub-style scrollable body and anchored footer.
 *
 * v0.1.82
 * - Moved Import Batch action buttons into the row filter toolbar.
 * - Expanded the validation filter input and aligned the row count before the batch actions.
 *
 * v0.1.81
 * - Added disabled button styling for Import Admin upload-in-progress state.
 *
 * v0.1.80
 * - Moved Import Admin file selector and Upload & Validate button onto a single row.
 *
 * v0.1.79
 * - Added Import Batch preview filter toolbar styling.
 *
 * v0.1.78
 * - Added Consultation Notes entry and timestamped note history card styling.
 * - Supports append-only notes in the Consultation modal Notes tab.
 *
 * v0.1.77
 * - Added hub-style Consultation modal layout, tabs, scrollable content region and anchored footer action bar.
 * - Added Consultation Overview/Notes tab styling to mirror Person and Case modal patterns.
 *
 * v0.1.76
 * - Added Person Hub Notes entry and timestamped note history card styling.
 *
 * v0.1.75
 * - Added Case Hub Consultation Manager at-risk warning icon and specialist card text styling.
 *
 * v0.1.74
 * - Added disabled Case Hub child tab styling for unsaved new cases.
 *
 * v0.1.73
 * - Added Case Hub consultation/document pack action layout and status styling.
 *
 * v0.1.72
 * - Added specialist relationship card styling for the Case Hub Relationships tab.
 * - Added assigned and missing specialist relationship card states.
 * - Added three-column specialist relationship layout.
 *
 * v0.1.71
 * - Updated Import Admin type radio grid to three columns after removing unused Relationships and Documents options.
 *
 * v0.1.70
 * - Added Consultant Workspace list navigation grid styling hook.
 * - Retained legacy Consultant Case List styling for backward compatibility only.
 *
 * v0.1.69
 * - Added shared page header user styling for the standard Red Man page/workspace header pattern.
 * - Replaced the Consultant Workspace-specific header user class with the shared class.
 *
 * v0.1.68
 * - Added grouped section styling for the expanded Programme Lookup Configuration screen.
 *
 * v0.1.67
 * - Added Case Hub overview section card styling to mirror the Person Hub section-card layout.
 * - Added full-width form-grid helper for wider Case Hub textarea/input rows.
 *
 * v0.1.66
 * - Added Case Hub Notes entry and timestamped note history card styling.
 *
 * v0.1.65
 * - Added Person Hub overview section card styling for Employment, Useful Info and Special Considerations fields.
 *
 * v0.1.64
 * - Added Programme Lookup Configuration card, modal, table and action styling.
 *
 * v0.1.63
 * - Added value-aware Programme Dashboard KPI warning and error card colours.
 *
 * v0.1.62
 * - Added Programme Dashboard data quality table count-column alignment.
 * - Expanded Programme Dashboard KPI grid for people and case quality issue cards.
 *
 * v0.1.61
 * - Added Consultant Data Quality workbench, quality panel and clickable summary row styling.
 *
 * v0.1.60
 * - Added HRBP Workspace KPI grid and people data quality panel styling.
 *
 * v0.1.59
 * - Added Programme Dashboard Document Send Exceptions clickable row styling.
 * - Expanded Programme Dashboard KPI grid to support the added document exception card.
 *
 * v0.1.58
 * - Added Programme Dashboard Missing Team Assignments clickable row styling.
 * - Expanded Programme Dashboard KPI grid to support the added data-quality card.
 *
 * v0.1.57
 * - Added pointer and hover styling for clickable Employee Journey case detail rows.
 *
 * v0.1.56
 * - Increased Employee Journey chart height to support end-of-line labels after legend removal.
 *
 * v0.1.55
 * - Restored Employee Journey report card/grid styling after layout reorder regression.
 * - Preserved Case list Change Type and Outcome Type column styling hooks.
 *
 * v0.1.54
 * - Added Employee Journey timeline chart panel and canvas styling.
 *
 * v0.1.53
 * - Added Employee Journey report layout, summary and click-through table styling.
 *
 * v0.1.52
 * - Added Case list Change Type and Outcome Type column styling hooks.
 *
 * v0.1.51
 * - Added Case table visual polish with sticky headings, zebra striping, stronger hover state and centred boolean columns.
 *
 * v0.1.50
 * - Added Case table filter toolbar, summary and heading filter styling.
 *
 * v0.1.49
 * - Centre-aligned Person table boolean columns using explicit column classes.
 *
 * v0.1.48
 * - Kept Person table filter buttons inline with their heading labels.
 *
 * v0.1.47
 * - Made Person table headings sticky.
 *
 * v0.1.46
 * - Added Person table visual polish with zebra striping, stronger hover state, refreshed headers and toolbar card styling.
 *
 * v0.1.45
 * - Made the Person modal tab content area scroll independently so the header, tabs and button bar stay visible.
 *
 * v0.1.44
 * - Made the Case Hub tab content area scroll independently so the header, tabs and button bar stay visible.
 *
 * v0.1.43
 * - Added minimum height to the Case modal and anchored its button bar to the bottom.
 *
 * v0.1.42
 * - Anchored the Person modal button bar to the bottom of the modal.
 *
 * v0.1.41
 * - Added minimum height to the Person modal to reduce tab-to-tab resizing.
 *
 * v0.1.40
 * - Laid out Import Type and Import Mode radio option groups side by side on wider screens.
 *
 * v0.1.39
 * - Added Import Admin radio button option group/card styling.
 *
 * v0.1.38
 * - Added Person table filter toolbar, summary and popover styling.
 *
 * v0.1.37
 * - Added value-aware import summary card colours.
 *
 * v0.1.36
 * - Added Import Admin workspace, policy, upload, batch, summary and row preview styling.
 *
 * v0.1.35
 * - Added Client Administration row and modal footer styling.
 * - Added client status note spacing.
 *
 * v0.1.34
 * - Added Programme Administration row and modal footer styling.
 * - Added My Programmes section heading styling.
 *
 * v0.1.33
 * - Added Admin Toolbox layout, summary card and tile styling.
 *
 * v0.1.32
 * - Added Red Man login card styling.
 *
 * v0.1.31
 * - Added My Programmes card grid and workspace navigation styling.
 *
 * v0.1.30
 * - Added programme field configuration tab styling for Person and Case custom fields.
 *
 * v0.1.29
 * - Added Consultant Workspace layout refinements.
 *
 * v0.1.28
 * - Added read-only UI styling for permission-aware forms.
 *
 * v0.1.27
 * - Increased Person modal width to match Case Hub width.
 *
 * v0.1.26
 * - Added Person audit tab table styling.
 *
 * v0.1.25
 * - Added sticky header styling for the programme field configuration table.
 *
 * v0.1.24
 * - Added programme field configuration screen styling.
 *
 * v0.1.23
 * - Matched Person modal footer styling to Case Hub footer.
 *
 * v0.1.22
 * - Added Person modal tab styling.
 * - Added required marker styling for configured custom fields.
 *
 * v0.1.21
 * - Added Document modal layering.
 * - Added Case Hub document row hover/click styling.
 * - Restyled Case Hub document consultation rows as bold section labels.
 * - Set document row names to standard text weight.
 *
 * v0.1.20
 * - Added Case Hub Documents tab consultation grouping styles.
 *
 * v0.1.19
 * - Added Case Hub Audit tab table value wrapping and date column styling.
 *
 * v0.1.18
 * - Added hover and pointer cursor styling for clickable Consultant Workload dashboard rows.
 *
 * v0.1.17
 * - Added Consultant Case List header and summary card styling.
 *
 * v0.1.16
 * - Added hover and pointer cursor styling for clickable dashboard rows.
 * - Added overdue consultation drill-through row styling.
 * - Added exception drill-through row styling.
 *
 * v0.1.15
 * - Added Programme Dashboard layout, KPI card and panel styling.
 *
 * v0.1.14
 * - Raised Case Relationship modal above Case modal.
 * - Added Case Hub relationship summary row hover/click styling.
 *
 * v0.1.13
 * - Added Case Hub child action spacing.
 *
 * v0.1.12
 * - Raised Consultation modal above Case modal, matching Person modal layering.
 * - Added Case Hub consultation summary row hover/click styling.
 *
 * v0.1.11
 * - Added Case Hub person drill-through link styling.
 * - Raised Person modal above Case modal.
 *
 * v0.1.10
 * - Added Key Information section heading styling.
 *
 * v0.1.9
 * - Replaced delete button styling with active/inactive toggle button styling.
 *
 * v0.1.8
 * - Added Case Hub delete button styling.
 * - Added left/right footer action layout.
 *
 * v0.1.7
 * - Tidied Case Hub modal footer action bar.
 * - Added padding and rounded corners to footer action area.
 *
 * v0.1.6
 * - Polished Case Hub modal styling.
 * - Increased Case Hub modal width.
 * - Added light grey Case Hub body background.
 * - Added tab icon spacing and active tab colour.
 *
 * v0.1.5
 * - Added Case Hub modal, tab, card and key information styling.
 *
 * v0.1.4
 * - Added case relationship row hover styling.
 * - Added case relationship row cursor styling.
 *
 * v0.1.3
 * - Added consultation row hover styling.
 * - Added consultation row cursor styling.
 *
 * v0.1.2
 * - Added case row hover styling.
 * - Added case row cursor styling.
 *
 * v0.1.1
 * - Added organisation unit row hover styling.
 * - Added organisation unit row cursor styling.
 *
 * v0.1.0
 * - Added base scope styling.
 * - Added table styling.
 * - Added toolbar/button styling.
 * - Added rudimentary modal styling.
 */

.rmd-scope {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
	
    font-size: 18px;
}

.rmd-scope * {
    box-sizing: border-box;
}

.rmd-card {
    padding: 1.25rem;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    background: #fff;
}

.rmd-muted {
    color: #666;
}

.rmd-hidden-flags {
    display: none;
}

.rmd-read-only .rmd-requires-edit {
    display: none !important;
}

.rmd-read-only input:not([type="hidden"]),
.rmd-read-only select,
.rmd-read-only textarea {
    background: #f8f9fa;
    color: #555;
    cursor: default;
}

.rmd-toolbar {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.rmd-button {
    display: inline-block;
    padding: 0.45rem 0.8rem;
    border: 1px solid #bbb;
    border-radius: 0.25rem;
    background: #f7f7f7;
    cursor: pointer;
    font: inherit;
}

.rmd-button:hover {
    background: #efefef;
}

.rmd-button:disabled,
.rmd-button.is-disabled {
    opacity: 0.6;
    cursor: not-allowed;
    border-color: #9ca3af;
    background: #9ca3af;
}

.rmd-button:disabled:hover,
.rmd-button.is-disabled:hover {
    border-color: #9ca3af;
    background: #9ca3af;
}

.rmd-button-primary {
    border-color: #0f766e;
    background: #0f766e;
    color: #fff;
}

.rmd-button-primary:hover {
    border-color: #14b8a6;
    background: #14b8a6;
}

.rmd-button-danger {
    border-color: #d63638;
    background: #fff;
    color: #d63638;
}

.rmd-button-danger:hover {
    background: #fff5f5;
}

.rmd-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 1rem;
}

.rmd-table th,
.rmd-table td {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid #e0e0e0;
    text-align: left;
    vertical-align: top;
}

.rmd-table th {
    font-weight: 600;
    background: #f5f5f5;
}

.rmd-person-table {
    border-collapse: separate;
    border-spacing: 0;
}

.rmd-person-table th {
    position: sticky;
    top: 0;
    z-index: 10;
    background: #f8f9fa;
    border-bottom: 2px solid #dcdcde;
    white-space: nowrap;
}

.rmd-person-heading-filter {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.rmd-case-heading-filter {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}


.rmd-person-coming-soon-card {
    min-height: 180px;
}

.rmd-person-coming-soon-card p {
    margin: 0;
}



.rmd-case-coming-soon-card {
    min-height: 180px;
}

.rmd-case-coming-soon-card p {
    margin: 0;
}





.rmd-case-table {
    border-collapse: separate;
    border-spacing: 0;
}

.rmd-case-table th {
    position: sticky;
    top: 0;
    z-index: 10;
    background: #f8f9fa;
    border-bottom: 2px solid #dcdcde;
    white-space: nowrap;
}

.rmd-case-table th.rmd-case-col-active,
.rmd-case-table th.rmd-case-col-deleted,
.rmd-case-table td.rmd-case-col-active,
.rmd-case-table td.rmd-case-col-deleted {
    text-align: center;
}

.rmd-case-table th.rmd-case-col-change-type,
.rmd-case-table th.rmd-case-col-outcome-type,
.rmd-case-table td.rmd-case-col-change-type,
.rmd-case-table td.rmd-case-col-outcome-type {
    white-space: nowrap;
}

.rmd-case-table tbody tr.rmd-case-row:nth-child(odd) {
    background: #ffffff;
}

.rmd-case-table tbody tr.rmd-case-row:nth-child(even) {
    background: #f8f9fa;
}

.rmd-person-table th.rmd-person-col-consultation-manager,
.rmd-person-table th.rmd-person-col-lhr-consultant,
.rmd-person-table th.rmd-person-col-client-hr-bp,
.rmd-person-table th.rmd-person-col-active,
.rmd-person-table th.rmd-person-col-deleted,
.rmd-person-table td.rmd-person-col-consultation-manager,
.rmd-person-table td.rmd-person-col-lhr-consultant,
.rmd-person-table td.rmd-person-col-client-hr-bp,
.rmd-person-table td.rmd-person-col-active,
.rmd-person-table td.rmd-person-col-deleted {
    text-align: center;
}


.rmd-person-table tbody tr.rmd-person-row:nth-child(odd) {
    background: #ffffff;
}

.rmd-person-table tbody tr.rmd-person-row:nth-child(even) {
    background: #f8f9fa;
}

.rmd-person-row {
    cursor: pointer;
}

.rmd-person-row:hover {
    background: #e8f4fd !important;
}


.rmd-person-toolbar {
    justify-content: space-between;
    padding: 0.75rem;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    background: #fff;
}

.rmd-person-toolbar-summary {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-left: auto;
}

.rmd-person-summary {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.45rem 0.65rem;
    border: 1px solid #ddd;
    border-radius: 0.25rem;
    background: #f8f9fa;
    white-space: nowrap;
}

.rmd-person-summary-item {
    font-size: 0.95rem;
}

.rmd-case-toolbar {
    justify-content: space-between;
    padding: 0.75rem;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    background: #fff;
}

.rmd-case-toolbar-summary {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-left: auto;
}

.rmd-case-summary {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.45rem 0.65rem;
    border: 1px solid #ddd;
    border-radius: 0.25rem;
    background: #f8f9fa;
    white-space: nowrap;
}

.rmd-case-summary-item {
    font-size: 0.95rem;
}

.rmd-table-filter-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.45rem;
    height: 1.25rem;
    margin-left: 0.25rem;
    padding: 0 0.2rem;
    border: 1px solid #bbb;
    border-radius: 0.2rem;
    background: #f7f7f7;
    color: #111;
    cursor: pointer;
    font: inherit;
    font-size: 0.78rem;
    line-height: 1;
}

.rmd-table-filter-button:hover,
.rmd-table-filter-button[aria-expanded="true"] {
    background: #e9ecef;
}

.rmd-table-filter-popover {
    z-index: 10050;
    padding: 0.55rem;
    border: 1px solid #bbb;
    border-radius: 0.25rem;
    background: #fff;
    box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.16);
    overflow: auto;
}

.rmd-table-filter-popover-portal {
    position: fixed;
}

.rmd-filter-controls {
    margin-bottom: 0.45rem;
}

.rmd-filter-controls hr {
    margin: 0.45rem 0;
    border: 0;
    border-top: 1px solid #ddd;
}

.rmd-filter-list label,
.rmd-filter-controls label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0.15rem 0;
    font-weight: 400;
    white-space: nowrap;
}

.rmd-filter-empty {
    color: #666;
    font-size: 0.9rem;
}

.rmd-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 1rem;
    background: rgba(0, 0, 0, 0.35);
}

.rmd-modal {
    width: min(900px, 100%);
    max-height: 90vh;
    overflow: auto;
    padding: 1.25rem;
    border-radius: 0.5rem;
    background: #fff;
    box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.25);
}

.rmd-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.rmd-modal-header h3 {
    margin: 0;
}

.rmd-modal-close {
    border: 0;
    background: transparent;
    font-size: 1.75rem;
    line-height: 1;
    cursor: pointer;
}

.rmd-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.rmd-form-grid label {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-weight: 600;
}

.rmd-form-grid input,
.rmd-form-grid select,
.rmd-form-grid textarea {
    width: 100%;
    padding: 0.45rem 0.55rem;
    border: 1px solid #bbb;
    border-radius: 0.25rem;
    font: inherit;
}

.rmd-form-grid-full {
    grid-column: 1 / -1;
}

.rmd-checkbox-label {
    flex-direction: row !important;
    align-items: center;
    justify-content: flex-start;
}

.rmd-checkbox-label input {
    width: auto;
}

.rmd-modal-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1.25rem;
}

.rmd-person-save-status {
    margin-right: auto;
    color: #666;
}

.rmd-person-form {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 0;
}

.rmd-person-content-scroll {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    margin-bottom: 0.75rem;
}

.rmd-person-form .rmd-modal-actions {
    flex-shrink: 0;
    margin-top: 0;
	padding: 0.75rem;

	border: 1px solid #e0e0e0;
	border-radius: 0.4rem;

	background: #f5f6f7;
}



.rmd-person-tabs {
    display: flex;
    gap: 0;
    margin: 0 0 1rem;
    border-bottom: 1px solid #e0e0e0;
    background: #fff;
}

.rmd-person-tab {
    display: inline-flex;
    align-items: center;
	gap: 0.45rem;
    padding: 0.75rem 1rem;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    cursor: pointer;
    font: inherit;
    color: #555;
}

.rmd-person-tab:hover {
    background: #f2f2f2;
}

.rmd-person-tab.is-active {
    border-bottom-color: #0073aa;
    color: #111;
    font-weight: 600;
}

.rmd-person-tab-icon {
    display: inline-block;
    min-width: 1.1em;
    color: #666;
    text-align: center;
}

.rmd-person-tab.is-active .rmd-person-tab-icon {
    color: #0073aa;
}



.rmd-person-tab-panel {
    display: none;
}

.rmd-person-tab-panel.is-active {
    display: block;
}


.rmd-person-overview-grid {
    display: grid;
    gap: 1rem;
}

.rmd-person-section-card {
    padding: 1rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
}

.rmd-person-section-card h4 {
    margin: 0 0 1rem;
}

.rmd-person-section-card input[readonly] {
    background: #f8f9fa;
    color: #555;
}



.rmd-person-audit-table td:first-child {
    width: auto;
    font-weight: 400;
}

.rmd-person-audit-date {
    white-space: nowrap;
}

.rmd-person-audit-value {
    max-width: 260px;
    overflow-wrap: anywhere;
}



/* Person Hub Notes */

.rmd-person-notes-panel {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.rmd-person-note-entry {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.rmd-person-note-text {
    width: 100%;
    min-height: 95px;
    padding: 0.75rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
    font: inherit;
    resize: vertical;
}

.rmd-person-note-entry-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
}

.rmd-person-note-save-status {
    color: #666;
}

.rmd-person-notes-body {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.rmd-person-note-card {
    padding: 0.85rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
}

.rmd-person-note-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-bottom: 0.65rem;
    font-style: italic;
}

.rmd-person-note-author {
    font-weight: 600;
}

.rmd-person-note-text-display {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.rmd-person-note-empty {
    padding: 0.85rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
}



.rmd-required {
    color: #d63638;
}


 
.rmd-org-unit-row {
    cursor: pointer;
}

.rmd-org-unit-row:hover {
    background: #f9f9f9;
}


.rmd-case-row {
    cursor: pointer;
}

.rmd-case-row:hover {
    background: #e8f4fd !important;
}


.rmd-consultation-row {
    cursor: pointer;
}

.rmd-consultation-row:hover {
    background: #f9f9f9;
}


.rmd-case-consultation-summary-row {
    cursor: pointer;
}

.rmd-case-consultation-summary-row:hover {
    background: #f9f9f9;
}



.rmd-case-relationship-row {
    cursor: pointer;
}

.rmd-case-relationship-row:hover {
    background: #f9f9f9;
}


.rmd-case-relationship-summary-row {
    cursor: pointer;
}

.rmd-case-relationship-summary-row:hover {
    background: #f9f9f9;
}


.rmd-case-modal-backdrop .rmd-modal {
    display: flex;
    flex-direction: column;
    width: min(1500px, 98vw);
    min-height: 650px;
    max-height: 90vh;
    overflow: hidden;
    padding: 0;
}

.rmd-case-hub-header {
    padding: 1.25rem 1.5rem;
    margin-bottom: 0;
    border-bottom: 1px solid #e0e0e0;
}

.rmd-case-tabs {
    display: flex;
    gap: 0;
    padding: 0 1.5rem;
    border-bottom: 1px solid #e0e0e0;
    background: #fff;
}

.rmd-case-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;

    padding: 0.9rem 1rem;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    cursor: pointer;
    font: inherit;
    color: #555;
}

.rmd-case-tab:hover {
    background: #f2f2f2;
}

.rmd-case-tab.is-disabled,
.rmd-case-tab:disabled {
    color: #999;
    cursor: not-allowed;
    opacity: 0.55;
}

.rmd-case-tab.is-disabled:hover,
.rmd-case-tab:disabled:hover {
    background: transparent;
}

.rmd-case-tab.is-disabled .rmd-case-tab-icon,
.rmd-case-tab:disabled .rmd-case-tab-icon {
    color: #999;
}

.rmd-case-tab.is-active {
    border-bottom-color: #0073aa;
    color: #111;
    font-weight: 600;
}


.rmd-case-tab-icon {
    display: inline-block;
    min-width: 1.1em;
    color: #666;
    text-align: center;
}

.rmd-case-tab.is-active .rmd-case-tab-icon {
    color: #0073aa;
}

.rmd-case-tab-warning {
    display: inline-flex;
    align-items: center;
    margin-left: 0.15rem;
    color: #f0ad00;
    font-size: 0.95rem;
    cursor: help;
}

.rmd-case-tab-warning[hidden],
.rmd-case-key-info-warning[hidden],
.rmd-case-specialist-relationship-warning[hidden] {
    display: none !important;
}

.rmd-case-key-info-warning {
    display: inline-flex;
    align-items: center;
    margin-left: 0.35rem;
    color: #f0ad00;
    cursor: help;
}


.rmd-case-form {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 0;
    padding: 1.25rem 1.5rem;
}

.rmd-case-content-scroll {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
	
    margin-bottom: 0.75rem;
}



.rmd-case-tab-panel {
    display: none;
}

.rmd-case-tab-panel.is-active {
    display: block;
}

.rmd-case-tab-panel.rmd-case-notes-hidden {
    display: none !important;
}


.rmd-case-hub-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(450px, 1fr);
    gap: 1rem;
}

.rmd-case-hub-card {
    padding: 1rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
}

.rmd-case-tab-panel[data-case-tab-panel="documents"] > .rmd-case-hub-card + .rmd-case-hub-card {
    margin-top: 1rem;
}

.rmd-case-hub-card h4 {
    margin: 0 0 1rem;
}

.rmd-case-overview-grid {
    display: grid;
    gap: 1rem;
}

.rmd-case-section-card {
    padding: 1rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
}

.rmd-case-section-card h4 {
    margin: 0 0 1rem;
}

.rmd-case-hub-side {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.rmd-case-key-info {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 0.65rem 1rem;
    margin: 0;
}

.rmd-case-key-info dt {
    font-weight: 600;
}

.rmd-case-key-info dd {
    margin: 0;
    color: #333;
    overflow-wrap: anywhere;
}

.rmd-case-key-info-section {
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid #e0e0e0;
}

.rmd-case-key-info-section:first-of-type {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.rmd-case-key-info-section h5 {
    margin: 0 0 0.55rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: #333;
}


.rmd-case-child-table {
    margin-top: 0;
}

.rmd-case-child-table td:first-child {
    width: 220px;
    font-weight: 600;
}

.rmd-case-audit-table td:first-child {
    width: auto;
    font-weight: 400;
}

.rmd-case-audit-date {
    white-space: nowrap;
}

.rmd-case-audit-value {
    max-width: 260px;
    overflow-wrap: anywhere;
}

.rmd-case-document-consultation-row td {
    padding-top: 0.85rem;
    background: #fff;
    font-weight: 600;
}

.rmd-case-document-summary-row td {
    white-space: nowrap;
}

.rmd-case-document-summary-table th:nth-child(n+4),
.rmd-case-document-summary-table td:nth-child(n+4) {
    text-align: center;
}

.rmd-case-document-summary-row td:first-child {
    font-weight: 400;
}


.rmd-case-document-summary-row {
    cursor: pointer;
}

.rmd-case-document-summary-row:hover {
    background: #f9f9f9;
}



/* Case Hub Notes */

.rmd-case-notes-panel {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.rmd-case-note-entry {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.rmd-case-note-text {
    width: 100%;
    min-height: 95px;
    padding: 0.75rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
    font: inherit;
    resize: vertical;
}

.rmd-case-note-entry-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
}

.rmd-case-note-save-status {
    color: #666;
}

.rmd-case-notes-body {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.rmd-case-note-card {
    padding: 0.85rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
}

.rmd-case-note-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-bottom: 0.65rem;
    font-style: italic;
}

.rmd-case-note-author {
    font-weight: 600;
}

.rmd-case-note-text-display {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.rmd-case-note-empty {
    padding: 0.85rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
}



.rmd-case-child-actions {
    margin-top: 1rem;
}



.rmd-case-pack-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.rmd-case-pack-actions .rmd-case-consultation-pack-status {
    flex: 1;
}

.rmd-case-create-consultation-pack:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.rmd-case-consultation-pack-status.is-error {
    color: #d63638;
    font-weight: 600;
}

.rmd-case-consultation-pack-status.is-success {
    color: #008a20;
    font-weight: 600;
}


/* Specialist Relationships */

.rmd-case-specialist-relationships {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.rmd-case-specialist-relationship-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    min-height: 90px;
    padding: 1rem;

    border: 1px solid #cfcfcf;
    border-radius: 0.75rem;

    background: #f3f3f3;

    cursor: pointer;
    font: inherit;
    text-align: center;
}

.rmd-case-specialist-relationship-card:hover {
    background: #ebebeb;
}

.rmd-case-specialist-relationship-card-readonly {
    cursor: default;
}

.rmd-case-specialist-relationship-card-readonly:hover {
    background: #f3f3f3;
}

.rmd-case-specialist-relationship-card.is-assigned {
    background: #f3f3f3;
}

.rmd-case-specialist-relationship-card.is-missing {
    background: #f0ad00;
    border-color: #f0ad00;
}

.rmd-case-specialist-relationship-role {
    display: block;
    margin-bottom: 0.35rem;

    font-size: 0.95rem;
    font-weight: 400;
}

.rmd-case-specialist-relationship-person {
    display: block;

    font-size: 22px;
    font-weight: 600;
}

.rmd-case-specialist-relationship-warning {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.55rem;
    color: #111;
    font-size: 0.9rem;
    font-weight: 400;
    cursor: help;
}

.rmd-case-specialist-relationship-warning i {
    color: #f0ad00;
}






.rmd-case-form .rmd-modal-actions {
    flex-shrink: 0;
    margin-top: 0;
	padding: 0.75rem;

	border: 1px solid #e0e0e0;
	border-radius: 0.4rem;

	background: #f5f6f7;

}


.rmd-modal-actions-left {
    margin-right: auto;
}

.rmd-modal-actions-right {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.rmd-button-status-toggle {
    background: #fff;
}

.rmd-button-inactivate {
    border-color: #d63638;
    color: #d63638;
}

.rmd-button-inactivate:hover {
    background: #fff5f5;
}

.rmd-button-activate {
    border-color: #008a20;
    color: #008a20;
}

.rmd-button-activate:hover {
    background: #f0fff4;
}


.rmd-link-button {
    padding: 0;
    border: 0;
    background: transparent;
    color: #0073aa;
    cursor: pointer;
    font: inherit;
    text-align: left;
    text-decoration: none;
}

.rmd-link-button:hover {
    text-decoration: underline;
}

.rmd-link-button:disabled {
    color: #666;
    cursor: default;
    text-decoration: none;
}

.rmd-person-modal-backdrop {
    z-index: 10000;
}

.rmd-person-modal-backdrop .rmd-modal {
    display: flex;
    flex-direction: column;
    width: min(1500px, 98vw);
    min-height: 650px;
    max-height: 90vh;
    overflow: hidden;
}



.rmd-consultation-modal-backdrop {
    z-index: 10000;
}

.rmd-case-relationship-modal-backdrop {
    z-index: 10000;
}

.rmd-case-relationship-modal-backdrop .rmd-modal {
    display: flex;
    flex-direction: column;
    width: min(1100px, 96vw);
    min-height: 460px;
    max-height: 90vh;
    overflow: hidden;
    padding: 0;
}

.rmd-case-relationship-modal-header {
    padding: 1.25rem 1.5rem;
    margin-bottom: 0;
    border-bottom: 1px solid #e0e0e0;
}

.rmd-case-relationship-form {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 0;
    padding: 1.25rem 1.5rem;
}

.rmd-case-relationship-content-scroll {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    margin-bottom: 0.75rem;
}

.rmd-case-relationship-readonly-display {
    background: #f8f9fa;
    color: #555;
    cursor: default;
}

.rmd-case-relationship-save-status {
    color: #666;
}

.rmd-case-relationship-form .rmd-modal-actions {
    flex-shrink: 0;
    margin-top: 0;
    padding: 0.75rem;
    border: 1px solid #e0e0e0;
    border-radius: 0.4rem;
    background: #f5f6f7;
}

.rmd-document-modal-backdrop {
    z-index: 10000;
}

.rmd-consultation-modal-backdrop .rmd-modal {
    display: flex;
    flex-direction: column;
    width: min(1100px, 96vw);
    min-height: 560px;
    max-height: 90vh;
    overflow: hidden;
    padding: 0;
}

.rmd-consultation-modal-header {
    padding: 1.25rem 1.5rem;
    margin-bottom: 0;
    border-bottom: 1px solid #e0e0e0;
}

.rmd-consultation-tabs {
    display: flex;
    gap: 0;
    padding: 0 1.5rem;
    border-bottom: 1px solid #e0e0e0;
    background: #fff;
}

.rmd-consultation-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.9rem 1rem;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    cursor: pointer;
    font: inherit;
    color: #555;
}

.rmd-consultation-tab:hover {
    background: #f2f2f2;
}

.rmd-consultation-tab.is-active {
    border-bottom-color: #0073aa;
    color: #111;
    font-weight: 600;
}

.rmd-consultation-tab-icon {
    display: inline-block;
    min-width: 1.1em;
    color: #666;
    text-align: center;
}

.rmd-consultation-tab.is-active .rmd-consultation-tab-icon {
    color: #0073aa;
}

.rmd-consultation-form {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 0;
    padding: 1.25rem 1.5rem;
}

.rmd-consultation-content-scroll {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    margin-bottom: 0.75rem;
}

.rmd-consultation-tab-panel {
    display: none;
}

.rmd-consultation-tab-panel.is-active {
    display: block;
}

.rmd-consultation-overview-grid {
    display: grid;
    gap: 1rem;
}

.rmd-consultation-section-card {
    padding: 1rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
}

.rmd-consultation-section-card h4 {
    margin: 0 0 1rem;
}

.rmd-consultation-date-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 1rem;
}

.rmd-consultation-section-card input[readonly] {
    background: #f8f9fa;
    color: #555;
    cursor: default;
}

.rmd-consultation-save-status {
    margin-right: auto;
    color: #666;
}

.rmd-consultation-form .rmd-modal-actions {
    flex-shrink: 0;
    margin-top: 0;
	padding: 0.75rem;

	border: 1px solid #e0e0e0;
	border-radius: 0.4rem;

	background: #f5f6f7;
}


/* Consultation Notes */

.rmd-consultation-notes-panel {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.rmd-consultation-note-entry {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.rmd-consultation-note-text {
    width: 100%;
    min-height: 95px;
    padding: 0.75rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
    font: inherit;
    resize: vertical;
}

.rmd-consultation-note-entry-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
}

.rmd-consultation-note-save-status {
    color: #666;
}

.rmd-consultation-notes-body {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.rmd-consultation-note-card {
    padding: 0.85rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
}

.rmd-consultation-note-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-bottom: 0.65rem;
    font-style: italic;
}

.rmd-consultation-note-author {
    font-weight: 600;
}

.rmd-consultation-note-text-display {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.rmd-consultation-note-empty {
    padding: 0.85rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
}



@media (max-width: 900px) {
    .rmd-consultation-date-grid {
        grid-template-columns: 1fr;
    }
}



/* Programme Field Configuration */

.rmd-programme-field-config-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

.rmd-programme-field-config-header h2 {
    margin: 0 0 0.25rem;
}

.rmd-programme-field-config-header p {
    margin: 0;
}

.rmd-programme-field-config-help {
    max-width: 420px;
    text-align: right;
}

.rmd-programme-field-config-tabs {
    display: flex;
    gap: 0;
    margin: 0 0 1rem;
    border-bottom: 1px solid #e0e0e0;
    background: #fff;
}

.rmd-programme-field-config-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.75rem 1rem;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    cursor: pointer;
    font: inherit;
    color: #555;
}

.rmd-programme-field-config-tab:hover {
    background: #f2f2f2;
}

.rmd-programme-field-config-tab.is-active {
    border-bottom-color: #0073aa;
    color: #111;
    font-weight: 600;
}

.rmd-programme-field-config-tab-icon {
    display: inline-block;
    min-width: 1.1em;
    color: #666;
    text-align: center;
}

.rmd-programme-field-config-tab.is-active .rmd-programme-field-config-tab-icon {
    color: #0073aa;
}

.rmd-programme-field-config-tab-panel {
    display: none;
}

.rmd-programme-field-config-tab-panel.is-active {
    display: block;
}

.rmd-programme-field-config-panel-header {
    margin-bottom: 1rem;
}

.rmd-programme-field-config-panel-header h3 {
    margin: 0 0 0.25rem;
}

.rmd-programme-field-config-panel-header p {
    margin: 0;
}

.rmd-programme-field-config-table {
    border-collapse: separate;
    border-spacing: 0;
}

.rmd-programme-field-config-table thead th {
    position: sticky;
    top: 0;
    z-index: 10;
    background: #f5f5f5;
    box-shadow: 0 1px 0 #d0d0d0;
}

.rmd-programme-field-config-table input[type="text"],
.rmd-programme-field-config-table input[type="number"] {
    width: 100%;
    padding: 0.4rem 0.5rem;
    border: 1px solid #bbb;
    border-radius: 0.25rem;
    font: inherit;
}

.rmd-programme-field-config-table code {
    white-space: nowrap;
}

.rmd-programme-field-config-checkbox-cell {
    text-align: center;
    vertical-align: middle;
}

.rmd-programme-field-config-actions {
    padding: 0.75rem;
    border-top: 1px solid #e0e0e0;
    border-radius: 0.4rem;
    background: #f5f6f7;
}

.rmd-programme-field-config-save-status {
    margin-right: auto;
    color: #666;
}



/* My Programmes */

.rmd-my-programmes {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.rmd-my-programmes-header h2 {
    margin: 0 0 0.25rem;
}

.rmd-my-programmes-header p {
    margin: 0;
}

.rmd-my-programmes-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.rmd-my-programme-card {
    display: flex;
    gap: 1rem;
    min-height: 150px;
    padding: 1.1rem;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.rmd-my-programme-card:hover {
    border-color: #bbb;
    background: #f9f9f9;
    box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.08);
    text-decoration: none;
}

.rmd-my-programmes .rmd-my-programme-card.rmd-my-programme-defect-card {
    border-color: #f0ad00;
    background: #fff8e5;
}

.rmd-my-programmes .rmd-my-programme-card.rmd-my-programme-defect-card:hover {
    border-color: #d69000;
    background: #fff3cd;
}

.rmd-my-programmes .rmd-my-programme-card.rmd-my-programme-defect-card .rmd-my-programme-card-logo-placeholder {
    border-color: #f0ad00;
    background: #f0ad00;
    color: #fff;
}

.rmd-my-programmes .rmd-my-programme-card.rmd-my-programme-defect-card .rmd-my-programme-card-badge {
    background: #f0ad00;
    color: #fff;
}


.rmd-my-programme-card-logo-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    border: 1px solid #e0e0e0;
    border-radius: 0.4rem;
    background: #f5f6f7;
    color: #666;
    font-size: 1.35rem;
}

.rmd-my-programme-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
}

.rmd-my-programme-card-client {
    color: #666;
    font-size: 0.9rem;
}

.rmd-my-programme-card-programme {
    margin-top: 0.25rem;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.25;
}

.rmd-my-programme-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: auto;
}

.rmd-my-programme-card-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: #f0f0f1;
    color: #333;
    font-size: 0.85rem;
    font-weight: 600;
}

.rmd-my-programme-card-meta {
    color: #666;
    font-size: 0.85rem;
    white-space: nowrap;
}

.rmd-workspace-nav {
    margin-bottom: 0.75rem;
}



/* Login Card */

.rmd-login-card-wrap {
    display: flex;
    justify-content: center;
    padding: 2rem 1rem;
}

.rmd-login-card {
    width: min(720px, 100%);
    padding: 2rem;
    border: 1px solid #ddd;
    border-radius: 0.75rem;
    background: #fff;
    text-align: center;
    box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.06);
}

.rmd-login-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 1rem;
    border-radius: 50%;
    background: #f5f6f7;
    color: #666;
    font-size: 1.75rem;
}

.rmd-login-card h2 {
    margin: 0 0 0.35rem;
    font-size: 2rem;
    line-height: 1.2;
}

.rmd-login-card-subtitle {
    margin: 0;
    color: #555;
    font-size: 1.1rem;
}

.rmd-login-card-text {
    max-width: 460px;
    margin: 1.25rem auto 1.5rem;
    color: #555;
}

.rmd-login-card-action {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.7rem 1.1rem;
    border: 1px solid #333;
    border-radius: 0.35rem;
    background: #333;
    color: #fff;
    font-weight: 600;
    text-decoration: none;
}

.rmd-login-card-action:hover {
    background: #111;
    color: #fff;
    text-decoration: none;
}




.rmd-branded-login {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-height: 100vh;
    overflow: hidden;
    color: #111;
}

.rmd-branded-login-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.rmd-branded-login-logo-row {
    position: absolute;
    top: 1.75rem;
    left: 3rem;
    right: 3rem;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
}

.rmd-branded-login-rsp-logo {
    width: min(235px, 30vw);
    height: auto;
}

.rmd-branded-login-lhr-logo {
    width: min(175px, 24vw);
    height: auto;
}

.rmd-branded-login-panel {
    position: relative;
    z-index: 1;
    width: min(760px, calc(100% - 2rem));
    padding: 9.5rem 0 3rem 8.5rem;
}

.rmd-branded-login-copy {
    max-width: 740px;
    margin-bottom: 3rem;
    margin-bottom: 2.1rem;
}

.rmd-branded-login-kicker {
    margin: 0 0 0.25rem;
    font-size: clamp(1.75rem, 2.2vw, 2.5rem);
    line-height: 1.1;
}

.rmd-branded-login h1 {
    max-width: 740px;
    margin: 0 0 1rem;
    font-size: clamp(2.1rem, 2.8vw, 3.15rem);
    font-weight: 400;
    line-height: 1.12;
}

.rmd-branded-login-subtitle {
    margin: 0;
    color: #555;
    font-size: clamp(1.15rem, 1.5vw, 1.45rem);
    line-height: 1.25;
}

.rmd-branded-login-form {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    width: min(360px, 100%);
}

.rmd-branded-login-form label,
.rmd-branded-login-password-row label {
    font-weight: 400;
}

.rmd-branded-login-form input[type="text"],
.rmd-branded-login-form input[type="password"] {
    width: 100%;
    height: 40px;
    padding: 0.45rem 0.65rem;
    border: 2px solid #08283a;
    border-radius: 0.35rem;
    background: rgba(255, 255, 255, 0.88);
    color: #111;
    font: inherit;
}

.rmd-branded-login-form input[type="text"]::placeholder,
.rmd-branded-login-form input[type="password"]::placeholder {
    color: #777;
}

.rmd-branded-login-password-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.25rem;
}

.rmd-branded-login-password-row a {
    color: #111;
    text-decoration: underline;
}

.rmd-branded-login-remember {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.25rem;
}

.rmd-branded-login-remember input {
    width: auto;
}

.rmd-branded-login-submit {
    align-self: center;
    width: 60%;
    margin-top: 1.05rem;
    padding: 0.5rem 1rem;
    border: 2px solid #08283a;
    border-radius: 0.35rem;
    background: #1f7895;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 600;
}

.rmd-branded-login-submit:hover,
.rmd-branded-login-submit:focus {
    background: #0f5f7a;
}

.rmd-branded-login-error,
.rmd-branded-login-notice {
    width: min(460px, 100%);
    margin: 0 0 1rem;
    padding: 0.65rem 0.75rem;
    border-radius: 0.35rem;
    background: rgba(255, 255, 255, 0.88);
}

.rmd-branded-login-error {
    border: 1px solid #a94442;
    color: #8a1f1d;
}

.rmd-branded-login-notice {
    border: 1px solid #0f766e;
    color: #0f5f59;
}



.rmd-branded-login-footer {
    position: absolute;
    left: 4.75rem;
    bottom: 1.75rem;
    z-index: 2;
    color: #0b3954;
    font-size: 0.95rem;
    line-height: 1.4;
}

.rmd-branded-login-authorised {
    margin-bottom: 0.25rem;
    font-weight: 600;
}

.rmd-branded-login-copyright {
    font-weight: 400;
}



@media (max-width: 900px) {
	.rmd-branded-login {
		min-height: 100vh;
	}

    .rmd-branded-login-logo-row {
        left: 1.5rem;
        right: 1.5rem;
    }

    .rmd-branded-login-panel {
        width: min(680px, calc(100% - 2rem));
        padding: 8.75rem 1.5rem 2.5rem;
    }
	
	.rmd-branded-login-footer {
		left: 1.5rem;
		right: 1.5rem;
	}

}

@media (max-width: 600px) {
	.rmd-branded-login {
		min-height: 100vh;
	}

    .rmd-branded-login-logo-row {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        padding: 1.25rem;
    }

    .rmd-branded-login-panel {
        width: 100%;
        padding: 2.75rem 1.25rem 2rem;
    }

    .rmd-branded-login-password-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.25rem;
    }

	.rmd-branded-login-footer {
		position: relative;
		left: auto;
		right: auto;
		bottom: auto;
		padding: 0 1.25rem 1.5rem;
	}

}









/* Page Header */

.rmd-page-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
	margin-top: 1rem;
}

.rmd-page-header-title {
    flex: 1;
    min-width: 0;
}

.rmd-page-header-user {
    margin-left: auto;
    text-align: right;
}

.rmd-page-header-title h2 {
    margin: 0 0 0.25rem;
}

.rmd-page-header-title p {
    margin: 0;
}

.rmd-page-header-user-actions {
    margin-top: 0.35rem;
    font-size: 0.95rem;
}

.rmd-page-header-user-actions a {
    color: #0073aa;
    text-decoration: none;
}

.rmd-page-header-user-actions a:hover {
    text-decoration: underline;
}




/* Programme Dashboard */

.rmd-programme-dashboard {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}





.rmd-dashboard-kpi-grid {
    display: grid;
    grid-template-columns: repeat(11, minmax(0, 1fr));
    gap: 0.75rem;
}

.rmd-dashboard-kpi-card {
    padding: 1rem;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    background: #fff;
}

.rmd-dashboard-kpi-card-warning {
    border-color: #f0ad00;
    background: #f0ad00;
    color: #fff;
}

.rmd-dashboard-kpi-card-error {
    border-color: #a94442;
    background: #a94442;
    color: #fff;
}

.rmd-dashboard-kpi-card-warning .rmd-dashboard-kpi-label,
.rmd-dashboard-kpi-card-error .rmd-dashboard-kpi-label {
    color: rgba(255, 255, 255, 0.86);
}

.rmd-dashboard-kpi-value {
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.1;
}

.rmd-dashboard-kpi-label {
    margin-top: 0.35rem;
    color: #666;
    font-size: 0.9rem;
}

.rmd-dashboard-grid {
    display: grid;
    gap: 1.25rem;
}

.rmd-dashboard-grid-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rmd-dashboard-panel {
    padding: 1rem;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    background: #fff;
}

.rmd-dashboard-panel h3 {
    margin: 0 0 0.75rem;
}

.rmd-dashboard-table {
    margin-top: 0;
}

.rmd-dashboard-table th,
.rmd-dashboard-table td {
    white-space: nowrap;
}

.rmd-dashboard-table th:first-child,
.rmd-dashboard-table td:first-child {
    white-space: normal;
}



/* Recent Notes */

.rmd-recent-notes-panel {
    margin-bottom: 1.25rem;
}

.rmd-recent-notes-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.rmd-recent-notes-header h3 {
    margin: 0 0 0.25rem;
}

.rmd-recent-notes-table .rmd-recent-notes-row.is-unread td {
    font-weight: 700;
}

.rmd-recent-notes-table .rmd-recent-notes-row.is-unread .rmd-muted {
    font-weight: 600;
}

.rmd-recent-notes-table .rmd-recent-notes-row.is-read td {
    font-weight: 400;
}

.rmd-recent-notes-row {
    cursor: pointer;
}

.rmd-recent-notes-row:hover {
    background: #e8f4fd !important;
}

.rmd-recent-notes-empty-row td {
    color: #666;
}


.rmd-dashboard-quality-table td:nth-child(2),
.rmd-dashboard-quality-table th:nth-child(2) {
    text-align: right;
}


.rmd-dashboard-overdue-row,
.rmd-dashboard-exception-row,
.rmd-dashboard-missing-team-row,
.rmd-dashboard-document-send-exception-row,
.rmd-dashboard-consultant-row,
.rmd-dashboard-hrbp-row,
.rmd-dashboard-org-unit-row {
    cursor: pointer;
}

.rmd-dashboard-overdue-row:hover,
.rmd-dashboard-exception-row:hover,
.rmd-dashboard-missing-team-row:hover,
.rmd-dashboard-document-send-exception-row:hover,
.rmd-dashboard-consultant-row:hover,
.rmd-dashboard-hrbp-row:hover,
.rmd-dashboard-org-unit-row:hover {
    background: #f9f9f9;
}



/* Consultant Case List */

.rmd-consultant-case-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.rmd-consultant-case-list-header h2 {
    margin: 0 0 1rem;
}

.rmd-consultant-case-list-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.rmd-consultant-case-list-summary-item {
    padding: 0.85rem 1rem;
    border: 1px solid #e0e0e0;
    border-radius: 0.4rem;
    background: #f8f9fa;
}

.rmd-consultant-case-list-summary-label {
    margin-bottom: 0.35rem;
    color: #666;
    font-size: 0.85rem;
}

.rmd-consultant-case-list-summary-value {
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.25;
}

.rmd-consultant-case-list-summary-number {
    font-size: 1.5rem;
}



/* Consultant Workspace */

.rmd-consultant-workspace-list-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rmd-consultant-workspace-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rmd-consultant-workspace-table td,
.rmd-consultant-workspace-table th {
    vertical-align: top;
}



/* HRBP Workspace */

.rmd-hrbp-workspace {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.rmd-hrbp-workspace-kpi-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.rmd-hrbp-case-message-grid {
    align-items: start;
}

.rmd-hrbp-case-message-table th,
.rmd-hrbp-case-message-table td {
    white-space: nowrap;
}

.rmd-hrbp-case-message-table th:nth-child(3),
.rmd-hrbp-case-message-table td:nth-child(3) {
    white-space: normal;
    overflow-wrap: anywhere;
}

.rmd-case-message-age-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3.2rem;
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    background: #f0f0f1;
    color: #333;
    font-size: 0.85rem;
    font-weight: 600;
}

.rmd-case-message-age-badge.rmd-case-message-age-warning {
    background: #fff8e5;
    color: #7a4b00;
}

.rmd-case-message-age-badge.rmd-case-message-age-high {
    background: #ffe8d1;
    color: #8a3b00;
}

.rmd-case-message-age-badge.rmd-case-message-age-critical {
    background: #fbeaea;
    color: #a94442;
}

.rmd-hrbp-case-message-row.rmd-case-message-age-warning td:first-child,
.rmd-hrbp-case-message-row.rmd-case-message-age-high td:first-child,
.rmd-hrbp-case-message-row.rmd-case-message-age-critical td:first-child {
    font-weight: 600;
}

.rmd-hrbp-data-quality-table td:last-child,
.rmd-hrbp-data-quality-table th:last-child {
    text-align: right;
}

/* Consultant Data Quality Workbenches */

.rmd-consultant-quality-grid {
    align-items: start;
}

.rmd-consultant-quality-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.rmd-consultant-quality-panel-header h3 {
    margin: 0;
}

.rmd-consultant-quality-table,
.rmd-consultant-workbench-summary-table,
.rmd-consultant-workbench-detail-table {
    margin-top: 0;
}

.rmd-consultant-quality-table td:last-child,
.rmd-consultant-quality-table th:last-child,
.rmd-consultant-workbench-summary-table td:last-child,
.rmd-consultant-workbench-summary-table th:last-child {
    text-align: right;
}

.rmd-consultant-quality-row,
.rmd-consultant-workbench-filter-row {
    cursor: pointer;
}

.rmd-consultant-quality-row:hover,
.rmd-consultant-workbench-filter-row:hover,
.rmd-consultant-workbench-filter-row.is-active {
    background: #e8f4fd !important;
}

.rmd-consultant-workbench {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.rmd-consultant-workbench-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rmd-consultant-workbench-issue-row {
    cursor: pointer;
}

.rmd-consultant-workbench-issue-row:hover {
    background: #e8f4fd !important;
}





@media (max-width: 1200px) {
    .rmd-my-programmes-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rmd-dashboard-kpi-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .rmd-dashboard-grid-two {
        grid-template-columns: 1fr;
    }
	
    .rmd-consultant-case-list-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
	
}

@media (max-width: 700px) {
    .rmd-my-programmes-grid {
        grid-template-columns: 1fr;
    }

    .rmd-my-programme-card {
        min-height: 0;
    }

    .rmd-my-programme-card-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .rmd-dashboard-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
	
    .rmd-consultant-case-list-summary {
        grid-template-columns: 1fr;
    }	
	
}


/* Admin Toolbox */

.rmd-admin-toolbox {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.rmd-admin-toolbox-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.rmd-admin-toolbox-header h2 {
    margin: 0 0 0.25rem;
}

.rmd-admin-toolbox-header p {
    margin: 0;
}

.rmd-admin-toolbox-header-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.rmd-admin-toolbox-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.rmd-admin-toolbox-summary-card {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.rmd-admin-toolbox-summary-value {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
}

.rmd-admin-toolbox-summary-label {
    font-weight: 600;
}

.rmd-admin-toolbox-summary-meta {
    color: #666;
    font-size: 0.9rem;
}

.rmd-admin-toolbox-section h3 {
    margin: 0 0 0.25rem;
}

.rmd-admin-toolbox-section p {
    margin: 0 0 1rem;
}

.rmd-admin-toolbox-tile-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.rmd-admin-toolbox-tile {
    display: flex;
    gap: 0.9rem;
    min-height: 120px;
    padding: 1rem;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    background: #fff;
    color: inherit;
    text-decoration: none;
}

.rmd-admin-toolbox-tile:hover {
    border-color: #bbb;
    background: #f9f9f9;
    text-decoration: none;
}

.rmd-admin-toolbox-tile.is-disabled {
    background: #f8f9fa;
    color: #666;
}

.rmd-admin-toolbox-tile-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border: 1px solid #e0e0e0;
    border-radius: 0.4rem;
    background: #f5f6f7;
    color: #555;
    font-size: 1.1rem;
}

.rmd-admin-toolbox-tile-body {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.rmd-admin-toolbox-tile-title {
    font-weight: 700;
}

.rmd-admin-toolbox-tile-description {
    margin-top: 0.25rem;
    color: #555;
    font-size: 0.95rem;
    line-height: 1.35;
}

.rmd-admin-toolbox-tile-meta {
    margin-top: auto;
    color: #666;
    font-size: 0.85rem;
    font-weight: 600;
}



/* Signature Integrations Admin */


.rmd-signature-provider-selector-card h3 {
    margin: 0 0 0.25rem;
}

.rmd-signature-provider-selector-card p {
    margin: 0 0 1rem;
}

.rmd-signature-provider-selector {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    padding: 0;
    border: 0;
    margin: 0;
}

.rmd-signature-provider-option {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-height: 92px;
    padding: 1rem;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    background: #fff;
    cursor: pointer;
    font-weight: 400;
}

.rmd-signature-provider-option:hover,
.rmd-signature-provider-option.is-selected {
    border-color: #0f766e;
    background: #f0fdfa;
}

.rmd-signature-provider-option input {
    flex: 0 0 auto;
    margin: 0;
}

.rmd-signature-provider-option-body {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.rmd-signature-provider-option-body strong {
    font-weight: 700;
}

.rmd-signature-provider-option-body span {
    color: #666;
    font-size: 0.92rem;
}

.rmd-signature-provider-panel[hidden] {
    display: none !important;
}

.rmd-signature-provider-panel h3 {
    margin: 0 0 0.25rem;
}

.rmd-signature-provider-panel p {
    margin: 0 0 1rem;
}

.rmd-signature-provider-note {
    display: inline-flex;
    align-items: center;
    margin: 0 0 1rem;
    padding: 0.35rem 0.65rem;
    border: 1px solid #ddd;
    border-radius: 999px;
    background: #f8f9fa;
    color: #333;
    font-size: 0.92rem;
    font-weight: 600;
}

.rmd-signature-provider-placeholder {
    margin-bottom: 1rem;
    padding: 1rem;
    border: 1px solid #f0ad00;
    border-radius: 0.5rem;
    background: #fff8e5;
}

.rmd-signature-provider-placeholder strong {
    display: block;
    margin-bottom: 0.25rem;
}

.rmd-signature-provider-placeholder p {
    margin: 0;
}

.rmd-signature-provider-actions {
    padding: 0.75rem;
    border: 1px solid #e0e0e0;
    border-radius: 0.4rem;
    background: #f5f6f7;
}

.rmd-signature-provider-actions .rmd-signature-save-status {
    margin-right: auto;
}

.rmd-signature-disabled-form input:disabled,
.rmd-signature-disabled-form select:disabled {
    background: #f8f9fa;
    color: #555;
    cursor: not-allowed;
}

@media (max-width: 900px) {
    .rmd-signature-provider-selector {
        grid-template-columns: 1fr;
    }
}

.rmd-signature-admin {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.rmd-signature-admin-card h3 {
    margin: 0 0 0.25rem;
}

.rmd-signature-admin-card p {
    margin: 0 0 1rem;
}

.rmd-signature-admin-status-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.rmd-signature-admin-status-card {
    padding: 1rem;
    border: 1px solid #e0e0e0;
    border-radius: 0.4rem;
    background: #f8f9fa;
}

.rmd-signature-admin-status-card span,
.rmd-signature-admin-status-card strong {
    display: block;
}

.rmd-signature-admin-status-card strong {
    margin: 0.25rem 0;
    font-size: 1.05rem;
}

.rmd-signature-admin-status-label {
    color: #666;
    font-size: 0.9rem;
    font-weight: 600;
}

@media (max-width: 900px) {
    .rmd-signature-admin-status-grid {
        grid-template-columns: 1fr;
    }
}


.rmd-signature-status-diagnostics-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
    margin-top: 1rem;
    align-items: start;
}

.rmd-signature-status-diagnostics-grid .rmd-card {
    margin: 0;
}

.rmd-signature-status-diagnostics-grid pre {
    max-height: 360px;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
}

@media (max-width: 900px) {
    .rmd-signature-status-diagnostics-grid {
        grid-template-columns: 1fr;
    }
}



/* Programme Administration */

.rmd-my-programmes-section h3 {
    margin: 0 0 0.75rem;
}

.rmd-programme-row {
    cursor: pointer;
}

.rmd-programme-row:hover {
    background: #f9f9f9;
}

.rmd-programme-form .rmd-modal-actions {
    margin-top: 1.25rem;
    padding: 0.75rem;
    border-top: 1px solid #e0e0e0;
    border-radius: 0.4rem;
    background: #f5f6f7;
}

.rmd-programme-save-status {
    margin-right: auto;
    color: #666;
}

.rmd-programme-admin-header {
    margin-bottom: 1rem;
}

.rmd-programme-admin-header h2 {
    margin: 0 0 0.25rem;
}

.rmd-programme-admin-header p {
    margin: 0;
}


/* Client Administration */

.rmd-client-row {
    cursor: pointer;
}

.rmd-client-row:hover {
    background: #f9f9f9;
}

.rmd-client-form .rmd-modal-actions {
    margin-top: 1.25rem;
    padding: 0.75rem;
    border-top: 1px solid #e0e0e0;
    border-radius: 0.4rem;
    background: #f5f6f7;
}

.rmd-client-status-note {
    margin-top: 1rem;
}



/* Import Administration */

.rmd-import-admin {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.rmd-import-admin-header h2,
.rmd-import-upload h3,
.rmd-import-batches h3,
.rmd-import-policy h3 {
    margin: 0 0 0.25rem;
}

.rmd-import-policy-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.rmd-import-policy-grid div {
    padding: 0.75rem;
    border: 1px solid #e0e0e0;
    border-radius: 0.35rem;
    background: #f8f9fa;
}

.rmd-import-policy-grid strong,
.rmd-import-policy-grid span {
    display: block;
}

.rmd-import-policy-grid span {
    margin-top: 0.25rem;
    color: #555;
    font-size: 0.9rem;
    line-height: 1.35;
}

.rmd-import-upload-actions {
    padding: 0.75rem;
    border-top: 1px solid #e0e0e0;
    border-radius: 0.4rem;
    background: #f5f6f7;
}


.rmd-import-file-action-row {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
}

.rmd-import-file-action-row .rmd-import-file-field {
    flex: 1;
    margin-bottom: 0;
}

.rmd-import-file-action-row .rmd-import-upload-actions {
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.rmd-import-file-action-row .rmd-import-upload-status {
    margin-right: 0.75rem;
}


.rmd-import-option-layout {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.rmd-import-option-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
}

.rmd-import-option-group {
    padding: 0;
    border: 0;
    margin: 0;
}

.rmd-import-option-group legend,
.rmd-import-file-field {
    display: block;
    margin: 0 0 0.45rem;
    font-weight: 600;
}

.rmd-import-radio-grid {
    display: grid;
    gap: 0.75rem;
}

.rmd-import-option-group-type .rmd-import-radio-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rmd-import-option-group-mode .rmd-import-radio-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rmd-import-option-group-lookup-type .rmd-import-radio-grid {
    grid-template-columns: minmax(0, 1fr);
    max-width: 22rem;
}

.rmd-import-lookup-help {
    margin: 0.55rem 0 0;
}

.rmd-import-radio-card {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid #ccc;
    border-radius: 0.35rem;
    background: #fff;
    cursor: pointer;
    font-weight: 600;
}

.rmd-import-radio-card:hover {
    background: #f8f9fa;
}

.rmd-import-radio-card:has(input:checked) {
    border-color: #333;
    background: #f5f6f7;
}

.rmd-import-radio-card input {
    width: auto;
    margin: 0;
}

.rmd-import-file-field input {
    display: block;
    width: 100%;
    margin-top: 0.45rem;
    padding: 0.45rem 0.55rem;
    border: 1px solid #bbb;
    border-radius: 0.25rem;
    font: inherit;
}

.rmd-import-upload-status {
    margin-right: auto;
    color: #666;
}

.rmd-import-batch-row {
    cursor: pointer;
}

.rmd-import-batch-row:hover {
    background: #f9f9f9;
}

.rmd-import-batch-detail-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

.rmd-import-batch-detail-header h3 {
    margin: 0 0 0.25rem;
}

.rmd-import-batch-detail-header p {
    margin: 0;
}

.rmd-import-batch-actions {
    display: flex;
    gap: 0.75rem;
}

.rmd-import-batch-message {
    padding: 0.75rem;
    border: 1px solid #e0e0e0;
    border-radius: 0.35rem;
    background: #f8f9fa;
}


.rmd-import-batch-message-action-row {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 3rem;
}

.rmd-import-batch-message-action-row .rmd-import-batch-message {
    flex: 1;
    margin: 0;
}

.rmd-import-batch-message-action-row .rmd-import-batch-actions {
    flex: 0 0 auto;
    padding-top: 0.15rem;
}



.rmd-import-summary-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.rmd-import-summary-card {
    padding: 0.75rem;
    border: 1px solid #e0e0e0;
    border-radius: 0.35rem;
    background: #fff;
}

.rmd-import-summary-card.has-value {
    color: #fff;
}

.rmd-import-summary-card.has-value span {
    color: rgba(255, 255, 255, 0.86);
}

.rmd-import-summary-card-rows.has-value {
    border-color: #2f6fa3;
    background: #2f6fa3;
}

.rmd-import-summary-card-valid.has-value,
.rmd-import-summary-card-ready.has-value,
.rmd-import-summary-card-imported.has-value {
    border-color: #2f7d55;
    background: #2f7d55;
}

.rmd-import-summary-card-warnings.has-value {
    border-color: #f0ad00;
    background: #f0ad00;
}

.rmd-import-summary-card-errors.has-value,
.rmd-import-summary-card-not-imported.has-value {
    border-color: #a94442;
    background: #a94442;
}

.rmd-import-summary-grid strong,
.rmd-import-summary-grid span {
    display: block;
}

.rmd-import-summary-grid strong {
    font-size: 1.35rem;
}

.rmd-import-summary-grid span {
    color: #666;
    font-size: 0.9rem;
}

.rmd-import-row-table td {
    vertical-align: top;
}

.rmd-import-row-data {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 0.25rem 0.75rem;
    margin: 0;
}

.rmd-import-row-data dt {
    font-weight: 600;
}

.rmd-import-row-data dd {
    margin: 0;
    overflow-wrap: anywhere;
}


.rmd-import-row-filter-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    padding: 0.75rem;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    background: #fff;
}

.rmd-import-row-filter-toolbar label {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-weight: 600;
}

.rmd-import-row-filter-toolbar select,
.rmd-import-row-filter-toolbar input {
    min-width: 220px;
    padding: 0.4rem 0.5rem;
    border: 1px solid #bbb;
    border-radius: 0.25rem;
    font: inherit;
}

.rmd-import-row-validation-filter-label {
    flex: 1;
}

.rmd-import-row-validation-filter-label input {
    width: 100%;
}

.rmd-import-row-filter-summary {
    margin-left: 0.75rem;
    white-space: nowrap;
}

.rmd-import-row-filter-toolbar .rmd-import-batch-actions {
    margin-left: auto;
}


@media (max-width: 1200px) {
    .rmd-import-policy-grid,
    .rmd-import-option-group-type .rmd-import-radio-grid,
    .rmd-import-option-group-mode .rmd-import-radio-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rmd-import-option-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .rmd-import-policy-grid,
    .rmd-import-summary-grid,
    .rmd-import-option-group-type .rmd-import-radio-grid,
    .rmd-import-option-group-mode .rmd-import-radio-grid {
        grid-template-columns: 1fr;
    }
}


/* Employee Journey Report */

.rmd-employee-journey {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.rmd-employee-journey-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.rmd-employee-journey-header h2 {
    margin: 0 0 0.25rem;
}

.rmd-employee-journey-header p {
    margin: 0;
}

.rmd-employee-journey-header-actions,
.rmd-dashboard-header-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}


.rmd-employee-journey-chart-panel {
    padding: 1rem;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    background: #fff;
}

.rmd-employee-journey-chart-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.rmd-employee-journey-chart-header h3 {
    margin: 0 0 0.25rem;
}

.rmd-employee-journey-chart-header p {
    margin: 0;
}

.rmd-employee-journey-chart-status {
    color: #666;
    font-size: 0.95rem;
    text-align: right;
}

.rmd-employee-journey-chart-status.is-error {
    color: #d63638;
    font-weight: 600;
}

.rmd-employee-journey-chart-wrap {
    position: relative;
    width: 100%;
    height: 450px;
}

.rmd-employee-journey-chart-canvas {
    width: 100% !important;
    height: 100% !important;
}

.rmd-employee-journey-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.rmd-employee-journey-panel {
    padding: 1rem;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    background: #fff;
}

.rmd-employee-journey-panel h3 {
    margin: 0 0 0.75rem;
}

.rmd-employee-journey-table {
    margin-top: 0;
}

.rmd-employee-journey-summary-row {
    cursor: pointer;
}

.rmd-employee-journey-summary-row:hover,
.rmd-employee-journey-summary-row.is-active {
    background: #e8f4fd !important;
}

.rmd-employee-journey-detail-row {
    cursor: pointer;
}

.rmd-employee-journey-detail-row:hover {
    background: #e8f4fd !important;
}

.rmd-employee-journey-summary-row.is-active td:first-child {
    font-weight: 700;
}

.rmd-employee-journey-detail-panel {
    padding: 1rem;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    background: #fff;
}

.rmd-employee-journey-detail-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.rmd-employee-journey-detail-header h3 {
    margin: 0;
}

.rmd-employee-journey-current-filter {
    color: #666;
    font-size: 0.95rem;
}

.rmd-employee-journey-detail-table {
    margin-top: 0;
}

.rmd-employee-journey-detail-table th,
.rmd-employee-journey-detail-table td {
    white-space: nowrap;
}

.rmd-employee-journey-detail-table th:first-child,
.rmd-employee-journey-detail-table td:first-child,
.rmd-employee-journey-detail-table th:nth-child(2),
.rmd-employee-journey-detail-table td:nth-child(2),
.rmd-employee-journey-detail-table th:nth-child(4),
.rmd-employee-journey-detail-table td:nth-child(4),
.rmd-employee-journey-detail-table th:nth-child(5),
.rmd-employee-journey-detail-table td:nth-child(5) {
    white-space: normal;
}

@media (max-width: 1200px) {
    .rmd-employee-journey-grid {
        grid-template-columns: 1fr;
    }
}


/* Programme Lookup Configuration */

.rmd-programme-lookup-config-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

.rmd-programme-lookup-config-header h2 {
    margin: 0 0 0.25rem;
}

.rmd-programme-lookup-config-header p {
    margin: 0;
}

.rmd-programme-lookup-config-help {
    max-width: 460px;
    text-align: right;
}


.rmd-programme-lookup-config-section {
    margin-top: 1.25rem;
}

.rmd-programme-lookup-config-section:first-of-type {
    margin-top: 0;
}

.rmd-programme-lookup-config-section-header {
    margin-bottom: 0.75rem;
}

.rmd-programme-lookup-config-section-header h3 {
    margin: 0 0 0.25rem;
}

.rmd-programme-lookup-config-section-header p {
    margin: 0;
}

.rmd-programme-lookup-config-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.rmd-programme-lookup-config-card {
    display: flex;
    gap: 0.9rem;
    min-height: 130px;
    width: 100%;
    border-color: #ddd;
    color: inherit;
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.rmd-programme-lookup-config-card:hover,
.rmd-programme-lookup-config-card.is-active {
    border-color: #bbb;
    background: #f9f9f9;
}

.rmd-programme-lookup-config-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border: 1px solid #e0e0e0;
    border-radius: 0.4rem;
    background: #f5f6f7;
    color: #555;
    font-size: 1.1rem;
}

.rmd-programme-lookup-config-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
}

.rmd-programme-lookup-config-card-title {
    font-weight: 700;
}

.rmd-programme-lookup-config-card-description {
    margin-top: 0.25rem;
    color: #555;
    font-size: 0.95rem;
    line-height: 1.35;
}

.rmd-programme-lookup-config-card-meta {
    margin-top: auto;
    color: #666;
    font-size: 0.85rem;
    font-weight: 600;
}

.rmd-programme-lookup-config-modal {
    width: min(1200px, 96vw);
}

.rmd-programme-lookup-config-modal .rmd-modal-header p {
    margin: 0.25rem 0 0;
}

.rmd-programme-lookup-config-table-wrap {
    max-height: 55vh;
    overflow: auto;
}

.rmd-programme-lookup-config-table {
    border-collapse: separate;
    border-spacing: 0;
    margin-top: 0;
}

.rmd-programme-lookup-config-table thead th {
    position: sticky;
    top: 0;
    z-index: 10;
    background: #f5f5f5;
    box-shadow: 0 1px 0 #d0d0d0;
}

.rmd-programme-lookup-config-table input[type="text"],
.rmd-programme-lookup-config-table input[type="number"] {
    width: 100%;
    padding: 0.4rem 0.5rem;
    border: 1px solid #bbb;
    border-radius: 0.25rem;
    font: inherit;
}

.rmd-programme-lookup-config-table th:nth-last-child(-n+3),
.rmd-programme-lookup-config-table td:nth-last-child(-n+3),
.rmd-programme-lookup-config-checkbox-cell {
    text-align: center;
}

.rmd-programme-lookup-config-no-default {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.75rem;
    font-weight: 600;
}

.rmd-programme-lookup-config-actions {
    padding: 0.75rem;
    border-top: 1px solid #e0e0e0;
    border-radius: 0.4rem;
    background: #f5f6f7;
}

.rmd-programme-lookup-config-save-status {
    margin-right: auto;
    color: #666;
}


.rmd-programme-lookup-config-order-column {
    width: 90px;
}

.rmd-programme-lookup-config-order-column input[type="number"] {
    width: 100%;
}



@media (max-width: 1200px) {
    
.rmd-programme-lookup-config-section {
    margin-top: 1.25rem;
}

.rmd-programme-lookup-config-section:first-of-type {
    margin-top: 0;
}

.rmd-programme-lookup-config-section-header {
    margin-bottom: 0.75rem;
}

.rmd-programme-lookup-config-section-header h3 {
    margin: 0 0 0.25rem;
}

.rmd-programme-lookup-config-section-header p {
    margin: 0;
}

.rmd-programme-lookup-config-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    
.rmd-programme-lookup-config-section {
    margin-top: 1.25rem;
}

.rmd-programme-lookup-config-section:first-of-type {
    margin-top: 0;
}

.rmd-programme-lookup-config-section-header {
    margin-bottom: 0.75rem;
}

.rmd-programme-lookup-config-section-header h3 {
    margin: 0 0 0.25rem;
}

.rmd-programme-lookup-config-section-header p {
    margin: 0;
}

.rmd-programme-lookup-config-card-grid {
        grid-template-columns: 1fr;
    }

    .rmd-programme-lookup-config-header {
        flex-direction: column;
    }

    .rmd-programme-lookup-config-help {
        max-width: none;
        text-align: left;
    }
}


/* Document Modal Protected Files */

.rmd-document-modal-backdrop .rmd-modal {
    display: flex;
    flex-direction: column;
    width: min(1200px, 96vw);
    min-height: 620px;
    max-height: 90vh;
    overflow: hidden;
    padding: 0;
}

.rmd-document-modal-header {
    padding: 1.25rem 1.5rem;
    margin-bottom: 0;
    border-bottom: 1px solid #e0e0e0;
}

.rmd-document-tabs {
    display: flex;
    gap: 0;
    padding: 0 1.5rem;
    border-bottom: 1px solid #e0e0e0;
    background: #fff;
}

.rmd-document-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.9rem 1rem;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    cursor: pointer;
    font: inherit;
    color: #555;
}

.rmd-document-tab:hover {
    background: #f2f2f2;
}

.rmd-document-tab.is-active {
    border-bottom-color: #0073aa;
    color: #111;
    font-weight: 600;
}

.rmd-document-tab-icon {
    display: inline-block;
    min-width: 1.1em;
    color: #666;
    text-align: center;
}

.rmd-document-tab-icon i {
    width: 1.1em;
    text-align: center;
}

.rmd-document-tab.is-active .rmd-document-tab-icon {
    color: #0073aa;
}

.rmd-document-tab-panel {
    display: none;
}

.rmd-document-tab-panel.is-active {
    display: block;
}


.rmd-document-form {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 0;
    padding: 1.25rem 1.5rem;
}

.rmd-document-content-scroll {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    margin-bottom: 0.75rem;
}

.rmd-document-overview-grid {
    display: grid;
    gap: 1rem;
}

.rmd-document-section-card {
    padding: 1rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
}

.rmd-document-section-card h4 {
    margin: 0 0 1rem;
}

.rmd-document-current-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

.rmd-document-current-header h4 {
    margin: 0;
}

.rmd-document-current-stage {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: #f0f0f1;
    color: #333;
    font-size: 0.9rem;
    font-weight: 600;
    white-space: nowrap;
}

.rmd-document-current-summary {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 0.6rem 1rem;
    margin: 0 0 1rem;
}

.rmd-document-current-summary dt {
    font-weight: 600;
}

.rmd-document-current-summary dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.rmd-document-current-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}


.rmd-document-stage-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(320px, 1.4fr);
    gap: 1rem;
    align-items: end;
}

.rmd-document-stage-grid label {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-weight: 600;
}

.rmd-document-stage-grid input[type="date"],
.rmd-document-stage-grid input[type="file"] {
    width: 100%;
    padding: 0.45rem 0.55rem;
    border: 1px solid #bbb;
    border-radius: 0.25rem;
    font: inherit;
}

.rmd-document-upload-action {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
}

.rmd-document-file-history-header,
.rmd-document-file-access-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.rmd-document-file-history-header h4,
.rmd-document-file-access-header h4 {
    margin: 0;
}

.rmd-document-file-upload-status,
.rmd-document-save-status {
    color: #666;
}

.rmd-document-file-history-table,
.rmd-document-file-access-table {
    margin-top: 0;
}

.rmd-document-file-history-table th,
.rmd-document-file-history-table td,
.rmd-document-file-access-table th,
.rmd-document-file-access-table td {
    white-space: nowrap;
}

.rmd-document-file-history-table th:nth-child(3),
.rmd-document-file-history-table td:nth-child(3),
.rmd-document-file-access-table th:nth-child(6),
.rmd-document-file-access-table td:nth-child(6) {
    white-space: normal;
    overflow-wrap: anywhere;
}

.rmd-document-form .rmd-modal-actions {
    flex-shrink: 0;
    margin-top: 0;
	padding: 0.75rem;

	border: 1px solid #e0e0e0;
	border-radius: 0.4rem;

	background: #f5f6f7;
}

.rmd-document-definition-lock-note {
    margin: 0 0 1rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid #ddd;
    border-radius: 0.35rem;
    background: #f8f9fa;
    color: #555;
}

.rmd-document-definition-lock-note[hidden] {
    display: none !important;
}

.rmd-document-definition-locked-field {
    background: #f8f9fa;
    color: #555;
    cursor: default;
}

select.rmd-document-definition-locked-field {
    pointer-events: none;
}

.rmd-document-definition-is-locked .rmd-document-definition-locked-field:focus {
    outline: 1px solid #bbb;
}



/* Document Workflow */

.rmd-document-workflow-status-strip {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 0.75rem;

    padding: 1rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;

    background: #fff;
}

.rmd-document-workflow-status-card {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 54px;
    min-width: 0;
    padding: 0.7rem 0.5rem;

    border: 1px solid #dcdcde;
    border-radius: 0.4rem;

    background: #f8f9fa;
    color: #333;

    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.15;
    text-align: center;
}

.rmd-document-workflow-status-card.is-current {
    border-color: #0f766e;
    background: #0f766e;
    color: #fff;
}

@media (max-width: 1200px) {
    .rmd-document-workflow-status-strip {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .rmd-document-workflow-status-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


.rmd-document-workflow-lhr-draft {
    margin-top: 0.75rem;
    padding: 0.75rem 1rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
}

.rmd-document-workflow-lhr-message {
    margin: 0 0 0.75rem;
    color: #666;
}

.rmd-document-workflow-lhr-draft-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    align-items: stretch;
}

.rmd-document-workflow-draft-card {
    display: flex;
    flex-direction: column;
    min-height: 220px;
    padding: 1rem 2rem 0.75rem;
    border: 1px solid #ddd;
    border-radius: 0.25rem;
    background: #fff;
}

.rmd-document-workflow-draft-card h4,
.rmd-document-submit-review-card h4 {
    margin: 0 0 0.35rem;
    color: #0b3954;
    font-size: 1rem;
}

.rmd-document-workflow-draft-card p {
    margin: 0;
}

.rmd-document-template-placeholder-label,
.rmd-document-draft-file-label {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-top: 1.25rem;
    font-weight: 600;
}

.rmd-document-template-placeholder-label span,
.rmd-document-draft-file-label span {
    color: #777;
}

.rmd-document-template-placeholder,
.rmd-document-draft-file-label input[type="file"] {
    width: 100%;
    padding: 0.45rem 0.55rem;
    border: 1px solid #bbb;
    border-radius: 0.25rem;
    background: #fff;
    font: inherit;
}

.rmd-document-workflow-draft-card-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-top: auto;
    padding-top: 0.75rem;
}

.rmd-document-submit-review-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    margin-top: 0.75rem;
    padding: 0.75rem 1rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
}

.rmd-document-submit-review-card p {
    margin: 0;
}

.rmd-document-generate-draft-status,
.rmd-document-file-upload-status {
    color: #666;
}

.rmd-document-workflow-programme-director-draft-required {
    min-height: 190px;
    margin-top: 0.75rem;
    padding: 1rem 1.25rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
}

.rmd-document-workflow-pd-message {
    margin: 0;
    color: #111;
}

.rmd-document-workflow-lhr-under-review,
.rmd-document-workflow-lhr-sent,
.rmd-document-workflow-programme-director-drafted,
.rmd-document-workflow-programme-director-under-review,
.rmd-document-workflow-programme-director-ready-to-send,
.rmd-document-workflow-programme-director-sent {
    margin-top: 0.75rem;
    padding: 0.75rem 1rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
}

.rmd-document-review-decision-card,
.rmd-document-send-letter-card,
.rmd-document-refresh-letter-card,
.rmd-document-save-letter-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    margin-top: 0.75rem;
    padding: 0.75rem 1rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
}

.rmd-document-review-decision-card h4,
.rmd-document-send-letter-card h4,
.rmd-document-refresh-letter-card h4,
.rmd-document-save-letter-card h4 {
    margin: 0 0 0.35rem;
    color: #0b3954;
    font-size: 1rem;
}

.rmd-document-review-decision-card p,
.rmd-document-send-letter-card p,
.rmd-document-refresh-letter-card p,
.rmd-document-save-letter-card p {
    margin: 0;
}

.rmd-document-review-decision-actions,
.rmd-document-send-letter-actions,
.rmd-document-refresh-letter-actions,
.rmd-document-save-letter-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.75rem;
}

.rmd-document-return-for-update {
    border-color: #f97316;
    background: #f97316;
    color: #fff;
}

.rmd-document-return-for-update:hover {
    border-color: #fb923c;
    background: #fb923c;
}

.rmd-document-send-letter-card .rmd-document-send-signature,
.rmd-document-refresh-letter-card .rmd-document-refresh-signature,
.rmd-document-save-letter-card .rmd-document-retrieve-signature {
    min-width: 190px;
}

.rmd-document-latest-file-card {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
}

.rmd-document-latest-file-card h4 {
    margin: 0 0 0.85rem;
    color: #0b3954;
    font-size: 1rem;
}

.rmd-document-latest-file-meta {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 0.45rem 1rem;
    align-items: start;
}

.rmd-document-latest-file-label {
    color: #0b3954;
    font-weight: 600;
}

.rmd-document-latest-file-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.85rem;
}

.rmd-document-latest-file-action {
    text-decoration: none;
}

@media (max-width: 900px) {
    .rmd-document-workflow-lhr-draft-grid,
    .rmd-document-submit-review-card,
    .rmd-document-review-decision-card,
    .rmd-document-send-letter-card,
    .rmd-document-refresh-letter-card,
    .rmd-document-save-letter-card {
        grid-template-columns: 1fr;
    }

    .rmd-document-submit-review-card .rmd-button {
        justify-self: start;
    }

    .rmd-document-review-decision-actions,
    .rmd-document-send-letter-actions,
    .rmd-document-refresh-letter-actions,
    .rmd-document-save-letter-actions {
        justify-content: flex-start;
    }

    .rmd-document-latest-file-meta {
        grid-template-columns: 1fr;
    }
}


/* Document Signature */

.rmd-document-signature-poc-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.rmd-document-signature-poc-header h4 {
    margin: 0 0 0.25rem 0;
}

.rmd-document-signature-poc-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.rmd-document-signature-poc-panel {
    padding: 1rem;
    border: 1px solid #e0e0e0;
    border-radius: 0.5rem;
    background: #fff;
}

.rmd-document-signature-poc-panel h5 {
    margin: 0 0 0.75rem 0;
}

.rmd-document-signature-poc-dl {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 0.5rem 1rem;
    margin: 0;
}

.rmd-document-signature-poc-dl dt {
    font-weight: 600;
}

.rmd-document-signature-poc-dl dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.rmd-document-signature-poc-error-panel {
    margin-top: 1rem;
}

.rmd-document-signature-error-display {
    min-height: 2rem;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

@media (max-width: 900px) {
    .rmd-document-signature-poc-header {
        flex-direction: column;
    }

    .rmd-document-signature-poc-grid {
        grid-template-columns: 1fr;
    }
}


/* Programme User Administration */

.rmd-programme-user-admin {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.rmd-programme-user-admin-header h2 {
    margin: 0 0 0.25rem;
}

.rmd-programme-user-admin-header p {
    margin: 0;
}

.rmd-programme-user-row {
    cursor: pointer;
}

.rmd-programme-user-row:hover {
    background: #f9f9f9;
}

.rmd-programme-user-form .rmd-modal-actions {
    margin-top: 1.25rem;
    padding: 0.75rem;
    border-top: 1px solid #e0e0e0;
    border-radius: 0.4rem;
    background: #f5f6f7;
}

.rmd-programme-user-save-status {
    margin-right: auto;
    color: #666;
}


.rmd-programme-user-toolbar {
    justify-content: space-between;
    padding: 0.75rem;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    background: #fff;
}

.rmd-programme-user-toolbar-summary {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-left: auto;
}

.rmd-programme-user-summary {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.45rem 0.65rem;
    border: 1px solid #ddd;
    border-radius: 0.25rem;
    background: #f8f9fa;
    white-space: nowrap;
}

.rmd-programme-user-summary-item {
    font-size: 0.95rem;
}


.rmd-programme-user-heading-filter {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.rmd-programme-user-table {
    border-collapse: separate;
    border-spacing: 0;
}

.rmd-programme-user-table th {
    position: sticky;
    top: 0;
    z-index: 10;
    background: #f8f9fa;
    border-bottom: 2px solid #dcdcde;
    white-space: nowrap;
}

.rmd-programme-user-table tbody tr.rmd-programme-user-row:nth-child(odd) {
    background: #ffffff;
}

.rmd-programme-user-table tbody tr.rmd-programme-user-row:nth-child(even) {
    background: #f8f9fa;
}

.rmd-programme-user-row:hover {
    background: #e8f4fd !important;
}


/* Defect Log Administration */

.rmd-defect-admin {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.rmd-defect-modal-backdrop .rmd-modal {
    display: flex;
    flex-direction: column;
    width: min(1300px, 96vw);
    min-height: 650px;
    max-height: 90vh;
    overflow: hidden;
    padding: 0;
}

.rmd-defect-modal-header {
    padding: 1.25rem 1.5rem;
    margin-bottom: 0;
    border-bottom: 1px solid #e0e0e0;
}

.rmd-defect-form {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 0;
    padding: 1.25rem 1.5rem;
}

.rmd-defect-content-scroll {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    margin-bottom: 0.75rem;
}

.rmd-defect-meta-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.rmd-defect-meta-grid label {
    min-width: 0;
}

.rmd-defect-toolbar {
    justify-content: space-between;
    padding: 0.75rem;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    background: #fff;
}

.rmd-defect-toolbar-left,
.rmd-defect-toolbar-summary {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.rmd-defect-toolbar-summary {
    margin-left: auto;
}

.rmd-defect-toolbar-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-left: 0.75rem;
}

.rmd-defect-quick-filter.is-active {
    border-color: #0f766e;
    background: #0f766e;
    color: #fff;
}

.rmd-defect-quick-filter.is-active:hover {
    border-color: #14b8a6;
    background: #14b8a6;
    color: #fff;
}

.rmd-defect-summary {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.45rem 0.65rem;
    border: 1px solid #ddd;
    border-radius: 0.25rem;
    background: #f8f9fa;
    white-space: nowrap;
}

.rmd-defect-summary-item {
    font-size: 0.95rem;
}

.rmd-defect-heading-filter {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}


.rmd-defect-table {
    border-collapse: separate;
    border-spacing: 0;
}

.rmd-defect-table th {
    position: sticky;
    top: 0;
    z-index: 10;
    background: #f8f9fa;
    border-bottom: 2px solid #dcdcde;
    white-space: nowrap;
}

.rmd-defect-table tbody tr.rmd-defect-row:nth-child(odd) {
    background: #ffffff;
}

.rmd-defect-table tbody tr.rmd-defect-row:nth-child(even) {
    background: #f8f9fa;
}



.rmd-defect-row {
    cursor: pointer;
}

.rmd-defect-row:hover {
    background: #e8f4fd !important;
}

.rmd-defect-table th.rmd-defect-col-title,
.rmd-defect-table td.rmd-defect-col-title,
.rmd-defect-table th.rmd-defect-col-area,
.rmd-defect-table td.rmd-defect-col-area {
    white-space: normal;
    overflow-wrap: anywhere;
}

.rmd-defect-table th.rmd-defect-col-role,
.rmd-defect-table td.rmd-defect-col-role,
.rmd-defect-table th.rmd-defect-col-date-raised,
.rmd-defect-table td.rmd-defect-col-date-raised,
.rmd-defect-table th.rmd-defect-col-raised-by,
.rmd-defect-table td.rmd-defect-col-raised-by,
.rmd-defect-table th.rmd-defect-col-status,
.rmd-defect-table td.rmd-defect-col-status,
.rmd-defect-table th.rmd-defect-col-date-fixed,
.rmd-defect-table td.rmd-defect-col-date-fixed,
.rmd-defect-table th.rmd-defect-col-date-signed-off,
.rmd-defect-table td.rmd-defect-col-date-signed-off {
    white-space: nowrap;
}

.rmd-defect-area-options,
.rmd-defect-role-options {
    padding: 0.85rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
}

.rmd-defect-area-options legend,
.rmd-defect-role-options legend {
    padding: 0 0.35rem;
    font-weight: 600;
}

.rmd-defect-radio-grid {
    display: flex;
    align-items: stretch;
    gap: 0.75rem;
    margin-top: 0.35rem;
}

.rmd-defect-role-radio-grid {
    flex-wrap: wrap;
}

.rmd-defect-radio-grid .rmd-checkbox-label {
    flex: 1 1 0;
    justify-content: center;
    min-width: 0;
    padding: 0.55rem 0.65rem;
    border: 1px solid #ddd;
    border-radius: 0.35rem;
    background: #fff;
    text-align: center;
}

.rmd-defect-role-radio-grid .rmd-checkbox-label {
    flex-basis: calc(25% - 0.75rem);
}

.rmd-defect-form textarea {
    min-height: 120px;
    resize: vertical;
}

.rmd-defect-form .rmd-modal-actions {
    flex-shrink: 0;
    margin-top: 0;
    padding: 0.75rem;
    border: 1px solid #e0e0e0;
    border-radius: 0.4rem;
    background: #f5f6f7;
}

.rmd-defect-save-status {
    margin-right: auto;
    color: #666;
}

.rmd-defect-fix-readonly {
    background: #f8f9fa;
    color: #555;
    cursor: default;
}

.rmd-defect-review-section {
    padding: 1rem;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    background: #f8f9fa;
}

.rmd-defect-review-section h4 {
    margin: 0 0 0.35rem;
}

.rmd-defect-review-readonly {
    background: #f8f9fa;
    color: #555;
    cursor: default;
}

@media (max-width: 900px) {
    .rmd-defect-meta-grid {
        grid-template-columns: 1fr;
    }

    .rmd-defect-toolbar {
        align-items: flex-start;
    }

    .rmd-defect-toolbar-summary,
    .rmd-defect-toolbar-actions {
        margin-left: 0;
    }

    .rmd-defect-toolbar-actions {
        flex-wrap: wrap;
    }

    .rmd-defect-radio-grid {
        flex-wrap: wrap;
    }

    .rmd-defect-radio-grid .rmd-checkbox-label {
        flex: 1 1 calc(50% - 0.75rem);
    }
}

@media (max-width: 700px) {
    .rmd-defect-radio-grid .rmd-checkbox-label {
        flex-basis: 100%;
    }
}


.rmd-defect-evidence-section {
    padding: 1rem;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    background: #f8f9fa;
}

.rmd-defect-evidence-section h4 {
    margin: 0 0 0.35rem;
}

.rmd-defect-paste-target {
    min-height: 150px;
    margin-top: 0.75rem;
    padding: 1rem;
    border: 2px dashed #bbb;
    border-radius: 0.5rem;
    background: #fff;
    cursor: text;
}

.rmd-defect-paste-target:focus {
    outline: 2px solid #0f766e;
    outline-offset: 2px;
    border-color: #0f766e;
}

.rmd-defect-paste-placeholder {
    color: #666;
    text-align: center;
    padding: 2.5rem 1rem;
}

.rmd-defect-pending-card,
.rmd-defect-file-item {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    margin-top: 0.75rem;
    padding: 0.75rem;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    background: #fff;
}

.rmd-defect-pending-card img,
.rmd-defect-file-thumb img {
    display: block;
    max-width: 180px;
    max-height: 120px;
    border: 1px solid #ddd;
    border-radius: 0.35rem;
    background: #fff;
}

.rmd-defect-pending-meta,
.rmd-defect-file-meta {
    flex: 1;
    min-width: 0;
}

.rmd-defect-file-list {
    margin-top: 1rem;
}

.rmd-defect-file-actions {
    display: flex;
    gap: 0.75rem;
    margin-top: 0.35rem;
}


/* Person Portal */

.rmd-person-portal-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rmd-person-portal-meetings-panel {
    margin-top: 1rem;
}

.rmd-person-portal-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.rmd-person-portal-summary-grid > .rmd-scope {
    min-width: 0;
}

.rmd-person-portal-summary-grid > .rmd-scope > .rmd-dashboard-panel {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.rmd-person-portal-summary-grid > .rmd-scope > .rmd-dashboard-panel .rmd-table {
    margin-bottom: 1rem;
}

.rmd-person-portal-summary-grid > .rmd-scope > .rmd-dashboard-panel .rmd-toolbar {
    justify-content: flex-end;
    margin-top: auto;
    margin-bottom: 0;
    padding-top: 0.25rem;
}

.rmd-person-portal-messages-panel,
.rmd-person-portal-letters-panel {
    margin-top: 1rem;
}

.rmd-person-portal-meeting-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.rmd-person-portal-meeting-card {
    display: block;
    width: 100%;
    min-height: 230px;
    padding: 1rem;
    border: 1px solid #dcdcde;
    border-radius: 0.5rem;
    background: #fff;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.rmd-person-portal-meeting-card:hover:not(:disabled),
.rmd-person-portal-meeting-card:focus:not(:disabled) {
    border-color: #0f766e;
    background: #f0fdfa;
    outline: none;
}

.rmd-person-portal-meeting-card:disabled {
    cursor: default;
    opacity: 0.75;
}

.rmd-person-portal-meeting-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.rmd-person-portal-meeting-card-title {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.rmd-person-portal-meeting-card-title strong {
    font-size: 1.15rem;
}

.rmd-person-portal-meeting-card-title span {
    color: #666;
    font-size: 0.95rem;
}

.rmd-person-portal-meeting-card-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.2rem 0.5rem;
    border: 1px solid #dcdcde;
    border-radius: 999px;
    background: #f6f7f7;
    color: #50575e;
    font-size: 0.85rem;
    font-weight: 600;
    white-space: nowrap;
}

.rmd-person-portal-meeting-card.is-booked .rmd-person-portal-meeting-card-status {
    border-color: #bfdbfe;
    background: #eff6ff;
    color: #1d4ed8;
}

.rmd-person-portal-meeting-card.is-held .rmd-person-portal-meeting-card-status {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #047857;
}

.rmd-person-portal-meeting-card.is-cancelled .rmd-person-portal-meeting-card-status {
    border-color: #fecaca;
    background: #fef2f2;
    color: #b91c1c;
}

.rmd-person-portal-meeting-card-details {
    display: block;
}

.rmd-person-portal-meeting-card-detail-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.4rem 0;
    border-top: 1px solid #f0f0f0;
}

.rmd-person-portal-meeting-card-label {
    flex: 0 0 auto;
    color: #666;
}

.rmd-person-portal-meeting-card-value {
    min-width: 0;
    font-weight: 600;
    text-align: right;
    overflow-wrap: anywhere;
}

.rmd-person-portal-meeting-card-join-flag {
    display: inline-flex;
    margin-top: 0.85rem;
    color: #0f766e;
    font-size: 0.9rem;
    font-weight: 600;
}

@media (max-width: 900px) {
    .rmd-person-portal-meeting-card-grid,
    .rmd-person-portal-summary-grid {
        grid-template-columns: 1fr;
    }
}


/* Case Message / Person Portal Questions and Counter Proposals */

.rmd-case-message-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

.rmd-case-message-panel-header h3 {
    margin: 0 0 0.25rem;
}

.rmd-case-message-panel-header p {
    margin: 0;
}

.rmd-case-message-panel-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.75rem;
}

.rmd-case-message-table {
    margin-top: 0;
}

.rmd-case-message-row {
    cursor: pointer;
}

.rmd-case-message-row:hover {
    background: #e8f4fd !important;
}

.rmd-case-message-modal-backdrop {
    z-index: 10000;
}

.rmd-case-message-modal-backdrop .rmd-modal {
    display: flex;
    flex-direction: column;
    width: min(1200px, 96vw);
    min-height: 620px;
    max-height: 90vh;
    overflow: hidden;
    padding: 0;
}

.rmd-case-message-modal-header {
    padding: 1.25rem 1.5rem;
    margin-bottom: 0;
    border-bottom: 1px solid #e0e0e0;
}

.rmd-case-message-tabs {
    display: flex;
    gap: 0;
    padding: 0 1.5rem;
    border-bottom: 1px solid #e0e0e0;
    background: #fff;
}

.rmd-case-message-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.9rem 1rem;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    cursor: pointer;
    font: inherit;
    color: #555;
}

.rmd-case-message-tab:hover {
    background: #f2f2f2;
}

.rmd-case-message-tab.is-disabled,
.rmd-case-message-tab:disabled {
    color: #999;
    cursor: not-allowed;
    opacity: 0.55;
}

.rmd-case-message-tab.is-disabled:hover,
.rmd-case-message-tab:disabled:hover {
    background: transparent;
}

.rmd-case-message-tab.is-disabled .rmd-case-message-tab-icon,
.rmd-case-message-tab:disabled .rmd-case-message-tab-icon {
    color: #999;
}

.rmd-case-message-tab.is-active {
    border-bottom-color: #0073aa;
    color: #111;
    font-weight: 600;
}

.rmd-case-message-tab-icon {
    display: inline-block;
    min-width: 1.1em;
    color: #666;
    text-align: center;
}

.rmd-case-message-tab.is-active .rmd-case-message-tab-icon {
    color: #0073aa;
}

.rmd-case-message-form {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 0;
    padding: 1.25rem 1.5rem;
}

.rmd-case-message-content-scroll {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    margin-bottom: 0.75rem;
}

.rmd-case-message-tab-panel {
    display: none;
}

.rmd-case-message-tab-panel.is-active {
    display: block;
}

.rmd-case-message-overview-grid {
    display: grid;
    gap: 1rem;
}

.rmd-case-message-section-card {
    padding: 1rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
}

.rmd-case-message-section-card h4 {
    margin: 0 0 1rem;
}

.rmd-case-message-text {
    min-height: 150px;
    resize: vertical;
}

.rmd-case-message-save-status {
    margin-right: auto;
    color: #666;
}

.rmd-case-message-form .rmd-modal-actions {
    flex-shrink: 0;
    margin-top: 0;
    padding: 0.75rem;
    border: 1px solid #e0e0e0;
    border-radius: 0.4rem;
    background: #f5f6f7;
}

.rmd-case-message-empty {
    padding: 0.85rem;
    border: 1px solid #ddd;
    border-radius: 0.4rem;
    background: #fff;
    color: #666;
}

.rmd-case-message-response-summary {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 0.65rem 1rem;
    margin: 0;
}

.rmd-case-message-response-summary dt {
    font-weight: 600;
}

.rmd-case-message-response-summary dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.rmd-case-message-response-text-display {
    white-space: pre-wrap;
}

.rmd-case-message-file-table {
    margin-top: 0;
}

.rmd-case-message-file-table th,
.rmd-case-message-file-table td {
    white-space: nowrap;
}

.rmd-case-message-file-table th:nth-child(2),
.rmd-case-message-file-table td:nth-child(2) {
    white-space: normal;
    overflow-wrap: anywhere;
}

@media (max-width: 1200px) {
    .rmd-person-portal-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rmd-case-message-panel-header {
        flex-direction: column;
    }
}

@media (max-width: 700px) {
    .rmd-person-portal-kpi-grid {
        grid-template-columns: 1fr;
    }

    .rmd-case-message-panel-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }
}




.rmd-cps-top-journey-grid {
    align-items: stretch;
    margin-bottom: 1.25rem;
}

.rmd-cps-top-journey-grid .rmd-dashboard-panel {
    min-width: 0;
}

.rmd-cps-top-programme-position table {
    margin-top: 0.75rem;
}

.rmd-cps-employee-journey-chart .rmd-employee-journey-chart-wrap {
    height: 300px;
}
