/* Shared workspace geometry; custom amount and ERP preview components stay in app.css. */
:root {--sidebar-width:284px;--header-height:70px;}
[hidden] {display:none!important;}
html.sidebar-collapsed {--sidebar-width:84px;}
body.app {grid-template-columns:var(--sidebar-width) minmax(0,1fr);height:100dvh;}
.app .panel {margin:8px;padding:12px 10px 10px;border:1px solid var(--sidebar-border);border-radius:15px;background:var(--sidebar-bg);color:var(--sidebar-text);overflow:visible;min-height:0;}
.panel-heading {display:flex;align-items:center;gap:8px;padding:0 6px 14px;min-height:46px;}
.workspace-label {flex:1;font-size:12px;font-weight:600;color:var(--sidebar-muted);}
.panel-heading .isq {flex:0 0 auto;}
.panel-scroll {flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:3px 0 12px;}
.panel-bottom {flex-shrink:0;border-top:1px solid var(--sidebar-border);padding-top:7px;}
.app .pnav {min-height:40px;font-size:13px;color:var(--sidebar-text);border:0;width:100%;font-family:inherit;text-align:left;}
.app .pnav.on {background:var(--sidebar-active);color:var(--sidebar-active-text);}
.nav-text {min-width:0;overflow:hidden;text-overflow:ellipsis;}
.app .pnav-label {color:var(--sidebar-muted);font-size:11px;}
.app .panel-user {padding:10px 4px 0;}
.theme-switch {background:transparent;cursor:pointer;}
.sidebar-command {display:flex;align-items:center;gap:9px;width:100%;min-height:38px;padding:8px 10px;margin:0 0 8px;font:inherit;font-size:12px;color:var(--sidebar-muted);background:var(--surface-1);border:1px solid var(--sidebar-border);border-radius:8px;cursor:pointer;}
.sidebar-command kbd {margin-left:auto;white-space:nowrap;font-size:10px;font-family:inherit;border:1px solid var(--border);border-radius:4px;padding:1px 4px;}
.sidebar-command:hover {border-color:var(--border-accent);color:var(--text-primary);}
.main {height:100dvh;min-height:0;}
.content-header {display:flex;align-items:center;gap:12px;flex-shrink:0;min-height:70px;padding:12px 22px;border-bottom:1px solid var(--border);background:var(--surface-2);}
.header-main {flex:1;min-width:0;}
.header-context {display:flex;flex-direction:column;gap:2px;min-width:0;}
.header-context strong {font-weight:600;font-size:16px;}
.header-context span {font-size:12px;color:var(--text-muted);overflow-wrap:anywhere;}
.header-main h1 {margin:0;font-size:21px;overflow-wrap:anywhere;}
.header-main .head-row {flex-wrap:wrap;gap:10px;}
.header-main .row-actions {gap:6px;}
.header-tools {display:flex;align-items:center;gap:8px;flex-shrink:0;}
.header-bell {position:relative;}
.header-bell .pnav-badge {position:absolute;right:-7px;top:-6px;font-size:10px;}
.header-clock {display:flex;flex-direction:column;text-align:right;min-width:80px;font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums;}
.header-clock time {font-size:14px;color:var(--text-secondary);}
.app .content {min-height:0;min-width:0;padding:18px 22px;overscroll-behavior:contain;}
.mobile-menu-toggle {display:none;}
.sidebar-backdrop {position:fixed;inset:0;background:rgb(10 16 12 / 48%);border:0;z-index:1090;}
.skip-link {position:fixed;left:16px;top:-80px;z-index:2000;padding:12px 18px;background:var(--surface-2);color:var(--text-primary);border:2px solid var(--app-focus);border-radius:8px;}
.skip-link:focus {top:16px;}
.command-dialog {width:560px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 48px);padding:20px;background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow-md);}
.command-dialog::backdrop {background:rgb(10 16 12 / 48%);}
.command-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.command-heading h2 {margin:0;}
.command-search {display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.command-search input {min-width:0;}
.command-results {max-height:55dvh;overflow:auto;}
.command-result {display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:7px;color:var(--text-primary);}
.command-result:hover {background:var(--bg-accent);color:var(--text-accent);text-decoration:none;}
.portal-toasts {position:fixed;right:20px;top:calc(var(--header-height) + 12px);display:flex;flex-direction:column;gap:8px;width:360px;max-width:calc(100vw - 32px);z-index:1200;pointer-events:none;}
.portal-toast {display:flex;gap:10px;align-items:start;pointer-events:auto;background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border);border-left:3px solid var(--app-success);border-radius:9px;padding:12px;box-shadow:var(--shadow-md);overflow-wrap:anywhere;}
.portal-toast span {flex:1;}
.portal-toast button {background:transparent;border:0;font:inherit;color:var(--text-muted);cursor:pointer;}
/* Wide tables scroll in their own panel. Column order and content are unchanged. */
.content-documents {display:flex;flex-direction:column;gap:10px;overflow:hidden;}
.content-documents .dtabs {margin:0;flex-shrink:0;gap:5px;}
.content-documents .dtab {border-radius:7px;}
.content-documents .dtoolbar {margin:0;flex-shrink:0;}
.content-documents > .msg {margin:0!important;flex-shrink:0;}
.content-documents > .table-wrap {flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;}
.content-documents .tbl {min-width:1000px;}
.content-documents .tbl th {position:sticky;top:0;z-index:3;background:var(--surface-1);}
.content-documents .tbl td:nth-child(3) {max-width:290px;white-space:normal;overflow-wrap:anywhere;}
.content-documents .dsearch {min-width:160px;}
/* The original remains unfiltered. Both panels keep independent scrolling. */
.app .content-doc {padding:10px 14px 14px;overflow:hidden;gap:10px;}
.header-main .doc-topbar {padding:0;border:0;background:transparent;flex-wrap:wrap;gap:8px;min-width:0;width:100%;}
.header-main:has(.doc-topbar) {min-height:76px;display:flex;align-items:center;}
.header-main .doc-topbar > div:nth-child(2) {min-width:0;flex:1 1 220px;}
.header-main .doc-title-row {flex-wrap:wrap;}
.header-main .doc-sub {overflow-wrap:anywhere;}
.app .doc-layout {grid-template-columns:minmax(300px,var(--doc-panel-width,380px)) 8px minmax(0,1fr);gap:0;overflow:hidden;}
.app .doc-data {border:1px solid var(--border);border-radius:12px;min-width:0;min-height:0;overscroll-behavior:contain;}
.app .doc-viewer {border:1px solid var(--border);border-radius:12px;overflow:hidden;min-width:0;min-height:0;height:auto;}
.doc-resizer {cursor:col-resize;touch-action:none;border:0;padding:0;background:transparent;position:relative;}
.doc-resizer::after {content:"";position:absolute;left:3px;top:calc(50% - 25px);height:50px;border-left:2px solid var(--border-strong);}
.doc-resizer:hover::after,.doc-resizer:focus-visible::after {border-color:var(--app-focus);}
.app .doc-footer {border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;padding:10px 12px;}
.app .doc-footer :is(.left,.right) {flex-wrap:wrap;}
.document-mobile-tabs {display:none;}
.kpis .kpi {color:var(--text-primary);text-decoration:none;border:1px solid var(--border);box-shadow:none;}
.kpis a.kpi:hover {border-color:var(--border-accent);background:var(--surface-1);}
.kpis .k-label .ti {font-size:17px;color:var(--text-muted);}
.kpis .k-num {font-size:32px;font-variant-numeric:tabular-nums;}
.kpis .kpi.accent {background:var(--bg-accent);border-color:var(--border-accent);}
.kpis .kpi.accent :is(.k-label,.k-num) {color:var(--text-accent);}
.staff-dashboard {display:flex;flex-direction:column;overflow:hidden;}
.staff-dashboard > .cols {flex:1;min-height:0;grid-template-columns:minmax(0,1fr) 306px;gap:14px;}
.staff-dashboard > .cols > div:first-child {display:flex;flex-direction:column;min-height:0;min-width:0;}
.staff-dashboard .section-title {margin:0 0 12px;}
.staff-dashboard .table-wrap {flex:1;min-height:0;overflow:auto;}
.staff-dashboard .tbl th {position:sticky;top:0;z-index:1;background:var(--surface-1);}
.staff-dashboard .stack {overflow:auto;min-height:0;}
.staff-dashboard > .kpis {flex-shrink:0;}
.app .dz {box-shadow:none;}
.app .dz:hover {transform:none;box-shadow:none;}
.app .dz-req {background:var(--surface-2);}
.app .dz-grid {grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));}
/* Collapse only navigation labels; accessible names and company selection survive. */
@media (min-width:992px) {
  .sidebar-collapsed .panel {padding-inline:7px;}
  .sidebar-collapsed .panel-heading {justify-content:center;padding-inline:0;}
  .sidebar-collapsed :is(.workspace-label,.nav-text,.panel .pnav-label,.panel .pnav-badge,.pu-info,.sidebar-command span,.sidebar-command kbd,.lang-name,.lang-chev,.od-name,.od-chev,.pg-chev,.theme-switch span) {display:none;}
  .sidebar-collapsed .panel .pnav {justify-content:center;padding-inline:8px;}
  .sidebar-collapsed .sidebar-command {justify-content:center;}
  .sidebar-collapsed .panel-user {justify-content:center;flex-wrap:wrap;gap:4px;}
  .sidebar-collapsed .lang-cur {padding-inline:4px;justify-content:center;}
  .sidebar-collapsed .lang-globe {display:none;}
  .sidebar-collapsed .lang-menu {width:230px;left:58px;bottom:0;}
  .sidebar-collapsed .lang-menu .lang-name {display:block;}
  .sidebar-collapsed .org-sum {justify-content:center;padding-inline:4px;}
  .sidebar-collapsed .org-dd-menu {left:58px;top:0;width:250px;}
  .sidebar-collapsed .nav-org.static span {display:none;}
  .sidebar-collapsed .pnav-sub {display:none;}
  .sidebar-collapsed .pnav-sub:popover-open {display:flex;position:fixed;inset:auto;left:80px;margin:0;padding:10px;max-height:70dvh;width:250px;overflow:auto;background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);}
  .sidebar-collapsed .pnav-sub:popover-open :is(.nav-text,.pnav-badge) {display:inline;}
  .sidebar-collapsed .pnav-sub:popover-open .pnav {justify-content:flex-start;}
}
@media (max-width:1200px) {
  .header-clock {display:none;}
  .staff-dashboard > .cols {grid-template-columns:minmax(0,1fr) 250px;}
}
@media (max-width:991px) {
  body.app {grid-template-columns:minmax(0,1fr);}
  .app .panel {position:fixed;inset:0 auto 0 0;width:min(300px,calc(100vw - 24px));height:calc(100dvh - 16px);z-index:1100;transform:translateX(calc(-100% - 16px));visibility:hidden;transition:transform 240ms ease,visibility 240ms;}
  .sidebar-open .panel {transform:none;visibility:visible;}
  .mobile-menu-toggle {display:inline-flex;flex-shrink:0;}
  .panel .pnav {min-height:44px;}
  .content-header {padding:12px 16px;gap:10px;}
  .app .content {padding:14px 16px;}
  .app .content-doc {padding:10px;}
  .app .doc-layout {grid-template-columns:1fr;}
  .doc-resizer {display:none;}
  .document-mobile-tabs {display:flex;gap:6px;flex-shrink:0;}
  .document-mobile-tabs button {flex:1;}
  .document-mobile-tabs button[aria-selected="true"] {background:var(--bg-accent);color:var(--text-accent);border-color:var(--border-accent);}
  .doc-layout[data-mobile-panel="data"] .doc-viewer,.doc-layout[data-mobile-panel="original"] .doc-data {display:none;}
  .doc-layout:not([data-mobile-panel]) {grid-template-columns:1fr;overflow:auto;}
  .doc-layout:not([data-mobile-panel]) .doc-viewer {min-height:65dvh;}
  .header-main .doc-topbar {gap:5px;}
  .header-main .doc-sub {font-size:11px;}
  .header-main .doc-title-row h1 {font-size:17px;}
  .header-main .doc-nav {flex-wrap:wrap;}
}
@media (max-width:740px),(max-height:620px) {
  .app .staff-dashboard {overflow:auto;display:block;}
  .staff-dashboard > .cols {display:grid;grid-template-columns:1fr;}
  .staff-dashboard .table-wrap {max-height:60dvh;flex:auto;}
  .staff-dashboard .stack {overflow:visible;}
  .kpis {grid-template-columns:repeat(2,minmax(0,1fr));}
  .content-documents {overflow:auto;}
  .content-documents > .table-wrap {flex:1 0 260px;max-height:65dvh;}
}
@media (max-width:480px) {
  .content-header {gap:8px;padding:10px 12px;}
  .header-main h1 {font-size:18px;}
  .header-main .row-actions .btn {padding:6px 8px;font-size:12px;}
  .app .content {padding:12px;}
  .app .content-doc {padding:8px;}
  .dtoolbar :is(.dsearch,select) {max-width:100%;}
  .dtoolbar .dsearch {flex-basis:100%;}
  .doc-footer .btn {padding:7px 9px;}
  .stat {padding:10px;min-width:44%;}
  .doc-title-row .pill {font-size:10px;}
  .header-main .doc-topbar > div:nth-child(2) {flex-basis:calc(100% - 38px);}
}
@media (max-height:540px) {
  .app .panel {overflow-y:auto;}
  .panel-scroll {flex:0 0 auto;overflow:visible;}
  .panel-bottom {margin-top:8px;}
}
@media print {
  html,body.app,.app .main {height:auto;overflow:visible;display:block;}
  .panel,.content-header,.sidebar-backdrop,.skip-link,.doc-resizer,.document-mobile-tabs,.portal-toasts,.docchat,.fab-process,.auth-theme {display:none!important;}
  .app .content,.app .doc-layout,.app .doc-data,.app .doc-viewer,.app .table-wrap,.app .cols,.app .stack {display:block!important;overflow:visible!important;height:auto!important;max-height:none!important;}
  .doc-layout[data-mobile-panel] .doc-data,.doc-layout[data-mobile-panel] .doc-viewer {display:block!important;}
  .app .tbl {min-width:0;}
  .app .tbl :is(td,th) {white-space:normal;overflow-wrap:anywhere;}
  .app .tbl th {position:static;}
  .app .doc-footer {display:none;}
}
