/* Familiar controls: visible actions, pinned selection and progressive filters. */
.work-body a:not(.skip),.text-link{display:inline-flex;align-items:center;gap:7px;max-width:100%;min-height:44px;padding:9px 11px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--accent);text-decoration:none;white-space:normal;overflow-wrap:anywhere}
.work-body a:hover,.work-body .text-link:hover,.work-body .entity-name:hover,.text-link:hover .bi-main{color:var(--accent);background:var(--soft);border-color:var(--accent);text-decoration:none}
button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.btn,.text-link,.work-body a,.side-nav a,.mobile-nav a,.compact-button,.row-context-menu button{transition:background-color 170ms ease-out,border-color 170ms ease-out,color 170ms ease-out,box-shadow 170ms ease-out}
button:active:not(:disabled),.work-body a:active{background:var(--soft);box-shadow:inset 0 0 0 1px var(--accent)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,tr[data-row]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
button:disabled{opacity:.45;cursor:not-allowed}
.data-table{border-collapse:separate;border-spacing:0;min-width:1380px}
.data-table th,.data-table td{min-width:145px}
.data-table th:nth-child(3),.data-table td:nth-child(3){min-width:180px}
.data-table .num{min-width:135px}
.data-table td:has([data-action="invoice"]){min-width:210px}
.work-body a.entity-name{overflow-wrap:normal}
.data-table .check-col{position:sticky;left:0;z-index:3;min-width:52px;width:52px;max-width:52px;padding:0!important;background:var(--surface);box-shadow:1px 0 0 var(--line)}
.data-table th.check-col{z-index:5;background:var(--surface2)}
.check-hit{display:flex;align-items:center;justify-content:center;min-width:52px;min-height:52px;cursor:pointer}
.check-col input{width:19px;height:19px;margin:0;cursor:pointer}
.data-table .identity-col{position:sticky;left:52px;z-index:2;background:var(--surface);box-shadow:1px 0 0 var(--line);min-width:200px}
.data-table th.identity-col{z-index:4;background:var(--surface2)}
.data-table:not(:has(.check-col)) .identity-col{position:static}
.data-table tbody tr:hover .check-col,.data-table tbody tr:hover .identity-col{background:var(--soft)}
.data-table tr:has(input[data-select]:checked),.data-table tr:has(input[data-select]:checked) .check-col,.data-table tr:has(input[data-select]:checked) .identity-col{background:var(--soft)}
.data-table .action-col{min-width:185px}
.chosen-layout{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:18px;padding:15px 18px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.chosen-layout>svg{width:22px;height:22px;color:var(--accent);flex-shrink:0}
.chosen-layout>.bi:first-of-type .bi-main{font-size:var(--base);font-weight:650}
.chosen-layout>.bi:last-of-type .bi-main{font-size:var(--meta-size)}
.preferences-hidden .chosen-layout{display:none}
.data-table td{padding-block:16px;line-height:1.5}
.bi{--pair-gap:3px}
.data-table .literal{overflow-wrap:anywhere}
.data-table .text-link .literal{white-space:nowrap}
.data-table td.num{white-space:nowrap}
.action-col>.text-link,.action-col>.row-more{display:flex;width:100%;margin:6px 0}
.row-more .bi-main{font-size:max(13px,calc(var(--base) - 2px))}
.row-more svg{width:18px;height:18px;flex-shrink:0}
.table-tools .search{max-width:410px}
.table-tools .btn{min-height:56px}
.results-summary{margin-left:auto;color:var(--muted);font-size:var(--meta-size)}
.filter-count{background:var(--accent);color:var(--onAccent);padding:2px 7px;min-width:24px;border-radius:5px;font-size:14px}
.filter-editor{padding:20px;background:var(--surface2);border-bottom:1px solid var(--line)}
.filter-editor[hidden]{display:none}
.filter-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.filter-heading>span .bi-main{font-weight:650}
.filter-heading .field{min-width:230px;max-width:100%}
.condition-list{display:flex;flex-direction:column;gap:17px}
.condition{display:grid;grid-template-columns:minmax(140px,1.25fr) minmax(120px,1fr) minmax(140px,1.2fr) 44px;gap:12px;align-items:end}
.condition:has([data-filter-part=value2]){grid-template-columns:minmax(140px,1.2fr) minmax(115px,.9fr) minmax(130px,1fr) minmax(130px,1fr) 44px}
.condition .remove-condition{min-height:46px;height:46px;padding:10px;width:44px}
.filter-footer{margin-top:21px;display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}
.filter-footer>div{display:flex;gap:9px;flex-wrap:wrap}
.filter-note{margin-top:17px;max-width:75ch}
.filter-note .bi-main{font-size:var(--meta-size)}
#filter-error:not(:empty){margin-top:15px;padding:12px;border:1px solid #a13b42;border-radius:6px;color:#8b2b33}
#filter-error .bi-sub{color:inherit}
.active-filters{display:flex;flex-wrap:wrap;gap:9px;align-items:center;padding:14px 17px;border-bottom:1px solid var(--line)}
.active-filters>span{color:var(--muted);margin-right:5px}
.active-filters>span .bi-main{font-size:var(--meta-size)}
.filter-chip{display:inline-flex;gap:9px;align-items:center;text-align:left;min-height:44px;max-width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--soft);color:var(--accent);font-size:var(--meta-size);overflow-wrap:anywhere}
.filter-chip svg{width:16px;height:16px;flex-shrink:0}
.bulk-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--soft);padding:15px 17px;border-bottom:1px solid var(--line)}
.bulk-bar>strong{margin-right:8px}.bulk-bar .bi-main{font-size:var(--meta-size)}.bulk-bar .hint{font-size:var(--meta-size)}
.row-context-menu{position:fixed;z-index:110;width:310px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;padding:7px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px #1b202926;color:var(--ink);font-family:var(--latin),'FW Noto Sans SC',sans-serif}
.menu-record{padding:9px 11px 13px;font-size:var(--meta-size);overflow-wrap:anywhere;border-bottom:1px solid var(--line);margin-bottom:5px;color:var(--muted)}
.row-context-menu button{display:flex;align-items:center;text-align:left;width:100%;padding:10px 12px;min-height:56px;background:var(--surface);color:var(--ink);border:0;border-radius:6px;cursor:pointer}
.row-context-menu button:hover,.row-context-menu button:focus-visible{background:var(--soft);color:var(--accent)}
.row-context-menu .bi-main{font-size:var(--data-size);font-weight:550}.row-context-menu .bi-sub{font-size:var(--secondary-size)}
.mobile-row-menu{display:none}
@media(max-width:1200px){.condition,.condition:has([data-filter-part=value2]){grid-template-columns:1fr 1fr}.condition .remove-condition{justify-self:end}.filter-heading{align-items:flex-start}}
@media(max-width:760px){.data-table .check-col{display:table-cell}.data-table .identity-col{left:52px;min-width:155px;max-width:200px}.data-table:not(:has(.check-col)) .identity-col{position:static}.check-hit{min-height:56px}.table-tools .btn{flex:1 1 130px}.results-summary{margin-left:0;width:100%}.filter-editor{padding:16px 13px}.filter-heading{flex-direction:column}.filter-heading .field{width:100%;min-width:0}.condition,.condition:has([data-filter-part=value2]){grid-template-columns:minmax(0,1fr);padding-bottom:17px;border-bottom:1px solid var(--line)}.condition .remove-condition{justify-self:end}.filter-footer,.filter-footer>div{width:100%}.filter-footer .btn,.bulk-bar .btn{flex:1 1 120px}.filter-footer>div .btn{flex:1 1 100px}.bulk-bar>strong{width:100%}.mobile-row-menu{display:flex;margin-top:10px}.mobile-row-menu .row-more{min-height:48px;width:100%}.row-context-menu button{min-height:62px}.row-context-menu{padding-bottom:calc(7px + env(safe-area-inset-bottom,0px))}.work-body a{min-height:48px}}
@media(prefers-reduced-motion:reduce){button,a,.row-context-menu button{transition:none!important}}
