/* Compact workspace chrome. Business values keep their readable sizes. */
:root {--sidebar-width:192px;--workspace-header-top:10px;}
body {grid-template-columns:var(--sidebar-width) minmax(0,1fr);}
body.login-active {grid-template-columns:1fr;}
.sidebar {width:var(--sidebar-width);height:100vh;min-height:0;align-self:start;padding:14px 10px;}
.sidebar .brand {margin:0 0 14px;padding:10px;gap:7px;border-radius:11px;}
.sidebar .brand-logo {width:150px;max-width:100%;height:46px;padding:5px 7px;border-radius:8px;box-shadow:none;}
.sidebar .brand strong {font-size:12px;letter-spacing:0;line-height:1.5;}
.sidebar .brand span {display:none;}
.brand-mark {display:none;}
.nav {gap:3px;}
.nav-group {margin:12px 9px 4px;font-size:10px;letter-spacing:.08em;}
.nav-item {min-height:36px;padding:0 10px 0 15px;font-size:13px;border-radius:7px;}
.nav-item.active::before {height:17px;left:6px;}
.shell {padding:12px 18px 26px;}
.workspace-header {top:var(--workspace-header-top);margin-bottom:12px;}
.workspace-header > .topbar {display:flex;min-height:48px;padding:7px 12px;gap:12px;border-radius:10px 10px 0 0;}
.page-title {display:flex;align-items:center;gap:9px;min-width:0;flex-shrink:0;}
.workspace-header .eyebrow {display:none;}
.workspace-header h1 {font-size:19px;line-height:1.35;margin:0;}
.sidebar-toggle {display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;min-height:30px;padding:0;border-radius:6px;font-size:17px;background:#f6f9ff;}
.top-actions {gap:10px;min-width:0;flex-wrap:nowrap;}
.topbar .search {min-height:32px;width:clamp(200px,26vw,350px);padding:0 10px;font-size:12px;}
.topbar .search > span {display:none;}
.topbar .search input {height:30px;min-height:30px;min-width:0;width:100%;font-size:13px;}
.topbar .user-chip {min-height:32px;padding:3px 5px 3px 9px;gap:6px;font-size:12px;white-space:nowrap;border-radius:7px;}
.topbar .user-chip button {min-height:26px;height:26px;padding:0 8px;font-size:12px;border-radius:5px;}
.workspace-tabs {gap:6px;padding:0 8px;border-radius:0 0 10px 10px;}
.workspace-tab {margin-top:0;border-bottom-width:2px;}
.workspace-tab > button {min-height:32px;padding:6px 9px;font-size:12px;}
.workspace-tab > .workspace-tab-close {min-height:24px;padding:3px 5px;margin-right:3px;}
.workspace-tab-menu > summary {padding:5px 8px;}
.workspace-tab [role=tab] > span:last-of-type {max-width:210px;}
.document-workspace-toolbar {min-height:42px;padding:6px 10px;gap:8px;margin-bottom:10px;border-radius:9px;}
.document-source,.document-tools {gap:6px;}
.document-source {flex:1 1 320px;flex-wrap:nowrap;}
.document-source strong {max-width:none;flex:1;min-width:0;font-size:14px;line-height:1.4;}
.document-workspace-toolbar button,.document-workspace-toolbar .button-link {min-height:30px;padding:4px 9px;font-size:12px;line-height:20px;border-radius:6px;}
.document-tools {flex-shrink:0;}
.document-draft-status {padding:3px 5px;white-space:nowrap;font-size:11px;}
/* Keep legacy headings for renderers/snapshots; show one title/action area. */
.workspace-document > .dialog-head,
.workspace-document > form > .dialog-head {display:none;}
#attachmentPreviewDialog.workspace-document > .dialog-head {display:flex;padding:7px 12px;border-radius:9px 9px 0 0;}
#attachmentPreviewDialog.workspace-document > .dialog-head h2,
#attachmentPreviewDialog.workspace-document > .dialog-head .icon-btn {display:none;}
#attachmentPreviewDialog.workspace-document > .dialog-head p {margin:0;font-size:12px;}
.workspace-document .project-detail {padding:12px!important;gap:12px;}
.workspace-document .contract-detail-toolbar {gap:8px;min-height:30px;}
.workspace-document .contract-detail-toolbar > div:first-child > strong {display:none;}
.workspace-document .contract-detail-toolbar button {min-height:30px;padding:0 10px;font-size:12px;}
.workspace-document .contract-basic-information > h3 {padding:9px 14px;font-size:15px;}
.workspace-document .contract-basic-grid > div {min-height:44px;padding:10px 14px;gap:8px;grid-template-columns:100px minmax(0,1fr);}
.workspace-document .contract-basic-grid strong {font-size:14px;}
.workspace-document .contract-basic-grid span {font-size:12px;}
.workspace-document .contract-lines-highlight-head,.workspace-document .contract-plan-highlight-head {padding:10px 14px;gap:10px;}
.workspace-document .contract-lines-highlight-head h3,.workspace-document .contract-plan-highlight-head h3 {font-size:17px;margin:0;}
.workspace-document .contract-lines-highlight-head .approval-eyebrow,.workspace-document .contract-plan-highlight-head .approval-eyebrow {display:none;}
.workspace-document .project-detail-hero,.workspace-document .approval-detail-hero {padding:12px 14px;}
.workspace-document .approval-document-focus {padding:14px;}
.workspace-document .approval-document-focus-head {gap:12px;margin-bottom:10px;padding-bottom:10px;}
.workspace-document .approval-focus-amount {padding:8px 10px;}
.workspace-document .approval-decision-panel {padding:14px;}
.workspace-document .dialog-actions {padding:10px 14px;}
.document-workspace-comparison {top:106px;max-height:calc(100vh - 120px);padding:12px;}
.view > .toolbar {margin-bottom:10px;gap:10px;}
.view > .table-wrap thead th,#cashier [data-cash-view-panel] > .table-wrap thead th {padding-top:9px;padding-bottom:9px;font-size:13px;}
.view > .table-wrap thead .column-sort,.view > .table-wrap thead .column-filter {min-height:28px;}

/* Resizing is isolated from header sorting/filter buttons. */
th.column-resize-header {padding-right:14px;}
.column-resize-handle {position:absolute;right:0;top:0;bottom:0;width:8px;cursor:col-resize;touch-action:none;user-select:none;z-index:8;}
.column-resize-handle::after {content:"";position:absolute;right:2px;top:20%;height:60%;width:2px;background:#bfd0e4;border-radius:2px;opacity:.4;}
.column-resize-handle:hover::after,.column-resize-handle:focus-visible::after {background:#0b63f3;opacity:1;width:3px;}
.column-resize-handle:focus-visible {outline:2px solid #6aafff;outline-offset:-2px;}
.is-resizing-column,.is-resizing-column * {cursor:col-resize!important;user-select:none!important;}
table.column-resizable-table {table-layout:fixed!important;min-width:0!important;}
table.column-resizable-table th,table.column-resizable-table td {min-width:0!important;max-width:none!important;width:auto!important;overflow:hidden;text-overflow:ellipsis;}
table.column-resizable-table th {overflow:visible;}
table.column-resizable-table .column-heading {display:flex;min-width:0;padding-right:4px;}
table.column-resizable-table .column-sort {min-width:0;overflow:hidden;flex:1;}
table.column-resizable-table .column-sort > span:first-child {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
table.column-resizable-table .column-filter {flex-shrink:0;}
table.column-resizable-table .row-actions {white-space:normal;}

@media(min-width:981px) {
  body.sidebar-collapsed {--sidebar-width:64px;}
  .sidebar-collapsed .sidebar {padding:12px 7px;}
  .sidebar-collapsed .sidebar .brand {padding:0;border:0;background:transparent;margin:0 0 12px;}
  .sidebar-collapsed .sidebar .brand-logo,.sidebar-collapsed .sidebar .brand > div {display:none;}
  .sidebar-collapsed .sidebar .brand .brand-mark {display:grid;place-items:center;margin:auto;width:38px;height:38px;border-radius:10px;background:#fff;color:#0c539e;font-size:22px;font-weight:800;}
  .sidebar-collapsed .nav-group {display:none;}
  .sidebar-collapsed .nav-item {font-size:0;min-height:36px;padding:0;text-align:center;}
  .sidebar-collapsed .nav-item::after {content:attr(data-short-label);font-size:12px;}
  .sidebar-collapsed .nav-item::before {left:2px;}
}
@media(max-width:1100px) and (min-width:981px) {
  :root {--sidebar-width:176px;}
  .sidebar .brand-logo {width:134px;}
  .shell {padding:10px 12px 22px;}
  .topbar .search {width:200px;}
  .topbar .user-chip > span {max-width:100px;overflow:hidden;text-overflow:ellipsis;}
}
@media(max-width:980px) {
  body {grid-template-columns:minmax(0,1fr);}
  .sidebar {width:100%;height:auto;min-height:0;position:relative;padding:8px 12px;}
  .sidebar .brand {display:flex;align-items:center;gap:10px;margin:0 0 6px;padding:0;border:0;background:transparent;}
  .sidebar .brand-logo {width:104px;height:34px;}
  .sidebar .brand strong {font-size:12px;}
  .sidebar .nav {display:flex;gap:4px;overflow-x:auto;padding:0 0 3px;}
  .sidebar .nav-group {display:none;}
  .sidebar .nav-item {width:auto;flex:0 0 auto;min-width:max-content;min-height:32px;padding:0 10px;}
  .sidebar-toggle {display:none;}
  .shell {padding:10px;}
  .workspace-header {top:0;}
  .workspace-header > .topbar {flex-wrap:wrap;padding:7px 10px;gap:8px;}
  .workspace-header h1 {font-size:18px;}
  .topbar .top-actions {margin-left:auto;gap:6px;}
  .topbar .search {width:200px;}
  .document-source {flex-basis:100%;}
  .document-tools {gap:5px;}
}
@media(max-width:640px) {
  .topbar .top-actions {width:100%;justify-content:space-between;flex-wrap:wrap;}
  .topbar .search {flex:1;min-width:145px;width:auto;}
  .topbar .user-chip {margin-left:auto;}
  .topbar .user-chip > span {max-width:115px;overflow:hidden;text-overflow:ellipsis;}
  .document-workspace-toolbar {padding:7px 8px;}
  .document-source strong {font-size:13px;}
  .workspace-document .project-detail {padding:10px!important;}
  .workspace-document .contract-basic-grid > div {grid-template-columns:88px minmax(0,1fr);padding:9px 10px;}
}
