/* Shared record surfaces. Keep semantic tables and each module's mobile layout. */
:root{--records-header:#f1f4f9;--records-alt:#f8faff;--records-hover:#eef3fc;--records-grid:#d8e0ee;--records-title:#15284b;--records-focus:#315b9e}
[data-theme="dark"]{--records-header:#242b39;--records-alt:#1c2230;--records-hover:#29364b;--records-grid:#374155;--records-title:#edf2ff;--records-focus:#91b5ff}
:is(.page,.dialog-body) .table-wrap:not(.led-queue){border-radius:12px;scrollbar-width:thin;scrollbar-color:var(--records-grid) transparent}
:is(.page,.dialog-body) table:not(.led-queue table){font-variant-numeric:tabular-nums;line-height:1.55}
:is(.page,.dialog-body) table:not(.led-queue table) thead th{background:var(--records-header);color:var(--records-title);font-weight:650;letter-spacing:.01em;text-transform:none;font-size:12px;border-bottom:1px solid var(--records-grid);vertical-align:middle}
:is(.page,.dialog-body) table:not(.led-queue table) tbody tr{transition:background-color .14s ease}
:is(.page,.dialog-body) table:not(.led-queue table) tbody tr:nth-child(even){background:var(--records-alt)}
:is(.page,.dialog-body) table:not(.led-queue table) tbody tr:hover,:is(.page,.dialog-body) table:not(.led-queue table) tbody tr:focus-within{background:var(--records-hover)}
:is(.page,.dialog-body) table:not(.led-queue table) td{vertical-align:middle;border-bottom-color:var(--records-grid)}
:is(.page,.dialog-body) table:not(.led-queue table) :is(.ticket-title,td>strong,.link-button){color:var(--records-title);font-weight:600;line-height:1.5}
:is(.page,.dialog-body) table:not(.led-queue table) :is(.table-sub,.table-subtitle){line-height:1.55;margin-top:5px}
:is(.page,.dialog-body) table:not(.led-queue table) th :is(button,a){color:inherit}
:is(.page,.dialog-body) :is(.badge,.inventory-table .badge){border-radius:999px;padding:5px 10px;font-size:11px;font-weight:600;line-height:1.35;max-width:100%;white-space:normal;text-align:left;vertical-align:middle}
:is(.page,.dialog-body) .badge:before{width:6px;height:6px;flex:none}
:is(.page,.dialog-body) .badge.blue{background:#e7efff;color:#2455b5}
:is(.page,.dialog-body) .badge.green{background:#e5f4ed;color:#176541}
:is(.page,.dialog-body) .badge.amber{background:#fff2d8;color:#86520b}
:is(.page,.dialog-body) .badge.red{background:#fce7ed;color:#a22649}
:is(.page,.dialog-body) .badge.gray{background:#edf0f5;color:#536179}
[data-theme="dark"] :is(.page,.dialog-body) .badge.blue{background:#25395b;color:#b4ceff}
[data-theme="dark"] :is(.page,.dialog-body) .badge.green{background:#193d32;color:#98dfb8}
[data-theme="dark"] :is(.page,.dialog-body) .badge.amber{background:#493719;color:#f6d293}
[data-theme="dark"] :is(.page,.dialog-body) .badge.red{background:#492536;color:#ffb4c7}
[data-theme="dark"] :is(.page,.dialog-body) .badge.gray{background:#303847;color:#d1d9e7}
.page :is(.panel-header,.ticket-list-toolbar){background:var(--records-header);border-bottom-color:var(--records-grid)}
.page :is(.panel-header,.ticket-list-toolbar) h2{color:var(--records-title)}
.page .filters{background:var(--panel);gap:10px;border-bottom-color:var(--records-grid)}
.page .filters :is(input,select){border-radius:7px;border-color:var(--records-grid)}
.page :is(.inventory-result-count,.ticket-list-toolbar>strong){font-variant-numeric:tabular-nums}
.page :is(.major-list-row,.employee-item,.erp-access-row,.workload-row,.my-request-list>a,.import-preview-list>div),.dialog-body .read-viewer-list>p{border-bottom:1px solid var(--records-grid);padding-block:14px;line-height:1.55;transition:background-color .14s ease}
.page :is(.major-list-row,.employee-item,.erp-access-row,.workload-row,.my-request-list>a):hover{background:var(--records-hover)}
.page :is(.readable-activity-card,.active-session-card,.request-mobile-card){border:1px solid var(--records-grid);border-radius:12px;box-shadow:0 2px 5px #16274405}
.page :is(.readable-activity-card,.active-session-card,.request-mobile-card):focus-within{outline:2px solid var(--records-focus);outline-offset:2px}
@media(min-width:761px){
 :is(.page,.dialog-body) table:not(.led-queue table) th{padding:13px 15px}
 :is(.page,.dialog-body) table:not(.led-queue table) td{padding:15px;font-size:12px}
 :is(.page,.dialog-body) table:not(.led-queue table) :is(th,td):not(:last-child){border-right:1px solid var(--records-grid)}
 :is(.page,.dialog-body) table:not(.led-queue table){border:1px solid var(--records-grid)}
 .page .ticket-list-panel td:first-child{font-size:13px}
 .page .inventory-table td:last-child{padding:10px 8px}
 .page .inventory-table :is(th,td){overflow-wrap:anywhere}
}
@media(max-width:760px){
 :is(.page,.dialog-body) .badge{padding:5px 9px;font-size:11px}
 .page :is(.request-mobile-card,.readable-activity-card,.active-session-card){border-color:var(--records-grid);box-shadow:none}
 .page .request-mobile-card{border-radius:10px}
 .page .filters{gap:9px}
 :is(.page,.dialog-body) table:not(.led-queue table) td{border-bottom-color:var(--records-grid)}
}
@media(prefers-reduced-motion:reduce){:is(.page,.dialog-body) table tbody tr,.page :is(.major-list-row,.employee-item,.erp-access-row,.workload-row,.my-request-list>a){transition:none}}
@media print{:is(.page,.dialog-body) table:not(.led-queue table) :is(th,td){border-color:#c9ced8}.page .badge{box-shadow:none}}
/* Directory and card lists use the same record hierarchy as tables. */
.page .account-directory-labels,.page .routing-table-head{background:var(--records-header);color:var(--records-title);font-weight:650;text-transform:none;letter-spacing:.01em;border-bottom:1px solid var(--records-grid)}
.page .account-person{border-bottom:1px solid var(--records-grid);transition:background-color .14s ease}
.page .account-person:nth-child(odd){background:var(--records-alt)}
.page .account-person:hover,.page .account-person:focus-within{background:var(--records-hover)}
.page :is(.work-queue-card,.approval-family,.approval-site){border-color:var(--records-grid);border-radius:10px;box-shadow:none}
.page .approval-family>header{background:var(--records-header);border-color:var(--records-grid)}
@media(min-width:761px){.page .account-person>*:not(:last-child){border-right:1px solid var(--records-grid);padding-right:14px}.page .account-person{column-gap:14px}.page .account-directory-labels>span:not(:last-child){border-right:1px solid var(--records-grid)}}

/* Keep record layouts contained and controls readable across all modules. */
.page,.dialog-body{min-width:0}
.page :is(.panel,.inventory-register,.account-directory,.routing-table),.dialog-body .panel{min-width:0;max-width:100%}
:is(.page,.dialog-body) table :is(th,td){overflow-wrap:anywhere;word-break:normal}
:is(.page,.dialog-body) table td :is(.row,.form-actions){flex-wrap:wrap;min-width:0}
:is(.page,.dialog-body) table td :is(.btn,.icon-btn){max-width:100%}
:is(.page,.dialog-body) table td :is(code,.table-sub,.table-subtitle){white-space:normal;overflow-wrap:anywhere}
.page .tabs,.dialog-body .tabs{min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
:is(.page,.dialog-body) .tabs>.tab{flex-shrink:0;white-space:nowrap}
@media(min-width:761px) and (max-width:1100px){.account-person>.badge{justify-self:start}.account-more{justify-self:end;min-width:36px;width:36px;height:36px;padding:0}}

/* Assigned-to column filter: native top layer avoids table overflow clipping. */
.ticket-assignee-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ticket-assignee-trigger{display:inline-flex;align-items:center;gap:7px;padding:5px 0;background:transparent;border:0;color:inherit;font:inherit;font-weight:650;text-align:left}
.ticket-assignee-trigger .icon{width:14px;height:14px}.ticket-assignee-trigger.is-filtered{color:#2859ad}
.ticket-assignee-sort{flex-shrink:0;padding:6px}.ticket-assignee-dialog{width:min(380px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}
.ticket-assignee-options{max-height:min(320px,calc(100dvh - 250px));overflow:auto;margin:12px 0}
.ticket-assignee-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 8px;border-radius:6px;color:inherit}
.ticket-assignee-option.selected{background:#eaf0fa;font-weight:650}.ticket-assignee-option:hover{background:#f1f4f9}
.ticket-assignee-active{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 16px;padding:10px 12px;background:#eef3fc;border:1px solid #d7e1f5;border-radius:6px}
@media(min-width:761px){dialog.ticket-assignee-dialog{position:fixed;inset:auto;margin:0;left:var(--ticket-filter-left,12px);top:var(--ticket-filter-top,12px)}}
