/* Shared OPMS ledger language. Screen-only: printed documents retain original rules. */
@media screen {
  :root{--table-ink:#243b55;--table-muted:#647b95;--table-line:#dce5f0;--table-head:#f1f5fb;--table-hover:#edf5fc}
  .opms-table-panel{border-color:var(--table-line);box-shadow:none;border-radius:8px;min-width:0}
  .opms-table-panel>.phead{padding:12px 16px;gap:10px;background:#f8fafd;flex-wrap:wrap;border-bottom:1px solid var(--table-line)}
  .opms-table-panel>.phead h2{font-size:15px;color:#214769}
  .opms-table-panel>.phead .sub{font-size:12px;color:var(--table-muted)}
  .opms-table-panel>.toolbar,.opms-table-filter{padding:10px 14px;gap:8px;background:white;border-bottom:1px solid #e5ebf3;flex-wrap:wrap}
  .opms-table-panel>.toolbar :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select),.opms-table-filter :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select){height:32px;font-size:12px;border-radius:4px;border-color:#d5dfeb;min-width:0;max-width:100%}
  .opms-table-filter label{font-size:12px;color:#586d87}
  form.opms-table-filter.form,form.opms-table-filter.master-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px}
  form.opms-table-filter.form>.f,form.opms-table-filter.master-filters>.f{flex:1 1 150px;min-width:130px;max-width:100%;gap:5px}
  form.opms-table-filter.form>.f.full{flex-basis:100%}
  .opms-table-panel>.toolbar .btn,.opms-table-filter .btn{font-size:12px;min-height:30px}
  .toolbar.opms-table-filter>input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]){width:260px;flex:0 1 260px}
  .opms-table-panel>:is(.pager,.pagination){background:#f7faff;border-top:1px solid var(--table-line);padding:10px 14px;font-size:12px;gap:8px;flex-wrap:wrap}
  .opms-table-scroll{max-width:100%;min-width:0;overflow:auto;position:relative;overscroll-behavior-x:contain;scrollbar-gutter:stable}
  .opms-table-scroll:focus-visible{outline:2px solid #5888b7;outline-offset:2px}
  .opms-table-scroll.ui-table-bounded{max-height:65vh;max-height:min(65dvh,740px)}
  .opms-table-scroll.ui-table-expanded{max-height:none}
  table.tbl.opms-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;line-height:1.55;color:var(--table-ink);margin:0}
  table.tbl.opms-table thead{position:sticky;top:0;z-index:5;background:var(--table-head)}
  table.tbl.opms-table th{font-size:12px;line-height:1.5;color:#526b88;font-weight:500;padding:11px 13px;background:var(--table-head);border-bottom:1px solid #d5dfeb;border-right:1px solid #e1e8f2;vertical-align:middle}
  table.tbl.opms-table td{height:auto;min-height:40px;padding:10px 13px;border-bottom:1px solid #e5ebf3;border-right:1px solid #edf1f6;background:#fff;vertical-align:middle;overflow-wrap:anywhere}
  table.tbl.opms-table tbody>tr:nth-child(even)>td{background:#fafcff}
  table.tbl.opms-table tbody>tr:hover>td{background:var(--table-hover)}
  table.tbl.opms-table tbody>tr:is(.row-alert,.is-overdue,.console-log-alert)>td{background:#fff8eb}
  table.tbl.opms-table tbody>tr.is-unread>td:first-child{box-shadow:inset 3px 0 0 #d89b2c}
  table.tbl.opms-table :is(th,td):last-child{border-right:0}
  table.tbl.opms-table tbody>tr:last-child>td{border-bottom:0}
  table.tbl.opms-table tfoot :is(th,td){background:#f2f7fd;border-top:1px solid var(--table-line);font-size:12px}
  table.tbl.opms-table td a:not(.btn):not(.danger){color:#215c8d}
  table.tbl.opms-table :is(td,th).mono{font-size:12px;font-variant-numeric:tabular-nums}
  table.tbl.opms-table :is(td,th).num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
  table.tbl.opms-table td small{font-size:11px;line-height:1.55;color:#71859d}
  table.tbl.opms-table .tag{font-size:11px;line-height:1.5;padding:2px 7px;border-radius:4px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
  table.tbl.opms-table :is(th,td).act{white-space:nowrap}
  table.tbl.opms-table .btn.sm{font-size:12px;min-height:28px;padding:5px 9px;border-radius:4px}
  table.tbl.opms-table td :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select){font-size:13px;min-height:32px;border-radius:4px;max-width:100%}
  table.tbl.opms-table td textarea{font-size:13px;line-height:1.65;border-radius:4px;max-width:100%}
  table.tbl.opms-table .ui-table-key{position:sticky;left:0;z-index:2;box-shadow:2px 0 4px #253c5210}
  table.tbl.opms-table th.ui-table-key{z-index:6;background:var(--table-head)}
  table.tbl.opms-table.ui-table-comfort td{padding-top:16px;padding-bottom:16px;font-size:14px}
  .opms-table-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 14px;border-top:1px solid #e5ebf3;border-bottom:1px solid #e5ebf3;background:white;font-size:12px;color:var(--table-muted)}
  .opms-table-tools-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
  .opms-table-tool{font:inherit;font-size:12px;color:#486887;line-height:1.5;padding:4px 9px;border:1px solid #d8e3ef;border-radius:4px;background:white;cursor:pointer;white-space:nowrap}
  .opms-table-tool:hover{background:#edf5fc;border-color:#9fbad5}
  .opms-table-tool[aria-pressed=true]{background:#eaf2fb;color:#215c8d;border-color:#a9c5df}
  .opms-table-tool:focus-visible{outline:2px solid #5888b7;outline-offset:2px}
  .opms-table-columns{flex-basis:100%;border-top:1px solid #e5ebf3;padding:10px 0 2px;display:flex;gap:8px 20px;align-items:center;flex-wrap:wrap}
  .opms-table-columns label{display:flex;gap:6px;align-items:center;color:#486887;font-size:12px;cursor:pointer}
  .opms-table-columns input{width:15px;height:15px;accent-color:#215c8d}
  .opms-table-columns p{flex-basis:100%;margin:0;font-size:11px;color:#71859d}
  table.opms-table .ui-hidden-col{display:none!important}
  .opms-table-tools [hidden],.opms-table-tools[hidden]{display:none!important}
  .opms-table-scroll.ui-table-overflow{border-bottom:1px solid var(--table-line)}
  @media(max-width:700px){
    .opms-table-tools{padding:8px 10px;align-items:flex-start}
    .opms-table-scroll.ui-table-bounded{max-height:65dvh}
    table.tbl.opms-table :is(th,td){padding:9px 10px}
    table.tbl.opms-table .ui-table-key{position:static;box-shadow:none}
    .opms-table-filter :is(input,select){max-width:100%}
    .opms-table-panel>.toolbar{align-items:flex-start}
    .opms-table-panel>.toolbar input[type=search],.opms-table-panel>.toolbar input[type=text]{flex:1 1 160px}
    .opms-table-columns{gap:10px 14px}
  }
}
@media print{
  .opms-table-tools{display:none!important}
  .opms-table-scroll{overflow:visible!important;max-height:none!important}
  .opms-table .ui-table-key{position:static!important}
}
